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

「//プログラムを逐次的に強制する」とマークされたコードは、 コードを逐次的にしません。
2 つの最初のステートメントは、引き続き並行して実行されます。あなたはおそらく次のことを意味します:

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