ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ

Σχετικά έγγραφα
«Εγχειρίδιο Προγράμματος Hope (version 2)»

Σωστή απάντηση το: Γ. Απάντηση

Bλάβες, ελαττώματα και. Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν. Πατρών

«Εγχειρίδιο Προγράμματος Atalanta 2.0»

7 η διάλεξη Ακολουθιακά Κυκλώματα

σφαλμάτων Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν. Πατρών

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

Καταστάσεων. Καταστάσεων

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH.

ΑΣΚΗΣΗ 9. Tα Flip-Flop

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL

Υλοποίηση λογικών πυλών µε τρανζίστορ MOS. Εισαγωγή στην Ηλεκτρονική

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3

8.1 Θεωρητική εισαγωγή

Εξαγωγή Διανυσμάτων Δοκιμής. Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν. Πατρών

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

Κεφάλαιο Τρία: Ψηφιακά Ηλεκτρονικά

Συμπίεση Δεδομένων Δοκιμής (Test Data Compression) Νικολός Δημήτριος, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών & Πληροφορικής, Παν Πατρών

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Ελίνα Μακρή

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΣΚΗΣΗ 9 ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ (COUNTERS)

Πανεπιστήµιο Αιγαίου Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων. 3η Άσκηση Logical Effort - Ένα ολοκληρωµένο παράδειγµα σχεδίασης

Εισαγωγή στα κυκλώµατα CMOS 2

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ

Πράξεις με δυαδικούς αριθμούς

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

Κεφάλαιο 15 o. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Έλεγχος Ορθής Λειτουργίας 2

Ακολουθιακά Κυκλώµατα. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ακολουθιακά Κυκλώµατα (συν.) Ακολουθιακή Λογική: Έννοια

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

Εισαγωγή στον έλεγχο ορθής λειτουργίας ψηφιακών συστημάτων. Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν.

Ψηφιακή Λογική και Σχεδίαση

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3

4/10/2008. Στατικές πύλες CMOS και πύλες με τρανζίστορ διέλευσης. Πραγματικά τρανζίστορ. Ψηφιακή λειτουργία. Κανόνες ψηφιακής λειτουργίας

Αλγόριθµοι Εκτίµησης Καθυστέρησης και

7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Μονάδες Μνήµης

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

7.1 Θεωρητική εισαγωγή

Μνήμες RAM. Διάλεξη 12

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ

C D C D C D C D A B

Τεχνικές σχεδιασμού μονοπατιών ολίσθησης

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

Καθυστέρηση στατικών πυλών CMOS

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού

5.1 Θεωρητική εισαγωγή

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Ακολουθιακή Λογική. Επιμέλεια Διαφανειών: Δ.

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (8 η σειρά διαφανειών)

ΑΣΚΗΣΗ 2 η N-MOS ΚΑΙ P-MOS TRANSISTOR ΩΣ ΔΙΑΚΟΠΤΗΣ

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

Βασικές CMOS Λογικές οικογένειες (CMOS και Domino)

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

ΑΣΚΗΣΗ 10 ΣΥΓΧΡΟΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ

Ψηφιακά Ηλεκτρονικά. Μάθηµα 5ο.. Λιούπης

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Σχεδιασμός Ψηφιακών Συστημάτων

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

ΑΣΚΗΣΗ 7 FLIP - FLOP

Εισαγωγή στη Σχεδίαση Λογισμικού

PLD. Εισαγωγή. 5 η Θεµατική Ενότητα : Συνδυαστικά. PLAs. PLDs FPGAs

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΙΚΡΟΗΛΕΚΤΡΟΝΙΚΗΣ

Atlantis - Νέο user interface

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Η συχνότητα f των παλµών 0 και 1 στην έξοδο Q n είναι. f Qn = 1/(T cl x 2 n+1 )

9. ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Σχεδιασμός Ψηφιακών Συστημάτων

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

Εργαστηριακή άσκηση. Θεωρητικός και πρακτικός υπολογισμός καθυστερήσεων σε αναστροφείς CMOS VLSI

Τεχνικές βελτιστοποίησης µε σκοπό την επίτευξη χαµηλής κατανάλωσης ισχύος

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Σχεδίαση και αξιολόγηση ψευδοτυχαίων γεννητριών για μειωμένη κατανάλωση ισχύος κατά τον έλεγχο ορθής λειτουργίας

Σύγχρονοι Απαριθμητές. Διάλεξη 8

Ενότητα 3 ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (9 η σειρά διαφανειών)

Transcript:

ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ Μεταπτυχιακό Πρόγραµµα «Ολοκληρωµένα Συστήµατα Υλικού & Λογισµικού» Μεταπτυχιακή Εργασία Θέµα: «Ανάπτυξη εξοµοιωτή σφαλµάτων για σφάλµατα µετάβασης σε ψηφιακά ολοκληρωµένα κυκλώµατα» Επιβλέπων καθηγητής: κ. Νικολός ηµήτρης Υπεύθυνος φοιτητής: Κασερίδης ηµήτρης ΑΜ: 96 Πάτρα 2006

- 1 -

Ευχαριστίες Καταρχήν οφείλω να ευχαριστήσω τον επιβλέποντα καθηγητή κ. ηµήτρη Νικολό για την συνεχή καθοδήγηση και την πολύτιµη βοήθεια του στην διεκπεραίωση της µεταπτυχιακή αυτής εργασίας. Επιπρόσθετα, ευχαριστώ τον ρ. Ε. Καλλίγερο για την καθοδήγηση, την πολύτιµη βοήθεια του και τις χρήσιµες συζητήσεις µας πάνω στα ευρύτερα θέµατα του ελέγχου ορθής λειτουργίας. Η συµβολή του ήταν καθοριστική για την πορεία και ολοκλήρωση της εργασίας αυτής. Παράλληλα µε τα προηγούµενα πρόσωπα, θέλω να ευχαριστήσω τους γονείς µου Βασίλη, έσποινα και την αδερφή µου Άννα, για την αµέριστη υποστήριξη και συµπαράσταση που µου προσφέρουν όλα αυτά τα χρόνια. Επιπλέον αυτών, ευχαριστώ όλους τους φίλους µου για την υποστήριξη και την συνεχή βοήθεια τους. Χωρίς αυτούς, η ολοκλήρωση της εργασίας αυτής θα ήταν αρκετά πιο δύσκολη και η καθηµερινότητα σίγουρα πιο βαρετή. Τέλος, ευχαριστώ τα υπόλοιπα µέλη της τριµελούς επιτροπής της εργασίας αυτής κ. X. Βέργο και κ. X. Καβουσιανό. - 2 -

Περίληψη Η µεταπτυχιακή αυτή εργασία µπορεί να χωριστεί σε δύο λογικά µέρη (Μέρος Α και Μέρος Β ). Το πρώτο µέρος αφορά τον έλεγχο ορθής λειτουργίας ψηφιακών κυκλωµάτων χρησιµοποιώντας το µοντέλο των Μεταβατικών (Transient) σφαλµάτων και πιο συγκεκριµένα περιλαµβάνει την µελέτη για το µοντέλο, τρόπο λειτουργίας και την υλοποίηση ενός Εξοµοιωτή Μεταβατικών Σφαλµάτων (Transition Faults Simulator). Ο εξοµοιωτής σφαλµάτων αποτελεί το πιο σηµαντικό µέρος της αλυσίδας εργαλείων που απαιτούνται για τον σχεδιασµό και εφαρµογή τεχνικών ελέγχου ορθής λειτουργίας και η ύπαρξη ενός τέτοιου εργαλείου επιτρέπει την µελέτη νέων τεχνικών ελέγχου κάνοντας χρήση του Μεταβατικού µοντέλου σφαλµάτων. Το δεύτερο µέρος της εργασίας συνοψίζει την µελέτη που πραγµατοποιήθηκε για την δηµιουργία ενός νέου αλγόριθµου επιλογής διανυσµάτων ελέγχου στην περίπτωση των Test Set Embedding τεχνικών ελέγχου. Ο αλγόριθµος επιτυγχάνει σηµαντικές µειώσεις τόσο στον όγκο των απαιτούµενων δεδοµένων που είναι απαραίτητο να αποθηκευτούν για την αναπαραγωγή του ελέγχου, σε σχέση µε τις κλασικές προσεγγίσεις ελέγχου, όσο και στο µήκος των απαιτούµενων ακολουθιών ελέγχου που εφαρµόζονται στο υπό-έλεγχο κύκλωµα σε σχέση µε προγενέστερους Test Set Embedding αλγορίθµους. Στο τέλος του µέρους Β προτείνεται µία αρχιτεκτονική για την υλοποίηση του αλγόριθµου σε Built-In Self-Test περιβάλλον ελέγχου ορθής λειτουργίας ακολουθούµενη από την εκτίµηση της απόδοσης αυτής και σύγκριση της µε την καλύτερη ως τώρα προτεινόµενη αρχιτεκτονική που υπάρχει στην βιβλιογραφία (Βλέπε Παράρτηµα Α). - 3 -

Περιεχόµενα ΠΕΡΙΕΧΟΜΕΝΑ 4 1. ΜΕΡΟΣ A 6 1.1 ΕΙΣΑΓΩΓΗ 6 1.2 Μοντέλα σφαλµάτων 7 1.2.1 Μοντέλο Μόνιµης Τιµής (Stuck-at) 8 1.2.2 Μοντέλο Μεταβατικών Σφαλµάτων 10 1.2.3 Μοντέλο Καθυστέρησης Μονοπατιού 11 1.3 Μεθοδολογία Εφαρµογής ιανυσµάτων 12 2. ΕΞΟΜΟΙΩΤΗΣ ΜΕΤΑΒΑΤΙΚΩΝ ΣΦΑΛΜΑΤΩΝ 15 2.1 Σχετικές Μεθοδολογίες στην Βιβλιογραφία 15 2.2 Μεταβατικά Σφάλµατα 16 2.2.1 Stuck-open Σφάλµατα 17 2.2.2 Σφάλµατα καθυστέρησης 19 2.3 Έλεγχος για Συνδυαστικά Μεταβατικά Σφάλµατα 19 2.3.1 Μεταβατικοί Έλεγχοι 19 2.3.2 Ενεργά Μεταβατικά Μονοπάτια και Παθητικά Μεταβατικά Μονοπάτια 20 2.3.3 Επαγωγικοί Κανόνες ιάδοσης Λιστών Σφαλµάτων 21 2.3.4 Παραγωγή ιανυσµάτων Καθυστέρησης µε Χρήση Τ-Μονοπατιών 28 3. ΧΡΗΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΕΞΟΜΟΙΩΤΗ 31 3.1 υνατότητες του Εξοµοιωτή 31 3.2 Τρόπος Χρήσης Εξοµοιωτή 32 3.2.1 Βασικός Τρόπος Εκτέλεσης 32 3.2.2 Συνοδευτικά Αρχεία Εισόδου 34 Απαραίτητα αρχεία Αρχείο διανυσµάτων ελέγχου 34 Προαιρετικά αρχεία Αρχείο δήλωσης υπό εξέταση σφαλµάτων 36 3.3 Αρχείο Εξόδου 38 3.4 Παράµετροι Εκτέλεσης Εξοµοιωτή 40 3.4.1 t - καθορισµός αρχείου εισόδου διανυσµάτων ελέγχου 40 3.4.2 f - επιλογή αρχείου καθορισµού των υπό εξέταση σφαλµάτων 40 3.4.3 ο - επιλογή αρχείου αποθήκευσης ανιχνευµένων σφαλµάτων 40 3.4.4 gf επιλογή αρχείου αποθήκευσης συνολικών ανιχνευµένων σφαλµάτων 41 3.4.5 v - επιλογή φλύαρης λειτουργίας (verbose mode) 41 3.4.6 h - επιλογή βοηθητικής λειτουργίας 41 3.5 ΈΝΑ ΑΠΛΟ ΠΑΡΑ ΕΙΓΜΑ 42 3.5.1 Αρχεία Εισόδου 42 Περιγραφή κυκλώµατος 42 Αρχείο διανυσµάτων ελέγχου 43-4 -

