使用“z”输入进行Verilog XOR运算

时间:2018-01-25 06:16:19

标签: verilog

说,我通过连接4个1b输入端口形成了一个4位test_expr。对应于test_expr的LSB的输入端口在TB顶部用导线连接,但导线未被驱动。

我有一个断言,如果(^ test_expr === 1'bx)则触发。我正在使用Synopsys VCS和Verdi来模拟我的设计。

现在当我在verdi中拔出test_expr时,我在LSB上看到一个“z”。而且我的断言也会引发。

这是否意味着“z”位总是的XOR运算给出“x”?或者这是依赖于模拟器的东西,可以变化吗?

由于

2 个答案:

答案 0 :(得分:2)

  

这是否意味着带有“z”位的XOR运算总是给出“x”?

是。必须始终驱动逻辑门的输入;门的浮动(“z”)输入将导致错误的,不可预测的行为(“x”)。

答案 1 :(得分:0)

当任何输入 z 时,xor操作会输出 x 。请查找基本门操作here的真值表。正如Matthew Taylor在之前的评论中指出的那样,这在逻辑上是浮动输入的正确输出 为了回答你的评论,Z表示高阻抗'。因此,当任何输入不清楚时(无论是X还是Z),我们只能期望结果是未知的' x'而不是' z'。