1、邏輯綜合(Logic Synthesis)
將寄存器傳輸級(RTL,Register Transfer Level)的hdl代碼轉換爲與工藝相關的門級網表(Gate Level Netlist)的過程
DC中的八種設計實體
設計(Design):一種能完成一定邏輯功能的電路。設計中可以包含下一層子設計
單元(Cell):設計中包含的子設計的實例
參考(Reference):單元的參考對象,即單元是參考的實例
端口(Port):設計的基本輸入輸出口
管腳(Pin):單元的輸入輸出口
線網(Net):端口間及管腳間的互連信號
時鐘(Clock):作爲時鐘信號源的管腳或端口
庫(Library):綜合時用到的一組單元的集合。
對於DC而言,通常要指定下面4種庫
Target Library:對應工藝庫,即代工廠提供的某種工藝的工藝庫
Link Library:主要是用來指定DC查找時所指定的目標,通常也就是Target Library
Synthetic Library:DC綜合時用來將HDL代碼轉化爲相對應的元件時所參考的Ip庫,
例如,符號“+”,通過查找IP庫將生成某一類加法器。默認情況下,DC使用它自帶的IP庫,當然
,如果必要,用戶也可以指定別的IP庫
Symbol Library:在使用DC的圖形化界面,即DV時,給出原理圖上各種標準單元,如與非門的符號
指定參考庫的命令格式:
--指定目標庫
set target_library my_tech.db
--“*”號表示先查找內存
set link_library {* my_tech.db}
--指定查找路徑
set search_path {./mips/lib}
--添加查找路徑
lappend search_path {./mips/source}
環境約束主要添加工作條件、外部負載及驅動、內部的連線模型等。
此處說明,關於連線模型,因爲在綜合階段,具體的連線還沒有出來(要到做完版圖設計纔出來)
所以在綜合階段是採用某種估算模型,具體的模型可以在工藝庫裏查到
設計約束
跟設計規則(design rules)相關的約束
transition times(set_max_transition)
fanoutloads(set_max_fanout)
capacitances(set_max_capacitance)
基本的設計規則會在工藝庫裏明確的設定好,
因爲關係到芯片能否生產成功的問題
跟優化相關的約束
邏輯綜合前應進行的步驟
綜合前:
對代碼進行語法檢查(LEDA)
功能仿真和驗證(Modelsim,Vera,VCS,Scirocco,NC-verilog)
綜合後:
形式驗證(Formality)
靜態時序分析STA(Prime Time)
仿真與驗證(Modelsim,VCS)