Verilog中,case语句是并发的么?即只会执行其中一条么? 这样的话,是不是以下两个程序是等价的? 5

例如:case(qout)3'd0:d=8'b00000001;3'd1:d=8'b00000010;3'd2:d=8'b00000100;3'd3:d=8'b00001... 例如:
case (qout)
3'd0:d=8'b00000001;
3'd1:d=8'b00000010;
3'd2:d=8'b00000100;
3'd3:d=8'b00001000;
3'd4:d=8'b00010000;
3'd5:d=8'b00100000;
3'd6:d=8'b01000000;
3'd7:d=8'b10000000;
default:d=8'b00000000;
endcase

case (qout)
3'd0:d<=8'b00000001;
3'd1:d<=8'b00000010;
3'd2:d<=8'b00000100;
3'd3:d<=8'b00001000;
3'd4:d<=8'b00010000;
3'd5:d<=8'b00100000;
3'd6:d<=8'b01000000;
3'd7:d<=8'b10000000;
default:d<=8'b00000000;
endcase
上述程序我已经在QUARTUS软件中仿真过,仿真波形是一样的~
展开
 我来答
百度网友92408bc
推荐于2018-04-05 · 超过15用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:0
展开全部
case语句是并发的,但是编译过程还是从上到下的。
你的体温是阻塞和非阻塞的区别,它们在不同的always模块里面是不一样的,非阻塞赋值要等上升沿结束之后,在波形图上可以看到,并不能够立刻采到的,而阻塞赋值是可以的。
achillowy
2011-02-16 · TA获得超过304个赞
知道小有建树答主
回答量:143
采纳率:100%
帮助的人:62.1万
展开全部
case只执行其中1条 相当于是1个赋值。 以上2个可以看成是相同。
不过具体还得和上下的程序相关。
如果你要做设计的话,即程序需要综合,建议所有的赋值都用非阻塞“<=”。
在testbench中,才用阻塞赋值 “=” 。

还是要说,和上下的程序有关。

initial begin
a <= b;
case (qout)
3'd0:d<=8'b00000001;
3'd1:d<=8'b00000010;
3'd2:d<=8'b00000100;
3'd3:d<=8'b00001000;
3'd4:d<=8'b00010000;
3'd5:d<=8'b00100000;
3'd6:d<=8'b01000000;
3'd7:d<=8'b10000000;
default:d<=8'b00000000;
endcase
end

initial begin
a = b;
case (qout)
3'd0:d=8'b00000001;
3'd1:d=8'b00000010;
3'd2:d=8'b00000100;
3'd3:d=8'b00001000;
3'd4:d=8'b00010000;
3'd5:d=8'b00100000;
3'd6:d=8'b01000000;
3'd7:d=8'b10000000;
default:d=8'b00000000;
endcase
end
这2个你再仿真下吧。
这已经和case无关了,主要是阻塞和非阻塞。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ytchuang713
2011-02-23 · 超过19用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:31.2万
展开全部
给你个观念

non-blocking ----> synthesize 完你想让他变DFF
blocking ----> synthesize 完你想让他变 NAND, NOR, INV, etc...

切记先想清楚电路再写code,verilog不是写C....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-02-16
展开全部
综合成电路没区别的。仿真时候会有区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式