在VHDL中,表达式是通过不同的操作符连接多个操作完成的。
VHDL语言的操作符由:逻辑运算符、关系运算符、算术运算符。针对不同的数据对象,操作符的使用也不尽相同。
逻辑运算符
在VHDL中,逻辑运算符共6种:
NOT--取反; AND--与; OR--或;
NAND--与非; NOR--或非; XOR--异或;
适合逻辑运算符的变量有:std-logic、bit、std-logic-vector
对bit进行操作时,是按位操作的
算数运算符
+、-、*、/;
MOD--求模运算; REM--取余运算; +--正; - --负; **--指数运算; ABS--取绝对值;
关系运算符
=等于;/=不等于;<小于;<=小于等于;>大于;=>大于等于
并置运算符
并置运算符号“&”用于位连接。
使用规则:
1、并置运算符可用于位的连接,形成位矢量
2、并置运算符可用于两个位矢量的连接,以构成更大的位矢量
eg:
signal a,b,c:bit;
signal x,y:bit_vector(2 downto 0);
z<=a%b&c --z是3位的位矢量
w<=x&y --w是6位的位矢量
操作符的优先级
运算操作符类型 |
操作符 |
含义 |
乘除运算 |
NOT |
取反 |
ABS |
取绝对值 |
** |
取幂 |
* |
乘 |
/ |
除 |
MOD |
取模 |
REM |
取余 |
一元正负运算 |
+ |
正 |
- |
负 |
加、减、合并运算 |
+ |
加 |
- |
减 |
& |
合并 |
关系运算 |
= |
相等 |
/= |
不相等 |
< |
小于 |
<= |
小于等于 |
> |
大于 |
=> |
大于等于 |
逻辑运算 |
AND |
逻辑与 |
OR |
逻辑或 |
NAND |
逻辑与非 |
NOR |
逻辑或非 |
XOR |
逻辑异或 |