Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005"— Μεταγράφημα παρουσίασης:

1 ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
ΗΜΥ 210: Λογικός Σχεδιασμός, Εαρινό Εξάμηνο 2005 19-Nov-18 ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005 Κεφάλαιο 7–i: Καταχωρητές Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κεφάλαιο 7-i: Καταχωρητές

2 Κεφάλαιο 7-i: Καταχωρητές
Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές Ολίσθησης Σειριακή Φόρτωση Σειριακή Ολίσθηση Καταχωρητές Ολίσθησης Παράλληλης Φόρτωσης Καταχωρητές Ολίσθησης Διπλής Κατεύθυνσης Αναπαράσταση Καταχωρητή Ολίσθησης σε VHDL Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

3 Καταχωρητές και Μετρητές (Registers and Counters)
Ένας n-bit καταχωρητής είναι ένα σύνολο από n flip-flops, ικανό να αποθηκεύσει n bits δυαδικής πληροφορίας. Με επιπρόσθετες συνδυαστικές πύλες, ο καταχωρητής μπορεί να εκτελέσει λειτουργίες επεξεργασίας δεδομένων (data-processing). Ένας μετρητής είναι ένας καταχωρητής που έχει μια προκαθορισμένη σειρά καταστάσεων, βάση της εφαρμογής παλμών του ρολογιού. Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

4 Παράδειγμα: Καταχωρητής 2-bit
ΗΜΥ 210: Λογικός Σχεδιασμός, Εαρινό Εξάμηνο 2005 19-Nov-18 Παράδειγμα: Καταχωρητής 2-bit C D Q CP In0 In1 A1 A0 Y1 Y0 Πόσες καταστάσεις υπάρχουν; Πόσοι συνδυασμοί εισόδων; Συνδυασμοί εξόδων; Ποια είναι η συνάρτηση εξόδου; Ποια είναι η συνάρτηση της επόμενης κατάστασης; Είναι Moore ή Mealy; Ποιες είναι οι τιμές για το 1 και 2, για ένα καραχωρητή n-bit; Παρούσα Κατ. A1 A0 Επόμενη Κατ. A1(t+ 1 ) A0(t+ ) Για In1 In0 = Έξοδος (=A1 A0) Y1 Y0 0 0 0 1 1 0 1 1 States: 22 = 4 Input Combinations: 22 = 4 Output Combinations: 22 = 4 Y = A A(t+1) = IN Moore States = 2n Input Combinations = 2n Output Combinations = 2n Νοε-18 Κεφάλαιο 7-i: Καταχωρητές Κεφάλαιο 7-i: Καταχωρητές

5 Κεφάλαιο 7-i: Καταχωρητές
Καταχωρητής 4-bit Η κοινή είσοδος Clock πυροδοτεί όλα τα flip-flops στην θετική ακμή κάθε παλμού, και η διαθέσιμη πληροφορία στις 4 D εισόδους μεταφέρεται στον καταχωρητή. Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

6 Κεφάλαιο 7-i: Καταχωρητές
Μνήμη Καταχωρητών Προσδοκίες: Ένας καταχωρητής πρέπει να μπορεί να αποθηκεύει πληροφορίες για πολλαπλές χρονικές περιόδους Η “αποθήκευση” ή “φόρτωση” πληροφοριών πρέπει να ελέγχεται από κάποιο σήμα Πραγματικότητα: Ένας καταχωτητής D flip-flop register φορτώνει πληροφορίες σε κάθε χρονική περίοδο του ρολογιού (clock cycle) Πραγματοποίηση Προσδοκιών: Χρήση σήματος για μπλοκάρισμα του καταχωρητή από το ρολόι, ή Χρήση σήματος για έλεγχο ανάδρασης (feedback control) από την έξοδο του καταχωρητή πίσω στις εισόδους του, ή Χρήση άλλων SR ή JK flip-flops τα οποία κρατούν την παρούσα κατάσταση τους για είσοδο (0,0) Load είναι συχνή ονομασία για το σήμα που ελέγχει την αποθήκευση και φόρτωση καταχωρητών Load = 1: Φορτώνει τις τιμές των εισόδων Load = 0: Αποθηκεύει τις τιμές του καταχωρητή Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

