前段時間,一個朋友聊敘到這個后仿真任務命令都咋用,隨即整理了下,可以完成基本的后仿真不成問題,但是如果還要完成一些其他的幺蛾子,那就需要各位仔細研讀各工具的UserGuide了。下文如果覺得有幫助,煩請“三連”,當然加雞腿也是可以的。。。哈哈哈,開玩笑了,只要對需要的人有用即可。
后仿真時,需要使用sdf對網(wǎng)表記性反標,即對網(wǎng)表中的時序信息記性“替換”,本文將示例常用的時序反標方法和一些EDA工具反標方法。
1 采用SystemVerilog(Verilog)系統(tǒng)任務
SystemVerilog和Verilog中在過程塊中使用系統(tǒng)任務$sdf_annotate實現(xiàn)sdf文件對于網(wǎng)表的反標,其使用格式如下:
$sdf_annotate(sdf_file,module_instance,”config_file”,”log_file”,”mtm_spec”,”scale_factors”,”scale_type”);
其中各參數(shù)的主要意義如下:
sdf_file:指定要使用的sdf文件;
module_instance:指定sdf文件要反標的設計層次,需要注意的是此時指定的是例化名而非模塊名。同時該參數(shù)本身是可選擇的,默認實例名為調(diào)用$sdf_annotate所在模塊的實例名(注意頂層模塊名與實例名相同,可參閱《【168】仿真時為什么頂層不例化》);
config_file:指定進行反標時一些詳細的反標控制信息,該選項可選,一般不指定,詳細看參考各EDA工具幫助手冊;
log_file:指定保存反標過程中產(chǎn)生的log信息文件名,該選項可選,建議指定,以方便查閱反標過程中的信息;
mtm_spec:指定反標的時序類型,也是可選項,反標常用類型主要有下表幾種。
| 關鍵字 | 說明 |
| MAXMIN | 反標時選用最大延遲值 |
| MINIMUM | 反標時選用最小延遲值 |
| TOOL_CONTROL(默認) | 默認值,由仿真工具指定 |
| TYPICAL | 反標時選用典型值 |
這里需要注意,該參數(shù)為字符串類型,所以在任務中指定表格中的參數(shù)時需要給對應的關鍵字加上雙引號。
scale_factors:指定最大延遲、最小延遲和典型延遲值的縮放因子,該選項也是可選的,一般情況下也不指定。該參數(shù)可以實現(xiàn)對于反標值的縮放,默認值為1.01.0,當然也可以指定不同的值,實現(xiàn)延遲值的不同縮放比例,例如,scale_factors設置為“1.2:1.3:1.4”,此時sdf中指定的反標值為“24”,那么實際反標給網(wǎng)表的值為“1.2*21.4*4”,即此時的實際反標值為“2.45.6”;
scale_type:該參數(shù)也屬于可選項,用于指定縮放因子具體作用的延遲值,指定該參數(shù)后,confg_file中指定的配置文件中的SCALE_TYPE將會被覆蓋掉,該參數(shù)可以指定的關鍵字如下表所示。
| 關鍵字 | 說明 |
| FROM_MAXMIN | 縮放因子僅作用于最大延遲值 |
| FROM_MINIMUM | 縮放因子僅作用于最小延遲值 |
| FROM_MTM(默認) | 縮放因子作用于min/typ/max |
| FROM_TYPICAL | 縮放因子僅作用于典型值 |
【示例】

其中第二個參數(shù)top_tb是要反標模塊的例化名,一般從頂層開始寫起。個人比較推薦使用該方法,因為該方法不依賴于具體的EDA工具,而下述的方法依賴于具體的EDA工具,也因此,這些依賴于具體工具的命令不能復用。
2 EDA工具反標
因為反標操作是發(fā)生在析構(elaboration)階段完成的,所以可以在工具的析構階段增加對應的參數(shù)實現(xiàn)反標操作。下面將針對Synopsys的VCSMX和Cadence的NCSIM進行示例說明。
2.1 VCSMX(Synopsys)
2.1.1命令行
在析構命令中增加如下參數(shù)選項,可以實現(xiàn)指定層次和sdf的反標,具體格式如下:
-sdf min|typ|maxfile_sdf
注意其中min、typ和max是可選的,根據(jù)需要指定。
【示例】

【反標信息】

2.1.2 預編譯方式
上面在析構命令中直接指定反標層次和sdf文件的方式存在一個問題,那就是如果我們的設計代碼進行了修改,但是sdf文件并沒有修改,此時如果編譯完后,在析構的時候還要再進行一次sdf文件的解析反標,將會比較耗費時間,為此,一般的EDA工具都提供了另外一種反標方式,即對sdf文件進行預編譯,如果sdf文件并沒有修改,僅設計文件進行修改,此時就可以采用sdf預編譯方式,具體操作步驟如下示例。
【示例】

【反標信息一】在系統(tǒng)任務$sdf_annotate中添加要使用的已經(jīng)預編譯的反標文件

【反標信息二】在析構命令中加入已經(jīng)預編譯的反標文件,大家可以仔細觀察下兩者差異。

另外,在VCSMX中,還可以指定sdf預編譯生成文件的保存路徑,指定方式如下:

2.2 NCSIM
在NCSIM中使用較多的反標方式除了調(diào)用$sdf_annotate之外,就是采用命令文件的方式,其主要特點也是將sdf的編譯與設計的編譯分開,將sdf單獨編譯,在析構時再指定已經(jīng)編譯好的sdf文件,其具體操作如下示例。
【示例】

反標信息同上,此處不再贅述。另外,如果使用nc的64模式進行仿真,那么在編譯析構命令中加上“-64bit”即可。
當然上述EDA工具對應的各種命令還有很多對應的參數(shù),想了解的朋友可以參考對應工具的UserGuide,示例中僅是一些基本設置項,大家可以根據(jù)需要記性調(diào)整。
審核編輯:湯梓紅
-
仿真
+關注
關注
52文章
4372瀏覽量
137490 -
Verilog
+關注
關注
30文章
1369瀏覽量
113889 -
System
+關注
關注
0文章
166瀏覽量
38388 -
eda
+關注
關注
72文章
3013瀏覽量
181063 -
時序
+關注
關注
5文章
401瀏覽量
38573
原文標題:常用的后仿真絕絕子---(VCSMX&NCSIM)
文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
Cadence 16.5 Concept HDL原理圖反標后每個元件出現(xiàn)CDS_PART_NAME信息
Cadence 16.5 Concept HDL原理圖打包反標后電源、地網(wǎng)絡顯示為紅色
金橙子打標卡labview打標開發(fā)沒頭緒?c#封裝成dll后labview調(diào)用真香!
如何將PT產(chǎn)生的SDF文件反標設計進行后仿真?
招標評標方法的適用性研究
直流鍋爐汽溫、汽壓控制系統(tǒng)的反標架正規(guī)化設計
反激電路工作原理和如何進行反激電路變壓器的設計詳細方法說明
單端反激式開關電源RCD反激鉗位電路設計方法

常用的時序反標方法和EDA工具反標方法
評論