Bài giảng Kỹ thuật điện tử số - Bài: Thiết kế mạch tổ hợp - Lê Minh Thùy
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật điện tử số - Bài: Thiết kế mạch tổ hợp - Lê Minh Thùy", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_ky_thuat_dien_tu_so_bai_thiet_ke_mach_to_hop_le_mi.pdf
Nội dung text: Bài giảng Kỹ thuật điện tử số - Bài: Thiết kế mạch tổ hợp - Lê Minh Thùy
- 4. Thiết kế mạch tổ hợp Combinational logic design Lê Minh Thùy– 3i
- Nội dung I. Tổng hợp về các loại mạch logic tổ hợp II. Một số quy định khi viết tài liệu III. Biểu đồ thời gian của các mạch IV. Các PLD tổ hợp V. Một số mạch logic tổ hợp: 1. Các mạch mã hóa 2. Các mạch giải mã 3. Multiplexer 4. So sánh 5. Các mạch số học 6. Bộ so sánh 7. Bộ cộng 8. ALU Combinational logic design 2 9. Bộ nhân
- Tài liệu tham khảo • Digital Design: Principles & Practices – John F Wakerly – Printice Hall Combinational logic design 3
- I. Tổng hợp các loại mạch logic tổ hợp • Output: là một hàm của các giá trị đầu vào (inputs) • Được cấu thành từ việc kết hợp các phần tử logic cơ bản: AND, OR, NOT để tạo ra các mạch phức tạp với chức năng cụ thể Sẽ giới Giới thiêu Đã giới thiệu thiệu sau bây giờ Combinational logic design 4
- II. Một số quy định khi viết tài liệu II. 1 Sơ đồ khối II.2 Ký hiệu các gate II.3 Mức tích cực cho các chân Combinational logic design 5
- II.1 Sơ đồ khối • 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 6
- Combinational logic design 7
- Combinational logic design 8
- II.2 Ký hiệu các gate Combinational logic design 9
- các ký hiệu tương đương sử dụng định lý DeMorgan Combinational logic design 10
- II.3 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 11
- • (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 Combinational logic design 12
- • 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ó hậu tố _L thì hiểu là tích cực ở mức cao Combinational logic design 13
- III. Biểu đồ thời gian • 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 14
- Combinational logic design 15
- Ví dụ 1: Bộ cộng một nửa (Half-Adder) • 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 (half sum) – bit cao của kết quả ký hiệu CO (carry out) • Circuit diagram và bảng chân lý của Half-Adder: X Y X Y Combinational logic design 16
- Ví dụ 2: Bộ cộng đầy đủ (Full-Adder) • 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 Bảng chân lý của Sum (S)? Bảng chân lý của Carry out (COUT)? Combinational logic design 17
- bộ cộng đầy đủ X X OUT Y Y X CIN Y X How about 4bit-full adder? Y How about Subtraction? Combinational logic design 18
- • Ripple Carry 4-bits Adder Thời gian thực hiện: Có thể sử dụng 74HC283 Combinational logic design 19
- • 4-bits Look-Ahead Carry Adder Thời gian thực hiện: Carry generation Carry propagation Combinational logic design 20
- Combinational logic design 21
- Combinational logic design 22
- IV. 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) – Tổng hợp các hàm logic theo kiểu tổng các tích Combinational logic design 23
- Combinational logic design 24
- • input nối với một buffer để tạo ra: – chính tín hiệu input (buffer) – bù của input (inverter) • 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 25
- Cách thể hiện khác của PALs Combinational logic design 26
- Để thực hiện các hàm logic Combinational logic design 27
- Để thực hiện các output là hằng số Combinational logic design 28
- • Để output = const = 0 nên sử dụng phương pháp O2 hơn là O3: – Khi tất cả input thay đổi đồng thời, O3 có khả năng sẽ chuyển 0 1 0 (glitch) Combinational logic design 29
- 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: • 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 30
- Combinational logic design 31
- • 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 32
- PLD với công nghệ bipolar Combinational logic design 33
- • 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 34
- • Để 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 35
- PLD với công nghệ CMOS Combinational logic design 36
- • 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 37
- EPLD Combinational logic design 38
- • Cực thả nổi (floating gate) của MOS transistor: – 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” connected • nếu input = HIGH n-MOS transistor sẽ “on” • Khi có điện áp cao đặt vào nonfloating gate: – 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” disconnected • nếu input = HIGH MOS transistor sẽ vẫn “off” Combinational logic design 39
- • Để xóa trạng thái “disconnected”: – 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 40
- V. Một số mạch logic tổ hợp V.1 Các mạch mã hóa V.2 Các mạch giải mã V.3 Multiplexer/Demultiplexer V.4 Mạch kiểm tra tính chẵn lẻ V.5 So sánh V.6 Các mạch số học Combinational logic design 41
- V.1 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 42
- • Chân EN (Enable): – 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 43
- 74x139 Combinational logic design 44
- Combinational logic design 45
- Combinational logic design 46
- 74x138 Combinational logic design 47
- Combinational logic design 48
- Combinational logic design 49
- Combinational logic design 50
- 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 51
- 74x49 Combinational logic design 52
- Combinational logic design 53
- V.2 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: • Mỗi bit input sẽ ứng với một tổ hợp của m bit output Combinational logic design 54
- Combinational logic design 55
- Mã hóa ưu tiên 74x149 Combinational logic design 56
- Combinational logic design 57
- Combinational logic design 58
- Combinational logic design 59
- V.3 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) • 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 60
- Combinational logic design 61
- 74x151 Combinational logic design 62
- Combinational logic design 63
- 74x157 Combinational logic design 64
- Combinational logic design 65
- mở rộng nhiều multiplexer Combinational logic design 66
- V.4 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 67
- Multiplexer – Demultiplexer Combinational logic design 68
- EXCLUSIVE OR • Exclusive OR (XOR) và XNOR Combinational logic design 69
- thực hiện XOR Combinational logic design 70
- Combinational logic design 71
- V.5 Kiểm tra chẵn – lẻ • Một số ứng dụng (truyền tin) cần xem xét: – số bit 1 trong dãy số là chẵn (even) ? – số bit 1 trong dãy số là lẻ (odd) ? Combinational logic design 72
- Combinational logic design 73
- V.6 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 74
- 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 75
- 74x85 So sánh =, > , < (magnitude comparator) Combinational logic design 76
- Combinational logic design 77
- nối tầng 74x85 Combinational logic design 78
- V.7 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 79
- • 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 80
- bộ cộng đầy đủ Combinational logic design 81
- 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 82
- V.8 ALU • ALU (Arithemetic and Logic Unit): Là mạch tổ hợp: – 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 83
- 74x181 Combinational logic design 84
- Combinational logic design 85
- • minus: trừ (số học) • plus: cộng (số học) Combinational logic design 86
- Bộ nhân • SV báo cáo Combinational logic design 87
- Combinational logic design 88
- Examples: • Question 2: Answer the following questions about the circuit shown in Figure 1 Combinational logic design 89