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

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

Self-resetting domino

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


Παρουσίαση με θέμα: "Self-resetting domino"— Μεταγράφημα παρουσίασης:

1 Self-resetting domino
Vdd Vdd Gnd Gnd

2 Self-resetting domino
Vdd Vdd Gnd Gnd

3 Self-resetting domino
Vdd Vdd Gnd Gnd

4 Κατανομή χρονισμού Πόσο χρόνο έχουμε σε έναν κύκλο
Χρησιμοποιώντας flop (non TB logic) Χρησιμοποιώντας latches (TB logic) Υπολογίζονται CSJ (Clock Skew and Jitter)

5 Μέγιστη καθυστέρηση Flop (non TB):
Tc=dlog+Tovhd, όπου: Tc είναι ο ελάχιστος κύκλος του ρολογιού dlog είναι η μέγιστη καθυστέρηση των λογικών πυλών Tovhd=Tsu+Tval+CSJ Tsu είναι ο setup time (για σωστή δειγματοληψία) Tval είναι η καθυστέρηση από το ρολόι στην έξοδο CSJ είναι ο χρόνος που κρατάμε για clock skew και jitter => Tc=dlog+ (Tsu+Tval+CSJ)

6 Κατανομή: Ελάχιστος κύκλος ρολογιού
in out clk MSFF Λογική standard cycle Τα flop δεν θα μεταφέρουν(*) περιθώρια από τον προηγούμενο κύκλο. Αν μια ακμή αργοπορεί, χάνεται χρόνος. Ο χρόνος αυτός πρέπει να υπολογιστεί ξανά στον επόμενο κύκλο. Η επόμενη λογική πρέπει να είναι μικρότερη. CSJ Prev. logic took Margin. Driven logic must take margin, too. * Μερικά flops επιτρέπουν borrowing περιπού 1inv delay.

7 Κατανομή χρονισμού latch (TB path)
Tc = dlog + Tovhd, όπου: Tc είναι ο ελάχιστος κύκλος του ρολογιού dlog είναι η μέγιστη καθυστέρηση των λογικών πυλών Tovhd=Tval +Tsu+CSJ. Είναι το ίδιο με τα Flop; Ναι, πρέπει να υπολογίσουμε τα CSJ, Tsu and Tval… Παρατήρηση: dlog είναι η μέγιστη δυνατή χρήσιμη καθυστέρηση μεταξύ δύο διαδοχικών latches Δεν τελειώσαμε ακόμα

8 Διαδρομή Latch in out clk Phi1 Phi2 Logic standard phase CSJ/2
50% duty doesn’t matter! Clock signal Logical delay, dlog Valid time, Tval setup time, Tsu

9 Μια μεγαλύτερη διαδρομή με Latch
clk in out Logic1 in out Logic2 in out 50% duty doesn’t matter! standard phase Clock signal. CSJ/2 CSJ/2 Logical delay, dlog1 dlog2 Valid time, Tval delay time, Td setup time, Tsu

10 Τι έχουμε: 1.5xTc = Dlog1+dlog2 +Tovhd, όπου:
Tovhd=Tval +Tsu+Td+CSJ Td είναι η καθυστέρηση του latch, από την είσοδο στην έξοδο, στη διαφανή φάση. Χρειάζεται να υπολογίσουμε το CSJ μόνο μια φορά στη διαδρομή στο πρώτο κομμάτι Οι διαδρομές δεν πρέπει να ξεκινούν ή να καταλήγουν σε latch.

11 Μη βέλτιστη σχεδίαση; clk in out Logic1 in out Logic2 in out
50% duty doesn’t matter! standard phase Clock signal. CSJ/2 CSJ/2 Logical delay, dlog1 dlog2 Valid time, Tval delay time, Td setup time, Tsu Οι διαδρομές δεν πρέπει να ξεκινούν ή να καταλήγουν σε latch

12 Time Borrowing Ορίζουμε ένα Time borrowing κύκλωμα σαν ένα κύκλωμα που δεν είναι ευαίσθητο στον ακριβή χρονισμό των ακμών του ρολογιού Τα σήματα μπορούν να περάσουν από level sensitive στοιχεία (latches) κατά το time borrowing window (TBW): ~Tc/2-Tsu Αν TBW>CSJ και το προηγούμενο τμήμα έλαβε υπόψη το CSJ τότε το CSJ δεν χρειάζεται να ξαναϋπολογιστεί nominal rise skew&jitter non TB req setup TB req Καθυστερημένες είσοδοι δεν μεταδίδονται σωστά

