intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Tìm hiểu VHDL

Chia sẻ: Đàm Thắng | Ngày: | Loại File: PPT | Số trang:120

97
lượt xem
22
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Với kết cấu nội dung gồm 6 bài, bài giảng "Tìm hiểu VHDL" giới thiệu đến các bạn những nội dung về vấn đề mô hình hoá phần cứng, ngôn ngữ VHDL, Operators và Expressions, các lệnh điều khiển chương trình trong VHDL,... Hy vọng đây là tài liệu tham khảo hữu ích cho các bạn.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tìm hiểu VHDL

  1. Bài 1 Vấn đề Mô hình hoá phần  cứng  (Hardware Modeling) Hardware Modeling - 1 - 1
  2. VHDL là gì? • Một từ viết tắt cho một từ viết tắt khác, VHDL là từ viết tắt  của  VHSIC Hardware Description Language – Còn VHSIC là từ viết tắt của Very High Speed Integrated  Circuit   • Tiếp theo, chúng ta bắt đầu tìm hiểu về xuất xứ và mục  đích của ngôn ngữ này Hardware Modeling - 1 - 2
  3. VHDL ­ Mục đích và sự hình  thành • VHDL, trước hết và chủ yếu là một công cụ để mô hình  hoá phần cứng (hardware modeling) – Để mô phỏng (simulation) và tổng hợp (synthesis) mạch     • Chuẩn IEEE 1076 rất hoàn chỉnh cho việc mô hình hoá  thiết bị, nhưng nó mới chỉ định nghĩa các tham số khái  quát cho việc tổng hợp thiết bị • Kết quả: một mô hình phần cứng đã cho không hẳn đã phù  hợp với một thiết kế ở mức cổng logic đã có thông qua các  công cụ và các công nghệ đích (target) khác nhau Hardware Modeling - 1 - 3
  4. Chuẩn hoá VHDL • Tổ chức IEEE chính thức phê chuẩn chấp nhận ngôn ngữ VHDL  như là một chuẩn của họ vào năm 1987, chuẩn IEEE 1076 – Giống như các chuẩn kác của IEEE, chuẩn IEEE 1076 được sửa đổi  theo chu kỳ tối thiểu là 5 năm • Sửa đổi đầu tiên được thực hiện năm 1993, và VHDL­93 hiện  nay được coi là phiên bản chính thức của ngôn ngữ này, hiện  nay bắt đầu xuất hiện VHDL 200X   – Tuy nhiên, hầu hết các công cụ (tool) đều hỗ trợ phiên bản đầu tiên (VHDL­87) VHDL-2X – Các bộ phận của VHDL 200X  VHDL-93 được hỗ trợ bởi một số tool VHDL-87 Hardware Modeling - 1 - 4
  5. Language Subsets IEEE 1076 IEEE 1076 (modeling) (synthesis) • Không phải tất cả các cấu trúc VHDL đều có thể tổng hợp  được. Ví dụ, wait for 10 ns là một cấu trúc mô hình hoá thông  dụng, nhưng nó không tương ứng với và cũng không thể tạo ra  một phần tử ở mức cổng logic Hardware Modeling - 1 - 5
  6. Các mức trừu tượng trong mô tả phần cứng Ít chi tiết hơn, F thiết kế và mô Behavioral phỏng nhanh hơn RTL AND_OR2 DFF Chi tiết hơn, phụ Logic thuộc công nghệ, thiết kế và mô phỏng chậm hơn Layout CLB_ R5C5 CLB_ R5C6 Hardware Modeling - 1 - 6
  7. Sự chồng chéo trong  VHDL Sum
  8. Trình tự thiết kế Top-Down • VHDL hỗ trợ hướng tiếp cận top­down trong thiết kế Hardware Modeling - 1 - 8
  9. Nguyên tắc phân đoạn  • Khi tiến hành phân đoạn một thiết kế trong VHDL, cần lưu  tâm cân nhắc một số các điểm chính sau  – Tín hiệu ra có chốt (Register) tại biên giới các module  • Phù hợp với cấu trúc mã nguồn dạng RTL  – Giảm đến tối thiểu số clock trên mỗi block • Quan trọng đối với các ràng buộc về thời gian, Important for  timing constraints, tối ưu hoá cấu trúc mạch – Duy trì các tín hiệu then chốt trong phạm vi mỗi block • Hầu hết các công cụ đều không tối ưu thông qua biên giới  hierarchy – Kích thước của từng block đủ nhỏ để có thể kiểm tra nhanh  chóng • Mẫu thử nhanh, đơn giản cho mỗi sub­module  Hardware Modeling - 1 - 9
  10. Cấu trúc Top - Down entity A[3:0] Add_4 SUM [3:0] B[3:0] C_out C_in A entity Full_Add Sum B C_in C_out Macro A entity B Half_Add Sum Carry Leaf Cell Hardware Modeling - 1 - 10
  11. Kiểm tra thiết kế • Khi sử dụng VHDL, có thể thực hiện các bước kiểm tra thiết  kế, bắt đầu từ Behavioral Simulation VHDL Behavioral Simulation (Testbench driven) modules VITAL Gate-Level Functional Synthesis (Netlist-driven ) VHDL Initiative Toward Gate-Level Timing Place & Route ASIC Libraries (Back-annotated netlist ) SDF (Standard Delay Format) & Structural VHDL File Hardware Modeling - 1 - 11
  12. Các bước kiểm tra thiết kế   (1) Mô phỏng Behavioral  • Thực hiện mã nguồn mô tả hành vi, dùng testbench  (2) Mô phỏng RTL  • Thực hiện file mã nguồn RTL,  VHDL dùng testbench   modules (3) Mô phỏng chức năng trong VHDL  • Thực hiện file .vhd mô tả cấu trúc,  dùng testbench    Synthesis (4) Mô phỏng chức năng thiết bị ở mức cổng • Mô phỏng netlist pre­P&R EDN  dùng công cụ mức cổng (5) Mô phỏng theo quan hệ thời gian trong VHDL Place & Route • Thực hiện file cấu trúc .vhd và file SDF;  dùng testbench (6) Mô phỏng quan hệ thời gian ở mức cổng • Mô phỏng netlist post P&R EDN netlist, sử dụng các delays Hardware Modeling - 1 - 12
  13. Kiểm tra thiết kế? Test-Bench • Chip level Behavioral Module • Board level • Std parts model • Model bus operation • Discrete event-driven • Flexibility over strictly netlist-driven FPGA MCU Memory PLD Hardware Modeling - 1 - 13
  14. Kết luận • VHDL là một ngôn ngữ dùng để mô hình hoá phần cứng  của thiết bị • Tổng hợp logic là một tập con của toàn bộ ngôn ngữ • Các vấn đề về công cụ và công nghệ có ảnh hưởng đến  việc tổng hợp logic của một thiết kế • Các mô phỏng HDL có thể bao gồm các dữ liệu định thời  (back­annotated timing data) Hardware Modeling - 1 - 14
  15. Bài 2 Ngôn ngữ VHDL  Hardware Modeling - 1 - 15
  16. Design Units trong VHDL • Entity • Architecture Chương trình VHDL bao gồm  • Configuration các design units.  • Package • Package Body Một số design units độc lập  • Library với các design unit khác. Hardware Modeling - 1 - 16
  17. Các loại Design Unit  • Trong VHDL có hai loại design unit, đó là: – Primary • Không phụ thuộc vào các design unit khác – Secondary • Phụ thuộc vào primary design unit  • Mỗi khi có thay đổi trong primary design unit, cần phải  kiểm tra lại secondary design unit.  Nếu không, chương  trình sẽ có lỗi. • Các secondary unit không thể tồn tại độc lập  ­­ tức là, phải phụ thuộc primary unit  Hardware Modeling - 1 - 17
  18. Entity • Entity mô tả external interface của thực thể được  thiết kế, cùng các thuộc tính liên quan với interface  đó entity Half_Add is A Sum port (A, B : in std_logic ; Carry, Sum : out std_logic) ; B Carry end Half_Add ; Chú thích: VHDL’93 cho phép dùng optional reserved word entity ngay sau reserved word end, ví dụ, ‘end entity Half_Add ; ’ Hardware Modeling - 1 - 18
  19. Architecture • Architecture mô tả hoạt động bên trong của thực thể  (entity) gắn với nó (primary unit) – Một architecture thể hiện một chức năng của thực thể gắn  với nó, có thể có nhiều architecture cho một thực thể architecture My_Arch of Half_Add is begin Sum
  20. Multiple Architecture • Có thể có nhiều architecture cùng tồn tại để mô tả hoạt động  của một thực thể – Chúng có thể biểu diễn các giai đoạn khác nhau của quá trình thiết  kế hoặc các cách tiếp cận khác nhau cho cùng một chức năng  (optimization for speed verus area, etc.)  entity Half_Add is entity Cnt64 is ... ... end Half_Add ; end Cnt64 ; architecture BEH of Half_Add is architecture BEH of Cnt64 is ... ... end BEH ; end BEH ; architecture RTL of Half_Add is architecture RTL of Cnt64 is ... ... end RTL ; end RTL ; architecture XLX of Half_Add is architecture XLX of Cnt64 is ... ... end XLX ; end XLX ; Hardware Modeling - 1 - 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2