YOMEDIA
ADSENSE
Bài giảng Tìm hiểu VHDL
97
lượt xem 22
download
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.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tìm hiểu VHDL
- Bài 1 Vấn đề Mô hình hoá phần cứng (Hardware Modeling) Hardware Modeling - 1 - 1
- 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
- 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
- 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à VHDL93 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 (VHDL87) 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
- 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
- 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
- Sự chồng chéo trong VHDL Sum
- Trình tự thiết kế Top-Down • VHDL hỗ trợ hướng tiếp cận topdown trong thiết kế Hardware Modeling - 1 - 8
- 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 submodule Hardware Modeling - 1 - 9
- 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
- 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
- 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 preP&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
- 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
- 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 (backannotated timing data) Hardware Modeling - 1 - 14
- Bài 2 Ngôn ngữ VHDL Hardware Modeling - 1 - 15
- 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
- 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
- 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
- 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
- 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
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn