You are on page 1of 46

ΚΕΦΑΛΑΙΟ 2 ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ ............................................................................................................ 3

ΕΝΟΤΗΤΑ 2.1. ΑΝΑΛΥΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ..................... 6


2.1.1. ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΧΩΡΙΣ ΕΞΩΤΕΡΙΚΕΣ ΕΙΣΟ∆ΟΥΣ ΚΑΙ ΕΞΟ∆ΟΥΣ ................. 6
2.1.2. ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ ΕΞΩΤΕΡΙΚΕΣ ΕΙΣΟ∆ΟΥΣ .......................................... 11
2.1.3. ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ ΕΞΩΤΕΡΙΚΕΣ ΕΙΣΟ∆ΟΥΣ ΚΑΙ ΕΞΟ∆ΟΥΣ .................... 13
ΕΝΟΤΗΤΑ 2.2. ΣΧΕ∆ΙΑΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ......................... 18
2.2.1. ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ Α∆ΙΑΦΟΡΕΣ ΚΑΤΑΣΤΑΣΕΙΣ ........................................... 26
ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ ........................................................................................................................... 37

ΒΙΒΛΙΟΓΡΑΦΙΑ ......................................................................................................................................... 38

ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ......................................................................... 39


ΑΠΟ∆ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ.............................................................................. 46

1
ΚΕΦΑΛΑΙΟ 2 ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

Σκοπός του κεφαλαίου αυτού είναι η µελέτη των σύγχρονων ακολουθιακών


κυκλωµάτων. Τα κυκλώµατα αυτά αποτελούνται από FFs, των οποίων η λειτουργία
συγχρονίζεται από τους παλµούς ενός και µόνο ρολογιού. Η ανάλυση της λειτουργίας,
καθώς και η σχεδίαση τέτοιων κυκλωµάτων, είναι ένας ουσιώδους σηµασίας τοµέας της
ψηφιακής σχεδίασης.

Προσδοκώµενα αποτελέσµατα:
Μετά τη µελέτη του κεφαλαίου, θα είστε σε θέση να:
• αναλύετε οποιοδήποτε σύγχρονο ακολουθιακό κύκλωµα µε ή χωρίς εξωτερικές
εισόδους ή εξόδους
• σχεδιάζετε κυκλώµατα, που παράγουν συγκεκριµένες ακολουθίες παλµών
• σχεδιάζετε σύγχρονα ακολουθιακά κυκλώµατα µε ή χωρίς εξωτερικές εισόδους ή
εξόδους

Έννοιες – Κλειδιά:
• Σύγχρονο ακολουθιακό κύκλωµα
• Απαριθµητής / Μετρητής
• ∆ιάγραµµα καταστάσεων
• Πίνακας καταστάσεων
• Γεννήτρια ακολουθιών

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
(α)

(β)

Σχήµα 2.1 (α) Κύκλωµα Moore, (β) κύκλωµα Mealy

5
ΕΝΟΤΗΤΑ 2.1. ΑΝΑΛΥΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ
ΚΥΚΛΩΜΑΤΩΝ

Με τον όρο "ανάλυση" ενός ακολουθιακού κυκλώµατος εννοούµε την εύρεση


ολόκληρης της χρονικής ακολουθίας των εισόδων, εξόδων και καταστάσεων αυτού.
Έτσι, όταν µας δίνεται ένα σύγχρονο ακολουθιακό κύκλωµα (ΣΑΚ), θα θέλαµε να
προσδιορίσουµε όλη την αλληλουχία των δυνατών καταστάσεων αυτού, όπως και των
πιθανών εξόδων του, σε συνάρτηση µε τις τιµές των εξωτερικών εισόδων του
κυκλώµατος και τους ωρολογιακούς παλµούς. Η διαδικασία της ανάλυσης ενός ΣΑΚ
γίνεται πολύ εύκολα σε τρία ξεχωριστά βήµατα: συναρτήσεις εισόδου – πίνακας
καταστάσεων – διάγραµµα καταστάσεων. Η όλη παρουσίαση αρχίζει µε απλά
ακολουθιακά κυκλώµατα χωρίς επιπλέον εισόδους ή εξόδους (υποενότητα 2.1.1) και
συνεχίζεται µε ακολουθιακά κυκλώµατα µόνο µε εισόδους (υποενότητα 2.1.2) ή µε
εισόδους και εξόδους (υποενότητα 2.1.3).

2.1.1. ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΧΩΡΙΣ ΕΞΩΤΕΡΙΚΕΣ


ΕΙΣΟ∆ΟΥΣ ΚΑΙ ΕΞΟ∆ΟΥΣ
Ας περιγράψουµε την όλη διαδικασία επιχειρώντας να αναλύσουµε το απλό κύκλωµα
του Σχήµατος 2.2(α). Πρόκειται για ένα κύκλωµα µε δύο FFs τύπου JK αρνητικής ακµής
πυροδότησης. Στο κύκλωµα δεν εφαρµόζεται καµιά εξωτερική είσοδος και οι έξοδοι
αυτού είναι αυτές των FFs (κατάσταση των FFs).

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

(β)

Σχήµα 2.2 Σύγχρονο ακολουθιακό κύκλωµα µε δύο FFs.

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.

Από το Σχήµα 2.2β βλέπουµε ότι: J0 = Q΄1 J1 = Q0


Κ0 = 1 Κ1 = 1

Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων.

Ο πίνακας καταστάσεων περιέχει ουσιαστικά την παρούσα και την επόµενη


κατάσταση του ακολουθιακού κυκλώµατος. Αυτό είναι και το ζητούµενο, δηλαδή σε
ποια κατάσταση θα βρεθεί το κύκλωµα στην επόµενη χρονική στιγµή, αν γνωρίζουµε την
κατάστασή του στην παρούσα χρονική στιγµή.
Ο πίνακας καταστάσεων αποτελείται από τρία τµήµατα (Πίνακας 2.1):
• Το πρώτο τµήµα που περιέχει την παρούσα κατάσταση. Σ' αυτό καταγράφονται
όλες οι δυνατές τιµές των καταστάσεων Q. Στην προκειµένη περίπτωση έχουµε 2
FFs και άρα 4 δυνατές τιµές για το ζεύγος Q1, Q0. Στη γενική περίπτωση
κυκλώµατος, που αποτελείται από n FFs, έχουµε συνολικά 2n δυνατές
καταστάσεις.
• Το δεύτερο τµήµα περιέχει τις τιµές των εισόδων των FFs, όπως αυτές προκύπτουν
από τις συναρτήσεις εισόδου του βήµατος Α1 και τις τιµές της παρούσας
κατάστασης. Έτσι, παρατηρούµε ότι η στήλη J1 είναι ίδια µε την στήλη Q0 της
παρούσας κατάστασης, αφού J1 = Q0. Επίσης, η στήλη J0 είναι συµπληρωµατική
της στήλης Q1, αφού J0 = Q΄1. Τέλος, οι τιµές των Κ1 και Κ0 είναι όλες ίσες µε 1.
• Το τρίτο τµήµα περιέχει την επόµενη κατάσταση του κυκλώµατος. Κάθε τιµή του
τµήµατος αυτού προκύπτει από τις αντίστοιχες τιµές της παρούσας κατάστασης
και των εισόδων, λαµβάνοντας υπόψη τον τρόπο λειτουργίας του FF.

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).

Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.

Το διάγραµµα καταστάσεων (state diagram) δεν είναι τίποτε άλλο από τη γραφική
απεικόνιση του πίνακα καταστάσεων. Κάθε κατάσταση απεικονίζεται µε ένα κύκλο και
κάθε µετάβαση δείχνεται µε ένα βέλος. Το διάγραµµα καταστάσεων του κυκλώµατος,
που εξετάζουµε, δείχνεται στο Σχήµα 2.3.

00 11

01 10

Σχήµα 2.3 ∆ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.2.

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

Να προσδιορισθεί ο τρόπος λειτουργίας του ΣΑΚ του Σχήµατος 2.4.

9
T0 Q0 T1 Q1
CLK CLK CLK
Q'0 Q'1

Σχήµα 2.4 Σύγχρονο ακολουθιακό κύκλωµα µε FFs τύπου Τ θετικής ακµής

Μας ζητείται η ανάλυση του ΣΑΚ, το οποίο αποτελείται από δύο FFs τύπου Τ θετικής
ακµής πυροδότησης. Ακολουθούµε τα τρία βήµατα της ανάλυσης.

Βήµα Α1: Γράφουµε τις συναρτήσεις εισόδου.

Τ0 = Q0 + Q1 T1 = Q΄0 + Q1

Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων.

