【发布时间】:2023-04-10 03:13:01
【问题描述】:
我想构建一个简单的模块来比较两个 2 位数字并获得输出中的最大数字。
我使用了这里发布的代码:How to find MAX or MIN in Verilog coding?
module max (input [1:0] a,
input [1:0] b,
output reg [1:0] out);
always @* begin
if (a>b)
out = a;
else
out = b;
end
endmodule
但我遇到的问题是,输出“out”没有给我一个 2 位数字,而且代码也不能正常工作,如您在屏幕截图中看到的那样。
这是我正在使用的测试平台:
`timescale 1ns/10ps
module maxTB();
reg [1:0] a, b;
max dut (.a(a),.b(b),.out(out));
initial
begin
a = 2'b1; b= 2'b0;
#20 a = 2'b10;
#40 b = 2'b11;
#50 a = 2'b01;
end
endmodule
【问题讨论】:
标签: verilog