Αρχείο υπό εξέτασης λίστας µεταβατικών σφαλµάτων 43 3.5.2 Εκτέλεση και Αποτελέσµατα 44 Παράδειγµα πλήρης εξοµοίωσης 44 Παράδειγµα επιλεκτικής-µερικής εξοµοίωσης 46 4. ΜΕΡΟΣ Β 48 4.1 Εισαγωγή 48 4.2 Built-In Self-Test (BIST) 50 4.2.1 Linear Feedback Shift Register (LFSR) 52 4.2.2 Multiple Input Signature Register (MISR) 55 4.2.3 Phase Shifter 57 4.3 Scan Έλεγχος Ορθής Λειτουργίας 61 4.3.1 Scan Αλυσίδα 63 4.3.2 Πλεονεκτήµατα Μειονεκτήµατα Scan Αρχιτεκτονικής 65 5. SEED-SELECTION ΑΛΓΟΡΙΘΜΟΣ 66 5.1 Βασική Ιδέα Αλγορίθµου 66 5.2 Ευρετικά Κριτήρια Επιλογής Επίλυσης Συστήµατος 68 6. ΤΕΧΝΙΚΗ ΜΕΙΩΣΗΣ ΑΚΟΛΟΥΘΙΩΝ ΕΛΕΓΧΟΥ 71 6.1 Αλγόριθµος Τµηµατοποίησης Παραθύρων 72 6.2 Τεχνική Αναδιάταξης Παραθύρων 74 6.3 Προτεινόµενη Αρχιτεκτονική 75 7. ΕΚΤΙΜΗΣΗ ΑΠΟ ΟΣΗΣ ΚΑΙ ΣΥΓΚΡΙΣΕΙΣ 77 7.1 Επιλογή Μεγέθους του κάθε Παραθύρου 77 7.2 Απόδοση Προτεινόµενης Τεχνικής 78 7.3 Αποτελέσµατα Σύγκρισης Προτεινόµενης Τεχνικής 80 8. ΒΙΒΛΙΟΓΡΑΦΙΑ 84 Α. ΠΑΡΑΡΤΗΜΑ 87 Α.1 Εισαγωγή 87 Α.2 Περιγραφή Τεχνικής 88 Α.3 Αποσυγκρότηση των Care Bits 93 Α.5 Σύνοψη 95-5 -

Α Μέρος 1. Μέρος A 1.1 ΕΙΣΑΓΩΓΗ Ο κύριος στόχος του παραδοσιακού ελέγχου ορθής λειτουργίας εδώ και δεκαετίες είναι η παροχή υψηλού επιπέδου καλυψηµότητας σφαλµάτων ( Fault Coverage) χρησιµοποιώντας το µοντέλο µόνιµης τιµής (Stuck-at Fault). Παρόλα αυτά, η παρουσία τυχαίων ελαττωµάτων στα σύγχρονα κυκλώµατα, που επηρεάζουν παροδικά την ορθή λειτουργία τους ή τροποποιούν ελαφρά τις παραµέτρους λειτουργίας τους (π.χ. ταχύτητα διάδοσης λογικής τιµής, κατανάλωση ισχύος, ρεύµατα διαρροής), επηρεάζουν την ορθή λειτουργία των κυκλωµάτων µόνο κατά την χρήση τους σε υψηλές συχνότητες χρονισµού ενώ αντίθετα σε χαµηλότερες συχνότητες τα ελαττώµατα αυτά κρύβονται. Αυτό το είδος ελαττωµάτων καλούνται ελαττώµατα καθυστέρησης (Delay faults). Με την συνεχή τάση για χρήση µικρότερων διαστάσεων τρανζίστορ και µετάλλων και την παράλληλη αύξηση της συχνότητας λειτουργίας των ολοκληρωµένων η παρουσία αυτών των ελαττωµάτων γίνεται σταδιακά εντονότερη. Η υιοθέτηση τεχνικών και κατά επέκταση δηµιουργία µοντέλων για την αποτελεσµατική ανίχνευση τέτοιων σφαλµάτων είναι µονόδροµος για την βιοµηχανία έτσι ώστε να διατηρηθεί το απαιτούµενο από την αγορά, υψηλό επίπεδο ορθότητας των ολοκληρωµένο και τα επέκταση ποιότητας αυτών. Ο σκοπός του ελέγχου για σφάλµατα καθυστέρησης είναι η επιβεβαίωση ότι ο εκάστοτε σχεδιασµός υλοποιηµένος σε µία συγκεκριµένη τεχνολογία λειτουργεί σωστά στην επιθυµητή από τον σχεδιαστή συχνότητα χρονισµού. Ήδη στην βιβλιογραφία έχει αποδειχθεί ότι η χρήση του απλού stuck-at µοντέλου είναι ικανή να ανιχνεύσει µόνο ένα µικρό ποσοστό αυτών των σφαλµάτων και έτσι η υιοθέτηση ενός νέου εµπλουτισµένου µοντέλου είναι αναγκαία. Στο παρελθόν ο έλεγχος ορθής λειτουργίας στηριζόταν βασικά µόνο σε χρήση διανυσµάτων ελέγχου που είχαν σαν στόχο την επιβεβαίωση της λειτουργικής ορθότητας του σχεδιασµού. Η εφαρµογή όµως των διανυσµάτων αυτών σε

Κεφάλαιο 1 Εισαγωγή Μέρους Α 7 σύγχρονους σχεδιασµούς, υψηλών ταχυτήτων, για την ανίχνευση σφαλµάτων καθυστέρησης είναι δύσκολη έως αδύνατη διότι απαιτείται η εφαρµογή ενός τεράστιου όγκου δεδοµένων σε ρυθµό παραπλήσιο της συχνότητας λειτουργίας. Παράλληλα, η λογική χρήσης scan αλυσίδων επιδεινώνει το πρόβληµα αφού πρέπει η εισαγωγή των διανυσµάτων ελέγχου από ένα εξωτερικό µηχανισµό ελέγχου (Automatic Test Equipment ATE) να πραγµατοποιηθεί µε πολλαπλάσιο ρυθµό ώστε να γίνει at-seed έλεγχος ορθής λειτουργίας. Όλα τα παραπάνω θέτουν µία σηµαντική πολυπλοκότητα στις ΑΤΕ µηχανές και αυξάνουν υπέρογκα το κόστος τους επιδεικνύοντας παράλληλα την ανάγκη για υιοθέτηση ευριστικών τεχνικών και µεθοδολογιών που θα καταστήσουν την εφαρµογή διανυσµάτων ελέγχου για µεταβατικά σφάλµα εφικτή. 1.2 Μοντέλα σφαλµάτων Οι φυσικές αποτυχίες και τα κατασκευαστικά ελαττώµατα που µπορούν να υπάρξουν σε ένα ολοκληρωµένο µπορούν µόνο να µοντελοποιηθούν για λογικά σφάλµατααφού η µαθηµατική τους µοντελοποίηση είναι πάρα πολύ δύσκολη. Τα λογικά αυτά σφάλµατα µπορούν να χωριστούν σε δοµικά σφάλµατα (Structural Faults), που περιλαµβάνουν τα σφάλµατα σχετικά µε την κατασκευή του κάθε συστήµατος, και τα λειτουργικά σφάλµατα (Functional Faults) που είναι σχετικά µε την λειτουργία του συστήµατος. Ο έλεγχος για λειτουργικά σφάλµατα επιβεβαιώνει την σωστή λειτουργία του συστήµατος έχοντας όµως την έννοια της σωστή µετάφρασης / µετάβασης της περιγραφής του κυκλώµατος µέσω των διαφόρων βηµάτων ανάπτυξης του και επιπέδων αναπαράστασης ( φυσικό επίπεδο, τρανζιστορ, RTL κ.τ.λ). Αντίθετα, ο έλεγχος για δοµικά σφάλµατα στοχεύει καθαρά στα κατασκευαστικά ελαττώµατα του ολοκληρωµένου θεωρώντας ότι η τελική περιγραφή του συστήµατος είναι σύµφωνη µε τις αρχικές προδιαγραφές. Στην εργασία αυτή οι όροι λάθος, σφάλµα, ελάττωµα αναφέρονται καθαρά σε κατασκευαστικά λάθη και σε αυτά επικεντρώνεται η προσοχή Αναλύοντας προσεκτικότερα τις επιπτώσεις που µπορεί να έχουν όλα τα δυνατά κατασκευαστικά λάθη, κάποιος µπορεί να τα κατηγοριοποιήσει σε αυτά που επηρεάζουν µόνιµα την ορθή λειτουργία του συστήµατος, οδηγώντας σε λανθασµένες αποκρίσεις και σε αυτά που τα αποτελέσµατα τους έχουν µία χρονική / προσωρινή

