简单加法器 + 测试台返回 "dont care" 输入

simple adder + testbench returning "dont care" input

我有一个加法器模块的简单测试台,但我得到了错误的输入:

module adderTestbench;

    wire [31:0] fromAdd;

    adder lol(32'h00000000,fromAdd);


    initial begin //forcing program to be sequential
    #100; //wait 100
    end //end begin

    initial begin
    $display("%h",fromAdd);
    end

endmodule

module adder(addIn,addOut);
input [31:0] addIn;
output reg [0:31] addOut;
always @(addIn) 
begin
addOut <= addIn + 32'h00000004;
end
endmodule

显示xxxxxxxx.

谁能解释为什么它不显示 4,而是显示 x?

标记为"//强制程序顺序执行的代码"不会使任何代码顺序执行。
您的两个初始语句仍将 运行 并行。你的意思可能是:

initial
begin
   #100; //wait 100
   $display("%h",fromAdd);
end