1. 建立後仿testbench,盡量做到和RTL的testbench一緻。特别是時序上以及hierarchy上。
需要修改的地方一般有:涉及到hierarchy層次的地方。annotate.v 根據不同的define吃進min|typ|max的SDF。以及NOSDF。
在annotate.v中指定要force的信号。以及要初始化的register,memory等。
在rtl中查找initial 塊,如果是register或者memory的初始化,分析并找到gate中相應的register以及memory。
2. 不挂任何timing資訊,純gate仿真。+nospecify +notimingcheck +no_notifier +delay_mode_zero
查找clock reset generation block。 設法将output clock 以及reset初始值設為零。消除不定态。(需要force 某些clock reset的選擇信号)。
3. 挂入timing。
3.
PostSimulation 由于一部電路的存在,經常出現X态,影響仿真結果。如何排除這部分電路的timingcheck?而用Notimingchecks或nonotifer 會使整個design的timing 的檢查停止。有沒有隻是disable部分instance的timing check呢?
1。 抽取SDF時,排除。
麻煩。
2。 VCS提供了很好的方法:
vcs +optconfigfile+vcs_cfg
================vcs_cfg 的内容==========
instance {tb_top.U_TOP.U_CORE.U_Async} {noTiming}
=============================================