Κεφάλαιο 1 Εισαγωγή Μέρους Α 8 επίπτωση στο σύστηµα. Σαν βασικός εκπρόσωπος της πρώτης κατηγορίας έχει καθιερωθεί το µοντέλο σφαλµάτων µόνιµης τιµής (Stuck-at fault model). Αντίθετα µε αυτό, τα φυσικά ελαττώµατα που µπορούν να προκαλέσουν την αύξηση της καθυστέρησης διάδοσης της τιµή ενός σήµατος µπορούν να µοντελοποιηθούν µε τα ονοµαζόµενα µοντέλα καθυστέρησης (Delay Faults). Αξίζει να σηµειωθεί ότι ο ορισµός και των δύο µοντέλων σφαλµάτων έχει λάβει µέρος σχετικά νωρίς στην ιστορία του ελέγχου ορθής λειτουργίας και γενικά της επιστήµης των υπολογιστών και περίπου την ίδια χρονική περίοδο αλλά για λόγους που θα επισηµανθούν στην συνέχεια το δε πρώτο έχει καθιερωθεί και χρησιµοποιείται εδώ και χρόνια από την βιοµηχανία ενώ το δεύτερο πρακτικά ακόµα δεν έχει εισαχθεί σε σηµαντικές γραµµές παραγωγής ολοκληρωµένων κυκλωµάτων. Υπάρχουν δύο γενικές κατηγορίες τέτοιων µοντέλων, το µοντέλο καθυστέρησης πύλης (Gate delay fault model) [1,2,3,4] και το µοντέλο καθυστέρησης µονοπατιού (Path delay fault model) [5,6]. Παρόλο που το path delay fault model θεωρείται γενικά πιο ρεαλιστικό και αποτελεσµατικό στην µοντελοποίηση των φυσικών ελαττωµάτων που προκαλούν καθυστέρηση στην διάδοση των σηµάτων, είναι επίσης και πιο δύσκολο να χρησιµοποιηθεί στην πράξη εξαιτίας κυρίως της µεγάλης πολυπλοκότητας που εισάγει στην ανάλυση των µεγάλων κυκλωµάτων, αφού σε αυτά περιλαµβάνεται ένας τεράστιος αριθµός από διαφορετικά µονοπάτια. Για τον λόγο αυτό, το gate delay fault model είναι κατά κόρων το fault model που προτιµάται στην βιοµηχανία αλλά και στην βιβλιογραφία. Το πιο κοινά αποδεκτό τέτοιο µοντέλο που χρησιµοποιείται είναι το µοντέλο µεταβατικών σφαλµάτων (transition fault mode) [1]. Στις επόµενες ενότητες αναλύεται τα κάθε µοντέλο σφαλµάτων ξεχωριστά, δίνοντας περισσότερη βαρύτητα στο Μοντέλο Μεταβατικών σφαλµάτων διότι είναι αυτό που θα χρησιµοποιηθεί στην συνέχεια της παρούσας εργασίας. 1.2.1 Μοντέλο Μόνιµης Τιµής (Stuck-at) To µοντέλο µόνιµης τιµής ή αλλιώς γνωστό στην βιβλιογραφία ως stuck-at µοντέλο σφαλµάτων [7] ακολουθεί την απλή παραδοχή ότι σε ένα κατασκευασµένο κύκλωµα, ελαττώµατα είναι δυνατόν να εµφανιστούν µόνο στην διασύνδεση των επιµέρους λειτουργικών κοµµατιών που το συνθέτουν, θεωρώντας τα λειτουργικά κοµµάτια αυτά απαλλαγµένα από κάθε φυσικό ελάττωµα µετά την κατασκευή τους

Κεφάλαιο 1 Εισαγωγή Μέρους Α 9 επάνω σε ένα ολοκληρωµένο. Στην απλούστερη περίπτωση, τα λειτουργικά κοµµάτια είναι οι πύλες και η διασύνδεση είναι τα κοµµάτια αγωγού που διασυνδέουν φυσικά τις πύλες αυτές. Παλαιότερα είχαν µελετηθεί στην βιβλιογραφία και µοντέλα µόνιµης τιµής που τα λειτουργικά κοµµάτια ήταν τα τρανζίστορ και η διασύνδεση περιλάµβανε ακόµα και τα κοµµάτια αγωγού που διασυνδέαν τα τρανζίστορ αυτά µέσα σε µία πύλη. Με την πάροδο του χρόνου κυριάρχησε η απλούστερη µορφή για την απλότητα της και εξαιτίας του γεγονότος ότι τα οφέλη αναλυτικότερη µορφή δεν Παρόλο που η παραδοχή αυτή φαίνεται ότι δεν είναι αρκετά ισχυρή ώστε το µοντέλο αυτό σφαλµάτων να προσεγγίζει την πραγµατική συµπεριφορά των κυκλωµάτων, µελέτες έχουν δείξει ότι το απλό, κατά τα άλλα µοντέλο, αυτό µοντέλο είναι ιδιαίτερα αποτελεσµατικό στο να συλλαµβάνει µία ευρεία περιοχή ελαττωµάτων κατασκευασµένων ολοκληρωµένων. Έτσι το µοντέλο µόνιµης τιµής µπορεί να αναπαραστήσει σφάλµατα που προκαλούνται από ανοικτούς αγωγούς,αγωγούς που είναι µόνιµα συνδεδεµένοι στην παροχή ή στην γείωση, τρανζίστορ που άγουν πάντα ή ποτέ, αλλά και γενικά οποιαδήποτε εσωτερικά σε µια πύλη ελαττώµατα που έχουν ως αποτέλεσµα κάποια σήµατα του ενός κυκλώµατος να παραµένουν σε µία µόνιµη τιµή ανεξαρτήτως των διεγέρσεων που εφαρµόζονται στις εισόδους του κυκλώµατος αυτού. Για την εφαρµογή του ελέγχου αυτού απαιτούνται δύο βασικά βήµατα. Το πρώτο βήµα είναι να δηµιουργηθεί ένα διάνυσµα ελέγχου που όταν εφαρµοστεί στις κατάλληλες κύριες εισόδους του κυκλώµατος αυτό θα διεγείρει το επιθυµητό σφάλµα µέσα στο κύκλωµα. Το δεύτερο βήµα είναι επιλεγούν οι κατάλληλες τιµές για τις εναποµείναντες κύριες εισόδους που να εξασφαλίζουν ότι η λανθασµένη απόκριση του κυκλώµατος θα διαδοθεί προς τις κύριες εξόδους του κυκλώµατος ή σε κάποιο scan flip flop στην περίπτωση ακολουθιακού κυκλώµατος. Εξαιτίας τις απλότητας του µοντέλου αλλά και της ευκολίας που υπάρχει, όπως θα φανεί και στις επόµενες παραγράφους, για την δηµιουργία και αποθήκευση των διανυσµάτων ελέγχου για αυτό, το µοντέλο µόνιµης τιµής είναι το πλέον διαδεδοµένο µοντέλο σφαλµάτων και χρησιµοποιείται σχεδόν παντού πλέον την βιοµηχανία για τον έλεγχο ορθής λειτουργίας,

Κεφάλαιο 1 Εισαγωγή Μέρους Α 10 1.2.2 Μοντέλο Μεταβατικών Σφαλµάτων Η βασική ιδέα του µεταβατικού µοντέλου σφαλµάτων [1] είναι παρόµοια µε αυτή του µοντέλου µόνιµης τιµής. Η ύπαρξη ενός τέτοιου σφάλµατος σε κάποιο κόµβο του κυκλώµατος έχει σαν αποτέλεσµα µία νόµιµη µετάβαση της τιµή του σήµατος στον κόµβο αυτό να µην φτάνει σε κάποιο scan flip-flop ή σε µία κύρια έξοδο µέσα στον αναµενόµενο χρόνο, µε αποτέλεσµα η δειγµατοληπτειµένη τιµή µε βάση το ρολόι του συστήµατος να είναι λανθασµένη. Αξίζει να σηµειωθεί ότι µετά από κάποιο χρονικό διάστηµα η τιµή στον κόµβο εξόδου / παρατήρησης µπορεί να πάρει την σωστή αναµενόµενη τιµή αλλά αυτή η σωστή τιµή δεν µπορεί να επηρεάζει την λανθασµένη κατάσταση που δηµιουργήθηκε και έχει διαδοθεί στην υπόλοιπη λογική του σχεδιασµού. Παράλληλα µε τα παραπάνω, το µοντέλο αυτό περιλαµβάνει και τις περιπτώσεις που η τελική σωστή τιµή απαιτεί άπειρο χρόνο να φτάσει στον τελικό κόµβο (µε αποτέλεσµα να µην γίνεται πρακτικά ποτέ η µετάβαση) περιλαµβάνοντας κατά τον τρόπο αυτό και τα σφάλµατα µόνιµης τιµής. Σύµφωνα µε το µοντέλο αυτό [1] υπάρχουν δύο δυνατά σφάλµατα σε κάθε κόµβο του κυκλώµατος: το slow-to-rise σφάλµα (0 1) και το slow-to-fall σφάλµα (1 0). Η ύπαρξη ενός slow-to-rise σφάλµατος σε έναν κόµβο σηµαίνει ότι µία οποιαδήποτε µετάβαση από το 0 στο 1 στον κόµβο δεν παράγει το σωστό τελικό αποτέλεσµα όταν το κύκλωµα δουλεύει στην κανονική συχνότητα λειτουργίας του. Οµοίως ισχύει για το slow-to-fall κατά το οποίο µία οποιαδήποτε µετάβαση από το 1 στο 0 στον κόµβο αυτό οδηγεί σε λάθος αποτελέσµατα. Σε ένα κύκλωµα µπορούµε να ορίσουµε σαν χρονικό διάστηµα καθυστέρησης (slack) για ένα δεδοµένο µονοπάτι την διαφορά µεταξύ της περιόδου του ρολογιού λειτουργίας κατά την οποία οι έξοδοι του «κλειδώνονται» / δειγµατοληπτούνται,και την καθυστέρηση διάδοσης των τελικών σωστών / αναµενόµενων τιµών πάνω στο δεδοµένο αυτό µονοπάτι. Ένα σφάλµα µετάβασης για να προκαλέσει κάποιο παρατηρήσιµο σφάλµα που να οδηγεί σε λανθασµένο «κλείδωµα» / δειγµατοληψία θα πρέπει να είναι τέτοιου µεγέθους που ο χρόνος διάδοσης της σωστής τιµή να ξεπερνάει το slack αυτό χρονικό διάστηµα. Για να είναι εφικτή η µελέτη των κυκλωµάτων µε το µοντέλο αυτό, γίνεται η παραδοχή ότι για όλα τα µονοπάτια που περνάνε από τον κόµβο που παρουσιάζει ένα µεταβατικό σφάλµα, η καθυστέρηση διάδοσης τους ξεπερνάει το µέγιστο επιτρεπτό χρονικό διάστηµα slack. Η προσέγγιση αυτή είναι γνωστή στην βιβλιογραφία ως gross delay fault.

