verilog 中阻塞与非阻塞的问题

reg[2:0]Q_State;initialbeginQ_State=3’b011;Q_State<=3’b001;$display(“currentvalueofQ_... reg [2:0] Q_State;
initial
begin
Q_State=3’b011;
Q_State<=3’b001;
$display(“current value of Q_State is %b”, Q_State)
#5
$display(“the display value of Q_State is %b”, Q_State)
end

请问这样运行的结果是current value of Q_State is____________
the display value of Q_State is ____________
求两个空格的答案 并分析原因 越详细越好
展开
 我来答
网友12138L6Q4
2012-12-05 · TA获得超过508个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:169万
展开全部
先说同一个语句同时使用阻塞式赋值和非阻塞式赋值综合时是通不过的,这种情况只在仿真有效。上面一个空是011,下面是001

阻塞式赋值语句可以这么理解,先要完成本条语句才能执行下一条,即等式左边的变量要先被更新。而阻塞式是先计算右边的值,再在下一时刻同时赋值,电路里面下一刻我理解为下一个时钟沿,仿真里我只能说下一时刻···
那么这一段代码的执行顺序可以这样理解,”Q_State=3’b011“先执行完毕,Q_State变为011,然后Q_State<=3’b001开始执行(计算右边的值),同时display”Q_State“(此时Q_State未更新,即值仍为011),同时延时5个单位,Q_State更新为001,延时完毕后display”Q_State“。
yl0409202
2012-12-04 · TA获得超过567个赞
知道小有建树答主
回答量:483
采纳率:0%
帮助的人:286万
展开全部
基本上<=会延迟一个时钟输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式