在verilog中,判断一辆公交车是否包含单个x的最佳方法是什么? [英] What's the best way to tell if a bus contains a single x in verilog?
本文介绍了在verilog中,判断一辆公交车是否包含单个x的最佳方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个监控公交车的测试台。总线内的一些信号可以是1‘BX。由于各种原因,我需要知道母线内是否有任何信号是1‘BX。如果一条总线包含任何x,那么测试(不是为了合成--仅用于模拟)最好的方法是什么?我曾希望我可以使用缩写或,然后使用=,但这似乎不起作用。谢谢,
D
推荐答案
(^bus === 1'bX)
对总线进行逐位异或,然后检查结果是否为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
这篇关于在verilog中,判断一辆公交车是否包含单个x的最佳方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文