verilog - 当 if(a) 将在 Verilog 中返回 true
问题描述
我是 Verilog 的新手,有人问我以下问题:
考虑一下a = reg[3:0]
,那么什么值可以a
有所以if(a)
会返回true
?我不知道从哪里开始,试图编译一些例子但都失败了syntax problem
。
解决方案
写作if (a)
和写作一样if (a !=0)
。由于a
是一个 4 位变量,您可以将其扩展为if (a[0] != 0 | a[1] ! = 0 | a[2] != 0 | a[3] !=0)
. 因此,任何位位置的 1 都使表达式为真。请注意,未知值x
或z
作为具有等式/不等式运算符的操作数会导致未知并被视为错误。但是一个未知的或与真实的是真实的。
推荐阅读
- azure-cognitive-search - QnA 制造商 - 不同天蓝色搜索定价层之间的不同结果
- java - 如何在 opentracing 中更改 trace-id 标头?
- authentication - 这是一个针对单个用户的自定义领域身份验证程序,帮助我解决多个用户问题
- javascript - Javascript 和 PHP 文件上传应用程序重定向并导致下载提示
- c# - 如何从存储过程返回表多行并使用 ADO.NET 在 C# 中访问这些值?
- java - 从数组中选择一个随机字符串
- mongodb - MongoDB为什么多重条件比mysql慢
- slack - 在松弛中设置提醒
- angularjs - 如何在 Typescript 中扩展 ng 的 IModule 接口?
- ios - 如何将 tableview 数据获取到 detailsViewController