hdlbits系列verilog解答(always块case语句)-33

这篇博客介绍了如何使用Verilog的case语句实现一个6选1多路复用器。当sel信号在0到5之间时,选择对应的4位数据输出,否则输出0。博客包括问题描述、Verilog源代码和仿真结果。
摘要由CSDN通过智能技术生成


一、问题描述

Verilog 中的 case 语句几乎等同于 if-elseif-else 序列,该序列将一个表达式与其他表达式列表进行比较。它的语法和功能与 C 中的 switch 语句不同。

always @(*) begin // This is a combinational circuit
case (in)
1’b1: begin
out = 1’b1; // begin-end if >1 statement
end
1’b0: out = 1’b0;
default: out = 1’bx;
endcase
end

如果存在大量分支,则 case 语句比 if 语句更方便。因此,在本练习中,创建一个 6 对 1 多路复用器。当sel 介于 0 和 5 之间时 ,选择相应的数据输入。否则,输出 0。数据输入和输出均为 4 位宽。


二、verilog源码

// synthesis verilog_input_version verilog_2001
module top_module 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值