verilog case语句嵌套

ggg1986123567 2009-09-17 04:41:36
always@(posedge iCLK or negedge iRST)
if(!iRST)
max <= 200;
else
begin//1
case(Distance_range)
3:begin
case(Dist_thresh)
3:max<=max_thresh*3>>3; // 6/16
0:max<=(max_thresh*5)>>4; // 5/16
1:max<=max_thresh>>2; // 4/16
2:max<=(max_thresh*3)>>4; // 3/16
4:max<=max_thresh>>3; // 2/16
default:max<=diffaim_S;
endcase
end


0: begin
case(Dist_thresh)
3:max<=(max_thresh*7)>>4; // 7/16
0:max<=(max_thresh*3)>>3;
107336722 16:22:02
// 6/16
1:max<=(max_thresh*5)>>4; // 5/16
2:max<=max_thresh>>2; // 4/16
4:max<=(max_thresh*3)>>4; // 3/16
default:max<=diffaim_S;
endcase
end

[size=11px]上述代码中case语句中变量Distance_range和Dist_thresh都是3位的,现在不想使用case语句嵌套,想把两个变量放在一条case语句里,应该怎么改写呢?希望各位大侠给予指点![/size]
...全文
3392 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgy198612 2009-10-27
  • 打赏
  • 举报
回复
Distance_range 这个变量可以不用CASE,IF /ELSE不就能搞定了 ,把两个变量放在一条case语句里更乱又麻烦

2,425

社区成员

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

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