FPGA从入门到精通(实战篇)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 缩减运算符实战演练

缩减运算符是单目运算符,可进行 “与” 或 “非” 运算。利用缩减运算符进行 “与” 或“非” 运算的规则类似于位运算符的 “与” 或 “非” 运算的规则,但两者的运算过程不同。

● 位运算符是对操作数的相应位进行 “与” 或 “非” 运算,操作数是几位数,运算结果也是几位数。

● 缩减运算符是对单个操作数进行 “与” 或 “非” 的递推运算,最后的运算结果是一个二进制数。

缩减运算符的具体应用过程如下:

img将操作数的第一位与第二位进行 “与” 或 “非” 运算。

img将上一步的运算结果与第三位进行 “与” 或 “非” 运算,依次类推,直到最后一位。

应用缩减运算符的示意代码如下:

img

以上代码相当于如下语句:

img

下面小芯将编写一个实例,通过仿真波形来验证运算结果。缩减运算符的应用代码如下。

img
img

编写缩减运算符的测试代码,如下所示。

img

得到的仿真波形如图2.7 所示。

img

图2.7

通过该波形可以看出,当变量B 的4 位全为1(高电平)时,通过执行 “与” 运算,最终输出的变量C 为高电平。如果在变量B 中加入0,其执行结果如何呢?在这种情况下,得到的仿真波形如图2.8 所示。

img

图2.8

从图2.8 可以看到,如果变量B 中存在0,那么输出的变量C 因执行 “与” 运算,最终会得到低电平。