1 什么是后仿真?
后仿真也成為時序仿真,門級仿真,在芯片布局布線后將時序文件SDF反標到網標文件上,針對帶有時序信息的網標仿真稱為后仿真。
2 后仿真是用來干嘛的?
檢查電路中的timing violation和 test fail,一般都是已知的問題。一般后仿真花銷2周左右的時間。
網標仿真的目的是檢查RTL仿真和綜合后的一致性(logic Equivalence check),由於網標仿真非常慢,所以網標仿真不充分,有的公司沒有網標仿真,即使有后仿真,后仿真一般是時間非常少,因為后仿真時間非常慢,一個case需要非常長(跟設計和case有關,一般一兩天跑一個case).在實際的芯片開發中可以沒有網標仿真,因為形式化驗證和靜態時序分析可以保證設計的正確性。
Gate level Simulation
Include the verilog model of standard cell and gate-level netlist to your testbench
Add the following synopsys directives to the testbench
3 有了LEC(等效性檢查)和STA(靜態時序分析),為什么還要做門級仿真(Gate-level simulation ,GLS)?
GLS can catch issues that static timing analysis (STA) or logical equivalence tools are not able to report. The areas
where GLS is useful include:
- Overcoming the limitations of STA, such as:
–The inability of STA to identify asynchronous interfaces
–Static timing constraint requirements, such as those for false and multi-cycle paths
- Verifying system initialization and that the reset sequence is correct
- DFT verification, since scan-chains are inserted after RTL synthesis
- Clock-tree synthesis
- For switching factor to estimate power
- Analyzing X state pessimism or an optimistic view, in RTL or GLS
4 零延遲仿真(Zero-Delay Simulation)
zero-delay mode run much faster than simulation using full timing.
在仿真時添加以下仿真參數(VCS)
+nospecify
+notimingcheck
+no_notifier
+delay_mode_zero
零延遲仿真用於調仿真平台,挑testcase, 檢驗網標有沒有問題。 當這些完成之后,就可以將SDF文件反標到網標文件上進行時序仿真,零延遲仿真將極大的提高仿真效率
5 SDF文件,a file which contains all the net delays in design。An sdf has 3 kinds of delay(best,Worst,Typical)。
6 如何挑時序仿真的testcase(時序仿真的策略 )
- 挑2~3寄存器訪問testcase.
- 初始化的testcase
- 典型的功能
- 關鍵路徑,跨時鍾域
7 當后仿真出問題,仿真不起來時。
- 檢查clk,rst,PLL, reg
- timing violation 不定態 x. 見path
- test fail
8 用VCS做后仿真
做后仿真時,應該先做zero_delay仿真,確保加載的網標文件是正確的,然后,再將SDF文件反標到網標文件上。
`ifdef SDF
initial
begin
$sdf_annotate("../../rtl/post_sim/U_sramc.sdf",u_top,,"sdf.log",);
end
`endif
編譯時添加參數:-negdelay +neg_tchk
參考文獻:
[1] Gagandeep Singh, Cadence Design Systems, Inc. Gate-Level Simulation Methodology.