verilog加法器代码和测试代码
时间: 2023-07-02 18:05:45 浏览: 150
以下是一个简单的 4 位加法器的 Verilog 代码和测试代码:
Verilog 代码:
```verilog
module adder4bit(input [3:0] a, b, output [3:0] sum);
assign sum = a + b;
endmodule
```
测试代码:
```verilog
module test_adder4bit;
reg [3:0] a, b;
wire [3:0] sum;
adder4bit dut(.a(a), .b(b), .sum(sum));
initial begin
// 测试用例 1
a = 4'b0000;
b = 4'b0000;
#10;
$display("sum=%d", sum);
// 测试用例 2
a = 4'b0011;
b = 4'b0100;
#10;
$display("sum=%d", sum);
// 测试用例 3
a = 4'b1111;
b = 4'b0001;
#10;
$display("sum=%d", sum);
// 测试用例 4
a = 4'b1000;
b = 4'b1000;
#10;
$display("sum=%d", sum);
end
endmodule
```
在这个测试代码中,我们使用了一个名为 `adder4bit` 的模块,并声明了一个输入向量 `a` 和 `b`,以及一个输出向量 `sum`。我们使用了 `assign` 语句来为 `sum` 赋值,这个值就是输入向量 `a` 和 `b` 的和。
在测试模块中,我们声明了 `reg` 类型的 `a` 和 `b`,以及 `wire` 类型的 `sum`。我们实例化了 `adder4bit` 模块,并将输入和输出端口连接到 `a`、`b` 和 `sum` 上。最后,在 `initial` 语句块中,我们为这个加法器编写了四个测试用例,并在每个测试用例之后使用 `$display` 函数来显示输出结果。
阅读全文