天天看点

gate level simulation step

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}

=============================================

继续阅读