Πίνακας 2.2 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.4.

ΠΑΡΟΥΣΑ ΕΠΟΜΕΝΗ
ΚΑΤΑΣΤΑΣΗ ΕΙΣΟ∆ΟΙ ΚΑΤΑΣΤΑΣΗ

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: Σχεδιάζουµε το διάγραµµα καταστάσεων.

Με βάση τις τιµές της παρούσας και επόµενης κατάστασης σχεδιάζουµε το


διάγραµµα καταστάσεων του Σχήµατος 2.5. Παρατηρούµε ότι το κύκλωµα αυτό µε
κάθε ωρολογιακό παλµό αλλάζει κατάσταση διατρέχοντας τις τιµές του δεκαδικού
συστήµατος: 2, 1, 0, 2, 1, 0, 2, .... Πρόκειται, εποµένως, για ένα κύκλωµα
απαρίθµησης παλµών. Σε αντίθεση µε την περίπτωση του κυκλώµατος του Σχήµατος
2.3, το παρόν κύκλωµα απαριθµεί ανάστροφα (µετρά προς τα κάτω). Αν το κύκλωµα
βρεθεί στην κατάσταση Q1Q0 = 11, τότε µε τον επόµενο ωρολογιακό παλµό
µεταβαίνει στο 00 και από εκεί και έπειτα µε κάθε νέο παλµό συνεχίζει τον κύκλο του
2, 1, 0, 2, ...

00 11

01 10

Σχήµα 2.5 ∆ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.4.

Άσκηση Αυτοαξιολόγησης 1 / Κεφάλαιο 2

Να προσδιορισθεί ο τρόπος λειτουργίας του ΣΑΚ του Σχήµατος 2.6.

Σχήµα 2.6 Σύγχρονο ακολουθιακό κύκλωµα µε FFs τύπου JK αρνητικής ακµής

2.1.2. ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ ΕΞΩΤΕΡΙΚΕΣ


ΕΙΣΟ∆ΟΥΣ
Αν στο κύκλωµα, που θέλουµε να αναλύσουµε, εφαρµόζονται κάποιες εξωτερικές
είσοδοι, τότε πρέπει να τις λάβουµε υπόψη µας στη διαδικασία της ανάλυσης,
προσδιορίζοντας την επίδραση που αυτές έχουν στο κύκλωµα. Η διαδικασία της
ανάλυσης δεν αλλάζει και εξακολουθεί να γίνεται ακολουθώντας τα τρία βήµατα, που

11
αναφέραµε στην προηγούµενη παράγραφο. Ας παρακολουθήσουµε την ανάλυση ενός
τέτοιου κυκλώµατος µέσα από ένα παράδειγµα.

Παράδειγµα 2 / Κεφάλαιο 2

Να αναλυθεί η λειτουργία του κυκλώµατος, που δίνεται στο Σχήµα 2.7.

Vcc

X J1 Q1 J0 Q0
CLK CLK CLK
K1 Q'1 K0 Q'0

Σχήµα 2.7 Σύγχρονο ακολουθιακό κύκλωµα µε FFs τύπου JK και µε εξωτερική είσοδο

Βήµα Α1: Γράφουµε τις συναρτήσεις εισόδου.

J1 = K1 = X~Q0 J0 = K0 = 1

Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων.

Παρατηρούµε ότι οι είσοδοι 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: Σχεδιάζουµε το διάγραµµα καταστάσεων.

Σε κάθε βέλος (µετάβαση) του διαγράµµατος καταστάσεων σηµειώνουµε και την


αντίστοιχη τιµή της εισόδου Χ (Σχήµα 2.8). Έτσι, εύκολα παρατηρούµε ότι, όταν η
εξωτερική είσοδος Χ = 1, το κύκλωµα απαριθµεί συνολικά (προς τα πάνω), δηλαδή 0,
1, 2, 3, 0, 1, ..., ενώ, όταν Χ = 0, το κύκλωµα απαριθµεί ανάστροφα (προς τα κάτω),
δηλαδή 3, 2, 1, 0, 3, 2, ... Συνεπώς, πρόκειται για ένα κύκλωµα απαρίθµησης 4
παλµών (modulo-4), η λειτουργία του οποίου εκφράζεται από την εξωτερική είσοδο
Χ.

00 1 11

0 1 1 0

01 1 10

0
Σχήµα 2.8 ∆ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.7.

2.1.3. ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ ΕΞΩΤΕΡΙΚΕΣ


ΕΙΣΟ∆ΟΥΣ ΚΑΙ ΕΞΟ∆ΟΥΣ
Ένα ΣΑΚ µπορεί να έχει µία ή περισσότερες εξωτερικές εισόδους ή/και εξόδους. Η
διαδικασία ανάλυσης του τρόπου λειτουργίας είναι ίδια µε αυτή που µάθαµε στις
προηγούµενες παραγράφους και γίνεται σε τρία βήµατα. Ο πίνακας καταστάσεων στην
προκειµένη περίπτωση θα αποτελείται από ένα επιπλέον τµήµα, όπου θα καταγράφονται
οι τιµές των εξωτερικών εξόδων για κάθε δυνατή περίπτωση των εισόδων και της
παρούσας κατάστασης. Ας παρακολουθήσουµε τη διαδικασία ανάλυσης ενός τέτοιου
κυκλώµατος µέσα από το παράδειγµα που ακολουθεί.

Παράδειγµα 3 / Κεφάλαιο 2

Να αναλυθεί η λειτουργία του κυκλώµατος του Σχήµατος 2.9.

13
T1 Q1 T0 Q0
CLK CLK CLK
Q'1 Q'0

Σχήµα 2.9 Σύγχρονο ακολουθιακό κύκλωµα µε Τ FFs και εξωτερική είσοδο και έξοδο

Αρχίζουµε την ανάλυση του κυκλώµατος ακολουθώντας τα γνωστά τρία βήµατα:

Βήµα Α1: Γράφουµε τις εξισώσεις εισόδου των FFs.

T1 = Q΄0 Τ0 = Χ~Q1

Αφού το κύκλωµα διαθέτει και µια εξωτερική έξοδο Υ, είναι σκόπιµο να


γράψουµε τη λογική συνάρτηση αυτής, ώστε στη συνέχεια να είµαστε έτοιµοι να
προσδιορίσουµε την τιµή της για κάθε δυνατό συνδυασµό της παρούσας κατάστασης
και της εισόδου. Έτσι έχουµε:
Y = X ⊕ Q1 ⊕Q0

Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων.

Έχουµε µία εξωτερική είσοδο και δύο 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

Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.

Το διάγραµµα καταστάσεων σχεδιάζεται κατά τα γνωστά από την παρούσα και


επόµενη κατάσταση του Πίνακα 2.4. Σε κάθε µετάβαση σηµειώνουµε τις αντίστοιχες
τιµές των εξωτερικών εισόδων και εξόδων µε τη µορφή Χ/Υ. Έτσι, αν το κύκλωµα
βρεθεί στην κατάσταση 10 και είσοδος Χ = 0, τότε έλευση του ενεργού παλµού θα το
οδηγήσει στην κατάσταση 00 και η έξοδος θα είναι Υ = 1. Για το λόγο αυτό στο βέλος
από το 10 στο 00 σηµειώνουµε 0/1. Αν όµως η είσοδος Χ = 1, τότε η έλευση του
ενεργού παλµού θα το οδηγήσει στην κατάσταση 01 και η έξοδος Υ θα ισούται µε 0
(Υ=0). Παρατηρούµε ότι, αν το κύκλωµα βρεθεί στην κατάσταση 01 και η είσοδος Χ
= 1, τότε αυτό εγκλωβίζεται στην ίδια κατάσταση. Αυτό δείχνεται στο διάγραµµα
καταστάσεων µε ένα βρόχο. Όµοια, αν το κύκλωµα βρεθεί στην κατάσταση 11 και η
είσοδος είναι Χ = 0, τότε παραµένει στην ίδια κατάσταση µέχρις ότου γίνει Χ = 1,
οπότε και µε την έλευση του ενεργού παλµού µεταβαίνει στην κατάσταση 10.

0/0
0/0

00 11

0/1
0/1 1/1
1/1

01 10

1/0
1/0

Σχήµα 2.10 ∆ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.9.

15
Άσκηση Αυτοαξιολόγησης 2 / Κεφάλαιο 2

Να προσδιορισθεί ο τρόπος λειτουργίας του κυκλώµατος του Σχήµατος 2.11 και να


σχεδιαστούν οι κυµατοµορφές CLK και Y.

D2 Q2
CLK CLK
Q'2

D1 Q1 Y
CLK
Q'1

