M ột phát biểu component instantiation được định nghĩa là phần conc ủaentity khi nó xuất hiện Nó liên kết các tín hiệu trong entity với các cổng của subcomponent đó ột phát biểu component
CHƯƠNG 7: ĐẶC ĐIỂM CHUNG & CẤU HÌNH
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 toà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 toà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