在 verilog HDL 语言里面 case 语句分支 表示一个范围,如3~80 该怎么写。
4个回答
展开全部
比如你定义一个14位状态变量A_cnt[13:0],那么代码编写如下:
alawys @(*)
begin
case(A_cnt[13:0])
14'b00000000000011://3
begin
#######
end
14'b00000000000100://4
begin
#######
end
。
。
。
14'b00000001010000://80
begin
#######
end
default
begin
end
endcase
end
个人认为是这样,或者是我理解错了你的意思。
不过你要是从3写道80,这样太麻烦了,你可以用嵌套来写就简单多了。有问题大家继续讨论。
alawys @(*)
begin
case(A_cnt[13:0])
14'b00000000000011://3
begin
#######
end
14'b00000000000100://4
begin
#######
end
。
。
。
14'b00000001010000://80
begin
#######
end
default
begin
end
endcase
end
个人认为是这样,或者是我理解错了你的意思。
不过你要是从3写道80,这样太麻烦了,你可以用嵌套来写就简单多了。有问题大家继续讨论。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
case语句只能全部列出来。用case语句有利于对电路状态的裁割,可以适当提高工作时钟频率,而用if语句不行,所以用case语句还是好些的,只是多列一些而已。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是范围的话,case语句要全部列出的,还不如用if语句方便
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询