答案 0 :(得分:1)
您的代码没有任何问题-这是您使用的工具的局限性。
Verilator需要带有输入和输出的代码,以便可以激发它并显示结果。
它还不喜欢对多位操作数执行逻辑运算符。
module is_power_of_two(output reg f);
reg [7:0];
initial begin
#1 v = 8'b11110000;
#1;
end
always @(*) f = v != 0 && !((v & v - 1) != 0);
endmodule