D0 Q0
CLK
Q'0

Σχήµα 2.11 Σύγχρονο ακολουθιακό κύκλωµα µε D FFs και έξοδο

Σύνοψη Ενότητας
Στην ενότητα αυτή µελετήσαµε τον τρόπο ανάλυσης ΣΑΚ. Είδαµε ότι:
• Η ανάλυση ενός ΣΑΚ γίνεται σε τρία βήµατα ως εξής:
Α1: Γράφουµε τις συναρτήσεις εισόδου των FFs.
Α2: Καταστρώνουµε τον πίνακα καταστάσεων.
Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.
• Ο πίνακας καταστάσεων αποτελείται από τρία ή τέσσερα τµήµατα, ανάλογα µε το αν
το προς ανάλυση κύκλωµα έχει ή δεν έχει εξωτερικές εξόδους.
• Το πλήθος των γραµµών (δυνατών περιπτώσεων) του πίνακα καταστάσεων εξαρτάται
από το πλήθος των FFs του κυκλώµατος και το πλήθος των εξωτερικών εισόδων.
Έτσι, αν ένα ΣΑΚ αποτελείται από n FFs (n καταστάσεις) και m εξωτερικές είσοδοι
εφαρµόζονται σ’ αυτό, το πλήθος των δυνατών συνδυασµών, που θα περιέχει ο
πίνακας καταστάσεων, θα ισούται µε 2n+m.
• Το διάγραµµα καταστάσεων αποτελεί µια εποπτική αναπαράσταση του πίνακα
καταστάσεων. Με άλλα λόγια, το διάγραµµα και ο πίνακας καταστάσεων ενός
κυκλώµατος παρέχουν την ίδια πληροφορία.

16
• Οι ωρολογιακοί παλµοί δεν περιλαµβάνονται στον πίνακα ή στο διάγραµµα
καταστάσεων ενός κυκλώµατος.
• Ο τρόπος ενεργοποίησης (πυροδότησης) των FFs δεν διαφοροποιεί την ανάλυση ενός
ΣΑΚ και, όπως αναφέρθηκε στο προηγούµενο σηµείο, δεν δείχνεται στον πίνακα ή
στο διάγραµµα καταστάσεων. Ο τρόπος ενεργοποίησης, δηλαδή ακµοπυροδοτούµενο
(θετικά / αρνητικά) ή παλµοπυροδοτούµενο, φαίνεται κατά τη σχεδίαση των
κυµατοµορφών εισόδου / εξόδου του ΣΑΚ.
• Για την ανάλυση ενός ΣΑΚ είναι απαραίτητοι οι πίνακες λειτουργίας (Σχήµα 1.23)
των FFs του κυκλώµατος.
• Το τµήµα του πίνακα καταστάσεων, το οποίο περιέχει τις τιµές των εξωτερικών
εξόδων ενός ΣΑΚ, συµπληρώνεται µε βάση τις τιµές της παρούσας κατάστασης και
των πιθανών εξωτερικών εισόδων, δηλαδή τις τιµές του πρώτου τµήµατος του πίνακα
καταστάσεων και όχι µε βάση τις τιµές της επόµενης κατάστασης.

17
ΕΝΟΤΗΤΑ 2.2. ΣΧΕ∆ΙΑΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ
ΚΥΚΛΩΜΑΤΩΝ

Η σχεδίαση ΣΑΚ είναι διαδικασία αντίστροφη εκείνης της ανάλυσης κυκλωµάτων,


που µόλις περιγράψαµε. Στην προκειµένη περίπτωση µας δίνονται οι προδιαγραφές του
κυκλώµατος και µας ζητείται να βρούµε το κατάλληλο κύκλωµα, το οποίο και λειτουργεί
σύµφωνα µε τις προδιαγραφές αυτές. Μια συνήθης περίπτωση είναι να µας δίνεται, έστω
περιγραφικά, το διάγραµµα καταστάσεων του κυκλώµατος και κατά συνέπεια και ο
πίνακας καταστάσεων αυτού. Αυτό σηµαίνει ότι γνωρίζουµε την παρούσα και την
επόµενη κατάσταση καθενός από τα FFs. Άρα, αυτό που µένει είναι να προσδιορίσουµε
τις εισόδους των FFs, ώστε µε τον ερχοµό του κάθε ωρολογιακού παλµού το καθένα FF
να µεταβαίνει από την παρούσα κατάσταση στην επόµενη. Τα βήµατα για τη σχεδίαση
ενός ΣΑΚ θα µπορούσαν να κωδικοποιηθούν στα ακόλουθα τρία:
Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων του κυκλώµατος και από αυτό
καταστρώνουµε τον πίνακα καταστάσεων.
Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου των FFs.
Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα.
Πριν συνεχίσουµε στην αναλυτική περιγραφή των βηµάτων αυτών, ας αναφερθούµε
σε µια νέα έννοια των FFs, αυτή των πινάκων διέγερσης (excitation tables). Ο πίνακας
διέγερσης ενός FF µας δίνει τις τιµές των εισόδων του FF, όταν γνωρίζουµε τις τιµές της
παρούσας και της επόµενης κατάστασης αυτού. Ας γίνουµε πιο συγκεκριµένοι,
απαντώντας στο εξής ερώτηµα: Ποιες πρέπει να είναι οι τιµές των εισόδων J, K ενός FF
τύπου JK, ώστε, ενώ η κατάστασή του στην παρούσα χρονική στιγµή είναι 0 (Qt=0), να
γίνει 1 µε την έλευση της ενεργού ακµής (Qt+1=1); Η απάντηση είναι πως, για να συµβεί
αυτό, θα πρέπει J=K=1, οπότε το FF θα µεταπέσει (toggle) από το 0 στο 1. Θα µπορούσε,
όµως, να είναι και J=1, K=0, οπότε ο ωρολογιακός παλµός θα καθόριζε την κατάστασή
του στο λογικό 1 (set), ανεξάρτητα από την τιµή της παρούσας κατάστασης. ∆ηλαδή,
συνολικά για J=1 και K=0 ή K=1 το FF θα µεταβεί από το 0 στο 1. Αυτό σηµαίνει πως η
τιµή της εισόδου Κ είναι αδιάφορη (Κ=Χ), αρκεί η είσοδος J να είναι στο λογικό 1, για
να αλλάξει η κατάσταση του FF από το 0 στο 1. Εργαζόµενοι µε τον ίδιο τρόπο,
µπορούµε να βρούµε τις εισόδους όλων των FFs για κάθε δυνατό συνδυασµό παρούσας -
επόµενης κατάστασης. Οι αντίστοιχοι πίνακες ονοµάζονται, όπως έχουµε ήδη αναφέρει,
πίνακες διέγερσης και δίνονται στο Σχήµα 2.12. Από τους πίνακες αυτούς παρατηρούµε

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

Σχήµα 2.12 Πίνακες διέγερσης των FFs

Παράδειγµα 4 / Κεφάλαιο 2

Με FFs τύπου JK αρνητικής ακµής πυροδότησης, να σχεδιασθεί ΣΑΚ, το οποίο να


"περνά" διαδοχικά από τις καταστάσεις 0, 1, 3, 2 (δηλαδή να απαριθµεί σύµφωνα µε τον
κώδικα Gray).
Πριν αρχίσουµε, και αφού µας έχει διευκρινιστεί ότι η όλη σχεδίαση πρέπει να γίνει
µε FFs τύπου JK, ας δούµε πόσα FFs χρειαζόµαστε. Εφόσον έχουµε 4 διαφορετικές
καταστάσεις από το 0 µέχρι το 3, σηµαίνει πως θα χρειαστούµε 2 FFs. Άρα,
ακολουθούµε τα τρία βήµατα σχεδίασης και έχουµε:

Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων και µε βάση αυτό τον αντίστοιχο
πίνακα καταστάσεων.

19
00 11

01 10

Σχήµα 2.13 ∆ιάγραµµα καταστάσεων του Παραδείγµατος 4 / Κεφάλαιο 2

Πίνακας 2.5 Πίνακας καταστάσεων του Παραδείγµατος 4 / Κεφάλαιο 2

Π.Κ. Ε.Κ. ΕΙΣΟ∆ΟΙ


Q1 Q0 Q1 Q0 J1K1 J0K0
0 0 0 1 0 X 1 X
0 1 1 1 1 X X 0
1 0 0 0 X 1 0 X
1 1 1 0 X 0 X 1

Τα τµήµατα της παρούσας και επόµενης κατάστασης του Πίνακα καταστάσεων 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.

Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου των 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. Παρατηρούµε ότι η αξιοποίηση των συνθηκών αδιαφορίας µας
οδήγησε σε σηµαντικά απλούστερες συναρτήσεις εισόδου, αφού δεν απαιτείται καµία
επιπλέον πύλη για την υλοποίησή τους.

Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα.

