Απλοποίηση µέσω Πίνακα Karnaugh: Παράδειγµα - 2 Στον παρακάτω πίνακα έχει ήδη γίνει το «βήμα- 1». Επομένως: Βήμα 2: Δεν υπάρχουν απομονωμένα κελιά. Βήμα 3: Στο ζεύγος (3,7) το κελί 3 γειτνιάζει μόνο με το 7. Είναι και το μοναδικό ζεύγος τέτοιου τύπου. Βήμα 4: Δεν υπάρχουν οκτάδες. Βήμα 5: Στην τετράδα (5,6,7,8) το κελί 7 είναι ήδη κομμάτι του ζεύγους (3,7). Στην τετράδα (5,6,9,10) τα κελιά 5,6 είναι ήδη κομμάτια της τετράδας (5,6,7,8) Βήμα 6: Δεν υπάρχουν άλλα ζεύγη Βήμα 7: X =! AB +! BC +! ACD loop 5, 6, 7, 8 loop 5 6, 9, 10 C D C D C D C D A B 0 0 1 0 1 2 3 4 A B 1 1 1 1 5 6 7 8 A B 1 1 0 0 9 10 11 12 A B 0 0 0 0 loop 3, 7 13 14 15 16 Βήμα 1: Κατασκευή του πίνακα Karnaugh. Βήμα 2: Ανεύρεση & περικύκλωση απομονωμένων κελιών με περιεχόμενο «1» (δηλ. αυτών που δεν γειτνιάζουν με άλλα) Βήμα 3: Ανεύρεση & περικύκλωση αυτοτελών ζευγών κελιών με περιεχόμενο «1», δηλαδή ζευγών που περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Ανεύρεση & περικύκλωση οκτάδων κελιών με περιεχόμενο «1», ακόμα και αν κάποια κελιά τους ανήκουν σε προηγουμένως ανευρεθέντα αυτοτελή ζεύγη. Βήμα 5: Ανεύρεση & περικύκλωση τετράδων κελιών με περιεχόμενο «1» που περιέχουν ένα ή περισσότερα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 6: Ανεύρεση & περικύκλωση ζευγών κελιών με περιεχόμενο «1» για να περιληφθούν τα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 7: Διάζευξη (OR) όλων των όρων που προκύπτουν από τις παραπάνω ομάδες. 1
Απλοποίηση µέσω Πίνακα Karnaugh: Παράδειγµα - 3 Στον παρακάτω πίνακα έχει ήδη γίνει το «βήμα- 1». Επομένως: Βήμα 2: Δεν υπάρχουν απομονωμένα κελιά. Βήμα 3: Τα αυτοτελή ζεύγη είναι τα (2,6), (7,8), (9,10) και (11,15). Αυτά περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Δεν υπάρχουν οκτάδες. Βήμα 5: Δεν υπάρχουν τετράδες (Στην τετράδα (6,7,10,11) όλα τα κελιά είναι ήδη τμήματα προηγουμένων ομάδων) Βήμα 6: Δεν υπάρχουν άλλα ζεύγη Βήμα 7: X =! ABC +! ACD +! ABC +! ACD 9, 10 2, 6 7, 8 C D C D C D C D A B 0 1 0 0 1 2 3 4 A B 0 1 1 1 5 6 7 8 A B 1 1 1 0 9 10 11 12 A B 0 0 1 0 13 14 15 16 11, 15 Βήμα 1: Κατασκευή του πίνακα Karnaugh. Βήμα 2: Ανεύρεση & περικύκλωση απομονωμένων κελιών με περιεχόμενο «1» (δηλ. αυτών που δεν γειτνιάζουν με άλλα) Βήμα 3: Ανεύρεση & περικύκλωση αυτοτελών ζευγών κελιών με περιεχόμενο «1», δηλαδή ζευγών που περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Ανεύρεση & περικύκλωση οκτάδων κελιών με περιεχόμενο «1», ακόμα και αν κάποια κελιά τους ανήκουν σε προηγουμένως ανευρεθέντα αυτοτελή ζεύγη. Βήμα 5: Ανεύρεση & περικύκλωση τετράδων κελιών με περιεχόμενο «1» που περιέχουν ένα ή περισσότερα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 6: Ανεύρεση & περικύκλωση ζευγών κελιών με περιεχόμενο «1» για να περιληφθούν τα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 7: Διάζευξη (OR) όλων των όρων που προκύπτουν από τις παραπάνω ομάδες. 2
Απλοποίηση µέσω Πίνακα Karnaugh: Παράδειγµα - 4 Στον παρακάτω πίνακα έχει ήδη γίνει το «βήμα- 1». Επομένως: Βήμα 2: Δεν υπάρχουν απομονωμένα κελιά. Βήμα 3: Δεν υπάρχουν αυτοτελή ζεύγη. Βήμα 4: Δεν υπάρχουν οκτάδες. Βήμα 5: Δεν υπάρχουν τετράδες Βήμα 6: Τα ζεύγη φαίνονται στο σχήμα Βήμα 7: X = ACD + ABC + ABC + ACD C D C D C D C D A B 0 1 0 0 1 2 3 4 A B 0 1 1 1 5 6 7 8 A B 0 0 0 1 9 10 11 12 A B 1 1 0 1 13 14 15 16 Βήμα 1: Κατασκευή του πίνακα Karnaugh. Βήμα 2: Ανεύρεση & περικύκλωση απομονωμένων κελιών με περιεχόμενο «1» (δηλ. αυτών που δεν γειτνιάζουν με άλλα) Βήμα 3: Ανεύρεση & περικύκλωση αυτοτελών ζευγών κελιών με περιεχόμενο «1», δηλαδή ζευγών που περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Ανεύρεση & περικύκλωση οκτάδων κελιών με περιεχόμενο «1», ακόμα και αν κάποια κελιά τους ανήκουν σε προηγουμένως ανευρεθέντα αυτοτελή ζεύγη. Βήμα 5: Ανεύρεση & περικύκλωση τετράδων κελιών με περιεχόμενο «1» που περιέχουν ένα ή περισσότερα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 6: Ανεύρεση & περικύκλωση ζευγών κελιών με περιεχόμενο «1» για να περιληφθούν τα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 7: Διάζευξη (OR) όλων των όρων που προκύπτουν από τις παραπάνω ομάδες. 3
Απλοποίηση µέσω Πίνακα Karnaugh: Παράδειγµα - 5 Για το ίδιο πίνακα όμως Βήμα 2: Δεν υπάρχουν απομονωμένα κελιά. Βήμα 3: Δεν υπάρχουν αυτοτελή ζεύγη. Βήμα 4: Δεν υπάρχουν οκτάδες. Βήμα 5: Δεν υπάρχουν τετράδες Βήμα 6: Τα ζεύγη φαίνονται στο σχήμα Βήμα 7: X = ABD + BCD + BCD + ABD C D C D C D C D A B 0 1 0 0 1 2 3 4 A B 0 1 1 1 5 6 7 8 A B 0 0 0 1 9 10 11 12 A B 1 1 0 1 13 14 15 16 Δηλαδή, υπάρχουν δύο περιπτώσεις ισοδυνάμων λύσεων δεδομένου ότι και οι δύο είναι της ίδιας πολυπλοκότητας. Βήμα 1: Κατασκευή του πίνακα Karnaugh. Βήμα 2: Ανεύρεση & περικύκλωση απομονωμένων κελιών με περιεχόμενο «1» (δηλ. αυτών που δεν γειτνιάζουν με άλλα) Βήμα 3: Ανεύρεση & περικύκλωση αυτοτελών ζευγών κελιών με περιεχόμενο «1», δηλαδή ζευγών που περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Ανεύρεση & περικύκλωση οκτάδων κελιών με περιεχόμενο «1», ακόμα και αν κάποια κελιά τους ανήκουν σε προηγουμένως ανευρεθέντα αυτοτελή ζεύγη. Βήμα 5: Ανεύρεση & περικύκλωση τετράδων κελιών με περιεχόμενο «1» που περιέχουν ένα ή περισσότερα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 6: Ανεύρεση & περικύκλωση ζευγών κελιών με περιεχόμενο «1» για να περιληφθούν τα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 7: Διάζευξη (OR) όλων των όρων που προκύπτουν από τις παραπάνω ομάδες. 4
Απλοποίηση Λογικών Εκφράσεων µέσω Πινάκων Karnaugh Οι πίνακες Karnaugh μπορούν να χρησιμοποιηθούν και για απλοποίηση λογικών εκφράσεων μέσω μιας απλής μεθοδολογίας: 1. Αναπτύσσεται η λογική έκφραση έτσι ώστε να πάρουμε την μορφή «αθροίσματος απλών γινομένων» (όπου το άθροισμα αντιστοιχεί σε διαδοχικά OR ενώ το γινόμενο σε διαδοχικά AND). 2. Κατασκευάζουμε τον πίνακα Karnaugh που αντιστοιχεί στον αριθμό μεταβλητών που εμπλέκονται στην λογική έκφραση. 3. Σε κάθε γινόμενο ευρίσκεται το αντίστοιχο κελί του πίνακα Karnaugh και τοποθετείται «1». 4. Στα κελιά που απομένουν τοποθετείται «0». 5. Προχωρούμε στην απλοποίηση σύμφωνα με την διαδικασία της προηγούμενης παραγράφου. 5
Απλοποίηση Λογικών Εκφράσεων µέσω Πινάκων Karnaugh: Παράδειγµα ( ) + ABC + D Να απλοποιηθεί η έκφραση: y = C ABD + D 1. Αρχικά αναπτύσσουμε την μορφή «αθροίσματος απλών γινομένων» και παίρνουμε y = ABCD + CD + ABC + D. 2. Στην ανωτέρω έκφραση εμπλέκονται 4 μεταβλητές οπότε θα έχουμε έναν 4 4 πίνακα Karnaugh. 3. Σε κάθε όρο της μορφής «αθροίσματος απλών γινομένων» τα κελιά που αντιστοιχούν και γίνονται «1» είναι: ABCD! 1 4. Τα υπόλοιπα κελιά (3,7,11) παίρνουν την τιμή «0». 5. Εφαρμόζοντας τα βήματα 2-7 της προηγούμενης παραγράφου C D C D C D C D A B 1 1 0 1 1 2 3 4 A B 1 1 0 1 5 6 7 8 A B 1 1 0 1 9 10 11 12 A B 1 1 1 1 13 14 15 16 y = C + AB + D CD! 2,6,10,14 ABC! 15,16 D! 1,5,9,13,4,8,12,16 6
Συνθήκες Τύπου «Αδιάφορο» Κατά την σχεδίαση ψηφιακών κυκλωμάτων που σχετίζονται με πρακτικές εφαρμογές είναι δυνατό ορισμένοι συνδυασμοί εισόδων, κύρια επειδή δεν συμβαίνουν ποτέ, να μην επιθυμούμε να αντιστοιχούν σε κάποια συγκεκριμένη επιθυμητή έξοδο, είναι η έξοδος δηλαδή «αδιάφορη» ( don t care ). Για παράδειγμα, στον παρακάτω πίνακα αληθείας οι συνδυασμοί εισόδων (Α=0, Β=C=1) και (Α=1, Β=C=0) έχουν μη συγκεκριμένη επιθυμητή έξοδο, δηλαδή x. Στην κατασκευή του πίνακα Karnaugh που αντιστοιχεί είναι προφανές ότι τα αντίστοιχα κελιά θα πάρουν την τιμή x. Κατά συνέπεια είναι λογικό να θεωρήσουμε τα διάφορα x να παίρνουν, κατά περίπτωση, τέτοιες τιμές ώστε να συντελούν στην δημιουργία μεγαλυτέρων ομάδων πράγμα που θα οδηγήσει σε απλούστερα κυκλώματα. Δεδομένου ότι δεν υπάρχει συστηματικός τρόπος για να αποφασίσουμε την τιμή των x θα πρέπει να στηριχθούμε σε εποπτεία. 7
Τυπικά Συνδυαστικά Κυκλώµατα Τα συνδυαστικά κυκλώματα είναι μία κατηγορία ψηφιακών κυκλωμάτων των οποίων οι έξοδοι, κάθε στιγμή, είναι συναρτήσεις των εισόδων τους και μόνον, εκείνη την στιγμή. Αποκωδικοποιητές (Decoders) Είναι συνδυαστικά κυκλώματα που επιτρέπουν την μετατροπή ενός δυαδικού αριθμού σε κάποιο άλλο τύπο (format). Ετσι, αν έχουν n εισόδους μπορούν να έχουν μέχρι 2 n γραμμές εξόδου και σε κάθε είσοδο να δημιουργείται κάποιο ζητούμενο πρότυπο (pa{ern) εξόδου. Κλασσικό παράδειγμα είναι το ψηφιακό κύκλωμα που οδηγεί τον SSD. Ενα τέτοιο κύκλωμα φαίνεται στο σχήμα. x(t) Combinatorial Digital Circuit y t ( ) ( ) = f x( t) y(t) Αν θελήσουμε να αναλύσουμε αυτό το κύκλωμα, μπορούμε να κατασκευάσουμε τον πίνακα αληθείας που αντιστοιχεί στις απαιτούμενες ενεργοποιήσεις των φωτοδιόδων. Χρησιμοποιώντας την μεθοδολογία της προηγουμένης παραγράφου μπορεί κανείς να βρει τις λογικές συναρτήσεις 8
Τυπικά Συνδυαστικά Κυκλώµατα Αθροιστής (Adder) Ο αθροιστής είναι ένα πολύ σημαντικό κύκλωμα επειδή μέσω αυτού πραγματοποιούνται όχι μόνο η πρόσθεση αλλά και οι άλλες πράξεις. Το σχήμα δείχνει το IC 7483 που είναι ένας αθροιστής τεσσάρων bit. 9
Τυπικά Συνδυαστικά Κυκλώµατα Πολυπλέκτες (MulWplexers MUX) Συνδυαστικά κυκλώματα με τα οποία είναι δυνατή κάθε φορά, μέσω n γραμμών επιλογής, η διέλευση μίας εισόδου από τις 2 n γραμμές εισόδου. Στο σχήμα έχουμε ένας πολυπλέκτη με 3 γραμμές επιλογής (A,B,C), 8 γραμμές ( ) εισόδου D 0, D 1,, D 7 και την γραμμή εξόδου Ζ και την αντίστροφή της, π.χ. για A=1, B=0, C=1 τότε ABC 2 = 101 2 = 5 10 Z = D 5 οπότε διέρχεται η 5η γραμμή δηλ. Χρησιμοποιούνται σε βιομηχανικά ηλεκτρονικά κυκλώματα και ιδιαίτερα σε Σ.Α.Ε. που απαιτείται δειγματοληψία για μετρήσεις. Τα συστήματα συλλογής δεδομένων (Data Acquisi on Systems - DAQ) χρησιμοποιούν MUX στην είσοδό τους για εισαγωγή μετρήσεων (π.χ. πίεση, θερμοκρασία) σε έναν μικροϋπολογιστή ελέγχου. 10
Τυπικά Συνδυαστικά Κυκλώµατα Μία εφαρμογή ελέγχου φαίνεται στο σχήμα όπου αισθητήρες μετρούν στο δοχείο: πίεση, θερμοκρασία, ύψος υγρού και εισροή υγρού. Ακολουθείται μία πολύ απλή στρατηγική ελέγχου σύμφωνα με την οποία: όταν 3 από τις 4 μεταβλητές εξόδου ξεπεράσουν κάποια όρια (έλθουν στην κατάσταση 1 ) τότε ενεργοποιείται ο συναγερμός (Ζ=1) άλλως είναι ανενεργός (Ζ=0). 11
Τυπικά Συνδυαστικά Κυκλώµατα Αποπολυπλέκτες (DemulWplexers DEMUX) Kάνουν ακριβώς το αντίθετο σε σχέση με τους πολυπλέκτες: δηλ. κάνουν δυνατή την σε κάθε στιγμή, μέσω γραμμών επιλογής, διέλευση μίας και μοναδικής εισόδου σε μία επιλεχθείσα γραμμή εξόδου. Στο σχήμα έχουμε έναν αποπολυπλέκτη με n = 3 γραμμές επιλογής (A,B,C), και 2 n = 8 γραμμές εξόδου (O 0, O 1, O 7 ) π.χ. για A =1, B = 0, C =1, ABC 2 = 101 2 = 5 10, οπότε διέρχεται η είσοδος προς την 5 η γραμμή εξόδου δηλ. O 5 = Input 12
Flip-Flop Control Systems Laboratory Το flip- flop είναι ένα βασικό στοιχείο μίας κατηγορίας ψηφιακών κυκλωμάτων των οποίων η έξοδος εξαρτάται όχι μόνο από την τρέχουσα τιμή εισόδου, όπως στα συνδυαστικά κυκλώματα, αλλά και από την προηγούμενη κατάστασή της, δηλαδή y( t) = f x( t), y( t!1) ( ) Αυτά τα κυκλώματα λέγονται σειριακά (sequenwal) και όπως φαίνεται από την παραπάνω σχέση εμπεριέχουν κάποια ιδιότητα μνήμης. Το flip- flop είναι σειριακό κύκλωμα που έχει την δυνατότητα αποθήκευσης μιας κατάστασης (1 ή 0), ενός bit δηλαδή. Υπάρχουν πολλές κατηγορίες flip- flop, αλλά εμείς θα εξετάσουμε τρία πολύ απλά αλλά και πολύ συχνά χρησιμοποιημένα είδη flip- flop, τα : RS, D και JK. 13
Flip-Flop: RS Εχει δύο εισόδους, την είσοδο θέσης S (set) και την είσοδο επαναφοράς R (reset), και δύο εξόδους, τις Q και Q, που σε κανονική λειτουργία θα πρέπει να είναι συμπληρωματικές Q' = Q. Tα RS flip- flop μπορούν να υλοποιηθούν είτε με πύλες NOR είτε με NAND. Είναι εύκολο να πιστοποιήσουμε ότι και για τις δύο υλοποιήσεις : Θέση : όταν S=1, R=0 τότε Q=1, Q' = Q=0 Επαναφορά : όταν S=0, R=1 τότε Q=0, Q' = Q=1, και Αποθήκευση : όταν S=0, R=0 τότε Q(t+1)=Q(t), Q (t+1)=q (t)= Q (t) Ο συνδυασμός εισόδων S=1, R=1 δεν είναι επιθυμητός μιας και οδηγεί σε ταυτοποίηση των εξόδων. Αυτή η συμπεριφορά καταγράφεται στον παρακάτω πίνακα αληθείας. S R S R Q' Q 0 1 Q 14 1 0 1 0 SET CLR Q' S R Q(t+1) 0 0 Q(t) 0 1 0 1 0 1 1 1 - S R Q Q 0 1 0