verilog语言中if()的用法

weixin_41486555 2018-01-23 10:01:28
if(data==4'b0000 or data==4'b0001 or data==4'b0010 or data==4'b0100 or data==4'b0101 or data==4'b0110 or data==4'b1000 or data==4'10001 or data==4'b1010 or data==4'b1101)
不知道我这样编写是否正确(前面已经定义了 reg[3:0] data)
...全文
4528 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2018-08-30
  • 打赏
  • 举报
回复
可以写成 if(data != 4'b0011 && data !=4'b0111 && data != 4'b1011 && data != 4'b1100 && data < 4'b1110)
hsusea 2018-08-29
  • 打赏
  • 举报
回复
另外有个位置应该是笔误了data==4'10001
hsusea 2018-08-29
  • 打赏
  • 举报
回复
语法没有任何错误,可以写的简洁一点的。
flyfeky 2018-08-29
  • 打赏
  • 举报
回复
语法没错, 不过可以再整理一下,更简洁。
koukobe 2018-03-09
  • 打赏
  • 举报
回复
本身语法没有错,但是这种情况可以采用case语句
fly 100% 2018-01-25
  • 打赏
  • 举报
回复
这么多分支直接switch啊,更接近多路选择器的硬件特性
zgl7903 2018-01-24
  • 打赏
  • 举报
回复
和C语言的与否很类似 if(data==4'b0000 || data==4'b0001) begin end 不过用case 可能更简洁

2,432

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
  • 其他硬件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