Bài giảng Vi xử lý nâng cao - Phần 2: Các hướng dẫn - Hướng dẫn 2: Ôn tập VHD

Phác thảo
Giới thiệu VHDL
Cú pháp cơ bản, kiểu dữ liệu và các
phát biểu.
Các thành phần có cấu trúc của VHD
pdf 25 trang thamphan 27/12/2022 2980
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Vi xử lý nâng cao - Phần 2: Các hướng dẫn - Hướng dẫn 2: Ôn tập VHD", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_vi_xu_ly_nang_cao_phan_2_cac_huong_dan_huong_dan_2.pdf
  • pptHuongdan_02.ppt

Nội dung text: Bài giảng Vi xử lý nâng cao - Phần 2: Các hướng dẫn - Hướng dẫn 2: Ôn tập VHD

  1. Bài giảng “Vi xử lý nâng cao” Phần 2: Các hướng dẫn Hướng dẫn 2: Ôn tập VHDL 1
  2. Giới thiệu VHDL . Ngôn ngữ mô tả phần cứng vi mạch tốc độ rất cao. . Mô hình các hệ thống số. – Trừu tượng. – Có thứ bậc. 3
  3. Kiểu dữ liệu package STANDARD is type BOOLEAN is (FALSE,TRUE); type BIT is (`0`,`1`); type CHARACTER is ( ascii set); type INTEGER is range implementation_defined type REAL is range implementation_defined end STANDARD; 5
  4. Dải (array) . Tập lựa chọn các tín architecture EXAMPLE of ARRAYS is hiệu có cùng kiểu. signal Z_BUS : bit_vector (3 downto 0); signal C_BUS : bit_vector (0 to 3); begin . Các kiểu của dải: Z_BUS <= C_BUS; – bit_vector (dải bit) end EXAMPLE; – string (dải ký tự) . Gán giá trị: – tương ứng với vị trí. – không tương ứng với chỉ số (index). 7
  5. Kết tập & Slice của dải architecture EXAMPLE of AGGREGATES is signal BYTE : bit_vector (7 downto 0); signal Z_BUS : bit_vector (3 downto 0); signal A_BIT, B_BIT, C_BIT, D_BIT : bit; begin Kết tập ( A_BIT, B_BIT, C_BIT, D_BIT ) `1`, 5 downto 1 => `1`, 6 => B_BIT, others => `0`) ; BYTE (5 downto 2) <= A_BUS; Slice Z_BUS <= BYTE (6 downto 3); end EXAMPLE; . Kết tập sẽ nhóm các tín hiệu với nhau. – Có thể sử dụng trên cả hai vế của phép gán. – Từ khóa 'other' chọn tất cả thành phần còn lại. . Slice chọn phần tử của dải. 9
  6. Bản ghi (record) • architecture EXAMPLE of AGGREGATE is type MONTH_NAME is (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC); type DATE is record DAY: integerrange1to31; MONTH: MONTH_NAME; YEAR: integer range 0 to 4000; end record; . Bao gồm các phần tử có kiểu khác type PERSON is nhau. record NAME: string (0 to 8); . Các phép gán được phép BIRTHDAY: DATE; – Record <= Aggregate end record; signal TODAY: DATE; signal STUDENT_1: PERSON; – Record <= Record signal STUDENT_2: PERSON; begin – Record.element <= Value TODAY <= (26, JUL, 1988); STUDENT_1 <= ("Franziska", TODAY); STUDENT_2 <= STUDENT_1; STUDENT_2.BIRTHDAY.YEAR <= 1974; end EXAMPLE; 11
  7. Phát biểu - If • if CONDITION then các phát biểu tuần tự. elsif CONDITION then các phát biểu tuần tự. · · · else các phát biểu tuần tự. end if; . Điều kiện (CONDITION) là một biểu thức logic. . Chuỗi elsif là tùy chọn. – các điều kiện có thể chồng lấp. – có ưu tiên. . Nhánh else là tùy chọn. – được thực thi, nếu mọi điều kiện đánh giá là sai. 13
  8. Phát biểu – vòng lặp for • for i in 0 to 3 loop if (A = i) then Z(i) <= `1`; end if; end loop; . Thông số của vòng lặp được khai báo hoàn toàn. – không thể được khai báo bên ngoài. – chỉ được đọc. . Thông số của vòng lặp chấp nhận mọi giá trị từ định nghĩa tầm (range). – các tầm số nguyên. – các kiểu liệt kê. 15
  9. Các thành phần có cấu trúc của VHDL . Thực thể (entity) – Giao diện. . Kiến trúc (architecture) – Thực hiện, hành vi, chức năng. . Thành phần (component) – Mức chi tiết hơn. . Quá trình (process) – Đồng thời, được điều khiển bởi sự kiện (event). . Thư viện (library) – Dịch, mã đối tượng. 17
  10. Kiến trúc (architecture) architecture RTL of HALFADDER is begin SUM <= A xor B; CARRY <= A and B; end RTL; Thực hiện của thiết kế. Luôn luôn kết nối với một thực thể cụ thể. một thực thể có thể có vài kiến trúc. các port của thực thể là sẵn có dưới dạng các tín hiệu bên trong kiến trúc. Chứa các phát biểu đồng thời. 19
  11. Thể hiện thành phần MODULE1: HALFADDER port map( A=>A, B=>B, SUM=>W_SUM, CARRY=>W_CARRY1 ); MODULE2: HALFADDER port map ( A=>W_SUM, B=>CARRY_IN, SUM=>SUM, CARRY=>W_CARRY2 ); MODULE3: ORGATE port map (A=> W_CARRY2, B=>W_CARRY1, RES=>CARRY ); 21
  12. Thư viện . Kho chứa các đơn vị thiết kế đã được dịch. – các thực thể (entity), kiến trúc (architecture), – các gói (package), thân (body) của gói, – các cấu hình (configuration). . Được ánh xạ đến một thư mục trong hệ thống tập tin. – độc lập với platform. – tập tin setup được cần đến. . Có thể có nhiều thư viện khác nhau trong một đề án thiết kế. 23
  13. Tham khảo • . Các sách: - Thiết kế mạch số với VHDL&Verilog. - Lập trình ASIC. 25