后仿Zero Dealy环境中对于clk gating单元的处理

后仿中做ZD仿真的目的

ZD相比于SDF仿真具有仿真速度快的优点,在进行SDF仿真前,通过运行ZD仿真可以发现验证环境及一些验证case不完善的地方,例如MEM库单元使用错误,force信号路径错误等问题

后端插入的clk_gating单元对于ZD后仿的影响

后端工具在综合实现过程总会自动插入clk_gating单元,这些clk_gating就会使得原本直接使用端口clk的寄存器单元实际使用的是经过一些门控单元的时钟,如果一个寄存器的D端信号来自于端口clk时钟域,而自身的clk又是来自经过门控单元的clk,就会存在delt cycle的问题,即D端实际是应该晚于clk上升沿的,但在ZD情况下,由于不存在门延迟,但是仿真工具会根据信号经过的门逻辑去判断各个信号间的先后关系,导致出现D端信号早于clk上升沿有效,进而导致Q端输出早一拍有效,最终导致逻辑功能异常。如下图所示,
clk,en,MGM_D0,IQ在波形上看是齐沿的
如果使用vcs 的expand delta功能就可以很容易发现上述信号变化的信后顺序,如下图所示,
en,MGM_D0早于clk上升沿,所以在当前拍就被采样到了

解决的方法

使用VCS仿真时,可以在elab选项中增加**-add_seq_delay**选项,从而保证对于UDP存在一个极小的delta延迟,避免上述问题发生。
根据vcs手册描述该参数的需要主义的是:

  • 只做用于UDP的时序单元
  • 只作用于UDP中没有delay延时的单元,如果UDP中已经有明确的延时,该选项会被忽略

关于后仿的一些参数可以参考如下文章:
https://blog.youkuaiyun.com/yumimicky/article/details/124548631

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值