Κεφάλαιο 1 Εισαγωγή Μέρους Α 11 Κάνοντας χρήση αυτή της θεώρησης, είναι δυνατόν µε χρήση / εφαρµογή ενός ζεύγους διανυσµάτων ελέγχου {V 1, V 2 } να γίνει ο έλεγχος για την ύπαρξη ενός µεταβατικού σφάλµατος. Για να ισχύει κάτι τέτοιο θα πρέπει να λαµβάνουν χώρο τα παρακάτω: 1. Όταν οι είσοδοι του κυκλώµατος αλλάζουν από V 1 σε V 2 το slow-to-rise (slow-to-fall) σφάλµα ενεργοποιείται µε µία 1 0 (0 1) µετάβαση 2. Το V 2 είναι διάνυσµα δοκιµής για το stuck-at-0 (stuck-at-0) σφάλµα Για την παραγωγή ενός ζεύγους διανύσµατος δοκιµής απαιτούνται συνολικά δύο βήµατα. Στο πρώτο βήµα πρέπει να βρεθεί το ζεύγος διανυσµάτων που ενεργοποιεί το σφάλµα στόχο δηµιουργώντας την επιθυµητή µετάβαση στον συγκεκριµένο κόµβο στόχο για τον οποίο είναι επιθυµητό να γίνει ο έλεγχος. Το δεύτερο βήµα είναι να εξασφαλιστεί η διάδοση του αποτελέσµατος του σφάλµατος σε µία παρατηρήσιµη έξοδο µέσω της κατάλληλης ενεργοποίησης όλων των κόµβων του κυκλώµατος που µεσολαβούν από τον κόµβο µέχρι της έξοδο αυτή. Τα σφάλµατα αυτά αν τα συγκρίνουµε µε τα αντίστοιχα του stuck-at µοντέλου θα δούµε ότι η µόνη διαφορά είναι ότι χρειαζόµαστε ένα επιπλέον διάνυσµα για να θέσουµε τον κόµβο στην αρχική επιθυµητή τιµή πριν την εφαρµογή του δεύτερου διανύσµατος. Αξίζει να σηµειωθεί όµως ότι η καλυψηµότητα που επιτυγχάνεται από το µεταβατικό µοντέλο δεν είναι η ίδια µε την αντίστοιχη που επιτυγχάνεται αν εφαρµοστούν τα stuck-at απλά διανύσµατα δοκιµής. Για µία αναλυτική εξήγηση της διαφοράς αυτής και γιατί αυτή προκαλείται ο αναγνώστης µπορεί να ανατρέξει στην εργασία [8]. 1.2.3 Μοντέλο Καθυστέρησης Μονοπατιού Σε αντίθεση µε το µεταβατικό µοντέλο, το οποίο θεωρεί µόνο τοπικές καθυστερήσεις σε κάθε πύλη κατά την διάδοση των τιµών των σηµάτων από τις εισόδους της πύλης προς τις εξόδους αυτής, το µοντέλο καθυστέρησης µονοπατιού λαµβάνει υπόψιν την συνολική καθυστέρηση που λαµβάνει χώρο σε ένα µονοπάτι. Γενικά, είναι εύκολα αντιληπτό ότι οι µεµονωµένες καθυστερήσεις σε κάθε ξεχωριστή πύλη ενός µονοπατιού µπορεί να είναι τέτοιες που να βρίσκονται εντός των προδιαγραφών που έχουν τεθεί κατά την θέσπιση των προδιαγραφών του

Κεφάλαιο 1 Εισαγωγή Μέρους Α 12 σχεδιασµού ενώ αντίθετα η συνολική συσσωρευτική καθυστέρηση πάνω στο µονοπάτι, το οποίο αποτελείται από τις ίδιες πύλες, να είναι τέτοια που τελικά να οδηγεί σε λανθασµένη δειγµατοληψία των τιµών εξόδου, ξεπερνώντας την περίοδο του λειτουργικού χρονισµού. υστυχώς, αν και η µελέτη κάθε µονοπατιού ξεχωριστά οδηγεί σε ακριβέστερα και ρεαλιστικότερα αποτελέσµατα, η πολυπλοκότητα µελέτης κάθε µονοπατιού αυξάνεται σηµαντικά. Ενδεικτικά, αν ένα µονοπάτι έχει n κόµβους τότε µπορεί να έχει µόνο 2n µεταβατικά σφάλµατα αλλά µέχρι και n 2 σφάλµατα καθυστέρησης µονοπατιού [9]. Αυτό σηµαίνει ότι η πολυπλοκότητα αυξάνεται εκθετικά µε το µέγεθος του κυκλώµατος και έτσι είναι απαραίτητες αποδοτικές τεχνικές για την εύρεση των κρίσιµων µονοπατιών που περιορίζοντας την αναζήτηση µόνο σε αυτά τα µονοπάτια. Οι απαιτήσεις αυτές κάνουν την χρήση του µοντέλου καθυστέρησης µονοπατιού αρκετά πολύπλοκη και δαπανηρή για τις εταιρίες και για το λόγο αυτό το απλούστερο µεταβατικό µοντέλο σφαλµάτων έχει κυριαρχήσει [10][11] έναντι αυτού, για την ανίχνευση σφαλµάτων καθυστέρησης. 1.3 Μεθοδολογία Εφαρµογής ιανυσµάτων Στην βιβλιογραφία έχουν προταθεί τρεις διαφορετικοί τρόποι για την εφαρµογή των διανυσµάτων ελέγχου µεταβατικών σφαλµάτων. Οι τρεις αυτοί τρόποι είναι: Broad-side delay test [12], Skewed load transition testing και τέλος Enhancedscan transition testing κάνοντας χρήση του hold-scan κελιού για την scan αλυσίδα [13]. Η πρώτη µεθοδολογία είναι αλλιώς γνωστή ως launch-from-capture τεχνική κατά την οποία το πρώτο διάνυσµα από το απαραίτητο ζεύγος εισάγεται σειριακά στην στις αλυσίδα ενώ το δεύτερο διάνυσµα θεωρείται ότι είναι η απόκριση του συνδυαστικού κυκλώµατος µετά την εφαρµογή του πρώτου. Η απόκριση ενός ακολουθιακού κυκλώµατος ως γνωστόν αποθηκεύεται στην scan αλυσίδα ώστε αυτή να µπορεί να παρατηρηθεί εξάγοντας της σειριακά προς τον µηχανισµό εφαρµογής του ελέγχου. Είναι προφανές ότι σύµφωνα µε την τεχνική αυτή είναι δύσκολο να καλυφτούν όλα τα δυνατά ζεύγη διανυσµάτων ελέγχου αφού πρέπει η συνδυαστική λογική να είναι τέτοια που να δίνει την αντίστοιχες-επιθυµητές αποκρίσεις. Το σηµαντικό πλεονέκτηµα της µεθοδολογίας αυτής είναι ότι ο όγκος των δεδοµένων που εισάγονται στην σειριακή scan αλυσίδα και τελικά πρέπει να αποθηκευτούν είτε

Κεφάλαιο 1 Εισαγωγή Μέρους Α 13 τοπικά στο κύκλωµα (BIST) είτε στον µηχανισµό ελέγχου (πληρώνοντας όµως το κόστος και την πολυπλοκότητα για την µεταφορά τους προς το κύκλωµα) είναι ο ίδιος µε το stuck-at µοντέλο σφαλµάτων. Σύµφωνα µε την δεύτερη τεχνική που είναι αλλιώς γνωστή ως launch-from-shift technique. τα δύο διανύσµατα ελέγχου που απαρτίζουν το επιθυµητό ζεύγος πρέπει να εισάγονται και τα δύο σειριακά στην scan αλυσίδα. Εάν η scan αλυσίδα έχει µήκος Ν κελιά, τότε στους Ν πρώτους κύκλους εισάγεται το πρώτο διάνυσµα. Στο σηµείο αυτό πρέπει να επισηµανθεί ότι το κάθε διάνυσµα που εισάγεται σειριακά την scan αλυσίδα στην ουσία εφαρµόζεται και στο συνδυαστικό κύκλωµα υπό έλεγχο αφού συνήθως για οικονοµία υλικού, χώρου και πολυπλοκότητας η αλυσίδα δεν αποµονώνεται από το συνδυαστικό κύκλωµα. Για τον λόγο αυτό, στο τέλος του Ν-1 κύκλο ρολογιού σειριακής εισαγωγής του πρώτου διανύσµατος αυτό θεωρείται ότι εφαρµόζεται στο κύκλωµα. Με τον επόµενο κύκλο ρολογιού εφαρµόζεται το δεύτερο διάνυσµα του ζεύγους που στην ουσία είναι το πρώτο µετατοπισµένο κατά µία θέση και έχοντας εισάγει ένα νέο δυαδικό ψηφίο στο πρώτο κελί. Αµέσως ακολουθεί έναν κύκλος capture για γίνει να συλληφθεί η απόκριση του κυκλώµατος αµέσως µετά την εφαρµογή του ζεύγους διανυσµάτων. Τα πλεονεκτήµατα της µεθόδου αυτής είναι ότι, όπως και στην περίπτωση της προηγούµενης µεθόδου, έχει αρκετά µικρότερο απαιτούµενο όγκο δεδοµένων και ότι η εφαρµογή των δύο διανυσµάτων γίνεται σε δύο διαδοχικούς κύκλος ρολογιού ικανοποιώντας έτσι την απαίτηση για όσο το δυνατόν µικρότερη καθυστέρηση µεταξύ της εφαρµογής των δύο διανυσµάτων. Είναι προφανές όµως ότι ο χώρος αναζήτησης των διανυσµάτων ελέγχου περιορίζεται από την οργάνωση της αλυσίδας και τις εισόδους που συνδέεται το κάθε κελί της scan αλυσίδας. Συνεπώς, ορισµένα διανύσµατα ελέγχου είναι δυνατόν να µην µπορούν να εφαρµοστούν στο κύκλωµα για µία δεδοµένη οργάνωση αλυσίδας. Προφανώς, διαφορετικές οργανώσεις της αλυσίδας ίσως µπορεί να οδηγήσουν σε καλύτερα αποτελέσµατα, όµως και µόνο η ανάγκη για έλεγχο και αλλαγή της οργάνωσης εισάγει µία σηµαντική πολυπλοκότητα στον σχεδιασµό του ελέγχου ορθής λειτουργίας ενώ ευριστικά κριτήρια που να «οδηγούν» την αναζήτηση κρίνονται απαραίτητα για την αποφυγή χρήσης brute forge λογικής αναζήτησης. Η τελευταία τεχνική, Enhanced-scan transition testing, ακολουθεί µια διαφορετική λογική που προσφέρει µεγαλύτερη ευελιξία σε σχέση µε τις δύο προηγούµενες τεχνικές. Σύµφωνα µε αυτήν, το πρώτο διάνυσµα εισάγεται σειριακή στην αλυσίδα και τελικά, όταν τελειώσει η εισαγωγή, εφαρµόζεται στο κύκλωµα. Η

