在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: 15971239608

[求助] DC综合时出现timg loop警告,紧急求助....

[复制链接]
发表于 2024-9-27 17:53:01 | 显示全部楼层


15971239608 发表于 2024-9-27 17:18
io,我前面搞错了,和加不加这个mux没有关系


那你这问题就算明确了,工具报的没问题,是触发器的Q端经过组合逻辑又反馈到触发器的CLK端,导致时钟会产生一个窄的脉冲,这不是典型的设计方式。要么改设计,要么约束里打断timing path。
发表于 2024-9-28 11:52:55 | 显示全部楼层
你这电路仿真过吗,lint查过吗,你这个电路复位完了寄存器你觉得能动起来吗?counter能更新吗?
 楼主| 发表于 2024-10-10 13:51:14 | 显示全部楼层


温柔阴影 发表于 2024-9-27 17:20
假设dft_mode 一直为0,tcadc_rso_reg为1,且当前cycle_cnt_6为1,这个时候时钟就是clk_cadc,来了一个上 ...


能画一下图吗,大佬?我没太理解你的意思,但感觉就快真相大白了
 楼主| 发表于 2024-10-10 13:53:01 | 显示全部楼层


corinwjx 发表于 2024-9-28 11:52
你这电路仿真过吗,lint查过吗,你这个电路复位完了寄存器你觉得能动起来吗?counter能更新吗? ...



你说的对,如果像上面的那个代码,counter是不能更新,原始代码是这样的

                               
登录/注册后可看大图

 楼主| 发表于 2024-10-10 13:55:34 | 显示全部楼层


upsidedown 发表于 2024-9-27 17:53
那你这问题就算明确了,工具报的没问题,是触发器的Q端经过组合逻辑又反馈到触发器的CLK端,导致时钟会产 ...


窄的脉冲,我没有太理解,能画一下图吗?
发表于 2024-10-10 14:26:47 | 显示全部楼层


15971239608 发表于 2024-10-10 13:55
窄的脉冲,我没有太理解,能画一下图吗?


你自己画一下图不就理解了吗
 楼主| 发表于 2024-10-10 15:08:49 | 显示全部楼层


upsidedown 发表于 2024-10-10 14:26
你自己画一下图不就理解了吗



我画了一下,怎么都感觉不到哪里有问题,这个loop到底是个啥东西?

                               
登录/注册后可看大图

发表于 2024-10-10 15:50:44 | 显示全部楼层


15971239608 发表于 2024-10-10 15:08
我画了一下,怎么都感觉不到哪里有问题,这个loop到底是个啥东西?

...


你代码写了一个`CD(combionatorial delay) 你随便指定一个数,把这个体现在波形上再看一下
 楼主| 发表于 2024-10-11 09:54:38 | 显示全部楼层


upsidedown 发表于 2024-10-10 15:50
你代码写了一个`CD(combionatorial delay) 你随便指定一个数,把这个体现在波形上再看一下
...


我有加delay啊,后仿的波形也没啥问题
发表于 2024-10-11 10:29:50 | 显示全部楼层


15971239608 发表于 2024-10-10 15:08
我画了一下,怎么都感觉不到哪里有问题,这个loop到底是个啥东西?

...


根据你上面贴的代码和波形图,应该是在代码里边用了或逻辑实现了时钟门控,但工具不知道那是个时钟门控,导致DC工具认为这是个loop。clk_cycle_cnt产生某些寄存器的输出Q,这些Q输出通过组合逻辑产生时钟门控信号or_en_clk_cycle_cnt即(~((cycle_cnt_6 & tcadc_rso_reg) | ((tcadc_rso_reg) & cadc_cnt_ff))),此门控信号与clk_cadc经过或门控(or_en_clk_cycle_cnt | clk_cadc)产生clk_cycle_cnt,工具因此认为是个loop。要消除此loop,只需要让dc工具识别到时钟门控即可,这时工具就不会分析or_en_clk_cycle_cnt到clk_cycle_cnt的路径,就没有loop了。方式一,例化库中的icg cell,选择1个合适的icg cell替换通过rtl代码实现的或门控。方式二,如果没有合适的icg cell,也可以例化库中的or门,替换通过rtl代码实现的或门控,同时约束上增加set_clock_gating_check -setup xxx -hold yyy [get_pins zzz],xxx与yyy要根据需要设置合适的约束值,zzz是指定到例化或门的连接时钟clk_cadc的那个pin。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-26 03:19 , Processed in 0.068666 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表