7 Καταχωρητής 4-bit (συν.)
Clock-gating, όχι καλή λύση! C = Load + Clock Τα FFs είναι ευαίσθητα σε αλλαγές μόνο όταν Load=1 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

8 Καταχωρητές με Clock Gating
Το σήμα Load χρησιμοποιείται για ενεργοποίηση του σήματος του ρολογιού όταν είναι 1, και απενεργοποιεί το ρολόι όταν είναι 0. Παράδειγμα προβλήματος: Για Flip-flops θετικής ακμοπυροδότησης ή αρνητικού-επιπέδου πυροδότησης: Πιο είναι το πρόβλημα; Απόκλιση του gated clock από το πραγματικό ρολόι λόγο της καθυστέρησης από τις επιπρόσθετες πύλες (clock skew) Clock Load Gated Clock στο FF Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

9 Κεφάλαιο 7-i: Καταχωρητές
Καταχωρητές Παράλληλης Φόρτωσης, με έλεγχο ανάδρασης (Controlled Feedback) Πιο αξιόπιστος σχεδιασμός: Το ρολόι δουλεύει ασταμάτητα (στα FFs), και Επιλεκτική χρήση του Load για αλλαγή των περιεχομένων του καταχωρητή. Παράδειγμα: καταχωρητής 2-bit: Για Load = 0, κράτηση παρούσας κατάστασης Για Load = 1, φόρτωση τιμών εισόδου, βάση του ρολογιού Πιο σύνθετος σχεδιασμός από clock gating, αλλά ελεύθερος από προβλήματα χρονισμού 2-to-1 Multiplexers A1 Y1 Load D Q D1 C A0 D Q Y0 C D0 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές Clock

10 Καταχωρητής Παράλληλης Φόρτωσης 4-bit
Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

11 Καταχωρητές Ολίσθησης (Shift Registers)
Οι καταχωρητές ολίσθησης μεταφέρουν πληροφορίες «πλάγια» μέσα στον καταχωρητή, προς τη περισσότερο σημαντική (MSB) ή λιγότερο σημαντική (LSB) θέση Στην πιο απλή περίπτωση, ο καταχωρητής ολίσθησης είναι απλά ένα σύνολο από D flip-flops ενωμένα σε μια γραμμή, ως ακολούθως: Είσοδος δεδομένων, In, ονομάζεται σειριακή είσοδος ή είσοδος δεξιάς ολίσθησης Έξοδος δεδομένων, Out, συχνά ονομάζεται σειριακή έξοδος Το διάνυσμα (A, B, C, Out) ονομάζεται η παράλληλη έξοδος Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

12 Καταχωρητές Ολίσθησης (συν.)
ΗΜΥ 210: Λογικός Σχεδιασμός, Εαρινό Εξάμηνο 2005 19-Nov-18 Καταχωρητές Ολίσθησης (συν.) Η συμπεριφορά του σειριακού καταχωρητή ολίσθησης δίνεται στον πίνακα απέναντι T0 είναι η κατάσταση ακριβώς πριν την εμφάνιση του 1ου παλμού του ρολογιού T1 έρχεται μετά τον πρώτο παλμό, και πριν το δεύτερο Αρχικές άγνωστες καταστάσεις δηλώνονται με “?” Συμπληρώστε τις 3 τελευταίες γραμμές του πίνακα In A B C Out D Q D Q D Q D Q Clock CP CP In A B C Out T0 ? T1 1 T2 T3 T4 T5 T6 ROW T4: 10110 Row T5: Row T6: Νοε-18 Κεφάλαιο 7-i: Καταχωρητές Κεφάλαιο 7-i: Καταχωρητές

13 Σειριακή Μεταφορά Δεδομένων
Σειριακή μεταφορά δεδομένων από ένα καταχωρητή A σε ένα καταχωρητή B. Απαιτείται μία περίοδος ρολογιού για κάθε bit. Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