Κεφάλαιο 1 Εισαγωγή Μέρους Α 14 εισαγωγή και εφαρµογή αυτή στη ουσία πραγµατοποιεί την αρχικοποίηση του κυκλώµατος υπό έλεγχο σε µία δεδοµένη αρχική κατάσταση, όπως ακριβώς απαιτεί η λογική του µεταβατικού µοντέλο σφαλµάτων. Στην συνέχεια το δεύτερο διάνυσµα εισάγεται στην αλυσίδα κατά την ίδια λογική. Το σηµαντικό σηµείο για την σωστή λειτουργία της τεχνική είναι η αρχικοποίηση του κυκλώµατος µε το πρώτο διάνυσµα να µην χαθεί και την εισαγωγή του δεύτερου διανύσµατος αλλά να διατηρηθεί, κρατώντας µε τον τρόπο αυτό το κύκλωµα στην δεδοµένη αρχική κατάσταση. Για την επίτευξη αυτής της λειτουργίας είναι αναγκαία η τροποποίηση του κλασικού κελιού που χρησιµοποιείται στην scan αλυσίδα χρησιµοποιώντας τον Hold-scan σχεδιασµό που παρουσιάζεται στην εργασία [13]. Για την χρήση του κελιού αυτού απαιτείται περισσότερη λογική και επιπλέον διασύνδεση ενώ µπορεί να οδηγήσει και σε αύξηση της περιόδου του χρονισµού εφαρµογής του ελέγχου διότι η scan αλυσίδα αποτελεί συνήθως το κρίσιµο µονοπάτι τουλάχιστον για το κύκλωµα εφαρµογής του ελέγχου. Έτσι, παρόλο που το πλεονέκτηµα της ευελιξία που προσφέρει είναι σηµαντικό, η τεχνική πολλές φορές δεν είναι χρήσιµη σε πραγµατικές εφαρµογές που η πολυπλοκότητα και το κόστος αποτελούν τα σηµαντικότερα κριτήρια αξιολόγησης για την υιοθέτηση µία τεχνικής ελέγχου.

