II. Giới thiệu môi trường lập trình ISE.
CHƯƠNG IV: NGÔN NGỮ VHDL 4.1 Giới thiệu chung về ngôn ngữ VHDL
4.4.3.2. Chỉ định tín hiệu được chọn
Một khai báo chỉ định tín hiệu được chọn là một chỉ định ngắn gọn cho một q trình có chứa các chỉ định tín hiệu trong một khai báo “case”. Cú pháp của nó
chỉ định tín hiệu được chọn :: =
with biểu thức select
đích <= các tuỳ chọn các dạng sóng được chọn;
các dạng sóng được chọn :: = { dạng sóng when chọn }
dạng sóng when chọn
chọn :: = chọn { | chọn }
Các thành phần tuỳ chọn tương tự như đối với một chỉ định tín hiệu điều kiện. Do vậy nếu từ transport đi kèm, thì việc chỉ định tín hiệu trong q trình tương
đương sử dụng trễ transport.
Giả sử chúng ta có một chỉ định tín hiệu được chọn:
with biểu thức select
s <= dạng_sóng_1 when danh_sách_chọn_1,
dạng_sóng_2 when danh_sách_chọn_2,
...
dạng_sóng_n when danh_sách_chọn_n;
Thì quá trình tương đương là:
process case biểu thức is when danh_sách_chọn_1 => s <= dạng_sóng_1; when danh_sách_chọn_2 => s <= dạng_sóng_2; ... when danh_sách_chọn_n => s <= dạng_sóng_n; end case; wait [ mệnh đề độ nhạy ]; end process;
Danh sách độ nhạy đối với khai báo đợi được xác định cùng một cách như đối với một chỉ định tín hiệu điều kiện. Đó là, nếu khơng có các tín hiệu được tham chiếu đến trong chỉ định tín hiệu được chọn hoặc khơng có các dạng sóng, thì khai báo đợi khơng có mệnh đề độ nhạy. Ngược lại mệnh đề độ nhạy chứa tất cả các tín hiệu được tham chiếu đến trong biểu thức và các dạng sóng.
Ví dụ về một khai báo chỉ định tín hiệu được chọn:
with alu_function select
alu_result <= op1 + op2 when alu_add | alu_incr,
op1 – op2 when alu_subtract,
op1 and op2 when alu_and,
op1 or op2 when alu_or,
op1 and not op2 when alu_mask;
Trong ví dụ trên, giá trị của tín hiệu alu_function được sử dụng để chọn một chỉ định tín hiệu đến alu_result để kích hoạt. Việc khai báo là độ nhạy đến tín hiệu alu_function, op1 và op2, do vậy mỗi khi có bất kỳ sự thay đổi giá trị nào, thì việc chỉ định tín hiệu sẽ được kích hoạt trở lại.