ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Ανάλυση Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Ανάλυση Ακολουθιακών Κυκλωμάτων Ανάλυση: Ο καθορισμός μιας κατάλληλης περιγραφής η οποία επιδεικνύει τη χρονική ακολουθία εισόδων, εξόδων και καταστάσεων (states states). t s) Λογικό ιάγραμμα: Λογικές πύλες,, flip-flops, flops, και κατάλληλες διασυνδέσεις. Το λογικό διάγραμμα μπορεί να καθοριστεί από ένα από τα ακόλουθα: Εξισώσεις (FF-Εισόδων Εισόδων, Εξόδων) Πίνακα Καταστάσεων (State Table ή Transition Table) ιάγραμμα Καταστάσεων (State Diagram ή Transition Diagram ή Finite State Machine FSM) Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών MKM - 2 Εξισώσεις Εισόδων Flip-Flop Flop (FF-Input Equations) Αλγεβρικές αναπαραστάσεις που χρησιμοποιούνται για την περιγραφή της λογικής που οδηγεί τις εισόδους των FFs. Παράδειγμα: Εξισώσεις Εισόδων FF Θεωρήστε: J A = XB+Y και K A = YB + Τα J, K υπονοούν τον τύπο του FF (σε αυτή την περίπτωση, είναι JK-FF). Ο δείκτης ( A ) ορίζει την έξοδο του FF. Υπονοούν τον τύπο των FFs που θα χρησιμοποιηθούν και καθορίζουν πλήρως την συνδυαστική λογική που οδηγεί τις εισόδους των FFs. J A J A K A K A Παρατηρήστε ότι ο τύπος πυροδότησης δεν καθορίζεται από τις εξισώσεις εισόδων FF. Αυτός είτε δίνετε ή καθορίζεται από τον αναλυτή. Για αυτό το παράδειγμα, θεωρούμε ότι η πυροδότηση γίνετε στη θετική ακμή. MKM - 3 MKM - 4 Ανάλυση Ακολουθιακών Κυκλωμάτων 1
Παράδειγμα: Εξισώσεις Εισόδων FF Υλοποίηση Λογικού ιαγράμματος Πλήρως Καθορισμένα Λογικά ιαγράμματα X B Y J A K A J K A A Μπορούν οι εξισώσεις εισόδων FF να καθορίσουν πλήρως το λογικό διάγραμμα ενός ακολουθιακού κυκλώματος; Χρειαζόμαστε και τις εξισώσεις για τις εξόδους του κυκλώματος. Λίστα από δυαδικές εξισώσεις για τις εξόδους J A = XB+Y K A = YB + Ρολόι () Συνδ. Μέρος FFs Λίστα εξισώσεων εισόδων FF MKM - 5 MKM - 6 Παράδειγμα Παράδειγμα (συν.) Εξισώσεις Εισόδων FF: D A (t+1) = X(t) + B(t) X(t) D B (t+1) = A (t) X(t) Εξισώσεις Εξόδων: Y(t) = ( + B(t)) X (t) Εξισώσεις Εισόδων FF: D A (t+1) = X(t) + B(t)X(t) D B (t+1) = A (t)x(t) Εξισώσεις Εξόδων: Y(t) = ( + B(t)) X (t) x Q A A B 2 FFs τύπου D, Καταστάσεις: : Α(t), B(t) 1 είσοδος: X(t), 1 έξοδος: Y(t) Λογικό διάγραμμα P Q y MKM - 7 MKM - 8 Ανάλυση Ακολουθιακών Κυκλωμάτων 2
Πίνακας Καταστάσεων (State Table) Απαριθμεί τις σχέσεις μεταξύ εισόδων, εξόδων, και καταστάσεων (states = τιμές στα FF) ενός ακολουθιακού κυκλώματος. Αποτελείται από 4 μέρη: : : τις τιμές των FFs για κάθε επιτρεπτή κατάσταση, σε χρόνο t Είσοδοι: : οι επιτρεπτοί συνδυασμοί εισόδων : : τις τιμές των FFs για κάθε επιτρεπτή κατάσταση, σε χρόνο t+1, βάσει των τιμών στις εισόδους και της παρούσας κατάστασης Έξοδοι: : οι τιμές των εξόδων σε σχέση με την παρούσα κατάσταση και, πιθανόν, τις τιμές των εισόδων εδομένου ενός κυκλώματος με n εισόδους και m flip-flops, flops, ο αντίστοιχος πίνακας καταστάσεων αποτελείται από 2 n+m γραμμές. MKM - 9 Πίνακας Καταστάσεων (συν.) D A = AX + BX = A(t+1) D B = A X = B(t+1) Y = (A + B)X Είσοδος B(t) X A(t+1) B(t+1) 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 MKM - 10 Y Πίνακας Καταστάσεων Εναλλακτική Μορφή D A = AX + BX = A(t+1) D B = A X = B(t+1) Y = (A + B)X X=0 X=1 X=0 X=1 B(t) A(t+1) B(t+1) A(t+1) B(t+1) Y Y 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 Πίνακες Καταστάσεων για JK FFs ιαδικασία σε 2 φάσεις: 1. Καθορισμός δυαδικών τιμών για κάθε είσοδο FF βάση των εξισώσεων εισόδων FF, σε σχέση με την παρούσα κατάσταση και τις μεταβλητές εισόδου. 2. Χρήση αντίστοιχων χαρακτηριστικών πινάκων FF για καθορισμό της επόμενης κατάστασης. MKM - 11 MKM - 12 Ανάλυση Ακολουθιακών Κυκλωμάτων 3
Παράδειγμα J A = B, K A = BX J B = X, K B = AX + A X = A X χρειαζόμαστε 2 JK-FFs: J A K A J K Χαρακτηριστικός Πίνακας JK-FF A J B J B J K Q(t+1) 0 0 Q(t) A KB K B 0 1 0 1 0 1 1 1 Q(t) MKM - 13 Παράδειγμα (συν.) Είσοδος B(t) X A(t+1) Είσοδοι FF B(t+1) J A K A J B K B 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 0 J A = B, K A = BX J B = X, K B = AX + A X = A X Φάση 1: Χρήση εξισώσεων εισόδων FF MKM - 14 Παράδειγμα (συν.) Είσοδος Είσοδοι FF B(t) X A(t+1) B(t+1) J A K A J B K B 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 Φάση 2: Χρήση χαρακτηριστικών πινάκων FF MKM - 15 Μηχανές Mealy και Moore Μοντέλο Mealy: Έξοδοι ΚΑΙ επόμενη κατάσταση εξαρτούνται άμεσα από τις τιμές των εισόδων ΚΑΙ της παρούσας κατάστασης. Μοντέλο Moore: ΜΟΝΟ η επόμενη κατάσταση εξαρτάται άμεσα από τις τιμές των εισόδων ΚΑΙ της παρούσας κατάστασης. Οι τιμές στις εξόδους εξαρτούνται μόνο από την παρούσα κατάσταση (δεν εξαρτούνται άμεσα από τις τιμές των εισόδων) MKM - 16 Ανάλυση Ακολουθιακών Κυκλωμάτων 4
ομή Κανονικού Ακολουθιακού Κυκλώματος Μηχανή Mealy x(t) είσοδοι Συνδυαστικό Κύκλωμα επόμενη κατάσταση αχωρητής κατάστασης tate register FFs) Κατ (s παρούσα κατάσταση x(t) είσοδοι 1 επόμενη κατάσταση Καταχωρητής ς παρούσα κατάσταση 2 z(t) z(t) έξοδοι MKM - 17 MKM - 18 Μηχανή Moore Παράδειγμα Μηχανής Moore x(t) () είσοδοι 1 επόμενη κατάσταση Κα αταχωρητής ς παρούσα κατάσταση 2 z(t) Βρείτε το λογικό διάγραμμα και τον πίνακα καταστάσεων για: D A = A X Y Z = A X Y D A D A Z MKM - 19 MKM - 20 Ανάλυση Ακολουθιακών Κυκλωμάτων 5
Παράδειγμα Μηχανής Moore (συν.) Πίνακας Καταστάσεων Είσοδοι Εναλλακτική Μορφή Μηχανές Mealy και Moore X Y A(t+1) 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 Z XY=00 A(t+1) XY=01 A(t+1) XY=10 A(t+1) XY=11 A(t+1) 0 0 1 1 0 0 1 1 0 0 1 1 Ζ Έχουμε δει, μέχρι στιγμής, παράδειγμα (με λογικό διάγραμμα) μηχανής Mealy; 1 0 0 1 1 1 0 1 0 1 X Y D A D A Z 1 1 0 0 1 1 1 1 1 1 MKM - 21 MKM - 22 ιαγράμματα Καταστάσεων (State Diagrams) Γραφική αναπαράσταση του πίνακα καταστάσεων. Ένας κόμβος με σήμανση s αντιστοιχεί σε κάθε πιθανή κατάσταση (state) s. S Μια ακμή με σήμανση X δηλώνει την μετάβαση μεταξύ δύο καταστάσεων (state transition), όταν η τιμή X εφαρμόζεται στις εισόδους. ηλ., αν παρούσα κατάσταση = s1 X και input = X, S1 S2 τότε επόμενη κατάσταση = s2 Το διάγραμμα διαφέρει, αναλόγως του τύπου του κυκλώματος (Mealy ή Moore). MKM - 23 Παράδειγμα: Μοντέλο Mealy Πίνακας Καταστάσεων Είσοδος B(t) X A(t+1) B(t+1) 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 Πιθανές Καταστάσεις = { 00, 01, 10, 11 } = {s0, s1, s2, s3} 4 κόμβοι στο διάγραμμα καταστάσεων MKM - 24 Y Ανάλυση Ακολουθιακών Κυκλωμάτων 6
Παράδειγμα: Μοντέλο Mealy (συν.) Παράδειγμα: Μοντέλο Mealy (συν.) Πίνακας Καταστάσεων Είσοδος B(t) X A(t+1) B(t+1) Y s0 0 s0 0 s0 s1 s1 s2 s2 s3 1 0 1 0 1 0 s1 s0 s3 s0 s2 s0 s3 1 s2 0 0 1 0 1 0 1 ιάγραμμα Καταστάσεων 0/0 1/0 s0 s1 0/1 0/1 0/1 1/0 Si I/O Sj ιαβάζεται ως ακολούθως: Όταν η παρούσα κατάσταση είναι Si και η είσοδος I εφαρμοστεί, έχουμε έξοδο O και η επόμενη κατάσταση είναι η Sj. Πιθανές Καταστάσεις = { 00, 01, 10, 11 } = {s0, s1, s2, s3} 4 κόμβοι στο διάγραμμα καταστάσεων s2 1/0 1/0 s3 Τιμές εισόδων/εξόδων πάνω στην κάθε ακμή MKM - 25 MKM - 26 Παράδειγμα: Μοντέλο Mealy (συν.) ιάγραμμα Καταστάσεων 0/1 00 0/0 0/1 1/0 0/1 10 1/0 1/0 01 11 1/0 Si I/O Sj ιαβάζεται ως ακολούθως: Όταν η παρούσα κατάσταση είναι Si και η είσοδος I εφαρμοστεί, έχουμε έξοδο O και η επόμενη κατάσταση είναι η Sj. Τιμές εισόδων/εξόδων πάνω στην κάθε ακμή υαδικές τιμές για την κάθε κατάσταση MKM - 27 Παράδειγμα: Μοντέλο Moore Πίνακας Καταστάσεων Είσοδοi X Y A(t+1) 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Πιθανές Καταστάσεις = { 0, 1 } = {s0, s1} 2 κόμβοι στο διάγραμμα καταστάσεων MKM - 28 Z Ανάλυση Ακολουθιακών Κυκλωμάτων 7
Παράδειγμα: Μοντέλο Moore (συν.) Πίνακας Καταστάσεων Είσοδοi X Y A(t+1) Z S0 0 0 S0 0 S0 0 1 S1 0 S0 1 0 S1 0 S0 1 1 S0 0 S1 0 0 S1 1 S1 0 1 S0 1 S1 1 0 S0 1 S1 1 1 S1 1 Πιθανές Καταστάσεις = { 0, 1 } = {S0, S1} 2 κόμβοι στο διάγραμμα καταστάσεων MKM - 29 Παράδειγμα: Μοντέλο Moore (συν.) ιάγραμμα Καταστάσεων 00,11 01,10 s0/0 01,10 s1/1 00,11 Si/O1 I Sj/O2 ιαβάζεται ως ακολούθως: Όταν η παρούσα κατάσταση είναι Si με έξοδο O1 και η είσοδος I εφαρμοστεί, έχουμε έξοδο O2 και η επόμενη κατάσταση είναι η Sj. Τιμές εισόδων πάνω στην κάθε ακμή Τιμές εξόδων στον κάθε κόμβο MKM - 30 Παράδειγμα: Μοντέλο Moore (συν.) ιάγραμμα Καταστάσεων 00,11 01,10 0/0 01,10 1/1 00,11 υαδικές τιμές για την κάθε κατάσταση s0 = 0 s1 = 1 Si/O1 I Sj/O2 ιαβάζεται ως ακολούθως: Όταν η παρούσα κατάσταση είναι Si με έξοδο O1 και η είσοδος I εφαρμοστεί, έχουμε έξοδο O2 και η επόμενη κατάσταση είναι η Sj. Τιμές εισόδων πάνω στην κάθε ακμή Τιμές εξόδων στον κάθε κόμβο MKM - 31 Άλλο Παράδειγμα ιαγραμμάτων για Moore και Mealy Μοντέλο Mealy: x=1/y=0 Αντιστοιχεί τιμές x=0/y=0 εισόδων και 0 1 καταστάσεων σε εξόδους x=0 Μοντέλο Moore: 0/0 Αντιστοιχεί καταστάσεις x=0/y=0 x=0 x=1/y=1 σε εξόδους x=1 x=0 x=1 1/0 2/1 x=1 MKM - 32 Ανάλυση Ακολουθιακών Κυκλωμάτων 8
Παράδειγμα Πινάκων Καταστάσεων για Moore και Mealy Συμβαίνει το ίδιο με τα διαγράμματα, δηλ.: Μοντέλο Mealy: Αντιστοιχεί τιμές εισόδων και καταστάσεων σε εξόδους x=0 x=1 x=0 x=1 0 0 1 0 0 1 0 1 0 1 Ανάλυση Ακολουθιακών Κυκλωμάτων: Παράδειγμα Λογικό ιάγραμμα: A Z R Q D B Q R Q Μοντέλο Moore: Αντιστοιχεί καταστάσεις σε εξόδους x=0 x=1 0 0 1 0 1 0 2 0 2 0 2 1 lock Reset D Q R Q MKM - 33 MKM - 34 Ανάλυση Ακολουθιακών Κυκλωμάτων: Παράδειγμα Εξισώσεις (FF και εξόδων) Ανάλυση Ακολουθιακών Κυκλωμάτων: Παράδειγμα Πίνακας Καταστάσεων Μεταβλητές: Είσοδοι: Καμία Έξοδοι: : Z Μεταβλητές Καταστάσεων: : A, B, Αρχικοποίηση: : Reset = 1 (Α,Β, Α,Β,) = (0,0,0) Εξισώσεις: A(t+1) = B(t+1) = (t+1) = Z = B(t) (t) A(t+1) B(t+1) (t+1) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Z MKM - 35 MKM - 36 Ανάλυση Ακολουθιακών Κυκλωμάτων 9
Ανάλυση Ακολουθιακών Κυκλωμάτων: Παράδειγμα ιάγραμμα Καταστάσεων Reset 111 100 AB 000 001 011 Ποιες καταστάσεις 010 101 χρησιμοποιούνται; Ποια η λειτουργία του κυκλώματος; 110 Ακολουθιακών Κυκλωμάτων Θεωρείστε ένα ακολουθιακό κύκλωμα το οποίο αποτελείται από ομάδες FFs, συνδεδεμένες μέσω συνδυαστικής λογικής. Αν η περίοδος του ρολογιού είναι πολύ μικρή, πιθανόν κάποιες αλλαγές στις τιμές των δεδομένων να ΜΗΝ προλάβουν να διαδοθούν μέσω της λογικής στις εισόδους των FFs ΠΡΙΝ ξεκινήσει το setup των FFs. Q' Q' Q' Q' Q' Q' Q' Q' Q' Q' LOK LOK MKM - 37 MKM - 38 Ακολουθιακών Κυκλωμάτων (συν.) Πρέπει να καθοριστεί η μέγιστη καθυστέρηση max pd, έτσι ώστε η περίοδος του ρολογιού να οριστεί ως t p >= max pd Για την μέγιστη καθυστέρηση, πρέπει να εξετάσουμε τα διάφορα μονοπάτια του κυκλώματος. Υπάρχουν 4 ων ειδών μονοπάτια: Ι/Ο είσοδο σε έξοδο I Συ υνδυαστικό Κύκλωμα ρητής κατάστασης register FFs) Καταχωρ (state Ακολουθιακών Κυκλωμάτων (συν.) Πρέπει να καθοριστεί η μέγιστη καθυστέρηση max pd, έτσι ώστε η περίοδος του ρολογιού να οριστεί ως t p >= max pd Για την μέγιστη καθυστέρηση, πρέπει να εξετάσουμε τα διάφορα μονοπάτια του κυκλώματος. Υπάρχουν 4 ων ειδών μονοπάτια: Ι/Ο είσοδο σε έξοδο Ι/FF είσοδο σε FF I Συ υνδυαστικό Κύκλωμα ρητής κατάστασης register FFs) Καταχωρ (state O O MKM - 39 MKM - 40 Ανάλυση Ακολουθιακών Κυκλωμάτων 10
Ακολουθιακών Κυκλωμάτων (συν.) Πρέπει να καθοριστεί η μέγιστη καθυστέρηση max pd, έτσι ώστε η περίοδος του ρολογιού να οριστεί ως t p >= max pd Για την μέγιστη καθυστέρηση, πρέπει να εξετάσουμε τα διάφορα μονοπάτια του κυκλώματος. Υπάρχουν 4 ων ειδών μονοπάτια: Ι/Ο είσοδο σε έξοδο Ι/FF είσοδο σε FF FF/O FF σε έξοδο I Συ υνδυαστικό Κύκλωμα ρητής κατάστασης register FFs) Καταχωρ (state Ακολουθιακών Κυκλωμάτων (συν.) Πρέπει να καθοριστεί η μέγιστη καθυστέρηση max pd, έτσι ώστε η περίοδος του ρολογιού να οριστεί ως t p >= max pd Για την μέγιστη καθυστέρηση, πρέπει να εξετάσουμε τα διάφορα μονοπάτια του κυκλώματος. Υπάρχουν 4 ων ειδών μονοπάτια: Ι/Ο είσοδο σε έξοδο Ι/FF είσοδο σε FF FF/O FF σε έξοδο FF/FF FF σε FF I Συ υνδυαστικό Κύκλωμα ρητής κατάστασης register FFs) Καταχωρ (state O O MKM - 41 MKM - 42 Ακολουθιακών Κυκλωμάτων (συν.) Καθυστερήσεις: t pd,ff = καθυστέρηση μετάδοσης FF t pd,omp = καθυστέρηση μετάδοσης συνδυαστικού μέρους t s = FF setup time t slack = πιθανόν επιπρόσθετος χρόνος που παρέχεται πέραν της καθυστέρησης ενός μονοπατιού Ι/Ο = t pd,omp Ι/FF = t pd,omp + t s FF/O = t pd,ff + t pd,omp I FF/FF = t pd,ff + t pd,omp + t s MKM - 43 Συνδυαστικό Κύκλωμα Καταχωρητής κατάστα σης (state register FF Fs) O Ακολουθιακών Κυκλωμάτων (συν.) Σκοπός μας είναι να ελαχιστοποιήσουμε την περίοδο του ρολογιού t p (για να μεγιστοποιήσουμε την συχνότητα) t p >= max pd t p = t pmin + t slack max pd =max{ max{t pd,ff + t pd,omp + t s } = t pmin για όλα τα μονοπάτια FF/FF tp tpd,ff tpd,omb ts tslack (a)positive Edge triggered tpd,ff tpd,omb tslack ts tp (b) Negative Pulse/Level triggered MKM - 44 Ανάλυση Ακολουθιακών Κυκλωμάτων 11
Υπολογισμός της μέγιστης επιτρεπτής τιμής του t pd,omb Συγκρίνετε την μέγιστη επιτρεπτή καθυστέρηση του συνδυαστικού μέρους για ένα ακολουθιακό κύκλωμα: a) Χρησιμοποιώντας ακμοπυροδοτούμενα FFs b) Χρησιμοποιώντας master-slave slave FFs Παράμετροι: t pd,ff (max) = 1.0 ns t s (max) = 0.3 ns για ακμοπυροδοτούμενα FFs t s = t wh = 1.0 ns για master-slave slave FFs Συχνότητα ρολογιού = 250 MHz Υπολογισμός της μέγιστης επιτρεπτής τιμής του t pd,omb (συν. συν.) Υπολογισμοί: t p = 1/συχνότητα ρολογιού = 4.0 ns Ακμοπυροδότηση: : 4.0 1.0 + t pd,omb + 0.3, t pd,omb 2.7 ns Master-slave: slave: 4.0 1.0 + t pd,omb + 1.0, t pd,omb 2.0 ns Σύγκριση: Θεωρήστε ότι για μία πύλη, η μέση τιμή του t pd είναι 0.3 ns Ακμοπυροδότηση : Περίπου 9 πύλες στο μέγιστο μονοπάτι Master-slave: slave: Περίπου 6 έως 7 πύλες στο μέγιστο μονοπάτι MKM - 45 MKM - 46 Ανάλυση Ακολουθιακών Κυκλωμάτων 12