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