ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ Ψηφιακά κυκλώματα Σημειώσεις Αναστάσιος Ι. Μπαλουκτσής (Μηχανολόγος/Ηλεκτρολόγος Μηχανικός, Μαθηματικός, PhD) Καθηγητής Τομέας Αρχιτεκτονικής Η/Υ & Βιομηχανικών Εφαρμογών Σέρρες 2004 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Πρόλογος__________________________________________________________________ 5 Συστήματα αριθμών________________________________________________________ 6 Δεκαδικό σύστημα___________________________________________________________________ 6 Παράδειγμα 1.1_________________________________________________________________ 6 Δυαδικό σύστημα____________________________________________________________________ 6 Μετατροπή δεκαδικού σε δυαδικό_____________________________________________________ 8 Παράδειγμα 1.2_________________________________________________________________ 8 Παράδειγμα 1.3_________________________________________________________________ 9 Άλυτα προβλήματα_______________________________________________________________ 10 Βασικές λογικές πράξεις – λογικές πύλες_______________________________________ 10 Ψηφιακή πύλη OR__________________________________________________________________ 11 Ψηφιακή πύλη AND________________________________________________________________ 11 Ψηφιακή πύλη ΝΟΤ_________________________________________________________________ 12 Ψηφιακή πύλη NAND (ΝΟΤ AND)_____________________________________________________ 12 Ψηφιακή πύλη NOR (NOT OR)_________________________________________________________ 12 Ψηφιακή πύλη XOR_________________________________________________________________ 13 Ψηφιακή πύλη XNOR (NOT XOR)______________________________________________________ 13 Συνοπτικός πίνακας λογικών πυλών_____________________________________________________ 14 Δυνατοί πίνακες αληθείας στο δυαδικό σύστημα____________________________________________ 15 Άλλοι τρόποι δυαδικής κωδικοποίησης__________________________________________________ 15 Κωδικοποίηση BCD (Binary Coded Decimal)____________________________________________ 16 Παράδειγμα 1.4________________________________________________________________ 16 Μετατροπή από BCD σε δεκαδικό__________________________________________________ 16 Παράδειγμα 1.5________________________________________________________________ 16 Κώδικας Gray___________________________________________________________________ 17 Κώδικες με ανίχνευση σφάλματος____________________________________________________ 18 Κώδικας περιττής ισοτιμίας_______________________________________________________ 18 Κώδικας άρτιας ισοτιμίας________________________________________________________ 19 Ορισμός των λογικών επιπέδων________________________________________________________ 20 Άλγεβρα Boole___________________________________________________________ 21 Ιδιότητες και κανόνες της άλγεβρας Boole________________________________________________ 21 Λογικές πράξεις με σταθερές________________________________________________________ 21 Λογικές πράξεις με μια μεταβλητή____________________________________________________ 21 Παράδειγμα 1.6________________________________________________________________ 22 Λογικές πράξεις-ιδιότητες με δυο ή περισσότερες μεταβλητές________________________________ 22 Παράδειγμα 1.7________________________________________________________________ 23 Παράδειγμα 1.8________________________________________________________________ 23 Διαδικασία σχεδίασης ψηφιακής λογικής συνάρτησης____________________________ 24 Κανονικές μορφές λογικών συναρτήσεων_________________________________________________ 25 Κανονική μορφή αθροίσματος_______________________________________________________ 25 Παράδειγμα 1.9________________________________________________________________ 25 Παράδειγμα 1.10_______________________________________________________________ 26 Σύντομη γραφή για την κανονική μορφή αθροίσματος_____________________________________ 26 Παράδειγμα 1.11_______________________________________________________________ 27 Παράδειγμα 1.12_______________________________________________________________ 27 Ημιαθροιστής___________________________________________________________________ 29 Κανονική μορφή γινομένου___________________________________________________________ 30 Σύντομη γραφή για την κανονική μορφή γινομένου_______________________________________ 31 Παράδειγμα 1.13_______________________________________________________________ 32 Σύνθεση ψηφιακού κυκλώματος_____________________________________________ 33 Σύνθεση ψηφιακών κυκλωμάτων με πύλες NAND___________________________________________ 34 Παράδειγμα 1.14_______________________________________________________________ 34 Παράδειγμα 1.15_______________________________________________________________ 35 Παράδειγμα 1.16_______________________________________________________________ 35 Αντικατάσταση πυλών με πύλες NAND__________________________________________________ 36 Σύνθεση ψηφιακών κυκλωμάτων με πύλες ΝΟR____________________________________________ 37 Αντικατάσταση πυλών με πύλες NOR____________________________________________________ 37 Ελαχιστοποίηση λογικών συναρτήσεων με τη χρήση των πινάκων Karnaugh_________ 38 Πίνακες Karnaugh__________________________________________________________________ 38 Παράδειγμα 1.17_______________________________________________________________ 40 Παράδειγμα 1.18_______________________________________________________________ 40 Παράδειγμα 1.19_______________________________________________________________ 41 Παράδειγμα 1.20_______________________________________________________________ 41 Ύπαρξη αδιάφορων περιπτώσεων______________________________________________________ 42 Πλήρης Αθροιστής_______________________________________________________________ 43 Σπινθήρες_______________________________________________________________ 45 Παράδειγμα 1.21_______________________________________________________________ 47 Ασκήσεις επανάληψης 1____________________________________________________ 49 Άσκηση 1.1_______________________________________________________________________ 49 Άσκηση 1.2_______________________________________________________________________ 49 Άσκηση 1.3_______________________________________________________________________ 50 Άσκηση 1.4_______________________________________________________________________ 50 Άσκηση 1.5_______________________________________________________________________ 50 Άσκηση 1.6_______________________________________________________________________ 51 Άσκηση 1.7_______________________________________________________________________ 52 Άσκηση 1.8_______________________________________________________________________ 52 Άσκηση 1.9_______________________________________________________________________ 53 Άσκηση 1.10______________________________________________________________________ 54 Κυκλώματα ακολουθιακής λογικής____________________________________________ 57 Γενικές μορφές κυκλωμάτων__________________________________________________________ 57 Flip – Flops_______________________________________________________________________ 58 Το SR (Set-Reset) flip-flop (ff)_______________________________________________________ 59 Το Clocked SR - ff________________________________________________________________ 61 Flip – Flop τύπου D_______________________________________________________________ 61 Flip – Flop τύπου T (Toggle ff)______________________________________________________ 62 Flip – Flop τύπου JK______________________________________________________________ 62 Υλοποίηση σύγχρονων flip-flops με όρους SR-ff____________________________________________ 62 Υλοποίηση σύγχρονων flip-flops με όρους SR-ff____________________________________________ 63 Παράδειγμα 2.1:__________________________________________________________________ 63 Προβλήματα που σχετίζονται με απλά σύγχρονα ff________________________________________ 64 1. Aναπήδηση εισόδου_______________________________________________________ 64 2. Κακή λειτουργία κυκλωμάτων που χρησιμοποιούν διαδοχικά ff________________________ 65 3. Ταλαντώσεις σε ff λόγω ανάδρασης___________________________________________ 65 Μέθοδοι επίλυσης των προβλημάτων_________________________________________________ 66 Διάταξη “Αφέντη – Σκλάβου” ff___________________________________________________ 66 Δημιουργία εσωτερικού ρολογιού για παραγωγή παλμού βραχείας διάρκειας___________________ 66 Εφαρμογές ff_____________________________________________________________ 67 Απλοί καταχωρητές_______________________________________________________________ 68 Καταχωρητές ολίσθησης___________________________________________________________ 68 Κυκλώματα μετρητών_____________________________________________________________ 69 Ασύγχρονοι μετρητές______________________________________________________________ 70 Σύγχρονοι μετρητές_______________________________________________________________ 72 Βασικοί ορισμοί για τους μετρητές____________________________________________________ 73 Τροποποίηση του βασικού σύγχρονου μετρητή για τη δημιουργία ενός MOD-M μετρητή______________ 73 Εισαγωγή στο σχεδιασμό ψηφιακών κυκλωμάτων με διαγράμματα καταστάσεων (state diagrams) 74 Διαγράμματα καταστάσεων___________________________________________________________ 74 Παράδειγμα 2.2________________________________________________________________ 75 Πίνακες Καταστάσεων_______________________________________________________________ 76 Παράδειγμα 2.3________________________________________________________________ 76 Πίνακας διέγερσης και εξισώσεις διέγερσης________________________________________________ 77 Παράδειγμα 2.4________________________________________________________________ 77 Εξισώσεις διέγερσης______________________________________________________________ 78 Παράδειγμα 2.5________________________________________________________________ 79 Πρόβλημα 2.1_________________________________________________________________ 82 Προβλήματα από καταστάσεις που δεν χρησιμοποιούνται_____________________________________ 85 Παράδειγμα 2.6________________________________________________________________ 86 Ασκήσεις επανάληψης 2____________________________________________________ 88 Άσκηση 2.1_______________________________________________________________________ 88 Άσκηση 2.2_______________________________________________________________________ 89 Άσκηση 2.3_______________________________________________________________________ 91 Άσκηση 2.4_______________________________________________________________________ 92 Άσκηση 2.5_______________________________________________________________________ 95 Πρόλογος Οι σημειώσεις αυτές αποτελούν βασικό διδακτικό βοήθημα για το μάθημα «Ψηφιακά Κυκλώματα» που διδάσκεται στο Τμήμα Πληροφορικής & Επικοινωνιών του ΤΕΙ Σερρών στο 3ο εξάμηνο σπουδών. Η ανάπτυξη των ψηφιακών ηλεκτρονικών, που πραγματοποιήθηκε τα τελευταία 30 χρόνια, αποτελεί γεγονός, για το οποίο δεν υπάρχει κάτι ανάλογο σε κανέναν άλλο κλάδο της επιστήμης του μηχανικού. Μάλιστα κατά τη ραγδαία αυτή ανάπτυξη, ενώ το πραγματικό κόστος των ψηφιακών ολοκληρωμένων κυκλωμάτων (hardware) μειώνονταν στο μισό κάθε έτος, η σύνθεση και η πολυπλοκότητά τους τετραπλασιάζονταν κάθε τρία έτη. Έχοντας υπόψη το παραπάνω σκηνικό της ταχύτατης ανάπτυξης, οι σημειώσεις δομήθηκαν με κατεύθυνση να παρέχουν στους φοιτητές τις αναγκαίες θεμελιώδεις έννοιες της ψηφιακής λογικής και ταυτόχρονα να τους εξοικειώνουν με μεθόδους σχεδιασμού και τεχνικές στο επίπεδο του συστήματος. Επίσης, στις σημειώσεις περιλαμβάνονται ασκήσεις για τους φοιτητές με τις λύσεις τους, ώστε να αναδεικνύεται η πρακτική χρησιμότητα των διαφόρων εννοιών που εισάγονται στη θεωρία, αλλά και ο σωστός τρόπος εφαρμογής των. Οπωσδήποτε, για περισσότερη εμβάθυνση, απαιτείται η χρήση πρόσθετης βιβλιογραφίας, η οποία διατίθεται στη βιβλιοθήκη του ΤΕΙ Σερρών. Αναστάσιος Μπαλουκτσής Συστήματα αριθμών Ένα σύστημα αριθμών χρησιμοποιεί ένα σύνολο συμβόλων γνωστό ως ψηφία. Υπάρχουν διάφορα συστήματα αριθμών όπως το δεκαδικό, το δυαδικό κ.λ.π. Δεκαδικό σύστημα Στο δεκαδικό σύστημα χρησιμοποιούνται δέκα ψηφία 0, 1, 2, 3, 4, 5, 6, 7, 8, & 9 , ενώ το 10 ορίζεται ως βάση του συστήματος. Παράδειγμα 1.1: Η γενική μορφή της απεικόνισης στο δεκαδικό σύστημα είναι: ή ο αριθμός παριστάνεται ως όπου dι (0,1,…,9) είναι οι συντελεστές των αντίστοιχων δυνάμεων του 10. Δυαδικό σύστημα Γενικά οι αριθμοί μπορεί να έχουν βάσεις διάφορες του 10, για παράσειγμα: βάση 16, δεκαεξαδικό σύστημα, βάση 8, οκταδικό σύστημα, ή βάση 2, δυαδικό σύστημα. Στο δυαδικό σύστημα που έχει βάση το 2 υπάρχουν δύο ψηφία, το 0 και το 1. Παράδειγμα δυαδικού αριθμού: ο αντίστοιχος δεκαδικός του 1010 είναι ο 8+0+2+0=10 Η μορφή της γενικής παράστασης στο δυαδικό σύστημα είναι: ή ο αριθμός παριστάνεται ως όπου bi (0 ή 1) είναι δυαδικά ψηφία (bits) που παριστάνουν τους συντελεστές των αντίστοιχων δυνάμεων του 2. Για παράδειγμα οι ακέραιοι δυαδικοί αριθμοί με 4 ψηφία είναι της μορφής: Ο μεγαλύτερος αριθμός με 4 ψηφία είναι ο 1111 ο οποίος είναι ισοδύναμος με τον δεκαδικό αριθμό 15. Γενικά ένας δυαδικός αριθμός με n ψηφία μπορεί να παραστήσει ένα εύρος από 2n δεκαδικoύς αριθμούς: 1 ψηφίο 0 και 1 2 ψηφία 0 - 3 3 ψηφία 0 - 7 4 ψηφία 0 - 15 5 ψηφία 0 – 31 κ.λ.π. Μετατροπή δεκαδικού σε δυαδικό Για τη μετατροπή ενός ακέραιου δεκαδικού σε δυαδικό χρησιμοποιείται η διαδικασία της διαδοχικής διαίρεσης ως εξής: Γενική μορφή ενός ακεραίου δυαδικού είναι: και ο αντίστοιχος δεκαδικός του: συνεπώς παρατηρούμε ότι διαιρώντας τον D με το 2 προκύπτει ως πηλίκο το και ως υπόλοιπο το Κατόπιν διαιρώντας το πηλίκο με 2 θα προκύψει ως νέο πηλίκο το και υπόλοιπο Επαναλαμβάνεται η διαδικασία μέχρι να προκύψει πηλίκο μηδέν. Τα υπόλοιπα των διαιρέσεων είναι ουσιαστικά τα ψηφία του δυαδικού αριθμού. Παράδειγμα 1.2: Να μετατραπεί ο ακέραιος 1910 στον αντίστοιχο δυαδικό B2 Απάντηση --(επαλήθευση) 1η διαίρεση με το 2; D/2=19/2= πηλίκο 9 και υπόλοιπο 1 άρα b0=1 2η διαίρεση με το 2; 9/2= πηλίκο 4 και υπόλοιπο 1 άρα b1=1 3η διαίρεση με το 2; 4/2= πηλίκο 2 και υπόλοιπο 0 άρα b2=0 4η διαίρεση με το 2; 2/2= πηλίκο 1 και υπόλοιπο 0 άρα b3=0 5η διαίρεση με το 2; 1/2= πηλίκο 0 και υπόλοιπο 1 άρα b4=1 συνεπώς ο αντίστοιχος δυαδικός αριθμός είναι: Β2=10011=1910 Για τη μετατροπή του κλασματικού μέρους ενός δεκαδικού αριθμού στο αντίστοιχο κλασματικό μέρος του δυαδικού χρησιμοποιείται η διαδικασία των διαδοχικών πολλαπλασιασμών ως εξής: Γενική μορφή του κλασματικού μέρους ενός δυαδικού είναι: και το αντίστοιχο κλασματικό μέρος του δεκαδικού είναι: συνεπώς παρατηρούμε ότι πολλαπλασιάζοντας τον D με το 2 προκύπτει; άρα το ακέραιο μέρος του νέου αριθμού (0 ή 1) είναι το ψηφίο και το κλασματικό του μέρος το Κατόπιν πολλαπλασιάζουμε το νέο κλασματικό μέρος με 2 οπότε προκύπτει το ψηφίο Επαναλαμβάνεται η διαδικασία μέχρι να προκύψει κλασματικό μέρος μηδέν ή να επιτευχθεί η επιθυμητή ακρίβεια. Παράδειγμα 1.3: Να μετατραπεί ο δεκαδικός 28.375 στον αντίστοιχο δυαδικό Απάντηση Πρώτα υπολογίζεται το ακέραιο μέρος: 1η διαίρεση με το 2: D/2=28/2= πηλίκο 14 και υπόλοιπο 0 άρα b0=0 2η διαίρεση με το 2: 14/2= πηλίκο 7 και υπόλοιπο 0 άρα b1=0 3η διαίρεση με το 2: 7/2= πηλίκο 3 και υπόλοιπο 1 άρα b2=1 4η διαίρεση με το 2: 3/2= πηλίκο 1 και υπόλοιπο 1 άρα b3=1 5η διαίρεση με το 2: 1/2= πηλίκο 0 και υπόλοιπο 1 άρα b4=1 Συνεπώς το ακέραιο μέρος του δυαδικού είναι: 111002 Κατόπιν υπολογίζεται το κλασματικό μέρος του δυαδικού: 0,375 x 2 = 0,75 με ακέραιο μέρος 0 και κλασματικό 0,75 0.75 x 2 = 1.50 με ακέραιο μέρος 1 και κλασματικό 0,50 0.50 x 2 = 1.00 με ακέραιο μέρος 1 και κλασματικό 0 Συνεπώς το κλασματικό μέρος του δυαδικού είναι: ,0112 Ο αντίστοιχος δυαδικός είναι: 11100, 0112 Άλυτα προβλήματα: (1) Να μετατραπούν οι δεκαδικοί αριθμοί στους αντίστοιχους δυαδικούς: (α) 710 (β) 3910 (γ) 7510 (δ) 13010 (ε) 0,87510 (2) Να μετατραπούν οι δυαδικοί αριθμοί στους αντίστοιχους δεκαδικούς: --(επαλήθευση) (α) 001012 (β) 1010112 (γ) 0,11012 (δ) 111101,1011112 Βασικές λογικές πράξεις – λογικές πύλες Μία λογική πράξη μεταξύ μεταβλητών είναι μία συνάρτηση που ορίζεται από έναν πίνακα αληθείας (truth table). Το ηλεκτρικό κύκλωμα που εκτελεί μία λογική πράξη ονομάζεται λογική ή ψηφιακή πύλη και παριστάνεται από ένα σύμβολο. Τα δυαδικά ψηφία 1 και 0, που ουσιαστικά παριστάνουν τις δύο καταστάσεις αληθής (true), ψευδής (false), στη φυσική τους υπόσταση είναι δυο διακριτά επίπεδα ηλεκτρικής τάσης (συνήθως στην ιδανική περίπτωση 5V και 0V). Ψηφιακή πύλη OR --(πειραματισμός) H έξοδος είναι αληθής (true) (1), εάν μια από τις εισόδους ή και οι δυο είναι αληθείς (1) Σύμβολο Πίνακας αληθείας Ψηφιακή πύλη AND --(πειραματισμός) H έξοδος είναι αληθής (1), όταν και οι δυο είσοδοι είναι αληθείς (1) Σύμβολο Πίνακας αληθείας Ψηφιακή πύλη ΝΟΤ --(πειραματισμός) Δημιουργεί αντιστροφή του σήματος εισόδου Σύμβολο Πίνακας αληθείας Ψηφιακή πύλη NAND (ΝΟΤ AND) Η έξοδος είναι ψευδής (0) μόνο όταν Α και Β είναι αληθείς (1) Σύμβολο Πίνακας αληθείας Ψηφιακή πύλη NOR (NOT OR) --(πειραματισμός) H έξοδος είναι αληθής (1), όταν και οι δύο είσοδοι είναι ψευδείς (0) Σύμβολο Πίνακας αληθείας Ψηφιακή πύλη XOR --(πειραματισμός) H έξοδος είναι αληθής (1), όταν ή μία εκ των δύο εισόδων είναι αληθής (1), αλλά όχι και οι δύο ταυτόχρονα: Σύμβολο Πίνακας αληθείας Ψηφιακή πύλη XNOR (NOT XOR) H έξοδος είναι αληθής (1) όταν και οι δυο είσοδοι είναι ψευδείς (0), ή και οι δυο είναι αληθείς (1) Σύμβολο Πίνακας αληθείας Συνοπτικός πίνακας λογικών πυλών Δυνατοί πίνακες αληθείας στο δυαδικό σύστημα Ένας πίνακας αληθείας παριστάνει τη συνάρτηση μεταξύ των εισόδων και της εξόδου ενός λογικού συστήματος. Για δυο εισόδους (F, T) υπάρχουν τέσσερις πιθανοί συνδυασμοί πραγματικών τιμών: FF, FT, TF, TT Επειδή κάθε δυνατή είσοδος μπορεί να δώσει δύο διαφορετικές εξόδους (0, 1) συνεπάγεται ότι οι δυνατοί πίνακες αληθείας για ένα λογικό σύστημα δύο εισόδων είναι: Άλλοι τρόποι δυαδικής κωδικοποίησης Εκτός από την κανονική δυαδική κωδικοποίηση υπάρχουν κι΄ άλλοι τρόποι δυαδικής κωδικοποίησης οι οποίοι χρησιμοποιούνται σε διάφορες περιπτώσεις. Κωδικοποίηση BCD (Binary Coded Decimal) Η κωδικοποίηση καθιστά δυνατή την απλή μετατροπή μεταξύ δυαδικού και δεκαδικού αριθμού. Κάθε ψηφίο ενός δεκαδικού αριθμού αντικαθίσταται από 4 bits του αντίστοιχου δυαδικού του. Παράδειγμα 1.4: Μετατροπή του 4510 σε BCD Επομένως 4510=01000101 Μετατροπή από BCD σε δεκαδικό Η δυαδική λέξη χωρίζεται σε ομάδες των 4bits ξεκινώντας από το λιγότερο σημαντικό ψηφίο. Κατόπιν η κάθε ομάδα μετατρέπεται στον αντίστοιχο δεκαδικό. Παράδειγμα 1.5: Μετατροπή 1010011 σε δεκαδικό Απάντηση: Πρόσθεση μηδενικού Χωρισμός σε ομάδες των 4 και μετατροπή της κάθε ομάδας στον αντίστοιχο δεκαδικό τελικό αποτέλεσμα Κώδικας Gray Συχνά χρησιμοποιείται σε ηλεκτρονικά κυκλώματα για την αποφυγή προβλημάτων που θα μπορούσαν να προκύψουν εάν χρησιμοποιούνταν η απευθείας δυαδική κωδικοποίηση. Για παράδειγμα, σε μετρήσεις της θέσης ενός αντικειμένου, θα μπορούσε να φαίνεται ότι γειτονικές θέσεις του αντικειμένου διαφέρουν περισσότερο από ένα bit, εάν χρησιμοποιηθεί η απευθείας δυαδική κωδικοποίηση. Κώδικες με ανίχνευση σφάλματος Στα ψηφιακά συστήματα, υπάρχουν περιπτώσεις όπου κατά την παραγωγή δεδομένων και την επεξεργασία αυτών, εμφανίζονται σφάλματα. Για παράδειγμα κάποιο ψηφίο 1, ενός συνόλου δυαδικών ψηφίων, μπορεί να μετατραπεί σε ψηφίο 0, είτε κατά το στάδιο της μετάδοσης, είτε γιατί το ψηφιακό σύστημα δεν λειτούργησε σωστά. Μία απλή μέθοδος, ανίχνευσης του σφάλματος, είναι η χρήση του κώδικα ανίχνευσης λάθους, η οποία χρησιμοποιεί ένα επιπλέον ψηφίο ισοτιμίας (parity bit). Κώδικες ισοτιμίας Περιττή ισοτιμία Δυο είδη Άρτια ισοτιμία Δημιουργία επιπλέον ψηφίου ισοτιμίας πριν τη μετάδοση της λέξης δεδομένων Κώδικας περιττής ισοτιμίας Το ψηφίο ισοτιμίας είναι 0 αν το σύνολο των ψηφίων 1 είναι περιττό. Το ψηφίο ισοτιμίας είναι 1 αν το σύνολο των ψηφίων 1 είναι άρτιο. Για παράδειγμα η δυαδική λέξη 010001 έχει αριθμό ψηφίων ‘1’ άρτιο, συνεπώς θα μεταδοθεί με ψηφίο ισοτιμίας ‘1’, είτε: 1 010001 Δεδομένο ψηφίο ισοτιμίας παρομοίως η δυαδική λέξη 01000 έχει αριθμό ψηφίων ‘1’ περιττό, συνεπώς θα μεταδοθεί με ψηφίο ισοτιμίας ‘0’, είτε: 0 010000 Δεδομένο ψηφίο ισοτιμίας Κώδικας άρτιας ισοτιμίας Αντίστροφος της περιττής ισοτιμίας. Το ψηφίο ισοτιμίας είναι 1 αν το σύνολο των ‘1’ είναι περιττό. Το ψηφίο ισοτιμίας είναι 0 αν το σύνολο των ‘1’ είναι άρτιο Για παράδειγμα η δυαδική λέξη 10110 έχει αριθμό ψηφίων ‘1’ περιττό, συνεπώς θα μεταδοθεί με ψηφίο ισοτιμίας ‘1’, είτε: 1 10110 Δεδομένο ψηφίο ισοτιμίας Υποθέστε ότι κατά τη μετάδοση δημιουργείται σφάλμα και η λέξη αλλάζει στην 11110, οπότε αυτό που λαμβάνεται είναι το 1 11110 Δεδομένο ψηφίο ισοτιμίας Ένας έλεγχος ισοτιμίας θα έδινε ψηφίο ισοτιμίας ‘0’, αλλά το ψηφίο ισοτιμίας που λαμβάνεται είναι ‘1’. Η ασυμφωνία δηλώνει ότι υπάρχει σφάλμα, αλλά όχι τη θέση του. Ορισμός των λογικών επιπέδων Για ένα ψηφιακό κύκλωμα θεωρούμε ότι οι επιτρεπτές καταστάσεις τάσεως είναι 0V & 5V. Είσοδοι Έξοδος Υπάρχουν δύο είδη ορισμού των λογικών επιπέδων. Ο ένας είναι να ορίσουμε 0 Volts= 0 και 5Volts= 1, οπότε έχουμε τη θετική κωδικοποίηση και ο δεύτερος τα 0Volts= 1και τα 5Volts= 0, οπότε έχουμε την αρνητική κωδικοποίηση. Έστω ότι ο πίνακας αληθείας για τη θετική κωδικοποίηση του παραπάνω κυκλώματος είναι: Δηλαδή εκτελεί τη λογική συνάρτηση AND. Εάν θεωρήσουμε την αρνητική κωδικοποίηση τότε θα έχουμε: Δηλαδή εκτελεί τη λογική συνάρτηση OR Συνεπώς το ίδιο ηλεκτρονικό σύστημα μπορεί να παρουσιάσει την AND ή OR συμπεριφορά ανάλογα με την πολικότητα της κωδικοποίησης. Είναι αξιοπρόσεκτο ότι ένα κύκλωμα το οποίο παρουσιάζει την AND συμπεριφορά στην θετική κωδικοποίηση γίνεται πύλη OR στην αρνητική κωδικοποίηση και όχι πύλη NAND. Οι περισσότεροι κατασκευαστές χρησιμοποιούν τη θετική κωδικοποίηση. Άλγεβρα Boole Οι αρχές της λογικής αναπτύχθηκαν από τον George Boole (1815-1884) και τον Augustus De Morgan. Εκατό χρόνια αργότερα ο Claude Shannon (ως μεταπτυχιακός φοιτητής στο MIT) έδειξε ότι η άλγεβρα Boole ήταν σχετική με την ανάλυση διακοπτικών (switching) κυκλωμάτων. Η άλγεβρα Boole αποτελεί τη μαθηματική βάση για την ηλεκτρονική επεξεργασία της δυαδικής πληροφορίας. Ιδιότητες και κανόνες της άλγεβρας Boole Οι ιδιότητες και οι κανόνες της Άλγεβρας Boole εφαρμόζονται και ισχύουν σε τρεις κύριες ομάδες πράξεων. Λογικές πράξεις με σταθερές. Λογικές πράξεις με μια μεταβλητή. Λογικές πράξεις με δυο ή περισσότερες μεταβλητές. Λογικές πράξεις με σταθερές Λογικές πράξεις με μια μεταβλητή 0 0 A = · A A A = · A 1 A = · 0 A = · A 0 A = + 1 1 A = + A A A = + 1 A = + AND OR NOT A A A A = Παράδειγμα 1.6: Να αποδειχθούν οι σχέσεις: χρησιμοποιώντας τον πίνακα αληθείας Απάντηση: · A A A+A A A 1 0 1 1 0 0 1 0 1 1 1 Λογικές πράξεις-ιδιότητες με δυο ή περισσότερες μεταβλητές Αντιμεταθετική ιδιότητα Απορροφητική ιδιότητα Προσεταιριστική ιδιότητα Επιμεριστική ιδιότητα Κανόνας De Morgan Σημείωση: διαβάζεται Α NOR Β διαβάζεται Α NAND Β Κανόνας ελαχιστοποίησης Παράδειγμα 1.7: Να αποδειχθεί ότι: Απάντηση: Παράδειγμα 1.8: Να αποδειχθεί ότι: Απάντηση: 1) 2) Επίσης η απόδειξη μπορεί να γίνει και με τη χρήση του πίνακα αληθείας: Τα θεωρήματα De Morgan είναι πιο σημαντικά στην λογική σχεδίαση όπου συσχετίζονται AND και NOR πύλες, ή OR και NAND πύλες. Για παράδειγμα χρησιμοποιούμε τα θεωρήματα De Morgan για να σχεδιάσουμε ένα συνδυασμό πυλών NAND που είναι ισοδύναμος με μια πύλη OR δύο εισόδων. Για μία πύλη OR ισχύει: χρησιμοποιώντας τα θεωρήματα De Morgan: Η παραπάνω σχέση υποδηλώνει μια πύλη NAND με NOT εισόδους. Επίσης, επειδή , μια πύλη NAND με ίδιες εισόδους παρουσιάζει την λειτουργία της πύλης NOT. Συνεπώς προκύπτει το παρακάτω κύκλωμα: = Διαδικασία σχεδίασης ψηφιακής λογικής συνάρτησης Με τον όρο σχεδιασμός ψηφιακής λογικής συνάρτησης, εννοείται ένας συνδυασμός λογικών πυλών για την πραγματοποίηση της επιθυμητής συνάρτησης, η συμπεριφοράς. Η διαδικασία σχεδίασης περιλαμβάνει τα παρακάτω βήματα: 1. Σαφής διατύπωση της επιθυμητής συνάρτησης-συμπεριφοράς 2. Πίνακας αληθείας 3. Έκφραση της συνάρτησης υπό μορφή μεταβλητών (άλγεβρα Boole) 4. Κατάλληλη επεξεργασία της συνάρτησης για την εξαγωγή μιας απλούστερης μορφής 5. Υλοποίηση του ψηφιακού κυκλώματος με πύλες ΑND, OR και ΝΟΤ. Σε πολλές περιπτώσεις η υλοποίηση του κυκλώματος μπορεί να γίνει μόνο με πύλες NAND, η μόνο με πύλες NOR. Κανονικές μορφές λογικών συναρτήσεων Υπάρχουν δύο κανονικές μορφές λογικών συναρτήσεων, η κανονική μορφή αθροίσματος και η κανονική μορφή γινομένου Κανονική μορφή αθροίσματος Δημιουργείται από τον πίνακα αληθείας και είναι το λογικό άθροισμα (δηλαδή συνδυάζονται υπό μορφή OR) όρων που είναι εκφράσεις AND των μεταβλητών εισόδου στην κανονική, ή συμπληρωματική τους μορφή ανάλογα με την τιμή που έχουν (1 ή 0). Οι όροι που συμπεριλαμβάνονται στο λογικό άθροισμα είναι οι όροι για τους οποίους η τελική συνάρτηση έχει τιμή 1 Παράδειγμα 1.9: Θεωρούμε τον πίνακα αληθείας Δηλαδή οι δεκαδικοί αριθμοί 3, 4 & 5 Για κάθε έξοδο F=1 δημιουργούνται οι όροι AND όπου οι μεταβλητές είναι στη κανονική τους μορφή εάν είναι 1 και στην αντιστροφή τους μορφή εάν είναι 0. Κατόπιν οι παραπάνω όροι αθροίζονται λογικά, οπότε η κανονική μορφή αθροίσματος που προκύπτει είναι: Παράδειγμα 1.10: Γράψτε υπό κανονική μορφή αθροίσματος τη λογική έκφραση, σύμφωνα με την άλγεβρα Βοοle, για το παρακάτω κύκλωμα: Απάντηση Ακολουθούμε κάθε διαδρομή από το I στο Q και προσδιορίζουμε τους διακόπτες (μεταβλητές) που χρειάζεται να κλείσουν (on) προκειμένου να παραχθεί Q = 1. Επομένως το άθροισμα των όρων AND είναι: Q=ACF+ACG+ACED+ABD+ABEF+ABEG Σύντομη γραφή για την κανονική μορφή αθροίσματος Στη σύντομη γραφή για την κανονική μορφή αθροίσματος, αντικαθίστανται κατ’ αρχήν οι μεταβλητές των όρων από τις δυαδικές τους τιμές και κατόπιν ο κάθε όρος εκφράζεται με την αντίστοιχη δεκαδική του μορφή. Για την όλη γραφή χρησιμοποιείται το σύμβολο Σ. Για την περίπτωση μιας λογικής συνάρτησης τριών μεταβλητών, όπως του παραπάνω παραδείγματος, έχουμε: οπότε αντικαθιστώντας τις μεταβλητές με τις δυαδικές τους τιμές προκύπτει: και λαμβάνοντας τη δεκαδική μορφή του κάθε όρου: Συνεπώς χρησιμοποιώντας το σύμβολο Σ έχουμε τη γραφή: Παράδειγμα 1.11: Να εκφράσετε τη συνάρτηση F(ABCD) = Σ(3,4,9,10) με όρους μεταβλητών (υπό μορφή άλγεβρας Boole). Απάντηση Ο όρος 3 είναι το 0011 και αντιστοιχεί στο Ο όρος 4 είναι το 0100 και αντιστοιχεί στο Ο όρος 9 είναι το 1001 και αντιστοιχεί στο Ο όρος 10 είναι το 1010 και αντιστοιχεί στο Οπότε σε κανονική μορφή αθροίσματος είναι: Παράδειγμα 1.12: Δίνεται η λογική συνάρτηση Να γίνει ο πίνακας αληθείας, να γραφεί η κανονική μορφή αθροίσματος, να απλοποιηθεί η σχέση χρησιμοποιώντας την άλγεβρα Boole και να σχεδιαστεί το ψηφιακό κύκλωμα που την υλοποιεί. Απάντηση: Χρησιμοποιώντας τους όρους για τους οποίους Q=1 προκύπτει: και απλοποιώντας: για περαιτέρω απλοποίηση: A C OR B A C AND BC Q = BC + A B · · · · Ο σχεδιασμός του ψηφιακού κυκλώματος είναι ο εξής: Ημιαθροιστής Ο ημιαθροιστής είναι ένα ψηφιακό κύκλωμα που πραγματοποιεί την αλγεβρική άθροιση δύο δυαδικών ψηφίων: ο αντίστοιχος πίνακας αληθείας είναι: Συνεπώς Το ψηφιακό του κύκλωμα είναι: ~(πειραματισμός)~ Κανονική μορφή γινομένου Αυτή είναι μια εναλλακτική μορφή υλοποίησης της πρώτης μορφής. Οι όροι είναι αθροίσματα (δηλαδή τύπου OR) και πολλαπλασιάζονται μεταξύ τους προκειμένου να σχηματίσουν την έξοδο. Η κατανόηση της διατύπωσης του κανόνα που θα χρησιμοποιούμε στο σχηματισμό της κανονικής μορφής γινομένου γίνεται με το παρακάτω παράδειγμα: Έστω ότι δίνεται ο πίνακας αληθείας: οπότε προκύπτει: και τελικά Η υλοποίηση της τελικής συνάρτησης γίνεται με το κύκλωμα: Τελικά η κανονική μορφή γινομένου μπορεί να αποκτηθεί κατευθείαν από τον πίνακα αληθείας χωρίς τη χρήση κάποιων πράξεων ως εξής: 1. Εντοπίζουμε τους όρους που δίνουν F=0. 2. Δημιουργούμε τα αθροίσματα των μεταβλητών, όπου εάν η μεταβλητή έχει τιμή 0 γράφεται στην κανονική της μορφή, ενώ εάν έχει τιμή 1, γράφεται στην αντίστροφη μορφή της. 3. Παίρνουμε το γινόμενο των παραπάνω αθροισμάτων. Παράδειγμα: Σύντομη γραφή για την κανονική μορφή γινομένου Στην περίπτωση αυτή η κανονική μορφή των μεταβλητών παριστάνει το 0, ενώ η αντίστροφη το 1. Συνεπώς αντικαθιστώντας τις μεταβλητές με τη δυαδική τους μορφή, χρησιμοποιώντας το παραπάνω παράδειγμα, προκύπτει: και σε σύντομη γραφή: Παράδειγμα 1.13: Να γράψετε τις δύο κανονικές μορφές της συνάρτησης XOR Απάντηση: Ο πίνακας αληθείας για την πύλη XOR είναι: Για την κανονική μορφή αθροίσματος παίρνουμε τους όρους για F=1: Οπότε προκύπτει: Για τη δεύτερη κανονική μορφή γινομένου παίρνουμε τους όρους για F=0: oπότε προκύπτει: Σημειώνεται οτι ισχύει: Σύνθεση ψηφιακού κυκλώματος Κατ’ αρχήν απλοποιείται η λογική συνάρτηση, η οποία πρόκειται να υλοποιηθεί. Κατόπιν σχεδιάζεται το ψηφιακό κύκλωμα που αντιστοιχεί στην λογική συνάρτηση ξεκινώντας από την έξοδο του κυκλώματος και πηγαίνοντας προς την είσοδό του. Παράδειγμα: Να υλοποιηθεί η συνάρτηση που έχει τον παρακάτω πίνακα αληθείας Το ψηφιακό κύκλωμα χωρίς απλοποίηση είναι: Παρατηρείται ότι χωρίς απλοποίηση χρειάζονται 8 πύλες. Γίνεται απλοποίηση της λογικής συνάρτησης: δηλαδή προστέθηκε ο όρος ABC αφού είναι γνωστό ότι ABC+ABC=ABC! Συνεπώς: Υλοποίηση: δηλαδή χρειάζονται τέσσερις (4) πύλες Σύνθεση ψηφιακών κυκλωμάτων με πύλες NAND Επειδή τα τρανζίστορ είναι ουσιαστικά αντιστροφείς, οι πύλες NAND αποτελούν δοµικά στοιχεία των oλοκηρωµένων κυκλωµάτων τεχνολογίας DTL & TTL.Τα βήματα που χρησιμοποιούνται για τη σχεδίαση ενός κυκλώματος μόνο με πύλες NAND είναι τα εξής: Χρησιμοποιείται ο πίνακας αληθείας για να εκφρασθεί η λογική συνάρτηση υπό μορφή αθροίσματος γινομένων: ( P είναι το γινόμενο των μεταβλητών εισόδου σε μια γραμμή στην οποία η έξοδος είναι 1) Στο γινόμενο που αντιστοιχεί σε μια δεδομένη γραμμή, οι μεταβλητές των οποίων οι τιμές είναι 0, λαμβάνονται με την αντίστροφή μορφή τους (δηλαδή εάν η μεταβλητή Α σε κάποιον όρο έχει τιμή 0, στο γινόμενο θα εμφανιστεί ως ) Χρησιμοποιώντας το θεώρημα του De Morgan γράφεται η σχέση υπό τη μορφή: Συνθέτουμε το κύκλωμα με πύλες NAND. Παράδειγμα 1.14: Ο πίνακας αληθείας μιας συνάρτησης F είναι: οπότε ο σχεδιασμός του κυκλώματος με πύλες NAND είναι: Παράδειγμα 1.15: Η συνάρτηση F=ABC+ABD να υλοποιηθεί με πύλες NAND: Λύση: Παράδειγμα 1.16: Να αναλυθεί το κύκλωμα του σχήματος, να γίνει ο πίνακας αληθείας και να αποδειχθεί, χρησιμοποιώντας είτε την άλγεβρα Boole είτε πίνακα αληθείας, ότι μπορεί να αντικατασταθεί από μια πύλη NAND. Λύση: πύλη NAND πύλη NAND Αντικατάσταση πυλών με πύλες NAND Οι πύλες AND, OR και NOT μπορούν να εξαχθούν από πύλες NAND. NOT ισχύει ή συνεπώς AND Δηλαδή η AND πύλη μπορεί να αντικατασταθεί από μια NAND, η έξοδος της οποίας αντιστρέφεται από μια δεύτερη NAND OR Θεώρημα De Morgan Σύνθεση ψηφιακών κυκλωμάτων με πύλες ΝΟR Η σύνθεση των ψηφιακών κυκλωμάτων μόνο με πύλες NOR γίνεται με παρόμοιο τρόπο όπως με τις πύλες NAND, μόνο που σ’ αυτή την περίπτωση χρησιμοποιείται η κανονική μορφή γινομένου. Αντικατάσταση πυλών με πύλες NOR Η λογική NOR είναι η δυαδική της λογικής NAND. Οι πύλες AND, ΟR και NOT μπορούν να δημιουργηθούν με πύλες NOR ως εξής: NOT OR AND Ελαχιστοποίηση λογικών συναρτήσεων με τη χρήση των πινάκων Karnaugh Στο σχεδιασμό λογικών κυκλωμάτων επιζητείται το βέλτιστο, προκειμένου να υλοποιηθεί μια συγκεκριμένη λογική συνάρτηση. Κριτήρια του βέλτιστου μπορεί να είναι η ταχύτητα (λιγότερα λογικά επίπεδα) το κόστος (λιγότερες λογικές πύλες) Ήδη έχει επιδειχθεί ο τρόπος ελαχιστοποίησης με τη χρήση της άλγεβρας Boole. Εναλλακτικά μπορούν να χρησιμοποιηθούν οι πίνακες Karnaugh, εάν η συνάρτηση είναι γραμμένη με μια από τις δυο κανονικές μορφές. Πίνακες Karnaugh Αν θεωρηθεί μια συνάρτηση τριών μεταβλητών ABC, τότε η συνάρτηση μπορεί να απεικονισθεί στον πίνακα Karnaugh με τον εξής τρόπο: Παρατηρήσεις: Κάθε τετράγωνο αντιστοιχεί σ’ έναν από τους οκτώ (8) δυνατούς συνδυασμούς των τριών μεταβλητών. Τα τετράγωνα του πίνακα είναι κατά αυτόν τον τρόπο διατεταγμένα ώστε σε γειτονικά τετράγωνα να αλλάζει μόνο μια μεταβλητή (κώδικας Gray). Για κάθε ζεύγος τετραγώνων γίνεται η παρακάτω απλοποίηση: ομοίως Για τέσσερα γειτονικά τετράγωνα ισχύει: Συμπέρασμα: Δύο (2) γειτονικά τετράγωνα (δηλαδή δυο όροι) δημιουργούν έναν όρο με μια μεταβλητή λιγότερη. Τέσσερα (4) γειτονικά τετράγωνα δημιουργούν έναν όρο με δυο μεταβλητές λιγότερες. Ομάδες των τριών τετραγώνων πρέπει να χωρίζονται σε ομάδες των δυο. Παράδειγμα 1.17: Να γίνει πίνακας-Κ για τη συνάρτηση F = Σ (1,2,5,6) πλήρης συνάρτηση απλοποιημένη συνάρτηση Σημείωση: Ο αριθμός των μεταβλητών είναι ίσος με από τον εκθέτη του 2 για τον οποίο η δύναμη του 2 μας δίνει αριθμό μεγαλύτερο ή ίσο με το μέγιστο αριθμό που έχουμε στη συνάρτηση. Συνεπώς στο παράδειγμα , άρα 3 μεταβλητές. Παράδειγμα 1.18: Να γίνει ο πίνακας-Κ για τη συνάρτηση F = Σ (0,2,4,9,11), καθώς επίσης απλοποίηση αυτής Λύση: Παράδειγμα 1.19: Να βρεθεί η ελαχιστοποιημένη μορφή αθροίσματος και η ελαχιστοποιημένη μορφή γινομένου της συνάρτησης F = Σ (3,4,5,6,7,8,10,12,14) Λύση: ~(επαλήθευση)~ Για την κανονική μορφή αθροίσματος προκύπτει: Για τη μορφή γινομένου ομαδοποιούμε τα μηδενικά, όπως φαίνεται στον πίνακα-Κ, Οπότε προκύπτει: Παράδειγμα 1.20: Να ελαχιστοποιηθεί η συνάρτηση Απάντηση: Ύπαρξη αδιάφορων περιπτώσεων Σε λογικά κυκλώματα υπάρχουν πολλές φορές ορισμένοι συνδυασμοί των μεταβλητών εισόδου που μας είναι αδιάφοροι. Για παράδειγμα έστω ότι έχουμε ένα ηλεκτρονικό ψηφιακό κύκλωμα που θέτει εκτός ένα σήμα (alarm), εάν στην είσοδο του έχει τους αριθμούς 0,4,6,8,9. Εάν έχει σχεδιαστεί κατά τέτοιον τρόπο ώστε να δέχεται αριθμούς μόνο από το 0 έως το 9 να α) προσδιοριστεί το πρόβλημα υπό μορφή πίνακα β) βρεθεί η ελαχιστοποιημένη συνάρτηση με τη χρήση του πίνακα-Κ. Πίνακας αληθείας Πίνακας-Κ Εάν κατά την απλοποίηση δεν ληφθούν υπόψη οι αδιάφορες περιπτώσεις προκύπτει η σχέση: ~(επαλήθευση)~ Λαμβάνοντας υπόψη και τις αδιάφορες περιπτώσεις η σχέση στην οποία καταλήγουμε είναι απλούστερη: Πλήρης Αθροιστής Κατ’ αρχήν εξετάζεται ο ημιαθροιστής δημιουργώντας το ψηφιακό του κύκλωμα χρησιμοποιώντας την κανονική μορφή γινομένου: Χρησιμοποιώντας για το S τη δεύτερη μορφή γινομένου προκύπτει: επίσης: Συνεπώς η S μπορεί να δημιουργηθεί χρησιμοποιώντας μόνο πύλες NOR, η δε C πρoκύπτει από μια εξ αυτών των πυλών: Ο πλήρης αθροιστής έχει τον παρακάτω πίνακα αληθείας: άρα και Το κύκλωμα που υλοποιεί τις παραπάνω σχέσεις είναι: ~(πειραματισμός)~ ή χρησιμοποιώντας το συμβολικό κύκλωμα του ημιαθροιστή: Η άθροιση αριθμών με περισσότερα του ενός δυαδικά ψηφία γίνεται με το κύκλωμα του παράλληλου αθροιστή ως εξής: όπου το σύμβολο του πλήρους αθροιστή. Σπινθήρες Οι πραγματικές ηλεκτρονικές πύλες απαιτούν κάποιο χρόνο για τη λειτουργία τους. Δηλαδή παρουσιάζουν καθυστέρηση (delay) της τάξης των λίγων μs. Οι καθυστερήσεις αυτές δημιουργούν καταστάσεις εξόδου, όπως είναι οι σπινθήρες (hazards), που είναι πολλές φορές ανεπιθύμητες. Για παράδειγμα στο κύκλωμα: η έξοδος του, στην ιδανική περίπτωση, θα πρέπει να είναι ίση με μηδέν ανεξάρτητα από την τιμή της εισόδου. Στην πραγματικότητα η έξοδος είναι όπως φαίνεται στο σχήμα: Δηλαδή παρατηρείται ότι η έξοδος παίρνει την τιμή 1 κατά το χρονικό διάστημα της καθυστέρησης (hazard). Υπάρχουν τρεις τρόποι περιορισμού των σπινθηρισμών: Αναμονή μέχρι ωσότου να εμφανιστεί η σωστή έξοδος. Η μέθοδος αυτή δεν συνίσταται κυρίως για ψηφιακά συνδυαστικά κυκλώματα που χρησιμοποιούνται ως οδηγοί ακολουθιακών κυκλωμάτων. Εξισορρόπηση της καθυστέρησης χρησιμοποιώντας διατάξεις πυλών όπως: Χρήση πινάκων Karnaugh. Ο σπινθηρισμός συμβαίνει συνήθως κατά τη μετάβαση καταστάσεων που είναι γειτονικές στον πίνακα-Κ και ομαδοποιούνται μεταξύ τους. Η επίλυση γίνεται ως εξής: ομαδοποιούνται γειτονικά τετράγωνα (cells) ακόμα κι’ αν αυτά εμπλέκονται σ’ άλλες ομάδες εισάγοντας έναν άλλο εφεδρικό όρο στην συνάρτηση. Παράδειγμα 1.21: Βρείτε και απαλείψτε το σπινθηρισμό στη συνάρτηση: Ο σπινθηρισμός συμβαίνει κατά τη μετάβαση από το τετράγωνο 7 στο τετράγωνο 3, ή από τη κατάσταση ABC=111 στην ABC=011. Από το κύκλωμα εξάγεται ότι αλγεβρικά η F πρέπει να έχει την τιμή 1, λόγω όμως της καθυστέρησης θα παρουσιάσει στιγμιαία τιμή 0. Ο σπινθηρισμός μπορεί να αποφευχθεί χρησιμοποιώντας εφεδρικό βρόχο μεταξύ του 7 και 3. οπότε η συνάρτηση γίνεται: Ασκήσεις επανάληψης 1 Άσκηση 1.1 Να εκφράσετε τον δυαδικό αριθμό 1100111.1101 στον αντίστοιχο δεκαδικό (βάση το 10) Λύση: Ακέραιο μέρος: Δεκαδικό μέρος: Άρα ο αριθμός είναι : Άσκηση 1.2 Να μετατραπεί ο δεκαδικός αριθμός 278,632 στον ισοδύναμο δυαδικό. (βάση το 2) Λύση: διαίρεση με 2 2) 278 2) 139 (πηλίκο) 0 (υπόλοιπο) 2) 69 1 2) 34 1 2) 17 0 2) 8 1 100010110 2) 4 0 2) 2 0 2) 1 0 0 1 Ακέραιο μέρος Άσκηση 1.3 Να μετατραπεί ο δεκαδικός αριθμός 123,456 σε ισοδύναμο οκταδικό Λύση: Άσκηση 1.4 Να βρεθεί ο δυαδικός αριθμός που αντιστοιχεί στον δεκαδικό 27810 χρησιμοποιώντας κωδικοποίηση BCD Λύση: Άσκηση 1.5 Να μετατραπεί α) ο δυαδικός 011010011012 στον αντίστοιχο δυαδικό του κώδικα Gray και β) ο δυαδικός 1000110101010 του κώδικα Gray στον αντίστοιχο κανονικό δυαδικό αριθμό. Λύση: Κανόνας μετατροπής: α) Το πρώτο ψηφίο από αριστερά είναι ίδιο, β) Όταν τα διαδοχικά ψηφία του κανονικού δυαδικού αλλάζουν, τότε το αντίστοιχο ψηφίο του δυαδικού σε κώδικα Gray γίνεται 1 διαφορετικά 0. Κανόνας μετατροπής: α) Το πρώτο ψηφίο από αριστερά είναι ίδιο β) για τα υπόλοιπα, όταν υπάρχει 1 στον κώδικα Gray σημαίνει ότι το αντίστοιχο ψηφίο του κανονικού δυαδικού πρέπει να αλλάξει, ενώ όταν υπάρχει μηδέν παραμένει ίδιο με το προηγούμενό του Άσκηση 1.6 Να αποδειχθούν οι ισότητες: Λύση: Άσκηση 1.7 Να απλοποιηθούν οι σχέσεις: Λύση: Άσκηση 1.8 Να απλοποιηθούν οι παρακάτω εκφράσεις χρησιμοποιώντας τον πίνακα Karnaugh: Λύση: Άσκηση 1.9 Να σχεδιαστεί το ψηφιακό κύκλωμα που υλοποιεί την έκφραση: Κατόπιν να σχεδιαστεί το ίδιο κύκλωμα χρησιμοποιώντας μόνο πύλες NOR. Λύση: α) β) Άσκηση 1.10 Δίνεται ο πίνακας αληθείας: Χρησιμοποιώντας τον πίνακα Karnaugh να απλοποιηθεί η λογική συνάρτηση χρησιμοποιώντας και τις δύο κανονικές μορφές (αθροίσματος και γινομένου) Να υλοποιηθούν τα κυκλώματα και στις δύο μορφές Να σχεδιαστούν τα ισοδύναμα των παραπάνω κυκλωμάτων χρησιμοποιώντας μόνο πύλες NAND και NOR αντίστοιχα Λύση: α) Κανονική μορφή αθροίσματος: Κανονική μορφή γινομένου: β) γ) 1. 2. Κυκλώματα ακολουθιακής λογικής Στα κυκλώματα συνδυαστικής λογικής, τα οποία εξετάσθηκαν στα προηγούμενα κεφάλαια, οι τιμές της εξόδου σ΄ οποιαδήποτε χρονική στιγμή είναι συνάρτηση μόνο των τιμών της εισόδου της ίδιας χρονικής στιγμής. Συνδυαστική λογική: τιμές εξόδου = f (παρούσες τιμές εισόδου) Στην ακολουθιακή λογική οι τιμές της εξόδου των κυκλωμάτων επηρεάζονται από τις παρούσες αλλά και τις προηγούμενες τιμές της εισόδου: Ακολουθιακή λογική: τιμές εξόδου = f (παρούσες + προηγούμενες τιμές εισόδου) Γενικές μορφές κυκλωμάτων Τα ακολουθιακά κυκλώματα «θυμούνται» μέσω της σύνδεσης της ανάδρασης. Δύο είναι οι κύριες κατηγορίες των ακολουθιακών κυκλωμάτων: Ασύγχρονα: Αλλάζουν κατάσταση σύμφωνα με τις αλλαγές των εισόδων τους. Απαιτούνται ειδικές τεχνικές σχεδιασμού. Σύγχρονα: Τα σήματα ανάδρασης διακόπτονται από καταχωρητές που σκανδαλίζονται από παλμούς ρολογιού. Συνεπώς η κατάστασή του κυκλώματος αλλάζει σύμφωνα με τους παλμούς του ρολογιού. Η κατάσταση του κυκλώματος ορίζεται από το περιεχόμενο των στοιχείων της μνήμης. Flip – Flops Τα flip-flops διαθέτουν δύο σταθερές καταστάσεις (1 και 0), και παρέχουν μνήμη που αποθηκεύει πληροφορία ενός (1) bit. Υπάρχουν διάφοροι τύποι flip-flops, οι οποίοι ταξινομούνται σύμφωνα με τον τρόπο λειτουργίας τους. Τα flip-flops αποτελούν τα βασικά δομικά στοιχεία για το σχεδιασμό των ακολουθιακών κυκλωμάτων. Το SR (Set-Reset) flip-flop (ff) Για την υλοποίηση του SR-ff δημιουργούνται ο εκτεταμένος πίνακας αληθείας και οι πίνακες Karnaugh, όπου το Qn (παρούσα κατάσταση εξόδου) χρησιμοποιείται ως μεταβλητή εισόδου: Το κύκλωμα που υλοποιεί την παραπάνω σχέση είναι: Χρησιμοποιώντας το θεώρημα De Morgan, η σχέση για σχεδιασμό με πύλες NAND έχει ως εξής: Χρησιμοποιώντας έναν εκτεταμένο πίνακα αληθείας και τους πίνακες-Κ που συσχετίζουν τα και προκύπτει μια άλλη χαρακτηριστική εξίσωση η οποία δίνεται από τη σχέση: από την οποία εξάγεται η σχέση για την υλοποίηση του ff με πύλες NOR Το Clocked SR – ff ~(πειραματισμός)~ Το σήμα του ρολογιού δρα ως ένα σήμα που ενεργοποιεί το SR-ff και επομένως οι έξοδοί του μπορεί να αλλάξουν μόνο όταν ο παλμός του ρολογιού είναι 1. Flip – Flop τύπου D ~(πειραματισμός)~ Υλοποίηση: Flip – Flop τύπου T (Toggle ff) Υλοποίηση: Flip – Flop τύπου JK ~(πειραματισμός)~ Υλοποίηση: Υλοποίηση σύγχρονων flip-flops με όρους SR-ff Παράδειγμα 2.1: Να γίνει η υλοποίηση ενός T-ff σε όρους ενός SR-ff. Απάντηση: Κατ΄ αρχήν δημιουργείται ένας πίνακας συσχέτισης των εισόδων ενός T-ff (Ck, T, Qn) και των αντίστοιχων εισόδων του SR-ff που έχουν το ίδιο αποτέλεσμα στην κατάσταση Qn+1 Πίνακας συσχέτισης: Κατόπιν εξάγονται οι εξισώσεις των S, R με όρους Ck, T και Qn χρησιμοποιώντας τους πίνακες – Κ Τελικό κύκλωμα: Σημείωση: Επειδή ουσιαστικά μας ενδιαφέρουν μόνο οι περιπτώσεις που το Ck=1, μπορεί να αγνοηθεί η παράμετρος Ck, ώστε να προκύπτουν πιο απλοί πίνακες Το παραπάνω παράδειγμα μπορεί να λυθεί απλούστερα ως εξής: Κατά παρόμοιο τρόπο υλοποιούνται τα D-ff και JK-ff από τo SR-ff, καθώς επίσης και η υλοποίηση οποιουδήποτε σύγχρονου ff με όρους κάποιου άλλου ff. Προβλήματα που σχετίζονται με απλά σύγχρονα ff 1. Aναπήδηση εισόδου 2. Κακή λειτουργία κυκλωμάτων που χρησιμοποιούν διαδοχικά ff π.χ. οι καταχωρητές μετατόπισης 3. Ταλαντώσεις σε ff λόγω ανάδρασης π.χ. στο T-ff Μέθοδοι επίλυσης των προβλημάτων Χρήση ”Αφέντη – Σκλάβου” ff (Master – Slave ff) Ρύθμιση του παλμού σκανδαλισμού (edge triggered devices) Διάταξη “Αφέντη – Σκλάβου” ff π.χ. χρησιμοποιώντας D ff διάταξη του “Αφέντη – Σκλάβου” ff χρησιμοποιώντας JK-ff Δημιουργία εσωτερικού ρολογιού για παραγωγή παλμού βραχείας διάρκειας Αναφέρονται δύο μέθοδοι: α) β) Εφαρμογές ff Τυπικές εφαρμογές των ffs είναι: 1. Απλοί καταχωρητές 2. Κυκλώματα καταχωρητών ολίσθησης 3. Μετρητές Απλοί καταχωρητές Π.χ. Καταχωρητής 4 bit Μια ομάδα από m ff’s αποθηκεύει m bits πληροφορίας. Τέτοιες ομάδες συχνά χρησιμοποιούνται για αποθήκευση πληροφορίας σε συστήματα υπολογιστών. (Προσωρινή αποθήκευση δεδομένων) Καταχωρητές ολίσθησης Για παράδειγμα καταχωρητής ολίσθησης 4 bit χρησιμοποιώντας D-ff Ο παραπάνω καταχωρητής είναι γνωστός και ως καταχωρητής SISO (Serial In Serial Out). Εάν σ΄ ένα SISO καταχωρητή το Q1 είναι το πιο σημαντικό ψηφίο και το Q4 το πιο χαμηλής σημαντικότητας ψηφίο (MSB και LSB αντίστοιχα), τότε η μετατόπιση γίνεται προς τα δεξιά. Στην αντίθετη περίπτωση, δηλαδή το Q4 ® MSB και το Q1 ® LSB, τότε η μετατόπιση γίνεται προς τα αριστερά. Σημείωση: Κάθε είσοδος 0 στον καταχωρητή μετατόπισης έχει ως αποτέλεσμα · Τη διαίρεση με το 2 εάν είναι ο καταχωρητής μετατόπισης προς τα δεξιά και · πολλαπλασιασμό με το 2 εάν είναι καταχωρητής μετατόπισης προς τα αριστερά Κυκλώματα μετρητών Οι μετρητές είναι κυκλώματα τα οποία στην έξοδό τους επιτυγχάνουν μια καθορισμένη ακολουθία σκανδαλιζόμενα από μεταβολές σημάτων (edges), ή παλμούς που παράγονται από κύκλωμα χρονισμού στην είσοδό τους. (1) Κάθε bit του μετρητή χρειάζεται ένα ff (2) Κατά την εφαρμογή ενός παλμού στην είσοδο του μετρητή, ο μετρητής αλλάζει κατάσταση. ( Στο παράδειγμα η κατάσταση ορίζεται από τις εξόδους A, B και C) Η λειτουργία των μετρητών μπορεί να ορισθεί πλήρως με ένα διάγραμμα κατάστασης Δύο είναι οι κύριες κατηγορίες των μετρητών Οι ασύγχρονοι μετρητές (ή Ripple Counters) και οι σύγχρονοι μετρητές Ασύγχρονοι μετρητές ~(πειραματισμός)~ ~(πειραματισμός)~ Σημείωση : Στους ασύγχρονους μετρητές μόνο το LSD ff δέχεται παλμό από το εξωτερικό ρολόϊ, ενώ όλα τα υπόλοιπα ff’s στην αλυσίδα σκανδαλίζονται από την έξοδο του ff της προηγούμενης βαθμίδας. Εάν αγνοηθούν οι καθυστερήσεις στις πύλες, τα διαγράμματα εξόδου του CLK, A, B και C έχουν ως εξής: Λόγω καθυστέρησης στα ff, κατά τη μετάβαση μιας κατάστασης σε μια άλλη, απαιτείται κάποιο χρονικό διάστημα. Στα ασύγχρονα κυκλώματα των μετρητών, κατά τη μετάβαση μιας κατάστασης σε μια άλλη, παρουσιάζονται ενδιάμεσες ανεπιθύμητες καταστάσεις. Π.χ. θεωρήστε μια μετάβαση από τον αριθμό 3 ( 0 1 1 ) στον αριθμό 4 ( 1 0 0 ) σ’ ένα ασύγχρονο μετρητή 3 bits Παρατηρείστε ότι για να μεταβείτε από την 0 1 1 στην 1 0 0 δημιουργούνται οι καταστάσεις 0 1 1 ® 0 1 0 ® 0 0 0 . Γενικά εάν υπ’αρχουν m βαθμίδες ff θα υπάρχει μια συνολική καθυστέρηση mtp . Συνεπώς θα πρέπει να εξασφαλιστεί ώστε η περίοδος του παλμού του ρολογιού να είναι μεγαλύτερη του mtp. Σύγχρονοι μετρητές ~(πειραματισμός)~ Για να αποφύγουμε τα προβλήματα των ασύγχρονων μετρητών χρησιμοποιούνται σύγχρονοι μετρητές. Στους σύγχρονους μετρητές, όλα τα ff’s σκανδαλίζονται ταυτόχρονα με τον ίδιο παλμό. Η βασική υλοποίηση του σύγχρονου μετρητή δίδεται από το κύκλωμα: Το κύκλωμα θα λειτουργεί ως ένας (up-counter) εάν οι καταστάσεις Α Β C D ληφθούν απο τα QA QB QC QD αντίστοιχα, και ως ένας (Down Counter) εάν οι καταστάσεις A B C D ληφθούν απο τα Πίνακας εξόδου του (up-counter) Βασικοί ορισμοί για τους μετρητές MODULUS Ο αριθμός των καταστάσεων που διατρέχει ο μετρητής έως ότου αρχίσουν να επαναλαμβάνονται MODULUS M ή MOD-M Ένας μετρητής με M καταστάσεις MAXIMUM MODULUS (Mmax) Ο μέγιστος αριθμός των καταστάσεων που μπορεί να δημιουργηθούν από τα n bits του μετρητή (Mmax = 2n) Μετρητής πλήρους ακολουθίας : ® ένας μετρητής του οποίου το MODULUS είναι ίδιο με το Mmax Ο μετρητής του παραδείγματος παραπάνω είναι πλήρους ακολουθίας με n=4 και άρα MOD-16 Μετρητής τμηματικής ακολουθίας: ® Ένας μετρητής του οποίου το MODULUS είναι μικρότερο από το Mmax ( M < 2n για έναν n bits μετρητή). Δηλαδή σ’ ένα MOD-5 τριών bits μετρητή χρησιμοποιούνται μόνο 5 από τις 8 δυνατές καταστάσεις. Τροποποίηση του βασικού σύγχρονου μετρητή για τη δημιουργία ενός MOD-M μετρητή Θα μελετηθεί πολύ καλά η σχετική άσκηση από τη 2η ενότητα των ασκήσεων. Εισαγωγή στο σχεδιασμό ψηφιακών κυκλωμάτων με διαγράμματα καταστάσεων (state diagrams) · Μπορούν να χρησιμοποιηθούν για το σχεδιασμό σύγχρονων ακολουθιακών κυκλωμάτων · Γενική μορφή σύγχρονου ακολουθιακού κυκλώματος που χρησιμοποιείται σε διαγράμματα καταστάσεων (Δ.Κ.) Ένα σύστημα με ‘Ν’ μεταβλητές καταστάσεων χρειάζεται Ν flip-flops για μνήμη. Διαγράμματα καταστάσεων Είναι η γραφική παράσταση της λειτουργίας ενός ακολουθιακού κυκλώματος Στοιχείο κατάστασης: Όπου Si είναι η περιγραφή της κατάστασης i και Oi είναι οι έξοδοι που σχετίζονται με την κατάσταση Si Στοιχείο μετάβασης καταστάσεων: Iij : είναι συνθήκες που προκαλούν τη μετάβαση από την κατάσταση Si ® Sj Η παραπάνω γραφική αναπαράσταση των διαγραμμάτων κατάστασης είναι γνωστή και ως παράσταση Moore. Παράδειγμα 2.2 Να σχεδιαστεί το Δ.Κ. για ένα ακολουθιακό κύκλωμα MOD-3 με εξωτερική γραμμή ελέγχου για reset ή clear των flip-flops. Απάντηση: Όταν η γραμμή ελέγχου “clear” ενεργοποιείται τότε τα flip-flops αποκτούν τη μηδενική κατάσταση (cleared). Συνεπώς εάν θεωρηθεί το σήμα στην είσοδο της γραμμής ελέγχου ως μεταβλητή εισόδου τότε Είσοδος “CLR” = 1 τα flip-flops επανέρχονται στην κατάσταση μηδέν Είσοδος “CLR” = 0 το κύκλωμα λειτουργεί κανονικά μεταβαίνοντας από κατάσταση σε κατάσταση Στο παράδειγμά υπάρχουν τρεις καταστάσεις τις οποίες συμβολίζουμε με S1,S2,S3 και για τις οποίες απαιτείται να χρησιμοποιηθούν (τουλάχιστον) δύο (2) μεταβλητές καταστάσεων ή 2 flip-flops. Επειδή για CLR = 1 τα flip-flops μηδενίζονται, μπορεί (πιθανότατα) να θεωρηθεί ότι S0 = 00 ( Τα Q1 και Q2 των δύο flip-flops). Βέβαια θα πρέπει να ορισθούν και οι S1 και S2, οι οποίες, εάν δεν υπάρχουν άλλα στοιχεία, θα μπορούσαν να παρασταθούν με S1=01 και S2=10 (δηλαδή η κανονική δυαδική ακολουθία) Δ.Κ. Πίνακες Καταστάσεων Είναι η παράσταση του διαγράμματος καταστάσεων υπό μορφή πίνακα. Σ’ αυτόν περιλαμβάνονται η παρούσα κατάσταση (PS) η επόμενη κατάσταση (NS), οι συνθήκες εισόδου που προκαλούν τη μετάβαση και οι αντίστοιχες τιμές εξόδου. Παράδειγμα 2.3 Μετρητής MOD-3 (UP/DOWN) είσοδοι : DIR = 1 : Μετράει μπρος τα κάτω (Down) DIR = 0 : Μετράει μπρος τα επάνω (Up) έξοδοι : Α,Β Πίνακας διέγερσης και εξισώσεις διέγερσης Ο πίνακας διέγερσης περιλαμβάνει τις τιμές της εισόδου που απαιτούνται για κάθε μετάβαση μεταξύ των καταστάσεων, για επιλεγμένο τύπο flip-flop. Ο προηγούμενος πίνακας καταστάσεων δημιουργήθηκε ανεξάρτητα από τον τύπο του flip-flop, ή τον τύπο της συνδυαστικής λογικής που επρόκειτο να χρησιμοποιηθεί. Άπαξ και αποφασισθεί ο τύπος του flip-flop που πρόκειται να χρησιμοποιηθεί, προσδιορίζονται οι μεταβλητές καταστάσεων και κατασκευάζεται ο πίνακας διέγερσης. Σ’ ένα τυπικό ακολουθιακό κύκλωμα θα μπορούσαν να χρησιμοποιηθούν είτε D-ffs είτε JK-ffs. D-ffs JK-ffs Απλούστερη επεξεργασία Λιγότερο σύνθετο Κατά το σχεδιασμό τελικό κύκλωμα Παράδειγμα 2.4 Να γίνει ο σχεδιασμός του Μετρητή MOD-3 (UP/DOWN) χρησιμοποιώντας flip-flops τύπου D. Απάντηση Κατ’ αρχήν υπάρχουν τρεις καταστάσεις S0, S1 και S2, και των οποίων ως μεταβλητές ορίζονται οι έξοδοι Q1 και Q2 των (2) ffs τύπου D. Χρησιμοποιώντας τον πίνακα ορισμού των καταστάσεων ως καταστάσεις εισόδου (PS) στον πίνακα καταστάσεων, και τις εισόδους D1, D2 των D-ffs ως επόμενες καταστάσεις (NS), δημιουργείται ο πίνακας καταστάσεων διέγερσης ως εξής: Εξισώσεις διέγερσης Χρησιμοποιώντας τους πίνακες–Κ, δημιουργείται μια εξίσωση διέγερσης για κάθε είσοδο των ffs σε σχέση με τις εισόδους του συστήματος και τις μεταβλητές κατάστασης (στη προκειμένη περίπτωση DIR, Q1, Q2) Κατά τον ίδιο τρόπο προκύπτει A = Q1 και B = Q2 Το διάγραμμα του κυκλώματος είναι: Παράδειγμα 2.5 Υλοποίηση ενός MOD-4 μετρητή με έλεγχο κατεύθυνσης (UP/DOWN) και έξοδο Α. Απάντηση πίνακας διέγερσης Εξισώσεις διέγερσης: Ομοίως και Εξισώσεις Εξόδου Διάγραμμα κυκλώματος Πρόβλημα 2.1 Να σχεδιαστεί ένα ακολουθιακό κύκλωμα που ανιχνεύει την ακολουθία 1 0 1 από ένα σύνολο δυαδικών στοιχείων που εισάγονται σειριακά με ρυθμό 1 bit ανά παλμό ρολογιού (Να χρησιμοποιηθούν JΚ-ffs) Λύση: Το κύκλωμα έχει μια μεταβλητή εισόδου Χ που παίρνει τις τιμές 0 και 1 και μια μεταβλητή εξόδου Ζ η οποία γίνεται 1 όταν ληφθεί μια ακολουθία 1 0 1. Κατ’ αρχήν δεν είναι φανερό πόσες είναι οι δυνατές καταστάσεις, οι οποίες όμως μπορούν να προσδιοριστούν κάνοντας το διάγραμμα καταστάσεων. Έστω S0 η αρχική κατάσταση κατά την οποία κανένα από τα bit εισόδου δεν έχουν φτάσει στη σωστή ακολουθία. Στην κατάσταση S0, εάν Χ = 0 παραμένουμε στην κατάσταση S0, ενώ εάν Χ = 1 τότε έχουμε το πρώτο bit όπως ακριβώς το αναμένουμε στην επιθυμητή ακολουθία, συνεπώς γίνεται μετάβαση στην κατάσταση S1. Η έξοδος και στις δυο περιπτώσεις είναι μηδέν αφού δεν έχει ανιχνευθεί ακόμη η πλήρης ακολουθία. Σκεπτόμενοι κατά τον ίδιο τρόπο εάν είμαστε στη κατάσταση S1 και Χ = 0 μεταβαίνουμε στην κατάσταση S2 , ενώ εάν Χ = 1 παραμένουμε στην S1 θεωρώντας ότι το 1 είναι το πρώτο bit της αναμενόμενης ακολουθίας. Εάν είμαστε στην κατάσταση S2 και Χ = 1 τότε μεταβαίνουμε στην κατάσταση S3 όπου η έξοδος Ζ = 1, ενώ εάν Χ = 0 επιστρέφουμε στην κατάσταση S0 . Τέλος από το S3 για Χ = 0 επιστρέφουμε στην κατάσταση S0 , ενώ για Χ = 1 στην S1. Σύμφωνα με τα παραπάνω σχεδιάζεται το παρακάτω διάγραμμα καταστάσεων. Από το διάγραμμα καταστάσεων παρατηρούμε ότι έχουμε τέσσερις καταστάσεις, άρα απαιτούνται 2 μεταβλητές καταστάσεων, η δυο ffs. Για τα σχεδιασμό του κυκλώματος γίνονται τα παρακάτω βήματα: 1. Πίνακας καταστάσεων 2. Ορισμός μεταβλητών καταστάσεων 1. Πίνακας διέγερσης 4. Εξισώσεις διέγερσης Προβλήματα από καταστάσεις που δεν χρησιμοποιούνται Ένα ακολουθιακό κύκλωμα μπορεί να ξεκινήσει από μια κατάσταση η οποία δεν χρησιμοποιείται, ή να εμφανίσει μια τέτοια κατάσταση λόγω θορύβου. Σ΄ αυτή τη περίπτωση η συμπεριφορά του κυκλώματος είναι μη προβλέψιμη. Δηλαδή ένα σύστημα μπορεί να έχει το παρακάτω διάγραμμα καταστάσεων Υπάρχουν τρεις καταστάσεις οι οποίες δεν χρησιμοποιούνται και οι οποίες μπορεί να εμφανίσουν διάφορες αλληλεπιδράσεις που εξαρτώνται από τον τρόπο υλοποίησης του κυκλώματος. Για παράδειγμα: ή κλπ. Λύση: Περιλαμβάνονται στο διάγραμμα καταστάσεων και οι καταστάσεις που δεν χρησιμοποιούνται, σε μια λογική επαναφοράς στην αρχική κατάσταση (Reset circuitry). Δηλαδή κατασκευάζεται ένα διάγραμμα καταστάσεων το οποίο δεν επιτρέπει την εμφάνιση καταστάσεων ‘παγίδα’, ή εάν υπάρξουν, η εμφάνιση τους να έγινε πριν την έναρξη του ρολογιού. Π.χ Παράδειγμα 2.6 Να σχεδιαστεί ο μετρητής MOD-6 Gray Code χρησιμοποιώντας D-ffs με διάγραμμα καταστάσεων Θεωρούμε στο παράδειγμα μας ότι οι καταστάσεις PS είναι ίδιες με τις καταστάσεις εξόδου. Απάντηση Τελικό κύκλωμα Ασκήσεις επανάληψης 2 Άσκηση 2.1 Να σχεδιαστεί το κύκλωμα που μετατρέπει ένα SR-ff σ΄ένα JΚ-ff. Λύση: Πίνακες αληθείας των 2 ff’s Πίνακες συσχέτισης των εισόδων των 2 ffs Εξαγωγή εκφράσεων των R,S σε συνάρτηση με τα J,k, Τελικό κύκλωμα: Άσκηση 2.2 Επιθυμούμε να σχεδιάσουμε ένα ff νέου τύπου, το οποίο ονομάζουμε ‘X-Y’ flip-flop και του οποίου ο πίνακας αληθείας δίνεται ως εξής: Να δείξτε ότι το Χ-Υ ff μπορεί να σχεδιαστεί με βάση το S-R ff. Λύση: Ο πίνακας αληθείας του S-R ff είναι: Πίνακας συσχέτισης των 2 ff’s S, R συναρτήσει των X, Y, Qn Τελικό κύκλωμα: Άσκηση 2.3 Για το μετρητή του σχήματος θεωρούμε ότι όλα τα ff είναι τύπου (Master-slave). Εάν όλα τα ff σκανδαλίζονται (trigger) κατά τη θετική έναυση του παλμού του ρολογιού και κατά την εκκίνηση είναι όλα σε κατάσταση 0, να: α) σχεδιαστεί ένα κύκλωμα (R,C, διόδου ) που δίνει τις εναύσεις β) σχεδιαστεί το κύκλωμα του M-S του JΚ-ff γ) βρεθούν οι έξοδοι A, B, C του μετρητή για τους τέσσερις πρώτους παλμούς του ρολογιού. Λύση: α) γ) Άσκηση 2.4 Ένας σύγχρονος μετρητής 4 βαθμίδων έχει 16 καταστάσεις S0 έως S15), όπου S0 = 0 0 0 0, S1 = 0 0 0 1, = 0 0 1 0 κ.τ.λ. α) Να σχεδιαστεί ο πλήρης σύγχρονος μετρητής που θα παράγει και τις 16 καταστάσεις διαδοχικά και αυξητικά ( up-counter). β) Να τροποποιηθεί το αρχικό κύκλωμα ώστε να παράγει μια περιορισμένη ακολουθία καταστάσεων μεταξύ της S7 και S13 Λύση: α) β) (γ) Η κατάσταση ανίχνευσης Κανονική διαδοχή Επιθυμητή διαδοχή Όταν το Χ = 1 δηλαδή Α = 1, B = 1, C = 1 και D = 1 τότε θα πρέπει: το Α, το οποίο σε κανονική διαδοχή δεν θα άλλαζε, στην προκειμένη περίπτωση θα πρέπει να αλλάξει και από 1 να γίνει 0. Συνεπώς το ΤΑ θα πρέπει να κρατηθεί στο 1. Το Β και C δεν απαιτούν αλλαγή διότι έχουν τις ίδιες τιμές που θα είχαν σε κανονική διαδοχή, ενώ το C, το οποίο υπό κανονική διαδοχή θα άλλαζε από 1 σε 0, ενώ εμείς επιθυμούμε να το κρατήσουμε στο 1, θα πρέπει να αναγκάσουμε το TD να είναι 0. Για να έχουμε στην είσοδο του Τ το 1 χρησιμοποιούμε το κύκλωμα και για Τ στο 0 Άρα το τροποποιημένο κύκλωμα είναι: Άσκηση 2.5 Είναι το παράδειγμα 5 από τι σημειώσεις του μαθήματος 9. Λύση: α) Διάγραμμα όπως τις σημειώσεις β) Πίνακας όπως τις σημειώσεις γ) Εξισώσεις διέγερσης Το τελικό κύκλωμα είναι όπως σχεδιάστηκε στο παράδειγμα 2.6 των σημειώσεων. ΕΥΡΕΤΗΡΙΟ A Aναπήδηση εισόδου, 66 C Clocked SR - ff, 62 F Flip – Flop τύπου D, 62 Flip – Flop τύπου JK, 64 Flip – Flop τύπου T, 64 Flip – Flops, 59 M MAXIMUM MODULUS (Mmax), 75 MOD-M μετρητής, 76 MODULUS, 75 MODULUS M, 75 S SR (Set-Reset) flip-flop, 60 Α Ακολουθιακή λογική, 58 Ακολουθιακή λογική, 58 Άλγεβρα Boole, 21 Αντικατάσταση πυλών με πύλες NAND, 37 Αντικατάσταση πυλών με πύλες NOR, 38 Αντιμεταθετική ιδιότητα, 22 Απλοί καταχωρητές, 70 Απορροφητική ιδιότητα, 22 Ασύγχρονα ακολουθιακα κυκλώματα, 59 Ασύγχρονοι μετρητές, 72 Γ Γενικές μορφές κυκλωμάτων, 58 Δ Δεκαδικό σύστημα, 6 Δεκαεξαδικό σύστημα, 6 Διαγράμματα καταστάσεων, 76 Διαγράμματα καταστάσεων (state diagrams), 76 Διάταξη “Αφέντη – Σκλάβου”, 68 Δυαδικό σύστημα, 6 Ε Εκτεταμένος πίνακας αληθείας, 60 Εξισώσεις διέγερσης, 79 Επιμεριστική ιδιότητα, 23 Εφαρμογές ff, 69 Η Ημιαθροιστής, 29 Θ Θεώρημα De Morgan, 35 Θεωρήματα De Morgan, 24 Ι Ιδιότητες και κανόνες της άλγεβρας Boole, 21 Κ Κακή λειτουργία κυκλωμάτων που χρησιμοποιούν διαδοχικά ff, 67 Κανόνας De Morgan, 23 Κανόνας ελαχιστοποίησης, 23 Κανονική μορφή αθροίσματος, 25, 26, 27, 28, 33, 42 Κανονική μορφή αθροίσματος, 25, 56 Κανονική μορφή γινομένου, 25, 31, 32, 33, 38, 44 Κανονική μορφή γινομένου, 30, 56 Καταστάσεις που δεν χρησιμοποιούνται, 87, 88 Καταχωρητές ολίσθησης, 70 Κυκλώματα μετρητών, 71 Κώδικας Gray, 17 Κώδικας άρτιας ισοτιμίας, 19 Κώδικας περιττής ισοτιμίας, 18 Κώδικες ισοτιμίας, 18 Κώδικες με ανίχνευση σφάλματος, 18 Κωδικοποίηση BCD (Binary Coded Decimal), 16 Λ Λογικές πράξεις, 10 Λογικές πράξεις με μια μεταβλητή, 21, 22 Λογικές πράξεις με σταθερές, 21 Λογικές πύλες, 10, 39 Μ Μετατροπή από BCD σε δεκαδικό, 16 Μετατροπή δεκαδικού σε δυαδικό, 8 Μετατροπή του κλασματικού μέρους ενός δεκαδικού αριθμού στο αντίστοιχο κλασματικό μέρος του δυαδικού, 9 Μετρητής πλήρους ακολουθίας, 75 Μετρητής τμηματικής ακολουθίας, 75 Ο Οκταδικό σύστημα, 6 Ορισμός των λογικών επιπέδων, 2, 20 Π Πίνακας αληθείας, 15, 20, 28, 29, 30, 32, 35, 36, 55, 92, 93 Πίνακας αληθείας, 11, 12, 13, 25, 43 Πίνακας διέγερσης, 79, 86 Πίνακες Karnaugh, 39 Πίνακες Καταστάσεων, 78 Πλήρης Αθροιστής, 44 Προσεταιριστική ιδιότητα, 22 Σ Σπινθήρες, 46 Στοιχείο κατάστασης, 77 Στοιχείο μετάβασης καταστάσεων, 77 Σύγχρονα ακολουθιακα κυκλώματα, 59 Σύγχρονοι μετρητές, 74 Συνδυαστική λογική, 58 Σύνθεση ψηφιακού κυκλώματος, 33 Σύνθεση ψηφιακών κυκλωμάτων με πύλες NAND, 35 Σύνθεση ψηφιακών κυκλωμάτων με πύλες ΝΟR, 38 Συστήματα αριθμών, 6 Σχεδίαση ψηφιακής λογικής συνάρτησης, 25 Σχεδιασμός ψηφιακού κυκλώματος, 29 Τ Ταλαντώσεις σε ff λόγω ανάδρασης, 67 Υ Υλοποίηση D ff, 25, 34, 62, 81 Υλοποίηση JK ff, 64 Υλοποίηση T ff, 64 Υλοποίηση σύγχρονων flip-flops με όρους SR-ff, 65 Υλοποίηση του SR ff με πύλες NOR, 62 Ύπαρξη αδιάφορων περιπτώσεων, 43 Ψ Ψηφιακή πύλη, 11 Ψηφιακή πύλη AND, 11 Ψηφιακή πύλη NAND, 12 Ψηφιακή πύλη NOR, 12 Ψηφιακή πύλη OR, 11 Ψηφιακή πύλη XNOR, 13 Ψηφιακή πύλη XOR, 13 Ψηφιακή πύλη ΝΟΤ, 12