2 ο Εξοµοιωτής Μεταβατικών Σφαλµάτων 2. Εξοµοιωτής µεταβατικών σφαλµάτων Στο κεφάλαιο αυτό παρουσιάζεται η θεωρία πίσω από τον εξοµοιωτή µεταβατικών σφαλµάτων που αναπτύχθηκε. Πιο συγκεκριµένα, αναλύεται το µοντέλο µεταβατικών σφαλµάτων που τελικά χρησιµοποιήθηκε, η βασική ιδέα λειτουργίας του εξοµοιωτή καθώς και όλοι οι κανόνες που αυτός ακολουθεί. Για την καλύτερη κατανόηση της θεωρίας εισάγονται κάποιο ορισµοί και ένα τελικό θεώρηµα που συνοψίζει τον τρόπο λειτουργίας. 2.1 Σχετικές Μεθοδολογίες στην Βιβλιογραφία Γενικά έχουν προταθεί διάφορες τεχνικές στην βιβλιογραφία σχετικά µε την εξοµοίωση και την παραγωγή µεταβατικών διανυσµάτων ελέγχου για CMOS κυκλώµατα. Στην εργασία [14] είχε προταθεί αρχικά ένα τροποποιηµένο µοντέλο για την αναπαράσταση των ιδιοτήτων µνήµης που παρουσιάζουν οι πύλες κάτω από την επήρεια open transistor σφαλµάτων. Επιπλέον αυτής, δύο παραπλήσιες εργασίες [15,16] προτείνουν στην επέκταση του συνόλου των λογικών τιµών που µπορεί να έχει ο κάθε κόµβος του κυκλώµατος, εξαφανίζοντας έτσι την ανάγκη για εισαγωγή επιπλέον λογικής στα τελικά κυκλώµατα για την εξοµοίωση µεταβατικών σφαλµάτων των CMOS κυκλωµάτων όπως γινόταν στο παρελθόν. Το πρόβληµα της δηµιουργίας διανυσµάτων δοκιµής µεταβατικών σφαλµάτων αναπτύχθηκε πριν αρκετά χρόνια στην εργασία [17] όπου και προτάθηκαν δύο στρατηγικές. Κατά την πρώτη, γίνεται µία αναζήτηση στο σύνολο των διανυσµάτων για απλά stuck-at σφάλµατα µε σκοπό να βρεθεί µία κατάλληλη ακολουθία από διανύσµατα που να είναι ικανή να διεγείρει κάποια επιθυµητά µεταβατικά σφάλµατα στόχους και να διαδώσει την επήρεια αυτών προς µία παρατηρήσιµη έξοδο, σύµφωνα µε την ανάλυση που προηγήθηκε σχετικά µε τα χαρακτηριστικά που έχουν τα διανύσµατα ελέγχου µεταβατικών σφαλµάτων. Η δεύτερη στρατηγική, θέλει την δηµιουργία των ακολουθιών διανυσµάτων ελέγχου κάνοντας χρήση line-justification

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 16 και εξοµοίωσης για την επίτευξη της επιθυµητής ανίχνευσης ακολουθώντας µε τον τρόπο αυτό µία στρατηγική παραπλήσια µε αυτή που ακολουθείται για τα απλά stuckat σφάλµατα. Στην µεταπτυχιακή αυτή εργασία ακολουθείται η λογική της επιστηµονικής εργασίας [18] κατά την οποία τα CMOS transistor stuck-at open σφάλµατα τα χειριζόµαστε σαν απλά transistor σφάλµατα τα οποία όµως αποτρέπουν την εµφάνιση κάποιων µεταβάσεων. Ο σκοπός είναι να βρεθούν κάποιοι συνδυασµοί µεταβατικών συνόλων δοκιµή που να µπορούν να ανιχνεύσουν τις προβληµατικές αυτές µεταβάσεις. Τα διανύσµατα αυτά δοκιµής εξάγονται από µονοπάτια (transition path ή T-paths) που είναι ευαίσθητα σε µεταβατικά σφάλµατα και συνδέουν κύριες εισόδους µε κύριες εξόδους του κυκλώµατος υπό έλεγχο. Στην εργασία αυτή υλοποιήθηκε ένας εξοµοιωτής που κάνει χρήση της T-path µεθόδου παραγωγής διανυσµάτων ελέγχου µε τον περιορισµό ότι µπορεί να εφαρµοστεί µόνο σε συνδυαστικά κυκλώµατα. Η δηµιουργία εξοµοιωτή µεταβατικών σφαλµάτων που θα χειρίζεται ακολουθιακά κυκλώµατα αποτελεί µέρος της µελλοντικής δουλειάς / επέκτασης του εξοµοιωτή. Παρόλα αυτά, ο εξοµοιωτής για συνδυαστικά κυκλώµατα µπορεί εύκολα να χρησιµοποιηθεί σε ακολουθιακά κυκλώµατα εάν οι ψευδο-είσοδοι και ψευδο-έξοδοι της scan αλυσίδας µετατραπούν σε κύριες έξοδοι και είσοδοι αντίστοιχα του κυκλώµατος. Η τεχνική αυτή αν και είναι γνωστή στην βιβλιογραφία είναι προφανές ότι η εξοµοίωση που προσφέρει δεν είναι το ίδιο ρεαλιστική µε µία αντίστοιχη που λαµβάνει υπόψιν και την λειτουργία της scan αλυσίδας, µετά τα πλεονεκτήµατα αλλά και περιορισµούς που αυτή θέτει κατά την εφαρµογή του ελέγχου. 2.2 Μεταβατικά Σφάλµατα Ο γενικός ορισµός των µεταβατικών σφαλµάτων έχει γίνει σε προηγούµενη ενότητα. Στην υποενότητα αυτή δίνεται ένας πιο λεπτοµερείς ορισµός, εισάγοντας παράλληλα κάποιους συµβολισµούς που βοηθάνε τον αναγνώστη να κατανοήσει καλύτερα τον αλγόριθµο της µεθόδου που χρησιµοποιείται για την τελική εξοµοίωση. Ορισµος 1. Ένα σφάλµα που τροποποιεί την καθυστέρηση εµφάνισης µίας από 0 σε 1 (ή αλλιώς 0-1) µετάβασης σε έναν κόµβο x λέγεται 0-1 µεταβατικό σφάλµα και συµβολίζεται ως x 01. To συµπληρωµατικό αυτού, µεταβατικό σφάλµα, είναι η καθυστέρηση της µετάβασης 1 σε 0 ή αλλιώς 1-0, που συµβολίζεται ως x 01.

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 17 Ο παραπάνω ορισµός καλύπτει και την περίπτωση κατά την οποία το σφάλµα στο κόµβο στόχο αποτρέπει εντελώς την µετάβαση και µπορεί να θεωρηθεί σαν µία καθυστέρηση µε άπειρο χρόνο. Στην εργασία αυτή περιλαµβάνονται δύο είδη σφαλµάτων που επηρεάζουν την µετάβαση µίας λογικής τιµής: τα ανοικτά µεταβατικά σφάλµατα (open transistor faults) και τα σφάλµατα καθυστέρησης (delay faults). Τα πρώτα αποτρέπουν µία µετάβαση ενώ τα δεύτερα στην ουσία τροποποιούν τον χρόνο µετάβασης των σηµάτων στους κόµβους στόχους που τα σφάλµατα επηρεάζουν. 2.2.1 Stuck-open Σφάλµατα Στο σχήµα 2.1 παρουσιάζεται µία CMOS NOR2 πύλη σε επίπεδο αναπαράστασης transistor. Η πύλη εναλλακτικά µπορεί να συµβολιστεί µε ένα απλό pull-up / pull-down µοντέλο όπου το pull-up µέρος είναι υπεύθυνο για να θέτει την λογική τιµή 1 στην έξοδο και πρακτικά υλοποιεί την συνάρτηση a b ενώ το pulldown µέρος είναι υπεύθυνο για να θέτει την λογική τιµή 0 στην έξοδο υλοποιώντας την συνάρτηση α+b. Υπάρχουν συνολικά 4 transistors στον σχεδιασµό για τα οποία αντιστοιχεί και από ένα απλό open transistor σφάλµα. Από την στιγµή που η ύπαρξη ενός τέτοιου σφάλµατος προκαλεί κάποιο από τα pull-up ή pull-down transistors να παραµείνει κλειστό (δηλαδή να µην περνάει ρεύµα από αυτό), οποιοδήποτε διάνυσµα ελέγχου για ένα από αυτά τα σφάλµατα θα πρέπει να είναι τέτοιο που να θέτει το αντίστοιχο transistor σε ανοικτή κατάσταση (δηλαδή το transistor να επιτρέπει την ροή ρεύµατος µέσω αυτού) όταν το σφάλµα απουσιάζει. Κατά την CMOS λογική σχεδιασµού κυκλωµάτων τα pull-up και pull -down µέρη είναι συµπληρωµατικά µεταξύ τους και έτσι η υπάρξει ενός open transistor σφάλµατος οδηγεί στο να είναι και τα δύο µέρη σε κλειστή κατάσταση. Ο σκοπός του ελέγχου είναι να κάνει την κατάσταση αυτή παρατηρήσιµη. Η CMOS τεχνολογία χαρακτηρίζεται από πολύ υψηλή εµπέδηση εξόδου όταν τα pull-up και pull-down τµήµα µία πύλης δεν έχουν αγώγιµο µονοπάτι µε την έξοδο (δηλαδή είναι «κλειστά»). Ταυτόχρονα, η εµπέδηση εισόδου είναι επίσης υψηλή αφού το δυναµικό τις πύλης των transistors στην ουσία ελέγχει µόνο την δηµιουργία ή όχι αγώγιµου καναλιού µεταξύ της πηγής (Gate) και της καταβόθρας (Drain). εδοµένου ότι τα ρεύµατα διαρροής είναι πολύ µικρά (βασικό χαρακτηριστικό της τεχνολογίας αυτής), τα φορτία που είναι αποθηκευµένα στην χωρητικότητα εξόδου µπορούν να διατηρηθούν για σχετικά µεγάλα χρονικά διαστήµατα έως ότου τελικά να

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 18 αποφορτιστούν λόγο της ύπαρξης των ρευµάτων αυτών. Κάνοντας χρήση αυτής της ιδιότητας, για την ανίχνευση εάν το pull-up και το pull-down µέρος µίας πύλης είναι και ταυτόχρονα τα δύο «κλειστά» το µόνο που χρειάζεται να γίνει είναι να τεθεί η προηγούµενη χρονικά έξοδος της πύλης στην αντίθετη λογική τιµή από αυτή που πρέπει να έχει την στιγµή του ελέγχου. Είναι λογικό ότι ο έλεγχος αυτός έχει νόηµα µόνο όταν τα διανύσµατα δοκιµής εφαρµόζονται µε έναν αρκετά υψηλό ρυθµό έτσι ώστε να ρεύµατα διαρροής να µην προλαβαίνουν να αποφορτίσουν την χωρητικότητα εξόδου οδηγώντας κατά τον τρόπο αυτό σε λανθασµένα συµπεράσµατα. Pull-up Pull-down Σχήµα 2.1 CMOS NOR2 πύλη Ο παρακάτω πίνακας (Πίνακας 2.1) δείχνει ότι τα stuck-open σφάλµατα που σχετίζονται µε την είσοδο b της NOR πύλης µπορούν να ανιχνευτούν στην έξοδο της πύλης (χωρίς δηλαδή να είναι απαραίτητη η τροποποίηση της πύλης) εφαρµόζοντας την ακολουθία b=0-1-0 ενώ η είσοδος a=0. Επίσης, ο συνδυασµός b=1-0-1 ενώ a=0 είναι ικανός να ανιχνεύσει τα ίδια σφάλµατα που σχετίζονται µε την είσοδο b. Στο πίνακα οι άγνωστες τιµές συµβολίζονται µε το x ενώ ο αστερίσκος σηµαίνει ότι είναι δυνατή η ανίχνευση του σφάλµατος. Πίνακας 2.1 Συσχέτιση της καταστάσεις των τρανζίστορ µε την έξοδο της πύλης {a, b} Μ3 ανοικτό Μ4 ανοικτό Μ1 ανοικτό Μ2 ανοικτό Σωστή έξοδος χωρίς λάθη 0 0 x x 1 1 1 0 1 0 0 0 1* 0 0 0 0* 0* 1 1 1 1 0 0 0 1* 0 0 0 0 0* 0* 1 1 1

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 19 2.2.2 Σφάλµατα καθυστέρησης Τα σφάλµατα καθυστέρησης αλλάζουν τον χρονισµό κάποιον συγκεκριµένων µεταβάσεων στο κύκλωµα. Η µόνη διαφορά µεταξύ αυτών των σφαλµάτων και των σφαλµάτων που αποτρέπουν µία µετάβαση είναι ότι οι έξοδοι θα πρέπει να παρακολουθούνται µέσα σε ένα καθορισµένο χρονικό διάστηµα για να είναι δυνατή η ανίχνευση των σφαλµάτων αυτών. Τα αποτελέσµατα των σφαλµάτων καθυστέρησης είναι παρατηρήσιµα µόνο για ένα περιορισµένο χρονικό παράθυρο. 2.3 Έλεγχος για Συνδυαστικά Μεταβατικά Σφάλµατα 2.3.1 Μεταβατικοί Έλεγχοι Ορισµός 2. Ένα διάνυσµα δοκιµής µεταβατικού σφάλµατος για ένα δοθέν σύνολο µεταβατικών σφαλµάτων είναι ένας έλεγχος που αποτελείται από δύο διανύσµατα που διαφέρουν τουλάχιστον σε µία είσοδο και έχει την δύναµη να ανιχνεύει τουλάχιστον ένα σφάλµα του συνόλου. Από εδώ και πέρα µία απλή µετάβαση της λογικής τιµής ενός κόµβου από 0 σε 1 (1 σε µηδέν) θα συµβολίζεται µε Α (Α ). Ένα απλό παράδειγµα φαίνεται στο παρακάτω κύκλωµα. Η µετάβαση 0-1 (Α) στον αρχικό κόµβο α διαδίδεται έως την έξοδο Ζ. Ο έλεγχος αυτός ανιχνεύει 0-1 µεταβατικά σφάλµατα στους κόµβους µε την τιµή Α και 1-0 µεταβατικά σφάλµατα στους κόµβους µε την λογική τιµή Α. Τα υπόλοιπα µεταβατικά σφάλµατα µπορούν να ανιχνευτούν θέτοντας την τιµή Α στον αρχικό κόµβο α. Στην περίπτωση αυτή ο έλεγχος είναι εύκολος διότι έχουµε ένα πλήρης µονοπάτι από την µία είσοδο σε µία έξοδο. Αντίθετα µπορεί να υπάρξουν περιπτώσεις που να µην είναι δυνατόν να σχηµατιστεί ένα τέτοιο µονοπάτι. Κάτι τέτοιο φαίνεται στο παρακάτω παράδειγµα. Σχήµα 2.2 Κύκλωµα για παράδειγµα ενός απλού διανύσµατος ελέγχου

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 20 Στο κύκλωµα στο επόµενου σχήµατος το διάνυσµα ελέγχου c=b=0 και z=1 0 δεν αντιστοιχεί σε ένα πλήρης µονοπάτι µετάβασης από τις εισόδους προς τις εξόδους του κυκλώµατος αλλά ανιχνεύει το µεταβατικό σφάλµα c 10, δηλαδή το CMOS stuckopen transistor fault στο pull-down µέρος του transistor του αντιστροφέα. Η λανθασµένη έξοδος z παρουσιάζει µία µετάβαση 1 0 αντί να παραµείνει σταθερή στην σωστή τιµή 0. Σχήµα 2.3 εύτερο κύκλωµα για παράδειγµα ενός απλού διανύσµατος ελέγχου Το παραπάνω παράδειγµα δείχνει την ανάγκη προσθήκης δύο επιπλέον συµβόλων τα P και P. Το σύµβολο P (P ) σηµαίνει ότι η fault-free τιµή ενός κόµβου πρέπει να είναι σταθερή στο 1 (0) ενώ η λανθασµένη (faulty) µπορεί να είναι Α (Α). 2.3.2 Ενεργά Μεταβατικά Μονοπάτια και Παθητικά Μεταβατικά Μονοπάτια Στην ενότητα αυτή θα παρουσιαστεί ο τρόπος χειρισµού της διάδοσης των µεταβατικών σφαλµάτων κατά µήκος µονοπατιών. Καταρχήν, σε κάθε σηµείο-κόµβο του κυκλώµατος είναι δυνατόν να αντιστοιχεί µία λίστα µε µεταβατικά σφάλµατα. Οι λίστες αυτές είναι πανοµοιότυπες µε τις λίστες της Deductive τεχνικής εξοµοίωσης [19]. Σύµφωνα µε αυτήν, για την διάδοση των σφαλµάτων από τις εισόδους µία πύλης προς τις εξόδους αυτής, στις λίστες που αντιστοιχούν στις εισόδους εφαρµόζονται οι κατάλληλες λογικές πράξης ώστε η τελική λίστα στην έξοδο να περιλαµβάνει µόνο τα σφάλµατα από όλες τις λίστες των εισόδων που πραγµατικά µπορούν να διαδοθούν στην έξοδο θεωρώντας τις δεδοµένες κάθε φορά λογικές τιµές εισόδου. Ο αναγνώστης µπορεί να ανατρέξει στην εργασία [19] για µία πιο λεπτοµερή ανάλυση της τεχνικής αν και η ανάλυση που ακολουθεί χρησιµοποιεί τις ίδιες αρχές.

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 21 Ορισµός 3. Μία λίστα σφαλµάτων S ανατίθεται σε κάθε κόµβο s του κυκλώµατος του οποίου η λογική τιµή είναι Α, Α, P, P. Η λίστα αυτή αποτελείται από σφάλµατα που µπορούν να προκαλέσουν τον κόµβο s να βρίσκεται στην τιµή 0, 1, Α και Α εάν οι απαλλαγµένη από λάθη τιµή είναι Α, Α, P, P, αντίστοιχα. Απο εδώ και πέρα οι λίστες σφαλµάτων θα συµβολίζονται µε κεφαλαία γράµµατα για να τις ξεχωρίζουµε από του κόµβους του κυκλώµατος. Η τεχνική της µεθόδου διάδοσης των σφαλµάτων είναι αρχικά σε κάθε κόµβοείσοδο του κυκλώµατος να ανατίθεται µία λίστα σφαλµάτων εάν το διάνυσµα δοκιµής περιλαµβάνει µία από τις τιµές Α, Α, P, P, όπως ακριβώς ορίστηκε παραπάνω. Στην συνέχεια κατά την διάρκεια της διάδοσης των λιστών από πύλη σε πύλη, σύµφωνα µε την deductive λογική εξοµοίωσης, είναι δυνατόν νέα τοπικά µεταβατικά σφάλµατα να προστίθενται κατά µήκος των µονοπατιών. Ο κανόνας είναι ότι εάν η τιµή εξόδου µίας πύλης ή γενικά ένα κόµβος σε επόµενο επίπεδο, έχει τιµή Α (Α ) τότε το µεταβατικό σφάλµα s01 (s10) προστίθεται στην λίστα του κόµβου αυτού. Στην περίπτωση λογικής τιµής P ή P κανένα νέο σφάλµα δεν προστίθεται. Η διάδοση των λογικών τιµών και των λιστών γίνεται από πύλη σε πύλη ακολουθώντας µία σειρά από κανόνες που εξαρτάται από την λογική συνάρτηση που υλοποιεί η συγκεκριµένη πύλη. Η περίπτωση που η µία πύλη έχει περισσότερες από δύο εισόδους καλύπτεται από τους πίνακες αυτούς εάν γίνει αναδροµική χρήση των κανόνων για το πλήθος των εισόδων. Αυτό είναι δυνατών από την στιγµή που η δυαδική αριθµητική µας επιτρέπει να αντικαθιστούµε µία πύλη n εισόδων µε ένα δένδρο n(n-1)/2 πυλών και log2(n) επιπέδων. Ένα τέτοιο παράδειγµα φαίνεται το παρακάτω σχήµα. Σχήµα 2.4 Αντιστοιχία µίας πύλης AND4 σε ένα δίκτυο τριών AND2 2.3.3 Επαγωγικοί Κανόνες ιάδοσης Λιστών Σφαλµάτων Οι πίνακες 2.2 έως 2.7 περιέχουν τους κανόνες για κάθε λογική πύλη θεωρώντας ότι η κάθε πύλη έχει δύο εισόδους την x και y και µία έξοδο την z. Στην περίπτωση κατά την οποία οι τιµή εισόδου δεν είναι γνωστή τότε αυτή θεωρείται άγνωστη και ανατίθεται σε αυτήν η τιµή Χ. Η τιµή αυτή είναι απαραίτητη για να είναι δυνατή η χρήση test-cubes, δηλαδή διανυσµάτων ελέγχου που περιέχουν τιµές που είτε είναι άγνωστες είτε αδιάφορες. Με τον τρόπο αυτό βελτιώνεται ο χρόνος

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 22 εξοµοίωσης και δηµιουργίας διανυσµάτων ελέγχου, δεδοµένου ότι υπάρχει η απαραίτητη πληροφορία για το ποιες είσοδοι είναι αδιάφορες/άγνωστες. Ταυτόχρονα µε την σωστή έξοδο (Στήλη z) για κάθε συνδυασµό εισόδων, δίνεται και ο κανόνας διάδοσης των λιστών σφαλµάτων (Στήλη Ζ). Στους κανόνες αυτούς ο χαρακτήρας & είναι το η λογική πράξη της τοµής (AND) και ο χαρακτήρας αναφέρεται στην λογική πράξη της ένωσης (OR) ενώ στην περίπτωση που ο κανόνας δηλώνει ότι δεν πρέπει να χρησιµοποιηθεί η λίστα µίας από τις εισόδους τότε µπροστά από το όνοµα της λίστας υπάρχει η λέξη NOT. Για παράδειγµα, εάν ο κανόνας για την διάδοση των λιστών σφαλµάτων είναι Χ & ΝΟΤ_Υ τότε ο κανόνας δηλώνει ότι η λίστα σφαλµάτων της εξόδου της πύλης είναι όλα τα σφάλµα που υπάρχουν στην λίστα της εισόδου Χ και δεν υπάρχουν στην λίστα της εισόδου Υ. Τέλος, εάν η έξοδος µίας πύλης είναι 0 ή 1 τότε σε αυτήν δεν ανατίθεται µία λίστα σφαλµάτων και στον πίνακα υπάρχει η ένδειξη NO, δηλαδή ότι δεν υπάρχει κανόνας. Πίνακας 2.2 Κανόνες για την πύλη AND x y z Z x y z Z 0 0 0 NO A P A X&NOT_Y 0 1 0 NO A P P X&Y 0 A 0 NO A x X NO 0 A 0 NO P 0 0 NO 0 P 0 NO P 1 P X 0 P 0 NO P A A X Y 0 x 0 NO P A NOT_A NOT_X&Y 1 0 0 NO P P P X Y 1 1 1 NO P P NOT_P NOT_X&Y 1 A A Y P x X NO 1 A A Y P 0 0 NO 1 P P Y P 1 NOT_P X 1 P P Y P A NOT_P X&NOT_Y 1 x X NO P A NOT_P X&Y A 0 0 NO P P NOT_P X&NOT_Y A 1 A X P P NOT_P X&Y A A A X Y P x X NO A A P ΝΟΤ_X&Y X 0 0 NO A P A X Y X 1 X NO A P P NOT_X&Y X A X NO A x X NO X A 0 NO A 0 0 NO X P X NO A 1 A X X P X NO A A P X&ΝΟΤ_Y X x X NO A A A X&Y

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 23 Πίνακας 2.3 Κανόνες για την πύλη NAND x y z Z x y z Z 0 0 1 NO A P A X&NOT_Y 0 1 1 NO A P P X&Y 0 A 1 NO A x X NO 0 A 1 NO P 0 1 NO 0 P 1 NO P 1 NOT_P X 0 P 1 NO P A NOT_A X Y 0 x 1 NO P A A NOT_X&Y 1 0 0 NO P P NOT_P X Y 1 1 1 NO P P P NOT_X&Y 1 A NOT_A Y P x X NO 1 A A Y P 0 0 NO 1 P NOT_P Y P 1 P X 1 P P Y P A P X&NOT_Y 1 x X NO P A P X&Y A 0 1 NO P P P X&NOT_Y A 1 NOT_A X P P P X&Y A A NOT_A X Y P x X NO A A P NOT_X&Y X 0 1 NO A P NOT_A X Y X 1 X NO A P P NOT_X&Y X A X NO A x X NO X A 1 NO A 0 1 NO X P X NO A 1 A X X P X NO A A P X&NOT_Y X x X NO A A A X&Y

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 24 Πίνακας 2.4 Κανόνες για την πύλη NOR x y z Z x y z Z 0 0 1 NO A P NOT_P NOT_X&Y 0 1 0 NO A P A X Y 0 A NOT_A Y A x X NO 0 A A Y P 0 NOT_P X 0 P NOT_P Y P 1 0 NO 0 P P Y P A NOT_P X&Y 0 x X NO P A NOT_P X&NOT_Y 1 0 0 NO P P NOT_P X&Y 1 1 0 NO P P NOT_P X&NOT_Y 1 A 0 NO P x X NO 1 A 0 NO P 0 P X 1 P 0 NO P 1 0 NO 1 P 0 NO P A NOT_A NOT_X&Y 1 x 0 NO P A A X Y A 0 NOT_A X P P NOT_P NOT_X&Y A 1 0 NO P P P X Y A A NOT_A X&Y P x X NO A A NOT_P X&NOT_Y X 0 X NO A P NOT_P X&Y X 1 0 NO A P NOT_A X&NOT_Y X A 0 NO A x 0 NO X A X NO A 0 A X X P X NO A 1 0 NO X P X NO A A NOT_P NOT_X&Y X x X NO A A A X Y

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 25 Πίνακας 2.5 Κανόνες για την πύλη OR x y z Z x y z Z 0 0 1 NO A P P NOT_X&Y 0 1 0 NO A P NOT_A X Y 0 A A Y A x X NO 0 A NOT_A Y P 0 P X 0 P P Y P 1 1 NO 0 P NOT_P Y P A P X&Y 0 x X NO P A P X&NOT_Y 1 0 1 NO P P P X&Y 1 1 1 NO P P P X&NOT_Y 1 A 1 NO P x NOT_P X 1 A 1 NO P 0 1 NO 1 P 1 NO P 1 A NOT_X&Y 1 P 1 NO P A NOT_A X Y 1 x 1 NO P A P NOT_X&Y A 0 A X P P NOT_P X Y A 1 1 NO P P X NO A A A X&Y P x NOT_P X A A P X&NOT_Y X 0 X NO A P P X&Y X 1 1 NO A P A X&NOT_Y X A 1 NO A x 1 NO X A X NO A 0 NOT_A X X P X NO A 1 1 NO X P X NO A A P NOT_X&Y X X X NO A A NOT_A X Y

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 26 Πίνακας 2.6 Κανόνες για την πύλη XOR x y z Z x y z Z 0 0 0 NO A P A X^Y 0 1 1 NO A P A X^Y 0 A A Y A x X NO 0 A NOT_A Y P 0 P X 0 P P Y P 1 NOT_P X 0 P NOT_P Y P A NOT_A X^Y 0 x X NO P A A X^Y 1 0 1 NO P P NOT_P X^Y 1 1 0 NO P P P X^Y 1 A NOT_A Y P x X NO 1 A A Y P 0 NOT_P X 1 P NOT_P Y P 1 P X 1 P P Y P A A X^Y 1 x X NO P A NOT_A X^Y A 0 A X P P P X^Y A 1 NOT_A X P P NOT_P X^Y A A NOT_P X^Y P x X NO A A P X^Y X 0 X NO A P NOT_A X^Y X 1 X NO A P A X^Y X A X NO A x X NO X A X NO A 0 NOT_A X X P X NO A 1 A X X P X NO A A P X^Y X x X NO A A NOT_P X^Y Πίνακας 2.7 Κανόνες για την πύλη NOT x z Z 0 1 NO 1 0 NO A NOT_A X NOT_A A X P NOT_P X NOT_P P X X X NO

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 27 Στην περίπτωση fan-out διακλαδώσεων, οι λίστες σφαλµάτων που σχετίζονται µε την πηγή του Fan-out stem διαδίδονται σε όλες τις εξόδους της διακλάδωσης και τα αντίστοιχα µεταβατικά σφάλµατα προστίθενται στις λίστες των εξόδων εάν το µονοπάτι είναι ένα ενεργό µονοπάτι. ηλαδή, το σφάλµα x 01 (x 10 ) προστίθεται στην λίστα του X εάν x= A ( x= A ). Η όλη διαδικασία διάδοσης φαίνεται στο επόµενο παράδειγµα. Θεωρώντας το κύκλωµα του παρακάτω σχήµατος γίνεται χρήση των οι κανόνες που περιλαµβάνονται στους προηγούµενους πίνακες για τον υπολογισµό της εξόδου της τελικής XOR πύλης καθώς και της λίστα σφαλµάτων που η έξοδος αυτή περιλαµβάνει. Στο παράδειγµα θεωρείται ότι τα µεταβατικό διάνυσµα ελέγχου που εφαρµόζεται στο κυκλώµατα είναι το x=a και y=a. Τι τελικές τιµές κάθε κόµβου και η λίστα σφαλµάτων που αυτό περιέχει έχοντας διατρέξει το κύκλωµα πύλη-πύλη, είναι οι παρακάτω: x=a X =x 01 y=a Y =y 10 z=a Z =z 01 v=p V =y 10 w=a W =y 10 Σχήµα 2.5 Παράδειγµα διάδοσης τιµών και εφαρµογής κανόνων Σχήµα 2.6 Παράδειγµα διάδοσης µε µόνο µετάβαση εισόδου Ένα διαφορετικό παράδειγµα για το ίδιο κύκλωµα µε µόνο µία µετάβαση σε µία είσοδο θεωρώντας το διάνυσµα µεταβατικού ελέγχου x=a y=1 φαίνεται στο επόµενο σχήµα. Οι τιµές κάθε κόµβοι και οι λίστες σφαλµάτων είναι οι παρακάτω:

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 28 x=a X =x 01 z=a Z =z 01 v=α V =y 01, v 01 w=p W =y 01, v 01 Σύµφωνα µε όλα τα παραπάνω µπορούµε να καταλήξουµε στον παρακάτω ορισµό. Ορισµός 4. Ένα µεταβατικό µονοπάτι είναι ένα µονοπάτι διάδοσης (propagation path) που παράγεται χρησιµοποιώντας τους κανόνες που ορίσθηκαν παραπάνω και διαδίδεται από τις εισόδους προς τις εξόδους ενός κυκλώµατος. Το παρακάτω θεώρηµα συνοψίζει την λογική λειτουργίας του εξοµοιωτή: Θεώρηµα 1. Θεώρησε ένα κύκλωµα µε µία έξοδο f. Εάν για ένα µεταβατικό µονοπάτι του κυκλώµατος f=a, f=a, f=p ή f=p τότε τα σφάλµατα που υπάρχουν στην τελική λίστα F θα ανιχνεύονται από το µεταβατικό διάνυσµα ελέγχου που εφαρµόστηκε στην έξοδο για την δηµιουργία του µονοπατιού. Για την διάρκεια του πραγµατικού ελέγχου, εάν f=a ή f=a η παρουσία των σφαλµάτων της λίστας F θα ακυρώσουν µία µετάβαση στην έξοδο f ενώ εάν f=p ή f=p η παρουσία ενός από τα σφάλµατα της λίστας F θα προκαλέσει µία λανθασµένη µετάβαση στην έξοδο f. 2.3.4 Παραγωγή ιανυσµάτων Καθυστέρησης µε Χρήση Τ- Μονοπατιών Το προηγούµενο µοντέλο µπορεί εύκολα να επεκταθεί µε σκοπό την ανίχνευση σφαλµάτων καθυστέρησης. Αν θεωρήσουµε ότι σε µία κύρια έξοδο του κυκλώµατος, έστω f, µετά την εφαρµογή του προηγούµενου µοντέλου έχει ανατεθεί ένα σφάλµα Α δηλαδή µία καθυστερηµένη µετάβαση 0-1, τότε για την ανίχνευση του διανύσµατος καθυστέρησης το µόνο που πρέπει να γίνει είναι ο έλεγχος να πραγµατοποιηθεί σε ένα καθορισµένο χρονικό σηµείο.

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 29 Θεώρηµα 2. Θεώρησε ένα κύκλωµα µε µία έξοδο f. Ένας Τ- έλεγχος δηµιουργείται και εφαρµόζεται στο κύκλωµα. Εάν f=a, f=not_a, f=p, f=not_p τότε η παρουσία ενός stuck σφάλµατος στην λίστα σφαλµάτων F υποδηλώνει την ανίχνευση του σφάλµατος καθυστέρησης κατά την εµφάνιση του σφάλµατος αυτού κατά την εφαρµογή της µετάβασης στην είσοδο Α ή ΝΟΤ_Α. Εάν κατά την διάρκεια του ελέγχου f=a ή f= NOT_A τότε η παρουσία του σφάλµατος καθυστέρησης θα έχει ως αποτέλεσµα την καθυστέρηση της µετάβασης στην έξοδο f ( συγκρινόµενη µε την τιµή της ίδιας εξόδους για την περίπτωση χωρίς την εµφάνιση του σφάλµατος). Εάν f= P ή f= NOT_Α τότε η παρουσία του σφάλµατος αυτού θα δηµιουργήσει έναν παροδικό παλµό στην έξοδο f αντί για µία απλή µετάβαση. Τα αποτελέσµατα του σφάλµατος καθυστέρησης είναι παροδικά και ορατά για ένα περιορισµένο χρονικό διάστηµα που σχετίζεται µε το σφάλµα καθαυτό. Αποτέλεσµα αυτού είναι, σε συνδυαστικά κυκλώµατα να απαιτείται η σύλληψη της τιµής της εξόδου την κατάλληλη στιγµή και όχι µετά το τέλος της παροδικής αυτής κατάστασης. Η περίπτωση αυτή είναι διαφορετική από την περίπτωση των ακουλουθιακών κυκλωµάτων όπου οι επιδράσεις των µεταβατικών σφαλµάτων είναι δυνατό να αποθηκευτούν στα στοιχεία µνήµης του σχεδιασµού και έτσι να είναι εύκολη η παρατήρηση της λανθασµένης απόκρισης του σχεδιασµού. Ένα παράδειγµα φαίνεται στο παρακάτω σχήµα (Σχήµα 2.7 ). Σχήµα 2.7 Παράδειγµα ανίχνευσης σφάλµατος καθυστέρησης Η εφαρµογή της µεθοδολογία που περιγράφτηκε στις προηγούµενες µεθόδους δίνει ως αποτέλεσµα τις παρακάτω λίστες σφαλµάτων: x = A X= { } z = A Z= { } v = A V= { z 01, v 01 } w = NOT_P W= { z 01,v 01 }

