【发布时间】:2021-01-04 07:48:23
【问题描述】:
我正在尝试找出如何检查 3 位总线的 msb 是否设置为 1,即 1xx。 当我检查 bus==3'b1xx 时,似乎什么也没发生。
【问题讨论】:
-
检查
if(bus[2])。
标签: testing verilog bus icarus
我正在尝试找出如何检查 3 位总线的 msb 是否设置为 1,即 1xx。 当我检查 bus==3'b1xx 时,似乎什么也没发生。
【问题讨论】:
if(bus[2])。
标签: testing verilog bus icarus
您编写的表达式的结果只能是 (1'b0) 或 (1'bx),对于 if 语句分支,它们都被认为是错误的。
假设您将总线声明为wire [2:0] bus;,您可以使用bus[2] == 1'b1 进行检查
现在在 SystemVerilog 中,您可以使用 bus ==? 3'b1xx 进行通配符匹配,它将 RHS X 视为不关心。 LHS 上的 X 被视为与 == 相同。
【讨论】: