HY422 Ειςαγωγή ςτα υςτήματα VLSI Διδάςκων: Χ. ωτηρίου, Βοηθόσ: Π. Ματθαιάκησ http://www.csd.uoc.gr/~hy422 1 ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ Περιεχόμενα Γενικό Μοντζλο φγχρονου Κυκλώματοσ Είδθ Μονοπατιών τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμών Χρόνοσ Αναχώρθςθσ, Χρόνοσ Άφιξθσ, Ενεργζσ Ακμζσ Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι Απόκλιςθ (Skew), Σρίκλιςμα (Jitter) χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 2 ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ 1
Περιεχόμενα Γενικό Μοντζλο φγχρονου Κυκλώματοσ Είδθ Μονοπατιών τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμών Χρόνοσ Αναχώρθςθσ, Χρόνοσ Άφιξθσ, Ενεργζσ Ακμζσ Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι Απόκλιςθ (Skew), Σρίκλιςμα (Jitter) χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 3 ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ Γενικό Μοντέλο ύγχρονου Κυκλώματοσ Πιθανή Ανάδπαζη Ππυηεύοςζερ Είζοδοι (Primary Inputs) Πιθανή Ανάδπαζη υνδυαςτικι Λογικι (.Λ.) Καηασυπηηέρ Πιθανή Ανάδπαζη υνδυαςτικι Λογικι (.Λ.) Καηασυπηηέρ Ππυηεύοςζερ Έξοδοι (Primary Outputs) Ρολόι υνδζςεισ, Καταχωρθτζσ αποτελοφνται από πολλαπλά bit Καταχωρητζσ φνολο Flip-flop υνοριακά τοιχεία Ππυηεύοςζερ Είζοδοι (Primary Inputs) υνδυαςτική Λογική (ςφννεφο) Σοπικζσ Ζξοδοι = f(σοπικών Ειςόδων) Είναι πικανό να υπάρχει ανάδραςθ μεταξφ των τμθμάτων 4 2
Περιεχόμενα Γενικό Μοντζλο φγχρονου Κυκλώματοσ Είδθ Μονοπατιών τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμών Χρόνοσ Αναχώρθςθσ, Χρόνοσ Άφιξθσ, Ενεργζσ Ακμζσ Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι Απόκλιςθ (Skew), Σρίκλιςμα (Jitter) χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 5 ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ τατική Χρονική Ανάλυςη 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 : Ελάχιςτθ Κακυςτζρθςθ.Λ. Ελάχιστο μονοπάτι 6 3
ΧΑ Ελάχιςτη Περίοδοσ 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 7 ΧΑ Περιοριςμόσ Διατήρηςησ (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 8 4
Περιεχόμενα Γενικό Μοντζλο φγχρονου Κυκλώματοσ Είδθ Μονοπατιών τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμών Χρόνοσ Αναχώρθςθσ, Χρόνοσ Άφιξθσ, Ενεργζσ Ακμζσ Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι Απόκλιςθ (Skew), Σρίκλιςμα (Jitter) χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 9 ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ Παράδειγμα (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 Ποιό είναι το κρίσιμο μονοπάτι; Πόςθ είναι θ ελάχιςτθ περίοδοσ ρολογιοφ; Καλφπτονται όλεσ οι ςυνκικεσ χρονιςμοφ; 10 5
Παράδειγμα (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 Ποιό είναι το κρίςιμο μονοπάτι; 11 Παράδειγμα (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 12 6
Παράδειγμα (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 13 Παράδειγμα (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 14 7
Παράδειγμα (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 15 Περιεχόμενα Γενικό Μοντζλο φγχρονου Κυκλώματοσ Είδθ Μονοπατιών τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμών Χρόνοσ Αναχώρθςθσ, Χρόνοσ Άφιξθσ, Ενεργζσ Ακμζσ Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι Απόκλιςθ (Skew), Σρίκλιςμα (Jitter) χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 16 ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ 8
Περιοριςμοί ςτο Ρολόι Απόκλιςη (Skew) D AQ B Clk Δ Αν Δ = 0, το ςφςτθμα εναλλάςςει τιμζσ ΑΒ, ΒΑ, το παραπάνω παράδειγμα απόκλιςθσ άφιξθσ μπορεί να εμπεριζχεται και ςυνδυαςτικι λογικι μεταξφ Α, Β. Σι κα ςυμβεί κακώσ το Δ 0, και το Δ μεγαλώνει; Ο διακζςιμοσ χρόνοσ ΒΑ μικραίνει Αν Δ Σc2q, τότε θ είςοδοσ του Β κα ζχει γίνει Β, μια και κα ζχει επαναγραφεί το Α, άρα κα μείνουμε με ΒΒ, ΒΒ, 17 Απόκλιςη (Skew) και Σρίκλιςμα (Jitter) Απόκλιςη (Skew) τακερι από κφκλο ςε κφκλο Απόκλιςθ ςτουσ χρόνουσ άφιξθσ ςτο ςιμα ρολογιοφ ςτα διαφορετικά ςθμεία του κυκλώματοσ Σρίκλιςμα (Jitter) Μεταβλθτι απόκλιςθ από μεταβατικά, περιοδικά θ μθ φαινόμενα ςε ςυγκεκριμζνο ςθμείο του κυκλώματοσ Τ jitter Τ skew 18 9
Θετική και Αρνητική Απόκλιςη (α) Θεηική Απόκλιζη Ρολόι και Δεδομένα ππορ ηην ίδια καηεύθςνζη (β) Απνηηική Απόκλιζη Ρολόι και Δεδομένα ππορ ανηίθεηη καηεύθςνζη 19 Θετική Απόκλιςη Η ακμή αποζηολήρ καηαθηάνει ππιν ηην ακμή λήτηρ 20 10
Αρνητική Απόκλιςη Η ακμή λήτηρ καηαθηάνει ππιν ηην ακμή αποζηολήρ 21 Σρίκλιςμα (Jitter) Σο τρίκλιςμα προκαλεί δυναμικι μεταβολι τθσ περιόδου Σ από κφκλο ςε κφκλο 22 11
ΧΑ με Απόκλιςη και Σρίκλιςμα Απόκλιση: 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 (σείπιζηη πεπίπηυζη ελάσιζηηρ καθςζηέπηζηρ 23 Πηγέσ Απόκλιςησ, Σρικλίςματοσ (1): Γεννιτρια ρολογιοφ (PLL) Σρίκλιςμα (3): Μεταβλθτότθτα ςτισ υνδζςεισ Απόκλιςθ (2): Μεταβλθτότθτα ςτουσ οδθγοφσ Απόκλιςθ (4, 5): Μεταβλθτότθτα ςτθν τάςθ πθγισ, κερμοκραςία Σρίκλιςμα και Απόκλιςθ (6, 7): Αλλθλοεπίδραςθ μζςω Χωρθτικότθτασ (Παραςιτικζσ υνδζςεισ Πυκνωτών) Σρίκλιςμα 25 12
Δέντρα/Δίκτυα Ρολογιού και ΧΑ Καταχωρθτισ Χπόνοι Άθιξηρ Ενιςχυτισ Buffer Καταχωρθτισ Ρίηα - CLK Ενιςχυτισ Buffer Απόκλιζη Καταχωρθτισ Καταχωρθτισ Σφποι Δικτφων Ρολογιοφ Δζντρο (όπωσ δεξιά) Πλζγμα (Mesh) Ενιςχυτισ Buffer Καταχωρθτισ Καταχωρθτισ 26 Διάταξη Η-Δένδρου Με ηέλεια ιζοζκέλιζη ηυν μονοπαηιών η απόκλιζη μποπεί να γίνει μηδέν Μποπεί να ςποζηηπίξει θπαγή ηος πολογιού ζε διάθοπα επίπεδα ηος δένδπος 27 13
Πραγματικό Η-Δέντρο 28 Περιεχόμενα Γενικό Μοντζλο φγχρονου Κυκλώματοσ Είδθ Μονοπατιών τατικι Χρονικι Ανάλυςθ Βάςθ Περιοριςμών Χρόνοσ Αναχώρθςθσ, Χρόνοσ Άφιξθσ, Ενεργζσ Ακμζσ Παράδειγμα τατικισ Χρονικισ Ανάλυςθσ Χρονικοί Περιοριςμοί ςτο Ρολόι Απόκλιςθ (Skew), Σρίκλιςμα (Jitter) χεδίαςθ Δζντρων Φραγι Ρολογιοφ (Clock Gating) 29 ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ 14
Φραγή Ρολογιού (Clock Gating) Κατά ζνα μεγάλο ποςοςτό, οι καταχωρθτζσ διατθροφν τθν τιμι τουσ από κφκλο ςε κφκλο Ιδζα τόχοσ να εμποδίςουμε την ςχετική μετάβαςη του ρολογιοφ Μείωςη δυναμικήσ κατανάλωςησ ενζργειασ clk clk en en_1 en_2 en_3 en_4 30 Φραγή Ρολογιού με χρήςη Μανταλωτή Σο ςιμα ενεργοποίθςθσ (Enable) είναι ςτακερό μόνο πριν την ςχετική ακμή Χρησιμοποιούμε μανταλωτή πολικότητας αντίθετης των flip-flop Enable Clock D G Latch Q Gated_clock Clock Stability region Enable Q Gated_clock 31 15
Παράδειγμα Alpha 21264 600MHz, 0.35μm CMOS t cycle = 1.67ns t rise = 0.35ns t skew = 50ps Πολλαπλά τοπικά ρολόγια με δυνατότθτα φραγισ 2.8 nf φορτίο ςτο ρολόι 40 cm απόςταςθ ςτουσ τελευταίουσ οδθγοφσ PLL 32 ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ Παράδειγμα Alpha 21264 600MHz, 0.35μm CMOS 33 ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ 16
Παράδειγμα Alpha 21264 600MHz, 0.35μm CMOS ps 5 10 15 20 25 30 35 40 45 50 ps 300 305 310 315 320 325 330 335 340 345 GCLK Skew (at Vdd/2 Crossings) GCLK Rise Times (20% to 80% Extrapolated to 0% to 100%) 34 ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ 17