• • • • • • • •
Thiết kế mạch tổ hợp Nguyễn Quốc Cường – 3i
Nội dung Một số quy ñịnh khi viết tài liệu Biểu ñồ thời gian của các mạch Các PLD tổ hợp Các mạch mã hóa Các mạch giải mã Multiplexer So sánh Các mạch số học
Combinational logic design
2
Tài liệu tham khảo • Digital Design: Principles & Practices – John F Wakerly – Printice Hall
Combinational logic design
Một số quy ñịnh khi viết tài liệu • Sơ ñồ khối • Ký hiệu các gate • Mức tích cực cho các chân
Combinational logic design
3
4
Sơ ñồ khối
Combinational logic design
6
5
• Thể hiện các khối chức năng chính của hệ thống • Không quá chi tiết • Cố gắng thể hiện trong một trang
Combinational logic design
Combinational logic design
Ký hiệu các gate
Combinational logic design
7
8
các ký hiệu tương ñương sử dụng ñịnh lý DeMorgan
Combinational logic design
Mức tích cực cho các chân • Thường quy ñịnh nếu có “vòng tròn nhỏ” ñể chỉ tích cực mức thấp • Nếu không có “vòng tròn nhỏ” thì hiểu là tíchc cực mức cao
Combinational logic design
9
10
Combinational logic design
• (a): nếu cả hai input = HIGH thì output = HIGH • (b): nếu cả hai input = HIGH thì output = LOW • (c): nếu cả hai input = LOW thì output = LOW
• Tín hiệu: – Nếu có hậu tố _L thì hiểu là tích cực ở mức thấp – Nếu không có haụa tố _L thì hiểu là tích cực ở mức cao
Combinational logic design
11
12
Biểu ñồ thời gian
Combinational logic design
14
13
• Biễu diễn hoạt ñộng của các tín hiệu là hàm của thời gian • Sử dụng các mũi tên ñể chỉ quan hệ “nhân-quả” của các tín hiệu trong mạch
Combinational logic design
Mạch logic tổ hợp PLD • PLD: Programmable Logic Device • Loại PLD ñầu tiên ñược gọi là PLA (Programmable Logic Arrays): – Mạch logic tổ hợp 2 tầng AND-OR – ðặc trưng bởi: • Số inputs: n • Số output: m • Số các tích: p (thường p nhỏ hơn rất nhiều 2^n)
Combinational logic design
16
15
– Tổng hợp các hàm logic theo kiểu tổng các tích
Combinational logic design
– chính tín hiệu input (buffer) – bù của input (inverter)
• input nối với một buffer ñể tạo ra:
• • • •
18
17
Các dây tín hiệu ñước nối sẵn trong mạch X : dùng ñể ký hiệu nơi có thể thiết lập các kết nối hay không thông qua các cột chì Các input của tầng AND khi ñể hở (không nối với buffer) sẽ ñược thiết lập là HIGH Các input của tầng OR khi ñể hở (không nối với output của tầng AND) sẽ ñược thiết lập là LOW Combinational logic design
Cách thể hiện khác của PALs Combinational logic design
ðể thực hiện các hàm logic
Combinational logic design
ðể thực hiện các output là hằng số
Combinational logic design
19
20
• ðể output = const = 0 nên sử dụng phương pháp O2 hơn là O3:
21
– Khi tất cả input thay ñổi ñồng thời, O3 có khả năng sẽ chuyển 0 10 (glitch)
Combinational logic design
PALs • PALs: Programmable Array Logic: – Chỉ có mảng AND là programmable – Mảng OR là fixed
• Phổ biến nhất là PAL16L8: – 64 hàng, 32 cột, 32 x 64 = 2048 cột chì – Mỗi AND gate có 32 input ứng với 16 biến và phần bù của các biến PAL 16L8 – 8 AND gate liên kết với một pin:
22
• 7 AND gate ñược nối với 7 input của một cổng OR • AND thứ 8 ñược nối với output-enable gate, nếu AND = 1 thì output mới ñược ñưa ra pin Combinational logic design
Combinational logic design
• PAL16L8 chỉ thực hiện ñược các hàm tổng của 7 tích hoặc ít hơn • Trong sơ ñồ chân của PAL16L8: có 20 pin – 2 pin cho VCC và GND – 10 pin cho I1 ñến I10 – 8 pin cho O1 ñến O8 – ðặc biệt: chân O2 ñến O7 là shared: • Input • Output
Combinational logic design
23
24
PLD với công nghệ bipolar
Combinational logic design
25
26
• Hàng ñầu: các mạch open-collector ñược nối với nhau thực hiện chức năng như một mảng AND: – Chỉ một output của buffer là pull-low thì cả cột ñó sẽ có mức LOW – Các cột nối với một mạch ñảo gộp lại như một mảng NAND
• Tương tự cho mảng thứ hai NAND • Với cấu trúc NAND-NAND có tác dụng giống như AND-OR Combinational logic design
28
27
• ðể tạo sự kết nối với các cột sử dụng một cột chì nhỏ • Cột chì sẽ ñược ñốt nóng và làm bốc hơi khi thiết lập một ñiện áp cỡ 20V ñến 30V
Combinational logic design
PLD với công nghệ CMOS
Combinational logic design
30
29
• Việc ñặt cột chì cho các phần tử ñược thực hiện ngay tại bước chế tạo IC: – không linh hoạt, cần ñặt hàng với nhà sản xuất IC – hợp với các ứng dụng có số lượng sản phẩm lớn
• ðể linh hoạt hơn sử dụng EPLD (Erasable Programmable Logic Device)
Combinational logic design
EPLD
Combinational logic design
• Cực thả nổi (floating gate) của MOS transistor:
connected
– Bao quanh bởi các chất cách ñiện – Ban ñầu không có ñiện tích MOS transistor hoạt ñộng bình thường: • nếu input = LOW n-MOS transistor sẽ “off” • nếu input = HIGH n-MOS transistor sẽ “on”
• Khi có ñiện áp cao ñặt vào nonfloating gate:
31
disconnected
– floating gate sẽ nhiễm ñiện tích âm do tác dụng của ñiện trường mạnh – ñiện tích âm vẫn bị giữ lại tại floating gate khi bỏ ñiện áp cao – ñiện tích âm tại floating gate ngăn cản hoạt ñộng của MOS transistor: • nếu input = LOW MOS transistor “off” • nếu input = HIGH MOS transistor sẽ vẫn “off” Combinational logic design
• ðể xóa trạng thái “disconnected”:
32
– Thiết lập ñiện áp trên nonfloating gate ñiện áp cao và ngược dấu ñiện tích trên floating gate sẽ phóng
Combinational logic design
Các bộ giải mã (decoder) • Giải mã: biến ñổi mã ở input sang một mã khác ở output: – n input 2n mã tổ hợp, m output 2m mã tổ hợp – Thường n < m – Bộ giải mã sử dụng nhiều: • Mỗi tổ hợp input sẽ ứng với một bit trong m bit output
Combinational logic design
• Chân EN (Enable):
33
34
– Tích cực: các từ mã input sẽ ñược ánh xạ ñến các từ mã output – Không tích cực: tất cả các từ mã input ñều ñược gán ñến một từ mã duy nhất ở ñầu ra
Combinational logic design
Combinational logic design
36
35
74x139
Combinational logic design
Combinational logic design
74x138
Combinational logic design
37
38
Combinational logic design
Combinational logic design
40
39
Combinational logic design
Bộ giải mã 7 thanh • Bộ giải mã 7 thanh: – input mã BCD – output ñiều khiển hiển thị 7 thanh
Combinational logic design
41
42
Combinational logic design
44
43
74x49
Combinational logic design
Bộ mã hóa (encoder) • Mã hóa: biến ñổi mã ở input sang một mã khác ở output: – n input 2n mã tổ hợp, m output 2m mã tổ hợp – Thường n > m – Bộ giải mã sử dụng nhiều:
Combinational logic design
46
45
• Mỗi bit input sẽ ứng với một tổ hợp của m bit output
Combinational logic design
Combinational logic design
48
47
Mã hóa ưu tiên 74x149
Combinational logic design
Combinational logic design
Combinational logic design
50
49
Dồn kênh (Multiplexer) • Multiplexer: – khóa số nối n input tới ñầu ra của nó phụ thuộc vào tín hiệu ñiều khiển s – thường n = 2, 4, 8,... – s = log2(n)
Combinational logic design
52
51
• Không như dồn kênh tương tự, dồn kênh số chỉ cho tín hiệu ñi theo một chiều: input output
Combinational logic design
Combinational logic design
54
53
74x151
Combinational logic design
Combinational logic design
56
55
74x157
Combinational logic design
mở rộng nhiều multiplexer
Combinational logic design
Demultiplexer • Bộ tách kênh: ngược lại với Multiplexer – 1 input với n output – s tín hiệu chọn kênh output
Combinational logic design
57
58
Multiplexer – Demultiplexer
Combinational logic design
EXCLUSIVE OR • Exclusive OR (XOR) và XNOR
Combinational logic design
59
60
Combinational logic design
62
61
thực hiện XOR
Combinational logic design
Kiểm tra chẵn – lẻ • Một số ứng dụng (truyền tin) cần xem xét:
Combinational logic design
64
63
– số bit 1 trong dãy số là chẵn (even) ? – số bit 1 trong dãy số là lẻ (odd) ?
Combinational logic design
Bộ so sánh • Sử dụng trong các hệ thống máy tính • Sử dụng trong các giao diện thiết bị ñể kiểm tra ID • So sánh 2 số nhị phân: – So sánh bằng hoặc không bằng comparator – So sánh bằng, lớn hơn, nhỏ hơn magnitude comparator
Combinational logic design
74x86
Bộ so sánh bằng và không bằng (comparator) sử dụng 74x86 kết hợp với NOR (74x02) và NAND (74x00) Combinational logic design
65
66
74x85
Combinational logic design
68
67
So sánh =, > , < (magnitude comparator)
Combinational logic design
nối tầng 74x85
Combinational logic design
Bộ cộng • Bộ cộng một nửa (halft adder): cộng hai toán hạng X và Y 1 bit, kết quả cất trong 2 bit: – bit thấp của kết quả ký hiệu HS (halft sum) – bit cao của kết quả ky hiệu CO (carry out)
Combinational logic design
69
70
72
71
• Bộ cộng ñầy ñủ (full adder): dùng ñể cộng hai bit ở vị trí bất kỳ trong dãy số của số hạng nhiều bit X và Y: – Cần có bit carry-in (ñể nhận carry-out từ bit thấp) – Tổng cất trong 2 bit: • bit thấp ký hiệu S • bit cao ký hiệu là COUT
Combinational logic design
bộ cộng ñầy ñủ
Combinational logic design
Ripple adder • Cộng hai số nhị phân n bit: – Sử dụng full adder ñể cộng từng bit – n full adder ñược nối tầng ñể cộng n bit
Combinational logic design
ALU • ALU (Arithemetic and Logic Unit): Là mạch tổ hợp:
73
74
– thực hiện các phép tính số học và logic trên 1 hoặc 2 biến n bit: – Lựa chọn chế ñộ hoạt ñộng thông qua các tín hiệu ñiều khiển
Combinational logic design
Combinational logic design
76
75
74x181
Combinational logic design
Bộ nhân
Combinational logic design
• minus: trừ (số học) • plus: cộng (số học)
• Tham khảo
Combinational logic design
77
78
Combinational logic design
79