邏輯綜合 概述與基本概念

2021-10-12 12:31:00 字數 3480 閱讀 3785

邏輯綜合系列主要說明以下問題:

綜合是前端設計的重要步驟之一,其過程是將行為描述的電路、rtl級的電路轉換到門級,其目的在於:決定電路門級結構,尋求時序與面積的平衡,尋求功耗與時序的平衡,增強電路的測試性。常見的工具是synoosys公司的 design compiler,將hdl語言描述的電路轉換到基於工藝庫的門級網表。

dc在綜合過程中會將電路劃分為以下的處理物件:

design:整個需要綜合的電路,即我們待綜合的物件

port:最外部的埠,一般是電路與外部互動的io口

clock:由於時鐘上的任何問題都會對電路造成重要的影響,所以時鐘需要單獨處理

cell:被例化的模組

reference:例化模組的原電路

pin:cell自身的引腳,注意與port的區別

net:內部連線

用design compiler做綜合的流程如下:

其實施流程為:

預綜合過程(pre-synthesis process)

施加設計約束(contrainting design)

設計綜合(synthesizing design)

後綜合過程(post-synthesis process)

①準備設計檔案,dc 的設計輸入檔案一般為 hdl 檔案。

②指定庫檔案,需要指定的庫檔案包括:

鏈結庫(link library) 、目標庫(target library) 、符號庫(symbol library)、綜合庫(synthetic library)

下面是庫的解釋,具體的解釋在後面有說,這裡先進行簡單地概述一下:

link library & target library

link  library 和 target  library 統稱為technology  library(即工藝庫,習慣稱之為綜合庫),technology  library  由半導體製造商提供,包含相關 cell 的資訊及設計約束標準,其中:

target library:    在門級優化及對映的時候提供生成網表的 cell,即dc 用於建立實際電路的庫。

link library:      提供設計網表中的 cell,可以跟target_library使用同乙個庫,但是 dc 不用 link library中的 cell 來綜合設計。

當 dc 讀入設計時,它自動讀入由 link library 變數指定的庫。當連線設計時,dc 先搜尋其記憶體中已經有的庫,然後在搜尋由 link  library 指定的庫。

注:當讀入的檔案是門級網表時,需要把 link library 指向生成該門級網表的庫檔案,否則 dc 因不知道網表中門單元電路的功能而報錯。 關於工藝庫裡面的具體內容,後面會專門進行說明。

symbol library

symbol library 提供 design vision gui 中設計實現的圖形符號,如果你使用指令碼模式而不使用 gui,此庫可不指定 symbol library

synthetic library

即為 designware library ,名字上翻譯是綜合庫,但卻常稱之為ip庫,而不是直譯。特殊的 designware library 是需要授權的(比如使用多級流水線的乘法器),預設的標準 designware 由 dc 軟體商提供,無需指定。

create_mw_lib:主要使用dc的物理綜合的時候,需要生成物理庫

③讀入設計 :

設計的讀入過程是將設計檔案載入記憶體,並將其轉換為 dc 的中間格式,即gtech 格式,gtech 格式由「soft macros」  如  adders, comparators 等組成,這些元件來自 synopsys  的 synthetic lib,每種元件具有多種結構。

讀入設計有兩種實現方法實現方法:read  和  analyze & elaborate(實際上

read 是 analyze  與  elaborate 的打包操作  ),下面介紹二者在使用中的區別:

從中可以看到,analyze & elaborate  可以自由指定設計庫,並生成 gtech中間檔案前生成.syn 檔案儲存於 work 目錄下,便於下次 elaborate 節省時間,我們一般選擇  analyze & elaborate 的方法讀入設計。

④定義設計環境: 

定義物件包括工藝引數(溫度、電壓等),i/o 埠屬性(負載、驅動、扇出),統計 wire-load 模型,設計環境將影響設計綜合及優化結果。

⑤設定設計約束: 

設計約束包括設計規則約束和優化約束,設計規則約束(design  rule constraint)由工藝庫決定,在設計編譯過程中必須滿足,用於使電路能按功能要求正常工作。設計優化約束定義了 dc 要達到的時序和面積優化目標,該約束由使用者指定,dc 在不違反設計規則約束的前提下,遵循此約束綜合設計。

⑥選擇編譯策略: 

對於層次化設計,dc 中有兩種編譯策略供選擇,分別為 top down 和 bottom up。在 top down 策略中,頂層設計和子設計在一起編譯,所有的環境和約束設定針對頂層設計,雖然此種策略自動考慮到相關的內部設計,但是此種策略不適合與大型設計,因為 top down 編譯策略中,所以設計必須同時駐記憶體,硬體資源耗費大。在 bottom up 策略中,子設計單獨約束,當子設計成功編譯後,被設定為 dont_touch 屬性,防止在之後的編譯過程中被修改,所有同層子設計編譯完成後,再編譯之上的父設計,直至頂層設計編譯完成。bottom  up 策略允許大規模設計,因為該策略不需要所有設計同時駐入記憶體。

⑦編譯: 

用 compile 命令執行綜合與優化過程,還可以利用一些選項指導編譯和優化過程。

⑧分析及解決設計中存在的問題 

dc  可以產生一些報告以反應設計的綜合和優化結果,如:時序、面積、約束等報告,這些報告有助於分析和解決設計中存在的問題以改善綜合結果,我們還可以利用 check_design 命令檢驗綜合的設計的一致性。

⑨儲存設計資料 

dc 不會自動儲存綜合後的設計結果,因而需要在離開 dc 時手動儲存設計資料。比如儲存網表、延時資訊等資料檔案。

概述(基本概念)

作業系統是管理計算機所有資源的程式,在使用者和計算機之間起媒介作用,給程式提供執行環境,也名核心kerner 計算機系統組成結構分類 單處理器系統 只有乙個通用cpu,執行有限的指令集。對一些裝置可以有專用的微型處理器。多處理器系統並行系統 parallelsystem 或緊藕合系統 tightly...

邏輯學基本概念

同一律 a是a 排中律 a或者 a必定有乙個為真。不能同假,必有一真,有真。由假推真。排除中立情況。充分理由律 因果關係,不能自我解釋自我。矛盾律 a或者 a不能同時為真。不能同真,必有一假,有假。由真推假。內卷 內部長期自我消耗和重複,整體沒有擴張和發展的現象 建議有四個 1.拋棄思維偏見,重新定...

HTTP協議概述 基本概念說明

web內容是儲存在web伺服器上的,web伺服器所使用的是http協議,因此經常會被稱為http伺服器,所以說,http伺服器是使用http協議訪問的伺服器,tcp伺服器使用tcp協議訪問的伺服器 網際網路上有數千種不同的資料型別,http使用mime來描述並標記多 內容,最初mime multip...