ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ"

Transcript

1 ΚΕΦΑΛΑΙΟ ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ.. FLIP-FLOPS ΤΟ ΒΑΣΙΚΟ FLIP-FLOP ΧΡΟΝΙΖΟΜΕΝΑ FF ΤΥΠΟΥ SR FF ΤΥΠΟΥ D JK FLIP-FLOP Τ FLIP-FLOP... 5 ΕΝΟΤΗΤΑ.2. ΠΥΡΟ ΟΤΗΣΗ ΤΩΝ FLIP-FLOPS ΚΥΡΙΟ - ΕΞΑΡΤΗΜΕΝΟ JK FLIP-FLOP ΑΚΜΟΠΥΡΟ ΟΤΟΥΜΕΝΑ FLIP-FLOPS ΚΥΚΛΩΜΑΤΑ ΑΝΙΧΝΕΥΣΗΣ ΑΚΜΩΝ ΕΝΟΤΗΤΑ.3. ΑΣΥΓΧΡΟΝΟΙ ΕΙΣΟ ΟΙ ΤΩΝ FLIP-FLOPS ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ ΒΙΒΛΙΟΓΡΑΦΙΑ ΑΠΑΝΤΗΣΕΙΣ ΤΩΝ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ... 40

2 2 ΚΕΦΑΛΑΙΟ ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ Στόχος του παρόντος κεφαλαίου είναι η εισαγωγή και γνωριµία του βασικού κυττάρου µνήµης, που είναι το flip-flop. Το flip-flop αποτελεί το ουσιώδες δοµικό στοιχείο των ακολουθιακών κυκλωµάτων, ακριβώς όπως η πύλη NAND είναι το ουσιώδες δοµικό στοιχείο των συνδυαστικών κυκλωµάτων. Η εξοικείωση µε τους διαφορετικούς τύπους των flip-flops και η κατανόηση του τρόπου λειτουργίας τους είναι απολύτως απαραίτητα για τη µελέτη των ακολουθιακών κυκλωµάτων. Μετά τη µελέτη του παρόντος κεφαλαίου, θα είστε σε θέση να: διακρίνετε τα ακολουθιακά από τα συνδυαστικά κυκλώµατα σχεδιάζετε και να εξηγείτε τη λειτουργία των flip-flops σχεδιάζετε διαγράµµατα χρονισµού απλών κυκλωµάτων µε flip-flops αναλύετε απλά ακολουθιακά κυκλώµατα αποτελούµενα από πύλες διακρίνετε µεταξύ των flip-flops, που ενεργοποιούνται κατά την αλλαγή στάθµης ή κατά τη διάρκεια του παλµού σχεδιάζετε κυκλώµατα αποθήκευσης ενός δυαδικού ψηφίου (bit). Έννοιες κλειδιά Flip-flops Σύγχρονα Ακολουθιακά Κυκλώµατα Ασύγχρονα Ακολουθιακά Κυκλώµατα Μανταλωτής (Latch) Ακµοπυροδότηση ισταθής Πολυδονητής

3 3 ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ Τα ψηφιακά κυκλώµατα, που µελετήσαµε στο βιβλίο της "Ψηφιακής Σχεδίασης Ι", ήταν συνδυαστικά κυκλώµ ατα (combinational circuits). Στα συνδυαστικά κυκλώµατα οι έξοδοι σε κάθε χρονική στιγµή εξαρτώνται αποκλειστικά και µόνο από τις εισόδους, οι οποίες εφαρµόζονται τη συγκεκριµένη εκείνη στιγµή. εν εξαρτώνται ούτε από τη σειρά, µε την οποία αυτές οι είσοδοι εφαρµόσθηκαν, ούτε από την κατάσταση του κυκλώµατος, πριν αυτές εφαρµοσθούν. Όµως, ανεξάρτητα από το µέγεθος ή την πολυπλοκότητα ενός ψηφιακού κυκλώµατος, η χρονική σειρά (ακολουθία) των γεγονότων είναι πολλές φορές καθοριστικής σηµασίας και πρέπει να ληφθεί υπόψη στο σχεδιασµό του ψηφιακού κυκλώµατος. Για να γίνει σαφής η ανάγκη αυτή, ας επιχειρήσουµε να λύσουµε το ακόλουθο απλό πρόβληµα. Να σχεδιασθεί ψηφιακό σύστηµα, το οποίο να επιτρέπει την εκκίνηση της µηχανής του αυτοκινήτου, µόνον εφόσον ο οδηγός καθίσει και δέσει τη ζώνη ασφαλείας του Σχήµα. Η εκκίνηση της µηχανής του αυτοκινήτου µπορεί να γίνει µόνον, αφού ο οδηγός καθίσει και δέσει τη ζώνη του. καθίσµατός του (Σχήµα.). Εξυπακούεται ότι ο κατασκευαστής του αυτοκινήτου έχει τοποθετήσει τους αντίστοιχους αισθητήρες-διακόπτες στο κάθισµα και στη ζώνη του οδηγού. Από µια πρώτη άποψη, η λύση του προβλήµατος φαίνεται εξαιρετικά απλή. Μία πύλη AND θα ήταν αρκετή. Αν δηλαδή ο οδηγός είναι καθισµένος ΚΑΙ (AND) η ζώνη δεµένη, τότε η µηχανή µπορεί να ξεκινήσει, χωρίς τον ενοχλητικό θόρυβο του βοµβητή προειδοποίησης. Όµως, τι γίνεται στην περίπτωση του οδηγού, ο οποίος "ενοχλείται" από τη ζώνη ασφαλείας, και έτσι πρώτα τη δένει και µετά κάθεται πάνω σ' αυτή; ιαπιστώνουµε λοιπόν, ότι το κύκλωµα, που θα σχεδιασθεί, θα πρέπει να είναι σε θέση να παρακολουθεί τη χρονική αλληλουχία των γεγονότων: ο οδηγός κάθεται, η ζώνη προσδένεται, δηλαδή: ο οδηγός πρέπει να είναι καθισµένος, πριν προσδεθεί η ζώνη.

4 4 Γίνεται φανερό, εποµένως, ότι τα συνδυαστικά κυκλώµατα, που µελετήσαµε µέχρι τώρα, δεν είναι αρκετά, για να µας λύσουν προβλήµατα αυτής της κατηγορίας. Ένα βασικό στοιχείο, που µας λείπει, είναι εκείνο της µνήµης. εν έχουµε µάθει να σχεδιάζουµε κυκλώµατα, τα οποία να µπορούν να "θυµούνται" κάποια προηγούµενη κατάσταση (όπως χρειάσθηκε στην περίπτωση του προβλήµατος, που µόλις αναφέραµε). Έτσι, στο κεφάλαιο αυτό θα ασχοληθούµε αποκλειστικά µε την εισαγωγή και κατανόηση των βασικών ακολουθιακών κυκλωµάτων, των flip-flops, τα οποία και αποτελούν το βασικό κύτταρο µνήµης του ενός bit. Τα κυκλώµατα του παρόντος κεφαλαίου ονοµάζονται ακολουθιακά (sequential). Στα ακολουθιακά κυκλώµατα οι έξοδοι σε κάθε χρονική στιγµή εξαρτώνται όχι µόνον από τις τιµές των εισόδων τη χρονική εκείνη στιγµή, αλλά και από τις τιµές των εξόδων των στοιχείων µνήµης του κυκλώµατος την προηγούµενη χρονική στιγµή. Τα ακολουθιακά κυκλώµατα χωρίζονται σε δύο µεγάλες κατηγορίες, στα σύγχρονα (synchronous) και στα ασύγχρονα (asynchronous), ανάλογα µε το εάν αυτά επηρεάζονται σε συγκεκριµένες χρονικές στιγµές ή όχι. Αυτό σηµαίνει ότι τα σύγχρονα ακολουθιακά κυκλώµατα λειτουργούν σύµφωνα µε κάποιο παλµό χρονισµού (ρολόι, clock). Οποιεσδήποτε αλλαγές στην έξοδο (κατάσταση) ενός σύγχρονου ακολουθιακού κυκλώµατος συµβαίνουν σε συγκεκριµένες (διακριτές) χρονικές στιγµές. Αποτέλεσµα αυτού είναι ότι τα σύγχρονα ακολουθιακά κυκλώµατα δεν παρουσιάζουν προβλήµατα αστάθειας και ο χρονισµός τους µπορεί εύκολα να αναλυθεί σε ανεξάρτητα διακριτά βήµατα, όπως θα δούµε και στο Κεφάλαιο 2. Αντίθετα, η συµπεριφορά ενός ασύγχρονου ακολουθιακού κυκλώµατος εξαρτάται από τη σειρά, µε την οποία αλλάζουν οι παλµοί εισόδου του και µπορεί να επηρεασθεί σε οποιαδήποτε χρονική στιγµή. Ένα συνδυαστικό κύκλωµα µε ανατροφοδότηση (feedback) αποτελεί ουσιαστικά ένα ασύγχρονο ακολουθιακό κύκλωµα. Εξαιτίας ακριβώς της ανατροφοδότησης, ένα τέτοιο κύκλωµα µπορεί να γίνει εύκολα ασταθές (unstable). Οι ορισµοί και τα βασικά χαρακτηριστικά των ακολουθιακών κυκλωµάτων παρατίθενται στον Πίνακα.. Στην ενότητα. µελετάµε το πλέον βασικό FF, το οποίο δεν είναι τίποτε άλλο από δύο πύλες NOR ή NAND, στις οποίες η έξοδος της µιας τροφοδοτεί την είσοδο της άλλης, διαπιστώνοντας έτσι τον καταλυτικό ρόλο της ανα-τροφοδότησης στη λειτουργία των κυκλωµάτων. Στη συνέχεια, αφού µελετήσουµε τους τέσσερις διαφορετικούς τύπους FF, αναλύουµε τους δυνατούς τρόπους ενεργοποίησής τους µε βάση τους παλµούς του ρολογιού, που εφαρµόζεται σ αυτά (ενότητα.2). Τέλος, η όλη παρουσίαση των FF

5 5 ολοκληρώνεται µε την εξέταση των πρόσθετων εισόδων, που συνήθως αυτά διαθέτουν, για τον άµεσο έλεγχο των εξόδων τους (ενότητα.3). ΠΙΝΑΚΑΣ. Κύρια χαρακτηριστικά των σύγχρονων και ασύγχρονων ακολουθιακών κυκλωµάτων ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΣΥΓΧΡΟΝΑ Η λειτουργία ενός σύγχρονου ακολουθιακού κυκλώµατος περιγράφεται πλήρως από τις τιµές των σηµάτων του σε συγκεκριµένες (διακριτές) χρονικές στιγµές. Ο συγχρονισµός τους επιτυγχάνεται µέσω ενός ρολογιού (clock), το οποίο τροφοδοτεί το όλο κύκλωµα µε µια περιοδική παλµοσειρά (clock pulses). εν παρουσιάζουν προβλήµατα αστάθειας και ο χρονισµός τους µπορεί εύκολα να αναλυθεί σε διακριτά βήµατα. ΑΣΥΓΧΡΟΝΑ Η λειτουργία ενός ασύγχρονου ακολουθιακού κυκλώµατος εξαρτάται από τη σειρά µε την οποία αλλάζουν οι τιµές των σηµάτων εισόδου του και µπορεί να επηρεασθεί σε κάθε χρονική στιγµή. Ένα συνδυαστικό κύκλωµα µε ανατροφοδότηση αποτελεί ουσιαστικά ένα ασύγχρονο ακολουθιακό κύκλωµα. Παρουσιάζουν προβλήµατα αστάθειας λόγω της υπάρχουσας ανατροφοδότησης (feedback).

6 6 ΕΝΟΤΗΤΑ.. FLIP-FLOPS Για να µπορέσουµε να παρακολουθήσουµε την αλληλουχία κάποιων γεγονότων, θα πρέπει να έχουµε ένα κύκλωµα, το οποίο να µπορεί να "θυµάται", δηλαδή να έχει µνήµη (memory). Το απλούστερο και πιο διαδεδοµένο κύτταρο µνήµης είναι ο δισταθής πολυδονητής (bistable multivibrator), ο οποίος ονοµάζεται flip-flop (FF). Ας δούµε λοιπόν πώς κατασκευάζεται ένα τέτοιο κύκλωµα, χρησιµοποιώντας τις γνωστές µας πύλες NOR και NAND.... ΤΟ ΒΑΣΙΚΟ FLIP-FLOP Flip-flop µε πύλες NOR Vcc S Y Q S Y (α) Σχήµα.2 Q Χρόνος t0 t t2 Από εδώ και µετά 'Εναρξη το Q "θυµάται" ότι τροφοδοσίας το S είχε γίνει ON (power on) (β) (α) Το κύκλωµα flip, (β) Τα διάγραµµα χρονισµού του. Ας αρχίσουµε από το απλό κύκλωµα του Σχήµατος.2, το οποίο έχει θετική ανατροφοδότηση (ανάδραση). Ας θεωρήσουµε ότι, θέτοντας το κύκλωµα στην τροφοδοσία (power on), ο διακόπτης είναι γειωµένος (S=0) και η έξοδος Q=0. Η έξοδος της πύλης NOR είναι σε κατάσταση HIGH (Y=). Το κύκλωµα ηρεµεί στην κατάσταση αυτή µέχρι τη χρονική στιγµή t, που ο διακόπτης εισόδου αλλάζει θέση και γίνεται S=. Τότε γίνεται Y=0 και Q=. Η νέα κατάσταση του κυκλώµατος είναι πλέον και η µόνιµη κατάστασή του. Ακόµη και αν επαναφέρουµε το διακόπτη στην αρχική του θέση S=0 (τη χρονική στιγµή t 2 ), η έξοδος παραµένει στην κατάσταση Q=, γιατί το Q αυτό επανατροφοδοτείται στη µία από τις δύο εισόδους της πύλης NOR, κρατώντας την έξοδό της στο λογικό 0 (Υ=0). Με άλλα λόγια, το λογικό αυτό κύκλωµα "θυµάται" ότι η είσοδος S έγινε κάποτε "" (ΟΝ). Το πρόβληµά του, όµως, είναι ότι παραµένει στην κατάσταση αυτή για όσο χρόνο είναι στην τροφοδοσία. Το κύκλωµα άλλαξε κατάσταση

7 7 (flip) µε την αλλαγή της θέσης του διακόπτη, αλλά δεν επανέρχεται. Πρόκειται για απλό κύκλωµα, που ονοµάζεται "flip" λόγω του τρόπου λειτουργίας του, µε περιορισµένες όµως δυνατότητες χρήσης. Το διάγραµµα χρονισµού του δίνεται στο Σχήµα.2(β). Ας αντικαταστήσουµε τον αντιστροφέα του προηγούµενου σχήµατος µε µία πύλη NOR, όπως δείχνεται στο Σχήµα.3(α). Το κύκλωµα έχει τώρα δύο εισόδους, τις S και R, όπως φαίνεται και στο Σχήµα.3(β), και ονοµάζεται SR flip-flop ή πιο σωστά SR µανταλωτής (SR latch). Όπως θα δούµε αναλυτικά στη συνέχεια, ο µανταλωτής είναι ένας τύπος flip-flop χωρίς ρολόι ή µε ρολόι, το οποίο είναι ευαίσθητο στη διάρκεια του παλµού (level-sensitive clock). Οι είσοδοι S και R πήραν την ονοµασία τους από τα αρχικά γράµµατα των λέξεων SET και RESET αντίστοιχα. Η απόδοση της λέξης SET στην ελληνική γλώσσα θα είναι "ενεργοποίηση" ή "καθορισµός της εξόδου στο λογικό ", ενώ εκείνη της λέξης RESET θα είναι "απενεργοποίηση" ή "εκκαθάριση" ή "µηδενισµός" ή "επαναφορά" της εξόδου. Με τη λέξη έξοδο εννοούµε την Q η οποία αποτελεί και την κατάσταση (state) του FF, ενώ η έξοδος Q είναι συµπληρωµατική της Q. R (RESET) Q S (SET) Q' (α) Σχήµα.3 (β) SR µανταλωτής κατασκευασµένος µε πύλες NOR. R S 2 Q Q' S R Q Q' απροσδιόριστη S R Q FF Q' (α) (β) (γ) Σχήµα.4 SR µανταλωτής µε πύλες NOR: (α) λογικό διάγραµµα, (β) πίνακας αλήθειας, (γ) σύµβολο. Ας παρακολουθήσουµε, όµως, τη λειτουργία του κυκλώµατος του Σχήµατος.3. Για λόγους καλύτερης κατανόησης, το κύκλωµα αυτό επαναλαµβάνεται στο Σχήµα.4 µαζί µε τον πίνακα αλήθειας και το απλοποιηµένο σύµβολό του. Έστω S= και R=0. Τότε η

8 8 έξοδος Q' της πύλης 2 είναι 0, ανεξάρτητα από την τιµή της άλλης εισόδου της πύλης αυτής. Συνεπώς, η πύλη έχει και τις δύο εισόδους της στο λογικό 0 και άρα Q=, δηλαδή, για S=, R=0 πήραµε Q= (και Q'=0). Με άλλα λόγια, ενεργοποιήσαµε το FF ή καθορίσαµε την κατάσταση του FF να γίνει (SET). Αν τώρα αλλάξουµε την τιµή της εισόδου S και την κάνουµε 0 (S=0), αυτή η αλλαγή δεν επηρεάζει την κατάσταση του FF, η οποία παραµένει στο λογικό (2η γραµµή του πίνακα αλήθειας του Σχήµατος.4(β)). Αυτό συµβαίνει, διότι η άλλη είσοδος της πύλης 2 εξακολουθεί να είναι στο λογικό. Μπορούµε, εποµένως, να πούµε ότι το FF "θυµάται" την προηγούµενη κατάσταση. (Σηµειώνεται εδώ ότι οι τιµές του πίνακα εφαρµόζονται µε τη σειρά που δείχνονται στο Σχήµα.4(β). Αυτό υποδεικνύεται και από τη φορά της διαχωριστικής γραµµής µεταξύ των τιµών εισόδου και εξόδου του πίνακα). Ας συνεχίσουµε την ανάλυσή µας, αλλάζοντας αυτή τη φορά την τιµή της εισόδου R και θέτοντας αυτή στο λογικό, δηλαδή R= και S=0. Για R= η έξοδος της πύλης γίνεται 0 (Q=0) και κατά συνέπεια η έξοδος της πύλης 2 γίνεται (Q'=), αφού και στις δύο εισόδους της εφαρµόζεται το λογικό 0. Άρα, για S=0 και R= επιτύχαµε την "εκκαθάριση" ή "µηδενισµό" (RESET) του FF. Αν επαναφέρουµε την είσοδο R στο λογικό 0, οπότε S=0 και R=0, η κατάσταση του FF δεν αλλάζει, δηλαδή Q=0 και Q'=. Άρα και πάλι µπορούµε να πούµε ότι το FF "θυµάται" την προηγούµενη κατάστασή του. Συνοψίζοντας µέχρι το σηµείο αυτό, θα µπορούσαµε να ισχυριστούµε ότι έχουµε καταφέρει να σχεδιάσουµε ένα βασικό στοιχείο µνήµης, στο οποίο έχουµε τη δυνατότητα να αποθηκεύσουµε ένα δυαδικό ψηφίο ή 0, ανάλογα αν S= και R=0 ή S=0 και R=. Στην κανονική του λειτουργία και οι δύο είσοδοι S και R είναι στο λογικό 0. Αλλάζουµε κάποια από τις δύο εισόδους, µόνο όταν θέλουµε να αποθηκεύσουµε ένα νέο δεδοµένο. Μετά την είσοδο του νέου δεδοµένου, οι είσοδοι S και R επαναφέρονται στο λογικό 0. Με άλλα λόγια, όταν και οι δύο είσοδοι του FF είναι στο λογικό 0, τότε αυτό "θυµάται" ποια από τις δύο άλλαξε τελευταία. Τι θα συµβεί, όµως, εάν και οι δύο είσοδοι S και R γίνουν (S=, R=); Στην περίπτωση αυτή και οι δύο έξοδοι των πυλών και 2 γίνονται 0 (Q=0, Q'=0). Αυτές οι τιµές εξόδου αντιφάσκουν µε το γεγονός της συµπληρωµατικότητάς τους, δηλαδή ότι η µία (Q) να είναι συµπληρωµατική της άλλης (Q'). Εάν µάλιστα συνεχίσουµε, επαναφέροντας τις εισόδους στο λογικό 0 (S=0, R=0, τελευταία γραµµή του πίνακα αλήθειας του Σχήµατος.4(β)), τότε η κατάσταση (έξοδος) του FF θα είναι απροσδιόριστη. Εάν η είσοδος S γίνει 0, αφού ήδη έχει γίνει 0 η είσοδος R, τότε η

9 9 έξοδος θα γίνει (Q=). Αν όµως η είσοδος R καθυστερήσει περισσότερο από την S να µεταβεί στο λογικό 0 (οπότε στιγµιαία θα έχουµε S=0 και R=), τότε η έξοδος Q θα παραµείνει στο λογικό 0 (Q=0). Είναι φανερό ότι η περίπτωση S=R= του πίνακα αλήθειας πρέπει να αποφεύγεται. Παράδειγµα / Κεφάλαιο Ας σχεδιάσουµε την κυµατοµορφή της εξόδου Q του SR µανταλωτή του Σχήµατος.4, όταν στις εισόδους του εφαρµόζονται οι παλµοσειρές του Σχήµατος.5. S R Q t0 t t2 t3 t4 t5 t6 t7 t8 t9 t0 Σχήµα.5 ιάγραµµα χρονισµού του SR µανταλωτή του Παραδείγµατος / Κεφάλαιο. Η κυµατοµορφή της εξόδου Q δείχνεται στο ίδιο το Σχήµα.5. Παρατηρούµε ότι πριν τη χρονική στιγµή t 0 έχουµε S=0 και R= οπότε Q=0. Κατά τη χρονική στιγµή t η είσοδος S γίνεται (S=, R=0), οπότε το FF ενεργοποιείται (Q=). Παραµένει στην κατάσταση αυτή µέχρι τη στιγµή t 3, οπότε το R γίνεται (S=0, R=). Τότε το FF µηδενίζεται (Q=0). Τη στιγµή t 5 η είσοδος R γίνεται και πάλι (S=0, R=). Αυτό συνεπάγεται µηδενισµό της εξόδου, η οποία όµως ήδη βρίσκεται σε κατάσταση 0. Άρα, δεν παρατηρούµε καµία αλλαγή στην έξοδο µέχρι τη χρονική στιγµή t 7, οπότε η είσοδος S γίνεται (S=, R=0). Η έξοδος µεταβαίνει στο λογικό και παραµένει εκεί, µέχρις ότου παρουσιαστεί ο παλµός εκκαθάρισης τη χρονική στιγµή t 9 (S=0, R=). Σηµείωση. Στο προηγούµενο παράδειγµα αποφύγαµε την περίπτωση, κατά την οποία και οι δύο είσοδοι S και R είναι S=R=. 2. Σε όλες τις προηγούµενες κυµατοµορφές θεωρήσαµε ότι οι λογικές πύλες είναι ιδανικά στοιχεία µε µηδενικό χρόνο αλλαγής της λογικής κατάστασης, δηλαδή δεν

10 0 έχουµε καθυστερήσεις διάδοσης (propagation delays). Έτσι, τη στιγµή t εφαρµόζουµε τον παλµό εισόδου και την ίδια στιγµή t αλλάζει η έξοδος Q του κυκλώµατος. Flip-flop µε πύλες NAND Θα µπορούσαµε να κατασκευάσουµε ένα βασικό FF µε πύλες NAND αντί για πύλες NOR, όπως δείχνεται στο Σχήµα.6. Ο τρόπος λειτουργίας είναι περίπου παρόµοιος και αφήνεται ως άσκηση στον αναγνώστη να βρεί τις αναλογίες. Παρατηρούµε ότι µπορούµε και πάλι να αποθηκεύουµε ένα δυαδικό ψηφίο πληροφορίας µε κατάλληλο συνδυασµό των λογικών τιµών των εισόδων. Εδώ ο συνδυασµός S=R=0 είναι αυτός που πρέπει να αποφεύγεται. S R Q Q' S R Q Q' απροσδιόριστη S R Q FF Q' (α) (β) (γ) Σχήµα.6 SR µανταλωτής µε πύλες NAND: λογικό διάγραµµα, (β) πίνακας αλήθειας, (γ) σύµβολο...2. ΧΡΟΝΙΖΟΜΕΝΑ FF ΤΥΠΟΥ SR Τα FF τύπου SR της προηγούµενης παραγράφου είναι εξαιρετικά ευαίσθητα στους οποιουσδήποτε ανεπιθύµητους παλµούς µικρού εύρους (αιχµές, glitches), που θα παρουσιασθούν στις εισόδους τους. Αυτοί οι παλµοί θα µπορούσαν να προκύψουν λόγω της διαφορετικής καθυστέρησης, που υφίσταται ένας παλµός µέσα από ένα συνδυαστικό κύκλωµα (hazards). Για να αποφύγουµε τέτοια προβλήµατα, συγχρονίζουµε τις εισόδους του FF, προσθέτοντας ένα επιπλέον επίπεδο πυλών AND ή NAND, όπως δείχνεται στο Σχήµα.7.

11 R RESET Q S SET Q S SET Q' R RESET Q' (α) (β) Qt S R Qt απροσδιόριστη απροσδιόριστη S R Q t+ 0 0 Q t απροσδιόριστη S R Q Q' (γ) (δ) (ε) Σχήµα.7 Χρονιζόµενο SR FF: (α) µε πύλες NOR, (β) µε πύλες NAND, (γ), (δ) πίνακες λειτουργίας, (ε) σύµβολο. Έτσι, µόνον όταν ο παλµός του ρολογιού (clock, ) είναι στο λογικό (=), επιτρέπεται οι τιµές των S και R να "περάσουν" στις εισόδους SET και RESET και να επηρεάσουν τη λειτουργία του FF. Όταν =0, τότε οι είσοδοι S και R δεν µπορούν να επηρεάσουν το FF και το κύκλωµα παραµένει στην προηγούµενη κατάστασή του. Παρατηρούµε, συνεπώς, ότι οι επιπλέον πύλες AND ή NAND παίζουν το ρόλο της πύλης, η οποία ελέγχεται από την είσοδο του ρολογιού. Γι' αυτό και η είσοδος αναφέρεται πολλές φορές και ως πύλη ενεργοποίησης (gate enable). Η όλη λειτουργία των κυκλωµάτων του Σχήµατος.7 αναλύεται στον πίνακα του Σχήµατος.7(γ), ο οποίος ονοµάζεται πίνακας λειτουργίας ή χαρακτηριστικός πίνακας (function table) του FF. Παρατηρούµε ότι στο αριστερό µέρος του πίνακα έχει συµπεριληφθεί και η κατάσταση του FF, πριν εφαρµοσθεί ο ωρολογιακός παλµός. Αυτή συµβολίζεται ως Q t. ηλαδή, αν γνωρίζουµε την κατάσταση του FF, πριν εφαρµοσθεί ο ωρολογιακός παλµός, καθώς και τις τιµές των εισόδων S, R, µπορούµε να βρούµε σε ποια κατάσταση θα βρεθεί αυτό (Q t+ ) µετά την εφαρµογή του παλµού. Έτσι, αν και οι δύο είσοδοι S και R είναι 0 (S=R=0), τότε το κύκλωµα παραµένει ("θυµάται") στην προηγούµενη κατάστασή του, δηλαδή Q t+ =Q t. Αν οι δύο είσοδοι είναι διαφορετικές (S R), τότε η έξοδος θα έχει την ίδια τιµή µε αυτή της εισόδου S. Αν και οι δύο είσοδοι S και R είναι στο λογικό (S=R=), τότε η έξοδος είναι απροσδιόριστη, όπως εξηγήσαµε και στην προηγούµενη ενότητα. Η κατάσταση αυτή πρέπει να αποφεύγεται. Με βάση αυτές τις παρατηρήσεις, µπορούµε να συµπτύξουµε τον πίνακα του Σχήµατος.7(γ) στον πιο περιεκτικό πίνακα

12 2 λειτουργίας του Σχήµατος.7(δ). Παρατηρείστε ότι η είσοδος του ρολογιού δεν συµπεριλαµβάνεται στον πίνακα λειτουργίας του κυκλώµατος. Μέχρι εδώ, έχουµε καταφέρει να θωρακίσουµε το FF µας από ανεπιθύµητες αιχµές που παρουσιάζονται στα κυκλώµατα, συγχρονίζοντας τη λειτουργία του σύµφωνα µε τους παλµούς ενός ρολογιού. εν έχουµε όµως επιλύσει ακόµα το πρόβληµα της απροσδιοριστίας τη στιγµή που και οι δύο είσοδοι είναι! Παράδειγµα 2 / Κεφάλαιο Να σχεδιασθεί η κυµατοµορφή της εξόδου Q ενός χρονιζόµενου SR FF (µανταλωτή) για τις κυµατοµορφές εισόδου του Σχήµατος.8. S R Q t t2 t3 t4 t5 t6 t7t8 t9t0 Σχήµα.8 Κυµατοµορφές εισόδου-εξόδου του Παραδείγµατος 2 / Κεφ. Παρατηρούµε ότι ο παλµός της εισόδου S ο οποίος παρουσιάστηκε µεταξύ t 5 και t 6, δεν επηρέασε το FF, γιατί στο χρονικό εκείνο διάστηµα ο παλµός του ρολογιού ήταν στο λογικό 0 (=0). Αντίθετα, ο παλµός της εισόδου S µεταξύ t 7 και t 8, όπως και το τµήµα του παλµού της εισόδου R µεταξύ της t 9 και t 0, επηρέασαν το κύκλωµα, γιατί παρουσιάσθηκαν στη διάρκεια που ο παλµός του ρολογιού ήταν στο λογικό. Άσκηση Αυτοαξιολόγησης / Κεφάλαιο Στις εισόδους S, R και ενός χρονιζόµενου SR FF (Σχήµα.7) εφαρµόζονται οι κυµατοµορφές του Σχήµατος.9. Να σχεδιάσετε την κυµατοµορφή της εξόδου Q του κυκλώµατος.

13 3 S R Σχήµα.9 Κυµατοµορφές εισόδου ενός συγχρονισµένου SR µανταλωτή..3. FF ΤΥΠΟΥ D Αν στο χρονιζόµενο SR FF, που εξετάσαµε προηγουµένως, προσθέσουµε έναν αντιστροφέα µεταξύ των εισόδων του, τότε παίρνουµε το FF τύπου D του Σχήµατος.0. Ουσιαστικά έχουµε επιτύχει να λειτουργούµε το κύκλωµα µόνο για τις περιπτώσεις της 2ης και 3ης γραµµής του πίνακα λειτουργίας του Σχήµατος.7(δ). Έτσι, εάν D=0, τότε Q=0, ενώ, εάν D=, τότε Q=. Αυτά συµβαίνουν υπό την προϋπόθεση ότι G= (=). Είναι σηµαντικό να τονισθεί ότι η έξοδος Q ακολουθεί το δεδοµένο εισόδου D σε όλη τη διάρκεια που ο ωρολογιακός παλµός είναι στο λογικό (G=). Όταν ο παλµός αυτός µεταβεί στο 0, στην έξοδο Q παραµένει η τελευταία τιµή που είχε αυτή ακριβώς, πριν τη µετάβαση του παλµού από το στο 0. Το FF αυτό ονοµάζεται και µανταλωτής D (D latch), παίρνοντας το όνοµά του από τη δυνατότητα φύλαξης δεδοµένων (data) σ' αυτόν. D G S R Q Q' D Q t+ 0 0 D G Q Q' Σχήµα.0 (α) (β) (γ) FF τύπου D (µανταλωτής D): (α) λογικό κύκλωµα, (β) πίνακας λειτουργίας, (γ) σύµβολο.

14 4 Παράδειγµα 3 / Κεφάλαιο Σχεδιάστε την κυµατοµορφή της εξόδου Q για τις εισόδους D και G του Σχήµατος.. G D Q t t2 t3 t4 t5 Η έξοδος Q κρατά την τιµή που είχε η είσοδος D πριν "πέσει" ο ωρολογιακός παλµός H έξοδος Q παρακολουθεί την είσοδο D, µέχρι να "πέσει" ο ωρολογιακός παλµός, οπότε και "µανταλώνει" στην τελευταία τιµή Κατά τη διάρκεια που ο ωρολογιακός παλµός είναι στο λογικό, η έξοδος Q παρακολουθεί την είσοδο D Σχήµα. Κυµατοµορφές εισόδου-εξόδου του µανταλωτή τύπου D του Παραδείγµατος 3 / Κεφάλαιο..4. JK FLIP-FLOP Η απροσδιόριστη κατάσταση του SR FF θα µπορούσε να αποφευχθεί τροποποιώντας το κύκλωµα του Σχήµατος.7(α), όπως δείχνεται στο Σχήµα.2(α), όπου ανατροφοδοτούµε τις εξόδους στις εισόδους. Το νέο αυτό κύκλωµα ονοµάζεται JK flipflop. Η λειτουργία του είναι ακριβώς ίδια µε εκείνη του SR, µε µόνη διαφορά ότι το κύκλωµα αυτό δεν έχει απροσδιόριστη κατάσταση, όταν και οι δύο είσοδοί του είναι στο λογικό. Οι είσοδοι J και Κ συµπεριφέρονται όπως οι είσοδοι S και R, δηλαδή, όταν αυτές είναι διαφορετικές µεταξύ τους, η J ενεργοποιεί (sets) το FF, ενώ η K το απενεργοποιεί (resets). Όταν J=K= και φυσικά η είσοδος του ρολογιού είναι (=), τότε η κατάσταση του FF αντιστρέφεται, δηλαδή από γίνεται 0 και από 0 γίνεται. Ας παρακολουθήσουµε, όµως, για λίγο τη λειτουργία του JK flip-flop.

15 5 K J 2 RESET SET Q Q' J K Q t+ 0 0 Q t Q t (β) J Q K Q' (γ) (α) Σχήµα.2 Flip-flop τύπου JK: (α) λογικό κύκλωµα, (β) πίνακας λειτουργίας, (γ) σύµβολο. Έστω ότι Q=0 (οπότε Q'=), J= και K=0. Τότε, κατά τη διάρκεια που ο παλµός του ρολογιού είναι (=), η έξοδος της πρώτης πύλης AND θα είναι 0 και η έξοδος της δεύτερης πύλης AND θα είναι. Κατά συνέπεια, οι είσοδοι RESET και SET του βασικού FF θα είναι 0 και αντίστοιχα, αναγκάζοντας την έξοδό του να µεταβεί στην κατάσταση Q= (και άρα Q'=0). Παρατηρούµε, εποµένως, ότι για J= και Κ=0 η κατάσταση του JK FF έγινε Q=. [Αφήνεται ως εξάσκηση στον αναγνώστη η ανάλυση της λειτουργίας του κυκλώµατος, στην περίπτωση κατά την οποία το FF βρίσκεται και πάλι στην κατάσταση Q=0, αλλά οι είσοδοι που εφαρµόζονται είναι J=0 και Κ=]. Είδαµε, λοιπόν, ότι για J= και K=0 η έξοδος του JK FF έγινε Q=. Έστω τώρα ότι εφαρµόζουµε και στις δύο εισόδους λογικό (J=K=). Όταν ο παλµός του ρολογιού γίνει, τότε η έξοδος της πύλης θα είναι στο λογικό (άρα RESET=), ενώ η έξοδος της πύλης 2 θα είναι στο λογικό 0 (άρα SET=0), αφού Q'=0. Η έξοδος του βασικού FF για SET=0 και RESET= γίνεται 0 (Q=0). ιαπιστώνουµε, εποµένως, ότι το FF άλλαξε κατάσταση και από Q= έγινε Q=0. Συνεχίζοντας την ανάλυσή µας µπορούµε να δούµε ότι, αν η κατάσταση του FF είναι Q=0 και οι είσοδοι J=K=, τότε, όταν ο παλµός του ρολογιού είναι, θα επιτρέψει στις εξόδους των AND πυλών και 2 να γίνουν 0 και αντίστοιχα. Αποτέλεσµα αυτού θα είναι το βασικό FF να ενεργοποιηθεί, αφού SET= και RESET=0, οπότε η έξοδος να γίνει Q=, δηλαδή η κατάσταση του JK FF από 0 έγινε. Παρατηρούµε εποµένως ότι όταν J=K= και εφόσον =, η κατάσταση του JK FF αλλάζει, µεταβαίνοντας κάθε φορά στη συµπληρωµατική αυτής στην οποία ήταν. Αυτός ο τρόπος λειτουργίας του JK FF είναι πολύ χρήσιµος, ειδικά στη σχεδίαση απαριθµητών...5. Τ FLIP-FLOP

16 6 Πρόκειται για µία παραλλαγή του JK FF, που µόλις εξετάσαµε. Προκύπτει άµεσα από το JK FF συνδέοντας µαζί και τις δύο εισόδους του (Σχήµα.3). Όπως είναι επόµενο, ο πίνακας λειτουργίας του Τ FF αποτελείται ουσιαστικά από την πρώτη και τέταρτη γραµµή του αντίστοιχου πίνακα λειτουργίας του JK FF (Σχήµα.2(β)). Όταν Τ=0 το FF παραµένει στην προηγούµενη κατάσταση ("θυµάται"), ενώ, όταν Τ=, αυτό µεταβαίνει στη συµπληρωµατική της προηγούµενης κατάστασής του, όπως ήδη έχουµε εξηγήσει αναλυτικά. Αυτή ακριβώς η λειτουργία του, δηλαδή της µετάπτωσης από τη µία λογική στάθµη στην άλλη (toggle), έδωσε και την ονοµασία στο συγκεκριµένο FF. T RESET Q T Q t+ 0 Q t Q t T Q Q' SET Q' (β) (γ) Σχήµα.3 (α) Flip-flop τύπου Τ: (α) λογικό κύκλωµα, (β) πίνακας λειτουργίας, (γ) σύµβολο. Άσκηση Αυτοαξιολόγησης 2 / Κεφάλαιο Θα µπορούσατε να µετατρέψετε ένα JK FF σε D FF; Σύνοψη Ενότητας Στην ενότητα αυτή παρουσιάσαµε αναλυτικά όλους τους τύπους των flip-flops. Αρχίσαµε από το βασικό RS FF, το οποίο κατασκευάστηκε µε δύο πύλες NOR ή NAND των δύο εισόδων. Η έξοδος καθεµιάς από αυτές τροφοδοτούσε την είσοδο της άλλης. Στη συνέχεια, συγχρονίσαµε το βασικό αυτό FF, προσθέτοντας ένα ακόµη επίπεδο πυλών, ώστε οποιαδήποτε αλλαγή στις εισόδους και κατά συνέπεια στην κατάστασή του να γίνεται σύµφωνα µε τους παλµούς ενός ρολογιού. Τροποποιώντας το χρονιζόµενο SR FF, µπορέσαµε να κατασκευάσουµε τον D µανταλωτή, στοιχείο χρήσιµο για την αποθήκευση δεδοµένων. Ακολούθως, προχωρήσαµε στην ανάλυση του JK FF και του T FF, που προκύπτει από το JK µε απλή βραχυκύκλωση των εισόδων J, K.

17 7 ΕΝΟΤΗΤΑ.2. ΠΥΡΟ ΟΤΗΣΗ ΤΩΝ FLIP-FLOPS Το JK FF, όπως και το Τ FF, που αναλύσαµε στην προηγούµενη ενότητα, παρουσιάζει την εξής αδυναµία: Όταν = και J=K= (ή Τ=), τότε αυτό αλλάζει κατάσταση. Παρατηρείστε ότι λόγω της ανατροφοδότησης που υπάρχει, αυτό θα συνεχίζει να αλλάζει καταστάσεις για όσο χρονικό διάστηµα ο παλµός του ρολογιού βρίσκεται στο. Πόσο συχνά αλλάζει καταστάσεις; Όση είναι η καθυστέρηση διάδοσης του σήµατος µέσα από το FF. Στην προκειµένη περίπτωση αυτή είναι ίση µε την καθυστέρηση 3 πυλών. Αυτό σηµαίνει πως για τη βασική σειρά TTL, στην οποία κάθε πύλη εισάγει καθυστέρηση 0ns, η συνολική καθυστέρηση του FF θα είναι 30ns. Άρα, µία πρώτη αντιµετώπιση του προβλήµατος αυτού θα ήταν οι παλµοί του ρολογιού να έχουν εύρος στο λογικό µικρότερο από την καθυστέρηση διάδοσης του σήµατος µέσα από το FF, δηλαδή µικρότερο των 30 ns. Αυτή η απαίτηση είναι εξαιρετικά δεσµευτική και δεν χρησιµοποιείται στην πράξη. Το πρόβληµα αυτό µπορεί να αντιµετωπισθεί µε δύο διαφορετικούς τρόπους: (α) µε JK FFs τύπου κύριο - εξαρτηµένο (master - slave) και (β) µε FFs, τα οποία ενεργοποιούνται κατά την άνοδο ή κάθοδο του παλµού του ρολογιού (ακµοπυροδοτούµενα, edge-triggered) και όχι κατά τη διάρκεια του παλµού. Αυτές τις δύο τεχνικές κατασκευής των FFs θα εξετάσουµε αµέσως τώρα..2.. ΚΥΡΙΟ - ΕΞΑΡΤΗΜΕΝΟ JK FLIP-FLOP Αυτό αποτελείται από δύο FFs (SR µανταλωτές), οι οποίοι είναι συνδεδεµένοι έτσι ώστε οι έξοδοι του ενός να τροφοδοτούν τις εισόδους του άλλου, όπως δείχνεται στο Σχήµα.4(α). Το βασικό είναι ότι τα δύο FFs λειτουργούν µε συµπληρωµατικούς παλµούς ρολογιού. Όταν =, το πρώτο FF ενεργοποιείται, ενώ το δεύτερο είναι απενεργοποιηµένο. Το αντίθετο συµβαίνει, όταν ο παλµός του ρολογιού γίνει 0 (=0). Έτσι, σε όλη τη διάρκεια που ο παλµός =, το εξαρτηµένο FF δεν µπορεί να αλλάξει κατάσταση και, κατά συνέπεια, οι είσοδοι του πρώτου FF από ανατροφοδότηση µένουν σταθερές στην κατάσταση που ήταν. Ας παρακολουθήσουµε, όµως, τη λειτουργία του λίγο πιο αναλυτικά. Έστω ότι J=K= και Q= (Q'=0). Λόγω των ανατροφοδοτήσεων, η πύλη θα είναι απενεργοποιηµένη και η πύλη 2 θα είναι ενεργοποιηµένη, επιτρέποντας έτσι στην έξοδο Q (έξοδος του κύριου FF) να γίνει 0, όταν ο παλµός µεταβαίνει στο λογικό (HIGH). Όταν ο παλµός του ρολογιού επιστρέφει στο λογικό 0 (=0), οι έξοδοι των

18 8 πυλών και 2 γίνονται 0. Οι πύλες όµως 3 και 4 ενεργοποιούνται, επιτρέποντας τα δεδοµένα των εισόδων τους να περάσουν από αυτές και να επηρεάσουν την κατάσταση του εξαρτηµένου FF. Στην προκειµένη περίπτωση έχουµε S 2 =Q =0, R 2 =Q' =, οπότε Q 2 =0 και Q' 2 =. ηλαδή στο εξαρτηµένο FF έγινε εκκαθάριση (reset), οπότε και Q=0. Άρα, το κύριο - εξαρτηµένο FF για J=K= άλλαξε κατάσταση και από έγινε 0. J Κύριο S Q R Q' 3 Εξαρτηµένο S2 Q2 R2 Q'2 Q Q' J K Q Q' K 2 4 (β) (α) Σχήµα.4 Κύριο - εξαρτηµένο JK Flip-Flop: (α) λογικό κύκλωµα, (β) σύµβολο. Αν διατηρήσουµε τις εισόδους J και K στο λογικό και εφόσον Q=0, η έλευση της επόµενης υψηλής στάθµης (HIGH) στην είσοδο του ρολογιού θα επιτρέψει στην πύλη να ενεργοποιηθεί, οπότε S =. Η έξοδος της πύλης 2 είναι 0, αφού Q=0. Έτσι, για S =, R =0 το κύριο FF ενεργοποιείται (Q =). Με την πτώση του παλµού του ρολογιού (=0), οι πύλες και 2 δίνουν έξοδο 0 και άρα το κύριο FF παραµένει στην κατάσταση που ήταν, δηλαδή Q =. Όµως οι πύλες 3 και 4 επιτρέπουν πλέον να περάσουν τα δεδοµένα των εισόδων τους και έτσι S 2 = και R 2 =0. Με αυτές τις τιµές των S 2 και R 2 το εξαρτηµένο FF ενεργοποιείται (Q 2 =), οπότε και Q=. Παρατηρούµε, εποµένως, ότι το κύριο - εξαρτηµένο JK FF λειτουργεί ακριβώς, όπως το JK FF που γνωρίσαµε στην υποενότητα.2.4 και δεν παρουσιάζει το πρόβληµα των συνεχών αλλαγών καταστάσεων για J=K==. Από την όλη ανάλυση θα µπορούσαµε να πούµε ότι το κύριο - εξαρτηµένο FF εισάγει τα δεδοµένα στο κύριο FF, όταν το ωρολόγιο είναι (HIGH), και µεταφέρει το αποτέλεσµα στο εξαρτηµένο FF, όταν το ωρολόγιο πηγαίνει στο 0 (LOW), όπως φαίνεται στο Σχήµα.5 για την περίπτωση κατά την οποία J=K=, που µόλις περιγράψαµε.

19 9 Q κύριο Q2=Q εξαρτηµένο Σχήµα.5 Κυµατοµορφές της εισόδου και των εξόδων του κύριου και του εξαρτηµένου FF για J=K= Παράδειγµα 4 / Κεφάλαιο Να σχεδιάσετε την κυµατοµορφή εξόδου ενός κύριου - εξαρτηµένου JK FF για τις κυµατοµορφές εισόδου του Σχήµατος.6. Θεωρείστε ότι αρχικά είχαµε Q=0. J K Q Το κύριο FF γίνεται (set) Το εξαρτηµένο FF "διαβάζει" την κατάσταση του κύριου FF Ο παλµός εκκαθάρισης αγνοείται Το κύριο FF γίνεται 0 (reset) Το εξαρτηµένο FF "διαβάζει" την κατάσταση του κύριου FF Αρχικά είχαµε J=0, Κ=, οπότε Q=0 (reset). Ακολούθως J=, K=0, οπότε Q= (set). Τέλος, J=K=0, οπότε η έξοδος Q του κύριου FF παραµένει στο λογικό. Αυτή είναι και η κατάσταση που θα διαβάσει το εξαρτηµένο µε την πτώση του. Το εξαρτηµένο FF "διαβάζει" την κατάσταση του κύριου FF Σχήµα.6 Κυµατοµορφές εισόδου-εξόδου ενός JΚ FF τύπου κύριο-εξαρτηµένο

20 20 Άσκηση Αυτοαξιολόγησης 3 / Κεφάλαιο Σχεδιάστε την κυµατοµορφή εξόδου ενός κύριου-εξαρτηµένου JK FF για τις κυµατοµορφές εισόδου του Σχήµατος.7. Θεωρείστε ότι αρχικά η έξοδος είναι Q=0. J K Σχήµα.7 Κυµατοµορφές εισόδου του κύριου-εξαρτηµένου JK FF Τα κύρια-εξαρτηµένα FF ονοµάζονται παλµο-πυροδοτούµενα ή επιπεδοπυροδοτούµενα (pulse-triggered ή level-triggered), διότι ενεργοποιούνται στη διάρκεια του παλµού του ρολογιού ( ) και όχι κατά τη στιγµή που ο παλµός αλλάζει κατάσταση από HIGH σε LOW ( ) ή από LOW σε HIGH ( ). Έτσι, τα δεδοµένα εισόδου διαβάζονται σε όλη τη διάρκεια που ο παλµός του ρολογιού είναι HIGΗ. Το γεγονός αυτό εξακολουθεί να µας δηµιουργεί κάποιο πρόβληµα. Έστω, για παράδειγµα, ότι J= και K=0, οπότε η έξοδος του κύριου-εξαρτηµένου JK FF γίνεται Q=. J K Q Σχήµα.8 Εσφαλµένη κατάσταση Ένας ανεπιθύµητος παλµός στην είσοδο Κ ενός κύριου - εξαρτηµένου JK FF οδήγησε εσφαλµένα στην αλλαγή κατάστασης αυτού. Ένας ανεπιθύµητος θετικός παλµός µικρού εύρους (σπινθήρας, spike) στην είσοδο Κ, κατά τη διάρκεια που ο ωρολογιακός παλµός είναι HIGH, οδηγεί σε εκκαθάριση του κύριου FF (Q =0). Αυτή η κατάσταση µεταφέρεται µε την πτώση του ωρολογιακού

21 2 παλµού στην έξοδο του εξαρτηµένου FF, οπότε τελικά Q=0. Το αποτέλεσµα είναι το κύριο-εξαρτηµένο JK FF εσφαλµένα να αλλάξει κατάσταση (βλ. Σχήµα.8). Το ίδιο θα συνέβαινε, αν J=0 και Κ=, οπότε Q=0. Η εµφάνιση ενός θετικού σπινθήρα στην είσοδο J θα οδηγούσε εσφαλµένα στην αλλαγή κατάστασης του FF. Τη λύση σε όλα αυτά τα προβλήµατα µας τη δίνει η σχεδίαση FFs που να είναι ευαίσθητα κατά τη στιγµή που αλλάζει κατάσταση ο ωρολογιακός παλµός και όχι, όταν αυτός βρίσκεται σε µια συγκεκριµένη λογική στάθµη. Αυτά ονοµάζονται ακµοπυροδοτούµενα (edge-triggered) και εξετάζονται στην ενότητα που ακολουθεί ΑΚΜΟΠΥΡΟ ΟΤΟΥΜΕΝΑ FLIP-FLOPS Ακµοπυροδοτούµενα FFs είναι αυτά, τα οποία είναι έτσι σχεδιασµένα, ώστε να είναι ευαίσθητα κατά την αλλαγή της λογικής στάθµης του ωρολογιακού παλµού. Όταν ο ωρολογιακός παλµός µεταβαίνει από το 0 (LOW) στο (HIGH), τότε λέµε ότι έχουµε µία θετική µετάβαση (βλ. Σχήµα.9) και τα FF, που είναι ευαίσθητα κατά τη µετάβαση αυτή ονοµάζονται θετικά ακµοπυροδοτούµενα FFs (positive edge-triggered FFs). Στην αντίθετη περίπτωση, δηλαδή για µετάβαση από (HIGH) σε 0 (LOW), έχουµε τα αρνητικά ακµοπυροδοτούµενα FFs (negative edge-triggered FFs). (α) (β) Q Q Q' Q' (γ) (δ) Σχήµα.9 Ακµοπυροδότηση: (α) θετική ακµή παλµού, (β) αρνητική ακµή παλµού, (γ) σύµβολο θετικά ακµοπυροδοτούµενου FF, (δ) σύµβολο αρνητικά ακµοπυροδοτούµενου FF Μπορούµε να έχουµε ακµοπυροδοτούµενα FFs όλων των τύπων, δηλαδή SR, D, JK, T, γι' αυτό και στα Σχήµατα.9(γ) και.9(δ) δεν προσδιορίζουµε τον τύπο του FF, αλλά µόνον τον τύπο της ακµοπυροδότησης. Έτσι, ένα ακµοπυροδοτούµενο JK FF θα

22 22 είναι ίδιο µε το JK FF του Σχήµατος.2, µε µόνη διαφορά στο κύκλωµα εισόδου των ωρολογιακών παλµών, όπου έχει προστεθεί ένα κύκλωµα ανίχνευσης των ακµών (edge detector), όπως δείχνεται στο Σχήµα.20. Ο πίνακας λειτουργίας του FF παραµένει ακριβώς ο ίδιος. Ανιχνευτής Ακµών K J RESET SET Q Q' Ανιχνευτής Ακµών Q Q' Q Q' Q Q' Σχήµα.20 Λογικό κύκλωµα και συµβολισµός ενός ακµοπυροδοτούµενου JK FF. Παράδειγµα 5 / Κεφάλαιο Σχεδιάστε την κυµατοµορφή της εξόδου Q ενός αρνητικά ακµοπυροδοτούµενου JK FF για τις κυµατοµορφές εισόδου του Σχήµατος.2. Θεωρείστε ότι αρχικά είχαµε Q=0. J K Q t t2 t3 t4 t5 t6 Σχήµα.2 Κυµατοµορφές εισόδου - εξόδου αρνητικά ακµοπυροδοτούµενου JK FF του Παραδείγµατος 5 / Κεφάλαιο. Το FF είναι αρνητικά ακµοπυροδοτούµενο, άρα µας ενδιαφέρει το τι "βλέπει" στις εισόδους του εκείνη τη χρονική στιγµή. Οι αρνητικές µεταβάσεις των ωρολογιακών παλµών σηµειώνονται ως t, t 2,..., t 6. Έτσι έχουµε: t : J=, Κ=0, άρα Q= (set).

23 23 t 2 : J=0, Κ=0, και συνεπώς αυτό παραµένει στην προηγούµενη κατάστασή του Q=. Παρατηρούµε ότι οι µεταβάσεις της εισόδου Κ, πριν την αρνητική ακµή, αγνοήθηκαν! t 3 : J=0, Κ=, άρα Q=0 (reset). t 4 : J=, Κ=, άρα Q= (toggle). t 5 : J=0, Κ=, άρα Q=0 (reset). t 6 : J=0, Κ=0, άρα Q=0, όπως και στην αµέσως προηγούµενη κατάσταση (Q t+ =Q t ). Παράδειγµα 6 / Κεφάλαιο Να σχεδιασθεί η κυµατοµορφή της εξόδου Q ενός θετικά ακµοπυροδοτούµενου JK FF για τις κυµατοµορφές του Σχήµατος.22. Θεωρείστε ότι αρχικά είχαµε Q=. J K Q t t2 t3 t4 t5 t6 Σχήµα.22 Κυµατοµορφές εισόδου - εξόδου του θετικά ακµοπυροδοτούµενου JK FF του Παραδείγµατος 6 / Κεφ.. Αφού το FF ενεργοποιείται (πυροδοτείται) κατά τις θετικές ακµές των ωρολογιακών παλµών, τις σηµειώνουµε πάνω στο σχήµα, ώστε να παρακολουθούµε εύκολα τις εισόδους JK στις αντίστοιχες χρονικές στιγµές. Έτσι έχουµε: t : J=0, Κ=, άρα Q=0 (reset). t 2 : J=, Κ=, άρα Q= (toggle). t 3 : J=0, Κ=0, άρα Q= (hold), δηλαδή παραµένει στην ίδια κατάσταση. t 4 : J=, Κ=0, άρα Q= (set). t 5 : J=, Κ=, άρα Q=0 (toggle). t 6 : J=, Κ=, άρα Q= (toggle).

24 24 Ο τρόπος λειτουργίας και, κατά συνέπεια, οι πίνακες λειτουργίας των ακµοπυροδοτουµένων FFs παραµένουν ακριβώς οι ίδιοι µε εκείνους, που γνωρίσαµε προηγουµένως κατά τη µελέτη του κάθε FF ξεχωριστά. Οι πίνακες αυτοί συγκεντρώνονται στο Σχήµα.23. Το D FF είναι ένα από τα πιο χρήσιµα στοιχεία για τη σχεδίαση καταχωρητών και η ανάγκη κατανόησης της λειτουργίας του είναι µεγάλη. Ας δούµε ένα σχετικό παράδειγµα. SR flip-flop JK flip-flop S R Q t+ 0 0 Q t απροσδιόριστη J K Q t+ 0 0 Q t Q t D flip-flop T flip-flop D Q t+ 0 0 T Q t+ 0 Q t Q t Σχήµα.23 Πίνακες λειτουργίας ή χαρακτηριστικοί πίνακες (function tables) των flip-flops. Παράδειγµα 7 / Κεφάλαιο Σχεδιάστε την κυµατοµορφή εξόδου Q ενός αρνητικά ακµοπυροδοτούµενου D FF, όταν στις εισόδους του και D εφαρµόζονται οι κυµατοµορφές του Σχήµατος. του Παραδείγµατος 3 / Κεφάλαιο. Συγκρίνετε την κυµατοµορφή, που σχεδιάσατε, µε την αντίστοιχη του µανταλωτή D (D-latch) του Παραδείγµατος 3 / Κεφάλαιο. Θεωρείστε ότι αρχικά είχαµε Q=0.

25 25 D Q D flip-flop Q D latch Σχήµα.24 Κυµατοµορφές εισόδου-εξόδου του D flip-flop και D latch του Παραδείγµατος 7 / Κεφ.. Εφόσον το D FF είναι αρνητικής ακµής πυροδότησης, θα ενεργοποιείται κάθε φορά που παρουσιάζεται µία αρνητική ακµή στους ωρολογιακούς παλµούς, µεταφέροντας στην έξοδο Q την τιµή, που έχει η είσοδος D τη στιγµή εκείνη. Οι οποιεσδήποτε εναλλαγές της εισόδου, πριν την πτώση (αρνητική ακµή) των ωρολογιακών παλµών, δεν γίνονται αντιληπτές από το D FF. Αντίθετα, οι οποιεσδήποτε τέτοιες εναλλαγές της εισόδου του D µανταλωτή (D latch) κατά τη διάρκεια που ο ωρολογιακός παλµός είναι, µεταφέρονται στην έξοδό του, αφού Q=D, όταν αυτό είναι ενεργοποιηµένο. Για το λόγο αυτό ο D µανταλωτής ονοµάζεται και διαφανής (transparent latch). Γίνεται, λοιπόν, φανερό και πάλι ότι ο µανταλωτής τύπου D (D latch) είναι ευαίσθητος στη διάρκεια του ωρολογιακού παλµού, ενώ το FF τύπου D (D flip-flop) στην αλλαγή στάθµης του ωρολογιακού παλµού. Άσκηση Αυτοαξιολόγησης 4 / Κεφάλαιο Σχεδιάστε τις κυµατοµορφές εξόδου ενός θετικά ακµοπυροδοτούµενου D FF στις εισόδους του οποίου εφαρµόζονται οι παλµοσειρές του Σχήµατος.25. Θεωρείστε ότι αρχικά έχουµε Q=. D Σχήµα.25 Κυµατοµορφές εισόδου του θετικά ακµοπυροδοτούµενου D FF της άσκησης αυτοαξιολόγησης 3 / Κεφάλαιο.

26 ΚΥΚΛΩΜΑΤΑ ΑΝΙΧΝΕΥΣΗΣ ΑΚΜΩΝ Είδαµε ότι όλα τα προβλήµατα, που παρουσίασαν τα FFs, αντιµετωπίσθηκαν µε τη µετατροπή αυτών από παλµο-πυροδοτούµενα σε ακµο-πυροδοτούµενα. Αυτό έγινε µε τη βοήθεια ενός κυκλώµατος ανίχνευσης των ακµών, δηλαδή ανίχνευσης των αλλαγών στάθµης του ρολογιού. Για τι κύκλωµα πρόκειται και ποιοι περιορισµοί πιθανόν ισχύουν στην ακµοπυροδότηση των FFs; Το απλούστερο κύκλωµα για την ανίχνευση των ακµών είναι ένα RC (αντιστάτης - πυκνωτής) κύκλωµα, το οποίο δρα ως κύκλωµα διαφόρισης των ωρολογιακών παλµών (Σχήµα.26). Η θετική µετάβαση του παλµού δηµιουργεί ένα θετικό σπινθήρα, ενώ η αρνητική µετάβαση δηµιουργεί έναν αρνητικό σπινθήρα. Οι τιµές των R και C καθορίζουν τη σταθερά χρόνου εκφόρτισης του πυκνωτή και, κατά συνέπεια, το πόσο "λεπτός" είναι ο σπινθήρας. Ένα τέτοιο κύκλωµα ανίχνευσης ακµών, αν και απλό στη σύλληψή του, δεν είναι καλό από άποψη κατασκευής σε ολοκληρωµένη µορφή, διότι παρουσιάζει µεγάλη ανοµοιοµορφία σε σχέση µε τα υπόλοιπα ψηφιακά κυκλώµατα ενός ολοκληρωµένου κυκλώµατος (integrated circuit, chip), που είναι απλές πύλες. C R Q Q' Σχήµα.26 Ανίχνευση ακµών µέσω ενός απλού RC κυκλώµατος διαφόρισης. Έτσι στην πράξη χρησιµοποιούνται ως ανιχνευτές ακµών άλλα κυκλώµατα, κατασκευασµένα από πύλες NAND ή NOR, όπως αυτά του Σχήµατος.27. Η όλη λειτουργία τους βασίζεται στο γεγονός της καθυστέρησης διάδοσης ενός σήµατος µέσω µιας πύλης. Η καθυστέρηση αυτή είναι της τάξεως των nanoseconds (ns=0-9 s). Έτσι, αναφερόµενοι στο Σχήµα.27(α), όταν η είσοδος Cp γίνει, η έξοδος της πύλης AND θα γίνει επίσης για ένα πολύ µικρό χρονικό διάστηµα. Αυτό οφείλεται στο ότι και οι δύο είσοδοι της πύλης AND βρίσκονται σε κατάσταση HIGH. Πολύ σύντοµα, όµως, (σε χρόνο <0ns) η έξοδος του αντιστροφέα, ανταποκρινόµενη στο λογικό της εισόδου, γίνεται 0, µε αποτέλεσµα η πύλη AND να επιστρέψει και πάλι στο λογικό 0. Με το κύκλωµα αυτό επιτύχαµε να ανιχνεύσουµε τη θετική µετάβαση του ωρολογιακού παλµού. Με ένα παρόµοιο απλό κύκλωµα µπορούµε να ανιχνεύσουµε την αρνητική

27 27 µετάβαση του ωρολογιακού παλµού, όπως δείχνεται στο Σχήµα.27(β). Οι παραγόµενοι ωρολογιακοί παλµοί έχουν εύρος παλµών µικρότερο των 0ns, ανάλογα µε την τεχνολογία κατασκευής των πυλών. Υπάρχουν, όµως, και δύο χρονικοί περιορισµοί, οι οποίοι πρέπει να λαµβάνονται υπόψη για την αξιόπιστη λειτουργία ενός ακµοπυροδοτούµενου FF. Αυτοί αφορούν στους χρόνους προετοιµασίας t S (setup time) και παραµονής t H (hold time), όπως αυτοί δείχνονται στο Σχήµα.28. για την περίπτωση της θετικής ακµής πυροδότησης. Cp C'p Cp C'p Cp Cp C'p C'p Σχήµα.27 (α) (β) Κυκλώµατα ανίχνευσης (α) των θετικών και (β) των αρνητικών ακµών για την πυροδότηση των FFs Είσοδος ts Χρόνος Προετοιµασίας (Setup time) th Χρόνος Παραµονής (Hold time) Σχήµα.28 Οι είσοδοι ενός ακµοπυροδοτούµενου FF πρέπει να είναι σταθερές για χρόνο t S πριν την εφαρµογή της ενεργού ακµής, καθώς και για χρόνο t H µετά την εφαρµογή αυτής. Ο χρόνος προετοιµ ασίας t S είναι το ελάχιστο χρονικό εκείνο διάστηµα, κατά το οποίο µία είσοδος θα πρέπει να διατηρείται στη σταθερή επιθυµητή λογική στάθµη, πριν την εφαρµογή της ενεργού ακµής (θετικής ή αρνητικής) του ωρολογιακού παλµού.

28 28 Αν αυτή η απαίτηση δεν εκπληρωθεί, τότε δεν µπορούµε να είµαστε σίγουροι για την αξιόπιστη λειτουργία του FF. Ο χρόνος παραµ ονής t H είναι το ελάχιστο χρονικό διάστηµα, κατά το οποίο µία είσοδος πρέπει να διατηρείται στη σταθερή επιθυµητή λογική στάθµη αµέσως µ ετά την εφαρµογή της ενεργού ακµής του ωρολογιακού παλµού. Συµπερασµατικά, µπορούµε να πούµε ότι, για να διασφαλιστεί η αξιόπιστη λειτουργία ενός ακµοπυροδοτούµενου FF, πρέπει οι τιµές των εισόδων του να παραµένουν σταθερές για χρονικό διάστηµα τουλάχιστον t S πριν και t H µετά την εφαρµογή της ενεργού ακµής του ρολογιού. Οι τιµές t S και t H είναι της τάξεως των ns. Ο χρόνος προετοιµασίας είναι συνήθως µεταξύ 5 και 50ns, ενώ ο χρόνος παραµονής µεταξύ 0 και 0ns. Σύνοψη Ενότητας Στην ενότητα αυτή ασχοληθήκαµε µε τον τρόπο πυροδότησης (σκανδαλισµού) των FF. ιαπιστώνοντας ότι υπάρχει κίνδυνος σφαλµάτων, όταν ένα FF πυροδοτείται στη διάρκεια που ο ωρολογιακός παλµός είναι στο λογικό, προχωρήσαµε στην υιοθέτηση δύο διαφορετικών τεχνικών κατασκευής των FFs. Η πρώτη ήταν εκείνη του κύριουεξαρτηµένου FF, κατά την οποία δύο όµοια FFs πυροδοτούνται µε συµπληρωµατικούς παλµούς. Έτσι, η οποιαδήποτε αλλαγή στην κατάσταση του ενός FF (κύριου) κατά τη διάρκεια του παλµού, µεταβιβάζεται στο άλλο FF (εξαρτηµένο) µε την πτώση του παλµού. Η δεύτερη ήταν εκείνη της ακµοπυροδότησης, δηλαδή της κατασκευής τέτοιων FF, που να είναι ευαίσθητα κατά τη στιγµή της αλλαγής του ωρολογιακού παλµού και όχι κατά τη διάρκεια του παλµού. Αυτού του είδους τα FFs είναι πιο εύχρηστα και δεν παρουσιάζουν προβλήµατα, αρκεί φυσικά να λάβουµε υπόψη µας τους απαιτούµενους χρόνους προετοιµασίας και παραµονής.

29 29 ΕΝΟΤΗΤΑ.3. ΑΣΥΓΧΡΟΝΟΙ ΕΙΣΟ ΟΙ ΤΩΝ FLIP-FLOPS Οι είσοδοι ελέγχου S, R, J, K, D όλων των FFs, που εξετάσαµε µέχρι τώρα, ανήκουν στην κατηγορία των σύγχρονων εισόδων (synchronous inputs), επειδή η επίδρασή τους στη λειτουργία του FF συγχρονίζεται µε την είσοδο των ωρολογιακών παλµών. Συνήθως, όµως, τα FFs έχουν επιπλέον και µία ή περισσότερες ασύγχρονες εισόδους (asynchronous inputs), οι οποίες λειτουργούν ανεξάρτητα από τις άλλες εισόδους ή την είσοδο ρολογιού. Αυτές οι ασύγχρονες είσοδοι µπορούν να χρησιµοποιηθούν, για να καθορίσουν τη στάθµη εξόδου του FF στο (set) ή να εκκαθαρίσουν αυτό (reset) σε οποιαδήποτε χρονική στιγµή, ανεξάρτητα από τις τιµές των άλλων εισόδων. Στο Σχήµα.29 δείχνεται ένα αρνητικά ακµοπυροδοτούµενο JK FF, το οποίο έχει επιπλέον δύο ασύγχρονες εισόδους, τις PRESET και CLEAR. Αυτές οι είσοδοι ενεργοποιούνται για το λογικό 0 (active - LOW inputs), όπως φαίνεται και από το µικρό κύκλο (φυσαλίδα, bubble), στο σύµβολο του FF καθώς και από την υπεργράµµιση των ονοµάτων τους. Αυτό σηµαίνει πως, όταν µία από τις εισόδους αυτές ενεργοποιηθεί θέτοντάς την στο λογικό 0, τότε η έξοδος Q του FF θα µεταβεί αµέσως στην αντίστοιχη κατάσταση (Q= για PRESET =0 και Q=0 για CLEAR =0), ανεξάρτητα από την κατάσταση στην οποία αυτό ήταν ή από τις τιµές που έχουν οι είσοδοι αυτού. Όταν και οι δύο ασύγχρονες είσοδοι είναι απενεργοποιηµένες (PRESET = CLEAR =), τότε το FF λειτουργεί κανονικά, όπως το έχουµε γνωρίσει µέχρι τώρα. Η περίπτωση, κατά την οποία και οι δύο ασύγχρονες είσοδοι είναι ταυτόχρονα ενεργοποιηµένες (PRESET = CLEAR =0), οδηγεί σε απροσδιοριστία και πρέπει να αποφεύγεται. PRESET J Q K Q' CLEAR PRESET CLEAR Λειτουργία FF 0 0 εν χρησιµοποιείται 0 Q= 0 Q=0 Κανονική σύγχρονη Λειτουργία Σχήµα.29 Αρνητικά ακµοπυροδοτούµενα JK FF µε ασύγχρονες εισόδους. Παράδειγµα 8 / Κεφάλαιο

30 30 Για το αρνητικά ακµοπυροδοτούµενο JK FF του Σχήµατος.29 να σχεδιάσετε την κυµατοµορφή εξόδου, όταν στις ασύγχρονες εισόδους του εφαρµόζονται οι παλµοί του Σχήµατος.30 και οι είσοδοι J, K είναι µόνιµα συνδεδεµένες στην τάση τροφοδοσίας V cc. Θεωρείστε ότι αρχικά η έξοδος του FF ήταν Q=. J K PRESET CLEAR Q t t2 t3 t4 t5 t6 t7 Σχήµα.30 Κυµατοµορφές εισόδου-εξόδου του αρνητικά ακµοπυροδοτούµενο JK FF του Παραδείγµατος 8 / Κεφάλαιο. Αφού οι είσοδοι J και K είναι στο λογικό (HIGH), το FF στην κανονική του λειτουργία, δηλαδή όταν PRESET = CLEAR =, θα αλλάζει κατάσταση σε κάθε αρνητική ακµή του ρολογιού. Η κανονική του λειτουργία διακόπτεται κάθε φορά, που µία από τις ασύγχρονες εισόδους ενεργοποιηθεί µεταβαίνοντας στο λογικό 0 (active - LOW inputs). Αναλυτικά έχουµε: t : Q=0 (Σύγχρονη λειτουργία toggle, αφού J=K= PRESET = CLEAR = ). t 2 : Q= (Ασύγχρονη λειτουργία set λόγω ενεργοποίησης της εισόδου PRESET ). t 3 : Q=0 (Σύγχρονη λειτουργία toggle). t 4 : Q= (Σύγχρονη λειτουργία toggle). t 5 : Q=0 (Ασύγχρονη λειτουργία εκκαθάρισης λόγω ενεργοποίησης της εισόδου CLEAR ). t 6 : Q=0 (Ασύγχρονη λειτουργία εκκαθάρισης λόγω ενεργοποίησης της εισόδου CLEAR. Παρατηρούµε ότι η έλευση της αρνητικής ακµής δεν µπόρεσε να φέρει το FF σε κατάσταση toggle, γιατί η ασύγχρονη είσοδος CLEAR είναι ακόµη ενεργοποιηµένη). t 7 : Q= (Σύγχρονη λειτουργία toggle). Άσκηση Αυτοαξιολόγησης 5 / Κεφάλαιο

31 3 Σχεδιάστε την κυµατοµορφή της εξόδου Q ενός θετικά ακµοπυροδοτούµενου D FF, στις εισόδους του οποίου εφαρµόζονται οι κυµατοµορφές του Σχήµατος.3. PRESET CLEAR D Σχήµα.3 Κυµατοµορφές εισόδου του D FF της άσκησης αυτοαξιολόγησης 4 / Κεφάλαιο. Ας προσπαθήσουµε τώρα που τελειώνουµε το παρόν κεφάλαιο έχοντας µελετήσει όλους τους δυνατούς τύπους FF, να επιλύσουµε το πρόβληµα της ζώνης ασφαλείας αυτοκινήτου, στο οποίο αναφερθήκαµε στην αρχή του κεφαλαίου. Τονίζεται εξαρχής ότι η λύση, που θα προταθεί, δεν είναι εύκολη, κι αυτό γιατί δεν θα ακολουθήσουµε κάποιους κανόνες σχεδίασης προς το παρόν. Είναι όµως κατανοητή, όπως θα διαπιστώσουµε από την ανάλυσή της. ραστηριότητα / Κεφάλαιο ίνονται δύο είσοδοι Α, Β και µας ζητείται να σχεδιάσουµε ένα κύκλωµα, το οποίο να δίνει έξοδο HIGH, µόνον εφόσον και οι δύο είσοδοι είναι HIGH και η είσοδος Α έχει γίνει HIGH πριν από την είσοδο Β. (Καταλαβαίνουµε ότι η είσοδος Α αντιστοιχεί στο γεγονός ότι "ο οδηγός είναι καθισµένος" και η είσοδος Β στο ότι "η ζώνη ασφαλείας είναι προσδεδεµένη"). A B D CLEAR Q Q' Σχήµα.32 Κύκλωµα για τη λύση του προβλήµατος της ζώνης ασφαλείας. Το πρόβληµα αυτό επιδέχεται περισσότερες από µία λύσεις. Μία από αυτές δίνεται στο Σχήµα.32 και αναλύεται στη συνέχεια. Όπως θα διαπιστώσετε, πρόκειται για ένα

32 32 απλό κύκλωµα, το οποίο όµως δεν είναι εύκολο να το σκεφθεί κανείς. Μην απογοητευθείτε, αν δεν µπορέσατε να δώσετε κάποια λύση στο πρόβληµα. Αρκεί το ότι προσπαθήσατε, συνδυάζοντας όλα όσα µάθαµε µέχρι τώρα. Στο Κεφάλαιο 3, όπου θα ασχοληθούµε συστηµατικά µε τη σχεδίαση ακολουθιακών κυκλωµάτων, θα διαπιστώσετε ότι τα πράγµατα είναι πιο εύκολα απ ότι σας φάνηκαν τώρα. Αλλά ας δούµε την προτεινόµενη λύση, αναλύοντας το κύκλωµα του Σχήµατος.32. Αυτό αποτελείται από ένα θετικά ακµοπυροδοτούµενο D FF µε ασύγχρονη είσοδο εκκαθάρισης (CLEAR ) και από µία πύλη AND. Η λειτουργία του κυκλώµατος έχει ως εξής: Όταν ο οδηγός δεν κάθεται, τότε Α=0, οπότε λόγω της ασύγχρονης εισόδου εκκαθάρισης η έξοδος Q=0, µε συνέπεια και η πύλη AND να δίνει 0 ανεξάρτητα από το αν η ζώνη είναι δεµένη ή όχι (είσοδος Β). Όταν ο οδηγός καθίσει, τότε Α=, οπότε το FF είναι έτοιµο για κανονική λειτουργία, εφόσον η είσοδος του ρολογιού µεταβεί στο. Έτσι δένοντας τη ζώνη ασφαλείας, Β=, µε τη θετική ακµή του ρολογιού το δεδοµένο D=A= µεταφέρεται στην έξοδο, Q=. Αφού Q= και Β=, η πύλη AND δίνει επίσης λογικό. Άρα το κύκλωµα λειτουργεί σύµφωνα µε την επιθυµία µας. Θα µπορούσε, ίσως, κάποιος να σκεφθεί ότι η πύλη AND είναι περιττή και ότι µόνο η έξοδος Q του FF είναι αρκετή για την επιθυµητή λειτουργία του κυκλώµατος. εν είναι όµως έτσι, διότι η πύλη AND µας διασφαλίζει ακόµα και στην περίπτωση που ο οδηγός, αφού καθίσει (Α=) και δέσει την ζώνη του (Β=), στη συνέχεια απασφαλίσει αυτή (Β=0). Το FF δεν θα αντιδράσει, αφού είναι θετικά ακµοπυροδοτούµενο και δεν έχουµε θετική ακµή, όταν το Β από γίνεται 0. Όµως η πύλη AND για Β=0 θα δώσει έξοδο 0! Σύνοψη Ενότητας Στην ενότητα αυτή είδαµε ότι τα FFs διαθέτουν συνήθως δύο επιπλέον εισόδους για τον άµεσο έλεγχο της κατάστασής τους. Αυτές είναι οι είσοδοι PRESET και CLEAR. Η ενεργοποίηση της εισόδου PRESET αναγκάζει την έξοδο του FF να µεταβεί στην υψηλή λογική, ανεξάρτητα από τις άλλες εισόδους ή τους ωρολογιακούς παλµούς. Όµοια, η ενεργοποίηση της εισόδου CLEAR ανγκάζει την έξοδο του FF να µεταβεί άµεσα στη χαµηλή λογική στάθµη (εκκαθάριση του FF).

33 33 ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ Στο κεφάλαιο αυτό µάθαµε ότι: Το SR flip-flop είναι ένα κύκλωµα αποθήκευσης ενός bit, το οποίο µπορεί να κατασκευασθεί από απλές πύλες. Ο µανταλωτής τύπου D (D latch) είναι ευαίσθητος στη διάρκεια του ωρολογιακού παλµού, ενώ το FF τύπου D (D flip-flop) στην αλλαγή στάθµης του ωρολογιακού παλµού. Το JK FF διαφέρει από το SR FF µόνο κατά το ότι δεν παρουσιάζει απροσδιοριστία στην κατάσταση της εξόδου του και για τις δύο εισόδους του σε λογικό. Στην περίπτωση αυτή, το JK FF αλλάζει κατάσταση (toggles), δηλαδή η έξοδος Q µεταβαίνει στη συµπληρωµατική της τιµής που είχε µέχρι τότε. Το κύριο-εξαρτηµένο JK FF αποτελείται από δύο µανταλωτές. Ο κύριος µανταλωτής διαβάζει τα δεδοµένα εισόδου, όταν ο ωρολογιακός παλµός είναι, και ο εξαρτηµένος µανταλωτής διαβάζει τις εξόδους του κύριου, όταν ο ωρολογιακός παλµός µεταβαίνει στο 0. Υπάρχουν όλων των τύπων (JK, D, SR) ακµοπυροδοτούµενα FFs. Αυτά είναι ευαίσθητα στη µετάβαση των ωρολογιακών παλµών από 0 σε (θετική ακµή) ή από σε 0 (αρνητική ακµή). Όλοι οι τύποι των FFs έχουν συνήθως ασύγχρονες εισόδους για τον προκαθορισµό της εξόδου στην κατάσταση (PRESET) και για την εκκαθάριση της εξόδου (CLEAR). Ενεργοποίηση κάποιας από αυτές τις ασύγχρονες εισόδους συνεπάγεται την άµεση ανταπόκριση του FF, ανεξάρτητα από τις τιµές των άλλων εισόδων ή των ωρολογιακών παλµών.

34 34 ΒΙΒΛΙΟΓΡΑΦΙΑ ΕΛΛΗΝΟΓΛΩΣΣΗ εληγιάννης Θ., Ηλεκτρονικά Ψηφιακά Κυκλώµατα, Εκδόσεις Πανεπιστηµίου Πατρών, Πάτρα 997. Millman J., Χαλκιάς Χ., Ολοκληρωµένη Ηλεκτρονική, Τόµος Β, Εκδόσεις ΤΕΕ, 972. Morris Mano M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 992. ΞΕΝΟΓΛΩΣΣΗ Daniels J. D., Digital Design from Zero to One, J. Wiley & Sons, 996. Greenfield J. D., Practical Digital Design Using ICs, J. Wiley & Sons, 977. Kleitz W., Digital Electronics: A Practical Approach, Prentice Hall, 996. Malvino A. P., Leach D. P., Digital Principles and Applications, McGraw-Hill, 986. Tocci R. J., Widmer N. S., Digital Systems: Principles and Applications, Prentice Hall, 998. Ο ΗΓΟΣ ΠΕΡΑΙΤΕΡΩ ΜΕΛΕΤΗΣ Morris Mano M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 992. Στο Κεφάλαιο 6 του βιβλίου αυτού θα βρείτε µια αναλυτική παρουσίαση όλων των τύπων FF, καθώς και µια εντελώς διαφορετική τεχνική για τη σχεδίαση του ανιχνευτή ακµών των ακµοπυροδοτουµένων FFs. Greenfield J. D., Practical Digital Design Using ICs, J. Wiley & Sons, 977. Στο Κεφάλαιο 6 του βιβλίου παρουσιάζονται οι διαφορετικοί τύποι των FFs µε πολλά παραδείγµατα και µε αρκετές διευκρινήσεις σε νέες έννοιες. Περιέχει επίσης πολλές ασκήσεις. Kleitz W., Digital Electronics: A Practical Approach, Prentice Hall, 996.

35 35 Τα FFs παρουσιάζονται στο Κεφάλαιο 0 του βιβλίου. Η θεωρία είναι αρκετά συνοπτική, αλλά τα παραδείγµατά του πολλά και εντυπωσιακά από άποψη παρουσίασης. Περιέχει επίσης πολλές ασκήσεις καθώς και γλωσσάρι όρων. Malvino A. P., Leach D. P., Digital Principles and Applications, McGraw-Hill, 986. Στο Κεφάλαιο 8 του βιβλίου θα βρείτε µια καλή παρουσίαση των χρόνων προετοιµασίας και παραµονής των ακµοπυροδοτουµένων FFs. ΑΠΑΝΤΗΣΕΙΣ ΤΩΝ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ Άσκηση Αυτοαξιολόγησης / Κεφάλαιο S R Q t0 t2 t4 t6 t8 t0 t2 t4 t6 t t3 t5 t7 t9 t t3 t5 t7 Σχήµα.33 Κυµατοµορφές εισόδου-εξόδου ενός συγχρονισµένου SR µανταλωτή Οι παλµοί εισόδου καθώς και ο παλµός εξόδου του συγχρονισµένου SR µανταλωτή δείχνονται στο Σχήµα.33. Η σχεδίαση του παλµού εξόδου Q βασίστηκε στον πίνακα λειτουργίας του Σχήµατος.7(δ). Είναι βασικό, όµως, να τονίσουµε ότι ο πίνακας αυτός ισχύει, όταν ο ωρολογιακός παλµός είναι στο λογικό. Όταν αυτός βρίσκεται στο λογικό 0, δηλαδή όταν =0, τότε ο µανταλωτής δεν αλλάζει κατάσταση! Για να σχεδιάσουµε τις κυµατοµορφές εξόδου, σηµειώνουµε πρώτα στο σχήµα µας όλες τις χρονικές στιγµές t0, t,, t7, κατά τις οποίες έχουµε αλλαγή της λογικής στάθµης σε µια από τις εισόδους, S, R. Έτσι έχουµε: Μέχρι τη χρονική στιγµή t0: =, S=0, R=, άρα Q=0 (reset). Κατά τη χρονική στιγµή t: =, S=, R=0, άρα Q= (set).

36 36 Κατά τη χρονική στιγµή t2: =, S=0, R=0, άρα Q= (διατηρεί την τιµή του). Κατά τη χρονική στιγµή t3: =, S=0, R=, άρα Q=0 (reset). Μεταξύ t4 και t5 έχουµε =0. Άρα το Q παραµένει στην κατάσταση που ήταν (Q=0), ανεξάρτητα από τις τιµές των S, R. Κατά τη χρονική στιγµή t5: =, S=0, R=, άρα Q=0 (reset). εν παρατηρούµε καµία αλλαγή, γιατί η έξοδος Q ήταν ήδη στην κατάσταση 0. Κατά τη χρονική στιγµή t6: =, S=0, R=0, άρα Q=0 (δηλαδή παραµένει και πάλι στην κατάσταση που βρισκότανε Q=0). Κατά τη χρονική στιγµή t7: =, S=, R=0, άρα Q= (set). Μεταξύ t8 και t το είναι στη χαµηλή κατάσταση (=0), µε συνέπεια ο µανταλωτής να µην αντιλαµβάνεται τις οποιεσδήποτε αλλαγές συµβαίνουν στις εισόδους του S, R και να εξακολουθεί να παραµένει στην κατάσταση που βρισκότανε (Q=). Κατά τη χρονική στιγµή t: =, S=, R=0, άρα Q= (set). Επειδή ήδη το Q ήταν στο λογικό, δεν παρατηρούµε οποιαδήποτε αλλαγή. Κατά τη χρονική στιγµή t2: =, S=0, R=0, άρα το Q παραµένει ως έχει (Q=). Μεταξύ t3 και t5 έχουµε =0, οπότε το Q παραµένει ως έχει (Q=). Κατά τη χρονική στιγµή t5: =, S=0, R=, άρα Q=0 (reset). Κατά τη χρονική στιγµή t6: =, S=0, R=0, άρα το Q παραµένει ως έχει (Q=0). Κατά τη χρονική στιγµή t7: =0, άρα το Q παραµένει ως έχει (Q=0). Άσκηση Αυτοαξιολόγησης 2 / Κεφάλαιο Το D FF έχει µία µόνο είσοδο, η οποία για D=0 δίνει έξοδο Q=0, ενώ για D= δίνει έξοδο Q=. Παρατηρώντας τον πίνακα λειτουργίας του JK FF (βλ. Σχήµα.2(β)), διαπιστώνουµε ότι, όταν οι είσοδοι J και K είναι διαφορετικές, δηλαδή όταν K=J, τότε η έξοδος Q είναι ίδια µε την είσοδο J (βλ. δεύτερη και τρίτη γραµµή του πίνακα λειτουργίας του JK FF). Άρα το ζητούµενο κύκλωµα προκύπτει τοποθετώντας έναν αντιστροφέα µεταξύ J και K, όπως δείχνεται στο Σχήµα.34.

37 37 D J K Q Q' Σχήµα.34 D FF κατασκευασµένο µε JK FF Άσκηση Αυτοαξιολόγησης 3 / Κεφάλαιο Οι κυµατοµορφές εισόδου-εξόδου του κύριου-εξαρτηµένου JK FF δείχνονται στο Σχήµα.35. J K Q set t t2 t3 t4 t5 t6 Reset Toggle Σχήµα.35 Κυµατοµορφές εισόδου-εξόδου του κύριου-εξαρτηµένου JK FF Μεταξύ t και t2, οπότε =, το κύριο FF έχει στις εισόδους του SET και RESET, και 0 αντίστοιχα, οπότε και γίνεται Q= (set). Με την πτώση του ωρολογιακού παλµού κατά τη χρονική στιγµή t2, η κατάσταση αυτή περνάει στην έξοδο Q του FF. Μεταξύ t2 και t3 το =0, οπότε καµία αλλαγή των εισόδων δεν γίνεται αντιληπτή. Μεταξύ t3 και t4 οπότε =, η είσοδος J=0, ενώ η είσοδος Κ αλλάζει κατάσταση και από γίνεται 0. Έτσι για J=0, K= το κύριο FF εκκαθαρίζεται (Q=0), ενώ για J=0, K=0 παραµένει στην κατάσταση που ήταν, δηλαδή Q=0. Άρα η πτώση του ωρολογιακού

38 38 παλµού τη χρονική στιγµή t4 βρίσκει το κύριο FF στην κατάσταση Q=0 και αυτή είναι η κατάσταση που περνάει στην τελική έξοδο του JK κύριου-εξαρτηµένου FF, δηλαδή Q=0. Μεταξύ t5 και t6 έχουµε J=0, K= και ακολούθως J=, K=0. Οι είσοδοι J=, K=0 ενεργοποιούν (set) το κύριο FF, δηλαδή Q=. Αυτή είναι και η κατάσταση που τελικά περνάει στην έξοδο του JK κύριου-εξαρτηµένου FF κατά τη χρονική στιγµή t6, που ο ωρολογιακός παλµός µεταβαίνει στο λογικό 0. Άσκηση Αυτοαξιολόγησης 4 / Κεφάλαιο D Q t t2 t3 t4 t5 t6 t7 Σχήµα.36 Κυµατοµορφές εισόδου ενός θετικά ακµοπυροδοτουµένου D FF Εφόσον το D FF είναι θετικά ακµοπυροδοτούµενο, σηµειώνουµε στο σχήµα µας τις αντίστοιχες χρονικές στιγµές t,,t7, που παρουσιάζονται οι θετικές µεταβάσεις στους ωρολογιακούς παλµούς. Σε κάθε τέτοια χρονική στιγµή διαβάζουµε την τιµή της εισόδου D και τη µεταφέρουµε στην έξοδο Q. Έτσι έχουµε: t: D=0, άρα Q=0. t2: D=, άρα Q=. t3: D=0, άρα Q=0. t4: D=, άρα Q=. t5: D=, άρα Q=. t6: D=0, άρα Q=0. t7: D=0, άρα Q=0.

39 39 Άσκηση Αυτοαξιολόγησης 5 / Κεφάλαιο Πρόκειται για θετικά ακµοπυροδοτούµενο FF. Συνεπώς σηµειώνουµε στο σχήµα όλες τις θετικές µεταβάσεις (θετικές ακµές) των ωρολογιακών παλµών t2, t3, t5, t7 (βλ. Σχήµα.37). Οι ασύγχρονες είσοδοι PRESET και CLEAR επηρεάζουν τη λειτουργία του FF, ανεξάρτητα από τις άλλες εισόδους ή την κατάσταση του FF. Έτσι σηµειώνουµε στο ίδιο σχήµα και τις χρονικές στιγµές, που οι ασύγχρονες είσοδοι αλλάζουν κατάσταση, δηλαδή t, t4,t6. Έχουµε λοιπόν: PRESET CLEAR D Q t t2 t3 t4 t5 t6 t7 Σχήµα.37 Κυµατοµορφές εισόδου ενός θετικά ακµοπυροδοτουµένου D FF Μέχρι τη χρονική στιγµή t η είσοδος PRESET είναι ενεργοποιηµένη (PRESET =0), οπότε η έξοδος Q=. Από τη στιγµή t και µέχρι την t4 οι ασύγχρονοι είσοδοι PRESET και CLEAR βρίσκονται στο λογικό, οπότε το D FF λειτουργεί κανονικά διαβάζοντας την είσοδο D σε κάθε θετική µετάβαση του ωρολογιακού παλµού. Τη χρονική στιγµή t2 βλέπει D=0, οπότε η κατάσταση Q γίνεται 0. Τη χρονική στιγµή t3 βλέπει D=, οπότε η κατάσταση Q γίνεται. Τη χρονική στιγµή t4 η είσοδος CLEAR είναι 0, οπότε προκαλείται εκκαθάριση της εξόδου (Q=0). Τη χρονική στιγµή t5 PRESET = CLEAR = και D=, οπότε Q=. Τη χρονική στιγµή t6 προκαλείται και πάλι εκκαθάριση της εξόδου (Q=0), αφού CLEAR =0. Τέλος, τη χρονική στιγµή t7 PRESET = CLEAR = και D=, οπότε Q=.

40 40 ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ Bistable ισταθής Clear Εκκαθάριση, µηδενισµός Clock pulse Ωρολογιακός παλµός, ρολόι, παλµοσειρά Combinational circuit Συνδυαστικό κύκλωµα Complement Συµπλήρωµα Data εδοµένα Delay Καθυστέρηση Disable Απενεργοποίηση Discrete ιακριτός, διακεκριµένος Edge Ακµή Edge detector Ανιχνευτής ακµών Edge-triggered Ακµοπυροδοτούµενος Enable Ενεργοποίηση Feedback Ανατροφοδότηση, ανάδραση Function table Πίνακας λειτουργίας Gate Πύλη Glitch Αιχµή Hold time Χρόνος παραµονής Latch Μανταλωτής Level sensitive Ευαίσθητο κατά τη διάρκεια του παλµού Master-slave Κύριο-εξαρτηµένο Multivibrator Πολυδονητής Off, low Λογικό 0, χαµηλή λογική στάθµη On, high Λογικό, υψηλή λογική στάθµη Power Τροφοδοσία Preset Καθορισµός υψηλής λογικής στάθµης Propagation delay Καθυστέρηση διάδοσης Pulse width Εύρος παλµού Reset Απενεργοποίηση, εκκαθάριση, καθορισµός χαµηλής λογικής στάθµης Sequential circuit Ακολουθιακό κύκλωµα Set Ενεργοποίηση, καθορισµός υψηλής λογικής στάθµης Setup time Χρόνος προετοιµασίας Spike Αιχµή State Κατάσταση, λογική κατάσταση Timing chart ιάγραµµα χρονισµού Toggle Μετάπτωση, εναλλαγή λογικής στάθµης, εναλλαγή κατάστασης Trigger Πυροδότηση, σκανδαλισµός Truth table Πίνακας αλήθειας Unstable Ασταθής

41 ΚΕΦΑΛΑΙΟ 2 ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ 2.. ΑΝΑΛΥΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΧΩΡΙΣ ΕΞΩΤΕΡΙΚΕΣ ΕΙΣΟ ΟΥΣ ΚΑΙ ΕΞΟ ΟΥΣ ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ ΕΞΩΤΕΡΙΚΕΣ ΕΙΣΟ ΟΥΣ ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ ΕΞΩΤΕΡΙΚΕΣ ΕΙΣΟ ΟΥΣ ΚΑΙ ΕΞΟ ΟΥΣ... 3 ΕΝΟΤΗΤΑ 2.2. ΣΧΕ ΙΑΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ Α ΙΑΦΟΡΕΣ ΚΑΤΑΣΤΑΣΕΙΣ ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ ΒΙΒΛΙΟΓΡΑΦΙΑ ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ... 46

42 ΚΕΦΑΛΑΙΟ 2 ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ Σκοπός του κεφαλαίου αυτού είναι η µελέτη των σύγχρονων ακολουθιακών κυκλωµάτων. Τα κυκλώµατα αυτά αποτελούνται από FFs, των οποίων η λειτουργία συγχρονίζεται από τους παλµούς ενός και µόνο ρολογιού. Η ανάλυση της λειτουργίας, καθώς και η σχεδίαση τέτοιων κυκλωµάτων, είναι ένας ουσιώδους σηµασίας τοµέας της ψηφιακής σχεδίασης. Προσδοκώµενα αποτελέσµατα: Μετά τη µελέτη του κεφαλαίου, θα είστε σε θέση να: αναλύετε οποιοδήποτε σύγχρονο ακολουθιακό κύκλωµα µε ή χωρίς εξωτερικές εισόδους ή εξόδους σχεδιάζετε κυκλώµατα, που παράγουν συγκεκριµένες ακολουθίες παλµών σχεδιάζετε σύγχρονα ακολουθιακά κυκλώµατα µε ή χωρίς εξωτερικές εισόδους ή εξόδους Έννοιες Κλειδιά: Σύγχρονο ακολουθιακό κύκλωµα Απαριθµητής / Μετρητής ιάγραµµα καταστάσεων Πίνακας καταστάσεων Γεννήτρια ακολουθιών 2

43 ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ Στο προηγούµενο κεφάλαιο µελετήσαµε όλους τους τύπους των FFs (SR, D, JK, T). Η µελέτη αυτή περιορίστηκε στην ανάλυση του τρόπου λειτουργίας καθενός FF ξεχωριστά. Τι γίνεται όµως στην περίπτωση που περισσότερα από ένα FFs συνδέονται µεταξύ τους και λειτουργούν συγχρονισµένα µε βάση τους παλµούς κάποιου ρολογιού; Τι γίνεται αν σ ένα τέτοιο κύκλωµα επιδρούν κάποιες εξωτερικές είσοδοι για τον έλεγχο αυτού; Και τέλος, τι θα κάναµε αν µας ζητούσαν να σχεδιάσουµε ένα ακολουθιακό κύκλωµα αποτελούµενο από ένα ή περισσότερα FFs που να λειτουργεί σύµφωνα µε κάποιες προδιαγραφές; Με ποιo τρόπο θα τα συνδυάζαµε αυτά; Όλα αυτά είναι προβλήµατα που παρουσιάζονται πάρα πολύ συχνά στην πράξη και θα πρέπει να είµαστε σε θέση να τα αντιµετωπίζουµε. Όπως στην περίπτωση των συνδυαστικών κυκλωµάτων µπορούµε να αναλύουµε ή να σχεδιάζουµε ένα οποιοδήποτε κύκλωµα χρησιµοποιώντας πύλες, έτσι και στην περίπτωση των ακολουθιακών κυκλωµάτων θα πρέπει να είµαστε σε θέση να αναλύουµε ή να σχεδιάζουµε οποιοδήποτε κύκλωµα µε FFs. Αν όλα τα FFs του κυκλώµατος χρονίζονται µε το ίδιο ρολόι (clock), τότε αυτό ονοµάζεται σύγχρονο ακολουθιακό κύκλωµα. Αυτού του είδους τα κυκλώµατα θα µελετήσουµε στο παρόν κεφάλαιο. Θα εξετάσουµε τον τρόπο ανάλυσης και σχεδίασής τους. Πρόκειται για δύο διαδικασίες, που η µία είναι αντίστροφη της άλλης. Η ανάλυση ενός κυκλώµατος αφορά στην περίπτωση που µας δίνεται το όλο κύκλωµα και µας ζητείται να προσδιορίσουµε τον ακριβή τρόπο λειτουργίας του. Η σχεδίαση είναι η αντίστροφη διαδικασία. Εδώ µας δίνεται ο επιθυµητός τρόπος λειτουργίας του κυκλώµατος και µας ζητείται να βρούµε ποιo είναι το κατάλληλο κύκλωµα που συµπεριφέρεται σύµφωνα µε αυτόν. Στην ενότητα 2. ασχολούµαστε µε την ανάλυση σύγχρονων ακολουθιακών κυκλωµάτων, ενώ στην ενότητα 2.2 παρουσιάζουµε τον τρόπο σχεδίασης αυτών. Πριν όµως ασχοληθούµε διεξοδικά µε την ανάλυση και σχεδίαση ΣΑΚ, ας επιχειρήσουµε να διευκρινίσουµε ορισµένες έννοιες σχετικά µε την κατάσταση και την έξοδο ενός ΣΑΚ, καθώς και των µοντέλων που υπάρχουν για την µελέτη αυτών, ανάλογα µε τον τρόπο που επιδρούν οι τυχόν εξωτερικές είσοδοι του κυκλώµατος. 3

44 Είναι γνωστό ότι για να προσδιορίσουµε την έξοδο ενός συνδυαστικού κυκλώµατος σε κάθε χρονική στιγµή απαιτείται να γνωρίζουµε την είσοδο καθώς και την λογική που υλοποιούν οι πύλες του κυκλώµατος, δηλαδή τον τρόπο διασύνδεσής τους. Σ ένα ακολουθιακό κύκλωµα, όµως, για να βρούµε την έξοδο, πρέπει να γνωρίζουµε την παρούσα κατάσταση των FFs, καθώς και την εξωτερική είσοδο. Με τον όρο κατάσταση (state) εννοούµε όλες τις εξόδους των FFs στη συγκεκριµένη χρονική στιγµή. Αν ένα κύκλωµα αποτελείται από Ν FFs, θα έχει το πολύ 2 Ν διαφορετικές καταστάσεις. Παρατηρούµε ότι οι είσοδοι, όπως και το ρολόι, δεν συµπεριλαµβάνονται στον ορισµό της κατάστασης. Επιπλέον, η κατάσταση δεν είναι το ίδιο πράγµα µε την έξοδο του κυκλώµατος. Μερικές ή και όλες οι έξοδοι των FFs µπορεί να οδηγούνται κατευθείαν στην έξοδο, αλλά γενικά η έξοδος ενός ΣΑΚ είναι ένας συνδυασµός των εξόδων (καταστάσεων) των FFs, όπως δείχνεται στο Σχήµα 2.α. Σηµειώστε ότι η έξοδος του κυκλώµατος αλλάζει µόνο, όταν παρουσιαστεί η ενεργός ακµή του ρολογιού. Ένα τέτοιο κύκλωµα, στο οποίο η έξοδος αλλάζει σε συµφωνία µε τους ωρολογιακούς παλµούς ονοµάζεται κύκλωµα Moore. Αν στο ΣΑΚ προσθέσουµε κάποιες εξωτερικές εισόδους (εκτός του ρολογιού), τότε και πάλι το κύκλωµα αυτό εξακολουθεί να είναι ένα κύκλωµα Moore, υπό την προϋπόθεση ότι η έξοδος του κυκλώµατος λαµβάνεται από τις εξόδους των FFs και άρα οι οποιεσδήποτε αλλαγές στην έξοδο συµβαίνουν µόνο κατά τις αλλαγές των ωρολογιακών παλµών. Αν όµως η εξωτερική είσοδος µπορεί να επηρεάσει την έξοδο του κυκλώµατος σε οποιαδήποτε χρονική στιγµή, χωρίς να είναι απαραίτητο να συγχρονιστεί µε τους ωρολογιακούς παλµούς (βλ. Σχήµα 2.β), τότε το κύκλωµα αυτό ονοµάζεται κύκλωµα Mealy. ηλαδή σ ένα τέτοιο κύκλωµα η έξοδος εξαρτάται από την εσωτερική κατάσταση καθώς και από τις εξωτερικές επιρροές (εξωτερικές εισόδους). Οι έξοδοι των FFs αποτελούν και πάλι την εσωτερική κατάσταση. Οι είσοδοι δεν παρεµβαίνουν άµεσα στην κατάσταση, αλλά επηρεάζουν την έξοδο του κυκλώµατος µέσω του συνδυαστικού κυκλώµατος, και µάλιστα σε οποιαδήποτε χρονική στιγµή. 4

45 (α) (β) Σχήµα 2. (α) Κύκλωµα Moore, (β) κύκλωµα Mealy 5

46 ΕΝΟΤΗΤΑ 2.. ΑΝΑΛΥΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Με τον όρο "ανάλυση" ενός ακολουθιακού κυκλώµατος εννοούµε την εύρεση ολόκληρης της χρονικής ακολουθίας των εισόδων, εξόδων και καταστάσεων αυτού. Έτσι, όταν µας δίνεται ένα σύγχρονο ακολουθιακό κύκλωµα (ΣΑΚ), θα θέλαµε να προσδιορίσουµε όλη την αλληλουχία των δυνατών καταστάσεων αυτού, όπως και των πιθανών εξόδων του, σε συνάρτηση µε τις τιµές των εξωτερικών εισόδων του κυκλώµατος και τους ωρολογιακούς παλµούς. Η διαδικασία της ανάλυσης ενός ΣΑΚ γίνεται πολύ εύκολα σε τρία ξεχωριστά βήµατα: συναρτήσεις εισόδου πίνακας καταστάσεων διάγραµµα καταστάσεων. Η όλη παρουσίαση αρχίζει µε απλά ακολουθιακά κυκλώµατα χωρίς επιπλέον εισόδους ή εξόδους (υποενότητα 2..) και συνεχίζεται µε ακολουθιακά κυκλώµατα µόνο µε εισόδους (υποενότητα 2..2) ή µε εισόδους και εξόδους (υποενότητα 2..3) ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΧΩΡΙΣ ΕΞΩΤΕΡΙΚΕΣ ΕΙΣΟ ΟΥΣ ΚΑΙ ΕΞΟ ΟΥΣ Ας περιγράψουµε την όλη διαδικασία επιχειρώντας να αναλύσουµε το απλό κύκλωµα του Σχήµατος 2.2(α). Πρόκειται για ένα κύκλωµα µε δύο FFs τύπου JK αρνητικής ακµής πυροδότησης. Στο κύκλωµα δεν εφαρµόζεται καµιά εξωτερική είσοδος και οι έξοδοι αυτού είναι αυτές των FFs (κατάσταση των FFs). J Q J Q Vcc K Q' Vcc K Q' (α) J0 Q0 J Q FF0 FF Vcc K0 Q'0 Vcc K Q' Σχήµα 2.2 Σύγχρονο ακολουθιακό κύκλωµα µε δύο FFs. (β) 6

47 Κατ' αρχήν παρατηρούµε ότι πράγµατι πρόκειται για ένα ΣΑΚ, αφού και τα δύο FFs τύπου JK τροφοδοτούνται µε τους ίδιους ωρολογιακούς παλµούς. Για να διευκολυνθούµε στην ανάλυση του κυκλώµατος, αποφεύγοντας οποιεσδήποτε ασάφειες, απαριθµούµε τα FFs αρχίζοντας από το 0, όπως δείχνεται στο Σχήµα 2.2β. Bάζουµε τον αύξοντα αριθµό του κάθε FF ως δείκτη σε κάθε σύµβολο εισόδου και εξόδου των FFs. Έτσι έχουµε το FF 0 µε εισόδους J 0, K 0 και εξόδους Q 0, Q 0 και το FF µε εισόδους J, K και εξόδους Q, Q. Μετά από αυτά, είµαστε πλέον έτοιµοι για να αρχίσουµε την ανάλυση του κυκλώµατος. Η όλη ανάλυση επιτυγχάνεται σε τρία βήµατα, ως εξής: Βήµα Α: Γράφουµε τις λογικές συναρτήσεις των εισόδων των FFs. Από το Σχήµα 2.2β βλέπουµε ότι: J 0 = Q J = Q 0 Κ 0 = Κ = Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων. Ο πίνακας καταστάσεων περιέχει ουσιαστικά την παρούσα και την επόµενη κατάσταση του ακολουθιακού κυκλώµατος. Αυτό είναι και το ζητούµενο, δηλαδή σε ποια κατάσταση θα βρεθεί το κύκλωµα στην επόµενη χρονική στιγµή, αν γνωρίζουµε την κατάστασή του στην παρούσα χρονική στιγµή. Ο πίνακας καταστάσεων αποτελείται από τρία τµήµατα (Πίνακας 2.): Το πρώτο τµήµα που περιέχει την παρούσα κατάσταση. Σ' αυτό καταγράφονται όλες οι δυνατές τιµές των καταστάσεων Q. Στην προκειµένη περίπτωση έχουµε 2 FFs και άρα 4 δυνατές τιµές για το ζεύγος Q, Q 0. Στη γενική περίπτωση κυκλώµατος, που αποτελείται από n FFs, έχουµε συνολικά 2 n δυνατές καταστάσεις. Το δεύτερο τµήµα περιέχει τις τιµές των εισόδων των FFs, όπως αυτές προκύπτουν από τις συναρτήσεις εισόδου του βήµατος Α και τις τιµές της παρούσας κατάστασης. Έτσι, παρατηρούµε ότι η στήλη J είναι ίδια µε την στήλη Q 0 της παρούσας κατάστασης, αφού J = Q 0. Επίσης, η στήλη J 0 είναι συµπληρωµατική της στήλης Q, αφού J 0 = Q. Τέλος, οι τιµές των Κ και Κ 0 είναι όλες ίσες µε. Το τρίτο τµήµα περιέχει την επόµενη κατάσταση του κυκλώµατος. Κάθε τιµή του τµήµατος αυτού προκύπτει από τις αντίστοιχες τιµές της παρούσας κατάστασης και των εισόδων, λαµβάνοντας υπόψη τον τρόπο λειτουργίας του FF. 7

48 Πίνακας 2. Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.2. ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟ ΟΙ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Q Q0 J K J0 K0 Q Q Καταγράφονται ΟΛΟΙ οι δυνατοί συνδυασµοί (δυνατές καταστάσεις) Προκύπτουν από τις συναρτήσεις εισόδου και τις τιµές της παρούσας κατάστασης Προκύπτουν από τις τιµές των εισόδων J, K και τις τιµές της παρούσας κατάστασης Q καθενός FF Έτσι, οι τιµές της στήλης Q της επόµενης κατάστασης προκύπτουν από την στήλη Q της παρούσας κατάστασης και τις τιµές των στηλών εισόδου J, Κ. Για παράδειγµα, η δεύτερη τιµή του Q της επόµενης κατάστασης είναι, επειδή η αντίστοιχη τιµή του Q της παρούσας κατάστασης είναι 0 και οι είσοδοι J =, Κ =, που σηµαίνει ότι το FF αλλάζει κατάσταση µε την έλευση του ενεργού παλµού του ρολογιού (toggle). Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων. Το διάγραµµα καταστάσεων (state diagram) δεν είναι τίποτε άλλο από τη γραφική απεικόνιση του πίνακα καταστάσεων. Κάθε κατάσταση απεικονίζεται µε ένα κύκλο και κάθε µετάβαση δείχνεται µε ένα βέλος. Το διάγραµµα καταστάσεων του κυκλώµατος, που εξετάζουµε, δείχνεται στο Σχήµα Σχήµα 2.3 ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος

49 Το διάγραµµα προέκυψε από τις αντίστοιχες τιµές της παρούσας και επόµενης κατάστασης του πίνακα καταστάσεων του Σχήµατος 2.3. Βλέπουµε, δηλαδή, πως, αν η παρούσα κατάσταση (Q Q 0 ) είναι 00, η επόµενη κατάσταση (τρίτο τµήµα του πίνακα καταστάσεων) είναι 0. Άρα, µε την έλευση του ενεργού παλµού το κύκλωµα µεταβαίνει από το 00 στο 0. Όµοια βρίσκουµε ότι µε τον επόµενο παλµό του ρολογιού το κύκλωµα αλλάζει κατάσταση και από το 0 µεταβαίνει στο 0, ενώ από το 0 µεταβαίνει στο 00. ηλαδή, το συγκεκριµένο κύκλωµα µε κάθε ενεργό ωρολογιακό παλµό περνά διαδοχικά από τις καταστάσεις 00, 0, 0 ή 0,, 2 στο δεκαδικό σύστηµα αρίθµησης. Πρόκειται, εποµένως, για ένα κύκλωµα απαρίθµησης παλµών (counter) µε δυνατότητα απαρίθµησης 3 παλµών (modulo-3). Αν το κύκλωµα για κάποιο λόγο (π.χ. κατά την έναρξη της τροφοδοσίας του) βρεθεί στην κατάσταση (δηλαδή Q =, Q 0 = ), τότε µε τον πρώτο ενεργό ωρολογιακό παλµό µεταβαίνει στην κατάσταση 00 και από εκεί συνεχίζει, όπως ήδη έχουµε περιγράψει. Περισσότερα, όµως, για τους απαριθµητές θα δούµε στο επόµενο κεφάλαιο. Παρατηρήσεις Παρατηρούµε ότι οι ωρολογιακοί παλµοί δεν δείχνονται στον πίνακα και στο διάγραµµα καταστάσεων. Εννοείται ότι από την παρούσα κατάσταση µεταβαίνουµε στην επόµενη κατάσταση µε την έλευση της ενεργού ακµής πυροδότησης του ωρολογιακού παλµού. Για την κατάστρωση του πίνακα βασιζόµαστε, εκτός από την παρούσα κατάσταση και τις τιµές των εισόδων, και στον πίνακα λειτουργίας του FF. Με άλλα λόγια, οι πίνακες λειτουργίας των FFs του Σχήµατος.23 είναι απαραίτητοι για την ανάλυση ενός ακολουθιακού κυκλώµατος. Για να κατανοήσουµε καλύτερα την όλη διαδικασία ανάλυσης σύγχρονων ακολουθιακών κυκλωµάτων, ας δούµε ένα άλλο παράδειγµα. Παράδειγµα / Κεφάλαιο 2 Να προσδιορισθεί ο τρόπος λειτουργίας του ΣΑΚ του Σχήµατος

50 T0 Q0 T Q Q'0 Q' Σχήµα 2.4 Σύγχρονο ακολουθιακό κύκλωµα µε FFs τύπου Τ θετικής ακµής Μας ζητείται η ανάλυση του ΣΑΚ, το οποίο αποτελείται από δύο FFs τύπου Τ θετικής ακµής πυροδότησης. Ακολουθούµε τα τρία βήµατα της ανάλυσης. Βήµα Α: Γράφουµε τις συναρτήσεις εισόδου. Τ 0 = Q 0 + Q T = Q 0 + Q Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων. Πίνακας 2.2 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.4. ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟ ΟΙ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Q Q0 Τ Τ0 Q Q Το τµήµα της παρούσας κατάστασης περιέχει όλες τις δυνατές τιµές των εξόδων των FFs. Με βάση αυτές και τις συναρτήσεις εισόδου συµπληρώνουµε το µεσαίο τµήµα του πίνακα καταστάσεων, όπου φαίνονται οι τιµές των εισόδων Τ 0 και Τ. Τέλος, η επόµενη κατάσταση προσδιορίζεται µε τη βοήθεια του πίνακα λειτουργίας του Σχήµατος.23(δ). του Τ FF και τις αντίστοιχες τιµές της παρούσας κατάστασης και των εισόδων αυτού. Υπενθυµίζεται ότι για Τ=0 το FF δεν αλλάζει κατάσταση, ενώ για Τ= αυτό µεταπίπτει στη συµπληρωµατική της παρούσας κατάστασης. 0

51 Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων. Με βάση τις τιµές της παρούσας και επόµενης κατάστασης σχεδιάζουµε το διάγραµµα καταστάσεων του Σχήµατος 2.5. Παρατηρούµε ότι το κύκλωµα αυτό µε κάθε ωρολογιακό παλµό αλλάζει κατάσταση διατρέχοντας τις τιµές του δεκαδικού συστήµατος: 2,, 0, 2,, 0, 2,... Πρόκειται, εποµένως, για ένα κύκλωµα απαρίθµησης παλµών. Σε αντίθεση µε την περίπτωση του κυκλώµατος του Σχήµατος 2.3, το παρόν κύκλωµα απαριθµεί ανάστροφα (µετρά προς τα κάτω). Αν το κύκλωµα βρεθεί στην κατάσταση Q Q 0 =, τότε µε τον επόµενο ωρολογιακό παλµό µεταβαίνει στο 00 και από εκεί και έπειτα µε κάθε νέο παλµό συνεχίζει τον κύκλο του 2,, 0, 2, Σχήµα 2.5 ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.4. Άσκηση Αυτοαξιολόγησης / Κεφάλαιο 2 Να προσδιορισθεί ο τρόπος λειτουργίας του ΣΑΚ του Σχήµατος 2.6. Σχήµα 2.6 Σύγχρονο ακολουθιακό κύκλωµα µε FFs τύπου JK αρνητικής ακµής ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ ΕΞΩΤΕΡΙΚΕΣ ΕΙΣΟ ΟΥΣ Αν στο κύκλωµα, που θέλουµε να αναλύσουµε, εφαρµόζονται κάποιες εξωτερικές είσοδοι, τότε πρέπει να τις λάβουµε υπόψη µας στη διαδικασία της ανάλυσης, προσδιορίζοντας την επίδραση που αυτές έχουν στο κύκλωµα. Η διαδικασία της ανάλυσης δεν αλλάζει και εξακολουθεί να γίνεται ακολουθώντας τα τρία βήµατα, που

52 αναφέραµε στην προηγούµενη παράγραφο. Ας παρακολουθήσουµε την ανάλυση ενός τέτοιου κυκλώµατος µέσα από ένα παράδειγµα. Παράδειγµα 2 / Κεφάλαιο 2 Να αναλυθεί η λειτουργία του κυκλώµατος, που δίνεται στο Σχήµα 2.7. Vcc X J Q J0 Q0 K Q' K0 Q'0 Σχήµα 2.7 Σύγχρονο ακολουθιακό κύκλωµα µε FFs τύπου JK και µε εξωτερική είσοδο Βήµα Α: Γράφουµε τις συναρτήσεις εισόδου. J = K = X Q 0 J 0 = K 0 = Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων. Παρατηρούµε ότι οι είσοδοι J, K των FFs είναι συναρτήσεις όχι µόνο της παρούσας κατάστασης Q, αλλά και της τιµής της εισόδου Χ. Αυτό σηµαίνει πως, για να προσδιορίσουµε την επόµενη κατάσταση, πρέπει να ξέρουµε την παρούσα κατάσταση και την είσοδο Χ. Έτσι, στο πρώτο τµήµα του πίνακα καταστάσεων ενσωµατώνουµε και τις τιµές του Χ. Οι δυνατοί συνδυασµοί των τριών µεταβλητών X, Q, Q 0 είναι 8, όπως φαίνεται στον πίνακα. Κατά τα υπόλοιπα, ο πίνακας καταστάσεων προκύπτει µε το γνωστό πλέον τρόπο. Πίνακας 2.3 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.7 ΕΙΣΟ ΟΣ & ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟ ΟΙ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Χ Q Q0 J K J0 K0 Q Q

53 Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων. Σε κάθε βέλος (µετάβαση) του διαγράµµατος καταστάσεων σηµειώνουµε και την αντίστοιχη τιµή της εισόδου Χ (Σχήµα 2.8). Έτσι, εύκολα παρατηρούµε ότι, όταν η εξωτερική είσοδος Χ =, το κύκλωµα απαριθµεί συνολικά (προς τα πάνω), δηλαδή 0,, 2, 3, 0,,..., ενώ, όταν Χ = 0, το κύκλωµα απαριθµεί ανάστροφα (προς τα κάτω), δηλαδή 3, 2,, 0, 3, 2,... Συνεπώς, πρόκειται για ένα κύκλωµα απαρίθµησης 4 παλµών (modulo-4), η λειτουργία του οποίου εκφράζεται από την εξωτερική είσοδο Χ Σχήµα 2.8 ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ ΕΞΩΤΕΡΙΚΕΣ ΕΙΣΟ ΟΥΣ ΚΑΙ ΕΞΟ ΟΥΣ Ένα ΣΑΚ µπορεί να έχει µία ή περισσότερες εξωτερικές εισόδους ή/και εξόδους. Η διαδικασία ανάλυσης του τρόπου λειτουργίας είναι ίδια µε αυτή που µάθαµε στις προηγούµενες παραγράφους και γίνεται σε τρία βήµατα. Ο πίνακας καταστάσεων στην προκειµένη περίπτωση θα αποτελείται από ένα επιπλέον τµήµα, όπου θα καταγράφονται οι τιµές των εξωτερικών εξόδων για κάθε δυνατή περίπτωση των εισόδων και της παρούσας κατάστασης. Ας παρακολουθήσουµε τη διαδικασία ανάλυσης ενός τέτοιου κυκλώµατος µέσα από το παράδειγµα που ακολουθεί. Παράδειγµα 3 / Κεφάλαιο 2 Να αναλυθεί η λειτουργία του κυκλώµατος του Σχήµατος

54 T Q T0 Q0 Q' Q'0 Y X Σχήµα 2.9 Σύγχρονο ακολουθιακό κύκλωµα µε Τ FFs και εξωτερική είσοδο και έξοδο Αρχίζουµε την ανάλυση του κυκλώµατος ακολουθώντας τα γνωστά τρία βήµατα: Βήµα Α: Γράφουµε τις εξισώσεις εισόδου των FFs. T = Q 0 Τ 0 = Χ Q Αφού το κύκλωµα διαθέτει και µια εξωτερική έξοδο Υ, είναι σκόπιµο να γράψουµε τη λογική συνάρτηση αυτής, ώστε στη συνέχεια να είµαστε έτοιµοι να προσδιορίσουµε την τιµή της για κάθε δυνατό συνδυασµό της παρούσας κατάστασης και της εισόδου. Έτσι έχουµε: Y = X Q Q 0 Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων. Έχουµε µία εξωτερική είσοδο και δύο FFs, και κατά συνέπεια 8 διαφορετικές περιπτώσεις µπορεί να υπάρξουν στην παρούσα κατάσταση. Με βάση αυτές τις τιµές και τις συναρτήσεις εισόδου, συµπληρώνουµε το δεύτερο τµήµα του πίνακα καταστάσεων, που περιέχει όλες τις δυνατές περιπτώσεις στις οποίες µπορούν να βρεθούν οι είσοδοι Τ 0, Τ των δύο FFs. Στο σηµείο αυτό, και πριν συνεχίσουµε στον προσδιορισµό της επόµενης κατάστασης (δεξιό τµήµα του Πίνακα 2.4), καταγράφουµε τις τιµές εξόδου της Υ. Οι τιµές της προκύπτουν από τις αντίστοιχες τιµές της εξωτερικής εισόδου και της παρούσας κατάστασης. Τέλος, προσδιορίζουµε την επόµενη κατάσταση από την παρούσα κατάσταση και τις τιµές των εισόδων Τ 0, Τ των FFs µε βάση τον πίνακα λειτουργίας τους (βλ. Σχήµα.23δ). 4

55 Πίνακας 2.4 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.9. ΕΙΣΟ ΟΣ & ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟ ΟΙ ΕΞΟ ΟΣ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Χ Q Q0 T T0 Υ Q Q Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων. Το διάγραµµα καταστάσεων σχεδιάζεται κατά τα γνωστά από την παρούσα και επόµενη κατάσταση του Πίνακα 2.4. Σε κάθε µετάβαση σηµειώνουµε τις αντίστοιχες τιµές των εξωτερικών εισόδων και εξόδων µε τη µορφή Χ/Υ. Έτσι, αν το κύκλωµα βρεθεί στην κατάσταση 0 και είσοδος Χ = 0, τότε έλευση του ενεργού παλµού θα το οδηγήσει στην κατάσταση 00 και η έξοδος θα είναι Υ =. Για το λόγο αυτό στο βέλος από το 0 στο 00 σηµειώνουµε 0/. Αν όµως η είσοδος Χ =, τότε η έλευση του ενεργού παλµού θα το οδηγήσει στην κατάσταση 0 και η έξοδος Υ θα ισούται µε 0 (Υ=0). Παρατηρούµε ότι, αν το κύκλωµα βρεθεί στην κατάσταση 0 και η είσοδος Χ =, τότε αυτό εγκλωβίζεται στην ίδια κατάσταση. Αυτό δείχνεται στο διάγραµµα καταστάσεων µε ένα βρόχο. Όµοια, αν το κύκλωµα βρεθεί στην κατάσταση και η είσοδος είναι Χ = 0, τότε παραµένει στην ίδια κατάσταση µέχρις ότου γίνει Χ =, οπότε και µε την έλευση του ενεργού παλµού µεταβαίνει στην κατάσταση 0. 0/0 0/0 00 0/ / 0/ / 0 0 /0 /0 Σχήµα 2.0 ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος

56 Άσκηση Αυτοαξιολόγησης 2 / Κεφάλαιο 2 Να προσδιορισθεί ο τρόπος λειτουργίας του κυκλώµατος του Σχήµατος 2. και να σχεδιαστούν οι κυµατοµορφές και Y. D2 Q2 Q'2 D Q Q' Y D0 Q0 Q'0 Σχήµα 2. Σύγχρονο ακολουθιακό κύκλωµα µε D FFs και έξοδο Σύνοψη Ενότητας Στην ενότητα αυτή µελετήσαµε τον τρόπο ανάλυσης ΣΑΚ. Είδαµε ότι: Η ανάλυση ενός ΣΑΚ γίνεται σε τρία βήµατα ως εξής: Α: Γράφουµε τις συναρτήσεις εισόδου των FFs. Α2: Καταστρώνουµε τον πίνακα καταστάσεων. Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων. Ο πίνακας καταστάσεων αποτελείται από τρία ή τέσσερα τµήµατα, ανάλογα µε το αν το προς ανάλυση κύκλωµα έχει ή δεν έχει εξωτερικές εξόδους. Το πλήθος των γραµµών (δυνατών περιπτώσεων) του πίνακα καταστάσεων εξαρτάται από το πλήθος των FFs του κυκλώµατος και το πλήθος των εξωτερικών εισόδων. Έτσι, αν ένα ΣΑΚ αποτελείται από n FFs (n καταστάσεις) και m εξωτερικές είσοδοι εφαρµόζονται σ αυτό, το πλήθος των δυνατών συνδυασµών, που θα περιέχει ο πίνακας καταστάσεων, θα ισούται µε 2 n+m. Το διάγραµµα καταστάσεων αποτελεί µια εποπτική αναπαράσταση του πίνακα καταστάσεων. Με άλλα λόγια, το διάγραµµα και ο πίνακας καταστάσεων ενός κυκλώµατος παρέχουν την ίδια πληροφορία. 6

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

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

59 ότι το FFs τύπου JK έχει τις περισσότερες περιπτώσεις συνθηκών αδιαφορίας στις εισόδους του έναντι των άλλων. Επίσης, παρατηρούµε ότι η είσοδος D του FF τύπου D είναι ίδια µε την επόµενη κατάσταση Q t+ αυτού, όπως άλλωστε ήταν αναµενόµενο, αφού για να γίνει η επόµενη κατάσταση 0 ή, πρέπει η είσοδος να είναι 0 ή αντίστοιχα, ανεξάρτητα από το ποια είναι η παρούσα κατάσταση. Οι πίνακες διέγερσης είναι απαραίτητοι για τη σχεδίαση ΣΑΚ κατ αναλογία µε τους πίνακες λειτουργίας των FFs, οι οποίοι χρησιµοποιούνται για την ανάλυση ΣΑΚ. SR Flip-Flop JK Flip-Flop Q t Q t+ S R Q t Q t+ J K Χ Χ X X X 0 X 0 D Flip-Flop T Flip-Flop Q t Q t+ D Q t Q t+ T Σχήµα 2.2 Πίνακες διέγερσης των FFs Παράδειγµα 4 / Κεφάλαιο 2 Με FFs τύπου JK αρνητικής ακµής πυροδότησης, να σχεδιασθεί ΣΑΚ, το οποίο να "περνά" διαδοχικά από τις καταστάσεις 0,, 3, 2 (δηλαδή να απαριθµεί σύµφωνα µε τον κώδικα Gray). Πριν αρχίσουµε, και αφού µας έχει διευκρινιστεί ότι η όλη σχεδίαση πρέπει να γίνει µε FFs τύπου JK, ας δούµε πόσα FFs χρειαζόµαστε. Εφόσον έχουµε 4 διαφορετικές καταστάσεις από το 0 µέχρι το 3, σηµαίνει πως θα χρειαστούµε 2 FFs. Άρα, ακολουθούµε τα τρία βήµατα σχεδίασης και έχουµε: Βήµα Σ: Σχεδιάζουµε το διάγραµµα καταστάσεων και µε βάση αυτό τον αντίστοιχο πίνακα καταστάσεων. 9

60 Σχήµα 2.3 ιάγραµµα καταστάσεων του Παραδείγµατος 4 / Κεφάλαιο 2 Πίνακας 2.5 Πίνακας καταστάσεων του Παραδείγµατος 4 / Κεφάλαιο 2 Π.Κ. Ε.Κ. ΕΙΣΟ ΟΙ Q Q 0 Q Q 0 J K J 0 K X X 0 X X X 0 X 0 X 0 X Τα τµήµατα της παρούσας και επόµενης κατάστασης του Πίνακα καταστάσεων 2.5 εξάγονται απ' ευθείας από το διάγραµµα καταστάσεων του Σχήµατος 2.3. Το τρίτο τµήµα όµως του πίνακα καταστάσεων, το οποίο περιέχει τις αντίστοιχες τιµές των εισόδων J, K των FFs, συµπληρώνεται γραµµή προς γραµµή µε τη βοήθεια του πίνακα διέγερσης του Σχήµατος 2.2. για το JK FF. Έτσι, αν το FF βρίσκεται κατά την παρούσα χρονική στιγµή στην κατάσταση 0 και θέλουµε να παραµείνει σ' αυτή (επόµενη κατάσταση Q =0), τότε οι είσοδοι J, K αυτού πρέπει να είναι 0, Χ αντίστοιχα (βλ. πρώτη γραµµή και πρώτη στήλη των τµηµάτων του πίνακα καταστάσεων). Αν το FF βρίσκεται στο 0 και θέλουµε να µεταβεί στο, τότε οι είσοδοι J, K πρέπει να είναι, Χ αντίστοιχα (βλ. δεύτερη γραµµή και πρώτη στήλη των τµηµάτων του πίνακα καταστάσεων). Συνεχίζουµε µε τον ίδιο τρόπο για να συµπληρώσουµε και τις υπόλοιπες γραµµές και στήλες του τµήµατος του πίνακα καταστάσεων, που δίνει τις εισόδους των FFs. Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου των FFs. Από το τρίτο τµήµα του πίνακα καταστάσεων µπορούµε άµεσα να πούµε ότι για τη συγκεκριµένη περίπτωση η είσοδος J =Q Q 0, αφού µόνο γι' αυτόν το συνδυασµό της παρούσας κατάστασης το J = (θεωρώντας ότι X=0). Όµοια θα µπορούσαµε να γράψουµε ότι: Κ =Q Q 0, J 0 =Q Q 0, Κ 0 =Q Q 0, θεωρώντας πάντοτε ότι X=0. Οι συναρτήσεις που µόλις προσδιορίσαµε είναι σωστές, δεν είναι όµως και οι πλέον απλές, αφού δεν αξιοποιήσαµε τις συνθήκες αδιαφορίας! Ας προσπαθήσουµε να το κάνουµε 20

61 αυτό, χρησιµοποιώντας χάρτες Karnaugh, όπως δείχνεται στο Σχήµα 2.4 για καθεµία είσοδο των FFs χωριστά, µε βάση τον πίνακα καταστάσεων. Q Q Q 0 0 Q 0 0 x x Q 0 Q 0 0 Q 0 Q Q 0 Q 0 x x 0 x 0 x x x 0 J = Q 0 = Q0 = Q K 0 = Q K J Σχήµα 2.4 Χρήση του χάρτη Karnaugh στην απλοποίηση των συναρτήσεων εισόδου του Πίνακα 2.5. εν είναι δύσκολο να δούµε ότι οι απλοποιηµένες συναρτήσεις είναι J =Q 0, K =Q 0, J 0 =Q και K 0 =Q. Παρατηρούµε ότι η αξιοποίηση των συνθηκών αδιαφορίας µας οδήγησε σε σηµαντικά απλούστερες συναρτήσεις εισόδου, αφού δεν απαιτείται καµία επιπλέον πύλη για την υλοποίησή τους. Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα. Έχοντας προσδιορίσει τις συναρτήσεις εισόδου των FFs, προχωρούµε εύκολα στη σχεδίαση του ζητούµενου λογικού κυκλώµατος, όπως δείχνεται στο Σχήµα 2.5. J Q K FF Q' J0 Q0 K0 FF0 Q0' Σχήµα 2.5 Λογικό κύκλωµα του Παραδείγµατος 4 / Κεφάλαιο 2 Ας συνεχίσουµε τη µελέτη της σχεδίασης ΣΑΚ µε την περίπτωση κατά την οποία το ζητούµενο κύκλωµα ελέγχεται εξωτερικά από κάποια είσοδο. Θα διαπιστώσουµε και πάλι ότι δεν παρουσιάζεται ιδιαίτερη δυσκολία στη σχεδίαση τέτοιων κυκλωµάτων, όπως άλλωστε είδαµε κατά την ανάλυσή τους στην υποενότητα Παράδειγµα 5 / Κεφάλαιο 2 Με τη χρήση FFs τύπου JK θετικής ακµής πυροδότησης να σχεδιαστεί ΣΑΚ, το οποίο να "περνά" από τις καταστάσεις 0,, 2, 3 (κανονική απαρίθµηση) ή 0,, 3, 2 2

62 (απαρίθµηση σύµφωνα µε τον κώδικα Gray) ανάλογα µε το αν η είσοδος X είναι 0 ή αντίστοιχα. Καταλαβαίνουµε ότι το κύκλωµά µας θα πρέπει να αποτελείται από δύο FFs τύπου JK, αφού και στις δύο περιπτώσεις αυτό θα πρέπει να διατρέχει τις καταστάσεις 0,, 2, 3 αλλά µε διαφορετική σειρά. Άρα, αρχίζουµε και πάλι τη σχεδίαση ακολουθώντας τα γνωστά τρία βήµατα σχεδίασης. Βήµα Σ: Σχεδιάζουµε το διάγραµµα καταστάσεων και από αυτό, τον πίνακα καταστάσεων Σχήµα 2.6 ιάγραµµα καταστάσεων του Παραδείγµατος 5 / Κεφάλαιο 2 Πίνακας 2.6 Πίνακας καταστάσεων του Παραδείγµατος 5 / Κεφάλαιο 2 ΕΙΣΟ ΟΙ + Π.Κ. Ε.Κ. ΕΙΣΟ ΟΙ Χ Q Q 0 Q Q 0 J K J 0 K X X X X 0 0 X 0 X X X X X 0 X X X 0 X 0 X 0 X Οι αριθµοί στα βέλη του διαγράµµατος καταστάσεων υποδηλώνουν τις αντίστοιχες τιµές της εισόδου Χ. Είναι φυσικό οι τιµές του Χ να συµπεριλαµβάνονται στο πρώτο τµήµα του πίνακα καταστάσεων, όπου καταγράφονται όλοι οι δυνατοί συνδυασµοί εξωτερικής εισόδου και παρούσας κατάστασης. Η επόµενη κατάσταση (δεύτερο τµήµα του πίνακα καταστάσεων) προκύπτει από το διάγραµµα καταστάσεων, ενώ οι τιµές των εισόδων των FFs (τρίτο τµήµα του πίνακα καταστάσεων) προκύπτουν από τις τιµές της παρούσας και επόµενης κατάστασης καθενός FF σε συνδυασµό µε τον αντίστοιχο πίνακα διέγερσης αυτού (Σχήµα 2.2). 22

63 Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου των FFs. Για να απλοποιήσουµε τις συναρτήσεις των εισόδων J, K, J 0, K 0 των FFs, χρησιµοποιούµε χάρτες Karnaugh, όπως δείχνεται στο Σχήµα 2.7. Σ' αυτούς απεικονίζονται οι τιµές της εξωτερικής εισόδου και της παρούσας κατάστασης (πρώτο τµήµα του πίνακα καταστάσεων) και η αντίστοιχη στήλη τιµών κάθε εισόδου (τρίτο τµήµα του πίνακα καταστάσεων). Q 0 Q Q 0 X x x Q Q 0 X x 0 x x x x x x x x J = Q 0 Q K X Q + XQ = X Q = 0 0 Q Q 0 X x x Q Q 0 X x x x x x x J = X + 0 Q K = X + 0 Q Σχήµα 2.7 Χάρτες Karnaugh για την απλοποίηση των συναρτήσεων εισόδου του Πίνακα 2.6. Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα. Γνωρίζοντας πλέον τις συναρτήσεις της κάθε εισόδου των FFs, προχωρούµε στην τελική σχεδίαση του λογικού κυκλώµατος του Σχήµατος 2.8, που είναι και το ζητούµενο κύκλωµα. J Q J0 Q0 FF FF0 X K Q' K0 Q0' Σχήµα 2.8 Λογικό κύκλωµα του Παραδείγµατος 5 / Κεφάλαιο 2 Άσκηση Αυτοαξιολόγησης 3 / Κεφάλαιο 2 Με FFs τύπου Τ αρνητικής ακµής πυροδότησης, να σχεδιαστεί ΣΑΚ, το οποίο να διατρέχει διαδοχικά τις καταστάσεις 0,, 3, 2. 23

64 ραστηριότητα / Κεφάλαιο 2 Ποιο κύκλωµα µε D FFs θετικής ακµής πυροδότησης θα προτείνατε εσείς για την περίπτωση του Παραδείγµατος 5 / Κεφάλαιο 2, δηλαδή όταν X=0 να απαριθµεί κανονικά από το 0 µέχρι το 3, ενώ όταν X= να απαριθµεί σύµφωνα µε τον κώδικα Gray; Η περίπτωση ανάλυσης ή σχεδίασης ΣΑΚ µε FF τύπου D είναι από τις πλέον απλές ως προς την κατανόησή τους, αφού στους πίνακες καταστάσεων αυτών το τµήµα των εισόδων θα µπορούσε να παραληφθεί, γιατί αυτό είναι ίδιο µε εκείνο της επόµενης κατάστασης. Παρά το γεγονός αυτό, εµείς στη συνέχεια θα εξακολουθήσουµε να το δείχνουµε για λόγους οµοιοµορφίας µε τους υπόλοιπους τύπους FFs. Τα κυκλώµατα, που προκύπτουν, είναι συνήθως πολύ πιο πολύπλοκα, αφού διαθέτουµε µία µόνο είσοδο για την υλοποίηση όλων των λειτουργιών που θα θέλαµε. Ας επαληθεύσουµε όλα αυτά, σχεδιάζοντας εξαρχής το αντίστοιχο κύκλωµα του Σχήµατος 2.8 µε FF τύπου D. Βήµα Σ: Σχεδιάζουµε το διάγραµµα καταστάσεων και µε βάση αυτό καταστρώνουµε τον αντίστοιχο πίνακα καταστάσεων. Το διάγραµµα καταστάσεων είναι ίδιο µε εκείνο του Σχήµατος 2.6, όπως ίδια είναι και τα δύο πρώτα τµήµατα του πίνακα καταστάσεων (βλ. Πίνακα 2.6 και 2.7). Το τρίτο τµήµα του Πίνακα 2.7 δίνει τις εισόδους των D FFs. Όπως ήταν αναµενόµενο, αυτό είναι ίδιο µε εκείνο της επόµενης κατάστασης (δεύτερο τµήµα του πίνακα καταστάσεων). Πίνακας 2.7 Πίνακας καταστάσεων της ραστηριότητας / Κεφάλαιο 2 ΕΙΣΟ ΟΙ + Π.Κ. Ε.Κ. ΕΙΣΟ ΟΙ Χ Q Q 0 Q Q 0 D D Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις των εισόδων. 24

65 Για την καλύτερη απλοποίηση των συναρτήσεων εισόδου D, D 0, θα χρησιµοποιήσουµε χάρτες Karnaugh, όπως δείχνεται στο Σχήµα 2.9. Q Q 0 X Q Q Q Q 0 X x x Q 0 Q 0 D = Q 0 Q + Q 0 X + Q 0 Q X = D 0 = Q 0 Q + Q 0 X + Q X = = Q 0 (Q +X) + Q 0 (Q +X) = = Q 0 (Q +X ) + Q X = = Q 0 (Q +X) = Q 0 (Q x) + Q X = = (Q 0 + Q X) + Q X Σχήµα 2.9 Χάρτες Karnaugh για την απλοποίηση των συναρτήσεων εισόδων Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα. X D Q D0 Q0 FF Q' FF0 Q0' Σχήµα 2.20 Λογικό κύκλωµα ραστηριότητας / Κεφάλαιο 2 Παρατηρούµε ότι το λογικό κύκλωµα που προέκυψε είναι πολύ πιο πολύπλοκο, δηλαδή χρειάζεται περισσότερες πύλες σε σχέση µε το αντίστοιχο του Σχήµατος 2.8. Μην θορυβηθείτε, αν δεν βρήκατε το ίδιο κύκλωµα. Αυτό δεν σηµαίνει κατ' ανάγκη ότι έχετε κάνει κάποιο λάθος, αφού το τελικό κύκλωµα εξαρτάται από το στάδιο απλοποίησης των συναρτήσεων εισόδου κατά το βήµα Σ2. Για να σιγουρευτείτε ότι το κύκλωµα που σχεδιάσατε ανταποκρίνεται στις προδιαγραφές, αναλύστε το σύµφωνα µε αυτά που µάθαµε στην ενότητα

66 2.2.. ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ Α ΙΑΦΟΡΕΣ ΚΑΤΑΣΤΑΣΕΙΣ Μέχρι τώρα ασχοληθήκαµε µε τη σχεδίαση ΣΑΚ, τα οποία µε κάθε ωρολογιακό παλµό διατρέχουν όλες τις δυνατές καταστάσεις, µε διαφορετική ίσως σειρά. Για παράδειγµα, είδαµε κυκλώµατα, τα οποία χρησιµοποιούσαν δύο FFs και µε κάθε παλµό "περνούσαν" από τις καταστάσεις 0,, 2, 3 ή 0,, 3, 2. Τι γίνεται, όµως, στην περίπτωση που κάποιες από τις δυνατές καταστάσεις ενός κυκλώµατος δεν χρησιµοποιούνται; Κλασσικό παράδειγµα τέτοιας περίπτωσης είναι το κύκλωµα, το οποίο µπορεί να µετρά δεκάδες, δηλαδή µε κάθε ωρολογιακό παλµό να µετρά από το 0 µέχρι και το 9 και πάλι από την αρχή. Ας εξετάσουµε αναλυτικά αυτή την περίπτωση σχεδίασης µέσα από το επόµενο παράδειγµα. Παράδειγµα 6 / Κεφάλαιο 2 Με FF τύπου JK αρνητικής ακµής πυροδότησης να σχεδιάσετε ΣΑΚ, το οποίο να διατρέχει τις τιµές 0 µέχρι και 9. Καταλαβαίνουµε ότι πρόκειται για έναν δεκαδικό απαριθµητή (decimal counter). Για τη δυαδική αναπαράσταση των δέκα τιµών απαιτούνται 4 δυαδικά ψηφία, δηλαδή 4 FFs. Αρχίζουµε, λοιπόν, τη σχεδίαση ακολουθώντας τα γνωστά βήµατα: Βήµα Σ: Σχεδιάζουµε το διάγραµµα καταστάσεων και καταστρώνουµε τον αντίστοιχο πίνακα καταστάσεων Σχήµα 2.2 ιάγραµµα καταστάσεων του Παραδείγµατος 6 / Κεφάλαιο 2 26

67 Πίνακας 2.8 Πίνακας καταστάσεων του Παραδείγµατος 6 / Κεφάλαιο 2 Π.Κ. Ε.Κ. ΕΙΣΟ ΟΙ Q 3 Q 2 Q Q 0 Q 3 Q 2 Q Q 0 J 3 K 3 J 2 K 2 J K J 0 K X 0 X 0 X X X 0 X X X X 0 X X 0 X X X X X X X 0 0 X X X X 0 X X X X 0 X 0 X X X X X X 0 0 X 0 X X X 0 X 0 X X 0 0 X X X X X X X X X X X X 0 X X X X X X X X X X X X 0 0 X X X X X X X X X X X X 0 X X X X X X X X X X X X 0 X X X X X X X X X X X X X X X X X X X X X X X X Το διάγραµµα καταστάσεων περιλαµβάνει 2 4 = 6 καταστάσεις, από τις οποίες, όµως, µόνο οι δέκα χρησιµοποιούνται (Σχήµα 2.2). Οι υπόλοιπες έξι (στην προκειµένη περίπτωση οι καταστάσεις 0,, 2, 3, 4, 5) µάς είναι προς το παρόν αδιάφορες. Το γεγονός αυτό αντικατοπτρίζεται στον πίνακα καταστάσεων (Πίνακας 2.8) µε το σύµβολο "X" στο τµήµα της επόµενης κατάστασης και κατ' επέκταση στο τρίτο τµήµα των εισόδων. Γίνεται φανερό ότι η ύπαρξη αυτών των συνθηκών αδιαφορίας θα βοηθήσει πάρα πολύ στην απλοποίηση των συναρτήσεων εισόδου, όπως διαπιστώνουµε στο αµέσως επόµενο βήµα µας. Όσον αφορά στη συµπλήρωση του πίνακα για τις καταστάσεις 0 µέχρι και 9, αυτή γίνεται κατά τα γνωστά µε τη βοήθεια του πίνακα διέγερσης του Σχήµατος 2.2. για το JK FF. Βήµα Σ2: Γράφουµε τις απλοποιηµένες συναρτήσεις εισόδου. Η απλοποίηση των συναρτήσεων εισόδου των FFs γίνεται µε τη βοήθεια χαρτών Karnaugh (Σχήµα 2.22). Η ύπαρξη πολλών "Χ", λόγω των αδιάφορων καταστάσεων, αλλά και εξαιτίας των συνθηκών αδιαφορίας του πίνακα διέγερσης του JK FF, οδήγησε εύκολα σε απλοποιηµένες συναρτήσεις εισόδου. 27

68 Q Q 0 Q Q 3 Q Q 3 0 x x x x x x x x Q 2 Q Q 0 Q Q Q Q Q 3 Q x x 0 x x x x 0 x x x x x x x x x x 0 x x 0 x x Q Q x x 0 x x x x x x 0 x x x Q 0 J = J 2 = Q0Q J = Q0Q 3 3 Q0QQ2 J 0 = QQ Q 0 Q x x x x 0 x x x x 0 x x x x x x Q Q 3QQ Q 0 0 Q Q Q x x x x 00 x x 0 0 x x x x x x x x x x 0 x x x x 0 x x x x Q Q 0 Q 3 Q x x 0 x x x x x x 0 x x x K = 3 Q 0 2 Q0Q K = K = Q0Q 3 K 0 = Σχήµα 2.22 Χάρτες Karnaugh για την απλοποίηση των συναρτήσεων εισόδου Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα. Έχοντας προσδιορίσει τις συναρτήσεις εισόδου των FFs, προχωρούµε στη σχεδίαση του ζητούµενο ΣΑΚ, όπως αυτό δείχνεται στο Σχήµα J2 J J0 J3 Q3 Q2 Q Q0 V cc K3 Q3' K2 Q2' K Q' K Q0' Σχήµα 2.23 Λογικό κύκλωµα του Παραδείγµατος 6 / Κεφάλαιο 2 Στο σηµείο αυτό η διαδικασία της σχεδίασης έχει ολοκληρωθεί. Υπάρχει, όµως, ένα ερώτηµα, το οποίο πρέπει να απαντηθεί. Μήπως η ύπαρξη των αδιάφορων καταστάσεων και η συνεπακόλουθη αυθαίρετη αξιοποίησή τους κατά τη διαδικασία της απλοποίησης, δηµιούργησε κάποια προβλήµατα στο κύκλωµα και αυτό δεν λειτουργεί, όπως θα θέλαµε; Ας γίνουµε πιο σαφείς. Μήπως οι αποφάσεις, που πήραµε αυθαίρετα για κάποια Χ ίσα µε, οδήγησαν το κύκλωµα σε µη επιθυµητή λειτουργία, όπως για παράδειγµα σ' ένα κύκλο απαρίθµησης, 2, 3, 4,, 2, 3, 4,,... ; Σε µια τέτοια περίπτωση το 28

69 κύκλωµα ποτέ δεν "φτάνει" σε µια από τις ζητούµενες καταστάσεις και εγκλωβίζεται σε ένα µη επιθυµητό βρόχο απαρίθµησης. Για να απαντήσουµε στο ερώτηµα αυτό, θα πρέπει να ελέγξουµε τη λειτουργία του κυκλώµατος. Άρα απαιτείται να αναλύσουµε το κύκλωµα, που µόλις σχεδιάσαµε, και έτσι να επιβεβαιώσουµε την ορθότητα της λειτουργίας του. Στην περίπτωση που αυτό δεν συµβαίνει, τότε θα πρέπει να επαναλάβουµε τη διαδικασία της σχεδίασης αυτού, αρχίζοντας και πάλι από το βήµα Σ, αλλά όντας πιο αυστηροί και σαφείς στις προδιαγραφές µας. Συνεπώς, κατά τη σχεδίαση ΣΑΚ, τα οποία έχουν αδιάφορες καταστάσεις, επιβάλλεται ένα επιπλέον βήµα, αυτό του ελέγχου της ορθής λειτουργίας του κυκλώµατος. Βήµα Σ4: Έλεγχος ορθής λειτουργίας του κυκλώµατος. Ο έλεγχος αυτός γίνεται, όπως µόλις αναφέραµε, µε την ανάλυση του κυκλώµατος του Σχήµατος 2.23, που µόλις σχεδιάσαµε. Ακολουθούµε, εποµένως, τα βήµατα της ανάλυσης της ενότητας 2.. Βήµα Α: Γράφουµε τις συναρτήσεις εισόδου των FFs. J 3 = Q 2 Q Q 0 J 2 = K 2 = Q Q 0 J = K = Q 3Q 0 J 0 = K 0 = K 3 = Q 0 Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων. Βασιζόµενοι στις συναρτήσεις εισόδου και στις τιµές της παρούσας κατάστασης προσδιορίζουµε την επόµενη κατάσταση του κυκλώµατος, όπως δείχνεται στον Πίνακα 2.9. Πίνακας 2.9 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος Π.Κ. ΕΙΣΟ ΟΙ Ε.Κ. Q 3 Q 2 Q Q 0 J 3 K 3 J 2 K 2 J K J 0 K 0 Q 3 Q 2 Q Q

70 Για τις καταστάσεις 0 µέχρι και 9 ο πίνακας αυτός είναι ίδιος µε τον Πίνακα 2.8, όπως είναι άλλωστε αναµενόµενο. Η διαφοροποίηση αρχίζει από την κατάσταση 0 και µετά. Το αντίστοιχο διάγραµµα καταστάσεων θα µας καταδείξει τον ακριβή τρόπο λειτουργίας του κυκλώµατος και γι' αυτό προχωρούµε άµεσα στη σχεδίασή του. Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων. Το διάγραµµα καταστάσεων, που προκύπτει, δείχνεται στο Σχήµα Παρατηρούµε ότι το κύκλωµα, που σχεδιάσαµε, διατρέχει όντως τον κύκλο των καταστάσεων 0 µέχρι και Σχήµα 2.24 ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος Αν βρεθεί σε µία από τις αδιάφορες καταστάσεις, τότε µε τον πρώτο ωρολογιακό παλµό µεταβαίνει στην αµέσως επόµενη κατάσταση, και µε το δεύτερο παλµό µεταβαίνει σε µια από τις επιθυµητές (έγκυρες) καταστάσεις και συνεχίζει πλέον τον κύκλο κανονικά. Για παράδειγµα, αν βρεθεί στη κατάσταση 0, µεταβαίνει στην και ακολούθως στην 6, οπότε και συνεχίζει. ηλαδή αρχίζοντας από την κατάσταση 0, θα έχουµε την αλληλουχία καταστάσεων: 0,, 6, 7, 8, 9, 0,, 2, 3, 4, 5, 6, 7, 8, 9, 0,, 2,... Παρόµοια συµβαίνουν και όταν το κύκλωµα βρεθεί σε µια από τις υπόλοιπες µη επιτρεπτές καταστάσεις. Το αργότερο µετά από δύο ωρολογιακούς παλµούς βρίσκεται σε µια από τις επιτρεπτές (έγκυρες) καταστάσεις, οπότε και συνεχίζει κανονικά. Αυτού του είδους τα κυκλώµατα λέµε ότι έχουν αυτόµατη εκκίνηση (self-starting) και αυτόµατη διόρθωση (self-correcting). Θα γνωρίσουµε αµέσως τώρα κυκλώµατα για τα οποία δεν συµβαίνει αυτό. Σε µια τέτοια περίπτωση θα πρέπει να παρέµβουµε στη λειτουργία του κυκλώµατος και να τη διορθώσουµε, επαναλαµβάνοντας τµήµα ή και όλη τη διαδικασία της σχεδίασης αυτού. Στις περιπτώσεις που εξετάζουµε, έχουµε θεωρήσει ότι τα FFs που χρησιµοποιούµε δεν διαθέτουν ασύγχρονες (άµεσες) εισόδους εκκαθάρισης (CLEAR ) ή 30

71 καθορισµού υψηλής στάθµης (PRESET ). Αν διαθέτουν, τότε µπορούµε να τις αξιοποιήσουµε, για να πετύχουµε την επιθυµητή εκκίνηση του κυκλώµατος. ραστηριότητα 2 / Κεφάλαιο 2 Σχεδιάστε ΣΑΚ, το οποίο να διατρέχει διαδοχικά τους αριθµούς, 3, 5, 7. Ας προσπαθήσουµε, λοιπόν, να σχεδιάσουµε ένα κύκλωµα που να µετράει µόνο τους περιττούς αριθµούς µέχρι το 7, θα θέλαµε, δηλαδή, µε κάθε νέο ωρολογιακό παλµό να πηγαίνει από το και πάλι από την αρχή. Με άλλα λόγια να διατρέχει µόνο αυτές τις 4 καταστάσεις. Προσοχή όµως, αν και οι καταστάσεις είναι 4, για την αναπαράστασή τους σε δυαδική µορφή χρειαζόµαστε 3 FFs, γιατί πώς αλλιώς θα µπορούσαµε να παραστήσουµε το 5 ή το 7; Με 3 FFs έχουµε 8 δυνατές καταστάσεις, από τις οποίες όµως οι 4 µόνο µας χρειάζονται. Ας θεωρήσουµε αρχικά ότι µας είναι αδιάφορο το πού θα πάει το κύκλωµα, αν βρεθεί σε µία από αυτές, και ας προσπαθήσουµε να το σχεδιάσουµε χρησιµοποιώντας FFs τύπου Τ. Βήµα Σ: Σχεδιάζουµε το διάγραµµα καταστάσεων και καταστρώνουµε τον αντίστοιχο πίνακα καταστάσεων. Το διάγραµµα καταστάσεων δείχνεται στο Σχήµα 2.25 και ο πίνακας καταστάσεων είναι ο Πίνακας 2.0. Μας είναι αδιάφορο το πού θα βρεθεί το κύκλωµα µετά την κατάσταση 0 ή 2 ή 4 ή 6, γεγονός που αντικατοπτρίζεται και στο τµήµα των εισόδων του πίνακα καταστάσεων µε τις συνθήκες αδιαφορίας (Χ) Σχήµα 2.25 ιάγραµµα καταστάσεων ΣΑΚ απαρίθµησης των περιττών αριθµών, 3, 5, 7. 3

72 Πίνακας 2.0 Πίνακας καταστάσεων που αντιστοιχεί στο διάγραµµα του Σχήµατος Π.Κ. Ε.Κ. ΕΙΣΟ ΟΙ Q 2 Q Q 0 Q 2 Q Q 0 T 2 T T X X X X X X X X X X X X X X X X X X X X X X X X Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου Από το τµήµα των εισόδων του πίνακα καταστάσεων και µε αξιοποίηση των συνθηκών αδιαφορίας, εξάγεται άµεσα ότι Τ 0 =0, Τ =. Η είσοδος Τ 2 προσδιορίζεται µε βάση το χάρτη Karnaugh του Σχήµατος 2.26 ίση µε Q, δηλαδή T 2 =Q. Q 2 Q Q Q x x Q 2 x x T 2 = Q Σχήµα 2.26 Χάρτης Karnaugh για την απλοποίηση της συνάρτησης Τ 2 Q 0 Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα. Γνωρίζοντας πλέον τις συναρτήσεις εισόδου, το λογικό κύκλωµα σχεδιάζεται εύκολα (Σχήµα 2.27). Εφόσον δεν έχουµε κάνει κάποιο λάθος στη διαδικασία της σχεδίασης, είµαστε σίγουροι ότι το κύκλωµα θα διατρέχει τους αριθµούς, 3, 5, 7, όταν βρεθεί αρχικά σε κάποιον από αυτούς. Τι θα συµβεί, όµως, αν αρχικά βρεθεί σε µία από τις µη έγκυρες καταστάσεις 0, 2, 4, 6; Αυτό πρέπει να το ελέγξουµε. Έτσι συνεχίζουµε µε το επόµενο βήµα της επαλήθευσης της ορθής (επιθυµητής) λειτουργίας του κυκλώµατος, που σχεδιάσαµε. 32

73 V cc T2 Q2 T Q T0 Q0 Q2' Q' Q0' Σχήµα 2.27 Λογικό κύκλωµα για την απαρίθµηση των περιττών, 3, 5, 7. Βήµα Σ4: Έλεγχος ορθής λειτουργίας του κυκλώµατος. Αν και θα µπορούσαµε να ελέγξουµε τη λειτουργία του κυκλώµατος αποσπασµατικά και µόνο για τις µη επιτρεπτές καταστάσεις, εµείς επαναλαµβάνουµε όλη τη διαδικασία ανάλυσης. Βήµα Α: Γράφουµε τις συναρτήσεις εισόδου. Τ 2 =Q T = T 0 =0 Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων. Ο πίνακας καταστάσεων (Πίνακας 2.) προκύπτει εύκολα από την παρούσα κατάσταση και τις εισόδους σε συνδυασµό µε τον πίνακα λειτουργίας του Τ FF. Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων. Από τον πίνακα 2. προκύπτει το διάγραµµα καταστάσεων του Σχήµατος Είναι φανερό ότι το κύκλωµα παρουσιάζει πρόβληµα! Αν βρεθεί σε µία από τις µη έγκυρες καταστάσεις 0 ή 2 ή 4 ή 6, τότε εγκλωβίζεται στον κύκλο 0, 2, 4, 6, 0, 2, 4, 6, 0, 2, Σχήµα 2.28 ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος

74 Πίνακας 2. Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.28 Π.Κ. ΕΙΣΟ ΟΙ Ε.K. Q 2 Q Q 0 Τ 2 Τ Τ 0 Q 2 Q Q Για να λυθεί το πρόβληµα αυτό, θα πρέπει να παρέµβουµε στο βήµα Σ της σχεδίασης, αναγκάζοντας το κύκλωµα να µεταβεί σε µία από τις έγκυρες καταστάσεις. Θα µπορούσαµε, για παράδειγµα, να αναγκάσουµε το κύκλωµα µετά την κατάσταση 0 να µεταβεί στην κατάσταση. Με αυτό τον τρόπο "σπάµε" τον µη έγκυρο κύκλο 0, 2, 4, 6, 0, 2,... Με βάση το νέο αυτό δεδοµένο, επαναλαµβάνουµε τη διαδικασία της σχεδίασης από την αρχή. Έτσι έχουµε: Βήµα Σ : Σχεδιάζουµε το διάγραµµα και τον πίνακα καταστάσεων, όπως δείχνεται στο Σχήµα 2.29 και στον Πίνακα 2.2. αντίστοιχα Σχήµα 2.29 ιορθωµένο διάγραµµα καταστάσεων. Πίνακας 2.2 Πίνακας καταστάσεων του διαγράµµατος του Σχήµατος 2.29 Π.Κ. Ε.K. ΕΙΣΟ ΟΙ Q 2 Q Q 0 Q 2 Q Q 0 Τ 2 Τ Τ (ίδια µε προηγούµενο) (ίδια µε προηγούµενο) (ίδια µε προηγούµενο) 34

75 Βήµα Σ 2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου µε τη βοήθεια χαρτών Karnaugh, όπως δείχνεται στο Σχήµα Q Q 0 Q Q x Q 2 Q 0 Q Q x Q Q 0 Q x Q 2 x x Q 2 x x x 0 0 x T 2 = Q Q Q T = Q 0 Σχήµα 2.30 Απλοποίηση των συναρτήσεων εισόδου του Πίνακα 2.2. T 0 = Q 0 T 2 Q 2 T Q T 0 Q 0 Q 2' Q ' Q 0' Σχήµα 2.3 Λογικό κύκλωµα που αντιστοιχεί στο διάγραµµα του Σχήµατος Βήµα Σ 3: Σχεδιάζουµε το λογικό κύκλωµα. Στο Σχήµα 2.3 δείχνεται το λογικό κύκλωµα, το οποίο αντιστοιχεί στο διορθωµένο διάγραµµα καταστάσεων του Σχήµατος Έτσι ολοκληρώνεται η σχεδίαση του ζητούµενου κυκλώµατος. ιαπιστώσαµε ότι στην περίπτωση αυτή δεν σταθήκαµε τόσο "τυχεροί", όπως στην περίπτωση του Παραδείγµατος 6 / Κεφάλαιο 2, αφού εδώ χρειάστηκε να επαναλάβουµε τη σχεδίαση δύο φορές. Αυτό συνέβη, γιατί οι συνθήκες αδιαφορίας, αν και βοήθησαν στη γρήγορη και εύκολη απλοποίηση των συναρτήσεων εισόδου, µας οδήγησαν σε ένα κλειστό κύκλο µη έγκυρων καταστάσεων, από τον οποίο δεν µπορούσαµε να ξαναβγούµε. Θα έπρεπε να τονίσουµε, όµως, και κάτι ακόµα σχετικά µε το κύκλωµα του Σχήµατος 2.3. Το γεγονός ότι αυτό δεν είναι και το µοναδικό σωστό κύκλωµα. Γι' αυτό µην απογοητευθείτε, αν κατά την ολοκλήρωση της ραστηριότητας 2 / Κεφάλαιο 2 καταλήξατε σε κάποιο κύκλωµα διαφορετικό από το παραπάνω. Το κύκλωµα εξαρτάται από τις απλοποιηµένες συναρτήσεις εισόδου. Αν εσείς καταλήξατε σε συναρτήσεις διαφορετικές από αυτές του Σχήµατος 2.30, τότε είναι φυσικό ότι και το κύκλωµά σας θα είναι διαφορετικό. 35

76 Άσκηση Αυτοαξιολόγησης 4 / Κεφάλαιο 2 Σχεδιάστε ΣΑΚ, το οποίο να διατρέχει κυκλικά τους αριθµούς, 3, 5, 7. Αν το κύκλωµα βρεθεί στην κατάσταση 0, τότε µε τον πρώτο ωρολογιακό παλµό να µεταβαίνει στο. Η όλη σχεδίαση θα πρέπει να βασισθεί σε FFs τύπου D αρνητικής ακµής πυροδότησης. Σύνοψη Ενότητας Στην ενότητα αυτή µελετήσαµε τη διαδικασία σχεδίασης ΣΑΚ. Είδαµε ότι: Η σχεδίαση ΣΑΚ γίνεται σε τρία βήµατα ως εξής: Βήµα Σ: Σχεδιάζουµε το διάγραµµα καταστάσεων και καταστρώνουµε τον αντίστοιχο πίνακα καταστάσεων. Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου των FFs. Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα. Εξυπακούεται ότι, πριν αρχίσουµε τη διαδικασία της σχεδίασης, έχουµε ήδη προσδιορίσει το πλήθος των FFs που θα απαιτηθούν, καθώς και τον τύπο τους. Στην περίπτωση που έχουµε συνθήκες αδιαφορίας, πρέπει να κάνουµε ακόµη ένα βήµα, για να ολοκληρώσουµε τη σχεδίαση του κυκλώµατος. Αυτό είναι το βήµα Σ4 του ελέγχου της ορθής λειτουργίας του κυκλώµατος που σχεδιάσαµε. Ο πίνακας καταστάσεων αποτελείται από 2 n+m γραµµές (δυνατές περιπτώσεις), όπου n το πλήθος των FFs και m το πλήθος των εξωτερικών εισόδων του κυκλώµατος. Οι πίνακες διέγερσης των FFs είναι απαραίτητοι για τη σχεδίαση ΣΑΚ. Οι πίνακες αυτοί δίνουν τις τιµές των εισόδων των FFs για κάθε δυνατή περίπτωση παρούσαςεπόµενης κατάστασης αυτού. Η χρήση FF τύπου JK οδηγεί σε κυκλώµατα µε µικρότερο αριθµό πυλών σε σχέση µε FFs τύπου SR, T, D, γιατί τα πρώτα έχουν περισσότερες συνθήκες αδιαφορίας στους πίνακες διέγερσης, µε συνέπεια να πετυχαίνουµε καλύτερα απλοποίηση των συναρτήσεων εισόδου του τελικού κυκλώµατος. Ο τύπος πυροδότησης των FFs δεν υπεισέρχεται στη διαδικασία σχεδίασης των ΣΑΚ. 36

77 ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ Η ανάλυση και η σχεδίαση ΣΑΚ είναι διαδικασίες αντίστροφες η µία της άλλης. ΛΟΓΙΚΟ ΚΥΚΛΩΜΑ Α Ν Α Λ Υ Σ Η ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟ ΟΥ ΠΙΝΑΚΑΣ ΚΑΤΑΣΤΑΣΕΩΝ Σ Χ Ε Ι Α Σ Η ΙΑΓΡΑΜΜΑ ΚΑΤΑΣΤΑΣΕΩΝ ΠΕΡΙΓΡΑΦΗ ΛΕΙΤΟΥΡΓΙΑΣ Οι πίνακες λειτουργίας των FFs είναι απαραίτητοι για την ανάλυση των ΣΑΚ, ενώ οι πίνακες διέγερσης των FFs απαιτούνται για τη σχεδίαση αυτών. Ο πίνακας καταστάσεων ενός ΣΑΚ αποτελείται από 2 n+m γραµµές (δυνατές περιπτώσεις), όπου n το πλήθος των FFs του κυκλώµατος και m ο αριθµός των εξωτερικών εισόδων αυτού. Ο τύπος πυροδότησης των FFs δεν παίζει ρόλο στην ανάλυση ή σχεδίαση ενός ΣΑΚ. 37

78 ΒΙΒΛΙΟΓΡΑΦΙΑ ΕΛΛΗΝΟΓΛΩΣΣΗ Millman J., Χαλκιάς Χ., Oλοκληρωµένη Ηλεκτρονική, Τόµος Β, Εκδόσεις ΤΕΕ, 972. Mano Morris M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 992. ΞΕΝΟΓΛΩΣΣΗ Daniels J. D., Digital Design from Zero to One, J. Wiley & Sons, 996. Greenfield J. D., Practical Digital Design Using ICs, J. Wiley & Sons, 977. Tocci R. J., Widmer N. S., Digital Systems: Principles and Applications, Prentice Hall, 998. Ο ΗΓΟΣ ΠΕΡΑΙΤΕΡΩ ΜΕΛΕΤΗΣ Daniels J. D., Digital Design from Zero to One, J. Wiley & Sons, 996. Το Κεφάλαιο 6 του βιβλίου διαπραγµατεύεται σε συντοµία την ανάλυση και σχεδίαση σύγχρονων ακολουθιακών κυκλωµάτων. Κάποια παραδείγµατα που υπάρχουν σ αυτό ίσως να βοηθούσαν. Greenfield J. D., Practical Digital Design Using ICs, J. Wiley & Sons, 977. Στο Κεφάλαιο 7 του βιβλίου παρουσιάζονται αρκετά παραδείγµατα σε ανάλυση και σχεδίαση σύγχρονων ακολουθιακών κυκλωµάτων, κυρίως απαριθµητών. Mano Morris M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 992. Στο Κεφάλαιο 6 του βιβλίου αυτού θα βρείτε µία καλή παρουσίαση των διαδικασιών ανάλυσης και σχεδίασης σύγχρονων ακολουθιακών κυκλωµάτων. Είναι από τα λίγα συγγράµµατα, όπου παρουσιάζoνται µε µεθοδικότητα οι δύο αυτές διαδικασίες. 38

79 ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ Απάντηση Άσκησης Αυτοαξιολόγησης / Κεφάλαιο 2 Παρόλο που το κύκλωµα περιέχει τρία FFs και αρκετές πύλες κάνοντάς το σχετικά πολύπλοκο, διαπιστώνουµε ότι, ακολουθώντας πιστά τα τρία βήµατα της ανάλυσης ΣΑΚ Α, Α2, Α3, καταλήγουµε πολύ εύκολα στην ανάλυσή του. Έτσι έχουµε: Βήµα Α: Γράφουµε τις συναρτήσεις εισόδου των FFs. J 0 = K 0 = (Q Q 2 ) J = Q 0 J 2 = Q 0 Q K = Q 0 + Q Q 2 K 2 = Q 0 Q + Q 2 Q = (Q 0 + Q 2 )Q Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων. Εφόσον το κύκλωµα αποτελείται από 3 FFs, οι δυνατές καταστάσεις είναι 2 3 = 8 και συνεπώς κάθε τµήµα του πίνακα καταστάσεων θα αποτελείται από 8 γραµµές. Πίνακας 2.3 Πίνακας καταστάσεων της άσκησης αυτοαξιολόγησης / κεφάλαιο 2 Π.Κ. ΕΙΣΟ ΟΙ Ε.K. Q 2 Q Q 0 J 2 K 2 J K J 0 K 0 Q 2 Q Q Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων. Από το διάγραµµα καταστάσεων γίνεται φανερό ότι πρόκειται για ένα κύκλωµα απαρίθµησης παλµών, µε κύκλο απαρίθµησης 7 (modulo-7). Με κάθε παλµό του ρολογιού το κύκλωµα αλλάζει κατάσταση διατρέχοντας τις 7 διαφορετικές τιµές 0,, 2, 3, 4, 5, 6, 0,, 2,... Αν κατά την έναρξη της λειτουργίας του ή λόγω θορύβου βρεθεί στην κατάσταση 7, δηλαδή Q 2 Q Q 0 =, τότε µε τον πρώτο ενεργό παλµό µεταβαίνει στην κατάσταση και συνεχίζει πλέον τον κύκλο απαρίθµησης. 39

80 Σχήµα 2.32 ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.6. Απάντηση Άσκησης Αυτοαξιολόγησης 2 / Κεφάλαιο 2 Αναλύουµε το κύκλωµα, ακολουθώντας τα τρία βήµατα ανάλυσης σύγχρονων ακολουθιακών κυκλωµάτων. Βήµα Α: Γράφουµε τις συναρτήσεις εισόδου. D 0 = Q 2 D = Q 0 D 2 = Q 0 Q Q 2 Γράφουµε επίσης τη συνάρτηση της εξόδου. Υ = Q 0 Q Q 2 Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων. Το κύκλωµα αποτελείται από 3 FFs και συνεπώς θα έχουµε 8 δυνατές περιπτώσεις, όπως αυτές δείχνονται στο πρώτο τµήµα του πίνακα καταστάσεων, όπου καταγράφονται όλοι οι δυνατοί συνδυασµοί των Q 2, Q, Q 0. Με βάση τις τιµές της παρούσας κατάστασης και τις συναρτήσεις εισόδου, υπολογίζουµε τις τιµές των εισόδων των FFs D 2, D, D 0, καθώς και τις τιµές της εξόδου Υ. Εδώ θα µπορούσαµε να είχαµε σταµατήσει, αφού πρόκειται για D FF και άρα οι τιµές της επόµενης κατάστασης είναι ίδιες µε τις τιµές των εισόδων των FFs D 2, D, D 0. Για λόγους οµοιοµορφίας µε τη γενική περίπτωση των FFs, καταγράφουµε την επόµενη κατάσταση, παρόλο που, όπως παρατηρούµε, αυτή έχει ίδιες τιµές µε εκείνες των εισόδων των FFs. 40

81 Πίνακας 2.4 Πίνακας καταστάσεων του κυκλώµατος του Σχήµατος 2.. ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟ ΟΙ ΕΞΟ ΟΣ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ Q2 Q Q0 D2 D D0 Υ Q2 Q Q Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων. Το διάγραµµα καταστάσεων προκύπτει από την παρούσα και επόµενη κατάσταση του Πίνακα 2.4. Σε κάθε µετάβαση (βέλος) σηµειώνουµε την αντίστοιχη τιµή της εξόδου. Παρατηρούµε ότι το κύκλωµα θα διατρέχει κυκλικά τις καταστάσεις Q 2 Q Q 0 2,, 3, 7 και η έξοδος Υ θα είναι διαδοχικά 0, 0,, 0,... ( ιευκρινίζεται ότι για λόγους ευκολίας οι τιµές των καταστάσεων δίνονται στο δεκαδικό και όχι στο δυαδικό σύστηµα αρίθµησης). 00 /0 000 /0 /0 /0 /0 00 / /0 0 / Σχήµα 2.33 ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.. Αν το κύκλωµα βρεθεί αρχικά στην κατάσταση 0, τότε µε την επόµενη θετική ακµή του ωρολογιακού παλµού θα µεταβεί στην κατάσταση και θα συνεχίσει τον κύκλο: 0,, 3, 7, 2,, 3, 7, 2,,... Αν αρχικά βρεθεί σε µια από τις καταστάσεις 4 ή 6, τότε η επόµενη θετική ακµή θα το οδηγήσει στην κατάσταση 0 και από εκεί θα συνεχίσει, όπως προηγουµένως. Τέλος, αν αρχικά βρεθεί στην κατάσταση 5, τότε θα 4

82 µεταβεί στην κατάσταση 2 και θα συνεχίσει τον κύκλο, δηλαδή 5, 2,, 3, 7, 2,, 3, 7, 2,... Η κυµατοµορφή της εξόδου Υ στη µόνιµή της κατάσταση, δηλαδή µετά τους πιθανούς ένα ή δύο πρώτους κύκλους, θα είναι όπως στο Σχήµα 2.34, όπου φαίνεται ότι για τρεις συνεχόµενους κύκλους του ρολογιού θα βρίσκεται στο 0 και για ένα κύκλο στο. Y Σχήµα 2.34 Κυµατοµορφές και Υ του κυκλώµατος του Σχήµατος 2.. Απάντηση Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 2 Πρόκειται ουσιαστικά για το Παράδειγµα 4 / Κεφάλαιο 2, το οποίο όµως αυτή τη φορά πρέπει να το απλοποιήσουµε µε 2 FFs τύπου Τ. Η διαδικασία σχεδίασης είναι η ίδια και την ακολουθούµε κατά τα γνωστά. Βήµα Σ: Σχεδιάζουµε το διάγραµµα καταστάσεων και από αυτό τον πίνακα καταστάσεων Σχήµα 2.35 ιάγραµµα καταστάσεων της Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 2 Πίνακας 2.5 Πίνακας καταστάσεων της Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 2 Π.Κ. Ε.Κ. ΕΙΣΟ ΟΙ Q Q 0 Q Q 0 T T

83 Τα πρώτα δύο τµήµατα του πίνακα καταστάσεων είναι ίδια µε εκείνα του Πίνακα 2.5, αφού αντικατοπτρίζουν το διάγραµµα καταστάσεων του Σχήµατος 2.35, το οποίο είναι ίδιο µε εκείνο του Σχήµατος 2.3. Το τρίτο τµήµα του πίνακα καταστάσεων προέκυψε µε βάση τις τιµές της παρούσας και επόµενης κατάστασης κάθε FF και τον αντίστοιχο πίνακα διέγερσης του Σχήµατος 2.2 για το Τ FF. Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου. Στην προκειµένη περίπτωση παρατηρούµε ότι δεν χρειάζεται να χρησιµοποιήσουµε χάρτες Karnaugh για την απλοποίηση των συναρτήσεων εισόδου Τ, Τ 0, αφού από το πρώτο και τρίτο τµήµα του πίνακα καταστάσεων προκύπτει άµεσα ότι: Τ = Q Q 0 + Q Q 0 = Q Q 0 Τ 0 = Q Q 0 + Q Q 0 = Q Q 0 = (Q Q 0 ) = Τ Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα. Η σχεδίαση του κυκλώµατος γίνεται εύκολα, αφού γνωρίζουµε πλέον τις συναρτήσεις των εισόδων καθενός FF (Σχήµα 2.36). T Q T 0 Q 0 FF FF 0 Q ' Q 0' Σχήµα 2.36 Λογικό κύκλωµα της Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 2 Απάντηση Άσκησης Αυτοαξιολόγησης 4 / Κεφάλαιο 2 Το κύκλωµα θα αποτελείται από 3 FFs τύπου D. Ακολουθούµε τα γνωστά βήµατα σχεδίασης για την εύρεσή του. Βήµα Σ: Σχεδιάζουµε το διάγραµµα καταστάσεων και καταστρώνουµε τον αντίστοιχο πίνακα καταστάσεων. 43

84 Σχήµα 2.37 ιάγραµµα καταστάσεων της Άσκησης Αυτοαξιολόγησης 4 / Κεφάλαιο 2 Πίνακας 2.6 Πίνακας καταστάσεων για το διάγραµµα του Σχήµατος 2.37 Π.Κ. Ε.K. ΕΙΣΟ ΟΙ Q 2 Q Q 0 Q 2 Q Q 0 D 2 D D X X X X X X X X X X X X 0 0 X X X X X X Υπενθυµίζουµε και πάλι ότι το τµήµα των εισόδων του πίνακα καταστάσεων είναι ίδιο µε το τµήµα της παρούσας κατάστασης, αφού πρόκειται για FF τύπου D. Βήµα Σ2: Προσδιορίζουµε τις απλοποιηµένες συναρτήσεις εισόδου. Η απλοποίηση γίνεται µε τη βοήθεια των χαρτών Karnaugh του Σχήµατος Για την είσοδο D 0 δεν χρειάστηκε να χρησιµοποιήσουµε χάρτη, αφού είναι προφανές από το τµήµα των εισόδων του πίνακα καταστάσεων ότι D 0 =. Q 2 Q Q Q x Q 2 Q Q Q x Q 2 x x Q 2 x x D Q 0 Q 0 2 = Q 2Q + Q 2Q = Q 2 Q = QQ 0 D Σχήµα 2.38 Απλοποίηση των συναρτήσεων εισόδου D 2, D 44

85 Βήµα Σ3: Σχεδιάζουµε το λογικό κύκλωµα (Σχήµα 2.39). V cc D2 Q2 D0 D Q Q0 Q2' Q' Q0' Σχήµα 2.39 Λογικό κύκλωµα που αντιστοιχεί στο διάγραµµα του Σχήµατος 2.37 Στο σηµείο αυτό θα πρέπει να ελέγξουµε αν το κύκλωµα, που µόλις σχεδιάσαµε, λειτουργεί σύµφωνα µε τις προδιαγραφές. Έτσι συνεχίζουµε µε το επόµενο βήµα Σ4. Βήµα Σ4: Έλεγχος ορθής λειτουργίας του κυκλώµατος. Θα µπορούσαµε να βρούµε ποια είναι η επόµενη κατάσταση για καθεµιά από τις τιµές 2, 4, 6, για τις οποίες έχουµε δηλώσει "αδιαφορία". Για λόγους, όµως, καλύτερης κατανόησης και συµφωνίας µε τα όσα αναφέραµε στην υποενότητα 2.2., προχωρούµε στην ανάλυση του κυκλώµατος σύµφωνα µε τα τρία βήµατα ανάλυσης. Βήµα Α: Γράφουµε τις συναρτήσεις εισόδου. D 2 = Q 2 Q D = Q Q 0 D 0 = Βήµα Α2: Καταστρώνουµε τον πίνακα καταστάσεων (Πίνακας 2.7) Πίνακας 2.7 Πίνακας καταστάσεων του Σχήµατος 2.39 Π.Κ. ΕΙΣΟ ΟΙ Ε.Κ. Q 2 Q Q 0 D 2 D D 0 Q 2 Q Q

86 Βήµα Α3: Σχεδιάζουµε το διάγραµµα καταστάσεων. Το διάγραµµα καταστάσεων δείχνεται στο Σχήµα Από αυτό παρατηρούµε ότι, αν το κύκλωµα βρεθεί σε µια από τις µη επιθυµητές καταστάσεις 2, 4 ή 6, τότε αυτό µετά από ένα ωρολογιακό παλµό θα βρεθεί σε µια από τις επιθυµητές (έγκυρες) καταστάσεις και θα συνεχίσει τον κύκλο του. ηλαδή, αν βρεθεί σε µια από τις καταστάσεις 2 ή 4, τότε µε την αρνητική ακµή του ωρολογιακού παλµού θα µεταβεί στη κατάσταση 5 και από εκεί θα συνεχίσει τον κύκλο του. Αν αρχικά βρεθεί στη κατάσταση 6, τότε η έλευση της αρνητικής ακµής του ωρολογιακού παλµού θα το οδηγήσει στη κατάσταση και από εκεί θα συνεχίσει τον κύκλο του,3,5,7,,3,5,... Εποµένως, πρόκειται για ένα κύκλωµα µε αυτόµατη εκκίνηση και αυτόµατη διόρθωση και δεν χρειάζεται άλλη δική µας παρέµβαση τροποποίησης αυτού Σχήµα 2.40 ιάγραµµα καταστάσεων του κυκλώµατος του Σχήµατος 2.39 ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ Counter Modulo / modulus / mod State diagram Απαριθµητής, µετρητής, κύκλωµα απαρίθµησης παλµών Υπόλοιπο, Κύκλος απαρίθµησης ιάγραµµα καταστάσεων 46

87 ΚΕΦΑΛΑΙΟ 3 ΑΠΑΡΙΘΜΗΤΕΣ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ 3.. ΑΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ ΑΣΥΓΧΡΟΝΟΙ ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ ΑΣΥΓΧΡΟΝΟΙ ΜΗ- ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ... 9 ΕΝΟΤΗΤΑ 3.2. ΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ ΣΥΓΧΡΟΝΟΙ ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ ΣΥΓΧΡΟΝΟΙ ΜΗ- ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ... 4 ΕΝΟΤΗΤΑ 3.3. ΙΑΙΡΕΤΕΣ ΣΥΧΝΟΤΗΤΑΣ ΠΑΛΜΩΝ... 9 ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ ΒΙΒΛΙΟΓΡΑΦΙΑ ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ... 3

88 ΚΕΦΑΛΑΙΟ 3 ΑΠΑΡΙΘΜΗΤΕΣ Στόχος: Οι απαριθµητές είναι από τα περισσότερο χρησιµοποιούµενα ψηφιακά κυκλώµατα. Η πιο γνωστή χρήση τους είναι αυτή της µέτρησης του χρόνου (ψηφιακά ρολόγια). Στόχος µας στο κεφάλαιο αυτό είναι η εξοικείωση µε όλους τους τύπους των απαριθµητών και τους τρόπους χρήσης τους. Προσδοκώµενα αποτελέσµατα: Με την ολοκλήρωση της µελέτης του κεφαλαίου, θα είστε σε θέση να: αναλύετε και σχεδιάζετε σύγχρονους και ασύγχρονους δυαδικούς απαριθµητές αναλύετε και σχεδιάζετε σύγχρονους και ασύγχρονους µη-δυαδικούς απαριθµητές (οποιουδήποτε κύκλου απαρίθµησης Ν) σχεδιάζετε κυκλώµατα υποβιβασµού συχνότητας παλµών Λέξεις κλειδιά: Απαριθµητής Μετρητής Απαριθµητής κυµατώσεως Απαριθµητής ριπής ιαιρέτης συχνότητας παλµών Σύγχρονος ή παράλληλος απαριθµητής Ασύγχρονος ή σειριακός απαριθµητής 2

89 ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ Οι απαριθµητές ή µετρητές (counters) είναι ακολουθιακά κυκλώµατα αποτελούµενα από FFs και πύλες, που έχουν τη δυνατότητα απαρίθµησης παλµών (γεγονότων). Τέτοια κυκλώµατα γνωρίσαµε στο προηγούµενο κεφάλαιο, όταν ασχοληθήκαµε µε την ανάλυση και τη σχεδίαση σύγχρονων ακολουθιακών κυκλωµάτων. Εδώ, όµως, θα τα µελετήσουµε πιο συστηµατικά. Ένας απαριθµητής, ο οποίος τροφοδοτείται µε κάποιους ωρολογιακούς παλµούς, µπορεί να χρησιµοποιηθεί για να µετράει αυτούς τους παλµούς. Εφόσον οι παλµοί εµφανίζονται σε τακτά χρονικά διαστήµατα, ο απαριθµητής µπορεί να χρησιµοποιηθεί ως όργανο για τη µέτρηση του χρόνου και κατά συνέπεια της περιόδου ή της συχνότητας. Υπάρχουν δύο βασικές κατηγορίες απαριθµητών: οι ασύγχρονοι και οι σύγχρονοι. Θα δούµε ότι οι ασύγχρονοι απαριθµητές είναι πιο απλοί στη σχεδίασή τους και συνήθως απαιτείται ο ελάχιστος αριθµός πυλών για την κατασκευή τους. Παρουσιάζουν, όµως, πρόβληµα στη µέγιστη συχνότητα λειτουργίας που µπορούµε να πετύχουµε, επειδή το κάθε FF πυροδοτείται από την έξοδο του προηγουµένου του. Οι απαριθµητές αυτού του τύπου ονοµάζονται ασύγχρονοι (asynchronous) ή σειριακοί (serial) ή κυµατώσεως (ripple). Η άλλη κατηγορία απαριθµητών είναι οι λεγόµενοι σύγχρονοι (synchronous) ή παράλληλοι (parallel). Όπως θα δούµε, σ' αυτούς όλα τα FFs πυροδοτούνται ταυτόχρονα, αφού ο ίδιος ωρολογιακός παλµός εφαρµόζεται σε καθένα από αυτά. Με τον τρόπο αυτό πετυχαίνουµε µεγαλύτερες ταχύτητες λειτουργίας, µε τίµηµα όµως το µεγαλύτερο αριθµό πυλών του κυκλώµατος. Στην πρώτη ενότητα του κεφαλαίου θα γνωρίσουµε τους ασύγχρονους απαριθµητές, τόσο τους δυαδικούς όσο και τους µη δυαδικούς. Στη δεύτερη ενότητα θα ασχοληθούµε µε τους σύγχρονους απαριθµητές. Εκτός από τη γνωστή µέθοδο σχεδίασης αυτών, θα µάθουµε και µία νέα µέθοδο για τη σχεδίαση σύγχρονων κυκλωµάτων κανονικής απαρίθµησης. Τέλος, στην τρίτη ενότητα θα εξετάσουµε κυκλώµατα για τον υποβιβασµό της συχνότητας ωρολογιακών παλµών. 3

90 ΕΝΟΤΗΤΑ 3.. ΑΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Οι ασύγχρονοι απαριθµητές κατασκευάζονται µε FFs, καθένα από τα οποία πυροδοτείται από το προηγούµενό του. Όταν λέµε απαριθµητή, εννοούµε ένα ακολουθιακό κύκλωµα µε FFs, οι καταστάσεις των οποίων για κάθε νέο ωρολογιακό παλµό αλλάζουν έτσι ώστε ο αριθµός που σχηµατίζεται στην έξοδο να διατρέχει κυκλικά ένα σύνολο δυαδικών αριθµών Ν. Αν το πλήθος Ν των αριθµών είναι δύναµη του 2, δηλαδή αν Ν =2 n, και ο απαριθµητής διατρέχει τους αριθµούς αυτούς κανονικά (τον ένα µετά τον άλλο), τότε αυτός ονοµάζεται δυαδικός απαριθµητής (binary counter). Αν το Ν δεν είναι δύναµη του 2, δηλαδή Ν 2 n, τότε ο απαριθµητής ονοµάζεται µη-δυαδικός. Θα εξετάσουµε χωριστά την καθεµία περίπτωση ΑΣΥΓΧΡΟΝΟΙ ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Το κύκλωµα του Σχήµατος 3.α µας δείχνει έναν ασύγχρονο δυαδικό απαριθµητή των 3-bits, ο οποίος είναι σχεδιασµένος µε FFs τύπου Τ αρνητικής ακµής πυροδότησης. Η είσοδος Τ καθενός FF είναι συνδεδεµένη στο λογικό. V cc (LSB) T0 Q0 FF0 Q0' T Q FF Q' T2 Q2 FF2 Q2' (MSB) (α) Q0 Q Q2 ( Q Q Q 2 0) (β) Σχήµα 3. Ασύγχρονος προσθετικός δυαδικός απαριθµητής (mod-8): (α) λογικό κύκλωµα, (β) κυµατοµορφές εξόδου. Αυτό σηµαίνει ότι η ενεργός ακµή στην είσοδο του κάθε FF, θα το αναγκάζει να αλλάζει κατάσταση (toggle). Οι έξοδοι του απαριθµητή είναι οι τρεις καταστάσεις Q 0, Q, Q 2 των FFs. Παρατηρούµε ότι το κάθε FF πυροδοτείται από την έξοδο του 4

91 προηγούµενου FF. Ο παλµός εισόδου εφαρµόζεται µόνο στο πρώτο από τα FFs. Οι κυµατοµορφές της εισόδου και των εξόδων του απαριθµητή δίνονται στο Σχήµα 3.β. Ας εξετάσουµε τον τρόπο λειτουργίας του κυκλώµατος. Έστω ότι αρχικά όλα τα FFs έχουν µηδενιστεί (reset, εκκαθάριση). Με την πρώτη αρνητική ακµή των ωρολογιακών παλµών το FF0 αλλάζει κατάσταση και από το 0 µεταβαίνει στο. Με την επόµενη αρνητική ακµή, αυτό αλλάζει και πάλι κατάσταση και από το µεταβαίνει στο 0. Οι µεταπτώσεις αυτές συνεχίζονται για κάθε αρνητική ακµή των ωρολογιακών παλµών. Η έξοδος, όµως, του FF0 συνδέεται στην είσοδο ρολογιού του επόµενου FF. Έτσι, µε κάθε αρνητική ακµή του Q 0 το FF αλλάζει κατάσταση, αφού πρόκειται για FF τύπου Τ µε Τ=. Παρόµοια είναι και η συµπεριφορά του τρίτου FF, του οποίου η είσοδος ρολογιού τροφοδοτείται από την έξοδο Q του δεύτερου FF. Αν διαβάζουµε τις εξόδους των τριών FFs µε την σειρά Q 2 Q Q 0, αρχίζοντας από τα αριστερά των κυµατοµορφών του Σχήµατος 3.β, διατρέχουµε κυκλικά τους αριθµούς 000, 00, 00,...,. Σε δεκαδική αναπαράσταση οι αριθµοί αυτοί είναι 0,, 2,..., 7. Άρα, πρόκειται για ένα κύκλωµα µε κύκλο απαρίθµησης 8 (mod-8) *. To FF0 αλλάζει κατάσταση σε κάθε αρνητική ακµή του ρολογιού. Πρόκειται δηλαδή για το λιγότερο σηµαντικό ψηφίο (LSB, Least Significant Bit). Η περίοδος των παλµών Q 0 είναι 2πλάσια της περιόδου των ωρολογιακών παλµών, δηλαδή η συχνότητα των παλµών του Q 0 είναι υποδιπλάσια της συχνότητας των ωρολογιακών παλµών. Αντίστοιχα, η περίοδος των παλµών Q είναι 2πλάσια της περιόδου των παλµών Q 0 και άρα 4πλάσια της περιόδου των ωρολογιακών παλµών. Τέλος, η περίοδος των παλµών Q 2 είναι 8πλάσια της περιόδου των ωρολογιακών παλµών. ιαπιστώνουµε, εποµένως, ότι η κάθε έξοδος Q 0, Q, Q 2 πετυχαίνει τη διαίρεση της συχνότητας των ωρολογιακών παλµών δια 2, 4 και 8 αντίστοιχα. Έχοντας πλέον αναλύσει διεξοδικά το κύκλωµα του απαριθµητή του Σχήµατος 3. ας προχωρήσουµε σε ορισµένες παρατηρήσεις και γενικεύσεις. Το κύκλωµα του Σχήµατος 3. αποτελείται από 3 FFs και είναι ένας απαριθµητής 8 διαφορετικών καταστάσεων (mod-8). Στη γενική περίπτωση κατά την οποία έχουµε n FFs, το κύκλωµα θα είναι σε θέση να απαριθµεί Ν=2 n καταστάσεις, δηλαδή να διατρέχει κυκλικά τους αριθµούς από 0 µέχρι και Ν-. Τότε λέµε ότι έχουµε έναν απαριθµητή µε κύκλο απαρίθµησης Ν (mod-n). * Modulo ή modulus ή mod ενός απαριθµητή είναι το πλήθος των καταστάσεων που διατρέχει αυτός. 5

92 Στους ασύγχρονους απαριθµητές το κάθε FF πυροδοτείται από την έξοδο του προηγουµένου του. Έτσι βλέπουµε ότι το FF0 πρέπει να αλλάξει κατάσταση (από σε 0), ώστε αυτό να πυροδοτήσει το FF και αυτό µε τη σειρά του να αλλάξει κατάσταση (από σε 0), ώστε να πυροδοτήσει το FF2. Η πυροδότηση διαδίδεται από το ένα FF στο άλλο σαν την κυµάτωση στο νερό, γι' αυτό και οι ασύγχρονοι απαριθµητές ονοµάζονται και απαριθµητές κυµατώσεως (ripple counters). Ο τρόπος αυτός λειτουργίας των απαριθµητών δηµιουργεί κάποια προβλήµατα εξαιτίας της καθυστέρησης διάδοσης που εισάγει κάθε FF. Ας υποθέσουµε, για παράδειγµα, ότι κάθε FF έχει µια τυπική καθυστέρηση διάδοσης (propagation delay) 0 ns. Τότε, το κύκλωµα του Σχήµατος 3., το οποίο αποτελείται από 3 FFs, θα παρουσιάζει µια συνολική καθυστέρηση 30 ns. Αυτό σηµαίνει ότι η περίοδος των ωρολογιακών παλµών θα πρέπει να είναι µεγαλύτερη από 30 ns, ώστε το κύκλωµα να λειτουργεί αξιόπιστα. Με άλλα λόγια, η συχνότητα των παλµών του ρολογιού πρέπει να είναι µικρότερη από /30 ns ~ 33 MHz. Ο απαριθµητής του Σχήµατος 3. είναι ένας προσθετικός δυαδικός απαριθµητής, δηλαδή µετράει προς τα πάνω (count-up). Πόσο εύκολα θα µπορούσε να σχεδιάσει κανείς έναν αφαιρετικό δυαδικό απαριθµητή, δηλαδή έναν απαριθµητή που να µετράει προς τα κάτω (count-down); Η απάντηση στο ερώτηµα αυτό είναι πολύ εύκολη. Άµεσα, θα λέγαµε, µπορούµε να έχουµε έναν αφαιρετικό απαριθµητή, από τη στιγµή που έχουµε το κύκλωµα του προσθετικού στο Σχήµα 3.. Το µόνο που έχουµε να κάνουµε είναι να πάρουµε ως εξόδους του κυκλώµατος τις συµπληρωµατικές καταστάσεις Q 2, Q, Q 0 των FFs, αντί για τις Q 2, Q, Q 0. Από τις κυµατοµορφές του Σχήµατος 3.β γίνεται φανερό ότι µε κάθε νέο παλµό του ρολογιού το κύκλωµα θα διατρέχει τις τιµές {(Q 2 Q Q 0 ) 0 }= {7, 6, 5, 4, 3, 2,, 0, 7, 6, 5, 4,...}. Υπάρχει όµως και άλλος τρόπος, για να σχεδιάσουµε έναν αφαιρετικό δυαδικό απαριθµητή. Αυτός δίνεται στο Σχήµα 3.2α και, όπως παρατηρούµε, πρόκειται για το ίδιο κύκλωµα µε εκείνο του Σχήµατος 3.α, µε µόνη διαφορά ότι το κάθε FF πυροδοτείται µε την συµπληρωµατική κατάσταση του προηγουµένου του. Ως έξοδοι του απαριθµητή θεωρούνται και πάλι οι κανονικές καταστάσεις Q 2, Q, Q 0 των FFs. Οι κυµατοµορφές των ωρολογιακών παλµών και των εξόδων του κυκλώµατος δείχνονται στο Σχήµα 3.2β. 6

93 V cc T0 Q0 FF0 Q0' (LSB) T Q FF Q' T2 Q2 FF2 Q2' (MSB) (α) Q0 Q Q2 ( Q Q Q 2 0) (β) Σχήµα 3.2 Ασύγχρονος αφαιρετικός δυαδικός απαριθµητής (mod-8): (α) λογικό κύκλωµα, (β) κυµατοµορφές εξόδου. Αρχικά θεωρήσαµε ότι όλα τα FFs είχαν εκκαθαριστεί. Με την πρώτη αρνητική ακµή των ωρολογιακών παλµών το FF0 αλλάζει κατάσταση (toggle) και από 0 γίνεται. Αυτό σηµαίνει ότι η συµπληρωµατική κατάσταση Q 0 αυτού από γίνεται 0. Συνέπεια αυτού είναι η ενεργοποίηση του επόµενου FF µε επακόλουθο την αλλαγή της κατάστασης Q αυτού από 0 που ήταν σε. Άρα, το Q από γίνεται 0 και ενεργοποιεί και το τελευταίο FF2, το οποίο µε τη σειρά του αλλάζει και αυτό κατάσταση. Έτσι το κύκλωµα µε την πρώτη ενεργό ακµή του ρολογιού από το 000 που ήταν πήγε στο. Με κάθε νέο ωρολογιακό παλµό συνεχίζει την απαρίθµηση προς τα κάτω µέχρις ότου µηδενιστεί και αρχίσει η επανάληψη του ίδιου κύκλου. Σηµειώνεται ότι ο κύκλος απαρίθµησης του αφαιρετικού απαριθµητή εξακολουθεί να είναι ο ίδιος και ίσος µε 8 (mod-8) στην προκειµένη περίπτωση, αφού το κύκλωµα διατρέχει και πάλι οκτώ διαφορετικές καταστάσεις. Άσκηση Αυτοαξιολόγησης / Κεφάλαιο 3 Σχεδιάστε το λογικό κύκλωµα του Σχήµατος 3.α χρησιµοποιώντας FFs τύπου Τ θετικής ακµής πυροδότησης. Ποιες οι αντίστοιχες κυµατοµορφές εξόδου του κυκλώµατος; ραστηριότητα / Κεφάλαιο 3 Μπορείτε να προτείνετε κύκλωµα, το οποίο να απαριθµεί προς τα πάνω ή προς τα κάτω ανάλογα µε την τιµή µιας εισόδου ελέγχου; 7

94 Είναι χρήσιµο σε πολλές εφαρµογές να µπορούµε να επιλέγουµε αν θα µετρήσουµε προς τα πάνω ή προς τα κάτω. Θα µπορούσαµε να προτείνουµε διάφορα κυκλώµατα. Για παράδειγµα, στην περίπτωση του απαριθµητή του Σχήµατος 3.α, αφού οι κανονικές καταστάσεις µετρούν προς τα πάνω, ενώ οι συµπληρωµατικές τους προς τα κάτω, θα µπορούσαµε να σκεφτούµε ένα απλό κύκλωµα πολυπλέκτη 2-σε-, το οποίο να επιλέγει µεταξύ των δύο εξόδων. Μια δεύτερη λύση είναι η ακόλουθη. Κάθε κανονική κατάσταση Q να την οδηγούµε σε µια πύλη XOR δύο εισόδων. Στην άλλη είσοδο της πύλης να συνδέεται το σήµα επιλογής Ε, όπως δείχνεται στο Σχήµα 3.3 για την περίπτωση ενός απαριθµητή µε 3 FFs. O 0 O O2 Ε Q0 Q Q2 Σχήµα 3.3 Κύκλωµα για τη µετατροπή ενός προσθετικού απαριθµητή των 3-bits σε προσθετικό / αφαιρετικό. Η είσοδος Ε καθορίζει αν στις εξόδους θα έχουµε τα ίδια τα Q ή τα συµπληρώµατά τους. Έτσι για Ε=0, O i =Q i, ενώ για Ε= O i =Q i, όπου i=0,,2. ηλαδή, αν το κύκλωµα του Σχήµατος 3.3 προσαρµοστεί στις εξόδους του Σχήµατος 3.α, τότε ο απαριθµητής που προκύπτει για Ε=0 θα µετράει προς τα πάνω και για Ε= προς τα κάτω. Τέλος, µια διαφορετική προσέγγιση στο πρόβληµα είναι εκείνη κατά την οποία η επιλογή µας δεν εφαρµόζεται στις εξόδους (καταστάσεις) των FFs, αλλά στους παλµούς πυροδότησής τους. είτε για παράδειγµα το κύκλωµα του Σχήµατος 3.4. Το κάθε FF πυροδοτείται από την κανονική ή συµπληρωµατική κατάσταση του προηγούµενου FF. Αυτό το πετυχαίνουµε µε τη βοήθεια ενός απλού πολυπλέκτη 2-σε-, ο έλεγχος του οποίου γίνεται µέσω της εισόδου επιλογής Ε. Οι κυµατοµορφές του κυκλώµατος είναι ίδιες µε εκείνες των Σχηµάτων 3.β ή 3.2β, ανάλογα µε το εάν ο απαριθµητής είναι προσθετικός ή αφαιρετικός, δηλαδή ανάλογα αν Ε=0 ή Ε=. Οι έξοδοι του απαριθµητή είναι οι Q 2, Q, Q 0 µε περισσότερο σηµαντικό bit το Q 2. Είναι φανερό ότι χρησιµοποιώντας περισσότερα FFs µπορούµε να κατασκευάσουµε απαριθµητές µε µεγαλύτερες δυνατότητες απαρίθµησης. Σηµειώνεται ότι οι πύλες του πολυπλέκτη εισάγουν κάποια επιπρόσθετη 8

95 καθυστέρηση στους ωρολογιακούς παλµούς του κυκλώµατος και θα πρέπει να λαµβάνεται υπόψη κατά τον υπολογισµό της µέγιστης συχνότητας λειτουργίας του απαριθµητή. Ε "" "" T0 Q0 T Q "" T2 Q2 Q0' Q' Q2' Σχήµα 3.4 Προσθετικός / Αφαιρετικός απαριθµητής των 3 bits ΑΣΥΓΧΡΟΝΟΙ ΜΗ- ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Είδαµε ότι δυαδικοί απαριθµητές είναι εκείνοι, οι οποίοι έχουν κύκλο απαρίθµησης Ν δύναµη του 2, δηλαδή Ν=2 n. Τις περισσότερες, όµως, φορές θα θέλαµε να µετράµε κατά δεκάδες, αφού το δεκαδικό είναι το σύστηµα αρίθµησης που χρησιµοποιούµε ή κατά δωδεκάδες ή κατά οποιοδήποτε άλλο αριθµό. Είναι απαραίτητο, λοιπόν, να µελετήσουµε τον τρόπο για τη σχεδίαση τέτοιων απαριθµητών, δηλαδή µη-δυαδικών απαριθµητών µε κύκλο απαρίθµησης Ν 2 n. Η σχεδίαση µη-δυαδικών απαριθµητών γίνεται εύκολα µε τη χρήση µιας πύλης NAND ως αποκωδικοποιητή. Οι είσοδοι της πύλης NAND αποκωδικοποιούν την κατάσταση Ν των FFs, ενώ η έξοδος αυτής τροφοδοτεί τις εισόδους άµεσου µηδενισµού όλων των FFs. Ας εξετάσουµε την περίπτωση των µη-δυαδικών απαριθµητών µέσω ενός παραδείγµατος. Παράδειγµα / Κεφάλαιο 3 Να σχεδιαστεί ένας δεκαδικός ασύγχρονος απαριθµητής. Παρατηρούµε ότι Ν=0 (2 3 <0<2 4 ) και συνεπώς θα χρειαστούµε 4 FFs για την υλοποίησή του. Θα σχεδιάσουµε, λοιπόν, έναν δυαδικό απαριθµητή των 4 bits, ο οποίος θα µπορεί να διέρχεται από όλες τις καταστάσεις από 0 µέχρι και 5, αλλά θα αναγκάσουµε αυτόν να αρχίζει την απαρίθµηση από την αρχή κάθε φορά που µετράει τους 0 πρώτους παλµούς. Στο Σχήµα 3.5 δείχνεται το ζητούµενο κύκλωµα. Η πύλη 9

96 NAND τροφοδοτείται από τις εξόδους Q και Q 3. Αυτό συµβαίνει, επειδή ο αριθµός (0) 0 γράφεται στο δυαδικό ως 00, δηλαδή Ν=(Q 3 Q 2 Q Q 0 ) 2 =(00) 2. Παρατηρείστε ότι το Q 0 είναι το LSB. Άρα, ο απαριθµητής λειτουργεί κανονικά, όπως τον έχουµε γνωρίσει από το Σχήµα 3., αρχίζοντας από το 0 και αυξανόµενος κατά µε την έλευση κάθε αρνητικού παλµού. Η έξοδος G της πύλης NAND βρίσκεται στη λογική κατάσταση (G= (Q Q 3 ) =). Μετά από 0 παλµούς του ρολογιού, ο απαριθµητής έχει φτάσει στην κατάσταση (Q 3 Q 2 Q Q 0 ) 2 =(00) 2 =9 0. Με τον επόµενο ωρολογιακό παλµό οι έξοδοι των FFs αλλάζουν κατάσταση µεταβαίνοντας στο (00) 2. T0 Q0 T Q T2 Q2 T3 Q3 FF0 FF FF2 FF3 G CLR CLR CLR CLR (α) Αιχµή λόγω 'στιγµιαίας' εµφάνισης του αριθµού 0 Q0 Q Q2 Q3 G ( Q Q Q Q ) 0 Σχήµα (β) Ασύγχρονος δεκαδικός απαριθµητής: (α) λογικό κύκλωµα, (β) κυµατοµορφές εξόδου. Τότε, όµως, η έξοδος της πύλης NAND γίνεται 0 (G=(Q 3 Q ) =0), επιβάλλοντας την εκκαθάριση όλων των FFs. Έτσι, µε τον επόµενο ωρολογιακό παλµό η απαρίθµηση αρχίζει και πάλι από την αρχή. Γίνεται φανερό ότι ο αριθµός Ν=0 εµφανίζεται στιγµιαία στην έξοδο του απαριθµητή, δηµιουργώντας έναν λεπτό παλµό (αιχµή, glitch), για χρόνο ίσο µε την καθυστέρηση διάδοσης µέσω της πύλης NAND και του χρόνου που απαιτείται, για να µηδενιστούν οι έξοδοι Q i από τη στιγµή που οι είσοδοι CLR ενεργοποιηθούν. Το άθροισµα των δύο αυτών καθυστερήσεων είναι της τάξεως των ns (π.χ. 0 ns). Για τη λειτουργία τέτοιων κυκλωµάτων σε πολύ υψηλές συχνότητες ενδέχεται η εµφάνιση αυτής της αιχµής να δηµιουργήσει πρόβληµα. 0

97 Άσκηση Αυτοαξιολόγησης 2 / Κεφάλαιο 3 Σχεδιάστε ασύγχρονο προσθετικό απαριθµητή µε κύκλο απαρίθµησης 2 (mod-2), χρησιµοποιώντας FFs τύπου Τ αρνητικής ακµής πυροδότησης. Άσκηση Αυτοαξιολόγησης 3 / Κεφάλαιο 3 Με FFs τύπου Τ αρνητικής ακµής πυροδότησης, να σχεδιάσετε ασύγχρονο προσθετικό απαριθµητή µε κύκλο απαρίθµησης 5 (mod-5), o οποίος να απαριθµεί από το 6 µέχρι και το 0. ραστηριότητα 2 / Κεφάλαιο 3 Μπορείτε να προτείνεται ασύγχρονο κύκλωµα, το οποίο να παράγει την ακολουθία παλµών ; Σύνοψη Ενότητας Στην ενότητα αυτή µελετήσαµε τους ασύγχρονους απαριθµητές (δυαδικούς και µηδυαδικούς). Καθένας από αυτούς χωρίζεται σε προσθετικούς και αφαιρετικούς, ανάλογα µε το αν η απαρίθµηση γίνεται προς τα πάνω ή προς τα κάτω. Είδαµε ότι ο τύπος πυροδότησης των FFs είναι ουσιώδους σηµασίας σ' αυτούς τους απαριθµητές, αφού µε αντικατάσταση των αρνητικής ακµής πυροδότησης FFs µε αντίστοιχα θετικής ακµής πυροδότησης, ένας προσθετικός απαριθµητής γίνεται αφαιρετικός απαριθµητής. Οι ασύγχρονοι απαριθµητές ονοµάζονται και απαριθµητές κυµατώσεως, επειδή κάθε FF πυροδοτείται από την έξοδο του προηγουµένου του. Ο ασύγχρονος αυτός τρόπος πυροδότησης εισάγει καθυστερήσεις στη διάδοση των παλµών από FF σε FF, δηµιουργώντας προβλήµατα για υψηλές συχνότητες λειτουργίας.

98 ΕΝΟΤΗΤΑ 3.2. ΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Στην προηγούµενη ενότητα γνωρίσαµε τους ασύγχρονους απαριθµητές και διαπιστώσαµε ότι παρουσιάζεται πρόβληµα κατά τη λειτουργία τους σε υψηλές συχνότητες, εξαιτίας της καθυστέρησης που εισάγεται στην πυροδότηση των FFs. Το πρόβληµα αυτό το επιλύουµε εύκολα µε την πυροδότηση όλων των FFs µε ένα κοινό ρολόι. Στην περίπτωση αυτή έχουµε να κάνουµε µε σύγχρονα ακολουθιακά κυκλώµατα, των οποίων η ανάλυση και σχεδίαση έχει µελετηθεί εκτενώς στο προηγούµενο κεφάλαιο. Εδώ θα ασχοληθούµε µε τους σύγχρονους απαριθµητές (δυαδικούς και µη-δυαδικούς) και θα περιγράψουµε επίσης έναν εναλλακτικό τρόπο για τη σχεδίασή τους ΣΥΓΧΡΟΝΟΙ ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Πρόκειται για απαριθµητές, των οποίων ο κύκλος απαρίθµησης Ν είναι δύναµη του 2, δηλαδή Ν=2 n. Ένας τέτοιος απαριθµητής αποτελείται από n FFs, τα οποία χρονίζονται από ένα κοινό ωρολογιακό παλµό. Στο Σχήµα 3.6α δείχνεται ένας σύγχρονος απαριθµητής µε κύκλο απαρίθµησης 8 (mod-8), βασισµένος σε FFs τύπου Τ αρνητικής ακµής πυροδότησης. Οι κυµατοµορφές εξόδου αυτού δείχνονται στο Σχήµα 3.6β και είναι ίδιες µε εκείνες του Σχήµατος 3.β. T0 Q0 T Q T2 Q2 FF0 FF FF2 (α) Q0 Q Q2 ( Q Q Q 2 0) Σχήµα 3.6. (β) Σύγχρονος προσθετικός δυαδικός απαριθµητής (mod-8): (α) λογικό κύκλωµα, (β) κυµατοµορφές εξόδου. Ο τρόπος λειτουργίας του έχει ως εξής: Η είσοδος Τ 0 =, γεγονός που σηµαίνει ότι το FF0 αλλάζει κατάσταση κάθε φορά που ο ωρολογιακός παλµός µεταβαίνει από το στο 0 2

99 (αρνητική ακµή). Όταν Τ = και ο ωρολογιακός παλµός µεταβαίνει από το στο 0, τότε το FF αλλάζει κατάσταση. Παρόµοια συµβαίνουν και για το FF2, το οποίο αλλάζει κατάσταση κατά την αρνητική ακµή του ρολογιού, εφόσον Τ 2 =. Παρατηρείστε ότι Τ 2 =Q T =Q Q 0, δηλαδή το FF2 αλλάζει κατάσταση, όταν όλα τα προηγούµενα από αυτό FFs βρίσκονται στην κατάσταση. Γενικά ισχύει ότι T n =Q n-...q Q 0, όπου T n η είσοδος του n-οστού FF και Q n-,..., Q, Q 0 οι έξοδοι όλων των προηγούµενων FFs. Ας σηµειωθεί ότι στο κύκλωµα του Σχήµατος 3.6α Q 0 θα είναι το λιγότερο σηµαντικό ψηφίο (LSB) της λέξης εξόδου και Q 2 το περισσότερο σηµαντικό ψηφίο (MSB) αυτής. ραστηριότητα 3 / Κεφάλαιο 3 Προτείνετε κύκλωµα, ώστε ο απαριθµητής του Σχήµατος 3.6(α). να απαριθµεί προς τα πάνω ή προς τα κάτω, ανάλογα µε το αν η είσοδος ελέγχου Ε είναι 0 ή αντίστοιχα. ραστηριότητα 4 / Κεφάλαιο 3 Σχεδιάστε ένα σύγχρονο προσθετικό απαριθµητή mod-6 µε FFs τύπου JK θετικής ακµής πυροδότησης. Προτείνετε τρόπους, ώστε το κύκλωµα αυτό να απαριθµεί προς τα κάτω. Άσκηση Αυτοαξιολόγησης 4 / Κεφάλαιο 3 Σχεδιάστε σύγχρονο προσθετικό απαριθµητή mod-8 µε FFs τύπου Τ θετικής ακµής πυροδότησης. Προτείνετε τρόπους, ώστε το κύκλωµα αυτό να απαριθµεί προς τα κάτω. Στο σηµείο αυτό θα ήταν σκόπιµο να παρατηρήσουµε τα εξής σχετικά µε τους σύγχρονους δυαδικούς απαριθµητές: Η είσοδος Τ κάθε FF τροφοδοτείται µε το γινόµενο των εξόδων Q όλων των προηγούµενων FFs. H συµπεριφορά ενός σύγχρονου απαριθµητή δεν αλλάζει, αν τα FFs από τα οποία αποτελείται, αντικατασταθούν από όµοια FFs διαφορετικού όµως τύπου πυροδότησης. (Θυµηθείτε ότι κατά τη σχεδίαση των σύγχρονων ακολουθιακών κυκλωµάτων του Κεφαλαίου 2 δεν λάβαµε υπόψη µας στους πίνακες καταστάσεων τον τύπο πυροδότησης των FFs). 3

100 Για να πάρουµε αφαιρετικό απαριθµητή, θα πρέπει να επιλέξουµε τις εξόδους Q ή να τροποποιήσουµε τις εισόδους των FFs, αλλά όχι τις εισόδους του ρολογιού, αφού η αλλαγή της πυροδότησης δεν επηρεάζει τη λειτουργία του σύγχρονου ακολουθιακού κυκλώµατος. Εφόσον όλα τα FFs πυροδοτούνται από το ίδιο ρολόι, δεν υπάρχουν προβλήµατα καθυστέρησης διάδοσης των παλµών πυροδότησης, όπως αυτά που συναντήσαµε στους ασύγχρονους απαριθµητές. Έτσι, ανεξάρτητα από το πλήθος των FFs, η µέγιστη συχνότητα λειτουργίας ενός τέτοιου κυκλώµατος καθορίζεται από την καθυστέρηση διάδοσης ενός FF. Για µια τυπική καθυστέρηση των 0ns, ένας τέτοιος απαριθµητής, από οσαδήποτε FFs και αν αποτελείται, θα µπορεί να λειτουργεί µε ρολόι µεγίστης συχνότητας /0ns=00MHz ΣΥΓΧΡΟΝΟΙ ΜΗ- ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Μη-δυαδικοί απαριθµητές είναι εκείνοι που απαριθµούν πλήθος καταστάσεων Ν, το οποίο δεν είναι δύναµη του 2, δηλαδή Ν 2 n. Για τη σχεδίαση τέτοιων απαριθµητών χρησιµοποιούµε συνήθως τις γενικές τεχνικές σχεδίασης σύγχρονων ακολουθιακών κυκλωµάτων, που γνωρίσαµε στο προηγούµενο κεφάλαιο (ενότητα 2.2). Χαρακτηριστική περίπτωση µη-δυαδικού απαριθµητή είναι εκείνη του δεκαδικού απαριθµητή (mod-0), ο οποίος δείχνεται στο Σχήµα Κατά τη σχεδίαση σύγχρονων απαριθµητών αποφεύγουµε να χρησιµοποιούµε τις άµεσες εισόδους CLEAR και PRESET των FFs. Αυτό το κάνουµε, για να µην διαταράξουµε τον συγχρονισµό του κυκλώµατος και να µην υποβιβάσουµε την ταχύτητα λειτουργίας αυτού. Εκτός αυτού, σε πολλές περιπτώσεις οι άµεσες είσοδοι των FFs δεν είναι διαθέσιµες. ραστηριότητα 5 / Κεφάλαιο 3 Με FFs τύπου JK αρνητικής ακµής πυροδότησης σχεδιάστε το κύκλωµα και τις κυµατοµορφές εξόδου ενός σύγχρονου προσθετικού απαριθµητή µε κύκλο απαρίθµησης 3 (mod-3). 4

101 Άσκηση Αυτοαξιολόγησης 5 / Κεφάλαιο 3 Με FFs τύπου JK αρνητικής ακµής πυροδότησης να σχεδιαστεί το κύκλωµα και οι κυµατοµορφές εξόδου ενός σύγχρονου προσθετικού απαριθµητή µε κύκλο απαρίθµησης 5 (mod-5). Άσκηση Αυτοαξιολόγησης 6 / Κεφάλαιο 3 Σχεδιάστε σύγχρονο δεκαδικό απαριθµητή µε FFs τύπου Τ αρνητικής ακµής πυροδότησης εκµεταλλευόµενοι την ύπαρξη των εισόδων άµεσης εκκαθάρισης των FFs και συγκρίνετε αυτόν µε τον αντίστοιχο ασύγχρονο απαριθµητή. Εναλλακτική σχεδίαση σύγχρονων µη-δυαδικών απαριθµητών Η σχεδίαση σύγχρονων µη-δυαδικών απαριθµητών µε βάση τα βήµατα σχεδίασης της ενότητας 2.2. είναι η πλέον ενδεδειγµένη µέθοδος. Είναι σίγουρο ότι µ' αυτή θα οδηγηθούµε στο βέλτιστο κύκλωµα από άποψη αριθµού πυλών. Η µέθοδος αυτή, όµως, παρουσιάζει κάποια δυσκολία στην εφαρµογή της, όταν καλούµαστε να σχεδιάσουµε απαριθµητές µεγάλου κύκλου απαρίθµησης. Σκεφτείτε, δηλαδή, να θέλουµε να σχεδιάσουµε έναν σύγχρονο προσθετικό απαριθµητή mod-60, για να µετατρέπουµε τα δευτερόλεπτα σε λεπτά της ώρας. Σε µια τέτοια περίπτωση θα πρέπει να εµπλακούµε στη διαδικασία απλοποίησης συναρτήσεων µε χάρτες Karnaugh των 6 µεταβλητών, πράγµα εξαιρετικά δύσκολο. Σε περιπτώσεις σαν κι αυτές χρησιµοποιούµε µια άλλη µέθοδο σχεδίασης, η οποία περιγράφεται στη συνέχεια. ιευκρινίζεται ότι η µέθοδος αυτή χρησιµοποιείται στις περιπτώσεις που θέλουµε να σχεδιάσουµε σύγχρονους µηδυαδικούς απαριθµητές κανονικής όµως απαρίθµησης, δηλαδή απαριθµητές που είναι προσθετικοί ή αφαιρετικοί διατρέχοντας διαδοχικούς ακεραίους. Για παράδειγµα, ένας απαριθµητής που διατρέχει τις καταστάσεις είναι ένας δεκαδικός απαριθµητής κανονικής απαρίθµησης, ενώ εκείνος ο οποίος διατρέχει τις ίδιες καταστάσεις µε τη σειρά είναι επίσης δεκαδικός απαριθµητής µηκανονικής απαρίθµησης. Τα βήµατα της εναλλακτικής σχεδίασης µε FFs τύπου JK ενός σύγχρονου µη-δυαδικού απαριθµητή mod-n είναι τα ακόλουθα: Βήµα. Σχεδιάζουµε τον αντίστοιχο σύγχρονο δυαδικό απαριθµητή, ο οποίος αποτελείται από n FFs, όπου 2 n- <Ν<2 n. 5

102 Βήµα 2. Με τη βοήθεια µιας πύλης NAND αποκωδικοποιούµε την κατάσταση Ν-. Έστω G η έξοδος της πύλης NAND. Βήµα 3. Εντοπίζουµε τα FFs, τα οποία στην κατάσταση Ν- βρίσκονται στο 0 και στην κατάσταση Ν µεταβαίνουν στο. Εµποδίζουµε τη µετάβαση αυτή, τροφοδοτώντας την έξοδο G στην πύλη AND, που ελέγχει την είσοδο του αντίστοιχου FF (Βλ. Σχήµα 3.7α). Βήµα 4. Εντοπίζουµε τα FFs, τα οποία στην κατάσταση Ν- βρίσκονται στο και στην κατάσταση Ν παραµένουν στο. Προκαλούµε την εκκαθάριση αυτών, τροφοδοτώντας την έξοδο G µέσω µιας πύλης OR στην είσοδο Κ του αντίστοιχου FF (Βλ. Σχήµα 3.7β). Σηµειώνεται ότι οι ενέργειες για την εµπόδιση µετάβασης ενός FF από το 0 στο και την εκκαθάριση αυτού, όταν αυτό τείνει να παραµείνει στην κατάσταση µε την έλευση του ενεργού ωρολογιακού παλµού, υπαγορεύονται από τους πίνακες διέγερσης των FFs του Σχήµατος 2.. Για να γίνει κατανοητή η διαδικασία εναλλακτικής σχεδίασης ενός σύγχρονου απαριθµητή, θα προχωρήσουµε άµεσα σε ένα σχετικό παράδειγµα. T i Q i J i Q i T i Q i J i Q i G Κ i G' Κ i (α) (β) Σχήµα 3.7. Παρεµβάσεις στο κύκλωµα ενός σύγχρονου δυαδικού απαριθµητή (α) για την εµπόδιση µετάβασης ενός FF από το 0 στο και (β) για την εκκαθάριση ενός FF που παραµένει στο. Παράδειγµα 2 / Κεφάλαιο 3 Να σχεδιαστεί σύγχρονος προσθετικός απαριθµητής µε κύκλο απαρίθµησης 20 (mod- 20), χρησιµοποιώντας FFs τύπου JK αρνητικής ακµής πυροδότησης. Για τη σχεδίαση του απαριθµητή αυτού ακολουθούµε τα βήµατα της εναλλακτικής µεθόδου. Βήµα. Σχεδιάζουµε τον αντίστοιχο δυαδικό προσθετικό απαριθµητή mod-32 (Σχήµα 3.8α), ο οποίος αποτελείται από 5 FFs, αφού 2 4 <20<2 5. Στο Σχήµα 3.8α δεν δείχνουµε τις εισόδους των FFs, οι οποίες τροφοδοτούνται µε τους 6

103 ίδιους ωρολογιακούς παλµούς, αφού το κύκλωµα είναι σύγχρονο. Ας σηµειώσουµε, επίσης, ότι Q 0 είναι το LSB και Q 4 το MSB του απαριθµητή. Βήµα 2. Γράφουµε τους αριθµούς N-=9 και N=20 σε δυαδική µορφή, όπως φαίνεται στο Σχήµα 3.8β. Αποκωδικοποιούµε την κατάσταση Ν- µε τη βοήθεια µιας πύλης NAND (Σχήµα 3.8γ). Βήµα 3. Από το Σχήµα 3.8 παρατηρούµε ότι τα FF0 και FF µε την έλευση του 2ου ωρολογιακού παλµού µεταβαίνουν από το στο 0, πράγµα που είναι επιθυµητό. Επίσης το FF3 βρισκόταν στο 0 και παραµένει στο 0, πράγµα που επίσης το θέλουµε, αφού µετά τον αριθµό 9 θέλουµε ο απαριθµητής να µεταβεί στο 0 και όχι στο 20. Άρα, εκεί που θα πρέπει να παρέµβουµε είναι στα FF2 και FF4. Το FF2 µεταβαίνει από το 0 στο και πρέπει να το εµποδίσουµε, ενώ το FF4 παραµένει στο και πρέπει να το εκκαθαρίσουµε. Το FF2 το εµποδίζουµε σύµφωνα µε τον τρόπο που δείχνεται στο Σχήµα 3.7α, δηλαδή τροφοδοτώντας το G στην είσοδο της πύλης G. Στην πράξη αυτό γίνεται µε αντικατάσταση της πύλης G, η οποία είναι δύο εισόδων, από µια άλλη πύλη AND τριών εισόδων. Βήµα 4. Προκαλούµε την εκκαθάριση του FF4 µε τον τρόπο που δείχνεται στο Σχήµα 3.7β, δηλαδή τροφοδοτώντας το G σε µια OR, η έξοδος της οποίας συνδέεται στην είσοδο Κ του FF. Η άλλη είσοδος της πύλης OR τροφοδοτείται από την έξοδο της G3. Το τελικό κύκλωµα του mod-20 απαριθµητή, το οποίο προέκυψε µετά τις παρεµβάσεις που κάναµε στον mod-32 απαριθµητή, δείχνεται στο Σχήµα 3.8δ. Η διαδικασία που µόλις εφαρµόσαµε είναι γενική και πιθανόν να µην οδηγεί στο βέλτιστο κύκλωµα από άποψη πλήθους πυλών. Γι αυτό πολλές φορές µπορεί να χρειαστεί να επανεξετάσουµε το κύκλωµα που σχεδιάσαµε και εκµεταλλευόµενοι κάποια χαρακτηριστικά του να το βελτιώσουµε. 7

104 J0 FF0 J2 Q2 J3 Q3 Q0 J Q FF G FF2 G2 FF3 G3 J4 FF4 Q4 K0 K K2 K3 K4 (α) Ν-=9 Ν=20 Q4 Q3 Q2 Q Q Q0 Q Q4 (γ) G (β) G G G2 G3 J0 Q0 FF0 J Q FF J2 Q2 J3 Q3 FF2 FF3 J4 FF4 Q4 K0 K K2 K3 K4 (δ) G Σχήµα 3.8 Στάδια σχεδίασης ενός απαριθµητή mod-20: (α) κύκλωµα απαριθµητή mod-32, (β) οι αριθµοί 9 και 20 στο δυαδικό, (γ) αποκωδικοποίηση του αριθµού 9, (δ) κύκλωµα απαριθµητή mod-20 Άσκηση Αυτοαξιολόγησης 7 / Κεφάλαιο 3 Σχεδιάστε σύγχρονο προσθετικό δεκαδικό απαριθµητή, χρησιµοποιώντας FFs τύπου JK θετικής ακµής πυροδότησης. ραστηριότητα 6 / Κεφάλαιο 3 Προτείνετε σύγχρονο απαριθµητή µε κύκλο απαρίθµησης 60. Χρησιµοποιείστε FFs τύπου JK αρνητικής ακµής πυροδότησης για τη σχεδίασή σας. Σηµείωση Μια άλλη κατηγορία σύγχρονων µη-δυαδικών απαριθµητών µη-κανονικής απαρίθµησης, οι οποίοι χρησιµοποιούνται για τη δηµιουργία σηµάτων χρονισµού, είναι οι λεγόµενοι κυκλικοί απαριθµητές (ring counters). Αυτοί προκύπτουν εύκολα από τους καταχωρητές ολίσθησης (shift registers) και γι' αυτό εξετάζονται στο επόµενο κεφάλαιο. 8

105 Σύνοψη Ενότητας Στην ενότητα αυτή µελετήσαµε τους σύγχρονους απαριθµητές. Είδαµε ότι η σχεδίαση και ανάλυση δυαδικών και µη-δυαδικών σύγχρονων απαριθµητών γίνεται µε τη βοήθεια της αντίστοιχης µεθοδολογίας που αναπτύξαµε στο Κεφάλαιο 2. Για την περίπτωση των µη-δυαδικών απαριθµητών κανονικής απαρίθµησης, περιγράψαµε µία εναλλακτική µέθοδο σχεδίασης, η οποία εύκολα εφαρµόζεται για οποιαδήποτε τιµή του Ν, όπου Ν ο κύκλος απαρίθµησης. ύο σπουδαίες διαπιστώσεις που έγιναν είναι οι εξής: (α) ο τύπος πυροδότησης των FFs δεν επηρεάζει τον τρόπο λειτουργίας ενός σύγχρονου απαριθµητή και (β) η καθυστέρηση διάδοσης σ' έναν σύγχρονο απαριθµητή είναι η ίδια και ίση µε την καθυστέρηση ενός FF, ανεξάρτητα από το πλήθος των FFs του απαριθµητή. ΕΝΟΤΗΤΑ 3.3. ΙΑΙΡΕΤΕΣ ΣΥΧΝΟΤΗΤΑΣ ΠΑΛΜΩΝ Μέχρι εδώ γνωρίσαµε τους απαριθµητές ως κυκλώµατα κατάλληλα για την απαρίθµηση παλµών. Με άλλα λόγια, είδαµε ότι "διαβάζοντας" την κατάσταση Q n Q n-...q Q 0 του ασύγχρονου ή σύγχρονου κυκλώµατος, µπορούµε να απαριθµούµε το πλήθος των παλµών που "καταφθάνουν" στην είσοδο του ρολογιού. Τα ίδια αυτά κυκλώµατα, όµως, έχουν και µια άλλη σηµαντική εφαρµογή στον υποβιβασµό της συχνότητας των παλµών εισόδου. Πράγµατι, αν κοιτάξουµε τις κυµατοµορφές και Q 2 του Σχήµατος 3.β, παρατηρούµε ότι η περίοδος των παλµών Q 2 είναι 8πλάσια της περιόδου, δηλαδή σε µια περίοδο του Q 2 περιέχονται 8 περίοδοι του. Κατά συνέπεια η συχνότητα των παλµών του Q 2 είναι 8 φορές µικρότερη της συχνότητας των ωρολογιακών παλµών. Το ίδιο ακριβώς ισχύει και για την περίπτωση των κυµατοµορφών του Σχήµατος 3.6β. Στην περίπτωση του δεκαδικού απαριθµητή του Σχήµατος 3.5 παρατηρούµε επίσης ότι η περίοδος του Q 3 είναι δεκαπλάσια εκείνης των ωρολογιακών παλµών. Γίνεται φανερό, λοιπόν, ότι µε έναν απαριθµητή mod-n πετυχαίνουµε τη διαίρεση της συχνότητας των ωρολογιακών παλµών διά Ν. Επανερχόµενοι στο κύκλωµα του ασύγχρονου δυαδικού απαριθµητή του Σχήµατος 3., παρατηρούµε ότι η έξοδος Q 0 έχει περίοδο 2πλάσια εκείνης των ωρολογιακών παλµών. ηλαδή η συχνότητα των παλµών Q 0 είναι υποδιπλάσια της συχνότητας των ωρολογιακών παλµών. Άρα, το FF0 αποτελεί στην ουσία έναν απαριθµητή mod-2. 9

106 Εξετάζοντας την κυµατοµορφή Q, καταλήγουµε στο συµπέρασµα ότι το FF αποτελεί επίσης έναν απαριθµητή mod-2, ο οποίος υποδιπλασιάζει τη συχνότητα των παλµών της εισόδου του, δηλαδή τη συχνότητα των παλµών Q 0. Το ίδιο συµβαίνει και για το FF2, το οποίο υποδιπλασιάζει την συχνότητα των παλµών Q. Καταλαβαίνουµε, λοιπόν, πως συνδέοντας τρεις απαριθµητές mod-2 σε σειρά καταλήγουµε σε έναν απαριθµητή mod-8, όπου 8=2x2x2. Γενικά, η σύνδεση σε σειρά (δηλαδή η έξοδος του ενός συνδέεται ως είσοδος ωρολογιακών παλµών του εποµένου) κ απαριθµητών µε κύκλους απαρίθµησης Ν, Ν 2,..., Ν κ οδηγεί σε έναν απαριθµητή µε κύκλο απαρίθµησης Ν, όπου Ν=Ν Ν 2 Ν κ το γινόµενο των κύκλων απαρίθµησης του καθενός. Ας δούµε ένα σχετικά απλό παράδειγµα, για να κατανοήσουµε τον τρόπο λειτουργίας αυτών των απαριθµητών. Παράδειγµα 3 / Κεφάλαιο 3 Να σχεδιαστεί απαριθµητής mod-3, καθώς και οι κυµατοµορφές εξόδου του. Με τη βοήθεια αυτού και µε τη χρήση ενός επιπλέον FF να σχεδιαστεί ένας απαριθµητής mod- 6. Για τη σχεδίαση να χρησιµοποιηθούν FFs τύπου JK αρνητικής ακµής πυροδότησης. Η σχεδίαση του mod-3 απαριθµητή γίνεται, όπως στο Παράδειγµα 4 / Κεφάλαιο 2. Το κύκλωµα και οι κυµατοµορφές εξόδου του φαίνονται στο Σχήµα 3.9. Q0 Q J0 Q0 J Q CLκ Κ 0 Q0' Κ Q' CLκ mod 3 (β) (α) CLκ Q0 Q 0 ) 0 ( Q Q Σχήµα 3.9. (γ) Σύγχρονος απαριθµητής mod-3: (α) λογικό κύκλωµα, (β) σύµβολο, (γ) κυµατοµορφές εξόδου. Παρατηρούµε ότι αυτός διατρέχει διαδοχικά τις καταστάσεις και ότι η έξοδος Q διαιρεί τη συχνότητα των ωρολογιακών παλµών δια 3. (Παρατηρείστε ότι 3 παλµοί του ρολογιού περιέχονται σ' ένα παλµό του Q ). Για να σχεδιάσουµε έναν 20

107 απαριθµητή mod-6, βασιζόµενοι στον απαριθµητή mod-3, που µόλις είδαµε, υπάρχουν δύο δυνατότητες: είτε ως 3x2 είτε ως 2x3. Ας δούµε και τις δύο περιπτώσεις, όπως αυτές δείχνονται στο Σχήµα 3.0. Από τα κυκλώµατα και τις κυµατοµορφές εξόδου συµπεραίνουµε ότι: Και τα δύο κυκλώµατα διατρέχουν 6 διαφορετικές καταστάσεις, δηλαδή απαριθµούν. Η διαφορά, όµως, είναι ότι το 3x2 κύκλωµα απαριθµεί µη κανονικά ( ). Και τα δύο κυκλώµατα διαιρούν τη συχνότητα των ωρολογιακών παλµών δια 6. Η έξοδος, όµως, του κυκλώµατος 3x2 είναι συµµετρική *, δηλαδή βρίσκεται για το ίδιο χρονικό διάστηµα στην κατάσταση HIGH και στην κατάσταση LOW. Αυτό δεν ισχύει για το κύκλωµα 2x3, για το οποίο η έξοδος βρίσκεται στην κατάσταση HIGH για το /3 της περιόδου της (δηλαδή ο κύκλος εργασίας είναι περίπου 33%). Και τα δύο κυκλώµατα δεν είναι πλέον σύγχρονα, αφού δεν χρονίζονται από τον ίδιο ωρολογιακό παλµό. Q0 Q (έξοδος) Q0 Q CLκ mod -3 J Κ Q (έξοδος) CLκ J Κ Q CLκ mod -3 (α) (γ) CLκ CLκ Q0 Q Q Q0 Q ( QQ Q0 ) 0 (β) Q ( QQQ 0 ) (δ) Σχήµα 3.0. Απαριθµητής mod-6: (α,β) κύκλωµα και κυµατοµορφές εξόδου της 3x2 σχεδίασης, (γ,δ) κύκλωµα και κυµατοµορφές εξόδου της 2x3 σχεδίασης. * Στην περίπτωση αυτή λέµε ότι η κυµατοµορφή έχει κύκλο εργασίας (duty cycle) 50%, δηλαδή για το µισό χρονικό διάστηµα της περιόδου βρίσκεται στην κατάσταση HIGH και για το υπόλοιπο µισό στην κατάσταση LOW. 2

108 Άσκηση Αυτοαξιολόγησης 8 / Κεφάλαιο 3 Με FFs τύπου JK αρνητικής ακµής πυροδότησης να σχεδιάσετε το κύκλωµα και τις κυµατοµορφές εξόδου ενός διαιρέτη δια 0. ραστηριότητα 7 / Κεφάλαιο 3 Προτείνετε δύο διαφορετικά κυκλώµατα, τα οποία να υποβιβάζουν µια συχνότητα 27MHz σε συχνότητα MHz. ραστηριότητα 8 / Κεφάλαιο 3 Προτείνετε το λογικό κύκλωµα ενός ψηφιακού ρολογιού, το οποίο να λειτουργεί µε ωρολογιακούς παλµούς συχνότητας 60 Hz και να δείχνει στην οθόνη του τις ώρες, τα λεπτά και τα δευτερόλεπτα της ώρας. Τα ψηφιακά ρολόγια, που χρησιµοποιούµε καθηµερινά, αποτελούν την πιο ενδιαφέρουσα εφαρµογή των κυκλωµάτων διαίρεσης συχνότητας. Ας δούµε την περίπτωση ενός τέτοιου ρολογιού, το οποίο τροφοδοτείται µε ωρολογιακούς παλµούς συχνότητας 60Hz. ιευκρινίζεται στο σηµείο αυτό ότι συνήθως η συχνότητα των ωρολογιακών παλµών είναι πολύ µεγαλύτερη και προέρχεται από ένα κρυσταλλικό ταλαντωτή (quartz-crystal oscillator). Όποια όµως και να είναι η συχνότητα αυτή, το πρώτο στάδιο του κυκλώµατος είναι ο υποβιβασµός της στο Hz. ηλαδή, για την περίπτωση των 60Hz, απαιτείται η διαίρεση της συχνότητας των παλµών δια 60 ( 60). Στη συνέχεια διαιρούµε και πάλι 60 για να πάρουµε έναν ωρολογιακό παλµό ανά λεπτό (ppm). Τέλος, τη συχνότητα αυτή τη διαιρούµε και πάλι 60 για να πάρουµε έναν ωρολογιακό παλµό ανά ώρα (pph). Το όλο λογικό κύκλωµα του ψηφιακού ρολογιού δείχνεται στο Σχήµα 3.. Παρατηρούµε ότι τη διαίρεση των παλµών 60 την πραγµατοποιούµε µε ένα δεκαδικό απαριθµητή ακολουθούµενο από έναν απαριθµητή mod-6. Αυτό είναι αναµενόµενο, αφού θέλουµε να οδηγούµε τα κυκλώµατα επίδειξης, τα οποία µας δείχνουν το χρόνο (την ώρα). Τα κυκλώµατα επίδειξης είναι συνήθως του τύπου 7-τµηµάτων (7-segment displays) και οι έξοδοι των απαριθµητών οδηγούνται στις εισόδους των κατάλληλων κυκλωµάτων αποκωδικοποίησης. 22

109 Ωρες Λεπτά ευτερόλεπτα εκάδες 0- Μονάδες 0-9 εκάδες 0-5 Μονάδες 0-9 εκάδες 0-5 Μονάδες pph 6 0 ppm 6 0 Hz (pph) 60 Hz 60 Σηµείωση: Παλµοί ανά δευτερόλεπτο (pulses per second, pps) Παλµοί ανά λεπτό (pulses per minute, ppm) Παλµοί ανά ώρα (pulses per hour, pph) Σχήµα 3.. Λογικό κύκλωµα ψηφιακού ρολογιού Είδαµε λοιπόν ότι, διασυνδέοντας σε σειρά απαριθµητές, παίρνουµε ένα νέο απαριθµητή µε κύκλο απαρίθµησης ίσο µε το γινόµενο των επιµέρους κυκλωµάτων. Θα αναρωτηθείτε, ίσως, γιατί θα έπρεπε να εξετάσουµε αυτά τα κυκλώµατα ως µια ξεχωριστή ενότητα. Οι λόγοι είναι δύο: (i) Επειδή µας ενδιέφερε να σχεδιάσουµε κύκλωµα διαίρεσης συχνότητας παλµών, δηλαδή µας ενδιέφερε το τελικό αποτέλεσµα να είναι µια κυµατοµορφή συµµετρική ή µη συµµετρική συχνότητας ίσης µε το /Ν της συχνότητας των ωρολογιακών παλµών. εν µας ενδιέφερε αν το κύκλωµα απαριθµεί κανονικά ή όχι, δηλαδή δεν µας ενδιέφεραν οι ενδιάµεσες καταστάσεις του κυκλώµατος. (ii) Επειδή τα κυκλώµατα που προκύπτουν είναι συνδυασµός ασύγχρονων και σύγχρονων απαριθµητών. Γνωρίζοντας πλέον όλες τις δυνατότητες και τις ιδιαιτερότητες των απαριθµητών, είναι θέµα του µηχανικού που σχεδιάζει ένα ψηφιακό σύστηµα για το ποιο από τα κυκλώµατα θα χρησιµοποιήσει. Για παράδειγµα, ένα διαιρέτης δια 27 θα µπορούσε να υλοποιηθεί ως ένας σύγχρονος ή ασύγχρονος απαριθµητής mod-27 ή ως συνδυασµός τριών mod-3 απαριθµητών (27=3x3x3). Στην πρώτη περίπτωση απαιτούνται 5 FFs (2 4 <27<2 5 ) και πρόσθετες πύλες, ενώ στη δεύτερη περίπτωση απαιτούνται µόνο 6 FFs. Σύνοψη Ενότητας Στην παρούσα ενότητα αντιµετωπίσαµε τους απαριθµητές ως κυκλώµατα κατάλληλα για τον υποβιβασµό της συχνότητας παλµών. Είδαµε ότι το MSB της εξόδου ενός απαριθµητή mod-n αποτελεί ουσιαστικά ένα παλµό συχνότητας ίσης µε το /Ν της συχνότητας των ωρολογιακών παλµών του απαριθµητή. Είδαµε, επίσης, ότι η σύνδεση απαριθµητών σε σειρά ισοδυναµεί µε ένα νέο απαριθµητή µε κύκλο απαρίθµησης ίσο µε το γινόµενο των κύκλων απαρίθµησης των επιµέρους απαριθµητών. 23

110 ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ Στο κεφάλαιο αυτό µελετήσαµε τα διαφορετικά κυκλώµατα απαρίθµησης παλµών. Είδαµε ότι υπάρχουν δύο µεγάλες κατηγορίες κυκλωµάτων, τα ασύγχρονα και τα σύγχρονα. Τα ασύγχρονα κυκλώµατα απαιτούν συνήθως µικρότερο αριθµό πυλών απ' ότι τα αντίστοιχα σύγχρονα, παρουσιάζουν όµως προβλήµατα, λόγω της καθυστέρησης διάδοσης των παλµών πυροδότησης από FF σε FF. Επίσης, η σχεδίαση απαριθµητών µηκανονικής απαρίθµησης δεν είναι εύκολη. Οι σύγχρονοι απαριθµητές σχεδιάζονται πολύ πιο εύκολα και λειτουργούν αξιόπιστα σε υψηλότερες συχνότητες, αφού η καθυστέρηση διάδοσης των παλµών είναι ανεξάρτητη του πλήθους των FFs του απαριθµητή. Για τους ασύγχρονους απαριθµητές ο τύπος πυροδότησης των FFs παίζει καθοριστικό ρόλο στον τρόπο απαρίθµησης (προς τα πάνω ή προς τα κάτω). Αυτό δεν ισχύει για την περίπτωση των σύγχρονων απαριθµητών. Τέλος, είδαµε ότι µπορούµε να σχεδιάσουµε απαριθµητές µεγάλου κύκλου απαρίθµησης Ν συνδέοντας σε σειρά κ απαριθµητές µικρότερου κύκλου απαρίθµησης Ν i, όπου N i <N και N = κ N i i= υποβιβασµού συχνότητας κατά Ν φορές.. Με τον τρόπο αυτό κατασκευάζουµε συνήθως κυκλώµατα 24

111 ΒΙΒΛΙΟΓΡΑΦΙΑ ΕΛΛΗΝΟΓΛΩΣΣΗ Mano Morris M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 992. Millman J., Χαλκιάς Χ., Ολοκληρωµένη Ηλεκτρονική, Τόµος Β, Εκδόσεις ΤΕΕ, 972. ΞΕΝΟΓΛΩΣΣΗ Daniels J. D., Digital Design from Zero to One, J. Wiley & Sons, 996. Greenfield J. D., Practical Digital Design Using ICs, J. Wiley & Sons, 977. Malvino A. P., Leach D. P., Digital Principles and Applications, McGraw-Hill, 986. Tocci R. J., Widmer N. S., Digital Systems: Principles and Applications, Prentice Hall, 998. Ο ΗΓΟΣ ΠΕΡΑΙΤΕΡΩ ΜΕΛΕΤΗΣ Greenfield J. D., Practical Digital Design Using ICs, J. Wiley & Sons, 977. Το Κεφάλαιο 7 του βιβλίου είναι αφιερωµένο στους απαριθµητές. Περιέχει πολλά παραδείγµατα και ασκήσεις. Malvino A. P., Leach D. P., Digital Principles and Applications, McGraw-Hill, 986. Περιγραφές πολλών απαριθµητών, που κυκλοφορούν στο ελεύθερο εµπόριο, θα βρείτε στο Κεφάλαιο του βιβλίου αυτού. Mano Morris M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 992. Στο Κεφάλαιο 7 του βιβλίου µπορείτε να βρείτε µια περιγραφή ενός δυαδικού απαριθµητή µε δυνατότητα παράλληλης φόρτωσης δεδοµένων. Τέτοια κυκλώµατα απαριθµητών υπάρχουν σε ολοκληρωµένη µορφή στο ελεύθερο εµπόριο. 25

112 ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ Απάντηση Άσκησης Αυτοαξιολόγησης / Κεφάλαιο 3 Το ζητούµενο κύκλωµα και οι αντίστοιχες κυµατοµορφές δείχνονται στο Σχήµα 3.2. Vcc T0 Q0 T Q T2 Q2 FF0 FF FF2 (α) Q0 Q Q2 2 Q 0 ) 0 ( Q Q Σχήµα 3.2. (β) Ο απαριθµητής του Σχήµατος 3.. µε FF τύπου Τ θετικής ακµής: (α) λογικό κύκλωµα, (β) κυµατοµορφές εξόδου. Παρατηρούµε ότι πρόκειται για έναν αφαιρετικό δυαδικό απαριθµητή! ηλαδή, αλλάζοντας τον τύπο πυροδότησης των FFs, πήραµε έναν αφαιρετικό απαριθµητή, αντί του προσθετικού που είχαµε. Παρόµοια αποτελέσµατα θα έχουµε και στην περίπτωση που αλλάξουµε τα FFs του Σχήµατος 3.2α από αρνητικής σε θετικής ακµής πυροδότησης. Εξετάστε την περίπτωση µε ένα σχήµα, όπως το παραπάνω. Απάντηση Άσκησης Αυτοαξιολόγησης 2 / Κεφάλαιο 3 Το κύκλωµα ενός mod-2 είναι ίδιο µε εκείνο του Σχήµατος 3.5α, µε τη διαφορά ότι στην πύλη NAND εφαρµόζονται ως είσοδοι τα Q 3 και Q 2 και όχι τα Q 3 και Q, αφού (2) 0 =(00) 2 και Q 3 είναι το MSB. 26

113 Απάντηση Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 3 Ο απαριθµητής πρέπει να διατρέχει µε τη σειρά τους αριθµούς 6, 7, 8, 9, 0, 6, 7, 8, 9, 0, 6, 7,... Παρόλο που είναι µόνο 5 οι διαφορετικές καταστάσεις, που πρέπει να διατρέχει, οι καταστάσεις αυτές θα πρέπει να σχηµατίζουν τους αριθµούς 6 µέχρι και 0. Αυτό σηµαίνει ότι για την υλοποίηση του κυκλώµατος απαιτούνται 4 FFs. Ο απαριθµητής, που θα σχεδιάσουµε, θα πρέπει να είναι (α) ασύγχρονος προσθετικός, (β) να µετρά µέχρι και το 0, δηλαδή µόλις εµφανίζεται το αυτός να ξεκινά και πάλι από την αρχή, και (γ) να µην αρχίζει από το 0, αλλά από το 6, δηλαδή το 00 στο δυαδικό. Λαµβάνοντας υπόψη µας τα τρία αυτά στοιχεία, σχεδιάζουµε το κύκλωµα του Σχήµατος 3.3. Η πύλη NAND αποκωδικοποιεί τον αριθµό () 0, δηλαδή G=(Q 3 Q Q 0 ). Μόλις ο αριθµός αυτός παρουσιαστεί, η έξοδος G γίνεται 0 αναγκάζοντας το πρώτο και τελευταίο FF να µηδενιστούν (CLR=0), και το δεύτερο και τρίτο FF να πάρουν την τιµή, ενεργοποιώντας την είσοδο PRESET (PR=0). Έτσι δηµιουργείται η λέξη Q 3 Q 2 Q Q 0 =00, που είναι ο αριθµός 6 του δεκαδικού συστήµατος. Με κάθε επόµενο ωρολογιακό παλµό το κύκλωµα συνεχίζει την απαρίθµηση διατρέχοντας τους αριθµούς 7, 8, 9, 0. Με τη στιγµιαία εµφάνιση του πηγαίνει και πάλι στο 6. PR PR PR PR T0 Q0 T Q T2 Q2 T3 CLR CLR CLR CLR Q3 G Σχήµα 3.3. Ασύγχρονος απαριθµητής από το 6 µέχρι και το 0. Απάντηση Άσκησης Αυτοαξιολόγησης 4 / Κεφάλαιο 3 Το κύκλωµα είναι ακριβώς ίδιο µε εκείνο του Σχήµατος 3.6α, όπου φυσικά στη θέση των αρνητικής ακµής πυροδότησης FFs βάζουµε τα θετικής ακµής πυροδότησης. Αυτό ήταν αναµενόµενο, αφού, όπως είδαµε στο προηγούµενο κεφάλαιο, κατά τη σχεδίαση των σύγχρονων ακολουθιακών κυκλωµάτων δεν χρησιµοποιήσαµε τους ωρολογιακούς 27

114 παλµούς, αλλά µόνο την παρούσα κατάσταση, την επόµενη κατάσταση και τις εισόδους του κάθε FF. Ο απλούστερος τρόπος, για να έχουµε το κύκλωµα που απαριθµεί προς τα κάτω, είναι να πάρουµε ως εξόδους τα Q των FFs. Απάντηση Άσκησης Αυτοαξιολόγησης 5 / Κεφάλαιο 3 Για έναν απαριθµητή mod-5 απαιτούνται 3 FFs (2 2 <5<2 3 ). Ακολουθώντας τα βήµατα σχεδίασης σύγχρονων ακολουθιακών κυκλωµάτων της ενότητας 2.2 καταλήγουµε στο κύκλωµα του Σχήµατος 3.4α και στις αντίστοιχες κυµατοµορφές του Σχήµατος 3.4β. CLκ J0 Q0 J Q J2 Q2 Κ 0 Κ 2 Q0' Q' Κ Q2' (α) CLκ Q0 Q Q2 ( Q Q 2 Q 0 ) (β) Σχήµα 3.4. Σύγχρονος απαριθµητής mod-5: (α) λογικό κύκλωµα, (β) κυµατοµορφές εξόδου Απάντηση Άσκησης Αυτοαξιολόγησης 6 / Κεφάλαιο 3 Θέλουµε να σχεδιάσουµε ένα σύγχρονο προσθετικό απαριθµητή mod-0. Άρα χρειαζόµαστε 4 FFs, τα οποία και συνδέουµε έτσι, ώστε αυτά να µετρούν από το 0 στο 5. Μόλις, όµως, φτάσουν στον αριθµό 9, οπότε και θα έχουν απαριθµήσει 0 ωρολογιακούς παλµούς, µηδενίζουµε τα FFs και η απαρίθµηση ξεκινά από την αρχή (Βλ. Σχήµα 3.5). Η λογική εκκαθάριση των FFs είναι ακριβώς ίδια µε εκείνη του ασύγχρονου δεκαδικού απαριθµητή. Κάνουµε, δηλαδή, ασύγχρονη εκκαθάριση, ενεργοποιώντας τις εισόδους CLEAR, όταν παρουσιαστεί ο αριθµός (0) 0 στις εξόδους των FFs. Αυτό 28

115 γίνεται και πάλι µε τη βοήθεια µιας πύλης NAND, η έξοδος G της οποίας ισούται µε G=(Q Q 3 ). QQ3 T0 Q0 T Q T2 Q2 T3 Q3 CLR CLR CLR CLR G Σχήµα 3.5. Σύγχρονος δεκαδικός απαριθµητής Απάντηση Άσκησης Αυτοαξιολόγησης 7 / Κεφάλαιο 3 Θέλουµε να σχεδιάσουµε ένα σύγχρονο προσθετικό απαριθµητή mod-0, δηλαδή Ν=0. Ακολουθούµε τα τέσσερα βήµατα της εναλλακτικής σχεδίασης και έχουµε: Βήµα. Σχεδιάζουµε τον αντίστοιχο σύγχρονο δυαδικό απαριθµητή mod-6 (Σχήµα 3.6α). Παρατηρείστε ότι έχουµε προσθέσει και την πύλη G0, αν και δεν είναι απαραίτητη, αφού στην προκειµένη περίπτωση η έξοδός της ισούται µε Q 0 =Q 0. Σηµειώστε, επίσης, ότι για να είναι το σχήµα ευανάγνωστο, δεν έχουµε συµπεριλάβει σ αυτό τους ωρολογιακούς παλµούς των FFs. Βήµα 2. Γράφουµε τους αριθµούς Ν-=9 και Ν=0 σε δυαδική µορφή (Σχήµα 3.6β), ώστε να µπορέσουµε να ελέγξουµε ποια FFs δεν µεταβαίνουν από µόνα τους στην κατάσταση 0 µετά το δέκατο παλµό. Αποκωδικοποιούµε την κατάσταση 9 µε τη βοήθεια µιας πύλης NAND (Σχήµα 3.6γ). Βήµα 3. Εµποδίζουµε το FF να µεταβεί από το 0 στο µε την έλευση του ου παλµού. Αυτό το πετυχαίνουµε οδηγώντας το σήµα G στην είσοδο της πύλης G0. Με την εµφάνιση του αριθµού 9 η έξοδος G της πύλης NAND γίνεται 0, οπότε µε J =K =0 το FF παραµένει στην κατάσταση που βρισκόταν, δηλαδή στο λογικό 0. Βήµα 4. Προκαλούµε την εκκαθάριση του FF3 οδηγώντας το σήµα G µέσω µιας πύλης OR στην είσοδο Κ 3 αυτού. Έτσι, µε την εµφάνιση του αριθµού 9 και µόνον τότε, έχουµε G = και άρα Κ 3 =, οπότε οποιαδήποτε και αν είναι η τιµή του J 3, το FF3 θα µεταβεί στο λογικό 0. ηλαδή, αν J 3 =0 και αφού Κ 3 =, τότε αυτό θα εκκαθαριστεί (reset), ενώ αν J 3 = και αφού Κ 3 =, τότε αυτό θα 29

116 µεταπέσει (toggle) στη συµπληρωµατική της κατάστασης στην οποία βρισκόταν, άρα στο 0, αφού ήδη ήταν στο λογικό. Το ζητούµενο κύκλωµα του σύγχρονου δεκαδικού απαριθµητή δίνεται στο Σχήµα 3.6δ. G0 G G2 J0 Q0 J Q J2 FF0 FF FF2 FF3 Q2 J3 Q3 K0 K K2 K3 (α) Ν-=9 Ν=0 Q3 Q2 Q Q Q0 Q3 G Εκκαθάριση Εµπόδιση (γ) (β) G G0 G G2 J0 Q0 J Q J2 Q2 J3 Q3 FF0 FF FF2 FF3 K0 K K2 K3 (δ) G Σχήµα 3.6. Στάδια σχεδίασης ενός απαριθµητή mod-0: (α) κύκλωµα απαριθµητή mod-6, (β) οι αριθµοί 9 και 0 στο δυαδικό, (γ) αποκωδικοποίηση του αριθµού 9, (δ) κύκλωµα απαριθµητή mod-0 Απάντηση Άσκησης Αυτοαξιολόγησης 8 / Κεφάλαιο 3 Θέλουµε να σχεδιάσουµε ένα κύκλωµα, το οποίο να υποδεκαπλασιάζει τη συχνότητα των ωρολογιακών παλµών εισόδου. Έχουµε µάθει τέσσερις διαφορετικές µεθόδους σχεδίασης ενός τέτοιου κυκλώµατος: ως σύγχρονος δεκαδικός απαριθµητής (βλ. Σχήµα2.22 ή Σχήµα 3.4) ως ασύγχρονος δεκαδικός απαριθµητής (βλ. Σχήµα 3.5) ως ασύγχρονος απαριθµητής 5x2 (βλ. Σχήµα 3.7α) ως ασύγχρονος απαριθµητής 2x5 (βλ. Σχήµα 3.7γ) Ο απαριθµητής mod-5 δείχνεται στο Σχήµα 3.4 και γι αυτό χρησιµοποιούµε εδώ µόνο το σύµβολό του. Από τις κυµατοµορφές του Σχήµατος 3.7 εξάγουµε τα ίδια συµπεράσµατα µε εκείνα του Παραδείγµατος 3 / Κεφάλαιο3. 30

117 Q0 Q Q2 J Q Q0 mod-5 Κ Q (α) Q2 Q ( QQ2 QQ0 ) (β) Q0 Q Q2 J Q Q Κ mod-5 Q0 (δ) Q (γ) Q2 2 QQ0 ) 0 ( Q Q Σχήµα 3.7. Κύκλωµα και κυµατοµορφές εξόδου διαιρέτη συχνότητας δια 0: (α,β) 5x2 σχεδίαση, (γ,δ) 2x5 σχεδίαση ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ asynchronous count-down counter count-up glitch LSB, Least Significant Bit modulo / modulus / mod MSB, Most Significant Bit propagation delay ring counter ripple counter serial shift registers synchronous ασύγχρονος απαρίθµηση προς τα κάτω απαριθµητής, µετρητής, κύκλωµα απαρίθµησης παλµών απαρίθµηση προς τα πάνω αιχµή, παλµός πολύ µικρού εύρους λιγότερο σηµαντικό ψηφίο υπόλοιπο, κύκλος απαρίθµησης περισσότερο σηµαντικό ψηφίο καθυστέρηση διάδοσης απαριθµητής δακτυλίου απαριθµητής κυµατώσεως σειριακός καταχωρητής ολίσθησης σύγχρονος 3

118 ΚΕΦΑΛΑΙΟ 4 ΚΑΤΑΧΩΡΗΤΕΣ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ 4.. ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΤΑΧΩΡΗΤΕΣ ΣΕΙΡΙΑΚΗΣ-ΕΙΣΟ ΟΥ-ΣΕΙΡΙΑΚΗΣ-ΕΞΟ ΟΥ ΚΑΤΑΧΩΡΗΤΕΣ ΣΕΙΡΙΑΚΗΣ-ΕΙΣΟ ΟΥ-ΠΑΡΑΛΛΗΛΗΣ-ΕΞΟ ΟΥ ΚΑΤΑΧΩΡΗΤΕΣ ΠΑΡΑΛΛΗΛΗΣ-ΕΙΣΟ ΟΥ-ΠΑΡΑΛΛΗΛΗΣ-ΕΞΟ ΟΥ ΚΑΤΑΧΩΡΗΤΕΣ ΠΑΡΑΛΛΗΛΗΣ-ΕΙΣΟ ΟΥ-ΣΕΙΡΙΑΚΗΣ-ΕΞΟ ΟΥ... 3 ΕΝΟΤΗΤΑ 4.2. ΚΥΚΛΙΚΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΑΠΑΡΙΘΜΗΤΕΣ ΑΚΤΥΛΙΟΥ ΑΠΑΡΙΘΜΗΤΕΣ JOHNSON... 8 ΒΙΒΛΙΟΓΡΑΦΙΑ ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ... 32

119 ΚΕΦΑΛΑΙΟ 4 ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Σκοπός του παρόντος κεφαλαίου είναι η µελέτη των καταχωρητών. Πρόκειται για σύγχρονα ακολουθιακά κυκλώµατα, τα οποία χρησιµοποιούνται κυρίως για την προσωρινή αποθήκευση δυαδικής πληροφορίας, αλλά και για την εκτέλεση απλών πράξεων, όπως πολλαπλασιασµού και διαίρεσης µε δυνάµεις του 2 ή και εύρεσης του συµπληρώµατος αριθµού. Προσδοκώµενα αποτελέσµατα: Μετά τη µελέτη αυτού του κεφαλαίου θα είστε σε θέση να: σχεδιάζετε καταχωρητές µε δυνατότητα ολίσθησης προς τα αριστερά ή τα δεξιά κατανοείτε και σχεδιάζετε καταχωρητές µε δυνατότητα παράλληλης φόρτωσης και ολίσθησης σχεδιάζετε κυκλώµατα χρονισµού, βασισµένα σε καταχωρητές ολίσθησης σχεδιάζετε καταχωρητές παράλληλης-εισόδου-σειριακής-εξόδου ή σειριακήςεισόδου-παράλληλης-εξόδου σχεδιάζετε κυκλώµατα υποβιβασµού συχνότητας παλµών βασιζόµενα σε καταχωρητές ολίσθησης. Έννοιες κλειδιά: Καταχωρητές Καταχωρητές ολίσθησης Παράλληλη - Σειριακή µετατροπή Κυκλικοί καταχωρητές Σήµατα χρονισµού Σειριακή - Παράλληλη µετατροπή 2

120 ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ Στο Κεφάλαιο 2 γνωρίσαµε τα σύγχρονα ακολουθιακά κυκλώµατα και µελετήσαµε τη µεθοδολογία ανάλυσης και σχεδίασης τέτοιων κυκλωµάτων. Στο Κεφάλαιο 3 ασχοληθήκαµε µε τους απαριθµητές, ασύγχρονους και σύγχρονους. Είδαµε ότι οι σύγχρονοι απαριθµητές δεν είναι παρά σύγχρονα ακολουθιακά κυκλώµατα, τα οποία σχεδιάζονται έτσι ώστε να βρίσκουν εφαρµογή στην απαρίθµηση παλµών ή στον υποβιβασµό της συχνότητας αυτών. Στο παρόν κεφάλαιο θα γνωρίσουµε µια άλλη κατηγορία σύγχρονων ακολουθιακών κυκλωµάτων, τους καταχωρητές. Τονίζουµε ότι πρόκειται και πάλι για σύγχρονα ακολουθιακά κυκλώµατα, τα οποία βρίσκουν εφαρµογή στην προσωρινή αποθήκευση δυαδικών αριθµών και στην εκτέλεση στοιχειωδών πράξεων σ' αυτούς. Είναι ακριβώς αυτή η εφαρµογή τους, η οποία µας οδηγεί να εξετάζουµε αυτά τα σύγχρονα ακολουθιακά κυκλώµατα ξεχωριστά στο παρόν κεφάλαιο. Καταχωρητής είναι ένα σύνολο από FFs στα οποία µπορούµε να αποθηκεύσουµε δυαδική πληροφορία. Ας θυµηθούµε ότι σε κάθε FF µπορεί να αποθηκευτεί bit πληροφορίας. Έτσι, σ' έναν καταχωρητή, ο οποίος αποτελείται από n FFs, µπορούµε να αποθηκεύσουµε n bits πληροφορίας. Η εισαγωγή (φόρτωση, εγγραφή, είσοδος) της δυαδικής πληροφορίας σ' έναν καταχωρητή µπορεί να γίνει είτε σειριακά, δηλαδή bit µε κάθε ωρολογιακό παλµό, είτε παράλληλα, δηλαδή και τα n bits µε έναν ωρολογιακό παλµό. Το ίδιο ισχύει και για την εξαγωγή (έξοδο, ανάγνωση) της πληροφορίας. Έτσι, διακρίνουµε 4 κατηγορίες καταχωρητών, όπως δείχνονται στο Σχήµα 4.: καταχωρητές σειριακής εισόδου - σειριακής εξόδου, καταχωρητές σειριακής εισόδου - παράλληλης εξόδου, καταχωρητές παράλληλης εισόδου - σειριακής εξόδου και καταχωρητές παράλληλης εισόδου - παράλληλης εξόδου. Όλοι αυτοί οι τύποι των καταχωρητών διατίθενται σε ολοκληρωµένη µορφή στο ελεύθερο εµπόριο. Πριν αρχίσουµε την εξέταση καθενός από αυτούς τους τύπους καταχωρητών, θα ήταν χρήσιµο να θυµίσουµε το αποτέλεσµα της ολίσθησης ενός δυαδικού αριθµού προς τα αριστερά ή προς τα δεξιά. Ολίσθηση, λοιπόν, ενός δυαδικού αριθµού Ν προς τα αριστερά κατά m θέσεις, συνεπάγεται τον πολλαπλασιασµό αυτού επί 2 m, δηλαδή ο αριθµός που προκύπτει είναι ο Ν2 m. Εξυπακούεται, φυσικά, ότι µε καθεµία αριστερή ολίσθηση το LSB του αριθµού "γεµίζει" µε το δυαδικό ψηφίο 0. Αντίστοιχα, ολίσθηση ενός δυαδικού αριθµού Ν κατά m θέσεις δεξιά, συνεπάγεται τη διαίρεση του αριθµού µε το 2 m, δηλαδή ο αριθµός που προκύπτει είναι ο Ν2 -m. Εξυπακούεται και πάλι ότι µε κάθε δεξιά 3

121 ολίσθηση το MSB του αριθµού "γεµίζει" µε το δυαδικό ψηφίο 0. Αυτού του είδους η αριστερή ή δεξιά ολίσθηση ονοµάζεται και αριθµητική ολίσθηση (arithmetic shift), σε αντιδιαστολή µε τη λογική ολίσθηση (logical shift) κατά την οποία τη θέση του ψηφίου που "λείπει" την παίρνει το ψηφίο που "περισσεύει". Η λογική ολίσθηση ονοµάζεται και κυκλική ολίσθηση (circular shift). Στις ενότητες που ακολουθούν θα µελετήσουµε όλους τους τύπους καταχωρητών. Συγκεκριµένα, στην ενότητα 4. ασχολούµαστε µε τους καταχωρητές σειριακής εισόδου και συνεχίζουµε µε εκείνους παράλληλης εισόδου. Όλοι οι τύποι καταχωρητών, µε εξαίρεση εκείνον της παράλληλης-εισόδου-παράλληλης-εξόδου, είναι καταχωρητές ολίσθησης. Στην ενότητα 4.2 µελετούµε τους κυκλικούς καταχωρητές, οι οποίοι βρίσκουν εφαρµογή ιδιαίτερα στη δηµιουργία σηµάτων χρονισµού. Παράλληλη Έξοδος εδοµένων... Σειριακή Είσοδος εδοµένων n bits Σειριακή Έξοδος εδοµένων n bits (α) (β) Παράλληλη Έξοδος εδοµένων n bits (γ) Παράλληλη Είσοδος εδοµένων n bits (δ)... Παράλληλη Είσοδος εδοµένων Σειριακή Έξοδος εδοµένων Σχήµα 4.. Τύποι καταχωρητών: (α) σειριακής-εισόδου-σειριακής-εξόδου, (β) σειριακής-εισόδουπαράλληλης-εξόδου, (γ) παράλληλης-εισόδου-παράλληλης-εξόδου, (δ) παράλληληςεισόδου-σειριακής-εξόδου. ΕΝΟΤΗΤΑ 4.. ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ Στην ενότητα αυτή θα ασχοληθούµε σχολαστικά µε τους τέσσερεις τύπους καταχωρητών που αναφέραµε προηγουµένως, δηλαδή τους καταχωρητές σειριακής εισόδου - σειριακής εξόδου, σειριακής εισόδου - παράλληλης εξόδου, παράλληλης εισόδου - σειριακής εξόδου και παράλληλης εισόδου - παράλληλης εξόδου. Τα FFs, που 4

122 χρησιµοποιούµε για την κατασκευή των καταχωρητών, είναι συνήθως τύπου D θετικής ή αρνητικής ακµής πυροδότησης. Τα D FFs όµως προέρχονται από JK ή RS flip-flops, στα οποία η µία είσοδος είναι συµπληρωµατική της άλλης (Βλ. Σχήµα.0(α) και Σχήµα.34). Έτσι στην πράξη οι καταχωρητές κατασκευάζονται κυρίως µε FF τύπου JK ή RS. Η απροσδιοριστία των RS FFs δεν είναι πρόβληµα στην προκειµένη περίπτωση, αφού αυτά χρησιµοποιούνται µόνο για αποθήκευση δεδοµένων και είναι πάντοτε R = S. Μετά την ολοκλήρωση της µελέτης της ενότητας αυτής, θα είστε σε θέση να αναγνωρίζετε και να κατανοείτε τη λειτουργία των διαφόρων τύπων καταχωρητών σειριακής ή παράλληλης εισόδου και σειριακής ή παράλληλης εξόδου, να σχεδιάζετε καταχωρητές µε δυνατότητα ολίσθησης προς τα δεξιά ή προς τα αριστερά και τέλος να σχεδιάζετε καταχωρητές µε δυνατότητα παράλληλης ή σειριακής φόρτωσης Καταχωρητές σειριακής-εισόδου-σειριακής-εξόδου Ένας καταχωρητής ολίσθησης σειριακής-εισόδου-σειριακής-εξόδου αποτελείται από µία συστοιχία FFs τύπου D, όπου η είσοδος καθενός (πλην του πρώτου στη σειρά) τροφοδοτείται από την έξοδο του προηγούµενού του. Όλα τα FFs χρονίζονται µε τον ίδιο ωρολογιακό παλµό. Ένα παράδειγµα καταχωρητή ολίσθησης σειριακής-εισόδουσειριακής-εξόδου των 4 bits δείχνεται στο Σχήµα 4.2. Με κάθε ενεργό του ωρολογιακού παλµού (δηλαδή µε την αρνητική ακµή κάθε παλµού στην προκειµένη περίπτωση) το κάθε FF διαβάζει την έξοδο του προηγούµενού του και τη µεταφέρει στην έξοδό του, εκτός από το πρώτο αριστερά FF, το οποίο διαβάζει τη σειριακή είσοδο. Για παράδειγµα, αν όλα τα FFs του Σχήµατος 4.2(α) είχαν εκκαθαριστεί και στην είσοδο D 0 (στη σειριακή είσοδο) εφαρµόζαµε το λογικό, τότε οι κυµατοµορφές των εξόδων όλων των FFs για τους 4 πρώτους ωρολογιακούς παλµούς θα ήταν όπως αυτές του Σχήµατος 4.2(δ). Στα Σχήµατα 4.2(β) και 4.2(γ) δείχνεται ο ίδιος καταχωρητής ολίσθησης κατασκευασµένος, όµως, µε FF τύπου JK και SR αντίστοιχα. Παρατηρούµε ότι η σειριακή είσοδος εφαρµόζεται στη µία είσοδο του πρώτου αριστερά FF, ενώ στην άλλη είσοδο εφαρµόζεται η συµπληρωµατική της. Έτσι το δεδοµένο εισόδου εισέρχεται στο πρώτο FF µε την εµφάνιση της ενεργού ακµής του ωρολογιακού παλµού. Έστω ότι η σειριακή είσοδος ισούται µε. Τότε J 0 = και K 0 =J 0 =0 (S 0 = και R 0 =S 0 αντίστοιχα για το SR FF), οπότε η έξοδος Q 0 = και Q 0 =0. Στην περίπτωση που η σειριακή είσοδος ισούται µε 0, 5

123 γίνεται φανερό ότι η έξοδος Q 0 θα γίνει και αυτή 0 µε την εµφάνιση της ενεργού ακµής του ωρολογιακού παλµού. Σειριακή Είσοδος D0 Q0 D Q D2 Q2 D3 Q3 FF0 FF FF2 FF3 Σειριακή Έξοδος (α) Σειριακή Είσοδος J0 Q0 J Q J2 Q2 J3 Q3 Σειριακή Έξοδος Q'0 Q' Q'2 Q'3 K0 K K2 K3 (β) Σειριακή Είσοδος S0 Q0 S Q S2 Q2 S3 Q3 Σειριακή Έξοδος Q'0 Q' Q'2 Q'3 R0 R R2 R3 (γ) Σειριακή Είσοδος D0= Q0 Q Q2 Σειριακή Έξοδος Q3 (δ) Σχήµα 4.2. Καταχωρητής ολίσθησης σειριακής-εισόδου-σειριακής-εξόδου των 4 bits τύπου: (α) D, (β) JK, (γ) SR και (δ) κυµατοµορφές εξόδου για τέσσερεις ωρολογιακούς παλµούς. Σηµειώνεται ότι ο καταχωρητής ολίσθησης του Σχήµατος 4.2 εκτελεί την ολίσθηση ενός αριθµού προς τα δεξιά. Αν ο αριθµός που έχει αποθηκευτεί σ' αυτόν (µε διαδοχικές ολισθήσεις προς τα δεξιά) έχει το MSB στο FF 0 και το LSB στο FF 3, δεξιά ολίσθηση κατά µία θέση θα έχει ως αποτέλεσµα τη διαίρεση του αριθµού δια 2 (µε την προϋπόθεση ότι η σειριακή είσοδος κρατείται στο µηδέν). Αν ο αριθµός έχει αποθηκευτεί κατά την αντίθετη φορά, δηλαδή το MSB στο FF 3 και το LSB στο FF 0, τότε δεξιά ολίσθηση κατά µία θέση θα έχει ως αποτέλεσµα τον πολλαπλασιασµό αυτού επί 2. 6

124 Άσκηση αυτοαξιολόγησης / Κεφάλαιο 4 Υποθέστε ότι σ' έναν καταχωρητή σειριακής-εισόδου-σειριακής-εξόδου των 4 bits µε FFs τύπου D αρνητικής ακµής πυροδότησης είναι αποθηκευµένη η δυαδική λέξη 00. Σχεδιάστε τις κυµατοµορφές εξόδου καθενός FF. Θεωρήστε ότι η σειριακή είσοδος βρίσκεται στο λογικό 0. ραστηριότητα / Κεφάλαιο 4 Προτείνετε κύκλωµα το οποίο να έχει τη δυνατότητα ολίσθησης ενός δυαδικού αριθµού των 4 bits προς τα αριστερά ή προς τα δεξιά, ανάλογα µε τη λογική στάθµη µιας πρόσθετης εισόδου ελέγχου. Παράδειγµα / Κεφάλαιο 4 Μία πολύ χρήσιµη εφαρµογή των καταχωρητών ολίσθησης είναι αυτή της υλοποίησης ενός σειριακού αθροιστή, δηλαδή ενός ψηφιακού συστήµατος, το οποίο να προσθέτει δύο δυαδικούς αριθµούς bit προς bit, χρησιµοποιώντας µόνο έναν πλήρη αθροιστή (FA, Full Adder). Στο βιβλίο της Ψηφιακής Σχεδίασης Ι γνωρίσαµε το κύκλωµα ενός πλήρους αθροιστή / αφαιρέτη δύο δυαδικών αριθµών των n bits ο καθένας. Είδαµε ότι απαιτούνται n πλήρεις αθροιστές, ένας για κάθε bit για την πράξη αυτή. Και από τη στιγµή που τα δεδοµένα (οι προσθετέοι) είναι διαθέσιµα, η πράξη της πρόσθεσης γίνεται ταυτόχρονα και στους n πλήρεις αθροιστές µέσα σε έναν κύκλο του ρολογιού. Στο Σχήµα 4.3 δείχνεται το αντίστοιχο κύκλωµα του σειριακού αθροιστή δύο n-bit αριθµών. Παρατηρούµε ότι απαιτείται ένας µόνο FA, αλλά η πράξη της πρόσθεσης, όπως θα διαπιστώσουµε, ολοκληρώνεται σε n κύκλους του ρολογιού. Ο αθροιστής αυτός προσθέτει τους n-bit αριθµούς Α και Β και το αποτέλεσµα επιστρέφει στη θέση του αριθµού Α. Αποτελείται από δύο καταχωρητές ολίσθησης σειριακής-εισόδου-σειριακήςεξόδου των n-bits ο καθένας, έναν FA και έναν καταχωρητή του bit για την προσωρινή αποθήκευση του κρατούµενου. Όλοι οι καταχωρητές χρονίζονται µε τους ίδιους ωρολογιακούς παλµούς. Οι προσθετέοι Α και Β αποθηκεύονται σειριακά στους αντίστοιχους καταχωρητές ολίσθησης, µε τρόπο ώστε το LSB αυτών να εισάγεται πρώτα, δηλαδή να βρίσκεται στο δεξιό άκρο του κάθε καταχωρητή. Από τη στιγµή που θα αποθηκευτούν οι δύο προσθετέοι µπορεί να αρχίσει η διαδικασία της πρόσθεσής τους. Με τον πρώτο ωρολογιακό παλµό προστίθενται τα δύο LSB των αριθµών και το κρατούµενο, το οποίο αρχικά είναι 0. Το άθροισµα S επιστρέφει στην πρώτη θέση του καταχωρητή Α, η οποία έµεινε κενή λόγω της δεξιάς ολίσθησης των περιεχοµένων του, 7

125 ενώ το κρατούµενο C αποθηκεύεται προσωρινά στον καταχωρητή του bit. Η διαδικασία αυτή συνεχίζεται µέχρι και το n-οστό παλµό, οπότε και ολοκληρώνεται η πρόσθεση των αριθµών. Τη στιγµή αυτή, ο καταχωρητής Α περιέχει το αποτέλεσµα του αθροίσµατος. Στον καταχωρητή Β συνήθως προνοούµε να αποθηκευτεί σειριακά, (ταυτόχρονα µε την πρόσθεση των Α και Β), η τιµή του νέου προσθετέου, ώστε άµεσα να προχωρήσουµε στον υπολογισµό του επόµενου αθροίσµατος. Επιλογή Εισόδου Σειριακή είσοδος Α Ολίσθηση δεξιά Καταχωρητής ολίσθησης Α Σειριακή Έξοδος x y z FA S C Σειριακή είσοδος Β Καταχωρητής ολίσθησης Β Σειριακή Έξοδος Q D Μηδενισµό ς Σχήµα 4.3. Λογικό διάγραµµα σειριακού αθροιστή. Οι καταχωρητές ολίσθησης που γνωρίσαµε µέχρι στιγµής (βλ. Σχήµα 4.2) έχουν τη δυνατότητα ολίσθησης των δεδοµένων µόνο προς τα δεξιά. Όµως, πολλές φορές είναι απαραίτητο, ιδιαίτερα σε ψηφιακά συστήµατα για την εκτέλεση αριθµητικών πράξεων, η ολίσθηση να γίνεται είτε προς τα δεξιά είτε προς τα αριστερά. Ένας τέτοιος καταχωρητής ολίσθησης ονοµάζεται αµφίδροµος ή διπλής κατεύθυνσης. Η κατεύθυνση της ολίσθησης ελέγχεται από ένα διακόπτη. Το κύκλωµα ενός αµφίδροµου καταχωρητή ολίσθησης των 4 bits δείχνεται στο Σχήµα

126 Σειριακή Είσοδος για εξιά ολίσθηση E X0 E X E X2 E X3 Σειριακή Είσοδος για Αριστερή ολίσθηση D0 Q0 D FF0 Σειριακή Έξοδος για εξιά ολίσθηση FF (α) Q D2 FF2 Q2 D3 FF3 Q3 Σειριακή Έξοδος για Αριστερή ολίσθηση E Q i Q i+ X i (β) Σχήµα 4.4. (α) Καταχωρητής ολίσθησης σειριακής-εισόδου-σειριακής-εξόδου διπλής κατεύθυνσης, (β) κύκλωµα του πολυπλέκτη Χ i. Πρόκειται ουσιαστικά για τον καταχωρητή ολίσθησης σειριακής-εισόδου-σειριακήςεξόδου του Σχήµατος 4.2, στις εισόδους του οποίου όµως έχουµε παρέµβει, τοποθετώντας από έναν πολυπλέκτη 2 γραµµών σε (Σχήµα 4.4(β)). Μέσω του κάθε πολυπλέκτη ελέγχουµε αν στην είσοδο του FF θα συνδεθεί η έξοδος του προηγούµενου ή του επόµενου από αυτό FF. Συγκεκριµένα, στις εισόδους του πολυπλέκτη Χ i συνδέουµε τις εισόδους Q i- και Q i+. Αν η είσοδος επιλογής Ε=, τότε επιτρέπεται στην είσοδο Q i- να εµφανιστεί στην έξοδο D i του πολυπλέκτη, δηλαδή D i =Q i-. Αν Ε=0, τότε D i =Q i+. Έτσι, για Ε= έχουµε το γνωστό κύκλωµα του Σχήµατος 4.2, το οποίο υλοποιεί τη δεξιά ολίσθηση του αριθµού. Η σειριακή είσοδος γίνεται µέσω της εισόδου D 0 του FF 0 και η σειριακή έξοδος µέσω του Q 3 (FF 3 ). Για Ε=0 το κύκλωµα υλοποιεί την αριστερή ολίσθηση των περιεχοµένων του (δεδοµένων). Η σειριακή είσοδος γίνεται τώρα µέσω του D 3 του FF 3 και η σειριακή έξοδος µέσω του Q 0 του FF 0. D i 9

127 4..2. Καταχωρητές σειριακής-εισόδου-παράλληλης-εξόδου Οι καταχωρητές σειριακής-εισόδου-παράλληλης-εξόδου είναι ακριβώς ίδιοι µε τους καταχωρητές σειριακής-εισόδου-σειριακής-εξόδου, µε µόνη διαφορά ότι µας είναι διαθέσιµες οι έξοδοι Q όλων των FFs και όχι µόνον η έξοδος του τελευταίου. Στο Σχήµα 4.5 δείχνεται ο αντίστοιχος του Σχήµατος 4.2(α) καταχωρητής ολίσθησης σειριακήςεισόδου-παράλληλης-εξόδου των 4 bits. Παράλληλη Έξοδος Q0 Q Q2 Q3 Σειριακή Είσοδος D0 Q0 D Q D2 Q2 D3 Q3 FF0 FF FF2 FF3 Σχήµα 4.5. Καταχωρητής ολίσθησης σειριακής-εισόδου-παράλληλης-εξόδου των 4 bits. Οι κυµατοµορφές εισόδου-εξόδου του Σχήµατος 4.2(δ) είναι επίσης ίδιες και στην περίπτωση του καταχωρητή ολίσθησης του Σχήµατος 4.5. Συνήθως οι καταχωρητές ολίσθησης έχουν επιπλέον εισόδους CLEAR ή και PRESET, οι οποίες συνδέονται στις αντίστοιχες εισόδους όλων των FFs για την άµεση (ασύγχρονη) εκκαθάριση (δηλαδή όλες οι έξοδοι γίνονται 0) ή καθορισµό της υψηλής στάθµης του καταχωρητή (δηλαδή όλες οι έξοδοι γίνονται ). Άσκηση αυτοαξιολόγησης 2 / Κεφάλαιο 4 Σχεδιάστε τις κυµατοµορφές εισόδου-εξόδου ενός καταχωρητή ολίσθησης σειριακήςεισόδου-παράλληλης-εξόδου των 4 bits, του οποίου η είσοδος CLEAR γίνεται "στιγµιαία" 0 πριν τον ο ωρολογιακό παλµό και αµέσως µετά τον 3ο ωρολογιακό παλµό, ενώ η σειριακή είσοδος παραµένει µόνιµα στο λογικό. Ένα σηµείο που πρέπει να τονιστεί και το οποίο ισχύει για όλους τους καταχωρητές ολίσθησης είναι ότι για την αποθήκευση σ' αυτούς µιας λέξης των n bits απαιτούνται n ωρολογιακοί παλµοί. Αν οι παλµοί είναι λιγότεροι ή περισσότεροι, τότε τµήµα της λέξης από τα αριστερά ή τα δεξιά αυτής χάνεται. Θα δούµε στην ενότητα 4.2. κυκλώµατα 0

128 κατάλληλα για την παραγωγή σηµάτων χρονισµού κατάλληλων για τέτοιου είδους σειριακής µεταφοράς δεδοµένων. Άσκηση αυτοαξιολόγησης 3 / Κεφάλαιο 4 Πόσος χρόνος θα απαιτηθεί για τη σειριακή ολίσθηση ενός αριθµού των 8 bits σ' έναν καταχωρητή ολίσθησης, ο οποίος λειτουργεί µε ωρολογιακό παλµό συχνότητας 0 ΜHz; Καταχωρητές παράλληλης-εισόδου-παράλληλης-εξόδου Ένας καταχωρητής παράλληλης-εισόδου-παράλληλης-εξόδου προκύπτει εύκολα από FF τύπου D, στα οποία ελέγχουµε ανεξάρτητα τις εισόδους και εξόδους τους, όπως δείχνεται για την περίπτωση ενός 4 bit καταχωρητή στο Σχήµα 4.6(α). Φυσικά όλα τα FFs χρονίζονται µε τους ίδιους ωρολογιακούς παλµούς. Παράλληλη Έξοδος Q0 Q Q2 Q3 D0 Q0 D Q D2 Q2 D3 Q3 FF0 FF FF2 FF3 Ε D0 D D2 D3 Παράλληλη Είσοδος (α) Σχήµα 4.6. Καταχωρητής παράλληλης-εισόδου-παράλληλης-εξόδου µε FFs τύπου D. Κάθε φορά που ενεργοποιείται ο ωρολογιακός παλµός (κατά την αρνητική ακµή στην προκειµένη περίπτωση), οι είσοδοι D i θα "διαβάζονται" και θα περνούν στις εξόδους Q i, όπου i=0,,2,... Παρατηρούµε, δηλαδή, ότι όλες οι είσοδοι φορτώνονται παράλληλα στον καταχωρητή µ' έναν µόνο ωρολογιακό παλµό. Υπάρχει, όµως, ένα σοβαρό µειονέκτηµα στο κύκλωµα αυτό, ότι δηλαδή µε κάθε νέο ωρολογιακό παλµό, νέα δεδοµένα θα φορτώνονται στον καταχωρητή. Με άλλα λόγια, αν εµείς θέλουµε να φυλάξουµε τα δεδοµένα, θα πρέπει να σταµατήσουµε τους ωρολογιακούς παλµούς. Αυτό γίνεται εύκολα µε τη βοήθεια µιας πύλης AND, όπως φαίνεται στο Σχήµα 4.6(β). Όταν η είσοδος (β)

129 ελέγχου Ε=, τότε =clock και το κύκλωµα λειτουργεί όπως περιγράψαµε στα προηγούµενα. Όταν όµως Ε=0, τότε =0 και οι ωρολογιακοί παλµοί παύουν. Αν και φαίνεται πως µε την προσθήκη της πύλης AND έχουµε επιλύσει το πρόβληµα, στην πράξη αυτό δεν γίνεται. Το να παρεµβάλλουµε µια πύλη στην πορεία των ωρολογιακών παλµών, σηµαίνει ότι προσθέτουµε καθυστερήσεις ανάµεσα στο κύριο ρολόι του συστήµατος και στα επιµέρους ρολόγια των FFs. Κάτι τέτοιο µπορεί να οδηγήσει σε αποσυγχρονισµό του ψηφιακού συστήµατος και τελικά σε αδυναµία λειτουργίας αυτού. Γι' αυτόν το λόγο, αφήνουµε τους ωρολογιακούς παλµούς ως έχουν και παρεµβαίνουµε στις εισόδους των FFs για τον έλεγχο της φόρτωσης των δεδοµένων. E I 0 S G 0 S 0 Q 0 Q 0 R G 0 FF 0 R 0 I S Q FF Q R I 2 S 2 Q 2 FF 2 Q 2 R 2 I 3 S 3 Q 3 FF 3 Q 3 R 3 CLEAR Σχήµα 4.7. Καταχωρητής παράλληλης-εισόδου-παράλληλης-εξόδου των 4 bits µε FFs τύπου SR. Ένας τέτοιος καταχωρητής παράλληλης-εισόδου-παράλληλης-εξόδου των 4 bits κατασκευασµένος µε FFs τύπου SR, δείχνεται στο Σχήµα 4.7. Παρατηρούµε ότι:. Σε όλα τα FFs τροφοδοτούµε τους ίδιους ωρολογιακούς παλµούς. 2. Υπάρχει µία είσοδος CLEAR για την άµεση εκκαθάριση του καταχωρητή, δηλαδή όλων των FFs. 3. Ο έλεγχος της παράλληλης εισόδου (φόρτωσης) των δεδοµένων γίνεται µέσω της εισόδου E. Όταν E=, τότε επιτρέπεται η φόρτωση των δεδοµένων εισόδου Ι i, i=0,,2,3. Για να γίνει αυτό κατανοητό, µπορούµε να δούµε τι συµβαίνει µε τις πύλες AND που οδηγούν τις εισόδους S 0, R 0 του FF 0. Βλέπουµε ότι για E=, η πύλη G S 0 επιτρέπει την διέλευση του δεδοµένου Ι 0 (δηλαδή S 0 =I 0 ) και η πύλη G R 0 επιτρέπει τη διέλευση από αυτή του Ι 0 (δηλαδή R 0 =I 0 ). Έτσι αν Ι 0 =, τότε στο FF 0 2

130 καταχωρείται το λογικό (αφού S 0 = και R 0 =0), ενώ για Ι 0 =0, τότε στο FF 0 καταχωρείται το λογικό 0 (S 0 =0 και R 0 =). Για E=0, οι έξοδοι όλων των πυλών AND είναι 0, ανεξάρτητα από τις τιµές των εισόδων I i. Συνεπώς, S i =R i =0 και άρα το FF δεν αλλάζει κατάσταση. ιευκρινίζεται ότι οι είσοδοι δεδοµένων I i και η είσοδος ελέγχου E µπορούν να αλλάζουν οποτεδήποτε, αρκεί να λαµβάνονται υπόψη οι χρόνοι προετοιµασίας και παραµονής σε σχέση µε την ενεργό ακµή του ρολογιού (βλ. ενότητα.2). Η φόρτωση των δεδοµένων γίνεται κατά την άφιξη της πρώτης ενεργού ακµής των ωρολογιακών παλµών. Άσκηση αυτοαξιολόγησης 4 / Κεφάλαιο 4 Σχεδιάστε το κύκλωµα καταχωρητή παράλληλης-εισόδου-παράλληλης-εξόδου όµοιο µε αυτό του Σχήµατος 4.7, αποτελούµενο όµως από FFs τύπου D αρνητικής ακµής πυροδότησης. Σχολιάστε τον τρόπο λειτουργίας του Καταχωρητές παράλληλης-εισόδου-σειριακής-εξόδου Τα κυκλώµατα αυτά έχουν τη δυνατότητα να φορτώνουν τα δεδοµένα παράλληλα και να τα αποστέλλουν στην έξοδο σειριακά. Η φόρτωση n δυαδικών ψηφίων, όπως είναι φυσικό, γίνεται σε ένα κύκλο ρολογιού, ενώ η σειριακή έξοδος αυτών γίνεται σε n κύκλους του ρολογιού. Πρόκειται ουσιαστικά για έναν καταχωρητή ολίσθησης, ο οποίος όµως έχει επιπλέον τη δυνατότητα παράλληλης φόρτωσης των δεδοµένων. Το κύκλωµα ενός τέτοιου καταχωρητή των 4 bits δίνεται στο Σχήµα 4.8. Παράλληλη Είσοδος D0 D D2 D3 Ε Σειριακή Είσοδος Σειριακή Έξοδος S0 Q0 S Q S2 Q2 S3 Q3 FF0 FF FF FF R0 R R2 R3 Q0 Q Q2 Παράλληλη 'Εξοδος Σχήµα 4.8. Καταχωρητής παράλληλης-εισόδου-σειριακής-εξόδου των 4 bits. 3

131 Αυτό αποτελείται από 4 FFs τύπου SR αρνητικής ακµής πυροδότησης. Οι είσοδοι S i, R i (i=0,,2,3) του κάθε FF είναι συµπληρωµατικές µεταξύ τους και τροφοδοτούνται από ένα συνδυασµό πυλών AND - OR. Ο συνδυασµός των πυλών εισόδου αποτελεί ένα απλό κύκλωµα πολύπλεξης 2 γραµµών σε. Συγκεκριµένα, όταν Ε=, τότε µόνον η δεξιά AND επιτρέπει την είσοδο της D i να περάσει από αυτή, οπότε S i =D i και R i =D i. Έτσι το δεδοµένο D i καταχωρείται στο αντίστοιχο FF i. Όταν E=0, τότε µόνον η αριστερή AND ' επιτρέπει στην άλλη είσοδό της να περάσει από αυτή, οπότε S i =Q i- και R i =Q i-. ηλαδή η έξοδος Q i- του FF i- τροφοδοτείται στις εισόδους του FF i. Με τον τρόπο αυτό επιτυγχάνεται η ολίσθηση των δεδοµένων προς τα δεξιά, και κατά συνέπεια η σειριακή τους έξοδος. Άρα, για Ε= έχουµε παράλληλη φόρτωση, ενώ για Ε=0 έχουµε ολίσθηση προς τα δεξιά. Εννοείται ότι η φόρτωση ή η ολίσθηση συµβαίνουν πάντοτε κατά τη στιγµή της αρνητικής ακµής των ωρολογιακών παλµών για το συγκεκριµένο κύκλωµα. Παρατηρείστε ότι το κύκλωµα που µόλις περιγράψαµε διαθέτει και µια σειριακή είσοδο. Θα µπορούσε εποµένως να χρησιµοποιηθεί και ως ένας καταχωρητής ολίσθησης σειριακής-εισόδου-σειριακής-εξόδου. Επίσης, µπορούµε να δούµε ότι αν είχαµε διαθέσιµες τις εξόδους Q i (διακεκοµµένες γραµµές του Σχήµατος 4.8), τότε το ίδιο κύκλωµα θα µπορούσε να έχει επιπρόσθετα τη δυνατότητα παράλληλης εξόδου των δεδοµένων. Ένα τέτοιο κύκλωµα έχει στην πράξη όλες τις δυνατότητες των διαφορετικών καταχωρητών που περιγράψαµε µέχρι τώρα, δηλαδή σειριακής-εισόδου-σειριακήςεξόδου, σειριακής-εισόδου-παράλληλης-εξόδου, παράλληλης-εισόδου-παράλληληςεξόδου, παράλληλης-εισόδου-σειριακής-εξόδου. Στο εµπόριο διατίθενται σήµερα ολοκληρωµένα κυκλώµατα καταχωρητών αυτού του είδους. Ένα άλλο στοιχείο που πρέπει να σηµειωθεί για τον καταχωρητή που εξετάζουµε, αλλά και για όλους τους τύπους των καταχωρητών που µελετήσαµε µέχρι τώρα, είναι η δυνατότητά τους να συνδέονται ο ένας µετά τον άλλον για την καταχώρηση και ολίσθηση λέξεων πολλαπλάσιου µήκους. Έτσι, συνδέοντας δύο καταχωρητές των 4 bits ο καθένας, όπως αυτός του Σχήµατος 4.8, µπορούµε να κατασκευάζουµε έναν καταχωρητή των 8 bits (βλ. Σχήµα 4.9). Εξυπακούεται ότι οι δύο καταχωρητές θα πρέπει να συγχρονίσουν τη λειτουργία τους τροφοδοτούµενοι µε τους ίδιους ωρολογιακούς παλµούς () και την ίδια είσοδο επιλογής Ε. Η σειριακή έξοδος του πρώτου συνδέεται στη σειριακή είσοδο του δεύτερου καταχωρητή. 4

132 Παράλληλη Είσοδος Σειριακή Είσοδος E Καταχωρητής 4- bits Σειρ. Έξοδος Σειρ. Είσοδος Καταχωρητής 4- bits Σειριακή Έξοδος Παράλληλη Έξοδος Σχήµα 4.9. Καταχωρητής των 8 bits κατασκευασµένος από δύο καταχωρητές των 4 bits. Οι καταχωρητές παράλληλης-εισόδου-σειριακής-εξόδου και σειριακής-εισόδουπαράλληλης-εξόδου βρίσκουν ευρεία εφαρµογή στη σειριακή επικοινωνία ψηφιακών συστηµάτων. Συγκεκριµένα, τα ψηφιακά συστήµατα είναι συνήθως σχεδιασµένα ώστε να λειτουργούν παράλληλα, επιτυγχάνοντας έτσι µεγαλύτερες ταχύτητες επεξεργασίας. Η επικοινωνία δύο τέτοιων συστηµάτων, τα οποία βρίσκονται σε µεγάλη απόσταση το ένα από το άλλο, γίνεται σειριακά. Για τη σειριακή λοιπόν µετάδοση, απαιτείται ένας καταχωρητής παράλληλης-εισόδου-σειριακής-εξόδου, ενώ για τη σειριακή λήψη δεδοµένων απαιτείται ένας καταχωρητής σειριακής-εισόδου-παράλληλης-εξόδου. Άσκηση αυτοαξιολόγησης 5 / Κεφάλαιο 4 Σας δίνεται το κύκλωµα του Σχήµατος 4.0. Προσδιορίστε τον τρόπο λειτουργίας του. Ποια η χρησιµότητα καθεµιάς από τις εισόδους Χ, Χ 2, Χ 3 Χ 4 ; Υπενθυµίζεται ότι ένας πολυπλέκτης 4-σε- οδηγεί στην έξοδό του µία από τις 4 εισόδους (0,,2,3), ανάλογα µε την τιµή στις εισόδους Ε Ε 0 (αντίστοιχα 00, 0, 0, ). 5

133 Παράλληλες έξοδοι Q0 Q Q2 Q3 X X2 Q Q Q CLEAR FF0 CLEAR FF CLEAR FF2 CLEAR FF3 D0 D0 D0 Q D0 (LSB) E E0 4x MUX 4x MUX 4x MUX 4x MUX X3 X4 I0 I I2 I3 Παράλληλες είσοδοι Σχήµα 4.0. Σύγχρονο ακολουθιακό κύκλωµα της άσκησης αυτοαξιολόγησης 5 / Κεφάλαιο 4. Σύνοψη Ενότητας Στην ενότητα αυτή γνωρίσαµε όλους τους τύπους καταχωρητών για παράλληλη και σειριακή είσοδο των δεδοµένων, καθώς και για παράλληλη και σειριακή έξοδο αυτών. Είδαµε ότι πρόκειται για σύγχρονα ακολουθιακά κυκλώµατα, τα οποία κατασκευάζονται µε FFs τύπου D, RS ή JK. Τα κυκλώµατα αυτά µπορούµε να τα χρησιµοποιήσουµε για την προσωρινή αποθήκευση δεδοµένων τα οποία µεταφέρονται παράλληλα ή σειριακά, για τη µετατροπή δεδοµένων από παράλληλα σε σειριακά και το αντίθετο, και τέλος για την υλοποίηση ορισµένων απλών πράξεων πολλαπλασιασµού ή διαίρεσης αριθµών µε δυνάµεις του 2. ΕΝΟΤΗΤΑ 4.2. ΚΥΚΛΙΚΟΙ ΚΑΤΑΧΩΡΗΤΕΣ Η ακολουθία των λειτουργιών σε ένα ψηφιακό σύστηµα καθορίζεται από κάποια µονάδα ελέγχου του συστήµατος. Μια τέτοια µονάδα παράγει συνήθως ορισµένα σήµατα χρονισµού, τα οποία καθορίζουν τη χρονική ακολουθία εκτέλεσης των λειτουργιών. Οι απαριθµητές, που είδαµε στο προηγούµενο Κεφάλαιο, όπως και οι καταχωρητές, που µελετάµε στο παρόν Κεφάλαιο, είναι τα βασικά κυκλώµατα, τα οποία σε συνδυασµό µε κάποιες πύλες αποκωδικοποίησης χρησιµοποιούνται για τη δηµιουργία σηµάτων χρονισµού. 6

134 Τα κυκλώµατα που εξετάζουµε στην ενότητα αυτή ανήκουν στην κατηγορία των κυκλικών καταχωρητών, γιατί πρόκειται για καταχωρητές ολίσθησης των οποίων οι έξοδοι ανατροφοδοτούνται στις εισόδους. Επειδή όµως τα ίδια αυτά κυκλώµατα µπορούν να θεωρηθούν και ως απαριθµητές, αφού οι έξοδοι των FFs είναι διαθέσιµες και µάλιστα απαριθµούν µε κάποιο µη-κανονικό τρόπο, γι' αυτό ονοµάζονται και απαριθµητές ολίσθησης (shift counters). Θα ασχοληθούµε αµέσως τώρα µε τις δύο κατηγορίες απαριθµητών ολίσθησης, τους απαριθµητές δακτυλίου (ring counters ή ring shift counters) και τους απαριθµητές Johnson (Johnson shift counters). Η διαφορά τους, όπως θα διαπιστώσουµε, βρίσκεται στο γεγονός ότι στους πρώτους ανατροφοδοτείται στη σειριακή είσοδο η ίδια η σειριακή έξοδος, ενώ στους δεύτερους ανατροφοδοτείται η συµπληρωµατική της σειριακής εξόδου. Με την ολοκλήρωση της µελέτης της παρούσας ενότητας θα είστε σε θέση να αναλύετε και να σχεδιάζετε καταχωρητές ολίσθησης (δακτυλίου ή Johnson) για την παραγωγή κατάλληλων σηµάτων χρονισµού Απαριθµητές δακτυλίου Ο απαριθµητής δακτυλίου είναι ένας κυκλικός καταχωρητής ολίσθησης, στον οποίο µόνο ένα FF βρίσκεται στην κατάσταση σε κάθε χρονική στιγµή, ενώ τα υπόλοιπα βρίσκονται στην κατάσταση 0. Το ότι είναι κυκλικός καταχωρητής σηµαίνει ότι η σειριακή έξοδος οδηγείται στη σειριακή είσοδο. Στο Σχήµα 4. δείχνεται ένας απαριθµητής δακτυλίου των 4 bits κατασκευασµένος µε FFs τύπου D και µε FFs τύπου JK αρνητικής ακµής πυροδότησης. Στο ίδιο σχήµα φαίνονται και οι κυµατοµορφές εξόδου των κυκλωµάτων, οι οποίες είναι ίδιες και για τις δύο περιπτώσεις. Παρατηρούµε ότι µε τα συγκεκριµένα κυκλώµατα των 4 FFs το καθένα δηµιουργούµε 4 σήµατα χρονισµού, ένα από κάθε έξοδο Q. Εννοείται ότι στο πρώτο από τα FFs έχουµε αρχικά "φορτώσει" τον αριθµό, τον οποίο µεταφέρουµε κυκλικά από FF σε FF µε κάθε αρνητική ακµή των ωρολογιακών παλµών. Γενικά, για τη δηµιουργία Ν σηµάτων χρονισµού ο απαριθµητής δακτυλίου πρέπει να αποτελείται από Ν FFs. 7

135 D3 Q3 D2 Q2 D Q D0 Q (α) J3 Q3 J2 Q2 J Q J0 Q K3 Q'3 K2 Q'2 K Q' K0 Q'0 (β) Q3 Q2 Q Q0 ( 3 Q 2 Q Q 0 ) 0 Q Σχήµα 4.. (γ) Απαριθµητής δακτυλίου των 4 bits: (α) µε FFs τύπου D (β) µε FFs τύπου JK, (γ) κυµατοµορφές εξόδου. Άσκηση αυτοαξιολόγησης 6 / Κεφάλαιο 4 Προτείνετε κύκλωµα για την παραγωγή των κυµατοµορφών του Σχήµατος 4.(γ), το οποίο να αποτελείται µόνον από 2 FFs Απαριθµητές Johnson Ο απαριθµητής Johnson είναι κι αυτός ένας κυκλικός καταχωρητής ολίσθησης, του οποίου όµως η συµπληρωµατική έξοδος συνδέεται στην είσοδο. Για το λόγο αυτό ονοµάζεται και απαριθµητής δακτυλίου µε αντιστροφή ουράς (switch tail). Το κύκλωµα ενός απαριθµητή Johnson των 4 bits σχεδιασµένο µε FFs τύπου D και µε FFs τύπου JK, καθώς και οι αντίστοιχες κυµατοµορφές εξόδου δείχνονται στο Σχήµα 4.2. Παρατηρούµε ότι, αν θεωρήσουµε πως µε την έναρξη των ωρολογιακών παλµών όλα τα FFs είναι µηδενισµένα, τότε το κύκλωµα από µόνο του αρχίζει να παράγει συµµετρικούς παλµούς περιόδου 8πλάσιας της περιόδου των ωρολογιακών παλµών. Άρα το κύκλωµα, 8

136 από µια πρώτη άποψη, λειτουργεί ως διαιρέτης των παλµών του ρολογιού δια 8. Παρατηρήστε την ακολουθία απαρίθµησης αυτού του κυκλώµατος: {0, 8, 2, 4, 5, 7, 3, }, δηλαδή στις 4 πρώτες ολισθήσεις ένα εισέρχεται στο FF 3, ενώ στις επόµενες 4 ολισθήσεις εισέρχεται 0. Σε δυαδική µορφή έχουµε: Q 3 Q 2 Q Q Αυτό που δεν κάνει µέχρι στιγµής το κύκλωµα είναι να δηµιουργεί µια αλληλουχία σηµάτων χρονισµού, καθένα από τα οποία να είναι ενεργό για χρόνο ίσο µε µια περίοδο του ωρολογιακού παλµού και να µην υπάρχει επικάλυψη µε κάποιο από τα άλλα σήµατα, έτσι όπως συνέβαινε στο Σχήµα 4.(γ). D3 Q3 D2 Q2 D Q D0 Q Q'0 (α) J3 Q3 J2 Q2 J Q J0 Q K3 Q'3 K2 Q'2 K Q' K0 Q'0 (β) Q3 Q2 Q Q0 ( Q 3 QQ 2 Q 0 ) (γ) Σχήµα 4.2. Απαριθµητής Johnson των 4 bits: (α) µε FFs τύπου D, (β) µε FFs τύπου JK, (γ) κυµατοµορφές εξόδου. (Στο εσωτερικό κάθε FF φαίνεται η αρχική του κατάσταση). 9

137 Για να το πετύχουµε αυτό µε τον απαριθµητή Johnson, πρέπει να χρησιµοποιήσουµε ορισµένες πύλες AND για την αποκωδικοποίηση των σηµάτων εξόδου του απαριθµητή. Επειδή η περίοδος των σηµάτων εξόδου είναι 8πλάσια εκείνης των ωρολογιακών παλµών, θα χρειαστούµε 8 πύλες AND και θα δηµιουργήσουµε 8 σήµατα χρονισµού µε το κύκλωµα του Σχήµατος 4.2, το οποίο αποτελείται από 4 FFs. Οι πύλες αποκωδικοποίησης των εξόδων, καθώς και τα συνεπαγόµενα σήµατα χρονισµού δείχνονται στο Σχήµα 4.3. Q3 Q2 Q Q Πύλη AND για την αποκωδικοποίηση X = Q3Q0 2 = Q3Q 2 X X 3 = Q2Q X 4 = QQ 0 X = Q 5 3Q0 X 6 = Q3Q2 X 7 = Q2Q X 8 = QQ 0 X X 2 X 3 X 4 X 5 X 6 X 7 X 8 Σχήµα 4.3. Αποκωδικοποίηση των καταστάσεων εξόδου του Σχήµατος 4.2 και κυµατοµορφές εξόδου των πυλών AND. Το συµπέρασµα είναι ότι µε έναν απαριθµητή Johnson των 4 bits καταφέραµε να έχουµε 8 σήµατα χρονισµού, χρησιµοποιώντας φυσικά 8 πύλες AND για την αποκωδικοποίηση των καταστάσεων εξόδου. Γενικά, για την παραγωγή Ν σηµάτων χρονισµού µε έναν απαριθµητή Johnson απαιτούνται Ν/2 FFs και Ν πύλες AND των δύο εισόδων η καθεµιά. ραστηριότητα 2 / Κεφάλαιο 4 Περιγράψτε τη λειτουργία των κυκλωµάτων του Σχήµατος 4.2 ως κυκλικών καταχωρητών, θεωρώντας αρχικά ότι όλα τα FFs έχουν εκκαθαριστεί. ραστηριότητα 3 / Κεφάλαιο 4 Το κύκλωµα του Σχήµατος 4.2(β), όπως και όλα τα κυκλώµατα των καταχωρητών του παρόντος Κεφαλαίου, είναι ένα σύγχρονο ακολουθιακό κύκλωµα. Αναλύστε το σύµφωνα µε αυτά που µάθαµε στο Κεφάλαιο 2. Τι θα συµβεί, αν αυτό βρεθεί στην κατάσταση (Q 3 Q 2 Q Q 0 ) 0 = 2 0 ; 20

138 Ας µην ξεχνάµε ότι τα κυκλώµατα του Σχήµατος 4.2 µπορούµε να τα δούµε είτε ως καταχωρητές είτε ως απαριθµητές. Στην τελευταία γραµµή του Σχήµατος 4.2(γ) δείχνονται οι καταστάσεις των FFs ως δεκαδικοί αριθµοί, διαπιστώνοντας ότι πράγµατι τα κυκλώµατα αυτά απαριθµούν µη-κανονικά µε κύκλο απαρίθµησης 8. ηλαδή, από τις 6 δυνατές καταστάσεις, τις οποίες µπορούµε να έχουµε µε 4 FFs, εµείς διατρέχουµε µόνο τις 8. Τι γίνεται µε τις υπόλοιπες 8; Τι θα συµβεί, αν το κύκλωµα για κάποιο λόγο (π.χ. κατά την εκκίνηση αυτού µε την εφαρµογή της τάσης τροφοδοσίας) βρεθεί σε µια από τις µη επιτρεπτές καταστάσεις; Η ανάλυση του κυκλώµατος µας δείχνει ότι πράγµατι, αν βρεθεί σε µία από τις µη επιτρεπτές καταστάσεις, αυτό εγκλωβίζεται σε έναν άλλο κύκλο απαρίθµησης των 8 µη επιτρεπτών τιµών, από τον οποίο και δεν µπορεί να βγει από µόνο του (Σχήµα 4.4(α)). Για να απεγκλωβιστεί, θα πρέπει να παρέµβουµε αναγκάζοντάς το να µεταβεί σε µια από τις επιτρεπτές καταστάσεις, όπως δείχνεται για παράδειγµα στο Σχήµα 4.4(β) ή να το κάνουµε CLEAR στην αρχή. Q3 Q2 Q Q0 ( 3 QQ 2 Q 0 ) 0 Q (α) Q'0 Q' Q'2 Προς τις εισόδους των FF2, FF3 PRESET Σχήµα 4.4. (β) (α) Κυµατοµορφές εξόδου του απαριθµητή Johnson του Σχήµατος 4.2, όταν βρεθεί σε µία από τις µη επιτρεπτές καταστάσεις, (β) κύκλωµα για την αποφυγή των µη επιτρεπτών καταστάσεων. Άσκηση αυτοαξιολόγησης 7 / Κεφάλαιο 4 Με FFs τύπου JK αρνητικής ακµής πυροδότησης, σχεδιάστε απαριθµητή Johnson για την παραγωγή 6 σηµάτων χρονισµού. Σχεδιάστε επίσης τις κυµατοµορφές εξόδου του κυκλώµατος. 2

139 Άσκηση αυτοαξιολόγησης 8 / Κεφάλαιο 4 Με FFs τύπου JK αρνητικής ακµής πυροδότησης, σχεδιάστε απαριθµητή Johnson για την παραγωγή 5 σηµάτων χρονισµού. Σχεδιάστε επίσης τις κυµατοµορφές εξόδου του κυκλώµατος. Σύνοψη Ενότητας Στην ενότητα αυτή ασχοληθήκαµε µε τους κυκλικούς καταχωρητές, δηλαδή τους καταχωρητές ολίσθησης, στους οποίους η έξοδος ανατροφοδοτείται στην είσοδο. Τα κυκλώµατα αυτά χρησιµοποιούνται για την παραγωγή σηµάτων χρονισµού και όχι για την καταχώρηση δεδοµένων. Γι' αυτό και η αντιµετώπισή τους ως κυκλωµάτων απαρίθµησης παλµών µας ήταν πολύ φυσική και η ονοµατολογία τους προέκυψε ως συνδυασµός καταχωρητών και απαριθµητών. Συγκεκριµένα, γνωρίσαµε δύο κατηγορίες κυκλωµάτων, τους απαριθµητές δακτυλίου και τους απαριθµητές Johnson. Στους απαριθµητές δακτυλίου, η είσοδος του πρώτου FF τροφοδοτείται από την έξοδο του τελευταίου FF, ενώ στους απαριθµητές Johnson αυτή τροφοδοτείται από τη συµπληρωµατική έξοδο του τελευταίου FF. Για τη δηµιουργία Ν σηµάτων χρονισµού, χρειαζόµαστε Ν FFs για έναν απαριθµητή δακτυλίου ή Ν/2 FF και Ν πύλες AND για έναν απαριθµητή Johnson. ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ Στο Κεφάλαιο αυτό µελετήσαµε όλα τα είδη των καταχωρητών. Είδαµε ότι οι καταχωρητές, ανεξάρτητα από τον τύπο τους, είναι σύγχρονα ακολουθιακά κυκλώµατα. Οι παράλληλοι και σειριακοί καταχωρητές χρησιµοποιούνται για την προσωρινή αποθήκευση δεδοµένων, ενώ οι κυκλικοί καταχωρητές για τη δηµιουργία σηµάτων χρονισµού. Οι καταχωρητές ολίσθησης χρησιµοποιούνται επίσης και για την υλοποίηση των αριθµητικών πράξεων του πολλαπλασιασµού και της διαίρεσης αριθµών µε δυνάµεις του 2. Οι καταχωρητές παράλληλης-εισόδου-παράλληλης-εξόδου χρησιµοποιούνται για την παράλληλη επικοινωνία ψηφιακών µονάδων, ενώ οι καταχωρητές παράλληληςεισόδου-σειριακής-εξόδου και σειριακής-εισόδου-παράλληλης-εξόδου χρησιµοποιούνται συνήθως για τη σειριακή επικοινωνία ψηφιακών µονάδων. Για τη δηµιουργία σηµάτων χρονισµού, χρησιµοποιούνται κυκλικοί καταχωρητές ολίσθησης, δηλαδή καταχωρητές 22

140 στους οποίους ανακυκλώνονται κάποια συγκεκριµένα δεδοµένα. Για Ν σήµατα χρονισµού ένας απαριθµητής δακτυλίου θα αποτελείται από Ν FFs, ενώ ένας απαριθµητής Johnson θα αποτελείται από Ν/2 FFs και Ν πύλες AND. ΒΙΒΛΙΟΓΡΑΦΙΑ ΕΛΛΗΝΟΓΛΩΣΣΗ Mano Morris M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 992. ΞΕΝΟΓΛΩΣΣΗ Daniels J. D., Digital Design from Zero to One, J. Wiley & Sons, 996. Kleitz W., Digital Electronics: A Practical Approach, 4 th Edition, Prentice Hall, 996. Malvino A. P., Leach D. P., Digital Principles and Applications, McGraw-Hill, 986. Tocci R. J., Widmer N. S., Digital Systems: Principles and Applications, Prentice Hall, 998. Ο ΗΓΟΣ ΠΕΡΑΙΤΕΡΩ ΜΕΛΕΤΗΣ Malvino A. P., Leach D. P., Digital Principles and Applications, McGraw-Hill, 986. Στο Κεφάλαιο 0 του βιβλίου γίνεται µια λεπτοµερής περιγραφή όλων των τύπων των καταχωρητών ολίσθησης, µε εκτενή αναφορά σε ολοκληρωµένα κυκλώµατα που κυκλοφορούν στο εµπόριο. Mano Morris M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 992. Στο Κεφάλαιο 7 του βιβλίου µπορείτε να βρείτε µια καλή περιγραφή όλων των καταχωρητών. Kleitz W., Digital Electronics: A Practical Approach, 4 th Edition, Prentice Hall, 996. Το Κεφάλαιο 3 του βιβλίου είναι αφιερωµένο στους καταχωρητές ολίσθησης. Παρατίθενται πολλά παραδείγµατα µε πολλά διαγράµµατα χρονισµού και δίνονται ορισµένα πρακτικά κυκλώµατα για διαφορετικές εφαρµογές. 23

141 ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ Απάντηση άσκησης αυτοαξιολόγησης / Κεφάλαιο 4 Αφού στον καταχωρητή είναι αποθηκευµένη η λέξη 00 και η σειριακή είσοδος είναι στο λογικό 0, περιµένουµε µε κάθε αρνητική ακµή του ωρολογιακού παλµού να ολισθαίνει ο αριθµός κατά µία θέση προς τα δεξιά και να χάνεται το δεξιό ψηφίο, ενώ το πρώτο ψηφίο να "γεµίζει" µε 0. Αυτό παραστατικά δείχνεται στο Σχήµα 4.5(α), ενώ οι κυµατοµορφές εισόδου-εξόδου δείχνονται στο Σχήµα 4.5(β). Ο καταχωρητής, στον οποίο αναφερόµαστε, είναι εκείνος του Σχήµατος 4.2(α). Αρχικά ος 2ος 3ος 4ος Αρχικά ος παλµός Q0 Q Q2 Q Σειριακή Είσοδος Q0 0 2ος παλµός Q 0 3ος παλµός Q2 4ος παλµός Σειριακή Έξοδος Q3 0 (α) (β) Σχήµα 4.5. Ολίσθηση προς τα δεξιά του αριθµού 00 σε καταχωρητή ολίσθησης των 4 bits. Αν οι κυµατοµορφές εξόδου, που σχεδιάσατε, συµφωνούν µε αυτές του Σχήµατος 4.5β, τότε µπράβο σας. Έχετε κατανοήσει τον τρόπο λειτουργίας του καταχωρητή σειριακής εισόδου σειριακής εξόδου. Αν πάλι δεν τα καταφέρατε, µην απογοητευθείτε. ιαπιστώνετε και µόνοι σας ότι πρόκειται για απλές έννοιες και απλά κυκλώµατα, τα οποία όµως µας δυσκολεύουν, όταν προσπαθούµε να αναλύσουµε µε ακρίβεια τη λειτουργία τους. Μελετήστε και πάλι την υποενότητα 4... Στη συνέχεια επιχειρήστε να σχεδιάσετε τις κυµατοµορφές εξόδου αρχίζοντας από τους ωρολογιακούς παλµούς (), τη σειριακή είσοδο (η οποία είναι συνεχώς στο λογικό 0) και την κατάσταση των FFs στη διάρκεια του ου παλµού, και µάλιστα πριν αυτά ενεργοποιηθούν µε την πρώτη αρνητική ακµή. Παρατηρήστε ότι στις εξόδους των FFs φαίνεται η λέξη Q 0 Q Q 2 Q 3 =00. Με την έλευση της αρνητικής (ενεργού) ακµής, κάθε FF θα περάσει 24

142 στην έξοδό του ό,τι βλέπει στην είσοδό του τη στιγµή εκείνη. Έτσι, το FF 0 βλέπει το 0 της σειριακής εισόδου και το περνάει στην έξοδο, δηλαδή Q 0 =0. Την ίδια στιγµή, το FF βλέπει το της Q 0 και το περνάει στην έξοδο, δηλαδή Q =. Προσοχή, αναφερόµαστε στην αρνητική ακµή του ου παλµού και µάλιστα στα αριστερά αυτής, δηλαδή στην κατάσταση των FFs µόλις πριν την έλευση της αρνητικής ακµής! Συνεχίζουµε µε τον ίδιο τρόπο και για τις υπόλοιπες εξόδους Q. Ολοκληρώστε και ξαναπροσπαθήστε για την περίπτωση που η σειριακή είσοδος είναι µόνιµα στο λογικό. Απάντηση άσκησης αυτοαξιολόγησης 2 / Κεφάλαιο 4 Αν δεν υπήρχε η είσοδος CLEAR, η οποία, όταν γίνεται 0, προκαλεί την εκκαθάριση όλων των FFs, τότε το διάγραµµα θα ήταν ίδιο µε εκείνο του Σχήµατος 4.2(δ). Η εµφάνιση του λογικού 0 στην είσοδο CLEAR συνεπάγεται την άµεση (ασύγχρονη) εκκαθάριση του καταχωρητή, όπως φαίνεται στο Σχήµα 4.6. Σειριακή Είσοδος D0 0 CLEAR Q0 Q Q2 Q3 Σχήµα 4.6. Κυµατοµορφές εισόδου-εξόδου καταχωρητή σειριακής-εισόδου-παράλληλης-εξόδου των 4 bits. Παρατηρούµε ότι ο πρώτος παλµός εκκαθάρισης (CLEAR =0) εφαρµόστηκε κατά τη διάρκεια που ο ωρολογιακός παλµός ήταν ίσος µε (=), ενώ ο δεύτερος κατά τη διάρκεια που ο ωρολογιακός παλµός ήταν ίσος µε 0 (=0). Το αποτέλεσµα και στις δύο περιπτώσεις είναι το ίδιο: η άµεση εκκαθάριση όλων των FFs. Αν καταφέρατε να σχεδιάσετε τις σωστές κυµατοµορφές, τότε σας αξίζουν συγχαρητήρια. Αν πάλι αυτό δεν έγινε, τότε επαναλάβετε τη µελέτη της υποενότητας 4.. και την άσκηση 25

143 αυτοαξιολόγησης / Κεφάλαιο 4 και ξαναπροσπαθήστε. Είναι θέµα χρόνου εξοικειωθείτε µε τον τρόπο λειτουργίας των καταχωρητών αυτών. να Απάντηση άσκησης αυτοαξιολόγησης 3 / Κεφάλαιο 4 ιαπιστώνουµε ότι η άσκηση αυτή µας αναγκάζει να εξετάσουµε µια διαφορετική παράµετρο των καταχωρητών. εν µας ζητάει τις κυµατοµορφές εξόδου, αλλά το συνολικό χρόνο για τη σειριακή µεταφορά (φόρτωση ή ανάγνωση) ενός αριθµού των 8 bits. Έτσι λοιπόν για τη σειριακή µεταφορά ενός 8 bit αριθµού απαιτούνται 8 ωρολογιακοί παλµοί. Αφού η περίοδος των ωρολογιακών παλµών είναι 00ns, απαιτείται χρόνος τουλάχιστον 800ns. Αν δεν βρήκατε το σωστό αποτέλεσµα, εξετάστε και πάλι το Σχήµα 4.2δ και δείτε πόσους ωρολογιακούς παλµούς χρειάζεται ένα δεδοµένο, το οποίο εισάγεται στο FF 0 για να φτάσει στο FF 3. Θα διαπιστώσετε ότι χρειάζεται 4 ωρολογιακούς παλµούς. Κατ αντιστοιχία, αν επρόκειτο για καταχωρητή των 8 bits, 8 ωρολογιακοί παλµοί θα ήταν απαραίτητοι. Και αφού η περίοδος των παλµών είναι 00ns, ο συνολικός χρόνος που απαιτείται είναι 800ns. Απάντηση άσκησης αυτοαξιολόγησης 4 / Κεφάλαιο 4 Το κύκλωµα ενός καταχωρητή παράλληλης-εισόδου-παράλληλης-εξόδου των 4 bits µε FFs τύπου D δείχνεται στο Σχήµα 4.7(α), ενώ στο Σχήµα 4.7(β) δείχνεται ένα µόνο από τα FFs µε τις αντίστοιχες πύλες που επηρεάζουν την είσοδό του. Η κύρια διαφορά µεταξύ αυτού και του καταχωρητή του Σχήµατος 4.7 είναι η προσθήκη µιας πύλης OR µετά από τις πύλες AND. Ο συνδυασµός των δύο πυλών AND και της πύλης OR, λαµβάνοντας φυσικά υπόψη µας και την ύπαρξη της πύλης ΝΟΤ µετά την είσοδο L, αποτελεί ουσιαστικά ένα κύκλωµα πολυπλέκτη 2 εισόδων σε. Έτσι, όταν E=, γίνεται και πάλι η παράλληλη είσοδος των δεδοµένων I i, i=0,,2,3, αφού οι πύλες AND G i S δίνουν έξοδο 0 και άρα D i =I i. Όταν E=0, οι πύλες AND R G i δίνουν πλέον έξοδο 0 µε συνέπεια D i =Q i. Παρατηρούµε, δηλαδή, ότι, επειδή τα D FFs δεν έχουν τη δυνατότητα µη-αλλαγής κατάστασης µε την εµφάνιση της ενεργού ακµής του ωρολογιακού παλµού, στην πράξη ανατροφοδοτούµε τις εισόδους Q i των FFs στις αντίστοιχες εισόδους D i αυτών, ώστε η κατάσταση του καταχωρητή να παραµείνει αµετάβλητη. 26

144 E I0 S G 0 R G 0 G 0 D 0 Q 0 D Q I2 D 2 Q 2 I3 CLEAR D 3 Q 3 (α) L Ii S G i R G i G i Di FFi Qi Σχήµα 4.7. CLEAR (β) (α) Καταχωρητής παράλληλης-εισόδου-παράλληλης-εξόδου των 4 bits µε FFs τύπου D, (β) ένα από τα FFs µε τις πύλες εισόδου του. Αν απαντήσατε σωστά, τότε σας αξίζουν συγχαρητήρια. Ήταν µια δύσκολη άσκηση, αφού έπρεπε να σκεφτούµε το θέµα της ανατροφοδότησης των εξόδων Q i στις εισόδους D i µέσω του αντίστοιχου συνδυαστικού κυκλώµατος AND-OR. Αν από την άλλη πλευρά δεν τα καταφέρατε, µην απογοητευθείτε. Αυτή δεν είναι από τις εύκολες ασκήσεις, όπως ήδη το έχουµε αναφέρει. Προσπαθήστε να την κατανοήσετε, αφού πρώτα σιγουρευτείτε ότι έχετε εµπεδώσει τον τρόπο λειτουργίας του κυκλώµατος του Σχήµατος 4.7. Απάντηση άσκησης αυτοαξιολόγησης 5 / Κεφάλαιο 4 Αρχίζουµε την ανάλυση της λειτουργίας του κυκλώµατος (Σχήµα 4.0) από τα πλέον προφανή. Έτσι, η είσοδος Χ βλέπουµε ότι συνδέεται στις εισόδους CLEAR όλων των FFs και άρα αποτελεί την είσοδο άµεσου (ασύγχρονου) µηδενισµού αυτών. Είναι 27

145 φανερό, επίσης, ότι στην είσοδο Χ 2 θα πρέπει να συνδεθούν οι ωρολογιακοί παλµοί για τη σύγχρονη λειτουργία του κυκλώµατος. Η συστοιχία αυτών των τεσσάρων FFs µας θυµίζει τον καταχωρητή παράλληλης-εισόδου-παράλληλης-εξόδου του Σχήµατος 4.6. Πράγµατι πρόκειται για έναν καταχωρητή παράλληλης-εισόδου-παράλληλης-εξόδου (Q i, i=0,,2,3 οι έξοδοι αυτού). Κάθε είσοδος D i όµως τροφοδοτείται από την έξοδο ενός πολυπλέκτη 4-σε-. Και οι τέσσερεις πολυπλέκτες ελέγχονται από τα ίδια σήµατα Ε, Ε 0. Ας δούµε λοιπόν τι συµβαίνει για τις διαφορετικές τιµές των εισόδων Ε, Ε 0. Για Ε =Ε 0 =, η είσοδος 3 του κάθε πολυπλέκτη "διοχετεύεται" στην έξοδό του. Άρα D i =I i και συνεπώς έχουµε έναν καταχωρητή παράλληλης-εισόδουπαράλληλης-εξόδου. Για Ε =, Ε 0 =0, η είσοδος 2 του κάθε πολυπλέκτη "διοχετεύεται" στην έξοδό του. Η είσοδος 2, όµως, οδηγείται από την έξοδο του FF i+, που βρίσκεται στα δεξιά του FF i που εξετάζουµε, δηλαδή D i =Q i+. Για την περίπτωση του FF 3, επειδή στα δεξιά του δεν υπάρχει άλλο FF, η είσοδος 2 αποτελεί ουσιαστικά τη σειριακή είσοδο του κυκλώµατος. Άρα, στην περίπτωση αυτή έχουµε έναν καταχωρητή σειριακής ολίσθησης των δεδοµένων προς τα αριστερά. Χ 4 είναι η σειριακή είσοδος και Q 0 είναι η σειριακή έξοδος. Επίσης, υπάρχει η δυνατότητα παράλληλης εξόδου των δεδοµένων, αφού οι έξοδοι Q i των FFs είναι διαθέσιµες. Για Ε =0, Ε 0 =, η είσοδος του κάθε πολυπλέκτη "διοχετεύεται" στην έξοδό του και κατά συνέπεια στην αντίστοιχη είσοδο του D FF. Η είσοδος, όµως, τροφοδοτείται από την έξοδο του FF i-, που βρίσκεται στα αριστερά του FF i, δηλαδή D i =Q i-. Για την περίπτωση του FF 0, το οποίο δεν έχει άλλο προς τα αριστερά του, το σήµα X 3 αποτελεί και τη σειριακή είσοδο αυτού. Άρα, στην περίπτωση αυτή έχουµε έναν καταχωρητή ολίσθησης των δεδοµένων προς τα δεξιά. Χ 3 είναι η σειριακή είσοδος και Q 3 η σειριακή έξοδος του καταχωρητή. Και αφού οι έξοδοι Q i όλων των FFs είναι διαθέσιµες, καταλαβαίνουµε ότι το κύκλωµα έχει επιπλέον τη δυνατότητα παράλληλης εξόδου των δεδοµένων. Τέλος, για Ε =Ε 0 =0, η είσοδος 0 κάθε πολυπλέκτη "διοχετεύεται" στην έξοδό του. Και επειδή στην είσοδο 0 συνδέεται η έξοδος του αντίστοιχου FF, θα έχουµε D i =Q i. ηλαδή, ο καταχωρητής διατηρεί τα δεδοµένα που υπάρχουν αποθηκευµένα σ' αυτόν. Συµπεραίνουµε, εποµένως, ότι το κύκλωµα του Σχήµατος 4.0 είναι ένας καταχωρητής που συνδυάζει τις δυνατότητες όλων των τύπων καταχωρητών που 28

146 γνωρίσαµε στην ενότητα 4.. Πρόκειται, δηλαδή, για έναν αµφίδροµο καταχωρητή παράλληλης-εισόδου-παράλληλης-εξόδου, µε δυνατότητα σειριακής ολίσθησης προς τα δεξιά και προς τα αριστερά. Αν προσδιορίσατε το σωστό τρόπο λειτουργίας του κυκλώµατος, τότε έχετε κατανοήσει απόλυτα τους καταχωρητές και µπορείτε να συνεχίσετε τη µελέτη του υπόλοιπου κεφαλαίου. Αν πάλι αυτό δεν έγινε, τότε φαίνεται πως θα πρέπει να επαναλάβετε την ενότητα 4. και ειδικότερα την υποενότητα Απαραίτητη, επίσης για την άσκηση αυτή είναι η εξοικείωση µε τον τρόπο λειτουργίας των πολυπλεκτών. Ανατρέξτε στο βιβλίο της Ψηφιακής Σχεδίασης Ι, όπου περιγράφονται τα αντίστοιχα συνδυαστικά Κυκλώµατα. Απάντηση άσκησης αυτοαξιολόγησης 6 / Κεφάλαιο 4 Με δύο FFs µπορούµε να κατασκευάσουµε έναν απαριθµητή mod-4, πράγµα που το χρειαζόµαστε, αφού όλες οι κυµατοµορφές του Σχήµατος 4.(γ) έχουν περίοδο 4πλάσια αυτής των ωρολογιακών παλµών. Αυτό που µένει είναι να προτείνουµε κύκλωµα, το οποίο να δίνει λογικό µόνο µία φορά στη διάρκεια των τεσσάρων παλµών του ρολογιού. Με άλλα λόγια, χρειαζόµαστε έναν αποκωδικοποιητή 2 γραµµών σε 4. Το κύκλωµα που προκύπτει δίνεται στο Σχήµα 4.8(α). Q0 Q Q2 Q3 Αποκωδικοποιητής 2-σε-4 Α0 Α0 Α Α Απαριθµητής mod-4 (β) (α) Q0 Q Q2 Q3 Α'Α'0 Α'Α0 ΑΑ'0 ΑΑ0 (γ) Σχήµα 4.8. (α) Συνδυασµός απαριθµητή και αποκωδικοποιητή για τη δηµιουργία 4 σηµάτων χρονισµού, (β) Κυµατοµορφές εξόδου του απαριθµητή, (γ) Ο αποκωδικοποιητής 2-σε-4. 29

147 Ο απαριθµητής αποτελείται από 2 FFs. Αν αυτά είναι τύπου JK αρνητικής ακµής πυροδότησης, τότε J 0 =K 0 = και J =K =Α 0, όπου Α 0, Α οι έξοδοι των FFs, µε Α 0 το LSB. Οι κυµατοµορφές εξόδου δείχνονται στο Σχήµα 4.8(β). Ο αποκωδικοποιητής 2 γραµµών σε 4 αποτελείται ουσιαστικά από 4 πύλες AND, όπως δείχνεται στο Σχήµα 4.8(γ). Παρατηρούµε ότι για τη δηµιουργία 4 σηµάτων χρονισµού χρειαστήκαµε 2 FFs και 4 πύλες AND των 2 εισόδων η καθεµιά. Ο αντίστοιχος απαριθµητής δακτυλίου αποτελείται από 4 FFs µόνο (Σχήµα 4.). Αν δεν καταφέρατε να απαντήσετε σωστά αυτή την άσκηση, µην απογοητευθείτε. εν πρόκειται για κάποιο πολύπλοκο κύκλωµα, αλλά απλά έχει την ιδιαιτερότητα ότι απαιτεί το συνδυασµό δύο διαφορετικών τύπων κυκλωµάτων, δηλαδή ενός συνδυαστικού (του αποκωδικοποιητή) και ενός ακολουθιακού (δηλαδή του απαριθµητή). Ανατρέξτε στο βιβλίο της Ψηφιακής Σχεδίασης Ι, για να ξαναθυµηθείτε τους αποκωδικοποιητές, καθώς και στο Κεφάλαιο 3 του παρόντος βιβλίου, για να ξαναθυµηθείτε τους απαριθµητές. Κατόπιν, προσπαθήστε και πάλι να λύσετε την άσκηση. Τη φορά αυτή δοκιµάστε να σχεδιάσετε το κύκλωµα για τη δηµιουργία 8 σηµάτων χρονισµού. Είναι φανερό ότι στην περίπτωση αυτή θα χρειαστείτε 3 FFs και έναν αποκωδικοποιητή 3-σε-8. Απάντηση άσκησης αυτοαξιολόγησης 7 / Κεφάλαιο 4 Εφόσον πρέπει να δηµιουργήσουµε 6 σήµατα χρονισµού, θα χρειαστούµε 3 FFs για το κύκλωµα του απαριθµητή Johnson. Το κύκλωµα αυτό δείχνεται στο Σχήµα 4.9(α) και οι αντίστοιχες κυµατοµορφές εξόδου στο Σχήµα 4.9(β). Για την παραγωγή των τελικών 6 σηµάτων χρονισµού θα χρησιµοποιήσουµε επιπλέον 6 πύλες AND των δύο εισόδων η καθεµιά, κατ' αντιστοιχία µε την περίπτωση του Σχήµατος 4.3. Αν συµβολίσουµε µε X, X 2, X 3, X 4, X 5, X 6 καθεµία από τις πύλες AND, τότε θα έχουµε X =Q 2 Q 0, X 2 =Q 2 Q, X 3 =Q Q 0, X 4 =Q 2 Q 0, X 5 =Q 2 Q και X 6 =Q Q 0. Αν απαντήσατε σωστά, τότε έχετε κατανοήσει τον απαριθµητή Johnson. Συγχαρητήρια. Αν όµως δεν δώσατε τη σωστή απάντηση, τότε θα πρέπει να ξαναπροσπαθήσετε. Μελετήστε και πάλι την υποενότητα 4.2.2, επιµένοντας στην κατανόηση των κυµατοµορφών 4.2γ και

148 J2 Q2 J Q J0 Q0 K2 Q'2 K Q' K0 Q'0 (α) Q2 Q Q0 (β) Σχήµα 4.9. (α) Απαριθµητής Johnson για τη δηµιουργία 6 σηµάτων χρονισµού, (β) κυµατοµορφές εξόδου του απαριθµητή. Απάντηση άσκησης αυτοαξιολόγησης 8 / Κεφάλαιο 4 Για τη δηµιουργία 5 σηµάτων χρονισµού χρησιµοποιούµε µια παραλλαγή του απαριθµητή Johnson για 6 σήµατα χρονισµού, στον οποίο αντί να τροφοδοτήσουµε την είσοδο Κ του πρώτου FF από την έξοδο του τελευταίου FF, την τροφοδοτούµε από την έξοδο του προτελευταίου. Στο συµπέρασµα αυτό καταλήξαµε µε τη βοήθεια του Σχήµατος 4.9 για την περίπτωση του απαριθµητή Johnson για 6 σήµατα χρονισµού. Εκεί παρατηρούµε ότι, εάν το Q 2 γίνει 0 κατά µία περίοδο του ρολογιού νωρίτερα, τότε το Q γίνεται και αυτό 0 κατά µία περίοδο του ρολογιού νωρίτερα, όπως τελικά και το Q 0. Αυτό σηµαίνει ότι τα Q 2, Q, Q 0 είναι όλα µόνο για δύο περιόδους του ρολογιού, αλλά εξακολουθούν να είναι 0 για τρεις περιόδους του ρολογιού. Εποµένως, ο απαριθµητής διαιρεί τώρα δια 5 και όχι δια 6, όπως προηγουµένως. Άρα, χρειάζεται να τροφοδοτήσουµε την είσοδο Κ2 του πρώτου αριστερά FF από την έξοδο του προτελευταίου FF, αντί του τελευταίου. Το κύκλωµα και οι κυµατοµορφές εξόδου δείχνονται στο Σχήµα Οι 5 πύλες AND, που χρειάζονται για την τελική παραγωγή των 5 σηµάτων χρονισµού, είναι οι X, X 2, X 3, X 4, X 5, όπου X =Q 2 Q 0, X 2 =Q 2 Q, X 3 =Q Q 0, X 4 =Q Q 0, X 5 =Q Q 0. Γενικά, το κύκλωµα για τη δηµιουργία Ν- σηµάτων χρονισµού, όπου Ν άρτιος, προκύπτει από το αντίστοιχο κύκλωµα δηµιουργίας Ν σηµάτων, τροφοδοτώντας, όµως, 3

149 την είσοδο Κ του πρώτου FF από την έξοδο Q του προτελευταίου FF, αντί του τελευταίου FF. J2 Q2 J Q J0 Q0 K2 Q'2 K Q' K0 Q'0 (α) Q2 Q Q0 (β) Σχήµα (α) Απαριθµητής Johnson για τη δηµιουργία 5 σηµάτων χρονισµού, (β) κυµατοµορφές εξόδου του απαριθµητή. Αν απαντήσατε σωστά την άσκηση αυτή, τότε σας αξίζουν συγχαρητήρια. Αν ωστόσο δεν τα καταφέρατε, µην απογοητευθείτε. εν είναι από τις εύκολες ασκήσεις και κυρίως η απόδειξή της δεν βασίστηκε σε κάποια από τις γνωστές διαδικασίες σχεδίασης σύγχρονων ακολουθιακών κυκλωµάτων. Μελετήστε και πάλι τον απαριθµητή Johnson και ξαναπροσπαθήστε. Θα δείτε ότι τώρα θα τα καταφέρετε. οκιµάστε µάλιστα να σχεδιάσετε ένα αντίστοιχο κύκλωµα, το οποίο να δηµιουργεί 7 σήµατα χρονισµού και αναλύστε το, επαληθεύοντας την ορθότητα της απάντησής σας. ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ Arithmetic shift Αριθµητική ολίσθηση asynchronous Ασύγχρονος Bidirectional Αµφίδροµος, διπλής κατεύθυνσης Circular shift Κυκλική ολίσθηση Full adder Πλήρης αθροιστής Logical shift Λογική ολίσθηση LSB, Least Significant Bit λιγότερο σηµαντικό ψηφίο MSB, Most Significant Bit περισσότερο σηµαντικό ψηφίο Register Καταχωρητής Ring counter Απαριθµητής δακτυλίου Serial adder Σειριακός αθροιστής Serial in Σειριακή είσοδος Serial out Σειριακή έξοδος Shift counter Απαριθµητής ολίσθησης shift registers καταχωρητής ολίσθησης Switch tail Αντιστροφή ουράς synchronous σύγχρονος 32

150 ΚΕΦΑΛΑΙΟ 5 ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΗΧΑΝΕΣ ΚΑΤΑΣΤΑΣΕΩΝ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ...3 ENOTHTA 5.. ΙΑΓΡΑΜΜΑΤΑ ΑΛΓΟΡΙΘΜΙΚΩΝ ΜΗΧΑΝΩΝ ΚΑΤΑΣΤΑΣΕΩΝ 5 ENOTHTA 5.2. ΥΛΟΠΟΙΗΣΗ ΤΗΣ ΜΟΝΑ ΑΣ ΕΛΕΓΧΟΥ ΥΛΟΠΟΙΗΣΗ ΤΗΣ ΜΟΝΑ ΑΣ ΕΛΕΓΧΟΥ ΜΕ FFS ΤΥΠΟΥ JK ΥΛΟΠΟΙΗΣΗ ΜΟΝΑ ΑΣ ΕΛΕΓΧΟΥ ΜΕ FFS ΤΥΠΟΥ D ΚΑΙ ΑΠΟΚΩ ΙΚΟΠΟΙΗΤΗ ΥΛΟΠΟΙΗΣΗ ΜΟΝΑ ΑΣ ΕΛΕΓΧΟΥ ΜΕ ΕΝΑ FF ΤΥΠΟΥ D ΑΝΑ ΚΑΤΑΣΤΑΣΗ...20 ΒΙΒΛΙΟΓΡΑΦΙΑ 24 ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ..24 ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ..3

151 ΚΕΦΑΛΑΙΟ 5 ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΗΧΑΝΕΣ ΚΑΤΑΣΤΑΣΕΩΝ Σκοπός Στο Κεφάλαιο αυτό αντιµετωπίζουµε τα σύγχρονα ακολουθιακά κυκλώµατα ως µηχανές καταστάσεων και ασχολούµαστε µε τη σχεδίαση τέτοιων κυκλωµάτων. Τα κυκλώµατα αυτά αποτελούν συνήθως τη µονάδα ελέγχου ενός ψηφιακού συστήµατος, δηλαδή το κύκλωµα εκείνο που συντονίζει τη λειτουργία του όλου συστήµατος. Στόχος µας είναι να γνωρίσουµε τη διαδικασία σχεδίασης τέτοιων κυκλωµάτων, καθώς και τις διαφορετικές τεχνικές υλοποίησής τους. Προσδοκώµενα αποτελέσµατα Μετά τη µελέτη του Κεφαλαίου θα είστε σε θέση να: σχεδιάζετε διαγράµµατα αλγοριθµικών µηχανών καταστάσεων σχεδιάζετε σύγχρονα ακολουθιακά κυκλώµατα µεγάλης πολυπλοκότητας, αντιµετωπίζοντας αυτά ως µηχανές καταστάσεων υλοποιείτε µονάδες ελέγχου ψηφιακών συστηµάτων µε τρεις διαφορετικούς τρόπους Έννοιες κλειδιά µηχανή καταστάσεων µονάδα ελέγχου διάγραµµα αλγοριθµικής µηχανής καταστάσεων διάγραµµα καταστάσεων σύγχρονο ακολουθιακό κύκλωµα 2

152 ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ Στα προηγούµενα Κεφάλαια γνωρίσαµε τα FFs και µάθαµε να σχεδιάζουµε σύγχρονα ακολουθιακά κυκλώµατα, όπως απαριθµητές και καταχωρητές. Με τα κυκλώµατα αυτά µπορούµε να κάνουµε διάφορες αριθµητικές ή λογικές πράξεις στα δεδοµένα. Για παράδειγµα, να αυξήσουµε ή να µειώσουµε την τιµή ενός αριθµού κατά, πράγµα που µπορεί να γίνει µε τη βοήθεια ενός προσθετικού (count-up) ή αφαιρετικού (count-down) απαριθµητή. Μπορούµε, επίσης, να πολλαπλασιάσουµε ή να διαιρέσουµε έναν αριθµό µε το 2, ολισθαίνοντας κατά µία θέση το περιεχόµενο ενός καταχωρητή προς τα αριστερά ή τα δεξιά, αντίστοιχα. Επίσης, στο βιβλίο της Ψηφιακής Σχεδίασης Ι έχουµε ασχοληθεί µε όλα τα συνδυαστικά κυκλώµατα, τα οποία µπορούµε να χρησιµοποιήσουµε, για να εκτελέσουµε και άλλες πράξεις, όπως για παράδειγµα πρόσθεση ή αφαίρεση δύο αριθµών, σύγκριση αριθµών, κ.ά. Γενικά, είµαστε σε θέση να σχεδιάζουµε κυκλώµατα για την επεξεργασία δεδοµένων. Σ' ένα ψηφιακό σύστηµα, τα κυκλώµατα αυτού του είδους αποτελούν τη λεγόµενη µονάδα δεδοµένων (data unit) του συστήµατος. Εκτός, όµως, από τη µονάδα δεδοµένων σ' ένα ψηφιακό σύστηµα πρέπει να υπάρχει και η µονάδα ελέγχου (control unit), το κύκλωµα εκείνο που συντονίζει την εκτέλεση των διαφόρων πράξεων και λειτουργιών. Η µονάδα ελέγχου είναι στην πράξη ένα σύγχρονο ακολουθιακό κύκλωµα, οι καταστάσεις του οποίου αποτελούν τα σήµατα ελέγχου προς τη µονάδα δεδοµένων. Το γενικό διάγραµµα ενός σύγχρονου ψηφιακού συστήµατος, το οποίο αποτελείται από τη µονάδα ελέγχου και τη µονάδα δεδοµένων, δείχνεται στο Σχήµα 5.. Είσοδος Κατάστασης Εντολές Εισόδου ΜΟΝΑ Α ΕΛΕΓΧΟΥ (ΜΗΧΑΝΗ ΚΑΤΑΣΤΑΣΕΩΝ) Σήµατα ελέγχου εδοµένα Εισόδου ΜΟΝΑ Α Ε ΟΜΕΝΩΝ εδοµένα Εξόδου CLOCK Σχήµα 5.. Γενικό διάγραµµα ενός σύγχρονου ψηφιακού συστήµατος Υπενθυµίζεται ότι σ' ένα σύγχρονο σύστηµα όλα τα FFs τροφοδοτούνται µε το ίδιο (κοινό) ρολόι και οι είσοδοι PRESET και CLEAR δεν χρησιµοποιούνται, παρά µόνο για την αρχική εκκίνηση (initialization) του συστήµατος. 3

153 Η µονάδα ελέγχου είναι εκείνη που συντονίζει την έναρξη ή τη λήξη κάποιων ενεργειών της µονάδας δεδοµένων, ελέγχει τους δείκτες κατάστασης, π.χ. αν το αποτέλεσµα µιας πράξης είναι 0, και αποφασίζει για τις επόµενες ενέργειες ανάλογα µε τις περιστάσεις. έχεται στις εισόδους της τις εντολές, οι οποίες καθορίζουν τον τρόπο λειτουργίας της, καθώς και τις καταστάσεις, οι οποίες προκύπτουν από τη µονάδα δεδοµένων. Οι εντολές εισόδου µπορεί να προέρχονται από κάποιο άλλο ψηφιακό υποσύστηµα ή από το χρήστη, ο οποίος καθορίζει τον τρόπο λειτουργίας, π.χ. Run/Halt, Normal/Turbo, κ.ά. Οι είσοδοι κατάστασης επιτρέπουν στη µονάδα ελέγχου να προσαρµόζει τη συµπεριφορά της ανάλογα µε την κατάσταση της µονάδας δεδοµένων, π.χ. αποτέλεσµα µηδέν, αποτέλεσµα αρνητικό, υπερχείλιση, µνήµη πλήρης, κ.ά. Το βασικό χαρακτηριστικό του συστήµατος του Σχήµατος 5. είναι ότι τόσο η µονάδα ελέγχου, όσο και η µονάδα δεδοµένων χρησιµοποιούν το ίδιο (κοινό) ρολόι για το συγχρονισµό τους. Ο όρος µηχανή καταστάσεων (state machine) αναφέρεται στα ακολουθιακά κυκλώµατα. Πρόκειται για µια διαφορετική ονοµασία των ακολουθιακών κυκλωµάτων. Στο παρόν Κεφάλαιο θα ασχοληθούµε µε τη σχεδίαση τέτοιων κυκλωµάτων, δηλαδή µηχανών καταστάσεων. Η µονάδα ελέγχου πρέπει να σχεδιαστεί ως µηχανή καταστάσεων. Η µονάδα δεδοµένων συνήθως αντιµετωπίζεται σε ένα πιο υψηλό επίπεδο, αφού αποτελείται από καταχωρητές, απαριθµητές, αθροιστές, µνήµη ανάγνωσης/εγγραφής, κ.ά. Θα αναρωτηθείτε, βέβαια, γιατί θα πρέπει να ασχοληθούµε και πάλι µε τη σχεδίαση σύγχρονων ακολουθιακών κυκλωµάτων ως µηχανών καταστάσεων, αφού ήδη το έχουµε κάνει στο Κεφάλαιο 2. Ο λόγος είναι η πολυπλοκότητα των κυκλωµάτων που εξετάζουµε τώρα, δηλαδή των µονάδων ελέγχου. Ο τρόπος σχεδίασης σύγχρονων ακολουθιακών κυκλωµάτων, που µάθαµε στο Κεφάλαιο 2, µε τους πίνακες διέγερσης είναι δύσκολο να εφαρµοστεί εδώ, όπου έχουµε µεγάλο πλήθος καταστάσεων και εισόδων. Με εξαίρεση τα πολύ απλά κυκλώµατα ελέγχου, ο τρόπος αυτός είναι πρακτικά µη εφαρµόσιµος και γι' αυτό στο παρόν Κεφάλαιο θα γνωρίσουµε άλλες τεχνικές. Στην ενότητα 5. θα παρουσιάσουµε τα διαγράµµατα αλγοριθµικών µηχανών καταστάσεων, ενώ στην ενότητα 5.2 θα ασχοληθούµε µε τους διαφορετικούς τρόπους υλοποίησης τέτοιων διαγραµµάτων. 4

154 ENOTHTA 5.. ΙΑΓΡΑΜΜΑΤΑ ΑΛΓΟΡΙΘΜΙΚΩΝ ΜΗΧΑΝΩΝ ΚΑΤΑΣΤΑΣΕΩΝ Στην ενότητα αυτή θα γνωρίσουµε τα διαγράµµατα αλγοριθµικών µηχανών καταστάσεων, δηλαδή εκείνα τα διαγράµµατα που περιγράφουν µε λεπτοµερή τρόπο τη συµπεριφορά µιας µηχανής καταστάσεων. Μετά τη µελέτη της παρούσας ενότητας θα είστε σε θέση να αναλύετε και να σχεδιάζετε τέτοια διαγράµµατα αλγοριθµικών µηχανών καταστάσεων, απεικονίζοντας έτσι µε ένα συστηµατικό τρόπο τα βήµατα που πρέπει να ακολουθηθούν από µία µονάδα ελέγχου για την επίτευξη των επιθυµητών λειτουργιών. Ένα διάγραµµα αλγοριθµικής µηχανής καταστάσεων (ASM, Algorithmic State Machine) είναι ένας γραφικός προσδιορισµός της συµπεριφοράς της µηχανής καταστάσεων. Μοιάζει, δηλαδή, περισσότερο µε ένα διάγραµµα ροής, το οποίο χρησιµοποιούµε κατά τον προγραµµατισµό, παρά µε ένα διάγραµµα καταστάσεων. Το διάγραµµα ASM είναι ένας ειδικός τύπος διαγράµµατος ροής, κατάλληλο για την περιγραφή των ακολουθιακών λειτουργιών σ' ένα ψηφιακό σύστηµα. Όπως και ένα συµβατικό διάγραµµα ροής περιγράφει τη σειρά των βηµάτων και αποφάσεων για την επίτευξη ενός συγκεκριµένου στόχου, για παράδειγµα τον πολλαπλασιασµό δύο αριθµών. Όµως, ενώ ένα συµβατικό διάγραµµα ροής δεν ενδιαφέρεται για τη χρονική συσχέτιση των βηµάτων αυτών, ένα διάγραµµα ASM περιγράφει τόσο τη σειρά των γεγονότων, όσο και τη χρονική σχέση µεταξύ των καταστάσεων, καθώς και τα γεγονότα που συµβαίνουν κατά τη µετάβαση από τη µία κατάσταση στην επόµενη. Τα βασικά στοιχεία, που απαρτίζουν ένα διάγραµµα ASM, φαίνονται στο Σχήµα 5.2 και είναι τα ακόλουθα: Το στοιχείο κατάστασης (state box). Ένα διάγραµµα ASM έχει ένα µόνο στοιχείο κατάστασης ανά κατάσταση. Συνηθίζουµε να συµβολίζουµε το στοιχείο κατάστασης µε ένα ορθογώνιο και να σηµειώνουµε το όνοµα και τον κώδικα της κατάστασης έξω από αυτό, αριστερά και δεξιά αντίστοιχα. Στο εσωτερικό του στοιχείου σηµειώνουµε τον κατάλογο των ενεργειών, δηλ. τις πράξεις των καταχωρητών ή τα σήµατα εξόδου, τα οποία ενεργοποιούνται, όταν ο έλεγχος βρίσκεται στη συγκεκριµένη κατάσταση. Στο Σχήµα 5.2α δίνεται ένα παράδειγµα ενός στοιχείου κατάστασης. Αυτό ονοµάζεται S 0 και έχει το δυαδικό 5

155 κώδικα 00. Όταν ο έλεγχος βρεθεί στο στοιχείο αυτό, τότε ο καταχωρητής 2 Α θα µηδενιστεί και ο καταχωρητής Β θα αυξηθεί κατά. Στο Κεφάλαιο 2 γνωρίσαµε τα διαγράµµατα καταστάσεων. Αυτά τα συµβολίζαµε ως µικρούς κύκλους, στους οποίους καταλήγουν ή αναχωρούν γραµµές (τόξα) προς άλλους κύκλους (καταστάσεις). Η κύρια διαφορά, λοιπόν, µεταξύ ενός στοιχείου κατάστασης και µιας κατάστασης ενός διαγράµµατος καταστάσεων είναι ότι το στοιχείο κατάστασης έχει µία µοναδική έξοδο (σε αντίθεση µε την κατάσταση που µπορεί να έχει τόσες εξόδους, όσες είναι οι διαφορετικές είσοδοι). Αυτή αντιπροσωπεύει τη µετάβαση στην επόµενη κατάσταση και, όπως είδαµε, συµβολίζεται µε ένα τόξο, το οποίο "φεύγει" από το στοιχείο. Το τόξο αυτό οδηγεί σε ένα και µόνο στοιχείο κατάστασης ή σε ένα στοιχείο απόφασης (decision box). Το στοιχείο απόφασης (decision box). Είναι το στοιχείο, το οποίο µας δίνει τη δυνατότητα εναλλακτικών µεταβάσεων, ανάλογα µε τη συνθήκη που αναγράφεται σ' αυτό. Η συνθήκη είναι συνήθως µια λογική συνάρτηση, στην οποία εµπλέκονται οι µεταβλητές εισόδου της ASM. Αν η τιµή της λογικής συνάρτησης είναι αληθής, τότε επιλέγεται η έξοδος. Σε διαφορετική περίπτωση, επιλέγεται η έξοδος 0. Για παράδειγµα, στο Σχήµα 5.2β αν Α=, τότε η µετάβαση θα γίνει προς την έξοδο, ενώ αν Α=0, τότε θα ακολουθηθεί η άλλη διαδροµή. Η έξοδος ενός στοιχείου απόφασης οδηγεί σε ένα νέο στοιχείο κατάστασης ή σ' ένα άλλο στοιχείο απόφασης. Γίνεται φανερό ότι, όταν µία κατάσταση οδηγεί σε περισσότερες από δύο επόµενες καταστάσεις, τότε απαιτούνται πολλά στοιχεία απόφασης το ένα µετά το άλλο, µε διαφορετικές συνθήκες (λογικές εκφράσεις) το καθένα. Το στοιχείο εξόδου από συνθήκη (conditional output box or conditional box). Το στοιχείο αυτό τοποθετείται πριν την έξοδο ενός στοιχείου απόφασης και 2 Στα ψηφιακά συστήµατα, και κατ' επέκταση στα υπολογιστικά συστήµατα, συνηθίζουµε να χρησιµοποιούµε τον όρο καταχωρητής µε την ευρύτερη έννοια, στην οποία συµπεριλαµβάνονται οι καταχωρητές αποθήκευσης, οι καταχωρητές ολίσθησης, οι απαριθµητές, ακόµη και τα µεµονωµένα FFs (καταχωρητές του bit). Οι πράξεις των καταχωρητών συµβολίζονται συνήθως ως εξής: Α 0 Εκκαθάριση του καταχωρητή Α. Α Α+ Αύξηση της τιµής του καταχωρητή Α κατά. Α Α Μείωση της τιµής του καταχωρητή Α κατά. Α Α+Β Πρόσθεση της τιµής του καταχωρητή Β στον καταχωρητή Α. Α Β Μεταφορά της τιµής του καταχωρητή Β στον καταχωρητή Α. 6

156 περιγράφει τις πράξεις των καταχωρητών ή τα σήµατα εξόδου, που ενεργοποιούνται, όταν η συνθήκη είναι αληθής. Το στοιχείο αυτό το συναντάµε µόνο στα διαγράµµατα ASM, και όχι στα συµβατικά διαγράµµατα ροής. Μοιάζει µε το στοιχείο κατάστασης, ως προς τον τύπο των ενεργειών που πρέπει να εκτελεστούν. Η ουσιαστική διαφορά του, όµως, είναι ότι οι ενέργειες που περιγράφονται εκτελούνται στη διάρκεια του ίδιου κύκλου ρολογιού, στον οποίο ανήκει το στοιχείο απόφασης, δηλαδή εκτελούνται στη διάρκεια της ίδιας κατάστασης, από την οποία παίρνει είσοδο. Για παράδειγµα, το τµήµα του διαγράµµατος ASM του Σχήµατος 5.2γ µας λεει ότι, εφόσον η συνθήκη Α= είναι αληθής, τότε - και στη διάρκεια του ίδιου ωρολογιακού παλµού, κατά τον οποίο έγινε ο έλεγχος της συνθήκης - ο καταχωρητής Β µηδενίζεται και ο καταχωρητής C µειώνεται κατά. Μετά από την εκτέλεση αυτών των ενεργειών, ο έλεγχος πηγαίνει στην επόµενη κατάσταση, δηλαδή στο επόµενο στοιχείο κατάστασης στο διάγραµµα ASM. είσοδος στη κατάσταση όνοµα κατάστασης κατάλογος ενεργειών κώδικας κατάστασης S0 00 A 0 B B + (α) έξοδος από την κατάσταση (α') έξοδος όταν η συνθήκη είναι ψευδής 0 Συνθήκη έξοδος όταν η συνθήκη είναι αληθής 0 A (β) έξοδος από στοιχείο απόφασης (β') κατάλογος ενεργειών 0 A έξοδος B 0 C C (γ) (γ') Σχήµα 5.2. Σύµβολα των βασικών στοιχείων των διαγραµµάτων ASM: (α, α ) σύµβολο και παράδειγµα στοιχείου κατάστασης, (β, β ) σύµβολο και παράδειγµα στοιχείου απόφασης, (γ, γ ) σύµβολο και παράδειγµα στοιχείου εξόδου από συνθήκη. 7

157 Έχοντας ολοκληρώσει την παρουσίαση των στοιχείων, τα οποία συνθέτουν ένα διάγραµµα ASM, θα ήταν χρήσιµο να διευκρινίσουµε τα εξής:. Κάθε στοιχείο κατάστασης µαζί µε τα πιθανά στοιχεία απόφασης ή και στοιχεία εξόδου από συνθήκη αποτελούν ένα τµήµα του διαγράµµατος ASM (ASM block), το χαρακτηριστικό του οποίου είναι ότι όλες οι ενέργειες, που περικλείονται σ' αυτό, εκτελούνται στη διάρκεια της ίδιας περιόδου του ρολογιού. Κάθε τέτοιο τµήµα έχει µόνο µία είσοδο και µία ή περισσότερες εξόδους, ανάλογα µε τα στοιχεία απόφασης που πιθανόν περιέχει. Ένα παράδειγµα ενός τέτοιου τµήµατος ASM δείχνεται στο Σχήµα 5.3 α. Όλες οι ενέργειες, που φαίνονται στα στοιχεία που περικλείονται στο τµήµα µε τις διακεκοµµένες γραµµές, εκτελούνται στη διάρκεια της κατάστασης S 0, δηλαδή στη διάρκεια της ίδιας περιόδου των ωρολογιακών παλµών (Σχήµα 5.3β). S0 0 L 00 L x R y A A 0 K= A+ LR Παρούσα κατάσταση S0 KL=00 S (β) Επόµενη κατάσταση ή S2 ή S3 00 K= KL=0 R S 0 S2 0 S3 (γ) (α) Σχήµα 5.3. (α) Τµήµα διαγράµµατος ASM, (β) ωρολογιακοί παλµοί χρονισµού της µηχανής καταστάσεων, (γ) διάγραµµα καταστάσεων. Το αντίστοιχο διάγραµµα καταστάσεων, όπως το γνωρίσαµε στο Κεφάλαιο 2, δείχνεται στο Σχήµα 5.3γ. Το διάγραµµα καταστάσεων µας δείχνει τις συνθήκες, υπό τις οποίες συµβαίνει µία µετάβαση, αλλά δεν µας δείχνει τις ενέργειες που πρέπει να εκτελεστούν στη διάρκεια µιας κατάστασης. 8

158 2. εν είναι απαραίτητο µετά από κάθε στοιχείο κατάστασης να ακολουθεί ένα στοιχείο απόφασης. Για παράδειγµα, δείτε το διάγραµµα ASM του Σχήµατος 5.4 α,,το οποίο αντιστοιχεί σ' έναν απαριθµητή mod-4, ο οποίος απαριθµεί συνεχώς. 3. εν είναι απαραίτητο µετά από κάθε στοιχείο απόφασης να ακολουθεί ένα στοιχείο εξόδου από συνθήκη. Για παράδειγµα, δείτε το Σχήµα 5.3 α, όπου για Κ= µεταβαίνουµε στην επόµενη κατάσταση S 3, ενώ για KL=0 µεταβαίνουµε στην κατάσταση S 2. Ένα πιο πρακτικό παράδειγµα είναι αυτό του Σχήµατος 5.4β. Πρόκειται για τον απαριθµητή mod-4, ο οποίος όµως αρχίζει την απαρίθµηση από τη στιγµή που ο διακόπτης Ε γίνει. 4. Οι ενέργειες (λειτουργίες, πράξεις), που περιγράφονται σ' ένα στοιχείο κατάστασης ή στοιχείο εξόδου από συνθήκη, εκτελούνται στη µονάδα δεδοµένων. Η αλλαγή από τη µια κατάσταση στην επόµενη γίνεται στη µονάδα ελέγχου. S0 00 S0 00 S 0 0 E S 0 S2 0 S2 0 S3 S3 (α) Σχήµα 5.4. (β) ιάγραµµα ASM (α) απαριθµητή mod-4, (β) απαριθµητή mod-4 µε δυνατότητα ελέγχου της έναρξης απαρίθµησης. Άσκηση Αυτοαξιολόγησης / Κεφάλαιο 5 Να σχεδιάσετε το διάγραµµα ASM ενός απαριθµητή mod-4, ο οποίος να έχει τη δυνατότητα έναρξης και παύσης της απαρίθµησης σε οποιαδήποτε χρονική στιγµή. Με 9

159 άλλα λόγια, όταν Ε=, τότε ο απαριθµητής να µετρά, ενώ, όταν Ε=0, τότε αυτός να σταµατά στην κατάσταση που βρίσκεται. Άσκηση Αυτοαξιολόγησης 2 / Κεφάλαιο 5 Να αναλύσετε τον τρόπο λειτουργίας µιας µηχανής καταστάσεων, της οποίας το διάγραµµα ASM δείχνεται στο Σχήµα 5.5. Να σηµειώσετε µε διακεκοµµένες γραµµές τα διαφορετικά τµήµατα ASM του διαγράµµατος αυτού. S0 000 A 0 0 G 0 S A B X Y Y 00 S3 0 S4 0 S5 A A+ A A A 2A A A/ 2 S2 Σχήµα 5.5. ιάγραµµα ASM της Άσκησης Αυτοαξιολόγησης 2 / Κεφάλαιο 5. Σύνοψη Ενότητας Στην ενότητα αυτή γνωρίσαµε τα διαγράµµατα ASM. Πρόκειται για ένα γραφικό τρόπο λεπτοµερούς περιγραφής της συµπεριφοράς µιας µηχανής καταστάσεων. Ένα διάγραµµα ASM αποτελείται από τρία στοιχεία: το στοιχείο κατάστασης, το στοιχείο απόφασης και το στοιχείο εξόδου από συνθήκη. Ένα στοιχείο κατάστασης µαζί µε το στοιχείο απόφασης και/ή το στοιχείο εξόδου από συνθήκη, που πιθανόν ακολουθεί µετά από αυτό, αποτελούν ένα ενιαίο τµήµα, που ονοµάζεται τµήµα ASM. Το 0

160 χαρακτηριστικό ενός τέτοιου τµήµατος είναι ότι όλες οι ενέργειες και οι έλεγχοι των συνθηκών, που περιλαµβάνονται σ' αυτό, γίνονται στη διάρκεια της ίδιας περιόδου του ρολογιού, δηλαδή στη διάρκεια της ίδιας κατάστασης. Οι ενέργειες, που περιγράφονται σ' ένα στοιχείο κατάστασης ή σ' ένα στοιχείο εξόδου από συνθήκη, εκτελούνται στη µονάδα δεδοµένων του συστήµατος, ενώ η αλλαγή από τη µια κατάσταση στην επόµενη γίνεται στη µονάδα ελέγχου αυτού. ENOTHTA 5.2. ΥΛΟΠΟΙΗΣΗ ΤΗΣ ΜΟΝΑ ΑΣ ΕΛΕΓΧΟΥ Στην ενότητα 5. γνωρίσαµε τα διαγράµµατα ASM, µε τα οποία περιγράφουµε τη λειτουργία µιας µηχανής καταστάσεων, δηλαδή ενός σύγχρονου ακολουθιακού κυκλώµατος. Το διάγραµµα ASM ενός τέτοιου κυκλώµατος είναι στην ουσία οι προδιαγραφές που µας δίνονται γι' αυτό. Εκείνο που µας ζητείται είναι η σχεδίαση του κυκλώµατος και η τελική υλοποίησή του µε FFs και πύλες. Το πώς σχεδιάζουµε σύγχρονα ακολουθιακά κυκλώµατα το µάθαµε στο Κεφάλαιο 2. Συνεπώς, είµαστε σε θέση να αξιοποιήσουµε εκείνες τις γνώσεις µας και να τις εφαρµόσουµε στην προκειµένη περίπτωση της σχεδίασης µιας µονάδας ελέγχου. Πιο συγκεκριµένα, µπορούµε να καταστρώσουµε τον πίνακα καταστάσεων, όπου θα φαίνεται η παρούσα και η επόµενη κατάσταση, και από αυτόν να προσδιορίσουµε τις εισόδους των FFs, καθώς και τις εξόδους S i, i=0,, 2,..., οι οποίες αποτελούν τα σήµατα ελέγχου προς τη µονάδα δεδοµένων. Θα διαπιστώσουµε γρήγορα ότι η υλοποίηση του κυκλώµατος κατά τα γνωστά, δηλαδή µε FFs τύπου JK και πύλες, δεν είναι η πλέον κατάλληλη µέθοδος, λόγω της δυσκολίας που παρουσιάζεται στην υλοποίηση των συναρτήσεων εισόδου των FFs. Αυτό οφείλεται στο µεγάλο µέγεθος του πίνακα καταστάσεων. Έτσι, θα γνωρίσουµε κάποιες άλλες τεχνικές υλοποίησης µε FFs τύπου D. Μετά τη µελέτη της παρούσας ενότητας θα είστε σε θέση να σχεδιάζετε τη µονάδα ελέγχου ενός ψηφιακού συστήµατος µε τρεις διαφορετικούς τρόπους, δηλαδή µε FFs τύπου JK, µε FFs τύπου D και αποκωδικοποιητή και µε τη χρήση ενός FF τύπου D ανά κατάσταση. Με άλλα λόγια, θα µπορείτε να υλοποιήσετε ένα διάγραµµα ASM µε οποιονδήποτε από τους τρεις αυτούς τρόπους, ανάλογα µε τις απαιτήσεις του προβλήµατος. Ας αρχίσουµε, λοιπόν, να εξετάζουµε όλες αυτές τις τεχνικές υλοποίησης µε τη βοήθεια ενός παραδείγµατος.

161 Παράδειγµα / Κεφάλαιο 5 Να υλοποιηθεί η µονάδα ελέγχου ενός σύγχρονου ψηφιακού συστήµατος, το οποίο να δέχεται έναν αριθµό και να τον αυξάνει κατά ή να τον µειώνει κατά ή να τον πολλαπλασιάζει επί 2 ή να τον διαιρεί δια 2, ανάλογα µε το αν οι δύο από τις εισόδους του κυκλώµατος είναι 00, 0, 0 ή αντίστοιχα. Μία τρίτη είσοδος δίνει το έναυσµα για την έναρξη της όλης διαδικασίας. Λύση: Η υλοποίηση της συγκεκριµένης µονάδας ελέγχου, όπως και οποιασδήποτε άλλης σύγχρονης µηχανής καταστάσεων, γίνεται σε τρία στάδια, τα εξής:. Σχεδίαση του διαγράµµατος ASM. 2. Κατάστρωση του πίνακα καταστάσεων. 3. Υλοποίηση µε FFs και πύλες. Η σχεδίαση του διαγράµµατος ASM είναι το πιο δύσκολο από τα στάδια, αφού πρέπει η φραστική περιγραφή του προβλήµατος να αποδοθεί γραφικά µε τρόπο τέτοιο, ώστε να περιγράφεται µε σαφήνεια η λειτουργία του κυκλώµατος (hardware). Το διάγραµµα ASM για το συγκεκριµένο παράδειγµα είναι εκείνο του Σχήµατος 5.5. Χ, Υ είναι οι δύο είσοδοι του κυκλώµατος, που καθορίζουν τον τύπο της πράξης που θα γίνει στα δεδοµένα (καταχωρητής Α), και G η είσοδος για την έναρξη ενός νέου κύκλου πράξεων. Στο διάγραµµα αυτό υπάρχουν 6 στοιχεία κατάστασης, τα οποία συµβολίσαµε ως S 0, S,..., S 5. Για την κωδικοποίηση της κάθε κατάστασης από αυτές απαιτούνται 3 bits, αφού 2 3 =8>6. Μάλιστα δύο από τους συνδυασµούς θα µείνουν αχρησιµοποίητοι. Ο κώδικας κάθε κατάστασης αναγράφεται στο πάνω δεξιά µέρος κάθε στοιχείου κατάστασης. Το επόµενο στάδιο είναι η κατάστρωση του πίνακα καταστάσεων. Θυµηθείτε ότι ένας πίνακας καταστάσεων αποτελείται από τρία τµήµατα. Στο πρώτο καταγράφονται όλοι οι δυνατοί συνδυασµοί των εισόδων και της παρούσας κατάστασης. Στο δεύτερο γράφουµε την επόµενη κατάσταση και στο τρίτο τις εισόδους των FFs καθώς και τις πιθανές εξόδους του κυκλώµατος. Η γενική µορφή ενός πίνακα καταστάσεων για την περίπτωση των µονάδων ελέγχου, που µελετάµε στο παρόν κεφάλαιο, είναι αυτή που ακολουθεί. 2

162 ΠΙΝΑΚΑΣ ΚΑΤΑΣΤΑΣΕΩΝ ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ ΕΙΣΟ ΟΙ ΤΩΝ FFs ΕΙΣΟ ΟΙ ΕΞΟ ΟΙ X k- X X 0 Q n- Q Q 0 Q n- Q Q 0 S 0 S S N- J n- K n- J K J 0 K 0 (2 n+k δυνατοί συνδυασµοί) Παρατηρήστε ότι οι δυνατοί συνδυασµοί, δηλαδή οι γραµµές του πίνακα, είναι 2 n+k, όπου n το πλήθος των FFs του κυκλώµατος και k το πλήθος των εισόδων αυτού. Για την περίπτωση του παραδείγµατος που µελετάµε έχουµε 3 εισόδους (τις G, X, Y) και 3 FFs µε εξόδους Q 2, Q, Q 0 (όσα και τα bits για την κωδικοποίηση κάθε κατάστασης). Συνεπώς, οι γραµµές του πίνακα θα είναι 2 6 =64. Ευτυχώς, όµως, δεν θα χρειαστεί να καταγράψουµε όλους αυτούς τους δυνατούς συνδυασµούς, αφού, όπως εύκολα µπορούµε να διαπιστώσουµε, υπάρχουν πολλοί αδιάφοροι όροι. Για παράδειγµα, όταν η είσοδος G=0, τότε, ανεξάρτητα από την τιµή των άλλων εισόδων, το κύκλωµα παραµένει στην κατάσταση 000. Μας αρκεί λοιπόν µια µόνο γραµµή του Πίνακα. Πίνακας 5.. Πίνακας καταστάσεων της µονάδας ελέγχου του Παραδείγµατος / Κεφάλαιο 5. ΕΙΣΟ ΟΙ ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ ΕΞΟ ΟΙ ΕΙΣΟ ΟΙ ΤΩΝ FFs G X Y Q 2 Q Q 0 Q 2 Q Q 0 S 0 S S 2 S 3 S 4 S 5 J 2 K 2 J K J 0 K 0 0 X X X 0 X 0 X X X X 0 X X X X 0 X X X X 0 X X 0 X X X X X X X X 0 X X X X 0 X 0 X X X X X 0 X X X X X X X 0 X X X X X X X Για να βοηθηθούµε στην κατάστρωση του πίνακα καταστάσεων του παραδείγµατος που µελετάµε, είναι χρήσιµο να διακρίνουµε τα διάφορα τµήµατα ASM, στα οποία χωρίζεται το διάγραµµα ASM, που σχεδιάσαµε. Τα τµήµατα αυτά δείχνονται µε 3

163 διακεκοµµένες γραµµές στο Σχήµα 5.2β. Κάθε µετάβαση από το ένα στοιχείο κατάστασης στο επόµενο θα αντιστοιχεί σε µια γραµµή του πίνακα καταστάσεων. Ο Πίνακας 5. είναι ο πίνακας καταστάσεων, που αντιστοιχεί στη µηχανή καταστάσεων του Παραδείγµατος / Κεφάλαιο 5. Παρατηρούµε ότι οι γραµµές του πίνακα είναι 0 και όχι 64, γιατί 0 είναι και οι δυνατές µεταβάσεις του κυκλώµατος. Ας δούµε αναλυτικά πώς προέκυψε ο πίνακας αυτός. Όταν η είσοδος G=0 και ανεξάρτητα από τις τιµές των εισόδων Χ, Υ, το κύκλωµα παραµένει στην κατάσταση S 0 =000. Αν η είσοδος G γίνει, τότε από την κατάσταση S 0 =000 µεταβαίνει στην κατάσταση S =00, ανεξάρτητα και πάλι από τις τιµές των εισόδων Χ, Υ. (Οι συνθήκες αδιαφορίας σηµειώνονται µε το σύµβολο Χ). Όταν ο έλεγχος βρίσκεται στην κατάσταση S, τότε εξετάζονται οι είσοδοι Χ, Υ και ανάλογα µε την τιµή τους ο έλεγχος µεταφέρεται σε µια από τις καταστάσεις S 2, S 3, S 4, S 5 (3 η µέχρι και 6 η γραµµή του Πίνακα 5.). Σε όλες αυτές τις περιπτώσεις η τιµή της εισόδου G µας είναι αδιάφορη. Τέλος, µετά από καθεµιά από τις καταστάσεις S 2, S 3, S 4, S 5 ο έλεγχος µεταφέρεται στην κατάσταση S 0 χωρίς όρους, δηλαδή ανεξάρτητα από τις τιµές των G, X, Y (γραµµές 7 έως 0 του Πίνακα 5.). Στο σηµείο αυτό έχει σχεδόν ολοκληρωθεί η διαδικασία κατάστρωσης του πίνακα. Είναι το πιο δύσκολο µέρος της διαδικασίας, αφού θα πρέπει να συµπεριλάβουµε όλες τις δυνατές µεταβάσεις. Μέχρι αυτό το σηµείο έχουµε συµπληρώσει τις δύο πρώτες στήλες του πίνακα. Η τρίτη στήλη, που δίνει τις εξόδους S 0,..., S 5 της µονάδας ελέγχου, µπορεί πολύ εύκολα να συµπληρωθεί από τη στήλη της παρούσας κατάστασης (όχι της επόµενης κατάστασης). Έτσι, αν η παρούσα κατάσταση είναι 000, τότε S 0 = και όλες οι άλλες έξοδοι είναι 0. Όµοια, αν η παρούσα κατάσταση είναι, τότε S =, και οι υπόλοιπες έξοδοι 0, κ.ο.κ. Έχοντας ολοκληρώσει τον πίνακα καταστάσεων, αυτό που αποµένει είναι η υλοποίηση του κυκλώµατος. Η υλοποίηση αυτή θα µπορούσε να γίνει µε FFs τύπου JK, όπως έχουµε µάθει στο Κεφάλαιο 2. Αυτή τη µέθοδο υλοποίησης θα τη δούµε στην επόµενη υποενότητα Στη συνέχεια θα µελετήσουµε και άλλες εναλλακτικές µεθόδους υλοποίησης µε FFs τύπου D (υποενότητες και 5.2.3). 4

164 5.2.. Υλοποίηση της µονάδας ελέγχου µε FFs τύπου JK Σύµφωνα µε αυτή τη µέθοδο υλοποίησης, χρησιµοποιούµε ένα FF τύπου JK για κάθε Q i, i=0,,..., n- του πίνακα καταστάσεων 3. Προσδιορίζουµε τις συναρτήσεις εισόδου για κάθε J i, Κ i και σχεδιάζουµε το σύγχρονο ακολουθιακό κύκλωµα. Για να γίνει κατανοητό αυτό, ας συνεχίσουµε την υλοποίηση της µονάδας ελέγχου του Παραδείγµατος / Κεφάλαιο 5. Εδώ χρειαζόµαστε τρία FFs τύπου JK. Με βάση τον πίνακα διέγερσης του JK FF και την παρούσα και επόµενη κατάσταση του Πίνακα 5., συµπληρώνουµε το τελευταίο τµήµα των εισόδων των FFs του ίδιου πίνακα. Έτσι προσδιορίζουµε τις συναρτήσεις εισόδου για κάθε J i, Κ i, i=0,, 2. Η καλύτερη απλοποίηση των συναρτήσεων εισόδου επιτυγχάνεται µε τη βοήθεια των χαρτών Karnaugh. Αυτή, όµως, είναι µια πολύ επίπονη διαδικασία, όταν υπάρχουν 6 µεταβλητές (G, X, Y, Q 2, Q, Q 0 ), όπως στην περίπτωσή µας. Αυτός είναι άλλωστε και ο λόγος, για τον οποίο θα µελετήσουµε και άλλες εναλλακτικές µεθόδους υλοποίησης αµέσως µετά. Ας προχωρήσουµε στον προσδιορισµό των συναρτήσεων εισόδου χωρίς τη χρήση χαρτών. Από τον Πίνακα 5. έχουµε: J 2 = X Υ W + X ΥW + XΥ W + XΥW = (X Υ + XΥ )W + (X Υ + XY)W = =(X Y)W + (X Y) W = AW + A W = (A + A )W = W, όπου W = Q2 Q Q0 και Α = Χ Υ Κ 2 = J = XΥ W + XΥW = (Y + Υ)XW = XW K = J0 = GQ2 Q Q0 = GR, όπου R = Q2 Q Q0 K 0 = X Υ W + XΥ W + QQ Q + Q 2 Q Q 0 = (X + Χ)Υ W + ( Q + Q )Q 2 Q 0 = = Y W + Q 2 Q Υπενθυµίζεται ότι η υλοποίηση ενός σύγχρονου ακολουθιακού κυκλώµατος, όπως είναι µια µονάδα ελέγχου, θα µπορούσε να γίνει και µε FFs τύπου T, D, SR. Μας συµφέρει, όµως, να χρησιµοποιούµε FFs τύπου JK, γιατί ο πίνακας διέγερσης αυτών περιέχει περισσότερες συνθήκες αδιαφορίας και τα κυκλώµατα που προκύπτουν είναι απλούστερα. 5

165 Για να ολοκληρωθεί η διαδικασία υλοποίησης της µονάδας ελέγχου, πρέπει να προσδιορίσουµε και τις εξόδους της S 0, S,..., S 5. Από το ο και 3 ο τµήµα του Πίνακα 5. βρίσκουµε ότι: S 0 = G R + GR = (G + G)R = R S = J 2 = W S 2 = Q2 Q Q0 S 3 = Q Q Q 2 0 S 4 = QQQ 2 0 S 5 = Q 2 Q Q 0 Άρα, το τελικό κύκλωµα της µονάδας ελέγχου του Παραδείγµατος / Κεφάλαιο 5, υλοποιηµένο µε FFs τύπου JK, είναι αυτό του Σχήµατος 5.6 α. ΜΟΝΑ Α ΕΛΕΓΧΟΥ J2 Q2 FF2 Κ 2 Q'2 S0 X J Q FF Κ Q' S G J0 Q0 FF0 S2 Y Κ 0 Q'0 Q2 Q' Q0 S3 Q2 Q Q'0 S4 Q2 Q S5 Q0 (α) ΜΟΝΑ Α ΕΛΕΓΧΟΥ J2 Q2 FF2 Κ 2 X J Q FF Κ Αποκωδικοποίηση 3-σε-8 Ε0 Ε Ε2 Ε3 Ε4 Ε5 Ε6 S0 S S2 S3 S4 Ε7 S5 G J0 Q0 FF0 Y Κ 0 (β) Σχήµα 5.6. Υλοποίηση της µονάδας ελέγχου του διαγράµµατος ASM του Σχήµατος 5.5 µε FF τύπου JK: (α) µόνο µε πύλες, (β) µε τη χρήση ενός αποκωδικοποιητή. 6

166 ραστηριότητα / Κεφάλαιο 5 Προτείνετε εναλλακτικές λύσεις για τη µείωση της πολυπλοκότητας του συνδυαστικού κυκλώµατος της εξόδου µιας µονάδας ελέγχου, η οποία έχει υλοποιηθεί µε FFs τύπου JK. Παρατηρώντας το κύκλωµα αυτό, διαπιστώνουµε ότι η µεγαλύτερη πολυπλοκότητα βρίσκεται στη δηµιουργία των σηµάτων ελέγχου S 0, S,..., S 5, όπου χρειαζόµαστε 6 πύλες AND των τριών εισόδων η καθεµιά. Στην πράξη, οι πύλες αυτές συντελούν στην αποκωδικοποίηση των καταστάσεων Q 2 Q Q 0. Εποµένως, είναι φυσικό επακόλουθο να προχωρήσουµε στην αντικατάσταση όλων αυτών των πυλών από ένα κύκλωµα αποκωδικοποίησης 3 εισόδων σε 8 εξόδους (3-to-8 decoder). Το νέο κύκλωµα της µονάδας ελέγχου δίνεται στο Σχήµα 5.6β. Άσκηση Αυτοαξιολόγησης 3 / Κεφάλαιο 5 Το διάγραµµα ASM του Σχήµατος 5.7 περιγράφει τη λειτουργία της µονάδας ελέγχου ενός δυαδικού πολλαπλασιαστή. Να υλοποιήσετε αυτή µε FFs τύπου JK. Αρχική κατάσταση 0 G A 0 E 0 C n C C 0 Yt A A + B E Count Z Σχήµα 5.7. ιάγραµµα ASM ενός δυαδικού πολλαπλασιαστή. 7

167 Υλοποίηση µονάδας ελέγχου µε FFs τύπου D και αποκωδικοποιητή Είδαµε ότι η υλοποίηση µιας µονάδας ελέγχου µε FFs τύπου JK παρουσιάζει δυσκολία στην απλοποίηση των συναρτήσεων εισόδου των FFs, καθώς και των συναρτήσεων εξόδου της µονάδας. Ένας εναλλακτικός τρόπος σχεδίασης είναι αυτός, κατά τον οποίο χρησιµοποιούµε FFs τύπου D, αντί για FFs τύπου JK. Έτσι, το τελευταίο τµήµα του πίνακα καταστάσεων, όπου καταγράφονται οι είσοδοι των FFs, όπως αυτές προκύπτουν από τον πίνακα διέγερσης, δεν χρειάζεται πλέον. Αυτό συµβαίνει, επειδή στο FF τύπου D η επόµενη κατάσταση ισούται µε την τιµή της εισόδου του D. Έτσι, διατρέχοντας τις στήλες της επόµενης κατάστασης του πίνακα καταστάσεων και εντοπίζοντας τις περιπτώσεις, που το κάθε D FF πρέπει να γίνει, γράφουµε τη συνάρτηση της εισόδου µε βάση τις µεταβλητές της παρούσας κατάστασης. Για την περίπτωση του Πίνακα 5. έχουµε: D 2 = X Υ W + X ΥW + XΥ W + XΥW = W, όπου W = Q2QQ0 D = XΥ W + XΥW = (Υ + Y)XW = XW D 0 = G Q2 Q Q0 + X YW + XYW = G Q2 Q Q0 + YW Για την απλοποίηση του κυκλώµατος, που απαιτείται για τη δηµιουργία των σηµάτων ελέγχου S 0 έως S 5, χρησιµοποιούµε έναν αποκωδικοποιητή 3-σε-8, όπως κάναµε και προηγουµένως (Σχήµα 5.6β). Ο αποκωδικοποιητής αυτός δέχεται στις εισόδους του τις εξόδους των FFs Q 2, Q, Q 0 και παράγει τις εξόδους Ε 0 έως Ε 7. Καθεµία από αυτές γίνεται, µόνον όταν ο αντίστοιχος ελαχιστόρος γίνει. Για παράδειγµα, η έξοδος Ε γίνεται, όταν στην είσοδο παρουσιαστεί ο αριθµός 00, δηλαδή όταν Q 2 Q Q 0 =00. Με άλλα λόγια, ισχύει Ε =Q2 Q Q0. Εποµένως, εύκολα καταλαβαίνουµε ποιες από τις εξόδους E j, j=0,,..., 7 του αποκωδικοποιητή είναι αυτές που αντιστοιχούν στα σήµατα ελέγχου S 0, S,..., S 5. Έχουµε, δηλαδή, S 0 =E 0, S =E, S 2 =E 4, S 3 =E 5, S 4 =E 6, S 5 =E 7. Επανερχόµενοι τώρα στις εισόδους D των FFs, διαπιστώνουµε ότι θα µπορούσαµε να υλοποιήσουµε εύκολα τις συναρτήσεις, µε χρήση των σηµάτων εξόδου S 0, S,..., S 5. Βλέπουµε ότι: D 2 = W = Q2 Q Q0 = S D = XW = XS D 0 = G Q2 Q Q0 + YW = GS 0 + YS Το τελικό κύκλωµα της υπό συζήτηση µονάδας ελέγχου, υλοποιηµένο µε FFs τύπου D και αποκωδικοποιητή, δείχνεται στο Σχήµα

168 D2 Q2 FF2 X D Q FF Αποκωδικοποίηση 3-σε-8 Ε0 Ε Ε2 Ε3 Ε4 Ε5 Ε6 S0 S S2 S3 S4 Ε7 S5 G D0 Q0 FF0 Y Σχήµα 5.8. Υλοποίηση του διαγράµµατος ASM του Σχήµατος 5.5 µε FFs τύπου D και αποκωδικοποιητή. Άσκηση Αυτοαξιολόγησης 4 / Κεφάλαιο 5 Να υλοποιηθεί το διάγραµµα ASM του Σχήµατος 5.7 µε FFs τύπου D και αποκωδικοποιητή Υλοποίηση µονάδας ελέγχου µε ένα FF τύπου D ανά κατάσταση Ένας άλλος τρόπος υλοποίησης µιας µονάδας ελέγχου είναι µε τη χρήση ενός FF τύπου D για κάθε κατάσταση S 0, S,... του κυκλώµατος. Σε κάθε χρονική στιγµή ένα µόνο από τα FFs είναι ενεργοποιηµένο. Αυτός ο τρόπος παρουσιάζει το πλεονέκτηµα ότι το κύκλωµα µπορεί να υλοποιηθεί κατ' ευθείαν από το διάγραµµα καταστάσεων, και όχι από τον πίνακα καταστάσεων. Το µειονέκτηµα είναι ότι ο αριθµός των FFs, που απαιτούνται, δεν είναι ο ελάχιστος δυνατός. Έτσι, για την περίπτωση του Παραδείγµατος / Κεφάλαιο 5, στο οποίο έχουµε 6 καταστάσεις, απαιτούνται 6 FFs και όχι 3, όπως έγινε στην περίπτωση των προηγούµενων δύο τεχνικών υλοποίησης. Ας γνωρίσουµε, 9

169 λοιπόν, αυτόν τον τρόπο υλοποίησης, εφαρµόζοντάς τον για τη µονάδα ελέγχου, της οποίας η λειτουργία δίνεται από το διάγραµµα ASM του Σχήµατος 5.5. Κατ' αρχήν, µε βάση το διάγραµµα ASM, σχεδιάζουµε το διάγραµµα καταστάσεων του κυκλώµατος (Σχήµα 5.9). G=0 G= S0 S S2 S3 S4 S5 xy=00 xy=0 xy=0 xy= Σχήµα 5.9. ιάγραµµα καταστάσεων της µονάδας ελέγχου του Σχήµατος 5.5. Παρατηρούµε ότι τα 0 βέλη του διαγράµµατος αυτού αντιστοιχούν, στην ουσία, στις 0 γραµµές του πίνακα καταστάσεων (Πίνακας 5.). Όπως αναφέραµε στην προηγούµενη παράγραφο, θα χρειαστούµε 6 FFs τύπου D, όσες είναι και οι έξοδοι (σήµατα ελέγχου) της µονάδας ελέγχου. Η είσοδος D κάθε FF καθορίζεται από τα βέλη, που καταλήγουν στην κατάσταση που αντιπροσωπεύει το συγκεκριµένο FF. Η αφετηρία ενός βέλους και οι συνθήκες, που αναγράφονται κατά µήκος αυτού, αποτελούν τη συνάρτηση εισόδου του FF. Για παράδειγµα, η είσοδος D 2 του FF 2, από το οποίο θα πάρουµε την κατάσταση S 2, θα ισούται µε D 2 = X Υ S, γιατί, µόνον εφόσον το κύκλωµα βρίσκεται στην κατάσταση S και X=Y=0, επιτρέπεται να µεταβεί στην κατάσταση S 2, δηλαδή επιτρέπεται η έξοδος S 2 να γίνει. Όµοια προκύπτει ότι: D 3 = X YS, D 4 = XY S, D 5 = XYS, D = GS 0. Στην κατάσταση S 0 καταλήγουν πολλά βέλη, και συνεπώς η συνάρτηση θα προκύψει ως το λογικό OR όλων των γινοµένων, που αντιπροσωπεύουν καθένα από τα βέλη αυτά, δηλαδή S 0 = G S 0 + S 2 + S 3 + S 4 + S 5. Η µετάβαση από οποιαδήποτε των καταστάσεων S 2, S 3, S 4, S 5 στην κατάσταση S 0 γίνεται χωρίς όρους, γι' αυτό και στα αντίστοιχα βέλη δεν αναγράφεται οποιαδήποτε συνθήκη. Το κύκλωµα της µονάδας ελέγχου, υλοποιηµένο µε ένα FF τύπου D ανά κατάσταση, δείχνεται στο Σχήµα

170 D0 FF0 Q0 S0 G D FF Q S X Y D2 FF2 Q2 S2 D3 FF3 Q3 S3 D4 Q4 FF4 S4 D5 FF5 Q5 S5 Σχήµα 5.0. Υλοποίηση του διαγράµµατος ASM του Σχήµατος 5.5 µε ένα FF τύπου D ανά κατάσταση. Άσκηση Αυτοαξιολόγησης 5 / Κεφάλαιο 5 Να υλοποιηθεί το διάγραµµα ASM του Σχήµατος 5.7, χρησιµοποιώντας ένα FF τύπου D ανά κατάσταση. ραστηριότητα 2 / Κεφάλαιο 5 Προτείνετε µεθόδους για την υλοποίηση των µονάδων ελέγχου µε το µικρότερο δυνατό πλήθος ολοκληρωµένων κυκλωµάτων. Εκτός από τις τρεις µεθόδους υλοποίησης που περιγράψαµε στην παρούσα ενότητα, υπάρχουν και άλλες, όπως η υλοποίηση µε πολυπλέκτες ή η υλοποίηση µε προγραµµατιζόµενες λογικές διατάξεις (PLA, Programmable Logic Arrays). Η βασική φιλοσοφία υλοποίησης έχει παρουσιαστεί µέσα από τις µεθόδους που γνωρίσαµε µέχρι τώρα. Έγινε κατανοητό ότι µπορούν να γίνουν διάφοροι συνδυασµοί για την αποφυγή των διάσπαρτων πυλών, που προκύπτουν από καθεµία από τις µεθόδους. Έτσι, είδαµε στο Σχήµα 5.6 ότι µπορούµε να αποφύγουµε τις πύλες αποκωδικοποίησης, χρησιµοποιώντας ένα ολοκληρωµένο κύκλωµα αποκωδικοποιητή. Με παρόµοιο τρόπο, 2

171 θα µπορούσαµε να αντικαταστήσουµε τις πύλες των εισόδων των FFs µε κυκλώµατα πολυπλεκτών (mux, multiplexer) ή να αντικαταστήσουµε όλο το συνδυαστικό µέρος της µονάδας ελέγχου µε µια προγραµµατιζόµενη λογική διάταξη. Αυτό ακριβώς είναι που κάνουν οι δύο άλλες µέθοδοι που προαναφέραµε, αλλά η λεπτοµερής περιγραφή τους είναι εκτός των στόχων του παρόντος βιβλίου. Ο ενδιαφερόµενος αναγνώστης µπορεί να ανατρέξει στη βιβλιογραφία που δίνεται στο τέλος του Κεφαλαίου. Σύνοψη Ενότητας Στην ενότητα αυτή µελετήσαµε τους τρόπους υλοποίησης µιας µονάδας ελέγχου, δηλαδή µιας σύγχρονης µηχανής καταστάσεων. Η µονάδα ελέγχου είναι ένα σύγχρονο ακολουθιακό κύκλωµα, και συνεπώς η σχεδίαση αυτής αρχίζει µε την κατάστρωση του πίνακα καταστάσεων και τον προσδιορισµό µέσω αυτού των λογικών συναρτήσεων των εισόδων των FFs και των τελικών εξόδων (σηµάτων ελέγχου). Τα FFs, που συνήθως χρησιµοποιούµε, είναι τύπου JK ή D. Έτσι γνωρίσαµε δύο σχετικές µεθόδους υλοποίησης, την υλοποίηση µε FFs τύπου JK και την υλοποίηση µε FFs τύπου D, µε ή χωρίς αποκωδικοποιητή. Τέλος, είδαµε τη µέθοδο υλοποίησης µε ένα FF τύπου D ανά κατάσταση. Για την υλοποίηση µε βάση τη µέθοδο αυτή, δεν χρειάζεται ο πίνακας καταστάσεων, αλλά το διάγραµµα καταστάσεων του κυκλώµατος. Το πλήθος των FFs, που απαιτούνται, είναι ίσο µε το πλήθος των σηµάτων ελέγχου, που θέλουµε να δηµιουργήσουµε. ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ Στο Κεφάλαιο αυτό µελετήσαµε τις αλγοριθµικές µηχανές καταστάσεων. Γνωρίσαµε τα διαγράµµατα ASM, τα οποία περιγράφουν τον τρόπο λειτουργίας των µηχανών καταστάσεων. Στη συνέχεια ασχοληθήκαµε µε τις διαφορετικές µεθόδους υλοποίησης της µονάδας ελέγχου, δίνοντας έµφαση στις µεθόδους υλοποίησης µε FFs τύπου JK ή D, καθώς και στη µέθοδο υλοποίησης µε ένα FF ανά κατάσταση. Η µονάδα ελέγχου είναι εκείνο το τµήµα ενός ψηφιακού συστήµατος το οποίο συντονίζει την έναρξη ή τη λήξη κάποιων ενεργειών της µονάδας δεδοµένων, ελέγχει τους δείκτες κατάστασης και αποφασίζει για τις επόµενες ενέργειες. Είναι σηµαντικό να αναφερθεί και πάλι ότι τόσο η µονάδα ελέγχου, όσο και η µονάδα δεδοµένων χρησιµοποιούν το ίδιο (κοινό) ρολόι για το συγχρονισµό τους. 22

172 ΒΙΒΛΙΟΓΡΑΦΙΑ ΕΛΛΗΝΟΓΛΩΣΣΗ Mano Morris M., Ψηφιακή Σχεδίαση, (Κεφ. 8), Εκδόσεις Παπασωτηρίου, 992. ΞΕΝΟΓΛΩΣΣΗ Daniels J. D., Digital Design from Zero to One, (Chap. 7), J. Wiley & Sons, 996. Wakerly J. F., Digital Design: Principles and Practices, 2 nd Edition, (Chap. 8), Prentice Hall, 994. Ο ΗΓΟΣ ΠΕΡΑΙΤΕΡΩ ΜΕΛΕΤΗΣ Mano Morris M., Ψηφιακή Σχεδίαση, (Κεφ. 8), Εκδόσεις Παπασωτηρίου, 992. Συστηµατική παρουσίαση των διαγραµµάτων ASM καθώς και των µεθόδων υλοποίησης µονάδων ελέγχου γίνεται στο Κεφάλαιο 8 του βιβλίου. Wakerly J. F., Digital Design: Principles and Practices, 2 nd Edition, (Chap. 8), Prentice Hall, 994. Το Κεφάλαιο 8 του βιβλίου είναι αποκλειστικά αφιερωµένο στη σχεδίαση σύγχρονων κυκλωµάτων, όπου και παρουσιάζονται ορισµένα ενδιαφέροντα παραδείγµατα. ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ Απάντηση Άσκησης Αυτοαξιολόγησης / Κεφάλαιο 5 Για να το πετύχουµε αυτό, θα πρέπει να ελέγχουµε την είσοδο Ε µετά από κάθε κατάσταση. Αν Ε=, τότε η µέτρηση θα συνεχίζεται, ενώ, αν Ε=0, τότε η µέτρηση θα σταµατά στην κατάσταση που έγινε ο έλεγχος. Το διάγραµµα ASM, που πετυχαίνει αυτή τη λειτουργία, φαίνεται στο Σχήµα 5.. Πρόκειται για ένα διάγραµµα όµοιο µε εκείνο του Σχήµατος 5.4β, στο οποίο όµως ο έλεγχος του Ε γίνεται µετά από κάθε κατάσταση. 23

173 S E S 0 0 E S2 0 0 E S3 0 E Σχήµα 5.. ιάγραµµα ASM ενός απαριθµητή mod-4 µε δυνατότητα έναρξης και παύσης της απαρίθµησης σε οποιαδήποτε στιγµή. Αν δεν καταφέρατε να απαντήσετε σωστά, µην απογοητευθείτε. Πρόκειται για νέες έννοιες, οι οποίες στην αρχή προκαλούν κάποια σύγχυση. Μελετήστε και πάλι την ενότητα 5. και προσπαθήστε να κατανοήσετε τους ορισµούς. Στη συνέχεια επιχειρήστε ξανά να απαντήσετε την άσκηση. Αν από την άλλη πλευρά, απαντήσατε σωστά, τότε µπράβο σας. Σηµειώστε τα διαφορετικά τµήµατα ASM στο σχήµα που σχεδιάσατε και συνεχίστε µε την επίλυση της επόµενης άσκησης. Απάντηση Άσκησης Αυτοαξιολόγησης 2 / Κεφάλαιο 5 εν είναι δύσκολο να καταλάβουµε ότι το διάγραµµα ASM, που µας δίνεται, αντιπροσωπεύει τον τρόπο λειτουργίας µιας µονάδας ελέγχου, η οποία δέχεται 3 εισόδους, τις G, X, Y, και έχει ως εξόδους τα 6 σήµατα ελέγχου S 0, S, S 2, S 3, S 4, S 5 (Σχήµα 5.2 α ). Ας δούµε τη λειτουργία αυτής της µηχανής καταστάσεων, όπως αυτή προκύπτει από το διάγραµµα ASM. G X Y Μονάδα Ελέγχου (α) S0 S S2 S3 S4 S5 24

174 S0 000 A 0 0 G X S 00 A B X 0 X 0 0 Y Y A A+ A A A 2A A A/ 2 S2 S3 S4 S5 (β) Σχήµα 5.2. (α) Γενικό λογικό διάγραµµα και (β) διάγραµµα ASM της µηχανής καταστάσεων της άσκησης αυτοαξιολόγησης 2 / Κεφάλαιο 5. Το στοιχείο κατάστασης S 0 µας λέει ότι γίνεται εκκαθάριση του καταχωρητή Α και ο έλεγχος "περνάει" στο στοιχείο απόφασης. Όταν G=0, τότε ο έλεγχος µεταφέρεται και πάλι στην κατάσταση S 0. Η είσοδος G δίνει το σύνθηµα για την έναρξη της λειτουργίας. Έτσι, όταν G=, ο έλεγχος µεταφέρεται στην επόµενη κατάσταση S, κατά την οποία στον καταχωρητή Α φορτώνεται το περιεχόµενο του καταχωρητή Β. Ακολουθεί ο έλεγχος των εισόδων Χ και Υ. Για ΧΥ=00, ο καταχωρητής Α αυξάνεται κατά, ενώ για ΧΥ=0, αυτός µειώνεται κατά. Για ΧΥ=0, ο καταχωρητής Α πολλαπλασιάζεται επί 2 (π.χ. αριστερή ολίσθηση κατά θέση), ενώ για ΧΥ=, αυτός διαιρείται δια 2 (π.χ. δεξιά ολίσθηση κατά θέση). Μετά από οποιαδήποτε από τις τελευταίες τέσσερεις καταστάσεις, ο έλεγχος µεταφέρεται στην αρχική κατάσταση S 0 και παραµένει εκεί µέχρι να δοθεί το έναυσµα για ένα νέο κύκλο, δηλαδή µέχρις ότου G=. Τα τµήµατα ASM δείχνονται µε διακεκοµµένες γραµµές στο Σχήµα 5.2β. Υπάρχουν 6 τµήµατα, όσα και τα στοιχεία κατάστασης του διαγράµµατος. Υπενθυµίζεται ότι όλες οι ενέργειες, που εµπεριέχονται σ' ένα τµήµα, γίνονται στη διάρκεια µιας περιόδου του ωρολογιακού παλµού. Η απάντηση της άσκησης αυτής ήταν πραγµατικά δύσκολη, γι αυτό µην απογοητευθείτε, αν δεν καταφέρατε να την απαντήσετε σωστά και ολοκληρωµένα. 25

175 Πρόκειται, όπως είδατε, για ένα πλήρες σενάριο ενός ολόκληρου αλγορίθµου. Μελετήστε και πάλι την άσκηση. Θα διαπιστώσετε ότι ο διαχωρισµός των τµηµάτων ASM δεν είναι τελικά δύσκολη υπόθεση, αφού συµφωνεί απόλυτα µε τον ορισµό που δώσαµε στην ενότητα 5.. Απάντηση Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 5 Παρατηρούµε ότι το διάγραµµα ASM του δυαδικού πολλαπλασιαστή του Σχήµατος 5.7 αποτελείται από 4 στοιχεία κατάστασης. Ονοµάζουµε αυτά S 0, S, S 2, S 3 και τα κωδικοποιούµε ως 00, 0, 0 και αντίστοιχα. ιακρίνουµε και τα 4 τµήµατα ASM µε διακεκοµµένες γραµµές, όπως φαίνεται στο Σχήµα 5.3 α, για να βοηθηθούµε στην κατάστρωση του πίνακα καταστάσεων. Σηµειώνεται ότι οι ενέργειες, που καθορίζονται από κάθε κατάσταση, εκτελούνται στη µονάδα δεδοµένων και όχι στη µονάδα ελέγχου, γι' αυτό και δεν αναγράφονται στα στοιχεία κατάστασης και εξόδου από συνθήκη του Σχήµατος 5.3 α. Στόχος µας είναι η υλοποίηση της µονάδας ελέγχου, το γενικό διάγραµµα της οποίας δείχνεται στο Σχήµα 5.3β. Για να το πετύχουµε αυτό, καταστρώνουµε τον πίνακα καταστάσεων του κυκλώµατος (Πίνακας 5.2). Ο πίνακας αυτός προκύπτει από το διάγραµµα ASM. Κάθε γραµµή του πίνακα καταστάσεων αντιστοιχεί σε µια διαφορετική µετάβαση του διαγράµµατος ASM. S S G 0 G Y Z Μονάδα ελέγχου S0 S S2 S3 S2 0 (β) 0 Y S3 0 Z Σχήµα 5.3. (α) ιάγραµµα ASM και (β) γενική µορφή της µονάδας ελέγχου του δυαδικού πολλαπλασιαστή (α) 26

176 Πίνακας 5.2. Πίνακας καταστάσεων της µονάδας ελέγχου του δυαδικού πολλαπλασιαστή. ΕΙΣΟ ΟΙ ΠΑΡΟΥΣΑ ΚΑΤΑΣΤΑΣΗ ΕΠΟΜΕΝΗ ΚΑΤΑΣΤΑΣΗ ΕΞΟ ΟΙ ΕΙΣΟ ΟΙ ΤΩΝ FFs G Y Z Q Q 0 Q Q 0 S 0 S S 2 S 3 J K J 0 K 0 0 X X X 0 X X X X X X X X X X X X X X 0 X X X X 0 X X X X X Με βάση την παρούσα κατάσταση βρίσκουµε τις εξόδους S 0, S, S 2, S 3 και µε βάση την παρούσα και επόµενη κατάσταση, καθώς και µε τη βοήθεια του πίνακα διέγερσης του FF τύπου JK, προσδιορίζουµε τις εισόδους J, K, J 0, K 0. Έχοντας συµπληρώσει τον πίνακα καταστάσεων, προχωρούµε στον προσδιορισµό των λογικών συναρτήσεων των εισόδων των FFs και των εξόδων S i, i=0,, 2, 3 της µονάδας ελέγχου. Έχουµε εποµένως: S 0 = Q Q0, S = Q Q0, S 2 = Q Q 0, S 3 = Q Q 0 και J = Q Q0, K = Z Q Q 0 = ZS 3, J 0 = G Q Q0 + QQ 0 = GS 0 + S 2, K 0 = Τελικά, το κύκλωµα της µονάδας ελέγχου, υλοποιηµένο µε FFs τύπου JK, είναι αυτό του Σχήµατος 5.4. Μονάδα Ελέγχου J Q FF Z Κ Q' S0 S G Y J0 Κ 0 FF0 Q0 Q'0 S2 S3 Σχήµα 5.4. Το κύκλωµα της µονάδας ελέγχου του δυαδικού πολλαπλασιαστή υλοποιηµένο µε FFs τύπου JK. 27

177 Αν καταφέρατε να απαντήσετε σωστά, τότε συγχαρητήρια. εν θα αντιµετωπίσετε δυσκολία ούτε στα επόµενα, αφού το δύσκολο µέρος της όλης υλοποίησης είναι η κατάστρωση του πίνακα καταστάσεων. Αν όµως δεν τα καταφέρατε, τότε µελετήστε και πάλι το Παράδειγµα / Κεφάλαιο 5, καθώς και την υποενότητα 5.2. και ξαναπροσπαθήστε. Απάντηση Άσκησης Αυτοαξιολόγησης 4 / Κεφάλαιο 5 Για να βρούµε τις λογικές συναρτήσεις των εισόδων D των FFs, χρησιµοποιούµε και πάλι τον πίνακα καταστάσεων 5.2 της άσκησης αυτοαξιολόγησης 3 / Κεφάλαιο 5. ιατρέχοντας τις γραµµές του πίνακα και προσδιορίζοντας πότε η επόµενη κατάσταση είναι, γράφουµε τη λογική έκφραση για κάθε είσοδο D i, i=0,, 2, 3. Οι εκφράσεις των εξόδων S i της µονάδας ελέγχου είναι ίδιες µε εκείνες της προηγούµενης άσκησης αυτοαξιολόγησης, δηλαδή S 0 = Q Q0, S = Q Q0, S 2 = Q Q 0, S 3 = Q Q 0. Έτσι, για τις εισόδους των FFs έχουµε: D = Q Q0 + Q Q 0 + ZQ Q 0 = S + S 2 + ZS 3 D 0 = G Q Q0 + QQ 0 = GS 0 + S 2 Το κύκλωµα που προκύπτει φαίνεται στο Σχήµα 5.5. ΜΟΝΑ Α ΕΛΕΓΧΟΥ Z Y D0 FF0 Q0 Αποκωδικοποιητής 2-σε-4 S0 S S2 S3 G D Q FF Σχήµα 5.5. Το κύκλωµα της µονάδας ελέγχου του δυαδικού πολλαπλασιαστή, υλοποιηµένο µε FFs τύπου D, και αποκωδικοποιητή. 28

178 Αν σχεδιάσατε το σωστό κύκλωµα, τότε σας αξίζουν συγχαρητήρια. Αυτό σηµαίνει ότι έχετε κατανοήσει την όλη µεθοδολογία υλοποίησης µονάδων ελέγχου και µπορείτε να συνεχίσετε µε την επόµενη τεχνική, η οποία θα σας φανεί ακόµα πιο εύκολη. Αν ωστόσο δεν τα καταφέρατε, µην συνεχίσετε ακόµη, πριν επαναλάβετε και πάλι τη διαδικασία. Ανατρέξτε στο Κεφάλαιο 2, για να ξαναθυµηθείτε τον τρόπο σχεδίασης των σύγχρονων ακολουθιακών κυκλωµάτων µε FF τύπου D, και µελετήστε ξανά την υποενότητα Απάντηση Άσκησης Αυτοαξιολόγησης 5 / Κεφάλαιο 5 Για να µπορέσουµε να υλοποιήσουµε τη µονάδα ελέγχου µε ένα FF τύπου D ανά κατάσταση, θα πρέπει πρώτα να σχεδιάσουµε το διάγραµµα καταστάσεων του κυκλώµατος. Αυτό προκύπτει από το διάγραµµα ASM του Σχήµατος 5.7 και φαίνεται στο Σχήµα 5.6 α. Από το διάγραµµα καταστάσεων µπορούµε να προσδιορίσουµε τις λογικές συναρτήσεις των εισόδων των FFs τύπου D. Έχουµε 4 καταστάσεις S 0, S, S 2, S 3 και συνεπώς θα χρειαστούµε 4 FFs (ένα για κάθε κατάσταση), οι είσοδοι των οποίων θα είναι: D 0 = G S 0 + ZS 3 D = GS 0 D 2 = S + Z S 3 D 3 = S 2 Θυµηθείτε ότι παίρνουµε το λογικό OR των µεταβάσεων, που καταλήγουν σε µια κατάσταση, λαµβάνοντας συγχρόνως υπόψη µας τις συνθήκες, υπό τις οποίες γίνεται κάθε µετάβαση, δηλαδή τις συνθήκες που αναγράφονται στα βέλη του διαγράµµατος καταστάσεων. Για παράδειγµα, στην κατάσταση S 2 µπορούµε να µεταβούµε είτε από την κατάσταση S χωρίς όρους είτε από την κατάσταση S 3 υπό τον όρο ότι Ζ=0. Άρα, D 3 = S + Z S 3. Με παρόµοιο τρόπο προέκυψαν και οι εκφράσεις των εισόδων των υπόλοιπων FFs. Το κύκλωµα της µονάδας ελέγχου για την περίπτωση αυτή φαίνεται στο Σχήµα 5.6β. 29

179 ΜΟΝΑ Α ΕΛΕΓΧΟΥ G=0 Z D0 Q0 S0 FF0 G= S0 Z= G D FF Q S S S2 S3 Z=0 Y D2 FF2 Q2 S2 (α) D3 Q3 S3 FF3 Σχήµα 5.6. (α) ιάγραµµα καταστάσεων και (β) κύκλωµα της µονάδας ελέγχου του δυαδικού πολλαπλασιαστή. Αν απαντήσατε σωστά, τότε µπράβο σας. Αν πάλι δεν τα καταφέρατε, τότε ξαναπροσπαθήστε, αφού πρώτα επαναλάβετε τη µελέτη της υποενότητας Θα διαπιστώσετε ότι αυτός ο τρόπος υλοποίησης είναι πιο εύκολος από τους άλλους, κυρίως επειδή αποφεύγουµε να καταστρώσουµε τον πίνακα καταστάσεων και χρησιµοποιούµε το διάγραµµα καταστάσεων, το οποίο εξάγεται άµεσα από τις προδιαγραφές του προβλήµατος. (β) ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ ASM, algorithmic State Machine Command input Condition box Conditional output box Control unit Count-down counter Count-up counter Data unit Decision box Decoder Initialization Multiplexer, MUX Programmable Logic Array, PLA State box State diagram State machine Αλγοριθµική µηχανή καταστάσεων Εντολή εισόδου Στοιχείο εξόδου από συνθήκη Στοιχείο εξόδου από συνθήκη Μονάδα ελέγχου Αφαιρετικός απαριθµητής Προσθετικός απαριθµητής Μονάδα δεδοµένων Στοιχείο απόφασης Αποκωδικοποιητής Αρχική εκκίνηση Πολυπλέκτης Προγραµµατιζόµενη λογική διάταξη Στοιχείο κατάστασης ιάγραµµα καταστάσεων Μηχανή καταστάσεων 30

180 ΚΕΦΑΛΑΙΟ 6 ΑΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ 6. ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕ ΙΑΣΗ ΑΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΑΝΑΛΥΣΗ ΣΧΕ ΙΑΣΗ... 9 ΕΝΟΤΗΤΑ 6.2 ΘΕΜΑΤΑ ΕΥΣΤΑΘΕΙΑΣ ΚΑΙ ΣΥΝΘΗΚΕΣ ΑΝΤΑΓΩΝΙΣΜΟΥ ΘΕΜΑΤΑ ΕΥΣΤΑΘΕΙΑΣ ΣΥΝΘΗΚΕΣ ΑΝΤΑΓΩΝΙΣΜΟΥ... 4 ΕΝΟΤΗΤΑ 6.3 ΣΠΙΝΘΗΡΕΣ ΣΠΙΝΘΗΡΕΣ ΣΕ ΣΥΝ ΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΣΠΙΝΘΗΡΕΣ ΣΕ ΑΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΒΙΒΛΙΟΓΡΑΦΙΑ ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ... 32

181 ΚΕΦΑΛΑΙΟ 6 ΑΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ Σκοπός Στο Κεφάλαιο αυτό µελετάµε τα ασύγχρονα ακολουθιακά κυκλώµατα. Πρόκειται για κυκλώµατα µε µνήµη, η λειτουργία των οποίων, όµως, δεν συγχρονίζεται µε κάποιο κεντρικό ρολόι. Σκοπός µας είναι να γνωρίσουµε τον τρόπο ανάλυσης και σχεδίασης τέτοιων κυκλωµάτων, καθώς και τα προβλήµατα που συνδέονται µε αυτά (π.χ. αστάθεια, ανταγωνισµοί, σπινθήρες), όπως και τα πλεονεκτήµατα που αυτά παρουσιάζουν (π.χ. δυνατότητα άµεσης ανταπόκρισης σε εξωτερικά ερεθίσµατα, µικρότερο µέγεθος κυκλωµάτων, κά). Προσδοκώµενα αποτελέσµατα Μετά τη µελέτη του Κεφαλαίου θα είστε σε θέση να: αναλύετε ασύγχρονα ακολουθιακά κυκλώµατα σχεδιάζετε ασύγχρονα ακολουθιακά κυκλώµατα, τα οποία λειτουργούν σύµφωνα µε δοσµένες προδιαγραφές εντοπίζετε και να αντιµετωπίζετε τα προβλήµατα αστάθειας, που παρουσιάζονται στα ασύγχρονα ακολουθιακά κυκλώµατα εντοπίζετε και να αντιµετωπίζετε τις συνθήκες ανταγωνισµού, που παρουσιάζονται στα ασύγχρονα ακολουθιακά κυκλώµατα εντοπίζετε και να αντιµετωπίζετε τους σπινθήρες, που παρουσιάζονται στα συνδυαστικά και στα ασύγχρονα ακολουθιακά κυκλώµατα Έννοιες κλειδιά ασύγχρονα ακολουθιακά κυκλώµατα κυκλώµατα µε ανάδραση (ανατροφοδότηση) σπινθήρες (hazards) αστάθεια κυκλωµάτων συνθήκες ανταγωνισµού (race conditions) ασταθής πολυδονητής πίνακας µεταβάσεων πίνακας ροής 2

182 ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ Στα προηγούµενα κεφάλαια ασχοληθήκαµε µε τα σύγχρονα ακολουθιακά κυκλώµατα, δηλαδή µε εκείνα τα ακολουθιακά κυκλώµατα η λειτουργία των οποίων συγχρονίζεται µε τους παλµούς ενός ρολογιού. Αναφερθήκαµε µε συντοµία σε ασύγχρονα ακολουθιακά κυκλώµατα στο Κεφάλαιο 3, όταν µελετούσαµε τους απαριθµητές (ασύγχρονους απαριθµητές ή απαριθµητές κυµάτωσης). Στο παρόν κεφάλαιο θα ασχοληθούµε µε τη µελέτη των ασύγχρονων ακολουθιακών κυκλωµάτων και κατ' αντιστοιχία µε τα σύγχρονα ακολουθιακά κυκλώµατα, θα γνωρίσουµε τον τρόπο ανάλυσης και σχεδίασης τέτοιων κυκλωµάτων. Είδαµε στο Κεφάλαιο ότι ακολουθιακά κυκλώµατα είναι εκείνα των οποίων οι έξοδοι σε κάθε χρονική στιγµή εξαρτώνται όχι µόνον από τις τιµές των εισόδων τη χρονική εκείνη στιγµή, αλλά και από τις τιµές των εξόδων των στοιχείων µνήµης του κυκλώµατος την προηγούµενη χρονική στιγµή. Με άλλα λόγια, τα ακολουθιακά κυκλώµατα έχουν µνήµη. Αυτή η δυνατότητα της "µνήµης" µπορεί να προέρχεται είτε από την ύπαρξη κάποιου ή κάποιων FFs στο κύκλωµα είτε από την ύπαρξη στοιχείων χρονικής καθυστέρησης. Κατά συνέπεια, ένα συνδυαστικό κύκλωµα µε ανάδραση (ανατροφοδότηση, feedback) είναι στην ουσία ένα ασύγχρονο ακολουθιακό κύκλωµα. Γι' αυτό το λόγο, τα ασύγχρονα ακολουθιακά κυκλώµατα τα βλέπουµε και ως ακολουθιακά κυκλώµατα µε ανάδραση (feedback sequential circuits) στη διεθνή βιβλιογραφία. Το γενικό σχηµατικό διάγραµµα ενός τέτοιου κυκλώµατος φαίνεται στο Σχήµα 6.. Πρόκειται για ένα συνδυαστικό κύκλωµα, του οποίου ορισµένες από τις εξόδους του ανατροφοδοτούνται στην είσοδο. Αποτελείται από n εισόδους, m εξόδους και k βρόχους ανάδρασης, δηλαδή k µεταβλητές κατάστασης, οι οποίες του δίνουν τη δυνατότητα να µπορεί να βρίσκεται σε 2 k καταστάσεις. Τις µεταβλητές y i, i=, 2,..., k της παρούσας ή εσωτερικής κατάστασης τις ονοµάζουµε και δευτερεύουσες µεταβλητές (secondary variables), ενώ τις µεταβλητές Y i, i=, 2,..., k της επόµενης κατάστασης τις ονοµάζουµε και µεταβλητές διέγερσης (excitation variables). Όταν η τιµή µιας µεταβλητής εισόδου x j, Η χρονική καθυστέρηση ενυπάρχει σε κάθε ηλεκτρονικό στοιχείο. Μια πύλη NAND της βασικής σειράς TTL (π.χ. η πύλη 7400) παρουσιάζει καθυστέρηση διάδοσης (propagation delay) περίπου 0 ns, ενώ η αντίστοιχη της προηγµένης σειράς Schottky χαµηλής ισχύος (π.χ. η πύλη 74ALS00) παρουσιάζει καθυστέρηση περίπου 4 ns. Η καθυστέρηση διάδοσης αντιπροσωπεύει τη διαφορά χρόνου από τη στιγµή που εφαρµόστηκε η είσοδος σε µια πύλη µέχρι τη στιγµή που η πύλη άλλαξε κατάσταση ανταποκρινόµενη στο σήµα της εισόδου. 3

183 j=, 2,..., n αλλάξει, οι δευτερεύουσες µεταβλητές δεν αλλάζουν αµέσως, αφού απαιτείται κάποιος χρόνος για τη διάδοση των σηµάτων µέσω του συνδυαστικού κυκλώµατος και των στοιχείων καθυστέρησης. Έτσι, κατά τη µεταβατική κατάσταση οι µεταβλητές Υ και y δεν είναι ίδιες. Κατά τη µόνιµη κατάσταση οι µεταβλητές αυτές µπορεί να είναι ίδιες. Ας γίνουµε πιο συγκεκριµένοι: Αν, για κάποιες τιµές των µεταβλητών εισόδου, το κύκλωµα καταλήγει σε συνθήκες µόνιµης κατάστασης y i =Υ i, i=, 2,..., k, τότε αυτό είναι ευσταθές (stable). Σε διαφορετική περίπτωση, το κύκλωµα βρίσκεται συνεχώς σε µεταβατική κατάσταση, δηλαδή είναι ασταθές (unstable). Η αλλαγή ενός ασύγχρονου ακολουθιακού κυκλώµατος από τη µία ευσταθή κατάσταση στην άλλη προκαλείται από την αλλαγή µιας µεταβλητής εισόδου, σε αντίθεση µε τα σύγχρονα ακολουθιακά κυκλώµατα στα οποία προκαλείται από τους ωρολογιακούς παλµούς. Επιπλέον, προϋποθέτουµε ότι οι µεταβλητές εισόδου δεν αλλάζουν ταυτόχρονα. Με άλλα λόγια, µόνο µία είσοδος αλλάζει κάθε φορά, αφήνοντας αρκετό χρόνο ώστε το κύκλωµα να µεταβεί σε µία ευσταθή εσωτερική κατάσταση, πριν εφαρµοστεί κάποια άλλη είσοδος. Τέτοια ασύγχρονα ακολουθιακά κυκλώµατα ονοµάζονται κυκλώµατα βασικού τύπου (fundamental-mode circuits). Θυµηθείτε ότι στα σύγχρονα ακολουθιακά κυκλώµατα περισσότερες από µία είσοδοι µπορούν να αλλάξουν σε οποιαδήποτε χρονική στιγµή, χωρίς να επηρεαστεί η κατάσταση του κυκλώµατος, αφού η δειγµατοληψία των εισόδων και η αλλαγή της κατάστασης γίνεται κατά την έλευση της ενεργού ακµής του ωρολογιακού παλµού. n µεταβλητές εισόδου x x 2 x n M M z z 2 z m m µεταβλητές εισόδου k δευτερεύουσες µεταβλητές (παρούσα κατάσσταση) y y 2 y k M Συνδυαστικό κύκλωµα M Y Y 2 Y k k µεταβλητές διέργεσης (επόµενη κατάσταση) Καθυστέρηση Καθυστέρηση Καθυστέρηση Σχήµα 6.. Γενικό σχηµατικό διάγραµµα ενός ασύγχρονου ακολουθιακού κυκλώµατος. 4

184 Τα ασύγχρονα ακολουθιακά κυκλώµατα παρουσιάζουν ορισµένα πλεονεκτήµατα έναντι των σύγχρονων ακολουθιακών κυκλωµάτων (π.χ. δυνατότητα άµεσης ανταπόκρισης σε εξωτερικά ερεθίσµατα, µικρότερο µέγεθος κυκλωµάτων, κά) και χρησιµοποιούνται σε εφαρµογές, όπου τα σύγχρονα ακολουθιακά κυκλώµατα δεν µπορούν να ανταποκριθούν ή είναι µη συµφέρουσα η χρήση τους. Για παράδειγµα, όταν ένα ψηφιακό σύστηµα πρέπει να ανταποκριθεί άµεσα σε ένα τυχαίο γεγονός πολύ µικρής χρονικής διάρκειας, χωρίς να είναι ανάγκη να "περιµένει" τον παλµό συγχρονισµού, τότε απαιτείται να χρησιµοποιήσουµε κάποιο ασύγχρονο ακολουθιακό κύκλωµα. Σχετικό παράδειγµα αποτελεί ο µετρητής Geiger, ο οποίος απαριθµεί το πλήθος των ραδιενεργών σωµατιδίων από τις διασπάσεις που καταγράφονται. Κάθε τέτοιο γεγονός είναι πολύ µικρής διάρκειας και χρονικά τυχαίο. Από την άλλη πλευρά, σε ορισµένες απλές εφαρµογές είναι περισσότερο συµφέρον (από άποψη χώρου και κόστους) να χρησιµοποιηθεί ένα ασύγχρονο ακολουθιακό κύκλωµα αντί ενός σύγχρονου ακολουθιακού κυκλώµατος, αφού το πρώτο δεν συνοδεύεται από κυκλώµατα παραγωγής ωρολογιακών παλµών. Τα ασύγχρονα ακολουθιακά κυκλώµατα είτε θα µας δίνονται έτοιµα, οπότε θα πρέπει να τα αναλύσουµε, για να προσδιορίσουµε τον τρόπο λειτουργίας τους, είτε θα µας δίνεται ο επιθυµητός τρόπος λειτουργίας και θα µας ζητείται να σχεδιάσουµε το κατάλληλο κύκλωµα. Έτσι, όπως και στα σύγχρονα ακολουθιακά κυκλώµατα, θα ασχοληθούµε µε την ανάλυση και τη σχεδίαση ασύγχρονων ακολουθιακών κυκλωµάτων (ενότητα 6.). Στη συνέχεια θα εξετάσουµε τα προβλήµατα τα σχετικά µε την ευστάθεια και µε τις συνθήκες ανταγωνισµού που παρουσιάζονται στα ασύγχρονα ακολουθιακά κυκλώµατα (ενότητα 6.2). Τέλος, θα περιγράψουµε το φαινόµενο των σπινθήρων (hazards), όπως αυτό εµφανίζεται σε συνδυαστικά και ακολουθιακά κυκλώµατα (ενότητα 6.3). ΕΝΟΤΗΤΑ 6. ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕ ΙΑΣΗ ΑΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Στην ενότητα αυτή θα µελετήσουµε τα ασύγχρονα ακολουθιακά κυκλώµατα. Πρόκειται στην ουσία για απλά συνδυαστικά κυκλώµατα µε ανάδραση. Θα γνωρίσουµε αρχικά τον τρόπο ανάλυσης τέτοιων κυκλωµάτων και στη συνέχεια τη µεθοδολογία σχεδίασης αυτών. Με την ολοκλήρωση της µελέτης της ενότητας θα έχετε εξοικειωθεί µε 5

185 τις µεθόδους αντιµετώπισης των ασύγχρονων ακολουθιακών κυκλωµάτων και θα είστε πλέον σε θέση να αναλύετε ασύγχρονα ακολουθιακά κυκλώµατα, καθώς επίσης και να σχεδιάζετε ασύγχρονα ακολουθιακά κυκλώµατα, τα οποία πληρούν ορισµένες προδιαγραφές ΑΝΑΛΥΣΗ Όπως και στην περίπτωση των σύγχρονων ακολουθιακών κυκλωµάτων, µε τον όρο ανάλυση εννοούµε τον προσδιορισµό ενός πίνακα ή ενός διαγράµµατος, που περιγράφει την ακολουθία των εσωτερικών καταστάσεων και εξόδων του κυκλώµατος, ως συνάρτηση των µεταβολών των εισόδων αυτού. Πράγµατι, ξεκινώντας από το ασύγχρονο ακολουθιακό κύκλωµα που µας δίνεται, καταλήγουµε, αναλύοντάς το, στον πίνακα µεταβάσεων (transition table), στον οποίο καταγράφονται όλες οι δυνατές καταστάσεις και οι είσοδοι του κυκλώµατος. Οι ευσταθείς καταστάσεις σηµειώνονται συνήθως µε έναν κύκλο, όπως θα δούµε στο παράδειγµα που ακολουθεί. Παράδειγµα / Κεφάλαιο 6 Να προσδιοριστεί η λειτουργία του κυκλώµατος του Σχήµατος 6.2. x x2 x x2 Y y y 0 Σχήµα 6.2. Ασύγχρονο ακολουθιακό κύκλωµα µε ανάδραση Σχήµα 6.3. Πίνακας µεταβάσεων του κυκλώµατος του Σχήµατος 6.2. Λύση: Κατ' αρχήν εντοπίζουµε όλους τους βρόχους ανάδρασης και τους συµβολίζουµε ως Y και y. Στο κύκλωµα του Σχήµατος 6.2 υπάρχει ένας µόνο τέτοιος βρόχος. Εκφράζουµε την έξοδο Υ ως συνάρτηση των εισόδων και της y. Στην προκειµένη περίπτωση βρίσκουµε ότι Y= xx + yxx ( ) = xx + yx ( + x ) = xx + xy+ xy. Τώρα είµαστε σε θέση να σχεδιάσουµε έναν πίνακα, ο οποίος δείχνει τις τιµές της µεταβλητής Υ για οποιονδήποτε συνδυασµό των µεταβλητών εισόδου x και παρούσας κατάστασης y. Ο πίνακας αυτός 6

186 δείχνεται στο Σχήµα 6.3 και αποτελεί το λεγόµενο πίνακα µεταβάσεων. Συνηθίζεται οι µεταβλητές x να αποτελούν τις στήλες του πίνακα µεταβάσεων, ενώ οι µεταβλητές y τις γραµµές αυτού. Έτσι, ο πίνακας µεταβάσεων ενός ασύγχρονου ακολουθιακού κυκλώµατος µε n µεταβλητές εισόδου και k δευτερεύουσες µεταβλητές θα αποτελείται από 2 n στήλες και 2 k γραµµές. Παρατηρούµε ότι οι πίνακες µεταβάσεων είναι όµοιοι µε τους χάρτες Karnaugh που γνωρίσαµε στα συνδυαστικά κυκλώµατα. Μόνο µία µεταβλητή εισόδου αλλάζει από στήλη σε στήλη, γεγονός που συµφωνεί µε το ότι πρόκειται για ασύγχρονο ακολουθιακό κύκλωµα βασικού τύπου. Στον πίνακα του Σχήµατος 6.3 έχουµε σηµειώσει µε κύκλο τις ευσταθείς καταστάσεις του κυκλώµατος. Θυµηθείτε ότι ευσταθής είναι µια κατάσταση όταν Y=y. Οι υπόλοιπες καταστάσεις είναι ασταθείς. Γίνεται φανερό ότι ένα ευσταθές ασύγχρονο ακολουθιακό κύκλωµα θα έχει τουλάχιστον έναν κύκλο (µια ευσταθή κατάσταση) σε κάθε στήλη του πίνακα µεταβάσεων. Ας µελετήσουµε για λίγο τη λειτουργία του κυκλώµατος που µας δίνεται, µέσα από τον πίνακα µεταβάσεων αυτού. Έστω ότι η είσοδος x βρίσκεται στο λογικό 0 και η είσοδος x 2 στο λογικό 0, δηλαδή x x 2 =00. Η κατάσταση Υ του κυκλώµατος θα είναι 0, η οποία είναι µια ευσταθής κατάσταση για το κύκλωµα. Αν η είσοδος x 2 αλλάξει λογική στάθµη και µεταβεί στο, δηλαδή x x 2 =0, τότε το Υ παραµένει στην κατάσταση 0, η οποία είναι πάλι µία ευσταθής κατάσταση για το κύκλωµα (η γραµµή, 2η στήλη του πίνακα) 2. Αν τώρα η είσοδος x αλλάξει (προσοχή: µόνο µία είσοδος επιτρέπεται να αλλάζει κάθε φορά) και από 0 γίνει, δηλαδή η ολική κατάσταση του κυκλώµατος γίνει 0, τότε το κύκλωµα µεταβαίνει στην κατάσταση Υ=, η οποία είναι ασταθής (η γραµµή, 3η στήλη του πίνακα). Μόλις όµως το σήµα Υ= ανατροφοδοτηθεί στο κύκλωµα θα γίνει y=. Η ολική κατάσταση είναι ευσταθής (2η γραµµή, 3η στήλη του πίνακα) και το κύκλωµα θα παραµείνει στην κατάσταση αυτή. Αλλαγή της εισόδου x 2 από σε 0 θα φέρει το κύκλωµα στην ολική κατάσταση 0, η οποία είναι επίσης ευσταθής. Τέλος, αν η είσοδος x από γίνει 0, τότε η ολική κατάσταση του κυκλώµατος γίνεται 00, η οποία είναι ασταθής, αφού y= και Υ=0. Μόλις όµως η τιµή Υ=0 ανατροφοδοτηθεί στο κύκλωµα 2 Για λόγους σαφήνειας, συνηθίζουµε να αναφερόµαστε στην ολική κατάσταση (total state) ενός κυκλώµατος βασικού τύπου, δηλαδή στο συνδυασµό της παρούσας (εσωτερικής) κατάστασης και των εισόδων. Για την περίπτωση του πίνακα του Σχήµατος 6.3 η ολική κατάσταση θα είναι της µορφής yx x 2. Έτσι, για παράδειγµα, η ολική κατάσταση yx x 2 =00 είναι ευσταθής, ενώ η κατάσταση yx x 2 =00 είναι ασταθής. 7

187 αυτό, θα µεταβεί στην ολική κατάσταση 000, η οποία είναι ευσταθής και είναι αυτή απ' όπου ξεκινήσαµε την ανάλυση. Τυποποιώντας τα βήµατα, που απαιτούνται για την ανάλυση ενός ασύγχρονου ακολουθιακού κυκλώµατος, καταλήγουµε στα εξής: Βήµα Α: Εντοπίζουµε όλους τους βρόχους ανάδρασης και συµβολίζουµε ως Y και y καθέναν από αυτούς, σύµφωνα µε το γενικό διάγραµµα του Σχήµατος 6.. Βήµα Α2: Εκφράζουµε κάθε µεταβλητή Υ ως συνάρτηση Boole των εισόδων x και των εσωτερικών καταστάσεων y. Βήµα Α3: Καταστρώνουµε τον πίνακα µεταβάσεων του κυκλώµατος και σηµειώνουµε πάνω σ' αυτόν τις ευσταθείς καταστάσεις, δηλαδή τις τιµές του Υ που είναι ίσες µε τις τιµές y της ίδιας γραµµής. Άσκηση Αυτοαξιολόγησης / Κεφάλαιο 6 Αναλύστε τη λειτουργία του ασύγχρονου ακολουθιακού κυκλώµατος του Σχήµατος 6.4. Ποια είναι η κατάσταση του κυκλώµατος, αν αυτό βρίσκεται στην ολική κατάσταση 0 και η είσοδος αλλάξει από 0 σε ; x R Y x y Y y2 S y2 y R2 Y2 Y2 x2 S2 Σχήµα 6.4. Ασύγχρονο ακολουθιακό κύκλωµα της άσκησης αυτοαξιολόγησης / Κεφάλαιο 6. Σχήµα 6.5. Ασύγχρονο ακολουθιακό κύκλωµα της άσκησης αυτοαξιολόγησης 2 / Κεφάλαιο Άσκηση Αυτοαξιολόγησης 2 / Κεφάλαιο 6 Να αναλυθεί η λειτουργία του ασύγχρονου ακολουθιακού κυκλώµατος του Σχήµατος 8

188 6..2. ΣΧΕ ΙΑΣΗ Η σχεδίαση ενός ασύγχρονου ακολουθιακού κυκλώµατος είναι η αντίστροφη διαδικασία της ανάλυσης, που µόλις περιγράψαµε. Εδώ, µας δίνεται ο επιθυµητός τρόπος λειτουργίας του κυκλώµατος και µας ζητείται να προσδιορίσουµε το αντίστοιχο λογικό διάγραµµα του κυκλώµατος. Αρχίζουµε τη σχεδίαση από τον πίνακα µεταβάσεων, που είναι και το πιο δύσκολο τµήµα της όλης σχεδίασης, αφού πρέπει να κωδικοποιήσουµε την περιγραφή που µας δίνεται σε διαφορετικές καταστάσεις. Συνήθως, συµβολίζουµε τις καταστάσεις µε αλφαβητικά ονόµατα, αντί για δυαδικές τιµές. Ο πίνακας που προκύπτει ονοµάζεται πίνακας ροής (flow table) και µας βοηθά στην ελαχιστοποίηση των καταστάσεων και στην αποφυγή των προβληµάτων ανταγωνισµού (κυνηγητών, races). (Το θέµα της ελαχιστοποίησης των καταστάσεων ξεφεύγει από τους στόχους του παρόντος βιβλίου και δεν θα το αντιµετωπίσουµε εδώ. Το θέµα των συνθηκών ανταγωνισµού θα το γνωρίσουµε στην ενότητα 6.2). Όταν ένας πίνακας ροής περιέχει µία µόνο ευσταθή κατάσταση σε κάθε γραµµή του, τότε αυτός ονοµάζεται πρωτόγονος (primitive). Τέλος, θα πρέπει να αναφέρουµε ότι στον πίνακα ροής σηµειώνονται και οι τιµές των εξόδων του κυκλώµατος. Ας γνωρίσουµε τη διαδικασία σχεδίασης ενός απλού ασύγχρονου ακολουθιακού κυκλώµατος µέσα από ένα παράδειγµα. Παράδειγµα 2 / Κεφάλαιο 6 Να σχεδιαστεί ασύγχρονο ακολουθιακό κύκλωµα, το οποίο να λειτουργεί ως εξής: Όταν οι είσοδοι είναι 0, τότε η κατάσταση του κυκλώµατος να είναι 0. Όταν οι είσοδοι είναι 0, τότε η κατάσταση να είναι. Για τους υπόλοιπους συνδυασµούς, η κατάσταση να διατηρεί την προηγούµενη τιµή της. Λύση: Το κύκλωµα αποτελείται από δύο εισόδους και µία έξοδο, που είναι η µεταβλητή διέγερσης Υ. Άρα, ο πίνακας ροής του κυκλώµατος θα αποτελείται από 4 στήλες και 2 γραµµές, όπως δείχνεται στο Σχήµα 6.6α. 9

189 y x x 2 x x 2 x x y y a a a a a b b b a b a b (α) (β) (γ) y x x y x x y x x a a a a b a a b a a a a b b a b b b a b b b b a b b (δ) (ε) (στ) y x x x x2 Y y (j) (n) Σχήµα 6.6. (α)-(στ) ιαδοχικά στάδια προσδιορισµού του πίνακα ροής του Παραδείγµατος 2 / Κεφάλαιο 6, (ζ) πίνακας µεταβάσεων, (η) λογικό διάγραµµα του ζητούµενου κυκλώµατος. Για x x 2 =0, η κατάσταση του κυκλώµατος είναι a (Σχήµα 6.6β). Συµβολίζουµε µε a, b τις καταστάσεις 0, αντίστοιχα 3. Για x x 2 =00 ή x x 2 = το κύκλωµα διατηρεί την προηγούµενη τιµή. Ας δούµε ποια είναι αυτή. Κατ' αρχήν σηµειώνουµε τις ευσταθείς καταστάσεις του κυκλώµατος, όπως αυτές δείχνονται στο Σχήµα 6.6γ. Πριν οι είσοδοι x, x 2 γίνουν και οι δύο 0 ή και οι δύο, δηλ. x x 2 =00 ή x x 2 =, είχαµε είτε x x 2 =0 είτε x x 2 =0. Θυµηθείτε ότι το κύκλωµα είναι βασικού τύπου και κατά συνέπεια µία µόνο είσοδος θα αλλάζει λογική στάθµη κάθε φορά, αφήνοντας αρκετό χρόνο, ώστε το κύκλωµα να µεταβεί σε µία ευσταθή εσωτερική κατάσταση, πριν αλλάξει η άλλη είσοδος. Έτσι, όταν x x 2 =0, η ευσταθής κατάσταση του κυκλώµατος είναι η a. Όταν γίνει x x 2 =00 ή x x 2 =, τότε το κύκλωµα, σύµφωνα µε την εκφώνηση, παραµένει στην ίδια κατάσταση a (Σχήµα 6.6δ η γραµµή, η και 3η στήλη). Όταν x x 2 =0, τότε η 3 Στη προκειµένη περίπτωση φαίνεται χωρίς νόηµα ο συµβολισµός των καταστάσεων µε γράµµατα, αφού πρόκειται για δύο µόνο καταστάσεις. Στη γενική περίπτωση όµως, ο συµβολισµός αυτός πράγµατι έχει 0

190 ευσταθής κατάσταση του κυκλώµατος είναι η b. Έτσι, όταν γίνει x x 2 =00 ή x x 2 =, τότε το κύκλωµα παραµένει στην ίδια κατάσταση b (Σχήµα 6.6ε. 2η γραµµή, η και 3η στήλη). Ο συνολικός πίνακας ροής του κυκλώµατος φαίνεται στο Σχήµα 6.6στ. Οι ευσταθείς καταστάσεις σηµειώνονται σε κύκλο. Έχοντας πλέον καταστρώσει τον πίνακα ροής, µετατρέπουµε αυτόν σε πίνακα µεταβάσεων, αντιστοιχίζοντας το a στη δυαδική τιµή 0 και το b στη δυαδική τιµή. Έτσι προκύπτει ο πίνακας µεταβάσεων του Σχήµατος 6.6ζ. Από τον πίνακα αυτό, ο οποίος ουσιαστικά αποτελεί ένα χάρτη Karnaugh για τη µεταβλητή Υ, µπορούµε εύκολα να προσδιορίσουµε τη λογική έκφρασή της, η οποία είναι Y = x x + x y+ x y = x x +( x + x ) y. Το τελευταίο στάδιο της σχεδίασης που µας απέµεινε, είναι πλέον το λογικό διάγραµµα του κυκλώµατος, το οποίο δείχνεται στο Σχήµα 6.6η και αποτελεί µια απλή απεικόνιση της συνάρτησης Υ που µόλις προσδιορίσαµε. Τυποποιώντας τα βήµατα που πρέπει να ακολουθήσουµε για τη σχεδίαση ενός ασύγχρονου ακολουθιακού κυκλώµατος, καταλήγουµε στα ακόλουθα: Βήµα Σ: Καταστρώνουµε τον πίνακα ροής, µε βάση την επιθυµητή λειτουργία του κυκλώµατος. Βήµα Σ2: Κωδικοποιούµε τις καταστάσεις και προσδιορίζουµε τις λογικές συναρτήσεις για κάθε µεταβλητή διέγερσης Υ. Βήµα Σ3: Σχεδιάζουµε το λογικό διάγραµµα του κυκλώµατος. Θα πρέπει να αναφερθεί ότι στην περίπτωση της σχεδίασης πολύπλοκων ασύγχρονων ακολουθιακών κυκλωµάτων, µεταξύ των βηµάτων Σ και Σ2, παρεµβάλλεται ένα ακόµη βήµα, αυτό της ελαχιστοποίησης των καταστάσεων. Πιο συγκεκριµένα, από τις προδιαγραφές που µας δίνονται, καταστρώνουµε έναν πρωτόγονο πίνακα ροής, δηλαδή έναν πίνακα, ο οποίος έχει µόνο µία ευσταθή κατάσταση σε κάθε γραµµή. Στη συνέχεια, απλοποιούµε αυτόν στον ελάχιστο δυνατό αριθµό καταστάσεων και µετά κωδικοποιούµε την κάθε κατάσταση, ώστε να προκύψει ο πίνακας µεταβάσεων. Αυτή η διαδικασία δικαιολογεί και την ύπαρξη του πίνακα ροής, ο οποίος για το Παράδειγµα 2 / Κεφάλαιο 6, που είδαµε, συµπίπτει µε τον πίνακα µεταβάσεων. Άσκηση Αυτοαξιολόγησης 3 / Κεφάλαιο 6 Να σχεδιάσετε ασύγχρονο ακολουθιακό κύκλωµα µε δύο εισόδους, του οποίου η κατάσταση να ισούται µε 0, όταν η µία είσοδος είναι 0, και µε, όταν η ίδια είσοδος νόηµα, γιατί έχουµε πολλές καταστάσεις, τις οποίες µάλιστα πρέπει να ελαχιστοποιήσουµε στο µικρότερο

191 είναι. Στην περίπτωση που και οι δύο είσοδοι είναι στη λογική στάθµη, τότε αυτό να παραµένει στην ευσταθή κατάσταση που βρισκόταν και µία έξοδος του κυκλώµατος (όχι µεταβλητή διέγερσης) να µεταβαίνει στη λογική στάθµη. Σύνοψη Ενότητας Στην ενότητα αυτή ασχοληθήκαµε µε την ανάλυση και τη σχεδίαση ασύγχρονων ακολουθιακών κυκλωµάτων. Συστηµατοποιήσαµε την καθεµιά από αυτές τις διαδικασίες σε τρία διαφορετικά βήµατα. Στην περίπτωση της ανάλυσης ενός ασύγχρονου ακολουθιακού κυκλώµατος, εντοπίζουµε όλους τους βρόχους ανάδρασης, εκφράζουµε τη µεταβλητή Υ κάθε βρόχου συναρτήσει των εισόδων x και των εσωτερικών καταστάσεων y και τέλος προσδιορίζουµε τον πίνακα µεταβάσεων, όπου σηµειώνουµε τις ευσταθείς καταστάσεις. Μία κατάσταση είναι ευσταθής, όταν Υ=y. Στην περίπτωση της σχεδίασης ενός ασύγχρονου ακολουθιακού κυκλώµατος, η διαδικασία είναι αντίστροφη αυτής που µόλις περιγράψαµε. Πρώτα καταστρώνουµε τον πίνακα ροής και από αυτόν τον πίνακα µεταβάσεων, απ' όπου προκύπτουν οι λογικές συναρτήσεις για καθεµιά από τις µεταβλητές Υ. Τέλος, σχεδιάζουµε το λογικό διάγραµµα του κυκλώµατος. ΕΝΟΤΗΤΑ 6.2 ΘΕΜΑΤΑ ΕΥΣΤΑΘΕΙΑΣ ΚΑΙ ΣΥΝΘΗΚΕΣ ΑΝΤΑΓΩΝΙΣΜΟΥ Στην ενότητα αυτή θα ασχοληθούµε µε δύο πολύ σηµαντικά θέµατα των ασύγχρονων ακολουθιακών κυκλωµάτων: το θέµα της ευστάθειας των κυκλωµάτων και το θέµα των ανταγωνισµών (κυνηγητών). Και τα δύο αυτά θέµατα είναι ουσιαστικής σηµασίας για την επιτυχή σχεδίαση ενός ασύγχρονου ακολουθιακού κυκλώµατος. Με την ολοκλήρωση της µελέτης της ενότητας θα είστε σε θέση να εντοπίζετε και να αντιµετωπίζετε µε επιτυχία τόσο τα προβλήµατα αστάθειας, όσο και τις συνθήκες ανταγωνισµού, που παρουσιάζονται στα ασύγχρονα ακολουθιακά κυκλώµατα ΘΕΜΑΤΑ ΕΥΣΤΑΘΕΙΑΣ δυνατό αριθµό, πριν τις κωδικοποιήσουµε. 2

192 Ένα ασύγχρονο ακολουθιακό κύκλωµα είναι ολικά ευσταθές όταν έχει µία τουλάχιστον ευσταθή κατάσταση για οποιαδήποτε τιµή της εισόδου, δηλαδή όταν ο πίνακας µεταβάσεων περιέχει τουλάχιστον µία ευσταθή κατάσταση σε κάθε στήλη αυτού. Ας γνωρίσουµε το θέµα της ευστάθειας ενός κυκλώµατος µέσα από ένα παράδειγµα. Παράδειγµα 3 / Κεφάλαιο 6 Να αναλυθεί το κύκλωµα του Σχήµατος 6.7α. x x 2 x x2 y Y y Σχήµα 6.7. (α) (β) (α) Λογικό διάγραµµα ενός ασταθούς κυκλώµατος, (β) πίνακας µεταβάσεων του κυκλώµατος. Λύση: Ακολουθούµε τα βήµατα Α έως Α3 για την ανάλυση ενός ασύγχρονου ακολουθιακού κυκλώµατος Βήµα Α: Εντοπίζουµε τους βρόχους ανάδρασης. Βήµα Α2: Εκφράζουµε τη µεταβλητή Υ ως συνάρτηση των x και y. Στην προκειµένη περίπτωση έχουµε = x (x y) = x (x + y ) = x x + x y Y Βήµα Α3: Καταστρώνουµε τον πίνακα µεταβάσεων του κυκλώµατος και σηµειώνουµε τις ευσταθείς καταστάσεις (Σχήµα 6.7β). Παρατηρούµε ότι η στήλη x x 2 = δεν έχει ευσταθείς καταστάσεις. Με άλλα λόγια, εάν εφαρµοστούν οι είσοδοι x =x 2 =, τότε οι τιµές Y και y δεν θα είναι ποτέ ίδιες. Όταν y=0, τότε Υ= (η γραµµή, 3η στήλη), οπότε θα µεταβαίνουµε στη 2η γραµµή του πίνακα, όπου y=. Αλλά τότε Y=0 (2η γραµµή, 3η στήλη), οπότε επανερχόµαστε στην προηγούµενη κατάσταση. Ο κύκλος αυτός επαναλαµβάνεται συνεχώς, εφόσον x x 2 =, δηλαδή το κύκλωµα είναι ασταθές. Αυτή η αστάθεια πρέπει να αποφεύγεται (µη επιτρέποντας το συνδυασµό x x 2 =), εκτός κι αν ο στόχος µας είναι να σχεδιάσουµε έναν ταλαντωτή (ασταθή πολυδονητή), δηλαδή µία γεννήτρια 3

193 τετραγωνικών παλµών (ρολόι). Πράγµατι, αν υποθέσουµε ότι το κύκλωµα του Σχήµατος 6.7α είναι κατασκευασµένο µε πύλες της βασικής σειράς της οικογένειας TTL, στην οποία κάθε πύλη παρουσιάζει καθυστέρηση διάδοσης 0 ns, τότε το Υ θα βρίσκεται για 20 ns 4 στην κατάσταση 0 και για 20 ns στην κατάσταση. Άρα, η περίοδος των τετραγωνικών παλµών, που θα παράγονται, θα είναι 40 ns, δηλαδή η αντίστοιχη συχνότητα θα είναι 25 MHz. Άσκηση Αυτοαξιολόγησης 4 / Κεφάλαιο 6 Να εξεταστεί ως προς την ευστάθεια το JK FF του Σχήµατος.2α, θεωρώντας ότι η είσοδος είναι συνδεδεµένη µόνιµα στο λογικό ΣΥΝΘΗΚΕΣ ΑΝΤΑΓΩΝΙΣΜΟΥ Με τον όρο "ανταγωνισµός" ή "κυνηγητό" (race) εννοούµε εκείνη την περίπτωση ενός ασύγχρονου ακολουθιακού κυκλώµατος, κατά την οποία δύο ή περισσότερες µεταβλητές κατάστασης (εσωτερικές µεταβλητές) αλλάζουν τιµή ως αποτέλεσµα της αλλαγής µιας εισόδου. Έτσι, εάν οι καθυστερήσεις είναι διαφορετικές για κάθε εσωτερική µεταβλητή, αυτές µπορεί να αλλάζουν µε απρόβλεπτη σειρά. Τα λογικά σήµατα ποτέ δεν αλλάζουν "ταυτόχρονα". Για παράδειγµα, εάν οι δύο µεταβλητές παρούσας κατάστασης y y 2 είναι να αλλάξουν από 00 σε, η αλλαγή αυτή µπορεί να γίνει είτε ως 00 0 είτε ως Στην πρώτη περίπτωση, η µεταβλητή y 2 άλλαξε κατάσταση πιο γρήγορα απ' ότι η µεταβλητή y. Το αντίθετο συνέβη στη δεύτερη περίπτωση. Η σειρά αλλαγής κατάστασης δεν είναι γνωστή εκ των προτέρων. Εάν η ευσταθής κατάσταση, στην οποία θα καταλήξει το κύκλωµα, δεν εξαρτάται από τη σειρά µε την οποία αλλάζουν οι εσωτερικές µεταβλητές, τότε ο ανταγωνισµός είναι µη καθοριστικής σηµασίας (µη κρίσιµος, non-critical). Σε διαφορετική περίπτωση, ο ανταγωνισµός είναι καθοριστικής σηµασίας (κρίσιµος, critical). Οι κρίσιµοι ανταγωνισµοί πρέπει να αποφεύγονται, γιατί αλλιώς η συµπεριφορά (λειτουργία) του κυκλώµατος είναι απρόβλεπτη. Την αποφυγή των κρίσιµων ανταγωνισµών την πετυχαίνουµε κατά τη διαδικασία της σχεδίασης του 4 Το σήµα θα πρέπει να διαδοθεί µέσα από δύο πύλες µέχρι να φτάσει στην έξοδο Υ, και κάθε πύλη εισάγει καθυστέρηση 0 ns. 4

194 κυκλώµατος, αναγκάζοντας το κύκλωµα να διατρέχει ασταθείς καταστάσεις, επιλεγµένες έτσι ώστε µία µόνο εσωτερική µεταβλητή να αλλάζει κάθε φορά. Ας δούµε ορισµένα παραδείγµατα ανταγωνισµών µη-κρίσιµων και κρίσιµων. Στο Σχήµα 6.8 δίνονται δύο πίνακες µεταβάσεων, οι οποίοι περιέχουν µη-κρίσιµους ανταγωνισµούς, ενώ στο Σχήµα 6.9 φαίνονται δύο πίνακες, που περιέχουν κρίσιµους ανταγωνισµούς. Έστω ότι το κύκλωµα, µε τον πίνακα µεταβάσεων του Σχήµατος 6.8α βρίσκεται στην ευσταθή ολική κατάσταση y y 2 x=000. Αλλάζουµε την είσοδο x από 0 σε. Η εσωτερική κατάσταση αλλάζει από 00 σε (η γραµµή, 2η στήλη). Άρα, θα έχουµε την περίπτωση του ανταγωνισµού των µεταβλητών y και y 2, ως προς το ποια θα αλλάξει πρώτη. Αν η y 2 αλλάξει πριν από την y, τότε το κύκλωµα θα διατρέξει τις καταστάσεις Η κατάσταση 0 είναι ευσταθής, οπότε το κύκλωµα παραµένει σ' αυτή. Αν η y αλλάξει πριν την y 2, τότε το κύκλωµα θα διατρέξει τις καταστάσεις , οπότε και πάλι θα καταλήξει στην ευσταθή κατάσταση 0 (2η γραµµή, 2η στήλη). Με άλλα λόγια, ο ανταγωνισµός των µεταβλητών, που µόλις παρακολουθήσαµε, δεν ήταν κρίσιµος. y 2 x y x x 2 y y 2 y (α) (β ) Σχήµα 6.8. Πίνακες µεταβάσεων που περιέχουν µη-κρίσιµους ανταγωνισµούς. 5

195 y y 2 x 0 x x 2 y y2 y (α) (β) Σχήµα 6.9. Πίνακες µεταβάσεων που περιέχουν κρίσιµους ανταγωνισµούς. Παρόµοια είναι και η περίπτωση του Σχήµατος 6.8β. Έστω ότι το κύκλωµα βρίσκεται στην ευσταθή ολική κατάσταση y y 2 y 3 x x 2 =000 (3η γραµµή, η στήλη του πίνακα µεταβάσεων του Σχήµατος 6.8β). Αλλαγή της εισόδου x από 0 σε προκαλεί µια συνθήκη ανταγωνισµού, αφού η εσωτερική κατάσταση αλλάζει από 0 σε 000 (η γραµµή, 4η στήλη). Ο ανταγωνισµός θα συµβεί µεταξύ των µεταβλητών y 2 και y 3. Έτσι, αν η y 3 αλλάξει πρώτη, το κύκλωµα θα διατρέξει τις καταστάσεις , καταλήγοντας στην κατάσταση 000, η οποία είναι ευσταθής. Αν η y 2 αλλάξει πρώτη, τότε το κύκλωµα θα διατρέξει τις καταστάσεις , καταλήγοντας και πάλι στην ευσταθή κατάσταση 000. Άρα, και στις δύο περιπτώσεις καταλήγουµε στην ευσταθή ολική κατάσταση 0000, ανεξάρτητα από τη σειρά µε την οποία άλλαξαν οι µεταβλητές, δηλαδή έχουµε ένα µη-κρίσιµο ανταγωνισµό. Ας επαναλάβουµε την ίδια διαδικασία για τις περιπτώσεις των πινάκων µεταβάσεων του Σχήµατος 6.9. Έστω ότι βρισκόµαστε στην ευσταθή ολική κατάσταση y y 2 x=000 και ότι η είσοδος x από 0 γίνεται. Η κατάσταση y y 2 από 00 γίνεται, οπότε έχουµε µία περίπτωση ανταγωνισµού. Αν η y 2 αλλάξει κατάσταση πριν την y, τότε το κύκλωµα θα διατρέξει τις καταστάσεις: Η κατάσταση 0 είναι ευσταθής και, εποµένως, το κύκλωµα παραµένει σ' αυτή. Αν πάλι η y αλλάξει κατάσταση πριν από την y 2, τότε θα έχουµε Η κατάσταση 0 είναι επίσης ευσταθής για το συγκεκριµένο κύκλωµα και έτσι θα παραµείνει σ' αυτή την κατάσταση. Με άλλα λόγια, η τελική κατάσταση του 6

196 κυκλώµατος εξαρτάται από τη σειρά µε την οποία άλλαξαν οι εσωτερικές µεταβλητές και συνεπώς πρόκειται για µια περίπτωση κρίσιµου ανταγωνισµού. Άσκηση Αυτοαξιολόγησης 5 / Κεφάλαιο 6 Με αφετηρία την ολική κατάσταση 000 του πίνακα µεταβάσεων του Σχήµατος 6.9β, αλλάξτε την είσοδο x από 0 σε. Εξετάστε αν υπάρχει κρίσιµος ανταγωνισµός και προσδιορίστε την ευσταθή κατάσταση του κυκλώµατος µετά την αλλαγή της εισόδου. Άσκηση Αυτοαξιολόγησης 6 / Κεφάλαιο 6 Εξετάστε αν υπάρχει κρίσιµος ανταγωνισµός στην περίπτωση του κυκλώµατος της Άσκησης Αυτοαξιολόγησης 2 / Κεφάλαιο 6. (Υπόδειξη: Αρχίστε από την ολική κατάσταση 0 και αλλάξτε την είσοδο x 2 από σε 0). Σύνοψη Ενότητας Στην ενότητα αυτή ασχοληθήκαµε µε δύο πολύ σηµαντικά θέµατα, τα οποία παρουσιάζονται κατά τη σχεδίαση των ασύγχρονων ακολουθιακών κυκλωµάτων Το ένα θέµα είχε να κάνει µε την ευστάθεια ενός ασύγχρονου ακολουθιακού κυκλώµατος. Είδαµε ότι εύκολα µπορούµε να διαπιστώσουµε αν ένα ασύγχρονο ακολουθιακό κύκλωµα είναι ευσταθές από τον πίνακα µεταβάσεων αυτού. Ένα ευσταθές κύκλωµα περιέχει τουλάχιστον µία ευσταθή κατάσταση σε κάθε στήλη του πίνακα. Το άλλο θέµα είχε να κάνει µε τις συνθήκες ανταγωνισµού, που παρουσιάζονται κατά τη σχεδίαση ενός κυκλώµατος και που οφείλονται στην καθυστέρηση αλλαγής της κάθε εσωτερικής κατάστασης y, ως αποτέλεσµα της αλλαγής µιας εισόδου x. Οι ανταγωνισµοί µπορεί να είναι κρίσιµοι ή µη. Οι κρίσιµοι ανταγωνισµοί πρέπει να αποφεύγονται. Αυτό επιτυγχάνεται µε κατάλληλη κωδικοποίηση των καταστάσεων κατά τη διαδικασία της σχεδίασης ασύγχρονων ακολουθιακών κυκλωµάτων. 7

197 ΕΝΟΤΗΤΑ 6.3 ΣΠΙΝΘΗΡΕΣ Με τον όρο "σπινθήρες" (hazards) εννοούµε τα ανεπιθύµητα µεταβατικά σήµατα, που εµφανίζονται στις εξόδους κυκλωµάτων, εξαιτίας της διαφοράς στην καθυστέρηση διαδόσεως των λογικών σηµάτων µέσω διαφορετικών δρόµων. Οι σπινθήρες µπορεί να συµβούν τόσο στα συνδυαστικά, όσο και στα ακολουθιακά κυκλώµατα. Η εµφάνιση ενός σπινθήρα σ' ένα συνδυαστικό κύκλωµα προκαλεί µια στιγµιαία εσφαλµένη αλλαγή της εξόδου, ενώ η εµφάνιση ενός σπινθήρα σ' ένα ακολουθιακό κύκλωµα µπορεί να προκαλέσει τη µετάβαση αυτού σε µια εσφαλµένη ευσταθή κατάσταση. Στην ενότητα αυτή θα εξετάσουµε χωριστά τις δύο αυτές περιπτώσεις. Ολοκληρώνοντας τη µελέτη της ενότητας, θα είστε σε θέση να εντοπίζετε και να αντιµετωπίζετε αποτελεσµατικά τους σπινθήρες, που παρουσιάζονται τόσο στα συνδυαστικά, όσο και στα ασύγχρονα ακολουθιακά ψηφιακά κυκλώµατα ΣΠΙΝΘΗΡΕΣ ΣΕ ΣΥΝ ΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ Όπως αναφέραµε προηγουµένως, οι σπινθήρες εµφανίζονται λόγω της διαφορετικής καθυστέρησης που µπορεί να υπάρχει µεταξύ δύο διαφορετικών δρόµων διάδοσης ενός σήµατος. Η καθυστέρηση αυτή µπορεί να οφείλεται στην ύπαρξη διαφορετικού πλήθους πυλών ή στο διαφορετικό µήκος των καλωδιώσεων ή και στα δύο. Ας δούµε ένα χαρακτηριστικό παράδειγµα συνδυαστικού κυκλώµατος, στο οποίο εµφανίζεται σπινθήρας. x x 2 0 F Y x 3 2 F 2 Σχήµα 6.0. Συνδυαστικό κύκλωµα που παρουσιάζει σπινθήρες. Το κύκλωµα του Σχήµατος 6.0 για x =x 2 =x 3 = δίνει έξοδο Υ=, αφού Y = xx2 + x2 x3. Αν η είσοδος x 2 αλλάξει λογική στάθµη και από γίνει 0, τότε η έξοδος Υ θα παραµείνει στο λογικό. Αν όµως λάβουµε υπόψη µας την καθυστέρηση διάδοσης κάθε πύλης (η οποία για τη βασική σειρά TTL είναι 0 ns), τότε θα διαπιστώσουµε ότι "στιγµιαία" η έξοδος Υ θα γίνει 0 και µετά θα επιστρέψει στο λογικό, όπως µας υπαγορεύει η έκφραση Y = xx2 + x2 x3. Πράγµατι, για x =x 2 =x 3 = έχουµε 8

198 F =, F 2 =0 και Υ=. Όταν η είσοδος x 2 αλλάξει και γίνει 0, τότε F =0. Η έξοδος F 2 εξακολουθεί να βρίσκεται στο λογικό 0, γιατί παρεµβάλλεται ο αντιστροφέας και η είσοδός της δεν άλλαξε ακόµη από 0 σε. Με άλλα λόγια, µεταξύ των δρόµων F και F 2 υπάρχει µια διαφορά στην καθυστέρηση διάδοσης, ίση µε µια πύλη (0 ns). Στη διάρκεια αυτού του χρόνου, η έξοδος Υ από γίνεται 0, δηλαδή παρουσιάζεται ένας στατικός σπινθήρας στο (static- hazard), όπως φαίνεται στο Σχήµα 6.α. Παρόµοια, θα µπορούσαµε σε άλλα κυκλώµατα να έχουµε ένα στατικό σπινθήρα στο 0 (static-0 hazard), όπως στο Σχήµα 6.β, ή ένα δυναµικό σπινθήρα (dynamic hazard), όταν προκαλείται αλλαγή της εξόδου περισσότερες από µία φορές (Σχήµα 6.γ) (α) (β) (γ) Σχήµα 6.. Τύποι σπινθήρων: (α) στατικός σπινθήρας στο, (β) στατικός σπινθήρας στο 0, (γ) δυναµικός σπινθήρας. Η ύπαρξη σπινθήρων σε ένα συνδυαστικό κύκλωµα µπορεί εύκολα να διαπιστωθεί από το χάρτη Karnaugh του κυκλώµατος. Ο χάρτης του κυκλώµατος που εξετάζουµε δείχνεται στο Σχήµα 6.2α. Για x =x 2 =x 3 = βρισκόµαστε στον ελαχιστόρο 5. Αλλαγή του x 2 από σε 0 σηµαίνει µετάβαση στον ελαχιστόρο 0. Οι δύο αυτοί ελαχιστόροι καλύπτονται από διαφορετικά γινόµενα, δηλαδή ο ελαχιστόρος από το γινόµενο x x 2 (πύλη στο κύκλωµα του Σχήµατος 6.0) και ο ελαχιστόρος 0 από το γινόµενο x2 x3 (πύλη 2 στο κύκλωµα του Σχήµατος 6.0). Κάθε φορά που το κύκλωµα µεταβαίνει από το ένα γινόµενο στο άλλο, υπάρχει η πιθανότητα εµφάνισης σπινθήρα, αφού το ένα γινόµενο µπορεί να γίνει 0, πριν το άλλο προλάβει να γίνει. Η εξάλειψη της πιθανότητας εµφάνισης σπινθήρα επιτυγχάνεται µε την προσθήκη ενός επιπλέον γινοµένου (µιας επιπλέον πύλης AND), το οποίο να οµαδοποιεί τους παραπάνω ελαχιστόρους. Στην προκειµένη περίπτωση η οµαδοποίηση αυτή επιτυγχάνεται µε το γινόµενο x x 3, όπως φαίνεται στο Σχήµα 6.2β. Το νέο κύκλωµα, το οποίο δεν παρουσιάζει προβλήµατα εµφάνισης σπινθήρων, δείχνεται στο Σχήµα 6.2γ. Η λογική συνάρτηση που υλοποιεί είναι Y = xx2 + x2 x3 + xx3. 9

199 x 2 x x 2 x x x2 0 0 x3 Y (α) (β) (γ) Σχήµα 6.2. (α) Χάρτης Karnaugh του κυκλώµατος του Σχήµατος 6.0, (β) διορθωµένος χάρτης Karnaugh, (γ) διορθωµένο κύκλωµα, που δεν παρουσιάζει το πρόβληµα των σπινθήρων. Άσκηση Αυτοαξιολόγησης 7 / Κεφάλαιο 6 Να εξετάσετε αν το συνδυαστικό κύκλωµα του Σχήµατος 6.3 παρουσιάζει προβλήµατα σπινθήρων. Ελέγξτε την περίπτωση, κατά την οποία η είσοδος x 2 από γίνεται 0, ενώ οι άλλες δύο είσοδοι παραµένουν στο λογικό 0. Αν παρουσιάζεται σπινθήρας, προσδιορίστε τον τύπο του και προτείνετε κύκλωµα για την εξάλειψη αυτού. x x2 Y x3 Σχήµα 6.3. ιάγραµµα κυκλώµατος της Άσκησης Αυτοαξιολόγησης 7 / Κεφάλαιο 6. Σηµείωση: Είδαµε ότι οι σπινθήρες είναι ανεπιθύµητα µεταβατικά σήµατα, τα οποία προσπαθούµε να εξαλείψουµε. Αυτός είναι ο κανόνας. Η εξαίρεση είναι να µας χρειάζεται η ύπαρξη τέτοιων σπινθήρων. Τέτοια περίπτωση είναι εκείνη του Σχήµατος.27, όπου, εκµεταλλευόµενοι τις καθυστερήσεις διάδοσης των σηµάτων, κατασκευάσαµε κυκλώµατα, που ανιχνεύουν την ύπαρξη θετικών ή αρνητικών ακµών ΣΠΙΝΘΗΡΕΣ ΣΕ ΑΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ Στα ασύγχρονα ακολουθιακά κυκλώµατα το πρόβληµα των σπινθήρων είναι πολύ πιο σηµαντικό, αφού εξαιτίας αυτού µπορεί ένα κύκλωµα να βρεθεί σε µια εσφαλµένη 5 Εκτενής αναφορά στις έννοιες των ελαχιστόρων (ελαχίστων όρων, minterms) και των µεγιστόρων 20

200 ευσταθή κατάσταση. Στην περίπτωση των σύγχρονων ακολουθιακών κυκλωµάτων, οι σπινθήρες δεν δηµιουργούν προβλήµατα, αφού µόνο η τελική τιµή των σηµάτων, κατά την εµφάνιση της ενεργού ακµής του ρολογιού, είναι αυτή που θα καθορίσει την κατάσταση του κυκλώµατος. Ας δούµε λοιπόν την περίπτωση ενός ασύγχρονου ακολουθιακού κυκλώµατος, όπως αυτό προκύπτει, αν στο κύκλωµα του Σχήµατος 6.0 ανατροφοδοτήσουµε την έξοδο Υ στην είσοδο x 3. Το νέο αυτό κύκλωµα δείχνεται στο Σχήµα 6.4α. x x2 Y 2 2 = x x + x y y 2 (α) y x x x x 2 y y x x (β) (γ) (δ) Σχήµα 6.4. (α) Λογικό διάγραµµα του ασύγχρονου ακολουθιακού κυκλώµατος, (β) πίνακας µεταβάσεων, (γ) χάρτης της µεταβλητής Υ, (δ) εξάλειψη του σπινθήρα. Ουσιαστικά πρόκειται για έναν µανταλωτή τύπου-d (D latch) µε x την είσοδο D και x 2 την είσοδο. Έστω ότι το κύκλωµα αυτό βρίσκεται στην ολική κατάσταση yx x 2 = (2η γραµµή, 3η στήλη), η οποία είναι ευσταθής (βλ. πίνακα µεταβάσεων του Σχήµατος 6.4β). Αλλαγή της εισόδου x 2 από σε 0, θα οδηγήσει στην επίσης ευσταθή ολική κατάσταση yx x 2 =0 (2η γραµµή, 4η στήλη). Αν όµως εµφανιστεί σπινθήρας στην έξοδο Υ, αυτή θα γίνει "στιγµιαία" 0. Η ανατροφοδότηση αυτού στην είσοδο της πύλης 2 θα οδηγήσει το κύκλωµα στην ολική κατάσταση yx x 2 =00 (η γραµµή, 4η στήλη), η οποία είναι ευσταθής. Με άλλα λόγια, το κύκλωµα οδηγείται σε µια εσφαλµένη ευσταθή κατάσταση. Στο Σχήµα 6.4γ δείχνεται ο χάρτης του κυκλώµατος και η οµαδοποίηση των ελαχιστόρων. Η µετάβαση από το ένα γινόµενο στο άλλο είναι η αιτία του προβλήµατος και η λύση είναι ακριβώς ίδια µε εκείνη του αντίστοιχου συνδυαστικού (µεγίστων όρων, max terms) γίνεται στο βιβλίο της Ψηφιακής Σχεδίασης I. 2

201 κυκλώµατος, δηλαδή η χρήση µιας επιπλέον που να οµαδοποιεί τους κατάλληλους ελαχιστόρους (Σχήµα 6.4δ). Άσκηση Αυτοαξιολόγησης 8 / Κεφάλαιο 6 Εξετάστε αν το κύκλωµα της Άσκησης Αυτοαξιολόγησης / Κεφάλαιο 6 (Σχήµα 6.4) παρουσιάζει το πρόβληµα των σπινθήρων. Θεωρήστε ότι το κύκλωµα βρίσκεται στην ευσταθή ολική κατάσταση y y 2 x=0 και ότι η είσοδος x αλλάζει από σε 0. Προτείνετε τρόπο για την εξάλειψη του προβλήµατος. Σύνοψη Ενότητας Στην ενότητα αυτή γνωρίσαµε το πρόβληµα των σπινθήρων, οι οποίοι παρουσιάζονται τόσο στα ασύγχρονα ακολουθιακά κυκλώµατα, όσο και στα συνδυαστικά κυκλώµατα. Οι σπινθήρες είναι ανεπιθύµητα µεταβατικά σήµατα, τα οποία εµφανίζονται στις εξόδους των κυκλωµάτων, λόγω της διαφοράς που υπάρχει στην καθυστέρηση διαδόσεως των σηµάτων µέσω διαφορετικών δρόµων. Είδαµε ότι οι σπινθήρες µπορούν εύκολα να εξαλειφτούν µε τη βοήθεια επιπλέον πυλών, οι οποίες να "γεφυρώνουν" το κενό που παρουσιάζεται από την ανεξάρτητη οµαδοποίηση των ελαχιστόρων στους χάρτες Karnaugh του κυκλώµατος. ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ Στο κεφάλαιο αυτό ασχοληθήκαµε µε τη µελέτη των ασύγχρονων ακολουθιακών κυκλωµάτων. Είδαµε ότι ένα ασύγχρονο ακολουθιακό κύκλωµα είναι στην πράξη ένα συνδυαστικό κύκλωµα µε ανάδραση. Η αλλαγή της κατάστασης ενός ασύγχρονου ακολουθιακού κυκλώµατος γίνεται µε την αλλαγή κάποιας από τις εισόδους του, και όχι ενός ρολογιού, όπως συµβαίνει στα σύγχρονα ακολουθιακά κυκλώµατα. Γνωρίσαµε τις διαδικασίες ανάλυσης και σχεδίασης ασύγχρονων ακολουθιακών κυκλωµάτων. Ο πίνακας µεταβάσεων ενός ασύγχρονου ακολουθιακού κυκλώµατος είναι ό,τι και ο πίνακας καταστάσεων ενός σύγχρονου ακολουθιακού κυκλώµατος. Ο πίνακας µεταβάσεων απεικονίζει τις µεταβλητές διέγερσης Υ ενός κυκλώµατος, ως συνάρτηση των εισόδων x και των εσωτερικών µεταβλητών y. Ευσταθής κατάσταση είναι εκείνη για την οποία ισχύει Y=y. Ένα ασύγχρονο ακολουθιακό κύκλωµα είναι ευσταθές, όταν έχει τουλάχιστον µία ευσταθή κατάσταση για κάθε δυνατό συνδυασµό των εισόδων του. 22

202 Κατά τη σχεδίαση ασύγχρονων ακολουθιακών κυκλωµάτων θα πρέπει να προσέχουµε το θέµα της ευστάθειας, καθώς και το θέµα των ανταγωνισµών που παρουσιάζονται. Οι κρίσιµοι ανταγωνισµοί, δηλαδή οι ανταγωνισµοί που οδηγούν σε διαφορετικές ευσταθείς καταστάσεις, θα πρέπει να αποφεύγονται. Τέλος, κατά τη σχεδίαση ασύγχρονων ακολουθιακών κυκλωµάτων αλλά και συνδυαστικών κυκλωµάτων, θα πρέπει να ελέγχουµε και την περίπτωση εµφάνισης σπινθήρων και να τροποποιούµε το κύκλωµα για την αποφυγή τους. ΒΙΒΛΙΟΓΡΑΦΙΑ ΕΛΛΗΝΟΓΛΩΣΣΗ Mano Morris M., Ψηφιακή Σχεδίαση, (Κεφ. 9), Εκδόσεις Παπασωτηρίου, 992. ΞΕΝΟΓΛΩΣΣΗ McClaskey J. F., Logic Design Principles: With Emphasis on Testable Semiconductor Circuits, (Chap. 7), Prentice Hall, 986. Wakerly J. F., Digital Design: Principles and Practices, 2 nd Edition, (Chap. 7), Prentice Hall, 994. Ο ΗΓΟΣ ΠΕΡΑΙΤΕΡΩ ΜΕΛΕΤΗΣ Mano Morris M., Ψηφιακή Σχεδίαση, (Κεφ. 9), Εκδόσεις Παπασωτηρίου, 992. Το Κεφάλαιο 9 του βιβλίου είναι αφιερωµένο στα ασύγχρονα ακολουθιακά κυκλώµατα. Παρουσιάζεται µε τρόπο συστηµατικό και κατανοητό, τόσο η διαδικασία ανάλυσης των ασύγχρονων ακολουθιακών κυκλωµάτων, όσο και η διαδικασία σχεδίασης αυτών. ίνεται µεγάλη έµφαση στην ελαχιστοποίηση των πινάκων ροής, γεγονός πολύ σηµαντικό για την αποδοτική σχεδίαση τέτοιων κυκλωµάτων. ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ Απάντηση Άσκησης Αυτοαξιολόγησης / Κεφάλαιο 6 Η άσκηση αυτή διαφέρει από το Παράδειγµα / Κεφάλαιο 6 κατά το ότι έχει µόνο µία είσοδο x και δύο βρόχους ανάδρασης και εποµένως δύο µεταβλητές διέγερσης Υ, Υ 2. Άρα, η µόνη δυσκολία που πιθανόν αντιµετωπίσατε είναι στο να καταστρώσετε τον 23

203 πίνακα µεταβάσεων, ο οποίος στην προκειµένη περίπτωση θα πρέπει να αποτελείται από 4 γραµµές και 2 στήλες. Ας ακολουθήσουµε, όµως, τα βήµατα σχεδίασης από την αρχή. Βήµα Α: Οι βρόχοι ανάδρασης είναι εµφανείς, οπότε το µόνο που έχουµε να κάνουµε είναι να συµβολίσουµε σωστά τα y i, Y i. Βήµα Α2: Προσδιορίζουµε τις εκφράσεις Boole Y i, i=, 2. (( ) ( ) ) Y = xy x y = xy + x y 2 2 (( ) ( ) ) Y = x y xy = xy + x y Βήµα Α3: Καταστρώνουµε τον πίνακα µεταβάσεων και σηµειώνουµε σ' αυτόν τις ευσταθείς καταστάσεις. Επειδή έχουµε 2 µεταβλητές διέγερσης, τις Υ και Υ 2, θα έχουµε έναν πίνακα µε 2 2 γραµµές και 2 στήλες, όπως αυτός φαίνεται στο Σχήµα 6.5. y y 2 x Σχήµα 6.5. Πίνακας µεταβάσεων του κυκλώµατος του Σχήµατος 6.4. Κάθε θέση του πίνακα περιέχει δύο τιµές. Η πρώτη αντιστοιχεί στην τιµή Υ και η δεύτερη στην τιµή Υ 2, όπως αυτές προκύπτουν από τις εκφράσεις του βήµατος Α2. Για παράδειγµα, για την ολική κατάσταση y y 2 x=0, η µεταβλητή Υ γίνεται 0 και η µεταβλητή Υ 2 γίνεται, οπότε στην αντίστοιχη θέση του πίνακα (2η γραµµή και 2η στήλη) τοποθετείται η τιµή Υ Υ 2 =0. Σηµειώνουµε µε κύκλο όλες τις ευσταθείς καταστάσεις, δηλαδή τις καταστάσεις για τις οποίες Υ Υ 2 =y y 2. Όταν το κύκλωµα βρίσκεται στην ολική κατάσταση 0 (3η γραµµή, η στήλη), η οποία είναι ευσταθής και η είσοδος γίνει, τότε αυτό µεταβαίνει προσωρινά στην ολική κατάσταση, η οποία είναι ασταθής (3η γραµµή, 2η στήλη), αφού y y 2 =, ενώ Y Y 2 =0. Μόλις όµως η κατάσταση Υ Υ 2 ανατροφοδοτηθεί στο κύκλωµα, έχουµε y y 2 =0. Για y y 2 =0 οι 24

204 καταστάσεις Υ Υ 2 =0, οπότε πρόκειται για µια ευσταθή κατάσταση (4η γραµµή, 2η στήλη), στην οποία και παραµένει το κύκλωµα. Αν απαντήσατε σωστά, τότε µπράβο σας. Αυτό σηµαίνει ότι έχετε κατανοήσει τα όσα αναφέρθηκαν µέχρι εδώ σχετικά µε την ανάλυση των ασύγχρονων ακολουθιακών κυκλωµάτων. Συνεχίστε µε την επόµενη άσκηση. Αν πάλι δεν καταφέρατε να αναλύσετε το κύκλωµα, µην απογοητευθείτε. Χρειάζεται κάποια προσπάθεια για την εξοικείωση µε τις νέες έννοιες, που εισάγονται στο Κεφάλαιο αυτό. Μελετήστε ξανά την υποενότητα 6.. και προσπαθήστε πάλι να λύσετε την άσκηση. Μετά συνεχίστε µε την επόµενη άσκηση αυτοαξιολόγησης. Απάντηση Άσκησης Αυτοαξιολόγησης 2 / Κεφάλαιο 6 Αρχίζουµε την ανάλυση του κυκλώµατος, ξανασχεδιάζοντας αυτό, έτσι ώστε να φαίνεται ο βρόχος ανάδρασης, που υπάρχει σε καθένα από τα FFs, που αυτό περιέχει (Σχήµα 6.6α). Στη συνέχεια ακολουθούµε τα τρία βήµατα της ανάλυσης. Βήµα Α: Εντοπίζουµε τους βρόχους και τους συµβολίζουµε ως Υ και y. Βήµα Α2: Εκφράζουµε κάθε µεταβλητή Υ ως συνάρτήση των εισόδων x και των εσωτερικών καταστάσεων y. Από το Σχήµα 6.6α βρίσκουµε ότι: ( ) Y = x x +( x y + y ) = ( x x ) ( x y + y ) = = ( x + x )( x y + y ) = x y + x y + x x y + x y ( ) Y = x y + ( x x + y ) = ( x y ) ( x x + y ) = = ( x + y )( x x + y ) = x x + x y + x x y + y y Βήµα Α3: Καταστρώνουµε τον πίνακα µεταβάσεων και σηµειώνουµε τις ευσταθείς καταστάσεις, όπως αυτός δείχνεται στο Σχήµα 6.6β. Με κύκλο έχουµε σηµειώσει τις ευσταθείς καταστάσεις. Παρατηρούµε ότι το κύκλωµα αυτό είναι γενικά ευσταθές, αφού για οποιαδήποτε τιµή των εισόδων, αυτό µεταβαίνει σε µια ευσταθή κατάσταση. 25

205 x Y y2 y y 2 x x y y Y x2 (α) (β) y2 Σχήµα 6.6. (α) Το λογικό κύκλωµα του Σχήµατος 6.5, όπου φαίνονται οι βρόχοι ανάδρασης, (β) ο πίνακας µεταβάσεων του κυκλώµατος. Η άσκηση αυτή είχε την ιδιοµορφία ότι κάποιοι από τους βρόχους ανάδρασης δεν ήταν εµφανείς. Κατά τα υπόλοιπα, η αντιµετώπισή της ήταν ίδια µε αυτή που γνωρίσαµε µέχρι τώρα, παρά το γεγονός ότι είχε δύο µεταβλητές εισόδου και δύο εσωτερικές καταστάσεις. Αν απαντήσατε σωστά, τότε συγχαρητήρια, γιατί έχετε κατανοήσει τον τρόπο ανάλυσης των ασύγχρονων ακολουθιακών κυκλωµάτων. Αν όχι, τότε ξαναπροσπαθήστε, επαναλαµβάνοντας τη µελέτη της ενότητας 6.. Απάντηση Άσκησης Αυτοαξιολόγησης 3 / Κεφάλαιο 6 Η άσκηση αυτή είναι παρόµοια µε το Παράδειγµα 2 / Κεφάλαιο 6. Το κύκλωµα που θα σχεδιάσουµε θα πρέπει να διαθέτει δύο εισόδους x, x 2 και ένα βρόχο ανάδρασης Υ. Η µόνη διαφορά βρίσκεται στο ότι το παρόν κύκλωµα θα διαθέτει και µία έξοδο z. Ακολουθούµε τα βήµατα σχεδίασης Σ έως Σ3 και έχουµε: Βήµα Σ: Καταστρώνουµε τον πίνακα ροής του κυκλώµατος. Συµβολίζουµε µε a την κατάσταση 0 και µε b την κατάσταση. Όταν x =0, τότε το κύκλωµα βρίσκεται στην ευσταθή κατάσταση a (η και 2η γραµµή, η και 2η στήλη του πίνακα ροής του Σχήµατος 6.7α). Όταν x =, τότε το κύκλωµα βρίσκεται στην ευσταθή κατάσταση b (η γραµµή, 4η στήλη και 2η γραµµή, 3η και 4η στήλη). Για να γίνει x x 2 =, πρέπει είτε να ήταν x x 2 =0 είτε x x 2 =0. Στην πρώτη περίπτωση, η ευσταθής κατάσταση είναι η a, οπότε και παραµένει σ' αυτή (η γραµµή, 3η στήλη). Στη 26

206 δεύτερη περίπτωση, η ευσταθής κατάσταση είναι η b, οπότε παραµένει σ' αυτή (2η γραµµή, 3η στήλη). Η έξοδος φαίνεται στον ίδιο πίνακα (µετά το κόµµα). Σύµφωνα µε την εκφώνηση, αυτή είναι πάντοτε 0, εκτός της περίπτωσης κατά την οποία x x 2 =. Βήµα Σ2: Κωδικοποιούµε τις καταστάσεις και προσδιορίζουµε τις λογικές συναρτήσεις. Κωδικοποιούµε το a µε 0 και το b µε, οπότε προκύπτει ο πίνακας µεταβάσεων του Σχήµατος 6.7β. Οι τιµές της εξόδου καταγράφονται χωριστά στο χάρτη του Σχήµατος 6.7γ. Από τα Σχήµατα 6.7β,γ προσδιορίζουµε τις λογικές συναρτήσεις για τη µεταβλητή διέγερσης Υ και την έξοδο z. Βρίσκουµε ότι: Y = xx2 + x y και z=x x 2. Βήµα Σ3: Σχεδιάζουµε το λογικό διάγραµµα του κυκλώµατος (Σχήµα 6.7δ). Αυτό είναι το ζητούµενο κύκλωµα. y x x y x x y x x α α,0 α,0 α, b, b α,0 α,0 b, b, (α) (β) (γ) Ζ x x 2 Υ y (δ) Σχήµα 6.7. (α) Πίνακας ροής, (β) πίνακας καταστάσεων, (γ) χάρτης της εξόδου, (δ) λογικό κύκλωµα. Αν απαντήσατε σωστά την άσκηση αυτή, τότε σας αξίζουν συγχαρητήρια. Σηµαίνει ότι έχετε πλέον εξοικειωθεί µε τους πίνακες µεταβάσεων των ασύγχρονων ακολουθιακών κυκλωµάτων και συνεπώς µπορείτε να συνεχίσετε χωρίς δυσκολία τη µελέτη του κεφαλαίου. Αν πάλι δεν τα καταφέρατε, µην απογοητευθείτε. εν είναι και από τις πλέον εύκολες έννοιες αυτές που εξετάζουµε εδώ. Επιµείνετε, µελετώντας από την αρχή την ενότητα 6.. Είναι θέµα χρόνου το να εξοικειωθείτε. 27

207 Απάντηση Άσκησης Αυτοαξιολόγησης 4 / Κεφάλαιο 6 Για να αποφανθούµε σχετικά µε την ευστάθεια του κυκλώµατος, θα πρέπει να το αναλύσουµε σύµφωνα µε τα γνωστά. Ξανασχεδιάζουµε το κύκλωµα, όπως φαίνεται στο Σχήµα 6.8α, και ακολουθούµε τα τρία βήµατα ανάλυσης των ασύγχρονων ακολουθιακών κυκλωµάτων. y y y 2 x x x2 x y2 y Y2 Y (α) Σχήµα 6.8. (α) Λογικό διάγραµµα και (β) πίνακας καταστάσεων του κυκλώµατος. (β) Βήµα Α: Εντοπίζουµε τους βρόχους ανάδρασης. Το συγκεκριµένο κύκλωµα έχει δύο βρόχους. Βήµα Α2: Εκφράζουµε τις µεταβλητές Υ ως συνάρτηση των x και y και βρίσκουµε ότι: Y = ( x y + y ) =( x y ) y = ( x + y ) y = x y + y y Y = ( x y + y ) =( x y ) y =( x + y ) y = x y + y y Βήµα Α3: Καταστρώνουµε τον πίνακα µεταβάσεων (Σχήµα 6.8β) και σηµειώνουµε τις ευσταθείς καταστάσεις. Παρατηρούµε ότι για είσοδο x x 2 =, το κύκλωµα δεν έχει ευσταθή κατάσταση. Συγκεκριµένα, αν y y 2 =00, τότε Υ Υ 2 = (η γραµµή, 3η στήλη του πίνακα). Όταν τώρα y y 2 =, τότε Υ Υ 2 =00 (3η γραµµή, 3η στήλη του πίνακα). Ο κύκλος αυτός επαναλαµβάνεται συνέχεια για όσο χρονικό διάστηµα οι είσοδοι x και x 2 βρίσκονται στο λογικό και οι δύο. Αν κάποια από αυτές γίνει 0, τότε το κύκλωµα θα µεταβεί σε µία από τις ευσταθείς καταστάσεις 0 ή 0. Αν x x 2 =0, τότε το κύκλωµα βρίσκεται στην κατάσταση Υ Υ 2 =0, η οποία είναι ευσταθής. Αν τώρα η είσοδος x 2 γίνει 0, δηλαδή x x 2 =00, τότε το κύκλωµα παραµένει στην ίδια κατάσταση Υ Υ 2 =0. Αυτό ήταν αναµενόµενο, αν θυµηθούµε τη λειτουργία του JK FF και δούµε ότι x =J και x 2 =Κ. Αντίστοιχα, όταν x x 2 =0, τότε το κύκλωµα βρίσκεται στην 28

208 ευσταθή κατάσταση Υ Υ 2 =0. Αν το x γίνει 0, οπότε x x 2 =00, το κύκλωµα "θυµάται" την προηγούµενη κατάσταση και παραµένει σ' αυτή (4η γραµµή, η στήλη του πίνακα). Αν δώσατε τη σωστή απάντηση, τότε µπράβο σας. Συνεχίστε. Αν όµως δεν τα καταφέρατε, τότε µελετήστε και πάλι την ανάλυση των ασύγχρονων ακολουθιακών κυκλωµάτων (υποενότητα 6..) και ξαναπροσπαθήστε. Πρόκειται για ένα γνωστό κύκλωµα (το FF τύπου JK), του οποίου γνωρίζουµε καλά τον τρόπο λειτουργίας και τις αδυναµίες του. Απάντηση Άσκησης Αυτοαξιολόγησης 5 / Κεφάλαιο 6 Η αλλαγή της εισόδου x από 0 σε αναγκάζει το κύκλωµα να αλλάξει κατάσταση και από 0 (3η γραµµή, η στήλη του πίνακα του Σχήµατος 6.9β) να µεταβεί στην κατάσταση 000 (3η γραµµή, 4η στήλη). Άρα, έχουµε µια συνθήκη ανταγωνισµού, αφού και οι δύο εσωτερικές µεταβλητές y 2 και y 3 αλλάζουν. Αν η y 2 αλλάξει πριν από την y 3, θα έχουµε τη διαδοχή των καταστάσεων: Αν η y 3 αλλάξει πριν από την y 2, θα έχουµε τη διαδοχή των καταστάσεων: Άρα, η ευσταθής κατάσταση, στην οποία καταλήγει το κύκλωµα, είναι διαφορετική κάθε φορά και εξαρτάται από τη σειρά µε την οποία οι εσωτερικές µεταβλητές αλλάζουν. Έχουµε, εποµένως, έναν κρίσιµο ανταγωνισµό. Παρατηρώντας τους πίνακες µεταβάσεων των Σχηµάτων 6.8β και 6.9β, διαπιστώνουµε ότι η µόνη διαφορά τους βρίσκεται στην κατάσταση της 4ης γραµµής και 4ης στήλης. Αυτή η διαφορά ήταν αρκετή, για να αλλάξει ριζικά η συµπεριφορά του κυκλώµατος. Είναι φανερό, λοιπόν, ότι τέτοιου είδους παρεµβάσεις θα µπορούσαµε να τις αξιοποιήσουµε στην περίπτωση που θέλουµε να σχεδιάσουµε ένα κύκλωµα, το οποίο να µην έχει κρίσιµους ανταγωνισµούς. Αν απαντήσατε σωστά, σας αξίζουν συγχαρητήρια. Αν ωστόσο δεν τα καταφέρατε, µην απογοητευθείτε. Αυτό σηµαίνει ότι δεν έχετε ακόµα εξοικειωθεί µε τους πίνακες µεταβάσεων και τον τρόπο ερµηνείας τους. Μελετήστε και πάλι τις υποενότητες 6.. και πριν επιχειρήσετε να λύσετε ξανά την άσκηση. 29

209 Απάντηση Άσκησης Αυτοαξιολόγησης 6 / Κεφάλαιο 6 Ο πίνακας µεταβάσεων του κυκλώµατος της Άσκησης Αυτοαξιολόγησης 2 / Κεφάλαιο 6 δίνεται στο Σχήµα 6.6β. Αρχίζοντας από την ολική κατάσταση y y 2 x x 2 =0 και αλλάζοντας την είσοδο x 2 από σε 0, παρατηρούµε ότι έχουµε µια συνθήκη ανταγωνισµού, αφού η κατάσταση από (3η γραµµή, 2η στήλη) γίνεται 00 (3η γραµµή, η στήλη). Έτσι, αν η y 2 αλλάξει κατάσταση πριν την y, θα έχουµε τη διαδοχή των εσωτερικών καταστάσεων: Στην αντίθετη περίπτωση, η διαδοχή των καταστάσεων θα είναι: 0. Παρατηρούµε ότι η τελική ολική κατάσταση του κυκλώµατος είναι διαφορετική για κάθε περίπτωση και εξαρτάται από τη σειρά µε την οποία άλλαξαν οι µεταβλητές y και y 2. Συνεπώς έχουµε έναν κρίσιµο ανταγωνισµό. Αν βρήκατε τη σωστή απάντηση, τότε µπράβο σας, γιατί έχετε κατανοήσει τις έννοιες των ανταγωνισµών. Αν δεν τα καταφέρατε, τότε ξαναπροσπαθήστε. Επαναλάβετε τη µελέτη των υποενοτήτων 6.. και Είναι γεγονός ότι η κατανόηση και παρακολούθηση της διαδοχής των εσωτερικών καταστάσεων δεν είναι εύκολη υπόθεση. Χρειάζεται προσπάθεια. Απάντηση Άσκησης Αυτοαξιολόγησης 7 / Κεφάλαιο 6 Το κύκλωµα αυτό είναι εύκολο να αναλυθεί, αφού µοιάζει µε εκείνο του Σχήµατος 6.0. Η συνάρτηση της εξόδου είναι Y = x x2 + x2 x3. Παρατηρούµε ότι για x = x 3 =0 και x 2 =, η έξοδος Υ=. Όταν η είσοδος x 2 από γίνει 0, η έξοδος Υ παραµένει στο. Λαµβάνοντας υπόψη µας τις καθυστερήσεις των πυλών, διαπιστώνουµε ότι η αλλαγή της λογικής στάθµης του x 2 από σε 0 προκαλεί την εµφάνιση ενός στατικού σπινθήρα στο. Η ύπαρξη του σπινθήρα γίνεται εύκολα αντιληπτή από το χάρτη του κυκλώµατος (Σχήµα 6.9α). Αλλαγή της εισόδου x 2 από σε 0 σηµαίνει µετάβαση από τον ελαχιστόρο 00 στον 000. Για την εξάλειψη του σπινθήρα, οµαδοποιούµε τους δύο αυτούς ελαχιστόρους µε τη βοήθεια του γινοµένου x x, όπως φαίνεται στο Σχήµα 2 6.9β. Το διορθωµένο κύκλωµα δείχνεται στο Σχήµα 6.9γ. 30

210 x x 2 x 2 x 3 x x x x 0 x 3 Y (α) (β) (γ) Σχήµα 6.9. (α) Χάρτης του κυκλώµατος του Σχήµατος 6.3, (β) διορθωµένος χάρτης και (γ) κύκλωµα για την αποφυγή των σπινθήρων. Αν αναλύσατε σωστά το κύκλωµα, τότε µπράβο σας. Έχετε εξοικειωθεί µε τους σπινθήρες στα συνδυαστικά κυκλώµατα. Αν δεν τα καταφέρατε, τότε προσπαθήστε να εντοπίσετε το γιατί. Αν δείτε ότι δεν έχετε κατανοήσει τους χάρτες Karnough και τις έννοιες των ελαχιστόρων, τότε πρέπει να ανατρέξετε στο βιβλίο της Ψηφιακής Σχεδίασης Ι, όπου γίνεται εκτενής αναφορά σ αυτές. Αν πάλι όλα αυτά σας είναι γνωστά, τότε ξαναδιαβάστε την υποενότητα 6.3., για να σιγουρευτείτε ότι έχετε κατανοήσει τη διαδικασία εµφάνισης των σπινθήρων και ξαναπροσπαθήστε. Απάντηση Άσκησης Αυτοαξιολόγησης 8 / Κεφάλαιο 6 Ο πίνακας µεταβάσεων του κυκλώµατος φαίνεται στο Σχήµα 6.5. Παρατηρούµε ότι η ολική κατάσταση y y 2 x=0 είναι ευσταθής. Όταν η είσοδος x από γίνει 0, τότε το κύκλωµα από την κατάσταση 0 µεταβαίνει στην κατάσταση, η οποία είναι ευσταθής. Ας δούµε για λίγο του χάρτες Karnaugh του κυκλώµατος και ας εξετάσουµε τι συνεπάγεται αυτή η αλλαγή της εισόδου. Οι χάρτες προκύπτουν άµεσα από τον πίνακα µεταβάσεων, σηµειώνοντας τις τιµές της µεταβλητής Υ και της µεταβλητής Υ 2 χωριστά, όπως δείχνεται στο Σχήµα Θυµηθείτε από την Άσκηση Αυτοαξιολόγησης / Κεφάλαιο 6 ότι Y = xy + x y, Y = xy + x y y y 2 x y y x (α) (β) Σχήµα (α) Χάρτης της µεταβλητής Υ, (β) χάρτης της µεταβλητής Υ 2. Από το χάρτη του Σχήµατος 6.20β για τη µεταβλητή Υ 2 παρατηρούµε ότι η αλλαγή της εισόδου από σε 0, προκαλεί µετάβαση του κυκλώµατος από τον ελαχιστόρο 0 3

211 (2η γραµµή, 2η στήλη) στον ελαχιστόρο 00 (2η γραµµή, η στήλη), οι οποίοι ανήκουν σε διαφορετικά γινόµενα. Άρα, θα παρουσιαστεί ένας σπινθήρας στη µεταβλητή Υ 2. Πρόκειται για ένα στατικό σπινθήρα στο. Αυτή η "στιγµιαία" µετάβαση του Υ 2 από το στο 0 µπορεί να οδηγήσει το κύκλωµα στην ολική κατάσταση 000 (η γραµµή, η στήλη του πίνακα µεταβάσεων), η οποία είναι ευσταθής. Με άλλα λόγια, ο σπινθήρας προκαλεί τη µετάβαση στην εσφαλµένη ολική κατάσταση 000 αντί της ορθής 0. Η εξάλειψη του σπινθήρα γίνεται µε την οµαδοποίηση των ελαχιστόρων 00 και 0 µέσω του γινοµένου y y2 (διακεκοµµένη γραµµή του χάρτη του Σχήµατος 6.20β). Συνεπώς, στο κύκλωµα θα πρέπει να προστεθεί µία ακόµη πύλη, ώστε για τη µεταβλητή Υ 2 να υλοποιείται η συνάρτηση Y2 = xy + x y2 + y y2. Αν δεν απαντήσατε σωστά, µην απογοητευθείτε. Ήταν πραγµατικά δύσκολο το να σκεφτείτε να πάρετε τους χάρτες Karnough για κάθε µεταβλητή Υ χωριστά. Τώρα πια που ξέρετε τι έπρεπε να κάνετε, ξαναπροσπαθήστε να λύσετε την άσκηση µόνοι σας. Αν τα καταφέρετε, σηµαίνει πως έχετε κατανοήσει τον τρόπο αντιµετώπισης των σπινθήρων στα ασύγχρονα ακολουθιακά κυκλώµατα. Αν πάλι καταφέρατε από την πρώτη στιγµή να δώσετε τη σωστή λύση στο πρόβληµα, τότε σας αξίζουν πραγµατικά συγχαρητήρια. ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ critical race excitation variables feedback feedback sequential circuit flow table fundamental-mode circuit hazard non-critical race primitive propagation delay race conditions secondary variables stable total sate transition table unstable ανταγωνισµός καθοριστικής σηµασίας, κρίσιµος ανταγωνισµός µεταβλητές διέγερσης ανάδραση, ανατροφοδότηση ακολουθιακό κύκλωµα µε ανάδραση, ασύγχρονο ακολουθιακό κύκλωµα πίνακας ροής κύκλωµα βασικού τύπου σπινθήρας ανταγωνισµός µη καθοριστικής σηµασίας, µη κρίσιµος ανταγωνισµός πρωτόγονος καθυστέρηση διάδοσης συνθήκες ανταγωνισµού, συνθήκες κυνηγητού δευτερεύουσες µεταβλητές ευσταθής ολική κατάσταση πίνακας µεταβάσεων ασταθής 32

212 ΚΕΦΑΛΑΙΟ 7 ΜΝΗΜΗ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ 7.. ΕΙ Η ΗΜΙΑΓΩΓΙΚΗΣ ΜΝΗΜΗΣ ΜΝΗΜΗ ΑΝΑΓΝΩΣΗΣ ΜΟΝΟ (ROM) ΜΝΗΜΗ ΑΝΑΓΝΩΣΗΣ ΚΑΙ ΕΓΓΡΑΦΗΣ (RAM)... 0 ΕΝΟΤΗΤΑ 7.2. ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΕΠΕΚΤΑΣΗ ΤΟΥ ΜΗΚΟΥΣ ΛΕΞΗΣ ΜΙΑΣ ΜΝΗΜΗΣ ΕΠΕΚΤΑΣΗ ΤΗΣ ΑΠΟΘΗΚΕΥΤΙΚΗΣ ΙΚΑΝΟΤΗΤΑΣ ΜΙΑΣ ΜΝΗΜΗΣ... 8 ΒΙΒΛΙΟΓΡΑΦΙΑ... 2 ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ... 26

213 ΚΕΦΑΛΑΙΟ 7 ΜΝΗΜΗ Σκοπός Το κεφάλαιο αυτό αναφέρεται στη µελέτη των διαφορετικών τύπων µνήµης, δίνοντας ιδιαίτερη έµφαση στις ηµιαγωγικές µνήµες, που είναι και οι κυρίαρχες στην εποχή µας. Στόχος µας είναι να γνωρίσουµε όλους τους τύπους µνήµης ROM και RAM και τους τρόπους διασύνδεσής τους, ώστε να µπορούµε να σχεδιάζουµε µονάδες αποθήκευσης οποιουδήποτε µήκους λέξης και µεγέθους. Προσδοκώµενα αποτελέσµατα Μετά την ολοκλήρωση της µελέτης του Κεφαλαίου, θα είστε σε θέση να: κατανοείτε και να χρησιµοποιείτε σωστά την ορολογία τη σχετική µε τα συστήµατα µνήµης επιλέγετε τον τύπο µνήµης ROM ή RAM ανάλογα µε την εφαρµογή επιλέγετε τον τύπο µνήµης ROM ή RAM ανάλογα µε την απαιτούµενη ταχύτητα λειτουργίας και κατανάλωση ισχύος προσδιορίζετε τη χωρητικότητα ενός ολοκληρωµένου µνήµης από το πλήθος των εισόδων και εξόδων του διασυνδέετε ολοκληρωµένα κυκλώµατα µνήµης RAM ή ROM, έτσι ώστε να πετυχαίνετε την επέκταση του µήκους λέξης ή της αποθηκευτικής ικανότητας Έννοιες κλειδιά RAM / ROM / EPROM χρόνος προσπέλασης στατική / δυναµική µνήµη επέκταση µνήµης αποκωδικοποίηση µνήµης πρόσκαιρη / µη-πρόσκαιρη µνήµη σειριακή / τυχαία προσπέλαση 2

214 ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ Στα ψηφιακά συστήµατα, τα κυκλώµατα µνήµης παρέχουν τη δυνατότητα προσωρινής ή µόνιµης αποθήκευσης πληροφορίας (δεδοµένων ή εντολών) για µελλοντική χρήση. Σήµερα είναι ευρέως γνωστό ότι το αποθηκευτικό µέσο µπορεί να είναι είτε ένα ηµιαγωγικό ολοκληρωµένο κύκλωµα (semiconductor integrated circuit) είτε µία µαγνητική συσκευή, όπως για παράδειγµα ένας µαγνητικός δίσκος ή µια µαγνητική ταινία, είτε τέλος µια οπτική συσκευή, όπως το CD ROM. Καθένα από αυτά τα αποθηκευτικά µέσα παρουσιάζει κάποια ιδιαίτερα χαρακτηριστικά ως προς τη δυνατότητα αποθήκευσης, δηλαδή το µέγεθος της µνήµης, το χρόνο προσπέλασης της πληροφορίας και το κόστος ανά δυαδικό ψηφίο (bit) πληροφορίας. Με τον όρο χρόνος προσπέλασης ή χρόνος πρόσβασης (access time) της µνήµης εννοούµε το χρονικό διάστηµα που παρέρχεται από τη στιγµή που θα ζητήσουµε το περιεχόµενο µιας θέσης µνήµης µέχρι τη στιγµή που αυτό θα µας είναι διαθέσιµο στην έξοδο αυτής. Με άλλα λόγια, ο χρόνος προσπέλασης µας δείχνει το πόσο γρήγορη είναι µια µνήµη. Η πυραµίδα του Σχήµατος 7. µας δίνει µια εποπτική εικόνα της ιεραρχίας της µνήµης ως προς τα κύρια χαρακτηριστικά, που µόλις αναφέραµε. υνατότητα αποθήκευσης Κόστος ανά bit Καταχω -ρητές Κρυφή Μνήµη RAM ROM CPU Κύρια Μνήµη Χρόνος προσπέλασης Μαγνητικοί ίσκοι Οπτικοί ίσκοι ευτερεύουσα Μνήµη Σχήµα 7.. Ταξινόµηση της µνήµης ως προς το µέγεθος, το χρόνο προσπέλασης και το κόστος. Στην κορυφή της πυραµίδας βρίσκονται οι καταχωρητές (registers), τους οποίους έχουµε ήδη µελετήσει στο Κεφάλαιο 4. Πρόκειται για τα πιο γρήγορα στοιχεία αποθήκευσης, δηλαδή ο χρόνος προσπέλασης των περιεχοµένων τους είναι ο ελάχιστος δυνατός (ίσος προς την καθυστέρηση διάδοσης µέσω κάποιων πυλών). Το µέγεθος της πληροφορίας, που συνήθως αποθηκεύεται στους καταχωρητές, είναι πολύ µικρό, της 3

215 τάξεως των δεκάδων ψηφιολέξεων (bytes ), ενώ το κόστος ανά bit είναι πολύ µεγάλο. Στη βάση της πυραµίδας βρίσκονται τα οπτικά µέσα αποθήκευσης. Όπως γνωρίζουµε σήµερα, το κόστος αυτών είναι εξαιρετικά χαµηλό και η δυνατότητα αποθήκευσης εντυπωσιακά µεγάλη. Ο χρόνος προσπέλασης, όµως, είναι επίσης πολύ µεγάλος σε σχέση µε τα άλλα είδη µνήµης, που αναφέρονται στο Σχήµα 7.. Ας σηµειωθεί ότι στο σχήµα αυτό δεν έχουµε συµπεριλάβει τις µαγνητικές δισκέτες (magnetic diskettes) και τις µαγνητικές ταινίες (magnetic tapes, tape streamers, cassettes), γιατί οι χρόνοι προσπέλασης αυτών είναι πολύ µεγάλοι και µη συγκρίσιµοι µε τους χρόνους των υπόλοιπων. Το µειονέκτηµα του µεγάλου χρόνου προσπέλασης σε συνδυασµό µε την περιορισµένη αξιοπιστία τους συντελεί στο να µειώνεται όλο και περισσότερο η χρήση τους. Αν θα θέλαµε να συµπεριλάβουµε και αυτά τα µέσα αποθήκευσης, τότε θα έπρεπε να επεκτείνουµε τη βάση της πυραµίδας του Σχήµα 7. µε δύο ακόµη επίπεδα. Στο πρώτο (αµέσως µετά τους οπτικούς δίσκους) θα τοποθετούσαµε τις δισκέτες και στο δεύτερο τις µαγνητικές ταινίες. Από το Σχήµα 7. παρατηρούµε επίσης ότι ο συνδυασµός χρόνου προσπέλασης, δυνατότητας αποθήκευσης και κόστους διαφοροποιεί τη χρήση της µνήµης ως κύριας ή δευτερεύουσας. Κύρια µνήµη (main memory) ή µνήµη εργασίας (working memory) είναι η µνήµη, στην οποία αποθηκεύονται οι εντολές και τα δεδοµένα, τα οποία χρησιµοποιεί κατά τη λειτουργία της η κεντρική µονάδα επεξεργασίας (CPU, Central Processing Unit). Η κύρια µνήµη, όπως και οι καταχωρητές, καθώς και η κρυφή µνήµη, για την οποία θα µιλήσουµε στην ενότητα 7., είναι πάντοτε ηµιαγωγικές µνήµες. Η δευτερεύουσα µνήµη (secondary memory) ή βοηθητική µνήµη (auxiliary memory) ή µνήµη µαζικής αποθήκευσης (mass storage) είναι η µνήµη, όπου γίνεται η µαζική αποθήκευση των δεδοµένων και των προγραµµάτων. Είναι πολύ πιο αργή από την κύρια µνήµη, αλλά έχει πολύ µεγαλύτερη χωρητικότητα. Για να γίνει η επεξεργασία των δεδοµένων ή για να εκτελεστεί ένα πρόγραµµα, δηλαδή ένα σύνολο εντολών, αυτά πρέπει να µεταφερθούν από τη δευτερεύουσα στην κύρια µνήµη. Ας προσπαθήσουµε να γίνουµε πιο συγκεκριµένοι όσον αφορά στους χρόνους προσπέλασης της µνήµης, γιατί έτσι θα γίνει Υπενθυµίζεται ότι µία ψηφιολέξη ( byte) αντιστοιχεί σε 8 δυαδικά ψηφία (8 bits). Μια τετράδα δυαδικών ψηφίων (4 bits) ονοµάζεται nibble. Η χωρητικότητα, δηλαδή το µέγεθος, µιας µνήµης µετριέται σε ΚΒ ( ΚΒ Kbyte = 2 0 bytes = 024 bytes) ή σε MB ( MB Mbyte = 2 20 bytes = bytes) ή σε GB ( GB Gbyte = 2 30 bytes = bytes). Τέλος, όλο και περισσότερο θα ακούµε για χωρητικότητες της τάξεως του ΤΒ (Terra byte), όπου ΤΒ Tbyte = 2 40 bytes. 4

216 πιο κατανοητός και ο διαχωρισµός µεταξύ κύριας και δευτερεύουσας µνήµης. Ένας τυπικός χρόνος 2 προσπέλασης της κύριας µνήµης είναι 50ns, ενώ ο χρόνος προσπέλασης ενός µαγνητικού σκληρού δίσκου είναι της τάξεως των 5ms. Αυτό σηµαίνει ότι ένας σκληρός δίσκος είναι περίπου φορές πιο αργός! Τελειώνοντας τη µικρή αυτή εισαγωγή στις µνήµες, θα ήταν χρήσιµο να αναφέρουµε δύο ακόµη έννοιες, τις οποίες συναντούµε πολύ συχνά: Πτητική ή πρόσκαιρη µνήµη (volatile memory) είναι εκείνη η οποία "χάνει" την πληροφορία που είναι αποθηκευµένη σε αυτή, µόλις σταµατήσει η παροχή ηλεκτρικής ισχύος, δηλαδή µόλις σταµατήσει η τροφοδοσία της µνήµης. Στην αντίθετη περίπτωση, η µνήµη είναι µη-πτητική (non-volatile memory). Για παράδειγµα, η δευτερεύουσα µνήµη είναι µη-πτητική, αφού η πληροφορία διατηρείται στους δίσκους, τις δισκέτες, τα CD ROMs, τις ταινίες, ακόµη και όταν "κλείσουµε" το υπολογιστικό σύστηµα. Μη-πτητική µνήµη είναι και η ROM, καθώς και όλες οι παραλλαγές αυτής, όπως θα δούµε στην υποενότητα 7... Η µνήµη, ανάλογα µε τον τρόπο προσπέλασης των δεδοµένων, χωρίζεται σε σειριακής και τυχαίας προσπέλασης. Η µνήµη σειριακής προσπέλασης (serial access or sequential access) δεν έχει σταθερό χρόνο προσπέλασης, αλλά αυτός ποικίλλει ανάλογα µε τη θέση στην οποία βρίσκoνται τα δεδοµένα. Για την ανάγνωση ή εγγραφή ενός δεδοµένου σε µια µνήµη σειριακής προσπέλασης, θα πρέπει να διατρέξουµε όλες τις προηγούµενες θέσεις µέχρι να φτάσουµε στην επιθυµητή θέση, όπου βρίσκεται ή πρέπει να βρίσκεται το δεδοµένο. Χαρακτηριστικό παράδειγµα µνήµης σειριακής προσπέλασης είναι η µαγνητική ταινία. Η µνήµη τυχαίας προσπέλασης (random access) έχει τον ίδιο περίπου χρόνο προσπέλασης, ανεξάρτητα από τη θέση στην οποία βρίσκονται αποθηκευµένα τα δεδοµένα. Χαρακτηριστικό παράδειγµα µνήµης τυχαίας προσπέλασης είναι οι ηµιαγωγικές µνήµες RAM και ROM, αλλά και ο σκληρός και εύκαµπτος δίσκος. Τέλος, ένας τελευταίος διαχωρισµός της µνήµης είναι σε µνήµη ανάγνωσης / εγγραφής και σε µνήµη µόνο ανάγνωσης. Μνήµη ανάγνωσης / εγγραφής (Read / Write Memory) είναι εκείνη στην οποία µπορούµε να εγγράψουµε ή να διαβάσουµε δεδοµένα µε την ίδια ευκολία, δηλαδή στον ίδιο περίπου χρόνο. Τέτοια µνήµη είναι η ηµιαγωγική RAM ή τα µαγνητικά µέσα. Μνήµη µόνο ανάγνωσης (Read-Only Memory) είναι εκείνη της οποίας τα δεδοµένα µπορούµε 2 Υπενθυµίζεται ότι n = 0-9, µ = 0-6, m =

217 να τα διαβάσουµε µόνο, χωρίς να έχουµε τη δυνατότητα αλλαγής αυτών. Συνήθως τα δεδοµένα εγγράφονται µόνο µια φορά, και αυτό γίνεται από τον κατασκευαστή. Η ηµιαγωγική µνήµη ROM, καθώς και οι δίσκοι CD ROM είναι οι πλέον χαρακτηριστικές περιπτώσεις αυτού του είδους µνήµης. Στην ίδια κατηγορία, όµως, ανήκει και η µνήµη, την οποία µπορούµε να εγγράψουµε µία ή περισσότερες φορές και να την αναγνώσουµε θεωρητικά άπειρες φορές. Με άλλα λόγια, ο λόγος των εντολών ανάγνωσης προς τις εντολές εγγραφής είναι πάρα πολύ µεγάλος. Στην κατηγορία αυτή ανήκει η ηµιαγωγική µνήµη EPROM (Erasable Programmable ROM), η EEPROM (Electrically Erasable Programmable ROM) ή η οπτική µνήµη WORM (Write Once Read Many), όπως είναι τα CD ROMs, µε δυνατότητα εγγραφής που χρησιµοποιούµε όλο και πιο συχνά σήµερα (999). Η µνήµη ROM είναι µη-πτητική, δηλαδή διατηρεί τα δεδοµένα, ακόµη και όταν παύσει η τροφοδοσία. Στη συνέχεια θα ασχοληθούµε µε την ηµιαγωγική µνήµη. Θα αναφερθούµε αναλυτικά στη µνήµη ROM και RAM (ενότητα 7.), καθώς και στον τρόπο διασύνδεσης αυτής για τη δηµιουργία χώρου αποθήκευσης µεγάλου εύρους ή µεγάλου µεγέθους (ενότητα 7.2). ΕΝΟΤΗΤΑ 7.. ΕΙ Η ΗΜΙΑΓΩΓΙΚΗΣ ΜΝΗΜΗΣ Στην παρούσα ενότητα θα ασχοληθούµε µε την ηµιαγωγική µνήµη τυχαίας προσπέλασης. Στην κατηγορία αυτή εµπίπτουν δύο είδη µνήµης, η ROM και η RAM. Θα εξετάσουµε και τα δύο αυτά είδη αναλυτικά. Ολοκληρώνοντας τη µελέτη της ενότητας, θα είστε σε θέση να επιλέγετε τον τύπο της µνήµης ROM ή RAM ανάλογα µε την εφαρµογή σας, την απαιτούµενη ταχύτητα λειτουργίας και την κατανάλωση ισχύος του ψηφιακού συστήµατος. Το σχηµατικό διάγραµµα µιας µνήµης ROM των 2 n λέξεων, µήκους b bits η κάθε λέξη, δίνεται στο Σχήµα 7.2α. Μια τέτοια µνήµη δέχεται στην είσοδό της την n bits διεύθυνση (address) A i, όπου i = 0,,..., n- και "ελευθερώνει στην έξοδό της τη µήκους b bits λέξη D j, j = 0,,..., b-, η οποία είναι αποθηκευµένη στην αντίστοιχη διεύθυνση. Το σχηµατικό διάγραµµα µιας µνήµης RAM των 2 n λέξεων, µήκους b bits η κάθε λέξη, δείχνεται στο Σχήµα 7.2β. Αυτό είναι όµοιο µε το αντίστοιχο της µνήµης ROM, µε τη διαφορά ότι: (i) υπάρχουν ακόµα b γραµµές εισόδου για την εγγραφή των δεδοµένων 6

218 και (ii) υπάρχει µία επιπλέον γραµµή εισόδου για την επιλογή µεταξύ της εγγραφής ή της ανάγνωσης των δεδοµένων. ιευκρινίζεται ότι:. Τόσο η µνήµη ROM, όσο και η µνήµη RAM είναι τυχαίας προσπέλασης. Για το λόγο αυτό, το σωστό θα ήταν να αποκαλείται η µνήµη RAM ως µνήµη εγγραφής / ανάγνωσης (R/W memory) και όχι ως µνήµη τυχαίας προσπέλασης. 2 n b ROM Είσοδος ιευθύνσεων n A i D j b Έξοδος εδοµένων Είσοδος ιευθύνσεων Είσοδος εδοµένων n b A i Dj R/W Dj b Έξοδος εδοµένων Είσοδος Ελέγχου (α) Ανάγν./Εγγρ. (β) Σχήµα 7.2. Σχηµατικό διάγραµµα µνήµης (α) ROM και (β) RAM των 2 n xb bits η καθεµιά. 2. Το πλήθος n των bits της λέξης A i και το πλήθος b των bits της λέξης δεδοµένων D j δεν έχουν οποιαδήποτε σχέση µεταξύ τους. Το πρώτο µας καθορίζει το µέγιστο αριθµό των λέξεων που µπορούµε να έχουµε σε µια µνήµη, δηλαδή το µέγιστο αριθµό των δυνατών συνδυασµών. Το δεύτερο καθορίζει απλά το µήκος των λέξεων, που χρησιµοποιείται σε κάποια εφαρµογή. Για παράδειγµα, για τη µετατροπή ενός αριθµού BCD (Binary Coded Decimal) σε αριθµό κατάλληλο για την οδήγηση ενός στοιχείου επίδειξης των επτά τµηµάτων (seven-segment display), θα πρέπει να χρησιµοποιήσουµε µια µνήµη µε 4 εισόδους διευθύνσεων και 7 εξόδους δεδοµένων. Γενικά, η µνήµη έχει τη λογική διάταξη του Σχήµατος 7.3. ιεύθυνση Μνήµης Περιεχόµενο µνήµης 0 0 L 0 0 L L L n 2 M M L L 0 L L n bits b bits Σχήµα 7.3. Λογική διάταξη µνήµης των 2 n λέξεων των b bits. 7

219 Άσκηση Αυτοαξιολόγησης / Κεφάλαιο 7 Το ολοκληρωµένο κύκλωµα µε κωδικό 276 είναι µια 2Κx8 EPROM, ενώ το ολοκληρωµένο κύκλωµα µε κωδικό 24 είναι µια Kx4 RAM. Πόσες γραµµές διευθύνσεων και δεδοµένων διαθέτει καθένα από αυτά; ώστε το σχηµατικό τους διάγραµµα ΜΝΗΜΗ ΑΝΑΓΝΩΣΗΣ ΜΟΝΟ (ROM) Η µνήµη ROM είναι στην πράξη ένα συνδυαστικό κύκλωµα µε n εισόδους και b εξόδους, όπου οι είσοδοι Α 0, Α,..., Α n- αποτελούν τις διευθύνσεις και οι έξοδοι D 0, D,..., D b- τα δεδοµένα. Με άλλα λόγια, µια ROM αποθηκεύει τον πίνακα αλήθειας µιας συνδυαστικής λογικής συνάρτησης µε n εισόδους και b εξόδους. Στο βιβλίο της Ψηφιακής Σχεδίασης Ι, αντιµετωπίσαµε ακριβώς έτσι τη ROM, δηλαδή ως συνδυαστικό κύκλωµα, το οποίο υλοποιεί το άθροισµα των ελαχιστόρων (minterms) των n εισόδων του, για να σχεδιάσουµε σύνθετα συνδυαστικά κυκλώµατα. Εδώ θα αντιµετωπίσουµε τη ROM ως µνήµη, την οποία έχουµε τη δυνατότητα να προγραµµατίσουµε καταργώντας ή διατηρώντας τους ηλεκτρονικούς συνδέσµους σε µια µήτρα διασυνδέσεων. Η διαδικασία προγραµµατισµού αυτού του είδους γίνεται από τον κατασκευαστή µε τη βοήθεια µια µάσκας (mask), µετά από παραγγελία του πελάτη, ο οποίος δίνει τα επιθυµητά περιεχόµενα για κάθε θέση µνήµης. Αυτός είναι και ο λόγος, για τον οποίο η ROM ονοµάζεται και ROM προγραµµατιζόµενη µε µάσκα (mask-programmable ROM) ή απλά ROM µάσκας (mask ROM). Η προγραµµατιζόµενη ROM (PROM, programmable ROM) είναι όµοια µε την ROM µάσκας, µόνο που ο προγραµµατισµός µπορεί να γίνει από τον ίδιο τον πελάτη µέσα σε λίγα λεπτά της ώρας, µε τη βοήθεια µιας συσκευής προγραµµατισµού PROM (PROM programmer). Ένα ολοκληρωµένο κύκλωµα PROM έρχεται έτοιµο από το εργοστάσιο µε όλες τις ηλεκτρονικές του διασυνδέσεις άθικτες. Είναι, δηλαδή, σαν να έχουµε όλα τα bits σε µια προκαθορισµένη λογική στάθµη, π.χ. στο λογικό. Η συσκευή προγραµµατισµού χρησιµοποιείται, για να καταργήσει εκείνους τους συνδέσµους, όπου πρέπει να "εγγραφεί" το λογικό 0. Αυτό γίνεται µε επιλογή των συγκεκριµένων bits µέσω των γραµµών διευθύνσεων και την εφαρµογή ενός παλµού υψηλής τάσεως (0-30 V) µέσω µιας ειδικής εισόδου. 8

220 Μια PROM µε δυνατότητα διαγραφής (Erasable Programmable ROM, EPROM) µπορεί να προγραµµατιστεί όπως και η PROM, αλλά επιπλέον µπορεί να "σβηστεί", αποκαθιστώντας το λογικό σε όλους τους συνδέσµους, µετά από έκθεση αυτής σε υπεριώδες φως. Για να γίνει αυτό, χρησιµοποιούνται για τους συνδέσµους ειδικού τύπου τρανσίστορς MOS (metal-oxide-semiconductor), τα οποία διαθέτουν δύο πύλες, µία σταθερή και µία επιπλέουσα (floating-gate). Ο χρόνος έκθεσης µιας ΕPROM σε υπεριώδες φως κυµαίνεται µεταξύ 5 και 20 λεπτών της ώρας. Για να είναι δυνατή η έκθεση του ολοκληρωµένου στο φως, αφήνεται ένα µικρό παράθυρο στο πάνω µέρος του, όπως δείχνεται στο Σχήµα 7.4. Σχήµα 7.4. ΕPROM στην οποία φαίνεται το παράθυρο για την έκθεση της µνήµης στο υπεριώδες φως. Μια PROM µε δυνατότητα ηλεκτρικής διαγραφής (Electrically Erasable PROM, EEPROM) είναι όµοια µε την ΕPROM, µε µόνη διαφορά ότι η διαγραφή των περιεχοµένων γίνεται ηλεκτρικά, και όχι µε φως. Ο χρόνος προγραµµατισµού ή εγγραφής των δεδοµένων είναι πολύ µεγαλύτερος από το χρόνο ανάγνωσης αυτών, έτσι δεν µπορούµε να πούµε ότι µια µνήµη ΕΕPROM είναι στην ουσία µια µνήµη ανάγνωσης / εγγραφής, όπως η RAM, που θα δούµε στην επόµενη υποενότητα. Επίσης, επειδή το µονωτικό στρώµα γύρω από την επιπλέουσα πύλη του τρανσίστορ MOS είναι πολύ λεπτό, µπορεί να καταστραφεί από το συνεχή προγραµµατισµό της µνήµης. Κατά συνέπεια, µια ΕΕPROM µπορεί να "σβηστεί" και να "ξαναγραφεί", δηλαδή να προγραµµατιστεί, περίπου 0000 φορές. Στον Πίνακα 7.. δίνονται τα βασικά χαρακτηριστικά όλων των τύπων µνήµης ROM που αναφέραµε. ραστηριότητα / Κεφάλαιο 7 Ποιες εφαρµογές της µνήµης ROM (ROM / PROM / EPROM / EEPROM) γνωρίζετε; Συµπερασµατικά µπορούµε να πούµε ότι η ROM είναι τυχαίας προσπέλασης µηπτητική µνήµη, η οποία χρησιµοποιείται για την αποθήκευση δεδοµένων σε µόνιµη 9

ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ FLIP-FLOP ΤΟ ΒΑΣΙΚΟ FLIP-FLOP ΧΡΟΝΙΖΟΜΕΝΑ FF ΤΥΠΟΥ FF ΤΥΠΟΥ D FLIP-FLOP Τ FLIP-FLOP ΠΥΡΟΔΟΤΗΣΗ ΤΩΝ FLIP-FLOP ΚΥΡΙΟ - ΕΞΑΡΤΗΜΕΝΟ FLIP-FLOP ΑΚΜΟΠΥΡΟΔΟΤΟΥΜΕΝΑ FLIP-FLOP ΚΥΚΛΩΜΑΤΑ

Διαβάστε περισσότερα

Α. ΣΚΟΔΡΑΣ ΠΛΗ21 ΟΣΣ#2. 14 Δεκ 2008 ΠΑΤΡΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 2008 Α. ΣΚΟΔΡΑΣ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ

Α. ΣΚΟΔΡΑΣ ΠΛΗ21 ΟΣΣ#2. 14 Δεκ 2008 ΠΑΤΡΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 2008 Α. ΣΚΟΔΡΑΣ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ ΠΛΗ21 ΟΣΣ#2 14 Δεκ 2008 ΠΑΤΡΑ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ 7-segment display 7-segment display 7-segment display Αποκωδικοποιητής των 7 στοιχείων (τμημάτων) (7-segment decoder) Κύκλωμα αποκωδικοποίησης του στοιχείου

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 9. Tα Flip-Flop

ΑΣΚΗΣΗ 9. Tα Flip-Flop ΑΣΚΗΣΗ 9 Tα Flip-Flop 9.1. ΣΚΟΠΟΣ Η κατανόηση της λειτουργίας των στοιχείων μνήμης των ψηφιακών κυκλωμάτων. Τα δομικά στοιχεία μνήμης είναι οι μανδαλωτές (latches) και τα Flip-Flop. 9.2. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6 ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ. 6.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 6 ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ. 6.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 6 ΒΑΣΙΚΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ 6. Εισαγωγή Τα ψηφιακά κυκλώματα διακρίνονται σε συνδυαστικά και ακολουθιακά. Τα κυκλώματα που εξετάσαμε στα προηγούμενα κεφάλαια ήταν συνδυαστικά. Οι τιμές των

Διαβάστε περισσότερα

7.1 Θεωρητική εισαγωγή

7.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 7 ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΑΝ ΑΛΩΤΕΣ FLIP FLOP Σκοπός: Η κατανόηση της λειτουργίας των βασικών ακολουθιακών κυκλωµάτων. Θα µελετηθούν συγκεκριµένα: ο µανδαλωτής (latch)

Διαβάστε περισσότερα

Ψηφιακά Συστήματα. 7. Κυκλώματα Μνήμης

Ψηφιακά Συστήματα. 7. Κυκλώματα Μνήμης Ψηφιακά Συστήματα 7. Κυκλώματα Μνήμης Βιβλιογραφία 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd Thomas L., Ψηφιακά

Διαβάστε περισσότερα

Σχεδιασμός Ψηφιακών Συστημάτων

Σχεδιασμός Ψηφιακών Συστημάτων ΗΜΥ 2: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 27 Νοε-7 ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 27 Ακολουθιακά Κυκλώματα: Μανδαλωτές (Latches) και Flip-Flops Flops Διδάσκουσα:

Διαβάστε περισσότερα

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops K24 Ψηφιακά Ηλεκτρονικά 9: TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΧΝΟΛΟΓΙΚΟ Περιεχόμενα 1 2 3 Γενικά Ύστερα από τη μελέτη συνδυαστικών ψηφιακών κυκλωμάτων, θα μελετήσουμε

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 7 FLIP - FLOP

ΑΣΚΗΣΗ 7 FLIP - FLOP ΑΣΚΗΣΗ 7 FLIP - FLOP Αντικείμενο της άσκησης: Η κατανόηση της δομής και λειτουργίας των Flip Flop. Flip - Flop Τα Flip Flop είναι δισταθή λογικά κυκλώματα με χαρακτηριστικά μνήμης και είναι τα πλέον βασικά

Διαβάστε περισσότερα

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα

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

Διαβάστε περισσότερα

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Ακολουθιακή Λογική. Επιμέλεια Διαφανειών: Δ.

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Ακολουθιακή Λογική. Επιμέλεια Διαφανειών: Δ. Πανεπιστήμιο Πατρών Τμήμα Φυσικής Ψηφιακά Ηλεκτρονικά Ακολουθιακή Λογική Επιμέλεια Διαφανειών: Δ. Μπακάλης Πάτρα, Φεβρουάριος 2009 Εισαγωγή Είσοδοι Συνδυαστικό Κύκλωμα Έξοδοι Στοιχεία Μνήμης Κατάσταση

Διαβάστε περισσότερα

8. Στοιχεία μνήμης. Οι δυο έξοδοι του FF είναι συμπληρωματικές σημειώνονται δε σαν. Όταν αναφερόμαστε στο FF εννοούμε πάντα την κανονική έξοδο Q.

8. Στοιχεία μνήμης. Οι δυο έξοδοι του FF είναι συμπληρωματικές σημειώνονται δε σαν. Όταν αναφερόμαστε στο FF εννοούμε πάντα την κανονική έξοδο Q. 8. ΣΟΙΧΕΙΑ ΜΝΗΜΗΣ 8. Εισαγωγή Στα συνδυαστικά κυκλώματα, που μελετήσαμε έως τώρα, δεν υπήρχε κάποια διαδικασία ανάδρασης (Feed Back) -δηλαδή οδήγηση της εξόδου των στοιχείων στην είσοδό τους- επομένως

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ. Τμήμα Ηλεκτρονικής. Πτυχιακή Εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ. Τμήμα Ηλεκτρονικής. Πτυχιακή Εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Ηλεκτρονικής Πτυχιακή Εργασία Υλοποίηση σύγχρονων ακολουθιακών κυκλωμάτων σε VHDL για FPGAs/CPLDs και ανάλυση χρονισμών για εύρεση

Διαβάστε περισσότερα

Σχεδιασμός Ψηφιακών Συστημάτων

Σχεδιασμός Ψηφιακών Συστημάτων ΗΜΥ 2: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 28 ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 28 Ακολουθιακά Κυκλώματα: Μανδαλωτές (Latches) και Flip-Flops Flops Διδάσκουσα: Μαρία

Διαβάστε περισσότερα

ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2008

ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2008 ΗΜΥ-211: Εργαστήριο Σχεδιασμού Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2009 Ακολουθιακά Κυκλώματα: Μανδαλωτές (Latches), Flip-FlopsFlops και Μετρητές Ριπής Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων

Διαβάστε περισσότερα

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

Διαβάστε περισσότερα

Ενότητα ΑΡΧΕΣ ΑΚΟΛΟΥΘΙΑΚΗΣ ΛΟΓΙΚΗΣ LATCHES & FLIP-FLOPS

Ενότητα ΑΡΧΕΣ ΑΚΟΛΟΥΘΙΑΚΗΣ ΛΟΓΙΚΗΣ LATCHES & FLIP-FLOPS Ενότητα ΑΡΧΕΣ ΑΚΟΛΟΥΘΙΑΚΗΣ ΛΟΓΙΚΗΣ LATCHES & FLIP-FLOPS Γενικές Γραμμές Ακολουθιακή Λογική Μεταστάθεια S-R RLatch h( (active high h&l low) S-R Latch with Enable Latch Flip-Flop Ασύγχρονοι είσοδοι PRESET

Διαβάστε περισσότερα

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα 6 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα Εισαγωγή Είσοδοι Συνδυαστικό Κύκλωµα Έξοδοι Στοιχεία Μνήµης Κατάσταση Ακολουθιακού Κυκλώµατος : περιεχόµενα στοιχείων µνήµης Η έξοδος εξαρτάται από

Διαβάστε περισσότερα

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Ακολουθιακά Κυκλώματα: Μανδαλωτές και Flip-Flops 1

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Ακολουθιακά Κυκλώματα: Μανδαλωτές και Flip-Flops 1 ΗΜΥ-211: Εργαστήριο Σχεδιασμού Ψηφιακών Συστημάτων Ακολουθιακά Κυκλώματα (συν.) Κυκλώματα που Κυκλώματα που αποθηκεύουν εξετάσαμε μέχρι τώρα πληροφορίες Ακολουθιακά Κυκλώματα: Μανδαλωτές (Latches), Flip-FlopsFlops

Διαβάστε περισσότερα

Αρχιτεκτονικές Υπολογιστών

Αρχιτεκτονικές Υπολογιστών ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Μάθηµα: Αρχιτεκτονικές Υπολογιστών FLIP-FLOPS ΣΥΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΙΑ ΙΚΑΣΙΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕ ΙΑΣΗ ΣΑΚ ιδάσκων: Αναπλ. Καθ. Κ. Λαµπρινουδάκης clam@uipi.gr Αρχιτεκτονικές

Διαβάστε περισσότερα

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

ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΚΕΦΑΛΑΙΟ 2 ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ 2.. ΑΝΑΛΥΣΗ ΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ... 6 2... ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΧΩΡΙΣ ΕΞΩΤΕΡΙΚΕΣ ΕΙΣΟ ΟΥΣ ΚΑΙ ΕΞΟ

Διαβάστε περισσότερα

Αυγ-13 Ακολουθιακά Κυκλώματα: Μανδαλωτές και Flip-Flops. ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2009.

Αυγ-13 Ακολουθιακά Κυκλώματα: Μανδαλωτές και Flip-Flops. ΗΜΥ 210: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 2009. ΗΜΥ-20: Σχεδιασμός Ψηφιακών Συστημάτων Ακολουθιακά Κυκλώματα: Μανδαλωτές (Latches) και Flip-Flops Flops Διδάσκουσα: Μαρία Κ. Μιχαήλ Ακολουθιακά Κυκλώματα Συνδυαστική Λογική: Η τιμή σε μία έξοδο εξαρτάται

Διαβάστε περισσότερα

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ ΣΧΟΛΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ 1) Οι απαριθμητές ή μετρητές (counters) είναι κυκλώματα που

Διαβάστε περισσότερα

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα 6 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα Εισαγωγή Είσοδοι Συνδυαστικό Κύκλωµα Έξοδοι Στοιχεία Μνήµης Κατάσταση Ακολουθιακού Κυκλώµατος : περιεχόµενα στοιχείων µνήµης Η έξοδος εξαρτάται από

Διαβάστε περισσότερα

Η συχνότητα f των παλµών 0 και 1 στην έξοδο Q n είναι. f Qn = 1/(T cl x 2 n+1 )

Η συχνότητα f των παλµών 0 και 1 στην έξοδο Q n είναι. f Qn = 1/(T cl x 2 n+1 ) ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 9 ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των απαριθµητών. Υλοποίηση ασύγχρονου απαριθµητή 4-bit µε χρήση JK Flip-Flop. Κατανόηση της αλλαγής του υπολοίπου

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 10 ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

ΑΣΚΗΣΗ 10 ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ ΑΣΚΗΣΗ ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ.. ΣΚΟΠΟΣ Η σχεδίαση ακολουθιακών κυκλωμάτων..2. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ.2.. ΑΛΓΟΡΙΘΜΟΣ ΣΧΕΔΙΑΣΗΣ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Τα ψηφιακά κυκλώματα με μνήμη ονομάζονται ακολουθιακά.

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 4.1. ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ... 4

ΕΝΟΤΗΤΑ 4.1. ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ... 4 ΚΕΦΑΛΑΙΟ 4 ΚΑΤΑΧΩΡΗΤΕΣ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ 4.1. ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ... 4 4.1.1. ΚΑΤΑΧΩΡΗΤΕΣ ΣΕΙΡΙΑΚΗΣ-ΕΙΣΟ ΟΥ-ΣΕΙΡΙΑΚΗΣ-ΕΞΟ ΟΥ... 5 4.1.2. ΚΑΤΑΧΩΡΗΤΕΣ ΣΕΙΡΙΑΚΗΣ-ΕΙΣΟ

Διαβάστε περισσότερα

8.1 Θεωρητική εισαγωγή

8.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των καταχωρητών. Θα υλοποιηθεί ένας απλός στατικός καταχωρητής 4-bit µε Flip-Flop τύπου D και θα µελετηθεί

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Ακαδηµαϊκό Έτος 2006 2007 Γραπτή Εργασία #2 Ηµεροµηνία Παράδοσης 28-0 - 2007 ΠΛΗ 2: Ψηφιακά Συστήµατα ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ Άσκηση : [5 µονάδες] Έχετε στη

Διαβάστε περισσότερα

3 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

3 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός 3 η Θεµατική Ενότητα : Σύγχρονα Ακολουθιακά Κυκλώµατα Επιµέλεια διαφανειών: Χρ. Καβουσιανός Εισαγωγή Είσοδοι Συνδυαστικό Κύκλωµα Έξοδοι Στοιχεία Μνήµης Κατάσταση Ακολουθιακού Κυκλώµατος : περιεχόµενα στοιχείων

Διαβάστε περισσότερα

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ. Εισαγωγή Εργαστήριο 2 ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τον τρόπο µε τον οποίο εκφράζεται η ψηφιακή λογική υλοποιώντας ασκήσεις απλά και σύνθετα λογικά κυκλώµατα (χρήση του

Διαβάστε περισσότερα

Ακολουθιακά Κυκλώµατα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ακολουθιακά Κυκλώµατα (συν.) Ακολουθιακή Λογική: Έννοια

Ακολουθιακά Κυκλώµατα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ακολουθιακά Κυκλώµατα (συν.) Ακολουθιακή Λογική: Έννοια ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 25 Κεφάλαιο 6-i: Ακολουθιακά Κυκλώµατα Μανδαλωτές (Latches) και Flip-Flops Ακολουθιακά Κυκλώµατα Συνδυαστική Λογική:

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 11: Ακολουθιακά Κυκλώµατα (Κεφάλαιο 5, 6.1, 6.3, 6.4) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Ακολουθιακά

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΚΕΦΑΛΑΙΟ 3 ΑΠΑΡΙΘΜΗΤΕΣ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ 3.. ΑΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ... 4 3... ΑΣΥΓΧΡΟΝΟΙ ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ... 4 3..2. ΑΣΥΓΧΡΟΝΟΙ ΜΗ- ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ... 9 ΕΝΟΤΗΤΑ 3.2. ΣΥΓΧΡΟΝΟΙ

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH.

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH. ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ ΑΠΑΡΙΘΜΗΤΕΣ Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ

Διαβάστε περισσότερα

βαθµίδων µε D FLIP-FLOP. Μονάδες 5

βαθµίδων µε D FLIP-FLOP. Μονάδες 5 Κεφάλαιιο: 6 ο Τίίτλος Κεφαλαίίου:: Μανταλωτές & Flip Flop (Ιούνιος 2004 ΤΕΕ Ηµερήσιο) Να σχεδιάσετε καταχωρητή δεξιάς ολίσθησης τεσσάρων βαθµίδων µε D FLIP-FLOP. Μονάδες 5 (Ιούνιος 2005 ΤΕΕ Ηµερήσιο)

Διαβάστε περισσότερα

Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ

Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ ΑΠΑΡΙΘΜΗΤΕΣ Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ

Διαβάστε περισσότερα

ΨΗΦΙΑΚΗΛΟΓΙΚΗΣΧΕΔΙΑΣΗ

ΨΗΦΙΑΚΗΛΟΓΙΚΗΣΧΕΔΙΑΣΗ Τμήμα Ηλεκτρολόγων Μηχανικών Εργαστήριο Ενσύρματης Τηλεπικοινωνίας ΨΗΦΙΑΚΗΛΟΓΙΚΗΣΧΕΔΙΑΣΗ Μάθημα 5: Στοιχεία µνήµης ενός ψηφίου Διδάσκων: Καθηγητής Ν. Φακωτάκης Στοιχεία μνήμης Ένα ψηφιακό λογικό κύκλωμα

Διαβάστε περισσότερα

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL 3.1 Εισαγωγή στα FLIP FLOP 3.1.1 Θεωρητικό Υπόβαθρο Τα σύγχρονα ακολουθιακά κυκλώματα με τα οποία θα ασχοληθούμε στο εργαστήριο των Ψηφιακών συστημάτων

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 9 ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ (COUNTERS)

ΑΣΚΗΣΗ 9 ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ (COUNTERS) ΑΣΚΗΣΗ 9 ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ (COUNTERS) Αντικείμενο της άσκησης: H σχεδίαση και η χρήση ασύγχρονων απαριθμητών γεγονότων. Με τον όρο απαριθμητές ή μετρητές εννοούμε ένα ακολουθιακό κύκλωμα με FF, οι καταστάσεις

Διαβάστε περισσότερα

Κεφάλαιο 10. Ψηφιακά κυκλώματα Flip-Flop και εφαρμογές

Κεφάλαιο 10. Ψηφιακά κυκλώματα Flip-Flop και εφαρμογές Κεφάλαιο 10. Ψηφιακά κυκλώματα Flip-Flop και εφαρμογές Σύνοψη Το κεφάλαιο αυτό αποτελεί, ουσιαστικά, συνέχεια του προηγούμενου και μελετώνται ψηφιακά κυκλώματα με πιο σύνθετη δομή. Παρουσιάζονται τα κυκλώματα

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 6 ΑΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΚΕΦΑΛΑΙΟ 6 ΑΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ 6. ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕ ΙΑΣΗ ΑΣΥΓΧΡΟΝΩΝ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ... 5 6... ΑΝΑΛΥΣΗ... 6 6..2. ΣΧΕ ΙΑΣΗ... 9 ΕΝΟΤΗΤΑ 6.2 ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Σελίδα 1 από 8. Απαντήσεις στο φυλλάδιο 52

Σελίδα 1 από 8. Απαντήσεις στο φυλλάδιο 52 Σελίδα 1 από 8 Απαντήσεις στο φυλλάδιο 52 Ερώτηση 1 η : Πολυδονητές ονοµάζονται τα ηλεκτρονικά κυκλώµατα που παράγουν τετραγωνικούς παλµούς. 2 η : Ανάλογα µε τον τρόπο λειτουργίας τους διακρίνονται σε:

Διαβάστε περισσότερα

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Καταχωρητές και Μετρητές 2. Επιμέλεια Διαφανειών: Δ.

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Καταχωρητές και Μετρητές 2. Επιμέλεια Διαφανειών: Δ. Πανεπιστήμιο Πατρών Τμήμα Φυσικής Ψηφιακά Ηλεκτρονικά Καταχωρητές και Μετρητές Επιμέλεια Διαφανειών: Δ. Μπακάλης Πάτρα, Φεβρουάριος 2009 Εισαγωγή Καταχωρητής: είναι μία ομάδα από δυαδικά κύτταρα αποθήκευσης

Διαβάστε περισσότερα

Ακολουθιακό κύκλωμα Η έξοδος του κυκλώματος εξαρτάται από τις τιμές εισόδου ΚΑΙ από την προηγούμενη κατάσταση του κυκλώματος

Ακολουθιακό κύκλωμα Η έξοδος του κυκλώματος εξαρτάται από τις τιμές εισόδου ΚΑΙ από την προηγούμενη κατάσταση του κυκλώματος 1 Συνδυαστικό κύκλωμα Η έξοδος του κυκλώματος εξαρτάται ΜΟΝΟ από τις εισόδους του Εάν γνωρίζουμε τις τιμές των εισόδων του κυκλώματος, τότε μπορούμε να προβλέψουμε ακριβώς τις εξόδους του Ακολουθιακό κύκλωμα

Διαβάστε περισσότερα

Ψηφιακή Σχεδίαση. Δρ. Μηνάς Δασυγένης Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Ψηφιακή Σχεδίαση. Δρ. Μηνάς Δασυγένης Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 8: Μανδαλωτές SR, S R D Flip-Flops Αφέντη Σκλάβου, Σχεδιασμός Ακολουθιακών κυκλωμάτων, Πίνακας Καταστάσεων, Διάγραμμα Καταστάσεων

Διαβάστε περισσότερα

Flip-Flop: D Control Systems Laboratory

Flip-Flop: D Control Systems Laboratory Flip-Flop: Control Systems Laboratory Είναι ένας τύπος συγχρονιζόμενου flip- flop, δηλαδή ενός flip- flop όπου οι έξοδοί του δεν αλλάζουν μόνο με αλλαγή των εισόδων R, S αλλά χρειάζεται ένας ωρολογιακός

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 12: Ανάλυση Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.2) Μηχανές Καταστάσεων ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)

Διαβάστε περισσότερα

Σχεδίαση Ψηφιακών Συστηµάτων

Σχεδίαση Ψηφιακών Συστηµάτων Σχεδίαση Ψηφιακών Συστηµάτων Πανεπιστήμιο Δυτικής Αττικής Τμήμα Μηχανικών Πληροφορικής και Υπολογιστών Γιάννης Βογιατζής Πάνος Καρκαζής 27-28 Παρουσίαση 4 η : Ψηφιακή Σχεδίαση Μέρος 3 Ανάλυση και Σχεδίαση

Διαβάστε περισσότερα

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ ΣΧΟΛΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ 1) Οι σύγχρονοι μετρητές υλοποιούνται με Flip-Flop τύπου T

Διαβάστε περισσότερα

5. Σύγχρονα Ακολουθιακά Κυκλώματα

5. Σύγχρονα Ακολουθιακά Κυκλώματα 5. Σύγχρονα Ακολουθιακά Κυκλώματα Ακολουθιακό (sequential) λέμε το σύστημα που περιέχει στοιχεία μνήμης, δηλ. κυκλώματα αποθήκευσης δυαδικής πληροφορίας Γενικό διάγραμμα ακολουθιακού κυκλώματος - Αποτελείται

Διαβάστε περισσότερα

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή 6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής & Πολυµέσων. Ψηφιακή Σχεδίαση. Κεφάλαιο 5: Σύγχρονη Ακολουθιακή

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής & Πολυµέσων. Ψηφιακή Σχεδίαση. Κεφάλαιο 5: Σύγχρονη Ακολουθιακή ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΚΡΗΤΗΣ Τµήµα Εφαρµοσµένης Πληροφορικής & Πολυµέσων Ψηφιακή Σχεδίαση Κεφάλαιο 5: Σύγχρονη Ακολουθιακή Λογική Σύγχρονα Ακολουθιακά Κυκλώµατα Είσοδοι Συνδυαστικό κύκλωµα

Διαβάστε περισσότερα

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν. ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 ii: Μετρητές Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μετρητής Ριπής Περίληψη Σύγχρονος υαδικός Μετρητής Σχεδιασµός µε Flip-Flops

Διαβάστε περισσότερα

Ακολουθιακό κύκλωμα Η έξοδος του κυκλώματος εξαρτάται από τις τιμές εισόδου ΚΑΙ από την προηγούμενη κατάσταση του κυκλώματος

Ακολουθιακό κύκλωμα Η έξοδος του κυκλώματος εξαρτάται από τις τιμές εισόδου ΚΑΙ από την προηγούμενη κατάσταση του κυκλώματος 1 Συνδυαστικό κύκλωμα Η έξοδος του κυκλώματος εξαρτάται ΜΟΝΟ από τις εισόδους του Εάν γνωρίζουμε τις τιμές των εισόδων του κυκλώματος, τότε μπορούμε να προβλέψουμε ακριβώς τις εξόδους του Ακολουθιακό κύκλωμα

Διαβάστε περισσότερα

Ψηφιακή Λογική Σχεδίαση

Ψηφιακή Λογική Σχεδίαση Ψηφιακή Λογική Σχεδίαση Επιμέλεια: Νίκος Φακωτάκης, Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται

Διαβάστε περισσότερα

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

ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΣΥΓΧΡΟΝΑ ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ Σύγχρονο ακολουθιακό κύκλωμα είναι εκείνο του οποίου όλα τα FFs χρονίζονταιμετοίδιο ρολόι (clock). Ανάλυση Σύγχρονων Ακολουθιακών Κυκλωμάτων Σχεδίαση Σύγχρονων Ακολουθιακών

Διαβάστε περισσότερα

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Καθιερωµένα Γραφικά Σύµβολα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 2005

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Καθιερωµένα Γραφικά Σύµβολα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 2005 ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Απρ-5 ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 25 Κεφάλαιο 6 ii: Ανάλυση Ακολουθιακών Κυκλωµάτων Περίληψη Καθιερωµένα Γραφικά Σύµβολα Χαρακτηριστικοί Πίνακες

Διαβάστε περισσότερα

Ακολουθιακά κυκλώματα: Μανδαλωτές και Flip-Flop. Διάλεξη 6

Ακολουθιακά κυκλώματα: Μανδαλωτές και Flip-Flop. Διάλεξη 6 Ακολουθιακά κυκλώματα: Μανδαλωτές και Flip-Flop Διάλεξη 6 Δομή της διάλεξης Εισαγωγή στην ακολουθιακή λογική Ομανδαλωτής SR Latch JK Flip-Flop D Flip-Flop Timing Definitions Latch vs Flip-Flop Ασκήσεις

Διαβάστε περισσότερα

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα επαναληπτικής εξέτασης 2016 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα καταστάσεων,

Διαβάστε περισσότερα

Σχεδιασμός Ψηφιακών Συστημάτων

Σχεδιασμός Ψηφιακών Συστημάτων ΗΜΥ 2: Σχεδιασμό Ψηφιακών Συστημάτων, Χειμερινό Εξάμηνο 28 Νοε-8 ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 28 Ανάλυση Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου

Διαβάστε περισσότερα

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες)

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες) Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2016 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το ανωτέρω διάγραμμα καταστάσεων,

Διαβάστε περισσότερα

Πανεπιστήµιο Κύπρου DEPARTMENT OF COMPUTER SCIENCE

Πανεπιστήµιο Κύπρου DEPARTMENT OF COMPUTER SCIENCE Πανεπιστήµιο Κύπρου DEPARTMENT OF OMPUTER SIENE S 121 Ψηφιακά Εργαστήρια LAB EXERISE 4 Sequential Logic Χρίστος ιονυσίου Σωτήρης ηµητριάδης Άνοιξη 2002 Εργαστήριο 4 Sequential ircuits A. Στόχοι Ο σκοπός

Διαβάστε περισσότερα

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Λογικές Πύλες, Στοιχεία Μνήμης, Συνδυαστική Λογική και Κυματομορφές ΗΥ220 - Βασίλης Παπαευσταθίου & Γιώργος Καλοκαιρινός 1 Τα βασικά της

Διαβάστε περισσότερα

Ασύγχρονοι Απαριθμητές. Διάλεξη 7

Ασύγχρονοι Απαριθμητές. Διάλεξη 7 Ασύγχρονοι Απαριθμητές Διάλεξη 7 Δομή της διάλεξης Εισαγωγή στους Απαριθμητές Ασύγχρονος Δυαδικός Απαριθμητής Ασύγχρονος Δεκαδικός Απαριθμητής Ασύγχρονος Δεκαδικός Απαριθμητής με Latch Ασκήσεις 2 Ασύγχρονοι

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 4: Ψηφιακή Λογική, Άλγεβρα Boole, Πίνακες Αλήθειας (Μέρος B) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη q Καταχωρητές Παράλληλης

Διαβάστε περισσότερα

HY330 Ψηφιακά Κυκλώματα - Εισαγωγή στα Συστήματα VLSI. 1 ΗΥ330 - Διάλεξη 7η - Ακολουθιακά Κυκλώματα

HY330 Ψηφιακά Κυκλώματα - Εισαγωγή στα Συστήματα VLSI.  1 ΗΥ330 - Διάλεξη 7η - Ακολουθιακά Κυκλώματα HY330 Ψηφιακά - Εισαγωγή στα Συστήματα VLSI Διδάσκων: Χ. Σωτηρίου, Βοηθοί: θα ανακοινωθούν http://inf-server.inf.uth.gr/courses/ce330 1 Μανταλωτές θετικής, αρνητικής πολικότητας Σχεδίαση με Μανταλωτές

Διαβάστε περισσότερα

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017 Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα καταστάσεων,

Διαβάστε περισσότερα

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 i: Καταχωρητές Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές Ολίσθησης Σειριακή Φόρτωση Σειριακή Ολίσθηση Καταχωρητές Ολίσθησης Παράλληλης Φόρτωσης

Διαβάστε περισσότερα

Ακολουθιακά Κυκλώματα Flip-Flops

Ακολουθιακά Κυκλώματα Flip-Flops Ακολουθιακά Κυκλώματα Flip-Flops . Συνδυαστικα κυκλωματα Ακολουθιακα κυκλωματα x x 2 x n Συνδυαστικο κυκλωμα z z 2 z m z i =f i (x,x 2,,x n ) i =,2,,m 2. Ακολουθιακα κυκλωματα: x n Συνδυαστικο m z y κυκλωμα

Διαβάστε περισσότερα

7 η διάλεξη Ακολουθιακά Κυκλώματα

7 η διάλεξη Ακολουθιακά Κυκλώματα 7 η διάλεξη Ακολουθιακά Κυκλώματα 1 2 3 4 5 6 7 Παραπάνω βλέπουμε ακολουθιακό κύκλωμα σχεδιασμένο με μανταλωτές διαφορετικής φάσης. Παρατηρούμε ότι συνδυαστική λογική μπορεί να προστεθεί μεταξύ και των

Διαβάστε περισσότερα

f(x, y, z) = y z + xz

f(x, y, z) = y z + xz Λύσεις θεμάτων Εξεταστικής Περιόδου Ιανουαρίου Φεβρουαρίου 27 ΘΕΜΑ Ο (2, μονάδες) Δίνεται η λογική συνάρτηση : f (, y, z ) = ( + y )(y + z ) + y z. Να συμπληρωθεί ο πίνακας αλήθειας της συνάρτησης. (,

Διαβάστε περισσότερα

Ψηφιακά Συστήματα. 8. Καταχωρητές

Ψηφιακά Συστήματα. 8. Καταχωρητές Ψηφιακά Συστήματα 8. Καταχωρητές Βιβλιογραφία 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd Thomas L., Ψηφιακά

Διαβάστε περισσότερα

Άσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα

Άσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα Άσκηση Δίδονται οι ακόλουθες κυματομορφές ρολογιού και εισόδου D που είναι κοινή σε ένα D latch και ένα D flip flop. Το latch είναι θετικά ενεργό, ενώ το ff θετικά ακμοπυροδοτούμενο. Σχεδιάστε τις κυματομορφές

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 16: Μετρητές (Counters)

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 16: Μετρητές (Counters) ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 16: Μετρητές (Counters) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη q Μετρητής Ριπής q Σύγχρονος

Διαβάστε περισσότερα

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Μετρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Μετρητής Ριπής Σύγχρονος υαδικός Μετρητής

Διαβάστε περισσότερα

Εργαστήριο Ψηφιακής Σχεδίασης

Εργαστήριο Ψηφιακής Σχεδίασης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Εργαστήριο Ψηφιακής Σχεδίασης 8 Εργαστηριακές Ασκήσεις Χρ. Καβουσιανός Επίκουρος Καθηγητής 2014 Εργαστηριακές Ασκήσεις Ψηφιακής Σχεδίασης 2 Εργαστηριακές Ασκήσεις

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ...3 ENOTHTA 5.1. ΙΑΓΡΑΜΜΑΤΑ ΑΛΓΟΡΙΘΜΙΚΩΝ ΜΗΧΑΝΩΝ ΚΑΤΑΣΤΑΣΕΩΝ 5

ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ...3 ENOTHTA 5.1. ΙΑΓΡΑΜΜΑΤΑ ΑΛΓΟΡΙΘΜΙΚΩΝ ΜΗΧΑΝΩΝ ΚΑΤΑΣΤΑΣΕΩΝ 5 ΚΕΦΑΛΑΙΟ 5 ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΗΧΑΝΕΣ ΚΑΤΑΣΤΑΣΕΩΝ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ...3 ENOTHTA 5.. ΙΑΓΡΑΜΜΑΤΑ ΑΛΓΟΡΙΘΜΙΚΩΝ ΜΗΧΑΝΩΝ ΚΑΤΑΣΤΑΣΕΩΝ 5 ENOTHTA 5.2. ΥΛΟΠΟΙΗΣΗ ΤΗΣ ΜΟΝΑ ΑΣ ΕΛΕΓΧΟΥ. 5.2.. ΥΛΟΠΟΙΗΣΗ ΤΗΣ ΜΟΝΑ ΑΣ

Διαβάστε περισσότερα

7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Μονάδες Μνήµης

7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Μονάδες Μνήµης 7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Εισαγωγή Καταχωρητής: είναι µία οµάδα από δυαδικά κύτταρα αποθήκευσης και από λογικές πύλες που διεκπεραιώνουν την µεταφορά πληροφοριών. Οι µετρητές είναι

Διαβάστε περισσότερα

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ 100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ 1) Να μετατρέψετε τον δεκαδικό αριθμό (60,25) 10, στον αντίστοιχο δυαδικό 11111,11 111001,01 111100,01 100111,1 111100,01 2)

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Ψηφιακά Ηλεκτρονικά Τεχνολογία ΙΙ, Θεωρητικής Κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Μετρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Μετρητής Ριπής Σύγχρονος υαδικός

Διαβάστε περισσότερα

7. Ψηφιακά Ηλεκτρονικά

7. Ψηφιακά Ηλεκτρονικά 1 7. Ψηφιακά Ηλεκτρονικά 7.1 Εισαγωγή Στα προηγούμενα μελετήσαμε τη λειτουργία του τρανζίστορ στην ενεργό περιοχή, χαρακτηριστικό της οποίας είναι ότι τα σήματα εισόδου και εξόδου μπορούν να λάβουν συνεχείς

Διαβάστε περισσότερα

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

Διαβάστε περισσότερα

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ. Να μελετηθεί η λειτουργία του ακόλουθου κυκλώματος. Ποιος ο ρόλος των εισόδων του (R και S) και πού βρίσκει εφαρμογή; R Q

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ. Να μελετηθεί η λειτουργία του ακόλουθου κυκλώματος. Ποιος ο ρόλος των εισόδων του (R και S) και πού βρίσκει εφαρμογή; R Q ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΛΑΜΑΤΑΣ = ΠΑΡΑΡΤΗΜΑ ΣΠΑΡΤΗΣ = ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Συμπληρώνεται από τον διδάσκοντα (2.0) 2 (2.5) 3 (3.0) 4 (2.5) Σ ΕΞΕΤΑΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΤΕΧΝΟΛΟΓΙΑ (ΙΙ) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Ψηφιακά Ηλεκτρονικά

Διαβάστε περισσότερα

Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων Αγγελική Αραπογιάννη Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Η λειτουργία RESET R IN OUT Εάν το σήμα R είναι λογικό «1» στην έξοδο

Διαβάστε περισσότερα

Σχεδίαση κυκλωμάτων ακολουθιακής λογικής

Σχεδίαση κυκλωμάτων ακολουθιακής λογικής Σχεδίαση κυκλωμάτων ακολουθιακής λογικής Βασικές αρχές Σχεδίαση Latches και flip-flops Γιώργος Δημητρακόπουλος Δημοκρίτειο Πανεπιστήμιο Θράκης Φθινόπωρο 2013 Ψηφιακά ολοκληρωμένα κυκλώματα 1 Ακολουθιακή

Διαβάστε περισσότερα

ε. Ένα κύκλωμα το οποίο παράγει τετραγωνικούς παλμούς και απαιτείται εξωτερική διέγερση ονομάζεται ασταθής πολυδονητής Λ

ε. Ένα κύκλωμα το οποίο παράγει τετραγωνικούς παλμούς και απαιτείται εξωτερική διέγερση ονομάζεται ασταθής πολυδονητής Λ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΣΑΒΒΑΤΟ 16/04/2016 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ (ΣΥΣΤΗΜΑΤΑ ΨΗΦΙΑΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ) ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΠΕΝΤΕ (5) ΕΝΔΕΙΚΤΙΚΕΣ

Διαβάστε περισσότερα

15 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

15 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΤΕΤΑΡΤΗ 18 ΙΟΥΝΙΟΥ 2014 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007 Μάθημα : Ψηφιακά Ηλεκτρονικά Τεχνολογία ΙΙ Τεχνικών Σχολών, Θεωρητικής Κατεύθυνσης

Διαβάστε περισσότερα

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 3/02/2019 ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΘΕΜΑ 1 ο 1. Να γράψετε στο τετράδιό σας το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή ή τη λέξη ΛΑΘΟΣ, αν είναι

Διαβάστε περισσότερα

Καταστάσεων. Καταστάσεων

Καταστάσεων. Καταστάσεων 8 η Θεµατική Ενότητα : Εισαγωγή Ησχεδίαση ενός ψηφιακού συστήµατος µπορεί να διαιρεθεί σε δύο µέρη: τα κυκλώµατα επεξεργασίας δεδοµένων και τα κυκλώµατα ελέγχου. Το κύκλωµα ελέγχου δηµιουργεί σήµατα για

Διαβάστε περισσότερα

Ακολουθιακά Κυκλώµατα (Sequential Circuits) Συνδυαστικά Κυκλώµατα (Combinational Circuits) Σύγχρονα και Ασύγχρονα

Ακολουθιακά Κυκλώµατα (Sequential Circuits) Συνδυαστικά Κυκλώµατα (Combinational Circuits) Σύγχρονα και Ασύγχρονα Συνδυαστικά Κυκλώµατα (Combinational Circuits) Εξοδος οποιαδήποτε στιγµή εξαρτάται µόνο από τις τιµές στην είσοδο την ίδια στιγµή κολουθιακά Κυκλώµατα (Sequential Circuits) Aποθηκεύουν κατάσταση (state)

Διαβάστε περισσότερα

ΚΑΤΑΧΩΡΗΤΕΣ ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ. Τύποι καταχωρητών: (α) σειριακής-εισόδου-σειριακής-εξόδου, (β) σειριακήςεισόδου-παράλληλης-εξόδου,

ΚΑΤΑΧΩΡΗΤΕΣ ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ. Τύποι καταχωρητών: (α) σειριακής-εισόδου-σειριακής-εξόδου, (β) σειριακήςεισόδου-παράλληλης-εξόδου, ΚΑΤΑΧΩΡΗΤΕΣ ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ Καταχωρητές σειριακής-εισόδου-σειριακής-εξόδου Καταχωρητές σειριακής-εισόδου-παράλληλης-εξόδου Καταχωρητές παράλληλης-εισόδου-παράλληλης-εξόδου Καταχωρητές

Διαβάστε περισσότερα

Σύγχρονα ακολουθιακά κυκλώματα. URL:

Σύγχρονα ακολουθιακά κυκλώματα.   URL: DeÔtero Ex mhno FoÐthshc Σύγχρονα ακολουθιακά κυκλώματα Ge rgioc. Alexandrìpouloc Lèktorac P.D. 47/8 e-mail: alexandg@uop.gr URL: http://users.iit.demokritos.gr/~alexandg Tm ma Epist mhc kai TeqnologÐac

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΥΓΧΡΟΝΗ ΑΚΟΛΟΥΘΙΑΚΗ ΛΟΓΙΚΗ 2017, Δρ. Ηρακλής Σπηλιώτης Ακολουθιακά κυκλώματα Η πλειονότητα των ψηφιακών συσκευών (τηλέφωνα, δέκτες GPS, φωτογραφικές μηχανές, υπολογιστές κ.α.),

Διαβάστε περισσότερα

Ψηφιακή Λογική Σχεδίαση

Ψηφιακή Λογική Σχεδίαση Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 1 Κεφάλαιο 7 Καταχωρητές Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 2 Καταχωρητές ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ς-εισόδου-σειριακής-εξόδου

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2016

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2016 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2016 ΤΕΧΝΟΛΟΓΙΑ (ΙΙ) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΠΡΑΚΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Τεχνολογία και

Διαβάστε περισσότερα