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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: psd0208

[求助] 请问这小段代码这么写的用意?

[复制链接]
发表于 2010-2-3 18:07:43 | 显示全部楼层
一个always里只给一个变量赋值~
发表于 2010-2-3 19:07:11 | 显示全部楼层
1# psd0208 综合优化后应该是一样的东西。
发表于 2010-2-3 23:55:06 | 显示全部楼层
一个是aa和aa_n同时变化,另一个是延迟一个时钟周期变化
发表于 2010-2-4 11:23:36 | 显示全部楼层
前一种写法更稳定 ,aa 与aa_n之间没有时延,都是同时在时钟的边沿输出。后面改过的
always @(posedge clk)
begin
        aa  <=bb || !cc;
end
assign aa_n=!aa;
一是两者之间有一个非门的时延在里面,有可能引起后续电路的竞争冒险;还有就是寄存器与线网型的差别。
对于能处理好后续时序要求的话  两者没有太大的区别。
发表于 2010-2-4 16:10:11 | 显示全部楼层
第一个提问:从硬件上考虑,综合出来的电路是不同的。aa  <=bb || !cc;
aa_n<=!bb && cc;此时aa_n是当前时刻的aa的反。aa  <=bb || !cc;
aa_n<=!aa;此时当前的aa_n 是上一个aa的反。第二个问题综合的时候会提示错误。
发表于 2010-2-4 17:16:15 | 显示全部楼层
阻塞赋值   两种写法出来的结果不一样的
发表于 2010-2-6 07:53:52 | 显示全部楼层
It should be OK now.

But why it doesn't have reset. That's dangerous.
发表于 2010-2-6 10:51:51 | 显示全部楼层
it's not the same behavior!
your RTL will get the same value at the sime time
发表于 2010-2-9 22:22:07 | 显示全部楼层
错开了1T
发表于 2010-3-26 21:43:10 | 显示全部楼层
肯定不一样了,电路结构就不一样了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-5 00:04 , Processed in 0.027814 second(s), 6 queries , Gzip On, Redis On.

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