Εθνικό Μετσόβιο Πολυτεχνείο Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Επικοινωνιών, Ηλεκτρονικής και Συστημάτων Πληροφορικής Εισαγωγή στη Σχεδίαση VLSI Εισαγωγή στα ακολουθιακά στοιχεία CMOS (και υπενθύμιση στοιχείων της ακολουθιακής λογικής) (Έκδοση 2013) Η. Κουκούτσης, Φ. Γιαννόπουλος, Σ. Ζάννος Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 1
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.
Βιβλία Στο μάθημα αυτό χρησιμοποιείται εκτενώς ύλη και σχήματα από τα βιβλία: [1]: Σχεδίαση Ολοκληρωμένων Συστημάτων CMOS VLSI, Τέταρτη έκδοση, Neil Weste, David Harris, Εκδ. Παπασωτηρίου [2]: Ψηφιακή Σχεδίαση, Τέταρτη έκδοση, M. Morris Mano, Michal Ciletti, Εκδ. Παπασωτηρίου Επίσης, χρησιμοποιούνται (μεταφρασμένα ή ως έχουν) μέρη των διαφανειών για διδάσκοντες των N. Weste και D. Harris, οι οποίες συνοδεύουν το βιβλίο [1] στην αγγλική μορφή του στην σχετική ιστοσελίδα της Pearson Education Inc. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 3
Παρενθετική υπενθύμιση #1: Χρήση του ρολογιού για την εκκίνηση (σκανδαλισμό) ενεργειών Level triggered ή levelsensitive κυκλώματα (ευαίσθητα σε επίπεδο λογικό ή τάσης) Positive edge triggered κυκλώματα (ευαίσθητα στη θετική ακμή παλμοσειράς) Negative edge triggered κυκλώματα (ευαίσθητα στην αρνητική ακμή παλμοσειράς) Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 4
Παρενθετική υπενθύμιση #2: Είσοδοι και έξοδοι: ενεργές χαμηλά/ψηλά ή ενεργές στο 0/στο 1 Γενικές έννοιες: (Τα επόμενα ισχύουν για εισόδους και εξόδους ευαίσθητες σε επίπεδο (λογικό ή τάσης). Ενεργοποίηση εισόδου: Έστω ότι μια πύλη έχει μια είσοδο Α. Λέμε ότι ενεργοποιούμε την είσοδο Α, όταν εμείς (δηλαδή το προηγούμενο κύκλωμα) θέτουμε (εξωτερικά) τέτοια τιμή στη συγκεκριμένη είσοδο, ώστε εσωτερικά να εμφανιστεί η λογική τιμή 1, η οποία θα προκαλέσει την έναρξη συγκεκριμένης λειτουργίας, π.χ. λογικής πράξης, πρόσθεσης, αφαίρεσης, μέτρησης, κλπ. Α Αν, για να ενεργοποιηθεί μια είσοδος χρειάζεται να βάλουμε εξωτερικά τιμή 1, τότε λέμε ότι η είσοδος αυτή είναι ενεργή στο 1. Αντίθετα, όταν η είσοδος ενεργοποιείται αν εξωτερικά βάλουμε τιμή 0, τότε λέγεται ότι η είσοδος είναι ενεργή στο 0 (στην περίπτωση αυτή το κύκλωμα λειτουργεί σαν να υπάρχει ένας νοητός λογικός αντιστροφέας ακριβώς μετά την είσοδο αυτή). Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 5
Είσοδοι και έξοδοι: ενεργές χαμηλά/ψηλά ή ενεργές στο 0/στο 1 (2) Αντίστοιχα, στο φυσικό επίπεδο, όταν η είσοδος ενεργοποιείται αν εξωτερικά βάλουμε τιμή Η, τότε λέγεται ότι η είσοδος είναι ενεργή στο Η ή, πιο συνηθισμένα, ενεργή ψηλά (active high). Αντίθετα, όταν η είσοδος ενεργοποιείται αν εξωτερικά βάλουμε τιμή L, τότε λέγεται ότι η είσοδος είναι ενεργή στο L ή, πιο συνηθισμένα, ενεργή χαμηλά (active low). Χρησιμοποιούμε δε τον εξής συμβολισμό στο λογικό επίπεδο: Είσοδος ενεργή στο 1: Ενώ χρησιμοποιούμε τον εξής συμβολισμό στο φυσικό επίπεδο: Είσοδος ενεργή στο Η ή ψηλά: Είσοδος ενεργή στο 0: Είσοδος ενεργή στο L ή xamηλά: Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 6
Είσοδοι και έξοδοι: ενεργές χαμηλά/ψηλά ή ενεργές στο 0/στο 1 (3) Ενεργοποίηση εξόδου: Το ίδιο το κύκλωμα θέτει εσωτερικά τη λογική τιμή 1 στη συγκεκριμένη έξοδο, με σκοπό να δηλώσει συγκεκριμένη κατάσταση (πχ. σωστό ή λάθος, ναι ή όχι, κλπ.), να δώσει τιμή σε μπιτ αριθμού, ή να εκδώσει συγκεκριμένη εντολή προς άλλο υποσύστημα (πχ. να εκτελεστεί κάποια λογική πράξη, ή αριθμητική πράξη, ή ολίσθηση, κλπ.). Όταν μια έξοδος ενεργοποιείται και εξωτερικά εμφανίζεται τιμή 1, τότε η έξοδος αυτή χαρακτηρίζεται ως ενεργή στο 1. Αντίθετα, όταν η έξοδος ενεργοποιείται και εξωτερικά εμφανίζεται τιμή 0, τότε η έξοδος αυτή χαρακτηρίζεται ως ενεργή στο 0 (στην περίπτωση αυτή το κύκλωμα λειτουργεί σαν να υπάρχει ένας νοητός λογικός αντιστροφέας ακριβώς πριν από την έξοδο αυτή). Αντίστοιχα, στο φυσικό επίπεδο, όταν μια έξοδος ενεργοποιείται και εξωτερικά εμφανίζεται τιμή Η, τότε λέγεται ότι η έξοδος είναι ενεργή στο Η ή, πιο συνηθισμένα, ενεργή ψηλά (active high). Αντίθετα, όταν η έξοδος ενεργοποιείται και εξωτερικά εμφανίζεται τιμή L, τότε λέγεται ότι η έξοδος είναι ενεργή στο L ή, πιο συνηθισμένα, ενεργή χαμηλά (active low). Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 7
Είσοδοι και έξοδοι: ενεργές χαμηλά/ψηλά ή ενεργές στο 0/στο 1 (συνέχεια) Χρησιμοποιούμε δε τον εξής συμβολισμό στο λογικό επίπεδο: Έξοδος ενεργή στο 1: Ενώ χρησιμοποιούμε τον εξής συμβολισμό στο φυσικό επίπεδο: Έξοδος ενεργή στο Η ή ψηλά: Έξοδος ενεργή στο 0: Έξοδος ενεργή στο L ή xamηλά: Για θετική λογική αντιστοίχιση (L 0 και H 1), οι όροι στο 0 και χαμηλά, καθώς και στο 1 και ψηλά είναι ισοδύναμοι. Η χρήση των όρων είσοδος ή έξοδος ενεργή χαμηλά/ψηλά ή ενεργή στο 0/στο 1 θα βοηθήσει ιδιαίτερα στην μελέτη κυκλωμάτων με σύνθετη λειτουργία. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 8
Στοιχειώδες, μη ελέγξιμο κύτταρο μνήμης ή Ένα στοιχειώδες (στατικό), μη ελέγξιμο κύτταρο μνήμης, που έχει δύο δυνατές, αλλά τυχαίες, σταθερές καταστάσεις εξόδου: 0 ή 1 Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 9
Ελέγξιμα στοιχειώδη κύτταρα μνήμης: NOR-Μανδαλωτής (χωρίς επίτρεψη) S R S R NOR-Μανδαλωτής (NOR-latch): SR Μανδαλωτής κατασκευασμένος με πύλες NOR (τεχνολογίας CMOS) Σύμβολο NOR-μανδαλωτή (είσοδοι ενεργοί στο 1, ή στο H για θετική λογική αντιστοίχηση) Κυκλματα LogiSim Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 10
Ελέγξιμα στοιχειώδη κύτταρα μνήμης: Λειτουργία NOR-Μανδαλωτή (χωρίς επίτρεψη) NOR-μανδαλωτής: (α) Σύμβολο (β) Λογικό διάγραμμα (γ) Πίνακας Λειτουργίας Ας θεωρήσουμε ότι χρησιμοποιούμε θετική λογική αντιστοίχηση (L 0, H 1). 1. Οι είσοδοι ονομάζονται S και R από το Set (που σημαίνει θέτω στο 1) και το Reset (που σημαίνει μηδενίζω, θέτω στο 0) και είναι ενεργές στο 1 (ή ψηλά). 2. Σε κατάσταση ηρεμίας, οι είσοδοι κρατούνται απενεργοποιημένες (S=R=0). Οι είσοδοι αυτές αφήνουν το περιχεόμενο του μανδαλωτή αναλλοίωτο. 3. Για να πάει ο μανδαλωτής υποχρεωτικά στο 1, η είσοδος R κρατείται απενεργοποιημένη (στο 0) και στην S δίνεται βραχύς θετικός παλμός (η S πηγαίνει για λίγο στο 1 και επιστέφει στο 0). 4. Για να πάει ο μανδαλωτής υποχρεωτικά στο 0, η είσοδος S κρατείται απενεργοποιημένη (στο 0) και στην R δίνεται βραχύς θετικός παλμός (η R πηγαίνει για λίγο στο 1 και επιστέφει στο 0). 5. Ο συνδυασμός εισόδων S=R=1 απαγορεύεται. Κυκλώματα LogiSim Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 11
Ελέγξιμα στοιχειώδη κύτταρα μνήμης: NAND-Μανδαλωτής (χωρίς επίτρεψη) S Q R Q S NAND-Μανδαλωτής (NAND latch): Μανδαλωτής SR κατασκευασμένος με πύλες NAND (τεχνολογίας CMOS) R Σύμβολο NAND-μανδαλωτή (είσοδοι ενεργοί στο 0, ή στο L για θετική λογική αντιστοίχηση) Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 12
Ελέγξιμα στοιχειώδη κύτταρα μνήμης: Λειτουργία NAND-Μανδαλωτή (χωρίς επίτρεψη) NAND-μανδαλωτής (α) Σύμβολο (β) Λογικό διάγραμμα (γ) Πίνακας Λειτουργίας Ας θεωρήσουμε ότι χρησιμοποιούμε θετική λογική αντιστοίχηση (L 0, H 1). 1. Οι είσοδοι ονομάζονται πάλι S και R από το Set (που σημαίνει θέτω στο 1) και το Reset (που σημαίνει μηδενίζω, θέτω στο 0), αλλά είναι ενεργές στο 0 (ή χαμηλά). 2. Σε κατάσταση ηρεμίας, οι είσοδοι κρατούνται απενεργοποιημένες (S=R=1). Οι είσοδοι αυτές αφήνουν το περιχεόμενο του μανδαλωτή αναλλοίωτο. 3. Για να πάει ο μανδαλωτής υποχρεωτικά στο 1, η είσοδος R κρατείται απενεργοποιημένη (στο 1) και στην S δίνεται βραχύς αρνητικός παλμός (η S πηγαίνει για λίγο στο 0 και επιστέφει στο 1). 4. Για να πάει ο μανδαλωτής υποχρεωτικά στο 0, η είσοδος S κρατείται απενεργοποιημένη (στο 1) και στην R δίνεται βραχύς αρνητικός παλμός (η R πηγαίνει για λίγο στο 0 και επιστέφει στο 1). 5. Ο συνδυασμός εισόδων S=R=0 απαγορεύεται. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 13
Ελέγξιμα στοιχειώδη κύτταρα μνήμης: Μανδαλωτές με επίτρεψη SR μανδαλωτής με επίτρεψη, κατασκευασμένος με δισταθές στοιχείο τύπου NAND και ο πίνακας λειτουργίας του En Και στις δύο περιπτώσεις οι είσοδοι είναι ενεργές στο 1 (ή ψηλά, για θετική λογική αντιστοίχιση). Ο SR-μανδαλωτής με επίτρεψη λειτουργεί όπως ο NOR-μανδαλωτής (επειδή έχει ενεργές στο 1 εισόδους) όταν η είσοδος En είναι ενεργή (στο 1, ή ψηλά, για θετική λογική αντιστοίχιση). Όταν η είσοδος En είναι απενεργοποιημένη (στο 0, ή χαμηλά, για θετική λογική αντιστοίχιση) το περιεχόμενο του μανδαλωτή παραμένει αναλλοίωτο. SR μανδαλωτής με επίτρεψη, κατασκευασμένος με δισταθές στοιχείο τύπου NOR (ίδιος πίνακας αληθείας) Κυκλώματα LogiSim Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 14
Επανάληψη και Μνημονοτεχνικός κανόνας: Τρόπος λειτουργίας SR-μανδαλωτών (με επίτρεψη ή χωρίς) S από το Set (θέση, Q=1) R από το Reset (μηδενισμός ή επαναφορά, Q=0). Και για τους δύο Μανδαλωτές SR (με επίτρεψη ή χωρίς) ισχύουν τα εξής: 1. Ο μανδαλωτής τίθεται (Q=1) όταν ενεργοποιείται η S (set), ενώ η R παραμένει μη ενεργή, 2. μηδενίζεται (Q=0) όταν ενεργοποιείται η R (reset), ενώ η S παραμένει μη ενεργή και 3. παραμένει αναλλοίωτος (Q n+1 =Q n ) όταν τόσο η S, όσο και η R παραμείνουν μη ενεργές. 4. Απαγορεύεται η ταυτόχρονη ενεργοποίηση των S και R. Οπότε: S R NOR-latch: Είσοδοι ενεργές στο 1 S R NAND-latch: Είσοδοι ενεργές στο 0 NOR-latch: S=1, R=0 => θέση (Q=1) S=0, R=1 => μηδενισμός(q=0) S=0, R=0 => αναλλοίωτος (Q n+1 =Q n ) Απαγορεύεται S=1, R=1 NAND-latch: S=0, R=1 => θέση (Q=1) S=1, R=0 => μηδενισμός(q=0) S=1, R=1 => αναλλοίωτος (Q n+1 =Q n ) Απαγορεύεται S=0, R=0 Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 15
Διαφανής Μανδαλωτής ή Μανδαλωτής τύπου D με επίτρεψη (α) Σύμβολο (β) Λογικό διάγραμμα (γ) Πίνακας Λειτουργίας Ας θεωρήσουμε ότι χρησιμοποιούμε θετική λογική αντιστοίχηση (L 0, H 1). 1. Οι είσοδοι ονομάζονται D και En από το Datum (που σημαίνει δεδομένο) και το Enable (που σημαίνει επιτρέπω) και, συνήθως, είναι ενεργές στο 1 (ή ψηλά). 2. Όταν En=0, το περιχεόμενο του μανδαλωτή παραμένει αναλλοίωτο, ανεξαρτήτως της τιμής του D. 3. Όταν En=1, η έξοδος Q ακολουθεί την είσοδο D, δηλαδή η έξοδος Q παίρνει πάντα ότι τιμή έχει η είσοδος D (και επομένως ακολουθεί την D στις αλλαγές τιμών, εξ ου και η ονομασία διαφανής μανδαλωτής). Κυκλώματα LogiSim Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 16
Διαφανής Μανδαλωτής ή Μανδαλωτής τύπου D με επίτρεψη τεχνολογίας CMOS Σε επίπεδο πυλών και διακοπτών. (CLK η επίτρεψη, που μερικές φορές χρησιμοποιείται σαν ρολόι - από το βιβλίο [1].) Σε επίπεδο τρανζίστορ Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 17
Χρήσεις Μανδαλωτών Ιδιαίτερα σημαντική χρήση: Στη σχεδίαση ασύγχρονων ακολουθιακών κυκλωμάτων (πχ. φλιπ-φλοπ). Χρησιμοποιούνται ευρέως ως απλούστερα στοιχεία προσωρινής αποθήκευσης πληροφορίας. Πχ. σε συστήματα απόπλεξης διαύλων διευθύνσεων/δεδομένων (demultiplexing of address/data buses). Γενικά, σε περιπτώσεις που χρειαζόμαστε μείωση του αριθμού των τρανζίστορ ή/και μεγαλύτερη ταχύτητα (σε σχέση με τα φλιπ-φλοπ, τα οποία εισάγονται στα επόμενα). Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 18
Παράδειγμα απόπλεξης δεδομένων-διευθύνσεων (μικροελεγκτής Analog Devices ADuC7026, 16-bit Memory System) Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 19
Παράδειγμα απόπλεξης δεδομένων-διευθύνσεων (2) Σύστημα Μνήμης 16-bit του ADuC7026 της Analog Devices: Βασικός Κύκλος Ανάγνωσης Μνήμης Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 20
Παράδειγμα απόπλεξης δεδομένων-διευθύνσεων(3) Σύστημα Μνήμης 16-bit του ADuC7026 της Analog Devices: Βασικός Κύκλος Εγγραφής Μνήμης Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 21
Φλιπ-φλοπ τύπου D αρνητικά ακμοπυροδότητο αφέντη-σκλάβου Φλιπ-φλοπ τύπου D, αρνητικά ακμοπυροδότητο, τύπου αφέντη-σκλάβου: Αλλάζει κατάσταση ΜΟΝΟΝ στη αρνητική ακμή του παλμού του ρολογιού. Όταν το ρολόι Clk είναι 1, ο πρώτος μανδαλωτής (αφέντης) γίνεται διαφανής και η έξοδός του Y ακολουθεί την είσοδο D, ενώ ο δεύτερος μανδαλωτής (σκλάβος) είναι αδιαφανής και η έξοδος Q είναι αποκομμένη από το Y και την είσοδο D. Όταν το Clk γίνει 0, ο πρώτος μανδαλωτής γίνεται αδιαφανής και απομονώνει το Y από την είσοδο D, ενώ ο δεύτερος μανδαλωτής γίνεται διαφανής και η τιμή του Y (δηλαδή η τελευταία τιμή που πήρε το D πριν ο πρώτος μανδαλωτής γίνει αδιαφανής) περνάει στην έξοδο Q. Ουσιαστικά, όταν εμφανιστεί αρνητικό μέτωπο στο Clk, στη έξοδο περνάει η τιμή που πήρε το D ακριβώς πριν από το αρνητικό αυτό μέτωπο του Clk, εξ ου και η αρνητικά ακμοπυροδότητη λειτουργία. Κυκλώματα LogiSim Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 22
Υπενθύμιση: Σύμβολα Λειτουργία Φλιπ-φλοπ τύπου D Χαρακτηριστικός πίνακας D FF Χαρακτηριστική εξίσωση D FF: Q(t+1) = D Το ισοσκελές τριγωνάκι στο εσωτερική πλευρά της εισόδου του ρολογιού (Clk) ονομάζεται ενδείκτης δυναμικής εισόδου και σημαίνει ότι η είσοδος αυτή είναι ευαίσθητη σε μέτωπο παλμού, θετικό αν δεν υπάρχει κυκλάκι στην εξωτερική πλευρά της εισόδου, αρνητικό αν υπάρχει κυκλάκι στην εξωτερική πλευρά της εισόδου. Χαρακτηριστική εξίσωση του D FF: Q(t+1) = D (που σημαίνει ότι η έξοδος του FF μετά το ενεργό μέτωπο του παλμού θα πάρει την τιμή που η είσοδος D έχει πριν από τον παλμό του ρολογιού). Η χαρακτηριστική εξίσωση προκύπτει πολύ εύκολα από τον χαρακτηριστικό πίνακα και δείχνει τον τρόπο λογικής εξάρτησης της επόμενης κατάστασης Q(t+1) από την είσοδο D. Αξίζει να σημειωθεί ότι η επόμενη κατάσταση Q(t+1) είναι ανεξάρτητη της παρούσας κατάστασης Q(t). Παρ όλα αυτά, το D FF είναι όντως στοιχείο μνήμης, λόγω της καθυστέρησης της μετάβασης της τιμής του D στο Q(t+1) κατά μία περίοδο του ρολογιού. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 23
Υπενθύμιση: Φλιπ-φλοπ τύπου D θετικά ακμοπυροδότητο 2 1 Οι πύλες 1 και 2 καθηλώνουν την τιμή των S και R στο 1, όσο το ρολόι Clk είναι 0. Ο τρόπος λειτουργίας του κυκλώματος βρίσκεται εύκολα με ανάλυση. Για υποβοήθηση στην ανάλυση δίνεται κύκλωμα προσομοίωσης στο LogiSim. Κυκλώματα LogiSim Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 24
Φλιπ-φλοπ D (αφέντη-σκλάβου) τεχνολογίας CMOS Στο διπλανό σχήμα (από το βιβλίο [1]) φαίνεται η δομή (a, b) και λειτουργία (c, d, f) ενός θετικά ακμοπυροδότητου FF τύπου D.Το σημείο QMb είναι το σημείο εσωτερικής αποθήκευσης του bit μνήμης που μπαίνει στο FF στο θετικό μέτωπο του παλμού του ρολογιού (και αποθηκεύεται αντεστραμμένο). Η τιμή του QMb επηρεάζει τον μανδαλωτή-σκλάβο στον επόμενο θετικό μέτωπο του παλμού του ρολογιού. Στo μέρος (d) φαίνεται το ίδιο FF με επί πλέον αντιστροφείς εισόδου και εξόδου, oi οποίοι απομονώνουν το FF των (a, b) και τα οποία καταργούν συγκεκριμένα μειονεκτήματα του FF αυτού, όπως θα δούμε αργότερα. Στο μέρος (g) φαίνεται ένα ακόμη από τα σύμβολα του D FF. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 25
Υπενθύμιση: Θετικά ακμοπυροδότητο φλιπ-φλοπ τύπου SR αφέντη-σκλάβου Αφέντης (μανδαλωτής SR) Ενδιάμεσος κόμβος προσωρινής διατήρησης λογικής τιμής Σκλάβος (μανδαλωτής SR) Για την λειτουργία του ισχύει ο μνημοτεχνικός κανόνας που διατυπώσαμε για τους μανδαλωτές SR, με μόνη διαφορά ότι, τελικά, γίνεται μόνον μία αλλαγή της κατάστασης του φλιπ-φλοπ ανά περίοδο ρολογιού, ακριβώς στο θετικό μέτωπο του παλμού του ρολογιού. Αδυναμία: απαγορεύεται η είσοδος S=R=1. Κυκλώματα LogiSim Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 26
Υπενθύμιση: Φλιπ-φλοπ τύπου JK: Χωρίς την αδυναμία του SR φλιπ-φλοπ Θετικά ακμοπυροδότητο JK FF: Η είσοδος J αντιστοιχεί λειτουργικά στην S(et) του SR FF (φλιπφλοπ): προκαλεί τη μετάβαση του FF στο Q(t+1)=1. Η είσοδος K αντιστοιχεί λειτουργικά στην R(eset) του SR FF: προκαλεί τη μετάβαση του FF στο Q(t+1)=0. Οι τιμές εισόδου J=K=1 επιτρέπονται και απλά προξενούν αντιστροφή της προηγούμενης κατάστασης του FF: Q(t+1)= Q (t) (επομένως αίρεται η αδυναμία του SR FF) Χαρακτηριστική εξίσωση JK FF: Q(t+1) = J Q (t) + K Q(t) Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 27
Υπενθύμιση: Περισσότερα για τον χαρακτηριστικό πίνακα του JK FF Ο χαρακτηριστικός πίνακας (ή πίνακας λειτουργίας) του JK FF γράφεται και όπως φαίνεται στην Μορφή 2. Μορφή 1 του χαρακτηριστικού πίνακα του JK FF. Παρούσα Κατάσταση Παρούσες είσοδοι Επόμενη κατάσταση Q(t) J K Q(t+1) 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 Μορφή 2 του χαρακτηριστικού πίνακα του JK FF. Από τη Μορφή 2 του χαρακτηριστικού πίνακα του JK FF προκύπτει εύκολα η η χαρακτηριστική εξίσωση του JK FF, με χάρτη Καρνώ και απλοποίηση. (Προσοχή: ο χάρτης αυτός δεν περιγράφει λογική συνάρτηση, αλλά την λογική εξάρτηση του Q(t+1) από τα Q(t), J και Κ) J, K Q(t) Q(t+1) = J Q (t) + K Q(t) J Q (t) K Q(t) Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 28
Υπενθύμιση: Φλιπ-φλοπ τύπου Τ (toggle) Όταν ενεργοποιείται η είσοδος (στην περίπτωση του σχήματος για Τ=1), η έξοδος απλά αντιστρέφεται στο επόμενο ενεργό μέτωπο του παλμού του ρολογιού (στην περίπτωσή μας το θετικό), δηλαδή ισχύει: Q(t+1) = [Q(t)], όπου t παλμός του ρολογιού. Εάν η είσοδος είναι απενεργοποιημένη κατά την έλευση του ενεργού μετώπου παλμού του ρολογιού, το φλιπ-φλιπ διατηρεί την προηγούμενη τιμή του, δηλαδή Q(t+1) = Q(t). Χαρακτηριστική εξίσωση T FF: Q(t+1) = XOR[ T, Q(t) ] ή Q(t+1) = T Q(t) + T Q (t) Η χαρακτηριστική εξίσωση του T FF προκύπτει απλούστατα από την μορφή (b) του λογικού διαγράμματος και την χαρακτηριστική εξίσωση του D FF: Q(t+1) = D, D = XOR[T, Q(t)], επομένως Q(t+1) = XOR[T, Q(t)]. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 29
Υπενθύμιση: Pipeline (Μονοφασικό ρολόι, ακμοπυροδότητα flip-flops.) Και στα δύο κυκλώματα: Το ρολόι διακόπτει τη ροή του σήματος, επιτρέποντας μία αλλαγή ανά κατάσταση. Στη ροή του σήματος μέσω των φλιπ-φλοπ, ανάμεσα σε ένα φλιπφλοπ που χρησιμοποιείται για την παρούσα κατάσταση και ένα φλιπ-φλοπ που χρησιμοποιείται για την επόμενη κατάσταση παρεμβάλλεται κύκλωμα συνδυαστικής λογικής Κατ ουσίαν, τα κυκλώματα αυτά λειτουργούν με τον ίδιο τρόπο και μπορούν να αναλυθούν με τον ίδιο τρόπο. Κλασσικό ακολουθιακό κύκλωμα τύπου Mealy (FSM, μηχανή πεπερασμένων καταστάσεων) Ένα ή περισσότερα flip-flops Σύστημα διοχέτευσης (pipeline) Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 30
Υπενθύμιση: Κυκλώματα Mealy Το γενικό μοντέλο των μηχανών πεπερασμένων καταστάσεων (FSM, finite state machines) τύπου Mealy είναι της ακόλουθης μορφής: Οι εξισώσεις κατάστασης των κυκλωμάτων Mealy είναι της μορφής: M n+1 = F 1 (X n, M n ) Y n = F 2 (X n, M n ) όπου M n και M n+1 η παρούσα και επόμενη κατάσταση των FF, X n η παρούσα είσοδος και Y n η παρούσα έξοδος (διανυσματικά μεγέθη). Στο διάγραμμα καταστάσεων ενός κυκλώματος Mealy, η έξοδος ή οι έξοδοι του κυκλώματος σημειώνονται πάνω στα βέλη μετάβασης, μετά από την είσοδο ή τις εισόδους, όπως φαίνεται στο διπλανό παράδειγμα διάγραμμα. Είναι δυνατόν δε να υπάρχει διαφορετική έξοδος για κάθε μετάβαση, δηλαδή για κάθε δυνατό συνδυασμό τιμών εισόδων και καταστάσεων. 0/0 1/0 0/1 00 10 0/1 0/1 01 11 1/0 1/0 1/0 Παράδειγμα διαγράμματος καταστάσεων κυκλώματος τύπου Mealy Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 31
Υπενθύμιση: Κυκλώματα Moore Μια δεύτερη μεγάλη κατηγορία μηχανών πεπερασμένων καταστάσεων είναι τα κυκλώματα Moore. Το γενικό μοντέλο των κυκλωμάτων Moore είναι της ακόλουθης μορφής (next state είναι η επόμενη κατάσταση, ενώ state register είναι τα στοιχεία μνήμης): Η διαφορά των κυκλωμάτων Moore από τα κυκλώματα Mealy είναι ότι στα κυκλώματα Moore η παρούσα έξοδος εξαρτάται μόνον από την παρούσα κατάσταση (όχι από την είσοδο). Επομένως, οι εξισώσεις κατάστασης των κυκλωμάτων Moore είναι της μορφής: M n+1 = F 1 (X n, M n ) Y n = F 2 ( M n ) Ένα παράδειγμα διαγράμματος κυκλώματος τύπου Moore φαίνεται δίπλα. Στο διάγραμμα αυτό, οι τιμές των εξόδων γράφονται μέσα στα κουτιά καταστάσεων και όχι πάνω στα βέλη, για να τονιστεί η εξάρτηση των τιμών των εξόδων από τις καταστάσεις του ακολουθιακού κυκλώματος (δηλαδή το περιεχόμενο των στοιχείων μνήμης) μόνον. Οι τιμές των εισόδων παραμένουν στα βέλη. 1 0 0 00 1 11 0 1 01 1 0 1 0 10 0 Παράδειγμα διαγράμματος καταστάσεων κυκλώματος τύπου Moore 1 Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 32
Υπενθύμιση: Διάγραμμα Καταστάσεων Τα διαγράμματα καταστάσεων είναι ένας τρόπος περιγραφής της λειτουργίας (ή συμπεριφοράς ) των ακολουθιακών κυκλωμάτων κατάλληλος για το ανθρώπινο μυαλό. Μετά την κωδικοποίηση, στους κύκλους που συμβολίζουν τις καταστάσεις στα διαγράμματα καταστάσεων βάζουμε την κατάσταση του ακολουθιακού κυκλώματος (το περιεχόμενο των στοιχείων μνήμης). Γενικά, όμως, κατά τη διαδικασία κατασκευής του διαγράμματος καταστάσεων, για να μπορεί το ανθρώπινο μυαλό να καταλαβαίνει καλύτερα τα διαγράμματα καταστάσεων, βάζουμε ένα όνομα κατάστασης. Το όνομα είναι συνήθως μια σειρά από αλφαριθμητικούς χαρακτήρες που, για το μυαλό μας, σημαίνει κάτι συγκεκριμένο. Δείτε το επόμενο διάγραμμα καταστάσεων: Το διάγραμμα αυτό περιγράφει ένα ακολουθιακό κύκλωμα που είναι ένας ανιχνευτής ακολουθίας δυαδικών τιμών. Ας υποθέσουμε ότι σε μια γραμμή εισόδου x έρχονται δυαδικές τιμές σε συγχρονισμό με το ρολόι (θα εξηγήσουμε αργότερα τι σημαίνει αυτό προς το παρόν ας υποθέσουμε απλά ότι σε κάθε παλμό του ρολογιού του ακολουθιακού κυκλώματος υπάρχει διαθέσιμη μια νέα τιμή της εισόδου x). Το κύκλωμα ανιχνεύει τέσσερα διαδοχικά 1. Ξεκινάει από μια αρχική κατάσταση ΑΚ και βρίσκει πότε εμφανίζονται στην είσοδο x τέσσερα διαδοχικά 1, οπότε (και μόνον τότε) δίνει σε μια έξοδο y τιμή 1. Τα απλά ονόματα καταστάσεων που χρησιμοποιήσαμε είναι δηλωτικά των καταστάσεων. Έτσι, πχ., 11 σημαίνει Έχει έρθει 11, κλπ. Επιπλέον δε, μέχρι τώρα, στη Λογική Σχεδίαση, βάζαμε τις εξόδους στη ρίζα των βελών, δεδομένου ότι θεωρούσαμε ότι τα κυκλώματα ήτα της γενικότερης δυνατής μορφής, δηλαδή τύπου Mealy. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 33
Υπενθύμιση: Διάγραμμα Καταστάσεων (2) Είναι πολύ σημαντική η χρήση ικανοποιητικά επεξηγηματικών ονομάτων καταστάσεων για την εύκολη κατανόηση του διαγράμματος καταστάσεων και την αποτελεσματική επεξεργασία του από το ανθρώπινο μυαλό. Στο προηγούμενο παράδειγμα, τα ονόματα καταστάσεων είναι λακωνικά, αλλά πλήρως δηλωτικά της σημασίας των καταστάσεων. Ένα πιο πολύπλοκο παράδειγμα θα τονίσει την σημασία χρήσης κατάλληλων ονομάτων. Το διάγραμμα αυτό περιγράφει ένα ακολουθιακό κύκλωμα που είναι ανιχνευτής είτε της ακολουθίας δυαδικών τιμών 010, είτε της ακολουθίες 1011, ανάμεσα στις τιμές που έρχονται σε μια γραμμή εισόδου x σε συγχρονισμό με το ρολόι Το κύκλωμα πρέπει να ξεκινάει από μια αρχική κατάσταση ΑΚ και, όταν ανιχνεύσει είτε τη μία, είτε την άλλη ακολουθία πρέπει να δίνει σε μια έξοδο y τιμή 1, αλλοιώς να δίνει στη έξοδο αυτή τιμή 0. Η εύρεση της λειτουργίας του ακολουθιακού κυκλώματος, την οποία περιγράφει το διπλανό διάγραμμα καταστάσεων, είναι μα πολύ καλή άσκηση στην κατανόηση των διγαμμάτων καταστάσεων. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 34
Υπενθύμιση: Διάγραμμα Καταστάσεων (3) Πολλές φορές, η πληροφορία για τις εισόδους και τις εξόδους στα διαγράμματα καταστάσεων σημειώνεται με πιο γενικούς τρόπους, που είναι πιο εύκολα κατανοητοί από το ανθρώπινο μυαλό. Ένας από τους τρόπους αυτούς φαίνεται στο διπλανό διάγραμμα καταστάσεων. Στο διάγραμμα αυτό υπάρχουν τρείς είσοδοι, οι Π1, Π2, Π3 και μια είσοδος, η Out. Οι είσοδοι παράγονται από πιεστικούς διακόπτες: Όταν ένας χρήστης πιέζει κάποιον διακόπτη, καθ όλο το χρονικό διάστημα, κατά το οποίο ο διακόπτης είναι πιεσμένος, η λογική έξοδος του υποσυστήματος του διακόπτη (άρα η αντίστοιχη είσοδός) μας παίρνει τιμή1. Αλλοιώς (δηλαδή όταν ο διακόπτης δεν πιέζεται), παίρνει τιμή 0. Το σύστημα ανιχνεύει τη διαδοχική πίεση των διακοπτών Π1, Π2 και Π3, αυστηρά κατά την σειρά αυτή και μόνον αυτή. Εάν πράγματι το σύστημα ανιχνεύσει πίεση διακοπτών κατά την σειρά αυτή, δίνει στην έξοδο Out τιμή 1, ενώ σε όλες τις άλλες περιπτώσεις τιμή 0. Υποτίθεται ότι, αρχικά, το σύστημα είναι σε μια αρχική κατάσταση ΑΚ, στην οποία επιστρέφει μετά από επιτυχημένη ανίχνευση της επιθυμητής ακολουθίας, καθώς και μετά από ανίχνευση οποιασδήποτε μη επιθυμητής ακολουθίας. Παρατηρήστε τα εξής: Στα βέλη των μεταβάσεων σημειώνονται όχι μόνον οι τιμές των bits των εισόδων και της εξόδου, αλλά οι πλήρεις εξισώσεις που καθορίζουν τις εισόδους και την έξοδο (πχ., Π1=1, κλπ.). Επίσης, γράφεται σε βέλος μετάβασης η εξίσωση μιας εισόδου ή εξόδου, μόνον όταν η αντίστοιχη είσοδος ή έξοδος ενεργοποιείται (στην περίπτωσή μας όταν παίρνει τιμή 1). Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 35
Διάγραμμα Καταστάσεων: Έξοδοι Mealy και Moore Ο προηγούμενο ςτρόπος γραφής του διαγράμματος καταστάσεων είναι αρκετά συνηθισμένος (τα αντίστοιχα περιγραφέντα κυκλώματα ονομάζονται αυτόματα πεπερασμένων καταστάσεων (finite state automata ή finite state machines, ή απλά FSM), αλλ όχι ο μόνος. Ένας ακόμη καλύτερος τρόπος περιγραφής είναι τα διαγράμματα ASM και ASMD, με τα οποία θα ασχοληθούμε αργότερα. Στο διπλανό σχήμα, ωστόσο, φαίνεται και κάτι άλλο: Σε κάθε ακολουθιακό κύκλωμα (ή FSM, που απλά είναι άλλο όνομα για την ίδια οντότητα) μπορούμε να έχουμε εξόδους Mealy και εξόδους Moore. Το μόνο μέρος του FSM που διαφέρει είναι οι έξοδοι, όχι το υπόλοιπο FSM. Στην σχεδίαση: Για την κατασκευή των εξόδων Mealy απαιτείται ένα συνδυαστικό υποκύκλωμα με εισόδους (κάποιες από) τις παρούσες καταστάσεις και τις εισόδους του συνολικού κυκλώματος, ενώ Για την κατασκευή των εξόδων Moore απαιτείται ένα άλλο συνδυαστικό υποκύκλωμα με εισόδους (κάποιες από) τις παρούσες καταστάσεις μόνον. Στο μέλλον θα αποδίδουμε πλέον τον χαρακτηρισμό Mealy ή Moore στις εξόδους ενός FSM ή ακολουθιακού κυκλώματος και όχι στο συνολικό κύκλωμα. Όπως ήδη τονίσαμε, έξοδοι Mealy και Moore μπορούν να συνυπάρχουν στο ίδιο κύκλωμα. Στο συγκεκριμένο παράδειγμα του FSM του σχήματος, η έξοδος Out είναι τύπου Mealy, ενώ η Out1 είναι τύπου Moore. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 36
Επιλεγμένα παραδείγματα ακολουθιακών στοιχείων και κυκλωμάτων Διαφορά διαφανούς μανδαλωτή και ακμοπυροδότητου φλιπ-φλοπ Παράδειγμα διαδοχικής σύνδεσης ακολουθιακών στοιχείων Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 37
Επιλεγμένα παραδείγματα (2) (Από το βιβλίο [1]) Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 38
Κατασκευή ακολουθιακών στοιχείων Δυναμικοί μανδαλωτές Δυναμικός μανδαλωτής, κατασκευασμένος με ένα τρανζίστορ διέλευσης μόνον (χρησιμοποιήθηκε το 1970). Το Q είναι μαλακός κόμβος. Πλεονεκτήματα: πολύ μικρό, φορτώνει ελάχιστα το ρολόι. Μειονεκτήματα: ρίχνει την τάση εξόδου κατά V t (την τάση κατωφλίου του nmos), δεν αποκαθιστά τη τάση εξόδου (nonrestoring, τα στατικά κυκλώματα αποκαθιστούν την τάση εξόδου), έχει ευαισθησία στον θόρυβο, μπορεί να προκαλέσει ανάποδη οδήγηση, έχει πρόβλημα διαρροών, η είσοδός του είναι περιοχή διάχυσης τρανζίστορ και όχι πύλη τρανζίστορ (πρόβλημα αποκατάστασης εισόδου) D Q Πύλη μετάδοσης: Το Q είναι πάλι μαλακός κόμβος. Πλεονεκτήματα: πολύ μικρή και αυτή, φορτώνει πολύ λίγο το ρολόι, δεν προκαλεί πτώση τάσης εξόδου κατά V t. Μειονεκτήματα: Τα ίδια με αυτά του μανδαλωτή με ένα τρανζίστορ διέλευσης. D Q Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 39
Κατασκευή ακολουθιακών στοιχείων Δυναμικοί μανδαλωτές: Αναστρέφων Απομονωτής Δύο μορφές του αναστρέφοντος απομονωτή. Το Q είναι σκληρός κόμβος στην πρώτη μορφή, μαλακός κόμβος στη δεύτερη. Πλεονεκτήματα: Αποκαθιστούν την τάση εξόδου, δεν έχουν πρόβλημα ανάποδης οδήγησης. Μειονεκτήματα: Αντιστρέφουν την τάση. Επί πλέον μειονεκτήματα: Το πρώτο έχει περιοχή διάχυσης και όχι πύλη τρανζίστορ στην είσοδό του, το δεύτερο έχει μαλακό κόμβο στην έξοδό του (έχει ευαισθησία στον θόρυβο, έχει πρόβλημα διαρροών). Και οι δύο μανδαλωτές είναι δυναμικοί, αλλά ο πρώτος καταργεί με την χρήση ενός αντιστροφέα τα προβλήματα του μαλακού κόμβου στη έξοδο, ενώ D D X Q Q ο δεύτερος καταργεί το πρόβλημα που δημιουργείται από το ότι η είσοδος είναι περιοχή διάχυσης. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 40
Κατασκευή ακολουθιακών στοιχείων Δυναμικοί μανδαλωτές: μανδαλωτής C 2 MOS Ο δυναμικός μανδαλωτής της προηγούμενης διαφάνειας μπορεί να κατασκευαστεί ως ένα τρισταθές στοιχείο με τον τρόπο που φαίνεται στο (a) μέρος του σχήματος, οπότε ονομάζεται Clocked CMOS ή C 2 MOS. Δεν κατασκευάζουμε τον μανδαλωτή αυτόν όπως φαίνεται στο μέρος (b), για να μην το κάνουμε ευαίσθητο σε θόρυβο καταμερισμού φορτίου. Ο μανδαλωτής C 2 MOS είναι λίγο πιο οικονομικός σε χώρο από τον προηγούμενο δυναμικό μανδαλωτή, αλλά είναι και λίγο πιο αργός. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 41
Κατασκευή ακολουθιακών στοιχείων Ο κλασσικός στατικός μανδαλωτής Στην παράσταση του διπλανού σχήματος, ο ειδικός αντιστροφέας στο βρόχο ανάδρασης είναι είτε απλά ένας αντιστροφέας με μια κλασσική πύλη μετάδοσης στη έξοδό του, είτε ένας τρισταθής αντιστροφέας. Το φ είναι η επίτρεψη του μανδαλωτή, που θα την χρησιμοποιήσουμε και ως ρολόι σε ειδικές δομές. D X Q Πλεονεκτήματα: Στατικός (χωρίς διαρροές, με σκληρό κόμβο στην έξοδό του, κλπ.), αποκαθιστά την τάση εξόδου. Μειονεκτήματα: Η είσοδος είναι περιοχή διάχυσης και όχι πύλη τρανζίστορ, υπάρχει κίνδυνος ανάποδης οδήγησης (μέσω του βρόχου ανάδρασης και της πύλης μετάδοσης της εισόδου), ο μανδαλωτής έχει ευαισθησία στον θόρυβο εξόδου (που μπορεί να αποτελέσει είσοδο του βρόχου ανάδρασης). Οι στατικοί μανδαλωτές είναι ουσιώδους σημασίας σήμερα, λόγω του ότι δεν έχουν προβλήματα διαρροών (επομένως έχουν χαμηλή κατανάλωση). Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 42
Κατασκευή ακολουθιακών στοιχείων Στατικοί μανδαλωτές μερικά απομονωμένοι Ο διπλανός μανδαλωτής έχει τα πλεονεκτήματα του κλασσικού μανδαλωτή και επί πλέον έχει διορθωθεί το πρόβλημα της εισόδου με την χρήση ενός απομονωτή (το σήμα εισόδου πηγαίνει σε πύλες τρανζίστορς). Παραμένουν τα μειονεκτήματα του κινδύνου ανάποδης οδήγησης (μέσω του βρόχου ανάδρασης και της πύλης μετάδοσης της D X Q εισόδου) και της ευαισθησίας στον θόρυβο εξόδου (που μπορεί να αποτελέσει είσοδο του βρόχου ανάδρασης). Ο διπλανός μανδαλωτής έχει τα πλεονεκτήματα του κλασσικού μανδαλωτή και επί πλέον έχουν διορθωθεί τα προβλήματα της εξόδου με την χρήση ενός απομονωτή (δεν υπάρχει κίνδυνος ανάποδης οδήγησης, ο δε μανδαλωτής δεν είναι ευαίσθητος στον θόρυβο εξόδου, και τα δύο επειδή δεν υπάρχει μονοπάτι από την έξοδο προς το εσωτερικό του μανδαλωτή). Παραμένει το μειονέκτημα ότι η είσοδος είναι περιοχή διάχυσης και όχι πύλη τρανζίστορ. D X Q Ο μανδαλωτής αυτός ονομάζεται μανδαλωτής διαδρόμου δεδομένων (datapath latch), λόγω του είδους της χρήσης του.. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 43
Κατασκευή ακολουθιακών στοιχείων Στατικός μανδαλωτής ολικά απομονωμένος Στον διπλανό μανδαλωτή, τόσο η είσοδος, όσο και έξοδος είναι απομονωμένες, οπότε έχουν διορθωθεί τα προβλήματα της εισόδου και της εξόδου με την χρήση των απομονωτών (το σήμα εισόδου πηγαίνει σε πύλες τρανζίστορς, δεν υπάρχει κίνδυνος ανάποδης οδήγησης, ο δε μανδαλωτής δεν είναι ευαίσθητος στον θόρυβο εξόδου, και τα δύο επειδή δεν υπάρχει μονοπάτι από την έξοδο προς το εσωτερικό του μανδαλωτή). Πλεονεκτήματα: Ο μανδαλωτής αυτός είναι ο πλέον ασφαλής στη χρήση επειδή είναι πολύ στιβαρός (στα αγγλικά very robust - έχει την ελάχιστη ευαισθησία σε θέματα θορύβου της εξόδου, ανάποδης οδήγησης, κλπ.) και είναι στατικός. Για τον λόγο αυτό χρησιμοποιείται ευρέως, ιδιαίτερα δε σε βιβλιοθήκες έτοιμων υποκυκλωμάτων. D X Q Μειονεκτήματα: Είναι ελαφρά πιο αργός από τον κλασσικό στατικό μανδαλωτή (κατά την καθυστέρηση διάδοσης του αντιστροφέα εισόδου συν την καθυστέρηση διάδοσης του αντιστροφέα εξόδου), χρειάζεται σχετικά μεγαλύτερη επιφάνεια πυριτίου και φορτώνει κάπως περισσότερο τη γραμμή του ρολογιού. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 44
Κατασκευή ακολουθιακών στοιχείων Δυναμικό D Flip-Flop αφέντη-σκλάβου Τα δυναμικά FF τύπου D κατασκευάζονται ως κυκλώματα αφέντη-σκλάβου με τη χρήση δύο μανδαλωτών σε σειρά. Στην (α) μέρος του του διπλανού σχήματος φαίνεται ένα δυναμικό, αναστρέφον D FF. Ο κόμβος Μ, στον οποίο αποθηκεύεται η τιμή της εισόδου κατά τη διάρκεια του 0 του ρολογιού, είναι, προφανώς, μαλακός κόμβος. Επί πλέον δε, ο κόμβος της εξόδου Q είναι μαλακός κόμβος. Στα (β), (γ) και (δ) φαίνονται βελτιώσεις του D FF (με αντίτιμο ελαφρά μειωμένη ταχύτητα): Το FF του (β) έχει έναν επί πλέον αντιστροφέα στην έξοδο, για να εξαλείψει τα προβλήματα του μαλακού κόμβου εξόδου, οπότε έχει και κανονική έξοδο (όχι αντεστραμμένη), το FF του (γ) έχει έναν επί πλέον αντιστροφέα στην είσοδο για να εξαλείψει τα προβλήματα της εισόδου σε περιοχή διάχυσης, οπότε έχει και κανονική έξοδο (όχι αντεστραμμένη), ενώ το πλέον στιβαρό FF του (δ) έχει αντιστροφείς τόσο στην είσοδο, όσο και στην έξοδο, επομένως είναι το πλέον στιβαρό (αλλά και το πιο αργό). Οι σχεδιαστές είναι ελεύθεροι να διαλέξουν οποιαδήποτε μορφή, αρκεί να καταλαβαίνουν καλά το περιβάλλον κύκλωμα και να σιγουρευτούν ότι δεν θα έχουν προβλήματα, αλλοιώς οφείλουν να διαλέξουν την πλέον αργή, αλλά και πλέον στιβαρή έκδοση του (δ). (α) (β) Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 45 (γ) (δ)
Κατασκευή ακολουθιακών στοιχείων Δυναμικό D Flip-Flop τύπου C 2 MOS Στο επόμενο σχήμα φαίνεται ένα δυναμικό D flip-flop τύπου Clocked MOS ή C 2 MOS. Η πληροφορία αποθηκεύεται (αντεστραμμένη) εσωτερικά στον κόμβο Μ. Τόσο ο Μ, όσο και ο Q είναι μαλακοί κόμβοι. Στο επόμενο σχήμα χρησιμοποιείται ένας ακόμη αντιστροφέας στην έξοδο, για να εξαλείψει τα μειονεκτήματα του μαλακού κόμβου εξόδου του προηγούμενου κυκλώματος. Με τον τρόπο αυτό, το δυναμικό D flip-flop τύπου C 2 MOS καθίσταται ελαφρά αργότερο και αντιστρέφον, αλλά περισσότερο στιβαρό. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 46
Κατασκευή ακολουθιακών στοιχείων Στατικό, απομονωμένο D Flip-Flop (τύπου αφέντη-σκλάβου) Στα διπλανά σχήματα φαίνεται το γνωστό στατικό D FF τύπου αφέντη-σκλάβου, αλλά πλήρως απομονωμένο, δηλαδή με απομονώνοντες αντιστροφείς στην είσοδο και τις εξόδους του. Στους βρόχους ανάδρασης, στο πάνω σχήμα μεν έχουν χρησιμοποιηθεί αντιστροφείς και πύλες μετάδοσης, στο κάτω δε τρισταθείς αντιστροφείς. Τόσο ο ενδιάμεσος κόμβος Μ, στον οποίο αποθηκεύεται η πληροφορία κατά την διάρκεια του 0 του ρολογιού, όσο και οι έξοδοι Q και Q είναι σκληροί κόμβοι. Το FF αυτό, εκτός του ότι είναι στατικό, είναι και το πλέον στιβαρό, επομένως ιδιαιτέρως κατάλληλο για γενικού τύπου περιβάλλοντα (πχ. γενικές βιβλιοθήκες στοιχείων) και περιβάλλοντα, στα οποία ο χρήστης δεν έχει απαραίτητα τον ολικό έλεγχο της σχεδίασης (πχ. ASICS). Όμως, λόγω των αντιστροφέων απομόνωσης, είναι το πλέον αργό (κατά την καθυστέρηση διάδοσης δύο αντιστροφέων). Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 47
Κατασκευή ακολουθιακών στοιχείων Στρατηγική υλοποίηση επίτρεψης σε ακολουθιακά στοιχεία τύπου D Για την υλοποίηση της επίτρεψης (enable) στα ακολουθιακά στοιχεία (μανδαλωτή και FF τύπου D) ακολουθούνται κυρίως δύο γραμμές στρατηγικής: 1. Η χρήση ενός πολυπλέκτη, ο οποίος: για En=0, επανατροφοδοτεί στην είσοδο του μανδαλωτή ή του φλιπ-φλοπ την έξοδό του, ώστε στον επόμενο παλμό του ρολογιού θα φορτωθεί στο στοιχείο το ίδιο περιεχόμενο, αφήνοντας, με τον τρόπο αυτό, ουσιαστικά αναλλοίωτο το περιεχόμενο του στοιχείου. για EN=1, συνδέει την εξωτερική είσοδο D στην είσοδο του στοιχείου, ώστε να προκληθεί η επιθυμητή μετάβαση. Μειονέκτημα: εισάγεται καθυστέρηση από την εξωτερική είσοδο D μέχρι την έξοδο του στοιχείου D D Symbol Multiplexer Design Clock Gating Design en Latch en Flop en D 1 Q 0 en D 1 0 Q en Latch Flop Q D Q D Latch en Flop Q Q 2. Το πέρασμα του σήματος του ρολογιού (Φ) και του σήματος επίτρεψης En από μια πύλη AND, το αποτέλεσμα της οποίας χρησιμοποιούμε ως ρολόι στο στοιχείο. Μειονέκτημα: Προτρέχοντας, θα αναφέρουμε ότι χειροτερεύει τον χρόνο συγκράτησης t setup του D στοιχείου και αυξάνει την χρονική απόκλιση t skew του ρολογιού (κατά την καθυστέρηση διάδοσης μιας πύλης AND). (Σε άλλη ενότητα θα εξετάσουμε αυτά τα χαρακτηριστικά των ακολουθιακών στοιχείων) Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 48
Κατασκευή ακολουθιακών στοιχείων Στοιχεία τύπου D: Άμεσες, σύγχρονες είσοδοι μηδενισμού και θέσης Ο σύγχρονος μηδενισμός (ή σύγχρονη επαναφορά, synchronous reset) υλοποιείται με λογική στην είσοδο του στοιχείου, πριν από την πρώτη πύλη μετάδοσης που χρονίζεται με το ρολόι, όπως φαίνεται στα επόμενα σχήματα. Με τον τρόπο αυτό, ο μηδενισμός γίνεται ακριβώς στο επόμενο μέτωπο του ρολογιού. Το σήμα μηδενισμού, όπως δείχνει και ο συμβολισμός του, είναι ενεργό χαμηλά (πιο σωστά, θα μπορούσαμε να βάλουμε ένα κυκλάκι πριν από την αντίστοιχη είσοδο και να μη χρησιμοποιήσουμε την μπάρα πάνω από το reset ο συμβολισμός με την μπάρα, όμως, είναι πολύ συνηθισμένος, γι αυτό και τον χρησιμοποιούμε εδώ). Η σύγχρονη θέση (synchronous set) υλοποιείται αντίστοιχα, με λογική στην είσοδο του στοιχείου, πριν από την πρώτη πύλη μετάδοσης που χρονίζεται με το ρολόι. Η είσοδος μηδενισμού αντικαθίσταται από μία ενεργή ψηλά είσοδο θέσης στην πύλη εισόδυ του στοιχείου, όπως φαίνεται στα επόμενα σχήματα (όπου απεικονίζεται μόνον η πύλη εισόδου). Για την ταυτόχρονη ύπαρξη εισόδων θέσης και μηδενισμού, απλά χρειάζεται να γίνει πιο σύνθετη η λογική της πύλης NAND της πύλης εισόδου. Είσοδος σύγχρονη θέσης Στην περίπτωση ταυτόχρονης ύπαρξης εισόδων θέσης και μηδενισμού, πρέπει να εξασφαλίσουμε ότι οι είσοδοι θέσης και μηδενισμού δεν ενεργοποιούνται ταυτόχρονα, κάτι που δεν έχουμε κάνει εδώ. Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 49
Κατασκευή ακολουθιακών στοιχείων Στοιχεία τύπου D: Άμεσες, ασύγχρονες είσοδοι μηδενισμού και θέσης Για να υλοποιήσουμε τον ασύγχρονο μηδενισμό (ή ασύγχρονη επαναφορά, asynchronous reset) μπορούμε μέσω ενός ενεργού χαμηλά σήματος: Στον μανδαλωτή, να μηδενίσουμε τόσο τον εσωτερικό κόμβο Μ, όσο και την είσοδο, ως εξής: Στο φλιπ-φλοπ, να μηδενίσουμε τόσο τον εσωτερικό κόμβο Μ, όσο και τον κόμβο εξόδου, ως εξής: Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 50
Κατασκευή ακολουθιακών στοιχείων Στοιχεία τύπου D: Άμεσες, ασύγχρονες είσοδοι μηδενισμού και θέσης Τόσο ο άμεσος ασύγχρονος μηδενισμός, όσο και άμεση ασύγχρονη θέση γίνεται, όπως είδαμε, με το να επιβάλλουμε συγκεκριμένες τιμές τόσο στον εσωτερικό κόμβο του στοιχείου, όσο και στην είσοδο (για τους μανδαλωτές) ή στον κόμβο εξόδου (στα φλιπ-φλοπ). Δεδομένου ότι, τόσο ο βρόχος του εσωτερικού κόμβου, όσο και της εξόδου, έχουν δύο στοιχεία αντιστροφής, μπορούμε να έχουμε ταυτόχρονες εισόδους για μηδενισμό και θέση. Ένας από τους τρόπους να επιτύχουμε κάτι τέτοιο, είναι αυτός που φαίνεται στο επόμενο σχήμα: Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 51
Κατασκευή στατικών ακολουθιακών συστημάτων Η. Κουκούτσης - Ακολουθ. Στοιχεία CMOS 52
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.