ΛΟΓΙΚH ΣΧΕΔΙΑΣH ΙΙ. Καλώς ήλθατε

Σχετικά έγγραφα
Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Ακολουθιακή Λογική. Επιμέλεια Διαφανειών: Δ.

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops

Ενότητα ΑΡΧΕΣ ΑΚΟΛΟΥΘΙΑΚΗΣ ΛΟΓΙΚΗΣ LATCHES & FLIP-FLOPS

Σχεδιασμός Ψηφιακών Συστημάτων

ΑΣΚΗΣΗ 9. Tα Flip-Flop

ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2008

Α. ΣΚΟΔΡΑΣ ΠΛΗ21 ΟΣΣ#2. 14 Δεκ 2008 ΠΑΤΡΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 2008 Α. ΣΚΟΔΡΑΣ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ

Άσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα

5. Σύγχρονα Ακολουθιακά Κυκλώματα

Ελίνα Μακρή

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Ακολουθιακά Κυκλώματα: Μανδαλωτές και Flip-Flops 1

ΑΣΚΗΣΗ 7 FLIP - FLOP

7.1 Θεωρητική εισαγωγή

ΚΕΦΑΛΑΙΟ 6 ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ. 6.1 Εισαγωγή

3 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Ψηφιακά Συστήματα. 7. Κυκλώματα Μνήμης

ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

Σχεδιασμός Ψηφιακών Συστημάτων

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

ΑΣΚΗΣΗ 10 ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής & Πολυµέσων. Ψηφιακή Σχεδίαση. Κεφάλαιο 5: Σύγχρονη Ακολουθιακή

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα

Αυγ-13 Ακολουθιακά Κυκλώματα: Μανδαλωτές και Flip-Flops. ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2009.

Σχεδίαση Ψηφιακών Συστηµάτων

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο Διάλεξη 8 η : Μηχανές Πεπερασμένων Κaταστάσεων σε FPGAs

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Καταχωρητές και Μετρητές 2. Επιμέλεια Διαφανειών: Δ.

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα

K24 Ψηφιακά Ηλεκτρονικά 10: Ακολουθιακά Κυκλώματα

Ακολουθιακά Κυκλώµατα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ακολουθιακά Κυκλώµατα (συν.) Ακολουθιακή Λογική: Έννοια

Ψηφιακή Σχεδίαση. Δρ. Μηνάς Δασυγένης Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Σχεδιασμός Ψηφιακών Συστημάτων

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

Εισαγωγή στην πληροφορική

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1

8. Στοιχεία μνήμης. Οι δυο έξοδοι του FF είναι συμπληρωματικές σημειώνονται δε σαν. Όταν αναφερόμαστε στο FF εννοούμε πάντα την κανονική έξοδο Q.

Ασύγχρονοι Απαριθμητές. Διάλεξη 7

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f.

Σχεδίαση κυκλωμάτων ακολουθιακής λογικής

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

ΑΣΚΗΣΗ 9 ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ (COUNTERS)

Πανεπιστήµιο Κύπρου DEPARTMENT OF COMPUTER SCIENCE

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007

ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Ακολουθιακά Κυκλώματα Flip-Flops

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

Σύγχρονα ακολουθιακά κυκλώματα. URL:

Ψηφιακή Λογική Σχεδίαση

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 16: Μετρητές (Counters)

Κεφάλαιο 7 ο. Γ. Τσιατούχας. VLSI Technology and Computer Architecture Lab. Ακολουθιακή Λογική 2

8.1 Θεωρητική εισαγωγή

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Καθιερωµένα Γραφικά Σύµβολα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 2005

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Ανάλυση Ακολουθιακών Κυκλωμάτων 1

Ελίνα Μακρή

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

f(x, y, z) = y z + xz

ΨΗΦΙΑΚΗΛΟΓΙΚΗΣΧΕΔΙΑΣΗ

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A].

Αρχιτεκτονικές Υπολογιστών

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

7 η διάλεξη Ακολουθιακά Κυκλώματα

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

ΑΣΚΗΣΗ 10 ΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ. Τμήμα Ηλεκτρονικής. Πτυχιακή Εργασία

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες)

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Ενότητα 1. Λογικής Σχεδίασης. Καθηγητής Αντώνης Πασχάλης

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH.

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Στοιχεία Μνήμης, JKκαιD (Flip-Flops) Μετρητής Ριπής (Ripple Counter)

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

C D C D C D C D A B

Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ

Εργαστήριο Ψηφιακής Σχεδίασης

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

Ακολουθιακό κύκλωμα Η έξοδος του κυκλώματος εξαρτάται από τις τιμές εισόδου ΚΑΙ από την προηγούμενη κατάσταση του κυκλώματος

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥΣ ΜΕ FLIP-FLOP ΚΑΙ ΠΥΛΕΣ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Ακολουθιακά κυκλώματα: Μανδαλωτές και Flip-Flop. Διάλεξη 6

Κεφάλαιο 10 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Ακολουθιακή Λογική 2

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2016

Περιεχόµενα. Πρόλογος Εισαγωγή 21

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009

Ακολουθιακό κύκλωμα Η έξοδος του κυκλώματος εξαρτάται από τις τιμές εισόδου ΚΑΙ από την προηγούμενη κατάσταση του κυκλώματος

Ψηφιακά Συστήματα. 8. Καταχωρητές

Transcript:

ΛΟΓΙΚH ΣΧΕΔΙΑΣH ΙΙ Καλώς ήλθατε

Ωρολόγιο Πρόγραμμα Τα τυπικά (1/2) (2 ώρες παραδόσεις 1 ώρα φροντιστήριο) x 13 Πέμπτη 16:00 19:00, ΒΑ Στην αρχή μόνο παραδόσεις Τελική εξέταση : Γραπτώς, με ανοικτές σημειώσεις Θα περιλαμβάνει Verilog για ακολουθιακά κυκλώματα Προαιρετικές ασκήσεις : Σε ομάδες των 3 ατόμων Ανακοινώνονται ανά 3 εβδομάδες και υποβάλλονται ηλεκτρονικά έως την επόμενη

Τα τυπικά (2/2) Ιστοσελίδα του μαθήματος : http://pc-vlsi18.ceid.upatras.gr/logic_design_ii.html (Διαφάνειες, εκφωνήσεις, θέματα) Ερωτήσεις Απορίες : Ε-mail : vergos@ieee.org vergos@ceid.upatras.gr Ωρες γραφείου : κάθε πρωί 08.30 12.30

Bιβλιογραφία & Υλη M. Morris Mano, Digital Design, 5 th edition!!! Εξεταζόμενη ύλη : κεφάλαια 1-8 (όχι ΑSM), 9 (αν παραδοθεί) J. F. Wakerly, Digital Design : Principles and Practices, 3 rd edition Όλο το βιβλίο πλην του κεφαλαίου 3, ABEL & VHDL Recommended : J. F. Wakerly, Digital Design : Principles and Practices, 4 th edition

Λογική Σχεδίαση Ι με μια ματιά Συνδυαστικά κυκλώματα => Συνδυαστικά στοιχεία => Λογικές πράξεις πάνω σε δυαδικές μεταβλητές => Δίτιμη άλγεβρα Βοοle.

ΛΣ ΙΙ : Γιατί??? ΑΞΙΩΜΑΤΑ : Όσο πιο "έξυπνη" είναι μια συσκευή => κόστος => κέρδος Κάθε "έξυπνη" συσκευή έχει ένα ή πολλά "πολύπλοκα" κυκλώματα Υπάρχει ολοένα & μεγαλύτερη ζήτηση σχεδιαστών "πολύπλοκων" κυκλωμάτων με ολοένα και μεγαλύτερους μισθούς Πόσους απέλυσε η Xilinx μετά το κραχ των χρηματιστηρίων το 1999? Πόσους η Microsoft? Πόσος ο μέσος μισθός του C programmer? Πόσος του test engineer? => Είναι καλό να μάθετε να σχεδιάζετε αυτά τα "πολύπλοκα" κυκλώματα.

Nαι, αλλά στο ΛΣ Ι έμαθα να σχεδιάζω ΜΑΘΑΤΕ ΜΟΝΟ ΤΗ ΘΕΩΡΙΑ ΓΙΑ ΝΑ ΣΧΕΔΙΑΖΕΤΕ ΜΙΚΡΑ ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΤΗΤΑ : Κανένα χρήσιμο κύκλωμα σήμερα δεν είναι μόνο συνδυαστικό (ακολουθεί παράδειγμα) Τα σημερινά κυκλώματα για να προσδώσουν "εξυπνάδα" στο τελικό προϊόν είναι εξαιρετικά πολύπλοκα Ευτυχώς που χρειάζονται πιο "έξυπνους" σχεδιαστές και πιο "έξυπνους" τρόπους σχεδιασμού. Ίσως γι' αυτό και είναι το μόνο κομμάτι της επιστήμης μας χωρίς εξωτερικό ανταγωνισμό

Μη συνδυαστικό κύκλωμα? Που χρειάζεται? Στα συνδυαστικά κυκλώματα οι έξοδοι σε κάθε χρονική στιγμή εξαρτώνται αποκλειστικά και μόνο από τις εισόδους οι οποίες εφαρμόζονται την συγκεκριμένη εκείνη στιγμή. Δεν εξαρτώνται ούτε από την σειρά με την οποία αυτές οι είσοδοι εφαρμόσθηκαν, ούτε από την κατάσταση του κυκλώματος πριν αυτές εφαρμοσθούν. ΠΡΟΒΛΗΜΑ: Να σχεδιασθεί ψηφιακό σύστημα το οποίο να επιτρέπει την εκκίνηση της μηχανής του αυτοκινήτου μόνον εφόσον ο οδηγός καθίσει και δέσει την ζώνη ασφαλείας του καθίσματός του. ΛΥΣΗ ΑΔΑΟΥΣ ΣΧΕΔΙΑΣΤΗ : Μια πύλη ΑΝD από ένα sensor στη ζώνη και έναν στο κάθισμα του αυτοκινήτου

ΥΛΗ ΛΣ ΙΙ Στοιχεία μνήμης / Ακολουθιακά κυκλώματα Latches Flip-flops FSMs σε υλικό Verilog για ακολουθιακά κυκλώματα Συνήθη ακολουθιακά κυκλώματα : καταχωρητές, ολισθητές, μετρητές Μνήμες και προγραμματιζόμενα ολοκληρωμένα Τεχνολογίες ψηφιακών ολοκληρωμένων κυκλωμάτων Ασύγχρονα ακολουθιακά κυκλώματα

ΜΕΡΟΣ Ι ΑΚΟΛΟΥΘΙΑΚΑ ΣΤΟΙΧΕΙΑ