Έχοντας προσδιορίσει τις συναρτήσεις εισόδου των FFs, προχωρούµε εύκολα στη
σχεδίαση του ζητούµενου λογικού κυκλώµατος, όπως δείχνεται στο Σχήµα 2.15.

J1 Q1 J0 Q0
CLK • FF1 FF0

K1 Q1' K0 Q0'

Σχήµα 2.15 Λογικό κύκλωµα του Παραδείγµατος 4 / Κεφάλαιο 2

Ας συνεχίσουµε τη µελέτη της σχεδίασης ΣΑΚ µε την περίπτωση κατά την οποία το
ζητούµενο κύκλωµα ελέγχεται εξωτερικά από κάποια είσοδο. Θα διαπιστώσουµε και
πάλι ότι δεν παρουσιάζεται ιδιαίτερη δυσκολία στη σχεδίαση τέτοιων κυκλωµάτων, όπως
άλλωστε είδαµε κατά την ανάλυσή τους στην υποενότητα 2.1.2.

Παράδειγµα 5 / Κεφάλαιο 2

Με τη χρήση FFs τύπου JK θετικής ακµής πυροδότησης να σχεδιαστεί ΣΑΚ, το οποίο


να "περνά" από τις καταστάσεις 0, 1, 2, 3 (κανονική απαρίθµηση) ή 0, 1, 3, 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

Πίνακας 2.6 Πίνακας καταστάσεων του Παραδείγµατος 5 / Κεφάλαιο 2

ΕΙΣΟ∆ΟΙ + Π.Κ. Ε.Κ. ΕΙΣΟ∆ΟΙ


Χ Q1 Q0 Q1 Q0 J1K1 J0K0
0 0 0 0 1 0 X 1 X
0 0 1 1 0 1 X X 1
0 1 0 1 1 X 0 1 X
0 1 1 0 0 X 1 X 1
1 0 0 0 1 0 X 1 X
1 0 1 1 1 1 X X 0
1 1 0 0 0 X 1 0 X
1 1 1 1 0 X 0 X 1

Οι αριθµοί στα βέλη του διαγράµµατος καταστάσεων υποδηλώνουν τις αντίστοιχες


τιµές της εισόδου Χ. Είναι φυσικό οι τιµές του Χ να συµπεριλαµβάνονται στο πρώτο
τµήµα του πίνακα καταστάσεων, όπου καταγράφονται όλοι οι δυνατοί συνδυασµοί
εξωτερικής εισόδου και παρούσας κατάστασης. Η επόµενη κατάσταση (δεύτερο τµήµα
του πίνακα καταστάσεων) προκύπτει από το διάγραµµα καταστάσεων, ενώ οι τιµές των
εισόδων των FFs (τρίτο τµήµα του πίνακα καταστάσεων) προκύπτουν από τις τιµές της
παρούσας και επόµενης κατάστασης καθενός FF σε συνδυασµό µε τον αντίστοιχο πίνακα
διέγερσης αυτού (Σχήµα 2.12).

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.

Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα.

Γνωρίζοντας πλέον τις συναρτήσεις της κάθε εισόδου των FFs, προχωρούµε στην
τελική σχεδίαση του λογικού κυκλώµατος του Σχήµατος 2.18, που είναι και το ζητούµενο
κύκλωµα.

J1 Q1 J0 Q0
CLK • FF1 FF0

X • K1 Q1' K0 Q0'

Σχήµα 2.18 Λογικό κύκλωµα του Παραδείγµατος 5 / Κεφάλαιο 2

Άσκηση Αυτοαξιολόγησης 3 / Κεφάλαιο 2

Με FFs τύπου Τ αρνητικής ακµής πυροδότησης, να σχεδιαστεί ΣΑΚ, το οποίο να


διατρέχει διαδοχικά τις καταστάσεις 0, 1, 3, 2.

23
∆ραστηριότητα 1 / Κεφάλαιο 2

Ποιο κύκλωµα µε D FFs θετικής ακµής πυροδότησης θα προτείνατε εσείς για την
περίπτωση του Παραδείγµατος 5 / Κεφάλαιο 2, δηλαδή όταν X=0 να απαριθµεί κανονικά
από το 0 µέχρι το 3, ενώ όταν X=1 να απαριθµεί σύµφωνα µε τον κώδικα Gray;

Η περίπτωση ανάλυσης ή σχεδίασης ΣΑΚ µε FF τύπου D είναι από τις πλέον απλές ως
προς την κατανόησή τους, αφού στους πίνακες καταστάσεων αυτών το τµήµα των
εισόδων θα µπορούσε να παραληφθεί, γιατί αυτό είναι ίδιο µε εκείνο της επόµενης
κατάστασης. Παρά το γεγονός αυτό, εµείς στη συνέχεια θα εξακολουθήσουµε να το
δείχνουµε για λόγους οµοιοµορφίας µε τους υπόλοιπους τύπους FFs. Τα κυκλώµατα, που
προκύπτουν, είναι συνήθως πολύ πιο πολύπλοκα, αφού διαθέτουµε µία µόνο είσοδο για
την υλοποίηση όλων των λειτουργιών που θα θέλαµε. Ας επαληθεύσουµε όλα αυτά,
σχεδιάζοντας εξαρχής το αντίστοιχο κύκλωµα του Σχήµατος 2.18 µε FF τύπου D.

Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων και µε βάση αυτό


καταστρώνουµε τον αντίστοιχο πίνακα καταστάσεων.

Το διάγραµµα καταστάσεων είναι ίδιο µε εκείνο του Σχήµατος 2.16, όπως ίδια είναι
και τα δύο πρώτα τµήµατα του πίνακα καταστάσεων (βλ. Πίνακα 2.6 και 2.7). Το τρίτο
τµήµα του Πίνακα 2.7 δίνει τις εισόδους των D FFs. Όπως ήταν αναµενόµενο, αυτό είναι
ίδιο µε εκείνο της επόµενης κατάστασης (δεύτερο τµήµα του πίνακα καταστάσεων).

Πίνακας 2.7 Πίνακας καταστάσεων της ∆ραστηριότητας 1 / Κεφάλαιο 2

ΕΙΣΟ∆ΟΙ + Π.Κ. Ε.Κ. ΕΙΣΟ∆ΟΙ


Χ Q1 Q0 Q1 Q0 D1 D0
0 0 0 0 1 0 1
0 0 1 1 0 1 0
0 1 0 1 1 1 1
0 1 1 0 0 0 0
1 0 0 0 1 0 1
1 0 1 1 1 1 1
1 1 0 0 0 0 0
1 1 1 1 0 1 0

Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις των εισόδων.

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 = Q0Q1΄ + Q0X + Q0΄Q1X΄ = D0 = Q0΄Q1΄ + Q0΄X΄ + Q1΄X =


= Q0(Q1΄+X) + Q0΄(Q1΄+X)΄ = = Q0΄(Q1΄+X΄) + Q1΄X =
= Q0 ⊕ (Q1΄+X) = Q0΄(Q1x)΄ + Q1΄X =
= (Q0 + Q1X)΄ + Q1΄X
Σχήµα 2.19 Χάρτες Karnaugh για την απλοποίηση των συναρτήσεων εισόδων

Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα.


X • •

D1 Q1 D0 Q0 •
FF 1 FF 0
CLK •
Q 1' • Q 0'

Σχήµα 2.20 Λογικό κύκλωµα ∆ραστηριότητας 1 / Κεφάλαιο 2

Παρατηρούµε ότι το λογικό κύκλωµα που προέκυψε είναι πολύ πιο πολύπλοκο,
δηλαδή χρειάζεται περισσότερες πύλες σε σχέση µε το αντίστοιχο του Σχήµατος 2.18.
Μην θορυβηθείτε, αν δεν βρήκατε το ίδιο κύκλωµα. Αυτό δεν σηµαίνει κατ' ανάγκη ότι
έχετε κάνει κάποιο λάθος, αφού το τελικό κύκλωµα εξαρτάται από το στάδιο
απλοποίησης των συναρτήσεων εισόδου κατά το βήµα Σ2. Για να σιγουρευτείτε ότι το
κύκλωµα που σχεδιάσατε ανταποκρίνεται στις προδιαγραφές, αναλύστε το σύµφωνα µε
αυτά που µάθαµε στην ενότητα 2.1.

