HY220 Εργαςτήριο Ψηφιακών Κυκλωμάτων Διδάςκων: Χ. ωτηρίου, Βοηθοί: Ε. Κουναλάκησ, Π. Ματτθαιάκησ, Δ. Σςαλιαγκόσ http://www.csd.uoc.gr/~hy220 1 Περιεχόμενα Κακυςτζρθςθ και παράγοντεσ που τθν επθρεάηουν υνδυαςτικι Πφλθ Ακολουκιακι Πφλθ Περιοριςμοί Πρόκεςθσ (Setup), Διατιρθςθσ (Hold) Γενικό Μοντζλο φγχρονου Κυκλϊματοσ Είδθ Μονοπατιϊν τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμϊν Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 2 1
Περιεχόμενα Κακυςτζρθςθ και παράγοντεσ που τθν επθρεάηουν υνδυαςτικι Πφλθ Ακολουκιακι Πφλθ Περιοριςμοί Πρόκεςθσ (Setup), Διατιρθςθσ (Hold) Γενικό Μοντζλο φγχρονου Κυκλϊματοσ Είδθ Μονοπατιϊν τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμϊν Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 3 Καθυςτέρηςη και Παράγοντεσ που την επηρεάζουν Καθυςτζρηςη υνδυαςτικήσ Πφλησ Καθυςτζρηςη Ακολουθιακήσ Πφλησ input output t D clk Q setup time clock to Q delay Παράγοντεσ: Κακυςτζρθςθ Ομοίωσ με τα ςυνδυαςτικά με επιπλζον περιοριςμοφσ: Χρόνοσ ανόδου/κακόδου Πρόκεςθσ (Setup) Γενικά: Διατιρθςθσ (Hold) Δ = fd(c out, t r/f(input) ) t r/f(output) = fr(c out, t r/f(input) ) Ο πρϊτοσ ορίηει τθν μζγιςτθ ςυχνότθτα ενϊ ο δεφτεροσ επιβάλλει ελάχιςτθ κακυςτζρθςθ μεταξφ καταχωρθτϊν 4 2
Περιεχόμενα Κακυςτζρθςθ και παράγοντεσ που τθν επθρεάηουν υνδυαςτικι Πφλθ Ακολουκιακι Πφλθ Περιοριςμοί Πρόκεςθσ (Setup), Διατιρθςθσ (Hold) Γενικό Μοντζλο φγχρονου Κυκλϊματοσ Είδθ Μονοπατιϊν τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμϊν Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 5 Ακολουθιακά τοιχεία: Flip-Flop και Latch D-Type Flip-Flop Σο παραπάνω FF, μεγαλφτερου εμβαδοφ, πρακτικά αποτελείται από τρείσ μανταλωτζσ (D, CLK), (CLK, Y), (S, R) 6 ΗΤ220 - Διάλεξθ 3θ, Επανάλθψθ 1/11/2011 3
Ακολουθιακά τοιχεία: Flip-Flop Όταν το CLK ςτο latch κάνει μετάβαςθ 10, τα 2 αριςτερά latches κλείνουν Αν το D αλλάηει κατά τθν διάρκεια του κλειςίματοσ, δθλ. ςε χρόνο μικρότερο από τθν κακυςτζρθςθ των SR, τότε το latch εξόδου δεν κα αποκθκεφςει τθν ςωςτι κατάςταςθ Η τελικι κατάςταςθ που κα αποκθκευτεί κα εξαρτάται από τον κόρυβο και δρομιςεισ ςτο κφκλωμα Περιοριςμοί Setup (Πρόκεςθσ) και Hold (Διατιρθςθσ) FF CLK (Clock) Setup Hold D (Data) 7 ΗΤ220 - Διάλεξθ 3θ, Επανάλθψθ 1/11/2011 Flip-Flop: Χρονικέσ Παράμετροι T c2qm T c2q D Q Clk T su T hd Clk D A B Q 8 A Η είςοδοσ D πρζπει να μείνει ςτακερι τουλάχιςτον για χρόνο T su (setup time) πρίν τθν ακμι του ρολογιοφ και τουλάχιςτον T hd (hold time) μετά τθν ακμι. Ζνα παράκυρο χρόνου γφρω από τθν ακμι του ρολογιοφ για το οποίο θ είςοδοσ πρζπει να μείνει ςτακερι Η ζξοδοσ Q αλλάηει λίγο μετά τθν ακμι του ρολογίου Σ c2q είναι ο χρόνοσ κακυςτζρθςθσ από τθν ακμι ςτθν ζξοδο (propagation delay) Σ c2qm είναι ο ελάχιςτοσ χρόνοσ κακυςτζρθςθσ από τθν ακμι ςτθν ζξοδο (αρχίηουν να αλλάηουν τα δεδομζνα) B 4
Περιεχόμενα Κακυςτζρθςθ και παράγοντεσ που τθν επθρεάηουν υνδυαςτικι Πφλθ Ακολουκιακι Πφλθ Περιοριςμοί Πρόκεςθσ (Setup), Διατιρθςθσ (Hold) Γενικό Μοντζλο φγχρονου Κυκλϊματοσ Είδθ Μονοπατιϊν τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμϊν Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 9 Γενικό Μοντέλο ύγχρονου Κυκλώματοσ Πιθανή Ανάδπαζη Ππυηεύοςζερ Είζοδοι (Primary Inputs) Πιθανή Ανάδπαζη υνδυαςτικι Λογικι (.Λ.) Καηασυπηηέρ Πιθανή Ανάδπαζη υνδυαςτικι Λογικι (.Λ.) Καηασυπηηέρ Ππυηεύοςζερ Έξοδοι (Primary Outputs) Ρολόι υνδζςεισ, Καταχωρθτζσ αποτελοφνται από πολλαπλά bit Καταχωρητζσ φνολο Flip-flop υνοριακά τοιχεία Ππυηεύοςζερ Είζοδοι (Primary Inputs) υνδυαςτική Λογική (ςφννεφο) Σοπικζσ Ζξοδοι = f(σοπικϊν Ειςόδων) Είναι πικανό να υπάρχει ανάδραςθ μεταξφ των τμθμάτων 10 5
Είδη Μονοπατιών αν μονοπάτι ορίηουμε μια διαδρομι πυλϊν, θ οποία αντιςτοιχεί ςε περιοριςμό setup ι hold τα κυκλϊματα ςυνικωσ αναπαριςτϊνται ωσ γράφοι (κόμβοι = πφλεσ, ακμζσ = ςυνδζςεισ), ζτςι θ ζννοια του μονοπατιοφ είναι όμοια με ζνα μονοπάτι ςτον γράφο Διακρίνουμε τριϊν ειδϊν μονοπάτια που ενδιαφζρουν ωσ προσ τουσ χρονικοφσ περιοριςμοφσ: Από Είςοδο ςε Καταχωρθτι Από Καταχωρθτι ςε Καταχωρθτι (ςτον εαυτό του ι άλλον) Από Καταχωρθτι ςε Ζξοδο 11 Παράδειγμα Κυκλώματοσ ειριακόσ Ολιςθητήσ με Παράλληλη Φόρτιςη Μονοπάτια και Καταχωρθτζσ 1 bit υνδυαςτικι Λογικι πολυπλζκτθσ Δεν υπάρχει ανάδραςθ μεταξφ των τμθμάτων.λ. 12 6
Περιεχόμενα Κακυςτζρθςθ και παράγοντεσ που τθν επθρεάηουν υνδυαςτικι Πφλθ Ακολουκιακι Πφλθ Περιοριςμοί Πρόκεςθσ (Setup), Διατιρθςθσ (Hold) Γενικό Μοντζλο φγχρονου Κυκλϊματοσ Είδθ Μονοπατιϊν τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμϊν Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 13 τατική Χρονική Ανάλυςη D Q D Q υνδυαςτικι Λογικι (.Λ.) D Q D Q Ρολόι Χρονικζσ Παράμετροι Καταχωρητών T clk : Περίοδοσ Ρολογιοφ T su : Setup time T hd : Hold time T c2q : Clock to Q (worst-case) T c2qm : Clock to Q (min) Χρονικζσ Παράμετροι.Λ. T cl : Μζγιςτθ Κακυςτζρθςθ.Λ. Κπίζιμο μονοπάηι T clm : Ελάχιςτθ Κακυςτζρθςθ.Λ. Ελάχιστο μονοπάτι 14 7
ΧΑ Ελάχιςτη Περίοδοσ D Q υνδυαςτικι 1 Λογικι (.Λ.) D Q 2 D Q CL out Clk Clk In T su T hd a b Q T 1 c2q a b T c2qm CL out A B T clogm T cl T su2 T clk T c2q + T cl + T su 15 ΧΑ Περιοριςμόσ Διατήρηςησ (Hold) D Q υνδυαςτικι 1 Λογικι (.Λ.) D Q 2 D Q Clk Clk In T su T hd a b Q T 1 c2q a b T c2qm CL out A B T clm T cl T hd2 T hd T c2qm + T clm 16 8
τατική Χρονική Ανάλυςη Γενικά, για ςωςτι λειτουργία πρζπει για όλα τα μονοπάτια να ιςχφει: T clk T c2q + T cl + T su T hd T c2qm + T clm Πϊσ βρίςκουμε όλα τα μονοπάτια ; Από κάκε είςοδο ι ζξοδο καταχωρθτι ςε κάκε είςοδο καταχωρθτι ι ζξοδο του κυκλϊματοσ Σο πιο αργό μονοπάτι ςυνδυαςτικισ λογικισ είναι αυτό που κακορίηει το T cl (οπότε και τθν ελάχιςτθ περίοδο) και λζγεται κρίςιμο μονοπάτι. Ο εντοπιςμόσ του μασ δίνει τθ δυνατότθτα να προςπακιςουμε να απλοποιιςουμε τθν λογικι του μονοπατιοφ και να πετφχουμε υψθλότερθ ςυχνότθτα λειτουργίασ του κυκλϊματοσ. 17 Περιεχόμενα Κακυςτζρθςθ και παράγοντεσ που τθν επθρεάηουν υνδυαςτικι Πφλθ Ακολουκιακι Πφλθ Περιοριςμοί Πρόκεςθσ (Setup), Διατιρθςθσ (Hold) Γενικό Μοντζλο φγχρονου Κυκλϊματοσ Είδθ Μονοπατιϊν τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμϊν Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 18 9
Παράδειγμα (1/6) T and = 2ns, T or = 1ns, T mux = 3ns, T c2q = 0.5ns, T c2qm = 0.2ns, T su =0.4ns, T hd = 0.3ns Ποιό είναι το κρίσιμο μονοπάτι; Πόςθ είναι θ ελάχιςτθ περίοδοσ ρολογιοφ; Καλφπτονται όλεσ οι ςυνκικεσ χρονιςμοφ; 19 Παράδειγμα (2/6) T and = 2ns, T or = 1ns, T mux = 3ns, T c2q = 0.5ns, T c2qm = 0.2ns, T su =0.4ns, T hd = 0.3ns Ποιό είναι το κρίςιμο μονοπάτι; 20 10
Παράδειγμα (3/6) T and = 2ns, T or = 1ns, T mux = 3ns, T c2q = 0.5ns, T c2qm = 0.2ns, T su =0.4ns, T hd = 0.3ns Πόςθ είναι θ ελάχιςτθ περίοδοσ ρολογιοφ; T min = T c2q + T and + T mux + T and + T su = 7.9 ns 21 Παράδειγμα (4/6) T and = 2ns, T or = 1ns, T mux = 3ns, T c2q = 0.5ns, T c2qm = 0.2ns, T su =0.4ns, T hd = 0.3ns Καλφπτονται όλεσ οι ςυνκικεσ χρονιςμοφ; OXI!!! Ζχουμε T clm = 0 ns και T c2qm = 0.2ns Πρζπει T hd T c2qm + T clm 22 11
Παράδειγμα (5/6) 0 T and = 2ns, T or = 1ns, T mux = 3ns, T c2q = 0.5ns, T c2qm = 0.2ns, T su =0.4ns, T hd = 0.3ns Καλφπτονται όλεσ οι ςυνκικεσ χρονιςμοφ; Πρζπει T hd T c2qm + T clm Προςκζτουμε μια πφλθ με Σ or = 1ns (αρκεί;) Ζςτω T orm = T or και γενικά για όλεσ τισ πφλεσ, Σώρα ΝAI!!! Ζχουμε T clm = 1ns και T c2qm = 0.2ns 23 Παράδειγμα (6/6) T and = 2ns, T or = 1ns, T mux = 3ns, T c2q = 0.5ns, T c2qm = 0.2ns, T su =0.4ns, T hd = 0.3ns Καλφπτονται όλεσ οι ςυνκικεσ χρονιςμοφ; Πρζπει T hd T c2qm + T clogm υνικωσ βάηουμε 2 αντιςτροφείσ (ζςτω T invm = 0.3ns) ΟΚ!!! Ζχουμε T clm = 0.6 ns και T c2qm = 0.2ns 24 12
Περιεχόμενα Κακυςτζρθςθ και παράγοντεσ που τθν επθρεάηουν υνδυαςτικι Πφλθ Ακολουκιακι Πφλθ Περιοριςμοί Πρόκεςθσ (Setup), Διατιρθςθσ (Hold) Γενικό Μοντζλο φγχρονου Κυκλϊματοσ Είδθ Μονοπατιϊν τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμϊν Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 25 Περιοριςμοί ςτο Ρολόι Απόκλιςη (Skew) D AQ B Clk Δ Αν Δ = 0, το ςφςτθμα εναλλάςςει τιμζσ ΑΒ, ΒΑ, το παραπάνω παράδειγμα απόκλιςθσ άφιξθσ μπορεί να εμπεριζχεται και ςυνδυαςτικι λογικι μεταξφ Α, Β. Σι κα ςυμβεί κακϊσ το Δ 0, και το Δ μεγαλϊνει; Ο διακζςιμοσ χρόνοσ ΒΑ μικραίνει Αν Δ Σc2q, τότε θ είςοδοσ του Β κα ζχει γίνει Β, μια και κα ζχει επαναγραφεί το Α, άρα κα μείνουμε με ΒΒ, ΒΒ, 26 13
Απόκλιςη (Skew) και Σρίκλιςμα (Jitter) Απόκλιςη (Skew) τακερι από κφκλο ςε κφκλο Απόκλιςθ ςτουσ χρόνουσ άφιξθσ ςτο ςιμα ρολογιοφ ςτα διαφορετικά ςθμεία του κυκλϊματοσ Σρίκλιςμα (Jitter) Μεταβλθτι απόκλιςθ από μεταβατικά, περιοδικά θ μθ φαινόμενα ςε ςυγκεκριμζνο ςθμείο του κυκλϊματοσ Τ jitter Τ skew 27 Θετική και Αρνητική Απόκλιςη (α) Θεηική Απόκλιζη Ρολόι και Δεδομένα ππορ ηην ίδια καηεύθςνζη (β) Απνηηική Απόκλιζη Ρολόι και Δεδομένα ππορ ανηίθεηη καηεύθςνζη 28 14
Θετική Απόκλιςη Η ακμή αποζηολήρ καηαθηάνει ππιν ηην ακμή λήτηρ 29 Αρνητική Απόκλιςη Η ακμή λήτηρ καηαθηάνει ππιν ηην ακμή αποζηολήρ 30 15
Σρίκλιςμα (Jitter) Σο τρίκλιςμα προκαλεί δυναμικι μεταβολι τθσ περιόδου Σ από κφκλο ςε κφκλο 31 ΧΑ με Απόκλιςη και Σρίκλιςμα Απόκλιση: T sk = δ Τρίκλισμα : T jt t clk1 t clk2 T clk T c2q + T cl + T su + T sk + 2T jt (σείπιζηη πεπίπηυζη μέγιζηηρ καθςζηέπηζηρ) T hd T c2qm + T clm -T sk - 2T jt (σείπιζηη πεπίπηυζη ελάσιζηηρ καθςζηέπηζηρ 32 16
ΧΑ με Απόκλιςη και Σρίκλιςμα Απόκλιση: T sk = δ Τρίκλισμα : T jt 33 Πηγέσ Απόκλιςησ, Σρικλίςματοσ (1): Γεννιτρια ρολογιοφ (PLL) Σρίκλιςμα (3): Μεταβλθτότθτα ςτισ υνδζςεισ Απόκλιςθ (2): Μεταβλθτότθτα ςτουσ οδθγοφσ Απόκλιςθ (4, 5): Μεταβλθτότθτα ςτθν τάςθ πθγισ, κερμοκραςία Σρίκλιςμα και Απόκλιςθ (6, 7): Αλλθλοεπίδραςθ μζςω Χωρθτικότθτασ (Παραςιτικζσ υνδζςεισ Πυκνωτϊν) Σρίκλιςμα 34 17
Δέντρα/Δίκτυα Ρολογιού και ΧΑ Καταχωρθτισ Χπόνοι Άθιξηρ Ενιςχυτισ Buffer Καταχωρθτισ Ρίηα - CLK Ενιςχυτισ Buffer Απόκλιζη Καταχωρθτισ Καταχωρθτισ Σφποι Δικτφων Ρολογιοφ Δζντρο (όπωσ δεξιά) Πλζγμα (Mesh) Ενιςχυτισ Buffer Καταχωρθτισ Καταχωρθτισ 35 Διάταξη Η-Δένδρου Με ηέλεια ιζοζκέλιζη ηυν μονοπαηιών η απόκλιζη μποπεί να γίνει μηδέν Μποπεί να ςποζηηπίξει θπαγή ηος πολογιού ζε διάθοπα επίπεδα ηος δένδπος 36 18
Πραγματικό Η-Δέντρο 37 Φραγή Ρολογιού (Clock Gating) Κατά ζνα μεγάλο ποςοςτό, οι καταχωρθτζσ διατθροφν τθν τιμι τουσ από κφκλο ςε κφκλο Ιδζα τόχοσ να εμποδίςουμε την ςχετική μετάβαςη του ρολογιοφ Μείωςη δυναμικήσ κατανάλωςησ ενζργειασ clk clk en en_1 en_2 en_3 en_4 38 19
Φραγή Ρολογιού με χρήςη Μανταλωτή Σο ςιμα ενεργοποίθςθσ (Enable) είναι ςτακερό μόνο πριν την ςχετική ακμή Χρησιμοποιούμε μανταλωτή πολικότητας αντίθετης των flip-flop Enable Clock D G Latch Q Gated_clock Clock Enable Stability region Q Gated_clock 39 20