Xρονισμός ψηφιακών κυκλωμάτων Γιώργος Δημητρακόπουλος Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Φθινόπωρο 2008 ΗΥ220 1
Περιεχόμενα μαθήματος Καθυστέρηση λογικών πυλών και των συνδυαστικών κυκλωμάτων Η καθυστέρηση των ακολουθιακών στοιχείων και οι περιορισμοί για την ορθή λειτουργία τους Χρονική ανάλυση ελάχιστη περίοδος λειτουργίας Μη ιδανικά ρολόγια Παραδείγματα Φθινόπωρο 2008 ΗΥ220 2
Καθυστερήσεις πυλών Καθυστέρηση διάδοσης (Tdab) Η καθυστέρηση μεταξύ της τελευταίας αλλαγής της εισόδου a έως την τελευταία αλλαγή της εξόδου b (Ο χρόνος μεταξύ σταθεροποιημένων εισόδων σε σταθεροποιημένες εξόδους) Contamination Delay (Tcab) Η καθυστέρηση μεταξύ της πρώτης αλλαγής της εισόδου a έως και την πρώτη αλλαγή της εξόδου b Φθινόπωρο 2008 ΗΥ220 3
Αθροιστικές καθυστέρησεις Μικρό παράδειγμα: Καθυστέρηση διάδοσης ίση με contamination delay (ο χρόνος αναγράφεται μέσα στην πύλη) Φθινόπωρο 2008 ΗΥ220 4
Παράδειγμα καθυστερήσεων Πλήρης αθροιστής Ποιες είναι οι τιμές των Tda-s, Tca-s x Tdcin-s, Tccin-s Tda-cout, Tca-cout Tdcin-cout, Tccin-cout Minimum Path Delays Delay a b cin g 80 80 - k 120 120 - cout 200 200 120 x 200 200 80 s 240 240 120 Maximum Path Delays Delay a b cin g 80 80 - k 200 200 - cout 320 320 120 x 280 280 80 s 400 400 200 Ποιο μονοπάτι είναι το χειρότερο και πιο το καλύτερο από πλευράς καθυστέρησης? Στην πραγματικότητα το πρόβλημα ποιο σύνθετο Φθινόπωρο 2008 ΗΥ220 5
Παράδειγμα καθυστερήσεων Πλήρης αθροιστής a H contamination και η καθυστέρηση διάδοσης εξαρτώνται και από τη σειρά αλλαγής των εισόδων b g 80ps 120ps k 120ps Πρώτη αλλαγή Ποια είναι η καθυστέρηση στα g_b και k όταν τα a, b μεταβαίνουν από το 0, 0 στο 1,1. Είναι η καθυστέρηση αυτή η χειρότερη ή καλύτερη? Για να δούμε στην εξομοίωση τις ελάχιστες ή τις μέγιστες καθυστερήσεις ενός κυκλώματος πρέπει να βρούμε τους συνδιασμούς των εισόδων που ενεργοποιούν τα αντίστοιχα μονοπάτια. ΠΟΛΥ ΔΥΣΚΟΛΟ ΠΡΟΒΛΗΜΑ Συνήθως αρκούμαστε στην στατική ανάλυση της τοπολογίας του κυκλώματος μας Τελευταία αλλαγή Φθινόπωρο 2008 ΗΥ220 6
Καθυστέρηση αθροιστή Ξέροντας τι συμβαίνει με τον πλήρη αθροιστή (Full Adder) ποιες είναι οι ζητούμενες καθυστερήσεις σε έναν αθροιστή των n δυαδικών ψηφίων Πόσα μονοπάτια πρέπει να αντιμετωπίσετε; Σε ποια έξοδο συμβαίνει η ταχύτερη και σε ποια η αργότερη αλλαγή; Φθινόπωρο 2008 ΗΥ220 7
Αναφορές καθυστερήσεων - παραδείγματα Το αποτέλεσμα του static timing analysis Μας δίνουν μια αίσθηση πόσο μακριά ή κοντά είμαστε από το στόχο της καθυστέρησης που θέσαμε (θετίκο ή αρνητικό delay slack) Φθινόπωρο 2008 ΗΥ220 8
Μη μπερδεύεται H contamination καθυστέρηση δεν είναι ίδια με την ελάχιστη καθυστέρηση ενός κυκλώματος Contamination καθυστέρηση- Ο ελάχιστος χρόνος που απαιτείται ώστε η πρώτη αλλαγή της εισόδου να προκαλάεσει την πρώτη αλλαγή της εξόδου Η ελάχιστη καθυστέρηση είναι ο ελάχιστος χρόνος is the minimum amount of time from an input signal change (to its correct value) to an output signal taking on its correct value Φθινόπωρο 2008 ΗΥ220 9
Γενική δομή ακολουθιακών κυκλωμάτων Φθινόπωρο 2008 ΗΥ220 10
Ακολουθιακά κυκλώματα με 1 ρολόϊ - Αυτά που σχεδιάζουμε συχνότερα Clock Δεν υπάρχουν κυκλικά συνδιαστικά μονοπάτια Όλα τα ακολουθιακά στοιχεία λαμβάνουν το ίδιο ρολόϊ Τα ακολουθιακά στοιχεία ενεργοποιούνται όλα στην ίδια ακμή του ρολογιού θετική ή αρνητική Ποια πρέπει να είναι η περίοδος του ρολογιού? Πως εξαρτάται από τη συνδιαστική λογική που παρεμβάλεται μεταξύ των flip-flop; Φθινόπωρο 2008 ΗΥ220 11
Καταχωρητές FLIP-FLOP: Χρονικοί περιορισμοί εισόδου CLK D t setup t hold Περιορισμός χρόνου setup: Ο ελάχιστος χρόνος πριν την ακμή του ρολογιού όπου τα δεδομένα είσοδου πρέπει να του καταχωρητή έχουν σταθεροποιηθεί Περιορισμός χρόνου hold: O ελάχιστός χρόνος μετά την ακμή του ρολογιού που τα δεδομένα εισόδου πρέπει να μείνουν σταθερά (δεν επιτρέπεται να αλλάξουν) Παράθυρο δειγματοληψίας Ta = Tsetup (πριν την ακμή) και Thold μετά Υπάρχουν και άλλα δύο είδη ακολουθιακών στοιχείων μνήμης τα latches και τα pulsed-latches. Στο μάθημα αυτό θα περιοριστούμε στην ανάλυση της λειτουργίας και των περιορισμών των ακμοπυροδοτητών (edge-triggered) flipflop. t a Φθινόπωρο 2008 ΗΥ220 12
Περιορισμός setup CLK D t setup t hold t a Clk t D t Q Όταν τα δεδομένα αλλάζουν κοντά στην ακμή του ρολογιού μπορούμε να έχουμε παραβίαση του setup χρόνου Αυξάνει η καθυστέρηση ενώ μπορεί να παρτηρήσουμε «περίεργη» συμπεριφορά της εξόδου Φθινόπωρο 2008 ΗΥ220 13 t
Καταχωρητές: Καθυστερήσεις εξόδου Καθυστέρηση διάδοσης: t dcq = ο χρόνος μετά την ακμή του ρολογιού όπου είναι η εγγυημένο πως η έξοδος θα πάρει σταθερή τιμή (όλες οι μεταβάσεις της εξόδου θα έχουν ολοκληρωθεί) Contamination delay: t ccq = Ο χρόνος μετά την ακμή του ρολογιού όπου η έξοδος Q μπορεί να αρχίζει να αλλάζει (η πρώτη αλλαγή που παρατηρούμε) Φθινόπωρο 2008 ΗΥ220 14
Κανόνες λειτουργίας Η είσοδος σε ένα ακολουθιακό στοιχείο ένα flip-flop πρέπει να παραμείνει σταθερή σε όλη τη διάρκεια του παραθύρου δειγματοληψίας γύρω από την ακμή του ρολογιού. Η είσοδος πρέπει να έχει σταθεροποιηθεί Τουλάχιστο χρόνο t setup πρίν την ακμή Και να παραμείνει σταθερή χρόνο t hold μετά την ακμή Οι καθυστερήσεις της εξόδου των flip-flop επηρεάζουν μόνο τις επιδόσεις του κυκλώματος (εν μέρει) και όχι την ορθή λειτουργία του Φθινόπωρο 2008 ΗΥ220 15
Καθορισμός συχνότητας ρολογιού CLK Q1 CL D2 CLK (a) R1 R2 T c CLK Q1 D2 (b) Η καθυστέρη μεταξύ δύο καταχωρητών έχει μια μέγιστη και μια ελάχιστη τιμή η οποία εξαρτάται από το χρόνο διάδοσης και contamination της συνδιαστικής λογικής Φθινόπωρο 2008 ΗΥ220 16
Κύκλωμα παράδειγμα Το κύκλωμα που θα χρησιμοποιήσουμε για το παράδειγμα μας αποτελείται από ένα κομμάτι Max που παρουσιάζει τη μέγιστη καθυστέρηση διάδοσης και από ένα άλλο που εμφανίζει την ελάχιστη Οι συνδέσεις των καταχωρητών θα μπορούσαν να είναι με οποιόδήποτε άλλο τρόπο Φθινόπωρο 2008 ΗΥ220 17
Περιορισμός χρόνου setup Ελάχιστη περίοδος του ρολογιού Μας ενδιαφέρει το μονοπάτι με τη μεγαλύτερη καθυστέρηση διάδοσης Ανάλυση μονοπατιού Το σήμα στο a σταθερό ΤdcQ μετά την ακμή του ρολογιού Το σήμα σταθερό στο b μετά Τdab Πρέπει το άθροισμα των καθυστερήσεων να είναι τέτοιο ώστε να έχουμε φτάσει χρόνο setup πριν την επόμενη ακμή του ρολογιού Τc > ΤdcQ + TdMax + Tsetup Φθινόπωρο 2008 ΗΥ220 18
Περιορισμός χρόνου hold Ο περιορισμός του χρόνου hold εξαρτάται από την ελάχιστη καθυστέρηση από τον ένα καταχωρητή στον άλλο. Μετά την ακμή το σήμα εισόδου δεν πρέπει να αλλάξει για τουλάχιστον t hold Ανάλυση μονοπατιού Το σήμα στο c αρχίζει να αλλάζει ΤccQ μετά την ακμή του ρολογιού Το σήμα d κάνει με τη σειρά του την πρώτη αλλαγή μετά από Τccd Πρέπει το άθροισμα των καθυστερήσεων contamination να είναι να είναι μεγαλύτερο από το hold ώστε να έχει «τελειώσει» με ασφάλεια το παράθυρο δειγματοληψίας t hold < t ccq + t ccd t ccd > t hold - t ccq Προσέχουμε ώστε την παλιά τιμή να μην την προσπεράσει η καινούρια Φθινόπωρο 2008 ΗΥ220 19
Παράδειγμα TdCQ = TcCQ = Ts = 150ps Th = 250ps TdMax = 850ps TcMin = 100ps Ικανοποιείται ο περιορισμός του χρόνου hold? Ποια είναι η ελάχιστη περίοδος ρολογιού στην οποία μπορεί το κύκλωμα να λειτουργήσει? Φθινόπωρο 2008 ΗΥ220 20
Παράδειγμα CLK CLK A B X' C Y' D t pd = 35 + 35 + 35 ps = 105 ps (A -> Y ) t cd = 25ps (D->Y ) Setup time constraint: T c Tdcq + Tpd + Tsetup = 50 + 105 + 60ps f c = 1/T c = 1/215ps = 4.65 GHz Φθινόπωρο 2008 ΗΥ220 21 X Y Χρονικά χαρακτηριστικά per gate per flip-fop t ccq = 30 ps t dcq = 50 ps t setup = 60 ps t hold = 70 ps t pd = 35 ps t cd = 25 ps Hold time constraint: Πρόβλημα!!!! t ccq + t cd > t hold? 30 + 25 = 55 < 70 ps
Διόρθωση violation hold Πρόσθεσε buffers στα «μικρά» μονοπάτια: CLK CLK A B C X' X Χρονικά χαρακτηριστικά per flip-fop t ccq = 30 ps t pcq = 50 ps t setup = 60 ps t hold = 70 ps Y' D t pd = 35 + 35 + 35 ps = 105 ps (A -> Y ) t cd = 25 + 25 = 50 ps (D -> Y ) Setup time constraint: T c (50 + 105 + 60) ps = 215 ps f c = 4.65 GHz Y per gate t pd = 35 ps t cd = 25 ps Hold time constraint: t ccq + t pd > t hold? (30 + 50) ps > 70 ps? Σωστό Φθινόπωρο 2008 ΗΥ220 22
Μη ιδανικά ρολόγια - Clock skew Το ρολόι δε φτάνει σε όλους τους καταχωρητές στον ίδιο χρόνο Το clock skew ορίζεται ως η διαφορά άφιξης της ακμής του ρολογιού μεταξύ δύο καταχωρητών Πρέπει να εξασφαλίσουμε πως και μετά την παρουσία του clock skew οι περιορισμοί χρόνου των καταχωρητών τηρούνται Πως επιρεάζει αυτό τις επιδόσεις του κυκλώματος μας; CLK1 R1 Q1 delay C L D2 CLK R2 CLK2 t skew CLK1 CLK2 CLK Φθινόπωρο 2008 ΗΥ220 23
Περιορισμός setup με clock skew Στη χειρότερη περίπτωση το CLK2 έρχεται νωρίτερα από το CLK1 CLK1 CLK1 R1 Q1 CL T c D2 CLK2 R2 Προσοχή το CLK1 και το CLK2 δεν είναι διαφορετικά ρολόγια. Είναι το ίδιο μόνο που το CLK2 φτάνει στον προορισμό του με διαφορά tskew σε σχέση με το CLK1 CLK2 Q1 T c t pcq + t pd + t setup + t skew t pd T c (t pcq + t setup + t skew ) D2 t pcq t pd t setup t skew Φθινόπωρο 2008 ΗΥ220 24
Περιορισμός hold με clock skew Στη χειρότερη περίπτωση το CLK2 έρχεται αργότερα από το CLK1 CLK1 R1 Q1 C L D2 CLK2 R2 CLK1 CLK2 Q1 t ccq + t cd > t hold + t skew t cd > t hold + t skew t ccq D2 t ccq t cd t skew t hold Φθινόπωρο 2008 ΗΥ220 25
Περίληψη Οι καθυστερήσεις των κυκλωματικών στοιχείων Καθυστέρηση διάδοσης Contamination καθυστέρηση Χρονικοί περιορισμοί των Flip-flopς Χρόνος Setup (Τs) Χρόνος Hold (Τh) H περίοδος του ρολογιού εξαρτάται από τη μέγιστη καθυστέρηση Τc > Τdc-q + TdMax + Ts Η σωστή λειτουργία εξαρτάται εξίσου και από την ελάχιστη καθυστέρηση Τh < Tcc-q + TcMin Το Clock skew επηρεάζει και τους δύο Tc > Τdc-q + TdMax + Ts + Tskew Th < Tcc-q + TcMin - Tskew Φθινόπωρο 2008 ΗΥ220 26
Άσκηση εξάσκησης t ccq = 0.8 ns t pcq = 0.8 ns t setup = 0.5 ns t hold = 0.4 ns Για τα flip-flop D Q tdmin = 3ns tdmax = 8ns CLK A D Q tdmin = 2ns tdmax = 11ns CLK B Ποια είναι η ελάχιστη περίοδος λειτουργίας του κυκλώματος; Υποθέστε πως θέτουμε την περίοδο του ρολογιού στην τιμή που απαντήσατε στο προηγούμενο ερώτημα. Για κάθε ένα από τα 3 σενάρια που ακολουθούν εξηγήστε αν το κύκλωμαθα συνεχίσει να λειτουργεί σωστά. Αν όχι τι χρειάζεται για να το διορθώσετε Το ρολόι φτάνει στο flip-flop B 1ns αργότερα έναντι του Α Το ρολόι φτάνει στο flip flop Β 1ns νωρίτερα έναντι του Α Το ρολόι φτάνει στο flip flop Β 3ns νωρίτερα έναντι του Α Φθινόπωρο 2008 ΗΥ220 27