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 3 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 4 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 5 Combinational logic design 6 Combinational logic design 7 Ký hiệu các gate Combinational logic design 8 các ký hiệu tương ñương sử dụng ñịnh lý DeMorgan Combinational logic design 9 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 10 • (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 11 • 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 12 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 13 Combinational logic design 14 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 15 Combinational logic design 16 • 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 17 Cách thể hiện khác của PALs Combinational logic design 18 ðể thực hiện các hàm logic Combinational logic design 19 ðể thực hiện các output là hằng số Combinational logic design 20 • ðể 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 10 (glitch) Combinational logic design 21 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 22 Combinational logic design 23 • 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 24 PLD với công nghệ bipolar Combinational logic design 25 • 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 26 • ðể 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 27 PLD với công nghệ CMOS Combinational logic design 28 • 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 29 EPLD Combinational logic design 30 • 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 31 • ðể 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 32 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 33 • 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 34 74x139 Combinational logic design 35 Combinational logic design 36 Combinational logic design 37 74x138 Combinational logic design 38 Combinational logic design 39 Combinational logic design 40 Combinational logic design 41 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 42 74x49 Combinational logic design 43 Combinational logic design 44 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 45 Combinational logic design 46 Mã hóa ưu tiên 74x149 Combinational logic design 47 Combinational logic design 48 Combinational logic design 49 Combinational logic design 50 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 51 Combinational logic design 52 74x151 Combinational logic design 53 Combinational logic design 54 74x157 Combinational logic design 55 Combinational logic design 56 mở rộng nhiều multiplexer Combinational logic design 57 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 58 Multiplexer – Demultiplexer Combinational logic design 59 EXCLUSIVE OR • Exclusive OR (XOR) và XNOR Combinational logic design 60 thực hiện XOR Combinational logic design 61 Combinational logic design 62 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 63 Combinational logic design 64 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 65 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 66 74x85 So sánh =, > , < (magnitude comparator) Combinational logic design 67 Combinational logic design 68 nối tầng 74x85 Combinational logic design 69 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 70 • 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 71 bộ cộng ñầy ñủ Combinational logic design 72 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 73 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 74 74x181 Combinational logic design 75 Combinational logic design 76 • minus: trừ (số học) • plus: cộng (số học) Combinational logic design 77 Bộ nhân • Tham khảo Combinational logic design 78 Combinational logic design 79