私は以下のようにシステムのVerilogの比較をしています。システムの反復演算子
module m();
int count = 4;
logic [3:0] first = 14;
logic [3:0] second = 15;
initial begin
$display("Second %b\n", {count{1'b1}});
if(first == {count{1'b1}}) $display("FIRST Equals\n");
else $display("FIRST Not equal %b and %b\n", first, {count{1'b1}});
if(second == {count{1'b1}}) $display("SECOND Equals\n");
else $display("SECOND Not equal %b and %b\n", second, {count{1'b1}});
end
endmodule
これは私が理解していなかった何を出力
Second 1
FIRST Not equal 1110 and 1
SECOND Equals
ですが、なぜそれが代わりに1111年の1を印刷しているprint文Second 1
とFIRST Not equal 1110 and 1
のですか?
興味深いことに、数が4であればそれが機能するはずです。私は '' 'count 4'を定義し、' '' 'count''の働きを使うのは興味がありますか? –
どのようなシミュレータを使用していますか?それは少なくとも警告メッセージを生成しませんか? – toolic