數字IC設計學習筆記(一)——邏輯綜合簡介

目錄

綜合的抽象層次

邏輯級(RTL)綜合流程

參考資料


綜合的抽象層次

根據不同的抽象層次,綜合可分爲電路級綜合、邏輯級綜合、行爲級綜合

電路綜合將電路的邏輯翻譯成滿足性能要求的晶體管網表,包括使用的電路類型(靜態或動態CMOS等)和確定各三極管的大小,以滿足時序要求,主要用於單元庫(Cell Library)元器件設計。

邏輯綜合(或RTL綜合)產生邏輯電路的結構,通過EDA工具將RTL代碼映射到由製造廠家標準單元庫中的元件所構成的門級電路的過程。

行爲綜合根據給定任務的行爲級描述,以及性能、面積和功耗約束條件產生電路結構,包括確定需要哪些硬件資源(如執行單元、存儲器、I/O接口等),將行爲級的操作與硬件資源相結合,並決定系統架構和執行順序。儘管行爲綜合的研究取得巨大進展,但目前僅在一些特定場合得到了應用(如無線通信、存儲和影響處理等採用大量數字信號處理算法的領域)。


邏輯級(RTL)綜合流程

邏輯綜合更加詳細的定義:邏輯綜合是指使用綜合工具,根據芯片製造商提供的基本電路單元庫,將硬件描述語言描述的RTL級電路轉換爲電路級網表的過程。根據系統邏輯功能與性能的要求,在包含衆多結構、功能和性能已知的邏輯元件的單元庫的支持下,綜合工具尋找出一個邏輯網絡結構的最佳實現方案,即在滿足電路功能、速度及面積等條件下,將行爲級描述轉化爲指定的技術庫中單元電路的連接

常用的綜合工具包括Synopsys公司的Design Compiler,Cadence公司的RTL Complier,Magma公司的RTL Blaster等。其中Synopsys公司的Design Compiler最爲出名。

邏輯綜合的流程(基於Design Compiler):數字電路的邏輯綜合由3部分組成:綜合=轉化(translation)+優化(optimization)+映射(mapping)。

  • 第一步是用read命令將HDL代碼轉換爲通用的布爾門陣列,也就是gtech.db(generic technology)庫中的邏輯器件。這個庫中的器件沒有時序和負載的特性,它僅僅是Design Compiler用來表示器件的一個符號,只有Design Compiler能識別它。
  • 第二步是根據設計工程師對電路預期功能的要求,對gtech網表施加時序、功耗和麪積等各方面的約束,使其能達到設計的目標。
  • 第三步用compile命令,將電路按照設計的約束優化和綜合,使其能滿足設計的目標或約束,並且映射到特定廠家目標工藝庫的邏輯器件,此時的網表包含了廠家的工藝參數
  • 第四步用report命令,產生各種設計報告,設計工程師可通過這些報告分析評估這些網表是否滿足預期需求。若不滿足預期需求,可對設計約束或者RTL進行修改直到滿足需求爲止。
  • 最後用write命令,將滿足設計需求的門級網表以ddc的格式保存在磁盤上。

 邏輯綜合的重要意義:邏輯綜合是由各種約束條件驅動的,這些約束條件包括工作環境、時間、面積、功耗等等。綜合的最終目標是產生滿足這些約束條件的結果。其中最重要的是時間約束,通常把滿足時間約束稱爲時序閉合或時序收斂(Timing Closure),時序收斂是綜合最重要的目標。邏輯綜合的好壞直接影響數字系統的性能、面積和功耗等方面的優劣。


參考資料

《數字集成電路與系統設計》 李廣軍,郭志勇

《CMOS集成電路EDA技術》 戴瀾 張曉波

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章