Chương 5: Mó song song
5.2. Sử dụng cỏc toỏn tử.
Đõy là cỏch cơ bản nhất dựng để tạo cỏc đoạn mó song song. Cỏc toỏn tử (AND, OR, ..) được tỡm hiểu ở trờn sẽ được liệt kờ ở bảng dưới đõy. Cỏc toỏn tử cú thể được sử dụng như là một thành phần của mạch tổ hợp. Tuy nhiờn để rừ ràng. Cỏc mạch hoàn chỉnh sẽ sử dụng cỏch viết tuần tự mặc dự cỏc mạch khụng chứa cỏc phần tử tuần tự. Cỏc vớ dụ sau đõy được thiết kế chỉ sử dụng cỏc thành phần logic cơ bản.
Bảng 5.1. Cỏc toỏn tử
Vớ dụ : Bộ dồn kờnh 4 -1.
Hỡnh 5.2. Bộ dồn kờnh
Bộ dồn kờnh 4-1 cú 4 đầu vào dữ liệu, hai đầu vào điều khiển và một đầu ra. Tớn hiệu đầu ra sẽ là tớn hiệu của một trong 4 đầu vào tuỳ theo giỏ trị của hai đầu vào điều khiển s0,s1. Sau đõy là chương trỡnh mụ phỏng.
LIBRARY ieee; USE ieee.std_logic_1164.all; --- ENTITY mux IS PORT ( a, b, c, d, s0, s1: IN STD_LOGIC; y: OUT STD_LOGIC); END mux; --- ARCHITECTURE pure_logic OF mux IS
BEGIN
y <= (a AND NOT s1 AND NOT s0) OR (b AND NOT s1 AND s0) OR (b AND NOT s1 AND s0) OR (c AND s1 AND NOT s0) OR (d AND s1 AND s0); END pure_logic; Kết qủa mụ phỏng. a b c d s0 s1 y ns 50 100 150 200 250 300 350 400 450 500 Hỡnh 5.3. Mụ phỏng kết quả của vớ dụ 5.1 5.3. Mệnh đề WHEN.
WHEN là mụt thành phần của cỏc khối lện song song. Nú xuất hiện trong hai trường hợp. WHEN / ELSE và WITH / SELECT / WHEN. Cỳ phỏp được trỡnh bấy như sau.
--- With WHEN/ELSE ---
outp <= "000" WHEN (inp='0' OR reset='1') ELSE "001" WHEN ctl='1' ELSE
"010";
---- With WITH/SELECT/WHEN ---
WITH control SELECT
output <= "000" WHEN reset, "111" WHEN set,