13 Ανακατανομή χρονισμού
Το TBW (time borrowing window) επιτρέπει την ανακατανομή του χρονισμού: έχουμε μεγαλύτερη καθυστέρηση σε ένα κομμάτι της κρίσιμης διαδρομής σε βάρος κάποιου άλλου χωρίς να καθυστερήσουμε κάποιο σήμα ρολογιού μειώνεται το περιθώριο μεταβολής χρονισμού

14 TB quiz Αν τα στοιχεία είναι flops (setup=tsu) : Tcmin=
Clock, T[ps], Jitter=csj[ps] D1[ps] D2[ps] State element State element D1=D2=D Αν τα στοιχεία είναι flops (setup=tsu) : Tcmin= a) D+csj+Tsu+Tval b) D+Tsu-csj c) D+Tsu Αν τα στοιχεία είναι latches (delay=td): Tcmin= a) D+td b) 2D+2Tsu c) 2D+2csj 4Tmin

15 TB quiz Clock, T[ps], Jitter=csj[ps] D1[ps] D2[ps] State element State element D1=D2=D Αν τα στοιχεία είναι flops (setup=tsu) : Tcmin= (a) D+csj+Tsu+Tval Αν τα στοιχεία είναι latches (delay=td): Tcmin= (a) D+td 4Tmin

16 Κύματα time borrowing Δεν συμψηφίζουμε καθυστερήσεις! setup “delay”
csj Transp. setup Δεν συμψηφίζουμε καθυστερήσεις!

17 Παρατηρήσεις Το Setup time ενός στοιχείου TB ΔΕΝ ΕΙΝΑΙ πάνω στην κρίσιμη διαδρομή. όσο ισχύει Tsu+csj+(path variability)< Phase width Το setup time ενός στοιχείου non TB ΕΙΝΑΙ πάνω στην κρίσιμη διαδρομή. ισοδύναμη με την καθυστέρηση ενός στοιχείου TB. Σε κάθε διαδρομή κύκλου με flops χρειάζεται να υπολογίσουμε CSJ+Tval+Tsu με latches χρειάζεται να υπολογίσουμε 2Td. Μόνο ο πρώτος κύκλος χρειάζεται να υπολογίσουμε το CSJ

18 Υπολογίζουμε την CSJ Clock skew για min delay – είναι RACE
Χρειάζεται να δώσουμε περιθώριο ~5σ, γιατί κάθε αστοχία είναι καταληκτική (το ολοκληρωμένο πετιέται). Αλλά: Το overdesign κοστίζει ισχύ, χώρο και προσπάθεια. Clock skew και Jitter για max delay Δεν είναι λειτουργικό πρόβλημα – είναι θέμα στατιστικής κατανομής της απόδοσης των ολοκληρωμένων. Το περιθώριο που δίνουμε είναι ~1σ. Αγνοώντας το δημιουργούμε προβλήματα στο yield. κοστίζει σε απόδοση και επιπλέον σχεδιαστική προσπάθεια.

19 Ερωτήσεις (hw, test?) Πώς αναμιγνύουμε FF και latch? Colors?
Τι είναι περιττό, τι δεν μπορεί να γίνει; Σχέση μεταξύ setup, valid και καθυστέρησης Σε ένα flop, latch και pulsed latch (FF με TB) Min delay buffers σε ένα enabled flop

20 Σύγκλιση χρονισμού Ο χρονισμός πρέπει να είναι συνεπής
Απόδοση και προδιαγραφές πολλών στοιχείων

21 Σύγκλιση χρονισμού Αν δεν ξεκινήσει από κάποιο λογικό σημείο…
θα αργήσει να συγκλίνει…

22 Σύγκλιση χρονισμού Αν δεν ξεκινήσει από κάποιο λογικό σημείο…
θα αργήσει να συγκλίνει…

23 Σύγκλιση χρονισμού Αν δεν ξεκινήσει από κάποιο λογικό σημείο…
θα αργήσει να συγκλίνει…

24 Σύγκλιση χρονισμού Αν δεν ξεκινήσει από κάποιο λογικό σημείο…
θα αργήσει να συγκλίνει…

25 Σύγκλιση χρονισμού Αν δεν ξεκινήσει από κάποιο λογικό σημείο…
θα αργήσει να συγκλίνει…

26 Σύγκλιση χρονισμού Καλύτερα είναι να ξεκινήσει κοντά στην τελική τιμή
με παρατήρηση και ανάλυση πριν χρησιμοποιήσουμε εργαλεία

27 Σύγκλιση χρονισμού Αναλύουμε τις καθυστερήσεις του συστήματος
κατανοούμε τους περιορισμούς ορίζουμε λογικές προδιαγραφές προσπαθούμε να αφήσουμε κάποιο περιθώριο… delay1 delay2 input output Delay1+2 input output


Κατέβασμα ppt "Self-resetting domino"

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


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