VCS學習(6) 后仿 Fast Gate-level verification


對綜合產生的門級網表(Gate-level)進行編譯仿真

一:什么是后仿

  前仿不包括時序信息,即當作理想的器件看待,僅僅驗證代碼的功能;后仿,在有時序信息,有延遲情況下(器件自身的延遲,傳輸線上的延時等,與工藝器件有關)的仿真;后仿主要關注Toggle覆蓋率,因為門級網表里面沒有RTL級代碼,沒有if,case等,都是與或非門等。

  RTL級通過DC綜合得到門級網表,布局布線得到門級網表,將兩個門級網表加起來才是真正的網表文件;在本文中,我們只關注DC吐出來的網表以說明后仿。

  +rad可以對仿真進行優化。

  DC后不僅生成門級網表(也是.v文件),還產生.sdf文件(standard delay format,記錄單元的時序的信息)。

二:后仿流程

 

 

三:SDF文件主要內容

  Delays(module,device,interconnect,port)

  Timing checks(setup,hold,setuphold,recovery,removal,recrem)

  Timing constrains(pathconstraint,skewconstraint,sum,diff)

  Timing environment(arrival,departure,slack,waveform)

  包括design,時間,工藝,版本,電壓,溫度,延時信息,基本單元延時信息等。

四:綜合后在vcs后仿具體步驟

1:  將綜合后的網表文件.v拷貝到rtl代碼文件夾里(即源文件夾里),並將原源文件(也是.v)改成.v.bak文件,防止make找不到正確的.v文件;

    將綜合后的SDF文件拷貝到tb文件夾(即testbench文件夾里);

2:  在top層文件里(即testbench文件夾)反標添加SDF;

    例如: 

 

3:  在makefile里添加說明(compile里)

       #vcs dut_gate.v -v sim_lib.v  //.v是網表文件,工藝庫-v

4:  make com->make sim->make dve->在dve文件上觀察波形,發現后仿波形不純凈

五:其他

1:  若SDF文件很大,可以進行預編譯,dut.sdf文件變為dut.sdf_c

2:  選中delay方式:在compile開關選項上加+mindelays/+typedelays/+maxdelays

           或者在compile開關選項上加+allmtm,在simulate在加+mindelays/+typedelays/+maxdelays

3:  慣性延遲(器件自帶),傳輸延遲

4:  若使用預編譯方式,則+rad失效

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM