ΚΕΦΑΛΑΙΟ 4 ΚΑΤΑΧΩΡΗΤΕΣ ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ... 3 ΕΝΟΤΗΤΑ 4.1. ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ... 4 4.1.1. ΚΑΤΑΧΩΡΗΤΕΣ ΣΕΙΡΙΑΚΗΣ-ΕΙΣΟ ΟΥ-ΣΕΙΡΙΑΚΗΣ-ΕΞΟ ΟΥ... 5 4.1.2. ΚΑΤΑΧΩΡΗΤΕΣ ΣΕΙΡΙΑΚΗΣ-ΕΙΣΟ ΟΥ-ΠΑΡΑΛΛΗΛΗΣ-ΕΞΟ ΟΥ... 10 4.1.3. ΚΑΤΑΧΩΡΗΤΕΣ ΠΑΡΑΛΛΗΛΗΣ-ΕΙΣΟ ΟΥ-ΠΑΡΑΛΛΗΛΗΣ-ΕΞΟ ΟΥ... 11 4.1.4. ΚΑΤΑΧΩΡΗΤΕΣ ΠΑΡΑΛΛΗΛΗΣ-ΕΙΣΟ ΟΥ-ΣΕΙΡΙΑΚΗΣ-ΕΞΟ ΟΥ... 13 ΕΝΟΤΗΤΑ 4.2. ΚΥΚΛΙΚΟΙ ΚΑΤΑΧΩΡΗΤΕΣ... 16 4.2.1. ΑΠΑΡΙΘΜΗΤΕΣ ΑΚΤΥΛΙΟΥ... 17 4.2.2. ΑΠΑΡΙΘΜΗΤΕΣ JOHNSON... 18 ΒΙΒΛΙΟΓΡΑΦΙΑ... 23 ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ... 24 ΑΠΟ ΟΣΗ ΑΓΓΛΙΚΩΝ ΟΡΩΝ ΣΤΗΝ ΕΛΛΗΝΙΚΗ... 32 1
ΚΕΦΑΛΑΙΟ 4 ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Σκοπός του παρόντος κεφαλαίου είναι η µελέτη των καταχωρητών. Πρόκειται για σύγχρονα ακολουθιακά κυκλώµατα, τα οποία χρησιµοποιούνται κυρίως για την προσωρινή αποθήκευση δυαδικής πληροφορίας, αλλά και για την εκτέλεση απλών πράξεων, όπως πολλαπλασιασµού και διαίρεσης µε δυνάµεις του 2 ή και εύρεσης του συµπληρώµατος αριθµού. Προσδοκώµενα αποτελέσµατα: Μετά τη µελέτη αυτού του κεφαλαίου θα είστε σε θέση να: σχεδιάζετε καταχωρητές µε δυνατότητα ολίσθησης προς τα αριστερά ή τα δεξιά κατανοείτε και σχεδιάζετε καταχωρητές µε δυνατότητα παράλληλης φόρτωσης και ολίσθησης σχεδιάζετε κυκλώµατα χρονισµού, βασισµένα σε καταχωρητές ολίσθησης σχεδιάζετε καταχωρητές παράλληλης-εισόδου-σειριακής-εξόδου ή σειριακήςεισόδου-παράλληλης-εξόδου σχεδιάζετε κυκλώµατα υποβιβασµού συχνότητας παλµών βασιζόµενα σε καταχωρητές ολίσθησης. Έννοιες κλειδιά: Καταχωρητές Καταχωρητές ολίσθησης Παράλληλη - µετατροπή Κυκλικοί καταχωρητές Σήµατα χρονισµού - Παράλληλη µετατροπή 2
ΕΙΣΑΓΩΓΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ Στο Κεφάλαιο 2 γνωρίσαµε τα σύγχρονα ακολουθιακά κυκλώµατα και µελετήσαµε τη µεθοδολογία ανάλυσης και σχεδίασης τέτοιων κυκλωµάτων. Στο Κεφάλαιο 3 ασχοληθήκαµε µε τους απαριθµητές, ασύγχρονους και σύγχρονους. Είδαµε ότι οι σύγχρονοι απαριθµητές δεν είναι παρά σύγχρονα ακολουθιακά κυκλώµατα, τα οποία σχεδιάζονται έτσι ώστε να βρίσκουν εφαρµογή στην απαρίθµηση παλµών ή στον υποβιβασµό της συχνότητας αυτών. Στο παρόν κεφάλαιο θα γνωρίσουµε µια άλλη κατηγορία σύγχρονων ακολουθιακών κυκλωµάτων, τους καταχωρητές. Τονίζουµε ότι πρόκειται και πάλι για σύγχρονα ακολουθιακά κυκλώµατα, τα οποία βρίσκουν εφαρµογή στην προσωρινή αποθήκευση δυαδικών αριθµών και στην εκτέλεση στοιχειωδών πράξεων σ' αυτούς. Είναι ακριβώς αυτή η εφαρµογή τους, η οποία µας οδηγεί να εξετάζουµε αυτά τα σύγχρονα ακολουθιακά κυκλώµατα ξεχωριστά στο παρόν κεφάλαιο. Καταχωρητής είναι ένα σύνολο από FFs στα οποία µπορούµε να αποθηκεύσουµε δυαδική πληροφορία. Ας θυµηθούµε ότι σε κάθε FF µπορεί να αποθηκευτεί 1 bit πληροφορίας. Έτσι, σ' έναν καταχωρητή, ο οποίος αποτελείται από n FFs, µπορούµε να αποθηκεύσουµε n bits πληροφορίας. Η εισαγωγή (φόρτωση, εγγραφή, είσοδος) της δυαδικής πληροφορίας σ' έναν καταχωρητή µπορεί να γίνει είτε σειριακά, δηλαδή 1 bit µε κάθε ωρολογιακό παλµό, είτε παράλληλα, δηλαδή και τα n bits µε έναν ωρολογιακό παλµό. Το ίδιο ισχύει και για την εξαγωγή (έξοδο, ανάγνωση) της πληροφορίας. Έτσι, διακρίνουµε 4 κατηγορίες καταχωρητών, όπως δείχνονται στο Σχήµα 4.1: καταχωρητές σειριακής εισόδου - σειριακής εξόδου, καταχωρητές σειριακής εισόδου - παράλληλης εξόδου, καταχωρητές παράλληλης εισόδου - σειριακής εξόδου και καταχωρητές παράλληλης εισόδου - παράλληλης εξόδου. Όλοι αυτοί οι τύποι των καταχωρητών διατίθενται σε ολοκληρωµένη µορφή στο ελεύθερο εµπόριο. Πριν αρχίσουµε την εξέταση καθενός από αυτούς τους τύπους καταχωρητών, θα ήταν χρήσιµο να θυµίσουµε το αποτέλεσµα της ολίσθησης ενός δυαδικού αριθµού προς τα αριστερά ή προς τα δεξιά. Ολίσθηση, λοιπόν, ενός δυαδικού αριθµού Ν προς τα αριστερά κατά m θέσεις, συνεπάγεται τον πολλαπλασιασµό αυτού επί 2 m, δηλαδή ο αριθµός που προκύπτει είναι ο Ν2 m. Εξυπακούεται, φυσικά, ότι µε καθεµία αριστερή ολίσθηση το LSB του αριθµού "γεµίζει" µε το δυαδικό ψηφίο 0. Αντίστοιχα, ολίσθηση ενός δυαδικού αριθµού Ν κατά m θέσεις δεξιά, συνεπάγεται τη διαίρεση του αριθµού µε το 2 m, δηλαδή ο αριθµός που προκύπτει είναι ο Ν2 -m. Εξυπακούεται και πάλι ότι µε κάθε δεξιά 3
ολίσθηση το MSB του αριθµού "γεµίζει" µε το δυαδικό ψηφίο 0. Αυτού του είδους η αριστερή ή δεξιά ολίσθηση ονοµάζεται και αριθµητική ολίσθηση (arithmetic shift), σε αντιδιαστολή µε τη λογική ολίσθηση (logical shift) κατά την οποία τη θέση του ψηφίου που "λείπει" την παίρνει το ψηφίο που "περισσεύει". Η λογική ολίσθηση ονοµάζεται και κυκλική ολίσθηση (circular shift). Στις ενότητες που ακολουθούν θα µελετήσουµε όλους τους τύπους καταχωρητών. Συγκεκριµένα, στην ενότητα 4.1 ασχολούµαστε µε τους καταχωρητές σειριακής εισόδου και συνεχίζουµε µε εκείνους παράλληλης εισόδου. Όλοι οι τύποι καταχωρητών, µε εξαίρεση εκείνον της παράλληλης-εισόδου-παράλληλης-εξόδου, είναι καταχωρητές ολίσθησης. Στην ενότητα 4.2 µελετούµε τους κυκλικούς καταχωρητές, οι οποίοι βρίσκουν εφαρµογή ιδιαίτερα στη δηµιουργία σηµάτων χρονισµού. Παράλληλη Έξοδος εδοµένων... Είσοδος εδοµένων n bits Έξοδος εδοµένων n bits (α) (β) Παράλληλη Έξοδος εδοµένων n bits (γ)...... Παράλληλη Είσοδος εδοµένων n bits (δ)... Παράλληλη Είσοδος εδοµένων Έξοδος εδοµένων Σχήµα 4.1. Τύποι καταχωρητών: (α) σειριακής-εισόδου-σειριακής-εξόδου, (β) σειριακής-εισόδουπαράλληλης-εξόδου, (γ) παράλληλης-εισόδου-παράλληλης-εξόδου, (δ) παράλληληςεισόδου-σειριακής-εξόδου. ΕΝΟΤΗΤΑ 4.1. ΣΕΙΡΙΑΚΟΙ ΚΑΙ ΠΑΡΑΛΛΗΛΟΙ ΚΑΤΑΧΩΡΗΤΕΣ Στην ενότητα αυτή θα ασχοληθούµε σχολαστικά µε τους τέσσερεις τύπους καταχωρητών που αναφέραµε προηγουµένως, δηλαδή τους καταχωρητές σειριακής εισόδου - σειριακής εξόδου, σειριακής εισόδου - παράλληλης εξόδου, παράλληλης εισόδου - σειριακής εξόδου και παράλληλης εισόδου - παράλληλης εξόδου. Τα FFs, που 4
χρησιµοποιούµε για την κατασκευή των καταχωρητών, είναι συνήθως τύπου D θετικής ή αρνητικής ακµής πυροδότησης. Τα D FFs όµως προέρχονται από JK ή RS flip-flops, στα οποία η µία είσοδος είναι συµπληρωµατική της άλλης (Βλ. Σχήµα 1.10(α) και Σχήµα 1.34). Έτσι στην πράξη οι καταχωρητές κατασκευάζονται κυρίως µε FF τύπου JK ή RS. Η απροσδιοριστία των RS FFs δεν είναι πρόβληµα στην προκειµένη περίπτωση, αφού αυτά χρησιµοποιούνται µόνο για αποθήκευση δεδοµένων και είναι πάντοτε R = S. Μετά την ολοκλήρωση της µελέτης της ενότητας αυτής, θα είστε σε θέση να αναγνωρίζετε και να κατανοείτε τη λειτουργία των διαφόρων τύπων καταχωρητών σειριακής ή παράλληλης εισόδου και σειριακής ή παράλληλης εξόδου, να σχεδιάζετε καταχωρητές µε δυνατότητα ολίσθησης προς τα δεξιά ή προς τα αριστερά και τέλος να σχεδιάζετε καταχωρητές µε δυνατότητα παράλληλης ή σειριακής φόρτωσης. 4.1.1. Καταχωρητές σειριακής-εισόδου-σειριακής-εξόδου Ένας καταχωρητής ολίσθησης σειριακής-εισόδου-σειριακής-εξόδου αποτελείται από µία συστοιχία FFs τύπου D, όπου η είσοδος καθενός (πλην του πρώτου στη σειρά) τροφοδοτείται από την έξοδο του προηγούµενού του. Όλα τα FFs χρονίζονται µε τον ίδιο ωρολογιακό παλµό. Ένα παράδειγµα καταχωρητή ολίσθησης σειριακής-εισόδουσειριακής-εξόδου των 4 bits δείχνεται στο Σχήµα 4.2. Με κάθε ενεργό του ωρολογιακού παλµού (δηλαδή µε την αρνητική ακµή κάθε παλµού στην προκειµένη περίπτωση) το κάθε FF διαβάζει την έξοδο του προηγούµενού του και τη µεταφέρει στην έξοδό του, εκτός από το πρώτο αριστερά FF, το οποίο διαβάζει τη σειριακή είσοδο. Για παράδειγµα, αν όλα τα FFs του Σχήµατος 4.2(α) είχαν εκκαθαριστεί και στην είσοδο D 0 (στη σειριακή είσοδο) εφαρµόζαµε το λογικό 1, τότε οι κυµατοµορφές των εξόδων όλων των FFs για τους 4 πρώτους ωρολογιακούς παλµούς θα ήταν όπως αυτές του Σχήµατος 4.2(δ). Στα Σχήµατα 4.2(β) και 4.2(γ) δείχνεται ο ίδιος καταχωρητής ολίσθησης κατασκευασµένος, όµως, µε FF τύπου JK και SR αντίστοιχα. Παρατηρούµε ότι η σειριακή είσοδος εφαρµόζεται στη µία είσοδο του πρώτου αριστερά FF, ενώ στην άλλη είσοδο εφαρµόζεται η συµπληρωµατική της. Έτσι το δεδοµένο εισόδου εισέρχεται στο πρώτο FF µε την εµφάνιση της ενεργού ακµής του ωρολογιακού παλµού. Έστω ότι η σειριακή είσοδος ισούται µε 1. Τότε J 0 =1 και K 0 =J 0 =0 (S 0 =1 και R 0 =S 0 αντίστοιχα για το SR FF), οπότε η έξοδος Q 0 =1 και Q 0 =0. Στην περίπτωση που η σειριακή είσοδος ισούται µε 0, 5
γίνεται φανερό ότι η έξοδος Q 0 θα γίνει και αυτή 0 µε την εµφάνιση της ενεργού ακµής του ωρολογιακού παλµού. Είσοδος D0 Q0 D1 Q1 D2 Q2 D3 Q3 FF0 FF1 FF2 FF3 Έξοδος (α) Είσοδος J0 Q0 J1 Q1 J2 Q2 J3 Q3 Έξοδος Q'0 Q'1 Q'2 Q'3 K0 K1 K2 K3 (β) Είσοδος S0 Q0 S1 Q1 S2 Q2 S3 Q3 Έξοδος Q'0 Q'1 Q'2 Q'3 R0 R1 R2 R3 (γ) Είσοδος D0=1 Q0 Q1 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
Άσκηση αυτοαξιολόγησης 1 / Κεφάλαιο 4 Υποθέστε ότι σ' έναν καταχωρητή σειριακής-εισόδου-σειριακής-εξόδου των 4 bits µε FFs τύπου D αρνητικής ακµής πυροδότησης είναι αποθηκευµένη η δυαδική λέξη 1010. Σχεδιάστε τις κυµατοµορφές εξόδου καθενός FF. Θεωρήστε ότι η σειριακή είσοδος βρίσκεται στο λογικό 0. ραστηριότητα 1 / Κεφάλαιο 4 Προτείνετε κύκλωµα το οποίο να έχει τη δυνατότητα ολίσθησης ενός δυαδικού αριθµού των 4 bits προς τα αριστερά ή προς τα δεξιά, ανάλογα µε τη λογική στάθµη µιας πρόσθετης εισόδου ελέγχου. Παράδειγµα 1 / Κεφάλαιο 4 Μία πολύ χρήσιµη εφαρµογή των καταχωρητών ολίσθησης είναι αυτή της υλοποίησης ενός σειριακού αθροιστή, δηλαδή ενός ψηφιακού συστήµατος, το οποίο να προσθέτει δύο δυαδικούς αριθµούς bit προς bit, χρησιµοποιώντας µόνο έναν πλήρη αθροιστή (FA, Full Adder). Στο βιβλίο της Ψηφιακής Σχεδίασης Ι γνωρίσαµε το κύκλωµα ενός πλήρους αθροιστή / αφαιρέτη δύο δυαδικών αριθµών των n bits ο καθένας. Είδαµε ότι απαιτούνται n πλήρεις αθροιστές, ένας για κάθε bit για την πράξη αυτή. Και από τη στιγµή που τα δεδοµένα (οι προσθετέοι) είναι διαθέσιµα, η πράξη της πρόσθεσης γίνεται ταυτόχρονα και στους n πλήρεις αθροιστές µέσα σε έναν κύκλο του ρολογιού. Στο Σχήµα 4.3 δείχνεται το αντίστοιχο κύκλωµα του σειριακού αθροιστή δύο n-bit αριθµών. Παρατηρούµε ότι απαιτείται ένας µόνο FA, αλλά η πράξη της πρόσθεσης, όπως θα διαπιστώσουµε, ολοκληρώνεται σε n κύκλους του ρολογιού. Ο αθροιστής αυτός προσθέτει τους n-bit αριθµούς Α και Β και το αποτέλεσµα επιστρέφει στη θέση του αριθµού Α. Αποτελείται από δύο καταχωρητές ολίσθησης σειριακής-εισόδου-σειριακήςεξόδου των n-bits ο καθένας, έναν FA και έναν καταχωρητή του 1 bit για την προσωρινή αποθήκευση του κρατούµενου. Όλοι οι καταχωρητές χρονίζονται µε τους ίδιους ωρολογιακούς παλµούς. Οι προσθετέοι Α και Β αποθηκεύονται σειριακά στους αντίστοιχους καταχωρητές ολίσθησης, µε τρόπο ώστε το LSB αυτών να εισάγεται πρώτα, δηλαδή να βρίσκεται στο δεξιό άκρο του κάθε καταχωρητή. Από τη στιγµή που θα αποθηκευτούν οι δύο προσθετέοι µπορεί να αρχίσει η διαδικασία της πρόσθεσής τους. Με τον πρώτο ωρολογιακό παλµό προστίθενται τα δύο LSB των αριθµών και το κρατούµενο, το οποίο αρχικά είναι 0. Το άθροισµα S επιστρέφει στην πρώτη θέση του καταχωρητή Α, η οποία έµεινε κενή λόγω της δεξιάς ολίσθησης των περιεχοµένων του, 7
ενώ το κρατούµενο C αποθηκεύεται προσωρινά στον καταχωρητή του 1 bit. Η διαδικασία αυτή συνεχίζεται µέχρι και το n-οστό παλµό, οπότε και ολοκληρώνεται η πρόσθεση των αριθµών. Τη στιγµή αυτή, ο καταχωρητής Α περιέχει το αποτέλεσµα του αθροίσµατος. Στον καταχωρητή Β συνήθως προνοούµε να αποθηκευτεί σειριακά, (ταυτόχρονα µε την πρόσθεση των Α και Β), η τιµή του νέου προσθετέου, ώστε άµεσα να προχωρήσουµε στον υπολογισµό του επόµενου αθροίσµατος. Επιλογή Εισόδου είσοδος Α Ολίσθηση δεξιά Καταχωρητής ολίσθησης Α Έξοδος x y z FA S C είσοδος Β Καταχωρητής ολίσθησης Β Έξοδος Q D Μηδενισµό ς Σχήµα 4.3. Λογικό διάγραµµα σειριακού αθροιστή. Οι καταχωρητές ολίσθησης που γνωρίσαµε µέχρι στιγµής (βλ. Σχήµα 4.2) έχουν τη δυνατότητα ολίσθησης των δεδοµένων µόνο προς τα δεξιά. Όµως, πολλές φορές είναι απαραίτητο, ιδιαίτερα σε ψηφιακά συστήµατα για την εκτέλεση αριθµητικών πράξεων, η ολίσθηση να γίνεται είτε προς τα δεξιά είτε προς τα αριστερά. Ένας τέτοιος καταχωρητής ολίσθησης ονοµάζεται αµφίδροµος ή διπλής κατεύθυνσης. Η κατεύθυνση της ολίσθησης ελέγχεται από ένα διακόπτη. Το κύκλωµα ενός αµφίδροµου καταχωρητή ολίσθησης των 4 bits δείχνεται στο Σχήµα 4.4. 8
Είσοδος για εξιά ολίσθηση E X0 E X1 E X2 E X3 Είσοδος για Αριστερή ολίσθηση D0 Q0 D1 FF0 Έξοδος για εξιά ολίσθηση FF1 (α) Q1 D2 FF2 Q2 D3 FF3 Q3 Έξοδος για Αριστερή ολίσθηση E Q i 1 Q i+1 X i (β) Σχήµα 4.4. (α) Καταχωρητής ολίσθησης σειριακής-εισόδου-σειριακής-εξόδου διπλής κατεύθυνσης, (β) κύκλωµα του πολυπλέκτη Χ i. Πρόκειται ουσιαστικά για τον καταχωρητή ολίσθησης σειριακής-εισόδου-σειριακήςεξόδου του Σχήµατος 4.2, στις εισόδους του οποίου όµως έχουµε παρέµβει, τοποθετώντας από έναν πολυπλέκτη 2 γραµµών σε 1 (Σχήµα 4.4(β)). Μέσω του κάθε πολυπλέκτη ελέγχουµε αν στην είσοδο του FF θα συνδεθεί η έξοδος του προηγούµενου ή του επόµενου από αυτό FF. Συγκεκριµένα, στις εισόδους του πολυπλέκτη Χ i συνδέουµε τις εισόδους Q i-1 και Q i+1. Αν η είσοδος επιλογής Ε=1, τότε επιτρέπεται στην είσοδο Q i-1 να εµφανιστεί στην έξοδο D i του πολυπλέκτη, δηλαδή D i =Q i-1. Αν Ε=0, τότε D i =Q i+1. Έτσι, για Ε=1 έχουµε το γνωστό κύκλωµα του Σχήµατος 4.2, το οποίο υλοποιεί τη δεξιά ολίσθηση του αριθµού. Η σειριακή είσοδος γίνεται µέσω της εισόδου D 0 του FF 0 και η σειριακή έξοδος µέσω του Q 3 (FF 3 ). Για Ε=0 το κύκλωµα υλοποιεί την αριστερή ολίσθηση των περιεχοµένων του (δεδοµένων). Η σειριακή είσοδος γίνεται τώρα µέσω του D 3 του FF 3 και η σειριακή έξοδος µέσω του Q 0 του FF 0. D i 9
4.1.2. Καταχωρητές σειριακής-εισόδου-παράλληλης-εξόδου Οι καταχωρητές σειριακής-εισόδου-παράλληλης-εξόδου είναι ακριβώς ίδιοι µε τους καταχωρητές σειριακής-εισόδου-σειριακής-εξόδου, µε µόνη διαφορά ότι µας είναι διαθέσιµες οι έξοδοι Q όλων των FFs και όχι µόνον η έξοδος του τελευταίου. Στο Σχήµα 4.5 δείχνεται ο αντίστοιχος του Σχήµατος 4.2(α) καταχωρητής ολίσθησης σειριακήςεισόδου-παράλληλης-εξόδου των 4 bits. Παράλληλη Έξοδος Q0 Q1 Q2 Q3 Είσοδος D0 Q0 D1 Q1 D2 Q2 D3 Q3 FF0 FF1 FF2 FF3 Σχήµα 4.5. Καταχωρητής ολίσθησης σειριακής-εισόδου-παράλληλης-εξόδου των 4 bits. Οι κυµατοµορφές εισόδου-εξόδου του Σχήµατος 4.2(δ) είναι επίσης ίδιες και στην περίπτωση του καταχωρητή ολίσθησης του Σχήµατος 4.5. Συνήθως οι καταχωρητές ολίσθησης έχουν επιπλέον εισόδους CLEAR ή και PRESET, οι οποίες συνδέονται στις αντίστοιχες εισόδους όλων των FFs για την άµεση (ασύγχρονη) εκκαθάριση (δηλαδή όλες οι έξοδοι γίνονται 0) ή καθορισµό της υψηλής στάθµης του καταχωρητή (δηλαδή όλες οι έξοδοι γίνονται 1). Άσκηση αυτοαξιολόγησης 2 / Κεφάλαιο 4 Σχεδιάστε τις κυµατοµορφές εισόδου-εξόδου ενός καταχωρητή ολίσθησης σειριακήςεισόδου-παράλληλης-εξόδου των 4 bits, του οποίου η είσοδος CLEAR γίνεται "στιγµιαία" 0 πριν τον 1ο ωρολογιακό παλµό και αµέσως µετά τον 3ο ωρολογιακό παλµό, ενώ η σειριακή είσοδος παραµένει µόνιµα στο λογικό 1. Ένα σηµείο που πρέπει να τονιστεί και το οποίο ισχύει για όλους τους καταχωρητές ολίσθησης είναι ότι για την αποθήκευση σ' αυτούς µιας λέξης των n bits απαιτούνται n ωρολογιακοί παλµοί. Αν οι παλµοί είναι λιγότεροι ή περισσότεροι, τότε τµήµα της λέξης από τα αριστερά ή τα δεξιά αυτής χάνεται. Θα δούµε στην ενότητα 4.2. κυκλώµατα 10
κατάλληλα για την παραγωγή σηµάτων χρονισµού κατάλληλων για τέτοιου είδους σειριακής µεταφοράς δεδοµένων. Άσκηση αυτοαξιολόγησης 3 / Κεφάλαιο 4 Πόσος χρόνος θα απαιτηθεί για τη σειριακή ολίσθηση ενός αριθµού των 8 bits σ' έναν καταχωρητή ολίσθησης, ο οποίος λειτουργεί µε ωρολογιακό παλµό συχνότητας 10 ΜHz; 4.1.3. Καταχωρητές παράλληλης-εισόδου-παράλληλης-εξόδου Ένας καταχωρητής παράλληλης-εισόδου-παράλληλης-εξόδου προκύπτει εύκολα από FF τύπου D, στα οποία ελέγχουµε ανεξάρτητα τις εισόδους και εξόδους τους, όπως δείχνεται για την περίπτωση ενός 4 bit καταχωρητή στο Σχήµα 4.6(α). Φυσικά όλα τα FFs χρονίζονται µε τους ίδιους ωρολογιακούς παλµούς. Παράλληλη Έξοδος Q0 Q1 Q2 Q3 D0 Q0 D1 Q1 D2 Q2 D3 Q3 FF0 FF1 FF2 FF3 Ε D0 D1 D2 D3 Παράλληλη Είσοδος (α) Σχήµα 4.6. Καταχωρητής παράλληλης-εισόδου-παράλληλης-εξόδου µε FFs τύπου D. Κάθε φορά που ενεργοποιείται ο ωρολογιακός παλµός (κατά την αρνητική ακµή στην προκειµένη περίπτωση), οι είσοδοι D i θα "διαβάζονται" και θα περνούν στις εξόδους Q i, όπου i=0,1,2,... Παρατηρούµε, δηλαδή, ότι όλες οι είσοδοι φορτώνονται παράλληλα στον καταχωρητή µ' έναν µόνο ωρολογιακό παλµό. Υπάρχει, όµως, ένα σοβαρό µειονέκτηµα στο κύκλωµα αυτό, ότι δηλαδή µε κάθε νέο ωρολογιακό παλµό, νέα δεδοµένα θα φορτώνονται στον καταχωρητή. Με άλλα λόγια, αν εµείς θέλουµε να φυλάξουµε τα δεδοµένα, θα πρέπει να σταµατήσουµε τους ωρολογιακούς παλµούς. Αυτό γίνεται εύκολα µε τη βοήθεια µιας πύλης AND, όπως φαίνεται στο Σχήµα 4.6(β). Όταν η είσοδος (β) 11
ελέγχου Ε=1, τότε =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 1 S 1 Q 1 FF 1 Q 1 R 1 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. Παρατηρούµε ότι: 1. Σε όλα τα FFs τροφοδοτούµε τους ίδιους ωρολογιακούς παλµούς. 2. Υπάρχει µία είσοδος CLEAR για την άµεση εκκαθάριση του καταχωρητή, δηλαδή όλων των FFs. 3. Ο έλεγχος της παράλληλης εισόδου (φόρτωσης) των δεδοµένων γίνεται µέσω της εισόδου E. Όταν E=1, τότε επιτρέπεται η φόρτωση των δεδοµένων εισόδου Ι i, i=0,1,2,3. Για να γίνει αυτό κατανοητό, µπορούµε να δούµε τι συµβαίνει µε τις πύλες AND που οδηγούν τις εισόδους S 0, R 0 του FF 0. Βλέπουµε ότι για E=1, η πύλη G S 0 επιτρέπει την διέλευση του δεδοµένου Ι 0 (δηλαδή S 0 =I 0 ) και η πύλη G R 0 επιτρέπει τη διέλευση από αυτή του Ι 0 (δηλαδή R 0 =I 0 ). Έτσι αν Ι 0 =1, τότε στο FF 0 12
καταχωρείται το λογικό 1 (αφού S 0 =1 και R 0 =0), ενώ για Ι 0 =0, τότε στο FF 0 καταχωρείται το λογικό 0 (S 0 =0 και R 0 =1). Για E=0, οι έξοδοι όλων των πυλών AND είναι 0, ανεξάρτητα από τις τιµές των εισόδων I i. Συνεπώς, S i =R i =0 και άρα το FF δεν αλλάζει κατάσταση. ιευκρινίζεται ότι οι είσοδοι δεδοµένων I i και η είσοδος ελέγχου E µπορούν να αλλάζουν οποτεδήποτε, αρκεί να λαµβάνονται υπόψη οι χρόνοι προετοιµασίας και παραµονής σε σχέση µε την ενεργό ακµή του ρολογιού (βλ. ενότητα 1.2). Η φόρτωση των δεδοµένων γίνεται κατά την άφιξη της πρώτης ενεργού ακµής των ωρολογιακών παλµών. Άσκηση αυτοαξιολόγησης 4 / Κεφάλαιο 4 Σχεδιάστε το κύκλωµα καταχωρητή παράλληλης-εισόδου-παράλληλης-εξόδου όµοιο µε αυτό του Σχήµατος 4.7, αποτελούµενο όµως από FFs τύπου D αρνητικής ακµής πυροδότησης. Σχολιάστε τον τρόπο λειτουργίας του. 4.1.4. Καταχωρητές παράλληλης-εισόδου-σειριακής-εξόδου Τα κυκλώµατα αυτά έχουν τη δυνατότητα να φορτώνουν τα δεδοµένα παράλληλα και να τα αποστέλλουν στην έξοδο σειριακά. Η φόρτωση n δυαδικών ψηφίων, όπως είναι φυσικό, γίνεται σε ένα κύκλο ρολογιού, ενώ η σειριακή έξοδος αυτών γίνεται σε n κύκλους του ρολογιού. Πρόκειται ουσιαστικά για έναν καταχωρητή ολίσθησης, ο οποίος όµως έχει επιπλέον τη δυνατότητα παράλληλης φόρτωσης των δεδοµένων. Το κύκλωµα ενός τέτοιου καταχωρητή των 4 bits δίνεται στο Σχήµα 4.8. Παράλληλη Είσοδος D0 D1 D2 D3 Ε Είσοδος Έξοδος S0 Q0 S1 Q1 S2 Q2 S3 Q3 FF0 FF1 FF1 FF1 R0 R1 R2 R3 Q0 Q1 Q2 Παράλληλη 'Εξοδος Σχήµα 4.8. Καταχωρητής παράλληλης-εισόδου-σειριακής-εξόδου των 4 bits. 13
Αυτό αποτελείται από 4 FFs τύπου SR αρνητικής ακµής πυροδότησης. Οι είσοδοι S i, R i (i=0,1,2,3) του κάθε FF είναι συµπληρωµατικές µεταξύ τους και τροφοδοτούνται από ένα συνδυασµό πυλών AND - OR. Ο συνδυασµός των πυλών εισόδου αποτελεί ένα απλό κύκλωµα πολύπλεξης 2 γραµµών σε 1. Συγκεκριµένα, όταν Ε=1, τότε µόνον η δεξιά AND επιτρέπει την είσοδο της D i να περάσει από αυτή, οπότε S i =D i και R i =D i. Έτσι το δεδοµένο D i καταχωρείται στο αντίστοιχο FF i. Όταν E=0, τότε µόνον η αριστερή AND ' επιτρέπει στην άλλη είσοδό της να περάσει από αυτή, οπότε S i =Q i-1 και R i =Q i-1. ηλαδή η έξοδος Q i-1 του FF i-1 τροφοδοτείται στις εισόδους του FF i. Με τον τρόπο αυτό επιτυγχάνεται η ολίσθηση των δεδοµένων προς τα δεξιά, και κατά συνέπεια η σειριακή τους έξοδος. Άρα, για Ε=1 έχουµε παράλληλη φόρτωση, ενώ για Ε=0 έχουµε ολίσθηση προς τα δεξιά. Εννοείται ότι η φόρτωση ή η ολίσθηση συµβαίνουν πάντοτε κατά τη στιγµή της αρνητικής ακµής των ωρολογιακών παλµών για το συγκεκριµένο κύκλωµα. Παρατηρείστε ότι το κύκλωµα που µόλις περιγράψαµε διαθέτει και µια σειριακή είσοδο. Θα µπορούσε εποµένως να χρησιµοποιηθεί και ως ένας καταχωρητής ολίσθησης σειριακής-εισόδου-σειριακής-εξόδου. Επίσης, µπορούµε να δούµε ότι αν είχαµε διαθέσιµες τις εξόδους Q i (διακεκοµµένες γραµµές του Σχήµατος 4.8), τότε το ίδιο κύκλωµα θα µπορούσε να έχει επιπρόσθετα τη δυνατότητα παράλληλης εξόδου των δεδοµένων. Ένα τέτοιο κύκλωµα έχει στην πράξη όλες τις δυνατότητες των διαφορετικών καταχωρητών που περιγράψαµε µέχρι τώρα, δηλαδή σειριακής-εισόδου-σειριακήςεξόδου, σειριακής-εισόδου-παράλληλης-εξόδου, παράλληλης-εισόδου-παράλληληςεξόδου, παράλληλης-εισόδου-σειριακής-εξόδου. Στο εµπόριο διατίθενται σήµερα ολοκληρωµένα κυκλώµατα καταχωρητών αυτού του είδους. Ένα άλλο στοιχείο που πρέπει να σηµειωθεί για τον καταχωρητή που εξετάζουµε, αλλά και για όλους τους τύπους των καταχωρητών που µελετήσαµε µέχρι τώρα, είναι η δυνατότητά τους να συνδέονται ο ένας µετά τον άλλον για την καταχώρηση και ολίσθηση λέξεων πολλαπλάσιου µήκους. Έτσι, συνδέοντας δύο καταχωρητές των 4 bits ο καθένας, όπως αυτός του Σχήµατος 4.8, µπορούµε να κατασκευάζουµε έναν καταχωρητή των 8 bits (βλ. Σχήµα 4.9). Εξυπακούεται ότι οι δύο καταχωρητές θα πρέπει να συγχρονίσουν τη λειτουργία τους τροφοδοτούµενοι µε τους ίδιους ωρολογιακούς παλµούς () και την ίδια είσοδο επιλογής Ε. Η σειριακή έξοδος του πρώτου συνδέεται στη σειριακή είσοδο του δεύτερου καταχωρητή. 14
Παράλληλη Είσοδος Είσοδος E Καταχωρητής 4- bits Σειρ. Έξοδος Σειρ. Είσοδος Καταχωρητής 4- bits Έξοδος Παράλληλη Έξοδος Σχήµα 4.9. Καταχωρητής των 8 bits κατασκευασµένος από δύο καταχωρητές των 4 bits. Οι καταχωρητές παράλληλης-εισόδου-σειριακής-εξόδου και σειριακής-εισόδουπαράλληλης-εξόδου βρίσκουν ευρεία εφαρµογή στη σειριακή επικοινωνία ψηφιακών συστηµάτων. Συγκεκριµένα, τα ψηφιακά συστήµατα είναι συνήθως σχεδιασµένα ώστε να λειτουργούν παράλληλα, επιτυγχάνοντας έτσι µεγαλύτερες ταχύτητες επεξεργασίας. Η επικοινωνία δύο τέτοιων συστηµάτων, τα οποία βρίσκονται σε µεγάλη απόσταση το ένα από το άλλο, γίνεται σειριακά. Για τη σειριακή λοιπόν µετάδοση, απαιτείται ένας καταχωρητής παράλληλης-εισόδου-σειριακής-εξόδου, ενώ για τη σειριακή λήψη δεδοµένων απαιτείται ένας καταχωρητής σειριακής-εισόδου-παράλληλης-εξόδου. Άσκηση αυτοαξιολόγησης 5 / Κεφάλαιο 4 Σας δίνεται το κύκλωµα του Σχήµατος 4.10. Προσδιορίστε τον τρόπο λειτουργίας του. Ποια η χρησιµότητα καθεµιάς από τις εισόδους Χ 1, Χ 2, Χ 3 Χ 4 ; Υπενθυµίζεται ότι ένας πολυπλέκτης 4-σε-1 οδηγεί στην έξοδό του µία από τις 4 εισόδους (0,1,2,3), ανάλογα µε την τιµή στις εισόδους Ε 1 Ε 0 (αντίστοιχα 00, 01, 10, 11). 15
Παράλληλες έξοδοι Q0 Q1 Q2 Q3 X1 X2 Q Q Q CLEAR FF0 CLEAR FF1 CLEAR FF2 CLEAR FF3 D0 D0 D0 Q D0 (LSB) E1 E0 4x1 MUX 4x1 MUX 4x1 MUX 4x1 MUX 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 X3 X4 I0 I1 I2 I3 Παράλληλες είσοδοι Σχήµα 4.10. Σύγχρονο ακολουθιακό κύκλωµα της άσκησης αυτοαξιολόγησης 5 / Κεφάλαιο 4. Σύνοψη Ενότητας Στην ενότητα αυτή γνωρίσαµε όλους τους τύπους καταχωρητών για παράλληλη και σειριακή είσοδο των δεδοµένων, καθώς και για παράλληλη και σειριακή έξοδο αυτών. Είδαµε ότι πρόκειται για σύγχρονα ακολουθιακά κυκλώµατα, τα οποία κατασκευάζονται µε FFs τύπου D, RS ή JK. Τα κυκλώµατα αυτά µπορούµε να τα χρησιµοποιήσουµε για την προσωρινή αποθήκευση δεδοµένων τα οποία µεταφέρονται παράλληλα ή σειριακά, για τη µετατροπή δεδοµένων από παράλληλα σε σειριακά και το αντίθετο, και τέλος για την υλοποίηση ορισµένων απλών πράξεων πολλαπλασιασµού ή διαίρεσης αριθµών µε δυνάµεις του 2. ΕΝΟΤΗΤΑ 4.2. ΚΥΚΛΙΚΟΙ ΚΑΤΑΧΩΡΗΤΕΣ Η ακολουθία των λειτουργιών σε ένα ψηφιακό σύστηµα καθορίζεται από κάποια µονάδα ελέγχου του συστήµατος. Μια τέτοια µονάδα παράγει συνήθως ορισµένα σήµατα χρονισµού, τα οποία καθορίζουν τη χρονική ακολουθία εκτέλεσης των λειτουργιών. Οι απαριθµητές, που είδαµε στο προηγούµενο Κεφάλαιο, όπως και οι καταχωρητές, που µελετάµε στο παρόν Κεφάλαιο, είναι τα βασικά κυκλώµατα, τα οποία σε συνδυασµό µε κάποιες πύλες αποκωδικοποίησης χρησιµοποιούνται για τη δηµιουργία σηµάτων χρονισµού. 16
Τα κυκλώµατα που εξετάζουµε στην ενότητα αυτή ανήκουν στην κατηγορία των κυκλικών καταχωρητών, γιατί πρόκειται για καταχωρητές ολίσθησης των οποίων οι έξοδοι ανατροφοδοτούνται στις εισόδους. Επειδή όµως τα ίδια αυτά κυκλώµατα µπορούν να θεωρηθούν και ως απαριθµητές, αφού οι έξοδοι των FFs είναι διαθέσιµες και µάλιστα απαριθµούν µε κάποιο µη-κανονικό τρόπο, γι' αυτό ονοµάζονται και απαριθµητές ολίσθησης (shift counters). Θα ασχοληθούµε αµέσως τώρα µε τις δύο κατηγορίες απαριθµητών ολίσθησης, τους απαριθµητές δακτυλίου (ring counters ή ring shift counters) και τους απαριθµητές Johnson (Johnson shift counters). Η διαφορά τους, όπως θα διαπιστώσουµε, βρίσκεται στο γεγονός ότι στους πρώτους ανατροφοδοτείται στη σειριακή είσοδο η ίδια η σειριακή έξοδος, ενώ στους δεύτερους ανατροφοδοτείται η συµπληρωµατική της σειριακής εξόδου. Με την ολοκλήρωση της µελέτης της παρούσας ενότητας θα είστε σε θέση να αναλύετε και να σχεδιάζετε καταχωρητές ολίσθησης (δακτυλίου ή Johnson) για την παραγωγή κατάλληλων σηµάτων χρονισµού. 4.2.1. Απαριθµητές δακτυλίου Ο απαριθµητής δακτυλίου είναι ένας κυκλικός καταχωρητής ολίσθησης, στον οποίο µόνο ένα FF βρίσκεται στην κατάσταση 1 σε κάθε χρονική στιγµή, ενώ τα υπόλοιπα βρίσκονται στην κατάσταση 0. Το ότι είναι κυκλικός καταχωρητής σηµαίνει ότι η σειριακή έξοδος οδηγείται στη σειριακή είσοδο. Στο Σχήµα 4.11 δείχνεται ένας απαριθµητής δακτυλίου των 4 bits κατασκευασµένος µε FFs τύπου D και µε FFs τύπου JK αρνητικής ακµής πυροδότησης. Στο ίδιο σχήµα φαίνονται και οι κυµατοµορφές εξόδου των κυκλωµάτων, οι οποίες είναι ίδιες και για τις δύο περιπτώσεις. Παρατηρούµε ότι µε τα συγκεκριµένα κυκλώµατα των 4 FFs το καθένα δηµιουργούµε 4 σήµατα χρονισµού, ένα από κάθε έξοδο Q. Εννοείται ότι στο πρώτο από τα FFs έχουµε αρχικά "φορτώσει" τον αριθµό 1, τον οποίο µεταφέρουµε κυκλικά από FF σε FF µε κάθε αρνητική ακµή των ωρολογιακών παλµών. Γενικά, για τη δηµιουργία Ν σηµάτων χρονισµού ο απαριθµητής δακτυλίου πρέπει να αποτελείται από Ν FFs. 17
D3 Q3 D2 Q2 D1 Q1 D0 Q0 1 0 0 0 (α) J3 Q3 J2 Q2 J1 Q1 J0 Q0 1 0 0 0 K3 Q'3 K2 Q'2 K1 Q'1 K0 Q'0 (β) Q3 Q2 Q1 Q0 ( 3 Q 2 Q 1 Q 0 ) 10 Q 8 4 2 1 8 4 2 1 Σχήµα 4.11. (γ) Απαριθµητής δακτυλίου των 4 bits: (α) µε FFs τύπου D (β) µε FFs τύπου JK, (γ) κυµατοµορφές εξόδου. Άσκηση αυτοαξιολόγησης 6 / Κεφάλαιο 4 Προτείνετε κύκλωµα για την παραγωγή των κυµατοµορφών του Σχήµατος 4.11(γ), το οποίο να αποτελείται µόνον από 2 FFs. 4.2.2. Απαριθµητές Johnson Ο απαριθµητής Johnson είναι κι αυτός ένας κυκλικός καταχωρητής ολίσθησης, του οποίου όµως η συµπληρωµατική έξοδος συνδέεται στην είσοδο. Για το λόγο αυτό ονοµάζεται και απαριθµητής δακτυλίου µε αντιστροφή ουράς (switch tail). Το κύκλωµα ενός απαριθµητή Johnson των 4 bits σχεδιασµένο µε FFs τύπου D και µε FFs τύπου JK, καθώς και οι αντίστοιχες κυµατοµορφές εξόδου δείχνονται στο Σχήµα 4.12. Παρατηρούµε ότι, αν θεωρήσουµε πως µε την έναρξη των ωρολογιακών παλµών όλα τα FFs είναι µηδενισµένα, τότε το κύκλωµα από µόνο του αρχίζει να παράγει συµµετρικούς παλµούς περιόδου 8πλάσιας της περιόδου των ωρολογιακών παλµών. Άρα το κύκλωµα, 18
από µια πρώτη άποψη, λειτουργεί ως διαιρέτης των παλµών του ρολογιού δια 8. Παρατηρήστε την ακολουθία απαρίθµησης αυτού του κυκλώµατος: {0, 8, 12, 14, 15, 7, 3, 1}, δηλαδή στις 4 πρώτες ολισθήσεις ένα 1 εισέρχεται στο FF 3, ενώ στις επόµενες 4 ολισθήσεις εισέρχεται 0. Σε δυαδική µορφή έχουµε: Q 3 Q 2 Q 1 Q 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 Αυτό που δεν κάνει µέχρι στιγµής το κύκλωµα είναι να δηµιουργεί µια αλληλουχία σηµάτων χρονισµού, καθένα από τα οποία να είναι ενεργό για χρόνο ίσο µε µια περίοδο του ωρολογιακού παλµού και να µην υπάρχει επικάλυψη µε κάποιο από τα άλλα σήµατα, έτσι όπως συνέβαινε στο Σχήµα 4.11(γ). D3 Q3 D2 Q2 D1 Q1 D0 Q0 0 0 0 0 Q'0 (α) J3 Q3 J2 Q2 J1 Q1 J0 Q0 0 0 0 0 K3 Q'3 K2 Q'2 K1 Q'1 K0 Q'0 (β) Q3 Q2 Q1 Q0 ( Q 3 QQ 2 1 Q 0 ) 10 0 8 12 14 15 7 3 1 0 8 12 14 15 7 (γ) Σχήµα 4.12. Απαριθµητής Johnson των 4 bits: (α) µε FFs τύπου D, (β) µε FFs τύπου JK, (γ) κυµατοµορφές εξόδου. (Στο εσωτερικό κάθε FF φαίνεται η αρχική του κατάσταση). 19
Για να το πετύχουµε αυτό µε τον απαριθµητή Johnson, πρέπει να χρησιµοποιήσουµε ορισµένες πύλες AND για την αποκωδικοποίηση των σηµάτων εξόδου του απαριθµητή. Επειδή η περίοδος των σηµάτων εξόδου είναι 8πλάσια εκείνης των ωρολογιακών παλµών, θα χρειαστούµε 8 πύλες AND και θα δηµιουργήσουµε 8 σήµατα χρονισµού µε το κύκλωµα του Σχήµατος 4.12, το οποίο αποτελείται από 4 FFs. Οι πύλες αποκωδικοποίησης των εξόδων, καθώς και τα συνεπαγόµενα σήµατα χρονισµού δείχνονται στο Σχήµα 4.13. Q3 Q2 Q1 Q0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 Πύλη AND για την αποκωδικοποίηση X 1 = Q3Q0 2 = Q3Q 2 X X 3 = Q2Q1 X 4 = Q1Q 0 X = Q 5 3Q0 X 6 = Q3Q2 X 7 = Q2Q1 X 8 = Q1Q 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 Σχήµα 4.13. Αποκωδικοποίηση των καταστάσεων εξόδου του Σχήµατος 4.12 και κυµατοµορφές εξόδου των πυλών AND. Το συµπέρασµα είναι ότι µε έναν απαριθµητή Johnson των 4 bits καταφέραµε να έχουµε 8 σήµατα χρονισµού, χρησιµοποιώντας φυσικά 8 πύλες AND για την αποκωδικοποίηση των καταστάσεων εξόδου. Γενικά, για την παραγωγή Ν σηµάτων χρονισµού µε έναν απαριθµητή Johnson απαιτούνται Ν/2 FFs και Ν πύλες AND των δύο εισόδων η καθεµιά. ραστηριότητα 2 / Κεφάλαιο 4 Περιγράψτε τη λειτουργία των κυκλωµάτων του Σχήµατος 4.12 ως κυκλικών καταχωρητών, θεωρώντας αρχικά ότι όλα τα FFs έχουν εκκαθαριστεί. ραστηριότητα 3 / Κεφάλαιο 4 Το κύκλωµα του Σχήµατος 4.12(β), όπως και όλα τα κυκλώµατα των καταχωρητών του παρόντος Κεφαλαίου, είναι ένα σύγχρονο ακολουθιακό κύκλωµα. Αναλύστε το σύµφωνα µε αυτά που µάθαµε στο Κεφάλαιο 2. Τι θα συµβεί, αν αυτό βρεθεί στην κατάσταση (Q 3 Q 2 Q 1 Q 0 ) 10 = 2 10 ; 20
Ας µην ξεχνάµε ότι τα κυκλώµατα του Σχήµατος 4.12 µπορούµε να τα δούµε είτε ως καταχωρητές είτε ως απαριθµητές. Στην τελευταία γραµµή του Σχήµατος 4.12(γ) δείχνονται οι καταστάσεις των FFs ως δεκαδικοί αριθµοί, διαπιστώνοντας ότι πράγµατι τα κυκλώµατα αυτά απαριθµούν µη-κανονικά µε κύκλο απαρίθµησης 8. ηλαδή, από τις 16 δυνατές καταστάσεις, τις οποίες µπορούµε να έχουµε µε 4 FFs, εµείς διατρέχουµε µόνο τις 8. Τι γίνεται µε τις υπόλοιπες 8; Τι θα συµβεί, αν το κύκλωµα για κάποιο λόγο (π.χ. κατά την εκκίνηση αυτού µε την εφαρµογή της τάσης τροφοδοσίας) βρεθεί σε µια από τις µη επιτρεπτές καταστάσεις; Η ανάλυση του κυκλώµατος µας δείχνει ότι πράγµατι, αν βρεθεί σε µία από τις µη επιτρεπτές καταστάσεις, αυτό εγκλωβίζεται σε έναν άλλο κύκλο απαρίθµησης των 8 µη επιτρεπτών τιµών, από τον οποίο και δεν µπορεί να βγει από µόνο του (Σχήµα 4.14(α)). Για να απεγκλωβιστεί, θα πρέπει να παρέµβουµε αναγκάζοντάς το να µεταβεί σε µια από τις επιτρεπτές καταστάσεις, όπως δείχνεται για παράδειγµα στο Σχήµα 4.14(β) ή να το κάνουµε CLEAR στην αρχή. Q3 Q2 Q1 Q0 ( 3 QQ 2 1 Q 0 ) 10 Q 2 5 11 6 13 10 4 9 2 5 11 6 13 (α) Q'0 Q'1 Q'2 Προς τις εισόδους των FF2, FF3 PRESET Σχήµα 4.14. (β) (α) Κυµατοµορφές εξόδου του απαριθµητή Johnson του Σχήµατος 4.12, όταν βρεθεί σε µία από τις µη επιτρεπτές καταστάσεις, (β) κύκλωµα για την αποφυγή των µη επιτρεπτών καταστάσεων. Άσκηση αυτοαξιολόγησης 7 / Κεφάλαιο 4 Με FFs τύπου JK αρνητικής ακµής πυροδότησης, σχεδιάστε απαριθµητή Johnson για την παραγωγή 6 σηµάτων χρονισµού. Σχεδιάστε επίσης τις κυµατοµορφές εξόδου του κυκλώµατος. 21
Άσκηση αυτοαξιολόγησης 8 / Κεφάλαιο 4 Με FFs τύπου JK αρνητικής ακµής πυροδότησης, σχεδιάστε απαριθµητή Johnson για την παραγωγή 5 σηµάτων χρονισµού. Σχεδιάστε επίσης τις κυµατοµορφές εξόδου του κυκλώµατος. Σύνοψη Ενότητας Στην ενότητα αυτή ασχοληθήκαµε µε τους κυκλικούς καταχωρητές, δηλαδή τους καταχωρητές ολίσθησης, στους οποίους η έξοδος ανατροφοδοτείται στην είσοδο. Τα κυκλώµατα αυτά χρησιµοποιούνται για την παραγωγή σηµάτων χρονισµού και όχι για την καταχώρηση δεδοµένων. Γι' αυτό και η αντιµετώπισή τους ως κυκλωµάτων απαρίθµησης παλµών µας ήταν πολύ φυσική και η ονοµατολογία τους προέκυψε ως συνδυασµός καταχωρητών και απαριθµητών. Συγκεκριµένα, γνωρίσαµε δύο κατηγορίες κυκλωµάτων, τους απαριθµητές δακτυλίου και τους απαριθµητές Johnson. Στους απαριθµητές δακτυλίου, η είσοδος του πρώτου FF τροφοδοτείται από την έξοδο του τελευταίου FF, ενώ στους απαριθµητές Johnson αυτή τροφοδοτείται από τη συµπληρωµατική έξοδο του τελευταίου FF. Για τη δηµιουργία Ν σηµάτων χρονισµού, χρειαζόµαστε Ν FFs για έναν απαριθµητή δακτυλίου ή Ν/2 FF και Ν πύλες AND για έναν απαριθµητή Johnson. ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ Στο Κεφάλαιο αυτό µελετήσαµε όλα τα είδη των καταχωρητών. Είδαµε ότι οι καταχωρητές, ανεξάρτητα από τον τύπο τους, είναι σύγχρονα ακολουθιακά κυκλώµατα. Οι παράλληλοι και σειριακοί καταχωρητές χρησιµοποιούνται για την προσωρινή αποθήκευση δεδοµένων, ενώ οι κυκλικοί καταχωρητές για τη δηµιουργία σηµάτων χρονισµού. Οι καταχωρητές ολίσθησης χρησιµοποιούνται επίσης και για την υλοποίηση των αριθµητικών πράξεων του πολλαπλασιασµού και της διαίρεσης αριθµών µε δυνάµεις του 2. Οι καταχωρητές παράλληλης-εισόδου-παράλληλης-εξόδου χρησιµοποιούνται για την παράλληλη επικοινωνία ψηφιακών µονάδων, ενώ οι καταχωρητές παράλληληςεισόδου-σειριακής-εξόδου και σειριακής-εισόδου-παράλληλης-εξόδου χρησιµοποιούνται συνήθως για τη σειριακή επικοινωνία ψηφιακών µονάδων. Για τη δηµιουργία σηµάτων χρονισµού, χρησιµοποιούνται κυκλικοί καταχωρητές ολίσθησης, δηλαδή καταχωρητές 22
στους οποίους ανακυκλώνονται κάποια συγκεκριµένα δεδοµένα. Για Ν σήµατα χρονισµού ένας απαριθµητής δακτυλίου θα αποτελείται από Ν FFs, ενώ ένας απαριθµητής Johnson θα αποτελείται από Ν/2 FFs και Ν πύλες AND. ΒΙΒΛΙΟΓΡΑΦΙΑ ΕΛΛΗΝΟΓΛΩΣΣΗ Mano Morris M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 1992. ΞΕΝΟΓΛΩΣΣΗ Daniels J. D., Digital Design from Zero to One, J. Wiley & Sons, 1996. Kleitz W., Digital Electronics: A Practical Approach, 4 th Edition, Prentice Hall, 1996. Malvino A. P., Leach D. P., Digital Principles and Applications, McGraw-Hill, 1986. Tocci R. J., Widmer N. S., Digital Systems: Principles and Applications, Prentice Hall, 1998. Ο ΗΓΟΣ ΠΕΡΑΙΤΕΡΩ ΜΕΛΕΤΗΣ Malvino A. P., Leach D. P., Digital Principles and Applications, McGraw-Hill, 1986. Στο Κεφάλαιο 10 του βιβλίου γίνεται µια λεπτοµερής περιγραφή όλων των τύπων των καταχωρητών ολίσθησης, µε εκτενή αναφορά σε ολοκληρωµένα κυκλώµατα που κυκλοφορούν στο εµπόριο. Mano Morris M., Ψηφιακή Σχεδίαση, Εκδόσεις Παπασωτηρίου, 1992. Στο Κεφάλαιο 7 του βιβλίου µπορείτε να βρείτε µια καλή περιγραφή όλων των καταχωρητών. Kleitz W., Digital Electronics: A Practical Approach, 4 th Edition, Prentice Hall, 1996. Το Κεφάλαιο 13 του βιβλίου είναι αφιερωµένο στους καταχωρητές ολίσθησης. Παρατίθενται πολλά παραδείγµατα µε πολλά διαγράµµατα χρονισµού και δίνονται ορισµένα πρακτικά κυκλώµατα για διαφορετικές εφαρµογές. 23
ΑΠΑΝΤΗΣΕΙΣ ΑΣΚΗΣΕΩΝ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ Απάντηση άσκησης αυτοαξιολόγησης 1 / Κεφάλαιο 4 Αφού στον καταχωρητή είναι αποθηκευµένη η λέξη 1010 και η σειριακή είσοδος είναι στο λογικό 0, περιµένουµε µε κάθε αρνητική ακµή του ωρολογιακού παλµού να ολισθαίνει ο αριθµός κατά µία θέση προς τα δεξιά και να χάνεται το δεξιό ψηφίο, ενώ το πρώτο ψηφίο να "γεµίζει" µε 0. Αυτό παραστατικά δείχνεται στο Σχήµα 4.15(α), ενώ οι κυµατοµορφές εισόδου-εξόδου δείχνονται στο Σχήµα 4.15(β). Ο καταχωρητής, στον οποίο αναφερόµαστε, είναι εκείνος του Σχήµατος 4.2(α). Αρχικά 1ος 2ος 3ος 4ος Αρχικά 1ος παλµός Q0 Q1 Q2 Q3 1 0 1 0 0 1 0 1 Είσοδος Q0 1 0 1 2ος παλµός 0 0 1 0 Q1 0 3ος παλµός 0 0 0 1 Q2 1 4ος παλµός 0 0 0 0 Έξοδος Q3 0 (α) (β) Σχήµα 4.15. Ολίσθηση προς τα δεξιά του αριθµού 1010 σε καταχωρητή ολίσθησης των 4 bits. Αν οι κυµατοµορφές εξόδου, που σχεδιάσατε, συµφωνούν µε αυτές του Σχήµατος 4.15β, τότε µπράβο σας. Έχετε κατανοήσει τον τρόπο λειτουργίας του καταχωρητή σειριακής εισόδου σειριακής εξόδου. Αν πάλι δεν τα καταφέρατε, µην απογοητευθείτε. ιαπιστώνετε και µόνοι σας ότι πρόκειται για απλές έννοιες και απλά κυκλώµατα, τα οποία όµως µας δυσκολεύουν, όταν προσπαθούµε να αναλύσουµε µε ακρίβεια τη λειτουργία τους. Μελετήστε και πάλι την υποενότητα 4.1.1. Στη συνέχεια επιχειρήστε να σχεδιάσετε τις κυµατοµορφές εξόδου αρχίζοντας από τους ωρολογιακούς παλµούς (), τη σειριακή είσοδο (η οποία είναι συνεχώς στο λογικό 0) και την κατάσταση των FFs στη διάρκεια του 1 ου παλµού, και µάλιστα πριν αυτά ενεργοποιηθούν µε την πρώτη αρνητική ακµή. Παρατηρήστε ότι στις εξόδους των FFs φαίνεται η λέξη Q 0 Q 1 Q 2 Q 3 =1010. Με την έλευση της αρνητικής (ενεργού) ακµής, κάθε FF θα περάσει 24
στην έξοδό του ό,τι βλέπει στην είσοδό του τη στιγµή εκείνη. Έτσι, το FF 0 βλέπει το 0 της σειριακής εισόδου και το περνάει στην έξοδο, δηλαδή Q 0 =0. Την ίδια στιγµή, το FF 1 βλέπει το 1 της Q 0 και το περνάει στην έξοδο, δηλαδή Q 1 =1. Προσοχή, αναφερόµαστε στην αρνητική ακµή του 1 ου παλµού και µάλιστα στα αριστερά αυτής, δηλαδή στην κατάσταση των FFs µόλις πριν την έλευση της αρνητικής ακµής! Συνεχίζουµε µε τον ίδιο τρόπο και για τις υπόλοιπες εξόδους Q. Ολοκληρώστε και ξαναπροσπαθήστε για την περίπτωση που η σειριακή είσοδος είναι µόνιµα στο λογικό 1. Απάντηση άσκησης αυτοαξιολόγησης 2 / Κεφάλαιο 4 Αν δεν υπήρχε η είσοδος CLEAR, η οποία, όταν γίνεται 0, προκαλεί την εκκαθάριση όλων των FFs, τότε το διάγραµµα θα ήταν ίδιο µε εκείνο του Σχήµατος 4.2(δ). Η εµφάνιση του λογικού 0 στην είσοδο CLEAR συνεπάγεται την άµεση (ασύγχρονη) εκκαθάριση του καταχωρητή, όπως φαίνεται στο Σχήµα 4.16. Είσοδος D0 1 0 CLEAR Q0 Q1 Q2 Q3 Σχήµα 4.16. Κυµατοµορφές εισόδου-εξόδου καταχωρητή σειριακής-εισόδου-παράλληλης-εξόδου των 4 bits. Παρατηρούµε ότι ο πρώτος παλµός εκκαθάρισης (CLEAR =0) εφαρµόστηκε κατά τη διάρκεια που ο ωρολογιακός παλµός ήταν ίσος µε 1 (=1), ενώ ο δεύτερος κατά τη διάρκεια που ο ωρολογιακός παλµός ήταν ίσος µε 0 (=0). Το αποτέλεσµα και στις δύο περιπτώσεις είναι το ίδιο: η άµεση εκκαθάριση όλων των FFs. Αν καταφέρατε να σχεδιάσετε τις σωστές κυµατοµορφές, τότε σας αξίζουν συγχαρητήρια. Αν πάλι αυτό δεν έγινε, τότε επαναλάβετε τη µελέτη της υποενότητας 4.1.1 και την άσκηση 25
αυτοαξιολόγησης 1 / Κεφάλαιο 4 και ξαναπροσπαθήστε. Είναι θέµα χρόνου εξοικειωθείτε µε τον τρόπο λειτουργίας των καταχωρητών αυτών. να Απάντηση άσκησης αυτοαξιολόγησης 3 / Κεφάλαιο 4 ιαπιστώνουµε ότι η άσκηση αυτή µας αναγκάζει να εξετάσουµε µια διαφορετική παράµετρο των καταχωρητών. εν µας ζητάει τις κυµατοµορφές εξόδου, αλλά το συνολικό χρόνο για τη σειριακή µεταφορά (φόρτωση ή ανάγνωση) ενός αριθµού των 8 bits. Έτσι λοιπόν για τη σειριακή µεταφορά ενός 8 bit αριθµού απαιτούνται 8 ωρολογιακοί παλµοί. Αφού η περίοδος των ωρολογιακών παλµών είναι 100ns, απαιτείται χρόνος τουλάχιστον 800ns. Αν δεν βρήκατε το σωστό αποτέλεσµα, εξετάστε και πάλι το Σχήµα 4.2δ και δείτε πόσους ωρολογιακούς παλµούς χρειάζεται ένα δεδοµένο, το οποίο εισάγεται στο FF 0 για να φτάσει στο FF 3. Θα διαπιστώσετε ότι χρειάζεται 4 ωρολογιακούς παλµούς. Κατ αντιστοιχία, αν επρόκειτο για καταχωρητή των 8 bits, 8 ωρολογιακοί παλµοί θα ήταν απαραίτητοι. Και αφού η περίοδος των παλµών είναι 100ns, ο συνολικός χρόνος που απαιτείται είναι 800ns. Απάντηση άσκησης αυτοαξιολόγησης 4 / Κεφάλαιο 4 Το κύκλωµα ενός καταχωρητή παράλληλης-εισόδου-παράλληλης-εξόδου των 4 bits µε FFs τύπου D δείχνεται στο Σχήµα 4.17(α), ενώ στο Σχήµα 4.17(β) δείχνεται ένα µόνο από τα FFs µε τις αντίστοιχες πύλες που επηρεάζουν την είσοδό του. Η κύρια διαφορά µεταξύ αυτού και του καταχωρητή του Σχήµατος 4.7 είναι η προσθήκη µιας πύλης OR µετά από τις πύλες AND. Ο συνδυασµός των δύο πυλών AND και της πύλης OR, λαµβάνοντας φυσικά υπόψη µας και την ύπαρξη της πύλης ΝΟΤ µετά την είσοδο L, αποτελεί ουσιαστικά ένα κύκλωµα πολυπλέκτη 2 εισόδων σε 1. Έτσι, όταν E=1, γίνεται και πάλι η παράλληλη είσοδος των δεδοµένων I i, i=0,1,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
E I0 S G 0 R G 0 G 0 D 0 Q 0 D 1 Q 1 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.17. CLEAR (β) (α) Καταχωρητής παράλληλης-εισόδου-παράλληλης-εξόδου των 4 bits µε FFs τύπου D, (β) ένα από τα FFs µε τις πύλες εισόδου του. Αν απαντήσατε σωστά, τότε σας αξίζουν συγχαρητήρια. Ήταν µια δύσκολη άσκηση, αφού έπρεπε να σκεφτούµε το θέµα της ανατροφοδότησης των εξόδων Q i στις εισόδους D i µέσω του αντίστοιχου συνδυαστικού κυκλώµατος AND-OR. Αν από την άλλη πλευρά δεν τα καταφέρατε, µην απογοητευθείτε. Αυτή δεν είναι από τις εύκολες ασκήσεις, όπως ήδη το έχουµε αναφέρει. Προσπαθήστε να την κατανοήσετε, αφού πρώτα σιγουρευτείτε ότι έχετε εµπεδώσει τον τρόπο λειτουργίας του κυκλώµατος του Σχήµατος 4.7. Απάντηση άσκησης αυτοαξιολόγησης 5 / Κεφάλαιο 4 Αρχίζουµε την ανάλυση της λειτουργίας του κυκλώµατος (Σχήµα 4.10) από τα πλέον προφανή. Έτσι, η είσοδος Χ 1 βλέπουµε ότι συνδέεται στις εισόδους CLEAR όλων των FFs και άρα αποτελεί την είσοδο άµεσου (ασύγχρονου) µηδενισµού αυτών. Είναι 27
φανερό, επίσης, ότι στην είσοδο Χ 2 θα πρέπει να συνδεθούν οι ωρολογιακοί παλµοί για τη σύγχρονη λειτουργία του κυκλώµατος. Η συστοιχία αυτών των τεσσάρων FFs µας θυµίζει τον καταχωρητή παράλληλης-εισόδου-παράλληλης-εξόδου του Σχήµατος 4.6. Πράγµατι πρόκειται για έναν καταχωρητή παράλληλης-εισόδου-παράλληλης-εξόδου (Q i, i=0,1,2,3 οι έξοδοι αυτού). Κάθε είσοδος D i όµως τροφοδοτείται από την έξοδο ενός πολυπλέκτη 4-σε-1. Και οι τέσσερεις πολυπλέκτες ελέγχονται από τα ίδια σήµατα Ε 1, Ε 0. Ας δούµε λοιπόν τι συµβαίνει για τις διαφορετικές τιµές των εισόδων Ε 1, Ε 0. Για Ε 1 =Ε 0 =1, η είσοδος 3 του κάθε πολυπλέκτη "διοχετεύεται" στην έξοδό του. Άρα D i =I i και συνεπώς έχουµε έναν καταχωρητή παράλληλης-εισόδουπαράλληλης-εξόδου. Για Ε 1 =1, Ε 0 =0, η είσοδος 2 του κάθε πολυπλέκτη "διοχετεύεται" στην έξοδό του. Η είσοδος 2, όµως, οδηγείται από την έξοδο του FF i+1, που βρίσκεται στα δεξιά του FF i που εξετάζουµε, δηλαδή D i =Q i+1. Για την περίπτωση του FF 3, επειδή στα δεξιά του δεν υπάρχει άλλο FF, η είσοδος 2 αποτελεί ουσιαστικά τη σειριακή είσοδο του κυκλώµατος. Άρα, στην περίπτωση αυτή έχουµε έναν καταχωρητή σειριακής ολίσθησης των δεδοµένων προς τα αριστερά. Χ 4 είναι η σειριακή είσοδος και Q 0 είναι η σειριακή έξοδος. Επίσης, υπάρχει η δυνατότητα παράλληλης εξόδου των δεδοµένων, αφού οι έξοδοι Q i των FFs είναι διαθέσιµες. Για Ε 1 =0, Ε 0 =1, η είσοδος 1 του κάθε πολυπλέκτη "διοχετεύεται" στην έξοδό του και κατά συνέπεια στην αντίστοιχη είσοδο του D FF. Η είσοδος 1, όµως, τροφοδοτείται από την έξοδο του FF i-1, που βρίσκεται στα αριστερά του FF i, δηλαδή D i =Q i-1. Για την περίπτωση του FF 0, το οποίο δεν έχει άλλο προς τα αριστερά του, το σήµα X 3 αποτελεί και τη σειριακή είσοδο αυτού. Άρα, στην περίπτωση αυτή έχουµε έναν καταχωρητή ολίσθησης των δεδοµένων προς τα δεξιά. Χ 3 είναι η σειριακή είσοδος και Q 3 η σειριακή έξοδος του καταχωρητή. Και αφού οι έξοδοι Q i όλων των FFs είναι διαθέσιµες, καταλαβαίνουµε ότι το κύκλωµα έχει επιπλέον τη δυνατότητα παράλληλης εξόδου των δεδοµένων. Τέλος, για Ε 1 =Ε 0 =0, η είσοδος 0 κάθε πολυπλέκτη "διοχετεύεται" στην έξοδό του. Και επειδή στην είσοδο 0 συνδέεται η έξοδος του αντίστοιχου FF, θα έχουµε D i =Q i. ηλαδή, ο καταχωρητής διατηρεί τα δεδοµένα που υπάρχουν αποθηκευµένα σ' αυτόν. Συµπεραίνουµε, εποµένως, ότι το κύκλωµα του Σχήµατος 4.10 είναι ένας καταχωρητής που συνδυάζει τις δυνατότητες όλων των τύπων καταχωρητών που 28
γνωρίσαµε στην ενότητα 4.1. Πρόκειται, δηλαδή, για έναν αµφίδροµο καταχωρητή παράλληλης-εισόδου-παράλληλης-εξόδου, µε δυνατότητα σειριακής ολίσθησης προς τα δεξιά και προς τα αριστερά. Αν προσδιορίσατε το σωστό τρόπο λειτουργίας του κυκλώµατος, τότε έχετε κατανοήσει απόλυτα τους καταχωρητές και µπορείτε να συνεχίσετε τη µελέτη του υπόλοιπου κεφαλαίου. Αν πάλι αυτό δεν έγινε, τότε φαίνεται πως θα πρέπει να επαναλάβετε την ενότητα 4.1 και ειδικότερα την υποενότητα 4.1.4. Απαραίτητη, επίσης για την άσκηση αυτή είναι η εξοικείωση µε τον τρόπο λειτουργίας των πολυπλεκτών. Ανατρέξτε στο βιβλίο της Ψηφιακής Σχεδίασης Ι, όπου περιγράφονται τα αντίστοιχα συνδυαστικά Κυκλώµατα. Απάντηση άσκησης αυτοαξιολόγησης 6 / Κεφάλαιο 4 Με δύο FFs µπορούµε να κατασκευάσουµε έναν απαριθµητή mod-4, πράγµα που το χρειαζόµαστε, αφού όλες οι κυµατοµορφές του Σχήµατος 4.11(γ) έχουν περίοδο 4πλάσια αυτής των ωρολογιακών παλµών. Αυτό που µένει είναι να προτείνουµε κύκλωµα, το οποίο να δίνει λογικό 1 µόνο µία φορά στη διάρκεια των τεσσάρων παλµών του ρολογιού. Με άλλα λόγια, χρειαζόµαστε έναν αποκωδικοποιητή 2 γραµµών σε 4. Το κύκλωµα που προκύπτει δίνεται στο Σχήµα 4.18(α). Q0 Q1 Q2 Q3 Αποκωδικοποιητής 2-σε-4 Α0 Α0 Α1 Α1 Απαριθµητής mod-4 (β) (α) Q0 Q1 Q2 Q3 Α'1Α'0 Α'1Α0 Α1Α'0 Α1Α0 (γ) Σχήµα 4.18. (α) Συνδυασµός απαριθµητή και αποκωδικοποιητή για τη δηµιουργία 4 σηµάτων χρονισµού, (β) Κυµατοµορφές εξόδου του απαριθµητή, (γ) Ο αποκωδικοποιητής 2-σε-4. 29
Ο απαριθµητής αποτελείται από 2 FFs. Αν αυτά είναι τύπου JK αρνητικής ακµής πυροδότησης, τότε J 0 =K 0 =1 και J 1 =K 1 =Α 0, όπου Α 0, Α 1 οι έξοδοι των FFs, µε Α 0 το LSB. Οι κυµατοµορφές εξόδου δείχνονται στο Σχήµα 4.18(β). Ο αποκωδικοποιητής 2 γραµµών σε 4 αποτελείται ουσιαστικά από 4 πύλες AND, όπως δείχνεται στο Σχήµα 4.18(γ). Παρατηρούµε ότι για τη δηµιουργία 4 σηµάτων χρονισµού χρειαστήκαµε 2 FFs και 4 πύλες AND των 2 εισόδων η καθεµιά. Ο αντίστοιχος απαριθµητής δακτυλίου αποτελείται από 4 FFs µόνο (Σχήµα 4.11). Αν δεν καταφέρατε να απαντήσετε σωστά αυτή την άσκηση, µην απογοητευθείτε. εν πρόκειται για κάποιο πολύπλοκο κύκλωµα, αλλά απλά έχει την ιδιαιτερότητα ότι απαιτεί το συνδυασµό δύο διαφορετικών τύπων κυκλωµάτων, δηλαδή ενός συνδυαστικού (του αποκωδικοποιητή) και ενός ακολουθιακού (δηλαδή του απαριθµητή). Ανατρέξτε στο βιβλίο της Ψηφιακής Σχεδίασης Ι, για να ξαναθυµηθείτε τους αποκωδικοποιητές, καθώς και στο Κεφάλαιο 3 του παρόντος βιβλίου, για να ξαναθυµηθείτε τους απαριθµητές. Κατόπιν, προσπαθήστε και πάλι να λύσετε την άσκηση. Τη φορά αυτή δοκιµάστε να σχεδιάσετε το κύκλωµα για τη δηµιουργία 8 σηµάτων χρονισµού. Είναι φανερό ότι στην περίπτωση αυτή θα χρειαστείτε 3 FFs και έναν αποκωδικοποιητή 3-σε-8. Απάντηση άσκησης αυτοαξιολόγησης 7 / Κεφάλαιο 4 Εφόσον πρέπει να δηµιουργήσουµε 6 σήµατα χρονισµού, θα χρειαστούµε 3 FFs για το κύκλωµα του απαριθµητή Johnson. Το κύκλωµα αυτό δείχνεται στο Σχήµα 4.19(α) και οι αντίστοιχες κυµατοµορφές εξόδου στο Σχήµα 4.19(β). Για την παραγωγή των τελικών 6 σηµάτων χρονισµού θα χρησιµοποιήσουµε επιπλέον 6 πύλες AND των δύο εισόδων η καθεµιά, κατ' αντιστοιχία µε την περίπτωση του Σχήµατος 4.13. Αν συµβολίσουµε µε X 1, X 2, X 3, X 4, X 5, X 6 καθεµία από τις πύλες AND, τότε θα έχουµε X 1 =Q 2 Q 0, X 2 =Q 2 Q 1, X 3 =Q 1 Q 0, X 4 =Q 2 Q 0, X 5 =Q 2 Q 1 και X 6 =Q 1 Q 0. Αν απαντήσατε σωστά, τότε έχετε κατανοήσει τον απαριθµητή Johnson. Συγχαρητήρια. Αν όµως δεν δώσατε τη σωστή απάντηση, τότε θα πρέπει να ξαναπροσπαθήσετε. Μελετήστε και πάλι την υποενότητα 4.2.2, επιµένοντας στην κατανόηση των κυµατοµορφών 4.12γ και 4.13. 30
J2 Q2 J1 Q1 J0 Q0 K2 Q'2 K1 Q'1 K0 Q'0 (α) Q2 Q1 Q0 (β) Σχήµα 4.19. (α) Απαριθµητής Johnson για τη δηµιουργία 6 σηµάτων χρονισµού, (β) κυµατοµορφές εξόδου του απαριθµητή. Απάντηση άσκησης αυτοαξιολόγησης 8 / Κεφάλαιο 4 Για τη δηµιουργία 5 σηµάτων χρονισµού χρησιµοποιούµε µια παραλλαγή του απαριθµητή Johnson για 6 σήµατα χρονισµού, στον οποίο αντί να τροφοδοτήσουµε την είσοδο Κ του πρώτου FF από την έξοδο του τελευταίου FF, την τροφοδοτούµε από την έξοδο του προτελευταίου. Στο συµπέρασµα αυτό καταλήξαµε µε τη βοήθεια του Σχήµατος 4.19 για την περίπτωση του απαριθµητή Johnson για 6 σήµατα χρονισµού. Εκεί παρατηρούµε ότι, εάν το Q 2 γίνει 0 κατά µία περίοδο του ρολογιού νωρίτερα, τότε το Q 1 γίνεται και αυτό 0 κατά µία περίοδο του ρολογιού νωρίτερα, όπως τελικά και το Q 0. Αυτό σηµαίνει ότι τα Q 2, Q 1, Q 0 είναι όλα 1 µόνο για δύο περιόδους του ρολογιού, αλλά εξακολουθούν να είναι 0 για τρεις περιόδους του ρολογιού. Εποµένως, ο απαριθµητής διαιρεί τώρα δια 5 και όχι δια 6, όπως προηγουµένως. Άρα, χρειάζεται να τροφοδοτήσουµε την είσοδο Κ2 του πρώτου αριστερά FF από την έξοδο του προτελευταίου FF, αντί του τελευταίου. Το κύκλωµα και οι κυµατοµορφές εξόδου δείχνονται στο Σχήµα 4.20. Οι 5 πύλες AND, που χρειάζονται για την τελική παραγωγή των 5 σηµάτων χρονισµού, είναι οι X 1, X 2, X 3, X 4, X 5, όπου X 1 =Q 2 Q 0, X 2 =Q 2 Q 1, X 3 =Q 1 Q 0, X 4 =Q 1 Q 0, X 5 =Q 1 Q 0. Γενικά, το κύκλωµα για τη δηµιουργία Ν-1 σηµάτων χρονισµού, όπου Ν άρτιος, προκύπτει από το αντίστοιχο κύκλωµα δηµιουργίας Ν σηµάτων, τροφοδοτώντας, όµως, 31
την είσοδο Κ του πρώτου FF από την έξοδο Q του προτελευταίου FF, αντί του τελευταίου FF. J2 Q2 J1 Q1 J0 Q0 K2 Q'2 K1 Q'1 K0 Q'0 (α) Q2 Q1 Q0 (β) Σχήµα 4.20. (α) Απαριθµητής 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