Συνδυαστικά vs Ακολουθιακά Συνδυαστικά : οι έξοδοι εξαρτώνται σε κάθε χρονική στιγμή αποκλειστικά και μόνο από τις εισόδους που εφαρμόζονται. Δεν εξαρτώνται ούτε από τη σειρά εφαρμογής, ούτε από τη κατάσταση του κυκλώματος πριν εφαρμοστούν. Ακολουθιακά : οι έξοδοι κάθε χρονική στιγμή εξαρτώνται όχι μόνο από τις τιμές των εισόδων εκείνη τη στιγμή αλλά και από τις τιμές των εισόδων όλες τις προηγούμενες χρονικές στιγμές. Οι τελευταίες έχουν επιβάλλει μια κατάσταση στο κύκλωμα. Η κατάσταση αποθηκεύεται σε στοιχεία με ικανότητα μνήμης. Τα στοιχεία αυτά ονομάζονται ακολουθιακά στοιχεία. Ένα κύκλωμα που περιέχει ακολουθιακά στοιχεία είναι ένα ακολουθιακό κύκλωμα. Υπάρχουν 2 μεγάλες κατηγορίες ακολουθιακών κυκλωμάτων : σύγχρονα και ασύγχρονα κυκλώματα. Στα σύγχρονα οι αλλαγές της κατάστασης γίνονται σε διακριτές στιγμές χρόνου.

Σύγχρονα Οι τιμές σε συγκεκριμένες (διακριτές) τιμές χρόνου το περιγράφουν πλήρως Συγχρονισμός επιτυγχάνεται μέσω ενός σήματος χρονισμού, γνωστό ως ρολόι που έχει μια περιοδική παλμοσειρά. Δε παρουσιάζουν αστάθεια. Σύγχρονα vs Ασύγχρονα Ασύγχρονα Οι τιμές εξαρτώνται από τη σειρά εναλλαγής των σημάτων εισόδου. Νέα τιμή μπορεί να προκύψει ανά πάσα χρονική στιγμή. Ένα συνδυαστικό κύκλωμα με ανατροφοδότηση (feedback) είναι ένα ασύγχρονο ακολουθιακό κύκλωμα. Αστάθεια. Θα μελετήσουμε αρχικά τα σύγχρονα κυκλώματα, μιας και τα ασύγχρονα τείνουν να εξαλειφθούν εντελώς από εμπορικούς σχεδιασμούς.

Γενικό μοντέλο ενός πλήρους κυκλώματος Είσοδοι Συνδυαστικά Κυκλώματα Στοιχεία Μνήμης (Ακολουθιακά) Εξοδοι

Ακολουθιακά στοιχεία / στοιχεία μνήμης - γενικά Εστω το σήμα χρονισμού : Υπάρχουν δύο (2) κατηγορίες : Αυτά που είναι ενεργά βάσει μιας στάθμης δυναμικού : Το στοιχείο αυτό μπορεί να αλλάζει κατάσταση διαρκώς όσο το σήμα χρονισμού βρίσκεται στην ενεργή στάθμη. Τα στοιχεία αυτής της κατηγορίας ονομάζονται μανταλωτές (latches)

Ακολουθιακά στοιχεία / στοιχεία μνήμης γενικά - 2 Αυτά που είναι ενεργά μόνο κατά την μία ακμή αλλαγής δυναμικού Θετική ακμοπυροδότηση Αρνητική ακμοπυροδότηση Τα στοιχεία αυτής της κατηγορίας ονομάζονται flip-flops

Το πρώτο κύκλωμα με μνήμη! Vcc s Y Q Gnd 0 1 0 Gnd Vcc 1 0 1 Gnd 0 0 1 Το κύκλωμά μας απέκτησε μνήμη! "Θυμάται" ότι κάποτε η είσοδος πήγε στο 1. Το κύκλωμα δεν επανέρχεται!!!

S-R latch χωρίς χρονισμό s s Q' r Q R S Q Q' Eστω ότι κάποια χρονική στιγμή έχουμε κατορθώσει να θέσουμε Q=a και Q'=~a. Το κύκλωμα θα θυμάται αυτή τη κατάσταση επ άπειρον αν S=R=0.

S-R latch χωρίς χρονισμό -2 R S Q Q' Oρίζουμε τις καταστάσεις Q=1 και Q'=0 (κατάσταση θέσης) και Q=0 και Q'=1 (κατάσταση μηδενισμού) ως τις δύο χρήσιμες καταστάσεις του κυκλώματός μας. R=0 Q=1 R=0 Q=1 S=1 Q'=0 S=0 Q'=0 Mε S=1 και R=0 θέτουμε το στοιχείο. Επαναφορά σε S=R=0 διατηρεί τη κατάσταση θέσης!

S-R latch χωρίς χρονισμό -3 R=1 Q=0 R=0 Q=0 S=0 Q'=1 S=0 Q'=1 Mε S=0 και R=1 καθαρίζουμε (μηδενίζουμε / επαναφέρουμε) το latch. Επαναφορά σε S=R=0 διατηρεί τη κατάσταση καθαρισμού! Άρα έχουμε καταφέρει να φτιάξουμε ένα στοιχείο που μπορεί να αποθηκεύει (θυμάται) δύο διαφορετικές καταστάσεις => ένα βασικό στοιχείο δυαδικής μνήμης.

S-R latch χωρίς χρονισμό -4 R=1 Q=0 R=0 Q=X S=1 Q'=0 S=0 Q'=X Mε S=1 και R=1, παίρνουμε Q=Q'=0. Λόγω της μη συμπληρωματικότητας των εξόδων αυτή η κατάσταση είναι "περίεργη". Επιστρoφή στο S=R=0 θα οδηγήσει το κύκλωμά μας σε μία από τις χρήσιμες καταστάσεις!!! Σε ποια από τις δύο εξαρτάται από τη χρονική σειρά απενεργοποίησης των S, R. Η παράληλη ενεργοποίηση των S, R, πρέπει να αποφεύγεται.

S-R latch χωρίς χρονισμό με πύλες ΝΑΝD ~R ~S Q' Q H αρχή λειτουργίας είναι ακριβώς αντίστοιχη με αυτή του S-R latch που φτιάχνεται με πύλες NOR. Το κύκλωμα θυμάται τη προηγούμενη κατάστασή του όταν ~S=~R=1. Θέση με ~S=0 και ~R=1. Καθαρισμός με ~S=1 και ~R=0. H είσοδος ~S=~R=0 πρέπει να αποφεύγεται.

Πρέπει να θυμάστε (1) ~ ~ R S S R Q Q' Q Q' S R Q Q 0 0 Q Q ηρεμία (μνήμη) 0 1 0 1 Reset (Q=0) 1 0 1 0 Set (Q=1) 1 1 0 0 απροσδιοριστία ~S ~R Q Q 0 0 1 1 απροσδιοριστία 0 1 1 0 Set (Q=1) 1 0 0 1 Reset (Q=0) 1 1 Q Q ηρεμία (μνήμη)

S-R latch με είσοδο επίτρεψης S ~S C S R Q (next state) Q 0 X X Q (t-1) C (clk) R ~R Q' 1 0 0 Q (t-1) 1 0 1 0 (μηδενισμός) 1 1 0 1 (θέση) 1 1 1 Απροσδιοριστία Δύο επιπλέον NAND και την είσοδο ελέγχου C. Η είσοδος ελέγχου καθορίζει πότε οι τιμές των S και R θα περάσουν στο χωρίς χρονισμό latch

D latch : το πρώτο μας ακολουθιακό στοιχείο D C (clk) Q Q' C D Q (next state) 0 X Q (t-1) 1 0 0 (μηδενισμός) 1 1 1 (θέση) Εξαλείφουμε τη κατάσταση απροσδιοριστίας με το να μην επιτρέπουμε S, R να πάρουν ταυτόχρονα τη τιμή 1. Μπορούμε εναλλακτικά να πούμε ότι η τιμή στην είσοδο D, δειγματοληπτείται διαρκώς όσο το C είναι στο 1.

D latch -2 Πολλές φορές το D latch αναφέρεται και ως διαφανές (transparent). Nα θυμάστε : To D latch αντιγράφει την είσοδο στην έξοδό του όταν το C είναι σε κατάσταση επίτρεψης ΔΙΑΡΚΩΣ

Μεταστάθεια : το πρόβλημα 0 1 0->1 1->0 Q Q 0 0->1 1 Q' 1 Q' 1 1->0 Πρόβλημα : αυτή η μετάβαση καθυστερεί περισσότερο από τις άλλες 1 0 Q 1 0 Q' Κατάσταση απροσδιοριστίας!!! 1

Μεταστάθεια : η λύση Απαιτείται συγχρονισμός στις αλλαγές των γραμμών D και C. Oρίζουμε δύο χρονικά διαστήματα που θα πρέπει να τηρούνται ευλαβικά από κάθε σχεδιαστή ώστε να μην εμφανιστεί ποτέ το πρόβλημα της μεταστάθειας. Setup time (χρονικό διάστημα προετοιμασίας). Χρόνος που το D πρέπει να έχει σταθερή τιμή πρίν την αλλαγή του C στην κατάσταση επίτρεψης. Hold time (χρονικό διάστημα αποκατάστασης). Χρόνος που το D πρέπει να διατηρήσει την ίδια τιμή μετά την αλλαγή του C στην κατάσταση επίτρεψης.

Flip-flops Aντίθετα με τα latches που ενεργοποιούνται με τη στάθμη δυναμικού της εισόδου επίτρεψης (level-triggered) τα flip-flops είναι ακμοπυροδότητα (edge triggered)! Δειγματοληπτούν την είσοδό τους δηλαδή σε κάποια από τις δύο ακμές του ρολογιού. Αν χρησιμοποιούν τη θετική ακμή, ονομάζονται θετικής πυροδότησης Αν χρησιμοποιούν την αρνητική ακμή ονομάζονται αρνητικής ακμοπυροδότησης.

Latches vs Flip-flops Q latch Q flip-flop D clk

Γιατί χρειάζονται τα flip-flops? Είσοδοι Συνδυαστικά Κυκλώματα Στοιχεία Μνήμης (Ακολουθιακά) Εξοδοι O χρονισμός αυτού του μονοπατιού θα ήταν προβληματικός χωρίς flip-flops ΣΥΜΠΕΡΑΣΜΑ : η έξοδος ενός latch δε θα πρέπει ποτέ αυτούσια ή μέσω ενός συνδυαστικού κυκλώματος να συνδέεται σαν είσοδος στο ίδιο ή άλλα latches που έχουν το ίδιο ρολόι.

Πως φτιάχνεται ένα θετικά ακμοπυροδότητο D flip-flop? D C Q Q' D C Q Q' Δύο D latches (master and slave) D D Q D Q C Q' MASTER C Q' SLAVE CLK Mε συμπληρωματικά ρολόγια

Λειτουργία ενός D flip-flop D CLK D C Q Q' MASTER D C Q Q' SLAVE CLK = LOW => Master ενεργό, Slave ανενεργό. Η είσοδος αντιγράφεται στην έξοδο του Master. Η έξοδος του Slave διατηρεί τη προηγούμενη κατάσταση CLK = ΗIGH => Master ανενεργό και συνεπώς διατηρεί τη προηγούμενη κατάσταση. Το Slave ενεργό και αντιγράφει την έξοδο του Μaster στην έξοδο του κυκλώματος. Αφού η έξοδος του Master δεν αλλάζει όσο το ρολόι είναι στο 1, και η έξοδος του Slave δεν αλλάζει όσο το ρολόι είναι στο 0 ότι δειγματοληπτήθηκε στην ανοδική ακμή του CLK θα είναι η έξοδος του κυκλώματος μέχρι την επόμενη ανοδική ακμή.

