在verilog中,判断一辆公交车是否包含单个x的最佳方法是什么? [英] What's the best way to tell if a bus contains a single x in verilog?

查看:11
本文介绍了在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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