Giới thiệu ngôn ngữ mô phỏng phần cứng VHDL- phần 2


II.Ngôn ngữ mô phỏng phần cứng VHDL.

1. Giới thiệu.

VHDL là viết tắt của cụm từ Very High Speed Intergrated Circuit Hardware Description Language-ngôn ngữ mô phỏng phần cứng cho các mạch tích hợp tốc độ rất cao. VHDL là ngôn ngữ mô phỏng phần cứng được phát triển dùng cho chương trình VHSIC (Very High Speed Intergrated Circuit) của bộ quốc phòng Mỹ.Mục tiêu của việc phát triển VHDL là có được một ngôn ngữ mô phỏng phần cứng tiêu chuẩn và thống nhất cho phép phát triển thử nghiệm các hệ thống số nhanh hơn cũng như cho phép dễ dàng đưa các hệ thống đó vào ứng dụng trong thực tế. Ngôn người VHDL được ba công ty Intermetics, IBM và Texas Instruments bắt đầu nghiên cứu phát triển vào 7/1983. Phiên bản đầu tiên được công bố vào 8/1985. Sau đó VHDL được đề xuất để tổ chức IEEE xem xét thành một tiêu chuẩn. Năm 1987, đã đưa ra tiêu chuẩn về VHDL – tiêu chuẩn IEEE-1076-1987.

VHDL được phát triển để giải quyết các khó khăn trong việc phát triển, thay đổi và lập tài liệu cho các hệ thống số. Như ta đã biết, một hệ thống số có rất nhiều tài liệu mô tả. Ðể có thể vận hành bảo trì sửa chữa một hệ thông ta cần tìm hiểu tài liệu đó kỹ lưỡng. Với một ngôn ngữ mô phỏng phần cứng tốt việc xem xét các tài liệu mô tả trở nên dễ dàng hơn vì bộ tài liệu đó có thể được thực thi để mô phỏng hoạt động của hệ thống. Như thế ta có thể xem xét toàn bộ các phần tử của hệ thống hoạt động trong một mô hình thống nhất.

Trước khi VHDL ra đời, có nhiều ngôn ngữ mô phỏng phần cứng được sử dụng nhưng không có một tiêu chuẩn thống nhất. Các ngôn ngữ mô phỏng phần cứng đó được phát triển để phục vụ các bộ mô phỏng chạy chúng. Vì các ngôn ngữ mô phỏng phần cứng đó được các nhà cung cấp thiết bị phát triển, nên mang các đặc trưng gắn với các thiết bị của nhà cung cấp đó và thuộc sở hữu của nhà cung cấp.

Trong khi đó, VHDL được phát triển như một ngôn ngữ độc lập không gắn với bất kỳ một phương pháp thiết kế, bộ mô phỏng hay công nghệ phần cứng nào. Người thiết kế có thể tự do lựa chọn công nghệ, phương pháp thiết kế trong khi vẫn sử dụng một ngôn ngữ duy nhất.

VHDL có một số ưu điểm hơn hẳn các ngôn ngữ mô phỏng phần cứng khác là:

Tính công cộng.

VHDL được phát triển dưới sự bảo trợ của chính phủ Mỹ và hiện nay là một tiêu chuẩn của IEEE, VHDL không thuộc sở hữu của bất kỳ cá nhân hay tổ chức nào. Do đó VHDL được hỗ trợ của nhiều nhà sản xuất thiết bị cũng như nhiều nhà cung cấp công cụ thiết kế mô phỏng hệ thống. Ðây là một ưu điểm nổi bật của VHDL, giúp VHDL trở nên ngày càng phổ biến.

Khả năng hỗ trợ nhiều công nghệ và phương pháp thiết kế:

VHDL cho phép thiết kế bằng nhiều phương pháp như phương pháp thiết kế từ trên xuống, hay từ dưới lên dựa vào các thư viện có sẵn. VHDL cũng hỗ trợ cho nhiều loại công nghệ xây dựng mạch như sử dụng công nghệ đồng bộ hay không đồng bộ, sử dụng ma trận lập trình được hay sử dụng mảng logic ngẫu nhiên. Như vậy VHDL có thể phục vụ tốt cho nhiều mục đích thiết kế khác nhau, từ việc thiết kế các phần tử phổ biến đến việc thiết kế các IC ứng dụng đặc biệt (Application Specified IC).

Ðộc lập với công nghệ.

VHDL hoàn toàn độc lập với công nghệ chế tạo phần cứng. Một mô tả hệ thống dùng VHDL thiết kế ở mức cổng có thể được chuyển thành các bản tổng hợp mạch khác nhau tuỳ thuộc vào công nghệ chế tạo phần cứng nào được sử dụng (dùng CMOS, nMOS, hay GaAs). Ðây cũng là một ưu điểm quan trong của VHDL nó cho phép người thiết kế không cần quan tâm đến công nghệ phần cứng khi thiết kế hệ thống, như thế khi có một công nghệ chế tạo phần cứng mới ra đời nó có thể được áp dụng ngay cho các hệ thống đã thiết kế.

Khả năng mô tả mở rộng.