14 Σειριακή πρόσθεση με χρήση καταχωρητή ολίσθησης
Οι δύο δυαδικοί προσθετέοι αποθηκεύονται σειριακά στους δύο καταχωρητές. Πόσος χρόνος χρειάζεται για να φορτωθούν οι αριθμοί; Τα bits προσθέτονται ανά ζεύγος κάθε χρονική στιγμή, μέσω ενός πλήρη αθροιστή (full-adder circuit). Πόσος χρόνος χρειάζεται για την πρόσθεση; Το carry out του πλήρη αθροιστή μεταφέρεται σε ένα D flip-flop, του οποίου η έξοδος χρησιμοποιείται ως το carry in για το επόμενο ζεύγος των bits. Το sum bit στην έξοδο S του πλήρη αθροιστή μεταφέρεται στο καταχωρητή A. Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

15 Σειριακή πρόσθεση με χρήση καταχωρητή ολίσθησης
Πόσος χρόνος χρειάζεται για ολόκληρη τη διαδικασία; Σχεδιάστε το διάγραμμα, σε επίπεδο καταχωρητών (ή RTL-level = Register-Transfer Level)… Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

16 Σειριακή ή Παράλληλη Πρόσθεση;
Ο παράλληλος αθροιστής είναι ένα συνδυαστικό κύκλωμα, ενώ ο σειριακός ένα ακολουθιακό. Ο παράλληλος αθροιστής αποτελείται από n πλήρες 1-bit αθροιστές για προσθετέους των n-bit, ενώ ο σειριακός απαιτεί μόνο 1 πλήρη 1-bit αθροιστή. Το σειριακό κύκλωμα παίρνει n περιόδους του ρολογιού για να ολοκληρώσει, ενώ το παράλληλο 1. Συνοπτικά, ο παράλληλος αθροιστής είναι n φορές μεγαλύτερος του σειριακού σε χώρο, αλλά είναι και n φορές πιο γρήγορος. Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

17 Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης
Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης Παράδειγμα Καταχωρητή Ολίσθησης Παράλλήλης Φόρτωσης 2-bit Προσθέτοντας ένα MUX μεταξύ κάθε «στάδιο» του καταχωρητή ολίσθησης, δεδομένα μπορούν να αποθηκεύονται ή φορτώνονται με αξιόπιστο τρόπο. SHIFT=0, τα A και B αντικαθιστούνται με τα δεδομένα στις γραμμές DA και DB (παράλληλη φόρτωση), αλλιώς τα δεδομένα ολισθαίνουν προς τα δεξιά στην κάθε περίοδο ρολογιού και φορτώνεται 1-bit (σειριακή φόρτωση). Προσθέτοντας και άλλα bits, κατασκευάζουμε καταχωρητή ολίσθησης παράλληλης φόρτωσης n-bit. D Q A B CP SHIFT IN DA DB Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

18 Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης
Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης Παράδειγμα Καταχωρητή Ολίσθησης Παράλλήλης Φόρτωσης 2-bit Προσθέτοντας ένα MUX μεταξύ κάθε «στάδιο» του καταχωρητή ολίσθησης, δεδομένα μπορούν να αποθηκεύονται ή φορτώνονται με αξιόπιστο τρόπο. SHIFT=0, τα A και B αντικαθιστούνται με τα δεδομένα στις γραμμές DA και DB (παράλληλη φόρτωση), αλλιώς τα δεδομένα ολισθαίνουν προς τα δεξιά στην κάθε περίοδο ρολογιού και φορτώνεται 1-bit (σειριακή φόρτωση). Προσθέτοντας και άλλα bits, κατασκευάζουμε καταχωρητή ολίσθησης παράλληλης φόρτωσης n-bit. D Q A B CP SHIFT IN DA DB SHIFT=0 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

19 Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης
Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης Παράδειγμα Καταχωρητή Ολίσθησης Παράλλήλης Φόρτωσης 2-bit Προσθέτοντας ένα MUX μεταξύ κάθε «στάδιο» του καταχωρητή ολίσθησης, δεδομένα μπορούν να αποθηκεύονται ή φορτώνονται με αξιόπιστο τρόπο. SHIFT=0, τα A και B αντικαθιστούνται με τα δεδομένα στις γραμμές DA και DB (παράλληλη φόρτωση), αλλιώς τα δεδομένα ολισθαίνουν προς τα δεξιά στην κάθε περίοδο ρολογιού και φορτώνεται 1-bit (σειριακή φόρτωση). Προσθέτοντας και άλλα bits, κατασκευάζουμε καταχωρητή ολίσθησης παράλληλης φόρτωσης n-bit. D Q A B CP SHIFT IN DA DB SHIFT=1 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

