ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 ii: Μετρητές Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μετρητής Ριπής Περίληψη Σύγχρονος υαδικός Μετρητής Σχεδιασµός µε Flip-Flops Σχεδιασµός µε - Flip-Flops Σειριακοί και Παράλληλοι Μετρητές υαδικός Μετρητής Πάνω-κάτω (Up-down) υαδικός Μετρητής µε Παράλληλη Φόρτωση Μετρητής, Μετρητές τυχαίων ακολουθιών Μετρητές σε VHL Κεφάλαιο 7-ii: Μετρητές MM - 2 Μετρητές (ounters) Ένας µετρητής είναι ένας καταχωρητής που «µετρά» µια προκαθορισµένη ακολουθία καταστάσεων, βάση της εφαρµογής παλµών του ρολογιού. Οι µετρητές κατηγοριοποιούνται σε: Μετρητές Ριπής: Το ρολόι του συστήµατος ενώνεται στην είσοδο ρολογιού του LS FF. Για τα υπόλοιπα FFs, η έξοδος ενός FF ενώνεται στην είσοδο ρολογιού του επόµενου σηµαντικού FF. εν υπάρχει κοινό ρολόι. Χαµηλή κατανάλωση ισχύος Σύγχρονους Μετρητές: Όλα τα FFs έχουν κοινό ρολόι Χρήση λογικής για υλοποίηση της επόµενης κατάστασης. Κεφάλαιο 7-ii: Μετρητές MM - 3 Μετρητής Ριπής (Ripple ounter) Πως δουλεύει; Στην θετική ακµή στην είσοδο του ρολογιού του Α, το Α συµπληρώνεται Η είσοδος ρολογιού για το είναι το συµπλήρωµα της εξόδου του Όταν ένα FF αλλάξει από σε (αρνητική ακµή), υπάρχει θετική ακµή ( σε ) στην είσοδο ρολογιού του Β, προκαλώντας το Β να συµπληρωθεί Προς-τα-πάνω (upward counting). Γιατί; Reset R R Κεφάλαιο 7-ii: Μετρητές MM - 4 2 3 Μετρητής Ριπής (συν.) Τα βέλη δείχνουν την σχέση αιτίαςαποτελέσµατος P από την προηγούµενη διαφάνεια Η αντίστοιχη ακολουθία καταστάσεων είναι: 2 3 (,) = (,), (,), (,), (,), (,), (,), Κάθε επιπρόσθετο bit,,, συµπεριφέρεται όπως το bit, αλλάζοντας 5% λιγότερο συχνά από το προηγούµενο bit. Για 3 bits: (,,) = (,,), (,,), (,,), (,,), (,,), (,,), (,,), (,,), (,,), Κεφάλαιο 7-ii: Μετρητές MM - 5 Μετρητής Ριπής (συν.) Τα βέλη δείχνουν την σχέση αιτίαςαποτελέσµατος P από την προηγούµενη διαφάνεια Η αντίστοιχη ακολουθία καταστάσεων είναι: (,) = (,), (,), -to-output καθυστέρηση. Πόση είναι, για n-ffs; ripple effect 2 3 (,), (,), (,), (,), Κάθε επιπρόσθετο bit,,, συµπεριφέρεται όπως το bit, αλλάζοντας 5% λιγότερο συχνά από το προηγούµενο bit. Για 3 bits: (,,) = (,,), (,,), (,,), (,,), (,,), (,,), (,,), (,,), (,,), Κεφάλαιο 7-ii: Μετρητές MM - 6 Κεφάλαιο 7-ii: Μετρητές
Άλλο παράδειγµα: Μετρητής Ριπής προς-τα-πάνω 4ων-bit, µε FFs == Q i (t+) = Q i (t) FFs είναι αρνητικά ακµοπυροδοτούµενα Θυµηθείτε... Λειτουργία: Παράδειγµα (συν.) Το λιγότερο σηµαντικό bit (Q ) συµπληρώνεται σε κάθε αρνητική ακµή του ρολογιού του συστήµατος. Κάθε φορά του το Q αλλάζει από σε, το Q συµπληρώνεται. Κάθε φορά του το Q αλλάζει από σε, το συµπληρώνεται. Κάθε φορά του το αλλάζει από σε, το συµπληρώνεται, Κεφάλαιο 7-ii: Μετρητές MM - 7 Κεφάλαιο 7-ii: Μετρητές MM - 8 Μετρητής Ριπής προς-τα-κάτω 4ων-bit µε -FFs Χρησιµοποιήστε ασύγχρονο Set (ή Preset) (S) για να ξεκινήσει από. Εναλλακτικοί σχεδιασµοί: Αλλαγή της ακµοπυροδότησης σε θετική Ένωση της συµπληρωµένης εξόδου του κάθε FF στην είσοδο ρολογιού του επόµενου σηµαντικού FF στη σειρά Κεφάλαιο 7-ii: Μετρητές MM - 9 Μετρητής Ριπής προς-τα-κάτω 4ων-bit µε -FFs -- VHL Θετικά ακµοπυρυδοτούµενα FFs µε ασύγχρονο reset Q(t) Κεφάλαιο 7-ii: Μετρητές MM - Q(t+) Μετρητής Ριπής προς-τα-κάτω 4ων-bit µε -FFs - VHL (συν.) Προσοµοίωση Κεφάλαιο 7-ii: Μετρητές MM - Κεφάλαιο 7-ii: Μετρητές MM - 2 Κεφάλαιο 7-ii: Μετρητές 2
Synchronous inary ounters) Για εξουδετέρωση του προβλήµατος του «ripple effect» χρησιµοποιείται κοινό ρολόι για όλα τα FFs και ένα συνδυαστικό µέρος του κυκλώµατος για παραγωγή της επόµενης κατάστασης Για ένα µετρητή προς τα πάνω χρήση συνδυαστικού Incrementer Incrementer 3 S3 2 S2 S S 3 Q3 2 Q2 Q Q Κεφάλαιο 7-ii: Μετρητές MM - 3 Serial Gating Εσωτερική λογική OR συµπληρώνει ή Incrementer κρατά το κάθε bit ανάλογα ount enable EN Αλυσίδα από N συµπληρώνει ένα bit εάν όλα τα bits από το LS µέχρι το τρέχον είναι ount Enable Θέτει όλες τις εξόδους των N σε για να «κρατήσει» την παρούσα κατάσταση arry Out Κοµµάτι του Incrementer Q Q Ενώνεται στο ount Enable του επόµενου µετρητή 4-bit arry output O. για δηµιουργία µεγαλύτερων Κεφάλαιο 7-ii: Μετρητές (a) Logic iagram-serial Gating MM - 4 µετρητών Serial Gating (συν.) Εσωτερική λογική OR συµπληρώνει ή Incrementer Q (t+)=q (t) EN κρατά το κάθε bit ανάλογα ount enable EN Αλυσίδα από N Q συµπληρώνει ένα bit εάν όλα τα bits από Q (t+)=q (t) (EN Q (t)) το LS µέχρι το τρέχον είναι Q ount Enable (t+)= (t) (EN Q (t) Q (t)) Θέτει όλες τις εξόδους των N σε για να «κρατήσει» την παρούσα κατάσταση (t+)= (t) (EN Q (t) Q (t) (t)) arry Out Κοµµάτι του Incrementer Ενώνεται στο ount Enable του επόµενου µετρητή 4-bit arry output O. για δηµιουργία µεγαλύτερων Κεφάλαιο 7-ii: Μετρητές (a) Logic iagram-serial Gating MM - 5 µετρητών Parallel Gating Αλυσίδα του arry ( ιαφάνειες 4-5) Σειρά από πύλες N µέσα από την οποία περνά το carry ( ripples ) ίνει µεγάλες καθυστερήσεις Ονοµάζεται «serial gating» Αντικατάσταση της N αλυσίδας του carry µε πύλες N παράλληλα ===> Μειώνει τις καθυστερήσεις µονοπατιών Ονοµάζεται «parallel gating» Παρόµοιο µε «carry lookahead» Το lookahead χρησιµοποιείται στα Os και ENs για αποτροπή δηµιουργίας µεγάλων µονοπατιών σε µεγαλύτερους µετρητές Πλεονέκτηµα γιαparallel gating: πιο γρήγορο σε κάποιες περιπτώσεις ( ) TR 4 EN Q Q O Symbol Logic iagram-parallel Gating Κεφάλαιο 7-ii: Μετρητές MM - 6 EN Q Q 2 3 O (συν.) : Σχεδιασµός µε - FFs για Up ounter 4ων-bit Η διαδικασία σχεδιασµού για ένα δυαδικό µετρητή είναι η ίδια µε αυτή για ένα τυχαίο σύγχρονο ακολουθιακό κύκλωµα. Οι είσοδοι του κυκλώµατος είναι το ρολόι (L) και άλλα απαραίτητα σήµατα ελέγχου (EN, Load, κτλ). Οι έξοδοι του κυκλώµατος είναι οι έξοδοι των FF (παρούσα κατάσταση). Συνήθως, οι πιο αποτελεσµατικές υλοποιήσεις χρησιµοποιούν T-FFs ή -FFs. Κεφάλαιο 7-ii: Μετρητές MM - 7 Κεφάλαιο 7-ii: Μετρητές MM - 8 Κεφάλαιο 7-ii: Μετρητές 3
: Σχεδιασµός µε - FFs για Up ounter 4ων-bit (συν.) : Σχεδιασµός µε - FFs για Up ounter 4ων-bit (συν.) Κεφάλαιο 7-ii: Μετρητές MM - 9 Κεφάλαιο 7-ii: Μετρητές MM - 2 : Σχεδιασµός µε - FFs για Up ounter 4ων-bit (συν.) : Σχεδιασµός µε - FFs για Up ounter 4ων-bit (συν.) Q Q = Q = Συγκρίνετε µε τον µετρητή της διαφ. 4! Q Q = Q Q = Q Q2 = Q Q Q2 = Q Q Κεφάλαιο 7-ii: Μετρητές MM - 2 Q3 = Q Q Q3 = Q Q L Κεφάλαιο 7-ii: Μετρητές MM - 22 : Σχεδιασµός µε - FFs για Up ounter 4ων-bit µε EN και O EN = σήµα ενεργοποίησης, όταν είναι ο µετρητής διατηρεί την παρούσα κατάσταση, όταν είναι µετρά Σύγχρονος υαδικός Μετρητής προς-τα-πάνω 4ων-bit σε VHL O = σήµα εξόδου carry, χρησιµοποιείται για την κατασκευή µεγαλύτερων µετρητών Q = EN Q = EN Q = Q EN Q = Q EN Q2 = Q Q EN Q2 = Q Q EN Q3 = Q Q EN Q3 = Q Q EN = Q Q EN Κεφάλαιο 7-ii: Μετρητές MM - 23 RESET Κεφάλαιο 7-ii: Μετρητές MM - 24 Κεφάλαιο 7-ii: Μετρητές 4
Σύγχρονος υαδικός Μετρητής προς-τα-πάνω 4ων-bit σε VHL -- Προσοµοίωση υαδικός Μετρητής Πάνω-Κάτω clock U n-bit Up-own ounter Q Q Q n- U = : µετρά προς τα πάνω U = : µετρά προς τα κάτω Κεφάλαιο 7-ii: Μετρητές MM - 25 Κεφάλαιο 7-ii: Μετρητές MM - 26 υαδικός Μετρητής Πάνω-Κάτω (συν.) υαδικός Μετρητής Πάνω-Κάτω (συν.) U Q2 Q Q Q2. Q. Q. Up-ounter U Q2 Q Q Q2. Q. Q. own-ounter U Q2 Q Q Συµπληρώστε τον Κ-χάρτη για Q2., Q., και Q., απλοποιείστε, και βρείτε το λογικό διάγραµµα µε (a) -FFs και (b) T-FFs Κεφάλαιο 7-ii: Μετρητές MM - 27 Κεφάλαιο 7-ii: Μετρητές MM - 28 Πρόσθεση µονοπατιού για δεδοµένα εισόδων Ενεργοποιείται για Load = Πρόσθεση λογικής για: Παύση µέτρησης για Load = Παύση κράτησης παρούσας κατάστασης για Load = Ενεργοποίηση µέτρησης για Load = και ount = Ο πίνακας λειτουργίας: Load ount υαδικός Μετρητής Παράλληλης Φόρτωσης Λειτουργία Κράτηση παρούσας κατ. Μέτρηση προς τα πάνω Παράλληλη Φόρτωση arry Κεφάλαιο 7-ii: Μετρητές MM -Output 29 O Load ount 2 3 Q Q Ένας δυαδικός µετρητής µε παράλληλη φόρτωση µπορεί να µετατραπεί σε ένα σύγχρονο µετρητή µε µία µόνο επιπρόσθετη πύλη N. Εξηγείστε πως λειτουργεί αυτό το κύκλωµα Μετρητής Κεφάλαιο 7-ii: Μετρητές MM - 3 Κεφάλαιο 7-ii: Μετρητές 5
Μετρητής (συν.) Ο µετρητής ξεκινά µε έξοδο =. Εάν η έξοδος της N είναι, σε κάθε θετικό παλµό του ρολογιού η τιµή του µετρητή αυξάνεται κατά. Όταν η έξοδος γίνει, Q και γίνονται, κάνοντας την έξοδο της N ίση µε. Αυτή η κατάσταση ενεργοποιεί το Load, έτσι στον επόµενο παλµό µετρητής δεν µετρά, αλλά φορτώνει από τις τέσσερις εισόδους δεδοµένων. Η τιµή που φορτώνεται είναι. Κεφάλαιο 7-ii: Μετρητές MM - 3 Μετρητή Χρήση ακολουθιακού λογικού µοντέλου για το σχεδιασµό σύγχρονου µετρητή µε flip-flops Πίνακας Καταστάσεων => Συνδυασµοί εισόδων µέχρι είναι συνδυασµοί αδιαφορίας (don t cares) Παρούσα Κατ. Q8 Q4 Q2 Q Επόµενη Κατ. Q8 Q4 Q2 Q Κεφάλαιο 7-ii: Μετρητές MM - 32 Μετρητή (συν.) Χρήση -χαρτών για δυεπίπεδη ελαχιστοποίηση για βελτιστοποίηση των εξισώσεων της επόµενης κατάστασης: = Q 2 = Q2 QQ8 4 = Q4 QQ2 8 = Q8 (QQ8 + QQ2Q4) Το λογικό διάγραµµα µπορεί να παραχθεί από τις πιο πάνω εξισώσεις. Πρόσθεση ασύγχρονου ή σύγχρονου reset απαραίτητη Τι θα συµβεί αν για οποιοδήποτε λόγο (π.χ. διαταραχή ισχύος) το κύκλωµα πάρει κατάσταση άλλη από? Κεφάλαιο 7-ii: Μετρητές MM - 33 Μετρητή (συν.) Βρείτε τις τιµές των 6 επόµενων καταστάσεων για τους συνδυασµούς αδιαφορίας από τις εξισώσεις της προηγούµενης διαφάνειας Βρείτε το ολοκληρωµένο διάγραµµα καταστάσεων για να εκτιµήσετε την συµπεριφορά του κυκλώµατος για τις συνθήκες αδιαφορίας Παρούσα Κατ. Q8 Q4 Q2 Q Επόµενη Κατ. Q8 Q4 Q2 Q Κεφάλαιο 7-ii: Μετρητές MM - 34 8 7 9 6 5 4 3 5 4 2 2 3 Μετρητή (συν.) Για τον προηγούµενο σχεδιασµό, σε περίπτωση που το κύκλωµα έρθει σε µια άκυρη κατάσταση (invalid state) θα επανέρθει σε µια έγκυρη κατάσταση µέσα σε 2 περιόδους του ρολογιού (clock cycles) Είναι αυτό ικανοποιητικό; Αν όχι: Χρειάζεται κάποιο σήµα που να υποδεικνύει ότι το κύκλωµα εισήλθε σε άκυρη κατάσταση; Ποια η εξίσωση τέτοιου σήµατος; Χρειάζεται τροποποίηση του κυκλώµατος για να µπορεί να επιστρέψει σε έγκυρη κατάσταση µέσα σε περίοδο του ρολογιού; Χρειάζεται τροποποίηση του κυκλώµατος για να µπορεί να επιστρέψει σε συγκεκριµένη έγκυρη κατάσταση (όπως ); Τυχόν ενέργειες εξαρτώνται από: την εφαρµογή που θα χρησιµοποιήσει το κύκλωµα πολιτική της οµάδας σχεδιασµού είτε σελίδες 278-279 στο βιβλίο σας. Μετρητές Τυχαίων κολουθιών (rbitrary Sequence ounter) εδοµένης µιας τυχαίας ακολουθίας, σχεδιάστε ένα µετρητή που να αναπαράγει την ακολουθία. ιαδικασία: Παραγωγή πίνακα/διάγραµµα καταστάσεων βάση της δεδοµένης ακολουθίας Ελαχιστοποίηση (µε -χάρτες, κτλ) Σχεδιασµός λογικού διαγράµµατος Παράδειγµα: Σχεδιάστε το λογικό διάγραµµα για τον µετρητή µε την εξής ακολουθία: 7 6 ( ). Χρησιµοποιείστε FFs. Κεφάλαιο 7-ii: Μετρητές MM - 35 Κεφάλαιο 7-ii: Μετρητές MM - 36 Κεφάλαιο 7-ii: Μετρητές 6
Μετρώντας Modulo N Μετρητής ιαίρεσης-δια-n (Modulo n) Μετρά το υπόλοιπο της διαίρεσης δια n, όπου το n µπορεί να µην είναι δύναµη του 2 ή Μετρά τυχαία ακολουθία από n καταστάσεις, ειδικά σχεδιασµένος βάση κάθε κατάστασης Περιλαµβάνει modulo που είναι ο µετρητής Κεφάλαιο 7-ii: Μετρητές MM - 37 Μετρώντας Modulo 7: Ανιχνεύει 7 και επανέρχεται ασύγχρονα Χρήση ενός σύγχρονου δυαδικού µετρητή 4ων-bit µεασύγχρονο lear για κατασκευή µετρητή Modulo 7. Όταν ανιχνεύεται το 7, το 3 2 Q3 Q2 Q Q κύκλωµα επανέρχεταιστο P (lear) ασύγχρονα. Άρα, δίνει: LO 2 3 4 5 6 LER 7(για πολύ λίγο) 2 3 4 5 6 7(για πολύ λίγο), κτλ. Αυτό ΕΝ ΠΡΕΠΕΙ ΝΑ ΓΙΝΕΤΑΙ! Α ναφέρεται ως µετρητής «αυτοκτονίας»! (το «7» «σκοτώνεται», αλλά µαζί του και η δουλειά του σχεδιαστή!) Κεφάλαιο 7-ii: Μετρητές MM - 38 Μετρώντας Modulo 7: Σύγχρονη Παράλληλη Φόρτωση όταν ανιχνεύεται το 6 Χρήση ενός σύγχρονου δυαδικού µετρητή 4ων-bit µεσύγχρονη φόρτωση (load) και ασύγχρονο clear για κατασκευή µετρητή Modulo 7. Όταν ανιχνεύεται το 6, το κύκλωµα επανέρχεταιστο σύγχρονα, αφού φορτώνει το από τις εισόδους. Άρα, δίνει: 2 3 4 5 6 Reset 2 3 4 5 6 Για καταστάσεις µεγαλύτερες (σε δυαδική τιµή) του, χρησιµοποιούνται συνθήκες αδιαφορίας, και έτσι Load = Q4 Q2 Κεφάλαιο 7-ii: Μετρητές MM - 39 3 2 Q3 Q2 Q Q P LO LER Άλλο παράδειγµα: Ασύγχρονη αρχικοποίηση σε 9 και Σύγχρονη Φόρτωση του 9 όταν φτάσει στο 4 Χρήση ενός σύγχρονου δυαδικού µετρητή 4ων-bit µεσύγχρονη φόρτωση (load) για κατασκευή µετρητή Modulo 6. Το Load χρησιµοποιείται γιαναθέσειτηνκατάσταση στο δυαδικό 9 είτε στο Reset Reset είτε όταν ανιχνεύεται το 4. Αυτό δίνει: 9 2 3 4 9 3 4 9 Κεφάλαιο 7-ii: Μετρητές MM - 4 3 2 Q3 Q2 Q Q P LO LER Κεφάλαιο 7-ii: Μετρητές 7