本節主要介紹:
邏輯綜合概述
計算延時模型
綜合目標
綜合流程
綜合基本命令
工藝庫及其綜合庫
邏輯綜合概述
DC工作流程主要分為四步:
synthesis = translation + Constrain + logic optimization + gate mapping
Translation :翻譯功能,主要把RTL級的代碼,首先通過轉換器GTECH將代碼轉換成統一用門級描述的電路(Generic Boolean Gates)或者沒有映射的ddc格式;
Constrain :加載約束,設置時鐘頻率,輸入延遲,輸出延遲,負載,工作電壓等
Logic optimization :邏輯優化, 用統一的門級描述電路對面積和時序進行優化。
Gate mapping :門級映射,dc用工藝庫廠商的工藝庫把電路給映射成基本單元,工藝庫包括不同觸發器、邏輯門等標準單元,不同類型的標準單元驅動能力和延遲均不同;在約束文件的作用下,DC編譯出的網表可以符合特定場景下的功能要求,最終得到一個.ddc文件;
.ddc文件包含許多豐富信息,如映射的門電路信息與網表、寄生參數、.v的網表、SDF標準延時信息、SDC約束、工作條件等信息。
吐出的網表文件,SDF延遲文件,并將其反標,可以用于做后仿。
計算延時模型
線負載延遲模型:根據連線掛載的負載數量進行計算;
拓撲結構模型:通過物理約束(phy)和物理庫(lib),給dc工具提供大概布局,得出延遲,比較精確;
一般流程是,dc先綜合一版,用dc吐出的第一版信息,給后端做一版初步布局,利用ICC工具吐出的物理約束(包括某些器件的大概位置),DC啟動拓撲結構模式,利用布局信息再進行綜合,這樣計算得到的延遲信息比較準確。
綜合目標
面積越小,速度越快;
通常在面積和延時之間折中,如果時序和面積不能同時實現,時序擁有更高的優先級。

綜合流程
綜合時,首先DC的HDL compiler把HDL代碼轉化成DC自帶的GTECH格式,然后DC的library compiler 根據標準設計約束(SDC)文件、IP-DW庫、工藝庫、圖形庫、(使用拓撲模式時,加入的ICC生成DEF模式,加載物理布局信息)進行時序優化、數據通路優化、功耗優化(DC的power compiler進行)、測試的綜合優化(DC的DFT compiler),最后得到優化后的網表。

綜合基本命令

工藝庫
工藝庫目錄:/opt/Foundary_Library/SMIC_180/smic_180/SM00LB501-FE-00000-r0p0-00rel0/aci/sc-m/synopsys

其中:以ss_1v62_125c.lib,ss_1v62_125c.db為例:
.db文件是給DC讀取,對應的.lib文件是供人參考;
Library Compiler工具可將.lib文件轉換為.db文件;
ff最快工藝工藝角,ss最差工藝角,tt典型工藝角(fast、、slow、typical工作模式)
1v62電壓1.62V,125c溫度125攝氏度。
電壓越低速度越慢,溫度越高速度越慢。
打開ss_1v62_125c.lib文件:
版本信息和日期:
/*documentationattributes*/ revision:1.0; date:"ThuOct2716082005"; comment:"Copyright(c)2005ArtisanComponents,Inc.AllRightsReserved.";
單位信息:時間、電流、電壓、電阻、漏電功耗和負載電容單位信息
/*unitattributes*/ time_unit:"1ns"; voltage_unit:"1V"; current_unit:"1mA"; pulling_resistance_unit:"1kohm"; leakage_power_unit:"1pW"; capacitive_load_unit(1.0,pf);
工作環境:溫度、電壓
/*operationconditions*/
nom_process:1;
nom_temperature:125;
nom_voltage:1.62;
operating_conditions(ss_1v62_125c){
process:1;
temperature:125;
voltage:1.62;
tree_type:balanced_tree
}
default_operating_conditions:ss_1v62_125c;
縮放因子:當溫度變化時,根據縮放因子做出調整
/*thresholddefinitions*/ slew_lower_threshold_pct_fall:30.0; slew_upper_threshold_pct_fall:70.0; slew_lower_threshold_pct_rise:30.0; slew_upper_threshold_pct_rise:70.0; input_threshold_pct_fall:50.0; input_threshold_pct_rise:50.0; output_threshold_pct_fall:50.0; output_threshold_pct_rise:50.0; slew_derate_from_library:0.5;
默認屬性:工藝庫的最大電容、最大扇出、輸入輸出電容、漏電功耗等信息
/*defaultattributes*/ default_leakage_power_density:0.0; default_cell_leakage_power:0.0; default_fanout_load:1.0; default_output_pin_cap:0.0; default_inout_pin_cap:0.0035; default_input_pin_cap:0.0035; default_max_transition:4.5;
查找表:計算延遲
/*templates*/
lu_table_template(delay_template_7x1){
variable_1:input_net_transition;
index_1("1000,1001,1002,1003,1004,1005,1006");
}
power_lut_template(energy_template_7x1){
variable_1:input_transition_time;
index_1("1000,1001,1002,1003,1004,1005,1006");
}
工作電壓: GENERAL、CMOS、TTL
/*padattributes*/
output_voltage(GENERAL){
vol:0.4;
voh:VDD-0.4;
vomin:-0.5;
vomax:VDD+0.5;
}
input_voltage(CMOS){
vil:0.3*VDD;
vih:0.7*VDD;
vimin:-0.5;
vimax:VDD+0.5;
}
input_voltage(TTL){
vil:0.8;
vih:2;
vimin:-0.5;
vimax:VDD+0.5;
}
線負載模型:單位電阻,單位電容,斜率,面積,扇出
/*wire-loads*/
wire_load("smic18_wl20"){
resistance:8.5e-8;
capacitance:1.5e-4;
area:0.7;
slope:133.334;
fanout_length(1,133.334);
}
基本單元:加法器
cell(ADDFHX1M){
cell_footprint:addfh;
area:59.270400;
pin(A){
direction:input;
capacitance:0.006299;
}
pin(B){
direction:input;
capacitance:0.012002;
}
pin(CI){
direction:input;
capacitance:0.004209;
}
pin(S){
direction:output;
capacitance:0.0
...
...
}
綜合庫
synthetic_library一般為synopsys的庫:DesignWare library 和標準單元庫;DesignWare library 為synopsys的IP庫:
當使用到synopsys公司的IP核時,則需要定義此綜合庫;
目錄:/opt/Synopsys/Synplify2015/libraries/syn:

審核編輯:湯梓紅
-
轉換器
+關注
關注
27文章
9418瀏覽量
156357 -
DC
+關注
關注
12文章
3692瀏覽量
686331 -
觸發器
+關注
關注
14文章
2056瀏覽量
63408 -
命令
+關注
關注
5文章
755瀏覽量
23757
原文標題:綜合概述及工藝庫
文章出處:【微信號:數字芯片設計工程師,微信公眾號:數字芯片設計工程師】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
【「龍芯之光 自主可控處理器設計解析」閱讀體驗】--LoongArch邏輯綜合、芯片設計
射極耦合邏輯(ECL)基礎知識詳解
【參考書籍】XILINX可編程邏輯器件設計技術詳解—何賓著
淺談IC設計中邏輯綜合
FPGA的邏輯仿真以及邏輯綜合的一些原則
DC邏輯綜合
邏輯綜合概述和工藝庫詳解
評論