Đoạn mã VHDL mô tả cổng NAND2 ngõ vào:

Một phần của tài liệu Bài giảng VHDL (Trang 35 - 36)

Dưới đây là đoạn mã VHDL viết cho cổng NAND 2 ngõ vào. Đây cũng là một đoạn mã mẫu minh họa cho cách viết ngôn ngữ VHDL. Dòng đầu tiên trong đoạn mã VHDL bắt đầu bằng hai dấu „- -„ là dòng chú thích cho đoạn mã. Hai dòng lệnh LIBRARY và USE được dùng để chỉ rõ thư viện IEEE được sử dụng trong đoạn mã. Thư viện này chứa tất cả các phần tử logic cần thiết cho đoạn mã phía dưới. Hai dòng lệnh này tương đương với dòng lệnh „#include‟ trong lập trình C++.

Mỗi một thành phần trong ngôn ngữ VHDL từ phần tử cổng NAND đơn giản cho đến bộ vi xử lý phức tạp thì đều bao gồm hai bộ phân: phần thực thể và phần thân cấu trúc. Phần thực thể tương tự như khai báo hàm trong C++. Nó khai báo tất cả các tín hiệu ngõ vào và ngõ ra trong mạch. Mỗi một thực thể phải được đặt tên, ví dụ trong đoạn mã bên dưới là NAND2gate. Thực thể chứa một danh sách PORT, nó sẽ quy định số lượng ngõ vào và ra của cổng NAND. Ví dụ trong đọan mã x, y là những tín hiệu ngõ vào ở dạng STD_LOGIC và f là tín hiệu ngõ ra cũng ở dạng STD_LOGIC. Dạng STD_LOGIC cũng giống như dạng loại BIT, ngoại trừ nó chứa thêm những giá trị khác ngoài hai giá trị 0 và 1.

Phần thân cấu trúc nó chứa đọan mã mô tả hoạt động của NAND 2 ngõ vào. Mỗi một thân cấu trúc cũng cần phải được đặt tên. Ví dụ trong đọan mã phần thân cấu trúc có tên là Dataflow. Trong phần thân cấu trúc có thể có một hay nhiều câu lệnh đồng thời. Không giống như trong C++ nơi mà các dòng lệnh được thực thi một cách tuần tự, những dòng lệnh trong thân cấu trúc được thực thi một cách song song. Dấu „<=‟ được dùng để gán cho một tín hiệu. Vế phải của dấu „<=‟ là biểu diễn phép toán logic giữa các biến số ngõ vào x và y, kết quả sẽ được gán cho ngõ ra f nằm ở bên trái của dấu „<=‟. Đoạn mã mô tả cổng NAND bằng ngôn ngữ VHDL được viết như sau.

Chương 2 : Dùng ngôn ngữ VHDL mô tả các mạch số cơ bản

Hình 2. 1 : Đoạn mã VHDL cho cổng NAND 2 ngõ vào.

Một phần của tài liệu Bài giảng VHDL (Trang 35 - 36)