逻辑 &&vs. 按位 &in Verilog



考虑以下分配

A1=(b[3:0]==c[3:0]和d[3:0]===e[3:0](?1'b1:1'b0;

A2=(b[3:0]==c[3:0]&d[3:0]===e[3:0](?1'b1:1'b0;

这两项任务是等效的,还是根据工具的不同而有所不同?是否可能(b[3:0]==c[3:0](被评估为T/F取决于工具是否将T存储为"1"或"0"。

IEEE 1800-2017 LRM第11.4.4-7节中定义了等式、关系运算符和逻辑运算符的结果。执行上没有差异的余地Truth被定义为1'b1,而false则被定义为1'b0。

请注意,逻辑运算符和逐位运算符之间的优先级略有不同,当您开始处理多位结果时,很容易将它们混淆,因此,如果您的意图是处理多位结果,请仅使用逐位运算符

最新更新