在 verilog HDL 语言里面 case 语句分支 表示一个范围,如3~80 该怎么写。

 我来答
lzback1
2011-11-15 · TA获得超过2954个赞
知道小有建树答主
回答量:496
采纳率:0%
帮助的人:699万
展开全部
可以在一个always @语句中定义一个状态变量state,比如在3——80时是state=1,当然也可以用逻辑语句。然后再在主状态机里进行对于state的判断。
yangang12628
2012-12-28 · TA获得超过1402个赞
知道小有建树答主
回答量:656
采纳率:0%
帮助的人:307万
展开全部
比如你定义一个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,这样太麻烦了,你可以用嵌套来写就简单多了。有问题大家继续讨论。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luqiang200006
2011-11-15 · TA获得超过224个赞
知道答主
回答量:85
采纳率:0%
帮助的人:55.2万
展开全部
case语句只能全部列出来。用case语句有利于对电路状态的裁割,可以适当提高工作时钟频率,而用if语句不行,所以用case语句还是好些的,只是多列一些而已。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e301c72
2011-11-15 · TA获得超过1474个赞
知道小有建树答主
回答量:564
采纳率:100%
帮助的人:545万
展开全部
如果是范围的话,case语句要全部列出的,还不如用if语句方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式