0

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

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?

4

1 回答 1

2

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

initial
begin
   #100; //wait 100
   $display("%h",fromAdd);
end
于 2020-03-08T05:40:53.573 回答