25
2.2.1. ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ Α∆ΙΑΦΟΡΕΣ
ΚΑΤΑΣΤΑΣΕΙΣ
Μέχρι τώρα ασχοληθήκαµε µε τη σχεδίαση ΣΑΚ, τα οποία µε κάθε ωρολογιακό
παλµό διατρέχουν όλες τις δυνατές καταστάσεις, µε διαφορετική ίσως σειρά. Για
παράδειγµα, είδαµε κυκλώµατα, τα οποία χρησιµοποιούσαν δύο FFs και µε κάθε παλµό
"περνούσαν" από τις καταστάσεις 0, 1, 2, 3 ή 0, 1, 3, 2. Τι γίνεται, όµως, στην περίπτωση
που κάποιες από τις δυνατές καταστάσεις ενός κυκλώµατος δεν χρησιµοποιούνται;
Κλασσικό παράδειγµα τέτοιας περίπτωσης είναι το κύκλωµα, το οποίο µπορεί να µετρά
δεκάδες, δηλαδή µε κάθε ωρολογιακό παλµό να µετρά από το 0 µέχρι και το 9 και πάλι
από την αρχή. Ας εξετάσουµε αναλυτικά αυτή την περίπτωση σχεδίασης µέσα από το
επόµενο παράδειγµα.

Παράδειγµα 6 / Κεφάλαιο 2

Με FF τύπου JK αρνητικής ακµής πυροδότησης να σχεδιάσετε ΣΑΚ, το οποίο να


διατρέχει τις τιµές 0 µέχρι και 9.
Καταλαβαίνουµε ότι πρόκειται για έναν δεκαδικό απαριθµητή (decimal counter). Για
τη δυαδική αναπαράσταση των δέκα τιµών απαιτούνται 4 δυαδικά ψηφία, δηλαδή 4 FFs.
Αρχίζουµε, λοιπόν, τη σχεδίαση ακολουθώντας τα γνωστά βήµατα:

Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων και καταστρώνουµε τον


αντίστοιχο πίνακα καταστάσεων.

15 14
13
0 12

1
11
2

10
3

9
4
5
6 8
7

Σχήµα 2.21 ∆ιάγραµµα καταστάσεων του Παραδείγµατος 6 / Κεφάλαιο 2

26
Πίνακας 2.8 Πίνακας καταστάσεων του Παραδείγµατος 6 / Κεφάλαιο 2

Π.Κ. Ε.Κ. ΕΙΣΟ∆ΟΙ


Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3K3 J2K2 J1K1 J0K0
0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X
0 0 0 1 0 0 1 0 0 X 0 X 1 X X 1
0 0 1 0 0 0 1 1 0 X 0 X X 0 1 X
0 0 1 1 0 1 0 0 0 X 1 X X 1 X 1
0 1 0 0 0 1 0 1 0 X X 0 0 X 1 X
0 1 0 1 0 1 1 0 0 X X 0 1 X X 1
0 1 1 0 0 1 1 1 0 X X 0 X 0 1 X
0 1 1 1 1 0 0 0 1 X X 1 X 1 X 1
1 0 0 0 1 0 0 1 X 0 0 X 0 X 1 X
1 0 0 1 0 0 0 0 X 1 0 X 0 X X 1
1 0 1 0 X X X X X X X X X X X X
1 0 1 1 X X X X X X X X X X X X
1 1 0 0 X X X X X X X X X X X X
1 1 0 1 X X X X X X X X X X X X
1 1 1 0 X X X X X X X X X X X X
1 1 1 1 X X X X X X X X X X X X

Το διάγραµµα καταστάσεων περιλαµβάνει 24 = 16 καταστάσεις, από τις οποίες, όµως,


µόνο οι δέκα χρησιµοποιούνται (Σχήµα 2.21). Οι υπόλοιπες έξι (στην προκειµένη
περίπτωση οι καταστάσεις 10, 11, 12, 13, 14, 15) µάς είναι προς το παρόν αδιάφορες. Το
γεγονός αυτό αντικατοπτρίζεται στον πίνακα καταστάσεων (Πίνακας 2.8) µε το σύµβολο
"X" στο τµήµα της επόµενης κατάστασης και κατ' επέκταση στο τρίτο τµήµα των
εισόδων. Γίνεται φανερό ότι η ύπαρξη αυτών των συνθηκών αδιαφορίας θα βοηθήσει
πάρα πολύ στην απλοποίηση των συναρτήσεων εισόδου, όπως διαπιστώνουµε στο
αµέσως επόµενο βήµα µας. Όσον αφορά στη συµπλήρωση του πίνακα για τις
καταστάσεις 0 µέχρι και 9, αυτή γίνεται κατά τα γνωστά µε τη βοήθεια του πίνακα
διέγερσης του Σχήµατος 2.12. για το JK FF.

Βήµα Σ2: Γράφουµε τις απλοποιηµένες συναρτήσεις εισόδου.

Η απλοποίηση των συναρτήσεων εισόδου των FFs γίνεται µε τη βοήθεια χαρτών


Karnaugh (Σχήµα 2.22). Η ύπαρξη πολλών "Χ", λόγω των αδιάφορων καταστάσεων,
αλλά και εξαιτίας των συνθηκών αδιαφορίας του πίνακα διέγερσης του JK FF, οδήγησε
εύκολα σε απλοποιηµένες συναρτήσεις εισόδου.

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

Q1Q0 Q1Q0 Q1Q0


Q1Q0
Q3Q2 00 01 11 10 Q3Q2 00 01 11 10 Q3Q2 00 01 11 10
Q3Q2 00 01 11 10
00 x x x x 00 x x x x 00 x x 1
00 x 1 1 x

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 για την απλοποίηση των συναρτήσεων εισόδου

Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα.

Έχοντας προσδιορίσει τις συναρτήσεις εισόδου των FFs, προχωρούµε στη σχεδίαση
του ζητούµενο ΣΑΚ, όπως αυτό δείχνεται στο Σχήµα 2.23.

Vcc
J3 Q3 J2 Q2 • J1 Q1 • J0 Q0 •

K3 Q3' • K2 Q2' K1 Q1' K1 Q0'

• •

Σχήµα 2.23 Λογικό κύκλωµα του Παραδείγµατος 6 / Κεφάλαιο 2

Στο σηµείο αυτό η διαδικασία της σχεδίασης έχει ολοκληρωθεί. Υπάρχει, όµως, ένα
ερώτηµα, το οποίο πρέπει να απαντηθεί. Μήπως η ύπαρξη των αδιάφορων καταστάσεων
και η συνεπακόλουθη αυθαίρετη αξιοποίησή τους κατά τη διαδικασία της απλοποίησης,
δηµιούργησε κάποια προβλήµατα στο κύκλωµα και αυτό δεν λειτουργεί, όπως θα
θέλαµε; Ας γίνουµε πιο σαφείς. Μήπως οι αποφάσεις, που πήραµε αυθαίρετα για κάποια
Χ ίσα µε 1, οδήγησαν το κύκλωµα σε µη επιθυµητή λειτουργία, όπως για παράδειγµα σ'
ένα κύκλο απαρίθµησης 11, 12, 13, 14, 11, 12, 13, 14, 11, ... ; Σε µια τέτοια περίπτωση το

28
κύκλωµα ποτέ δεν "φτάνει" σε µια από τις ζητούµενες καταστάσεις και εγκλωβίζεται σε
ένα µη επιθυµητό βρόχο απαρίθµησης.
Για να απαντήσουµε στο ερώτηµα αυτό, θα πρέπει να ελέγξουµε τη λειτουργία του
κυκλώµατος. Άρα απαιτείται να αναλύσουµε το κύκλωµα, που µόλις σχεδιάσαµε, και
έτσι να επιβεβαιώσουµε την ορθότητα της λειτουργίας του. Στην περίπτωση που αυτό δεν
συµβαίνει, τότε θα πρέπει να επαναλάβουµε τη διαδικασία της σχεδίασης αυτού,
αρχίζοντας και πάλι από το βήµα Σ1, αλλά όντας πιο αυστηροί και σαφείς στις
προδιαγραφές µας. Συνεπώς, κατά τη σχεδίαση ΣΑΚ, τα οποία έχουν αδιάφορες
καταστάσεις, επιβάλλεται ένα επιπλέον βήµα, αυτό του ελέγχου της ορθής λειτουργίας
του κυκλώµατος.

Βήµα Σ4: Έλεγχος ορθής λειτουργίας του κυκλώµατος.

Ο έλεγχος αυτός γίνεται, όπως µόλις αναφέραµε, µε την ανάλυση του κυκλώµατος του
Σχήµατος 2.23, που µόλις σχεδιάσαµε. Ακολουθούµε, εποµένως, τα βήµατα της
ανάλυσης της ενότητας 2.1.

