Đóng gói và mơ tả thân các đóng gó

Một phần của tài liệu TIẾP CẬN CÔNG NGHỆ FPGA (Trang 81 - 83)

II. Giới thiệu môi trường lập trình ISE.

CHƯƠNG IV: NGÔN NGỮ VHDL 4.1 Giới thiệu chung về ngôn ngữ VHDL

4.2.5.3. Đóng gói và mơ tả thân các đóng gó

Một đóng gói là một tập bao gồm các kiểu, các hằng số, các chương trình con và có thể cả các thành phần khác, thường thường nó được dự định cho hoạt động của một vài dịch vụ thành phần hoặc để tách một nhóm các thành phần có liên quan với nhau. Đặc biệt, chi tiết các giá trị hằng số và các thân chương trình con có thể

ẩn do người dùng, chúng chỉ nhìn thấy được giao diện mà thơi.

Một đóng gói có thể phân chia thành hai phần: phần mơ tả đóng gói dùng để định nghĩa giao diện của nó và phần thân đóng gói dùng để định nghĩa các chi tiết

khác. Phần thân có thể bỏ qua nếu chúng khơng có chi tiết nào. Cú pháp của phần mơ tả đóng gói như sau:

mơ tả đóng gói ::=

package tên định danh is

phần mô tả đóng gói

end [tên đơn của đóng gói];

phần mơ tả đóng gói ::= {thành phần mơ tả đóng gói} thành phần mơ tả đóng gói ::=

mơ tả chương trình con | mơ tả kiểu

| mô tả kiểu con | mô tả hằng số | mô tả tên phụ | mệnh đề sử dụng

Các mô tả định nghĩa các thành phần khác mà nhìn thấy được đối với người dùng đóng gói, và chúng cũng nhìn thấy được bên trong của thân đóng gói.

Ví dụ :

package data_types is

subtype address is bit_vector(24 downto 0); subtype data is bit_vector(15 downto 0); constant vector_table_loc : address;

function data_to_int(value : data) return integer; function int_to_data(value : integer) return data; end data_types;

Trong ví dụ trên, giá trị của hằng số vector_table_loc và thân của hai chương trình con khác nhau, do vậy thân một đóng gói cũng cần phải gán.

Cú pháp của thân một đóng gói là: thân đóng gói ::=

package body tên đơn của thân đóng gói is

phần mơ tả thân đóng gói

end [tên đơn của thân đóng gói];

phần mơ tả thân đóng gói ::= {thành phần mơ tả thân đóng gói} thành phần mơ tả thân đóng gói ::=

mơ tả chương trình con | mô tả kiểu

| mô tả kiểu con | mô tả hằng số | mô tả tên phụ | mệnh đề sử dụng

Thân đối với đóng gói data_types biểu diễn ở trên có thể viết lại như sau:

package body data_types is

constant vector_table_loc : address := X"FFFF00"; function data_to_int(value : data) return integer is

body of data_to_int

end data_to_int;

function int_to_data(value : integer) return data is

body of int_to_data

end int_to_data; end data_types;

Trong thân đóng gói này, giá trị đối với hằng số được chỉ định trước, và thân

đóng gói phải được gán trước. Các mô tả kiểu con không được lặp lại, do các mơ tả đóng gói là nhìn thấy được trong thân đóng gói.

Một phần của tài liệu TIẾP CẬN CÔNG NGHỆ FPGA (Trang 81 - 83)

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

(198 trang)