VHDL cho phép mô tả hoạt động của phần cứng từ mức hệ thống số (hộp đen) cho đến mức cổng. VHDL có khả năng mô tả hoạt động của hệ thống trên nhiều mức nhưng chỉ sử dụng một cú pháp chặt chẽ thống nhất cho mọi mức. Như thế ta có thể mô phỏng một bản thiết kế bao gồm cả các hệ con được mô tả ở mức cao và các hệ con được mô tả chi tiết.

Khả năng trao đổi kết quả.

Vì VHDL là một tiêu chuẩn được chấp nhận, nên một mô hình VHDL có thể chạy trên mọi bộ mô phỏng đáp ứng được tiêu chuẩn VHDL-các kết quả mô tả hệ thống có thể được trao đổi giữa các nhà thiết kế sử dụng công cụ thiết kế khác nhau nhưng cùng tuân theo chuẩn VHDL. Cũng như, một nhóm thiết kế có thể trao đổi mô tả mức cao của các hệ thống con trong một hệ thống; trong khi các hệ con đó được thiết kế độc lập.

Khả năng hỗ trợ thiết kế mức lớn và khả năng sử dụng lại các thiết kế.

VHDL được phát triển như một ngôn ngữ lập trình bậc cao, vì vậy nó có thể sử dụng để thiết kế một hệ thống lớn với sự tham gia của một nhóm nhiều người. Bên trong ngôn ngữ VHDL có nhiều tính năng hỗ trợ việc quản lý, thử nghiệm và chi sẻ thiết kế. VHDL cũng cho phép dùng lại các phần đã có sẵn.

Trên đây ta đã xem xét một số đặc điểm của ngôn ngữ VHDL, sau đây ta sẽ đi sâu vào xem xét một số khái niệm thiết kế cơ bản trong VHDL.

2. Cấu trúc một mô hình hệ thống mô tả bằng VHDL.

Thông thường một mô hình VHDL bao gồm ba phần: thực thể, kiến trúc và các cấu hình. Trong một số trường hợp mô hình còn có thêm phần các môi trường kiểm tra.

2.1 Thực thể (Entity).

Khai báo thực thể trong VHDL là câu lệnh định nghĩa các chỉ tiêu phía ngoài của một phần tử hay một hệ thống. Các thông tin có trong phần khai báo thực thể cho phép kết nối phần tử (hệ thống) mà thực thể đó đại diện với các phần tử (hệ thống) khác. Thực chất việc khai báo thực thể chính là khai báo giao diện của hệ thống với bên ngoài. Hoạt động thực chất của hệ thống không được mô tả trong khai báo thực thể. Dưới đây là một ví dụ khai báo thực thể cho một cổng NAND.

ngonngu2.jpg (16841 bytes)

Câu lệnh LIBRARY IEEE và USE IEEE.std_logic_1164.ALL cho phép thực thể sử dụng các định nghĩa trong thư viện về các tiêu chuẩn của IEEE. Khai báo thực thể bao gồm tên của thực thể và một tập các cổng và phần chung. Trong đó phần chung GENERIC là các hằng số được truyền cho phần tử (hệ thống). Phần chung có thể coi là các tham số định trước của phần tử, chẳng hạn như độ trễ. Các cổng là phần giao diện vào ra của phần tử. Các cổng có thể tương ứng với các chân IC, hay các đầu nối trên bảng mạch. Các cổng được khai báo là cổng vào, cổng ra, cổng hai chiều hay bộ đệm.

2-2.Kiến trúc (Arrchitecture).

Một khai báo thực thể đều phải đi kèm với ít nhất một kiến trúc tương ứng. VHDL cho phép khai báo nhiều kiến trúc cho một thực thể. Một khai báo kiến trúc có thể bao gồm các khai báo về các tín hiệu bên trong, các phần tử bên trong hệ thống, hay các hàm và thủ tục mô tả hoạt động của hệ thống. Có hai cách mô tả kiến trúc của một phần tử (hệ thống) đó là mô tả theo mô hình hoạt động hay mô tả theo mô hình cấu trúc. Tuy nhiên một hệ thống có thể bao gồm cả mô tả theo mô hình hoạt động và mô tả theo mô hình cấu trúc.

2-2-1.Mô tả kiến trúc theo mô hình hoạt động.

Mô hình hoạt động mô tả các hoạt động của hệ thống (hệ thống đáp ứng với các tín hiệu vào như thế nào và đưa các kết quả gì ra đầu ra) dưới dạng các câu lệnh cảu ngôn ngữ lập trình bậc cao. Các câu lệnh đó có thể là PROCESS, WAIT, IF, CASE, FOR-LOOP…Ví dụ, kiến trúc của cổng NAND nói trên có thể mô tả theo mô hình hoạt động như sau.

ngonngu3.jpg (9318 bytes)

Hình 4. Mô tả kiến trúc cổng NAND theo mô hình hoạt động.

Ta thấy kiến trúc của phần tử NAND có một lệnh gán tín hiệu mô tả chức năng của phần tử. Câu lệnh này được thực thi khi một trong hai cổng a,b thay đổi giá trị. Và câu lệnh gán có độ trễ, tức là tín hiệu ở bên vế trái sẽ thay đổi tương ứng sau thời gian trễ.

Theo DLBKHN.COM.VN

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s