INNOVUS/ICC2吐出的netlist經(jīng)過Formal/LEC驗證后,Star-RC/QRC抽取RC寄生參數(shù)文件并讀入到Tempus/PT分別做func/mbist/scan時序sign-off,寫出SDF3.0用以后仿真,搭建后仿真的驗證環(huán)境,添加sc/io/macro的verilog model,仿真輸出VCD給Redhawk/Voltus做功耗/IR Drop分析。本文簡要敘述下后仿真要點:
-debug選項,為了導(dǎo)出VPD通常選擇-debug_pp;
-R表示編譯之后立即運行仿真;
-gui表示在仿真0時刻打開DVE界面;
-l表示記錄編譯過程日志,后跟日志文件名;
+incdir+表示文件搜索路徑;
+v2k表示支持verilog 2001標準;
-top設(shè)置編譯頂層模塊,后跟頂層module名,不是文件名;
-negdelay
SDF文件中有負延遲時,若不加-negdelay會出現(xiàn)SDF Error: SDF Error: NegativeDELAY ignored and replaced by 0.
即VCS將負延時忽略,用0取代負值。加參數(shù)-negdelay 可消除負延遲導(dǎo)致的error,變成warning,但最終都不影響設(shè)計。
SDF Warning:Negative IOPATH DELAY A to Y ignored.
+neg_tchk支持負延遲檢查,主要是檢查holdtime,否則反標中會把負值忽略為0
標準單元庫文件有兩種,譬如tsmc18_neg和tsmc18,前者支持neg_tchk負延時檢查,后者不支持。因為hold time check的值是負的,所以要進行negative timingcheck,否則默認將會使負值的hold time check改為0。為了滿足對hold time負值的檢查,在vcs仿真時需加上+neg_tchk這個option。
如果不加的話會產(chǎn)生下面的問題:
+maxdelays用SDF文件中的延遲,取代仿真庫中的延時(仿真庫中通常是建立時間1ns,保持時間0.5ns),取SDF文件中的最大延遲;
+mindelays用SDF文件中的延遲,取代仿真庫中的延時,取SDF文件中的最小延遲(保持時間檢查);
實際上,我們會出ss、ff、tt等數(shù)個sdf,每個sdf里面都只有類似{max::max}形式,因此,每個sdf只對應(yīng)一種ss或ff形式的延時反標。
+sdfverbose顯示所有的sdf反標錯誤
+no_notifier關(guān)閉時序檢查函數(shù)中的不定態(tài)生成傳播,即通過這個參數(shù),如果有時序違規(guī),控制臺會報告,但不會影響邏輯功能的正確輸出。
+nospecify 消除所有延遲,只做網(wǎng)表的功能仿真可以用;
+notimingchecks只是消除延遲違規(guī)斷言,避免輸出不定態(tài),但延遲還在。因此+nospecify的作用包括了+notimingchecks;
注意:+nospecify,加上該選項之后,所有的線延遲以及標準單元verilog文件中的固有延遲都沒有了,如果只是單純的不加sdf文件的話,標準單元verilog文件中的specify延遲還是有的。
+delay_mode_zero: Change all the delay specifications on all gates,switches, and continuous assignments to zero and change all module path delays to zero.
-
芯片
+關(guān)注
關(guān)注
452文章
50179瀏覽量
420666 -
仿真
+關(guān)注
關(guān)注
50文章
4020瀏覽量
133328 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4276瀏覽量
62314 -
編譯
+關(guān)注
關(guān)注
0文章
648瀏覽量
32766
原文標題:芯片后仿(一)
文章出處:【微信號:全棧芯片工程師,微信公眾號:全棧芯片工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論