KHAI BÁO BIẾN (VARIABLE):

Một phần của tài liệu Luận văn : Kỹ thuật PLD và ASIC doc (Trang 102 - 103)

IV. GIỚI THIỆU VỀ MƠ HÌNH HÀNH

2.KHAI BÁO BIẾN (VARIABLE):

Các biến số dùng trong VHDL không tạo ra bất kỳ phần cứng nào, các biến lưu trữ giá trị tạm thời của các tín hiệu. Kiểu biến được khai báo như sau:

VARIABLE variable_name : variable_type[:=value];

Theo sau từ khoá variable là một hoặc nhiều tên biến. Các tên biến cách nhau bằng dấu ‘;’. Mỗi tên biến sẽ tạo ra một biến mới. Variable_type sẽ xác định kiểu dữ liệu cho biến.

Ví dụ 2-30:

LIBRARY IEEE;

USE IEEE.std_logic_1164.ALL;

ENTITY and5 IS

PORT (a, b, c, d, e: IN std_logic;

q: OUT std_logic);

END and5;

ARCHITECTURE and5 OF and5 IS

BEGIN

PROCESS (a, b, c, d, e)

VARIABLE state: STD_LOGIC;

VARIABLE delay : time;

BEGIN

state := a AND b AND c AND d AND e;

IF state = ‘1’ THEN delay:= 4 ns;

ELSIF state = ‘0’ THEN delay := 3 ns

ELSE delay := 4 ns

END IF;

delay <= state AFTER delay;

END PROCESS ;

END and5;

Ví dụ này là kiến trúc cho cổng AND có 5 ngõ vào. Có 2 biến được khai báo là biến state và biến delay, biến state được sử dụng để cất giữ giá trị tạm thời các ngõ vào của cổng AND, delay được sử dụng để lưu giá trị thời gian trể. Cả hai dữ liệu này khơng thể là dữ liệu tĩnh bởi vì giá trị của chúng phụ thuộc vào giá trị của các ngõ vào a, b, c, d, e. Các tín hiệu có thể được dùng để lưu trữ dữ liệu nhưng khơng được dùng bởi vì các lý do sau:

• Các biến thường hiệu quả hơn cho phép gán tín hiệu bởi vì nó xảy ra ngay lập tức, trong khi tín hiệu thì phải chờ sắp xếp.

• Các biến chiếm ít bộ nhớ hơn trong khi các tín hiệu cần nhiều thơng tin để cho phép sắp xếp và các thuộc tính tín hiệu.

• Dùng tín hiệu phải u cầu phát biểu WAIT để đồng bộ phép gán tín hiệu cho mỗi lần thực hiện khi sử dụng.

Khi bất kỳ tín hiệu a, b, c, d, hoặc e thay đổi thì quá trình thực hiện. Biến state được gán cho hàm AND của tất cả các ngõ vào. Bước tiếp theo thì dựa vào giá trị của biến state mà biến delay được gán giá trị thời gian trể. Dựa vào giá trị thời gian đã được gán cho biến delay, tín hiệu ngõ ra

Một phần của tài liệu Luận văn : Kỹ thuật PLD và ASIC doc (Trang 102 - 103)