You are on page 1of 77

Chương 3:

MẠCH LOGIC TỔ HỢP


(Combinational Logic)
GV: Hà Mạnh Đào
NỘI DUNG:

•Khái niệm mạch logic tổ hợp


•Các loại mạch logic tổ hợp
•Bài toán phân tích và thiết kế mạch
logic tổ hợp
•Một số mạch logic tổ hợp thông dụng
1. Khái niệm mạch tổ hợp

Hệ logic tổ hợp hay mạch tổ hợp là mạch mà


tín hiệu ra chỉ phụ thuộc vào tín hiệu vào (hệ
logic không nhớ).
2. Các loại mạch tổ hợp

Mạch logic tổ hợp

Mạch Mạch dồn Mạch mã


Mạch Mạch Mạch Mạch so Mạch 3
ALU kiểm tra kênh, hóa, giải
cộng trừ nhân sánh trạng thái
chẵn lẻ phân kênh mã
3. Các bài toán logic tổ hợp:

Bài toán logic tổ hợp

Bài toán thiết kế


Bài toán phân tích
(Mục 3.2- Giáo trình: Tr. 45) (Tổng hợp)
(Mục 3.3- Giáo trình: Tr. 47)
Công cụ thiết kế:

Công cụ thiết kế

Mạch logic lớn, phức tạp


Mạch logic vừa, nhỏ
Sử dụng ngôn ngữ mô tả phần cứng
Phương pháp Đại số, bảng Cac no
(VHDL/Verilog/SystemC)
Công cụ và môi trường mô phỏng:
Công cụ và môi trường
mô phỏng

Active-HDL Vivado Môi trường khác


(Aldec, Inc.) (Xilinx) (Quartus ii, Nios,…)

VHDL Verilog SystemVerilog SystemC


Ví dụ: bài toán phân tích
Bài tập:
4. Một số mạch logic tổ hợp phổ biến
•Mạch nửa cộng và mạch cộng đầy đủ
•Mạch nửa trừ và mạch trừ đầy đủ
•Mạch dồn kênh (MUX) và mạch phân kênh
(DEMUX)
•Mạch mã hóa và mạch giải mã
•Mạch so sánh
•Mạch kiểm tra chẵn lẻ
4.1. Mạch cộng bán phần và mạch cộng toàn phần
HA1 HA2
4.2. Bộ trừ bán phần và bộ trừ toàn phần
X

z
(Ci-1)
4.3. Bộ công/trừ nhị phân song song
4.2. Bộ dồn (hợp) kênh và bộ phân kênh
4.2. Bộ dồn kênh (MUX- Multiplexer)
4.4. Bộ phân kênh (DEMUX- DeMultiplexer)
Y=S0'.A0+S0.A1
Y=S1' S0' A0+S1' S0 A1+S1 S0' A2+S1 S0 A3
Y=S0'.S1'.S2'.A0+S0.S1'.S2'.A1+S0'.S1.S2'.A2+S0.S1.S2'.A3+S0'.S1'.S2 A4+S0.S1'.S2 A5+S0'.S1.S2 .A6+S0.S1.S3.A7
Y=A0.S0'.S1'.S2'.S3'+A1.S0'.S1'.S2 '.S3+A2.S0'.S1'.S2.S3'+A3.S0'.S1 '.S2.S3+A4.S0'.S1.S2'.S3'+A5.S0 '.S1.S2'.S3+A6.S1.S2.S3'+
A7.S0 '.S1.S2.S3+A8.S0.S1'.S2'.S3'+A9 .S0.S1'.S2'.S3+Y10.S0.S1'.S2.S3 '+A11.S0.S1'.S2.S3+A12
S0.S1.S2 '.S3'+A13.S0.S1.S2'.S3+A14.S0.S1 .S2.S3'+A15.S0.S1.S2'.S3
Y0=S0'.A
Y1=S0.A
Y0=S1' S0' A
y1=S1' S0 A
y2=S1 S0' A
y3=S1 S0 A
Y0=S0'.S1'.S2'.A
Y1=S0.S1'.S2'.A
Y2=S0'.S1.S2'.A
Y3=S0.S1.S2'.A
Y4=S0'.S1'.S2 A
Y5=S0.S1'.S2 A
Y6=S0'.S1.S2 A
Y7=S0.S1.S3.A
Y0=A.S0'.S1'.S2'.S3'
Y1=A.S0'.S1'.S2'.S3
Y2=A.S0'.S1'.S2.S3'
Y3=A.S0'.S1'.S2.S3
Y4=A.S0'.S1.S2'.S3'
Y5=A.S0'.S1.S2'.S3
Y6=A.S0'.S1.S2.S3'
Y7=A.S0'.S1.S2.S3
Y8=A.S0.S1'.S2'.S3'
Y9=A.S0.S1'.S2'.S3
Y10=A.S0.S1'.S2.S3'
Y11=A.S0.S1'.S2.S3
Y12=A.S0.S1.S2'.S3'
Y13=A.S0.S1.S2'.S3
Y14=A.S0.S1.S2.S3'
Y15=A.S0.S1.S2'.S3
4.4. Bộ so sánh (Comparator)
4.5. Mạch tạo và kiểm tra chẵn, lẻ
4.6. Mạch mã hóa và giải mã
Một số mạch mã hóa phổ biến:

A1 = Y3 + Y2

A0 = Y3 + Y1
A2 = Y7 + Y6 + Y5 + Y4

A1 = Y7 + Y6 + Y3 + Y2

A0 = Y7 + Y5 + Y3 + Y1
Một số mạch giải mã phổ biến:
A B C D0 D1 D2 D3 D4 D5 D6 D7

0 0 0 1 0 0 0 0 0 0 0

0 0 1 0 1 0 0 0 0 0 0

0 1 0 0 0 1 0 0 0 0 0

0 1 1 0 0 0 1 0 0 0 0

1 0 0 0 0 0 0 1 0 0 0

1 0 1 0 0 0 0 0 1 0 0

1 1 0 0 0 0 0 0 0 1 0

1 1 1 0 0 0 0 0 0 0 1

You might also like