ΚΩ ΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ 7/000
ΠΡΟΓΡΑΜΜΑ ΒΑΣΙΚΗΣ ΕΡΕΥΝΑΣ «Κ. ΚΑΡΑΘΕΟ ΩΡΗ» Τίτλος Έργου «Ανάπτυξη µεθόδων για τον εύκολο έλεγχο ορθής λειτουργίας ολοκληρωµένων - συστηµάτων σε πυρίτιο (Syste O Chip Testig)» ΤΕΛΙΚΗ ΕΚΘΕΣΗ Ερευνητές: Καλλίγερος Εµµανουήλ Μπέλλος Μάτσιεϊ Επιστηµονικός Υπεύθυνος Έργου: Βέργος Χαρίδηµος Επίκουρος Καθηγητής Τµήµα Μηχανικών Η/Υ και Πληροφορικής, Πανεπιστηµίου Πατρών ΕΚΕΜΒΡΙΟΣ 003 {ΚΩ ΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ : 7/000}
Το πρόγραµµα Υποστήριξης Βασικής Έρευνας "Κ. Καραθεοδωρή" µε κωδικό 7, είχε σαν στόχο : 1. Την πρόταση νέων σχεδιαστικών πυρήνων (cores) και. Την ανάπτυξη νέων µεθόδων ελέγχου ορθής λειτουργίας που θα µπορούν να εφαρµοστούν αποδοτικά στους σχεδιαστικούς πυρήνες του (1) πιο πάνω, αλλά και στα ολοκληρωµένα συστήµατα σε πυρίτιο (Systes O a Chip, SOCs) που θα τους περιέχουν. Τα αποτελέσµατα της ερευνητικής οµάδας στους δύο αυτούς τοµείς αναλύονται στη συνέχεια ξεχωριστά. 1. Νέοι σχεδιαστικοί πυρήνες Κατά τη διάρκεια του προγράµµατος προτάθηκαν και έγιναν δεκτές προς δηµοσίευση τρεις νέες αρχιτεκτονικές για πυρήνες αριθµητικών πράξεων στο αριθµητικό σύστηµα υπολοίπων ([1] [3], επισυνάπτονται). Σηµειώνεται ότι οι δηµοσιεύσεις [1] και [3] είναι στο περιοδικό IEEE Τrasactios o Coputers, που είναι και το κορυφαίο της επιστήµης των υπολογιστών στην κατηγορία "Υλικό και Αρχιτεκτονική των Υπολογιστών". Το αριθµητικό σύστηµα υπολοίπων (Residue Nuber Syste) είναι ένα σύστηµα κατάλληλο για την υλοποίηση αλγορίθµων που έχουν σχέση µε την ψηφιακή επεξεργασία σηµάτων (Digital Sigal Processig - DSP) καθώς επιτρέπει την εκτέλεση των πράξεων της πρόσθεσης, αφαίρεσης και πολλαπλασιασµού πολύ πιο γρήγορα από το δυαδικό σύστηµα. Ένα σύστηµα που βασίζεται στο RNS χρησιµοποιεί ένα σύνολο από L υπόλοιπα (1,,, L) τα οποία ανά δύο είναι µεταξύ τους πρώτοι αριθµοί. Οι πράξεις σε ένα τέτοιο σύστηµα εκτελούνται ανεξάρτητα σε τόσα κανάλια όσα είναι το σύνολο των υπολοίπων και είναι προφανές ότι ο ρυθµός παραγωγής των αποτελεσµάτων εξαρτάται από το αργότερο κανάλι. Μια συνηθισµένη επιλογή είναι ένα RNS µε τρία κανάλια της µορφής {-1,, +1}. Eίναι προφανές λοιπόν ότι οι αθροιστές υπολοίπων της µορφής -1 και +1 είναι πολύτιµοι σχεδιαστικοί πυρήνες για οποιονδήποτε σχεδιαστή ενός συστήµατος βασισµένου στο RNS. Πέρα όµως από την αξία τους στις εφαρµογές των RNS, oι αθροιστές υπολοίπου της µορφής -1 βρίσκουν εφαρµογή στον υπολογισµό αριθµητικών κωδίκων (υπολοίπου, ανάστροφου υπολοίπου, γινοµένου, αθροίσµατος κατά συµπλήρωµα ως προς 1). Ορισµένοι από αυτούς τους κώδικες χρησιµοποιούνται ευρέως για την ανίχνευση σφαλµάτων διάδοσης πάνω στα TCP/IP δίκτυα. Οι δε αθροιστές υπολοίπου της µορφής +1 βρίσκουν ευρεία εφαρµογή στη γέννηση ψευδοτυχαίων αριθµών, στην κρυπτογραφία (µε ιδιαίτερη µνεία στον κρυπταλγόριθµο IDEA) και σε όλες τις εφαρµογές του µετασχηµατισµού Ferat (κυρίως χρησιµοποιούµενος στον υπολογισµό συνελίξεων). Στην εργασία [1], προτείνονται δύο νέες σχεδιαστικές τεχνικές για αθροιστές υπολοίπου της µορφής +1. Η πρώτη τεχνική οδηγεί σε αθροιστές υπολοίπου +1 µε πρόβλεψη κρατουµένου, ενώ η δεύτερη σε υλοποιήσεις παράλληλου προθέµατος (parallel prefix). Και για τις δύο προτεινόµενες αρχιτεκτονικές αθροιστών υιοθετείται η παράσταση µείωσης κατά 1 που έχει προταθεί από τον Leibowitz. Λόγω του γεγονότος ότι στην αριθµητική υπολοίπου +1 η παράσταση µε δυαδικά βάρη απαιτεί τη χρήση (+1) δυαδικών ψηφίων, το κανάλι +1 σε ένα RNS µε τρία κανάλια -1,, +1 θα καθυστερούσε τα υπόλοιπα δύο, λόγω του ότι τα άλλα χρησιµοποιούν µόνο δυαδικά ψηφία. Στη παράσταση µείωσης κατά 1, αυτό αποφεύγεται αναπαριστώντας κάθε ποσότητα µειωµένη κατά 1, µε εξαίρεση το 0, το οποίο δεν αναπαρίσταται και το χειριζόµαστε ξεχωριστά. Στην εργασία αυτή δείχνουµε ότι η πρόσθεση σε υπόλοιπο +1 µπορεί να θεωρηθεί σα µια διαδικασία κύκλων όπου τη διαδικασία αυτή την εκτελεί ένας κανονικός αθροιστής. Κατά το πρώτο κύκλο λαµβάνει χώρα µια κανονική άθροιση µε κρατούµενο εισόδου 0, ενώ κατά το δεύτερο κύκλο λαµβάνει χώρα η ίδια άθροιση µε κρατούµενο εισόδου, το αντιστραµµένο κρατούµενο εισόδου του πρώτου κύκλου. Έχοντας υπόψη µας την εξίσωση του κρατουµένου εξόδου και την αναδροµική σχέση ci = gi + pi ci-1 (ci συµβολίζει το κρατούµενο στη θέση i, gi και pi οι όροι γέννησης και διάδοσης κρατουµένου στη θέση i), στην εργασία [1], δείχνουµε πως µπορούµε να απλοποιήσουµε τις εξισώσεις κρατουµένου του δεύτερου κύκλου, παίρνοντας έτσι τις εξισώσεις που θα πρέπει να παράγει η µονάδα υπολογισµού κρατουµένων ενός αθροιστή υπολοίπου +1 µε πρόβλεψη κρατουµένου. Από την ανάλυση που παρουσιάζεται στην εργασία [1] προκύπτει ότι η µονάδα υπολογισµού θα πρέπει αν υλοποιείται µε ένα επίπεδο να υλοποιεί τις εξισώσεις : 1 ci = g + i + p k + i +1 g + i +1 = 0 k = +1 όπου 1
p, αν > i + 1 g, αν > i + 1 g i = g, αν = i + 1, pi =, 1 i g, αλλιώς, αλλιώς p και µε ci συµβολίζονται τα κρατούµενα της πρόσθεσης σε υπόλοιπο +1 Στη συνέχεια της εργασίας αναλύεται η πιθανότητα χρήσης µιας µονάδας πρόβλεψης κρατουµένων περισσοτέρων του ενός επιπέδων. είχνεται ότι αυτό είναι δυνατό και σαν παράδειγµα προτείνονται αθροιστές επιπέδων. Οι αθροιστές αυτοί όπως και οι αντίστοιχοι για ακεραίους αποτελούνται από ένα επίπεδο δηµιουργίας των σηµάτων γέννησης και διάδοσης οµάδων κρατουµένων (GPG), µια µονάδα πρόβλεψης κρατουµένων ανάµεσα στις οµάδες και ένα επίπεδο µονάδων πρόβλεψης κρατουµένων εντός των οµάδων. είχνεται ότι για την άθροιση σε υπόλοιπο +1 χρειάζονται µικρές τροποποιήσεις στις µονάδες του επιπέδου GPG ώστε να παράγεται ένα επιπλέον σήµα (gq) και ότι η µονάδα πρόβλεψης των κρατουµένων ανάµεσα στις οµάδες θα πρέπει να υλοποιεί τις εξισώσεις : όπου, 1 gc = gg + gp gg + f + + 1 t+ + 1 t= 0 f = t+ 1 gq, αν z > + 1 gg, αν z > + 1 gg z = gg, αν z = + 1, gpz = και 1. gg, αλλιώς αλλιώς gp, Προφανώς gg, gp είναι τα σήµατα γέννησης και διάδοσης κρατουµένων µιας εκ των οµάδων κρατουµένων. Στο τελευταίο θεωρητικό µέρος της εργασίας ερευνούνται αθροιστές παράλληλου προθέµατος σε υπόλοιπο +1. Οι αθροιστές παράλληλου προθέµατος βασίζονται στην εισαγωγή του τελεστή ο ο οποίος συσχετίζει ζεύγη από σήµατα γέννησης και διάδοσης κρατουµένου, σύµφωνα µε τη σχέση : g, p o g, p = g + p g, p p ( ) ( ) ( ) k k Στην εργασία [1], δείχνουµε ότι τα κρατούµενα ενός αθροιστή σε υπόλοιπο +1 είναι c i = G i, όπου ο δεύτερος όρος προκύπτει από τη σχέση : ( G P ) = ( g, p ) o... o ( g, p ) o ( G, P ) o... o ( g, p ) i, i i i 0 0-1 -1 i+ 1 i+ 1 Για την ελαχιστοποίηση του υλικού και του βάθους του δέντρου που απαιτείται κατά την υλοποίηση της παραπάνω σχέσης, εισάγεται µια γενική αρχιτεκτονική βασισµένη στο θεώρηµα ότι αν = και ( ) ( ) ( )) ( G, P ) ( g, p) o ( G P) x x, G y, P y = p, g o G, P, τότε G x = Gy. Οι δύο νέες αρχιτεκτονικές που προτάθηκαν πιο πάνω στο τελευταίο πειραµατικό µέρος της εργασίας [1], συγκρίνονται έναντι των προηγούµενα προταθέντων αρχιτεκτονικών. Τα αποτελέσµατα που προκύπτουν βάσει τόσο ενός αναλυτικού µοντέλου όσο και βάσει υλοποιήσεων σε µια VLSI τεχνολογία, δείχνουν ότι οι προτεινόµενες τεχνικές είναι σηµαντικά ταχύτερες από όλες τις προηγούµενα προταθείσες, ενώ παράλληλα οδηγούν και σε υλοποιήσεις µε µικρότερες απαιτήσεις φυσικού εµβαδού. Όµως το σηµαντικότερο συµπέρασµα που προκύπτει από αυτές τις συγκρίσεις είναι ότι οι προτεινόµενες αρχιτεκτονικές επιτρέπουν στο κανάλι +1 να πραγµατοποιεί τη διαδικασία της πρόσθεσης σε χρόνο ίδιο µε αυτό που απαιτούν κανάλια υπολοίπου της µορφής ή -1. Αυτό πρακτικά σηµαίνει ότι το κανάλι +1 παύει να είναι το αδύνατο σηµείο µιας υλοποίησης του RNS που χρησιµοποιεί το σύνολο { +1,, -1} σα βάση. k k Η εργασία [] αποτελεί επέκταση της προηγούµενης εργασίας. Στην εργασία [1] καθώς και σε όλες τις προηγούµενα προταθείσες αρχιτεκτονικές, δεν προτείνεται κανένας έξυπνος τρόπος αντιµετώπισης των τελουµένων που είναι ίσα µε το 0. Ας υποθέσουµε συνεπώς έναν αριθµό X, όπου 0 X, ο οποίος αναπαρίσταται µε + 1 δυαδικά ψηφία, σαν xz X = xz x 1x... x1 x0, όπου x z είναι το δυαδικό ψηφίο που υποδεικνύει αν αυτός ο αριθµός είναι 0 και X η αναπαράσταση του 0, αν X 0 αν X -1, X 0 αριθµού στο σύστηµα µείωσης κατά 1. ηλαδή, x z = και X = 1, αν X = 0 0, αν X = 0 X, τότε Αν λοιπόν αγνοήσουµε την αναπαράσταση του 0 και επικεντρωθούµε στο κοµµάτι χρειαζόµαστε αθροιστές των δυαδικών ψηφίων όπως αυτοί που προτάθηκαν στην εργασία [1]. Οµως η ανάγκη για τη διαχείριση των τελουµένων που είναι 0 τελικά θα µας οδηγήσει σε ένα κύκλωµα της
ακόλουθης µορφής. A B a z b z Λογική υπολογισµού του s z A B Αθροιστής Υπολοίπου +1 αριθµών σε παράσταση µείωσης κατά 1 ->1 πολυπλέκτες 000 0 a z b z s z S Στην έξοδο του αθροιστή χρειάζεται να προσθέσουµε µια σειρά από πολυπλέκτες για να χειριστούµε τα µηδενικά τελούµενα. Στην έξοδο οδηγείται το αποτέλεσµα του αθροιστή αν τα a z και b z είναι στο µηδέν. Αν κάποιο από τα δύο είναι στο 1 οι πολυπλέκτες επιλέγουν στην έξοδο το άλλο τελούµενο, ενώ όταν και τα δύο είναι 0, τότε στην έξοδο επιλέγεται το µηδενικό τελούµενο. Το πρόβληµα µε την παραπάνω αρχιτεκτονική είναι ότι καθιστά την ταχύτητα του καναλιού της µορφής +1 πιο αργό από ότι κανάλια της µορφής -1 ή, πράγµα που δεν είναι η καλύτερη λύση όπως εξηγήθηκε πιο πάνω. Στην εργασία [] επεξεργαζόµαστε αυτό το πρόβληµα και προτείνουµε νέες αρχιτεκτονικές που δεν αντιµετωπίζουν τα µηδενικά τελούµενα σαν ξεχωριστές περιπτώσεις, αλλά σύµφωνα µε όλα τα υπόλοιπα τελούµενα. Όµοια µε την εργασία [1] και σε αυτή την εργασία προτείνουµε αρχιτεκτονικές τόσο πρόβλεψης κρατουµένου όσο και παράλληλου προθέµατος. Για τις δε αρχιτεκτονικές παράλληλου προθέµατος προτείνουµε δύο διαφορετικές λύσεις, µία µε βαθµίδα αύξησης του κρατουµένου και µία πλήρως παράλληλου προθέµατος. Για τους αθροιστές πρόβλεψης κρατουµένου ενός επιπέδου, στην εργασία [], αποδεικνύουµε ότι το επίπεδο αυτό θα πρέπει να υλοποιεί τις εξισώσεις : 1 c i = g + p g i k + i+ 1 + i+ 1 = 0 k = + 1 όπου p g, αν -1 > > i + 1 = az bz g, αν = -1, p, αλλιώς g t, αν -1 > > i + 1 az bz p, αν = -1 = και t k = a k v b k αν g, = i + 1 αλλιώς g, Για την περίπτωση των αθροιστών παράλληλου προθέµατος εύκολα µπορούµε να καταλήξουµε σε µια αρχιτεκτονική η οποία χρησιµοποιεί µια βαθµίδα αύξησης κρατουµένων, σύµφωνα µε το παρακάτω σχήµα : a -1 b -1 b - a - a 1 b 1 b 0 a 0 b z a z P -1 c out = G -1 Yπολογισµός κρατουµένων µε τεχνική παράλληλου προθέµατος c G G 1,P 1-1 -,P - G 0,P 0 c -3 c0 c - c 1 s s z -1 s - s 1 s 0 Είναι προφανές ότι αυτή η αρχιτεκτονική υπερτερεί τόσο από πλευράς ταχύτητας όσο και εµβαδού σε σχέση µε τη λύση του προηγούµενου σχήµατος. Ωστόσο ακόµα κι αυτή καθιστά το κανάλι υπολοίπου +1 πιο αργό από ότι κανάλια της µορφής -1 ή, λόγω της ύπαρξης του επιπέδου αύξησης των κρατουµένων. 3
Με αφορµή το παραπάνω, στην εργασία [] προτείνουµε ακόµα µια αρχιτεκτονική πλήρως παράλληλου προθέµατος που ενσωµατώνει τη τελευταία βαθµίδα µέσα στον υπολογισµό των κρατουµένων. Όταν =, η µορφή της αρχιτεκτονικής είναι η ακόλουθη : g i a i b i g i-1 p i p i c i-1 g i p i g s i a -1 b -1 a 3 b 3 a b a 1 b 1 a 0 b 0 a z b z a z b z p -1 (g -1, p -1 ) a i b i p i (g i, p i ) (t i, g i ) (G i,, P i, ) (G k,, P k, ) P 3 c c 1 c 0 c -1 (G i,, P i, ) o (G k,, P k, ) (G i,, P i, ) o (G k,, P k, ) s z s 3 s s 1 s 0 Η αρχιτεκτονική αυτή παρέχει αποτελέσµατα σε χρόνο ίδιο µε αυτό των καναλιών -1 ή και συνεπώς είναι ιδιαίτερα προσοδοφόρα για υλοποιήσεις αριθµητικής υπολοίπων. Στην εργασία [] τέλος παρουσιάζονται κυκλώµατα µετατροπής από και προς το δυαδικό και την υιοθετηθείσα αναπαράσταση. Αποδεικνύεται ότι τα κυκλώµατα αυτά είναι εξαιρετικά απλά και γρήγορα. τελευταία και πιο πρόσφατη εργασία που δηµοσιεύτηκε στα πλαίσια του προγράµµατος και διαπραγµατεύεται νέους σχεδιαστικούς πυρήνες είναι η εργασία [3]. Σε αντίθεση µε τις εργασίες [1] και [] που πρωταρχικός στόχος είναι η επίτευξη της απόλυτης ταχύτητας στην εργασία αυτή ο στόχος είναι τόσο η επίτευξη µεγάλων ταχυτήτων αλλά µε σχετικά µικρή πολυπλοκότητα εµβαδού. Γι αυτό και στην εργασία αυτή χρησιµοποιούµε ως µέτρο το "εµβαδό x χρόνος " για τη σύγκριση των διαφόρων αρχιτεκτονικών. Γέννηση των p i, g i, h i Μονάδα υπολογισµού κρατουµένων Υλοποίηση παράλληλου προθέµατος Μονάδα αύξησης κρατουµένων BG i BP i c i,i Μονάδα άθροισης Στην εργασία [3] ασχολούµαστε µε πυρήνες άθροισης σε αριθµητική υπολοίπου των µορφών -1 και +1. Οπως και προηγούµενα, στην περίπτωση του υπολοίπου +1 χρησιµοποιούµε την αναπαράσταση µείωσης κατά 1 για να περιορίσουµε την πολυπλοκότητα σε δυαδικά ψηφία. Η σηµαντική συνεισφορά της εργασίας είναι ότι αποδεικνύουµε ότι τόσο ο σχεδιασµός αθροιστών υπολοίπου -1 όσο και αυτός αθροιστών υπολοίπου +1 µπορεί να αναχθεί σε πρόβληµα κατάλληλης διασύνδεσης µικρότερων µπλοκ αθροιστών. Επιπροσθέτως δείχνουµε ότι αυτοί οι αθροιστές απαιτούν ακριβώς το ίδιο µπλοκ και το µόνο που χρειάζεται ένας σχεδιαστής να αλλά ζει για να παίρνει κατά περίπτωση αθροιστή υπολοίπου -1 ή +1 είναι ο τρόπος διασύνδεσης αυτών των µπλοκ. Η απόδειξη αυτή διευκολύνει σηµαντικά το χρόνο σχεδιασµού, µιας που τα µπλοκ αυτά χρειάζεται να σχεδιαστούν
µία φορά και µετά µπορεί να χρησιµοποιούνται για τη σχεδίαση διαφόρων µεγεθών αθροιστών. Στην εργασία αυτή προτείνουµε το µπλοκ να είναι δοµηµένο από τέσσερα διακριτά µέρη σύµφωνα µε το παραπάνω σχήµα. Το πρώτο µέρος είναι υπεύθυνο για τη δηµιουργία των σηµάτων γέννησης και διάδοσης κρατουµένου (g και p αντίστοιχα) καθώς και για τα σήµατα ηµιαθροίσµατος (h). Ακολουθεί η µονάδα υπολογισµού κρατουµένων, η οποία προτείνεται να σχεδιάζεται βάσει κάποιου από τους αλγορίθµους παράλληλου προθέµατος για την επίτευξη µεγάλων ταχυτήτων. Τα κρατούµενα που παράγονται οδηγούνται σε µια µονάδα πιθανής αύξησης κρατουµένων ανάλογα µε το εισαγόµενο κρατούµενο και ακολουθεί η µονάδα άθροισης στην οποία επιτελείται η πράξη αποκλειστικής ισοδυναµίας µεταξύ των ηµιαθροισµάτων και των τελικών κρατουµένων. Στην εργασία αποδεικνύουµε ότι η λογική διασύνδεσης που χρειάζεται µεταξύ µπλοκ της παραπάνω µορφής για τη κατασκευή ενός αθροιστή υπολοίπου -1 δίνεται από τη σχέση : 1 c i, i = BG + BP BG + i 1 k+ i i k + = 0 = + 1 Σύµφωνα µε τη παραπάνω σχέση µπορούµε να κατασκευάσουµε έναν αθροιστή υπολοίπου d+f+g -1 αποτελούµενο από 3 µπλοκ αθροιστών σύµφωνα µε το παρακάτω σχήµα : BG BG 1 BG 0 BP BP 1 BP 0 c i, c i,1 c i,0 BLOCK 0 Adder (d+f+g-1:f+g) BLOCK 1 Adder (f+g-1:g) BLOCK 0 Adder (g-1:0) Με τρόπο εντελώς ανάλογο αποδεικνύουµε ότι η λογική διασύνδεσης που απαιτείται µεταξύ των µπλοκ για το σχεδιασµό ενός αθροιστή υπολοίπου +1 θα πρέπει να ικανοποιεί τις σχέσεις : 1 1 i 1 i 1 i 1 i c i,i = BP k BG, όπου BPk BG, αν i = 1 i BP k = 1 και BG = = i+ 1 k = + 1 = 1 k = + 1 k = i BG, για i 1 Σύµφωνα µε αυτές τις σχέσεις η λογική διασύνδεση που απαιτείται σε έναν αθροιστή υπολοίπου d+f +1 φτιαγµένου από 3 µπλοκ φαίνεται στο παρακάτω σχήµα : BG 1 BG 0 BP 1 c i,1 BP 0 c i,0 BLOCK 1 Adder (d+f-1:f) BLOCK 0 (Adder f-1:0) Στο τελευταίο µέρος της εργασίας [3], γίνεται σύγκριση των προτεινόµενων αρχιτεκτονικών έναντι αρχιτεκτονικών πρόβλεψης κρατουµένου (ενός ή περισσοτέρων επιπέδων) και αρχιτεκτονικών παράλληλου προθέµατος. Τα αποτελέσµατα που παρουσιάζονται στην εργασία βασιζόµενα σε υλοποιήσεις σε µια VLSI τεχνολογία, δείχνουν ότι οι αθροιστές πρόβλεψης κρατουµένου µπορούν να προσφέρουν µικρές σε εµβαδόν υλοποιήσεις αλλά όχι ικανοποιητικής ταχύτητας (εξαιρουµένων των πολύ µικρών µεγεθών). Oι αθροιστές παράλληλου προθέµατος βρίσκονται στην εντελώς αντίθετη κατεύθυνση. Παρέχουν ταχύτατες υλοποιήσεις µε πολύ µεγάλη ωστόσο πολυπλοκότητα εµβαδού υλοποίησης. Οι πυρήνες που παρουσιάζονται στην εργασία [3] καταφέρνουν να ισορροπούν αποτελεσµατικά τις δύο αυτές ακραίες τάσεις. Προσφέρουν δηλαδή υλοποιήσεις µε πολυπλοκότητα εµβαδού κοντά σε αυτή των αθροιστών πρόβλεψης κρατουµένου, ενώ η ταχύτητά τους είναι πολλές φορές συγκρίσιµη µε αυτή των αθροιστών παράλληλου προθέµατος. Συνεπώς σε κάθε εφαρµογή που 5
αποκλειστικός µας στόχος δεν είναι η επίτευξη της µέγιστης δυνατής ταχύτητας, οι αθροιστές που παρουσιάζονται στην εργασία [3] θα πρέπει να προτιµηθούν. Στην ίδια εργασία εξετάζεται το πρόβληµα του πως θα πρέπει να κατανεµηθεί το µήκος του στοχευόµενου αθροιστή στα διάφορα µπλοκ. ηλαδή για την επίτευξη ενός αθροιστή των 1 δυαδικών ψηφίων υπάρχει κάποιος κανόνας για την επιλογή µεταξύ ενός αθροιστή µε µπλοκ των 6 δυαδικών ψηφίων το καθένα και ενός µε µπλοκ που το ένα θα έχει 8 και το δεύτερο δυαδικά ψηφία? Αντίθετα µε την περίπτωση των αθροιστών ακεραίων, στην εργασία [3] αποδεικνύουµε ότι µέληµά µας στην περίπτωση των αθροιστών υπολοίπου, θα πρέπει να είναι τα µπλοκ να είναι όσο το δυνατόν πιο ισορροπηµένα, δηλαδή να διαπραγµατεύονται όσο το δυνατόν ισάριθµα δυαδικά ψηφία των εντέλων. Έτσι ο σχεδιαστής θα πρέπει εξ αρχής να στραφεί στη λύση των µπλοκ που το καθένα αθροίζει 6 δυαδικά ψηφία για το προηγούµενο πρόβληµα.. Νέες µέθοδοι ελέγχου της ορθής λειτουργίας Κατά την διάρκεια του προγράµµατος προτάθηκαν και έγιναν δεκτές προς δηµοσίευση 1 διαφορετικές µεθοδολογίες για τον έλεγχο ορθής λειτουργίας πυρήνων ή συστηµάτων σε πυρίτιο ([, 5, 7, 9, 10, 1, 0-, 6-8], επισυνάπτονται). Σηµειώνεται ότι η δηµοσίευση [5] είναι στο περιοδικό IEEE Τrasactios o Coputers, που είναι και το κορυφαίο της επιστήµης των υπολογιστών στην κατηγορία «Yλικό και Αρχιτεκτονική των Υπολογιστών», η δηµοσίευση [1] στο περιοδικό Joural of Electroic Testig: Theory ad Applicatios, ενώ οι δηµοσιεύσεις [, 7, 9, 10, 1, 0,, 6-8] είναι σε παγκοσµίου φήµης διεθνή συνέδρια µε λόγο αποδοχής συχνά µικρότερο του 35%. Εξαιτίας της πολυπλοκότητας των σύγχρονων ολοκληρωµένων κυκλωµάτων, οι κλασσικές τεχνικές ελέγχου µε τη βοήθεια εξωτερικών ελεγκτών κρίνονται ασύµφορες και µη αποδοτικές. Για το λόγο αυτό, τόσο η διεθνής επιστηµονική κοινότητα όσο και η βιοµηχανία έχουν στραφεί προς άλλες τεχνικές ελέγχου, οι οποίες δεν απαιτούν ή περιορίζουν σηµαντικά τη χρήση εξωτερικών ελεγκτών. Μία από τις πιο επιτυχηµένες και ευρέως χρησιµοποιούµενες τεχνικές είναι αυτή του BIST (Built-I Self-Test). Σύµφωνα µε τη µεθοδολογία του BIST, στο ίδιο κοµµάτι πυριτίου µε το υπό έλεγχο κύκλωµα ενσωµατώνονται το κύκλωµα που παράγει τα διανύσµατα ελέγχου ή δοκιµής (κύκλωµα παραγωγής διανυσµάτων δοκιµής - Test Patter Geerator - TPG), καθώς και το κύκλωµα που αποφαίνεται αν η απόκριση του υπό έλεγχο κυκλώµατος στα διανύσµατα ελέγχου είναι η επιθυµητή (κύκλωµα ανάλυσης των αποκρίσεων). Ένα BIST σχήµα, για να θεωρείται επιτυχηµένο, θα πρέπει να προσφέρει πολύ µεγάλη (αν όχι πλήρη) κάλυψη των σφαλµάτων του υπό έλεγχο κυκλώµατος, µε µικρές ακολουθίες ελέγχου και µικρή επιβάρυνση υλικού. Υπάρχουν δύο διαφορετικά σχήµατα BIST: στο πρώτο, που ονοµάζεται test-per-clock, το κύκλωµα παραγωγής διανυσµάτων δοκιµής που περιέχει παράγει ένα διάνυσµα δοκιµής ανά κύκλο ρολογιού, ενώ στο δεύτερο, που ονοµάζεται test-per-sca (ή sca-based), τα διανύσµατα ελέγχου παράγονται σειριακά (ένα δυαδικό ψηφίο ανά κύκλο ρολογιού). Εύρεση παραµετροποιηµένων συνόλων δοκιµής για κυκλώµατα αριθµητικής υπολοίπων. Στις εργασίες [, 5], η έρευνά µας επικεντρώνεται σε συστήµατα αριθµητικής υπολοίπων που χρησιµοποιούν ως σύνολο υπολοίπων τα, - 1, k - 1, l - 1, µε l<k<. Η επιλογή της παραπάνω µορφής των υπολοίπων βασίστηκε στο γεγονός ότι πρόσφατα έχουν προταθεί αποδοτικές αρχιτεκτονικές υλοποίησης αθροιστών και πολλαπλασιαστών υπολοίπου της µορφής - 1 που επιτρέπουν την εκτέλεση της άθροισης και του πολλαπλασιασµού ως προς υπόλοιπο - 1 τόσο γρήγορα όσο ως προς υπόλοιπο. Η εργασία [5] αποτελεί υπερσύνολο της εργασίας [] καθώς προτείνει ένα πιο αποδοτικό κύκλωµα παραγωγής διανυσµάτων δοκιµής τόσο από πλευράς υλικού υλοποίησης αλλά και κύκλων ρολογιού που απαιτούνται για την εφαρµογή των διανυσµάτων δοκιµής. Στις εργασίες αυτή διερευνούµε προς το παρόν µόνο RNS αθροιστές. Στη διεθνή βιβλιογραφία έχουν παρουσιαστεί παραµετροποιηµένα σύνολα δοκιµής για αθροιστές. Για έναν αθροιστή πρόβλεψης κρατουµένου (carry look-ahead adder - CLA) δυαδικών ψηφίων έχει δειχθεί ότι απαιτείται ένα σύνολο από (+1) διανύσµατα δοκιµής, ενώ έχουν παρουσιαστεί και σύνολα δοκιµής για CLA αθροιστές αποκλειστικής διάζευξης και block - CLA αθροιστές δυαδικών ψηφίων. Τα παραπάνω σύνολα δοκιµής είναι πλήρως παραµετροποιηµένα ως προς το µέγεθος του αθροιστή µε αποτέλεσµα να µπορούν να παραχθούν πολύ εύκολα. Παρατηρήσαµε ότι τα σύνολα αυτά δεν µπορούν να χρησιµοποιηθούν για την περίπτωση των αθροιστών υπολοίπου -1 ενώ παράλληλα στη βιβλιογραφία δεν έχει παρουσιαστεί κάποιο σύνολο δοκιµής για αυτούς τους αθροιστές. Στις εργασίες [-5] παρουσιάζουµε για πρώτη φορά ένα πλήρως παραµετροποιηµένο σύνολο δοκιµής για αθροιστές υπολοίπου 1. Παράλληλα, προσαρµόζουµε το σύνολο δοκιµής που έχει παρουσιαστεί για αθροιστές ακεραίων ώστε να εφαρµόζεται σε αθροιστές υπολοίπου και τα δύο αυτά σύνολα δοκιµής συγχωνεύονται δηµιουργώντας έτσι ένα σύνολο δοκιµής κατάλληλο για RNS αθροιστές. Τέλος δείχνουµε ότι χρησιµοποιώντας ένα υποσύνολο των θέσεων των δυαδικών ψηφίων του παραπάνω συνόλου δοκιµής µπορούµε να κατασκευάσουµε ένα σύνολο δοκιµής για τον έλεγχο 6
ορθής λειτουργίας αθροιστή υπολοίπου k - 1 ή k, µε k<. Για την εφαρµογή του εξαγχθέντος συνόλου δοκιµής σε ένα RNS αθροιστή προτείνουµε ένα κύκλωµα ενσωµατωµένου ελέγχου (BIST), που απαιτεί µικρό εµβαδόν υλοποίησης και χρειάζεται λιγότερους κύκλους ρολογιού από ότι κυκλώµατα παραγωγής ψευδοτυχαίων διανυσµάτων για τον έλεγχο των RNS αθροιστών. Για την εξαγωγή του συνόλου δοκιµής στηριζόµαστε στην ανάλυση των εξισώσεων που χρησιµοποιούνται για την υλοποίηση των αθροιστών υπολοίπου και -1 και περιλαµβάνουν τις συναρτήσεις γέννησης (g) και διάδοσης (p) τοπικού κρατουµένου και αυτές του κρατουµένου ci και αθροίσµατος (si = ai bi ci). Οι εξισώσεις του κρατουµένου δίνονται από τις παρακάτω σχέσεις: i 1 i ci = gi + p k g, µε 0 i -, για αθροιστές υπολοίπου και =0 k = +1 1 ci = g +i + p k +i+1 g +i+1, µε -1 i -, για αθροιστές υπολοίπου - 1 = 0 k = +1 Για την εξαγωγή ενός συνόλου δοκιµής που είναι ανεξάρτητο από συγκεκριµένες υλοποιήσεις, χρειάζεται κάποιος να δουλέψει στο επίπεδο των εξισώσεων. Για κάθε έναν όρο κάθε µιας εξίσωσης πρέπει να καθοριστεί ένα τουλάχιστον διάνυσµα για την ενεργοποίηση του σφάλµατος που µπορεί να προκύψει στον όρο αυτό και τουλάχιστον ένα διάνυσµα για τη διάδοση αυτού του σφάλµατος σε κάποια έξοδο του αθροιστή. Τα διανύσµατα ενεργοποίησης και διάδοσης του κάθε σφάλµατος στη συνέχεια συνδυάζονται ώστε να πληρούνται και οι δύο συνθήκες, και έτσι προκύπτει ένα ή περισσότερα διανύσµατα δοκιµής για το συγκεκριµένο σφάλµα. Προφανώς όσο περισσότερα διανύσµατα µπορεί κάποιος να βρει και όσο πιο πολλοί είναι οι αδιάφοροι όροι του καθενός από αυτά τόσο πιο εύκολος θα είναι ο τελικός συνδυασµός αυτών των διανυσµάτων για την εξαγωγή ενός συνόλου δοκιµής, αλλά και τόσο µικρότερος θα είναι ο αριθµός των διανυσµάτων του συνόλου δοκιµής. Η διαδικασία αυτή περιγράφεται αναλυτικά στο επισυναπτόµενο αντίγραφο της εργασίας [5]. Αφού εξάγουµε ένα ενιαίο σύνολο δοκιµής για κάθε έναν από τους δύο τύπους αθροιστών, υπολοίπου και 1, το επόµενο βήµα είναι η ενσωµάτωση του συνόλου δοκιµής του odulo αθροιστή σε αυτό του odulo - 1 που τελικά δίνει ένα σύνολο δοκιµής µε + διανύσµατα. Είναι γνωστό ότι ένας RNS αθροιστής αποτελεί συνήθως ένα σχεδιαστικό πυρήνα (core). Συνεπώς συνήθως θα βρίσκεται ενσωµατωµένος σε ένα µεγαλύτερο κύκλωµα, µε αποτέλεσµα οι είσοδοι και οι έξοδοι του αθροιστή να µην είναι άµεσα προσπελάσιµες από τις κύριες εισόδους και εξόδους του κυκλώµατος, πράγµα που δυσκολεύει την εφαρµογή του εξαγχθέντος συνόλου διανυσµάτων δοκιµής. Για αυτό το λόγο µελετήθηκαν διάφορες τεχνικές όπως sca chais, LFSR και η υλοποίηση ενός κυκλώµατος παραγωγής διανυσµάτων που θα παρήγαγε τα διανύσµατα του εξαγχθέντος συνόλου δοκιµής. Το προτεινόµενο κύκλωµα για την εφαρµογή του εξαγχθέντος συνόλου δοκιµής απαιτεί + κύκλους ρολογιού. Για τις συγκρίσεις ανάµεσα στο προτεινόµενο κύκλωµα και τις διάφορες υπάρχουσες λύσεις εφαρµογής ψευδοτυχαίων διανυσµάτων (ολισθητές γραµµικής ανάδρασης LFSR) χρησιµοποιήθηκαν δύο δοκιµαστικά κυκλώµατα RNS αθροιστών βασισµένα στα υπόλοιπα 8, 8 1, 7 1, 16, 16 1, 15 1 και 3, 3 1, 31 1. Μερικά αποτελέσµατα σχετικά µε το κύκλωµα εφαρµογής στον Πίνακα 1. των διανυσµάτων δοκιµής σε σχέση µε τις υπόλοιπες λύσεις παρουσιάζονται Πίνακας 1. Ελεγξιµότητα και πλήθος διανυσµάτων Τρία LFSRs που Τελειώνουν παράλληλα Μηχανή πεπερασµένων καταστάσεων / ROM Αθροιστής Ποσοστό κάλυψης σφαλµάτων Μήκος Ακολουθίας οκιµής 99.9 (31, 31, 31) Ποσοστό κάλυψης σφαλµάτων Μήκος Ακολουθίας οκιµής (100, 100, 100) (55, 55, 55) Ποσοστό κάλυψης σφαλµάτων Μήκος Ακολουθίας οκιµής (100, 100, 99.97) (98, 98, 98) 100 (6, 63, 67) 100 (80, 80, 80) (100, 100, 100) (98, 56, 168) (100, 100, 100) (88, 88, 88) (100, 100, 100) (835, 961, 930) (100, 100, 100) (1088, 1088, 1088) 16, 16 1, 15 1 (100, 100, 100) (56, 56, 56) Αθροιστής Προτεινόµενο Κύκλωµα 8, 8 1, 7 1 100 (67, 67, 67) Αθροιστής Τρία LFSRs που τελειώνουν ανεξάρτητα 3, 3 1, 31 1 (100, 100, 100) (930, 930, 930) 7
Ο Πίνακας καταγράφει το επιπλέον εµβαδόν που χρειάζεται η κάθε λύση για την εφαρµογή των διανυσµάτων ελέγχου, σε σχέση µε έναν αθροιστή ελεγχόµενο βάσει µιας αλυσίδας (sca chai). Από τον πίνακα είναι προφανές ότι θα πρέπει να απορρίψουµε τις λύσεις του να αποθηκεύσουµε τα διανύσµατα ελέγχου σε µια ROM ή να χρησιµοποιήσουµε µια µηχανή πεπερασµένων καταστάσεων µιας που το απαιτούµενο εµβαδόν είναι εξαιρετικά µεγάλο. Άρα οι µόνες λύσεις που αποµένουν είναι είτε ο ψευδοτυχαίος έλεγχος µέσω LFSR ή το προτεινόµενο κύκλωµα. Σύµφωνα όµως µε το Πίνακα 1 ο ψευδοτυχαίος τρόπος παραγωγής των διανυσµάτων ελέγχου οδηγεί σε υπερβολικά µεγάλο χρόνο ολοκλήρωσης του ελέγχου. Για το µεγαλύτερο από τους εξεταζόµενους αθροιστές ο χρόνος που απαιτείται είναι 6967% µεγαλύτερος από ότι στην προτεινόµενη µέθοδο. Βάσει των παραπάνω, προκύπτει ότι ο µοναδικός βιώσιµος ενσωµατωµένος τρόπος ελέγχου ενός RNS αθροιστή είναι η εφαρµογή του εξαγχθέντος συνόλου δοκιµής µε το προτεινόµενο κύκλωµα για ενσωµατωµένο έλεγχο. Πίνακας. Επιβάρυνση σε εµβαδόν Αθροιστής Μηχανή πεπερασµένων καταστάσεων ROM Τρία LFSRs που Τελειώνουν παράλληλα Τρία LFSRs που τελειώνουν ανεξάρτητα Προτεινόµενο Κύκλωµα 8, 8 1, 7 1 11. % 5. % 5.6 % 33. % 30.3 % 16, 16 1, 15 1 18.5 % 59. % 13.9 %.8 % 17. % 3, 3 1, 31 1 8.3 % 78.0 % 1.7 %.7 % 15. % Ανάπτυξη νέων µεθόδων για την εµφώλευση διανυσµάτων δοκιµής µέσω της χρήσης κυκλωµάτων µετατόπισης φάσης (phase shifters). Μέρος της εργασίας της ερευνητικής οµάδας εστιάστηκε στη µελέτη των test-per-clock ντετερµινιστικών BIST σχηµάτων και κυρίως στο πρόβληµα της εµφώλευσης ενός δεδοµένου συνόλου δοκιµής (test set ebeddig). Το πρόβληµα αυτό ορίζεται ως εξής: δεδοµένου ενός συνόλου δοκιµής Τ, στόχος είναι να παραχθεί µια ακολουθία διανυσµάτων έτσι ώστε κάθε διάνυσµα του Τ να εµφανίζεται σε αυτή την ακολουθία. Η ακολουθία αυτή θα πρέπει να παράγεται από ένα κύκλωµα µε κόστος υλοποίησης σαφώς µικρότερο µιας ROM. Για την αντιµετώπιση του προβλήµατος η ερευνητική οµάδα θεώρησε σαν TPG ένα µηχανισµό που αποτελείται από ένα ολισθητή γραµµικής ανάδρασης (LFSR) σε συνδυασµό µε κυκλώµατα πυλών αποκλειστικής-διάζευξης (XOR). Το κύκλωµα αυτό απαντάται στη βιβλιογραφία σαν ολισθητής φάσης (phase shifter) και χρησιµοποιήθηκε στην εργασία [6] στα πλαίσια ενός ψευδοτυχαίου τρόπου παραγωγής διανυσµάτων δοκιµής για σχήµατα test-per-sca. Η µέθοδος [7] που πρότεινε η ερευνητική µας οµάδα για το πρόβληµα του test set ebeddig βασίζεται σε δύο σηµαντικές παρατηρήσεις που προκύπτουν από τη θεώρηση του δεδοµένου συνόλου σαν ένα σύνολο στηλών: Κάθε στήλη του συνόλου δοκιµής για κάποιο µέγεθος και κάποιο χαρακτηριστικό πολυώνυµο LFSR εµφανίζεται ως υποακολουθία δυαδικών ψηφίων στην χαρακτηριστική ακολουθία του LFSR (-sequece). Η µετατόπιση της χαρακτηριστικής ακολουθίας του LFSR κατά k θέσεις επιτυγχάνεται µε τη χρήση της "Shift-ad-Add" ιδιότητας του LFSR η οποία δηλώνει ότι αν ένα υποσύνολο των εξόδων του LFSR οδηγηθούν σε µια XOR τότε η έξοδός της θα είναι η µετατοπισµένη κατά k θέσεις εκδοχή της χαρακτηριστικής ακολουθίας του LFSR. Με άλλα λόγια η συνάρτηση ΧΟR είναι ουσιαστικά ένας phase shifter. Με βάση αυτές τις παρατηρήσεις είναι δυνατό να κατασκευαστεί για κάθε στήλη του συνόλου δοκιµής ένας phase shifter µε τέτοιο τρόπο ώστε οι έξοδοί του να παράγουν «συγχρονισµένα» τις στήλες αυτές. Στα πλαίσια της έρευνας εξετάστηκαν τρόποι µείωσης του υλικού υλοποίησης και παρουσιάστηκε ένας αλγόριθµος κατασκευής των κατάλληλων phase shifter. Αρχικά πριν εφαρµοστεί ο αλγόριθµος πάνω στο δεδοµένο σύνολο δοκιµής γίνονται κάποια βήµατα προεπεξεργασίας. Σε αυτά αναζητείται η ύπαρξη στηλών που έχουν µόνο την ίδια τιµή σε όλα τα ψηφία τους, ή στηλών που µπορεί να είναι όµοιες ή συµπληρωµατικές µε κάποια άλλη. Προφανώς για αυτές τις στήλες δεν είναι απαραίτητο να κατασκευαστεί κάποιος phase shifter, καθώς αυτές µπορούν, για την πρώτη περίπτωση, να παραχθούν από κάποια σταθερή τιµή ή από την έξοδο ενός ήδη υπάρχοντος phase shifter, για τη δεύτερη περίπτωση. Η αύξηση του αριθµού των σταθερών ή όµοιων / συµπληρωµατικών στηλών µπορεί να γίνει λαµβάνοντας υπόψη ότι αν µια στήλη του συνόλου δοκιµής χωριστεί σε δύο η περισσότερα ίσα τµήµατα τότε αφενός είναι δυνατό µε κατάλληλη αλλαγή των θέσεων των διανυσµάτων να δηµιουργηθούν αρκετά τµήµατα µε σταθερή τιµή και αφετέρου αυξάνεται η 8
πιθανότητα ύπαρξης όµοιων ή συµπληρωµατικών στηλών. Κάθε τµήµα της στήλης θα παραχθεί µε ξεχωριστό phase shifter ο οποίος όµως έχει στη χειρότερη περίπτωση το µισό ή µικρότερο µέγεθος του phase shifter που θα χρειαζόταν για την παραγωγή µιας ολόκληρης στήλης. Έτσι, αν και η ύπαρξη πολλών phase shifter ανά στήλη επιβάλει τη χρήση πολυπλεκτών και του συνοδευτικού κυκλώµατος οδήγησής τους, το σπάσιµο σε µικρότερες υποστήλες µειώνει το συνολικό κόστος υλοποίησης γιατί υπάρχουν περισσότερες σταθερές, όµοιες και συµπληρωµατικές στήλες ενώ και το µέγεθος κάθε phase shifter είναι µικρότερο. Ο αλγόριθµος που προτάθηκε περιγράφεται αναλυτικά στο [7]. Αρχικά εφαρµόζει όλα τα παραπάνω βήµατα και στη συνέχεια κατασκευάζει phase shifter που παράγουν τα τµήµατα της κάθε στήλης. Ο αλγόριθµος αρχικά ψάχνει µετά από πόσες θέσεις βρίσκεται η στήλη µέσα στη χαρακτηριστική ακολουθία του LFSR και στη συνέχεια χρησιµοποιεί το µηχανισµό κατασκευής του κατάλληλου phase shifter που δίνεται στο [6]. Η ερευνητική οµάδα πρότεινε δύο τρόπους υλοποίησης του κυκλώµατος παραγωγής των διανυσµάτων δοκιµής από τους οποίους ο πρώτος στοχεύει την εφαρµογή του συνόλου δοκιµής στη συχνότητα λειτουργίας του κυκλώµατος και ο δεύτερος στοχεύει στην περαιτέρω µείωση του κόστους υλοποίησης. Στον πρώτο (Μορφή Ι), οι phase shifter οδηγούνται από έναν ξεχωριστό LFSR και οι έξοδοί τους οδηγούν τον καταχωρητή εισόδου του κυκλώµατος υπό δοκιµή. Στη δεύτερη υλοποίηση (Μορφή ΙΙ) ο καταχωρητής εισόδου µετατρέπεται σε ένα LFSR που οδηγεί τους phase shifter που βρίσκονται ανάµεσα σε αυτόν και στο κύκλωµα υπό δοκιµή. Σε αυτή την περίπτωση τα διανύσµατα δοκιµής δεν εφαρµόζονται µε τη συχνότητα λειτουργίας του κυκλώµατος, αλλά η επιβάρυνση υλικού είναι µικρότερη συγκριτικά µε την πρώτη υλοποίηση. Η µέθοδος εφαρµόζεται τόσο σε σύνολα δοκιµής που στοχεύουν στην κάλυψη µόνο των δύσκολα ανιχνεύσιµων σφάλµατων όσο και σε σύνολα δοκιµής που ανιχνεύουν όλα τα απλά σφάλµατα µόνιµης τιµής (sigle stuck-at faults). Τα πειραµατικά µας αποτελέσµατα πάνω σε σύνολα δοκιµής και των δύο παραπάνω κατηγοριών αποδεικνύουν ότι η προτεινόµενη µέθοδος υπερισχύει σηµαντικά έναντι των ήδη υπαρχόντων τόσο σε απαιτούµενους κύκλους ρολογιού όσο και σε υλικό υλοποίησης. Πίνακας 3. Αριθµός κύκλων ρολογιού για διάφορες τεχνικές εµφώλευσης συνόλου δοκιµής Κύκλωµα Σύνολο οκιµής 1C S C P τ'cr ROM Προτεινόµενη c3 6 x 36 15 9 15 9 13 6 6 c99 1 x 1 06 1700 930 13 6 1 1 c880 11 x 60 9 0 19 0 13 11 11 c1355 1 x 1 1, x 10 8 8 x 10 7 x 10 7 7,8 x 10 7 901 1 1 c1908 1 x 33 1169 670 665 876 11 1 1 c350 x 50 970 930 883 9 79 c5315 7 x 178 6 55 50 55 19 7 7 c688 36 x 3 9,8 x 10 7 6,8 x 10 7 1,7 x 10 7 6,9 x 10 7 70013 36 36 Συγκριτικά αποτελέσµατα για τους απαιτούµενους κύκλους ρολογιού µε σύνολα δοκιµής που ελέγχουν τα δύσκολα ανιχνεύσιµα σφάλµατα δίνονται στον Πίνακα 3. Οι στήλες 1C, S, C, P και τ CR αφορούν τα πειραµατικά αποτελέσµατα του [8] και η στήλη ROM τα αποτελέσµατα που θα παίρναµε αν αποθηκεύαµε τα διανύσµατα δοκιµής σε µια ROM. Πίνακας. Συγκριτικά αποτελέσµατα προτεινόµενων σχηµάτων και ROM Κύκλωµα Σύνολο οκιµής ROM Μορφή I Μορφή II I προς ROM II προς ROM c3 8 x 36 57 381,8 338, 19,70% 35,05% c99 5 x 1 557,6 55 13,6,55% 3,8% c880 9 x 60 760,8 573, 53, 3,73%,37% c1355 85 x 1 901,85 685,6 650 31,5% 38,75% c1908 111 x 33 96,35 708,8 67,8 33,51% 0,66% c670 100 x 33 5855 3506, 37,6 66,98% 68,61% c350 13 x 50 18,9 106, 1377,8 9,61% 3,31% c5315 11 x 178 5013 38, 39,8 5,63% 5,6% c688 7 x 3 36, 09,6 197, 1,79% 19,76% c755 178 x 07 96,9 5670 5636 63,08% 6,07% Συγκριτικά αποτελέσµατα για την επιφάνεια υλοποίησης µε σύνολα δοκιµής που ανιχνεύουν όλα τα απλά σφάλµατα µόνιµης τιµής παρουσιάζονται στον Πίνακα. Οι στήλες Μορφή Ι και Μορφή ΙΙ αφορούν τις δύο προτεινόµενες υλοποιήσεις της µεθόδου. Όπως φαίνεται η µέθοδός µας προσφέρει σηµαντική εξοικονόµηση υλικού σε σχέση µε µία ROM, ειδικά για µεγάλα σύνολα δοκιµής. Στη συνέχεια η ερευνητική οµάδα επικεντρώθηκε στο πρόβληµα της µείωσης της κατανάλωσης ισχύος που παρουσιάζεται κατά την εφαρµογή του συνόλου δοκιµής µε την παραπάνω µέθοδο. Είναι γνωστό από τη βιβλιογραφία ότι κατά τη διάρκεια του ελέγχου ορθής λειτουργίας ενός κυκλώµατος η κατανάλωση ισχύος είναι αρκετά µεγαλύτερη από ότι κατά τη διάρκεια κανονικής λειτουργίας του 9
κυκλώµατος. Αυτό εξηγείται από το γεγονός ότι κατά της διάρκεια κανονικής λειτουργίας οι είσοδοι του κυκλώµατος έχουν αρκετά µεγάλη συσχέτιση µεταξύ τους σε αντίθεση µε τα διανύσµατα του συνόλου δοκιµής. Έτσι είναι δυνατό κατά τη διάρκεια του ελέγχου ορθής λειτουργίας να δηµιουργηθούν hot spots στο TPG κύκλωµα που µπορεί να καταστρέψουν το SoC στο οποίο αυτό ενσωµατώνεται. Η νέα µέθοδος, που περιγράφεται στην εργασία [9], στηρίζεται στη χρήση phase shifter αλλά εισάγει ένα νέο τρόπο εφαρµογής των διανυσµάτων δοκιµής. Η κατασκευή των phase shifter γίνεται µε τη ίδια µεθοδολογία όπως στο [7] αλλά η υλοποίηση του κυκλώµατος παραγωγής διανυσµάτων έχει σαν επιπλέον στόχο τη µείωση του συνολικού αριθµού των µεταβάσεων στους phase shifter. Στην εργασία [7] οι τιµές στις εισόδους των phase shifter αλλάζουν σε κάθε κύκλο ρολογιού µε αποτέλεσµα να υπάρχουν πολλές µεταβάσεις. Η ιδέα στην οποία στηρίζεται η µείωση των µεταβάσεων και συνεπώς της κατανάλωσης ισχύος είναι το γεγονός ότι δεν είναι απαραίτητο να αλλάζουν οι είσοδοι των phase shifter, δηλαδή οι έξοδοι του LFSR, σε κάθε κύκλο ρολογιού αλλά κάθε κύκλους, όπου είναι το πλήθος των τµηµάτων στα οποία έχει χωριστεί µία στήλη του συνόλου δοκιµής. Οι πολυπλέκτες που υπάρχουν µετά τους phase shifter αναλαµβάνουν να τροφοδοτήσουν τις εισόδους του κυκλώµατος µε την έξοδο του κατάλληλου phase shifter υλοποιώντας έτσι µια iterleavig τεχνική. Η παραπάνω προσέγγιση µειώνει τη µέση κατανάλωση ισχύος του TPG κυκλώµατος αλλά όχι και τη στιγµιαία επειδή όλοι οι phase shifter αλλάζουν τιµή σε κάθε αλλαγή της εξόδου του LFSR. Για τη µείωση της στιγµιαίας κατανάλωσης η παραπάνω τεχνική µπορεί να επεκταθεί χρησιµοποιώντας LFSR που ο καθένας οδηγεί τους µισούς phase shifter. Οι LFSR οδηγούνται από δύο επικαλυπτόµενα ρολόγια συχνότητας f/, όπου f είναι η συχνότητα του ρολογιού που χρησιµοποιείται στο [7] και είναι ο αριθµός των τµηµάτων που χωρίστηκε η κάθε στήλη. Με αυτό τον τρόπο στο πρώτο µισό κάθε περιόδου αλλάζουν οι τιµές στις εισόδους των πρώτων µισών phase shifter ενώ το κύκλωµα υπό δοκιµή οδηγείται από τους άλλους µισούς, ενώ στο δεύτερο µισό κάθε περιόδου η κατάσταση αντιστρέφεται. Η τεχνική αυτή ονοµάζεται Dual-LFSR iterleavig και µπορεί να επιτύχει µείωση της στιγµιαίας κατανάλωσης ισχύος µέχρι 50%. Ο Πίνακας 5 περιέχει συγκριτικά αποτελέσµατα της στιγµιαίας κατανάλωσης ισχύος των µεθόδων iterleavig, Dual-LFSR iterleavig και της µεθόδου της εργασίας [7]. Όπως φαίνεται η Dual-LFSR iterleavig τεχνική εµφανίζει σηµαντική µείωση της στιγµιαίας κατανάλωσης σε σύγκριση µε τις άλλες µεθόδους ενώ δεν επιβάλλει σηµαντική επιβάρυνση στο υλικό υλοποίησης. Πίνακας 5. Συγκριτικά αποτελέσµατα στιγµιαίας κατανάλωσης ισχύος Κύκλωµα [7] (W) c3 c99 c880 c1355 c1908 c670 c350 c5315 c688 c755 3,05 37,75 6,83 9,65 6,0 380,9 10,8 35,96 1,8 56,1 Sigle LFSR Dual-LFSR Dual-LFSR Dual-LFSR Iterleavig προς Sigle LFSR Iterleavig Iterleavig (W) Iterleavig (W) Iterleavig προς [7] 3,88 39,35 53,86 61,53 73,0 387,7 116,36 36,91 1,73 563,91 0,09, 8,06 33,87 0,37 3,06 61, 16,5 7,8 379,7 37,3% 0,61% 0,08% 31,78% 36,96% 36,19% 1,0% 38,66% 37,18% 3,69% 39,15% 3,0% 7,90%,95% 5% 33,% 7,0% 33,77% 6,78% 3,67% Εµφώλευση διανυσµάτων δοκιµής µε χρήση διανυσµάτων διαφορών. Στην εργασία [10] προτείνεται µια νέα µέθοδος εµφώλευσης συνόλου δοκιµής, η οποία στηρίζεται στη χρήση διανυσµάτων διαφορών και στόχος είναι η ελάττωση του κόστους υλοποίησης σε σύγκριση µε ήδη υπάρχουσες εργασίες. Η βασική ιδέα που χρησιµοποιείται είναι η µετατροπή του αρχικού συνόλου δοκιµής σε ένα νέο σύνολο διανυσµάτων που έχει το χαρακτηριστικό της παρουσίας όσο το δυνατών λιγότερων 0 ή 1 ανά στήλη. Κάθε διάνυσµα του νέου συνόλου προκύπτει από το αποκλειστικό- (XOR) δύο διαδοχικών διανυσµάτων του αρχικού συνόλου και ονοµάζεται διάνυσµα διαφοράς, επειδή αναπαριστά ουσιαστικά τις διαφορές των δύο αρχικών διανυσµάτων. Η χρήση όµως µόνο των διανυσµάτων διαφοράς δεν είναι ικανή να οδηγήσει σε σηµαντική µείωση του αριθµού των 0 ή 1. Για αυτό το λόγο γίνεται αναδιάταξη των διανυσµάτων δοκιµής µε βάση την απόσταση aig, δηλαδή µε βάση το πλήθος των διαφορετικών δυαδικών ψηφίων που έχει ένα οποιοδήποτε ζεύγος διανυσµάτων δοκιµής. Η αναδιάταξη γίνεται µε τέτοιο τρόπο ώστε να µειώνεται το συνολικό άθροισµα των αποστάσεων aig του νέου συνόλου δοκιµής. Το παραπάνω πρόβληµα είναι ίδιο µε το πρόβληµα του Πλανόδιου Πωλητή (Travellig Salesa Proble TSP) που είναι γνωστό ότι είναι NP-coplete και για την επίλυσή του χρησιµοποιήθηκε µια greedy προσέγγιση. Ή 10
Σε περίπτωση που υπάρχουν δυαδικά ψηφία που δεν έχουν ορισµένη τιµή (udefied X) η µείωση των 0 ή 1 µπορεί να γίνει µε διάφορους τρόπους. Η πρώτη στρατηγική ανάθεσης τιµών που εξετάστηκε αφορά την αναδιάταξη των διανυσµάτων µε βάση την απόσταση aig όπου τα Χ δε συµµετέχουν στον υπολογισµό της τελευταίας. Στη συνέχεια η ανάθεση τιµών γίνεται µε γνώµονα τη νέα θέση των διανυσµάτων ώστε σε κάθε στήλη του συνόλου δοκιµής να µειωθούν οι µεταβάσεις από 0 σε 1 και 1 σε 0. Στη δεύτερη στρατηγική τα Χ παίρνουν την τιµή του δυαδικού ψηφίου που έχει τις περισσότερες παρουσίες στη στήλη. Αυτή η ανάθεση γίνεται µε το σκεπτικό ότι η παρουσία πολλών 0 ή πολλών 1 αυξάνει την πιθανότητα να υπάρχουν λίγες µεταβάσεις από 0 σε 1 ή από 1 σε 0. Στη συνέχεια το νέο σύνολο διανυσµάτων µπορεί να δηµιουργηθεί εύκολα µε χρήση δέντρων από πύλες OR που έχουν σαν είσοδο τις εξόδους ενός ολισθητή. Πριν όµως γίνει η δηµιουργία των OR δέντρων ένα ακόµη βήµα που γίνεται είναι η επιλογή των κατάλληλων στηλών που θα χρησιµοποιηθούν. Συγκεκριµένα σε κάθε στήλη και των δύο συνόλων ανατίθεται ένα βάρος που είναι ίσο µε το πλήθος των δυαδικών ψηφίων που είναι τα λιγότερα σε αριθµό και µετά επιλέγεται η στήλη µε το µικρότερο βάρος. Η αναπαραγωγή του αρχικού συνόλου δοκιµής γίνεται µε τη βοήθεια πυλών XOR στις θέσεις εκείνες που αντιστοιχούν στις στήλες του νέου συνόλου δοκιµής. Οι πύλες αυτές δέχονται ως είσοδο την τρέχουσα τιµή του αντίστοιχου OR δέντρου και την τιµή του δυαδικού ψηφίου του διανύσµατος δοκιµής που δηµιουργήθηκε στον προηγούµενο κύκλο ρολογιού. Στον Πίνακα 6 παρουσιάζονται συγκριτικά αποτελέσµατα της προτεινόµενης εργασίας µε τις εργασίες [7] και [11] στην περίπτωση που χρησιµοποιούνται µερικώς ορισµένα σύνολα δοκιµής. Στη εργασία [11] χρησιµοποιούνται δέντρα από πύλες OR αλλά µόνο σε περίπτωση πλήρως ορισµένων συνόλων δοκιµής και για αυτό το λόγο υλοποιήθηκαν δύο πολιτικές ανάθεσης τιµών στα δυαδικά ψηφία που δεν έχουν ορισµένη τιµή. Χρησιµοποιήθηκε η τυχαία ανάθεση τιµών όπου οι τιµές στα Χ ανατίθενται τυχαία και η πολωµένη ανάθεση όπου τα Χ µιας στήλης παίρνουν την τιµή των ψηφίων που υπάρχουν περισσότερο στη συγκεκριµένη στήλη. Όπως φαίνεται η προτεινόµενη µέθοδος είναι καλύτερη από την εργασία [7] και από τις δύο πολιτικές ανάθεσης τιµών στην εργασία [11]. Πίνακας 6. Συγκριτικά αποτελέσµατα εµβαδού για τις εργασίες [7], [11] και [10]. Βελτίωση του [11] [7] Προτεινόµενο [10] Κέρδη % Εµβαδόν [10] προς [10] προς [10] προς Κύκλωµα ιανύσµατα Φάσεις Εµβαδόν ιανύσµατα Φάσεις Τυχαίο Πολωµένο ιανύσµατα Φάσεις Εµβαδόν [8] Τυχαίο Πολωµένο c3 95 18 95 3 56, 8, 79 3 78 33,9 9,1,18 c99 55 38, 55 0, 191 55 187, 51,05 7,51 1,99,78 c880 6 63, 6 603,8 98 59 7, 5,0 1,6 c1355 137 100,6 137 601,6 576 137 51,8 6,07 9,9 5,9 c1908 13 696 13 596 591, 1 3 533,6 3,33 10,7 9,77 c670 1 639 1 3 330, 0, 1 3 068,6 1,61 35,96 -,9 c350 157 8 1301,8 157 118,6 1105,8 15 100,,86 15,3 9,19 c5315 10 30,8 10 3 56,8 70 10 3 501,8 17, 1,77-1,9 c688 51 33 51 16, 183, 50 170, 50,3 1,18 6,99 c755 31 8 559,6 31 53 313,8 30 3959,8 9,0,3 8,1 Αναδιάταξη φλιπ-φλοπ Sca αλυσίδας για BIST χαµηλής κατανάλωσης ισχύος Η ανάπτυξη συστηµάτων σε πυρίτιο (SoC) έχει φέρει στην επιφάνεια το πρόβληµα της αυξηµένης κατανάλωσης ισχύος κατά της διάρκεια του ελέγχου ορθής λειτουργίας που µπορεί να δηµιουργήσει σοβαρά προβλήµατα όπως χαµηλή αξιοπιστία, καταστροφή του κυκλώµατος, µικρότερη αυτονοµία σε φορητά συστήµατα, κλπ. Το πρόβληµα αυτό συναντάται περισσότερο σε συστήµατα όπου ο έλεγχος ορθής λειτουργίας γίνεται µε τη χρήση Sca αλυσίδας, δηλαδή όταν τα εσωτερικά στοιχεία µνήµης (φλιπ-φλοπ) συνδέονται σε µία αλυσίδα ώστε να είναι δυνατή η παροχή των κατάλληλων τιµών στις γραµµές του κυκλώµατος που δεν είναι απευθείας προσβάσιµες από τις κύριες εισόδους του κυκλώµατος. Υπάρχουν δύο τρόποι εφαρµογής διανυσµάτων σε αυτή την περίπτωση: στον πρώτο τα διανύσµατα εφαρµόζονται από αυτόµατο εξοπλισµό ελέγχου ορθής λειτουργίας (autoatic test equipet, ΑΤΕ) ενώ στο δεύτερο η εφαρµογή των διανυσµάτων γίνεται µέσω της προσέγγισης εµφωλευµένου ελέγχου (BIST). Στην εργασία [1] µελετάται η δυνατότητα αναδιάταξης των φλιπ-φλοπ του κυκλώµατος σε ένα περιβάλλον ψευδοτυχαίου BIST. Τα φλιπ-φλοπ του κυκλώµατος θεωρούνται ότι είναι συνδεδεµένα σε µία αλυσίδα. Η αλυσίδα αποτελείται από 3 ιδεατά κοµµάτια, το κοµµάτι που περιέχει τα φλιπ-φλοπ που οδηγούν τις κύριες εισόδους του κυκλώµατος (φλιπ-φλοπ κύριων εισόδων), τα φλιπ-φλοπ που 11
οδηγούν τις εσωτερικές γραµµές του κυκλώµατος (εσωτερικά φλιπ-φλοπ) και τα φλιπ-φλοπ που οδηγούνται από τις κύριες εξόδους του κυκλώµατος (φλιπ-φλοπ κύριων εξόδων). Η αναδιάταξη των φλιπ-φλοπ έχει αντίκτυπο στην κατανάλωση ισχύος µόνος στα δύο πρώτα, καθώς αυτά είναι που επηρεάζουν την εσωτερική κατάσταση του κυκλώµατος υπό δοκιµή. Για τα εσωτερικά φλιπ-φλοπ πειράµατα έδειξαν ότι µπορεί να εφαρµοστεί µια µέθοδος αναδιάταξης που βασίζεται στη συχνότητα που συµβαίνουν οι αλλαγές στα περιεχόµενά τους. υο τέτοιες µέθοδοι έχουν παρουσιαστεί στις εργασίες [13, 1] και οι οποίες εξετάζουν όλους τους δυνατούς συνδυασµούς ζευγών φλιπ-φλοπ και στη συνέχεια κάνουν διάταξη ώστε να επιτύχουν την ελάχιστη δυνατή κατανάλωση ισχύος στο κύκλωµα. Στην παρούσα εργασία εφαρµόζεται η µέθοδος της εργασίας [13] µόνο όταν οι αλλαγές στα περιεχόµενα γειτονικών φλιπ-φλοπ είναι σηµαντικά διαφορετικές για όλα τα δυνατά ζεύγη φλιπ-φλοπ. Στη συνέχεια επιλέγεται η καλύτερη διάταξη των φλιπ-φλοπ και γίνεται εκτίµηση της κατανάλωσης ισχύος του κυκλώµατος µετά την εφαρµογή µιας ψευδοτυχαίας ακολουθίας διανυσµάτων. Για τα φλιπ-φλοπ των κύριων εισόδων εφαρµόζονται δύο τεχνικές. Η πρώτη αφορά το µηδενισµό των περιεχοµένων τους σε συγκεκριµένα χρονικά διαστήµατα. Το σκεπτικό πίσω από αυτή την ενέργεια είναι ότι µετά την εφαρµογή ενός διανύσµατος και το «κλείδωµα» της απόκρισης του κυκλώµατς στα εσωτερικά και τα φλιπ-φλοπ κυρίων εξόδων, τα φλιπ-φλοπ κυρίων εισόδων δεν περιέχουν χρήσιµα δεδοµένα και εποµένως µπορούν να αλλάξουν. Κατά τη διάρκεια της εισαγωγής/εξαγωγής δεδοµένων στην αλυσίδα τα µηδενικά που φορτώθηκαν στα φλιπ-φλοπ κυρίων εισόδων µετακινούνται σε όλη την αλυσίδα µε αποτέλεσµα και να δηµιουργούν λιγότερες αλλαγές καταστάσεων στα στοιχεία της αλλά και στο κύκλωµα, µειώνοντας έτσι την κατανάλωση. Η δεύτερη τεχνική αφορά τη διάταξη των φλιπ-φλοπ κύριων εισόδων µε βάση την επίδραση που θα έχει κάθε φλιπ-φλοπ στο κύκλωµα. Ένα φλιπ-φλοπ που επηρεάζει µικρό µέρος του κυκλώµατος τοποθετείται κοντά στην είσοδο των διανυσµάτων της αλυσίδας ενώ ένα φλιπ-φλοπ που επηρεάζει µεγάλο τµήµα του κυκλώµατος τότε τοποθετείται κοντά στα εσωτερικά φλιπ-φλοπ. Έτσι καθώς εφαρµόζονται ψευδοτυχαία διανύσµατα τα φλιπ-φλοπ που επηρεάζουν µεγάλο τµήµα του κυκλώµατος θα αλλάξουν κατάσταση λιγότερες φορές και έτσι θα µειωθεί η κατανάλωση ισχύος στο κύκλωµα. Η διάταξη των παραπάνω φλιπ-φλοπ γίνεται χρησιµοποιώντας τη µέθοδο που παρουσιάζεται στην εργασία [15]. Όµως αυτή η τεχνική µπορεί να εφαρµοστεί µόνο σε συνδυασµό µε το µηδενισµό των φλιπ-φλοπ κυριών εισόδων ώστε να αλλάξουν τα χαρακτηριστικά την ακολουθίας δυαδικών ψηφίων που εισάγονται σε αυτά. Ο Πίνακας 7 περιέχει πειραµατικά αποτελέσµατα για καθεµία από τις τρεις τεχνικές αλλά και για το συνδυασµό τους. Η στήλη Τυχαία ιάταξη αφορά την κατανάλωσης ισχύος σε περίπτωση που δεν εφαρµόζεται καµία από τις προτεινόµενες τεχνικές. Η στήλη SCO αφορά την εφαρµογή της διάταξης των εσωτερικών φλιπ-φλοπ, η στήλη Reset τον µηδενισµό των φλιπ-φλοπ των κυρίων εισόδων, η στήλη PIOR τη διάταξη των φλιπ-φλοπ των κύριων εισόδων σε συνδυασµό µε το µηδενισµό τους και η στήλης όλες όταν εφαρµοστούν όλες οι παραπάνω τεχνικές. Όπως φαίνεται από τον πίνακα οι προτεινόµενες µέθοδοι µπορούν να επιτύχουν σηµαντικές µειώσεις στην κατανάλωση ισχύος που φτάνει και το 57,7%. Ακολουθιακά Συνδυαστικά Πίνακας 7. Ποσοστά µείωσης που επιτυγχάνουν οι προτεινόµενες τεχνικές της εργασίας [1]. Κύκλωµα Είσοδοι c3 36 c99 1 c880 60 c1355 1 c1908 33 c670 33 c350 50 c5315 178 c688 3 c755 07 s953 16 s1196 1 s138 1 s13 17 s5378 35 s93.1 19 s1307 31 s15850.1 1 Ποσοστά µείωσης Εσωτερικά Έξοδοι Τυχαία SCO Reset PIOR Όλες 7 9,,8 5,3 5,3 3 65,3,9 31, 31, 6 619, 37,0 1,1 1,1 3 685,0 8,6 38,6 38,6 5 833,5 3, 38,8 38,8 10 1603, 1,8,, 177,6 3,5 57,7 57,7 13 303,3 51,7 56, 56, 3 116,6 5,8 57,6 57,6 108 3771,9 9,3 57,5 57,5 9 3 3, 5,3 15,3 16,8 3,1 18 1 519, 3,0 17,0 19,8 3,9 18 1 55, 3,0 16,3 18,9 3, 7 5 861,7 5,8 11,7 11,5 16,8 179 9 596,0 13, 9,9 10,,1 8 15,3 6,6 10, 11,1 17,6 669 11 7705,3 10,3,9,9 1,6 597 87 888,1 7,5 6, 7, 15,5 1
Reseedig τεχνικές για test-per-clock και test-per-sca BIST σχήµατα. Τα κυκλώµατα που χρησιµοποιούνται συνήθως για την παραγωγή των διανυσµάτων δοκιµής δεν µπορούν να καλύψουν έναν ικανοποιητικό αριθµό σφαλµάτων µε αποδεκτές σε µήκος ακολουθίες ελέγχου. Το γεγονός αυτό οδήγησε στην υιοθέτηση τεχνικών που επιλύουν το συγκεκριµένο πρόβληµα, προσθέτοντας επιπλέον υλικό στο κύκλωµα παραγωγής διανυσµάτων δοκιµής. Η τεχνική της ανατροφοδότησης του TPG κυκλώµατος µε νέες αρχικές καταστάσεις (reseedig) είναι µία από αυτές. Ένα µέρος λοιπόν της ενασχόλησης της ερευνητικής οµάδας στα πλαίσια του προγράµµατος αφιερώθηκε στη µελέτη reseedig τεχνικών για test-per-clock και test-per-sca BIST σχήµατα. Test-per-clock τεχνικές Οι βασικότερες και πιο σύγχρονες ερευνητικές εργασίες στην περιοχή του reseedig για test-perclock BIST σχήµατα είναι οι [16-19]. Στην εργασία [16] παρουσιάζεται ένα σχήµα βασισµένο σε προγραµµατιζόµενους ολισθητές γραµµικής ανάδρασης (LFSR) καθώς και ένας αλγόριθµος που στηρίζεται στη µέθοδο επίλυσης συστηµάτων γραµµικών εξισώσεων του Gauss, για τον υπολογισµό των νέων αρχικών καταστάσεων. Στην [17] σαν κυκλώµατα παραγωγής διανυσµάτων δοκιµής χρησιµοποιούνται δοµές που ονοµάζονται µετρητές twisted-rig ή Johso, ενώ στην εργασία [18] παρουσιάζεται µία µέθοδος επιλογής αρχικών καταστάσεων η οποία βασίζεται σε γενετικούς αλγορίθµους. Τέλος στην εργασία [19] το πρόβληµα εύρεσης των κατάλληλων αρχικών καταστάσεων που θα ανατροφοδοτήσουν το κύκλωµα παραγωγής διανυσµάτων δοκιµής ανάγεται στο set coverig πρόβληµα και κατόπιν χρησιµοποιούνται διάφορες τεχνικές εύρεσης λύσεων για το πρόβληµα αυτό. Σηµειώνουµε ότι οι µέθοδοι των αναφορών [18, 19] µπορούν να εφαρµοστούν µε διαφόρους τύπους κυκλωµάτων παραγωγής διανυσµάτων δοκιµής. Η ενασχόληση της ερευνητικής οµάδας µε το πρόβληµα του reseedig test-per-clock BIST σχηµάτων οδήγησε στις δηµοσιεύσεις [0-]. Στις εργασίες αυτές (καθώς και σε αυτές που θα παρουσιαστούν στη συνέχεια και αφορούν sca-based σχήµατα), το µοντέλο σφαλµάτων που χρησιµοποιήθηκε ήταν αυτό του απλού σφάλµατος µόνιµης τιµής (sigle stuck-at fault odel). Ο λόγος είναι ότι το µοντέλο αυτό µπορεί να αντιπροσωπεύσει ένα µεγάλο αριθµό από τα φυσικά ελαττώµατα που µπορούν να εµφανιστούν σε ένα κύκλωµα. Επίσης, στόχος παντού ήταν η πλήρης κάλυψη των απλών σφαλµάτων µόνιµης τιµής του υπό έλεγχο κυκλώµατος. Αναλυτικότερα, στην εργασία [0] παρουσιάζουµε ένα νέο σχήµα ανατροφοδότησης για BIST σχήµατα βασισµένα σε ολισθητές γραµµικής ανάδρασης, το οποίο δεν χρησιµοποιεί µνήµη ROM για να αποθηκεύσει τις αρχικές καταστάσεις µε τις οποίες θα ανατροφοδοτηθεί το LFSR, αλλά τις παράγει κατά το χρόνο εφαρµογής του ελέγχου τροποποιώντας τις καταστάσεις από τις οποίες διέρχεται το LFSR µε τη βοήθεια πυλών αποκλειστικής διάζευξης. Το νέο αυτό σχήµα συνοδεύεται και από έναν αλγόριθµο επιλογής των κατάλληλων αρχικών καταστάσεων, έτσι ώστε το κόστος υλοποίησής του να ελαχιστοποιείται. Στον Πίνακα 8 παρουσιάζεται η σύγκριση των αποτελεσµάτων της τεχνικής που προτείναµε µε τα αποτελέσµατα της τεχνικής του [18] για διάφορα ISCAS '85 και '89 bechark κυκλώµατα. Από τα αποτελέσµατα αυτά είναι προφανές ότι η προτεινόµενη τεχνική υπερέχει τόσο ως προς το πλήθος των διανυσµάτων δοκιµής που χρησιµοποιεί (στήλες -), όσο και ως προς το κόστος που απαιτείται για την υλοποίησή της (στήλες 5-8) σε σχέση µε αυτή του [18], παρά το γεγονός ότι το κόστος της λογικής ελέγχου για τα σχήµατα της τελευταίας δεν είναι δυνατόν να υπολογισθεί (συµβολίζεται µε Η). Σηµειώνουµε ότι µία ισοδύναµη πύλη αντιστοιχεί σε µία πύλη NAND δύο εισόδων. Πίνακας 8. Σύγκριση των αποτελεσµάτων των τεχνικών που προτάθηκαν στις εργασίες [18] και [0] Πλήθος διανυσµάτων δοκιµής Κύκλωµα Προτεινόµενη Τεχνική [0] c670 s0 s61 s713 s80 s838 s953 s1196 s138 s13 100 1876 108 1963 98 13 317 11553 757 110 [18] Μείωση 1006 1083 30 759 57 973 83 18776 7713 1308 90, % 8,7 % 55, % 8,6 % 5,5 % 86,8% 3,9 % 38,5 % 5,9 % 15,7 % Επιβάρυνση υλικού Προτεινόµενη [18] Τεχνική [0] Λογική Multiplexers ROM bits (ισοδ. πύλες) Ελέγχου (ισοδ. πύλες) 373 33 x 33 80 15 9 x 3 1 61 6 x 5 65 59 7 x 5 65 18 3 x 3 8 3 3 x 66 79 5 x 5 5 9 x 3 38 77 5 x 3 38 71 x 91 109 13