Thực thể (Entity)

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, thiết kế modul thực hành FPGA (Trang 40 - 43)

-

2.3.2. Thực thể (Entity)

Một thực thể VHDL chỉ rõ tên của thực thể, các port của thực thể và thông tin liên quan đến thực thể. Mọi thiết kế đều đợc tạo ra bằng cách sử dụng một hay nhiều thực thể.

Ví dụ đơn giản của một thực thể:

Entity mux is

port ( a, b, c, d : in bit;

s0, s1 : in bit;

x, : out bit);

end mux;

Từ khoá entity mang ý nghĩa đây là nơi bắt đầu của một phát biểu thực

thể. Tên của thực thể là mux, thực thể có 7 port trong đó 6 port ở chế độ in, 1 port ở chế độ out và dữ liệu đều là kiểu bit.

Thực thể mô tả giao tiếp với thế giới bên ngoài. Thực thể chỉ ra số port, hớng của các port và kiểu của các port. Nhiều thông tin hơn nữa có thể đợc đặt vào bên trong thực thể.

-41-

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.

Kiến trúc đợc mô tả theo cú pháp sau:

Architecture tên kiến trúc oftên thực thể is

{ phần khai báo của kiến trúc}

Begin

{Các kết cấu thực hiện đồng thời}

end {tên cấu trúc}

2.3.3.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 có thể mô tả theo mô hình hoạt động nh sau.

Architecture behaviour of nand is

Begin

C <=not(a and b) after10ns

Endbehaviour

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

-42-

đổ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ễ.

2.3.3.2.Mô tả kiến trúc theo mô hình cấu trúc.

Mô hình cấu trúc của một phần tử (hệ thống) có thể bao gồm nhiều cấp cấu trúc bắt đầu từ một cổng logic đơn giản để xây dựng mô tả cho một hệ thống hoàn thiện. Thực chất của việc mô tả theo mô hình cấu trúc là mô tả các phần tử con bên trong hệ thống và sự kết nối của các phần tử con đó. Nh với

ví dụ mô tả mô hình cấu trúc một flip flop RS gồm hai cổng NAND nh sau.-

2.3.4. Cấu hình (Configuration)

Việc khai báo cấu hình tơng tự nh việc liệt kê các phần của bản thiết

kế. Khai báo cấu hình thực chất là chỉ ra kiến trúc nào đợc gắn với thực thể nào. Nh vậy các kiến trúc khác nhau có thể cùng đợc gắn với một thực thể. Điều này cho phép thay đổi bản mô tả ở thời điểm mô phỏng hay tổng hợp hệ thống. Việc khai báo cấu hình là tuỳ chọn, cũng có thể sử dụng cấu hình mặc định do VHDL cung cấp-khi đó kiến trúc đợc khai báo cuối cùng cho một thực thể sẽ đợc gắn với thực thể đó

Cú pháp mô tả của cấu hình:

-43-

{ phần khai báo của cấu hình}

for đặc tả của khối {mệnh đề use}

{các phần tử của cấu hình}

end for;

Ví dụ về khai báo cấu hình

Configuration muxcon1 of mux is

for netlist

for U1,U2 :

inverter use entity WORK.myinv(version1);

end for;

for U3,U4,U5,U6 : andgate use entityWORK.myand(version1);

end for;

for U7 : orgate use entityWORK.myor(version1);

end for;

end for;

end muxcon1;

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, thiết kế modul thực hành FPGA (Trang 40 - 43)

Tải bản đầy đủ (PDF)

(93 trang)