利用 Verilog 门级建模实现 2 选 1 多路选择器,编写 Testbench,在 GTKWave 展示电路测试波形
时间: 2024-06-11 19:08:48 浏览: 66
2选1多路选择器的VerilogHDL设计.docx
5星 · 资源好评率100%
以下是2选1多路选择器的Verilog代码:
```
module mux2to1(input a, b, sel, output out);
wire not_sel;
not(not_sel, sel);
and(out, a, not_sel);
and(tmp, b, sel);
or(out, out, tmp);
endmodule
```
以下是Testbench代码:
```
module mux2to1_tb;
reg a, b, sel;
wire out;
mux2to1 uut(a, b, sel, out);
initial begin
// Test case 1: sel=0, a=1, b=0
a = 1; b = 0; sel = 0;
#10;
if (out !== a) $display("Test case 1 failed");
// Test case 2: sel=1, a=1, b=0
a = 1; b = 0; sel = 1;
#10;
if (out !== b) $display("Test case 2 failed");
// Test case 3: sel=0, a=0, b=1
a = 0; b = 1; sel = 0;
#10;
if (out !== a) $display("Test case 3 failed");
// Test case 4: sel=1, a=0, b=1
a = 0; b = 1; sel = 1;
#10;
if (out !== b) $display("Test case 4 failed");
$display("All test cases passed");
$finish;
end
endmodule
```
在 GTKWave 中展示电路测试波形:
1. 打开 GTKWave,点击 File -> Open,选择生成的 .vcd 文件。
2. 点击 Signals -> Add Signals,选择要展示的信号(如 a、b、sel、out)。
3. 点击 Signals -> Zoom -> Full,展示全部波形。
4. 可以通过修改 Testbench 中的测试用例,重新运行仿真,观察波形变化。
阅读全文