概述
注:学习、交流就在博主的个人weixin公众号 “FPGA动力联盟” 留言或直接+博主weixin “fpga_start” 私信~
对于标量的逻辑运算有以下几种:
1,逻辑取反(!)
对一个操作数进行逻辑取反,如果这个操作数是0,则结果为1。如果这个操作数为1,则结果为0;
2,逻辑与(&&)
对两个操作数进行逻辑与,如果两者都不为0,则结果为1。否则结果为0;
3,逻辑非(||)
对两个操作数进行逻辑或,如果两者其中至少有一个不为0,则结果为1,否则为0;
对于向量,存在两组信号按照比特操作(或称为“按位操作”)和单组信号各个比特一起操作(或称为“缩减操作”)两个类型。
按位操作包含如下几种:
1,按位取反(~):
1个多位操作数按位取反。例如,a=4’b1011,则~a的结果为4’b0100。
2,按位与(&):
2个多位操作数按位进行与运算,各位的结果按顺序组成一个新的多位数。例如,a=2’b10,b=2’b11,则a&b的结果为2’b10;
3,按位或(|):
2个多位操作数按位进行或运算,各位的结果按顺序组成一个新的多位数。例如,a=2’b10,b=2’b11,则a|b的结果为2’b11;
4,按位异或(^):
2个多位操作数按位进行异或运算,各位的结果按顺序组成一个新的多位数。例如,a=2’b10,b=2’b11,则a|b的结果为2’b01;(相同为0,不同为1);
5,按位同或(~^或^~):
2个多位操作数按位进行同或运算,各位的结果按顺序组成一个新的多位数。例如,a=2’b10,b=2’b11,则a|b的结果为2’b10;(相同为1,不同为0)
缩减操作都是对于一个向量,或者说一个多比特信号进行操作的,包括以下几种:
1,缩减与(&):
对一个多位操作数进行缩减与操作,先将它的最高位与次高位进行与操作,其结果再与第二次高位进行与操作,直到最低位。例如,&(4’b1011)的结果为0;
2,缩减与非(~&):
对一个多位操作数进行缩减与非操作,先将它的最高位与次高位进行与非操作,其结果再与第二次高位进行与非操作,直到最低位。例如,~&(4’b1011)的结果为1;
3,缩减或(|):
对一个多位操作数进行缩减或操作,先将它的最高位与次高位进行或操作,其结果再与第二次高位进行或操作,直到最低位。例如,|(4’b1011)的结果为1;
4,缩减或非(~|):
对一个多位操作数进行缩减或非操作,先将它的最高位与次高位进行或非操作,其结果再与第二次高位进行或非操作,直到最低位。例如,~|(4’b1011)的结果为0;
5,缩减异或(^):
对一个多位操作数进行缩减异或操作,先将它的最高位与次高位进行异或操作,其结果再与第二次高位进行异或操作,直到最低位。例如,^(4’b1011)的结果为1;
6,缩减同或(~^或^~):
对一个多位操作数进行缩减同或操作,先将它的最高位与次高位进行同或操作,其结果再与第二次高位进行同或操作,直到最低位。例如,~^|(4’b1011)的结果为0;
参考文献:
1,verilog传奇——从电路出发的HDL代码设计
2,verilog编程艺术
最后
以上就是发嗲魔镜为你收集整理的8,verilog基本逻辑运算的全部内容,希望文章能够帮你解决8,verilog基本逻辑运算所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复