Nhân 2 Bit

You might also like

You are on page 1of 18

THIẾT KẾ HỆ THỐNG SỐ 2

GVHD:TS.Võ Phú Thoại


Mã môn học: 402068
Danh sách thành viên

1. Nguyễn Ngọc Nhất Nguyên 41801195


2. Đào Trung Đức 41801093
3. Phạm Trung Kiên 41800684
4. Nguyễn Hoàng Anh Tú 41801277
5. Dương Kỳ Vĩ 41900314
6. Hồng Bá Thọ 41901045
7. Cao Hồ Duy Khôi 41900974
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
I. Giới thiệu
A
Bảng sự thật
INPUT OUTPUT
B
Y S0 S1 Y
MUX 3 TO 1
0 0 A
C
0 1 B
1 0 C
S 1 1 C
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
I. Giới thiệu
A
Bảng sự thật
INPUT OUTPUT
B
Y A B C S Y
MUX 3 TO 1
C 00 A

01 B
4 BIT
0000 -> 1111
10 C
S
11 C
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
II. Viết chương trình
1) Khai báo
1 0

S: 00
MSB LSB

port(S: in std_logic_vector (1 downto 0));


HOẶC
port(A,B,C: in std_logic_vector (0 to 1));
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
II. Viết chương trình
1) Khai báo
1 0

S: 00
LSB MSB

port(S: in std_logic_vector (1 downto 0));


HOẶC
port(A,B,C: in std_logic_vector (0 to 1));
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
II. Viết chương trình
1) Khai báo
3 <- 0

A,B,C,Y: 0000
port(A,B,C: in std_logic_vector (3 downto 0);
Y: out std_logic_vector (3 downto 0));
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
II. Viết chương trình
1) Khai báo
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
2) Behavior: If - then - else
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
3) Behavior: Case when
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
4) Behavior: When - else
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
5) Behavior: With select when
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
6) Ngôn ngữ verilog (tham khảo)
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
7) Cách viết structure

B T
M0

S0

Y
M0
C

S1
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
7) Cách viết structure
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
7) Cách viết structure
library ieee;
use ieee.std_logic_1164.all;
entity structure is
port(A,B,C: in std_logic_vector (3 downto 0);
S: in std_logic_vector (1 downto 0);
Y: out std_logic_vector (3 downto 0));
end structure;

architecture behavior of structure is


component mux2
port(A,B,S: in std_logic;
Y: out std_logic);
end component;
signal T: std_logic_vector (3 downto 0);
begin
M0: mux2 port map (A(0),B(0), S(0), T(0));
M1: mux2 port map (A(1),B(1), S(0), T(1));
M2: mux2 port map (A(2),B(2), S(0), T(2));
M3: mux2 port map (A(3),B(3), S(0), T(3));
M4: mux2 port map (T(0),C(0), S(1), Y(0));
M5: mux2 port map (T(1),C(1), S(1), Y(1));
M6: mux2 port map (T(2),C(2), S(1), Y(2));
M7: mux2 port map (T(3),C(3), S(1), Y(3));
end behavior;
Thiết kế bộ Mux 3 to 1 với ngõ vào và ngõ ra 4 bit
7) Cách viết structure
library ieee;
use ieee.std_logic_1164.all;
entity mux2 is
port(A,B,S: in std_logic;
Y: out std_logic);
end mux2;
architecture a of mux2 is
begin
process(A,B,S)
begin
if S= '0' then Y <= A;
else Y <= B;
end if;
end process;
end a;

You might also like