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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子

[求助] 关于RTL中Feedthroughs的问题

[复制链接]
 楼主| 发表于 2011-7-24 01:52:29 | 显示全部楼层
回复 4# xiaocanmeng


   感觉用阻塞赋值是自欺欺人,只是让仿真通过而已,不能解决实际的问题
 楼主| 发表于 2011-7-24 02:11:52 | 显示全部楼层
我有种大胆的想法,用~clk_div做下一级clk,  实际电路就是不会馈通,因为设计时Q1的变化频率肯定低于clk_div,这样实际采样就是在Q1的中间点
发表于 2011-7-24 10:33:19 | 显示全部楼层
通常在写rtl的时候会加一个delta延迟,可以有效的避免各种时序竞争。如果不加目,前的仿真器也能处理这个问题。
而实际情况是,clk_div和clk是同源的,工具会balance时钟树使时钟的有效沿在同一时刻到达每个寄存器。
不管怎么样,在任何情况下,时序语句是一定不能使用阻塞赋值的。
发表于 2011-7-25 20:14:50 | 显示全部楼层


请教:
用的VCS是比较新的版本,应该是2011-03,还是出现了feedthrough问题,是不是恰恰说明,仿真器不能处理这个问题?
即使综合工具去平衡时钟树,还是会因为feedthrough问题产生了综合前后仿mismatch。
最后一句,虽然一般在coding时会采用时序逻辑用非阻塞,但是很多书籍资料都表明只要不产生mismatch,阻塞也可用于时序逻辑。

看你其他的帖子应该是有丰富经验的工程师,请发表一下你的看法吧。
发表于 2011-7-26 09:13:11 | 显示全部楼层
在同源但是分频前后(或门控前后)的时钟域间,做信号穿越时确实会仿真出这种情况。
应该是仿真器无法自动在这二者直接加delay的原因,所以针对仿真根本的解决办法是在写RTL的时候加delay模拟延迟。
在实际布局布线后本身就会有这个延迟,所以一般没有问题,但也要通过后仿来确认。
发表于 2011-7-26 09:14:44 | 显示全部楼层
本帖最后由 hover99 于 2011-7-26 09:22 编辑

规则越简单越好,针对楼主的情况如果允许使用阻塞赋值,那么就会出现无数种情况也能允许阻塞赋值,这样一来规则会越来越复杂,最终结果就是不允许使用阻塞赋值的这个规则形同虚设。
阻塞赋值和非阻塞赋值的混用的另外一个问题就是会在coding style检查中带来大量的错误信息,而你必须要手工分析那些是那些是合法的哪些是由于笔误造成的。

有一句名言大概意思就是,解决一个问题总会有一种方法是这样的简单有效,结果却是谬之千里。
发表于 2011-7-26 23:51:31 | 显示全部楼层
回复 15# jackertja


    那要根据不同的reg<= #delay reg_nxt加delay了?
如果同一个delay,q2和clk_div还会有相同的跳变沿。
发表于 2011-7-27 09:03:38 | 显示全部楼层
回复 17# xiaocanmeng


    clk_div就不加delay了,时钟再加delay会造成更多的问题。
 楼主| 发表于 2011-7-27 22:22:19 | 显示全部楼层
我问的问题是,书上的例子说使用非阻塞会出问题,使用阻塞赋值就能解决,但是我综合后结果一样,完全没有解决馈通现象
发表于 2011-7-28 23:58:47 | 显示全部楼层
回复 18# jackertja
你怎么保证和综合出来的一致。
还是别讨论了。没啥意思啦。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-20 04:37 , Processed in 0.062931 second(s), 7 queries , Gzip On, Redis On.

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