Τεχνικές σχεδιασμού μονοπατιών ολίσθησης (Scan Path Design Techniques)
Περίγραμμα παρουσίασης Προβλήματα ελέγχου ορθής λειτουργίας ακολουθιακών κυκλωμάτων Μονοπάτι ολίσθησης (scan path) Στοιχεία μνήμης που χρησιμοποιούνται για την υλοποίηση των μονοπατιών ολίσθησης Έλεγχος της ορθής λειτουργίας που βασίζεται στην ύπαρξη μονοπατιού ολίσθησης Αρχιτεκτονικές μονοπατιών ολίσθησης Κόστος υλοποίησης της τεχνικής των μονοπατιών ολίσθησης Mερική υλοποίηση των μονοπατιών ολίσθησης (Partial Scan) 2
Προβλήματα ελέγχου της ορθής λειτουργίας ακολουθιακών κυκλωμάτων Eσωτερική κατάσταση προβλήματα ελεγξιμότητας και παρατηρησημότητας 3
Μονοπάτι ολίσθησης (Scan path) Application logic Application logic PI Combinational logic PO PI Combinational logic PO flip flops flip flops Scan-Out Scan-In 4
Τι προσφέρει το μονοπάτι ολίσθησης; Tο υπό έλεγχο κύκλωμα μπορεί να τεθεί σε οποιαδήποτε επιθυμητή εσωτερική κατάσταση H εσωτερική κατάσταση του κυκλώματος είναι παρατηρήσιμη Μπορεί να ελεγχθεί η ορθή λειτουργία ενός ακολουθιακού κυκλώματος ως να είναι συνδυαστικό κύκλωμα 5
Μηχανές πεπερασμένων καταστάσεων Mηχανές που βασίζονται στη χρήση φλιπ-φλοπ Mηχανές που βασίζονται στη χρήση μανδαλωτών 6
Mηχανές που βασίζονται στη χρήση φλιπ-φλοπ 7
Μονοπάτι ολίσθησης για μηχανές που βασίζονται στη χρήση φλιπ-φλοπ φλιπ-φλοπ με πολυπλέκτη φλιπ-φλοπ δύο εισόδων 8
φλιπ-φλοπ ολίσθησης με πολυπλέκτη D Master latch Slave latch SE SI Multiplexer C CK D flip flop 9
Υλοποίηση μονοπατιού ολίσθησης χρησιμοποιώντας φλιπ-φλοπ ολίσθησης με πολυπλέκτη 10
Κανονικός τρόπος λειτουργίας 11
Λειτουργία ολίσθησης 12
Eξαγωγή διανυσμάτων δοκιμής Συνδυαστικό τμήμα» Η είσοδος κάθε φλιπ-φλοπ θεωρείται ως μια έξοδος του συνδυαστικού τμήματος του υπό έλεγχο κυκλώματος» Η έξοδος κάθε φλιπ-φλοπ θεωρείται ως μια είσοδος του συνδυαστικού τμήματος του υπό έλεγχο κυκλώματος φλιπ-φλοπ» Όλες τις δυνατές μεταβάσεις 0->0, 0->1, 1->1 και 1->0 πρέπει να εφαρμοστούν σε κάθε ένα φλιπ-φλοπ 13
Παράδειγμα ακολουθιακού κυκλώματος 14
Συνδυαστικό τμήμα του ακολουθιακού κυκλώματος έτοιμο να δοθεί σε ένα εργαλείο εξαγωγής διανυσμάτων δοκιμής για συνδυαστικά κυκλώματα (Scan Effective Circuit) input 1 input 2 input 3 input 4 D N D output 1 input 5 input 6 D D output 2 TPI1 TPI2 TPI3 TPI4 TPI5 A no-clock, combinational-only circuit with: 6 inputs plus 5 pseudo-inputs and 2 outputs plus 4 pseudo outputs TPO1 TPO2 TPO3 TPO4 15
Κύκλωμα με μονοπάτι ολίσθησης 16
Κύκλωμα με μονοπάτι ολίσθησης input 1 input 2 input 3 input 4 SE scanin clk D SE SDI N D SE N SDI SDO output 1 scanout input 5 input 6 D SE N SDI SDO D SE N SDI SDO output 2 1 0 1 1 δυάνυσμα ολίσθησης 4 δυαδικών ψηφίων 17
Εφαρμογή διανυσμάτων δοκιμής: έλεγχος ορθής λειτουργίας φλιπ-φλοπ H είσοδος ελέγχου SE τίθεται στη λογική τιμή 1 ώστε τα φλιπ-φλοπ ολίσθησης να σχηματίσουν ένα μονοπάτι ολίσθησης Μέσω της σειριακής εισόδου SI ολισθαίνουμε στο μονοπάτι ολίσθησης την ακολουθία 00110011 μήκους n + 5, όπου n είναι το πλήθος των φλιπφλοπ ολίσθησης 18
Εφαρμογή διανυσμάτων δοκιμής: έλεγχος ορθής λειτουργίας συνδυαστικού τμήματος 1/2 Να επαναληφθούν τα επόμενα βήματα έως ότου εφαρμοστούν όλα τα διανύσματα δοκιμής: α. Θέσε SE=1 και φόρτωσε σειριακά στον καταχωρητή εσωτερικής κατάστασης το τμήμα του διανύσματος δοκιμής που αντιστοιχεί στις ψευδoεισόδους του ακολουθιακού κυκλώματος β. Θέσε SE=0 και οδήγησε τις κύριες εισόδους του ακολουθιακού κυκλώματος με το τμήμα του διανύσματος δοκιμής που αντιστοιχεί σε αυτές 19
Εφαρμογή διανυσμάτων δοκιμής: έλεγχος ορθής λειτουργίας συνδυαστικού τμήματος 2/2 γ. Κατά τη μετάβαση του σήματος χρονισμού από 0 σε 1 διάβασε τις κύριες εξόδους του ακολουθιακού κυκλώματος δ. Θέσε SE=1 και διάβασε σειριακά από την έξοδο SO τo περιεχομένo του καταχωρητή εσωτερικής κατάστασης 20
Φλιπ-φλοπ ολίσθησης με δύο πόρτες εισόδου (Two Port Scan flip-flop) D Master latch Slave latch Sclk C SD Tclk 21
Υλοποίηση μονοπατιού ολίσθησης χρησιμοποιώντας φλιπ-φλοπ ολίσθησης με δύο πόρτες 22
Κανονικός τρόπος λειτουργίας 23
Λειτουργία ολίσθησης 24
Εφαρμογή διανυσμάτων δοκιμής (έλεγχος ορθής λειτουργίας): Συνδυαστικό τμήμα φλιπ-φλοπ 25
Εφαρμογή διανυσμάτων δοκιμής (έλεγχος ορθής λειτουργίας συνδυαστικού τμήματος 1/2 Να επαναληφθούν τα επόμενα βήματα έως ότου εφαρμοστούν όλα τα διανύσματα δοκιμής: α. Θέσε Sckl=0 και χρησιμοποιώντας το σήμα χρονισμού Tckl φόρτωσε σειριακά στον καταχωρητή εσωτερικής κατάστασης το τμήμα του διανύσματος δοκιμής που αντιστοιχεί στις ψευδoεισόδους του ακολουθιακού κυκλώματος β. Θέσε Tckl=0 και οδήγησε τις κύριες εισόδους του ακολουθιακού κυκλώματος με το τμήμα του διανύσματος δοκιμής που αντιστοιχεί σε αυτές 26
Εφαρμογή διανυσμάτων δοκιμής (έλεγχος ορθής λειτουργίας συνδυαστικού τμήματος 2/2 γ. Οδήγησε την είσοδο Sckl με μια περίοδο του σήματος χρονισμού του συστήματος. Κατά τη μετάβαση του σήματος Sckl από 0 σε 1 διάβασε τις κύριες εξόδους του ακολουθιακού κυκλώματος δ. Θέσε Sckl=0 και χρησιμοποιώντας το σήμα χρονισμού Tckl διάβασε σειριακά από την έξοδο SO τo περιεχομένo του καταχωρητή εσωτερικής κατάστασης 27
Σχεδιαστικοί κανόνες για την εφαρμογή της τεχνικής του μονοπατιού ολίσθησης (Scan Design Rules) Θα πρέπει να χρησιμοποιούνται μόνον φλιπ-φλοπ αφέντηδούλου (master-slave flip-flops) τύπου D Τουλάχιστον μία κύρια είσοδος του ολοκληρωμένου κυκλώματος πρέπει να είναι διαθέσιμη για τον έλεγχο της ορθής λειτουργίας του Όλες οι είσοδοι χρονισμού των φλιπ-φλοπ πρέπει να είναι ελέγξιμες από κύριες εισόδους του ολοκληρωμένου κυκλώματος Σήματα χρονισμού δεν πρέπει να οδηγούν εισόδους δεδομένων των φλιπ-φλοπ 28
Παράδειγμα: Έλεγχος ισχύος σχεδιαστικών κανόνων Συνδυαστική λογική D1 CK D2 FF Συνδυαστική λογική Comb. logic D2 D1 CK FF Comb. logic 29
Γίνεται παραβίαση του σχεδιαστικού κανόνα Συνδυαστική λογική CK D2 D1 FF Συνδυαστική λογική Όλες οι είσοδοι χρονισμού των φλιπ-φλοπ πρέπει να είναι ελέγξιμες από κύριες εισόδους του ολοκληρωμένου κυκλώματος 30
Παράδειγμα: Επίλυση του προβλήματος Συνδυαστική λογική D1 D2 CK FF Συνδυαστική λογική Συνδυαστική λογική D2 D1 CK FF Συνδυαστική λογική 31
Η τεχνική των μονοπατιών ολίσθησης για μηχανές που βασίζονται στη χρήση μανδαλωτών (latches) Mηχανές που χρησιμοποιούν δύο σήματα χρονισμού με διαφορά φάσης χρήση διπλού μανδαλωτή (double latch design) χρήση απλού μανδαλωτή (single latch design) Μηχανές που χρησιμοποιούν ένα σήμα χρονισμού 32
Μηχανές που χρησιμοποιούν δύο σήματα χρονισμού με διαφορά φάσης και διπλό μανδαλωτή CK1 CK2 33
Μανδαλωτής με δύο πόρτες εισόδου L1 L2 D CK1 C SD CK1 TCK CK2 CK2 TCK t 34
Υλοποίηση μονοπατιού ολίσθησης χρησιμοποιώντας μανδαλωτές με δύο πόρτες εισόδου X 1 X 2 X m Συνδυαστικό κύκλωμα Z 1 Z 2 Z k SDI 1LD 2LD nl D SDO CK1 clk clk clk TC 1L 2L nl CK2 35
Κανονική λειτουργία X 1 X 2 X m Συνδυαστικό κύκλωμα Z 1 Z 2 Z Z k SDI 1LD 2LD nl D SDO CK1 clk clk clk TC 1L 2L nl CK2 36
Λειτουργία ολίσθησης X 1 X 2 X m Συνδυαστικό κύκλωμα Z 1 Z 2 Z k SDI 1LD 2LD nl D SDO CK1 clk clk clk TC 1L 2L nl CK2 37
Μηχανές που χρησιμοποιούν δύο σήματα χρονισμού με διαφορά φάσης και απλό μανδαλωτή 38
Υλοποίηση μονοπατιού ολίσθησης σε μηχανές που χρησιμοποιούν δύο σήματα χρονισμού με διαφορά φάσης και απλό μανδαλωτή- Μέθοδος 1 X 1 X 2 X m Συνδυαστικό κύκλωμα Z 1 Z 2 Z k SDI 1L 2L nl clk clk clk CK1 TC1 1L 2L nl TC2 X m+1 X m+t Συνδυαστικό κύκλωμα Z k+1 Z k+f CK2 1L 2L nl SDO clk clk clk 1L 2L nl 39
Κανονική λειτουργία X 1 X 2 X m Συνδυαστικό κύκλωμα Z 1 Z 2 Z k 1L 2L nl SDI clk clk clk CK1 TC1 1L 2L nl TK2 X m+1 X m+t Συνδυαστικό κύκλωμα Z k+1 Z k+f CK2 1L 2L nl SDO clk clk clk 1L 2L nl 40
Λειτουργία ολίσθησης X 1 X 2 X m Συνδυαστικό κύκλωμα Z 1 Z 2 Z k SDI CK1 TC1 1L 2L nl clk clk clk TK2 1L 2L nl X m+1 X m+t Συνδυαστικό κύκλωμα Z k+1 Z k+f CK2 1L 2L nl SDO clk clk clk 1L 2L nl 41
Μηχανές που χρησιμοποιούν δύο σήματα χρονισμού με διαφορά φάσης και απλό μανδαλωτή 42
Υλοποίηση μονοπατιού ολίσθησης σε μηχανές που χρησιμοποιούν δύο σήματα χρονισμού με διαφορά φάσης και απλό μανδαλωτή- Μέθοδος 2 43
Κανονική λειτουργία X 1 X 2 X m Συνδυαστικό κύκλωμα Z 1 Z 2 Z k SDI 1L 2L nl clk clk clk CK1 TC1 X m+1 X m+t Συνδυαστικό κύκλωμα Z k+1 Z k+f CK2 TC2 1L 2L nl SDO clk clk clk 44
Λειτουργία ολίσθησης X 1 X 2 X m Συνδυαστικό κύκλωμα Z 1 Z 2 Z k SDI 1L 2L nl clk clk clk CK1 TC1 X m+1 X m+t Συνδυαστικό κύκλωμα Z k+1 Z k+f CK2 TC2 1L 2L nl SDO clk clk clk 45
Μηχανές που χρησιμοποιούν μανδαλωτές και ένα σήμα χρονισμού (One-Phase Latch Machines) 46
Υλοποίηση μονοπατιού ολίσθησης σε μηχανές που χρησιμοποιούν μανδαλωτές και ένα σήμα χρονισμού (Scan-Set Technique) 47
Kανονική λειτουργία και λήψη στιγμιότυπου (Normal Operation & Snapshot) 48
Κανονική λειτουργία και σειριακή μεταφορά πληροφορίας προς και από τα φλιπ-φλοπ (Normal Operation & Serial In or Serial Out) X 1 X 2 X m Συνδυαστικό κύκλωμα Z 1 Z 2 Z k 1D 2D nd clk clk clk L1 L2 Ln CK1 UCK SDI DCK TCK 1D 2D nd clk FF1 clk FF2 FFn clk SDO 49
Εισαγωγή νέας εσωτερικής κατάστασης (new internal state) 50
Πλεονεκτήματα και μειονεκτήματα της χρησιμοποίησης του μονοπατιού ολίσθησης Πλεονεκτήματα απλοποίηση της εξαγωγής των διανυσμάτων δοκιμής απλοποίηση της εφαρμογής των διανυσμάτων δοκιμής στο υπό έλεγχο κύκλωμα Μειονέκτημα μεγάλος χρόνος ελέγχου ορθής λειτουργίας 51
Παράλληλα μονοπάτια ολίσθησης (Parallel Scan paths) Πλεονεκτήματα:» Η μέθοδος αυτή μπορεί να χρησιμοποιηθεί σε κυκλώματα που χρησιμοποιούνται περισσότερα από ένα σήματα χρονισμού κατά την κανονική λειτουργία του κυκλώματος» Σημαντική μείωση του χρόνου ελέγχου ορθής λειτουργίας του κυκλώματος 52
Κόστος υλοποίησης των μονοπατιών ολίσθησης Αύξηση του πλήθους των ακροδεκτών του ολοκληρωμένου κυκλώματος Αύξηση του απαιτούμενου εμβαδού 1. Αύξηση πυλών για την τροποποίηση των φλιπ-φλοπ του συστήματος σε φλιπ-φλοπ ολίσθησης 2. Σημαντική αύξηση των γραμμών διασύνδεσης Μέθοδοι μείωσης των γραμμών διασύνδεσης: Τοποθέτηση των φλιπ-φλοπ για μείωση των γραμμών διασύνδεσης Επιλογή της σειράς με την οποία συμμετέχουν τα φλιπ-φλοπ στο μονοπάτι ολίσθησης Υποβάθμιση της απόδοσης μπορεί να οδηγήσουν σε μείωση της συχνότητας του σήματος χρονισμού από 5% έως 10% 53
Κατανάλωση ισχύος κατά την σειριακή λειτουργία των μονοπατιών ολίσθησης Μεγάλη μέγιστη και μέση τιμή κατανάλωσης ισχύος Μέση τιμή υπερθέρμανση του ολοκληρωμένου κυκλώματος Mέγιστη τιμή μείωση της τάσης τροφοδοσίας και προβλήματα θορύβου στο ολοκληρωμένο κύκλωμα 5% μείωση της απόδοσης της γραμμής παραγωγής (yield) συνεπάγεται χάσιμο $100 εκατομμυρίων το χρόνο για μια τυπική γραμμή των 90nm 54
Τεχνική μερικής χρήσης μονοπατιών ολίσθησης (Partial Scan Paths) Σύστημα PI Συνδυαστικό κύκλωμα PO flip flops flip flops Scan-Out 1 Scan-In 1 55
Γιατί μερική χρήση μονοπατιών ολίσθησης; Μικρότερη αύξηση του απαιτούμενου εμβαδού Μείωση του πλήθους των γραμμών διασύνδεσης Μείωση των καθυστερήσεων Είναι πιο εύκολο να εξαχθούν διανύσματα δοκιμής για το ακολουθιακό κύκλωμα που προκύπτει σε σχέση με το αρχικό ακολουθιακό κύκλωμα 56
Παράδειγμα ακολουθιακού κυκλώματος 57
Κύκλωμα για το οποίο πρέπει να εξάγουμε σύνολο διανυσμάτων δοκιμής input 1 input 2 input 3 input 4 D N D output 1 input 5 input 6 D D TPI1 TPI2 TPI3 output 2 TPO1 TPO3 TPO4 TPI5 Ακολουθιακό βάθος=1: 6 είσοδοι και 4 ψευδοείσοδοι και 2 έξοδοι και 3 ψευδοέξοδοι 58
Μονοπάτι ολίσθησης input 1 input 2 input 3 input 4 SE scanin clk input 5 D SE SDI N 1 D SE N SDI SDO 4 output 1 scanout input 6 D D SE N SE N SDI SDI SDO 2 SDO 3 output 2 59
Επιλογή φλιπ-φλοπ προς αντικατάσταση ιαμέριση που βασίζεται στη λειτουργικότητα πχ. μονάδα επεξεργασίας δεδομένων και μονάδα ελέγχου (Functional partitioning : data path & control) Κόψιμο των ακολουθιακών μονοπατιών ανάδρασης (Pipelined or feed-forward partial-scan design) Στόχευση συγκεκριμένου ακολουθιακού βάθους (Balanced partial scan design: target sequential depth) 60
ιαμέριση που βασίζεται στη λειτουργικότητα πχ. μονάδα επεξεργασίας δεδομένων και μονάδα ελέγχου 61
Κόψιμο των ακολουθιακών μονοπατιών ανάδρασης (Pipelined or feed-forward partial-scan design) Κατασκευή του δομικού γράφου (structure graph) που αντιστοιχεί στο κύκλωμα Xρησιμοποίηση ευρητικών μεθόδων για την επιλογή του ελάχιστου πλήθους των φλιπ-φλοπ που θα αντικατασταθούν από φλιπ-φλοπ ολίσθησης ώστε να σπάσουν όλοι οι κύκλοι του γράφου 62
Παράδειγμα κυκλώματος και του αντίστοιχου δομικού γράφου FF 1 FF 2 FF 3 X FF 4 FF2 B C FF3 FF1 A D FF4 63
Πίνακας γειτονικότητας του δομικού γράφου FF1 FF2 FF3 FF4 total FF1 0 1 0 0 1 FF2 B C FF3 FF2 FF3 FF4 0 0 1 0 1 0 1 0 0 1 1 1 2 2 2 FF1 A D total 1 2 1 3 FF4 64
ομικός γράφος και πίνακας γειτονικότητας -2 FF2 B C FF3 FF1 A D SFF4 65
Στόχευση συγκεκριμένου ακολουθιακού βάθους Μικρότερο ακολουθιακό βάθος ευκολότερη εξαγωγή του συνόλου δοκιμής 66
Ανίχνευση σφαλμάτων καθυστέρησης At speed testing 67
Ανίχνευση σφαλμάτων καθυστέρησης Σφάλματα μετάβασης (transition faults) 68
Ανίχνευση σφαλμάτων καθυστέρησης σε ακολουθιακά κυκλώματα Enhanced scan Skewed-load ή launch from shift Broadside ή launch from capture 69
Enhanced scan 70
Skewed-load ή launch from shift 71
Broadside ή launch from capture 72