Bài giảng Thiết kế logic số - Chương 2: Ngôn ngữ VHDL (Phần 3) - Hoàng Văn Phúc

Toán tử

Toán tử logic not, and, or, nand, nor, xor

Các phép toán quan hệ =, /=, <,><=,>, >=

Các phép toán dịch sll, srl, sla, sra, rol, ror

Các phép toán cộng, hợp +, -, &

Toán tử dấu +, -

Các phép toán nhân *, /, mod, rem

Các phép toán khác **, ab

pdf 14 trang yennguyen 8900
Bạn đang xem tài liệu "Bài giảng Thiết kế logic số - Chương 2: Ngôn ngữ VHDL (Phần 3) - Hoàng Văn Phúc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Thiết kế logic số - Chương 2: Ngôn ngữ VHDL (Phần 3) - Hoàng Văn Phúc

Bài giảng Thiết kế logic số - Chương 2: Ngôn ngữ VHDL (Phần 3) - Hoàng Văn Phúc
TS. Hoàng Văn Phúc 
Bộ môn KT Xung, số, Vi xử lý 
02/2017 
Thiết kế logic số 
(VLSI design) 
https://sites.google.com/site/phucvlsi/teaching 
2 
 Nội dung: Toán tử và biểu thức, phép dịch và khối 
dịch không sử dụng toán tử 
 Thời lượng: 3 tiết bài giảng 
Nội dung 
Toán tử 
Toán tử logic not, and, or, nand, nor, xor 
Các phép toán quan hệ =, /=, , >= 
Các phép toán dịch sll, srl, sla, sra, rol, ror 
Các phép toán cộng, hợp +, -, & 
Toán tử dấu +, - 
Các phép toán nhân *, /, mod, rem 
Các phép toán khác **, abs 
3 
Toán tử dịch 
Syntax: 
Horizontal 
Cyclic 
Right 
Left 
Arithmetic 
Logical 
library ieee; 
USE ieee.Numeric_STD.all; 
USE ieee.Numeric_BIT.all; 
4 
sho = "11000110"; 
# sho sll 2 = 00011000 
# sho srl 2 = 00110001 
# sho sla 2 = 00011000 
# sho sra 2 = 11110001 
# sho rol 2 = 00011011 
# sho ror 2 = 10110001 
Ví dụ Toán tử dịch 
Sự khác biệt giữa dịch logic và dịch số học? 
5 
Khối dịch không sử dụng toán tử 
? 
SHIFTER
Shift_in
Shift_value
Shift_out
6 
Khối dịch không sử dụng toán tử: VHDL statement 
Q(31:0) = Q31 .2
31 ++ Q5 .2
5 + Q4 .2
4 + Q3 .2
3 + Q2 .2
2 + Q1 .2
1 + Q0 .2
0 
Q (31:0) <= Q(26:0) & “00000”; 
Q SLL 5 
7 
Cấu trúc khối dịch không sử dụng toán tử 
SH16
Shift_value(4)
Shift_in
Shift16
Shift_in4
SH8
Shift_value(3)
Shift8
Shift_in3
Shift_in1
SH1
Shift_value(0)
Shift1
Shift_out
.
.
.
8 
Thứ tự ưu tiên các toán tử trong VHDL 
9 
Tuy nhiên, để chắc chắn thì ta nên dùng các dấu 
ngoặc để thể hiện thứ tự thực hiện các toán tử. 
Mức độ 
ưu tiên 
Trắc nghiệm 
Câu 1: Toán tử logic trả về giá trị dạng gì? 
A. Dạng Logic 
B. Dạng Numeric 
C. Các cổng logic tương ứng 
D. Dạng logic tương ứng hoặc dạng Boolean 
10 
Trắc nghiệm 
Câu 2: Dịch logic một chuỗi bit sang phải 2 bit tương 
ứng là: 
A. Chia giá trị biểu diễn bởi chuỗi bit với 2^2 
B. Chia giá trị biểu diễn không dấu bởi chuỗi bit với 2^2 
C. Nhân giá trị biểu diễn bởi chuỗi bit với 2^2 
D. Chia giá trị biểu diễn logic bởi chuỗi bit với 2^2 
11 
Trắc nghiệm 
Câu 3: Khác nhau giữa kết quả dịch logic và dịch số học 
A. Dịch logic chỉ áp dụng cho số có dấu còn dịch số học áp 
dụng cho số có dấu 
B. Tính chất số học của phép dịch logic đúng cho biểu diễn 
số nguyên không dấu, phép dịch số học đúng cho số 
nguyên có dấu. 
C. Khác nhau căn bản ở giá trị bit được điền vào vị trí trống 
 khi dịch 
D. Giá trị thu được tương ứng là số không dấu và số có 
dấu. 
12 
Trắc nghiệm 
Câu 4: Khối dịch không sử dụng toán tử được xây dựng 
trên nguyên lý nào 
A. Sử dụng toán tử hợp (&) có thể thực thi được mọi thao 
tác dịch với số bit dịch là một hằng số 
B. Khối dịch đi một đại lượng 2i và khối chọn kênh 
C. Công thức tính giá trị số nguyên không dấu của một 
chuỗi bit nhị phân. 
D. Chia thao tác dịch thành nhiều bước với mỗi bước dịch 
đi một hằng số cố định. 
13 
Câu hỏi 
begin 
waiting: process 
 begin 
 A <= ‘0'; B <= ‘0'; 
 wait for 100 ns; 
 A <= '1'; B <= ‘1'; 
 wait for 200 ns; 
 A <= '0'; B <= '1'; 
 wait for 300 ns; 
 A <= '1'; B <= '0'; 
 wait; 
 end process waiting; 
end behavioral; 
Vẽ giản đồ sóng thu được bởi khối các lệnh sau: 
14 

File đính kèm:

  • pdfbai_giang_thiet_ke_logic_so_chuong_2_ngon_ngu_vhdl_phan_3_ho.pdf