我有一個系統verilog比較如下。systemverilog中的重複操作符
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
什麼我不明白的是打印報表Second 1
和FIRST Not equal 1110 and 1
爲什麼打印1,而不是1111?
這很有趣,如果有4,而不是計數它會工作。我很好奇會''定義計數4',然後使用'\'計數'工作? –
你使用什麼模擬器?它不是至少會產生警告信息嗎? – toolic