Professional Documents
Culture Documents
entity mux2_1 is
port( I : in std_logic_vector(1 downto 0);
S : in std_logic;
1
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
O : out std_logic);
end mux2_1;
2
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
3
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
4.1.2. Hãy viết chương trình mô tả mạch đa hợp 4 ngõ vào 1 ngõ ra, 2 select.
Sơ đồ khối của mạch:
entity mux4_1_2S is
port( I : in std_logic_vector(3 downto 0);
S : in std_logic_vector(1 downto 0);
O : out std_logic);
end mux4_1_2S;
4
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
5
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
6
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
4.1.3. Hãy viết chương trình mô tả mạch đa hợp 8 ngõ vào 1 ngõ ra, 3 select.
Sơ đồ khối của mạch:
entity mux8_1_3s is
port( I : in std_logic_vector(7 downto 0);
S : in std_logic_vector(2 downto 0);
O : out std_logic);
7
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
end mux8_1_3s;
8
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
9
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
4.1.4. Hãy viết chương trình mô tả mạch đa hợp 16 ngõ vào 1 ngõ ra, 4 select.
Sơ đồ khối của mạch:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
entity mux16_1_4S is
PORT( I : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
S : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
O : OUT STD_LOGIC);
10
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
end mux16_1_4S;
11
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
12
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
entity demux1_2 is
port ( I: in STD_LOGIC;
S: in STD_LOGIC;
Q: out STD_LOGIC_VECTOR(1 downto 0));
end demux1_2;
begin
PROCESS(I,S)
begin
case S is
WHEN '0' => Q(0) <= I;
WHEN '1' => Q(1) <= I;
WHEN OTHERS => NULL;
END CASE;
END PROCESS;
end Behavioral;
14
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
15
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
4.2.2. Hãy viết chương trình mô tả mạch giải đa hợp 1 ngõ vào 4 ngõ ra, 2
select.
Sơ đồ khối của mạch:
entity demux1_4 is
port ( I: in STD_LOGIC;
S: in STD_LOGIC_VECTOR(1 downto 0);
16
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
begin
PROCESS(I,S)
begin
case S is
WHEN "00" => Q(0) <= I;
WHEN "01" => Q(1) <= I;
WHEN "10" => Q(2) <= I;
WHEN "11" => Q(3) <= I;
WHEN OTHERS => NULL;
END CASE;
END PROCESS;
end Behavioral;
17
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
18
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
4.2.3. Hãy viết chương trình mô tả mạch giải đa hợp 1 ngõ vào 8 ngõ ra, 3
select.
Sơ đồ khối của mạch:
19
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
entity demux1_8 is
port ( I: in STD_LOGIC;
S: in STD_LOGIC_VECTOR(2 downto 0);
Q: out STD_LOGIC_VECTOR(7 downto 0));
end demux1_8;
begin
PROCESS(I,S)
begin
case S is
WHEN "000" => Q(0) <= I;
WHEN "001" => Q(1) <= I;
WHEN "010" => Q(2) <= I;
WHEN "011" => Q(3) <= I;
WHEN "100" => Q(4) <= I;
WHEN "101" => Q(5) <= I;
WHEN "110" => Q(6) <= I;
WHEN "111" => Q(7) <= I;
WHEN OTHERS => NULL;
END CASE;
END PROCESS;
20
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
end Behavioral;
21
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
4.2.4. Hãy viết chương trình mô tả mạch giải đa hợp 1 ngõ vào 16 ngõ ra, 4
select.
Sơ đồ khối của mạch:
entity demux1_16 is
port ( I: in STD_LOGIC;
S: in STD_LOGIC_VECTOR(3 downto 0);
Q: out STD_LOGIC_VECTOR(15 downto 0));
22
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
end demux1_16;
begin
PROCESS(I,S)
begin
case S is
WHEN "0000" => Q(0) <= I;
WHEN "0001" => Q(1) <= I;
WHEN "0010" => Q(2) <= I;
WHEN "0011" => Q(3) <= I;
WHEN "0100" => Q(4) <= I;
WHEN "0101" => Q(5) <= I;
WHEN "0110" => Q(6) <= I;
WHEN "0111" => Q(7) <= I;
WHEN "1000" => Q(8) <= I;
WHEN "1001" => Q(9) <= I;
WHEN "1010" => Q(10) <= I;
WHEN "1011" => Q(11) <= I;
WHEN "1100" => Q(12) <= I;
WHEN "1101" => Q(13) <= I;
WHEN "1110" => Q(14) <= I;
WHEN "1111" => Q(15) <= I;
WHEN OTHERS => NULL;
END CASE;
END PROCESS;
end Behavioral;
23
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh
Bài 4: Thiết kế một số mạch logic tổ hợp sử dụng VHDL(tt)
24
Nhóm 8: Nguyễn Lê Thái Dương
Huỳnh Nguyễn Cao Sơn
Tăng Quốc Vinh