Bài giảng Thiết kế logic số - Chương 2, Phần 3 - Hoàng Văn Phúc
oá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
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
Bạn đang xem tài liệu "Bài giảng Thiết kế logic số - Chương 2, 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, 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:
- bai_giang_thiet_ke_logic_so_chuong_2_phan_3_hoang_van_phuc.pdf