什么是判断总线是否包含单个x verilog的最佳方法?

我有一个监控公交车的测试台.总线内的一些信号可以是1’bx.由于各种原因,我需要知道总线内的任何信号是否为1’bx.如果总线包含任何x,那么测试的最佳方法是什么(不是用于综合 – 仅用于模拟目的)?我曾希望我可以使用减少或然后使用===,但这似乎不起作用.谢谢,

d

(^ bus === 1’bX)

按位xor总线然后检查结果是否为X.如果任何位是X或Z,那么结果将是X.

要知道总线中的哪个位有错误:

always @* begin
  for(integer i=0; i<$size(bus); i++) begin
     if(bus[i]===1'bX) $display("bus[%0d] is X",bus[i]);
     if(bus[i]===1'bZ) $display("bus[%0d] is Z",bus[i]);
  end
end
相关文章
相关标签/搜索