Σχεδίαση Ψηφιακών Συστηµάτων Πανεπιστήμιο Δυτικής Αττικής Τμήμα Μηχανικών Πληροφορικής και Υπολογιστών Γιάννης Βογιατζής Πάνος Καρκαζής 27-28 Παρουσίαση 4 η : Ψηφιακή Σχεδίαση Μέρος 3 Ανάλυση και Σχεδίαση Σύγχρονων ακολουθιακών κυκλωμάτων
Ανάλυση και Σχεδίαση Σύγχρονων Ακολουθιακών Κυκλωμάτων Λ Ο Γ ΙΚ Ο ΚΥΚΛΩΜΑ Α Ν Α Λ Υ Σ Η Σ Υ Ν ΑΡ ΤΗ Σ ΕΙ Σ Ε ΙΣ Ο ΔΟ Υ ΠΙΝΑΚ ΑΣ Κ ΑΤΑΣΤΑΣΕ ΩΝ Σ Χ Ε Δ Ι Α Σ Η ΔΙΑΓΡΑΜΜΑ ΚΑΤΑΣΤΑΣΕΩΝ Π ΕΡ Ι ΓΡ Α ΦΗ Λ Ε Ι Τ Ο Υ Ρ Γ Ι Α Σ 2
Ανάλυση Σύγχρονων Ακολουθιακών Κυκλωμάτων Βήμα Α: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων. Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων. 3
Πίνακες λειτουργίας flip-flops SR flip-flop JK flip-flop S R Q t+ Q t απροσδιόριστη J K Q t+ Q t Q t D flip-flop T flip-flop D Q t+ T Q t+ Q t Q t 4
Παράδειγμα Σύγχρονο ακολουθιακό κύκλωμα χωρίς εξωτερικές εισόδους και εξόδους J Q J Q Vcc K Q' Vcc K Q' (α) J Q J Q FF FF Vcc K Q' Vcc K Q' ( β ) 5
Παράδειγμα Vcc J Q FF K Q' Vcc J Q FF K Q' Βήμα Α: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. J = Q J = Q Κ = Κ = Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων ( β ) ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ Ε Ι Σ Ο Δ Ο Ι ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Q Q J K J K Q Q Κ ατ αγ ρ άφο ντ αι Ο Λ Ο Ι ο ι δ υ ν α τ ο ί σ υ ν δ υ α σ μ ο ί ( δ υν ατ ές κατ ασ τ άσ ει ς ) Προ κ ύ πτ ο υ ν απ ό τ ι ς συναρτήσεις εισόδου και τις τ ι μ έ ς τ η ς π α ρ ο ύ σ α ς κ α τ ά σ τ α σ η ς Προ κ ύ πτ ο υ ν απ ό τ ι ς τιμές των εισόδων J, K και τις τ ι μ έ ς τ η ς π α ρ ο ύ σ α ς κατ άσ τασης Q καθενός FF 6
Παράδειγμα Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων mod-3 up Παρατηρήσεις Οι ωρολογιακοί παλμοί δε φαίνονται στον πίνακα και στο διάγραμμα καταστάσεων. Εννοείται ότι από την παρούσα κατάσταση μεταβαίνουμε στην επόμενη κατάσταση με την έλευση της ενεργού ακμής πυροδότησης του ωρολογιακού παλμού. Για την κατάστρωση του πίνακα βασιζόμαστε εκτός από την παρούσα κατάσταση και τις τιμές των εισόδων, και στον πίνακα λειτουργίας του FF. Με άλλα λόγια, οι πίνακες λειτουργίας των FFs είναι απαραίτητοι για την ανάλυση ενός ακολουθιακού κυκλώματος. 7
Παράδειγμα 2 T Q T Q Q' Q' Βήμα Α: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. Τ = Q + Q T = Q + Q 8
Παράδειγμα 2 Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟΔΟΙ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Q Q T T Q Q Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων mod-3 down 9
Παράδειγμα 3 Βήμα Α: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. J = K = (Q Q 2 ) J = Q J 2 = Q Q K = Q + Q Q 2 K 2 = Q Q +Q 2 Q = (Q +Q 2 )Q
Παράδειγμα 3 J = K = (Q Q 2 ) J = Q J 2 = Q Q K = Q + Q Q 2 K 2 = Q Q +Q 2 Q = (Q +Q 2 )Q Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων Π. Κ. ΕΙΣΟΔΟΙ E. Κ. Q2 Q Q J2K2 JK JK Q2 Q Q Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων mod-7
Παράδειγμα 4 Σύγχρονα ακολουθιακά κυκλώματα με εξωτερικές εισόδους Vcc X J Q J Q K Q' K Q' Βήμα Α: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. J = K = X Q J = K = 2
Παράδειγμα 4 Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων ΕΙΣΟΔΟΣ & ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟΔΟΙ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Χ Q Q J K JK Q Q Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων 3
Παράδειγμα 5 Σύγχρονα ακολουθιακά κυκλώματα με εξωτερικές εισόδους και εξόδους T Q T Q Q' Q' Y X Βήμα Α: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. T = Q Τ = Χ Q Y = X Q Q 4
Παράδειγμα 5 Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων Ε ΙΣ Ο Δ Ο Σ & ΠΑΡ ΟΥ ΣΑ ΚΑΤ ΑΣΤ ΑΣΗ Ε ΙΣ Ο Δ Ο Ι ΕΞΟΔΟΣ ΕΠΟΜΕΝΗ ΚΑΤ ΑΣΤΑΣΗ Χ Q Q T T Υ Q Q / / Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων / / / / / / 5
Παράδειγμα 5 Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων / / / / / / / / Βήμα Α4: Τι κάνει; Τι έξοδο βγάζει για είσοδο αν ξεκινήσουμε από τη ; Ποιες ακολουθίες «αναγνωρίζει»; 6
Παράδειγμα 6 D2 Q2 Q'2 D Q Q' Y D Q Q' Βήμα Α: Γράφουμε τις λογικές συναρτήσεις των εισόδων των FFs. D = Q 2 D = Q D 2 = Q Q Q 2 Υ = Q Q Q 2 7
Παράδειγμα 6 D2 Q2 Q'2 Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων D Q Y Q' D Q Q' ΠΑΡ ΟΥ ΣΑ ΚΑΤ ΑΣΤ ΑΣΗ Ε ΙΣ Ο Δ Ο Ι ΕΞΟΔΟΣ ΕΠΟΜΕΝΗ ΚΑΤ ΑΣΤΑΣΗ Q2 Q Q D2 D D Υ Q2 Q Q 8
Παράδειγμα 6 Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων Π ΑΡ ΟΥ ΣΑ ΚΑΤ ΑΣΤ ΑΣΗ Ε ΙΣ Ο Δ Ο Ι ΕΞΟΔΟΣ ΕΠΟΜΕΝΗ ΚΑΤ ΑΣΤΑΣΗ Q2 Q Q D2 D D Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων / Υ Q2 Q Q / / / / / / / Y 9
Ανάλυση και Σχεδίαση Σύγχρονων Ακολουθιακών Κυκλωμάτων Λ Ο Γ ΙΚ Ο ΚΥΚΛΩΜΑ Α Ν Α Λ Υ Σ Η Σ Υ Ν ΑΡ ΤΗ Σ ΕΙ Σ Ε ΙΣ Ο ΔΟ Υ ΠΙΝΑΚ ΑΣ Κ ΑΤΑΣΤΑΣΕ ΩΝ Σ Χ Ε Δ Ι Α Σ Η ΔΙΑΓΡΑΜΜΑ ΚΑΤΑΣΤΑΣΕΩΝ Π ΕΡ Ι ΓΡ Α ΦΗ Λ Ε Ι Τ Ο Υ Ρ Γ Ι Α Σ 2
Σχεδίαση Σύγχρονων Ακολουθιακών Κυκλωμάτων Βήμα Σ: Σχεδιάζουμε το διάγραμμα καταστάσεων του κυκλώματος και από αυτό καταστρώνουμε τον πίνακα καταστάσεων. Βήμα Σ2: Προσδιορίζουμε τις απλοποιημένες συναρτήσεις εισόδου των FFs. Βήμα Σ3: Σχεδιάζουμε το λογικό κύκλωμα. Βήμα Σ4: Έλεγχος ορθής λειτουργίας του κυκλώματος. 2
Πίνακες Διέγερσης Flip-flops Πίνακας Διέγερσης: Πίνακας που δίνει τις απαιτούμενες εισόδους του flip-flop για ορισμένη αλλαγή της κατάστασης. Προκύπτει από τον αντίστοιχο πίνακα λειτουργίας του flip-flop. Πίνακας λειτουργίας JK-FF JK flip-flop J K Q t+ Q t Q t Πίνακας διέγερσης JK-FF Q t Q t+ J K X X X X 22
Πίνακες Διέγερσης Flip-flops SR-FF Q t Q t+ S R X X D-FF Q t Q t+ D JK-FF Q t Q t+ J K X X X X T-FF Q t Q t+ T 23
Παράδειγμα 7 Με FFs τύπου JK αρνητικής ακμής πυροδότησης, να σχεδιασθεί ΣΑΚ το οποίο να "περνά" διαδοχικά από τις καταστάσεις,, 3, 2 (δηλαδή να απαριθμεί σύμφωνα με τον κώδικα Gray). Βήμα Σ: Σχεδιάζουμε το διάγραμμα καταστάσεων του κυκλώματος και από αυτό καταστρώνουμε τον πίνακα καταστάσεων. Π. Κ. Ε.K. Q Q Q Q ΕΙΣΟΔΟΙ J K JK X X X X X X X X 24
Παράδειγμα 7 Βήμα Σ2: Προσδιορίζουμε τις απλοποιημένες συναρτήσεις εισόδου των FFs. Q Q Q Q J Q Q Q Q Q Q Q K Q ' J=Q K Q Βήμα Σ3: Σχεδιάζουμε το λογικό κύκλωμα. J FF Q J FF Q K Q' K Q' 25
Παράδειγμα 8 Με την χρήση FFs τύπου JK θετικής ακμής πυροδότησης να σχεδιαστεί ΣΑΚ το οποίο να "περνά" από τις καταστάσεις,, 2, 3 (κανονική απαρίθμηση) ή,, 3, 2 (απαρίθμηση σύμφωνα με τον κώδικα Gray) ανάλογα με το αν η είσοδος X είναι ή αντίστοιχα. Βήμα Σ: Σχεδιάζουμε το διάγραμμα καταστάσεων του κυκλώματος και από αυτό καταστρώνουμε τον πίνακα καταστάσεων. ΕΙΣΟΔΟΙ + Π.Κ. E. Κ. ΕΙΣΟΔΟΙ X Q Q Q Q JK JK X X X X X X X X X X X X X X X X 26
Παράδειγμα 8 Βήμα Σ2: Προσδιορίζουμε τις απλοποιημένες συναρτήσεις εισόδου των FFs. Q Q Q X X Q Q J Q K X Q XQ X Q Q X Q Q X Q Q J X Q K X Q 27
Παράδειγμα 8 Βήμα Σ3: Σχεδιάζουμε το λογικό κύκλωμα. J Q J Q FF FF X K Q' K Q' 28
Παράδειγμα 9 Με την χρήση FFs τύπου D θετικής ακμής πυροδότησης να σχεδιαστεί ΣΑΚ το οποίο να "περνά" από τις καταστάσεις,, 2, 3 (κανονική απαρίθμηση) ή,, 3, 2 (απαρίθμηση σύμφωνα με τον κώδικα Gray) ανάλογα με το αν η είσοδος X είναι ή αντίστοιχα. Βήμα Σ: Σχεδιάζουμε το διάγραμμα καταστάσεων του κυκλώματος και από αυτό καταστρώνουμε τον πίνακα καταστάσεων. ΕΙΣΟΔΟΙ + Π.Κ. E. Κ. ΕΙΣΟΔΟΙ X Q Q Q Q D D2 29
Παράδειγμα 9 Βήμα Σ2: Προσδιορίζουμε τις απλοποιημένες συναρτήσεις εισόδου των FFs. X Q Q Q Q X Q Q Q D = Q Q + Q X + Q Q X = = Q (Q +X) + Q (Q +X) = = Q XNOR (Q +X) Q D = Q Q + Q X + Q X = = Q (Q +X ) + Q X = = Q (Q ) + Q X = = (Q + Q X) + Q X 3
Παράδειγμα 9 Βήμα Σ3: Σχεδιάζουμε το λογικό κύκλωμα. X D Q D Q FF Q' FF Q' 3
Παράδειγμα Σύγχρονα ακολουθιακά κυκλώματα με αδιάφορες καταστάσεις Με FF τύπου JK αρνητικής ακμής πυροδότησης να σχεδιάσετε ΣΑΚ το οποίο να διατρέχει τις τιμές μέχρι και 9. Βήμα Σ: Σχεδιάζουμε το διάγραμμα καταστάσεων του κυκλώματος και από αυτό καταστρώνουμε τον πίνακα καταστάσεων. 5 4 3 2 2 3 4 9 5 6 7 8 32
Παράδειγμα Π. Κ. E. Κ. ΕΙΣΟΔΟΙ Q3 Q2 Q Q Q3 Q2 Q Q J3K3 J2K2 JK JK 2 3 4 5 6 5 4 7 3 2 9 8 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Βήμα Σ2: Προσδιορίζουμε τις απλοποιημένες συναρτήσεις εισόδου των FFs 33
Παράδειγμα Βήμα Σ2: Προσδιορίζουμε τις απλοποιημένες συναρτήσεις εισόδου των FFs. Q Q Q Q 3 Q 2 Q Q Q Q Q Q 3 2 Q 3 Q 2 Q Q Q 3 Q 2 Q 3 Q 2 Q J Q Q J 2 QQ J QQ 3 3 Q2 J QQ Q Q Q Q 3 2 Q 2 3 2 K 3 Q 2 QQ K K QQ 3 Q Q Q 3 2 K Βήμα Σ3: Σχεδιάζουμε το λογικό κύκλωμα. 34
Παράδειγμα Βήμα Σ3: Σχεδιάζουμε το λογικό κύκλωμα. J2 J J J3 Q3 Q2 Q Q V cc K3 Q3' K2 Q2' K Q' K Q' Βήμα Σ4: Έλεγχος ορθής λειτουργίας του κυκλώματος. 35
Παράδειγμα Βήμα Σ4: Έλεγχος ορθής λειτουργίας του κυκλώματος. Βήμα Α: Γράφουμε τις συναρτήσεις εισόδου των FFs. J 3 = Q 2 Q Q J 2 = K 2 = Q Q J = K = Q 3Q J = K = K 3 = Q Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων. Π. Κ. ΕΙΣΟΔΟΙ E. Κ. Q3 Q2 Q Q J3 K3 J2K2 J K J K Q3 Q2 Q Q......... 36
Παράδειγμα Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων. 5 4 3 2 2 3 4 9 5 6 7 8 αυτόματη εκκίνηση (self-starting) / αυτόματη διόρθωση (self-correcting) 37
Παράδειγμα Σχεδιάστε ΣΑΚ το οποίο να διατρέχει διαδοχικά τους αριθμούς, 3, 5, 7. Προσοχή! Θα χρησιμοποιήσουμε 3 FFs και όχι 2, όπως αρχικά μπορεί κάποιος να σκεφτεί βλέποντας τις 4 καταστάσεις Βήμα Σ: Σχεδιάζουμε το διάγραμμα καταστάσεων του κυκλώματος και από αυτό καταστρώνουμε τον πίνακα καταστάσεων. 7 Π.Κ. E.Κ. ΕΙΣΟΔΟΙ Q2 Q Q Q2 Q Q T2 T T 2 3 4 6 5 X X X X X X X X X X X X X X X X X X X X X X X X 38
Παράδειγμα Βήμα Σ2: Προσδιορίζουμε τις απλοποιημένες συναρτήσεις εισόδου των FFs. Από το τμήμα των εισόδων του πίνακα καταστάσεων και με αξιοποίηση των συνθηκών αδιαφορίας, εξάγεται άμεσα ότι Τ =, Τ = Q 2 Q 2 Q Q Q Q T2 Q 39
Παράδειγμα Βήμα Σ3: Σχεδιάζουμε το λογικό κύκλωμα. V cc T2 Q2 T Q T Q Q2' Q' Q' 4
Παράδειγμα Βήμα Σ4: Έλεγχος ορθής λειτουργίας του κυκλώματος. Βήμα Α: Γράφουμε τις συναρτήσεις εισόδου των FFs. Τ 2 =Q T = T = Βήμα Α2: Καταστρώνουμε τον πίνακα καταστάσεων. Π.Κ. ΕΙΣΟΔΟΙ E.Κ. Q2 Q Q T2 T T Q2 Q Q 4
Παράδειγμα Βήμα Α3: Σχεδιάζουμε το διάγραμμα καταστάσεων. 7 2 6 3 4 5 Πρόβλημα! Αν βρεθεί σε μία από τις μη έγκυρες καταστάσεις ή 2 ή 4 ή 6, τότε εγκλωβίζεται στον κύκλο, 2, 4, 6,, 2, 4, 6,, 2,... 42
Παράδειγμα Λύση: Αναγκάζουμε το κύκλωμα μετά την κατάσταση να μεταβεί στην κατάσταση. Με αυτό τον τρόπο "σπάμε" τον μη έγκυρο κύκλο, 2, 4, 6,, 2,... Ακολούθως, επαναλαμβάνουμε την διαδικασία της σχεδίασης από την αρχή. Βήμα Σ: Σχεδιάζουμε το διάγραμμα καταστάσεων του κυκλώματος και από αυτό καταστρώνουμε τον πίνακα καταστάσεων. Π.Κ. ΕΙΣΟΔΟΙ E.Κ. 7 Q2 Q Q Q2 Q Q T2 T T 2 6 5......... 3 4 43
Παράδειγμα Βήμα Σ2: Προσδιορίζουμε τις απλοποιημένες συναρτήσεις εισόδου των FFs. Q Q Q 2 Q Q 2 Q Q Q Q Q Q 2 Q 2 Q 2 T2 Q Q Q T Q Βήμα Σ3: Σχεδιάζουμε το λογικό κύκλωμα. T Q T2 Q2 T Q T Q Q2' Q' Q' 44
Παράδειγμα 2 Ένας φοιτητής σχεδίασε το παρακάτω διάγραμμα καταστάσεων για ένα ακολουθιακό κύκλωμα το οποίο αναγνωρίζει την ακολουθία δυαδικών ψηφίων από μία σειριακή είσοδο Χ, και δίνει έξοδο Υ= κάθε φορά που την αναγνωρίζει. Επιτρέπεται επικάλυψη των ακολουθιών. Έτσι για παράδειγμα, για την ακολουθία Χ=... η έξοδος Υ λαμβάνει τις τιμές Υ=.... Ωστόσο, από το διάγραμμα λείπουν κάποιες μεταβάσεις για να ολοκληρωθεί..προσθέστε τις μεταβάσεις που λείπουν 2.Σχεδιάστε το απλούστερο δυνατό ακολουθιακό κύκλωμα χρησιμοποιώντας δύο JK flip-flop Α, Α και λογικές πύλες 45
Παράδειγμα 2 X A A A A JA KA JA KA Y X X X X X X X X X X X X X X X X A A A A X X X X X X X X X J CK Q A JA =A KA = A '+'A = or A K Q' F A A X X X X A A X X X X JA =' KA = J Q A CK K Q' 46
Σύνοψη Οι πίνακες λειτουργίας των FFs είναι απαραίτητοι για την ανάλυση των ΣΑΚ, ενώ οι πίνακες διέγερσης των FFs απαιτούνται για τη σχεδίαση αυτών. Ο πίνακας καταστάσεων ενός ΣΑΚ αποτελείται από 2 n+m γραμμές (δυνατές περιπτώσεις), όπου n το πλήθος των FFs του κυκλώματος και m ο αριθμός των εξωτερικών εισόδων αυτού. Ο τύπος πυροδότησης των FFs δεν παίζει ρόλο στην ανάλυση ή σχεδίαση ενός ΣΑΚ. 47
Ελπίζω να μην κουραστήκατε, μόνο!!! 48