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