Ψηφιακά Συστήματα 5. Απλοποίηση με χάρτες Karnaugh
Βιβλιογραφία 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd Thomas L., Ψηφιακά ηλεκτρονικά, ΣΤΕΛΛΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΟΕ, 2007. [14795] 3. Πογαρίδης Δ., Σχεδίαση Ψηφιακών Συστημάτων, ΙΩΝ, 2004. 4. Κ. Φανουράκης, Γ. Πάτσης, Ο. Τσακιρίδης, Σημειώσεις Θεωρίας, Ψηφιακών Ηλεκτρονικών, 2014. 2
Χάρτες ή Πίνακες Καρνώ (KARNAUGH): Για συναρτήσεις μέχρι έξι μεταβλητών. Για περισσότερες παρουσιάζει δυσκολία και συνήθως χρησιμοποιούνται άλλοι μέθοδοι. Αποτελείται από 2 n το πλήθος τετράγωνα, όπου n το πλήθος των μεταβλητών και κάθε τετράγωνο ανήκει σε ένα όρο (ελάχιστο όρο). Εξωτερικά του πίνακα τοποθετούνται όλοι οι δυνατοί συνδυασμοί των μεταβλητών του που αντιστοιχούν στην στήλη ή στην γραμμή. Το βασικό χαρακτηριστικό του είναι ότι αλλάζει η τιμή μιας μόνο μεταβλητής από τετράγωνο σε τετράγωνο οριζόντια ή κάθετα (στις στήλες ή τις γραμμές). Η ιδιότητα αυτή επιτρέπει να χρησιμοποιείται τεχνικά η σχέση X + തX για την απαλοιφή της μεταβλητής που ανήκει σε δυο διαδοχικά (οριζόντια ή κατακόρυφα) τετράγωνα. 3
Karnaugh: Άρα η αρίθμηση των τετραγώνων γίνεται με κώδικα GRAY (είναι συμμετρικός, κυκλικός, ανακλαστικός και από συνδυασμό σε συνδυασμό των μεταβλητών μόνο μια μεταβλητή αλλάζει τιμή π.χ. για δυο μεταβλητές έχουμε 00 01 11 10). Απλοποίηση με Karnaugh: τα έξι βασικά βήματα της τεχνικής απλοποίησης: 1o Βήμα. Κανονική μορφή λογικής συνάρτησης (ΚΜ-ΛΣ) 2o Βήμα. Πλήθος τετραγώνων Χάρτη Καρνώ (ΠΤ-ΧΚ) 3o Βήμα. Συμπλήρωση τετραγώνων χάρτη Καρνώ (ΣΤ-ΧΚ) 4o Βήμα. Σχηματισμός Ομάδων (ΣΧ-ΟΜ) γειτονικών τετραγώνων 5o Βήμα. Απλοποιημένη λογική συνάρτηση (Α.Λ.Σ) 6o Βήμα. Σχεδίαση του Λογικού Κυκλώματος (ΣΧ-Λ.Κ) 4
1 ο Βήμα: Κανονική μορφή λογικής συνάρτησης (ΚΜ-ΛΣ) Η λογική συνάρτηση πρέπει να είναι σε μια από τις κανονικές μορφές της δηλαδή να είναι ΑΕΟ (ή άθροισμα γινομένων Α.Γ) ή ΓΜΟ (ή γινόμενο αθροισμάτων Γ.Α) (όπου όλοι οι όροι περιέχουν όλες τις μεταβλητές στην κανονική ή στην συμπληρωματική μορφή τους). Αν δεν είναι: την μετατρέπουμε πολλαπλασιάζοντας κάθε όρο με την μεταβλητή που λείπει στη μορφή (X + തX) αν είναι στη μορφή ΑΕΟ ή προσθέτοντας σε κάθε όρο την μεταβλητή που λείπει στην μορφή (X തX) αν είναι στη μορφή ΓΜΟ. 5
2 ο Βήμα: Πλήθος τετραγώνων Χάρτη Καρνώ (ΠΤ-ΧΚ) Ανάλογα με το πλήθος των μεταβλητών n της λογικής συνάρτησης, αυτός θα έχει τόσα τετράγωνα, όσο το πλήθος των δυνατών συνδυασμών των μεταβλητών. Το πλήθος των τετραγώνων προκύπτει από τη σχέση Π.Τ=2 n Π.χ. 1) n=2 (Α,Β) 2) n=3 (Α,Β,C) 3) η=4 (Α,B.C,D) 4) n=5 (A,B,C,D,E) 5) n=6 (A,B,C,D,E,F) ΠΤ =2 2 = 4 θέσεις ΠΤ =2 3 = 8 θέσεις ΠΤ =2 4 =16 θέσεις ΠΤ =2 5 =32 θέσεις ΠΤ =2 6 =64 θέσεις 6
2 ο Βήμα (συνέχεια): Χάρτες με διαφορετικό πλήθος: Πλήθος μεταβλητών n=2 έστω (Α,Β) 2 2 = 4 Πλήθος μεταβλητών n=3 έστω (A,B,C) 2 3 = 8 7
2 ο Βήμα (συνέχεια): Χάρτες με διαφορετικό πλήθος: Πλήθος μεταβλητών n=4 έστω (A,B,C,D) 2 4 = 16 Πλήθος μεταβλητών n=5 έστω (A,B,C,D,E) 2 5 = 32 8
2 ο Βήμα (συνέχεια): Χάρτες με διαφορετικό πλήθος: Πλήθος μεταβλητών n=6 (A,B,C,D,E,F) 2 6 = 64 EF CD A 00 01 11 10 00 0 4 12 8 EF 00 CD A 00 01 11 10 16 20 28 24 B 01 11 1 5 13 9 3 7 15 11 01 11 17 21 29 25 19 23 31 27 10 2 6 14 10 10 18 22 30 26 EF 00 CD 00 01 11 10 32 36 44 40 EF 00 CD 00 01 11 10 48 52 60 56 B 01 11 33 37 45 41 35 39 47 43 01 11 49 53 61 57 51 55 63 59 10 34 38 46 42 10 50 54 62 58 9
3 ο Βήμα Συμπλήρωση τετραγώνων χάρτη Καρνώ (ΣΤ-ΧΚ): α) Σημειώνουμε ένα 1 στα τετράγωνα των οποίων οι συντεταγμένες τους αντιστοιχούν στους όρους της συνάρτησης, όταν είναι στην μορφή ΑΕΟ και στα υπόλοιπα τετράγωνα βάζουμε μηδέν 0. β) Σημειώνουμε μηδέν 0 στα τετράγωνα των οποίων συντεταγμένες τους αντιστοιχούν στους όρους της συνάρτησης, όταν είναι στην μορφή ΓΜΟ και στα υπόλοιπα τετράγωνα βάζουμε ένα 1. Παράδειγμα: Συμπλήρωση τετραγώνων Χ.Κ αν η λογική συνάρτηση είναι : α) Στην μορφή ΑΕΟ (ή ΑΓ) έστω Z = A B C + AB C + ABC + ABC = Σ(0,5,6,7) Συμπληρώνουμε τον ΧΚ σημειώνοντας άσσο στα τετράγωνα που δείχνουν τα βάρη της συνάρτησης. 10
3 ο Βήμα (συνέχεια) Συμπλήρωση τετραγώνων χάρτη Καρνώ (ΣΤ-ΧΚ): Παράδειγμα (συνέχεια): Συμπλήρωση τετραγώνων Χ.Κ αν η λογική συνάρτηση είναι : β) Στην μορφή ΓΜΟ (ή ΓΑ) έστω Z = (A +B + C )(A + B + C)(A + B + C )(A + B + C) Με την ιδιότητα De Morgan εκφράζουμε την λογική συνάρτηση στη μορφή του συμπληρώματος οπότε έχουμε Z = ABC + A BC + A B C + A B C = Σ(0, 1,2,7) και στη συνέχεια σημειώνουμε μηδενικά στα αντίστοιχα τετράγωνα που δείχνουν τα βάρη της συνάρτησης. Οι παραπάνω συναρτήσεις τοποθετημένες στους χάρτη Καρνώ φαίνονται παρακάτω. 11
4 ο Βήμα Σχηματισμός Ομάδων (ΣΧ-ΟΜ) γειτονικών τετραγώνων: Πρέπει να σχηματίσουμε "ομάδες γειτονικών τετραγώνων" τα οποία να έχουν περιεχόμενο ένα 1 ή μηδέν 0 ανάλογα με τη μορφή θέλουμε να εκφράσουμε την τελική λογική συνάρτηση. Τέτοιες ομάδες γειτονικών τετραγώνων μπορεί να αποτελούν ένα ορθογώνιο παραλληλόγραμμο (οριζόντιο ή κάθετο) ή ένα τετράγωνο. Εδώ έχουμε μερικούς κανόνες ώστε να πετύχουμε το σωστό αποτέλεσμα Οι κανόνες σχηματισμού των ομάδων είναι: AB CD 00 01 11 10 00 0 01 1 3 11 2 10 4 5 7 6 12 13 15 14 8 9 11 10 4 5 7 6 0 1 3 2 8 9 11 10 12 13 15 14 3 2 0 1 7 6 4 5 15 14 12 13 11 10 8 9 Ο πίνακας θεωρείται ότι δεν έχει άκρα λόγω του κώδικα GRAY. Δηλαδή η επάνω - κάτω γραμμή του πίνακα και η αριστερή - δεξιά στήλη θεωρούνται γειτονικές. 12
4 ο Βήμα (συνέχεια) Κανόνες Σχηματισμού Ομάδων: Στις ομάδες που θα σχηματίσουμε πρέπει να συμπεριληφθούν όλα τα τετράγωνα που έχουν ένα 1 για έκφραση της λογικής συνάρτησης στην μορφή ΑΕΟ ή μηδέν 0 για έκφραση της λογικής συνάρτησης στην μορφή ΓΜΟ. Το πλήθος των γειτονικών τετραγώνων της ομάδας πρέπει να υπακούει στη σχέση Π=2 m, όπου m=0,1,2,3,.. τα οποία περιέχουν μονάδες ή μηδενικά. Μια υποομάδα δηλαδή μπορεί να περιλαμβάνει 1,2,4,8,16,32 κ.λ.π διαδοχικά (γειτονικά) τετράγωνα. Οι ομάδες πρέπει να είναι όσο το δυνατόν μεγαλύτερες (να περιέχουν το μεγαλύτερο δυνατό πλήθος τετραγώνων) και να είναι όσο το δυνατόν λιγότερες (το μικρότερο δυνατό πλήθος ομάδων). 13
4 ο Βήμα (συνέχεια) Παραδείγματα : AB CD 00 01 11 10 1 1 1 1 00 0 4 12 8 01 11 10 1 5 13 9 1 1 3 7 15 11 1 1 2 6 14 10 14
4 ο Βήμα (συνέχεια) Παραδείγματα : Προσοχή για όσους βρόχους είναι κοινοί και στους δυο πίνακες παραλείπεται η μεταβλητή Α (Λογικό!, θα γινόταν απλοποίηση σύμφωνα με Α + ҧ Α ) 15
5 ο Βήμα Απλοποιημένη Λογική Συνάρτηση (Α.Λ.Σ) : Κρατάμε μόνο την μεταβλητή/τες που δεν αλλάζουν κατάσταση στην ομάδα των άσσων (ή των μηδενικών αντίστοιχα) ένα οι μεταβλητές που αλλάζουν κατάσταση απαλείφονται. Από κάθε ομάδα με 2 n γείτονες απαλείφονται n μεταβλητές. Οι όροι των γινομένων που θα προκύψουν από τις ομάδες αθροίζονται και αυτό που προκύπτει αντιστοιχεί στην απλοποιημένη έκφραση της λογικής συνάρτησης στην μορφή Α.Γ Z = BC + B C, ενώ οι όροι των αθροισμάτων που θα προκύψουν πολλαπλασιάζονται και αυτό που προκύπτει αντιστοιχεί στην απλοποιημένη έκφραση της λογικής συνάρτησης στην μορφή Γ.Α Z = (B + C )(B + C) 16
5 ο Βήμα (συνέχεια) Παράδειγμα : Z = B C + D 17
Αδιάφοροι όροι (don't care conditions): Σε μια λογική συνάρτηση που προκύπτει από την μελέτη ενός πρακτικού προβλήματος υπάρχουν όροι που δεν μπορεί να συμβούν. π.χ. ένας δεκαδικός μετρητής των 4 Bits, στον BCD, μπορεί να πάρει 2 4 =16 δυνατούς συνδυασμούς εισόδου όπου μόνο οι δέκα (10) συνδυασμοί χρησιμοποιούνται στην κωδικοποίηση των δέκα ψηφίων, οι άλλοι συνδυασμοί είναι οι λεγόμενοι αδιάφοροι όροι επειδή η τιμή τους 0 ή 1 δεν μας ενδιαφέρει τους σημειώνουμε με Χ στο αντίστοιχο τετράγωνο. Όταν κατά την Α.Λ.Σ. ο σχηματισμός των ομάδων περιέχει αδιάφορους όρους, η τιμή τους επιλέγεται έτσι ώστε να διευκολύνεται όσο γίνεται η απλοποίηση. 18
Αδιάφοροι όροι Παράδειγμα: Χωρίς χρήση αδιάφορων όρων Z = AB C + A BCD Με χρήση αδιάφορων Z = A + BCD Don t cares 19
Εφαρμογές Παράδειγμα 5.1: Να σχεδιαστεί ένα λογικό κύκλωμα με τρεις εισόδους που να δίδει έξοδο Ζ="1" όταν τουλάχιστον δυο από τις εισόδους του "1" (συνάρτηση πλειοψηφίας). 1 ο : Z = A BC + AB C + ABC + ABC Είναι στην Κ.Μ-Λ.Σ 2 ο : 2 3 =8 τετράγωνα, 3 ο : Σ.Τ-ΧΚ, 4 ο : ΣΧ-ΟΜ. 3 ομάδες, 5 ο : Α.Λ.Σ: Η Z = AB + BC + AC 6 ο : ΣΧ-ΛΚ Σχεδιάζουμε το κύκλωμα με τεχνική (ή πύλες) AND- OR και ΝΑΝD. Τα δυο κυκλώματα (σχεδίαση δυο επιπέδων) φαίνονται στα σχήματα A B C Ζ 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 20
Άσκηση 5.1: Να απλοποιηθεί με τη μέθοδο του πίνακα Karnaugh η λογική ΛΥΣΗ συνάρτηση f = AB +ABC +AC 21
Άσκηση 5.1: Να απλοποιηθεί με τη μέθοδο του πίνακα Karnaugh η λογική συνάρτηση f = AB +ABC +AC ΛΥΣΗ f min = A 22
Άσκηση 5.2: Να απλοποιηθεί με τη μέθοδο του πίνακα Karnaugh η λογικές συναρτήσεις a./f 1 = A B D +AB D +ABCD b./f 2 = A B+ABC +AB CD c./f 3 = A B C +A BD+A B C+AB CD ΛΥΣΗ a. f 1min = B D +ABCD b. f 2min = BC +A B+AB CD c. f 3min = A B +A D+AB CD 23
Άσκηση 5.3: Να απλοποιηθούν με τη μέθοδο του πίνακα Karnaugh η λογικές συναρτήσεις a./f 1 = ABC DE +BCD E+CD b./f 2 = Σ(0, 2, 4, 6, 9, 11, 13, 15, 17, 21, 25, 27, 29, 31) ΛΥΣΗ 24
Άσκηση 5.3: Να απλοποιηθούν με τη μέθοδο του πίνακα Karnaugh η λογικές συναρτήσεις a./f 1 = ABC DE +BCD E+CD b./f 2 = Σ(0, 2, 4, 6, 9, 11, 13, 15, 17, 21, 25, 27, 29, 31) ΛΥΣΗ a. f 1min = CD+BCE+ABDE b. f 2min = BE+A B E +AD E 25
Άσκηση 5.4: Από τον πίνακα αλήθειας της συνάρτησης των 3 μεταβλητών A, B, C, να βρεθεί η απλοποιημένη έκφραση και σχεδιαστεί το λογικό κύκλωμα που την πραγματοποιεί με πύλες AND-OR και πύλες NAND. ΛΥΣΗ A B C Ζ 0 0 0 0 X 1 0 0 1 0 2 0 1 0 1 3 0 1 1 1 4 1 0 0 1 5 1 0 1 0 6 1 1 0 X 7 1 1 1 0 26
Άσκηση 5.4: Από τον πίνακα αλήθειας της συνάρτησης των 3 μεταβλητών A, B, C, να βρεθεί η απλοποιημένη έκφραση και σχεδιαστεί το λογικό κύκλωμα που την πραγματοποιεί με πύλες AND-OR και πύλες NAND. ΛΥΣΗ A B C Ζ Η λογική συνάρτηση είναι Z = A BC + A BC + AB C και οι αδιάφοροι όροι είναι: D = A B C + 0 0 0 0 X ABC. AB 1 0 0 1 0 00 01 11 10 C 2 0 1 0 1 1 ο : H Z είναι στην Κ.Μ-Λ.Σ 0 2 6 4 0 X 1 X 1 3 0 1 1 1 2 ο : 2 3 =8 τετράγωνα, 3 ο : Σ.Τ-ΧΚ, 4 ο : ΣΧ-ΟΜ. 2 ομάδες, 1 3 7 5 1 1 4 1 0 0 1 5 ο : Α.Λ.Σ: Η Z = A B + C 5 1 0 1 0 6 ο : ΣΧ-ΛΚ Σχεδιάζουμε το κύκλωμα με τεχνική (ή πύλες) AND-OR και ΝΑΝD. Τα δυο κυκλώματα 6 1 1 0 X (σχεδίαση δυο επιπέδων) φαίνονται στα σχήματα 7 1 1 1 0 A B C A B C 27
Αναφορές 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd Thomas L., Ψηφιακά ηλεκτρονικά, ΣΤΕΛΛΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΟΕ, 2007. [14795] 3. Κ. Φανουράκης, Γ. Πάτσης, Ο. Τσακιρίδης, Σημειώσεις Θεωρίας, Ψηφιακών Ηλεκτρονικών, 2014. 4. Δ. Ψούνης, ΠΛΗ10, Μάθημα 1.3, https://youtu.be/iqy71uvfsnk 28