集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1372|回复: 2

一个关于赋值执行顺序的程序问题

[复制链接]
sixuan 发表于 2012-1-26 10:05:46 | 显示全部楼层 |阅读模式
begin
s_t1<=s_in;
s_t2<=s_t1;
end
assign s_out=s_t1&(!s_t2);
在这两个赋值语句中,先执行s_t1<=s_in,在执行第二行时,就把此时s_t1的值赋给s_t2,最后s_t1和s_t2的值相同。而结果中的s_out总是1,请问我哪里理解错了?谢谢!
非你莫属 发表于 2012-1-30 11:31:53 | 显示全部楼层
兄弟,begin...end之间你采用的非阻塞语句,s_t1<=s_in; s_t2<=s_t1; 是同时进行的,不是你上边理解的
先执行s_t1<=s_in,在执行第二行。最后s_t1和s_t2的值是不相同的,s_t2值是s_t1前一个时钟状态的值。
所以最s_out的结果中当然是1了
531436258 发表于 2012-2-1 20:03:13 | 显示全部楼层
恩 分析的对
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-23 21:46 , Processed in 0.067695 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表