Κεφάλαιο 2 Εξοµοιωτής Μεταβατικών Σφαλµάτων 30 H παρουσία του σφάλµατος z=a στην λίστα του W που έχει τιµή NOT_P σηµαίνει ότι στην περίπτωση που προκληθεί ένα σφάλµα καθυστέρησης Α στην έξοδο z τότε στην κύρια έξοδο w θα παρατηρηθεί έναν παλµός. Θεωρώντας ότι η καθυστέρηση διάδοσης των λογικών τιµών µέσω των πυλών είναι πρακτικά ίση µε το µηδέν, οι λογικές µεταβάσεις που θα πραγµατοποιηθούν σε όλα του κόµβους του κυκλώµατος που θεωρήθηκε για το παράδειγµα, φαίνονται στο παρακάτω σχήµα (Σχήµα 2.8). Σχήµα 2.8 Λογικές Μεταβάσεις των τιµών σε κάθε κόµβο του κυκλώµατος στο σχήµα 2.7

3 ο Χρήση και Υλοποίηση Εξοµοιωτή 3. Χρήση και Υλοποίηση Εξοµοιωτή Στο κεφάλαιο αυτό παρουσιάζεται ο εξοµοιωτής µεταβατικών σφαλµάτων, του οποίου η θεωρία πίσω από τον τρόπο λειτουργίας του περιγράφτηκε στο προηγούµενο κεφάλαιο, αλλά αυτήν την φορά σαν ένα εργαλείο. Το κεφάλαιο χωρίζεται σε δύο µέρη: Κατά το πρώτο, δίνεται έµφαση στον τρόπο χρήσης του εξοµοιωτή παρουσιάζοντας τις δυνατότητες του, την µορφή των αρχείων που απαιτεί και τον τρόπο ερµηνείας των αρχείων εξόδου. Παράλληλα µε αυτό, υπάρχει και ένα δεύτερο µέρος που δίνει µερικές λεπτοµέρειες για τον τρόπο υλοποίησης του εξοµοιωτή. Η όλη υλοποίηση του αποδείχθηκε αρκετά απαιτητική για να επίτευξη ρεαλιστικών χρόνων απόκρισης και λογικών απαιτήσεων σε µνήµη οδηγώντας στην ανάγκη χρήσης µερικών προχωρηµένων αλγορίθµων χειρισµού δοµών δεδοµένων. Στο δεύτερο µέρος αυτό παρουσιάζονται συνοπτικά οι δοµές δεδοµένων, οι αλγόριθµοι αναζήτησης και τέλος το σχήµα χειρισµού µνήµης που υιοθετήθηκε. 3.1 υνατότητες του Εξοµοιωτή Ο εξοµοιωτής εν συντοµία παρέχει τις παρακάτω δυνατότητες: 1. Εισαγωγή της περιγραφής του κυκλώµατος σε Bench µορφή, δηλαδή την µορφή που περιγράφονται τα ISCAS 89 µετρό-κυκλώµατα. 2. Εξοµοίωση λαµβάνοντας υπόψιν όλα τα δυνατά µεταβατικά σφάλµατα που υπάρχουν σε ένα κύκλωµα (χωρίς να χρειάζεται αυτά να οριστούν από τον χρήστη) ή εξοµοίωση µόνο για τα µεταβατικά σφάλµατα που επιθυµεί ο χρήστης 3. Εξοµοίωση για οποιοδήποτε αριθµό διανυσµάτων ελέγχου που δίνονται σαν είσοδο σε αυτόν. Παράλληλα, κάνοντας χρήση ειδικών συµβόλων αντικαθιστάτε τα απαραίτητο ζεύγος διανυσµάτων ελέγχου µε ένα µόνο διάνυσµα που είναι ευκολότερο στο γράψιµο και έλεγχο της ορθότητας του.