20 Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης –Άλλος σχεδιασμός
Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης –Άλλος σχεδιασμός Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

21 Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης – Άλλος σχεδιασμός
Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης – Άλλος σχεδιασμός SHIFT = 1 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

22 Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης – Άλλος σχεδιασμός
Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης – Άλλος σχεδιασμός SHIFT = 0 LOAD = 1 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

23 Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης – Άλλος σχεδιασμός
Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης – Άλλος σχεδιασμός SHIFT = 0 LOAD = 0 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

24 Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης – Άλλος σχεδιασμός (συν.)
Καταχωρητής Ολίσθησης Παράλληλης Φόρτωσης – Άλλος σχεδιασμός (συν.) Μπορούμε να προσθέσουμε την λειτουργία “hold” για αποθήκευση/κράτηση της παρούσας πληροφορίας. Shift Load Λειτουργία Κράτηση παρούσας κατάστασης: Q0Q0, Q1Q1, Q2Q2, … 1 Παράλληλη φόρτωση: D0Q0, D1Q1, D2Q2, … X Ολίσθηση: Serial Input Q0  Q1 Q2… Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

25 Καταχωρητής Ολίσθησης με Επιπρόσθετες Λειτουργίες
Προσθέτοντας ένα MUX 4-εισόδων μπροστά από το κάθε D flip-flop σε ένα καταχωρητή ολίσθησης, μπορούμε να υλοποιήσουμε ένα κύκλωμα με λειτουργίες: ολίσθηση δεξιά, ολίσθηση αριστερά, παράλληλη φόρτωση, κράτηση παρούσας κατάστασης. Καταχωρητές ολίσθησης μπορούν επίσης να σχεδιαστούν για ολίσθηση περισσοτέρων του ενός bit  ολίσθηση k (<n) bits Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

26 Παράδειγμα: Καταχωρητής Ολίσθησης Διπλής Κατεύθυνσης (Bidirectional)
S1S0 Λειτουργία 00 Κράτηση παρούσας κατάστασης 01 Ολίσθηση προς τα κάτω 10 Ολίσθηση προς τα πάνω 11 Παράλληλη φόρτωση Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

27 Καταχωρητής Ολίσθησης Διπλής Κατεύθυνσης (συν.)
Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

28 Καταχωρητής Ολίσθησης Διπλής Κατεύθυνσης (συν.)
S0S1 = 00 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

29 Καταχωρητής Ολίσθησης Διπλής Κατεύθυνσης (συν.)
S0S1 = 01 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

30 Καταχωρητής Ολίσθησης Διπλής Κατεύθυνσης (συν.)
S0S1 = 10 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

31 Καταχωρητής Ολίσθησης Διπλής Κατεύθυνσης (συν.)
S0S1 = 11 Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

32 Καταχωρητής Ολίσθησης σε VHDL
-- Καταχωρητής αριστερής ολίσθησης 4-bit με ασύγχρονο Reset library ieee; use ieee.std_logic_1164.all; entity srg_4_r is port(CLK, RESET, SI : in std_logic; Q : out std_logic_vector(3 downto 0); SO : out std_logic); end srg_4_r; Νοε-18 Κεφάλαιο 7-i: Καταχωρητές

33 Καταχωρητής Ολίσθησης σε VHDL
architecture behavioral of srg_4_r is signal shift : std_logic_vector(3 downto 0); begin process (RESET, CLK) if (RESET = '1') then shift <= "0000"; elsif (CLK'event and (CLK = '1')) then shift <= shift(2 downto 0) & SI; end if; end process; Q <= shift; SO <= shift(3); end behavioral; 3 2 1 SI D C B A Νοε-18 Κεφάλαιο 7-i: Καταχωρητές


Κατέβασμα ppt "ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google