Я новичок в Verilog и пытаюсь реализовать простой 16-битный модуль абсолютных значений, однако я получаю только неизвестные значения в качестве вывода.
Ниже приведен код, который я написал:
module refabs(b, a);
input wire [15:0] a;
output reg signed [15:0] b;
always @* begin
b = ((a < 0) ? -a : a);
end
endmodule
module testbench;
reg [15:0] a;
wire [15:0] b;
refabs abs(b, a);
initial begin
a = -30000;
begin
$display("refabs(%x) = %x", a, b);
end
end
endmodule
Вывод, который я получаю в итоге: refabs (8ad0) = xxxx.Любая помощь очень ценится.