CÁC ĐÓNG GÓ

Một phần của tài liệu Kiến thức cơ bản về VHDL (Trang 58 - 60)

b. Thủ tục và các đặc trưng của chúng.

3.8. CÁC ĐÓNG GÓ

Bạn có thể đóng gói để cất các chương trình con, các kiểu dữ liệu, các hằng... thường dùng để sử dụng chúng trong các thiết kế khác. Một package bao gồm hai phần chính: Phần khai báo và phần thân package, phần khai báo chỉ ra giao tiếp cho package.

Cú pháp của khai báo package như sau: package package _name is

end [package _name];

Phần package _declarative_item có thể là bất kỳ kiểu nào sau đây: - Khai báo kiểu.

- Khai báo các kiểu con. - Khai báo tín hiệu. - Khai báo các hằng. - Khai báo bí danh ALIAS. - Khai báo các thành phần. - Khai báo các chương trình con. - Các mệnh đề USE.

Chú ý ! Khai báo tín hiệu trong package có một số vấn đề cần luu ý trong khi tổng hợp, bởi vì một tín hiệu không thể được chia sẻ bởi hai Entity. Vì vậy nếu muốn dùng chung khai báo tín hiệu bạn phải khai báo tín hiệu này là tín hiệu toàn cục. Phần thân của package chỉ ra hoạt động thực tế của một package. Phần thân của package phải luôn có tên trùng với phần khai báo.

Cú pháp của khai báo này như sau: package body package _name is

{package _body_declarative-item} end [package _name] ;

Phần package _body_declarative-item có thể bao gồm: - Khai báo kiểu.

- Khai báo các kiểu con. - Khai báo các hằng - Mệnh đề use.

- Thân các chương trình con.

Ví dụ:

library IEEE;

use IEEE.NUMERIC_BIT.all; package PKG is

subtype MONTH_TYPE is integer range 0 to 12; subtype DAY_TYPE is integer range 0 to 31; subtype BCD4_TYPE is unsigned ( 3 downto 0);

constant BCD5_1: BCD5_TYPE : = b"00001" ; constant BCD5_7: BCD5_TYPE : = b"00111" ;

function BCD_INC (L : in BCD4_TYPE) return BCD5_TYPE; end PKG;

package body PKG is

function BCD_INC (L :in BCD4_TYPE) return BCD5_TYPE is variable V,V1, V2 : BCD5_TYPE; begin V1 : = L + BCD5_1; V2 : = L + BCD5_7; case V2(4) is when ' 0 ' => V : = V1; when ' 1 ' => V : = V2; end case; return (V); end BCD_INC; end PKG; 3.9. MÔ HÌNH CẤU TRÚC

Thông thường một hệ thống số được mô tả theo tập hợp có thứ bậc của các thành phần. Mỗi thành phần bao gồm một tập các cổng để có thể giao tiếp được với các thành phần khác. Khi mô tả một thiết kế trong VHDL và một thiết kế có thứ bậc chính là một thiết kế đưa ra các khai báo của các thành phần và các phát biểu thể hiện thành phần đó.

Một đơn vị cơ sở để diễn tả hành vi hoạt động chính là các phát biểu process, còn đơn vị cơ sở để diễn tả theo kiểu cấu trúc chính là các phát biểu thể hiện của các đơn vị thành phần. Cả hai loại này đều có thể có mặt trong một thân của một kiến trúc (architecture).

Một phần của tài liệu Kiến thức cơ bản về VHDL (Trang 58 - 60)

w