ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Συνδυαστική Λογική / Κυκλώματα (Μέρος ) Διδάσκουσα: Μαρία Κ Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Βελτιστοποίηση κυκλωμάτων πολλαπλών επιπέδων (μετασχηματισμοί) Λογικές Πύλες NAN και NOR πύλες Κυκλώματα με NAN και NOR Υλοποίηση 2 επιπέδων Υλοποίηση πολλαπλών επιπέδων xclusive-or (OR) πύλες Περιττή Συνάρτηση (Odd unction) Παραγωγή και έλεγχος ισοτιμίας (Parity) MKM - 2 Βελτιστοποίηση κυκλωμάτων Πολλαπλών Επιπέδων (Multiple-level level circuit optimization) Βελτιστοποίηση κυκλωμάτων Πολλαπλών Επιπέδων (Multiple-level level circuit optimization) Μπορεί να προσφέρει μεγαλύτερη εξοικονόμηση στο κόστος ενός κυκλώματος Θεωρήστε: G = abc + abe + d + ac + ae κόστος = 5 πύλες + 15 διασυνδέσεις a b c d e abc abe ac ae G G = ab(c+e) + d + a(c+e) κόστος = 5 πύλες + 12 διασυνδέσεις G = (ab+a)(c+e) + d κόστος = 5 πύλες + 9 διασυνδέσεις a b c a b c d e ab(c+e) G a(c+e) a+ab G G = ab(c+e) + d + a(c+e) κόστος = 5 πύλες + 12 διασυνδέσεις a b c d e ab(c+e) a(c+e) G G = a(c+e) + d κόστος = 3 πύλες + 6 διασυνδέσεις e d a c e d c+e a(c+e) G MKM - 3 MKM - 4 Συνδιαστικά Λογικά Κυκλώματα 1
Βελτιστοποίηση κυκλωμάτων Πολλαπλών Επιπέδων (συν) εν υπάρχει συστηματική μέθοδος/αλγόριθμος (όπως χάρτες-karnaugh ή Queen-Mcluskey για διεπίπεδη ελαχιστοποίηση) για πολλαπλά επίπεδα Βασιζόμαστε σε ένα σύνολο βασικών λειτουργιών μετασχηματισμών, για να βρούμε μια καλή λύση, αλλά όχι απαραίτητα βέλτιστη (sub-optimal solution) Μετασχηματισμοί: Παραγοντοποίηση (actoring) Αποσύνθεση (ecomposition) Εξαγωγή (xtraction) Αντικατάσταση (Substitution) Απαλοιφή (limination ή lattening ή ollapsing) MKM - 5 Αλγεβρικοί Μετασχηματισμοί Παραγοντοποίηση (actoring) Εξεύρεση κοινών παραγόντων από SOP ή POS εκφράσεις, πχ: = A + A + A + A (G = 16) Παραγ = A ( + ) + A( + ) (G = 16) Ξανά παραγ = A ( + ) + A( + ) (G = 12) Ξανά παραγ = (A + A)( + ) (G = 10) G= αρ εισόδων για το σύνολο των πυλών = αρ διασυνδέσεων (εκτός ΝΟΤ) MKM - 6 Αλγεβρικοί Μετασχηματισμοί (συν) Αποσύνθεση (ecomposition) Μα Μια συνάρτηση εκφράζεται από ένα σύνολο ο νέων συναρτήσεων, πχ: Θεωρήστε την = (A + A)( + ) (το αποτέλεσμα της προηγούμενης παραγοντοποίησης) Αποσύνθεση: Ορίζουμε 2 νέες συναρτήσεις: Ε = Α +A και H = + = H Άλλο παράδειγμα: = Α( + )(+) + (G=14) Αποσύνθεση: Χ 1 =, 2 = + = A( + ) 2 +Χ 1 = AΧ 1 2 + Χ 1 2 (G=9) MKM - 7 Αλγεβρικοί Μετασχηματισμοί (συν) Εξαγωγή (xtraction) Πολλαπλές συναρτήσεις εκφράζονται από ένα σύνολο νέων συναρτήσεων, πχ : = A + A = A ( + ) και H = + = ( + ) Ορίζουμε = + = A H = Οι 2 συναρτήσεις ( και Η) έχουν κοινό υλικό (Ε) A MKM - 8 H Συνδιαστικά Λογικά Κυκλώματα 2
Αλγεβρικοί Μετασχηματισμοί (συν) Αντικατάσταση (Substitution) Αντικατάσταση μιας συνάρτησης G σε μια συνάρτηση η εκφράζεται ως συνάρτηση της G και κάποιων άλλων μεταβλητών Αυτό το έχουμε ήδη δει να γίνεται στο τέλος της αποσύνθεσης, πχ: = Α( + )(+) + Αποσύνθεση: Χ 1 =, 2 = + = A( + ) 2 +Χ 1 = AΧ 1 2 + Χ 1 2 Αντικατάσταση Αλγεβρικοί Μετασχηματισμοί (συν) Απαλοιφή (limination/lattening lattening/ollapsing) Το αντίθετο της αντικατάστασης η συνάρτηση G (μέρος της ) αναπτύσσεται στην, πχ Έχουμε τις πιο κάτω συναρτήσεις: = + = A + Z = A + Απαλοιφή των και Υ από την Ζ: Ζ = Α ( + ) + (A + ) limination = A + A +A + lattening Συχνά αυξάνει το κόστος, αλλά παρέχει μια νέα SOP μορφή για ελαχιστοποίηση 2 επιπέδων MKM - 9 MKM - 10 Λογικές Πύλες AN, OR και NOT Μπορούμε να κατασκευάσουμε οποιοδήποτε συνδυαστικό κύκλωμα με τις πύλες AN, OR, και NOT UR, NAN και NOR Επιπρόσθετες λογικές πύλες μπορούν να χρησιμοποιηθούν για πρακτικούς λόγους MKM - 11 MKM - 12 Συνδιαστικά Λογικά Κυκλώματα 3
OR και NOR Πύλη NAN OR: πύλη μη-ισοτιμίας NOR: πύλη ισοτιμίας = 0 0 0 0 1 1 1 0 1 1 1 0 = 0 0 1 0 1 0 1 0 0 1 1 1 Είναι γνωστή ως «οικουμενική» ( universal ) πύλη γιατί μπορούμε να υλοποιήσουμε οποιοδήποτε ψηφιακό κύκλωμα μόνο με αυτές τις πύλες Για να αποδείξουμε το πιο πάνω χρειάζεται να δείξουμε ότι οι πύλες AN, OR και NOT μπορούν να εκφραστούν χρησιμοποιώντας μόνο πύλες NAN MKM - 13 MKM - 14 Εξομοίωση πύλης NAN = ( ) = + = = (( ) ) = ( + ) = = = ( ) = + = + = = = + Κυκλώματα NAN Για να βρείτε μια υλοποίηση ενός κυκλώματος χρησιμοποιώντας μόνο πύλες NAN ακολουθήστε τα πιο κάτω βήματα: Βρέστε ένα απλοποιημένο SOP Το SOP είναι ένα AN-OR κύκλωμα Αλλάξτε το AN-OR κύκλωμα σε ένα NAN κύκλωμα Χρησιμοποιήστε τα πιο κάτω εναλλακτικά σύμβολα: MKM - 15 MKM - 16 Συνδιαστικά Λογικά Κυκλώματα 4
Εξομοίωση SOP με NAN Εξομοίωση SOP με NAN (συν) Υλοποίηση 2 επιπέδων a) Αρχικό SOP (AN-OR κύκλωμα) b) Υλοποίηση χρησιμοποιώντας πύλες NAN Επαλήθευση: (a) G = W + Z (b) G = ( (W) (Z) ) = (W) + (Z) = W + Z MKM - 17 MKM - 18 SOP με NAN (ξανά ξανά!) Υλοποίηση 2-επιπέδων με NAN Παράδειγμα (a) (b) (c) Αρχικό SOP AN-NOT ιπλή αντιστροφή (NOT) και ομαδοποίηση Αντικατάσταση με πύλες NAN NOT-OR (,,Z) = Σm(0,6) 1 Εκφράστε την σε SOP μορφή = Z + Z 2 Βρείτε την SOP υλοποίηση για την 3 Αντικατάσταση: AN AN-NOT μορφή της NAN OR NOT-OR μορφή της NAN MKM - 19 MKM - 20 Συνδιαστικά Λογικά Κυκλώματα 5
Παράδειγμα (συν) υεπίπεδη υλοποίηση με πύλες NAN = Z + Z MKM - 21 Κυκλώματα πολλαπλών επιπέδων NAN Ξεκινά από ένα κύκλωμα πολλαπλών επιπέδων: 1 Μετατροπή όλων των πυλών AN σε NAN με σύμβολα AN-NOT NOT 2 Μετατροπή όλων των πυλών OR σε NAN με σύμβολα NOT-OR OR 3 Έλεγχος όλων των αντιστροφέων (bubbles) στο διάγραμμα Για κάθε bubble που δεν εξουδετερώνεται με άλλο bubble πάνω στην ίδια γραμμή, προσθέτουμε μια πύλη NOT ή συμπληρώνουμε την είσοδο MKM - 22 Παράδειγμα Χρησιμοποιήστε πύλες NAN και πύλες NOT για την υλοποίηση της: 1 2 3 4 Ακόμα ένα Παράδειγμα Z= (A+ + )+GH A (1) A+ + (2) (A+ + ) (3) (A+ + )+GH (4) MKM - 23 MKM - 24 Συνδιαστικά Λογικά Κυκλώματα 6
Πιο απλός τρόπος! Παράδειγμα 1 Αντικατάσταση πυλών τύπου AN και OR: A (a) A 7 8 5 6 OI 1 2 4 3 9 (b) 2 Πύλες NOT: 5 7 5 6 A MKM - 25 (c) (d) MKM - 26 Πύλη NOR Επίσης «οικουμενική» πύλη αφού οποιοδήποτε ψηφιακό κύκλωμα μπορεί να υλοποιηθεί μόνο με πύλες NOR Μπορούμε να το αποδείξουμε με τον ίδιο τρόπο που έχουμε αποδείξει την πύλη NAN (διαφάνεια δαφά εα7) Κυκλώματα NOR Για την υλοποίηση μιας συνάρτησης με πύλες NOR : Βρείτε ένα απλοποιημένο POS Το POS είναι ένα κύκλωμα OR-AN Αλλάξτε το OR-AN κύκλωμα σε NOR κύκλωμα Χρησιμοποιήστε τα πιο κάτω σύμβολα MKM - 27 MKM - 28 Συνδιαστικά Λογικά Κυκλώματα 7
Υλοποίηση 2-επιπέδων με NOR Παράδειγμα (,,Z) = Σm(0,6) 1 Εκφράστε την ( ) σε SOP μορφή: 1 = Σm(1,2,3,4,5,7) = Z + Z + Z + Z + Z + Z 2 = + + Z 2 Πάρτε το συμπλήρωμα της για να υπολογίσετε την σε μορφή POS: = ( ) = ('+)(+')(Z ) ) 3 Βρείτε την OR-AN υλοποίηση της 4 Προσθέστε bubbles και αντιστροφείς για την μετατροπή μιας OR-AN υλοποίησης σε μια NOR-NOR υλοποίηση MKM - 29 Παράδειγμα (συν) Υλοποίηση 2 επιπέδων με πύλες NOR = ( )' = ('+)(+')Z' MKM - 30 Κυκλώματα πολλαπλών επιπέδων NOR Ξεκινά από ένα κύκλωμα πολλαπλών επιπέδων: 1 Μετατροπή όλων των πυλών OR σε NOR με σύμβολα OR-NOT 2 Μετατροπή όλων των πυλών AN σε NOR με σύμβολα NOT-AN 3 Έλεγχος όλων των αντιστροφέων (bubbles) στο διάγραμμα Για κάθε bubble που δεν εξουδετερώνεται με άλλο bubble πάνω στην ίδια γραμμή, προσθέτουμε μια πύλη NOT ή συμπληρώνουμε την είσοδο Πιο απλός τρόπος! 1 Αντικατάσταση πυλών τύπου AN και OR: 2 Πύλες NOT: MKM - 31 MKM - 32 Συνδιαστικά Λογικά Κυκλώματα 8
Παράδειγμα Συνάρτηση xclusive-or (OR) A (a) A A (c) 1 (b) 3 2 OR (συμβολίζεται με ) : η συνάρτηση μη-ισοτιμίας OR(,) = = + Ταυτότητες: 0 = 1 = = 0 = 1 Ιδιότητες: = -- Αντιμεταθετική ( ) W = ( W) -- Προσεταιριστική MKM - 33 MKM - 34 Υλοποίηση OR συνάρτησης Κύκλωμα OR με 4 NAN OR(a,b) = ab + a b Άμεσος τρόπος: : 5 πύλες 2 αντιστροφείς, δύο AN 2-εισόδων, μια OR 2-εισόδων ή 2 αντιστροφείς & 3 NAN 2- εισόδων Έμμεσος τρόπος: 4 πύλες NAN MKM - 35 MKM - 36 Συνδιαστικά Λογικά Κυκλώματα 9
Συνάρτηση xclusive-nor (NOR) NOR: η συνάρτηση ισοτιμίας NOR(a,b) ab) = ab + a b ab Παρατηρήστε ότι NOR(a,b) = ( OR(a,b a,b) ) ( a b ) = ( a b + ab ) = (a b) (ab ab ) = (a + b ) (a +b) = ab + a b a b = ( a b ) = a b Περιττή Συνάρτηση (Odd unction) x y = x y + xy x y z = xy z + x yz + x y z +xyz x y z w = x yzw + xy zw + xyz w + xyzw + x y z w + x yz w + x y zw +xy z w Παρατηρείτε κάτι που επαναλαμβάνεται εδώ; MKM - 37 MKM - 38 Περιττή Συνάρτηση (Odd unction) x y = x y + xy x y z = xy z + x yz + x y z +xyz x y z w = x yzw + xy zw + xyz w + xyzw + x y z w + x yz w + x y zw +xy z w Παρατηρείτε κάτι που επαναλαμβάνεται εδώ; Μια συνάρτηση OR n-εισόδων είναι αληθής (=1) για όλους τους ελαχιστόρους που έχουν περιττό αριθμό από 1 Γι αυτό το OR είναι γνωστό ως «η περιττή συνάρτηση» MKM - 39 Περιττή Συνάρτηση (συν) Οι ελαχιστόροι απέχουν 2 τετράγωνα ο ένας από τον άλλον MKM - 40 Συνδιαστικά Λογικά Κυκλώματα 10
Περιττή Συνάρτηση (συν) Άρτια Συνάρτηση Πως θα υλοποιούσατε μια άρτια συνάρτηση; Από το συμπλήρωμα του OR NOR Υλοποίηση με OR 2-εισόδων MKM - 41 MKM - 42 Παραγωγή ισοτιμίας και έλεγχος Οι περιττές και άρτιες συναρτήσεις μπορούν να χρησιμοποιηθούν για την υλοποίηση κυκλωμάτων ελέγχου ισοτιμίας (parity check) που χρησιμοποιούνται για εξεύρεση λαθών και τη διόρθωσή τους Γεννήτρια Ισοτιμίας (Parity Generator): το κύκλωμα που παράγει το bit ισοτιμίας, πριν τη μετάδοση από τον αποστολέα Έλεγχος Ισοτιμίας (Parity heck): το κύκλωμα που ελέγχει την ισοτιμία στον παραλήπτη, για εξεύρεση λαθών MKM - 43 Παραγωγή Άρτιας Ισοτιμίας Παράδειγμα Η P(,,Z) πρέπει να παράγει 1 για κάθε συνδυασμό εισόδων που περιέχει περιττό αριθμό από 1 Είναι μια περιττή συνάρτηση 3 ων -εισόδων P = Z MKM - 44 Συνδιαστικά Λογικά Κυκλώματα 11
Έλεγχος Άρτιας Ισοτιμίας Παράδειγμα (συν) Πως θα υλοποιούσατε τον έλεγχο ισοτιμίας για το προηγούμενο παράδειγμα; α) Χρησιμοποιήστε ένα κύκλωμα OR 4 ων -εισόδων (περιττή συνάρτηση) = Z P 1 υποδεικνύει ένα λάθος ή β) Χρησιμοποιήστε ένα NOR κύκλωμα 4 ων -εισόδων (άρτια συνάρτηση) = ( Z P) 1 υποδεικνύει ορθή ισοτιμία MKM - 45 Συνδιαστικά Λογικά Κυκλώματα 12