Chương 4: Hệ tổ hợp
Mạch 2 mức
Mạch nhiều mức
Mạch cộng (adder)
Bộ trừ (Subtractor)
Bộ cộng/trừ nhị phân
Hệ Chuyển Mã (Code Conversion)
Bộ Giải Mã (DECODER)
Bộ Mã Hóa (ENCODER)
Bộ Dồn Kênh (Multiplexer - MUX)
Bộ Phân Kênh (DEMUX)
Bộ So Sánh Độ Lớn (Comparator)
Bộ nhân và bộ chia
Khoa KTMT
Vũ Đức Lung
1
Chương 4: Hệ tổ hợp
Mạch tổ hợp (Combinational Circuit) và Mạch tuần tự
(Sequential Circuit)
n input
variables
Combinational
circuit
m output
variables
Sơ
tổhợp
hợp
Lượcđồ
đồkhối
khối mạch
mạch kết
Khoa KTMT
Vũ Đức Lung
2
Mạch 2 mức
Các cổng có tính chất bù (NAND, NOR)thường nhanh hơn và
dễ xây dựng hơn các cổng không đảo (AND, OR)
Mạch NAND-NAND
NAND2
BOR2
Tích cực 0
4
Tích cực 1
1
Các ký hiệu cổng NAND
Ví dụ: hàm đa số 4 biến f(A,B,C,D) dùng cổng AND-OR và
dùng cổng NAND-NAND
f=ABC+ABD+ACD+BCD
Khoa KTMT
Vũ Đức Lung
3
Mạch 2 mức NOR-NOR
Bất kỳ hàm Logic nào cũng có thể mơ tả chỉ dùng cổng NOR
BAND2
NOR2
5
Tích cực 0
Tích cực 0
2
Ví dụ: f(A,B,C,D)=(A+B)(B+D)(A+D)(C+D)(B+C)(A+C)
Khoa KTMT
Vũ Đức Lung
4
Cổng XOR và cổng tương đương
X Y X Y XY
XOR:
X Y XY X Y
XNOR:
XOR
7
XNOR
XNOR = XOR ?
6
VD:
f1 A B C A BC
f 2 A B C ABC
Hàm so sánh bằng của 2 số 2 bit dùng cổng XNOR
Khoa KTMT
Vũ Đức Lung
5
Mạch nhiều mức
Dùng trong tình huống mạng 2 mức không được ưa chuộng
hoặc không khả thi
Khả năng Fan-in, Fan-out
Ví dụ: hàm f=ABC+ABD+ACD+BCD chỉ dùng các cổng 2
đầu vào và 1 đầu ra
Đôi khi giúp tối thiểu hóa hàm logic
– VD: Z=AC+AD+AE+BC+BD+BE+CD
Khoa KTMT
Vũ Đức Lung
6
Các bước thiết kế mạch kết hợp
1. Xác định bài tốn để đi đến kết luận
có những đầu nhập, xuất nào
2. Lập bảng chân trị xác định mối quan
hệ giữa nhập và xuất
3. Dựa vào bảng chân trị, xác định hàm
cho từng ngõ ra
4. Tìm biểu thức rút gọn của từng ngõ ra
phụ thuộc vào các biến ngõ vào
5. Vẽ sơ đồ mạch theo các hàm đã đơn
giản.
Khoa KTMT
Vũ Đức Lung
Prose
Logic
Expression
Synthesis
Minimized
Logic
Expression
Software/
Hardware
System
Implementation
7
Mạch cộng (adder)
Bộ nửa cộng (half adder)
A
B Sum Carry
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
A
XOR
B
1
Sum
AND2
Carry
A
2
S
H.A
B
C
Bảng chân trị và mạch cho bộ nửa cộng
Khoa KTMT
Vũ Đức Lung
8
Mạch cộng (adder)
Bộ cộng đầy đủ(Full Adder)
A
S
B FA
Cin
Khoa KTMT
Vũ Đức Lung
Cout
9
Bộ cộng n bit
Khoa KTMT
Vũ Đức Lung
10
IC cộng nhị phân 4 bit 74LS283
1
S1
Vcc
B1
B2
A1
A2
S0
S2
A0
A3
B0
B3
7
C0
S3
8
GND
C4
2
3
4
5
6
Khoa KTMT
Vũ Đức Lung
16
15
14
13
12
11
10
9
11
Bộ trừ (Subtractor)
Bộ trừ bán phần (H.S):
– Bộ trừ bán phần là hệ tổ hợp có 2 ngõ vào x, y; 2 ngõ ra D (Difference)
và B (Borrow). Hệ có nhiệm vụ thực hiện phép trừ số học 2 bit nhị
phân x - y.
x
x
0
0
1
1
D
H.S
y
B
x
y
y
0
1
0
1
.
.
B
0
1
0
0
D
0
1
1
0
D
B
Khoa KTMT
Vũ Đức Lung
12
Bộ trừ (tt)
Bộ trừ toàn phần (F.S): phép trừ số học 3 bit x - y - z (z biểu
diễn cho bit mượn từ ví trị có trọng số nhỏ hơn gởi tới)
x
y
z
x
0
0
0
0
1
1
1
1
D
F.S
B
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
B
0
1
1
1
0
0
0
1
D
0
1
1
0
1
0
0
1
D = z (xx y)
B = x y + z (xx y)
Khoa KTMT
Vũ Đức Lung
13
Bộ trừ nhị phân n bit
Có 2 cách : Ghép n bộ trừ toàn phần FS và Thực hiện phép cộng với bù
2 của số trừ.
VD: Bộ trừ nhị phân 3 bit (cách 2)
Kết quả: C3 = 1 kết quả dương, C3 = 0 kết quả là số âm
Khoa KTMT
Vũ Đức Lung
14
Bộ cộng/trừ nhị phân
Kết hợp phép cộng và trừ trên cùng một bộ cộng nhị phân.
Sử dụng thêm 1 biến điều khiển T:
T = 0 thực hiện phép cộng, T= 1 thực hiện phép trừ. Ta thấy
phép cộng và phép trừ khác nhau ở ngõ vào yi và C0 .
Khoa KTMT
T
yi
C0
Phép cộng:
0
Ni
0
Phép trừ:
1
Ni
1
Vũ Đức Lung
C0 = T
yi = T Ni
15
Bộ cộng/trừ nhị phân 3 bit
M2 N2
x
C
C3
Khoa KTMT
M1 N1
y
F.A
x
z
C2
C
M0 N0
.
.
y
F.A
x
z
C1
C
T
y
F.A
S
S
S
S2
S1
S0
Vũ Đức Lung
.
z
C0
16
Hệ Chuyển Mã (Code Conversion)
Hệ chuyển mã là hệ tổ hợp có nhiệm vụ là cho 2 hệ thống
tương thích với nhau, mặc dù mỗi hệ thống dùng mã nhị phân
khác nhau.
Hệ chuyển mã có ngõ vào cung cấp các tổ hợp mã nhị phân A
và các ngõ ra tạo ra các tổ hợp mã nhị phân B. Như vậy, ngõ
vào và ngõ ra phải có số lượng từ mã bằng nhau.
Vd: Thiết kế hệ chuyển mã từ mã BCD (A,B,C,D) thành mã BCD quá
3(W,X,Y,Z)
Khoa KTMT
Vũ Đức Lung
17
Bộ Giải Mã (DECODER)
Chuyển từ mã nhị phân thuần túy n bit ở ngõ vào thành mã
nhị phân 1 trong m ở ngõ ra (m = 2n).
– giá trị i của tổ hợp nhị phân ở ngõ vào, thì ngõ ra thứ i sẽ tích cực và
các ngõ ra cịn lại sẽ khơng tích cực.
– Có 2 dạng: ngõ ra tích cực cao (mức 1) và ngõ ra tích cực thấp (mức
0).
Mã nhị
phân n bit
X0
Y0
X1
Y1
Mã nhị phân
1 trong m
Xn-1
Y2n -1
Khoa KTMT
Vũ Đức Lung
18
Bộ Giải Mã (tt)
Bộ giải mã ngõ ra tích cực cao: Yi = mi (i = 0, 1, .. , 2n-1)
Y0
X0 (LSB)
X1
Y1
Y2
Y3
Khoa KTMT
X1
0
0
1
1
X0
0
1
0
1
Y3 Y2 Y1 Y0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
Y0 = X1 X0 = m0
Y2 = X1 X0 = m2
Y1 = X1 X0 = m1
Y3 = X1 X0 = m3
Vũ Đức Lung
19
Bộ Giải Mã (tt)
Bộ giải mã ngõ ra tích cực thấp: Yi = Mi
Y0
X0 (LSB) Y1
X1
Y2
Y3
Khoa KTMT
X1
0
0
1
1
X0
0
1
0
1
Y3 Y2 Y1 Y0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
Y0 = X1 + X0 = M0
Y2 = X1 + X0 = M2
Y1 = X1 + X0
Y3 = X1 X0
Vũ Đức Lung
20