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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 19928|回复: 23

[原创] 讨论一下 DC 中的组合逻辑环路!!!!

[复制链接]
发表于 2010-11-3 11:19:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大家好,我在DC综合过程中遇到很多警告,如下:Warning: Disabling timing arc between pins 'A' and 'Z' on cell 'i_bctop/i_def/i_cce/C3339'
         to break a timing loop. (OPT-314)

这是不是意味着我的设计里面真的存在组合逻辑环路?
我有以下疑问:
1,如果真的在设计中存在组合逻辑环路,为什么我的后仿真是完全正常的?是因为这个组合逻辑环路没有被触发吗?
2,我觉得组合逻辑环路应该是个很严重的问题,为什么DC就这么给个警告就完事了,而不是给个错误?难道设计中有组合逻辑环路是很正常的事情吗?

此外,我还从别的论坛找到个针对这个问题的分析,大家参考。
Re: warning in synopsys DC
DC disables timing arc automatically when there is a combinational feedback between the output pin and one in the input pins in that case DC disables timing arc between thoose two pins in the cell

timing arc : between each input and output pin in any cell there is a timing arc which represents the output transition

what you should do is to check your design and detect the combinational feedback and try to break it

hope this helps



欢迎大家讨论下这个问题,这个问题也是在DC综合中很典型的一个问题,大家多多讨论!!
 楼主| 发表于 2010-11-3 12:34:17 | 显示全部楼层
找到一个以前的帖子这样解释:
综合工具将loop打断指的是他分析时序的时候不会将loop放进去参与时序的计算....实际的loop仍然存在的.
如果你要用这个话,你自己得先有把握保证时序不会有问题!
大家参考,谁有更明确的解释,希望继续讨论!!!
发表于 2010-11-3 18:04:56 | 显示全部楼层
呵呵,我天天和loop打交道

对于同步电路来说,loop是一种异类,你最好想办法从设计上去除。往往有等效的电路去掉环,只不过会多用一些寄存器。
环本身的问题是DC无法进行时序分析。比如一个环的延时为Nt,那么包含这个换的路径延时为Lt+N*Nt这里的N可以为任何整数。显然DC就无法分析了。

如果你的设计里面必须存在环,DC在时序分析里面打破环并不影响逻辑功能,但是时序就没有办法完全保证了
较安全的做法是手动打破环
用disable_timing约束,找一个时序最不关键的位置,打破环。一般来说,在反馈路径上打破环是合适的
不过反馈路径一旦被打破,反馈路径本身就不受约束
所以在后仿的时候要特别小心的验证这个反馈路径不存在时序问题。STA在这种情况下也已经失效了。
 楼主| 发表于 2010-11-3 18:18:15 | 显示全部楼层
多谢 benjaminweber 大侠的解释!!我现在对这个问题理解更深刻了。
而且很高兴的是我的问题也得到解决了,和大家分享一下(是个很典型的问题,也许别的同志也会遇到):
问题的原因在于系统的MBist测试模块,这个模块的代码是用Mentor的MbistArchiect工具生成的,我用的命令为 Set Scan Logic -Combinational, 这样的命令导致扫描链模式下的Memory旁路电路是组合逻辑的,从输入直接组合到输出,而我设计中DC报出的组合逻辑环路正是经过这个旁路电路的。而且,这个组合逻辑环路只有在测试模式下才被触发,正常模式下被“抑制”住的,因此可以解释为什么我的后仿真功能完全正常,因为我当时仿真的是正常模式而非测试模式。

在我用 Set Scan Logic 命令代替 Set Scan Logic -Combinational 生成测试模块之后,问题圆满解决!!
发表于 2010-11-3 18:19:47 | 显示全部楼层
good
better
   best
发表于 2010-11-3 21:10:25 | 显示全部楼层
thankyou verymuch
发表于 2010-11-3 22:41:47 | 显示全部楼层
我也遇到类似问题,学习下,希望能手动去掉。。。
发表于 2011-1-4 16:36:24 | 显示全部楼层
kkkkkkkkkkkk
发表于 2011-1-6 16:39:19 | 显示全部楼层
能否设置为 set_false_path。。。
发表于 2011-1-10 10:17:25 | 显示全部楼层
要用set_case_analysis工设定工作模式
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-13 03:48 , Processed in 0.029993 second(s), 8 queries , Gzip On, Redis On.

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