Βήµα Α1: Γράφουµε τις συναρτήσεις εισόδου των FFs.

J3 = Q2Q1Q0 J2 = K2 = Q1Q0 J1 = K1 = Q΄3Q0 J0 = K0 = 1


K3 = Q0

Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων.

Βασιζόµενοι στις συναρτήσεις εισόδου και στις τιµές της παρούσας κατάστασης
προσδιορίζουµε την επόµενη κατάσταση του κυκλώµατος, όπως δείχνεται στον Πίνακα
2.9.

Πίνακας 2.9 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.23.

Π.Κ. ΕΙΣΟ∆ΟΙ Ε.Κ.


Q3 Q2 Q1 Q0 J3K3 J2K2 J1K1 J0K0 Q3 Q2 Q1 Q0
. . .
. . .
. . .
1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1
1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0
1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1
1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0
1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1
1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 0

29
Για τις καταστάσεις 0 µέχρι και 9 ο πίνακας αυτός είναι ίδιος µε τον Πίνακα 2.8, όπως
είναι άλλωστε αναµενόµενο. Η διαφοροποίηση αρχίζει από την κατάσταση 10 και µετά.
Το αντίστοιχο διάγραµµα καταστάσεων θα µας καταδείξει τον ακριβή τρόπο λειτουργίας
του κυκλώµατος και γι' αυτό προχωρούµε άµεσα στη σχεδίασή του.

Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.

Το διάγραµµα καταστάσεων, που προκύπτει, δείχνεται στο Σχήµα 2.24. Παρατηρούµε


ότι το κύκλωµα, που σχεδιάσαµε, διατρέχει όντως τον κύκλο των καταστάσεων 0 µέχρι
και 9.

15 14
0
13
1
12
2
11

3
10

4
9

5
8
6
7

Σχήµα 2.24 ∆ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.23.

Αν βρεθεί σε µία από τις αδιάφορες καταστάσεις, τότε µε τον πρώτο ωρολογιακό παλµό
µεταβαίνει στην αµέσως επόµενη κατάσταση, και µε το δεύτερο παλµό µεταβαίνει σε µια
από τις επιθυµητές (έγκυρες) καταστάσεις και συνεχίζει πλέον τον κύκλο κανονικά. Για
παράδειγµα, αν βρεθεί στη κατάσταση 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

Σχεδιάστε ΣΑΚ, το οποίο να διατρέχει διαδοχικά τους αριθµούς 1, 3, 5, 7.

Ας προσπαθήσουµε, λοιπόν, να σχεδιάσουµε ένα κύκλωµα που να µετράει µόνο τους


περιττούς αριθµούς µέχρι το 7, θα θέλαµε, δηλαδή, µε κάθε νέο ωρολογιακό παλµό να
πηγαίνει από το 1→3→5→7 και πάλι από την αρχή. Με άλλα λόγια να διατρέχει µόνο
αυτές τις 4 καταστάσεις. Προσοχή όµως, αν και οι καταστάσεις είναι 4, για την
αναπαράστασή τους σε δυαδική µορφή χρειαζόµαστε 3 FFs, γιατί πώς αλλιώς θα
µπορούσαµε να παραστήσουµε το 5 ή το 7; Με 3 FFs έχουµε 8 δυνατές καταστάσεις, από
τις οποίες όµως οι 4 µόνο µας χρειάζονται. Ας θεωρήσουµε αρχικά ότι µας είναι
αδιάφορο το πού θα πάει το κύκλωµα, αν βρεθεί σε µία από αυτές, και ας
προσπαθήσουµε να το σχεδιάσουµε χρησιµοποιώντας FFs τύπου Τ.

Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων και καταστρώνουµε τον


αντίστοιχο πίνακα καταστάσεων.

Το διάγραµµα καταστάσεων δείχνεται στο Σχήµα 2.25 και ο πίνακας καταστάσεων


είναι ο Πίνακας 2.10. Μας είναι αδιάφορο το πού θα βρεθεί το κύκλωµα µετά την
κατάσταση 0 ή 2 ή 4 ή 6, γεγονός που αντικατοπτρίζεται και στο τµήµα των εισόδων του
πίνακα καταστάσεων µε τις συνθήκες αδιαφορίας (Χ).

0 7

1 6

2 5

3 4

Σχήµα 2.25 ∆ιάγραµµα καταστάσεων ΣΑΚ απαρίθµησης των περιττών αριθµών 1, 3, 5, 7.

31
Πίνακας 2.10 Πίνακας καταστάσεων που αντιστοιχεί στο διάγραµµα του Σχήµατος 2.25.

Π.Κ. Ε.Κ. ΕΙΣΟ∆ΟΙ


Q2 Q1 Q0 Q2 Q1 Q0 T2 T1 T0
0 0 0 X X X X X X
0 0 1 0 1 1 0 1 0
0 1 0 X X X X X X
0 1 1 1 0 1 1 1 0
1 0 0 X X X X X X
1 0 1 1 1 1 0 1 0
1 1 0 X X X X X X
1 1 1 0 0 1 1 1 0

Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου

Από το τµήµα των εισόδων του πίνακα καταστάσεων και µε αξιοποίηση των
συνθηκών αδιαφορίας, εξάγεται άµεσα ότι Τ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

Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα.

Γνωρίζοντας πλέον τις συναρτήσεις εισόδου, το λογικό κύκλωµα σχεδιάζεται εύκολα


(Σχήµα 2.27). Εφόσον δεν έχουµε κάνει κάποιο λάθος στη διαδικασία της σχεδίασης,
είµαστε σίγουροι ότι το κύκλωµα θα διατρέχει τους αριθµούς 1, 3, 5, 7, όταν βρεθεί
αρχικά σε κάποιον από αυτούς. Τι θα συµβεί, όµως, αν αρχικά βρεθεί σε µία από τις µη
έγκυρες καταστάσεις 0, 2, 4, 6; Αυτό πρέπει να το ελέγξουµε. Έτσι συνεχίζουµε µε το
επόµενο βήµα της επαλήθευσης της ορθής (επιθυµητής) λειτουργίας του κυκλώµατος,
που σχεδιάσαµε.

32
Vcc

T2 Q2 T1 Q1 T0 Q0

Q2 ' Q1' Q0 '

CLK
• •

Σχήµα 2.27 Λογικό κύκλωµα για την απαρίθµηση των περιττών 1, 3, 5, 7.

Βήµα Σ4: Έλεγχος ορθής λειτουργίας του κυκλώµατος.

Αν και θα µπορούσαµε να ελέγξουµε τη λειτουργία του κυκλώµατος αποσπασµατικά


και µόνο για τις µη επιτρεπτές καταστάσεις, εµείς επαναλαµβάνουµε όλη τη διαδικασία
ανάλυσης.

Βήµα Α1: Γράφουµε τις συναρτήσεις εισόδου.

Τ2=Q1 T1=1 T0=0

Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων.

Ο πίνακας καταστάσεων (Πίνακας 2.11) προκύπτει εύκολα από την παρούσα


κατάσταση και τις εισόδους σε συνδυασµό µε τον πίνακα λειτουργίας του Τ FF.

Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.

Από τον πίνακα 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

Π.Κ. ΕΙΣΟ∆ΟΙ Ε.K.


Q2 Q1 Q0 Τ2 Τ1 Τ0 Q2 Q1 Q0
0 0 0 0 1 0 0 1 0
0 0 1 0 1 0 0 1 1
0 1 0 1 1 0 1 0 0
0 1 1 1 1 0 1 0 1
1 0 0 0 1 0 1 1 0
1 0 1 0 1 0 1 1 1
1 1 0 1 1 0 0 0 0
1 1 1 1 1 0 0 0 1

Για να λυθεί το πρόβληµα αυτό, θα πρέπει να παρέµβουµε στο βήµα Σ1 της σχεδίασης,
αναγκάζοντας το κύκλωµα να µεταβεί σε µία από τις έγκυρες καταστάσεις. Θα
µπορούσαµε, για παράδειγµα, να αναγκάσουµε το κύκλωµα µετά την κατάσταση 0 να
µεταβεί στην κατάσταση 1. Με αυτό τον τρόπο "σπάµε" τον µη έγκυρο κύκλο 0, 2, 4, 6,
0, 2, ... Με βάση το νέο αυτό δεδοµένο, επαναλαµβάνουµε τη διαδικασία της σχεδίασης
από την αρχή. Έτσι έχουµε:

Βήµα Σ΄1: Σχεδιάζουµε το διάγραµµα και τον πίνακα καταστάσεων, όπως δείχνεται
στο Σχήµα 2.29 και στον Πίνακα 2.12. αντίστοιχα.

