Χρήση υπολογιστικών τεχνικών στον έλεγχο Ολοκληρωμένων Κυκλωμάτων Ioannis Voyiatzis Τμήμα Μηχανικών Πληροφορικής Τ.Ε. TEI Αθήνας
Outline Τρανζίστορ και Ολοκληρωμένα Κυκλώματα (ΟΚ) Έλεγχος ΟΚ - Προκλήσεις στον έλεγχο ΟΚ Μοντελοποίηση ελαττωμάτων και εξαγωγή διανυσμάτων ελέγχου 2
Τρανζίστορ Κατασκευάστηκε το 1948 στα Bell Labs Το Nobel Prize in Physics, 1956 απονεμήθηκε στους Shockley, Bardeen, and Brattain For their researches on semiconductors and their discovery of the transistor effect John Bardeen, William Shockley and Walter Brattain at Bell Labs, 1948.
Λειτουργία Τρανζίστορ Διακόπτης: Επιτρέπει (ή όχι) τη διέλευση ρεύματος από το source στο drain ανάλογα με το ρεύμα στο gate
nmos και pmos Τύποι Τρανζίστορ
Τύποι Τρανζίστορ nmos: με 1 άγει, με 0 δεν άγει pmos: με 0 άγει, με 1 δεν άγει
Τρανζίστορ και πύλες Συνδέοντας transistor κατάλληλα μπορούμε να φτιάξουμε πύλες: pmos=> 0: Αγει, 1: ΔΕΝ Αγει nmos=> 1: Αγει, 0: ΔΕΝ Αγει A Q 0 1 1 0
Τρανζίστορ και ολοκληρωμένο κύκλωμα Και ολοκληρωμένα κυκλώματα Τεχνολογία Κατασκευής (65 nm, 13 nm etc)
Νόµος του Moore Ο Gordon Moore προέβλεψε (1965, 1975) την συρρίκνωση του µεγέθους των transistors και το διπλασιασµό της πυκνότητας ολοκλήρωσης (# transistors) Κάθε 12 µήνες (1965) Κάθε 24 µήνες (1975) Gordon Moore, Συνιδρυτής της Intel
Νόµος του Moore
Μια αναλογία Το 1978 μια πτήση Νέα Υόρκη-Παρίσι κόστιζε 900 ευρώ και διαρκούσε 7 ώρες Αν οι αεροπορικές μεταφορές είχαν την ίδια εξέλιξη με αυτή του νόμου του Moore, το ίδιο ταξίδι θα κόστιζε ένα λεπτό του ευρώ και θα διαρκούσε 1 δευτερόλεπτο!
Αποτελέσµατα της εξέλιξης Αύξηση της απόδοσης Μείωση του κόστους Περισσότερες λειτουργίες
Φυσικά, υπήρξαν και λανθασμένες προβλέψεις...
Χωρητικότητα DRAM DRAM growth rule: 4x κάθε 3 χρόνια
ιαδικασία κατασκευής ΟΚ Ράβδος πυριτίου Κενά πλακίδια Συσκευή τεµαχισµού 20 έως 40 βήµατα επεξεργασίας Συγκόλληση του τσιπ στη συσκευασία οκιµασµένοι κύβοι Κοπτικό κύβων οκιµασµένο πλακίδιο οκιµή πλακιδίων ιαµορφωµένα πλακίδια Συσκευασµένοι κύβοι οκιµή κοµµατιού οκιµασµένα συσκευασµένα τσιπ Αποστολή στους πελάτες
Αξιοπιστία Σε γεωµετρίες <65nm, τα κυκλώματα καθίστανται ευάλωτα σε µηχανισµούς βλαβών (είναι πιο πιθανό να μη λειτουργούν σωστά) Η βιομηχανία θέλει: ανίχνευση ελαττωµάτων ανέχεια του υπολογιστικού συστήµατος σε ελαττώµατα Ένα κύκλωμα µε ατέλειες µπορεί να προκαλέσει: Κατάρρευση συστηµάτων Οικονοµικές καταστροφές Απώλειες ανθρώπινων ζωών Θα πρέπει να ανιχνευθούν τα Ο.Κ. µε ατέλειες πριν την αποστολή στον πελάτη Το κόστος επισκευής αυξάνει κατά µια τάξη µεγέθους σε κάθε βήµα µετά τη γραµµή παραγωγής (Rule of Ten)
Λογική σχεδίαση και άλγεβρα Boole Οι βασικοί λογικοί (ή Boolean) τελεστές που χρησιμοποιούνται στη σχεδίαση Ο.Κ. είναι οι: NOT, AND, OR. AND: Λογικός πολ/σμός (σύζευξη) OR: Λογική πρόσθεση (διάζευξη) NOT: Λογική αντιστροφή Boolean Έκφραση: A B Boolean Έκφραση: A + B Boolean Έκφραση: Ā ή ~A ή Α'
Λογικές πύλες Ψηφιακά λογικά στοιχεία που αντιστοιχούν στις λογικές συναρτήσεις. C = A AND B C = A OR B NOT A A B C A B C A _ A A B C A B C A ~A 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1
Λογικό Κύκλωμα: Συνδυασμός λογικών πυλών A B AND OR ~A 0 0 0 0 1 Πίνακας αληθείας x 1 x 2 x 3 x 1 x 2 x 3 0 0 1 x 1 x 2 x 3 = 001 0 0 1 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0 1 y y x 1 x 2 x 3 y 000 0 001 1 010 0 011 0 100 0 101 1 110 1 111 1 x 1 x 2 x 3 000 001 010 011 100 101 110 111 y 0 1 0 0 0 1 1 1
Έλεγχος (Testing) ΟΙ διαστάσεις τρανζίστορ και των καλωδίων που τα συνδέουν μειώνονται: m (10-6 m) => nm (10-9 m) Η μείωση των διαστάσεων αυξάνει την πιθανότητα ελαττωμάτων κατά την κατασκευή Αν έστω και ένα transistor ή καλώδιο έχει πρόβλημα, μπορεί να έχει πρόβλημα όλο το κύκλωμα! Χρειαζόμαστε Έλεγχο για να διασφαλίσουμε faultfree προϊόντα «Κανόνας του Δέκα»: Το κόστος ανίχνευσης ενός ελαττωματικού IC αυξάνει κατά μια τάξη μεγέθους στα διάφορα στάδια: device PCB system field operation 20
Κόστος ελέγχου Αγορά συσκευής ελέγχου: 0.5-1.0GHz, 1024 digital pins $1.2M + 1,024 x $3,000 = $4.272M Υπάρχουν και άλλα κόστη που σχετίζονται με τη λειτουργία κ.λπ 21
Cost of Testing: forecasts The emergence of more advanced ICs and SOC semiconductor devices is causing test costs to escalate to as much as 50 percent of the total manufacturing cost. M. Kondrat, Bridging design and ATE cuts test cost - Test & Measurement - automatic test equipment, Electronic News, Sept 9, 2012. Semiconductor test cost continues to increase in spite of the introduction of DFT, and can account for up to 25-50% of total manufacturing cost. T. Cooper, G. Flynn, G. Ganesan, R. Nolan, C. Tran, Motorola, Demonstration and Deployment of a Test Cost Reduction Strategy Using Design-for-Test (DFT) and Wafer Level Burn-In and Test, (6/29/2011) Future Fab Intl. Volume 11. Test may account for more than 70% of the total manufacturing cost - test cost does not directly scale with transistor count, dies size, device pin count, or process technology International Technology Roadmap For Semiconductors (ITRS) 2013. 22
International Technology Roadmap for Semiconductors 2011 edition available at http://www.itrs.net/links/2011itrs/home2011.htm 23
Τι είναι ο έλεγχος? Εφαρμογή διανυσμάτων ελέγχου Ανάλυση των εξόδων του ΟΚ Αν είναι εσφαλμένες, το CUT έχει ελαττώματα Αν είναι σωστές, το CUT ΔΕΝ έχει ελαττώματα Input Test Stimuli Input 1 Input n Circuit Under Test (CUT) Output 1 Output m Output Response Analysis Pass/Fail 24
25 Fault coverage & Fault Models Fault coverage: ποσοτική μετρική της ποιότητας των διανυσμάτων ελέγχου Στόχος: Εύρεση συνόλου από διανύσματα ελέγχου με μέγιστη κάλυψη ελαττωμάτων Πως αποφασίζουμε την κάλυψη; Fault simulation Απαιτεί fault models (μοντέλα ελαττωμάτων) για να προσομοιώσουμε τη συμπεριφορά του υλικού Ένα fault model είναι μια υπόθεση για το φυσικό ελάττωμα που μπορεί να έχει συμβεί Ένα «καλό» fault model: Είναι υπολογιστικά αποτελεσματικό για προσομοίωση Κατοπτρίζει με ακρίβεια τη συμπεριφορά του υλικού
Παραδείγματα Fault Models Stuck-at Transistor level Path Delay Pattern Sensitive and coupling 26
Οποιαδήποτε γραμμή μπορεί να είναι: Stuck-at-0 (SA0) Stuck-at-1 (SA1) Παράδειγμα: x 1 x 2 x 3 a b c e # fault sites: 9 d f Stuck-at Faults # single faults: 2 9=18 g h i y Πίνακας αληθείας για τη fault-free συμπεριφορά και όλα τα stuck-at faults x 1 x 2 x 3 000 001 010 011 100 101 110 111 y 0 1 0 0 0 1 1 1 a SA0 0 1 0 0 0 1 0 0 a SA1 0 1 1 1 0 1 1 1 b SA0 0 1 0 1 0 1 0 1 b SA1 0 0 0 0 1 1 1 1 c SA0 0 0 0 0 0 0 1 1 c SA1 1 1 0 0 1 1 1 1 d SA0 0 1 0 0 0 1 0 0 d SA1 0 1 0 0 1 1 1 1 e SA0 0 1 0 1 0 1 1 1 e SA1 0 0 0 0 0 0 1 1 f SA0 0 0 0 0 0 0 1 1 f SA1 0 1 0 1 0 1 1 1 g SA0 0 1 0 0 0 1 0 0 g SA1 1 1 1 1 1 1 1 1 h SA0 0 0 0 0 0 0 1 1 h SA1 1 1 1 1 1 1 1 1 i SA0 0 0 0 0 0 0 0 0 i SA1 1 1 1 1 1 1 1 1 Τα γκρίζα δείχνουν τα λάθη 27
Stuck-at Faults Τι θα συμβεί αν: Υπάρχει το λάθος i-sa1 και βάλω είσοδο 000 Υπάρχει το λάθος i-sa1 και βάλω είσοδο 001 x 1 x 2 x 3 a b c e d f g h i y x 1 x 2 x 3 000 001 010 011 100 101 110 111 y 0 1 0 0 0 1 1 1 a SA0 0 1 0 0 0 1 0 0 a SA1 0 1 1 1 0 1 1 1 b SA0 0 1 0 1 0 1 0 1 b SA1 0 0 0 0 1 1 1 1 c SA0 0 0 0 0 0 0 1 1 c SA1 1 1 0 0 1 1 1 1 d SA0 0 1 0 0 0 1 0 0 d SA1 0 1 0 0 1 1 1 1 e SA0 0 1 0 1 0 1 1 1 e SA1 0 0 0 0 0 0 1 1 f SA0 0 0 0 0 0 0 1 1 f SA1 0 1 0 1 0 1 1 1 g SA0 0 1 0 0 0 1 0 0 g SA1 1 1 1 1 1 1 1 1 h SA0 0 0 0 0 0 0 1 1 h SA1 1 1 1 1 1 1 1 1 i SA0 0 0 0 0 0 0 0 0 i SA1 1 1 1 1 1 1 1 1 28
Stuck-at Faults Ερώτηση 1: Με ποιο(α) test vectors ανιχνεύω το a-sa1; Απάντηση: 010, 011 x 1 x 2 x 3 a b c e d f g h i y x 1 x 2 x 3 000 001 010 011 100 101 110 111 y 0 1 0 0 0 1 1 1 a SA0 0 1 0 0 0 1 0 0 a SA1 0 1 1 1 0 1 1 1 b SA0 0 1 0 1 0 1 0 1 b SA1 0 0 0 0 1 1 1 1 c SA0 0 0 0 0 0 0 1 1 c SA1 1 1 0 0 1 1 1 1 d SA0 0 1 0 0 0 1 0 0 d SA1 0 1 0 0 1 1 1 1 e SA0 0 1 0 1 0 1 1 1 e SA1 0 0 0 0 0 0 1 1 f SA0 0 0 0 0 0 0 1 1 f SA1 0 1 0 1 0 1 1 1 g SA0 0 1 0 0 0 1 0 0 g SA1 1 1 1 1 1 1 1 1 h SA0 0 0 0 0 0 0 1 1 h SA1 1 1 1 1 1 1 1 1 i SA0 0 0 0 0 0 0 0 0 i SA1 1 1 1 1 1 1 1 1
Stuck-at Faults Ερώτηση 2: Πόσα test vectors ανιχνεύουν όλα τα πιθανά faults; Σίγουρα με 8 κάνω τη «δουλειά» Μπορώ με λιγότερα; x 1 x 2 x 3 a b c e d f g h i y x 1 x 2 x 3 000 001 010 011 100 101 110 111 y 0 1 0 0 0 1 1 1 a SA0 0 1 0 0 0 1 0 0 a SA1 0 1 1 1 0 1 1 1 b SA0 0 1 0 1 0 1 0 1 b SA1 0 0 0 0 1 1 1 1 c SA0 0 0 0 0 0 0 1 1 c SA1 1 1 0 0 1 1 1 1 d SA0 0 1 0 0 0 1 0 0 d SA1 0 1 0 0 1 1 1 1 e SA0 0 1 0 1 0 1 1 1 e SA1 0 0 0 0 0 0 1 1 f SA0 0 0 0 0 0 0 1 1 f SA1 0 1 0 1 0 1 1 1 g SA0 0 1 0 0 0 1 0 0 g SA1 1 1 1 1 1 1 1 1 h SA0 0 0 0 0 0 0 1 1 h SA1 1 1 1 1 1 1 1 1 i SA0 0 0 0 0 0 0 0 0 i SA1 1 1 1 1 1 1 1 1
Πρακτικά προβλήματα Ερώτηση 3: Έστω ένα κύκλωμα με 8 εισόδους στα 2 GHz Πόσο χρόνο θέλω να εφαρμόσω όλες τις εισόδους; 4 ns Ερώτηση 4: Έστω ένα κύκλωμα με 60 εισόδους στα 2 GHz Πόσο χρόνο θέλω για να εφαρμόσω όλες τις εισόδους; 10 seconds; 10 λεπτά; 10 ώρες; 10 μέρες; 10 χρόνια;
Στόχος: Ελάχιστο σύνολο από test vectors Το ελαττωματικό διαφέρει από το ορθό Αναγκαία vectors: 011, 100 Γιατί; 011 => f SA1, e SA0 100 => d SA1 Τα 011, 100 ανιχνεύουν 10 faults Τα υπόλοιπα 8 ανιχνεύονται από 001 και 110 Πίνακας αληθείας για τη fault-free συμπεριφορά και για όλα τα stuck-at faults x 1 x 2 x 3 000 001 010 011 100 101 110 111 y 0 1 0 0 0 1 1 1 a SA0 0 1 0 0 0 1 0 0 a SA1 0 1 1 1 0 1 1 1 b SA0 0 1 0 1 0 1 0 1 b SA1 0 0 0 0 1 1 1 1 c SA0 0 0 0 0 0 0 1 1 c SA1 1 1 0 0 1 1 1 1 d SA0 0 1 0 0 0 1 0 0 d SA1 0 1 0 0 1 1 1 1 e SA0 0 1 0 1 0 1 1 1 e SA1 0 0 0 0 0 0 1 1 f SA0 0 0 0 0 0 0 1 1 f SA1 0 1 0 1 0 1 1 1 g SA0 0 1 0 0 0 1 0 0 g SA1 1 1 1 1 1 1 1 1 h SA0 0 0 0 0 0 0 1 1 h SA1 1 1 1 1 1 1 1 1 i SA0 0 0 0 0 0 0 0 0 i SA1 1 1 1 1 1 1 1 1
x 1 x 2 x 3 Στόχος: Ελάχιστο σύνολο από test vectors Πώς βρίσκω το σύνολο που με ενδιαφέρει; Χρησιμοποιώ ειδικούς (έξυπνους) αλγόριθμους, Διαφορετικά μπορεί να χρειαστώ χρόνια! Για ένα O.K.! a b c e d f g h i y Πίνακας αληθείας για τη fault-free συμπεριφορά και για όλα τα stuck-at faults x 1 x 2 x 3 000 001 010 011 100 101 110 111 y 0 1 0 0 0 1 1 1 a SA0 0 1 0 0 0 1 0 0 a SA1 0 1 1 1 0 1 1 1 b SA0 0 1 0 1 0 1 0 1 b SA1 0 0 0 0 1 1 1 1 c SA0 0 0 0 0 0 0 1 1 c SA1 1 1 0 0 1 1 1 1 d SA0 0 1 0 0 0 1 0 0 d SA1 0 1 0 0 1 1 1 1 e SA0 0 1 0 1 0 1 1 1 e SA1 0 0 0 0 0 0 1 1 f SA0 0 0 0 0 0 0 1 1 f SA1 0 1 0 1 0 1 1 1 g SA0 0 1 0 0 0 1 0 0 g SA1 1 1 1 1 1 1 1 1 h SA0 0 0 0 0 0 0 1 1 h SA1 1 1 1 1 1 1 1 1 i SA0 0 0 0 0 0 0 0 0 i SA1 1 1 1 1 1 1 1 1
Παρατηρήσεις Το παραπάνω είναι μόνο ένα απλό παράδειγμα Πλήθος παραδειγμάτων όπου υπολογιστικές τεχνικές χρησιμοποιούνται στον έλεγχο ολοκληρωμένων κυκλωμάτων Οι τεχνικές αυτές είναι απαραίτητες στη βιομηχανία Μείωση κόστους συσκευών ελέγχου => μείωση κόστους ελέγχου Τα πανεπιστήμια και η βιομηχανία συνεργάζονται για καλύτερα αποτελέσματα
Ερωτήσεις? Σας ευχαριστώ!