Πίνακας αληθείας και παράδειγμα λειτουργίας D CLK D Q C Q' MASTER QM D Q C Q' SLAVE D CLK Q Q' 0 0 1 1 1 0 X 0 Q(t-1) Q'(t-1) X 1 Q(t-1) Q'(t-1)

Συμβολισμοί και χρόνοι ενδιαφέροντος Θετικά ακμοπυροδοτούμενο D flip-flop Αρνητικά ακμοπυροδοτούμενο D flip-flop D Q D Q CLK Q' CLK Q'

Αρνητικά ακμοπυροδότητο D flip-flop D D Q QM D Q C Q' MASTER C Q' SLAVE CLK D CLK Q Q' 0 0 1 1 1 0 X 0 Q(t-1) Q'(t-1) X 1 Q(t-1) Q'(t-1)

Πιο οικονομική υλοποίηση ενός D-FF 6 πύλες έναντι 8 της προηγούμενης περίπτωσης 2 μανταλωτές εξαρτώνται από τις τιμές των CLK και D, ενώ το τελευταίο παράγει τις εξόδους. Όταν CLK = 0, S = R = 1 και η έξοδος παραμένει στη προηγούμενη τιμή της.

Πιο οικονομική υλοποίηση ενός D-FF - 2 0 1 1 0 10 0 1 1 1 01 1 1 0 1 1

Πιο οικονομική υλοποίηση ενός D-FF - 2 10 1 1 10 1 1 10 0 1 01 01 1 1 0 1 1 0 01

Αμεσες είσοδοι σε ένα FF Μερικές φορές θέλουμε να θέσουμε ή να καθαρίσουμε ένα FF χωρίς να χρειάζεται να οδηγήσουμε τόσο την είσοδο D όσο και την είσοδο CLK Το πλέον προφανές παράδειγμα είναι η αρχικοποίηση των ακολουθιακών στοιχείων του κυκλώματός μας σε κάποια αρχική κατάσταση. Αυτό επιτυγχάνεται με τη προσθήκη άμεσων εισόδων : Άμεση είσοδος θέσης (Preset / Direct Set). H ενεργοποίησή της οδηγεί το Q στο 1 (Q' στο 0). Άμεση είσοδος μηδενισμού / καθαρισμού (Reset / Clear). Η ενεργοποίησή της οδηγεί το Q στο 0 (Q' στο 1). Οι άμεσες είσοδοι μπορούν να δρουν Ασύγχρονα Σύγχρονα

1η περίπτωση : Ασύγχρονες άμεσες είσοδοι Ονομάζονται ασύγχρονες, γιατί η ενεργοποίησή τους έχει άμεσο αποτέλεσμα στην έξοδο του FF, ανεξάρτητο δηλαδή από το χρονισμό του.

D-FF με ασύγχρονο Reset (αρνητικής λογικής) Όταν Reset = 0, Q'=1. Eπίσης S=1 και συνεπώς Q=0. Όταν Reset = 1, το κύκλωμα είναι ισοδύναμο με το θετικά ακμοπυροδότητο D FF που εξετάσαμε προηγούμενα.

D-FF με ασύγχρονο Clear και Preset αρνητικής λογικής Όταν ~Clear=0 και ~Preset=1 => ~Q=1, S=1και συνεπώς Q=0. Όταν ~Preset=0 και ~Clear=1, => Q=1, R=1 και συνεπώς και ~Q=0. Όταν ~Clear = ~Preset =0, τότε Q=~Q=1. Aσταθής κατάσταση. Όταν ~Clear = ~Preset =1, τότε αναγόμαστε στο προηγούμενο κύκλωμα του θετικά ακμοπυροδότητου D FF.

D-FF με ασύγχρονο Reset και Preset SN 74 (ALS) 74 Dual Positive Edge D Flip Flops with Asynchronous Preset and Clear

2η περίπτωση : Σύγχρονες άμεσες είσοδοι Ονομάζονται σύγχρονες, γιατί ανεξάρτητα του πότε γίνει ενεργοποίησή τους, η επίδρασή τους στην έξοδο του FF, γίνεται με το επόμενο σήμα χρονισμού. Σε θετικά ακμοπυροδότητο FF αυτό σημαίνει με την επόμενη ανερχόμενη ακμή του ρολογιού.

D Flip Flop με σύγχρονο Reset ή σύγχρονο Preset Προκύπτουν από το βασικό κύκλωμα ενός D Flip Flop με έλεγχο της D εισόδου του. Αρνητικής λογικής σήμα καθαρισμού ~Clear Θετικής λογικής σήμα θέσης Preset D Και τα δύο μαζί με προτεραιότητα στο ~Clear D Preset D ~Clear

Πρέπει να θυμάστε (2) D SET Q CLR Q D SET Q CLR Q

Aλλα είδη flip - flop Το D flip flop είναι το πιο οικονομικό από άποψης απαιτούμενων πυλών. Ωστόσο δεν είναι το μόνο που μπορούμε να φτιάξουμε. Τα πιο διαδεδομένα άλλα είδη flip flop είναι : Το Μaster / Slave S-R Flip Flop To Master / Slave J-K Flip Flop To ακμοπυροδότητο J-K Flip Flop To T Flip Flop To Scan Flip Flop Σε καθένα από αυτά, μπορούμε να προσθέτουμε άμεσες εισόδους είτε σύγχρονες είτε ασύγχρονες. Η συλλογή όλων αυτών των ακολουθιακών στοιχείων αποτελεί μια βιβλιοθήκη στοιχείων με την οποία φτιάχνουμε τα ακολουθιακά κυκλώματά μας.

Μaster / Slave S-R Flip Flop C S R Q (next state) 0 X X Q (t-1) 1 0 0 Q (t-1) 1 0 1 0 (μηδενισμός) 1 1 0 1 (θέση) 1 1 1 Απροσδιοριστία Oπως φτιάξαμε ένα Master / Slave D FF με τη χρήση δύο D latches, μπορούμε με τη χρήση δύο S-R latches με είσοδο επίτρεψης να φτιάξουμε ένα Master / Slave S-R FF.

Μaster / Slave S-R Flip Flop - 2 S R S C R Q Q S C R Q Q Q Q' C Oταν το ρολόι είναι στο 1, το Slave δεν αλλάζει κατάσταση. Όταν το ρολόι μεταβαίνει στο 0 αλλάζει η έξοδος του Slave αλλά το Master είναι ανενεργό και συνεπώς δίνει συνεχώς την ίδια είσοδο στο Slave. Αρα αλλαγή της εξόδου μόνο στην του C. C S R Q (next state) 0 X X Q (t-1) 1 0 0 Q (t-1) 1 0 1 0 (μηδενισμός) 1 1 0 1 (θέση) 1 1 1 Απροσδιοριστία

Μaster / Slave J-K Flip Flop Προτάθηκε για να λύσει το πρόβλημα της απροσδιοριστίας. Φτιάχνεται κι αυτό με 2 S-R latches με είσοδο επίτρεψης και επιπλέον λογική που αποτρέπει την είσοδο S=R=1 στο Μaster latch. J K S C R Q Q S C R Q Q Q Q' C Όταν η J πάρει τη τιμή 1, η S γίνεται 1, μόνο αν το Q' είναι 1, δηλαδή αν το Q είναι 0! Όταν η Κ πάρει τη τιμή 1, η R γίνεται 1, μόνο αν το Q είναι 1, δηλαδή αν το Q' είναι 0!

Μaster / Slave J-K Flip Flop - 2 S R C Q Q S R C Q Q C 1 0 K J S R C Q Q S R C Q Q C 1 0 1 1 S R C Q Q S R C Q Q C 1 0 1 1 0 1 S R C Q Q S R C Q Q C 0 1 1 1 0 1 Η εφαρμογή της εισόδου J = K = 1 είχε ως αποτέλεσμα την αντιστροφή της προηγούμενης κατάστασης. Ακριβώς το ίδιο θα συνέβαινε αν η αρχική μας κατάσταση ήταν η Q=0 και ~Q=1.

Μaster / Slave J-K Flip Flop 3 C J K Q (next state) 0 X X Q (t-1) 1 0 0 Q (t-1) 1 0 1 0 (μηδενισμός) 1 1 0 1 (θέση) 1 1 1 ~Q(t-1)

Ακμοπυροδοτούμενο J-K Flip Flop Φτιάχνεται από το ακμοπυροδοτούμενο D FF με επιπλέον λογική J K D Q Q C CLK Q ~Q

Ακμοπυροδοτούμενο J-K Flip Flop - 2 SN 74 (ALS) 109 Dual Positive Edge J-~K Flip Flops with Asynchronous Preset and Clear

T(oggle) Flip Flop Στη πιο βασική του εκδοχή τo Τ FF αλλάζει κατάσταση σε κάθε πυροδότηση CLK D SET Q CLK CLR Q ΠΑΡΑΤΗΡΗΣΗ : Η έξοδος ενός Τ FF έχει τη μισή συχνότητα της εισόδου του!!! Ένα Τ FF κατασκευάζεται από ένα D ή ένα J-K FF. CLK D SET Q 1 CLK J SET Q CLR Q K CLR Q

T(oggle) Flip Flop με είσοδο επίτρεψης Στις πιο πολλές εφαρμογές δε χρειαζόμαστε εναλλαγή σε κάθε πυροδότηση => μια είσοδος επίτρεψης (enable στο εξής Τ) είναι ωφέλιμη. CLK DT SET Q T CLK CLR Q Ένα Τ FF κατασκευάζεται και πάλι είτε από ένα D ή ένα J-K FF. EN T D Q EN T T CLK J CLK Q T CLK CLK Q K ~Q

Scan Flip Flop (σάρωσης) Στα σημερινά ολοκληρωμένα κυκλώματα υπάρχουν χιλιάδες έως εκατοντάδες χιλιάδες FF. Όταν θέλουμε να δοκιμάσουμε αν ένα τέτοιο κύκλωμα δουλεύει σωστά θα πρέπει να μπορούμε να βάζουμε τα FFς του σε συγκεκριμένες καταστάσεις αλλά και να διαβάζουμε τις εξόδους τους. Αυτό δε μπορεί να γίνει (ή είναι εξαιρετικά χρονοβόρο) χρησιμοποιώντας τις εισόδους / εξόδους λειτουργίας του FF. Σκοπός του scan FF είναι να παρέχει εναλλακτική είσοδο / έξοδο δεδομένων που τη χρησιμοποιούμε κατά τη διάρκεια των δοκιμών μόνο.

