使用的应用! vs〜在循环条件下

问题描述 投票:0回答:2

[在Verilog中,我注意到,在if语句的条件下,各种资源(课程笔记与在线资源)倾向于使用逻辑运算符!或归约运算符〜。

例如,将其与低电平有效复位一起使用:

if(!reset)

//reset statements, etc.

if(~reset)

//reset statements, etc.

我相信,由于知道复位应该/应该是1或0的1位二进制输入,因此它们在本质上都给出了相同的仿真结果。我知道如果条件是多位值,这可能会改变。

选择一个而不是另一个会有任何应用程序好处吗?有人可以提供任何示例吗?综合方面会发生什么变化?模拟?

if-statement conditional-statements verilog logical-operators reduction
2个回答
1
投票

此问题的答案可能会有一些明显的偏见,但我希望您放入if(expression)中的表达式将被评估为1位正确或错误的结果。因此,!result更能代表您的意图。


0
投票

对于单个信号,例如您的复位,是的,它们在仿真和综合中应该给出相同的结果。任何不可能的工具都有一些错误。

我个人不相信一个比另一个更好。我已经看到FPGA和ASIC都在成功的设计中使用了多年。我通常使用〜,因为我更喜欢想到一个置为低电平的置位/复位,在置位/复位引脚上具有一个真反相器。

© www.soinside.com 2019 - 2024. All rights reserved.