ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Συνδυαστική Λογική (Μέρος Α) Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη υαδική Λογική και Πύλες Άλγεβρα Boole Βασικές ιδιότητες Αλγεβρικός Χειρισμός/Μετασχηματισμός Κανονικές (Canonical) και Πρότυπες (Standard) μορφές Ελαχιστόροι (minterms) και Μεγιστόροι (maxterms) SOP and POS (κανονικές και πρότυπες μορφές) Χάρτες Karnaugh (K-χάρτες χάρτες) Xάρτες 2, 3ων, 4ων, και 5 μεταβλητών Απλοποίηση χρησιμοποιώντας K-χάρτες Επεξεργασία K-χαρτών Implicants: Primes (κύριοι), Essentials (ουσιώδεις ουσιώδεις) Αδιάφοροι όροι (don t cares) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 2 υαδική Λογική Ασχολείται με δυαδικές μεταβλητές που παίρνουν 2 διακριτές τιμές ( και ) και με λογικές (δυαδικές) πράξεις. 3 βασικές πράξεις: AND, OR, NOT υαδικές/λογικές μεταβλητές αναπαριστούνται από γράμματα: A,B,C,,X,Y,Z Συναρτήσεις υαδικής Λογικής F(vars) = έκφραση Σύνολο δυαδικών μεταβλητών Τελεστές Τλ έ ( +,, ) Μεταβλητές Σταθερές (, ) Ομαδοποίηση (παρενθέσεις) Παράδειγμα: : F(a,b) = a b + b G(x,y,z) = x (y+z ) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 3 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 4 Συνδιαστικά Λογικά Κυκλώματα
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Βασικοί Λογικοί Τελεστές AND (επίσης:, ) OR (επίσης: +, ) NOT (επίσης:, ) υαδικοί (Binary) Mοναδιαίος (Unary) F(a,b) = a b, διαβ. F = αν και μόνο αν a=b= G(a,b) = a+b, διαβ. G = αν a = ή αν b= H(a) = a, διαβ. H = aν a = Βασικοί Λογικοί Τελεστές (συν.) Λογικό AND ενός bit (-bit) bit), μοιάζει με δυαδικό δ πολλαπλασιασμό: λ =, =, =, = Λογικό OR ενός bit (-bit) bit), μοιάζει με δυαδική πρόσθεση, εκτός από μία πράξη: + =, + =, + =, + = ( 2 ) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 5 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 6 Πίνακες Αληθείας (Truth Tables) για Λογικές Πράξεις Πίνακας Αληθείας: μορφή πίνακα που εκφράζει μοναδικά τη σχέση μεταξύ των μεταβλητών εισόδου μιας συνάρτησης και των εξόδων της AND 2-Εισόδων A B F=A B OR 2-Εισόδων A B F=A+B A NOT F=A Πίνακες Αληθείας (συν.) Ερώτηση: Η συνάρτηση F( ) εξαρτάται από n μεταβλητές. Πόσες γραμμές υπάρχουν στον αληθοπίνακα του F( ); Απάντηση: 2 n γραμμές, αφού υπάρχουν 2 n πιθανοί δυαδικοί συνδυασμοί (patterns) για n μεταβλητές Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 7 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 8 Συνδιαστικά Λογικά Κυκλώματα 2
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Λογικές Πύλες Οι λογικές πύλες είναι αφαιρετικά μοντέλα στοιχείων ηλεκτρονικών κυκλωμάτων που λειτουργούν με ένα ή περισσότερα σήματα εισόδου και παράγουν ένα σήμα εξόδου. AND 2-Εισόδων OR 2-Εισόδων NOT (Αντιστροφέας) A B F = A B F A G A H B G = A+B H = A Σήματα εισόδου Σήματα εξόδου πυλών Χρονικό Σχεδιάγραμμα (Κυματομορφή -- Waveform) A B F=A B G=A+B H=A t t t 2 t 3 t 4 t 5 t 6 Μεταβάσεις Προϋπόθεση: Ο χρόνος μετάδοσης του σήματος μεταξύ πυλών είναι αμελητέος () Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 9 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - Συνδυαστικά Λογικά Κυκλώματα από Λογικές Συναρτήσεις Θεωρήστε την συνάρτηση F = A + B C + A B Ένα συνδυαστικό κύκλωμα μπορεί να κατασκευαστεί για την υλοποίηση της F, με την κατάλληλη ένωση σημάτων εισόδου και λογικών πυλών: Σήματα εισόδου από τις μεταβλητές της συνάρτησης (A, B, C) Σήματα εξόδου συνάρτηση εξόδου (F) Λογικές Πύλες από λογικές πράξεις C A B Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - F Συνδυαστικά Λογικά Κυκλώματα από Λογικές Συναρτήσεις (συν.) Για να σχεδιάσουμε ένα αποδοτικό κύκλωμα πρέπει να ελαχιστοποιήσουμε το μέγεθος του κυκλώματος (circuit size) και την καθυστέρηση διάδοσης (propagation delay = χρόνος που χρειάζεται ένα σήμα εισόδου να αλλάξει και να γίνει αντιληπτό στην έξοδο) Στον πίνακα αληθείας δίπλα: F = A + B C + A B και G=A + B C Οι πίνακες για τις F και G είναι οι ίδιοι ίδια συνάρτηση (F = G) Η G υλοποιεί την λογική του κυκλώματος (με λιγότερα στοιχεία) A B C F G Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 2 Συνδιαστικά Λογικά Κυκλώματα 3
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Συνδυαστικά Λογικά Κυκλώματα από Λογικές Συναρτήσεις (συν.) C A B C B A F = G F G Άλγεβρα Boole Χρήσιμος μηχανισμός για τον χειρισμό / μετασχηματισμό (απλοποίηση) δυαδικών συναρτήσεων. ρή George Boole (85 85-864): Μια έρευνα για τους νόμους της σκέψης Ορολογία: Παράγοντας (Literal) : Μεταβλητή ή το συμπλήρωμα της Όρος παραγόντων (Τerm erm): υλοποιούν μια πύλη Πολλαπλασιαστικός όρος (Product term): παράγοντες ενωμένοι με (AND) Αθροιστικός όρος (Sum term): παράγοντες ενωμένοι με + (OR) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 3 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 4 Αξιώματα Άλγεβρας Boole X: δυαδική μεταβλητή,,: σταθεροί. X + = X -- αξίωμα μηδενικότητας (ουδέτερο στοιχείο ως προς +) 2. X = X -- μοναδιαίο αξίωμα (ουδέτερο στοιχείο ως προς ) 3. 4. X + = -- μοναδιαία ιδιότητα X = -- ιδιότητα μηδενικότητας 5. X + X = -- Συμπλήρωμα (ως προς +) 6. X X = -- Συμπλήρωμα (ως προς ) Βασικά Θεωρήματα Boole X: δυαδική μεταβλητή,,: σταθεροί 7. X + X = X -- Idepotence (ως προς +) 8. X X = X -- Idepotence (ως προς ) 9. (X ) = X -- Involution (δύο αρνήσεις) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 5 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 6 Συνδιαστικά Λογικά Κυκλώματα 4
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Η αρχή του υϊσμού Ο δυϊσμός (dual) μιας έκφρασης παράγεται με την ανταλλαγή ( και +), και ( και ), δεδομένου ότι η σειρά των πράξεων δεν αλλάζει. εν μπορεί να ανταλλαχθεί το x με x Παράδειγμα: F(x,y,z) = x yz + x y z O δυϊσμός (dual) της F είναι F dual = (x +y+z ) (x +y + z) Το dual δεν ισούται πάντα με την αρχική έκφραση. Εάν μια λογική εξίσωση/ισότητα είναι έγκυρη, τότε το dual της είναι και αυτό έγκυρο. Η αρχή του υϊσμού (συν.) Βάση της αρχής του δυϊσμού, οι ιδιότητες/θεωρήματα 8 έχουν τις ακόλουθες σχέσεις:. X + = X 2. X = X (dual του ) 3. X + = 4. X = (dual του 3) 5. X + X = X 6. X X = X (dual του 5) 7. X + X = 8. X X = (dual του 8) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 7 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 8 Άλλες Ιδιότητες/Θεωρήματα Άλγεβρας Boole Χ, Υ και Ζ: λογικές μεταβλητές. X + Y = Y + X. X Y = Y X --Αντιμεταθετική 2. X + (Y+Z) = (X+Y) + Z 3. X (Y Z) = (X Y) Z --Προσεταιριστικό 4. X (Y+Z) = X Y + X Z 5. X+(Y Z) = (X+Y) (X+Z) -- Επιμεριστική 6. (X + Y) = X Y 7. (X Y) = X + Y -- DeMorgan Γενικά, στο DeMorgan: ( Χ ι ) = (Χ i =..n ( Χ ι ) = (Χ i =..n (Χ ι ), π.χ. ( X + X 2 + + X n ) = X X 2 X n i =..n (Χ ι ), π.χ. ( X X 2 X n ) = X + X 2 + + X n i =..n Θεώρημα Απορρόφησης (Absorption). x + x y = x 2. x (x+y) = x (δυϊσμός του.) Απόδειξη: x + x y = x + x y = x (+y) = x = x Το 2 αληθές λόγω δυϊσμού από. Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 9 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 2 Συνδιαστικά Λογικά Κυκλώματα 5
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Θεώρημα Ομοφωνίας (Consensus) Πίνακες Αληθείας (αναθεώρηση). xy + x z + yz = xy + x z 2. (x+y) (x +z) (y+z)(y+z) = (x+y) (x +z) -- (dual) Απόδειξη: xy + x z + yz = xy + x z + (x+x )yz = xy + x z + xyz + x yz = (xy + xyz) + (x z + x zy) = xy + x z Το 2 αληθές λόγο δυϊσμού. Απαριθμεί όλους τους πιθανούς συνδυασμούς τιμών μεταβλητών και την ανάλογη τιμή συνάρτησης. Στα δεξιά βλέπουμε πίνακες αληθείας για τις τυχαίες συναρτήσεις F (x,y,z), F 2 (x,y,z), και F 3 (x,y,z). x y z F F 2 F 3 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 2 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 22 Πίνακες Αληθείας (συν.) Εκφράσεις Boole - ΟΧΙ μοναδικές Πίνακας Αληθείας: μοναδική (κανονική = canonical) αναπαράσταση α αρά δυαδικών συναρτήσεων υαρτή Εάν οι 2 συναρτήσεις έχουν τους ίδιους πίνακες αληθείας, οι συναρτήσεις είναι ισοδύναμες (ισχύει και αντιστρόφως). Οι πίνακες μπορούν να χρησιμοποιηθούν για την απόδειξη θεωρημάτων ισοδυναμίας. Το μέγεθος ενός πίνακα μεγαλώνει εκθετικά βάση του αριθμού των μεταβλητών που εμπλέκονται. Επομένως, η χρήση δυαδικής άλγεβρας είναι πιο ελκυστική. Αντίθετα με τους πίνακες αληθείας, οι εκφράσεις που αντιπροσωπεύουν μια δυαδική συνάρτηση δεν είναι μοναδικές. Παράδειγμα: F(x,y,z) = x y y z + x y z + x y z G(x,y,z) = x y y z + y z Οι αντίστοιχοι πίνακες αληθείας για τις F() και G() φαίνονται στα δεξιά. Είναι οι ίδιοι!!! Άρα,, F() = G() xy z F G Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 23 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 24 Συνδιαστικά Λογικά Κυκλώματα 6
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Αλγεβρικοί Μετασχηματισμοί Η δυαδική άλγεβρα είναι ένα χρήσιμο εργαλείο για την απλοποίηση ψηφιακών κυκλωμάτων. Γιατί; Απλούστερο συνήθως σημαίνει πιο φτηνό, μικρότερο, γρηγορότερο (διαφάνειες -3) 3). Παράδειγμα: Απλοποίηση F = x yz + x yz + xz. F = x yz + x yz + xz = xy(z+z)+ x y(z+z ) + xz = x y + xz = x y + xz Αλγεβρικοί Μετασχηματισμοί (συν.) Παράδειγμα : Αποδείξετε ότι x y z + x yz + xyz = x z + yz Απόδειξη: x y z + x yz + xyz = x y z + x yz + x yz + xyz = x z (y +y) + yz (x +x) = x z + yz = x z + yz Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 25 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 26 Το συμπλήρωμα μιας συνάρτησης (F F ) Το συμπλήρωμα μιας συνάρτησης παράγεται από την ανταλλαγή ( and +), και ( and ), και το συμπλήρωμα κάθε μεταβλητής (DeMorgan). Αλλιώς, η ανταλλαγή στην στήλη του πίνακα αληθείας της F δίνει την F Το συμπλήρωμα μιας συνάρτησης ΕΝ ΕΙΝΑΙ ΤΟ Ι ΙΟ με το δυϊσμό (dual) μιας συνάρτησης. Συμπλήρωμα: Παράδειγμα Βρείτε την G(x,y,z), εάν αυτή είναι το συμπλήρωμα της F(x,y,z) = xy z + x yz G = F = (xy z + x yz) = (xy z ) (x yz) DeMorgan = (x +y+z) (x+y +z ) DeMorgan ξανά Σημείωση: Το συμπλήρωμα μ μιας συνάρτησης μπορεί να παραχθεί με την εύρεση του δυϊσμού της συνάρτησης, και ακολούθως παίρνοντας το συμπλήρωμα όλων των literals (παραγόντων). Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 27 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 28 Συνδιαστικά Λογικά Κυκλώματα 7
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Κανονικές (Canonical) και Πρότυπες (Standard) Μορφές Χρειαζόμαστε τυποποιημένες τεχνικές για την απλοποίηση δυαδικών συναρτήσεων. Ελαχιστόροι και Μεγιστόροι Άθροισμα ελαχιστόρων & Γινόμενο Μεγιστόρων Γινόμενο και Άθροισμα όρων Άθροισμα Γινομένων (Sum-of-Products -- SOP) και Γινόμενο Αθροισμάτων (Product-of-Sums -- POS) Ορισμοί Παράγοντας: Μεταβλητή ή το συμπλήρωμα της Αθροιστικός όρος: παράγοντες ενωμένοι με + Πολ/σκός όρος: παράγοντες ενωμένοι με Ελαχιστόρος (Minterm) Minterm): πολ/κός όρος στον οποίο όλες οι μεταβλητές εμφανίζονται ακριβώς φορά, με κανονική ή συμπληρωματική μορφή Μεγιστόρος (Maxterm): αθροιστικός όρος στον οποίο όλες οι μεταβλητές εμφανίζονται ακριβώς φορά, με κανονική ή συμπληρωματική μορφή Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 29 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 3 Ελαχιστόρος (Minterm) Αντιπροσωπεύει ακριβώς ένα συνδυασμό στον πίνακα αληθείας. Συμβολίζεται με m j, όπου j είναι το δεκαδικό ισοδύναμο του ελαχιστόρου του αντίστοιχου δυαδικού συνδυασμού (b j ). Μια μεταβλητή στο m j είναι συμπληρωματική εάν η τιμή της στο b j είναι, αλλιώς είναι κανονική. Παράδειγμα: Υποθέστε 3 μεταβλητές (A,B,C), και j =3. Τότε, b j = και ο αντίστοιχος ελαχιστόρος συμβολίζεται με m j = A BC Μεγιστόρος (Maxterm) Αντιπροσωπεύει ακριβώς ένα συνδυασμό στον πίνακα αληθείας. Συμβολίζεται με M j, όπου j είναι το δεκαδικό ισοδύναμο του μεγιστόρου του αντίστοιχου δυαδικού συνδυασμού (b j ). Μια μεταβλητή στο M j είναι συμπληρωματική εάν η τιμή της στο b j είναι, αλλιώς είναι κανονική. Παράδειγμα: Υποθέστε 3 μεταβλητές (A,B,C), και j =3. Τότε, b j = και ο αντίστοιχος μεγιστόρος συμβολίζεται με M j = A+B +C Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 3 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 32 Συνδιαστικά Λογικά Κυκλώματα 8
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Ορισμοί Πινάκων για Ελαχιστόρους και Μεγιστόρους Οι ελαχιστόροι και οι μεγιστόροι είναι εύκολο να αναπαρασταθούν χρησιμοποιώντας πίνακα αληθείας. Παράδειγμα: Υποθέτουμε 3 μεταβλητές x< y < z (< υπονοεί τη διάταξη των μεταβλητών) x y z Minterm x y z = m x y z = m x yz = m 2 x yz = m 3 xy z = m 4 xy z = m 5 xyz = m 6 xyz = m 7 Maxterm x+y+z = M x+y+z = M x+y +z = M 2 x+y +z = M 3 x +y+z = M 4 x +y+z = M 5 x +y +z = M 6 x +y +z = M 7 Κανονικές (Canonical) Μορφές Οποιαδήποτε δυαδική συνάρτηση F( ) μπορεί να εκφραστεί ως ένα μοναδικό άθροισμα ελαχιστόρων και ένα μοναδικό γινόμενο μεγιστόρων (με μια συγκεκριμένη διάταξη μεταβλητών). Μα άλλα λόγια, κάθε συνάρτηση F( ) έχει 2 κανονικές μορφές: Κανονικό SOP (άθροισμα ελαχιστόρων) Κανονικό POS (γινόμενο μεγιστόρων) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 33 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 34 Κανονικές Μορφές (συν.) Κανονικό SOP : Οι ελαχιστόροι που συμπεριλαμβάνονται είναι οι m j, έτσι ώστε F( ) = στην γραμμή j του πίνακα αληθείας της F( ). Κανονικό POS : Οι μεγιστόροι που συμπεριλαμβάνονται είναι οι M j, έτσι ώστε F( ) = στην γραμμή j του αληθοπίνακα της F( ). f (a,b,c) Παράδειγμα Η κανονική SOP μορφή της f ( ) είναι f (a,b,c) = m + m 2 + m 4 + m 6 = a b c + a bc + ab c + abc Η κανονική POS μορφή της f ( ) είναι f (a,b,c) = M M 3 M 5 M 7 = (a+b+c) (a+b +c ) (a+b +c ) ) (a +b+c ) (a +b +c )(a +b +c ) Παρατηρήστε ότι: : m j = (M j ) a b c f Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 35 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 36 Συνδιαστικά Λογικά Κυκλώματα 9
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Χρησιμοποιούμε: και f (a,b,c) = m(,2,4,6), όπου δείχνει ότι το f είναι μια SOP μορφή, και m(,2,4,6) δείχνει ότι οι ελαχιστόροι που συμπεριλαμβάνονται είναι οι m, m 2, m 4 και m 6. f (a,b,c) = M(,3,5,7), όπου δείχνει ότι το f είναι μια POS μορφή, και M(,3,5,7) δείχνει ότι οι μεγιστόροι που συμπεριλαμβάνονται είναι οι M, M 3, M 5 και M 7. Αφού m j = (M j ) για κάθε j, j τότε m(,2,4,6) = M(,3,5,7) = f (a,b,c) ώστε την απόδειξη Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 37 Μετατροπή μεταξύ Κανονικών μορφών Αντιστρέφουμε τα με (ή ή αντίθετα) και αντικαθιστούμε τα j που εμφανίζονται στην αρχική μορφή με αυτά που δεν εμφανίζονται. Παράδειγμα: f (a,b,c) = a b c + a bc + ab c + abc = m + m 2 + m 4 + m 6 = (,2,4,6) = (,3,5,7) = (a+b+c) (a+b +c ) (a +b+c ) (a +b +c ) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 38 Πρότυπες (Standard) Μορφές (Όχι μοναδικές) Οι πρότυπες μορφές είναι «όπως» τις κανονικές μορφές, με εξαίρεση ότι δεν είναι απαραίτητο για όλες τις μεταβλητές να εμφανιστούν σε ένα γινόμενο (SOP) ή άθροισμα (POS) ορών. Παράδειγμα: f (a,b,c) = a b c + bc + ac είναι μια πρότυπη SOP μορφή f (a,b,c) = (a+b+c) (b +c ) (a +c ) είναι μια πρότυπη POS μορφή. Μετατροπή SOP από πρότυπη σε κανονική μορφή Επέκταση μη-κανονικών όρων με την εισαγωγή εκφράσεων ισοδύναμων σε, για κάθε μεταβλητή x που λείπει: (x + x ) = Αφαίρεση διπλότυπων ελαχιστόρων Π.χ. f (a,b,c) = a b c + bc + ac = a b c + (a+a )bc + a(b+b ) (b+b )c = a b c + abc + a bc + abc + ab b c = a b c + abc + a bc + ab c Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 39 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 4 Συνδιαστικά Λογικά Κυκλώματα
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Μετατροπή POS από πρότυπη σε κανονική μορφή Επέκταση μη-κανονικών όρων με την εισαγωγή εκφράσεων ισοδύναμων σε, για κάθε μεταβλητή x που λείπει: (xx ) = Επιμεριστική ιδιότητα Αφαίρεση διπλότυπων μεγιστόρων Π.χ. f (a,b,c) = (a+b+c) (b +c ) (a +c ) (b +c ) +c ) = (a+b+c) (aa aa +b +c ) (a + +b +c ) (a +bb bb +c ) = (a+b+c) (a+ a+b +c ) ( b +c ) (a + a +b +c ) (a +b+c ) (a +c ) (a +b +b +c ) +c ) = (a+b+c) (a+b +c ) (a +b +c ) (a +b+c ) Χάρτες Karnaugh Οι χάρτες Κarnaugh (K-χάρτες χάρτες) είναι γραφικές αναπαραστάσεις δυαδικών συναρτήσεων. Χρησιμοποιούνται ως εργαλεία ελαχιστοποίησης (σε κυκλώματα δύο επιπέδων). Εκτίμηση Κόστους (Συνάρτηση Λογικό Κύκλωμα) : αρ. παραγόντων αρ. εισόδων πυλών αρ. όρων αρ. πυλών, αρ. εισόδων πυλών Βάθος παρενθέσεων αρ. επιπέδων Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 4 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 42 Χάρτες Karnaugh (συν.) Ένας χάρτης Κarnaugh g αποτελείται από 2 n κελιά, για μια συνάρτηση με n μεταβλητές. Κάθε κελί αντιπροσωπεύει μία μόνο γραμμή στον πίνακα αληθείας. ένα κελί αντιστοιχεί σε ένα ελαχιστόρο ή μεγιστόρο της δυαδικής συνάρτησης. Κ-Χάρτης 2 Μεταβλητών x 2 x m 2 3 m 2 m m 3 x x 2 2 m Σημείωση: η σειρά των μεταβλητών είναι ΣΗΜΑΝΤΙΚΗ για το f(x,x 2 ), όπου x είναι η γραμμή, x 2 είναι η στήλη. Το κελί είναι το x x 2. Το κελί είναι ο όρος x x 2, κτλ. Εάν ένας ελαχιστόρος είναι σε μια συνάρτηση, τότε το μπαίνει στο ανάλογο κελί. ή 3 m m 2 m 3 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 43 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 44 Συνδιαστικά Λογικά Κυκλώματα
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Κ-Χάρτης 2 Μεταβλητών (συν.) Κάθε 2 διπλανά κελιά (δεξιά-αριστερά-κάτω- πάνω) στο χάρτη διαφέρουν ΜΟΝΟ κατά μία τιμή μεταβλητής, που εμφανίζεται συμπληρωματική σε ένα κελί και μη- συμπληρωματική σε άλλο κελί. Παράδειγμα: m (=x x 2 ) είναι γειτονικό του m (=x x 2 ) και του m 2 (=x x 2 ), αλλά ΟΧΙ του m 3 (=x x 2 ) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 45 Κ-Χάρτης 2 Μεταβλητών Παράδειγμα f(x,x 2 ) = x x 2 + x x 2 + x x 2 = m + m + m 2 = x + x 2 Το τοποθετείται στον K-χάρτη για τους ελαχιστόρους m, m, m 2 Ομαδοποίηση (ORing) των γειτονικών κελιών με επιτρέπει απλοποίηση Ποία (απλούστερη) συνάρτηση αντιπροσωπεύεται σε κάθε διακεκομμένο σχήμα? g( ) = m + m = x h( ) = m + m 2 = x 2 f(x,x 2 ) = x + x 2 Σημειώστε ότι το m καλύπτεται 2 φορές x 2 x 2 3 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 46 x Κ-Χάρτης 3 ων Μεταβλητών yz m m 4 m m 5 3 2 m 3 4 5 7 6 m 7 - Σημείωση: η: η σειρά των μεταβλητών είναι (x,y,z); yz αντιστοιχεί στη στήλη, x αντιστοιχεί στη γραμμή. - Κάθε κελί είναι γειτονικό με τρία άλλα κελιά (αριστερά ή δεξιά ή πάνω ή κάτω ήκυκλική ακμή (edge wrap)) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 47 m 2 m 6 Κ-Χάρτης 3 ων Μεταβλητών (συν.) Οι τύποι των δομών που είναι είτε ελαχιστόροι ή παράχθηκαν από την επανάληψη του θεωρήματος ελαχιστοποίησης σε ένα χάρτη 3 μεταβλητών δίνονται στα δεξιά. ομάδα 2 όρων Ομάδες των, 2, 4, 8 είναι πιθανές. ομάδα 4 ων όρων ελαχιστόρος Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 48 Συνδιαστικά Λογικά Κυκλώματα 2
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Ελαχιστοποίηση SOP από κανονική σε πρότυπη μορφή χρησιμοποιώντας K-χάρτη Βάζουμε στον K-χάρτη για κάθε όρο γινομένου της συνάρτησης (κανονικό SOP) Για ένα όρο γινομένου με πιο λίγες μεταβλητές, ομαδοποιούμε γειτονικά κελιά που περιέχουν. Οι ομάδες πρέπει να είναι στην δύναμη του 2 (2, 4, 8, ) Εξετάζουμε και τα boundary wraps για K-χάρτες 3 ων ή περισσοτέρων μεταβλητών. Η απάντηση μπορεί να μην είναι μοναδική (μη- κανονική)! πρότυπο SOP Ελαχιστοποίηση Βάλτε τους ελαχιστόρους της δυαδικής συνάρτησης στο χάρτη και ακολούθως ομαδοποιήστε τους όρους Παράδειγμα: : f(a,b,c) = a c + abc + bc Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 49 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 5 Ελαχιστοποίηση Βάλτε τους ελαχιστόρους της δυαδικής συνάρτησης στο χάρτη και ακολούθως ομαδοποιήστε τους όρους Παράδειγμα: : f(a,b,c) = a c + abc + bc a bc Ελαχιστοποίηση Βάλτε τους ελαχιστόρους της δυαδικής συνάρτησης στο χάρτη και ακολούθως ομαδοποιήστε τους όρους Παράδειγμα: : f(a,b,c) = a c + abc + bc Αποτέλεσμα: : f(a,b,c) = a c+ b a bc a bc Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 5 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 52 Συνδιαστικά Λογικά Κυκλώματα 3
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Άλλα Παραδείγματα f (x, y, z) = m(2357) m(2,3,5,7) f (x, y, z) = x y + xz f 2 (x, y, z) = m (,,2,3,6),,, f 2 (x, y, z) = x +yz yz X yz X Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 53 WX Κ-Χάρτης 4 ων -Μεταβλητών YZ m m 4 m 2 m 8 m m 5 m 3 m 9 m 3 m 7 m 5 m m 2 m 6 m 4 m Τα κελιά της ης γραμμής είναι γειτονικά με αυτά της 4ης. Τα κελιά της ης στήλης είναι γειτονικά με αυτά της 4ης. Η σειρά των μεταβλητών είναι: (WXYZ). Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 54 Απλοποίηση Κ-Χαρτών 4 ων -Μεταβλητών Ένα κελί αντιπροσωπεύει ένα ελαχιστόρο με 4 παράγοντες. Ένα ορθογώνιο 2 γειτονικών κελιών αντιπροσωπεύει ένα όρο γινομένου με 3 παράγοντες. Ένα ορθογώνιο 4ων γειτονικών κελιών αντιπροσωπεύει ένα όρο με 2 παράγοντες. Ένα ορθογώνιο 8 γειτονικών κελιών λώ αντιπροσωπεύει ένα όρο με παράγοντα. Ένα ορθογώνιο 6 γειτονικών κελιών παράγει μια συνάρτηση ίση με το λογικό. Παράδειγμα Απλοποιήστε την δυαδική συνάρτηση g(a,b,c,d) = m(,,2,4,5,7,8,9,,2,3). Πρώτα βάλτε την συνάρτηση g( ) στον χάρτη, και ακολούθως ομαδοποιήστε όσα πιο πολλά κελιά με. ab cd g(a,b,c,d) = c +b d +a bd Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 55 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 56 Συνδιαστικά Λογικά Κυκλώματα 4
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Κ-Χάρτης 5 Μεταβλητών Implicants και Prime Implicants (PIs) BC DE 4 2 8 DE BC A= 6 2 3 28 2 5 7 24 6 3 5 4 9 7 2 29 25 9 23 3 27 8 22 3 26 ABCDE Ένας Implicant (Ι) μιας συνάρτησης F( ) είναι ένας όρος που υπονοεί την F( ), με άλλα λόγια,, F(Ι) = Ένας implicant της F( ) ονομάζεται Prime Implicant (PI) εάν (i) είναι Implicant, και (ii) κάθε όρος γινομένου που παράγεται από την διαγραφή ενός παράγοντα του PI, δεν είναι implicant της F( ) A= A BCDE Άρα, ένας Prime Implicant δεν περιέχεται σε πιο μεγάλο (= με λιγότερους παράγοντες) implicant Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 57 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 58 Παράδειγμα Essential Prime Implicants (EPIs) Θεωρήστε την συνάρτηση f(a,b,c,d) της οποίας ο K-χάρτης φαίνεται b δεξιά. ad Το a b δεν είναι prime implicant γιατί περιέχεται στο b. Το acd δεν είναι prime implicant γιατί περιέχεται στο ad. cd ab Τα b, ad, and a cd είναι prime implicants. a b a cd acd Εάν ένας ελαχιστόρος μιας συνάρτησης F( ) περιέχεται σε ΜΟΝΟ prime implicant p, τότε ο p είναι Essential Prime Implicant (EPI) της F( ). b Ένας EPI πρέπει να εμφανίζεται σε όλες τις ad πιθανές SOP εκφράσεις μιας συνάρτησης. Καθορισμός EPI: Παρατάξετε όλους τους prime implicants μιας συνάρτησης. ρηης. ιαλέξτε τους prime implicants που περιέχουν τουλάχιστον όρο που δεν έχει καλυφθεί από άλλο prime implicant. a cd Για το προηγούμενο παράδειγμα, οι PI είναι τα b, ad, και a cd. Όλοι είναι Essential. Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 59 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 6 Συνδιαστικά Λογικά Κυκλώματα 5
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Άλλο Παράδειγμα Θεωρήστε την f 2 (a,b,c,d), της οποίας ο K- χάρτης φαίνεται πιο κάτω. Το μοναδικό essential PI (EPI) είναι το b d. cd ab Συστηματική διαδικασία για την απλοποίηση δυαδικών συναρτήσεων. Βρέστε όλα τα PI της συνάρτησης. 2. Κρατήστε όλα τα Εssential PIs (EPIs). 3. Για τους ελαχιστόρους που δεν περιέχονται στα EPIs, κρατήστε ένα σύνολο άλλων PIs που να τους καλύπτει, με την πιο μικρή επικάλυψη συνόλου. 4. Η παραγόμενη απλοποιημένη συνάρτηση είναι το λογικό OR των όρων γινομένου (PIs και EPIs) που έχουν κρατηθεί. Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 6 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 62 Παράδειγμα f(a,b,c,d) = m(2345745) m(,,2,3,4,5,7,4,5). ab cd 5 ομαδοποιημένοι όροι (PIs), δεν χρειάζονται όλοι. 3 σκιασμένα κελιά καλύφτηκαν από όρο ΜΟΝΟΝ 3 EPIs Ο ελαχιστόρος a bcd είναι ο μόνος που δεν έχει καλυφθεί F(a,b,c,d) = a b + a c + a d + abc ή F(a,b,c,d) = a b + a c + bcd + abc Γινόμενο Αθροισμάτων (POS) Απλοποίηση Απλοποιήστε το SOP στα μηδενικά () της συνάρτησης F( ) στον K-χάρτη ά για να πάρετε το συμπλήρωμα της, F( ). Βρέστε το συμπλήρωμα της F( ), δηλαδή (F ) = F Το συμπλήρωμα μιας δυαδικής συνάρτησης μπορεί να παραχθεί θί με 2 τρόπους: () υϊσμό και μετά συμπλήρωμα κάθε παράγοντα. (2) Θεώρημα DeMorgan s. Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 63 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 64 Συνδιαστικά Λογικά Κυκλώματα 6
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Παράδειγμα Απλοποίησης POS ab cd SOP(F(a,b,c,d)) = a b + a c + abc + bcd SOP(F (a,b,c,d)) (,, = ab + ac + a bcd dual(f ) = (a+b )(a+c )(a +b+c+d ) Συμπλήρωμα των παραγόντων στο dual(f ) δίνει: POS(F(a,b,c,d)) = (a +b)(a +c)(a+b +c +d) (αυτό είναι το ίδιο με την διαφάνεια 62) Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 65 Συνθήκες Αδιαφορίας (Don t care Conditions) Μπορεί να υπάρχει συνδυασμός εισόδων που δεν θα εμφανιστεί ποτέ αν εμφανιστεί, η τιμές στις εξόδους είναι αδιάφορες Η τιμή μιας τέτοιας μεταβλητής είναι αδιάφορη ( don't care). Συμβολίζεται με x ή. Κάθε μεταβλητή ίση με x μπορεί να πάρει την τιμή ή τυχαία σε μια υλοποίηση. Αδιάφορες μεταβλητές χρησιμοποιούνται και για την απλοποίηση συναρτήσεων. Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 66 Ελαχιστοποίηση χρησιμοποιώντας Don t Cares Θεωρήστε τα don't cares ως για να παράξετε PIs. ιαγράψτε PIs που καλύπτουν μόνο don't care ελαχιστόρους. Οι υπόλοιποι don't care ελαχιστόροι καλύπτονται προαιρετικά (δηλαδή, δή μπορεί να καλυφτούν ή μπορεί και όχι). Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 67 ab Παράδειγμα cd Απλοποιήστε τη συνάρτηση x x f(a,b,c,d) = m( m(,2,4,5,6,8,9 245689),2,4,5,6,8,9) και x x f(a,b,c,d) = d( d(,,4,5), της οποίας ο K-χάρτης φαίνεται στα δεξιά. f =ab +cd + a c d + a bc ή x x f = ab +cd + a c d +a bd Οι πρώτοι 2 όροι είναι EPIs, ενώ οι x x τελευταίοι 2 όροι επιλέγονται για να καλύψουν τους ελαχιστόρους m, m 4, and m 5. (Υπάρχουν ακόμη 2 άλλες λύσεις!!!)!) x x Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 68 x x Συνδιαστικά Λογικά Κυκλώματα 7
ΗΜΥ 2: Σχεδιασμός Ψηφιακών Συστημάτων Σεπτέμβριος Άλλο Παράδειγμα Απλοποιήστε την συνάρτηση: g(a,b,c,d) = m( m(,4,2,4,4,2,4) και g(a,b,c,d) = d( d(,5,6,9,,3,5) g = a c + ab ή g = a c +b d ab cd x x x x x x x x x x x x x x x x x x x x x Αλγοριθμική Ελαχιστοποίηση Τι κάνουμε για συναρτήσεις που έχουν περισσότερες ρ από 4-5 μεταβλητές; μταβητς; Χρησιμοποιούμε διαδικασίες/αλγόριθμους ελαχιστοποίησης που μπορούν να προγραμματιστούν = Computer-Aided Design (CAD) π.χ. Αλγόριθμος Quine-McCluskey (βλέπε σημειώσεις) ) π.χ. Espresso Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 69 Σεπτέμβριος Συνδιαστικά Λογικά Κυκλώματα MKM - 7 Συνδιαστικά Λογικά Κυκλώματα 8