Professional Documents
Culture Documents
Chapter1-ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ
Chapter1-ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ
ΒΙΒΛΙΟΓΡΑΦΙΑ ......................................................................................................................................... 38
1
ΚΕΦΑΛΑΙΟ 2 ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ
Προσδοκώµενα αποτελέσµατα:
Μετά τη µελέτη του κεφαλαίου, θα είστε σε θέση να:
• αναλύετε οποιοδήποτε σύγχρονο ακολουθιακό κύκλωµα µε ή χωρίς εξωτερικές
εισόδους ή εξόδους
• σχεδιάζετε κυκλώµατα, που παράγουν συγκεκριµένες ακολουθίες παλµών
• σχεδιάζετε σύγχρονα ακολουθιακά κυκλώµατα µε ή χωρίς εξωτερικές εισόδους ή
εξόδους
Έννοιες – Κλειδιά:
• Σύγχρονο ακολουθιακό κύκλωµα
• Απαριθµητής / Μετρητής
• ∆ιάγραµµα καταστάσεων
• Πίνακας καταστάσεων
• Γεννήτρια ακολουθιών
2
ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ
Στο προηγούµενο κεφάλαιο µελετήσαµε όλους τους τύπους των FFs (SR, D, JK, T). Η
µελέτη αυτή περιορίστηκε στην ανάλυση του τρόπου λειτουργίας καθενός FF ξεχωριστά.
Τι γίνεται όµως στην περίπτωση που περισσότερα από ένα FFs συνδέονται µεταξύ τους
και λειτουργούν συγχρονισµένα µε βάση τους παλµούς κάποιου ρολογιού; Τι γίνεται αν
σ’ ένα τέτοιο κύκλωµα επιδρούν κάποιες εξωτερικές είσοδοι για τον έλεγχο αυτού; Και
τέλος, τι θα κάναµε αν µας ζητούσαν να σχεδιάσουµε ένα ακολουθιακό κύκλωµα
αποτελούµενο από ένα ή περισσότερα FFs που να λειτουργεί σύµφωνα µε κάποιες
προδιαγραφές;
Με ποιo τρόπο θα τα συνδυάζαµε αυτά;
Όλα αυτά είναι προβλήµατα που παρουσιάζονται πάρα πολύ συχνά στην πράξη και θα
πρέπει να είµαστε σε θέση να τα αντιµετωπίζουµε. Όπως στην περίπτωση των
συνδυαστικών κυκλωµάτων µπορούµε να αναλύουµε ή να σχεδιάζουµε ένα οποιοδήποτε
κύκλωµα χρησιµοποιώντας πύλες, έτσι και στην περίπτωση των ακολουθιακών
κυκλωµάτων θα πρέπει να είµαστε σε θέση να αναλύουµε ή να σχεδιάζουµε οποιοδήποτε
κύκλωµα µε FFs.
Αν όλα τα FFs του κυκλώµατος χρονίζονται µε το ίδιο ρολόι (clock), τότε αυτό
ονοµάζεται σ ύ γ χ ρ ο ν ο α κ ο λ ο υ θ ι α κ ό κ ύ κ λ ω µ α . Αυτού του είδους τα κυκλώµατα
θα µελετήσουµε στο παρόν κεφάλαιο. Θα εξετάσουµε τον τρόπο ανάλυσης και σχεδίασής
τους. Πρόκειται για δύο διαδικασίες, που η µία είναι αντίστροφη της άλλης. Η ανάλυση
ενός κυκλώµατος αφορά στην περίπτωση που µας δίνεται το όλο κύκλωµα και µας
ζητείται να προσδιορίσουµε τον ακριβή τρόπο λειτουργίας του. Η σχεδίαση είναι η
αντίστροφη διαδικασία. Εδώ µας δίνεται ο επιθυµητός τρόπος λειτουργίας του
κυκλώµατος και µας ζητείται να βρούµε ποιo είναι το κατάλληλο κύκλωµα που
συµπεριφέρεται σύµφωνα µε αυτόν. Στην ενότητα 2.1 ασχολούµαστε µε την ανάλυση
σύγχρονων ακολουθιακών κυκλωµάτων, ενώ στην ενότητα 2.2 παρουσιάζουµε τον τρόπο
σχεδίασης αυτών.
Πριν όµως ασχοληθούµε διεξοδικά µε την ανάλυση και σχεδίαση ΣΑΚ, ας
επιχειρήσουµε να διευκρινίσουµε ορισµένες έννοιες σχετικά µε την κατάσταση και την
έξοδο ενός ΣΑΚ, καθώς και των µοντέλων που υπάρχουν για την µελέτη αυτών, ανάλογα
µε τον τρόπο που επιδρούν οι τυχόν εξωτερικές είσοδοι του κυκλώµατος.
3
Είναι γνωστό ότι για να προσδιορίσουµε την έξοδο ενός συνδυαστικού κυκλώµατος σε
κάθε χρονική στιγµή απαιτείται να γνωρίζουµε την είσοδο καθώς και την λογική που
υλοποιούν οι πύλες του κυκλώµατος, δηλαδή τον τρόπο διασύνδεσής τους. Σ’ ένα
ακολουθιακό κύκλωµα, όµως, για να βρούµε την έξοδο, πρέπει να γνωρίζουµε την
παρούσα κατάσταση των FFs, καθώς και την εξωτερική είσοδο. Με τον όρο κατάσταση
(state) εννοούµε όλες τις εξόδους των FFs στη συγκεκριµένη χρονική στιγµή. Αν ένα
κύκλωµα αποτελείται από Ν FFs, θα έχει το πολύ 2Ν διαφορετικές καταστάσεις.
Παρατηρούµε ότι οι είσοδοι, όπως και το ρολόι, δεν συµπεριλαµβάνονται στον ορισµό
της κατάστασης. Επιπλέον, η κατάσταση δεν είναι το ίδιο πράγµα µε την έξοδο του
κυκλώµατος. Μερικές ή και όλες οι έξοδοι των FFs µπορεί να οδηγούνται κατευθείαν
στην έξοδο, αλλά γενικά η έξοδος ενός ΣΑΚ είναι ένας συνδυασµός των εξόδων
(καταστάσεων) των FFs, όπως δείχνεται στο Σχήµα 2.1α. Σηµειώστε ότι η έξοδος του
κυκλώµατος αλλάζει µόνο, όταν παρουσιαστεί η ενεργός ακµή του ρολογιού. Ένα τέτοιο
κύκλωµα, στο οποίο η έξοδος αλλάζει σε συµφωνία µε τους ωρολογιακούς παλµούς
ονοµάζεται κύκλωµα Moore. Αν στο ΣΑΚ προσθέσουµε κάποιες εξωτερικές εισόδους
(εκτός του ρολογιού), τότε και πάλι το κύκλωµα αυτό εξακολουθεί να είναι ένα κύκλωµα
Moore, υπό την προϋπόθεση ότι η έξοδος του κυκλώµατος λαµβάνεται από τις εξόδους
των FFs και άρα οι οποιεσδήποτε αλλαγές στην έξοδο συµβαίνουν µόνο κατά τις αλλαγές
των ωρολογιακών παλµών. Αν όµως η εξωτερική είσοδος µπορεί να επηρεάσει την έξοδο
του κυκλώµατος σε οποιαδήποτε χρονική στιγµή, χωρίς να είναι απαραίτητο να
συγχρονιστεί µε τους ωρολογιακούς παλµούς (βλ. Σχήµα 2.1β), τότε το κύκλωµα αυτό
ονοµάζεται κύκλωµα Mealy. ∆ηλαδή σ’ ένα τέτοιο κύκλωµα η έξοδος εξαρτάται από την
εσωτερική κατάσταση καθώς και από τις εξωτερικές επιρροές (εξωτερικές εισόδους). Οι
έξοδοι των FFs αποτελούν και πάλι την εσωτερική κατάσταση. Οι είσοδοι δεν
παρεµβαίνουν άµεσα στην κατάσταση, αλλά επηρεάζουν την έξοδο του κυκλώµατος
µέσω του συνδυαστικού κυκλώµατος, και µάλιστα σε οποιαδήποτε χρονική στιγµή.
4
(α)
(β)
5
ΕΝΟΤΗΤΑ 2.1. ΑΝΑΛΥΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ
ΚΥΚΛΩΜΑΤΩΝ
J Q J Q
CLK CLK CLK
Vcc K Q' Vcc K Q'
(α)
J0 Q0 J1 Q1
CLK FF0 FF1
Vcc K0 Q'0 Vcc K1 Q'1
(β)
6
Κατ' αρχήν παρατηρούµε ότι πράγµατι πρόκειται για ένα ΣΑΚ, αφού και τα δύο FFs
τύπου JK τροφοδοτούνται µε τους ίδιους ωρολογιακούς παλµούς CLK. Για να
διευκολυνθούµε στην ανάλυση του κυκλώµατος, αποφεύγοντας οποιεσδήποτε ασάφειες,
απαριθµούµε τα FFs αρχίζοντας από το 0, όπως δείχνεται στο Σχήµα 2.2β. Bάζουµε τον
αύξοντα αριθµό του κάθε FF ως δείκτη σε κάθε σύµβολο εισόδου και εξόδου των FFs.
Έτσι έχουµε το FF0 µε εισόδους J0, K0 και εξόδους Q0, Q΄0 και το FF1 µε εισόδους J1, K1
και εξόδους Q1, Q΄1. Μετά από αυτά, είµαστε πλέον έτοιµοι για να αρχίσουµε την
ανάλυση του κυκλώµατος. Η όλη ανάλυση επιτυγχάνεται σε τρία βήµατα, ως εξής:
Βήµα Α1: Γράφουµε τις λογικές συναρτήσεις των εισόδων των FFs.
7
Πίνακας 2.1 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.2.
ΠΑΡΟΥΣΑ ΕΠΟΜΕΝΗ
ΚΑΤΑΣΤΑΣΗ ΕΙΣΟ∆ΟΙ ΚΑΤΑΣΤΑΣΗ
Q1 Q0 J1 K1 J0 K0 Q1 Q0
0 0 0 1 1 1 0 1
0 1 1 1 1 1 1 0
1 0 0 1 0 1 0 0
1 1 1 1 0 1 0 0
Καταγράφονται ΟΛΟΙ οι Προκύπτουν από τις Προκύπτουν από τις τιµές των
δυνατοί συνδυασµοί συναρτήσεις εισόδου και τις εισόδων J, K και τις τιµές της
(δυνατές καταστάσεις) τιµές της παρούσας παρούσας κατάστασης Q
κατάστασης καθενός FF
Έτσι, οι τιµές της στήλης Q1 της επόµενης κατάστασης προκύπτουν από την στήλη Q1
της παρούσας κατάστασης και τις τιµές των στηλών εισόδου J1, Κ1. Για παράδειγµα, η
δεύτερη τιµή του Q1 της επόµενης κατάστασης είναι 1, επειδή η αντίστοιχη τιµή του Q1
της παρούσας κατάστασης είναι 0 και οι είσοδοι J1 = 1, Κ1 = 1, που σηµαίνει ότι το FF
αλλάζει κατάσταση µε την έλευση του ενεργού παλµού του ρολογιού (toggle).
Το διάγραµµα καταστάσεων (state diagram) δεν είναι τίποτε άλλο από τη γραφική
απεικόνιση του πίνακα καταστάσεων. Κάθε κατάσταση απεικονίζεται µε ένα κύκλο και
κάθε µετάβαση δείχνεται µε ένα βέλος. Το διάγραµµα καταστάσεων του κυκλώµατος,
που εξετάζουµε, δείχνεται στο Σχήµα 2.3.
00 11
01 10
8
Το διάγραµµα προέκυψε από τις αντίστοιχες τιµές της παρούσας και επόµενης
κατάστασης του πίνακα καταστάσεων του Σχήµατος 2.3. Βλέπουµε, δηλαδή, πως, αν η
παρούσα κατάσταση (Q1Q0) είναι 00, η επόµενη κατάσταση (τρίτο τµήµα του πίνακα
καταστάσεων) είναι 01. Άρα, µε την έλευση του ενεργού παλµού το κύκλωµα µεταβαίνει
από το 00 στο 01. Όµοια βρίσκουµε ότι µε τον επόµενο παλµό του ρολογιού το κύκλωµα
αλλάζει κατάσταση και από το 01 µεταβαίνει στο 10, ενώ από το 10 µεταβαίνει στο 00.
∆ηλαδή, το συγκεκριµένο κύκλωµα µε κάθε ενεργό ωρολογιακό παλµό περνά διαδοχικά
από τις καταστάσεις 00, 01, 10 ή 0, 1, 2 στο δεκαδικό σύστηµα αρίθµησης. Πρόκειται,
εποµένως, για ένα κύκλωµα απαρίθµησης παλµών (counter) µε δυνατότητα απαρίθµησης
3 παλµών (modulo-3). Αν το κύκλωµα για κάποιο λόγο (π.χ. κατά την έναρξη της
τροφοδοσίας του) βρεθεί στην κατάσταση 11 (δηλαδή Q1 = 1, Q0 = 1), τότε µε τον πρώτο
ενεργό ωρολογιακό παλµό µεταβαίνει στην κατάσταση 00 και από εκεί συνεχίζει, όπως
ήδη έχουµε περιγράψει. Περισσότερα, όµως, για τους απαριθµητές θα δούµε στο επόµενο
κεφάλαιο.
Παρατηρήσεις
• Παρατηρούµε ότι οι ωρολογιακοί παλµοί δεν δείχνονται στον πίνακα και στο
διάγραµµα καταστάσεων. Εννοείται ότι από την παρούσα κατάσταση
µεταβαίνουµε στην επόµενη κατάσταση µε την έλευση της ενεργού ακµής
πυροδότησης του ωρολογιακού παλµού CLK.
• Για την κατάστρωση του πίνακα βασιζόµαστε, εκτός από την παρούσα κατάσταση
και τις τιµές των εισόδων, και στον πίνακα λειτουργίας του FF. Με άλλα λόγια, οι
πίνακες λειτουργίας των FFs του Σχήµατος 1.23 είναι απαραίτητοι για την
ανάλυση ενός ακολουθιακού κυκλώµατος.
Παράδειγµα 1 / Κεφάλαιο 2
9
T0 Q0 T1 Q1
CLK CLK CLK
Q'0 Q'1
Μας ζητείται η ανάλυση του ΣΑΚ, το οποίο αποτελείται από δύο FFs τύπου Τ θετικής
ακµής πυροδότησης. Ακολουθούµε τα τρία βήµατα της ανάλυσης.
Τ0 = Q0 + Q1 T1 = Q΄0 + Q1
ΠΑΡΟΥΣΑ ΕΠΟΜΕΝΗ
ΚΑΤΑΣΤΑΣΗ ΕΙΣΟ∆ΟΙ ΚΑΤΑΣΤΑΣΗ
Q1 Q0 Τ1 Τ0 Q1 Q 0
0 0 1 0 1 0
0 1 0 1 0 0
1 0 1 1 0 1
1 1 1 1 0 0
Το τµήµα της παρούσας κατάστασης περιέχει όλες τις δυνατές τιµές των εξόδων
των FFs. Με βάση αυτές και τις συναρτήσεις εισόδου συµπληρώνουµε το µεσαίο
τµήµα του πίνακα καταστάσεων, όπου φαίνονται οι τιµές των εισόδων Τ0 και Τ1.
Τέλος, η επόµενη κατάσταση προσδιορίζεται µε τη βοήθεια του πίνακα λειτουργίας
του Σχήµατος 1.23(δ). του Τ FF και τις αντίστοιχες τιµές της παρούσας κατάστασης
και των εισόδων αυτού.
Υπενθυµίζεται ότι για Τ=0 το FF δεν αλλάζει κατάσταση, ενώ για Τ=1 αυτό
µεταπίπτει στη συµπληρωµατική της παρούσας κατάστασης.
10
Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.
00 11
01 10
11
αναφέραµε στην προηγούµενη παράγραφο. Ας παρακολουθήσουµε την ανάλυση ενός
τέτοιου κυκλώµατος µέσα από ένα παράδειγµα.
Παράδειγµα 2 / Κεφάλαιο 2
Vcc
X J1 Q1 J0 Q0
CLK CLK CLK
K1 Q'1 K0 Q'0
Σχήµα 2.7 Σύγχρονο ακολουθιακό κύκλωµα µε FFs τύπου JK και µε εξωτερική είσοδο
J1 = K1 = X~Q0 J0 = K0 = 1
Παρατηρούµε ότι οι είσοδοι J, K των FFs είναι συναρτήσεις όχι µόνο της
παρούσας κατάστασης Q, αλλά και της τιµής της εισόδου Χ. Αυτό σηµαίνει πως, για
να προσδιορίσουµε την επόµενη κατάσταση, πρέπει να ξέρουµε την παρούσα
κατάσταση και την είσοδο Χ. Έτσι, στο πρώτο τµήµα του πίνακα καταστάσεων
ενσωµατώνουµε και τις τιµές του Χ.
Οι δυνατοί συνδυασµοί των τριών µεταβλητών X, Q1, Q0 είναι 8, όπως φαίνεται
στον πίνακα. Κατά τα υπόλοιπα, ο πίνακας καταστάσεων προκύπτει µε το γνωστό
πλέον τρόπο.
Πίνακας 2.3 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.7
ΕΙΣΟ∆ΟΣ
& ΕΠΟΜΕΝΗ
ΕΙΣΟ∆ΟΙ
ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΚΑΤΑΣΤΑΣΗ
Χ Q1 Q0 J1 K1 J0 K0 Q1 Q0
0 0 0 1 1 1 1 1 1
0 0 1 0 0 1 1 0 0
0 1 0 1 1 1 1 0 1
0 1 1 0 0 1 1 1 0
1 0 0 0 0 1 1 0 1
1 0 1 1 1 1 1 1 0
1 1 0 0 0 1 1 1 1
1 1 1 1 1 1 1 0 0
12
Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.
00 1 11
0 1 1 0
01 1 10
0
Σχήµα 2.8 ∆ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.7.
Παράδειγµα 3 / Κεφάλαιο 2
13
T1 Q1 T0 Q0
CLK CLK CLK
Q'1 Q'0
Σχήµα 2.9 Σύγχρονο ακολουθιακό κύκλωµα µε Τ FFs και εξωτερική είσοδο και έξοδο
T1 = Q΄0 Τ0 = Χ~Q1
Έχουµε µία εξωτερική είσοδο και δύο FFs, και κατά συνέπεια 8 διαφορετικές
περιπτώσεις µπορεί να υπάρξουν στην παρούσα κατάσταση. Με βάση αυτές τις τιµές
και τις συναρτήσεις εισόδου, συµπληρώνουµε το δεύτερο τµήµα του πίνακα
καταστάσεων, που περιέχει όλες τις δυνατές περιπτώσεις στις οποίες µπορούν να
βρεθούν οι είσοδοι Τ0, Τ1 των δύο FFs. Στο σηµείο αυτό, και πριν συνεχίσουµε στον
προσδιορισµό της επόµενης κατάστασης (δεξιό τµήµα του Πίνακα 2.4),
καταγράφουµε τις τιµές εξόδου της Υ. Οι τιµές της προκύπτουν από τις αντίστοιχες
τιµές της εξωτερικής εισόδου και της παρούσας κατάστασης. Τέλος, προσδιορίζουµε
την επόµενη κατάσταση από την παρούσα κατάσταση και τις τιµές των εισόδων Τ0, Τ1
των FFs µε βάση τον πίνακα λειτουργίας τους (βλ. Σχήµα 1.23δ).
14
Πίνακας 2.4 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.9.
ΕΙΣΟ∆ΟΣ
& ΕΠΟΜΕΝΗ
ΕΙΣΟ∆ΟΙ ΕΞΟ∆ΟΣ
ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΚΑΤΑΣΤΑΣΗ
Χ Q1 Q0 T1 T0 Υ Q1 Q0
0 0 0 1 1 0 1 1
0 0 1 0 1 1 0 0
0 1 0 1 0 1 0 0
0 1 1 0 0 0 1 1
1 0 0 1 0 1 1 0
1 0 1 0 0 0 0 1
1 1 0 1 1 0 0 1
1 1 1 0 1 1 1 0
0/0
0/0
00 11
0/1
0/1 1/1
1/1
01 10
1/0
1/0
15
Άσκηση Αυτοαξιολόγησης 2 / Κεφάλαιο 2
D2 Q2
CLK CLK
Q'2
D1 Q1 Y
CLK
Q'1
D0 Q0
CLK
Q'0
Σύνοψη Ενότητας
Στην ενότητα αυτή µελετήσαµε τον τρόπο ανάλυσης ΣΑΚ. Είδαµε ότι:
• Η ανάλυση ενός ΣΑΚ γίνεται σε τρία βήµατα ως εξής:
Α1: Γράφουµε τις συναρτήσεις εισόδου των FFs.
Α2: Καταστρώνουµε τον πίνακα καταστάσεων.
Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.
• Ο πίνακας καταστάσεων αποτελείται από τρία ή τέσσερα τµήµατα, ανάλογα µε το αν
το προς ανάλυση κύκλωµα έχει ή δεν έχει εξωτερικές εξόδους.
• Το πλήθος των γραµµών (δυνατών περιπτώσεων) του πίνακα καταστάσεων εξαρτάται
από το πλήθος των FFs του κυκλώµατος και το πλήθος των εξωτερικών εισόδων.
Έτσι, αν ένα ΣΑΚ αποτελείται από n FFs (n καταστάσεις) και m εξωτερικές είσοδοι
εφαρµόζονται σ’ αυτό, το πλήθος των δυνατών συνδυασµών, που θα περιέχει ο
πίνακας καταστάσεων, θα ισούται µε 2n+m.
• Το διάγραµµα καταστάσεων αποτελεί µια εποπτική αναπαράσταση του πίνακα
καταστάσεων. Με άλλα λόγια, το διάγραµµα και ο πίνακας καταστάσεων ενός
κυκλώµατος παρέχουν την ίδια πληροφορία.
16
• Οι ωρολογιακοί παλµοί δεν περιλαµβάνονται στον πίνακα ή στο διάγραµµα
καταστάσεων ενός κυκλώµατος.
• Ο τρόπος ενεργοποίησης (πυροδότησης) των FFs δεν διαφοροποιεί την ανάλυση ενός
ΣΑΚ και, όπως αναφέρθηκε στο προηγούµενο σηµείο, δεν δείχνεται στον πίνακα ή
στο διάγραµµα καταστάσεων. Ο τρόπος ενεργοποίησης, δηλαδή ακµοπυροδοτούµενο
(θετικά / αρνητικά) ή παλµοπυροδοτούµενο, φαίνεται κατά τη σχεδίαση των
κυµατοµορφών εισόδου / εξόδου του ΣΑΚ.
• Για την ανάλυση ενός ΣΑΚ είναι απαραίτητοι οι πίνακες λειτουργίας (Σχήµα 1.23)
των FFs του κυκλώµατος.
• Το τµήµα του πίνακα καταστάσεων, το οποίο περιέχει τις τιµές των εξωτερικών
εξόδων ενός ΣΑΚ, συµπληρώνεται µε βάση τις τιµές της παρούσας κατάστασης και
των πιθανών εξωτερικών εισόδων, δηλαδή τις τιµές του πρώτου τµήµατος του πίνακα
καταστάσεων και όχι µε βάση τις τιµές της επόµενης κατάστασης.
17
ΕΝΟΤΗΤΑ 2.2. ΣΧΕ∆ΙΑΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ
ΚΥΚΛΩΜΑΤΩΝ
18
ότι το FFs τύπου JK έχει τις περισσότερες περιπτώσεις συνθηκών αδιαφορίας στις
εισόδους του έναντι των άλλων. Επίσης, παρατηρούµε ότι η είσοδος D του FF τύπου D
είναι ίδια µε την επόµενη κατάσταση Qt+1 αυτού, όπως άλλωστε ήταν αναµενόµενο, αφού
για να γίνει η επόµενη κατάσταση 0 ή 1, πρέπει η είσοδος να είναι 0 ή 1 αντίστοιχα,
ανεξάρτητα από το ποια είναι η παρούσα κατάσταση. Οι πίνακες διέγερσης είναι
απαραίτητοι για τη σχεδίαση ΣΑΚ κατ’ αναλογία µε τους πίνακες λειτουργίας των FFs,
οι οποίοι χρησιµοποιούνται για την ανάλυση ΣΑΚ.
SR Flip-Flop JK Flip-Flop
Qt Qt+1 S R Qt Qt+1 J K
0 0 0 Χ 0 0 0 Χ
0 1 1 0 0 1 1 X
1 0 0 1 1 0 X 1
1 1 X 0 1 1 X 0
D Flip-Flop T Flip-Flop
Qt Qt+1 D Qt Qt+1 T
0 0 0 0 0 0
0 1 1 0 1 1
1 0 0 1 0 1
1 1 1 1 1 0
Παράδειγµα 4 / Κεφάλαιο 2
Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων και µε βάση αυτό τον αντίστοιχο
πίνακα καταστάσεων.
19
00 11
01 10
Τα τµήµατα της παρούσας και επόµενης κατάστασης του Πίνακα καταστάσεων 2.5
εξάγονται απ' ευθείας από το διάγραµµα καταστάσεων του Σχήµατος 2.13. Το τρίτο
τµήµα όµως του πίνακα καταστάσεων, το οποίο περιέχει τις αντίστοιχες τιµές των
εισόδων J, K των FFs, συµπληρώνεται γραµµή προς γραµµή µε τη βοήθεια του πίνακα
διέγερσης του Σχήµατος 2.12. για το JK FF. Έτσι, αν το FF1 βρίσκεται κατά την
παρούσα χρονική στιγµή στην κατάσταση 0 και θέλουµε να παραµείνει σ' αυτή (επόµενη
κατάσταση Q1=0), τότε οι είσοδοι J, K αυτού πρέπει να είναι 0, Χ αντίστοιχα (βλ. πρώτη
γραµµή και πρώτη στήλη των τµηµάτων του πίνακα καταστάσεων). Αν το FF1 βρίσκεται
στο 0 και θέλουµε να µεταβεί στο 1, τότε οι είσοδοι J, K πρέπει να είναι 1, Χ αντίστοιχα
(βλ. δεύτερη γραµµή και πρώτη στήλη των τµηµάτων του πίνακα καταστάσεων).
Συνεχίζουµε µε τον ίδιο τρόπο για να συµπληρώσουµε και τις υπόλοιπες γραµµές και
στήλες του τµήµατος του πίνακα καταστάσεων, που δίνει τις εισόδους των FFs.
Από το τρίτο τµήµα του πίνακα καταστάσεων µπορούµε άµεσα να πούµε ότι για τη
συγκεκριµένη περίπτωση η είσοδος J1=Q΄1Q0, αφού µόνο γι' αυτόν το συνδυασµό της
παρούσας κατάστασης το J1=1 (θεωρώντας ότι X=0). Όµοια θα µπορούσαµε να
γράψουµε ότι: Κ1=Q1Q΄0, J0=Q΄1Q΄0, Κ0=Q1Q0, θεωρώντας πάντοτε ότι X=0. Οι
συναρτήσεις που µόλις προσδιορίσαµε είναι σωστές, δεν είναι όµως και οι πλέον απλές,
αφού δεν αξιοποιήσαµε τις συνθήκες αδιαφορίας! Ας προσπαθήσουµε να το κάνουµε
20
αυτό, χρησιµοποιώντας χάρτες Karnaugh, όπως δείχνεται στο Σχήµα 2.14 για καθεµία
είσοδο των FFs χωριστά, µε βάση τον πίνακα καταστάσεων.
Q0
Q0 Q0 Q0 Q0
Q1 0 1 Q1 0 1 Q1 0 1 Q1 0 1
0 1 0 x x 0 1 x 0 x
Q1 1 x x 1 1 1 x 1 x 1
J1 = Q0 K1 = Q0′ J1 = Q1′ K 0 = Q1
Σχήµα 2.14 Χρήση του χάρτη Karnaugh στην απλοποίηση των συναρτήσεων εισόδου του Πίνακα 2.5.
∆εν είναι δύσκολο να δούµε ότι οι απλοποιηµένες συναρτήσεις είναι J1=Q0, K1=Q0’,
J0=Q1’ και K0=Q1. Παρατηρούµε ότι η αξιοποίηση των συνθηκών αδιαφορίας µας
οδήγησε σε σηµαντικά απλούστερες συναρτήσεις εισόδου, αφού δεν απαιτείται καµία
επιπλέον πύλη για την υλοποίησή τους.
Έχοντας προσδιορίσει τις συναρτήσεις εισόδου των FFs, προχωρούµε εύκολα στη
σχεδίαση του ζητούµενου λογικού κυκλώµατος, όπως δείχνεται στο Σχήµα 2.15.
J1 Q1 J0 Q0
CLK • FF1 FF0
K1 Q1' K0 Q0'
Ας συνεχίσουµε τη µελέτη της σχεδίασης ΣΑΚ µε την περίπτωση κατά την οποία το
ζητούµενο κύκλωµα ελέγχεται εξωτερικά από κάποια είσοδο. Θα διαπιστώσουµε και
πάλι ότι δεν παρουσιάζεται ιδιαίτερη δυσκολία στη σχεδίαση τέτοιων κυκλωµάτων, όπως
άλλωστε είδαµε κατά την ανάλυσή τους στην υποενότητα 2.1.2.
Παράδειγµα 5 / Κεφάλαιο 2
21
(απαρίθµηση σύµφωνα µε τον κώδικα Gray) ανάλογα µε το αν η είσοδος X είναι 0 ή 1
αντίστοιχα.
Καταλαβαίνουµε ότι το κύκλωµά µας θα πρέπει να αποτελείται από δύο FFs τύπου JK,
αφού και στις δύο περιπτώσεις αυτό θα πρέπει να διατρέχει τις καταστάσεις 0, 1, 2, 3
αλλά µε διαφορετική σειρά. Άρα, αρχίζουµε και πάλι τη σχεδίαση ακολουθώντας τα
γνωστά τρία βήµατα σχεδίασης.
Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων και από αυτό, τον πίνακα
καταστάσεων.
00 11
0 1 1 1 1 0
01 10
0
Σχήµα 2.16 ∆ιάγραµµα καταστάσεων του Παραδείγµατος 5 / Κεφάλαιο 2
22
Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου των FFs.
Για να απλοποιήσουµε τις συναρτήσεις των εισόδων J1, K1, J0, K0 των FFs,
χρησιµοποιούµε χάρτες Karnaugh, όπως δείχνεται στο Σχήµα 2.17. Σ' αυτούς
απεικονίζονται οι τιµές της εξωτερικής εισόδου και της παρούσας κατάστασης (πρώτο
τµήµα του πίνακα καταστάσεων) και η αντίστοιχη στήλη τιµών κάθε εισόδου (τρίτο
τµήµα του πίνακα καταστάσεων).
Q0
Q1Q0 Q1Q0
X 00 01 11 10 X 00 01 11 10
0 1 x x 0 x x 1
x 1 x x x x 1 x x 1
J1 = Q0 K1 = X ′Q0 + XQ0′ = X ⊕ Q
Q1
Q1Q0 Q1Q0
X X
00 01 11 10 00 01 11 10
0 1 x x 1 0 x 1 1 x
1 1 x x 1 x 1 x
K 0 = X ′ + Q1
J 0 = X ′ + Q1′
Σχήµα 2.17 Χάρτες Karnaugh για την απλοποίηση των συναρτήσεων εισόδου του Πίνακα 2.6.
Γνωρίζοντας πλέον τις συναρτήσεις της κάθε εισόδου των FFs, προχωρούµε στην
τελική σχεδίαση του λογικού κυκλώµατος του Σχήµατος 2.18, που είναι και το ζητούµενο
κύκλωµα.
J1 Q1 J0 Q0
CLK • FF1 FF0
X • K1 Q1' K0 Q0'
•
23
∆ραστηριότητα 1 / Κεφάλαιο 2
Ποιο κύκλωµα µε D FFs θετικής ακµής πυροδότησης θα προτείνατε εσείς για την
περίπτωση του Παραδείγµατος 5 / Κεφάλαιο 2, δηλαδή όταν X=0 να απαριθµεί κανονικά
από το 0 µέχρι το 3, ενώ όταν X=1 να απαριθµεί σύµφωνα µε τον κώδικα Gray;
Η περίπτωση ανάλυσης ή σχεδίασης ΣΑΚ µε FF τύπου D είναι από τις πλέον απλές ως
προς την κατανόησή τους, αφού στους πίνακες καταστάσεων αυτών το τµήµα των
εισόδων θα µπορούσε να παραληφθεί, γιατί αυτό είναι ίδιο µε εκείνο της επόµενης
κατάστασης. Παρά το γεγονός αυτό, εµείς στη συνέχεια θα εξακολουθήσουµε να το
δείχνουµε για λόγους οµοιοµορφίας µε τους υπόλοιπους τύπους FFs. Τα κυκλώµατα, που
προκύπτουν, είναι συνήθως πολύ πιο πολύπλοκα, αφού διαθέτουµε µία µόνο είσοδο για
την υλοποίηση όλων των λειτουργιών που θα θέλαµε. Ας επαληθεύσουµε όλα αυτά,
σχεδιάζοντας εξαρχής το αντίστοιχο κύκλωµα του Σχήµατος 2.18 µε FF τύπου D.
Το διάγραµµα καταστάσεων είναι ίδιο µε εκείνο του Σχήµατος 2.16, όπως ίδια είναι
και τα δύο πρώτα τµήµατα του πίνακα καταστάσεων (βλ. Πίνακα 2.6 και 2.7). Το τρίτο
τµήµα του Πίνακα 2.7 δίνει τις εισόδους των D FFs. Όπως ήταν αναµενόµενο, αυτό είναι
ίδιο µε εκείνο της επόµενης κατάστασης (δεύτερο τµήµα του πίνακα καταστάσεων).
24
Για την καλύτερη απλοποίηση των συναρτήσεων εισόδου D1, D0, θα
χρησιµοποιήσουµε χάρτες Karnaugh, όπως δείχνεται στο Σχήµα 2.19.
Q1 Q1
Q1Q0 Q1Q0
X 00 01 11 10 X 00 01 11 10
0 1 1 0 1 1
x 1 1 1 x 1 1 1
Q0 Q0
D1 Q1 D0 Q0 •
FF 1 FF 0
CLK •
Q 1' • Q 0'
Παρατηρούµε ότι το λογικό κύκλωµα που προέκυψε είναι πολύ πιο πολύπλοκο,
δηλαδή χρειάζεται περισσότερες πύλες σε σχέση µε το αντίστοιχο του Σχήµατος 2.18.
Μην θορυβηθείτε, αν δεν βρήκατε το ίδιο κύκλωµα. Αυτό δεν σηµαίνει κατ' ανάγκη ότι
έχετε κάνει κάποιο λάθος, αφού το τελικό κύκλωµα εξαρτάται από το στάδιο
απλοποίησης των συναρτήσεων εισόδου κατά το βήµα Σ2. Για να σιγουρευτείτε ότι το
κύκλωµα που σχεδιάσατε ανταποκρίνεται στις προδιαγραφές, αναλύστε το σύµφωνα µε
αυτά που µάθαµε στην ενότητα 2.1.
25
2.2.1. ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ Α∆ΙΑΦΟΡΕΣ
ΚΑΤΑΣΤΑΣΕΙΣ
Μέχρι τώρα ασχοληθήκαµε µε τη σχεδίαση ΣΑΚ, τα οποία µε κάθε ωρολογιακό
παλµό διατρέχουν όλες τις δυνατές καταστάσεις, µε διαφορετική ίσως σειρά. Για
παράδειγµα, είδαµε κυκλώµατα, τα οποία χρησιµοποιούσαν δύο FFs και µε κάθε παλµό
"περνούσαν" από τις καταστάσεις 0, 1, 2, 3 ή 0, 1, 3, 2. Τι γίνεται, όµως, στην περίπτωση
που κάποιες από τις δυνατές καταστάσεις ενός κυκλώµατος δεν χρησιµοποιούνται;
Κλασσικό παράδειγµα τέτοιας περίπτωσης είναι το κύκλωµα, το οποίο µπορεί να µετρά
δεκάδες, δηλαδή µε κάθε ωρολογιακό παλµό να µετρά από το 0 µέχρι και το 9 και πάλι
από την αρχή. Ας εξετάσουµε αναλυτικά αυτή την περίπτωση σχεδίασης µέσα από το
επόµενο παράδειγµα.
Παράδειγµα 6 / Κεφάλαιο 2
15 14
13
0 12
1
11
2
10
3
9
4
5
6 8
7
26
Πίνακας 2.8 Πίνακας καταστάσεων του Παραδείγµατος 6 / Κεφάλαιο 2
27
Q1Q0 Q1 Q1Q0 Q1Q0
Q1Q0
Q3Q2 00 01 11 10 Q3Q2 00 01 11 10 Q3Q2 00 01 11 10
Q3Q2 00 01 11 10
00 00 1 00 1 x x
00 1 x x 1
01 1 01 x x x x 01 1 x x
Q2 01 1 x x 1
11 11 x 11
x x x x x x x x x x x
Q3 11 x x x x
10 x x x x 10 x x 10 x x
10 1 x x x
Q0
J 3 = Q0 Q1Q2 J 2 = Q0 Q1 J 1 = Q0 Q3′ J0 = 1
01 x x x x 01 1 01 x x 1
01 x 1 1 x
11 x x x x 11 x x x x 11 x x x x
11 x x x x
10 1 x x 10 x x x x 10 x x x x
10 x 1 x x
K 3 = Q0 K 2 = Q0 Q1 K1 = Q0 Q3′
K0 = 1
Σχήµα 2.22 Χάρτες Karnaugh για την απλοποίηση των συναρτήσεων εισόδου
Έχοντας προσδιορίσει τις συναρτήσεις εισόδου των FFs, προχωρούµε στη σχεδίαση
του ζητούµενο ΣΑΚ, όπως αυτό δείχνεται στο Σχήµα 2.23.
Vcc
J3 Q3 J2 Q2 • J1 Q1 • J0 Q0 •
• •
Στο σηµείο αυτό η διαδικασία της σχεδίασης έχει ολοκληρωθεί. Υπάρχει, όµως, ένα
ερώτηµα, το οποίο πρέπει να απαντηθεί. Μήπως η ύπαρξη των αδιάφορων καταστάσεων
και η συνεπακόλουθη αυθαίρετη αξιοποίησή τους κατά τη διαδικασία της απλοποίησης,
δηµιούργησε κάποια προβλήµατα στο κύκλωµα και αυτό δεν λειτουργεί, όπως θα
θέλαµε; Ας γίνουµε πιο σαφείς. Μήπως οι αποφάσεις, που πήραµε αυθαίρετα για κάποια
Χ ίσα µε 1, οδήγησαν το κύκλωµα σε µη επιθυµητή λειτουργία, όπως για παράδειγµα σ'
ένα κύκλο απαρίθµησης 11, 12, 13, 14, 11, 12, 13, 14, 11, ... ; Σε µια τέτοια περίπτωση το
28
κύκλωµα ποτέ δεν "φτάνει" σε µια από τις ζητούµενες καταστάσεις και εγκλωβίζεται σε
ένα µη επιθυµητό βρόχο απαρίθµησης.
Για να απαντήσουµε στο ερώτηµα αυτό, θα πρέπει να ελέγξουµε τη λειτουργία του
κυκλώµατος. Άρα απαιτείται να αναλύσουµε το κύκλωµα, που µόλις σχεδιάσαµε, και
έτσι να επιβεβαιώσουµε την ορθότητα της λειτουργίας του. Στην περίπτωση που αυτό δεν
συµβαίνει, τότε θα πρέπει να επαναλάβουµε τη διαδικασία της σχεδίασης αυτού,
αρχίζοντας και πάλι από το βήµα Σ1, αλλά όντας πιο αυστηροί και σαφείς στις
προδιαγραφές µας. Συνεπώς, κατά τη σχεδίαση ΣΑΚ, τα οποία έχουν αδιάφορες
καταστάσεις, επιβάλλεται ένα επιπλέον βήµα, αυτό του ελέγχου της ορθής λειτουργίας
του κυκλώµατος.
Ο έλεγχος αυτός γίνεται, όπως µόλις αναφέραµε, µε την ανάλυση του κυκλώµατος του
Σχήµατος 2.23, που µόλις σχεδιάσαµε. Ακολουθούµε, εποµένως, τα βήµατα της
ανάλυσης της ενότητας 2.1.
Βασιζόµενοι στις συναρτήσεις εισόδου και στις τιµές της παρούσας κατάστασης
προσδιορίζουµε την επόµενη κατάσταση του κυκλώµατος, όπως δείχνεται στον Πίνακα
2.9.
29
Για τις καταστάσεις 0 µέχρι και 9 ο πίνακας αυτός είναι ίδιος µε τον Πίνακα 2.8, όπως
είναι άλλωστε αναµενόµενο. Η διαφοροποίηση αρχίζει από την κατάσταση 10 και µετά.
Το αντίστοιχο διάγραµµα καταστάσεων θα µας καταδείξει τον ακριβή τρόπο λειτουργίας
του κυκλώµατος και γι' αυτό προχωρούµε άµεσα στη σχεδίασή του.
15 14
0
13
1
12
2
11
3
10
4
9
5
8
6
7
Αν βρεθεί σε µία από τις αδιάφορες καταστάσεις, τότε µε τον πρώτο ωρολογιακό παλµό
µεταβαίνει στην αµέσως επόµενη κατάσταση, και µε το δεύτερο παλµό µεταβαίνει σε µια
από τις επιθυµητές (έγκυρες) καταστάσεις και συνεχίζει πλέον τον κύκλο κανονικά. Για
παράδειγµα, αν βρεθεί στη κατάσταση 10, µεταβαίνει στην 11 και ακολούθως στην 6,
οπότε και συνεχίζει. ∆ηλαδή αρχίζοντας από την κατάσταση 10, θα έχουµε την
αλληλουχία καταστάσεων: 10, 11, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, ... Παρόµοια
συµβαίνουν και όταν το κύκλωµα βρεθεί σε µια από τις υπόλοιπες µη επιτρεπτές
καταστάσεις. Το αργότερο µετά από δύο ωρολογιακούς παλµούς βρίσκεται σε µια από τις
επιτρεπτές (έγκυρες) καταστάσεις, οπότε και συνεχίζει κανονικά. Αυτού του είδους τα
κυκλώµατα λέµε ότι έχουν αυτόµατη εκκίνηση (self-starting) και αυτόµατη διόρθωση
(self-correcting). Θα γνωρίσουµε αµέσως τώρα κυκλώµατα για τα οποία δεν συµβαίνει
αυτό. Σε µια τέτοια περίπτωση θα πρέπει να παρέµβουµε στη λειτουργία του κυκλώµατος
και να τη διορθώσουµε, επαναλαµβάνοντας τµήµα ή και όλη τη διαδικασία της
σχεδίασης αυτού. Στις περιπτώσεις που εξετάζουµε, έχουµε θεωρήσει ότι τα FFs που
χρησιµοποιούµε δεν διαθέτουν ασύγχρονες (άµεσες) εισόδους εκκαθάρισης ( CLEAR ) ή
30
καθορισµού υψηλής στάθµης ( PRESET ). Αν διαθέτουν, τότε µπορούµε να τις
αξιοποιήσουµε, για να πετύχουµε την επιθυµητή εκκίνηση του κυκλώµατος.
∆ραστηριότητα 2 / Κεφάλαιο 2
0 7
1 6
2 5
3 4
31
Πίνακας 2.10 Πίνακας καταστάσεων που αντιστοιχεί στο διάγραµµα του Σχήµατος 2.25.
Από το τµήµα των εισόδων του πίνακα καταστάσεων και µε αξιοποίηση των
συνθηκών αδιαφορίας, εξάγεται άµεσα ότι Τ0=0, Τ1=1. Η είσοδος Τ2 προσδιορίζεται µε
βάση το χάρτη Karnaugh του Σχήµατος 2.26 ίση µε Q1, δηλαδή T2=Q1.
Q 1Q 0 Q1
Q2 00 01 11 10
0 x 1 x
Q2 1 x 1 x
Q0
T2 = Q1
Σχήµα 2.26 Χάρτης Karnaugh για την απλοποίηση της συνάρτησης Τ2
32
Vcc
T2 Q2 T1 Q1 T0 Q0
CLK
• •
Από τον πίνακα 2.11 προκύπτει το διάγραµµα καταστάσεων του Σχήµατος 2.28. Είναι
φανερό ότι το κύκλωµα παρουσιάζει πρόβληµα! Αν βρεθεί σε µία από τις µη έγκυρες
καταστάσεις 0 ή 2 ή 4 ή 6, τότε εγκλωβίζεται στον κύκλο 0, 2, 4, 6, 0, 2, 4, 6, 0, 2, ...
0
7
1
2
6
3
4 5
Σχήµα 2.28 ∆ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.27.
33
Πίνακας 2.11 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.28
Για να λυθεί το πρόβληµα αυτό, θα πρέπει να παρέµβουµε στο βήµα Σ1 της σχεδίασης,
αναγκάζοντας το κύκλωµα να µεταβεί σε µία από τις έγκυρες καταστάσεις. Θα
µπορούσαµε, για παράδειγµα, να αναγκάσουµε το κύκλωµα µετά την κατάσταση 0 να
µεταβεί στην κατάσταση 1. Με αυτό τον τρόπο "σπάµε" τον µη έγκυρο κύκλο 0, 2, 4, 6,
0, 2, ... Με βάση το νέο αυτό δεδοµένο, επαναλαµβάνουµε τη διαδικασία της σχεδίασης
από την αρχή. Έτσι έχουµε:
Βήµα Σ΄1: Σχεδιάζουµε το διάγραµµα και τον πίνακα καταστάσεων, όπως δείχνεται
στο Σχήµα 2.29 και στον Πίνακα 2.12. αντίστοιχα.
0 7
1 6
2 5
3 4
34
Βήµα Σ΄2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου µε τη βοήθεια
χαρτών Karnaugh, όπως δείχνεται στο Σχήµα 2.30.
Q0 Q0
Q1Q0 Q1Q0 Q1Q0
Q2 00 01 11 10 Q2 00 01 11 10 Q2 00 01 11 10
0 0 1 x 0 0 1 1 x 0 1 0 0 x
Q2 1 x 1 x Q2 1 x 1 1 x 1 x 0 0 x
Q1 Q1
T2 = Q1 T1 = Q0 T0 = Q0′
Σχήµα 2.30 Απλοποίηση των συναρτήσεων εισόδου του Πίνακα 2.12.
T2 Q2 T1 Q1 T0 Q0
CLK
• •
Σχήµα 2.31 Λογικό κύκλωµα που αντιστοιχεί στο διάγραµµα του Σχήµατος 2.29.
Στο Σχήµα 2.31 δείχνεται το λογικό κύκλωµα, το οποίο αντιστοιχεί στο διορθωµένο
διάγραµµα καταστάσεων του Σχήµατος 2.29. Έτσι ολοκληρώνεται η σχεδίαση του
ζητούµενου κυκλώµατος. ∆ιαπιστώσαµε ότι στην περίπτωση αυτή δεν σταθήκαµε τόσο
"τυχεροί", όπως στην περίπτωση του Παραδείγµατος 6 / Κεφάλαιο 2, αφού εδώ
χρειάστηκε να επαναλάβουµε τη σχεδίαση δύο φορές. Αυτό συνέβη, γιατί οι συνθήκες
αδιαφορίας, αν και βοήθησαν στη γρήγορη και εύκολη απλοποίηση των συναρτήσεων
εισόδου, µας οδήγησαν σε ένα κλειστό κύκλο µη έγκυρων καταστάσεων, από τον οποίο
δεν µπορούσαµε να ξαναβγούµε. Θα έπρεπε να τονίσουµε, όµως, και κάτι ακόµα σχετικά
µε το κύκλωµα του Σχήµατος 2.31. Το γεγονός ότι αυτό δεν είναι και το µοναδικό σωστό
κύκλωµα. Γι' αυτό µην απογοητευθείτε, αν κατά την ολοκλήρωση της ∆ραστηριότητας 2
/ Κεφάλαιο 2 καταλήξατε σε κάποιο κύκλωµα διαφορετικό από το παραπάνω. Το
κύκλωµα εξαρτάται από τις απλοποιηµένες συναρτήσεις εισόδου. Αν εσείς καταλήξατε
σε συναρτήσεις διαφορετικές από αυτές του Σχήµατος 2.30, τότε είναι φυσικό ότι και το
κύκλωµά σας θα είναι διαφορετικό.
35
Άσκηση Αυτοαξιολόγησης 4 / Κεφάλαιο 2
Σύνοψη Ενότητας
Στην ενότητα αυτή µελετήσαµε τη διαδικασία σχεδίασης ΣΑΚ. Είδαµε ότι:
• Η σχεδίαση ΣΑΚ γίνεται σε τρία βήµατα ως εξής:
Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων και καταστρώνουµε τον
αντίστοιχο πίνακα καταστάσεων.
Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου των FFs.
Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα.
Εξυπακούεται ότι, πριν αρχίσουµε τη διαδικασία της σχεδίασης, έχουµε ήδη
προσδιορίσει το πλήθος των FFs που θα απαιτηθούν, καθώς και τον τύπο τους.
• Στην περίπτωση που έχουµε συνθήκες αδιαφορίας, πρέπει να κάνουµε ακόµη ένα
βήµα, για να ολοκληρώσουµε τη σχεδίαση του κυκλώµατος. Αυτό είναι το βήµα
Σ4 του ελέγχου της ορθής λειτουργίας του κυκλώµατος που σχεδιάσαµε.
• Ο πίνακας καταστάσεων αποτελείται από 2n+m γραµµές (δυνατές περιπτώσεις),
όπου n το πλήθος των FFs και m το πλήθος των εξωτερικών εισόδων του
κυκλώµατος.
• Οι πίνακες διέγερσης των FFs είναι απαραίτητοι για τη σχεδίαση ΣΑΚ. Οι πίνακες
αυτοί δίνουν τις τιµές των εισόδων των FFs για κάθε δυνατή περίπτωση παρούσας-
επόµενης κατάστασης αυτού.
• Η χρήση FF τύπου JK οδηγεί σε κυκλώµατα µε µικρότερο αριθµό πυλών σε σχέση
µε FFs τύπου SR, T, D, γιατί τα πρώτα έχουν περισσότερες συνθήκες αδιαφορίας
στους πίνακες διέγερσης, µε συνέπεια να πετυχαίνουµε καλύτερα απλοποίηση των
συναρτήσεων εισόδου του τελικού κυκλώµατος.
• Ο τύπος πυροδότησης των FFs δεν υπεισέρχεται στη διαδικασία σχεδίασης των
ΣΑΚ.
36
ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ
• Η ανάλυση και η σχεδίαση ΣΑΚ είναι διαδικασίες αντίστροφες η µία της άλλης.
ΛΟΓΙΚΟ
ΚΥΚΛΩΜΑ
ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟ∆ΟΥ
Σ
Α
Χ
Ν
Ε
Α
∆
Λ
ΠΙΝΑΚΑΣ ΚΑΤΑΣΤΑΣΕΩΝ Ι
Υ
Α
Σ
Σ
Η
Η
∆ΙΑΓΡΑΜΜΑ ΚΑΤΑΣΤΑΣΕΩΝ
ΠΕΡΙΓΡΑΦΗ
ΛΕΙΤΟΥΡΓΙΑΣ
• Οι πίνακες λειτουργίας των FFs είναι απαραίτητοι για την ανάλυση των ΣΑΚ, ενώ
οι πίνακες διέγερσης των FFs απαιτούνται για τη σχεδίαση αυτών.
• Ο πίνακας καταστάσεων ενός ΣΑΚ αποτελείται από 2n+m γραµµές (δυνατές
περιπτώσεις), όπου n το πλήθος των FFs του κυκλώµατος και m ο αριθµός των
εξωτερικών εισόδων αυτού.
• Ο τύπος πυροδότησης των FFs δεν παίζει ρόλο στην ανάλυση ή σχεδίαση ενός
ΣΑΚ.
37
ΒΙΒΛΙΟΓΡΑΦΙΑ
ΕΛΛΗΝΟΓΛΩΣΣΗ
Millman J., Χαλκιάς Χ., Oλοκληρωµένη Ηλεκτρονική, Τόµος Β, Εκδόσεις ΤΕΕ, 1972.
ΞΕΝΟΓΛΩΣΣΗ
Daniels J. D., Digital Design from Zero to One, J. Wiley & Sons, 1996.
Greenfield J. D., Practical Digital Design Using ICs, J. Wiley & Sons, 1977.
Tocci R. J., Widmer N. S., Digital Systems: Principles and Applications, Prentice Hall,
1998.
Daniels J. D., Digital Design from Zero to One, J. Wiley & Sons, 1996.
Greenfield J. D., Practical Digital Design Using ICs, J. Wiley & Sons, 1977.
Στο Κεφάλαιο 6 του βιβλίου αυτού θα βρείτε µία καλή παρουσίαση των διαδικασιών
ανάλυσης και σχεδίασης σύγχρονων ακολουθιακών κυκλωµάτων. Είναι από τα λίγα
συγγράµµατα, όπου παρουσιάζoνται µε µεθοδικότητα οι δύο αυτές διαδικασίες.
38
ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ
Παρόλο που το κύκλωµα περιέχει τρία FFs και αρκετές πύλες κάνοντάς το σχετικά
πολύπλοκο, διαπιστώνουµε ότι, ακολουθώντας πιστά τα τρία βήµατα της ανάλυσης ΣΑΚ
Α1, Α2, Α3, καταλήγουµε πολύ εύκολα στην ανάλυσή του. Έτσι έχουµε:
J0 = K0 = (Q1Q2)΄ J1 = Q0 J2 = Q0Q1
K1 = Q0 + Q1Q2 K2 = Q0Q1 + Q2Q1 = (Q0 + Q2)Q1
Από το διάγραµµα καταστάσεων γίνεται φανερό ότι πρόκειται για ένα κύκλωµα
απαρίθµησης παλµών, µε κύκλο απαρίθµησης 7 (modulo-7). Με κάθε παλµό του
ρολογιού το κύκλωµα αλλάζει κατάσταση διατρέχοντας τις 7 διαφορετικές τιµές 0, 1,
2, 3, 4, 5, 6, 0, 1, 2, ... Αν κατά την έναρξη της λειτουργίας του ή λόγω θορύβου
βρεθεί στην κατάσταση 7, δηλαδή Q2Q1Q0 = 111, τότε µε τον πρώτο ενεργό παλµό
µεταβαίνει στην κατάσταση 1 και συνεχίζει πλέον τον κύκλο απαρίθµησης.
39
111
000
110
001
101
010
011 100
D0 = Q2 ΄ D1 = Q0 D2 = Q0 Q1 Q2΄
Γράφουµε επίσης τη συνάρτηση της εξόδου.
Υ = Q0 Q1 Q2΄
40
Πίνακας 2.14 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.11.
Q2 Q1 Q0 D2 D1 D0 Υ Q2 Q1 Q0
0 0 0 0 0 1 0 0 0 1
0 0 1 0 1 1 0 0 1 1
0 1 0 0 0 1 0 0 0 1
0 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 0 0 1 0
1 1 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 1 0
/0 /0
/0
/0 010 /1 /0 110
/0
41
µεταβεί στην κατάσταση 2 και θα συνεχίσει τον κύκλο, δηλαδή 5, 2, 1, 3, 7, 2, 1, 3, 7,
2, ...
Η κυµατοµορφή της εξόδου Υ στη µόνιµή της κατάσταση, δηλαδή µετά τους
πιθανούς ένα ή δύο πρώτους κύκλους, θα είναι όπως στο Σχήµα 2.34, όπου φαίνεται
ότι για τρεις συνεχόµενους κύκλους του ρολογιού θα βρίσκεται στο 0 και για ένα
κύκλο στο 1.
CLK
Σχήµα 2.34 Κυµατοµορφές CLK και Υ του κυκλώµατος του Σχήµατος 2.11.
Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων και από αυτό τον πίνακα
καταστάσεων.
00 11
01 10
Σχήµα 2.35 ∆ιάγραµµα καταστάσεων της Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 2
42
Τα πρώτα δύο τµήµατα του πίνακα καταστάσεων είναι ίδια µε εκείνα του Πίνακα 2.5,
αφού αντικατοπτρίζουν το διάγραµµα καταστάσεων του Σχήµατος 2.35, το οποίο είναι
ίδιο µε εκείνο του Σχήµατος 2.13. Το τρίτο τµήµα του πίνακα καταστάσεων προέκυψε µε
βάση τις τιµές της παρούσας και επόµενης κατάστασης κάθε FF και τον αντίστοιχο
πίνακα διέγερσης του Σχήµατος 2.12 για το Τ FF.
Η σχεδίαση του κυκλώµατος γίνεται εύκολα, αφού γνωρίζουµε πλέον τις συναρτήσεις
των εισόδων καθενός FF (Σχήµα 2.36).
• T1 Q1 T0 Q0
CLK • FF 1 FF 0
Q 1' Q 0'
43
0 7
1 6
2 5
3 4
Υπενθυµίζουµε και πάλι ότι το τµήµα των εισόδων του πίνακα καταστάσεων είναι ίδιο
µε το τµήµα της παρούσας κατάστασης, αφού πρόκειται για FF τύπου D.
Η απλοποίηση γίνεται µε τη βοήθεια των χαρτών Karnaugh του Σχήµατος 2.38. Για
την είσοδο D0 δεν χρειάστηκε να χρησιµοποιήσουµε χάρτη, αφού είναι προφανές από το
τµήµα των εισόδων του πίνακα καταστάσεων ότι D0 = 1.
Q1 Q 0 Q1 Q1 Q 0 Q1
Q2 00 01 11 10 Q2 00 01 11 10
0 1 x 0 1 x
Q2 1 x 1 x Q2 1 x 1 x
Q0 Q0
D 2 = Q 2 Q1′ + Q 2′ Q1 = Q 2 ⊕ Q1 D1 = Q1′Q 0
Σχήµα 2.38 Απλοποίηση των συναρτήσεων εισόδου D2, D1
44
Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα (Σχήµα 2.39).
V cc
D2 Q2 D1 Q1 D0 Q0
Σχήµα 2.39 Λογικό κύκλωµα που αντιστοιχεί στο διάγραµµα του Σχήµατος 2.37
Θα µπορούσαµε να βρούµε ποια είναι η επόµενη κατάσταση για καθεµιά από τις τιµές
2, 4, 6, για τις οποίες έχουµε δηλώσει "αδιαφορία". Για λόγους, όµως, καλύτερης
κατανόησης και συµφωνίας µε τα όσα αναφέραµε στην υποενότητα 2.2.1, προχωρούµε
στην ανάλυση του κυκλώµατος σύµφωνα µε τα τρία βήµατα ανάλυσης.
D2 = Q2 ⊕Q1 D1 = Q1΄Q0 D0 = 1
45
Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.
Το διάγραµµα καταστάσεων δείχνεται στο Σχήµα 2.40. Από αυτό παρατηρούµε ότι, αν
το κύκλωµα βρεθεί σε µια από τις µη επιθυµητές καταστάσεις 2, 4 ή 6, τότε αυτό µετά
από ένα ωρολογιακό παλµό θα βρεθεί σε µια από τις επιθυµητές (έγκυρες) καταστάσεις
και θα συνεχίσει τον κύκλο του. ∆ηλαδή, αν βρεθεί σε µια από τις καταστάσεις 2 ή 4,
τότε µε την αρνητική ακµή του ωρολογιακού παλµού θα µεταβεί στη κατάσταση 5 και
από εκεί θα συνεχίσει τον κύκλο του. Αν αρχικά βρεθεί στη κατάσταση 6, τότε η έλευση
της αρνητικής ακµής του ωρολογιακού παλµού θα το οδηγήσει στη κατάσταση 1 και από
εκεί θα συνεχίσει τον κύκλο του 1,3,5,7,1,3,5,... Εποµένως, πρόκειται για ένα κύκλωµα
µε αυτόµατη εκκίνηση και αυτόµατη διόρθωση και δεν χρειάζεται άλλη δική µας
παρέµβαση τροποποίησης αυτού.
0
7
1
6
2
5
3
4
46