最近在学习过程中遇到if语句判断位宽不同的数相或的情况,就很迷惑,在询问同学后得到以下结论。

一、|和||的区别
|是按位或:将 a 的每个位与 b 相同的位进行相或

||是逻辑或:a 或上 b,如果a或者b有一个为1,a||b结果为1,表示真。

二、位宽为1的数和多位宽的数相或(||逻辑或)

1、输出为1位的话(out为1位),只要有一个数的一位为1,结果就是1

eg:【FPGA学习笔记】Verilog语言中的或(|和||)
result:
【FPGA学习笔记】Verilog语言中的或(|和||)
可以看到输出结果out为1。

1、输出为多位的话(out为,3位),只要有一个数的一位为1,结果还是1,显示为001
【FPGA学习笔记】Verilog语言中的或(|和||)【FPGA学习笔记】Verilog语言中的或(|和||)

相关文章: