ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 6: Σύγχρονα Ακολουθιακά Κυκλώματα Κυριάκης Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
Σκοπός Ενότητας Περιγραφή σύγχρονων ακολουθιακών κυκλωμάτων με διαγράμματα και πίνακες καταστάσεων Σχεδιασμός υλικού σύγχρονων ακολουθιακών κυκλωμάτων Περιγραφή σε VHDL
Περιεχόμενα Ενότητας Γενική μορφή ακολουθιακού κυκλώματος Αλυσιδωτή Επεξεργασία (Pipeline) Σύγχρονο Ακολουθιακό Κύκλωμα Διάγραμμα καταστάσεων (state diagram) Πίνακας Καταστάσεων Περιγραφή σε VHDL Κωδικοποίηση Καταστάσεων Μηχανή Mealy Διάγραμμα και πίνακες καταστάσεων Ανταλλαγή δεδομένων καταχωρητών Μηχανή Moore
Γενική μορφή ακολουθιακού κυκλώματος Μηχανές Πεπερασμένων Καταστάσεων Finite State Machines (FSM) Μηχανή Moore: Οι έξοδοι εξαρτώνται μόνο από την τρέχουσα κατάσταση. Μηχανή Mealy: Οι έξοδοι εξαρτώνται από την τρέχουσα κατάσταση και τις εισόδους. Pipeline: Οταν δεν υπάρχει ανατροφοδότηση αλλά διαδοχική σύνδεση συνδυαστικού κυκλώματος με flip-flops.
Αλυσιδωτή Επεξεργασία (Pipeline)
Σύγχρονο Ακολουθιακό Κύκλωμα Να σχεδιαστεί κύκλωμα το οποίο 1. Έχει μία είσοδο, w, μία έξοδο, z 2. Αλλάζει κατάσταση κατά τη θετική παρυφή του clock 3. z='1' αν κατά τους 2 προηγούμενους παλμούς του clock η είσοδος w ήταν ίση με '1', αλλιώς z='0'.
Διάγραμμα καταστάσεων (state diagram) Κάθε κόμβος αντιστοιχεί σε μία κατάσταση του συστήματος. (Φαίνεται και η τιμή της εξόδου). Κάθε ακμή δηλώνει μία πιθανή μετάβαση του συστήματος από μία κατάσταση σε μία άλλη ανάλογα με την τιμή της εισόδου.
Πίνακας Καταστάσεων
Περιγραφή σε VHDL ENTITY simple IS PORT (Clock, Resetn, w : IN STD_LOGIC ; z: OUT STD_LOGIC ) ; END simple ; ARCHITECTURE Behavior OF simple IS TYPE State_type IS (A, B, C) ; SIGNAL y : State_type ; BEGIN PROCESS ( Resetn, Clock ) BEGIN IF Resetn = '0' THEN y <= A ; ELSIF (Clock'EVENT AND Clock = '1') THEN CASE y IS WHEN A => IF w = '0' THEN y <= A ; ELSE y <= B ; END IF ; WHEN B => IF w = '0' THEN y <= A ; ELSE y <= C ; END IF ; WHEN C => IF w = '0' THEN y <= A ; ELSE y <= C ; END IF ; END CASE ; END IF ; END PROCESS ; z <= '1' WHEN y = C ELSE '0' ;
Κωδικοποίηση Καταστάσεων
Λογικές εξισώσεις για D-flip-flops
Ακολουθιακό Κύκλωμα
Διάγραμμα χρονισμού
Βελτιωμένη κωδικοποίηση καταστάσεων Λογικές εξισώσεις Υ 1 = w Y 2 = wy 1 z = y 2
One-hot encoding Κάθε κατάσταση κωδικοποιείται με τρία δυαδικά ψηφία από τα οποία μόνο ένα είναι '1'. Λογικές Εξισώσεις: Υ 1 = w Y 2 = wy 1 Y 3 = wy 1 z = y 2
Διάγραμμα καταστάσεων απαριθμητή Αύξοντας- φθίνοντας απαριθμητής modulo-3 (0-2). C='1' count, '0' stop D='0' up, '1' down
Μηχανή Mealy Να σχεδιαστεί κύκλωμα το οποίο 1. Έχει μία είσοδο, w, μία έξοδο, z 2. z='1' κατά τον ίδιο κύκλο του clock που η είσοδος εμφανίζεται για δεύτερη φορά '1', αλλιώς z='0'.
Διάγραμμα και πίνακες καταστάσεων
Λογικές Εξισώσεις - Κύκλωμα Υ = w z = wy
Ανιχνευτής ακολουθίας τριών '1' (Moore) Διάγραμμα καταστάσεων a = (A+B)x b = (A+B')x y = AB Present Inp Next state Out state A B x a b y 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1
Ανιχνευτής ακολουθίας τριών '1' (Moore)
Ανταλλαγή δεδομένων καταχωρητών Να σχεδιαστεί μηχανή πεπερασμένων καταστάσεων για την ανταλλαγή δεδομένων μεταξύ δύο καταχωρητών με χρήση ενός τρίτου καταχωρητή για προσωρινή αποθήκευση. Κάθε καταχωρητής έχει ένα σήμα ελέγχου για ανάγνωση και ένα για εγγραφή. R1 --> R2 & R2 --> R1 R2 --> R3, R1 --> R2, R3 --> R1
Ανταλλαγή δεδομένων καταχωρητών -1
Ανταλλαγή δεδομένων καταχωρητών -2
Ανταλλαγή δεδομένων καταχωρητών -3 R1in = y1y2 R1out = y1y2 R2in = y1y2 R2out = y1y2 R3in = y1y2 R3out = y1y2 Done = y1y2
Ανταλλαγή δεδομένων καταχωρητών -4
Ανταλλαγή δεδομένων καταχωρητών -5
Μηχανή Moore
Τέλος Ενότητας