Verilog用case语句实现4选1电路的代码以及其测试代码
时间: 2024-02-01 19:13:37 浏览: 180
以下是使用 Verilog 实现 4选1 电路的代码及测试代码:
```
module mux4to1(input [3:0] in, input [1:0] sel, output reg out);
always @(*) begin
case(sel)
2'b00: out = in[0];
2'b01: out = in[1];
2'b10: out = in[2];
2'b11: out = in[3];
default: out = 1'b0;
endcase
end
endmodule
```
测试代码:
```
module mux4to1_test;
reg [3:0] in;
reg [1:0] sel;
wire out;
mux4to1 dut(.in(in), .sel(sel), .out(out));
initial begin
$display("in sel | out");
$display("------|---");
for (int i = 0; i < 4; i++) begin
in = i;
for (int j = 0; j < 4; j++) begin
sel = j;
#1 $display("%d %d | %d", in, sel, out);
end
end
$finish;
end
endmodule
```
在测试代码中,我们会输出 16 个不同的输入和选择组合的结果,以确保电路的正确性。
阅读全文