Scan D FF TE D TI CLK D CLK Q Q Ισοδύναμο με ένα DFF και ένα πολυπλέκτη στην είσοδο με σήμα επιλογής το ~ΤΕ (Τest Enable). Για κανονική λειτουργία ΤΕ = 0 και παίρνουμε ένα D FF. Όταν ΤΕ = 1, η είσοδος D, οδηγείται από το ΤΙ (Test Input). Oι επιπλέον είσοδοι χρησιμοποιούνται για τη σύνδεση όλων των FF του κυκλώματος σε μια αλυσίδα σάρωσης (scan chain).

TE D TI CLK Scan Chain D CLK Q Q D TE TI CLK Q Q TI CLK TE D TE TI CLK Q Q D TE TI CLK Oλες οι είσοδοι ΤΕ συνδέονται μαζί. Q Q Η έξοδος κάθε FF συνδέεται και στην είσοδο ΤΙ του επόμενου Όταν ΤΕ = 1, μπαίνουμε σε κατάσταση δοκιμής, όπου η επιθυμητή τιμή των στοιχείων εισάγεται σειριακά. Κατόπιν με ΤΕ=0 γυρίζουμε στην κανονική λειτουργία. Τέλος με ΤΕ=1 και πάλι και παλμούς ρολογιού από την έξοδο ΤΟ διαβάζουμε τη νέα κατάσταση των στοιχείων. D TE TI CLK Q Q D TE TI CLK Q Q TO

Πρέπει να θυμάστε (3) Level vs edge triggered στοιχεία. Αμεσες είσοδοι για Reset και Preset. Πρέπει να τηρούνται χρόνοι Setup και Hold. To D FF είναι το πιο οικονομικό και γι αυτό χρησιμοποιείται κατά κόρο. Αλλα χρησιμοποιούμενα FFs είναι τα J-K και Τ. Για εύκολη δοκιμή των κυκλωμάτων μας καλό είναι τα FFs να είναι Scan. D Q(t) 0 0 1 1 T Q(t) 0 Q(t-1) 1 ~Q(t-1) J K Q(t) 0 0 Q(t-1) 0 1 0 1 0 1 1 1 ~Q(t-1) S R Q(t) 0 0 Q(t-1) 0 1 0 1 0 1 1 1?

Πίνακες Διέγερσης Μπορεί να θεωρηθεί ως ο συμπληρωματικός του χαρακτηριστικού πίνακα λειτουργίας ενός flip flop. O χαρακτηριστικός πίνακας μας δείχνει για κάθε πιθανή τρέχουσα κατάσταση και τιμή εισόδου την επόμενη κατάσταση του flip flop. O πίνακας διέγερσης, μας δίνει τις απαιτούμενες τιμές εισόδου του flip flop ώστε να μεταβούμε από μια τρέχουσα κατάσταση, σε μια επιθυμητή επόμενη κατάσταση.

Μηχανές πεπερασμένων καταστάσεων πολλών ειδών. Εμάς μας ενδιαφέρουν όσες περιέχουν στοιχεία μνήμης που αλλάζουν όλα μαζί με το ίδιο σήμα χρονισμού. Η μηχανή αλλάζει κατάσταση με την ενεργοποίηση του ρολογιού. Γενική δομή μιας μηχανής πεπερασμένων καταστάσεων (κατά Mealy) : Είσοδοι Λογική επόμενης κατάστασης F Μνήμη Κατάστασης (ακολουθιακά κυκλώματα) Τρέχουσα Κατάσταση Λογική εξόδου G Εξοδοι Ρολόι Σήμα ρολογιού

Μηχανές πεπερασμένων καταστάσεων-2 Είσοδοι Λογική επόμενης κατάστασης F Μνήμη Κατάστασης (ακολουθιακά κυκλώματα) Τρέχουσα Κατάσταση Λογική εξόδου G Εξοδοι Ρολόι Σήμα ρολογιού Aν οι καταστάσεις που μπορεί να βρεθεί η μηχανή μου είναι κ, τότε στη μνήμη κατάστασης έχω λ ακολουθιακά στοιχεία έτσι ώστε 2 λ κ Η επόμενη κατάσταση παράγεται από τη λογική επόμενης κατάστασης F και είναι συνάρτηση εισόδων και τρέχουσας. Η λογική εξόδου G καθορίζει την έξοδο σα συνάρτηση εισόδων και τρέχουσας κατάστασης. F και G είναι συνδυαστικά και μόνο λογικά κυκλώματα. Επόμενη κατάσταση = F (τρέχουσα κατάσταση, είσοδος) Εξοδος = G (τρέχουσα κατάσταση, είσοδος)

Mealy vs Moore machines Είσοδοι Λογική επόμενης κατάστασης F Μνήμη Κατάστασης (ακολουθιακά κυκλώματα) Τρέχουσα Κατάσταση Λογική εξόδου G Εξοδοι Ρολόι Mealy : Moore : Σήμα ρολογιού Εξοδος = G (τρέχουσα κατάσταση, είσοδος) Εξοδος = G (τρέχουσα κατάσταση) Στη πράξη όλες οι μηχανές είναι ένα μίγμα αυτών των δύο θεωρήσεων. Στα πολύ υψηλής ταχύτητας κυκλώματα απαιτούμε έξοδο σταθερή για μια πλήρη περίοδο ρολογιού. Εκεί προτιμάμε Moore με μηδενική λογική G.

Eναλλακτική πρόταση : διοχέτευση Είσοδοι Λογική επόμενης κατάστασης F Μνήμη Κατάστασης (ακολουθιακά κυκλώματα) Τρέχουσα Κατάσταση Λογική εξόδου G Μνήμη Διοχέτευσης Εξοδοι Ρολόι Ρολόι Σήμα ρολογιού Οι έξοδοι κατά τη διάρκεια μιας περιόδου ρολογιού εξαρτώνται από τη κατάσταση και τις εισόδους κατά τη διάρκεια της προηγούμενης περιόδου ρολογιού.

Διαγράμματα μετάβασης καταστάσεων (State Transition Diagrams STDs)

Παράδειγμα STD για το πρόβλημα αναγνώρισης του string 1011 Mealy Moore

Ασκηση 1 Δώστε το κατά Moore STD μιας μηχανής πεπερασμένων καταστάσεων, η οποία να υποδεικνύει τo ψηφίο άρτιας ισοτιμίας της σειριακής εισόδου της.

Ασκηση 2 Αναπτύξτε το κατά Mealy STD μιας μηχανής πεπερασμένων καταστάσεων με μια είσοδο Χ και μια έξοδο Υ η οποία λειτουργεί ως εξής : όταν η είσοδος Χ πάει στο 1, η έξοδος Υ γίνεται 1 για 2 ωρολογιακούς κύκλους και μετά επανέρχεται στο 0 ακόμη κι αν η είσοδος Χ παραμένει στο 1.

Ασκηση 3 Δώστε STDs κατά Moore για μια μηχανή η οποία θα αναγνωρίζει στη σειριακή είσοδό της το pattern 010 μόνο και μόνο αν δεν έχει ποτέ εμφανιστεί προηγούμενα το pattern 100. Θεωρείστε ότι επικαλυπτόμενες εμφανίσεις αναγνωρίζονται 2 φορές.

Ασκηση 4 Πρόβλημα : Σχεδιάστε ένα STD κατά Mealy με 2 εισόδους Α, Β και 1 έξοδο Z. H Z παίρνει την τιμή 1 : Αν στην είσοδο Α έχουμε την ίδια τιμή σε δύο διαδοχικούς κύκλους ή Οσο στην είσοδο Β έχουμε 1 αφότου ήταν αληθής η πρώτη συνθήκη Σε κάθε άλλη περίπτωση η έξοδος είναι 0.

Mealy 00/0 0X/0 Α0 0X/1 0X/1 ΟΚ 00 11/1 ΟΚ Α1 ΑΡΧΗ 1X/0 0X/0 00/0 10/0 1X/1 0X/1 01/1 11/1 1X/0 Α1 1X/1 ΟΚ 11 1X/1 01/1 ΟΚ Α0 10/0

Xαρακτηρισμός ενός STD

Πίνακας Μετάβασης Καταστάσεων/ Εξόδου (State Transition Table STT)

Τι θα προσπαθήσουμε Εξετάζουμε μια συγκεκριμένη κατηγορία δομών : αυτή των μηχανών πεπερασμένων καταστάσεων. Σε κάθε μηχανή μπορούμε να αντιστοιχήσουμε ένα STD και ένα STT. Θα δείξουμε ότι : Δοθέντος ενός ακολουθιακού κυκλώματος μπορούμε εύκολα να πάρουμε ένα STT γι αυτό. Δοθέντος ενός STT μπορούμε να πάρουμε ένα ακολουθιακό κύκλωμα που να τον υλοποιεί Αρα υπάρχει αντιστοιχία μεταξύ μηχανών πεπερασμένων καταστάσεων και ακολουθιακών κυκλωμάτων. Προσοχή : η αντιστοιχία δεν είναι 1-1, ούτε επί. Θα περιγράψουμε τυπικούς τρόπους περιγραφής ακολουθιακών κυκλωμάτων και μηχανών πεπερασμένων καταστάσεων σε Verilog.

Μεθοδολογία Ανάλυση Ακολουθιακών Κυκλωμάτων Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. (ισοδύναμα : προσδιορίζουμε τις συναρτήσεις επόμενης κατάστασης & εξόδου F, G) Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων. Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων.

Χαρακτηριστικοί πίνακες (πίνακες λειτουργίας) FF D Q(t) 0 0 1 1 D SET Q T Q(t) DT 0 Q(t-1) CLR SET Q 1 ~Q(t-1) CLR Q Q J K Q(t) S R Q(t) 0 0 Q(t-1) J SET Q 0 0 Q(t-1) S SET Q 0 1 0 0 1 0 1 0 1 K CLR Q 1 0 1 R CLR Q 1 1 ~Q(t-1) 1 1?

ΑΝΑΛΥΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Σύγχρονα ακολουθιακά κυκλώματα χωρίς εξωτερικές εισόδους και εξόδους Παράδειγμα 1 CLK J CLK Q J CLK Q Vcc K Q' Vcc K Q' (α) J0 Q0 J1 Q1 CLK FF0 FF1 Vcc K0 Q'0 Vcc K1 Q'1 (β)

Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. J 0 = Q 1 J 1 = Q 0 Κ 0 = 1 Κ 1 = 1 Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟΔΟΙ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Q1 Q0 J1 K1 J0 K0 Q1 Q0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 0 0 0 Καταγράφονται ΟΛΟΙ οι δυνατοί συνδυασμοί (δυνατές καταστάσεις) Προκύπτουν από τις συναρτήσεις εισόδου και τις τιμές της παρούσας κατάστασης Προκύπτουν από τις τιμές των εισόδων J, K και τις τιμές της παρούσας κατάστασης Q καθενός FF

Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων 00 11 01 10 Παρατηρήσεις Oι ωρολογιακοί παλμοί δεν δείχνονται στον πίνακα και στο διάγραμμα καταστάσεων. Εννοείται ότι από την παρούσα κατάσταση μεταβαίνουμε στην επόμενη κατάσταση με την έλευση της ενεργού ακμής πυροδότησης του CLK. Για την κατάστρωση του πίνακα βασιζόμαστε εκτός από την παρούσα κατάσταση και τις τιμές των εισόδων, και στον πίνακα λειτουργίας του FF. Με άλλα λόγια, οι πίνακες λειτουργίας των FFs είναι απαραίτητοι για την ανάλυση ενός ακολουθιακού κυκλώματος.

