VHDL cung cấp một số toán tử sau:
Toán tử gán.
Toán tử logic.
Toán tử toán học.
Toán tử so sánh.
Toán tử dịch.
Sau đây chúng ta sẽ xem xét cụ thể từng toán tử một.
4.1.1Toán tử gán.
VHDL định nghĩa ba loại toán tử gán sau: <=: Dùng gán giá trị cho SIGNAL.
:= : Dùng gán giá trị cho VARIABLE, CONSTANT,GENERIC. =>: Dùng gán giá trị cho thành phần các vector và các loại giá trị
khác. Ví dụ:
SIGNAL x : STD_LOGIC;
VARIABLE y : STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL w: STD_LOGIC_VECTOR(0 TO 7); x <= '1'; y := "0000 w <= "10000000"; w <= (0 =>'1', OTHERS =>'0'); 4.1.2Toán tử Logic.
VHDL định nghĩa các toán tử logic sau:
NOT, AND, OR, NAND, NOR, XOR, XNOR
Dữ liệu cho các toán tử này phải là kiểu: BIT, STD_LOGIC, STD_ULIGIC, BIT_VECTOR, STD_LOGIC_VECTOR, STD_ULOGIC_VECTOR. Ví dụ: y <= NOT a AND b; y <= NOT (a AND b); y <= a NAND b; 4.1.3 Toán tử toán học.
Các toán tử này dùng cho các kiểu dữ liệu số như là:INTEGER, SIGNED, UNSIGNED, REAL. Các toán tử bao gồm:
+ Toán tử cộng. - Toán tử trừ. * Toán tử nhân. / Toán tử chia. ** Toán tử lấy mũ.
MOD Phép chia lấy phần nguyên. REM Phép chia lấy phần dư.
ABS Phép lấy giá trị tuyệt đối.
4.1.4 Toán tử so sánh. Có các toán tử so sánh sau: = So sánh bằng /= So sánh không bằng. < So sánh nhỏ hơn. > So sánh lớn hơn. <= So sánh nhỏ hơn hoặc bằng. >= So sánh lớn hơn hoặc bằng. 4.1.5 Toán tử dịch. Cú pháp sử dụng toán tử dịch là:
<left operand> <shift operation> <right operand>
Trong đó <left operand> có kiểu là BIT_VECTOR, còn <right operand> có kiểu là INTEGER. Có hai toán tử dịch:
Sll Toán tử dịch trái. Điền 0 vào phía phải. Rll Toán tử dịch phải. Điền 0 vào phía trái.