ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 28 Σχεδιασμός Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχεδιασμός Ακολουθιακών Κυκλωμάτων Αρχή: Μια λίστα/περιγραφή προδιαγραφών Τέλος: Ένα λογικό διάγραμμα ή ένα σύνολο ελασχιστοποιημένων δυαδικών συναρτήσεων # FFs που θα χρησιμοποιηθούν εξαρτάται από τον αριθμό των καταστάσεων (states) που χρειάζονται. Με n FFs, μπορούν να αναπαρασταθούν μέχρι και 2 n καταστάσεις. Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 2 Σχεδιασμός Ακολουθιακών Κυκλωμάτων
ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 Βασική ιαδικασία Σχεδιασμού. Προδιαγραφή (specification): καθορίζεται βάση της περιγραφής του προβλήματος. 2. ιατύπωση (formulation): παραγωγή του πίνακα καταστάσεων ή/και του διαγράμματος καταστάσεων. 3. Ανάθεση καταστάσεων (state assignment): ανάθεση δυαδικού κώδικα σε κάθε κατάσταση (state encoding). Παραγωγή πίνακα καταστάσεων απαραίτητη (κωδικοποιημένος πίνακας καταστάσεων). Ελαχιστοποίηση καταστάσεων προαιρετική, συνήθως επιθυμητή. 4. Εξισώσεις Εισόδων FF (FF-input equations): επιλογή τύπου FF και παραγωγή των αντίστοιχων εξισώσεων από τον κωδικοποιημένο πίνακα καταστάσεων. Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 3 Βασική ιαδικασία Σχεδιασμού (συν.) 5. Εξισώσεις Εξόδων (primary output equations): παραγωγή εξισώσεων από τον κωδικοποιημένο πίνακα καταστάσεων 6. Βελτιστοποίηση (optimization): των εξισώσεων στο 4. και 5. με χρήση Κ-χαρτών και άλλων εργαλείων. 7. Αντιστοίχηση τεχνολογίας (technology mapping): σχεδιασμός λογικού διαγράμματος βάση των διαθέσιμων στοιχείων. 8. Επαλήθευση ορθότητας (verification) Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 4 Σχεδιασμός Ακολουθιακών Κυκλωμάτων 2
ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 Παράδειγμα : Παραγωγή διαγράμματος και πίνακα καταστάσεων για Ανιχνευτή Ακολουθίας (Sequence Recognizer) Σχεδιάστε ένα σύγχρονο ανιχνευτή ακολουθίας με μία είσοδο (X) και μία έξοδο (Y). Το κύκλωμα έχει έξοδο Y = κάθε φορά που αναγνωρίζει σε μια σειρά bits στην είσοδο του κυκλώματος X (input sequence pattern) την ακολουθία. Στις άλλες περιπτώσεις, Y =. Για παράδειγμα, όταν η ακολουθία εισόδου είναι, η αντίστοιχη ακολουθία εξόδου είναι. Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 5 Παράδειγμα (συν.) Το διάγραμμα καταστάσεων του ανιχνευτή μπορεί να παραχθεί με τέσσερις καταστάσεις:,,, και. Γιατί τέσσερις? Τι σημαίνει? : δεν έχουμε κανένα κομμάτι από την επιθυμητή ακολουθία (=). : έχουμε το πρώτο : έχουμε τη ακολουθία : έχουμε τη ακολουθία Εάν ο ανιχνευτής είναι στην κατάσταση και η επόμενη τιμή στην είσοδο Χ είναι, τότε η ακολουθία αναγνωρίζεται και Y=. Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 6 Σχεδιασμός Ακολουθιακών Κυκλωμάτων 3
ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 Παράδειγμα : ιάγραμμα Καταστάσεων : δεν έχουμε κανένα κομμάτι από την επιθυμητή ακολουθία (=). : έχουμε το πρώτο : έχουμε τη ακολουθία : έχουμε τη ακολουθία / / / / / / Α Β / / Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 7 Παράδειγμα : Πίνακας Καταστάσεων / / / / / / Α Β Παρούσα Κατάσταση Είσοδος X Επόμενη Κατάσταση Έξοδος Y / / Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων 4
ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 Παράδειγμα : Πίνακας Καταστάσεων (συν.) Εναλλακτικά: Παρούσα Κατάσταση (επόμενη κατάσταση,έξοδος) X= (,) (,) (,) (,) (επόμενη κατάσταση,έξοδος) X= (,) (,) (,) (,) Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 9 Παράδειγμα (συν.) Επόμενο βήμα ελαχιστοποίηση καταστάσεων: σε αυτό το παράδειγμα, περαιτέρω ελαχιστοποίηση δεν είναι δυνατή (κανένα ζεύγος καταστάσεων δεν είναι ισοδύναμο ή αχρησιμοποίητο) Επόμενο βήμα ανάθεση καταστάσεων: ανάθεση δυαδικού κώδικα σε κάθε κατάσταση. Αφού υπάρχουν 4 καταστάσεις, χρειάζονται δύο μεταβλητές καταστάσεων, S και S, και οι τιμές που αναθέτονται στις 4 καταστάσεις είναι,,,. Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - Σχεδιασμός Ακολουθιακών Κυκλωμάτων 5
ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 Παράδειγμα : Κωδικοποιημένος Πίνακας Καταστάσεων και εξισώσεις Παρούσα Κατάσταση S S (επόμενη κατάσταση S + S +, έξοδος Y) Χ= (,) (,) (,) (,) (επόμενη κατάσταση S + S +, έξοδος Y) Χ= (,) (,) (,) (,) Άρα, αν θεωρήσουμε -FFs: S = S + = S S X + S S X + S S X S = S + = S S X + S S X + S S X + S S X Y = S S X Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - Παράδειγμα : Βελτιστοποίηση εξισώσεων, αντιστοίχηση τεχνολογίας S = S + = S S X + S S X + S S X S = S + = S S X + S S X + S S X + S S X Y = S S X Βελτιστοποίηση βάσει χαρτών Κaurnah Αντιστοίχηση τεχνολογίας Επαλήθευση Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 2 Σχεδιασμός Ακολουθιακών Κυκλωμάτων 6
ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 Υλοποίηση βάσει μοντέλου Μοοre του Ανιχνευτή Ακολουθίας Το προηγούμενο παράδειγμα βασιζόταν στο μοντέλο Mealy Στο μοντέλο Moore, η έξοδος εξαρτάται άμεσα μόνο από την παρούσα κατάσταση Χρειαζόμαστε ακόμη μία κατάσταση Ε ηοποίαδίνει πάντα όταν έχουμε Άρα: Α: δεν έχουμε κανένα κομμάτι από την επιθυμητή ακολουθία, Υ=. Β: έχουμε το πρώτο, Υ= : έχουμε τη ακολουθία, Υ= : έχουμε τη ακολουθία, Υ= E: έχουμε τη ακολουθία, Υ= Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 3 Παράδειγμα : ιάγραμμα Καταστάσεων για μοντέλο Moore Α: δεν έχουμε κανένα κομμάτι από την επιθυμητή ακολουθία, Υ=. Β: έχουμε το πρώτο, Υ= : έχουμε τη ακολουθία, Υ= : έχουμε τη ακολουθία, Υ= E: έχουμε τη ακολουθία, Υ= Α/ Β/ / / E/ Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 4 Σχεδιασμός Ακολουθιακών Κυκλωμάτων 7
ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 Παράδειγμα : ιάγραμμα Καταστάσεων για μοντέλο Moore Βρείτε: (i) τον καινούριο πίνακα καταστάσεων, (ii) κωδικοποίηση καταστάσεων, (iii) τον καινούριο κωδικοποιημένο πίνακα καταστάσεων, (iv) ελαχιστοποίηση και υλοποίηση με -FFs Α/ Β/ / / E/ Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 5 Παράδειγμα 2: Αποκωδικοποιητής -σε-excess 3 Βρείτε το διάγραμμα καταστάσεων και πίνακα καταστάσεων ενός αποκωδικοποιητή inary- oded-ecimal σε Excess-3. Θυμηθείτε τον πίνακα αληθείας του αντίστοιχου συνδυαστικού κυκλώματος που φαίνεται στα δεξιά. κώδικας φορτώνεται παράλληλα Συνδ. Κύκλωμα Excess-3 W X Κώδικας Y παράγεται Z παράλληλα εκαδικό ψηφίο Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 6 2 3 4 5 6 7 8 9 Είσοδοι Έξοδοι Excess- 3 W X Y Z Σχεδιασμός Ακολουθιακών Κυκλωμάτων 8
ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 Σχεδιασμός Ακολουθιακών Κυκλωμάτων 9 Νοε-8 MKM - 7 Σχεδιασμός Ακολουθιακών Κυκλωμάτων Παράδειγμα 2: Αποκωδικοποιητής -σε-excess 3 (συν.) Εναλλακτικά, ο αποκωδικοποιητής μπορεί να σχεδιαστεί σαν σύγχρονο ακολουθιακό κύκλωμα με είσοδο και έξοδο. Ο κώδικας φορτώνεται σειριακά, πρώτα το LS, και ο Excess-3 κώδικας παράγεται επίσης σειριακά, με πρώτο το LS. Για το σχεδιασμό ενός τέτοιου κυκλώματος, ο πίνακας αληθείας του συνδυαστικού κυκλώματος ανακατατάσσεται κατάλληλα έτσι ώστε να βοηθά στην παραγωγή του πίνακα καταστάσεων. Νοε-8 MKM - 8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων Παράδειγμα 2: Αναδιάταξη Πίνακα O O O O I I Έξοδοι Excess-3 Είσοδοι Μετασχηματισμός πίνακα: Ξεκινά με πρώτη τη στήλη για το LS 7 8 9 6 5 4 3 2 Z Y W X Έξοδοι Excess-3 Είσοδοι δεκαδικό ψηφίο Είσοδοι Ακολουθία τιμών για μοναδική είσοδο I Έξοδοι Ακολουθία τιμών για μοναδική έξοδο O
ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 Παράδειγμα 2: Αναδιάταξη Πίνακα Μετασχηματισμός πίνακα ξανά: ταξινόμηση των γραμμών του πίνακα βάση κοινών προθεμάτων Input Output Excess-3 Input Output Excess-3 I I O O O O I I O O O O Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 9 Παράδειγμα 2: Αποκωδικοποιητής -σε-excess 3 (συν.) Μπορούμε τώρα να χρησιμοποιήσουμε τον τελευταίο πίνακα για να βρούμε το αντίστοιχο διάγραμμα καταστάσεων. Θυμηθείτε, η έξοδος O εξαρτάται από την είσοδο I και την παρούσα κατάσταση. Επίσης, το κύκλωμα ΠΡΕΠΕΙ να είναι έτοιμο να λάβει μια νέα ακολουθία εισόδων 4-bit μόλις η προηγούμενη ακολουθία έχει ολοκληρωθεί. Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 2 Σχεδιασμός Ακολουθιακών Κυκλωμάτων
ΗΜΥ 2: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 28 8//28 Παράδειγμα 2: ιάγραμμα Καταστάσεων Init / / = = / / /, / = = =X / /, / / / / I = I = /, / ή όταν Ι = /, / Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 2 Παράδειγμα 2: ιάγραμμα Καταστάσεων (συν.) Γιατί συμβαίνει αυτό? = =X /, / / I = = / / = = / / / I = I = I = = /, / =X / / I = I = Οι δύο επισημασμένοι γράφοι είναι ισομορφικοί, δηλ., ίδιες μεταβάσεις οδηγούν στην ίδια επόμενη κατάσταση. Αυτός είναι πλεονασμός και μπορεί να απαλειφθεί με την ένωση των δύο καταστάσεων Ι c σε μία. Νοε-8 Σχεδιασμός Ακολουθιακών Κυκλωμάτων MKM - 22 Σχεδιασμός Ακολουθιακών Κυκλωμάτων