Professional Documents
Culture Documents
Chương 5 – phần 2
Mạch tổ hợp:
Các loại mạch khác
1
Nội dung
1. Mạch cộng (Carry Ripple (CR) Adder)
4
Mạch giải mã (Decoder)
• Nhiều ngõ vào/ nhiều ngõ ra
• Ngõ vào (n) thông thường ít hơn ngõ ra (m)
• Chuyển mã ngõ vào thành mã ngõ ra
• Ánh xạ 1-1:
– Mỗi mã ngõ vào chỉ tạo ra một mã ngõ ra
• Các mã ngõ vào:
– Mã nhị phân
enable
– Your Code! inputs
7
Chip 74x139: giải mã nhị phân 2-to-4
Ký hiệu
luận lý
Bảng sự thật
8
Mạch giải mã hoàn chỉnh 74x139
9
Chip 74x138: Giải mã nhị phân 3-to-8
Bảng sự thật
10
74x138
Ký hiệu
luận lý
Mạch luận lý
11
Ghép mạch giải mã
Mạch giải mã
4-to-16
12
Ứng dụng của mạch giải mã
• Một ứng dụng phổ biến là giải mã địa chỉ cho các
chip nhớ
13
Giải mã BCD ra LED 7 đoạn
14
LED 7 đoạn (7-segment display)
• LED 7 đoạn là cách phổ biến để hiển thị số thập phân
hoặc số thập lục phân
– Sử dụng LED cho mỗi đoạn
15
LED 7 đoạn (7-segment display)
16
Giải mã BCD ra LED 7 đoạn
Chuyển số BCD sang thông tin thích hợp để hiển thị trên đèn 7
đoạn
17
Mạch mã hoá (Encoder)
• Nhiều ngõ vào/ nhiều ngõ ra
output
• Chức năng ngược lại với input code
code
mạch giải mã
ENCODER
18
Encoders vs. Decoders
Decoder Encoder
19
Mạch mã hoá nhị phân
(Binary Encoder)
Ký hiệu
Bảng sự thật 20
Hiện thực mạch mã hóa 8-ra-3
Ngõ vào Ngõ ra
I0 I1 I2 I3 I4 I5 I6 I7 Y2 Y1 Y0
1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1
I0
• Rút gọn: I1
Y2
Y0 = I1 + I3 + I5 + I7 I2
Y1 = I2 + I3 + I6 + I7 Y1
I3
Y2 = I4 + I5 + I6 + I7
I4
I5
I6 Y0
I7
21
Hiện thực mạch mã hóa 8-ra-3
I0
• Giới hạn: I1
Y2
• Ứng dụng: I6 Y0
22
Cần có độ ưu tiên trong hầu hết các ứng dụng
23
Mạch mã hoá có độ ưu tiên (Priority Encoder)
• Khi có nhiều hơn 1 ngõ vào tích cực, ngõ ra tạo ra mã của ngõ
vào có độ ưu tiên cao nhất.
Priority encoder
• Priority Encoder: Priority Circuit Binary encoder
H7=I7 (Độ ưu tiên cao nhất) I7 I7 H7 I7
H6=I6.I7’
H5=I5.I6’.I7’ I6 I6 H6 I6
H4=I4.I5’.I6’.I7’ I5 I5 H5 I5 Y2 A2
H3=I3.I4’.I5’.I6’.I7’
H2=I2.I3’.I4’.I5’.I6’.I7’ I4 I4 H4 I4 Y1 A1
H1=I1. I2’.I3’.I4’.I5’.I6’.I7’ I3 I3 H3 I3 Y0 A0
H0=I0.I1’. I2’.I3’.I4’.I5’.I6’.I7’ I2 I2 H2 I2
IDLE= I0’.I1’. I2’.I3’.I4’.I5’.I6’.I7’
I1 I1 H1 I1
• Encoder I0 I0 H0
IDLE
I0
IDLE
A0=Y0 = H1 + H3 + H5 + H7
A1=Y1 = H2 + H3 + H6 + H7
A2=Y2 = H4 + H5 + H6 + H7
24
8-input priority encoder
25
74x148 8-input priority encoder
26
74x148 – Bảng sự thật
27
74x148
Sơ đồ luận lý
28
28
Ghép các priority
encoders
29
6. Multiplexer (MUX)/
Demultiplexer (DeMUX)
30
Multiplexer (MUX)
• Một MUX truyền một trong những ngõ vào
của nó ra ngõ ra dựa trên tín hiệu Select
31
2-to-1 Multiplexer
Minh họa
với Sel = 0
Ký hiệu
Sel Out
0 I0
1 I1
Out =Sel * I0 + Sel * I1
Biểu thức đại số
Mạch logic
32
4-to-1 Mux
• 4-to-1 Mux xuất ra một trong bốn ngõ vào dựa trên
giá trị của 2 tín hiệu select
Bảng sự thật
Ký hiệu
Biểu thức đại số
33
Xây dựng MUX 4-to-1
• Từ MUX 2-to-1
34
Chip 74x151: 1-bit multiplexer 8-to-1
Ký hiệu
Bảng sự thật
Sơ đồ luận lý
35
Demultiplexer
• Demultiplexer (DEMUX) lấy ngõ vào duy nhất và
phân phối nó ra một ngõ ra.
– Mã ngõ vào SELECT sẽ xác định ngõ ra nào sẽ được kết
nối với ngõ vào
36
DEMUX
1-to-8 demultiplexer
Ví dụ hàm XOR
38
Tổng hợp các hàm logic từ MUX
• Giải pháp ở slide trước không hiệu quả vì phải sử dụng
MUX 4-to-1
• Nhận xét:
39
Tổng hợp các hàm logic từ MUX
• Ví dụ: Hiện thực mạch với bảng sự thật sau bằng một
MUX và các cổng khác
A B X
0 0 1
0 1 1
1 0 0
1 1 1
40
Tổng hợp các hàm logic từ MUX
• XOR 3 ngõ vào có thể hiện thực bằng 2 MUX 2-to-1
41
Tổng hợp các hàm logic từ MUX
• Ví dụ: Hiện thực mạch với bảng sự thật sau bằng một
MUX và các cổng logic khác
A B C X
0 0 0 1
0 0 1 1 - Với A là ngõ vào điều khiển
0 1 0 0
0 1 1 1 - Với C là ngõ vào điều khiển
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
42
Biểu thức Shannon
• Bất kì hàm Boolean f(w1,w2, …, wn) có thể được viết
dưới dạng:
43
Biểu thức Shannon
• Ví dụ 1:
f(w1,w2, w3)= w1w2 + w1w3 + w2w3
44
Biểu thức Shannon
45
Biểu thức Shannon
• Ví dụ 2:
46
Biểu thức Shannon
• Ví dụ 3:
47
Ví dụ
• Dùng MUX 4-to-1 và các cổng luận lý cần thiết để hiện
thực hàm sau:
F (a, b, c, d) = SOP (1, 3, 5, 6, 8, 11, 15)
• Yêu cầu: c và d là các ngõ vào điều khiển của MUX 4-ra-1
48
Ví dụ
• Dùng MUX 4-to-1 và các cổng luận lý cần thiết để
hiện thực hàm sau:
F (a, b, c, d) = SOP (1, 3, 5, 6, 8, 11, 15)
49
7. Parity Generator/ Checker
50
Cổng Exclusive OR và Exclusive NOR
Bảng sự thật
51
XOR and XNOR Symbols
• Các biểu tượng tương đương của cổng XOR
52
Ứng dụng của XOR: Mạch Parity
• Mạch Parity chẵn (EVEN): tổng số bit 1 trong chuỗi bit (kể cả bit parity) là số
chẵn.
– Parity bit = 1, nếu số bit 1 trong chuỗi bit (không kể parity) là số lẻ
– Parity bit = 0, nếu số số 1 trong chuỗi bit (không kể parity) là số chẵn
• Mạch Parity lẻ (ODD): tổng số bit 1 trong chuỗi bit (kể cả bit parity) là số lẻ.
• Ví dụ: Mạch tạo Parity 4-bit
Input Even Parity Odd Parity
ODD
0000 0 1
EVEN
0001 1 0
1101 1 0
ODD
1111 0 1
EVEN
1100 0 1
53
Ứng dụng của XOR: Mạch tạo Parity
EVEN
Daisy-Chain Structure
EVEN
Tree structure 54
Ứng dụng của XOR: Mạch Parity
Source: http://en.wikipedia.org/wiki/Parity_bit
55
Chip 74x280: tạo parity chẵn/lẽ từ dữ
liệu 9-bit
Chú ý: Chip 74x280 định nghĩa even/odd parity
ngược lại với định nghĩa trong các slide trước
=> cẩn thận khi sử dụng chip này
56
Bộ tạo và kiểm tra Parity
(Parity generator and checker)
• Cổng XOR và XNOR rất hữu dụng trong các mạch với
mục đích tạo (bộ phát) và kiểm tra (bộ nhận) parity bit
57
Ứng dụng của XOR: Mạch tạo Parity
Source: http://en.wikipedia.org/wiki/Parity_bit 58
Ứng dụng cổng XOR: kiểm tra Parity
Source: http://en.wikipedia.org/wiki/Parity_bit 59
8. Comparator
60
Mạch so sánh (Comperator)
• Mạch so sánh 2 số
– Xuất ra 1 nếu chúng bằng nhau
– Xuất ra 0 nếu chúng khác nhau
• Dựa trên cổng XOR, trả về 0 nếu ngõ vào giống nhau
và 1 nếu chúng khác nhau
61
Mạch so sánh 1 bit
a b gt eq lt
0 0 0 1 0
0 1 0 0 1
1 0 1 0 0
1 1 0 1 0
62
Mạch so sánh 4 bit
a0
b0
a1
b1
eq
a2
b2
a3
b3
63
Mạch so sánh 4 bit
a0
b0
a1
b1
gt
a2
b2
a3
b3
64
Mạch so sánh 4 bit
lt
65
Mạch so sánh 4-bit
• 74x85 là mạch so sánh tiêu chuẩn với những đặc tính sau:
• Chý ý: 3 ngõ vào l, e và g được sử dụng khi ghép nối để tạo mạch
so sánh với số bit nhiều hơn
4
A
B
4
lt
eq
l
gt
e
g
66
Mạch so sánh 16 bit
• Ghép 4 IC 74x85 để xây dựng một mạch so sánh 16 bit
a[ 15:0 ]
b[ 15:0 ]
4 A 4 A 4 A 4 A
4 B lt 4 B
lt 4 B
lt 4 B
lt
eq eq eq 0 eq
l gt l gt l gt l gt
e e e 1 e
g g g 0 g
gt eq lt
Final results of
comparison
67
Mạch so sánh 16 bit
• Mạch sẽ đầu tiên so sánh 4 bit cao nhất ở 2 ngõ vào
68
Ví dụ
• Thiết kế mạch tìm số lớn nhất, số nhỏ nhất trong 4 số
4-bit sử dụng mạch so sánh và MUXs
69
Any question?
70