X nan dY nand Z sẽ phát sinh lỗi và phải viết như sau ( nand Y) nand Z 2.CÁC TOÁN TỬ QUAN HỆ:
5. CÁC TOÁN TỬ NHÂN CHIA:
Toán tử nhân được dùng để thực hiện các hàm toán học trên các kiểu dữ liệu số nguyên hoặc kiểu dấu chấm động.
Tác tố
Mô tả Kiểu dữ liệu tt trái Kiểu dữ liệu tt phải Kiểu KQ
kiểu integer và DCĐ Cùng kiểu Cùng kiểu kiểu vật lý Kiểu số nguyên hoặc thực Cùng kiểu tt trái
* Nhân
kiểu số nguyên hoặc thực Kiểu vật lý Cùng kiểu tt phải
Số nguyên hoặc dấu chấm
động Số nguyên hoặc dấu chấm động Cùng kiểu Kiểu vật lý Số nguyên hoặc số thực Cùng kiểu tt trái / Chia
Kiểu vật lý Cùng kiểu Số nguyên
mod Chia
nguyên Kiểu số nguyên Cùng kiểu
rem Remainder Kiểu số nguyên Cùng kiểu
Bảng 2-8. Các toán tử nhân chia.
Ví dụ 2-56: cho các tín hiệu 11 rem 4 kết quả bằng 3 (-11) rem 4 kết quả bằng -3 9 mod 4 kết quả bằng 1 7 mod (-4) kết quả bằng –1 (7 – 4*2 = -1). 6. CÁC TOÁN TỬ DỊCH:
Toán tử thực hiện dịch chuyển từng bit hoặc xoay từng bit trên dữ liệu mảng 1 chiều của các phần tử kiểu dữ liệu bit hoặc std_logic hoặc Boolean.
Toán tử Mô tả Kiểu dữ liệu tác tố
sll Dịch sang trái – lắp đầy bằng các bit 0. (Shift left logical)
Mảng 1 chiều với các phần tử mảng kiểu bit hoặc Boolean; Right: integer
srl Dịch sang phải – lắp đầy bằng các bit 0.
(Shift right logical) Giống như trên
sla Dịch sang trái lắp đầy bằng bit tận cùng bên phải. (Shift left arithmetic)
Giống như trên
sra Dịch sang phải lắp đầy bằng bit tận cùng bên trái. (Shift right arithmetic)
Giống như trên
rol Xoay vòng tròn sang trái (Rotate left
circular) Giống như trên
ror Xoay vòng tròn sang phải (Rotate right Giống như trên
Toán tử nằm bên trái toán tử và số lần dịch nằm bên phải toán tử – xem ví dụ 2-57:
Ví dụ 2-57: Cho variable NUM1 :bit_vector := “10010110”; Thực hiện NUM1 srl 2;
Kết quả NUM1 = “00100101”.
Khi số lần dịch là số âm thì hoạt động dịch xảy ra theo chiều ngược lại, dịch trái sẽ trở thành dịch phải.
Ví dụ 2-58: Cho variable NUM1 :bit_vector := “10010110”;
NUM1 srl –2 sẽ tương đương với NUM1 sll 2 và cho kết quả là “01011000”.
Ví dụ 2-59: Cho variable A: bit_vector := “101001”; A sll 2 results in “100100” A srl 2 results in “001010” A sla 2 results in “100111” A sra 2 results in “111010” A rol 2 results in “100110” A ror 2 results in “011010” 7. CÁC TOÁN HỖN HỢP:
Toán tử hỗn hợp gồm toán tử trị tuyệt đối và toán tử số mũ có thể áp dụng cho các kiểu dữ liệu số. Toán tử not sẽ cho cùng giá trị nhưng ngược dấu.
Toán tử Mô tả Dữ liệu bên trái Dữ liệu bên phải Dữ liệu kết quả
Số nguyên Số nguyên Giống dữ liệu bên trái ** Hàm mũ
Dấu chấm Số nguyên Giống dữ liệu bên trái
abs Hàm trị tuyệt đối Kiểu số Cùng kiểu
not Hàm phủ định Kiểu bit hoặc Boolean Cùng kiểu
Bảng 2-10. Các toán tử hỗn hợp. IX. CHƯƠNG TRÌNH CON VAØ GÓI