Παράδειγμα 2 Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. J 0 = K 0 = (Q 1 Q 2 ) J 1 = Q 0 J 2 = Q 0 Q 1 K 1 = Q 0 + Q 1 Q 2 K 2 = Q 0 Q 1 + Q 2 Q 1 = (Q 0 + Q 2 )Q 1

Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων Π. Κ. ΕΙΣΟΔΟΙ E. Κ. Q2 Q1 Q0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 J2K2 J1K1 J0K0 00 00 11 00 11 11 00 00 11 11 11 11 00 00 11 00 11 11 01 01 00 11 11 00 Q2 Q1 Q0 Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 1 111 001 000 110 mod-7 010 101 011 100

Σύγχρονα ακολουθιακά κυκλώματα με εξωτερικές εισόδους Παράδειγμα 3 Vcc X CLK J1 CLK Q1 J0 CLK Q0 K1 Q'1 K0 Q'0 Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. J 1 = K 1 = X Q 0 J 0 = K 0 = 1

Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων ΕΙΣΟΔΟΣ & ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟΔΟΙ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Χ Q1 Q0 J1 K1 J0K0 Q1 Q0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 1 1 0 0 Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων 0 00 1 11 0 1 1 0 01 1 10 0

Παράδειγμα 4 Σύγχρονα ακολουθιακά κυκλώματα με εξωτερικές εισόδους και εξόδους CLK T1 CLK Q1 T0 CLK Q0 Q'1 Q'0 Y X Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. T 1 = Q 0 Τ 0 = Χ Q 1 Y = X Q 1 Q 0

Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων ΕΙΣΟΔΟΣ & ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟΔΟΙ ΕΞΟΔΟΣ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Χ Q1 Q0 T1 T0 Υ Q1 Q0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 0 1 1 0 0/0 0/0 Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων (Μηχανή Mealy) 0/1 00 1/1 0/1 11 1/1 01 10 1/0 1/0

Παράδειγμα 5 CLK D2 CLK Q2 Q'2 D1 CLK Q1 Q'1 Y D0 CLK Q0 Q'0 Βήμα Α1: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. D 0 = Q 2 D 1 = Q 0 D 2 = Q 0 Q 1 Q 2 Υ = Q 0 Q 1 Q 2

Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟΔΟΙ ΕΞΟΔΟΣ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Q2 Q1 Q0 D2 D1 D0 Υ Q2 Q1 Q0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων (Μηχανή Moore) 101 0 000 001 010 CLK 0 0 0 Y 100 011 111 0 1 0

Άσκηση 1 η : Να αναλυθούν τα κυκλώματα

Άσκηση 2 η : Να αναλυθούν τα κυκλώματα

Άσκηση 3 η : Να αναλυθεί το κύκλωμα

Επιπλέον παραδείγματα VCC 5V FF0 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR FF1 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR 5V VCC

VCC 5V 1 ο βήμα...συναρτήσεις FF0 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR FF1 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR J0=Q1+Q0 J1=(Q0Q1) K0= Q0Q1 K1= Q0Q1 5V VCC

VCC 5V 1 ο βήμα...συναρτήσεις ~1PR FF0 ~1PR FF1 1J 1Q 1J 1Q 1CLK 1CLK 1K ~1Q J0=Q1+Q0 J1=(Q0Q1) K0= Q0Q1 K1= Q0Q1 1K ~1Q ~1CLR ~1CLR 2 ο βήμα...πίνακας μεταβάσεων 5V VCC ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ. Q1 Q0 J1 K1 J0 K0 Q1 Q0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0

VCC 5V 1 ο βήμα...συναρτήσεις FF0 FF1 ~1PR ~1PR 1J 1Q 1J 1Q 1CLK 1CLK J0=Q1+Q0 J1=(Q0Q1) K0= Q0Q1 K1= Q0Q1 1K ~1Q 1K ~1Q ~1CLR ~1CLR 2 ο βήμα...πίνακας μεταβάσεων VCC 5V 3 ο βήμα...διάγραμμα μεταβάσεων 00 11 01 10 ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ. Q1 Q0 J1 K1 J0 K0 Q1 Q0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0

Ανάλυση με επιπλέον εξωτερική είσοδο 5V Y ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR 5V

Y FF1 5V ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR FF0 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR 1 ο βήμα...συναρτήσεις J1=Q1 +Q0 K1= Y J0=Q1 K0= Q1 5V

5V Y FF1 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR FF0 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR 1 ο βήμα...συναρτήσεις J1=Q1 +Q0 K1= Y J0=Q1 K0= Q1 2 ο βήμα...πίνακας μεταβάσεων 5V ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ. Y Q1 Q0 J1 K1 J0 K0 Q1 Q0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0

5V Y FF1 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR FF0 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR 1 ο βήμα...συναρτήσεις J1=Q1 +Q0 K1= Y J0=Q1 K0= Q1 2 ο βήμα...πίνακας μεταβάσεων 3 ο βήμα...διάγραμμα μεταβάσεων 00 11 0 0 0 0 5V 01 10 ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ. Y Q1 Q0 J1 K1 J0 K0 Q1 Q0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0

5V Y FF1 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR FF0 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR 1 ο βήμα...συναρτήσεις J1=Q1 +Q0 K1= Y J0=Q1 K0= Q1 2 ο βήμα...πίνακας μεταβάσεων 3 ο βήμα...διάγραμμα μεταβάσεων 00 11 0, 1 0, 1 5V 01 1 1 0 0 10 ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ. Y Q1 Q0 J1 K1 J0 K0 Q1 Q0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0

5V Y FF1 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR FF0 ~1PR 1J 1Q 1CLK 1K ~1Q ~1CLR 1 ο βήμα...συναρτήσεις J1=Q1 +Q0 K1= Y J0=Q1 K0= Q1 2 ο βήμα...πίνακας μεταβάσεων 3 ο βήμα...διάγραμμα μεταβάσεων 00 11 X X 5V 01 1 1 0 0 10 Y=0, 10 11 10, 00 10, 01 11 Y=1, 00 10 01 11 00 ΠΡΟΗΓ. ΕΙΣΟΔΟΙ ΕΠΟΜ. Y Q1 Q0 J1 K1 J0 K0 Q1 Q0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0

Σχεδίαση ενός ακολουθιακού κυκλώματος που υλοποιεί μια μηχανή πεπερασμένων καταστάσεων Μεθοδολογία 9 βημάτων, σχεδόν ανάστροφη της διαδικασίας ανάλυσης 1. Το πιο σημαντικό βήμα. Ο σχεδιαστής κάνει τη μετάφραση μιας λεκτικής περιγραφής σε μια τυποποιημένη περιγραφή, STD / STT. Μνημονικά ονόματα για τις καταστάσεις. 2. (Προαιρετικά?) Ελαχιστοποίηση του αριθμού καταστάσεων. (Εκτελείται σχεδόν πάντα με υπολογιστές). 3. Επιλογή μεταβλητών καταστάσεων και αντιστοίχηση καταστάσεων και τιμών μεταβλητών ( Tο βήμα που ξεχωρίζει τους έμπειρους από τους άπειρους σχεδιαστές). Τα βήματα 4 έως και 9 σήμερα αποτελούν αυτοματοποιημένες διαδικασίες. Στο μάθημα θα τις κάνουμε αναλυτικά απλά και μόνο για να δείτε ότι είναι τόσο τυπικές που μπορείτε και εσείς να τις αυτοματοποιήσετε!!! 4. Αντικατάσταση στον STT. Δημιουργείται ένας πίνακας μετάβασης / εξόδου για κάθε τρέχουσα τιμή κατάστασης και εισόδου. 5. Επιλογή τύπου latches και flip flop. 6. Πίνακες διέγερσης 7. Εξισώσεις διέγερσης και εξόδου 8. Απλοποίηση λογικών συναρτήσεων 9. Δημιουργία λογικού κυκλώματος

Βήμα 1 : STT / STD H διαδικασία αυτή μοιάζει αρκετά με τη συγγραφή προγράμματος Εχεις μια πρώτη ιδέα των εισόδων / εξόδων που απαιτούνται αλλά γνωρίζεις ελάχιστα για το πως θα πετύχεις τις εξόδους με βάση τις εισόδους. Μπορεί να σκαρφιστείς διάφορους τρόπους να λύσεις το πρόβλημα. Διαλέγεις με βάση τη κοινή λογική ή εντελώς τυχαία. Μπορεί να υπάρξουν ειδικές περιπτώσεις που δε φαίνονται με τη πρώτη ανάγνωση της αρχικής περιγραφής. Στο μυαλό σου θα πρέπει να έχεις όλες τις εναλλακτικές Δεν υπάρχει αλγόριθμος για τη διαδικασία που ακολουθείς. Αρα δεν υπάρχουν εγγυήσεις ότι θα το ολοκληρώσεις. Αλλά πρέπει να το κάνεις! Το STT / STD που σχεδιάζεις θα κάνει όσα εσύ προέβλεψες και σχεδίασες. Ούτε λιγότερα, ούτε περισσότερα Τίποτα δε λειτουργεί με τη πρώτη φορά. Debug και επανασχεδίαση!!! Δε χρειάζεται να αγχώνεστε! Σίγουρα έχετε γράψει προγράμματα που δούλεψαν, οπότε σίγουρα θα σχεδιάσετε και σωστά STT/STD.

Το παλιό καλό μας πρόβλημα : Σχεδιάστε ένα σύγχρονο ακολουθιακό κύκλωμα με 2 εισόδους Α, Β και 1 έξοδο Z, η οποία παίρνει την τιμή 1 αν : Η Α είχε την ίδια τιμή σε κάθε έναν από τους δύο προηγούμενους παλμούς ρολογιού ή Η Β είναι στο 1 από την τελευταία φορά που ήταν αληθής η πρώτη συνθήκη Ξέραμε ελάχιστα από STD design κι όμως τα καταφέραμε! 0X/1 Η πρώτη λύση που δώσαμε ΟΚ 00 Α0 μέσω ενός STD για ένα Mealy FSM που λύνει το πρόβλημα. Ερωτήματα : ΑΡΧΗ Είναι το πιο απλό STD? Mealy ή Moore, πότε και Α1 ΟΚ γιατί? 11 0X/0 1X/0 1X/0 0X/0 00/0 0X/1 1X/1 10/0 00/0 1X/1 1X/1 11/1 0X/1 01/1 ΟΚ Α1 01/1 11/1 ΟΚ Α0 10/0

0X 1X 00 0X 0X Α0 Z=0 0X ΟΚ 00 Z=1 11 ΟΚ Α1 Z=1 START Z=0 1X Α1 Z=0 00 1X 10 ΟΚ 11 Z=1 1X 1X 0X 01 01 11 ΟΚ Α0 Z=1 Είναι το πιο απλό STD? 10 Είσοδοι (ΑΒ) Σημασία Τρέχουσα κατάσταση 00 01 11 10 Z S(t) Αρχική ΙΝΙΤ A0 A0 A1 A1 0 Κατάσταση Eίχα 0 στο Α A0 OK00 OK00 A1 A1 0 Είχα 1 στο Α A1 A0 A0 OK11 OK11 0 Είχα 00 στο Α ΟΚ00 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 Είχα 11 στο Α ΟΚ11 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1 ΟΚ, μετά Α=0 ΟΚΑ0 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 ΟΚ, μετά Α=1 ΟΚΑ1 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1 Επόμενη κατάσταση S(t+1)

Βήμα 2 : Ελαχιστοποίηση Καταστάσεων Aν για το ίδιο κύκλωμα μπορεί να υπάρξουν STD / STT πίνακες με διαφορετικό αριθμό καταστάσεων, αναζητούμε μια τυπική διαδικασία που θα μας πάει από ένα πίνακα σε έναν άλλο, με μικρότερο αριθμό καταστάσεων. Σήμερα η διαδικασία αυτή γίνεται αυτόματα και δεν χρειάζεται να εμπλακεί ο σχεδιαστής. Την εξετάζουμε για μαθησιακούς καθαρά λόγους. Η διαδικασία στηρίζεται στην ανίχνευση "ισοδύναμων" καταστάσεων. Δύο καταστάσεις είναι ισοδύναμες όταν : Παράγουν τις ίδιες εξόδους για όλες τους συνδυασμούς εισόδων και Για κάθε συνδυασμό εισόδων οδηγούν είτε στην ίδια επόμενη κατάσταση είτε σε ισοδύναμες καταστάσεις. Είσοδοι (ΑΒ) Σημασία Τρέχουσα κατάσταση 00 01 11 10 Z S(t) Αρχική ΙΝΙΤ A0 A0 A1 A1 0 Κατάσταση Eίχα 0 στο Α A0 OK00 OK00 A1 A1 0 Είχα 1 στο Α A1 A0 A0 OK11 OK11 0 Είχα 00 στο Α ΟΚ00 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 Είχα 11 στο Α ΟΚ11 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1 ΟΚ, μετά Α=0 ΟΚΑ0 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 ΟΚ, μετά Α=1 ΟΚΑ1 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1 Επόμενη κατάσταση S(t+1)

Ενας απλοποιημένος STT για το παράδειγμά μας Σημασία O πίνακας αυτός είναι "ελάχιστος", έχει δηλαδή τον μικρότερο δυνατό αριθμό καταστάσεων. Υπάρχουν και άλλοι πίνακες για το ίδιο πρόβλημα με μεγαλύτερο αριθμό καταστάσεων. Είσοδοι (ΑΒ) Σημασία Τρέχουσα κατάσταση S(t) 00 01 11 10 Z Αρχική Κατάσταση ΙΝΙΤ A0 A0 A1 A1 0 Eίχα 0 στο Α A0 OK0 OK0 A1 A1 0 Είχα 1 στο Α A1 A0 A0 OK1 OK1 0 Δύο ίδια, τελευταία ΟΚ0 ΟΚ0 ΟΚ0 ΟΚ1 Α1 1 Α=0 Δύο ίδια, τελευταία Α=1 Είσοδοι (ΑΒ) Τρέχουσα κατάσταση 00 01 11 10 Z S(t) ΙΝΙΤ A0 A0 A1 A1 0 Αρχική Κατάσταση Eίχα 0 στο Α A0 OK00 OK00 A1 A1 0 Είχα 1 στο Α A1 A0 A0 OK11 OK11 0 Είχα 00 στο Α ΟΚ00 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 Είχα 11 στο Α ΟΚ11 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1 ΟΚ, μετά Α=0 ΟΚΑ0 ΟΚ00 ΟΚ00 ΟΚΑ1 Α1 1 ΟΚ, μετά Α=1 ΟΚΑ1 Α0 ΟΚΑ0 ΟΚ11 ΟΚ11 1 Επόμενη κατάσταση S(t+1) ΟΚ1 Α0 ΟΚ0 ΟΚ1 ΟΚ1 1 Επόμενη κατάσταση S(t+1)

Ελαχιστοποίηση Καταστάσεων - Παράδειγμα 2

Ελαχιστοποίηση Καταστάσεων - Real world! Η μείωση των εσωτερικών καταστάσεων μπορεί να οδηγήσει σε μείωση του αριθμού των flip flops. Μείωση ωστόσο του αριθμού των εσωτερικών καταστάσεων δεν οδηγεί πάντα σε μείωση του αριθμού των flip flops. Για παράδειγμα μείωση από 12 σε 9 καταστάσεις, δεν οδηγεί σε αντίστοιχη μείωση των 4 (κατ ελάχιστο) flip flops που απαιτούνται και στις δύο περιπτώσεις. Στη δεύτερη περίπτωση όμως αυξάνουν οι αχρησιμοποίητες καταστάσεις. Όπως θα δούμε αυτές ισοδυναμούν με αδιάφορους όρους που μπορεί να οδηγήσουν σε μείωση της συνδυαστικής λογικής. Ωστόσο υπάρχουν περιπτώσεις που η αύξηση του αριθμού των καταστάσεων μπορεί να απλοποιήσει τη σχεδίαση!!! Αρα και μια αυτοματοποιημένη διαδικασία ελαχιστοποίησης δε βοηθά πάντοτε!!! Σημαντικότερες μειώσεις μπορεί να επιτευχθούν με το επόμενο βήμα, αυτό της αντιστοίχισης καταστάσεων.

Βήμα 3 : Αντιστοίχιση Καταστάσεων Δυαδικές μεταβλητές κατάστασης = log 2 (αριθμός καταστάσεων) Αντιστοίχιση καταστάσεων => σε κάθε κατάσταση αναθέτουμε συγκεκριμένο συνδυασμό τιμών των δυαδικών μεταβλητών Στο παράδειγμά μας υπάρχουν 5 καταστάσεις, άρα θα χρειαστούμε τουλάχιστον 3 flip flops (δυαδικές μεταβλητές κατάστασης). Τα 3 flip flops μας δίνουν 8 καταστάσεις. Αρα θα υπάρχουν 8 5 = 3 αχρησιμοποίητες καταστάσεις Υπάρχουν [8! /(5! 3!)] x 5! = 6720 δυνατές συναρτήσεις αντιστοίχισης!!! Κάθε μία πιθανά οδηγεί σε διαφορετικό κύκλωμα!!! S(t) 00 01 11 10 Z ΙΝΙΤ A0 A0 A1 A1 0 A0 OK0 OK0 A1 A1 0 A1 A0 A0 OK1 OK1 0 ΟΚ0 ΟΚ0 ΟΚ0 ΟΚ1 Α1 1 ΟΚ1 Α0 ΟΚ0 ΟΚ1 ΟΚ1 1

Πιθανές Αντιστοιχίσεις Ο πιο απλός τρόπος είναι να χρησιμοποιήσουμε στην αντιστοίχιση τις πρώτες 5 δυαδικές αναπαραστάσεις των δυαδικών μας μεταβλητών ΙΝΙΤ -> 000, Α0->001, Α1->010, ΟΚ0->011, ΟΚ1->100 Ο απλούστερος τρόπος δεν εγγυάται τις απλούστερες εξισώσεις διέγερσης, εξόδου και συνεπώς και το απλούστερο κύκλωμα. Η επιλογή της αντιστοίχισης έχει μεγάλο αντίκτυπο στο τελικό κύκλωμα και αλληλεπιδρά με άλλους παράγοντες, όπως το τι flip flop θα χρησιμοποιηθούν, τι λογικές συναρτήσεις θα χρησιμοποιήσουμε (SOP, POS )

Ψάχνοντας τη καλύτερη αντιστοίχιση Πως βρίσκουμε τη καλύτερη αντιστοίχιση? Δοκίμασε όλες!!! Πρακτικά αδύνατο!!! Εμπειρία Απλοί κανόνες : Για την αρχική κατάσταση διάλεξε την 000 0 ή την 111 1 Ελαχιστοποίησε τον αριθμό των στοιχείων που αλλάζουν Μεγιστοποίησε τον αριθμό των στοιχείων που δεν αλλάζουν σε μια ομάδα καταστάσεων. Εκμεταλλεύσου τυχόν συμμετρίες. Αν δύο καταστάσεις ή δύο ομάδες καταστάσεων σημαίνουν περίπου το ίδιο πράγμα και έχεις αναθέσει τιμές για τη μία ανάθεσε αντίστοιχες τιμές για την άλλη (π.χ. άλλαξε μόνο ένα bit). Εκμεταλλεύσου τις αχρησιμοποίητες καταστάσεις. Χώρισε τα δ.ψ. των καταστάσεων σε ομάδες με κάποια σημασία σε σχέση με τις εισόδους ή τις εξόδους Μήπως η χρήση περισσότερων μεταβλητών οδηγεί σε απλούστευση?

Οι υπόλοιπες πιο έξυπνες (?) αντιστοιχίσεις Αναλυμένη To πρώτο δ.ψ. μου καθορίζει την ΙΝΙΤ. Τα υπόλοιπα έτυχε να φαίνονται σα δυαδική μέτρηση. Το Q3 δείχνει τη προηγούμενη τιμή του Α! Το Q2 δείχνει πότε η έξοδος πάει στο 1! Οne-hot assignment 1 δυαδικό ψηφίο ανά κατάσταση, Μόνο ένα flip flop ανά κάθε χρονική στιγμή στο 1. Απλές συναρτήσεις διέγερσης και συνδυαστικές εξισώσεις Almost One-Hot Assignment No-hot συνδυασμός για την αρχική κατάσταση.

Αχρησιμοποίητες Καταστάσεις Τι κάνουμε τις αχρησιμοποίητες καταστάσεις? Δύο λογικές προσεγγίσεις, ανάλογα με τις απαιτήσεις της εφαρμογής Προσέγγιση 1 : Ελάχιστος κίνδυνος Η μηχανή καταστάσεων λόγω κακής σχεδίασης, απρόσμενης εισόδου ή αστοχίας του υλικού, μπορεί να μπει σε κάποια αχρησιμοποίητη κατάσταση Ολες οι αχρησιμοποίητες καταστάσεις θα πρέπει να οδηγούν σε κάποια "χρησιμοποιούμενη" κατάσταση. Προσέγγιση 2 : Ελάχιστο κόστος Η μηχανή δε θα μπεί ποτέ σε "παράνομη" κατάσταση Στους πίνακες μετάβασης και διέγερσης μπορούν να χρησιμοποιηθούν ως αδιάφοροι όροι Απλοποίηση της λογικής διέγερσης Περίεργη έως καταστροφική συμπεριφορά αν τελικά στη πράξη το κύκλωμά μας μπει σε κάποια αχρησιμοποίητη κατάσταση.

