CHƯƠNG 7: ĐẶC ĐIỂM CHUNG & CẤU HÌNH

Một phần của tài liệu Tìm hiểu ngôn ngữ DHVL.doc (Trang 71 - 72)

Chương này giới thiệu các generics và các ví dụ để minh họa làm thế nào mà các kiểu thơng tin cĩ thể được gửi vào một thực thể (entity) dùng các generics. Phần sau của chương này thảo luận về sự cần thiết phải định cấu hình (configuration) và trình bày hai kỹ thuật xoay chiều (alternate mechanism) để định cấu hình, gọi là đặc tả cấu hình (configuration specification) và khai báo cấu hình (configuration

declaration). Tạo nấc trực tiếp (direct instantiation) cĩ thể được sử dụng để khơng phải viết cấu hình. Đặc điểm này, tùy theo kỹ thuật liên kết trễ (delay binding mechanism), cũng được mơ tả trong chương này.

7.1. GENERICS

Generics thường hữu dụng để gửi kiểu thơng tin từ mơi trường vào mơ tả thiéát kế. Ví dụ như sự tăng giảm độ trễ và kích thước của các cổng giao tiếp. Điều này được thực hiện nhờ các generic. Các

generic của một thực thể (entity) được khai báo tùy theo cổng của nĩ trong khai báo thực thể (entity declaration).

Ví dụ: một generic N ngõ nhập: entity AND_GATE is

generic(N:NATURAL);

port(A:in BIT_VECTOR(1 to N); Z:out BIT); end AND_GATE;

architecture GENERIC_EX of AND_GATE is begin

process (A)

variable AND_OUT: BIT; begin

AND_OUT := ‘1’; for K in 1 to N loop

AND_OUT := AND_OUT and A(K); exit when AND_OUT=’0’;

end loop;

Z <= AND_OUT; end process;

end GENERIC_EX;

Trong ví dụ này, kích thước cổng nhập được thiết kế như là một generic. Bằng cách này, chúng ta cĩ thể thiết kế một lớp tồn bộ các cổng với số lượng ngõ nhập biến thiên dùng mơ tả đơn. Bây giờ, thực

thể (entity) AND_GATE cĩ thể được sử dụng với số lượng cổng nhập khác nhau trong các nấc (instantiations) khác nhau.

Một generic khai báo một đối tượng khơng đổi (constant object) của kiểu (giá trị chỉ đọc) và cĩ thể được dùng trong khai báo thực thể và các phần thân kiến trúc (architecture body) tương ứng của nĩ. Giá trị khơng đổi này cĩ thể được đặc tả như là một biểu thức tĩnh tồn cục (globally static expression) theo một trong các cách sau:

1. Khai báo thực thể (entity declaration)

2. Khai báo thành phần (component declaration) 3. Tạo nấc thành phần (component instantiation) 4. Đặc tả cấu hình (configuration specification) 5. Khai báo cấu hình (configuration declaration)

Giá trị của một generic phải xác định được tại thời điểm xây dựng, nghĩa là, giá trị cho một generic phải được chỉ định rõ ràng tại thời điểm sử dụng.

Giá trị của một generic cĩ thể được đặc tả trong khai báo thực thể (entity declaration) của một thực thể (entity), như trong ví dụ trên. Đây là giá trị mặc định của generic. Nĩ cĩ thể được dẫn xuất theo những cách khác.

entity NAND_GATE is

Một phần của tài liệu Tìm hiểu ngôn ngữ DHVL.doc (Trang 71 - 72)