0 7

1 6

2 5

3 4

Σχήµα 2.29 ∆ιορθωµένο διάγραµµα καταστάσεων.

Πίνακας 2.12 Πίνακας καταστάσεων του διαγράµµατος του Σχήµατος 2.29

Π.Κ. Ε.K. ΕΙΣΟ∆ΟΙ


Q2 Q1 Q0 Q2 Q1 Q0 Τ2 Τ1 Τ0
0 0 0 0 0 1 0 0 1
. . .
. . .
. . .
(ίδια µε προηγούµενο) (ίδια µε προηγούµενο) (ίδια µε προηγούµενο)

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

Q 2' Q 1' Q 0'

CLK
• •
Σχήµα 2.31 Λογικό κύκλωµα που αντιστοιχεί στο διάγραµµα του Σχήµατος 2.29.

Βήµα Σ΄3: Σχεδιάζουµε το λογικό κύκλωµα.

Στο Σχήµα 2.31 δείχνεται το λογικό κύκλωµα, το οποίο αντιστοιχεί στο διορθωµένο
διάγραµµα καταστάσεων του Σχήµατος 2.29. Έτσι ολοκληρώνεται η σχεδίαση του
ζητούµενου κυκλώµατος. ∆ιαπιστώσαµε ότι στην περίπτωση αυτή δεν σταθήκαµε τόσο
"τυχεροί", όπως στην περίπτωση του Παραδείγµατος 6 / Κεφάλαιο 2, αφού εδώ
χρειάστηκε να επαναλάβουµε τη σχεδίαση δύο φορές. Αυτό συνέβη, γιατί οι συνθήκες
αδιαφορίας, αν και βοήθησαν στη γρήγορη και εύκολη απλοποίηση των συναρτήσεων
εισόδου, µας οδήγησαν σε ένα κλειστό κύκλο µη έγκυρων καταστάσεων, από τον οποίο
δεν µπορούσαµε να ξαναβγούµε. Θα έπρεπε να τονίσουµε, όµως, και κάτι ακόµα σχετικά
µε το κύκλωµα του Σχήµατος 2.31. Το γεγονός ότι αυτό δεν είναι και το µοναδικό σωστό
κύκλωµα. Γι' αυτό µην απογοητευθείτε, αν κατά την ολοκλήρωση της ∆ραστηριότητας 2
/ Κεφάλαιο 2 καταλήξατε σε κάποιο κύκλωµα διαφορετικό από το παραπάνω. Το
κύκλωµα εξαρτάται από τις απλοποιηµένες συναρτήσεις εισόδου. Αν εσείς καταλήξατε
σε συναρτήσεις διαφορετικές από αυτές του Σχήµατος 2.30, τότε είναι φυσικό ότι και το
κύκλωµά σας θα είναι διαφορετικό.

35
Άσκηση Αυτοαξιολόγησης 4 / Κεφάλαιο 2

Σχεδιάστε ΣΑΚ, το οποίο να διατρέχει κυκλικά τους αριθµούς 1, 3, 5, 7. Αν το


κύκλωµα βρεθεί στην κατάσταση 0, τότε µε τον πρώτο ωρολογιακό παλµό να µεταβαίνει
στο 1. Η όλη σχεδίαση θα πρέπει να βασισθεί σε FFs τύπου D αρνητικής ακµής
πυροδότησης.

Σύνοψη Ενότητας
Στην ενότητα αυτή µελετήσαµε τη διαδικασία σχεδίασης ΣΑΚ. Είδαµε ότι:
• Η σχεδίαση ΣΑΚ γίνεται σε τρία βήµατα ως εξής:
Βήµα Σ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.

Mano Morris M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 1992.

ΞΕΝΟΓΛΩΣΣΗ
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.

Το Κεφάλαιο 6 του βιβλίου διαπραγµατεύεται σε συντοµία την ανάλυση και σχεδίαση


σύγχρονων ακολουθιακών κυκλωµάτων. Κάποια παραδείγµατα που υπάρχουν σ’ αυτό
ίσως να βοηθούσαν.

Greenfield J. D., Practical Digital Design Using ICs, J. Wiley & Sons, 1977.

Στο Κεφάλαιο 7 του βιβλίου παρουσιάζονται αρκετά παραδείγµατα σε ανάλυση και


σχεδίαση σύγχρονων ακολουθιακών κυκλωµάτων, κυρίως απαριθµητών.

Mano Morris M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 1992.

Στο Κεφάλαιο 6 του βιβλίου αυτού θα βρείτε µία καλή παρουσίαση των διαδικασιών
ανάλυσης και σχεδίασης σύγχρονων ακολουθιακών κυκλωµάτων. Είναι από τα λίγα
συγγράµµατα, όπου παρουσιάζoνται µε µεθοδικότητα οι δύο αυτές διαδικασίες.

38
ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ

Απάντηση Άσκησης Αυτοαξιολόγησης 1 / Κεφάλαιο 2

Παρόλο που το κύκλωµα περιέχει τρία FFs και αρκετές πύλες κάνοντάς το σχετικά
πολύπλοκο, διαπιστώνουµε ότι, ακολουθώντας πιστά τα τρία βήµατα της ανάλυσης ΣΑΚ
Α1, Α2, Α3, καταλήγουµε πολύ εύκολα στην ανάλυσή του. Έτσι έχουµε:

Βήµα Α1: Γράφουµε τις συναρτήσεις εισόδου των FFs.

J0 = K0 = (Q1Q2)΄ J1 = Q0 J2 = Q0Q1
K1 = Q0 + Q1Q2 K2 = Q0Q1 + Q2Q1 = (Q0 + Q2)Q1

Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων.

Εφόσον το κύκλωµα αποτελείται από 3 FFs, οι δυνατές καταστάσεις είναι 23 = 8 και


συνεπώς κάθε τµήµα του πίνακα καταστάσεων θα αποτελείται από 8 γραµµές.

Πίνακας 2.13 Πίνακας καταστάσεων της άσκησης αυτοαξιολόγησης 1 / κεφάλαιο 2

Π.Κ. ΕΙΣΟ∆ΟΙ Ε.K.


Q2 Q1 Q0 J2K2 J1K1 J0K0 Q2 Q1 Q0
0 0 0 0 0 0 0 1 1 0 0 1
0 0 1 0 0 1 1 1 1 0 1 0
0 1 0 0 0 0 0 1 1 0 1 1
0 1 1 1 1 1 1 1 1 1 0 0
1 0 0 0 0 0 0 1 1 1 0 1
1 0 1 0 0 1 1 1 1 1 1 0
1 1 0 0 1 0 1 0 0 0 0 0
1 1 1 1 1 1 1 0 0 0 0 1

Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.

Από το διάγραµµα καταστάσεων γίνεται φανερό ότι πρόκειται για ένα κύκλωµα
απαρίθµησης παλµών, µε κύκλο απαρίθµησης 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

Σχήµα 2.32 ∆ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.6.

Απάντηση Άσκησης Αυτοαξιολόγησης 2 / Κεφάλαιο 2

Αναλύουµε το κύκλωµα, ακολουθώντας τα τρία βήµατα ανάλυσης σύγχρονων


ακολουθιακών κυκλωµάτων.

Βήµα Α1: Γράφουµε τις συναρτήσεις εισόδου.

D0 = Q2 ΄ D1 = Q0 D2 = Q0 Q1 Q2΄
Γράφουµε επίσης τη συνάρτηση της εξόδου.
Υ = Q0 Q1 Q2΄

Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων.

Το κύκλωµα αποτελείται από 3 FFs και συνεπώς θα έχουµε 8 δυνατές


περιπτώσεις, όπως αυτές δείχνονται στο πρώτο τµήµα του πίνακα καταστάσεων, όπου
καταγράφονται όλοι οι δυνατοί συνδυασµοί των Q2, Q1, Q0. Με βάση τις τιµές της
παρούσας κατάστασης και τις συναρτήσεις εισόδου, υπολογίζουµε τις τιµές των
εισόδων των FFs D2, D1, D0, καθώς και τις τιµές της εξόδου Υ. Εδώ θα µπορούσαµε
να είχαµε σταµατήσει, αφού πρόκειται για D FF και άρα οι τιµές της επόµενης
κατάστασης είναι ίδιες µε τις τιµές των εισόδων των FFs D2, D1, D0. Για λόγους
οµοιοµορφίας µε τη γενική περίπτωση των FFs, καταγράφουµε την επόµενη
κατάσταση, παρόλο που, όπως παρατηρούµε, αυτή έχει ίδιες τιµές µε εκείνες των
εισόδων των FFs.

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

Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων.

