在verilog中检测未分配的寄存器

时间:2012-03-29 19:02:25

标签: 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与4'bxxxx进行比较,我理解为什么我不能这样做。但有没有其他方法来检测未分配的寄存器?

1 个答案:

答案 0 :(得分:7)

我认为你需要三等于===运算符。 1'bx == 1'bx的结果为x1'bx === 1'bx的结果为true

http://www.asic-world.com/verilog/operators1.html