说,我通过连接4个1b输入端口形成了一个4位test_expr。对应于test_expr的LSB的输入端口在TB顶部用导线连接,但导线未被驱动。
我有一个断言,如果(^ test_expr === 1'bx)则触发。我正在使用Synopsys VCS和Verdi来模拟我的设计。
现在当我在verdi中拔出test_expr时,我在LSB上看到一个“z”。而且我的断言也会引发。
这是否意味着“z”位总是的XOR运算给出“x”?或者这是依赖于模拟器的东西,可以变化吗?
由于
答案 0 :(得分:2)
这是否意味着带有“z”位的XOR运算总是给出“x”?
是。必须始终驱动逻辑门的输入;门的浮动(“z”)输入将导致错误的,不可预测的行为(“x”)。
答案 1 :(得分:0)
当任何输入 z 时,xor操作会输出 x 。请查找基本门操作here的真值表。正如Matthew Taylor在之前的评论中指出的那样,这在逻辑上是浮动输入的正确输出 为了回答你的评论,Z表示高阻抗'。因此,当任何输入不清楚时(无论是X还是Z),我们只能期望结果是未知的' x'而不是' z'。