Λογική εξομοίωση και εξομοίωση σφαλμάτων
Περίγραμμα ργρ Επιβεβαίωση σχεδιασμού και εξομοίωση (Verification and Simulation) Είδη εξομοίωσης (Types of Simulation) Εξομοίωση σφαλμάτων (Fault Simulation) Σειριακή εξομοίωση σφαλμάτων (Serial fault simulation) Παράλληλη εξομοίωση σφαλμάτων (Parallel fault simulation) Επαγωγική εξομοίωση σφαλμάτων (Deductive fault simulation) Ταυτόχρονη εξομοίωση σφαλμάτων (Concurrent fault simulation) Κάλυψη σφαλμάτων (Fault Coverage) Λεξικό σφαλμάτων (Fault Dictionary) 2
Επιβεβαίωση σχεδιασμού (Verification) Λογική εξομοίωση» αργή Εξομοίωση με υλικό (Emulation)» πχ. χρησιμοποιώντας FPGAs για την υλοποίηση της σχεδίασης (για την εξομοίωση του Pentium χρησιμοποιήθηκαν 3500 Xilinx 3000 FPGAs) Τυπική εξομοίωση (Formal l Verification) ) 3
Σύστημα λογικής εξομοίωσης διέγερση γρ μοντέλο σχεδίασης εξομοιωτής βιβλιο- θήκη απόκριση αναμενόμενη απόκριση 4
Διέγερση εισόδων Λογικές τιμές Κυματομορφές Ψευδοτυχαία διανύσματα Test benches 5
Είδη εξομοιωτών Λογικό επίπεδο έναντι άλλων επιπέδων (Logic versus other levels : RTL, switch etc.) Λειτουργικός έναντι χρονικού (Functional versus timing) Μεταφρασμένου κώδικα έναντι οδηγούμενων από γεγονότα (Compiled versus event driven) Λογικός εξομοιωτής έναντι εξομοιωτή σφαλμάτων 6
Επίπεδο εξομοίωσης (Simulation Level) Εξομοίωση σε επίπεδο συμπεριφοράς (Behavioral level) Εξομοίωση σε επίπεδο καταχωρητή (RTL) Εξομοίωση σε λογικό επίπεδο (Logic level) Εξομοίωση σε επίπεδο διακόπτη (Switch level) Εξομοίωση σε επίπεδο κυκλώματος (Circuit level) Μεικτού τύπου εξομοίωση (Mixed mode simulation) 7
Είδη εξομοιωτών Λογικό επίπεδο έναντι άλλων επιπέδων (Logic versus other levels : RTL, switch etc.) Λειτουργικός έναντι χρονικού (Functional versus timing) Μεταφρασμένου κώδικα έναντι οδηγούμενων από γεγονότα (Compiled versus event driven) Λογικός εξομοιωτής έναντι εξομοιωτή σφαλμάτων 8
Χρονικό μοντέλο Χρονικό μοντέλο» χρόνος εκτέλεσης (execution time)» ακρίβεια (accuracy) 9
Χρονικά μοντέλα Καθυστέρηση διάδοσης (transport delay) μηδενική ή μοναδιαία καθυστέρηση ονομαστική καθυστέρηση, nominal delay, (κάθε στοιχείο του κυκλώματος έχει τη δική του καθυστέρηση διάδοσης, αλλά την ίδια για μετάβαση από 0 σε 1 και από 1 σε 0 για κάθε συνιστώσα του κυκλώματος λαμβάνονται υπόψη περισσότερες από μία καθυστερήσεις (χρόνος μετάβασης από 0 σε 1 και χρόνος μετάβασης από 1 σε 0) το μοντέλο του ελάχιστης - μέγιστης καθυστέρησης Καθυστέρηση αδράνειας (Inertial delay) 10
Στατική χρονική ανάλυση (Static Timing Analysis, STA) Μονοπάτι μέγιστης καθυστέρησης, Critical path delay» Πλεονέκτημα - μικρή πολυπλοκότητα» Προβλήματα - δεν λαμβάνεται υπ' όψιν η λειτουργία του κυκλώματος ψεύτικα μονοπάτια (False paths) 11
Είδη εξομοιωτών Λογικό επίπεδο έναντι άλλων επιπέδων (Logic versus other levels : RTL, switch etc.) Λειτουργικός έναντι χρονικού (Functional versus timing) Μεταφρασμένου κώδικα έναντι οδηγούμενων από γεγονότα (Compiled versus event driven) Λογικός εξομοιωτής έναντι εξομοιωτή σφαλμάτων 12
Εξομοιωτές μεταφρασμένου κώδικα Διαδικασία Διάβασε την περιγραφή του κυκλώματος Σπάσε τα μονοπάτια ανάδρασης, αν υπάρχουν Διάταξε τις πύλες σε επίπεδα Παρήγαγε γ τομεταφρασμένο μ κώδικα Διάβασε την αρχική τιμή κάθε γραμμής εισόδου Διάβασε το επόμενο διάνυσμα εισόδου και ενημέρωσε τις τιμές Για κάθε νέα δεδομένα εισόδου επανέλαβε Για κάθε επίπεδο λογικής επανέλαβε Για κάθε πύλη του επιπέδου επανέλαβε Εκτέλεσε τις εντολές που αντιστοιχούν στην πύλη Τέλος επανάληψης Τέλος επανάληψης Εάν οι νέες τιμές των εξόδων των γραμμών ανάδρασης είναι ίδιες με τις παλιές τότε βγάλε αποτελέσματα Διαφορετικά έθεσε στις εισόδους των γραμμών ανάδρασης τις τιμές των εξόδων Τέλος επανάληψης Τέλος διαδικασίας 13
Διάταξη των πυλών σε επίπεδα (levelization) C D E G G2 G1 F A B G3 H G4 G5 G7 G8 G9 I G6 J G10 Level 0 Level 1 Level 2 Level 3 Level 4 14
Παράδειγμα λογικής εξομοίωσης με εξομοιωτή μεταφρασμένου κώδικα A B C D E F A D B F C E 0 1 2 3 4 5 6 7 8 9 LOAD r1, A LOAD r2, B AND r1, r2 COMPLEMENT r1 LOAD r3, C COMPLEMENT r3 AND r1, r3 COMPLEMENT r1 STORE F, r1 15
Εξομοιωτές μεταφρασμένου κώδικα Μειονεκτήματα» Για κάθε συνδυασμό εισόδου υπολογίζονται οι τιμές όλων των κόμβων του κυκλώματος» Δεν λαμβάνει υπόψη του τις καθυστερήσεις των πυλών 16
Εξομοιωτές οδηγούμενοι από γεγονότα (Event-Driven Simulation) παράδειγμα δ.1 1 E (1) G(1) C(0) D(0) G2 (0) G1 0 F(1) A(0) B(0) G3 H(1) 1 G4 G5 G7 0 0 1 G8 0 G9 1 I(1) G6 J(1) G10 1 17
Εξομοιωτές οδηγούμενοι από γεγονότα (Event-Driven Simulation) παράδειγμα δ.2 2 E (1) => (0) G(1) C(0) D(0) G2 * (0) G1 => (1) 0 F(1) A(0) B(0) G3 * H(1) 1 G4 G5 G7 0 0 1 G8 0 G9 * 1 I(1) G6 J(1) G10 1 18
Τροχός του χρόνου 19
Εξομοιωτές Οδηγούμενοι από γεγονότα γγ Διαδικασία: Διάβασε την περιγραφή του κυκλώματος Διάβασε διανύσματα εισόδου Για κάθε διάνυσμα εισόδου που πρέπει να εξομοιωθεί επανέλαβε Ενημέρωσε τις εισόδους Χρονοπρογραμμάτισε τις πύλες που οδηγούνται από εισόδους που άλλαξαν τιμή εφόσον υπάρχουν πύλες προς επεξεργασία υπολόγισε την τιμή εξόδου μιας πύλης εάν άλλαξε η τιμή εξόδου μιας πύλης τότε χρονοπρογραμμάτισε τις πύλες που οδηγούνται από αυτή τέλος επανάληψης τέλος επανάληψης τέλος διαδικασίας 20
Εξομοιωτές οδηγούμενοι από γεγονότα παράδειγμα A B C D E F 0 1 2 3 4 5 6 7 8 9 21
Εξομοιωτές οδηγούμενοι από γεγονότα Πλεονεκτήματα» σημαντική μείωση του χρόνου εξομοίωσης» μπορεί να λάβει υπόψη του τις καθυστερήσεις των πυλών ανιχνεύει αιχμές 22
Είδη εξομοιωτών Λογικό επίπεδο έναντι άλλων επιπέδων (Logic versus other levels : RTL, switch etc.) Λειτουργικός έναντι χρονικού (Functional versus timing) Μεταφρασμένου κώδικα έναντι οδηγούμενων από γεγονότα (Compiled versus event driven) Λογικός εξομοιωτής έναντι εξομοιωτή σφαλμάτων 23
Σκοπός της εξομοίωση σφαλμάτων Ανίχνευση συγκεκριμένων εσφαλμένων συνθηκών Καθοδήγηση της διαδικασίας εξαγωγής διανυσμάτων δοκιμής Μέτρηση της απόδοσης του συνόλου δοκιμής Εξαγωγή λεξικών σφαλμάτων 24
Εξομοίωση σφαλμάτων σύνολο δοκιμής σχεδίασης εξομοιωτής σφαλμάτων σύνολο σφαλμά- των μοντέλο βιβλιο- θήκη αξιολόγηση 25
Μείωση του χρόνου εξομοίωσης σφαλμάτων Fault collapsing Fault dropping 26
Εξομοιωτές σφαλμάτων σε λογικό επίπεδο (Fault simulators) Σειριακοί εξομοιωτές σφαλμάτων (Serial i l fault simulators) Παράλληλοι εξομοιωτές σφαλμάτων (Parallel fault simulators) Επαγωγικοί εξομοιωτές σφαλμάτων (Deductive fault simulators) Σύνδρομοι εξομοιωτές σφαλμάτων (Concurrent fault simulators) 27
Παράδειγμα σειριακής εξομοίωσης λίστα Διανύσματα σφαλμάτων δοκιμής θ/0 α β γ δε θ/1 0 1 0 1 1 ζ/0 11000 1 0 0 ζ/1 0 0 1 1 1 η/0 0 0 1 1 0 κ/1 λ/0 28
Παράδειγμα σειριακής εξομοίωσης- λογική εξομοίωση λίστα Διανύσματα σφαλμάτων δοκιμής θ/0 α β γ δε θ/1 0 1 0 1 0 ζ/0 11000 1 0 0 ζ/1 0 0 1 1 1 η/0 0 0 1 1 0 κ/1 λ/0 29
Παράδειγμα σειριακής εξομοίωσης σφάλματος για το σφάλμα θ/0 λίστα Διανύσματα σφαλμάτων δοκιμής θ/0 α β γ δε θ/1 0 1 0 1 0 ζ/0 11000 1 0 0 ζ/1 0 0 1 1 1 η/0 0 0 1 1 0 κ/1 λ/0 30
Εξομοιωτές σφαλμάτων σε λογικό επίπεδο (Fault simulators) Σειριακοί εξομοιωτές σφαλμάτων (Serial i l fault simulators) Παράλληλοι εξομοιωτές σφαλμάτων (Parallel fault simulators) Επαγωγικοί εξομοιωτές σφαλμάτων (Deductive fault simulators) Σύνδρομοι εξομοιωτές σφαλμάτων (Concurrent fault simulators) 31
Βασική ιδέα της παράλληλης εξομοίωσης σφαλμάτων δ.1 Bit 0: fault-free circuit Bit 1: circuit with c s-a-0 Bit 2: circuit with f s-a-1 1 1 1 a b 1 1 1 c s-a-0 e g d f s-a-1 32
Βασική ιδέα της παράλληλης εξομοίωσης σφαλμάτων δ.2 Bit 0: fault-free circuit Bit 1: circuit with c s-a-0 Bit 2: circuit with f s-a-1 a b 1 1 1 1 1 1 1 0 1 c s-a-0 e 0 0 0 1 0 1 c s-a-0 detected 1 0 1 g d f s-a-1 0 0 1 33
Εισαγωγή σφάλματος προς εξομοίωση (fault injection) για παράλληλη εξομοίωση σφαλμάτων Bit 0: fault-free circuit Bit 1: circuit it with s-a-0 Bit 2: circuit with s-a-1 s-a-0 s-a-1 34
Εισαγωγή σφάλματος προς εξομοίωση για παράλληλη εξομοίωση σφαλμάτων Bit 0: fault-free circuit Bit 1: circuit with s-a-0 Bit 2: circuit with s-a-1 s-a-0 s-a-1 35
Εξομοιωτές σφαλμάτων σε λογικό επίπεδο (Fault simulators) Σειριακοί εξομοιωτές σφαλμάτων (Serial i l fault simulators) Παράλληλοι εξομοιωτές σφαλμάτων (Parallel fault simulators) Επαγωγικοί εξομοιωτές σφαλμάτων (Deductive fault simulators) Σύνδρομοι εξομοιωτές σφαλμάτων (Concurrent fault simulators) 36
Επαγωγική εξομοίωση- διάδοση λίστας σφαλμάτων δ.11... x=1 L x y=0 L y z L x!l y z/0 37
Επαγωγική εξομοίωση- διάδοση λίστας σφαλμάτων δ.22 38
Επαγωγική εξομοίωση- διάδοση λίστας σφαλμάτων δ.33... x=1 L L x y=0 Q z=0 L z L y L x!(l y L z ) Q/0 y 39
Επαγωγική εξομοίωση- διάδοση λίστας σφαλμάτων δ.44... x=1 L L x y=0 Q z=0 L z L y L x!(l y L z ) Q/0 y 40
Επαγωγική εξομοίωση- διάδοση λίστας σφαλμάτων δ.55... 41
Επαγωγική εξομοίωση- διάδοση λίστας σφαλμάτων δ.66... 42
Επαγωγική εξομοίωση- διάδοση λίστας σφαλμάτων δ.77... x=1 y=0 L x L y z L y!l x z/1 43
Επαγωγική εξομοίωση- διάδοση λίστας σφαλμάτων δ.88 44
Επιλεκτική διέγερση στην επαγωγική εξομοίωση σφαλμάτων Λογική διέγερση (Logic events) Διέγερση λίστας (List events) 45
Επαγωγική εξομοίωση σφαλμάτων- παράδειγμα δ.1 a = 1 b=0 G1 f G2 g c=0 d=1 m k G3 h e=0 G1 i G5 u 46
Επαγωγική εξομοίωση σφαλμάτων- παράδειγμα δ.2 a = 1 b=0 G1 f = 0 G2 g = 1 c=0 d=1 m= 0 k = 0 G3 h=0 e=0 G1 i=0 G5 u=1 47
Επαγωγική εξομοίωση σφαλμάτων- παράδειγμα δ.3 L!L L f/1 b a a = 1 b=0 G1 f = 0 G2 L g =L f L k g/o g = 1 L u =L g!l i u/o c=0 d=1 m= 0 k = 0 h=0 G3 L c!l d h/1 e=0 G1 i=0 G5 u=1 L = L L i h e i/1 48
Επαγωγική εξομοίωση σφαλμάτων- παράδειγμα δ.4 L!L L f/1 b a a =0 b=0 G1 f = 0 G2 L g =L f L k g/o g = 1 L u =L g!l i u/o c=0 d=1 m= 0 k = 0 h=0 G3 L c!l d h/1 e=0 G1 i=0 G5 u=1 L = L L i h e i/1 49
Επαγωγική εξομοίωση σφαλμάτων- παράδειγμα δ.5 a =0 b=0 G1 f = 0 G2 L g =L f L k g/o g = 1 L u =L g!l i u/o c=0 d=1 m= 0 k = 0 h=0 G3 L c!l d h/1 e=0 G1 i=0 G5 u=1 L = L L i h e i/1 50
Επαγωγική εξομοίωση σφαλμάτων- παράδειγμα δ.6 a = 0 b=0 G1 f = 0 G2 g = 1 c=0 d=1 m= 0 k = 0 h=0 G3 L c!l d h/1 e=0 G1 i=0 G5 u=1 L = L L i h e i/1 51
Εξομοιωτές σφαλμάτων σε λογικό επίπεδο (Fault simulators) Σειριακοί εξομοιωτές σφαλμάτων (Serial i l fault simulators) Παράλληλοι εξομοιωτές σφαλμάτων (Parallel fault simulators) Επαγωγικοί εξομοιωτές σφαλμάτων (Deductive fault simulators) Σύνδρομοι εξομοιωτές σφαλμάτων (Concurrent fault simulators) 52
Αποτελέσματα εξομοίωσης σφαλμάτων Ανιχνεύσιμα σφάλματα Μη ανιχνεύσιμα σφάλματα Πιθανώς ανιχνεύσιμα C (potentially detected) 1 σφάλματα A B D E F G H I 6 2 7 4 14 8 5 9 10 11 12 13 3 Z Y 53
Κάλυψη σφαλμάτων Σφάλματα ή κλάσεις σφαλμάτων; 100% κάλυψη σφαλμάτων για απλά σφάλματα μόνιμης τιμής συνεπάγεται ότι το κύκλωμα δεν έχει κανένα ελάττωμα; 54
Λεξικό σφαλμάτων λεξικό σφαλμάτων σφάλμα. Διάνυσμα 1 2 3 4 5 6 7 8 δοκιμής 1 1 1 1 2 1 1 1 3 1 1 1 4 1 1 1 55