首页 > 解决方案 > 当 if(a) 将在 Verilog 中返回 true

问题描述

我是 Verilog 的新手,有人问我以下问题:

考虑一下a = reg[3:0],那么什么值可以a有所以if(a)会返回true?我不知道从哪里开始,试图编译一些例子但都失败了syntax problem

标签: verilog

解决方案


写作if (a)和写作一样if (a !=0)。由于a是一个 4 位变量,您可以将其扩展为if (a[0] != 0 | a[1] ! = 0 | a[2] != 0 | a[3] !=0). 因此,任何位位置的 1 都使表达式为真。请注意,未知值xz作为具有等式/不等式运算符的操作数会导致未知并被视为错误。但是一个未知的或与真实的是真实的。


推荐阅读