ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 25 Κεφάλαιο 2-ii: Συνδυαστικά Λογικά Κυκλώµατα (2.6 2.8, ) Περίληψη Υλοποίηση κυκλωµάτων πολλαπλών επιπέδων (µετασχηµατισµοί) Λογικές Πύλες NAND και NOR πύλες Κυκλώµατα NAND και NOR Υλοποίηση 2 επιπέδων Υλοποίηση πολλαπλών επιπέδων Exclusive-OR (OR) πύλες Περιττή Συνάρτηση (Odd( Function) Παραγωγή και έλεγχος ισοτιµίας (Parity( Parity) Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών MKM - 2 Υλοποίηση κυκλωµάτων Πολλαπλών Επιπέδων (Multiple-level level circuit optimization) Μπορεί να προσφέρει µεγαλύτερη εξοικονόµηση στο κόστος ενός κυκλώµατος Θεωρήστε: G = abc + abe + d + ac + ae κόστος = 5 πύλες + 5 διασυνδέσεις G = ab(c+e) ) + d + a(c+e) κόστος = 5 πύλες + 2 διασυνδέσεις G = (ab+a)(c+e( ab+a)(c+e) ) + d κόστος = 4 πύλες + 9 διασυνδέσεις G = a(c+e) ) + d κόστος = 3 πύλες + 6 διασυνδέσεις Υλοποίηση κυκλωµάτων Πολλαπλών Επιπέδων εν υπάρχει συστηµατική µέθοδος/αλγόριθµος (όπως χάρτες-karnaugh ή Queen-McCluskey για διεπίπεδη ελαχιστοποίηση) για πολλαπλά επίπεδα. Βασιζόµαστε σε ένα σύνολο βασικών λειτουργιών µετασχηµατισµών, για να βρούµε µια καλή λύση αλλά όχι απαραίτητα βέλτιστη (sub( sub-optimal solution). Μετασχηµατισµοί: Παραγοντοποίηση (Factoring) Αποσύνθεση (Decomposition)( Εξαγωγή (Extraction)( Υποκατάσταση (Substitution) Απαλοιφή (Elimination ή Flattening ή Collapsing) MKM - 3 MKM - 4 Λογικές Πύλες Μπορούµε να κατασκευάσουµε οποιοδήποτε συνδυαστικό κύκλωµα µε τις πύλες AND, OR, και NOT. BUFFER, NAND και NOR Επιπρόσθετες λογικές πύλες µπορούν να χρησιµοποιηθούν για πρακτικούς λόγους. MKM - 5 MKM - 6 Κυκλώµατα (2.6--2.8,...)
ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 OR και NOR Πύλη NAND OR: πύλη µη-ισότητας NOR: πύλη ισότητας F F F = F = Είναι γνωστή σαν «οικουµενική» ( universal ) πύλη γιατί µπορούµε να εκφράσουµε οποιοδήποτε ψηφιακό κύκλωµα µόνο µε αυτές µε τις πύλες. Για να αποδείξουµε το πιο πάνω χρειάζεται µόνο να δείξουµε ότι οι πύλες AND, OR και NOT µπορούν να εκφραστούν χρησιµοποιώντας µόνο πύλες NAND. MKM - 7 MKM - 8 Εξοµοίωση πύλης NAND F = ( ) = + = F = (( ) ) = ( + ) = = F = ( ) = + = + F = F F = + Κυκλώµατα NAND Για να µπορούµε να βρούµε µια εύκολη υλοποίηση ενός κυκλώµατος χρησιµοποιώντας πύλες NAND ακολουθείστε τα πιο κάτω βήµατα: Βρέστε ένα απλοποιηµένο SOP Το SOP είναι ένα AND-OR κύκλωµα Αλλάξτε το AND-OR κύκλωµα σε ένα NAND κύκλωµα Χρησιµοποιήστε τα πιο κάτω εναλλακτικά σύµβολα MKM - 9 MKM - AND-OR (SOP) Εξοµοίωση χρησιµοποιώντας πύλες NAND AND-OR (SOP) Εξοµοίωση χρησιµοποιώντας πύλες NAND (συν.) Υλοποίηση 2 επιπέδων a) Αρχικό SOP b) Υλοποίηση χρησιµοποιώντας πύλες NAND MKM - Επαληθεύστε τα πιο κάτω: (a) G = W + Z (b) G = ( (W) (Z) ) = (W) + (Z) = W + Z MKM - 2 Κυκλώµατα (2.6--2.8,...) 2
ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 SOP µε NAND (ξανά( ξανά!) (a) Αρχικό SOP (b) ιπλή αντιστροφή και οµαδοποίηση (c) Αντικαταστήστε µε πύλες NAND AND-NOT NOT-OR MKM - 3 Υλοποίηση πυλών NAND 2-επιπέδων F (,,Z) = Σm(,6). Εκφράστε το F σε SOP µορφή F = Z + Z 2. Βρέστε την AND-OR υλοποίηση για το F 3. Αντικατάσταση AND µε AND-NOT µορφή της NAND, και OR µε NOT-OR µορφή της NAND. MKM - 4 (συν.) Υλοποίηση µε πύλες NAND 2 επιπέδων F = Z + Z MKM - 5 Κυκλώµατα πολλαπλών επιπέδων NAND Αρχίστε από ένα πολλαπλού επιπέδου κύκλωµα:. Μετατρέψτε όλες τις πύλες AND σε NAND µε σύµβολα AND-NOT. NOT. 2. Μετατρέψτε όλες τις πύλες OR σε NAND µε σύµβολα NOT-OR. OR. 3. Ελέγξτε όλους τους κύκλους (bubbles)( στο διάγραµµα. Για κάθε κύκλο που δεν εξουδετερώνεται µε άλλο κύκλο πάνω στην ίδια γραµµή, βάλτε µια πύλη NOT ή πάρτε το συµπλήρωµα της εισόδου. MKM - 6 Χρησιµοποίησε πύλες NAND και πύλες NOT για την υλοποίηση των: Z=E F(AB+C +D )+GH AB AB+C +D E F(AB+C +D ) E F(AB+C +D )+GH Ακόµα ένα! MKM - 7 MKM - 8 Κυκλώµατα (2.6--2.8,...) 3
ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 Πύλες NOR Είναι και αυτή µια «οικουµενική» πύλη αφού οποιοδήποτε ψηφιακό κύκλωµα µπορεί να υλοποιηθεί µόνο µε πύλες NOR. Μπορούµε να το αποδείξουµε µε τον ίδιο τρόπο που έχουµε αποδείξει για την πύλη NAND (διαφάνεια( 7). Κυκλώµατα NOR Τα βήµατα που κάνουµε για να βρούµε µια υλοποίηση µε πύλες NOR µιας συνάρτησης: Βρέστε ένα απλοποιηµένο POS Το POS είναι ένα κύκλωµα OR-AND Αλλάξτε το OR-AND κύκλωµα σε NOR κύκλωµα Χρησιµοποιήστε τα πιο κάτω σύµβολα MKM - 9 MKM - 2 Υλοποίηση 2-επιπέδων µε πύλες NOR F(,,Z) = Σm(,6). Εκφράστε το F ( ) σε SOP µορφή:. F = Σm(,2,3,4,5,7) = Z Z + Z Z + Z + Z + Z Z + Z 2. F = + + Z 2. Πάρτε το συµπλήρωµα του F για να πάρουµε το F στην POS µορφή: F = (F ) = ('+)(+')(Z ) 3. Βρέστε την OR-AND υλοποίηση για το F. 4. Προσθέστε κύκλους και αντιστροφείς για την µετατροπή µιας OR-AND υλοποίησης σε µια NOR-NOR υλοποίηση. MKM - 2 (συν.) Υλοποίηση 2 επιπέδων µε πύλες NOR F = (F )' = ('+)(+')Z' MKM - 22 Κυκλώµατα πολλαπλών επιπέδων NOR Αρχίστε από ένα κύκλωµα πολλαπλών επιπέδων:. Μετατρέψτε όλες τις πύλες OR σε NOR µε σύµβολα OR-NOT. 2. Μετατρέψτε όλες τις πύλες OR σε NOR µε σύµβολα NOT-AND. 3. Ελέγξτε όλους τους κύκλους (bubbles)( στο διάγραµµα. Για κάθε κύκλο που δεν εξουδετερώνεται µε άλλο κύκλο πάνω στην ίδια γραµµή, βάλτε µια πύλη NOT ή πάρτε το συµπλήρωµα της εισόδου. Συνάρτηση Exclusive-OR (OR) OR (συµβολίζεται( µε ) : η συνάρτηση µη-ισότητας OR(,) = = + Ταυτότητες: = = = = Ιδιότητες: = -- Αντιµεταθετική ( ) W = ( W) -- Προσεταιριστική MKM - 23 MKM - 24 Κυκλώµατα (2.6--2.8,...) 4
ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 Υλοποίηση OR συνάρτησης Κύκλωµα OR µε 4 NAND OR(a,b) = ab + a b Άµεσος τρόπος: : 5 gates 2 αντιστροφείς, δύο AND 2-εισόδων2 εισόδων, µια OR 2-εισόδων2 ή, 2 αντιστροφείς & 3 NAND 2-2 εισόδων Έµµεσος τρόπος: 4 πύλες NAND MKM - 25 MKM - 26 Συνάρτηση Exclusive-NOR (NOR) NOR: η συνάρτηση ισότητας NOR(a,b) = ab + a b a Παρατηρήστε ότι NOR(a,b) = ( OR(a,b) ) ) ( a b ) ) = ( a b a b + ab ) = (a b) b) (ab ) = (a + b ) b ) (a +b) = ab + a b a a b = ( a b ) ) = a a b Περιττή Συνάρτηση (Odd Function) x y y = x y x y + xy x y z z = xy z + x yzx yz + x y z x z +xyz x y z w w = x yzw x + xy zw + xyz w w + xyzw + x y z w w + x yzx yz w + x y zwx zw +xy z w Παρατηρείτε κάτι που επαναλαµβάνεται εδώ; Μια συνάρτηση OR n-εισόδων είναι αληθής (=) για όλους τους ελαχιστόρους που έχουν περιττό αριθµό από. Έτσι το OR είναι γνωστό σαν η περιττή συνάρτηση MKM - 27 MKM - 28 Περιττή Συνάρτηση (συν.) Περιττή Συνάρτηση (συν.) Οι ελαχιστόροι πρέπει να απέχουν 2 τετράγωνα ο ένας από τον άλλο MKM - 29 MKM - 3 Κυκλώµατα (2.6--2.8,...) 5
ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 Άρτια Συνάρτηση Πως θα υλοποιούσατε µια άρτια συνάρτηση; Από το συµπλήρωµα του OR NOR Παραγωγή ισοτιµίας και έλεγχος Περιττές και άρτιες συναρτήσεις µπορούν να χρησιµοποιηθούν για την υλοποίηση κυκλωµάτων ελέγχου ισοτιµίας που χρησιµοποιούνται για εξεύρεση λαθών και διόρθωση. Γεννήτρια Ισοτιµίας: το κύκλωµα που παράγει το bit ισοτιµίας, πριν την µετάδοση από τον αποστολέα. Έλεγχος Ισοτιµίας: το κύκλωµα που ελέγχει την ισοτιµία στον παραλήπτη, για εξεύρεση λαθών. MKM - 3 MKM - 32 Παραγωγή Άρτιας Ισοτιµίας Το P(,,Z) πρέπει να παράγει για κάθε συνδυασµό εισόδων που περιέχει περιττό αριθµό από Είναι µια περιττή συνάρτηση 3-εισόδων P = Z MKM - 33 Έλεγχος Άρτιας Ισοτιµίας (συν.) Πως θα υλοποιούσατε τον έλεγχο ισοτιµίας για το προηγούµενο παράδειγµα; α) Χρησιµοποιήστε ένα κύκλωµα OR 4-εισόδων (περιττή συνάρτηση) C = Z P υποδεικνύει ένα λάθος ή β) Χρησιµοποιήστε ένα NOR κύκλωµα 4-εισόδων (άρτια συνάρτηση) C = ( Z P) P) υποδεικνύει ορθή ισοτιµία MKM - 34 Κυκλώµατα (2.6--2.8,...) 6