hdlbits系列verilog解答(always块case语句)-33
文章目录
-
- 一、问题描述
- 二、verilog源码
- 三、仿真结果
一、问题描述
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