Πίνακες Διέγερσης Μπορεί να θεωρηθεί ως ο συμπληρωματικός του χαρακτηριστικού πίνακα λειτουργίας ενός flip flop. O χαρακτηριστικός πίνακας μας δείχνει για κάθε πιθανή τρέχουσα κατάσταση και τιμή εισόδου την επόμενη κατάσταση του flip flop. O πίνακας διέγερσης, μας δίνει τις απαιτούμενες τιμές εισόδου του flip flop ώστε να μεταβούμε από μια τρέχουσα κατάσταση, σε μια επιθυμητή επόμενη κατάσταση.

Βήματα 4-9 : η χαμαλοδουλειά Στο πρόβλημά μας χρησιμοποιούμε τον ελαχιστοποιημένο πίνακας καταστάσεων : S(t) 00 01 11 10 Z ΙΝΙΤ A0 A0 A1 A1 0 A0 OK0 OK0 A1 A1 0 A1 A0 A0 OK1 OK1 0 ΟΚ0 ΟΚ0 ΟΚ0 ΟΚ1 Α1 1 ΟΚ1 Α0 ΟΚ0 ΟΚ1 ΟΚ1 1 και τη αναλυμένη αντιστοίχιση του πίνακα. Μας προκύπτει ο πίνακας επιθυμητών μεταβάσεων :

Από πίνακα μετάβασης σε πίνακα διέγερσης Είσοδοι (ΑΒ) Q1(t) Q2(t) Q3(t) 00 01 11 10 Z 000 100 100 101 101 0 100 110 110 101 101 0 101 100 100 111 111 0 110 110 110 111 101 1 111 100 110 111 111 1 Q1(t+1) Q2(t+1) Q3(t+1) Χρησιμοποιώντας το πίνακα διέγερσης του επιθυμητού flip flop παίρνουμε το πίνακα διέγερσης και εξόδου Είσοδοι (ΑΒ) Q1(t) Q2(t) Q3(t) 00 01 11 10 Z 000 100 100 101 101 0 100 110 110 101 101 0 101 100 100 111 111 0 110 110 110 111 101 1 111 100 110 111 111 1 D1(t+1) D2(t+1) D3(t+1) O πίνακας διέγερσης είναι πανομοιότυπος με το πίνακα μετάβασης όταν χρησιμοποιούμε DFF!, λόγω της χαρακτηριστική εξίσωσης του DFF Q(t+1) = D(t+1)

Για υλοποίηση με JK FF Είσοδοι ΑΒ Q1(t) Q2(t) Q3(t) 00 01 11 10 Z 000 1X, 0X, 0X 1X, 0X, 0X 1X, 0X, 1X 1X, 0X, 1X 0 100 X0, 1X, 0X X0, 1X, 0X X0, 0X, 1X X0, 0X, 1X 0 101 X0, 0X, X1 X0, 0X, X1 X0, 1X, X0 X0, 1X, X0 0 110 X0, X0, 0X X0, X0, 0X X0, X0, 1X X0, X1, 1X 1 111 X0, X1, X1 X0, X0, X1 X0, X0, X0 X0, X0, X0 1 J1(t+1)K1(t+1), J2(t+1)K2(t+1), J3(t+1)K3(t+1)

Bήμα 8. Απλοποίηση των συναρτήσεων επόμενης εισόδου. Είσοδοι (ΑΒ) Q1(t) Q2(t) Q3(t) 00 01 11 10 Z 000 100 100 101 101 0 100 110 110 101 101 0 101 100 100 111 111 0 110 110 110 111 101 1 111 100 110 111 111 1 D1(t+1) D2(t+1) D3(t+1) Ο παραπάνω πίνακας διέγερσης - εξόδου μου καθορίζει τις λογικές ΣΥΝΔΥΑΣΤΙΚΕΣ συναρτήσεις D1(t+1) D2(t+1) D3(t+1) των 5 δυαδικών μεταβλητών (Q1(t), Q2(t), Q3(t), A, B) και τη συνάρτηση Ζ των 3 δυαδικών μεταβλητών (Q1(t), Q2(t), Q3(t)). Θυμηθείτε Moore vs Mealy!!! Θα φτιάξουμε για κάθε μία από αυτές τον αντίστοιχο χάρτη Karnaugh για να τις απλοποιήσουμε Προσοχή : Ο πίνακας διέγερσης δεν είναι ένας πλήρης πίνακας αληθείας. Δεν υπάρχει όλη η πληροφορία για τις αχρησιμοποίητες καταστάσεις 001, 010 και 011. Επιλογή λοιπόν στρατηγικής : Ελάχιστου κινδύνου / ελάχιστου κόστους Ας επιλέξουμε αυτή του ελάχιστου κινδύνου (επόμενη κατάσταση 000) και συνεπώς ας καταλήξουμε στα

Ελάχιστος κίνδυνος : Πίνακες αληθείας των συνδυαστικών συναρτήσεων Q1(t) Q2(t) Q3(t) 00 01 11 10 000 1 1 1 1 001 0 0 0 0 011 0 0 0 0 010 0 0 0 0 110 1 1 1 1 111 1 1 1 1 101 1 1 1 1 100 1 1 1 1 D1(t+1) Q1(t) Q2(t) Q3(t) 00 01 11 10 000 0 0 1 1 001 0 0 0 0 011 0 0 0 0 010 0 0 0 0 110 0 0 1 1 111 0 0 1 1 101 0 0 1 1 100 0 0 1 1 D3(t+1) Q1(t) Q2(t) Q3(t) 00 01 11 10 000 0 0 0 0 001 0 0 0 0 011 0 0 0 0 010 0 0 0 0 110 1 1 1 0 111 0 1 1 1 101 0 0 1 1 100 1 1 0 0 D2(t+1) Q1(t) Q2(t) Q3(t) Z 000 0 001 0 011 0 010 0 110 1 111 1 101 0 100 0

