微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > DC综合里加了门控时钟,综合后仿真出错

DC综合里加了门控时钟,综合后仿真出错

时间:10-02 整理:3721RD 点击:
RTL里没有加门控,在DC脚本里加了insert_clock_gating插入锁存器+与门的门控,综合后FORMALITY验证通过,结果后仿时,用的testbench和没加门控时的后仿代码相同,结果却不对,请问是为什么?怎么解决?门控的使能信号是内部产生的,也不理解,求赐教~谢谢

如果是DC自己插入的clock gating,那基本没啥问题。后仿出问题再正常不过了,一般都是timing问题,抓信号分析就好了,TB在port上记得也最好要加delay。
空说无凭,要想证明是clock gating的问题,请先抓出出问题的地方的波形。



   谢谢回答,抓波形看了一下,模块内有些寄存器在异步复位后变成了高阻态,是我插门控出错了吗?用的set_clock_gating_style和insert_clock_gating两条语句,谢谢!


这些寄存器用的时钟是不是有一段高电平



   没有,始终是高阻态


你的意思是这些寄存器的clk端就是高阻,就是clock gate的输出是高阻?

如果该时钟默认是高电平, 即我们平时说的反相时钟, 那么插入的CG 输出的时钟为不定态, 需要在这里deposit一个值。



  

就是这个样子的,同一个寄存器,有时钟,但是没有输出



   不好意思我不太明白,能不能详细说一下?



   我看到gck_tb/gci_i/\a_reg[12]/ck是有时钟的,这个时钟clock gate模块的输出还是输入



   是输入的门控时钟,上面蓝色是它的数据输出


你的意思ck是clock gate模块的输入时钟,蓝线是clock gate模块gate后的输出时钟
那使能信号是z态吗



   ck是电路中某个工作用寄存器的输入时钟,来自clock gate的输出,蓝线是这个工作寄存器的输出


那这个寄存器的输入呢,如果是z就对了,
如果不是,就是说一个寄存器,时钟正确,输入数据正常,但输出是个高阻?



   

输入也是不对的,a是个32位数,但是每次测试的时候出问题的寄存器都不一样,图里是a7,这次时钟、输入、输出都不正常了,崩溃

咱们还是先说第一幅图,你是说a[12]的输入也是z,那我们就要沿着这个z往前找,看是谁输出的它

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top