最初のページ 戻る 次へ 最後のページ

module TestBench;

reg a1,a2;

reg b1,b2;

initial begin

$dumpfile("tmp.vcd");

$dumpvars(0,TestBench);

$display("a1 b1 | a2 b2");

$monitor(" %b %b | %b %b",a1,b1,a2,b2);

#0 a1=1'b0; b1=1'b1; a2=1'b0; b2=1'b1;

#1 a1=b1; b1=a1; a2<=b2; b2<=a2;

#1 a1=b1; b1=a1; a2<=b2; b2<=a2;

#1 a1=1'b0; b1=1'b0; a2=1'b0; b2=1'b0;

#1 a1=1'b1; b1=1'b0; a2=1'b1; b2=1'b0;

#1 a1=b1; b1=a1; a2<=b2; b2<=a2;

#1 a1=b1; b1=a1; a2<=b2; b2<=a2;

#1 $finish;

end

endmodule

ここの処理をするときb2は1'b1

a2は1'b1になる

ここの処理をするときa2は0

b2は1'b0になる

a2<=b2;

b2<=a2;

は同時に実行していると解釈する

複数の代入を行うとき、

代入のタイミングと順序が重要になる