9.Απλοποίηση των συνδυαστικών συναρτήσεων & υλοποίηση D1(t+1) = ~Q2(t) & ~Q3(t) Q1(t) D2(t+1) = Q1(t) & ( (Q3(t) ~^ A) (Q2(t) & B)) D3(t+1) = A & (Q1(t) (~Q2(t) & ~Q3(t)) Z= Q1(t) & Q2(t) D Q Q1 CLK CLR Q B A D CLK CLR Q Q Q2 Z D Q Q3 CLK CLR Q ~Reset Clk

Ελάχιστο κόστος: Πίνακες αληθείας των συνδυαστικών συναρτήσεων Q1(t) Q2(t) Q3(t) 00 01 11 10 000 1 1 1 1 001 X X X X 011 X X X X 010 X X X X 110 1 1 1 1 111 1 1 1 1 101 1 1 1 1 100 1 1 1 1 D1(t+1) Q1(t) Q2(t) Q3(t) 00 01 11 10 000 0 0 1 1 001 X X X X 011 X X X X 010 X X X X 110 0 0 1 1 111 0 0 1 1 101 0 0 1 1 100 0 0 1 1 D3(t+1) Q1(t) Q2(t) Q3(t) 00 01 11 10 000 0 0 0 0 001 X X X X 011 X X X X 010 X X X X 110 1 1 1 0 111 0 1 1 1 101 0 0 1 1 100 1 1 0 0 D2(t+1) Q1(t) Q2(t) Q3(t) Z 000 0 001 X 011 X 010 X 110 1 111 1 101 0 100 0

Απλοποίηση των συνδυαστικών συναρτήσεων & υλοποίηση D1(t+1) = 1 D2(t+1) = Q1(t) & ~Q3(t) & ~Α Q3(t) & Α Q2(t) & Β D3(t+1) = Α Z= Q2(t)

Σύνοψη και real world Ξεκινώντας από μία λεκτική περιγραφή φτιάχνουμε ένα STD / STT, προσπαθούμε να μειώσουμε τις καταστάσεις με την ελπίδα να μειώσουμε τα flip flops που απαιτούνται ή να δημιουργηθούν περισσότερες αχρησιμοποίητες καταστάσεις. Αναθέτουμε κωδικοποιήσεις στις ελαχιστοποιημένες καταστάσεις (τυχαία ή με κανόνες ή με την εμπειρία μας). Αντικαθιστούμε τις κωδικοποιήσεις στον STT και παίρνουμε το πίνακα μεταβάσεων. Με τη βοήθεια του πίνακα διέγερσης κάθε flip flop παίρνουμε το πίνακα διέγερσης και εξόδου του στοχευόμενου κυκλώματος. Η απλοποίηση των συναρτήσεων μπορεί να γίνει με στρατηγική ελάχιστου κινδύνου ή ελάχιστου κόστους. Υλοποιούμε τις απλοποιημένες συναρτήσεις και παίρνουμε το κύκλωμα που υλοποιεί τη μηχανή του STD / STT. Για υλοποιήσεις σε προγραμματιζόμενα ολοκληρωμένα προηγούμενης γενιάς, τα βήματα που χρειάζεται να κάνει ο σχεδιαστής είναι τα σημειούμενα με πράσινο. Όπως θα δούμε παρακάτω, χρησιμοποιώντας τελευταίας γενιάς εργαλεία και περιγραφές σε γλώσσα περιγραφής υλικού, ο ρόλος του σχεδιαστή μπορεί να περιοριστεί στα όσα σημειώνονται με πορτοκαλί. H αυτοματοποίηση όσων αναφέρονται με πορτοκαλί αποτελούν αντικείμενο συνεχιζόμενης έρευνας στον τομέα του high level synthesis.

Παράδειγμα 1. Σχεδίαση με δεδομένο STD Σχεδιάστε μια μηχανή που υλοποιεί το ακόλουθο STD Oπως προκύπτει από το STD υπάρχουν 4 (μη ελαχιστοποιήσιμες) καταστάσεις, άρα 2 FFs, έστω Α και Β. Κατασκευάζω τον STT.

Παράδειγμα 2-2. Κατασκευάζουμε τον πίνακα διέγερσης του κυκλώματος στοχεύοντας υλοποίηση με JK FFs και συνεπώς λαμβάνοντας υπ όψιν μας και το πίνακα διέγερσης ενός JK FF.

Παράδειγμα 2-3. To στοχευόμενο συνεπώς σύστημα θα έχει τη μορφή : Απομένει να απλοποιήσουμε τις συναρτήσεις για τα JA, KA, JB και ΚΒ

Παράδειγμα 2-4. Η υλοποίηση αυτών των συναρτήσεων μας δίνει το παρακάτω κύκλωμα :

111 000 001 010 110 101 100 011

111 000 001 010 ΠΡΟΗΓ. ΕΠΟΜ. ΕΙΣΟΔΟΙ Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 0 1 0 1 0 110 101 100 011 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0

111 000 001 010 ΠΡΟΗΓ. ΕΠΟΜ. ΕΙΣΟΔΟΙ Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 X 0 X 1 X 0 0 1 0 1 0 0 X 1 X X 1 110 101 100 011 0 1 0 0 1 1 0 X X 0 1 X 0 1 1 1 0 0 1 X X 1 X 1 1 0 0 1 0 1 X 0 0 X 1 X 1 0 1 0 0 0 X 1 0 X X 1 1 1 0 0 0 0 X 1 X 1 0 X 1 1 1 0 0 0 X 1 X 1 X 1

111 000 001 010 ΠΡΟΗΓ. ΕΠΟΜ. ΕΙΣΟΔΟΙ Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 X 0 X 1 X 0 0 1 0 1 0 0 X 1 X X 1 110 101 100 011 0 1 0 0 1 1 0 X X 0 1 X 0 1 1 1 0 0 1 X X 1 X 1 1 0 0 1 0 1 X 0 0 X 1 X 1 0 1 0 0 0 X 1 0 X X 1 1 1 0 0 0 0 X 1 X 1 0 X 1 1 1 0 0 0 X 1 X 1 X 1 Q1Q0 Q2 0 1 J2 00 01 11 10 0 0 1 0 X X X X Q1Q0 Q2 0 1 K2 00 01 11 10 X X X X 0 1 1 1 Q1Q0 Q2 0 1 J1 00 01 11 10 0 1 X X 0 0 X X Q1Q0 Q2 0 1 K1 00 01 11 10 X X 1 0 X X 1 1 Q1Q0 Q2 0 1 J0 00 01 11 10 1 X X 1 1 X X 0

111 000 001 010 ΠΡΟΗΓ. ΕΠΟΜ. ΕΙΣΟΔΟΙ Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 X 0 X 1 X 0 0 1 0 1 0 0 X 1 X X 1 110 101 100 011 0 1 0 0 1 1 0 X X 0 1 X 0 1 1 1 0 0 1 X X 1 X 1 1 0 0 1 0 1 X 0 0 X 1 X 1 0 1 0 0 0 X 1 0 X X 1 1 1 0 0 0 0 X 1 X 1 0 X 1 1 1 0 0 0 X 1 X 1 X 1 Q1Q0 Q2 0 1 J2 00 01 11 10 0 0 1 0 X X X X Q1Q0 Q2 0 1 K2 00 01 11 10 X X X X 0 1 1 1 Q1Q0 Q2 0 1 J1 00 01 11 10 0 1 X X 0 0 X X Q1Q0 Q2 0 1 00 01 11 10 X X 1 0 X X 1 1 Q1Q0 Q2 J0 00 01 11 10 0 1 X X 1 1 1 X X 0 K1 J2=Q1Q0 K2=Q0+Q1 J1=Q2 Q0 J0=Q2 +Q1 K0=1 =(Q2Q1) K1=Q2+Q0

5V FF2 FF1 FF0 ~1PR ~1PR ~1PR J2 1J Q2 1Q J1 1J Q1 1Q J0 1J Q0 1Q 1CLK 1CLK 1CLK K2 1K ~1Q Q2 1K K1 ~1Q Q1 1K K0 ~1Q Q0 ~1CLR ~1CLR ~1CLR 5V J2=Q1Q0 J1=Q2 Q0 K2=Q0+Q1 K1=Q2+Q0 J0=Q2 +Q1 K0=1 =(Q2Q1)

Παράδειγμα 3. Σχεδίαση με RS FF και δεδομένο STT Δεδομένου ενός STT και με δεδομένες τις κωδικοποιήσεις καταστάσεων, το μόνο που χρειάζεται να κάνουμε είναι να λάβουμε υπ όψιν μας το πίνακα διέγερσης του RS FF Προσοχή ότι στον STT υπάρχουν επιπλέον αχρησιμοποίητες καταστάσεις

Παράδειγμα 3-2 Ακολουθεί η απλοποίηση συναρτήσεων. Ο μεγάλος αριθμός αδιάφορων όρων διευκολύνει αρκετά την εκτενή απλοποίηση.

Και φυσικά η υλοποίηση του κυκλώματος : Παράδειγμα 3-3

Παράδειγμα 4 : Πιο δύσκολη η λεκτική περιγραφή!!! Σχεδιάστε ένα σύγχρονο ακολουθιακό κύκλωμα με δύο εισόδους Χ και Y και μία έξοδο Ζ. Η έξοδος θα πρέπει να είναι στο 1 αν ο αριθμός των 1 στις Χ και Υ από την αρχή του χρόνου είναι πολλαπλάσιο του 4. Σε κάθε άλλη περίπτωση η έξοδος είναι 0. Κωδικοποίηση κατά Gray!

Απλοποίηση με χάρτες Karnaugh Παράδειγμα 4-2

Παράδειγμα 5 : String Recognizer!!! Σχεδιάστε ένα σύγχρονο ακολουθιακό κύκλωμα που ανιχνεύει μια ακολουθία από τρία ή περισσότερα 1 στη σειριακή είσοδό του.

Υλοποίηση : Παράδειγμα 5-2

ΜΕΡΟΣ ΙII ΕΦΑΡΜΟΓΕΣ ΤΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΑΚΟΛΟΥΘΙΑΚΑ MSI

Κλυδωνισμός διακοπτών (switch bouncing) Πολύ συνηθισμένη εφαρμογή των απλών δισταθών κυκλωμάτων και των latches Aς υποθέσουμε το ακόλουθο σχηματικό για ένα μονοπολικό διακόπτη μιας επαφής Η pull-up αντίσταση έχει σημαντικά μεγάλη τιμή. Όταν ο διακόπτης δεν είναι πατημένος η γραμμή SW_L βρίσκεται σε ψηλό δυναμικό και η έξοδος στο 0 Όταν πατηθεί ο διακόπτης η SW_L αποφορτίζεται μέσω του μονοπατιού χαμηλής αντίστασης. Πρόβλημα : Όταν πατηθεί ο διακόπτης δε μένει σταθερά σε αυτή τη θέση αλλά αναπηδά (κλυδωνίζεται) μέχρι να σταθεροποιηθεί τελικά.

Κλυδωνισμός διακοπτών (switch bouncing) - 2 Για κάθε πάτημα του διακόπτη υπάρχουν αρκετές μεταβάσεις Η περίοδος του κλυδωνισμού είναι 10 20 ms. O κλυδωνισμός μπορεί να είναι ανεπιθύμητος (π.χ. ψηφιακά χρονόμετρα). Αρα απαιτείται κάποιο κύκλωμα για τον αποκλυδωνισμό Το κύκλωμα αυτό πρέπει να θυμάται ότι ο διακόπτης έκλεισε έστω και στιγμιαία. Συνεπώς ψάχνουμε ένα ακολουθιακό κύκλωμα.

Αποκλυδωνισμός διακοπτών (debouncing) Oταν ο διακόπτης είναι στο 1 έχουμε την κάτω έξοδο στο 1 και 0 στο OUT. Γύρισμα του διακόπτη στο 2 θα δώσει 0 στην είσοδο της πάνω ΝΑΝD με αποτέλεσμα η έξοδος να πάει στο 1 και η εφαρμογή δύο 1 στην κάτω NAND να "κλειδώσει" αυτή τη κατάσταση στο μανδαλωτή. Η έξοδος ΟUT θα πάει στο 1 ανεξάρτητα από τις αναπηδήσεις του διακόπτη στη θέση 2. Η έξοδος μπορεί να γίνει πάλι 0 μόνο αν ο διακόπτης επιστρέψει στο 1.

Καταχωρητές Καταχωρητής είναι κάθε συλλογή δύο ή περισσοτέρων D στοιχείων με κοινό σήμα ρολογιού. Χρησιμοποιούνται κατά κόρο στα σημερινά ψηφιακά συστήματα για την αποθήκευση συλλογών δυαδικών ψηφίων που συνδέονται μεταξύ τους, όπως για παράδειγμα ενός byte δεδομένων. Ενας καταχωρητής n-δυαδικών ψηφίων έχει n DFFs. Πέρα από τη καταχώρηση των ψηφίων στα FFs, ένας καταχωρητής μπορεί να περιλαμβάνει έναν αριθμό από συνδυαστικές πύλες που υλοποιούν κάποια επεξεργασία των δεδομένων.

Παραδείγματα ολοκληρωμένων καταχωρητών Το 74175 είναι ένας καταχωρητής 4 δυαδικών ψηφίων. Υπάρχει μια κοινή είσοδος ρολογιού και μια κοινή είσοδος ασύγχρονου καθαρισμού. Το κύκλωμα παρέχει για κάθε flip flop τόσο το Q όσο και το ~Q. To 74174 είναι ένας εντελώς αντίστοιχης δομής καταχωρητής 6 δυαδικών ψηφίων στον οποίο όμως δε παρέχονται τα ~Qs.

Καταχωρητές με επίτρεψη εξόδου Ο καταχωρητής ενεργοποιείται με την ανοδική ακμή του ρολογιού. Όταν η κοινή γραμμή ΟΕ_L είναι στο λογικό 1 τότε όλοι οι buffers τριών καταστάσεων οδηγούνται στην κατάσταση υψηλής εμπέδησης.

Κι άλλα ολοκληρωμένα κυκλώματα 74373 : Αντίστοιχο του 74374 μόνο που αντί για D FF το ολοκληρωμένο διαθέτει 8 D latches Oι έξοδοί του ακολουθούν τις αντίστοιχες εισόδους καθ όλη τη διάρκεια που το C είναι ενεργό. 74273 : Αντίστοιχο του 74175, δηλαδή διαθέτει ασύγχρονη είσοδο καθαρισμού, αλλά όχι είσοδο τριών καταστάσεων της εξόδου. Επιπλέον, είναι καταχωρητής των 8 δυαδικών ψηφίων.

Κι άλλο ένα! 74377 : Διαθέτει είσοδο ελέγχου της φόρτωσης. Όταν ΕΝ_L είναι στο 1, τότε στην είσοδο D κάθε flip flop περνάει η προηγούμενη έξοδός του. Συνεπώς απαγορεύουμε στον καταχωρητή να αλλάξει κατάσταση. Αντίθετα όταν ΕΝ_L είναι στο 0, η φόρτωση γίνεται κανονικά από τις γραμμές δεδομένων με κάθε ανοδική ακμή το ρολογιού.

Προβλήματα ρολογιού : πρώτες σκέψεις

Καταχωρητές ολίσθησης (shift registers) Στη περίπτωση σειριακής εξόδου, το δεδομένο εισόδου εμφανίζεται στη σειριακή έξοδο ν παλμούς ρολογιού αργότερα. Στην περίπτωση της παράλληλης εξόδου, μπορούμε να μιλάμε για ένα κύκλωμα που πραγματοποιεί serial 2 parallel conversion.

Parallel 2 serial shift register Μπορούμε να μιλάμε για ένα κύκλωμα που πραγματοποιεί parallel 2 serial conversion. Mπορούμε να προσθέσουμε και παράλληλη έξοδο, οπότε προκύπτει ένα κύκλωμα ικανό να καλύψει όλες τις εφαρμογές των καταχωρητών ολίσθησης.

ΜSI Shift Registers

74194 : Καταχωρητής ολίσθησης γενικού σκοπού

74299 : Καταχωρητής ολίσθησης γενικού σκοπού 8 δυαδικών ψηφίων

Σειριακή μετάδοση

Σειριακή πρόσθεση (Θεός φυλάξει)