αναγκαίο κακό ή δώρο εξ’ ουρανού; Ακολουθιακά στοιχεία αναγκαίο κακό ή δώρο εξ’ ουρανού; Κάποια στοιχεία προέρχονται από τη διάλεξη του Eitan Rosen στο Τέχνιον της Χάιφας και το βιβλίο των Weste και Harris
Ακολουθιακά στοιχεία Σε τι χρειάζονται; Είδη ακολουθιακών στοιχείων latches flip-flops Κυκλωματική ανάλυση Χαρακτηριστικά Time borrowing Παραδείγματα
Γιατί χρησιμοποιούμε ακολουθιακά στοιχεία; Athlium ΛΙ
Γιατί χρησιμοποιούμε ακολουθιακά στοιχεία; ΣΔ ΣΔ ΣΔ Συνδυαστικό κύκλωμα ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ
Πώς θα συγχρονίσουμε τις εξόδους; ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ
Λύση 1: Περιμένουμε ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ
Λύση 2: Φροντίζουμε όλες οι διαδρομές να έχουν την ίδια καθυστέρηση ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ wave pipelining
Λύση 3: Κάθε κύκλωμα ειδοποιεί το επόμενο μόλις ολοκληρώσει ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ asynchronous logic
Λύση 4: Έλεγχος από ένα κεντρικό ρολόι clk ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ΣΔ ακολουθιακά στοιχεία
Γιατί χρησιμοποιούμε ακολουθιακά στοιχεία; Για να κρατήσουμε συγχρονισμένα τα συνδυαστικά κομμάτια του κυκλώματος: Ξεχωρίζουμε με αυτό τον τρόπο τα δεδομένα που επεξεργαζόμαστε σε έναν κύκλο ρολογιού από αυτά που θα επεξεργαστούμε στον επόμενο Αυτό είναι απαραίτητο για να έχουν νόημα τα αποτελέσματα Κύκλος N+1 Κύκλος N Κύκλος N-1 Συνδυαστική λογική Συνδυαστική λογική Συνδυαστική λογική Κύκλος N-2 Είναι σωστή η έξοδος; Πότε; Συνδυαστική λογική μεγαλύτερη καθυστέρηση, κύκλος N Συνδυαστική λογική
Συγχρονισμός Τα ακολουθιακά στοιχεία καθυστερούν τα σήματα των οποίων ο υπολογισμός τελειώνει πρώτος Έτσι καθορίζεται η σωστή σειρά υπολογισμού Κύκλος N Συνδυαστική λογική Κύκλος N-1 Η έξοδος είναι σωστή στο τέλος κάθε κύκλου Συνδυαστική λογική μεγαλύτερη καθυστέρηση, κύκλος N Ακολουθιακά Συνδυαστική λογική
Σύγχρονα συστήματα Συνδυαστική λογική είσοδος παρούσα κατάσταση επόμενη έξοδος clock ακολουθιακά στοιχεία
Είδη ακολουθιακών στοιχείων Edge triggered (flop) αλλάζει κατάσταση μια φορά σε κάθε κύκλο ρολογιού στην αλλαγή φάσης είτε από low σε high (positive edge triggered) είτε από high σε low (negative edge triggered). Level sensitive (latch) κρατά τα δεδομένα για μια φάση του ρολογιού ενώ είναι transparent στην αντίθετη φάση. Pulsed elements Τα level sensitive στοιχεία όταν ελέγχονται από ένα ρολόι παλμών μπορεί να χρησιμοποιηθεί σαν flop. Dual-edge triggered αλλάζουν κατάσταση σε κάθε αλλαγή κατάστασης.
Είδη ακολουθιακών κυκλωμάτων Τα τελευταία χρόνια υπάρχει σαφής προτίμηση των σχεδιαστών προς τα level sensitive στοιχεία καθώς και προς τα pulsed στοιχεία. Τα edge triggered στοιχεία χρησιμοποιήθηκαν παλιότερα ενώ τα dual edge triggered στοιχεία είναι ακόμα σε ερευνητικό επίπεδο.
clk D latch flop
clk D latch flop
clk D latch flop
clk D latch flop
clk φ1 φ2 flop flop combinational logic φ1 φ2 φ1 combinational logic
combinational logic in out
combinational logic in min delay out
combinational logic in max delay min delay out
clk D Q
setup clk D Q
setup clk hold D Q
setup clk hold D delay Q
Max delay constraint clk flop delay Q1 combinational logic clk flop delay Q1
combinational max delay Max delay constraint flop flop Q1 D2 combinational logic clk flop delay Q1 combinational max delay
combinational max delay Max delay constraint flop flop Q1 D2 combinational logic setup clk flop delay Q1 combinational max delay
Min delay constraint clk hold time Q1 flop flop Q1 D2 combinational logic clk hold time Q1
Παράδειγμα latch Sustainer: Στατικός Προαιρετικά: «μανδαλωτής» Input buffer «μανδαλωτής» Προαιρετικά : output buffer 8 – 12 τρανζίστορ
Βασική συνδεσμολογία D-latch clk clk clk in latch node sustain node clk
Βασική συνδεσμολογία D-latch clk Αντίθετη πολικότητα στο ρολόι clk clk in latch node sustain node clk
Λειτουργία clk=1 Ο latch node ελέγχεται από την είσοδο clk clk in sustain node clk=1
Λειτουργία clk=1 clk clk in latch node sustain node clk=1
Λειτουργία clk=0 Τα λογικά επίπεδα των latch και sustain node παραμένουν σταθερά όσο το ρολόι είναι 0 clk clk in latch node sustain node clk=0
Tri-state latch clk clk clk in latch node sustain node clk
Tri-state latch w/ tri-state input clk clk clk in clk latch node sustain node
Jam latch Πολύ μεγαλύτερο από feedback clk in latch sustain node node
Jam latch latch node clk in sustain node clk Βαθμίδα απομόνωσης της εξόδου
Differential latch clk in
Gated latch clk clk in Vdd clk Gnd
Set Dominant Latch (SDL) για χρήση μετά από domino Pre-charged high input Normally low output in out clk SDL Sustainer Resetting clock (norn. low)
Λειτουργία Μειώνουμε την καθυστέρηση και την ισχύ διώχνοντας περιττά στοιχεία μειώνοντας το φορτίου του ρολογιού PC clock sustainer latch clock Δεν χρειάζεται! PC node sustainer reset clock Output
Edge Triggered (Flop) Η είσοδος χρειάζεται setup time πριν το ρολόι input Η έξοδος εμφανίζεται με κάποια καθυστέρηση μετά τον παλμό output Η κατερχόμενη ακμή του ρολογιού δεν έχει σημασία
Λογική κύκλου Η δειγματοληψία της εισόδου γίνεται στην ανερχόμενη ακμή του ρολογιού και εμφανίζεται στην έξοδο λίγο αργότερα Συνδυαστική λογική Κύκλος N+1 Συνδυαστική λογική Μεγαλύτερη καθυστέρηση, κύκλος N+1 flops Κύκλος N Κύκλος N-1 Clock (έλεγχος καταστάσεων) Περίοδος του ρολογιού (κύκλος) 1η φάση 2η φάση Τα γρήγορα σήματα περιμένουν. Τα κρίσιμα φτάνουν ακριβώς την ώρα της δειγματοληψίας
Λογική φάσης (Latch) Είμαστε στην transparent κατάσταση: η είσοδος εμφανίζεται στην έξοδο μετά από κάποια καθυστέρηση Είσοδος Έξοδος Το latch είναι κλειστό. Αλλαγές στην είσοδο δεν αλλάζουν την έξοδο
Παράδειγμα λογικής φάσης Τα latches δειγματοληπτούν στο χαμηλό λογικό επίπεδο η έξοδος έχει κάποια καθυστέρηση ως προς την είσοδο Χρειαζόμαστε δύο latches για κάθε κύκλο. Η λογική ορίζεται σε κάθε κύκλο (H,L) Συνδυαστική λογική Κύκλος N L latches Κύκλος N H Κύκλος N -1 L Clock (έλεγχος καταστάσεων) Περίοδος του ρολογιού (κύκλος) 1η φάση 2η φάση Τα σήματα περιμένουν
Σύγχρονα συστήματα: με latches Συνδυαστική λογική Input output L H Δεν αναμιγνύουμε τις φάσεις! (H,L) ακολουθιακά στοιχεία: Latches Παρούσα Επόμενη ρολόι
Ορισμοί Στατικά – δυναμικά στοιχεία: Δυναμικά – με ρολόι Στατικά – χωρίς ρολόι Αλλά: στατική αποθήκευση vs. δυναμική αποθήκευση: Στατική αποθήκευση τα δεδομένα κρατούνται επ’ αόριστον με διατάξεις ανάδρασης Δυναμική αποθήκευση τα δεδομένα κρατούνται όσο υπάρχει φορτίο στον κόμβο αποθήκευσης
Τα ακολουθιακά στοιχεία δεν είναι χωρίς κόστος! Τα ακολουθιακά στοιχεία δεν είναι χωρίς κόστος! State elements are essential elements in logic (and circuit design), but: They cost area, clock power and clock load Clock power is significant component of total power. (Increased) clock load causes (more) skew and jitter. They cost delay and require sampling margin! The delay reduces the time available for logic in each cycle or phase. Sampling margin may have to be added to the timing budget.
Delay Delay: in->out input output clk delay Larger delay early (@clk rise) or late (@clk fall) input output clk delay
Delay, Transparency Window Td= Tout –Tin, is not constant. Nominal Td= Min (Tout – Tin) Zero delay Td delay Tin Tout,Tin Td Nominal Td + (say) 10% Delay of a state element is defined as Td= Min (Tout – Tin) It is constant over the Transparency window. Transparency Window Nominal Td
Delay, slope at pass gate 0.0 50.0 100.0 150.0 200.0 250.0 300.0 -100.0 400.0 500.0 delay slope
Delay, slope at pg, expanded 0.0 50.0 100.0 150.0 200.0 250.0 300.0 350.0 120.0 130.0 140.0 160.0 170.0 delay slope