如何测试 3 位总线的第一位是不是设置为 1 - verilog

Posted

技术标签:

【中文标题】如何测试 3 位总线的第一位是不是设置为 1 - verilog【英文标题】:How to test if a 3-bit bus has the first bit set on 1 - verilog如何测试 3 位总线的第一位是否设置为 1 - verilog 【发布时间】:2021-01-04 07:48:23 【问题描述】:

我正在尝试找出如何检查 3 位总线的 msb 是否设置为 1,即 1xx。 当我检查 bus==3'b1xx 时,似乎什么也没发生。

【问题讨论】:

检查if(bus[2]) 【参考方案1】:

您编写的表达式的结果只能是 (1'b0) 或 (1'bx),对于 if 语句分支,它们都被认为是错误的。

假设您将总线声明为wire [2:0] bus;,您可以使用bus[2] == 1'b1 进行检查

现在在 SystemVerilog 中,您可以使用 bus ==? 3'b1xx 进行通配符匹配,它将 RHS X 视为不关心。 LHS 上的 X 被视为与 == 相同。

【讨论】:

以上是关于如何测试 3 位总线的第一位是不是设置为 1 - verilog的主要内容,如果未能解决你的问题,请参考以下文章

如何验证输入文本是不是允许第一位和第二位数字仅为字母

计算a除b的第一位小数 in C++.

以x86汇编语言获取EAX寄存器的第一位

微信小程序--更改启动页面

ip地址分类

java如何判断手机号码是11为且第一位不是0且不是+86的形式