我有一个监控总线的测试台。总线内的一些信号(位)可以是 1'bx。由于多种原因,我需要知道总线内是否有任何信号是 1'bx。如果总线包含任何 x,测试(不用于综合 - 仅用于模拟目的)的最佳方法是什么?我曾希望我可以使用减少或然后使用===
,但这似乎不起作用。
(^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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)