Κεφάλαιο 3 Χρήση και Υλοποίηση Εξοµοιωτή 32 4. υνατότητα παραµετροποίησης της λειτουργίας του εξοµοιωτή κάνοντας χρήση των κατάλληλων παραµέτρων κατά την εκτέλεση του. 5. Καταγραφεί όλων των συµβάντων σε log αρχεία για την σωστή ενηµέρωση του χρήστη. 3.2 Τρόπος Χρήσης Εξοµοιωτή Η ενότητα αυτή περιγράφει τον τρόπο εκτέλεσης και χρήσης του εξοµοιωτή. Έτσι αρχικά περιγράφεται ο βασικός τρόπος εκτέλεσης ενώ στην συνέχεια εξηγείται η χρήση και µορφολογία των αρχείων εισόδου και εξόδου που δέχεται και δίνει ο εξοµοιωτής, αντίστοιχα. Στο τέλος της ενότητας περιγράφονται αναλυτικά οι παράµετροι εκτέλεσης που υποστηρίζει ο εξοµοιωτής. 3.2.1 Βασικός Τρόπος Εκτέλεσης Για την εκτέλεση του εξοµοιωτή σαν ξεχωριστό εργαλείο αρκεί να εκτελεστεί το εκτελέσιµο αρχείο Transition_fault_simulator.exe. Ο βασικός τρόπος εκτέλεσης του είναι: Transition_fault_simulator [circuit file],µε το [circuit file] να είναι το όνοµα του αρχείου που περιέχει την περιγραφή του κυκλώµατος σε Bench µορφή χωρίς όµως να περιέχεται η κατάληξη.bench που έχουν όλα οι bench περιγραφές. Π.χ. για την εκτέλεση του εξοµοιωτή πάνω στο s9234.bench κύκλωµα αρκεί να δοθεί η εντολή c:\ > Transition_fault_simulator s9234 Τρέχοντας την παραπάνω εντολή ο εξοµοιωτής θα εκτελέσει µία πλήρη εξοµοίωση του κυκλώµατος θεωρώντας ότι αναζητεί όλα τα δυνατά transition faults που µπορεί το κάθε διάνυσµα ελέγχου να ανιχνεύσει. Τα διανύσµατα ελέγχου διαβάζονται από το αρχείο [circuit_file].patters ενώ τα τελικά αποτελέσµατα αποθηκεύονται στο αρχείο [circuit_file].output. Κάθε στιγµή όλα τα µηνύµατα (πληροφοριών ή σφαλµάτων) που τυπώνονται στην οθόνη, αποθηκεύονται παράλληλα και στο αρχείο [circuit_file].log έτσι ώστε ο χρήστης να µπορεί να ανατρέξει στο ιστορικό των ενεργειών που το πρόγραµµα πραγµατοποίησε. Πρέπει να σηµειωθεί ότι τα ονόµατα των παραπάνω αρχείων µπορούν να αλλάξουν κατά την