在verilog中检测未分配寄存器
我刚刚开始学习verilog,我遇到了一种情况,我试图检测一个寄存器是否还没有被赋值。例如,给定以下代码:在verilog中检测未分配寄存器,verilog,Verilog,我刚刚开始学习verilog,我遇到了一种情况,我试图检测一个寄存器是否还没有被赋值。例如,给定以下代码: reg [3:0] r; initial begin $display("r = %b", r); if (r == 4'bxxxx) $display("success"); else $display("failure"); end 当我运行此代码时,我得到以下输出: r = xxxx failure 我明白我不能将r
reg [3:0] r;
initial
begin
$display("r = %b", r);
if (r == 4'bxxxx) $display("success");
else $display("failure");
end
当我运行此代码时,我得到以下输出:
r = xxxx
failure
我明白我不能将r与4'bxxxx进行比较,我也明白为什么我不能这样做。但是有没有其他方法来检测未分配寄存器?我认为您需要三重相等
==
运算符来实现这一点。1'bx==1'bx
的结果是x
,1'bx==1'bx
的结果是true