邏輯綜合系列主要說明以下問題:
綜合是前端設計的重要步驟之一,其過程是將行為描述的電路、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...