预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十讲VHDL的运算符运算符注意操作符之间的优先级 通常在一个表达式中有两个以上的算符时,需要使用括号将这些运算分组,若其中的算符相同且为AND、OR、XOR中的一种则不需使用括号。1、逻辑运算符: 逻辑运算符共有7种,分别是: 操作符功能操作数类型 AND与bit、std_logic等及其一维向量 OR或同上 NOT取反同上 NAND与非同上 NOR或非同上 XOR异或同上 XNOR同或同上当一个语句种存在两个以上的逻辑表达式时,在C语言种运算有自左至右的优先级顺序规定,而在VHDL语言中,左右没有优先级差别。例子:a<=bANDc;--b、c相与后向a赋值,a、b、c的数据类型同属4位长的位矢量 d<=eORfORg;--两个操作符OR相同,不需括号 h<=(iNANDj)NANDk;--NAND不属and、or、xor三种算符,必须加括号 l<=(mXORn)AND(oXORp);--操作符不同,必须加括号 h<=iANDjANDk;--两个以操作符都是AND,不必加括号 h<=iANDjORk;--两个操作符不同,未加括号,表达错误 a<=bANDe;--操作数b与e的位矢长度不一致,表达错误 h<=iORl;--i的数据类型是位STD_LOGIC,而l的数据 --类型是布尔量BOOLEAN,因而不能相互作用,表达错误。2、算术运算符 VHDL的算术运算符共有十几种,其中常用的有如下几种: 操作符功能操作数类型 +加法整数 -减法整数 *乘法整数和实数 SLL等移位bit或布尔类型的一维数组 (SLLSLRSLASRAROLROR) 在运用算术运算符对如下的数据类型进行运算时,应注意: (1)unsigned,signed:需打开std_logic_arith程序包; (2)std_logic:需打开std_logic_unsigned或std_logic_signed程序包;1.求和操作符2.求积操作符5.移位操作符5.移位操作符