Το διάγραµµα καταστάσεων προκύπτει από την παρούσα και επόµενη κατάσταση


του Πίνακα 2.14. Σε κάθε µετάβαση (βέλος) σηµειώνουµε την αντίστοιχη τιµή της
εξόδου. Παρατηρούµε ότι το κύκλωµα θα διατρέχει κυκλικά τις καταστάσεις Q2 Q1 Q0
2, 1, 3, 7 και η έξοδος Υ θα είναι διαδοχικά 0, 0, 1, 0, ... (∆ιευκρινίζεται ότι για λόγους
ευκολίας οι τιµές των καταστάσεων δίνονται στο δεκαδικό και όχι στο δυαδικό
σύστηµα αρίθµησης).
/0
001 000 111

/0 /0
/0

/0 010 /1 /0 110

/0

011 100 101

Σχήµα 2.33 ∆ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.11.

Αν το κύκλωµα βρεθεί αρχικά στην κατάσταση 0, τότε µε την επόµενη


θετική ακµή του ωρολογιακού παλµού θα µεταβεί στην κατάσταση 1 και θα συνεχίσει
τον κύκλο: 0, 1, 3, 7, 2, 1, 3, 7, 2, 1, ... Αν αρχικά βρεθεί σε µια από τις καταστάσεις 4
ή 6, τότε η επόµενη θετική ακµή θα το οδηγήσει στην κατάσταση 0 και από εκεί θα
συνεχίσει, όπως προηγουµένως. Τέλος, αν αρχικά βρεθεί στην κατάσταση 5, τότε θα

41
µεταβεί στην κατάσταση 2 και θα συνεχίσει τον κύκλο, δηλαδή 5, 2, 1, 3, 7, 2, 1, 3, 7,
2, ...
Η κυµατοµορφή της εξόδου Υ στη µόνιµή της κατάσταση, δηλαδή µετά τους
πιθανούς ένα ή δύο πρώτους κύκλους, θα είναι όπως στο Σχήµα 2.34, όπου φαίνεται
ότι για τρεις συνεχόµενους κύκλους του ρολογιού θα βρίσκεται στο 0 και για ένα
κύκλο στο 1.

CLK

Σχήµα 2.34 Κυµατοµορφές CLK και Υ του κυκλώµατος του Σχήµατος 2.11.

Απάντηση Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 2

Πρόκειται ουσιαστικά για το Παράδειγµα 4 / Κεφάλαιο 2, το οποίο όµως αυτή τη


φορά πρέπει να το απλοποιήσουµε µε 2 FFs τύπου Τ. Η διαδικασία σχεδίασης είναι η ίδια
και την ακολουθούµε κατά τα γνωστά.

Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων και από αυτό τον πίνακα
καταστάσεων.

00 11

01 10
Σχήµα 2.35 ∆ιάγραµµα καταστάσεων της Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 2

Πίνακας 2.15 Πίνακας καταστάσεων της Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 2

Π.Κ. Ε.Κ. ΕΙΣΟ∆ΟΙ


Q1 Q0 Q1 Q0 T1 T0
0 0 0 1 0 1
0 1 1 1 1 0
1 0 0 0 1 0
1 1 1 0 0 1

42
Τα πρώτα δύο τµήµατα του πίνακα καταστάσεων είναι ίδια µε εκείνα του Πίνακα 2.5,
αφού αντικατοπτρίζουν το διάγραµµα καταστάσεων του Σχήµατος 2.35, το οποίο είναι
ίδιο µε εκείνο του Σχήµατος 2.13. Το τρίτο τµήµα του πίνακα καταστάσεων προέκυψε µε
βάση τις τιµές της παρούσας και επόµενης κατάστασης κάθε FF και τον αντίστοιχο
πίνακα διέγερσης του Σχήµατος 2.12 για το Τ FF.

Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου.

Στην προκειµένη περίπτωση παρατηρούµε ότι δεν χρειάζεται να χρησιµοποιήσουµε


χάρτες Karnaugh για την απλοποίηση των συναρτήσεων εισόδου Τ1, Τ0, αφού από το
πρώτο και τρίτο τµήµα του πίνακα καταστάσεων προκύπτει άµεσα ότι:
Τ1 = Q΄1Q0 + Q1Q΄0 = Q1 ⊕ Q0
Τ0 = Q΄1Q΄0 + Q1Q0 = Q1 ~ Q0 = (Q1 ⊕ Q0)΄ = Τ΄1

Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα.

Η σχεδίαση του κυκλώµατος γίνεται εύκολα, αφού γνωρίζουµε πλέον τις συναρτήσεις
των εισόδων καθενός FF (Σχήµα 2.36).

• T1 Q1 T0 Q0
CLK • FF 1 FF 0

Q 1' Q 0'

Σχήµα 2.36 Λογικό κύκλωµα της Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 2

Απάντηση Άσκησης Αυτοαξιολόγησης 4 / Κεφάλαιο 2

Το κύκλωµα θα αποτελείται από 3 FFs τύπου D. Ακολουθούµε τα γνωστά βήµατα


σχεδίασης για την εύρεσή του.

Βήµα Σ1: Σχεδιάζουµε το διάγραµµα καταστάσεων και καταστρώνουµε τον


αντίστοιχο πίνακα καταστάσεων.

43
0 7

1 6

2 5

3 4

Σχήµα 2.37 ∆ιάγραµµα καταστάσεων της Άσκησης Αυτοαξιολόγησης 4 / Κεφάλαιο 2

Πίνακας 2.16 Πίνακας καταστάσεων για το διάγραµµα του Σχήµατος 2.37

Π.Κ. Ε.K. ΕΙΣΟ∆ΟΙ


Q2 Q1 Q0 Q2 Q1 Q0 D2 D1 D0
0 0 0 0 0 1 0 0 1
0 0 1 0 1 1 0 1 1
0 1 0 X X X X X X
0 1 1 1 0 1 1 0 1
1 0 0 X X X X X X
1 0 1 1 1 1 1 1 1
1 1 0 X X X X X X
1 1 1 0 0 1 0 0 1

Υπενθυµίζουµε και πάλι ότι το τµήµα των εισόδων του πίνακα καταστάσεων είναι ίδιο
µε το τµήµα της παρούσας κατάστασης, αφού πρόκειται για FF τύπου D.

Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου.

Η απλοποίηση γίνεται µε τη βοήθεια των χαρτών 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

Q 2' Q 1' Q 0'

Σχήµα 2.39 Λογικό κύκλωµα που αντιστοιχεί στο διάγραµµα του Σχήµατος 2.37

Στο σηµείο αυτό θα πρέπει να ελέγξουµε αν το κύκλωµα, που µόλις σχεδιάσαµε,


λειτουργεί σύµφωνα µε τις προδιαγραφές. Έτσι συνεχίζουµε µε το επόµενο βήµα Σ4.

Βήµα Σ4: Έλεγχος ορθής λειτουργίας του κυκλώµατος.

Θα µπορούσαµε να βρούµε ποια είναι η επόµενη κατάσταση για καθεµιά από τις τιµές
2, 4, 6, για τις οποίες έχουµε δηλώσει "αδιαφορία". Για λόγους, όµως, καλύτερης
κατανόησης και συµφωνίας µε τα όσα αναφέραµε στην υποενότητα 2.2.1, προχωρούµε
στην ανάλυση του κυκλώµατος σύµφωνα µε τα τρία βήµατα ανάλυσης.

Βήµα Α1: Γράφουµε τις συναρτήσεις εισόδου.

D2 = Q2 ⊕Q1 D1 = Q1΄Q0 D0 = 1

Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων (Πίνακας 2.17)

Πίνακας 2.17 Πίνακας καταστάσεων του Σχήµατος 2.39

Π.Κ. ΕΙΣΟ∆ΟΙ Ε.Κ.


Q2 Q1 Q0 D2 D1 D0 Q2 Q1 Q0
0 0 0 0 0 1 0 0 1
0 0 1 0 1 1 0 1 1
0 1 0 1 0 1 1 0 1
0 1 1 1 0 1 1 0 1
1 0 0 1 0 1 1 0 1
1 0 1 1 1 1 1 1 1
1 1 0 0 0 1 0 0 1
1 1 1 0 0 1 0 0 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

Σχήµα 2.40 ∆ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.39

ΑΠΟ∆ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ

Counter Απαριθµητής, µετρητής, κύκλωµα απαρίθµησης παλµών


Modulo / modulus / mod Υπόλοιπο, Κύκλος απαρίθµησης
State diagram ∆ιάγραµµα καταστάσεων

46

You might also like