Thiết kế logic số (VLSI design)
Bộ môn KT Xung, số, VXL quangkien82@gmail.com https://sites.google.com/site/bmvixuly/thiet-ke- logic-so 08/2012
11:38:07 PM 1
Chương II: Ngôn ngữ VHDL
quangkien82@gmail.com
11:38:07 PM
Mục đích nội dung
• 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
2/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
11:38:07 PM
Toán tử
Toán tử logic
not, and, or, nand, nor, xor
=, /=, <, <=, >, >=
Tập hợp toán tử nào đủ để thiết kế mọi khối số (về Các phép toán quan hệ lý thuyết)? Các phép toán dịch
sll, srl, sla, sra, rol, ror
Các phép toán cộng, hợp
+, -, &
+, -
*, /, mod, rem
Toán tử dấu Tập hợp toán tử nào thường sử dụng để thiết kế Các phép toán nhân các khối số?
Các phép toán khác
**, abs
3/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
11:38:07 PM
Toán tử dịch
Arithmetic
+
Horizotal
Right
A L
Logical
=
+
Left
Cyclic
R L
S Ro
SRA SRL SLA SLL
Syntax
Shift_out <= Shift_in SLL shift_value
Shift_out, Shift_in : BIT_VECTOR SHIFT_VALUE : Integer
RoL RoR
library ieee; USE ieee.Numeric_STD.all; USE ieee.Numeric_BIT.all;
4/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
11:38:07 PM
Toán tử dịch
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
Sự khác biệt giữa dịch logic và dịch số học?
5/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
11:38:07 PM
Khối dịch không sử dụng toán tử
Shift_in
?
Shift_value
SHIFTER
Shift_out
Điểm phức tạp?
Giá trị dịch không xác định.
6/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
11:38:07 PM
Khối dịch không sử dụng toán tử
A(4:0) = A4 .24 + A3 .23 + A2 .22 + A1 .21 + A0 .20
Q SLL 5
Q (31:0) <= Q(27:0) & “00000”;
7/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
11:38:07 PM
Khối dịch không sử dụng toán tử
Shift_in
SH16
Shift16
Shift_value(4)
Shift_in4
SH8
Shift8
Shift_value(3)
Shift_in3
….
…. ….
Shift_in1
SH1
Shift1
Shift_value(0)
Shift_out
8/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
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
11:38:08 PM 9/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
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:38:08 PM 10/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
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.
11:38:08 PM 11/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
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.
11:38:08 PM 12/13
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Trắc nghiệm
Vẽ giản đồ sóng thu được bởi khối lệnh sau:
begin waiting: process begin A <= 'Z'; B <= 'X'; wait for 100 ns; A <= '1'; B <= 'Z'; wait for 200 ns; A <= '0'; B <= '1'; wait for 300 ns; A <= '1'; B <= '0'; wait; end process waiting; end behavioral;
11:38:08 PM 13/13