Thuộc tớnh.

Một phần của tài liệu đồ án tốt nghiệp thiết kế vi mạch bằng vhdl (Trang 34)

Chương 4: Toỏn tử và thuộc tớnh.

4.2. Thuộc tớnh.

4.1.1. Thuộc tớnh dữ liệu.

VHDL cung cấp cỏc thuộc tớnh sau.

d’LOW Trả về giỏ trị nhỏ nhất của chỉ số mảng. d’HIGH Trả về chỉ số lớn nhất của mảng.

d’LEFT Trả về chỉ số bờn trỏi nhất của mảng. d’RIGHT Trả về chỉ số bờn phải nhất của mảng. d’LENGTH Trả về kớch thước của mảng.

d’RANGE Trả về mảng chứa chỉ số.

d’REVERSE_RANGE Trả về mảng chứa chỉ số được đảo ngược. Vớ dụ: Nếu d là một vector được khai bỏo như sau:

SIGNAL d : STD_LOGIC_VECTOR(0 TO 7)

Ta sẽ cú:

d'LOW = 0, d'HIGH = 7, d'LEFT = 7, d'RIGHT = 0, d'LENGTH = 8, d'RANGE = (7 downto 0), d'REVERSE_RANGE = (0 to 7).

Cỏc thuộc tớnh này cú thể dựng trong cỏc vũng lặp:

FOR i IN RANGE (0 TO 7) LOOP ... FOR i IN x'RANGE LOOP ...

FOR i IN RANGE (x'LOW TO x'HIGH) LOOP ... FOR i IN RANGE (0 TO x'LENGTH-1) LOOP ...

Nếu tớn hiệu cú kiểu liệt kờ thỡ:

d’VAL(pos) Trả về giỏ trị tại pos.

d’POS(val) Trả về vị trớ cú giỏ trị là val.

d’LEFTOF(value) Trả về giỏ trị ở vị trớ bờn trỏi của value.

d’VAL(row,colum) Trả về giỏ trị ở một vị trớ đặc biệt.

4.1.2. Thuộc tớnh tớn hiệu.

Cỏc thuộc tớnh loại này chỉ được ỏp dụng đối với dữ liệu SIGNAL. Nếu s là một SIGNAL thỡ ta cú :

s’EVENT : Trả về true khi một sự kiện xảy ra đối với s. s’STABLE: Trả về true nếu khụng cú sự kiện nào xảy ra đối

với s.

s’ACTIVE: Trả về true khi s = 1.

s’QUIET<time>: Trả về true khi trong khoảng thời gian time khong cú sự kiện nào xảy ra.

s’LAST_EVENT: Trả về thời gian trụi qua kể từ sự kiện cuối cựng s’LAST_ACTIVE: Trả về thới gian kể từ lần cuối cựng s = 1

s’LAST_VALUE: Trả về giỏ trị của s trước sự kiện trước đú. Trong cỏc thuộc tớnh trờn thỡ thuộc tớnh s’EVENT là hay được dựng nhất.

Vi dụ:Đõy là vớ dụ với tớn hiệu đồng hồ.

IF (clk'EVENT AND clk='1')... IF (NOT clk'STABLE AND clk='1')... WAIT UNTIL (clk'EVENT AND clk='1'); IF RISING_EDGE(clk)...

Một phần của tài liệu đồ án tốt nghiệp thiết kế vi mạch bằng vhdl (Trang 34)