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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΜΕΤΑΠΤΥΧΙΑΚΗ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ : ΟΛΟΚΛΗΡΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΥΛΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ (ΟΣΥΛ) ΜΕΤΑΠΤΥΧΙΑΚΗ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη λογισµικού για την ελάττωση του κόστους ελέγχου ορθής λειτουργίας συστηµάτων που υλοποιούνται σε ένα ολοκληρωµένο κύκλωµα (SOCs) Μελποµένη Μασούρα Επιβλέπων Καθηγητής: ηµήτριος Νικολός Πάτρα, Ιούνιος 2010

2 Κεφάλαιο 1: Εισαγωγή 2 Περιεχόµενα 1. ΕΙΣΑΓΩΓΗ ΙΑΡΘΡΩΣΗ ΕΡΓΑΣΙΑΣ ΑΞΙΟΠΙΣΤΙΑ ΚΑΙ Η ΑΝΑΓΚΗ ΓΙΑ ΕΛΕΓΧΟ ΙΑ ΙΚΑΣΙΑ ΣΧΕ ΙΑΣΗΣ ΕΝΟΣ ΚΥΚΛΩΜΑΤΟΣ ΕΛΕΓΧΟΣ ΟΡΘΗΣ ΛΕΙΤΟΥΡΓΙΑΣ ΕΛΑΤΤΩΜΑΤΑ ΚΑΙ ΣΦΑΛΜΑΤΑ ΚΑΛΥΨΗ ΣΦΑΛΜΑΤΩΝ ΜΕΘΟ ΟΙ ΠΡΑΓΩΓΗΣ ΙΑΝΥΣΜΑΤΩΝ Εξαντλητικοί έλεγχοι Ψευδοεξαντλητικοί έλεγχοι Ψευδοτυχαίοι έλεγχοι Ντετερµινιστικοί έλεγχοι ΣΧΕΣΙΑΣΗ ΓΙΑ ΑΥΞΗΜΕΝΗ ΟΚΙΜΑΣΤΙΚΟΤΗΤΑ Ελεγξιµότητα Παρατηρησιµότητα ΤΡΟΠΟΙ ΕΦΑΡΜΟΓΗΣ ΤΟΥ ΕΛΕΓΧΟΥ ΣΤΟ ΥΠΟ ΟΚΙΜΗ ΚΥΚΛΩΜΑ Εξωτερικοί έλεγχοι µεχρήση ΑΤΕ συσκευών Ενσωµατωµένος αυτοέλεγχος (BIST) Ενσωµατωµένος έλεγχος (embedded test) µε χρήση ΑΤΕ συσκευών ΤΕΧΝΙΚΕΣ ΣΥΜΠΙΕΣΗΣ ΕΙΣΑΓΩΓΗ ΣΥΜΠΙΕΣΗ ΣΥΝΟΛΟΥ Ε ΟΜΕΝΩΝ Τεχνικές βασισµένες σε αλγορίθµους συµπίεσης (code based) Κωδικοποίηση που βασίζεται στην συχνότητα εµφάνισης Κωδικοποίηση τρέχοντος Τεχνικές βασισµένες στην κοινή εκποµπή τιµών ελέγχου Κοινή εκποµπή τιµών ελέγχου Illinois scan Κοινή εκποµπή πολλαπλών τιµών ελέγχου ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΛΕΓΧΟΥ TEST SCHEDULING ΕΙΣΑΓΩΓΗ ΠΡΟΣΕΓΓΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Προσεγγιστικοί αλγόριθµοι µε µικρή απόκλιση Χρωµατισµός γράφου Οµαδοποίηση σε κάδους Οµαδοποίηση σε ταινίες ΥΛΟΠΟΙΗΣΗ ΕΙΣΑΓΩΓΗ ΠΡΟΤΕΙΝΟΜΕΝΗ ΤΕΧΝΙΚΗ ιαµοιρασµός αλυσίδων ιαµοιρασµός αλυσίδων µεταξύ µονάδων Χρονοπρογραµµατισµός ΠΕΡΙΓΡΑΦΗ ΕΠΙΚΟΙΝΩΝΙΑΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΕΦΑΡΜΟΓΗ ΤΗΣ ΠΡΟΤΕΙΝΟΜΕΝΗΣ ΤΕΧΝΙΚΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑ...62

3 Κεφάλαιο 1: Εισαγωγή 3 1. Εισαγωγή 1.1. ιάρθρωση της εργασίας Ο όγκος των δεδοµένων που απαιτούνται για τον έλεγχο της ορθής λειτουργίας ενός συστήµατος που υλοποιείται σε ένα ολοκληρωµένο κύκλωµα είναι πάρα πολύ µεγάλος. Αυτό συνεπάγεται ότι ο χρόνος που απαιτείται για τον έλεγχο της ορθής λειτουργίας του ολοκληρωµένου κυκλώµατος µπορεί να είναι απαγορευτικά µεγάλος. Για τη µείωση του απαιτούµενου χρόνου χρησιµοποιούνται διάφορες τεχνικές συµπίεσης των δεδοµένων δοκιµής. Κάποιες από αυτές τις τεχνικές βασίζονται στην αποστολή κοινών δεδοµένων δοκιµής ταυτόχρονα σε περισσότερες από µία µονάδες του ολοκληρωµένου κυκλώµατος. Στην εργασία αυτή υλοποιούµε µια από αυτές τις τεχνικές που βασίζεται στην ύπαρξη µονοπατιών ολίσθησης (scan paths) στις µονάδες του ολοκληρωµένου κυκλώµατος. Για την περαιτέρω µείωση του χρόνου που απαιτείται για τον έλεγχο της ορθής λειτουργίας του ολοκληρωµένου κυκλώµατος γίνεται χρονοπρογραµµατισµός της σειράς µε την οποία θα ελεγχθεί η ορθή λειτουργία των διαφόρων µονάδων του ολοκληρωµένου κυκλώµατος. Η εργασία αποτελείται από 5 κεφάλαια εκ των οποίων το πρώτο αναφέρεται σε έννοιες όπως η διαδικασία σχεδίασης ενός κυκλώµατος και η ανάγκη για τον έλεγχο της ορθής του λειτουργίας. Επίσης γίνεται λόγος για τους τρόπους εφαρµογής του ελέγχου στο κύκλωµα και τη διαδικασία παραγωγής διανυσµάτων δοκιµής. Το Κεφάλαιο 2 αναφέρεται σε δυο τεχνικές συµπίεσης του συνόλου ελέγχου. Αρχικά περιγράφουµε πως γίνεται η συµπίεση του συνόλου ελέγχου µε χρήση αλγορίθµων συµπίεσης και στην συνέχεια γίνεται περιγραφή της αποστολής κοινών δεδοµένων δοκιµής µέσω των µονοπατιών ολίσθησης. Το Κεφάλαιο 3 εξετάζει προσεγγιστικούς αλγορίθµους που θα χρησιµοποιηθούν για βέλτιστο χρονοπρογραµµατισµό της σειράς ελέγχου της ορθής λειτουργίας των µονάδων του κυκλώµατος. Το κεφάλαιο 4 ασχολείται και περιγράφει αναλυτικά µία από τις τεχνικές συµπίεσης δεδοµένων, αυτή της κοινής αποστολής δεδοµένων. Επίσης περιγράφει έναν αλγόριθµο για βέλτιστο χρονοπρογραµµατισµό ελέγχου των υπο-µονάδων του κυκλώµατος.

4 Κεφάλαιο 1: Εισαγωγή Αξιοπιστία και η ανάγκη για έλεγχο Μέχρι τώρα, η απαίτηση για αξιοπιστία των ηλεκτρονικών συστηµάτων αποτελούσε ενδιαφέρον µόνο για την στρατιωτική, αεροδιαστηµική και τραπεζική βιοµηχανία, αφού οποιαδήποτε αποτυχία υλικού σε αυτούς τους τοµείς, µπορεί να έχει καταστροφικές συνέπειες. Σήµερα, η αξιοπιστία των ηλεκτρονικών συστηµάτων και συνεπώς οι τεχνικές ελέγχου που την εξασφαλίζουν, κέρδισε το ενδιαφέρον και έγινε βασική επιδίωξη σε εφαρµογές όπως οι ηλεκτρονικοί υπολογιστές, οι τηλεπικοινωνίες, η παράγωγη καταναλωτικών αγαθών και η αυτοκινητοβιοµηχανία. Οι παράγοντες που οδήγησαν στη µεταστροφή αυτή µπορούν να συνοψιστούν στα ακόλουθα σηµεία : α) τα ηλεκτρονικά συστήµατα είναι πλέον ευρέως διαδεδοµένα, µε αποτέλεσµα να χρησιµοποιούνται σε µια πληθώρα από περιβάλλοντα εργασίας και συχνά κάτω από σκληρές συνθήκες. β) Εξαιτίας της εξάπλωσης των ηλεκτρονικών συστηµάτων, οι χρήστες τους δεν έχουν κατ ανάγκη την εξειδικευµένη γνώση που απαιτείται για τον χειρισµό τους, µε συνέπεια να τα χρησιµοποιούν άθελα τους µε λανθασµένο τρόπο. γ) Η συνεχής µείωση των διαστάσεων των ηλεκτρονικών συστηµάτων σε συνδυασµό µε την ολοένα αυξανόµενη πολυπλοκότητα και την ταχύτητα τους, έχουν ως αποτέλεσµα την εµφάνιση νέων τύπων ελαττωµάτων σε αυτά. Η βασική προϋπόθεση για την παραγωγή αξιόπιστων ηλεκτρονικών συστηµάτων είναι η ύπαρξη τεχνικών που είναι ικανές να δείξουν αν αυτά είναι ελαττωµατικά ή όχι [1]. Ένα ηλεκτρονικό σύστηµα αποτελείται από υλικό (hardware) και λογισµικό (software). Το µεγαλύτερο τµήµα του υλικού των σύγχρονων ηλεκτρονικών συστηµάτων αποτελείται από ψηφιακά κυκλώµατα, κυκλώµατα δηλαδή που διαχειρίζονται ψηφιακή (δυαδική) πληροφορία. Ένα κύκλωµα πρέπει να ελεγχθεί για να διαπιστωθεί ότι λειτουργεί σύµφωνα µε τις προδιαγραφές που ορίσθηκαν από τους κατασκευαστές του. Οι έλεγχοι που θα πραγµατοποιηθούν µπορούν να ανιχνεύσουν κατασκευαστικά ελαττώµατα (manufacturing defects), καθώς και ελαττώµατα που προκλήθηκαν κατά τη διάρκεια της κανονικής λειτουργίας του κυκλώµατος λόγω γήρανσης, περιβαλλοντικών αλλαγών, διακυµάνσεων της τροφοδοσίας κτλ. Χονδρικά, το πρώτο βήµα της δοκιµής ενός κυκλώµατος (ο όρος «δοκιµή» θα χρησιµοποιείται εναλλακτικά µε τον όρο «έλεγχος» στο κείµενο) αφορά στον προσδιορισµό των διανυσµάτων εισόδου, τα οποία είναι απαραίτητα για τον έλεγχο του κυκλώµατος. Η διαδικασία αυτή καλείται εξαγωγή ή παραγωγή διανυσµάτων δοκιµής (test pattern extraction ή generation). Ένα διάνυσµα ελέγχου καθορίζει τις τιµές στις οποίες πρέπει να τεθούν οι είσοδοι του κυκλώµατος, ώστε η απόκριση αυτού να υποδεικνύει την ύπαρξη ή µη κάποιων ελαττωµάτων (οι αποκρίσεις δηλαδή του κυκλώµατος παρουσία και απουσία ελαττωµάτων θα πρέπει να διαφέρουν).

5 Κεφάλαιο 1: Εισαγωγή 5 Η διαδικασία εξαγωγής διανυσµάτων δοκιµής είναι αρκετά περίπλοκη. Συχνά, διανύσµατα τα οποία έχουν εξαχθεί µε στόχο να επιβεβαιώσουν τη σωστή σχεδίαση ενός κυκλώµατος (design verification), συµπληρώνονται µε διανύσµατα που έχουν εξαχθεί είτε χειρονακτικά (manually), είτε µε τη βοήθεια προγραµµάτων αυτόµατης παραγωγής διανυσµάτων δοκιµής (Automatic Test Pattern Generation ATGP), µε στόχο να προκύψει τελικά ένα σύνολο διανυσµάτων δοκιµής (σύνολο ελέγχου test set), το οποίο να ανιχνεύει όλα τα σφάλµατα του κυκλώµατος. Το σύνολο αυτό θα µπορεί επίσης να επιβεβαιώσει και τη λειτουργικότητα (ή µη) της λογικής του κυκλώµατος [2]. Το επόµενο βήµα είναι η εφαρµογή των διανυσµάτων ελέγχου στο υπό δοκιµή κύκλωµα, καθώς και η σύγκριση των αποκρίσεων εξόδου µε αυτές ενός κυκλώµατος χωρίς ελαττώµατα (οι αποκρίσεις αυτές έχουν προβλεφθεί µε τη βοήθεια της εξοµοίωσης). Τα διανύσµατα δοκιµής εφαρµόζονται συνήθως µε τη βοήθεια µιας συσκευής αυτόµατου ελέγχου (Automatic Test Equipment ATE). Η ίδια συσκευή (η οποία θα καλείται εξωτερικός ελεγκτής) µπορεί να χρησιµοποιηθεί και για την επαλήθευση των αποκρίσεων του κυκλώµατος στα διανύσµατα ελέγχου. Εξαιτίας της πολυπλοκότητας της διαδικασίας ελέγχου των σύγχρονών ψηφιακών κυκλωµάτων, η οποία είναι ανάλογη της πολυπλοκότητας και της πυκνότητας του σχεδιασµού τους, µια νέα σχεδιαστική προσέγγιση που στοχεύει στον «ευκολότερο» έλεγχο των παραγόµενων κυκλωµάτων έχει εφαρµοστεί τα τελευταία χρόνια. Η προσέγγιση αυτή ονοµάζεται σχεδίαση για αυξηµένη δοκιµαστικότητα (Design For Testability DFT) και στοχεύει στην ενσωµάτωση δοµών ελέγχου στο αρχικό κύκλωµα, µε στόχο την καλύτερη ελεγξιµότητα (controllability) και παρατηρησιµότητα (observability) των εσωτερικών του κόµβων. Η εργασία αυτή άπτεται της παραπάνω προσέγγισης και όπως θα δούµε σε επόµενα κεφάλαια σχετίζεται µε τις δοµές ελέγχου που ενσωµατώνονται στο αρχικό κύκλωµα ιαδικασία σχεδίασης ενός κυκλώµατος Όπως αναφέρθηκε προηγουµένως, η συνεχής µείωση του µεγέθους των τρανζίστορ προκαλεί αύξηση τόσο της πυκνότητας όσο και της πολυπλοκότητας των σύγχρονων ψηφιακών κυκλωµάτων. Πυκνότητες εκατοντάδων εκατοµµυρίων τρανζίστορ είναι πλέον πραγµατικότητα και συνεπώς, για να µπορέσουν οι σχεδιαστές να διαχειριστούν την τεράστια αυτή πολυπλοκότητα, υιοθετούν πιο ιεραρχικούς τρόπους σχεδίασης. Όµως παρά τις αυξηµένες δυνατότητες τους, ο κύκλος ζωής (life cycle) των ψηφιακών κυκλωµάτων είναι µερικές φορές µικρότερος σε διάρκεια από τον κύκλο σχεδίασης τους (design cycle). Για να παραµείνουν ανταγωνιστικές στην αγορά ηλεκτρονικών, οι εταιρείες σχεδίασης και κατασκευής κυκλωµάτων πρέπει να αυξήσουν την αποδοτικότητα των σχεδιαστών τους και να µειώσουν το χρόνο µετάβασης από τη φάση σχεδίασης στο τελικό προϊόν (time-tomarκet). Η διαδικασία σχεδίασης (design process) ενός κυκλώµατος µεταβάλλεται συνέχεια έτσι ώστε να συµβαδίζει µε την τρέχουσα τεχνολογία και µε τα διαθέσιµα εργαλεία σχεδίασης µε τη βοήθεια του υπολογιστή (Computer-Aided Design CAD). Η διαδικασία αυτή µπορεί να διαχωριστεί σε τρεις βασικές φάσεις: τη φάση σχεδίασης σε επίπεδο συστήµατος (system design), τη φάση σχεδίασης σε επίπεδο λογικών πυλών (logic design ) και τη φάση σχεδίασης σε επίπεδο τρανζίστορ (transistor level ή physical design).

6 Κεφάλαιο 1: Εισαγωγή 6 Ο χρόνος που απαιτείται για να ολοκληρωθούν οι φάσεις αυτές έχει αλλάξει σε σχέση µε το παρελθόν, εξαιτίας κυρίως της ύπαρξης αυτοµατοποιηµένων εργαλείων. Σε καθεµία από τις προαναφερθείσες φάσεις, ο σχεδιαστής µπορεί να επέµβει στο σχεδιασµό, να τον επαληθεύσει και κατόπιν να τον µετατρέψει έτσι ώστε να µπορεί να εισαχθεί στην επόµενη φάση. Με άλλα λόγια, ενώ ένας σχεδιαστής µπορεί να περιγράψει απευθείας το κύκλωµα που θέλει να υλοποιήσει, σε επίπεδο τρανζίστορ, καταβάλλοντας σηµαντικά µεγαλύτερο κόπο αλλά και έχοντας πλήρη έλεγχο του σχεδιασµού (αυτό συµβαίνει µόνο για µικρά κυκλώµατα), κάποιος άλλος µπορεί να ξεκινήσει από το επίπεδο συστήµατος, περιορίζοντας σηµαντικά τόσο τον κόπο, όσο και το χρόνο σχεδίασης. Στη δεύτερη περίπτωση, ο σχεδιασµός µετατρέπεται αρχικά, µε τη βοήθεια CΑD εργαλείων από την περιγραφή στην οποία βρίσκεται (η οποία µπορεί να είναι είτε επιπέδου συµπεριφοράς behavioral description, είτε επιπέδου Register Transfer RTL), σε ένα σύνολο από πύλες, flip-flop και γραµµές διασύνδεσης (netlist περιγραφή επιπέδου λογικών πυλών), για να φτάσει τελικά να µετατραπεί (και πάλι µέσω CAD εργαλείων) σε ένα σχεδιασµό επιπέδου τρανζίστορ (layout περιγραφή). Συνεπώς, ένα ψηφιακό κύκλωµα µπορεί να έχει διαφορετικού επιπέδου περιγραφές, ανάλογα µε τη φάση σχεδίασης στην οποία βρίσκεται. Τα επίπεδα περιγραφής ενός κυκλώµατος, σε σχέση µε τις φάσεις σχεδίασης του, φαίνονται στον Πίνακα 1.1. Φάση Σχεδίασης Επίπεδο συστήµατος Επίπεδο λογικών πυλών Επίπεδο τρανζίστορ Επίπεδο Περιγραφής Behavioral description Register Transfer Level (RTL) Netlist Layout Πίνακας 1.1 Τα επίπεδα περιγραφής ενός κυκλώµατος σε σχέση µε τις φάσεις σχεδίασης του. Η µετάβαση σε τεχνολογίες µικρότερες του 1µm (submicron technologies) επέτρεψε στους σχεδιαστές ολοκληρωµένων κυκλωµάτων (Integrated Circuits ICs θα αναφέρονται και απλά ως ολοκληρωµένα από εδώ και στο εξής) να αυξήσουν την πολυπλοκότητα των σχεδιασµών τους σε τέτοιο βαθµό, ώστε ένα ολόκληρο σύστηµα να µπορεί να υλοποιηθεί σε ένα µόνο κοµµάτι πυριτίου (System on a Chip SoC). Πρακτικά δηλαδή, ένα σύγχρονο ψηφιακό κύκλωµα αποτελείται από ένα πλήθος διακριτών µονάδων (modules), οι οποίες υλοποιούνται πάνω στο ίδιο κοµµάτι πυριτίου και σχηµατίζουν ένα ολοκληρωµένο σύστηµα, το οποίο παλαιότερα θα καταλάµβανε την επιφάνεια µίας ολόκληρης πλακέτας. Αυτό το σηµείο άλλαξε σε πολύ µεγάλο βαθµό τον τρόπο µε τον οποίο προσεγγίζουµε τόσο την διαδικασία σχεδίασης ενός ολοκληρωµένου (= συστήµατος), όσο και τη διαδικασία ελέγχου αυτού. Για να αυξηθεί η παραγωγικότητα και, συνεπώς, για να µειωθεί ο χρόνος µετάβασης ενός ολοκληρωµένου από τη φάση σχεδίασης στο τελικό προϊόν, η επαναχρησιµοποίηση ήδη σχεδιασµένων µονάδων (cores) είναι πλέον κοινή διαδικασία. Ο τρόπος αυτός σχεδίασης ψηφιακών συστηµάτων ονοµάζεται σχεδίαση βασιζόµενη σε ήδη σχεδιασµένες µονάδες (core-based design). Θα πρέπει να τονιστεί ότι ένα (σηµαντικό µερικές φορές) µέρος από τα core που χρησιµοποιούνται σε ένα SoC, προέρχονται από τρίτους κατασκευαστές.

7 Κεφάλαιο 1: Εισαγωγή 7 Σχήµα 1.1 Η δοµή ενός πιθανού SoC. Στο Σχήµα 1.1 φαίνεται η δοµή ενός πιθανού SoC. Όπως φαίνεται, αυτό αποτελείται από διάφορα core καθώς και από λογική διασύνδεσης, η οποία σχεδιάστηκε για τις ανάγκες του συγκεκριµένου SoC ( User Defined Logic UDL). Τα core µπορεί να είναι διαφόρων «τύπων» όπως για παράδειγµα µικροεπεξεργαστές, επεξεργαστές ψηφιοποιηµένων σηµάτων (Digital Signal Processors DSPs), µνήµες τυχαίας προσπέλασης (Random Access Memories RAMs) κτλ. Η UDL λογική χρησιµοποιείται για να διασυνδέσει µεταξύ τους τα διάφορα core (για το λόγο αυτό και αποκαλείται αρκετές φορές λογική συγκόλλησης glue logic). Κάποια από τα core που χρησιµοποιούνται µπορεί να έχουν σχεδιαστεί προηγουµένως, για να εξυπηρετήσουν τις ανάγκες κάποιου άλλου SoC. Επίσης το επίπεδο περιγραφής των core που αποτελούν ένα ψηφιακό σύστηµα δεν είναι αναγκαστικά κοινό, αλλά µπορεί να διαφέρει (µπορεί δηλαδή κάποια core είναι διαθέσιµα σε RTL περιγραφή άλλα σε netlist και άλλα σε layout). Κατά το παρελθόν η σχεδίαση των ψηφιακών κυκλωµάτων γινόταν κυρίως στο χαρτί. Είναι προφανές, ότι εξαιτίας του µεγέθους των SoC, κάτι τέτοιο δεν είναι πλέον εφικτό. Για το λόγο αυτό χρησιµοποιούνται γλώσσες περιγραφής υλικού (Hardware Description Languages HDLs). Το να περιγράφεται ένας σχεδιασµός µε τη βοήθεια µίας τέτοιας γλώσσας έχει διάφορα πλεονεκτήµατα. Τα πιο σηµαντικά από αυτά είναι η µείωση του χρόνου σχεδίασης, αλλά και της πολυπλοκότητας του έργου του σχεδιαστή. Η χρήση των γλωσσών περιγραφής υλικού γίνεται κατά κύριο λόγο κατά τη φάση σχεδίασης σε επίπεδο συστήµατος χωρίς αυτό να αποκλείει τη χρήση τους για περιγραφή κυκλωµάτων σε επίπεδο λογικών πυλών, αφού υπάρχει και αυτή δυνατότητα. Πάντως, µία HDL χρησιµοποιείται κυρίως για την περιγραφή ενός κυκλώµατος σε behavioral ή Register Transfer επίπεδο. Η περιγραφή αυτή µετατρέπεται σταδιακά, µε τη χρήση CAD εργαλείων, σε περιγραφή λογικού επιπέδου και κατόπιν επιπέδου transistor, όπως εξηγήθηκε προηγουµένως. Η διαδικασία αυτή της αυτοµατοποιηµένης µετάβασης ενός σχεδιασµού από τα υψηλότερα επίπεδα περιγραφής στα χαµηλότερα ονοµάζεται σύνθεση του σχεδιασµού (design synthesis). Πριν τη µετάβαση από ένα επίπεδο περιγραφής στο αµέσως χαµηλότερο, πραγµατοποιούνται εξοµοιώσεις ώστε να επιβεβαιωθεί η λειτουργία του σχεδιασµού σύµφωνα µε τις προδιαγραφές. Όταν ο σχεδιασµός φτάσει σε επίπεδο τρανζίστορ, τότε είναι δυνατόν να εξαχθούν (πριν την κατασκευή του) οι τιµές των παραµέτρων που χαρακτηρίζουν τη λειτουργία του κυκλώµατος (parameter extraction), όπως για παράδειγµα οι τιµές των αντιστάσεων και των χωρητικοτήτων στους διάφορους κόµβους αυτού.

8 Κεφάλαιο 1: Εισαγωγή 8 Η γνώση των τιµών των συγκεκριµένων παραµέτρων επιτρέπει την εκτίµηση (και επιβεβαίωση) διαφόρων χαρακτηριστικών του κυκλώµατος, όπως είναι η ταχύτητα του και τα ποσά της ενέργειας που αυτό καταναλώνει. Τέλος αφού ένας σχεδιασµός έχει φτάσει σε επίπεδο layout, κατασκευάζονται µάσκες (layout masks), οι οποίες χρησιµοποιούνται για την παραγωγή του τελικού κυκλώµατος πάνω σε ένα δίσκο πυριτίου (wafer). Μετά την κατασκευή του δίσκου πυριτίου, τα ολοκληρωµένα πάνω σε αυτόν (σε ένα wafer υλοποιούνται περισσότερα από ένα ολοκληρωµένα ), ελέγχονται και όσα βρεθούν ελαττωµατικά µαρκάρονται µε τη χρήση µελάνης (wafer sort). Τα υπόλοιπα τοποθετούνται σε συσκευασία (packaging) και κατόπιν, αφού έχουν πάρει την τελική τους µορφή, ελέγχονται ξανά. Μόνο όσα κυκλώµατα πέρασαν και αυτόν τον έλεγχο φτάνουν µέχρι τον τελικό χρήστη Έλεγχος ορθής λειτουργίας Αφού ένα ψηφιακό κύκλωµα υλοποιηθεί σε πυρίτιο, µπορεί πλέον να ελεγχθεί. Όπως είπαµε, ο έλεγχος πραγµατοποιείται εφαρµόζοντας σε αυτό ένα σύνολο ελέγχου και συγκρίνοντας τις αποκρίσεις του µε εκείνες ενός µη ελαττωµατικού κυκλώµατος. Θα πρέπει εδώ να σηµειωθεί ότι ο έλεγχος ορθής λειτουργίας υφίσταται από το σηµείο κατά το οποίο το κύκλωµα έχει υλοποιηθεί σε πυρίτιο και µετά. Η διαδικασία ελέγχου της ορθής σχεδίασης του κυκλώµατος κατά τις διάφορες φάσεις σχεδίασης του, ονοµάζεται επαλήθευση ή επιβεβαίωση σχεδίασης (design verification) και πραγµατοποιείται κυρίως µε τη βοήθεια εξοµοίωσης. Ό έλεγχος ορθής λειτουργίας από την άλλη έχει ως στόχο να επαληθεύσει την ορθότητα της κατασκευαστικής διαδικασίας (ή την καλή κατάσταση του κυκλώµατος µετά από κάποιο χρονικό διάστηµα χρήσης αυτού). Σε ένα κύκλωµα εφαρµόζονται δύο κατηγορίες ελέγχου: παραµετρικοί έλεγχοι (parametric testes) και λειτουργικοί έλεγχοι (functional tests). Η πρώτη κατηγορία αφορά τον έλεγχο των παραµέτρων λειτουργίας του κυκλώµατος, όπως για παράδειγµα των τιµών των ρευµάτων και των τάσεων. Αν δεν επιβεβαιωθεί, ότι κατά την κανονική λειτουργία του κυκλώµατος, οι τιµές των παραµέτρων αυτών, σε διάφορους κόµβους του κυκλώµατος είναι οι προβλεπόµενες, τότε δεν υπάρχει λόγος για περαιτέρω έλεγχο. Η δεύτερη κατηγορία αφορά τους λειτουργικούς ελέγχους που εφαρµόζονται σε ένα ψηφιακό κύκλωµα, δηλαδή, ελέγχους που προσπαθούν να διαπιστώσουν αν το υπό δοκιµή κύκλωµα εκτελεί σωστά τις λειτουργίες για τις οποίες σχεδιάστηκε. Όπως αναφέρθηκε και προηγουµένως, σκοπός του ελέγχου είναι να µπορεί να ελέγξει εάν ένα κύκλωµα έχει κατασκευαστεί (ή συνεχίζει να λειτουργεί) χωρίς σφάλµατα (fault-free). Είναι λοιπόν απαραίτητο, για να πραγµατοποιηθεί ο έλεγχος, να οριστούν επακριβώς τα προς ανίχνευση σφάλµατα. Οι πρώτες τεχνικές ελέγχου ορθής λειτουργίας προσπαθούν να ελέγξουν ένα κύκλωµα µε βάση τη λειτουργικότητα του. Για παράδειγµα, αν το υπό έλεγχο κύκλωµα ήταν ένας αθροιστής (adder), κατά την εξαγωγή του συνόλου δοκιµής του θα λαµβανόταν υπόψη αυτό το χαρακτηριστικό, χωρίς να εξετάζεται η δοµή του κυκλώµατος. Έτσι για δύο αθροιστές µε διαφορετική δοµή, αφού θα είχαν την ίδια λειτουργικότητα, θα χρησιµοποιούσαµε το ίδιο σύνολο δοκιµής.

9 Κεφάλαιο 1: Εισαγωγή 9 Το 1959 προτάθηκε για πρώτη φορά η µετάβαση σε µεθόδους ελέγχου οι οποίες θα λάµβαναν υπόψη τους τη δοµή του κυκλώµατος και όχι τη λειτουργικότητα του [3]. Τα σύγχρονα ψηφιακά ελέγχονται κυρίως µε τέτοιες µεθόδους. Για να µπορέσουµε να διαχειριστούµε καλύτερα το πρόβληµα του ελέγχου, είναι προτιµότερο να αναπαραστήσουµε το αποτέλεσµα των ελαττωµάτων σε επίπεδο λογικών τιµών, ή, µε άλλα λόγια να «µοντελοποιήσουµε» τα ελαττώµατα στο επίπεδο των λογικών πυλών. Αν η αντιστοίχηση που θα χρησιµοποιηθεί είναι ένα προς ένα, τότε θα προκύψει ένας πολύ µεγάλος αριθµός από µοντέλα σφαλµάτων (fault models). Για το λόγο αυτό, ένα σφάλµα ενός µοντέλου δεν είναι απαραίτητο να αναπαριστά ένα ελάττωµα επακριβώς. Θα πρέπει απλά η ανίχνευση του να συνεπάγεται την ανίχνευση του ελαττώµατος αυτού ή και άλλων (περισσότερων του ενός, αν είναι δυνατόν) πιθανών ελαττωµάτων του υπό έλεγχο κυκλώµατος. Με άλλα λόγια, σε ένα σφάλµα ενός µοντέλου είναι επιθυµητό να αντιστοιχίζονται περισσότερα από ένα ελαττώµατα. Αυτό ακριβώς συµβαίνει µε όλα τα σύγχρονα µοντέλα σφαλµάτων, χωρίς φυσικά κάποιο από αυτά να µπορεί να χρησιµοποιηθεί για την ανίχνευση όλων των ελαττωµάτων ενός κυκλώµατος. Στα µοντέλα σφαλµάτων και στον τρόπο µε τον οποίο αντιστοιχίζονται σε αυτά κατασκευαστικά ελαττώµατα, θα αναφερθούµε στην επόµενη παράγραφο. Μέχρι στιγµής είδαµε πως πραγµατοποιείται ο έλεγχος σ ένα ψηφιακό σύστηµα µετά την κατασκευή του, εφαρµόζοντας σε αυτό διανύσµατα δοκιµής µε τη βοήθεια των οποίων προσπαθούµε να εξακριβώσουµε την ύπαρξη ή µη ελαττωµάτων. Έτσι θα µπορούσε να συµπεράνει κάποιος ότι όλος «κόπος» που απαιτείται για τον έλεγχο ενός κυκλώµατος καταβάλλεται κατά τη φάση σχεδίασης επιπέδου λογικών πυλών, όπου και γίνεται η εξαγωγή των διανυσµάτων ελέγχου, καθώς και η επαλήθευση τους µε τη βοήθεια της εξοµοίωσης σφαλµάτων (fault simulation). Αυτό όµως δεν είναι πλέον πραγµατικότητα. Εξαιτίας της πολυπλοκότητας των σύγχρονων ψηφιακών συστηµάτων (SoC), για να καταστεί αποδοτικός ο έλεγχος τους, θα πρέπει να καταβληθεί συστηµατική προσπάθεια καθ όλη τη διαδικασία σχεδίασης τους, ξεκινώντας από το επίπεδο συστήµατος. Στόχος είναι να ενσωµατωθούν στο σύστηµα δοµές ελέγχου, οι οποίες θα διευκολύνουν τόσο την παραγωγή όσο και την εφαρµογή των εξαγχθέντων διανυσµάτων δοκιµής στο υπό έλεγχο κύκλωµα (σχεδίαση για αυξηµένη δοκιµαστικότητα DFT). Η εργασία αυτή σχετίζεται µε τους τρόπους εφαρµογής των διανυσµάτων δοκιµής στο κύκλωµα, που θα περιγραφούν σε επόµενη παράγραφο, και µελετά αλγορίθµους που χρησιµοποιούνται σε έναν από αυτούς. Σχεδιάζοντας για αυξηµένη δοκιµαστικότητα απλοποιείται η συνολική διαδικασία ελέγχου, αφού ο έλεγχος των επιµέρους µονάδων είναι σαφώς ευκολότερος από τον έλεγχο ολόκληρου του συστήµατος συνολικά. Η δοκιµαστικότητα ενός κυκλώµατος αποτελεί πλέον µία παράµετρο βελτιστοποίησης κατά τη φάση σχεδίασης ενός κυκλώµατος. Οι σχεδιαστές παραδοσιακά προσπαθούσαν να βελτιστοποιήσουν ένα σχεδιασµό ως προς την ταχύτητα του, την επιφάνεια που αυτός καταλάµβανε και την ενέργεια που κατανάλωνε. Τώρα πια ένας σχεδιασµός θα πρέπει να βελτιστοποιείται και ως προς µία τέταρτη παράµετρο: τη δοκιµαστικότητα του.

10 Κεφάλαιο 1: Εισαγωγή Ελαττώµατα και σφάλµατα Πριν αναφερθούµε σε ελαττώµατα και σφάλµατα, θα κάνουµε µία µικρή αναφορά στους τρόπους µε τους οποίους η ύπαρξη ελαττωµάτων µπορεί να επηρεάσει τη λειτουργία ενός συστήµατος. Η εµφάνιση λοιπόν µίας εσφαλµένης λειτουργίας σε ένα σύστηµα αναφέρεται ως βλάβη (failure) του συστήµατος. Οι βλάβες µπορούν να κατηγοριοποιηθούν ανάλογα µε την διάρκεια τους σε µόνιµες (permanent) και προσωρινές (temporary). Οι µόνιµες βλάβες, για τις οποίες χρησιµοποιείται και ο όρος hard failures, προκαλούνται συνήθως από σπασίµατα λόγω µηχανικής καταπόνησης, από φθορά, ή από προβλήµατα κατά την κατασκευαστική διαδικασία. Οι προσωρινές, οι οποίες ονοµάζονται και soft failures, διακρίνονται σε διαλείπουσες (intermittent) και παροδικές (transient). Οι διαλέιπουσες εµφανίζονται, εξαφανίζονται και επανεµφανίζονται επαναλαµβανόµενα, ενώ οι παροδικές εµφανίζονται µία µόνο φορά, για µικρό χρονικό διάστηµα και εξαφανίζονται, εξαιτίας συνήθως κάποιας προσωρινής αλλαγής ενός περιβαλλοντικού παράγοντα. Μια µόνιµη βλάβη θα µπορούσε να προκύψει από µια γραµµή ενός κυκλώµατος, η οποία, κατά την κατασκευή του κυκλώµατος, συνδέθηκε εσφαλµένα µε µία γραµµή τροφοδοσίας και είναι (µόνιµα) κολληµένη στο λογικό 1. Μία διαλείπουσα βλάβη µπορεί να προκληθεί από µία ελαττωµατική ψυχρή κόλληση σε µία πλακέτα, η οποία άλλες φορές λειτουργεί κανονικά και άλλες όχι, ενώ µία παροδική βλάβη µπορεί να προκληθεί από έναν κεραυνό, ο οποίος διακόπτει στιγµιαία την οµαλή λειτουργία ενός συστήµατος, αλλά η επίδραση του εξαφανίζεται µετά το πέρας του καιρικού φαινοµένου, αφού δεν προξενεί στο σύστηµα κάποια µόνιµη βλάβη. Ο έλεγχος που πραγµατοποιείται συνήθως για τον εντοπισµό µόνιµων βλαβών και µόνο, καλείται έλεγχος εκτός κανονικής λειτουργίας (off-line testing), αφού το υπό έλεγχο κύκλωµα δεν είναι δυνατόν να πραγµατοποιεί την κανονική του λειτουργία την ώρα που ελέγχεται. Σηµειώνουµε ότι αν θέλουµε να είµαστε σίγουροι ότι ένα κύκλωµα λειτουργεί συνεχώς αξιόπιστα, τότε θα πρέπει αυτό να ελέγχεται κατά την διάρκεια της κανονικής του λειτουργίας. Ο έλεγχος αυτός ονοµάζεται έλεγχος κατά την κανονική λειτουργία (on-line testing), έχει την δυνατότητα να ανιχνεύει και προσωρινές βλάβες του συστήµατος, και για την εφαρµογή του χρησιµοποιούνται εντελώς διαφορετικές τεχνικές από αυτές που χρησιµοποιούνται για τον έλεγχο εκτός κανονικής λειτουργίας. Όπως είπαµε και προηγουµένως τα ελαττώµατα ενός κυκλώµατος αναπαρίστανται στο επίπεδο των λογικών πυλών από µοντέλα σφαλµάτων. Αυτό φαίνεται καλύτερα στο Σχήµα 1.2. Στο σχήµα 1.2(α) φαίνεται η επίδραση ενός κόκκου σκόνης που είχε επικαθίσει σε µία µάσκα που χρησιµοποιήθηκε για την κατασκευή ενώσεων µετάλλου σε ένα ψηφιακό κύκλωµα. Ο κόκκος αυτός προκάλεσε τη δηµιουργία επιπλέον µετάλλου το οποίο διασυνδέει δύο γραµµές του κυκλώµατος (κατασκευαστικό ελάττωµα). Είναι προφανές ότι ένα τέτοιο ελάττωµα µπορεί να διασυνδέει και περισσότερες από δύο γραµµές, αλλά στο παράδειγµα µας θεωρούµε ότι επηρεάζει µόνο δύο. Σε επίπεδο δοµής του κυκλώµατος, τα ελαττώµατα αντιστοιχίζονται σε καταστάσεις αποτυχίας (failure modes). Η κατάσταση αποτυχίας για το ελάττωµα του σχήµατος 1.2(α) φαίνεται στο σχήµα 1.2(β) και είναι το βραχυκύκλωµα των γραµµών 1 και 2. Σε επίπεδο λογικών πυλών, µία κατάσταση αποτυχίας µπορεί να «µεταφραστεί» µε διάφορους τρόπους ανάλογα µε την τεχνολογία που χρησιµοποιείται και τη σχέση των δύο γραµµών µετάλλου. Τα σχήµατα 1.2(γ) και 1.2(δ) φαίνονται τέσσερις από τους τρόπους αυτούς. Αν µία από τις δύο γραµµές είναι γραµµή τροφοδοσίας (Vdd) ή γείωσης (Gnd), τότε η έξοδος του αντιστροφέα στο σχήµα 1.2(γ) θα είναι µόνιµα κολληµένο

11 Κεφάλαιο 1: Εισαγωγή 11 στο λογικό 1 ή το λογικό 0. Στην περίπτωση αυτή προκύπτουν σφάλµατα µόνιµης τιµής (stuck-at faults). Αν πάλι καµία από τις δύο γραµµές δεν είναι γραµµή τροφοδοσίας ή γείωσης, τότε προκύπτουν σφάλµατα γεφύρωσης (bridging faults) τα οποία µπορεί να είναι είτε απλά (simple bridging faults), είτε ανάδρασης (feedback bridging faults). ` Σχήµα 1.2 Αντιστοίχηση ελαττωµάτων σε σφάλµατα : (α) η χρήση µίας µάσκας πάνω στην οποία είχε επικαθίσει κόκκος σκόνης προκάλεσε τη σύνδεση των γραµµών 1 και 2 (ελάττωµα), (β) κατάσταση αποτυχίας: βραχυκύκλωµα, (γ) σφάλµατα σε επίπεδο λογικών πυλών : σφάλµα µόνιµης τιµής, (δ) σφάλµα γεφύρωσης. Τα αίτια των κατασκευαστικών ελαττωµάτων βρίσκονται στην ατελή κατασκευαστική διαδικασία των ψηφιακών συστηµάτων. Για παράδειγµα η ύπαρξη ελαττωµάτων τα οποία οφείλονται σε βραχυκυκλώµατα και ασυνέχειες γραµµών είναι κάτι σύνηθες κατά την κατασκευή MOS (Metal Oxide Semiconductor), υψηλής πυκνότητας ολοκλήρωσης (Large Scale Integration LSI) κυκλωµάτων. Αυτό οφείλεται στο γεγονός ότι οι διαστάσεις των στοιχείων που χρησιµοποιούνται για την κατασκευή τέτοιου είδους κυκλωµάτων είναι πάρα πολύ µικρές µε αποτέλεσµα να είναι αναπόφευκτη η εµφάνιση τέτοιου είδους ελαττωµάτων. Ακόµα περισσότερα κατασκευαστικά ελαττώµατα εµφανίζονται καθώς πηγαίνουµε προς τεχνολογίες µεγαλύτερης πυκνότητας ολοκλήρωσης (Very Large Scale Integration VLSI). Ο ακριβής εντοπισµός των κατασκευαστικών ελαττωµάτων είναι απαραίτητος για τη βελτίωση της απόδοσης της κατασκευαστικής διαδικασίας (manufacturing yield). Τα ελαττώµατα που προκύπτουν κατά την διάρκεια της ζωής ενός κυκλώµατος οφείλονται στη φυσική φθορά των υλικών ή/και σε περιβαλλοντικούς παράγοντες, όπως η θερµοκρασία, η υγρασία και οι κραδασµοί.

12 Κεφάλαιο 1: Εισαγωγή 12 Οι καταστάσεις αποτυχίας που αντιστοιχούν στα περισσότερα από τα ελαττώµατα ενός κυκλώµατος είναι αυτές του ανοιχτοκυκλώµατος (open) και του βραχυκυκλώµατος (short). Ανοιχτοκυκλώµατα µπορεί να συµβούν όταν µία γραµµή ή µία via επαφή (σύνδεση µεταξύ γραµµών µετάλλου διαφορετικού επιπέδου) διασπάται λόγω ασυνέχειας υλικού, σχηµατίζοντας έτσι ένα σύνολο από ασύνδετες γραµµές. Τέτοιες ασυνέχειες µπορεί να προκύψουν είτε κατά την κατασκευή του κυκλώµατος, είτε κατά την κανονική του λειτουργία. Αν το ελάττωµα συµβεί σε µία γραµµή διακλάδωσης τότε αρκετές πύλες του κυκλώµατος θα έχουν ασύνδετες εισόδους. Ανοιχτοκυκλώµατα µπορεί επίσης να προκύψουν κατά την κατασκευαστική διαδικασία και από παραπανίσιο υλικό, το οποίο, για παράδειγµα, παρεµβάλλεται µεταξύ µίας via επαφής και του ενός από τα δύο επίπεδα µετάλλου (metal layers) που αυτή συνδέει, µε αποτέλεσµα τελικά να µην υφίσταται σύνδεση. Αντίθετα, βραχυκυκλώµατα συµβαίνουν από την παρουσία παραπανίσιου µετάλλου, το οποίο µπορεί να συνδέσει δύο γραµµές στο ίδιο ή σε διαφορετικό επίπεδο µετάλλου (Σχήµα 1.3). Σχήµα 1.3 Βραχυκύκλωµα δύο γραµµών. Τα µοντέλα σφαλµάτων τα οποία χρησιµοποιούνται συνήθως κατά τον έλεγχο ενός κυκλώµατος φαίνονται στον Πίνακα 1.2. Μοντέλο Σφαλµάτων Απλά σφάλµατα µόνιµης τιµής (Single stuck-at faults) Πολλαπλά σφάλµατα µόνιµης τιµής (Multiple stuck-at faults) Σφάλµατα γεφύρωσης (Bridging faults) Σφάλµατα καθυστέρησης (Delay faults) Περιγραφή Μία µόνο γραµµή του κυκλώµατος βρίσκεται µόνιµα κολληµένη στο λογικό 0 ή στο λογικό 1 ύο ή περισσότερες γραµµές του κυκλώµατος έχουν µόνιµες τιµές ύο ή περισσότερες ανεξάρτητες µεταξύ τους γραµµές είναι µόνιµα συνδεδεµένες Σφάλµατα που προκαλούνται από καθυστερήσεις σε ένα ή περισσότερα µονοπάτια του κυκλώµατος Πίνακας 1.2 Τα πιο ευρέως χρησιµοποιούµενα µοντέλα σφαλµάτων.

13 Κεφάλαιο 1: Εισαγωγή Κάλυψη σφαλµάτων Η αποτελεσµατικότητα ενός συνόλου δοκιµής µετριέται συνήθως µέσω της κάλυψης σφαλµάτων (fault coverage). Η κάλυψη σφαλµάτων ορίζεται ως το ποσοστό των σφαλµάτων ενός κυκλώµατος που ανιχνεύθηκαν από το συγκεκριµένο σύνολο δοκιµής. Ο όρος πλήρης κάλυψη σφαλµάτων αναφέρεται όταν η κάλυψη σφαλµάτων ενός συνόλου δοκιµής είναι ίση µε 100%. Αν και το ποσοστό αυτό κάλυψης σφαλµάτων είναι επιθυµητό, σπανίως επιτυγχάνεται σε πραγµατικά κυκλώµατα. Ένα σύνολο δοκιµής ελέγχει ένα κύκλωµα για ελαττώµατα που µπορούν να αναπαρασταθούν από το µοντέλο σφαλµάτων που χρησιµοποιείται. Έτσι για παράδειγµα, όταν για κάποιο κύκλωµα επιτυγχάνεται 100% κάλυψη απλών σφαλµάτων µόνιµης τιµής, αυτό σηµαίνει ότι το κύκλωµα δεν έχει ελαττώµατα που αναπαρίστανται από το συγκεκριµένο µοντέλο, αλλά δεν υπάρχει καµία εγγύηση για άλλου είδους ελαττώµατα. Η κάλυψη σφαλµάτων υπολογίζεται µε τη βοήθεια εξοµοιωτών σφαλµάτων( fault simulators). Ένας εξοµοιωτής σφαλµάτων είναι ένας εξοµοιωτής επιπέδου λογικών πυλών, ο οποίος εξοµοιώνει τα διανύσµατα εισόδου (τα διανύσµατα δοκιµής του κυκλώµατος δηλαδή) παρουσία σφαλµάτων στις γραµµές του κυκλώµατος. Στη συνέχεια, η απόκριση του κυκλώµατος συγκρίνεται µε αυτή του ίδιου κυκλώµατος χωρίς το σφάλµα, το οποίο θεωρείται ότι έχει πλέον ανιχνευθεί, όταν οι δύο αυτές αποκρίσεις διαφέρουν σε τουλάχιστον ένα δυαδικό ψηφίο Μέθοδοι παραγωγής διανυσµάτων δοκιµής Στην παράγραφο αυτή κατηγοριοποιούµε τις τεχνικές ελέγχου ανάλογα µε τις διάφορες µεθοδολογίες παραγωγής διανυσµάτων δοκιµής που µπορούν να χρησιµοποιηθούν. Περισσότερη έµφαση δίνεται στις τεχνικές εκείνες που εφαρµόζονται στα σύγχρονα ψηφιακά κυκλώµατα Εξαντλητικοί έλεγχοι Αφού ένα διάνυσµα ελέγχου είναι ένας συνδυασµός δυαδικών τιµών που εφαρµόζεται στις κύριες εισόδους του υπό έλεγχο κυκλώµατος, είναι δυνατόν να επιλεγούν όλα τα διανύσµατα εισόδου (εξαντλητικό σύνολο δοκιµής exhaustive test set) και να εφαρµοστούν στο κύκλωµα. Αυτή η εξαντλητική προσέγγιση ελέγχου έχει το πλεονέκτηµα ότι µπορεί µε πολύ εύκολο τρόπο να οδηγήσει σε πλήρη κάλυψη των σφαλµάτων ενός κυκλώµατος. Ωστόσο, τέτοιου είδους έλεγχοι είναι εφαρµόσιµοι µόνο για συνδυαστικά κυκλώµατα και µάλιστα µόνο όταν αυτά έχουν µικρό αριθµό εισόδων, αφού το πλήθος όλων των δυνατών διανυσµάτων εισόδου ισούται µε 2 n. Για παράδειγµα, η εφαρµογή ενός εξαντλητικού ελέγχου σε ένα συνδυαστικό κύκλωµα 20 εισόδων θα απαιτούσε ένα ολόκληρο δευτερόλεπτο σε µία ΑΤΕ

14 Κεφάλαιο 1: Εισαγωγή 14 συσκευή µε ρολόι συχνότητας 1MHz.[4]. Ο λόγος για τον οποίο οι εξαντλητικοί έλεγχοι δεν είναι κατάλληλοι για ακολουθιακά κυκλώµατα, είναι ότι σε αυτά, η εσωτερική κατάσταση δεν είναι ούτε ελέγξιµη ούτε παρατηρήσιµη Ψευδοεξαντλητικοί έλεγχοι Μία προσέγγιση εναλλακτική αυτής του εξαντλητικού ελέγχου, παρουσιάστηκε το 1981 και σύµφωνα µε αυτή, τµήµατα ενός κυκλώµατος ελέγχονται εξαντλητικά, χωρίς όµως να χρειάζεται να εφαρµοστεί εξαντλητικός έλεγχος σε όλο το κύκλωµα [5]. Έτσι, για παράδειγµά, ένα κύκλωµα 8 εισόδων που απαιτεί 2 8 =256 διανύσµατα δοκιµής για να ελεγχθεί εξαντλητικά, αν διαιρεθεί σε τρία τµήµατα που το καθένα οδηγείται από 2, 3 και 3 (διαφορετικές) κύριες εισόδους του κυκλώµατος αντίστοιχα, τότε συνολικά θα απαιτούνται = = 20 διανύσµατα δοκιµής για να ελεγχθεί ψευδοεξαντλητικά. Όπως είναι προφανές ο ψευδοεξαντλητικός έλεγχος (pseudoexhaustive testing) απαιτεί αποδοτικές τεχνικές διαίρεσης του κυκλώµατος σε επιµέρους τµήµατα. Μία άλλη παραλλαγή του εξαντλητικού ελέγχου είναι ο έλεγχος εξακρίβωσης (verification testing) [5]. Η τεχνική αυτή είναι εφαρµόσιµη σε κυκλώµατα στα οποία κάθε κύρια έξοδος τους είναι συνάρτηση ενός µόνο υποσυνόλου των κυρίων εισόδων του κυκλώµατος. Έτσι τα τµήµατα στα οποία διαιρείται ένα τέτοιο κύκλωµα περιλαµβάνουν µόνο τις εισόδους εκείνες που ελέγχουν το υποσύνολο των εξόδων του κάθε τµήµατος, µε αποτέλεσµα και πάλι να επιτυγχάνεται µείωση του τελικού συνόλου δοκιµής σε σχέση µε το πλήθος των διανυσµάτων ενός εξαντλητικού συνόλου Ψευδοτυχαίοι έλεγχοι Μία ακολουθία δυαδικών ψηφίων ονοµάζεται ψευδοτυχαία αν το κάθε ψηφίο αυτής εµφανίζεται να έχει τοπικά τυχαία τιµή (αν δηλαδή έχει την ίδια πιθανότητα να είναι 0 ή 1 ανεξάρτητα από την τιµή του προηγούµενου ψηφίου), αλλά ολόκληρη η εν λόγω ακολουθία µπορεί να επαναληφθεί επακριβώς (και άρα ο τρόπος παραγωγής της είναι ντετερµινιστικός, εξ ου και ο όρος ψευδοτυχαία) [6], [7]. Τα διανύσµατα ελέγχου ενός κυκλώµατος είναι δυνατό να παραχθούν µε την βοήθεια µίας γεννήτριας ψευδοτυχαίων διανυσµάτων (pseudorandom pattern generator). Σε αυτή την περίπτωση το κόστος παραγωγής του συνόλου δοκιµής είναι πολύ µικρό. Ένας εξοµοιωτής σφαλµάτων είναι απαραίτητος έτσι ώστε να εκτιµηθεί η ποιότητα του παραγόµενου συνόλου, µέσω της κάλυψης σφαλµάτων που αυτό επιτυγχάνει. Το πλεονέκτηµα των ψευδοτυχαίων ελέγχων είναι ότι, όπως έχει δειχθεί, µπορούν να ανιχνεύσουν ένα µεγάλο ποσοστό των απλών σφαλµάτων µόνιµης τιµής ενός κυκλώµατος (κατά µέσο όρο περίπου το 85%). Για το λόγο αυτό, αρκετά εµπορικά ATPG εργαλεία χρησιµοποιούν ψευδοτυχαία διανύσµατα σαν πρώτο βήµα της διαδικασίας εξαγωγής του συνόλου δοκιµής ενός κυκλώµατος, και εν συνεχεία χρησιµοποιούν ευρηστικούς αλγορίθµους για να αντιµετωπίσουν τα εναποµείναντα σφάλµατα. Τα σφάλµατα αυτά, εξ αιτίας της ιδιότητας τους ότι δεν είναι εύκολο να

15 Κεφάλαιο 1: Εισαγωγή 15 ανιχνευθούν από ψευδοτυχαία διανύσµατα, ονοµάζονται ανθεκτικά σε ψευδοτυχαία διανύσµατα (random-pattern-resistant faults) ή δύσκολα ανιχνεύσιµα (hard-to-detect faults) ή απλούστερα δύσκολα σφάλµατα (hard faults). Στην περίπτωση του καθαρά τυχαίου ελέγχου, ένα διάνυσµα δοκιµής είναι δυνατόν να εφαρµοστεί στο υπό έλεγχο κύκλωµα περισσότερες από µία φορές. Εντούτοις, ο ψευδοτυχαίος έλεγχος εγγυάται ότι κάτι τέτοιο δεν πρόκειται να συµβεί. Ψευδοτύχαια διανύσµατα δοκιµής µπορεί να παραχθούν µε την βοήθεια λογισµικού που εξοµοιώνει τη λειτουργία µίας γεννήτριας ψευδοτυχαίων διανυσµάτων, ή µε τη χρήση ολισθητών γραµµικής ανάδρασης (Linear Feedback Shift Registers LFSRs), οι οποίοι ενσωµατώνονται στο ίδιο κοµµάτι πυριτίου µε το υπό έλεγχο κύκλωµα (παραγωγή διανυσµάτων δοκιµής on-chip) Ντετερµινιστικοί έλεγχοι Οι ντετερµινιστικοί έλεγχοι είναι έλεγχοι προσανατολισµένοι σε συγκεκριµένα σφάλµατα. Με άλλα λόγια, τα διανύσµατα δοκιµής που χρησιµοποιούνται σε αυτούς έχουν εξαχθεί στοχεύοντας την ανίχνευση συγκεκριµένων σφαλµάτων συγκεκριµένων µοντέλων. Η διαδικασία εξαγωγής ντετερµινιστικών διανυσµάτων δοκιµής αποτελεί ένα NP-complete πρόβληµα και απαιτεί τη χρήση ευρηστικών κριτηρίων για να πραγµατοποιηθεί σε αποδεκτό χρονικό διάστηµα. Ντετερµινιστικά διανύσµατα είναι δυνατόν να παραχθούν on-chip και από το TGP κυκλώµατα όπως οι LFSR, αλλά κάτι τέτοιο προϋποθέτει να έχει προηγηθεί η εξαγωγή τους µε τη βοήθεια ATGP εργαλείων και η κατάλληλη κωδικοποίησή τους, έτσι ώστε η κωδικοποιηµένη πληροφορία, τροφοδοτούµενη στις ενσωµατωµένες δοµές ελέγχου να τις «οδηγεί» στην παραγωγή των ζητούµενων ντετερµινιστικών διανυσµάτων Σχεδίαση για αυξηµένη δοκιµαστικότητα Η πολυπλοκότητα του προβλήµατος της εφαρµογής του ελέγχου οδήγησε στην ανάπτυξη τεχνικών σχεδίασης, οι οποίες διευκολύνουν τον έλεγχο του υπό σχεδίαση κυκλώµατος. Έτσι προέκυψε µία νέα πρακτική σχεδίασης κυκλωµάτων που ονοµάζεται σχεδίαση για αυξηµένη δοκιµαστικότητα (Design For Testing - DFT) και η οποία έκανε επίσηµα την εµφάνιση της περί τα µέσα της δεκαετίας του 70. Ο σωστός σχεδιασµός βοηθάει επίσης στον εντοπισµό των σφαλµάτων. Σε επίπεδο συστήµατος αυτό προσφέρει τη δυνατότητα γρήγορου εντοπισµού της µονάδας µε το ελάττωµα και την αντικατάσταση της. Σε επίπεδο ολοκληρωµένου κυκλώµατος βοηθάει στο να βρούµε την αιτία του σφάλµατος ώστε να βελτιώσουµε τη διαδικασία κατασκευής. Ο ενσωµατωµένος έλεγχος και το BIST, πέραν από τρόποι εφαρµογής του ελέγχου, αποτελούν και τεχνικές σχεδίασης για αυξηµένη δοκιµαστικότητα. Αυτό µπορεί να γίνει εύκολα κατανοητό από το γεγονός ότι συνεπάγονται την ενσωµάτωση δοµών ελέγχου στο σχεδιαζόµενο κύκλωµα. Φυσικά αποφάσεις που σχετίζονται µε το τι είδους δοµές ελέγχου θα χρησιµοποιηθούν, ποια τµήµατα του κυκλώµατος θα ελεγχθούν, µε ποιο τρόπο θα συµπιεστούν και θα ελεγχθούν οι αποκρίσεις, πρέπει να ληφθούν κατά τη φάση σχεδίασης

16 Κεφάλαιο 1: Εισαγωγή 16 του κυκλώµατος. Επίσης, αφού οι δοµές αυτές σχεδιαστούν, εντάσσονται στο κύκλωµα και πλέον αντιµετωπίζονται µαζί µε αυτό ως µία ενιαία οντότητα. Κατά τη σχεδίαση του ολοκληρωµένου κυκλώµατος θα πρέπει να έχουµε υπόψιν µας τις ακόλουθες ερωτήσεις. Μπορούµε να εξάγουµε διανύσµατα δοκιµής για την ανίχνευση όλων των σφαλµάτων που µας ενδιαφέρουν; Ο χρόνος εξαγωγής του συνόλου δοκιµής είναι αρκετά µικρός ώστε να µην έχουµε προβλήµατα κόστους; Ο χρόνος ελέγχου της ορθής λειτουργίας του ολοκληρωµένου κυκλώµατος µετά την κατασκευή του θα είναι µικρός ώστε να µην έχουµε οικονοµικά προβλήµατα; Η σχεδίαση θα πρέπει να γίνει κατά τέτοιο τρόπο ώστε να µπορούµε να απαντήσουµε θετικά στα παραπάνω ερωτήµατα. Ο Σχεδιασµός για οκιµαστικότητα (Design For Testability DFT) αναφέρεται σε εκείνες τις σχεδιαστικές τεχνικές οι οποίες καθιστούν την εξαγωγή των διανυσµάτων δοκιµής και τον έλεγχο της ορθής λειτουργίας του κυκλώµατος µετά την κατασκευή του (test application) αποτελεσµατική και αποδοτική. Οι µέθοδοι σχεδίασης ψηφιακών κυκλωµάτων για δοκιµαστικότητα µπορούν να ταξινοµηθούν σε τρεις µεγάλες κατηγορίες. Στην πρώτη κατηγορία ανήκουν οι γενικές οδηγίες. Στη δεύτερη κατηγορία ανήκουν µέθοδοι που εφαρµόζονται κατά περίπτωση. Αυτό συνεπάγεται ότι σε διαφορετικά κυκλώµατα πρέπει να εφαρµοστούν µε διαφορετικό τρόπο και µε απρόβλεπτα αποτελέσµατα. Επίσης είναι δύσκολο να προβλέψουµε πόσος χρόνος θα απαιτηθεί για την υλοποίηση αυτών των τεχνικών. Στην τρίτη κατηγορία ανήκουν µέθοδοι που µπορούν να εφαρµοστούν σε κάθε περίπτωση µε ένα συστηµατικό τρόπο και επιτυγχάνουν εγγυηµένα αποτελέσµατα. Επειδή αυτές οι µέθοδοι είναι συστηµατικές, έχουν αναπτυχθεί εργαλεία λογισµικού τα οποία απλοποιούν την υλοποίησή τους. Το κόστος ελέγχου του ολοκληρωµένου κυκλώµατος είναι αυτό που αποτρέπει τους κατασκευαστές ολοκληρωµένων από το να εφαρµόζουν στα κυκλώµατα που κατασκευάζουν, το απαραίτητο πλήθος ελέγχων ώστε να είναι απόλυτα σίγουροι ότι αυτά λειτουργούν αξιόπιστα. ύο βασικές µετρικές που προσδιορίζουν τη δοκιµαστικότητα είναι η ελεγξιµότητα (controllability) και η παρατηρησιµότητα (observability).

17 Κεφάλαιο 1: Εισαγωγή Ελεγξιµότητα Η ελεγξιµότητα υποδηλώνει το πόσο εύκολο ή δύσκολο είναι να θέσουµε έναν κόµβο ενός κυκλώµατος σε µια προκαθορισµένη λογική τιµή. Όταν ο ζητούµενος κόµβος είναι µία από τις κύριες εισόδους µπορούµε να τον θέσουµε σε οποιαδήποτε επιθυµητή τιµή. Η δυσκολία αυξάνει όσο πιο βαθιά στο κύκλωµα βρίσκεται ο κόµβος, του οποίου την τιµή θέλουµε να ελέγξουµε. Άλλοι παράγοντες που πρέπει να ληφθούν υπόψη κατά τον υπολογισµό της τιµής της ελεγξιµότητας ενός κόµβου, είναι ο τύπος της πύλης που τον οδηγεί, η λογική τιµή στη οποία πρέπει αυτός να τεθεί και το αν το κύκλωµα είναι συνδυαστικό ή ακολουθιακό. Για παράδειγµα, είναι ευκολότερο να θέσουµε την έξοδο µίας πύλης AND στο λογικό 0 από ότι στο λογικό 1, αφού, στην πρώτη περίπτωση, αρκεί µια µόνο από τις εισόδους της πύλης να τεθεί στο λογικό 0, ενώ στην δεύτερη οι τιµές όλων των εισόδων αυτής πρέπει να ισούνται µε το λογικό 1. Το αντίθετο ακριβώς συµβαίνει µε µία πύλη OR. Η ελεγξιµότητα των κόµβων ενός κυκλώµατος συνδέεται µε την δυνατότητα ενεργοποίησης των σφαλµάτων. Όσο µεγαλύτερη είναι, τόσο πιο εύκολα µπορούν να ενεργοποιηθούν τα διάφορα σφάλµατα σε ένα κύκλωµα Παρατηρησιµότητα Η παρατηρησιµότητα ενός κόµβου ενός κυκλώµατος υποδηλώνει το πόσο εύκολο ή δύσκολο είναι να διαδοθεί η τιµή του κόµβου αυτού (ώστε να γίνει παρατηρήσιµη) σε κάποια από τις κύριες εξόδους του κυκλώµατος. Σε αντιστοιχία µε τα όσο αναφέρθηκαν για την ελεγξιµότητα, δεν υφίστανται καµία δυσκολία στο να παρατηρηθεί κάποια από τις τιµές µίας εκ των κυρίων εξόδων του κυκλώµατος. Οι παράγοντες που επηρεάζουν την παρατηρησιµότητα ενός κόµβου κ, σχετίζονται µε την ελεγξιµότητα των κόµβων των µονοπατιών, µέσα από τα οποία µπορεί να διαδοθεί η τιµή του κ στις κύριες εξόδους. Όσο µεγαλύτερη είναι η ελεγξιµότητα των κόµβων των µονοπατιών αυτών, τόσο µεγαλύτερη παρατηρησιµότητα έχει ο κόµβος κ. Είναι προφανές ότι η παρατηρησιµότητα των κόµβων ενός κυκλώµατος συνδέεται µε την δυνατότητα διάδοσης των συνεπειών των διαφόρων σφαλµάτων στις κύριες εξόδους του κυκλώµατος.

18 Κεφάλαιο 1: Εισαγωγή Τρόποι εφαρµογής του ελέγχου στο υπό δοκιµή κύκλωµα Όπως αναφέρθηκε και στην αρχή του κεφαλαίου, η χρησιµότητα του ελέγχου ορθής λειτουργίας έγκειται στην ικανότητα του να ανιχνεύει σφάλµατα, όταν εφαρµόζεται σε ολοκληρωµένα κυκλώµατα µετά την κατασκευή τους. Επιπλέον, ο έλεγχος µπορεί να χρησιµεύσει και στον εντοπισµό του αίτιου της εσφαλµένης συµπεριφοράς ενός κυκλώµατος (δηλαδή του ελαττώµατος στο οποίο οφείλεται ένα σφάλµα) κατά την διάρκεια της διαδικασίας διάγνωσης σφαλµάτων (fault diagnosis), η οποία µπορεί να ακολουθήσει αυτή του ελέγχου. Επίσης, ο έλεγχος µπορεί να χρησιµοποιηθεί έτσι ώστε να διαπιστωθεί αν ένα κύκλωµα συνεχίζει να λειτουργεί αξιόπιστα όταν πλέον βρίσκεται στο περιβάλλον της κανονικής του λειτουργίας. Στις επόµενες παραγράφους αναλύονται οι βασικοί τρόποι εφαρµογής του ελέγχου σε ένα κύκλωµα µετά την κατασκευή του (fabrication test). Ανάλογα µε το βαθµό χρήσης εξωτερικών ΑΤΕ συσκευών, οι τρόποι αυτοί διακρίνονται σε εξωτερικούς (off-chip εξ ολοκλήρου χρήση ΑΤΕ), BIST (Built-In Self-Test µηδενική χρήση του ATE) και ενσωµατωµένους (embedded συνδυασµός χρήσης ΑΤΕ µε ενσωµατωµένες δοµές ελέγχου). Σηµειώνουµε ότι αναφερόµαστε σε ελέγχους που στοχεύουν απλά να διαπιστώσουν αν το υπό δοκιµή κύκλωµα είναι ελαττωµατικό ή όχι (δεν ενδιαφερόµαστε δηλαδή για διάγνωση σφαλµάτων) [19] Εξωτερικοί έλεγχοι µε χρήση ΑΤΕ συσκευών Στην περίπτωση του πλήρως εξωτερικού ελέγχου, µία ΑΤΕ συσκευή αναλαµβάνει να εφαρµόσει τα διανύσµατα ελέγχου στο υπό δοκιµή κύκλωµα. Μία τέτοια συσκευή αποτελείται από κεφαλές (heads), υλικό και λογισµικό. Σε καθεµία από τις κεφαλές τοποθετείται ένα από τα υπό δοκιµή κυκλώµατα, ώστε να του εφαρµοστεί ο έλεγχος. Κάθε ακροδέκτης του κυκλώµατος υποστηρίζεται από µια ηλεκτρονική λογική (pin electronics) που βρίσκεται στην κεφαλή.η συσκευή εξωτερικού ελέγχου έχει αρκετή µνήµη ώστε να επαρκεί για την αποθήκευση των διανυσµάτων δοκιµής και των σωστών αποκρίσεων, οι οποίες θα συγκριθούν µε τις αποκρίσεις του υπό έλεγχο κυκλώµατος. Ανάλογα µε το είδος των λειτουργικών µονάδων (core) που ελέγχονται σε ένα σύστηµα, µπορούµε να διακρίνουµε τους εξωτερικούς ελεγκτές σε ελεγκτές ψηφιακής λογικής, ελεγκτές µνηµών και αναλογικούς ελεγκτές. Για οποιοδήποτε ψηφιακό κύκλωµα, εκτός από κυκλώµατα µνήµης, ο έλεγχος πραγµατοποιείται εξετάζοντας µία λειτουργική µονάδα κάθε φορά, ενώ οι µνήµες ελέγχονται µε διαφορετικό τρόπο. Όσο για τους αναλογικούς ελεγκτές, αυτοί είναι πιο πολύπλοκοι, αφού η λογική που υποστηρίζει κάθε pin του κυκλώµατος δεν είναι κοινή για όλα τα pin (όπως συµβαίνει στους ψηφιακούς ελεγκτές), εξ αιτίας της µεγάλης απόκλισης στις µορφές και στις τιµές των σηµάτων, στις εξόδους ενός αναλογικού κυκλώµατος. Ο έλεγχος ενός κυκλώµατος µε τη βοήθεια εξωτερικών ελεγκτών φαίνεται στο Σχήµα 1.4.

19 Κεφάλαιο 1: Εισαγωγή 19 Σχήµα 1.4 Εφαρµογή του ελέγχου µε τη βοήθεια εξωτερικών ελεγκτών. Όπως φαίνεται το υπό δοκιµή κύκλωµα πρέπει να τοποθετηθεί σε τόσους ελεγκτές, όσοι και οι τύποι λογικής που περιλαµβάνει και προφανώς το κόστος της εφαρµογής του ελέγχου αυτού είναι υψηλό. Ένας τρόπος για να µειωθεί το κόστος αυτό είναι η χρήση τεχνικών ενσωµατωµένου ελέγχου (BIST) Ενσωµατωµένος αυτοέλεγχος (BIST) Οι τεχνικές BIST προσπαθούν να συνδυάσουν στην ίδια επιφάνεια πυριτίου τόσο το υπό έλεγχο κύκλωµα όσο και το κύκλωµα ελέγχου, δίνοντας έτσι τη δυνατότητα στο συνολικό κύκλωµα να «αυτοελέγχεται». Εκτός από τους (πολύ σηµαντικούς) λόγους που σχετίζονται µε το κόστος των ΑΤΕ συσκευών που προαναφέρθηκαν, υπάρχουν ακόµα πολλοί λόγοι, όπως η ευκολότερη επίλυση του προβλήµατος της πολυπλοκότητας του ελέγχου, που είναι αποτέλεσµα της πυκνότητας και της πολυπλοκότητας των σύγχρονων ψηφιακών συστηµάτων οι οποίοι καθιστούν το BIST µια ελκυστική λύση στο πρόβληµα του ελέγχου ψηφιακών κυκλωµάτων [8]. Παρακάτω, Σχήµα 1.5, παρουσιάζεται η εφαρµογή ελέγχου µε χρήση BIST δοµών. Όπως βλέπουµε, οι απαιτήσεις από τον εξωτερικό ελεγκτή είναι οι ελάχιστες δυνατές, αφού το µόνο που πρέπει να γίνει από τη µεριά του, είναι να ενεργοποιηθεί ο αυτοέλεγχος στην αρχή και µετά το πέρας αυτού, να ελεγχθεί το αποτέλεσµά του (αν δηλαδή είναι επιτυχής ή µη). Όλα αυτά µπορούν στην ουσία να πραγµατοποιηθούν µέσω µίας και µοναδικής γραµµής ελέγχου, όπως φαίνεται στο σχήµα, η οποία µάλιστα µπορεί να είναι πολυπλεγµένη (multiplexed) µε µία άλλη γραµµή εισόδου/εξόδου του κυκλώµατος. Πρακτικά απαιτείται και µια ακόµα γραµµή που ελέγχει το αν το ολοκληρωµένο είναι σε κατάσταση ελέγχου ή κανονικής λειτουργίας και η οποία δεν φαίνεται στο σχήµα.

20 Κεφάλαιο 1: Εισαγωγή 20 Σχήµα 1.5 Εφαρµογή του ελέγχου µε χρήση BIST δοµών Ενσωµατωµένος έλεγχος (embedded test) µε χρήση ΑΤΕ συσκευών Παρόλα τα θετικά χαρακτηριστικά, το BIST έχει ένα κύριο µειονέκτηµα. Κύριο µειονέκτηµα του ελέγχου αυτού, όσο αφορά τα άλλα κυκλώµατα, εκτός των µνηµών, είναι ότι βασίζεται σε ψευδοτυχαία διανύσµατα και εποµένως η ακολουθία δοκιµής έχει πολύ µεγάλο µήκος. Επίσης πρόβληµα είναι η ανίχνευση των σφαλµάτων που δεν ανιχνεύονται εύκολα µε ψευδοτυχαία διανύσµατα. Για να µπορέσουν οι τεχνικές BIST να έρθουν στο προσκήνιο όσο αφορά τον έλεγχο της ψηφιακής λογικής (στις µνήµες έχουν πλέον εδραιωθεί), η βιοµηχανία στράφηκε τα τελευταία χρόνια σε µια ενδιάµεση λύση, αυτή του ενσωµατωµένου ελέγχου (embedded test), [9]. Σύµφωνα µε αυτή, ο εξωτερικός ελεγκτής χρησιµοποιείται για να τροφοδοτεί µε συµπιεσµένα δεδοµένα ένα κύκλωµα αποσυµπίεσης (decompressor), το οποίο είναι ενσωµατωµένο στο υπό έλεγχο κύκλωµα. Τα αποσυµπιεσµένα δεδοµένα είναι τα διανύσµατα δοκιµής, τα οποία τελικά τροφοδοτούνται στο κύκλωµα. Η λύση του ενσωµατωµένου ελέγχου προσπαθεί να συνδυάσει τα οφέλη των προταθέντων BIST τεχνικών, µε την εδραιωµένη µεθοδολογία ελέγχου µε χρήση εξωτερικού ελεγκτή. Οι τεχνικές ενσωµατωµένου ελέγχου δεν απαιτούν ριζική αλλαγή των µέχρι στιγµής χρησιµοποιούµενων τεχνικών, αφού, παρά το γεγονός ότι ο ρόλος του εξωτερικού ελεγκτή περιορίζεται σηµαντικά, οι λειτουργίες του παραµένουν συµβατές µε αυτές που πραγµατοποιούνταν και κατά την εφαρµογή εξωτερικού ελέγχου. Τέτοιες λύσεις στο πρόβληµα της εφαρµογής του ελέγχου, θα υπάρχουν όσο ο συνδυασµός εξωτερικού ελεγκτή και εσωτερικού κυκλώµατος αποσυµπίεσης είναι πιο συµφέρων από «περισσότερο ενσωµατωµένες» λύσεις. Ο τρόπος εφαρµογής του ελέγχου σε ένα ολοκληρωµένο µε τη βοήθεια τεχνικών ενσωµατωµένου ελέγχου φαίνεται στο Σχήµα 1.6.

21 Κεφάλαιο 1: Εισαγωγή 21 Σχήµα 1.6 Εφαρµογή του ελέγχου µε χρήση δοµών ενσωµατωµένου ελέγχου.

22 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling Τεχνικές συµπίεσης Όπως ήδη γνωρίζουµε, από το πρώτο κεφάλαιο, ένα ψηφιακό κύκλωµα αφού κατασκευαστεί πρέπει να ελεγχθεί για την ορθή λειτουργία του, εφαρµόζοντας σε αυτό ένα σύνολο ελέγχου (test set) και συγκρίνοντας τις αποκρίσεις του µε εκείνες ενός µη ελαττωµατικού κυκλώµατος. Η πολυπλοκότητα όµως, των σύγχρονων κυκλωµάτων κάνει πιο δύσκολο τον έλεγχο και για τον λόγο αυτό, οι σχεδιαστές δίνουν ιδιαίτερη προσοχή, κατά την σχεδίαση των κυκλωµάτων, µε σκοπό να κάνουν την διαδικασία ελέγχου ευκολότερη (σχεδίαση για αυξηµένη δοκιµαστικότητα Design For Testability).Να θυµίσουµε εδώ, ότι οι βασικοί τρόποι εφαρµογής του ελέγχου σε ένα κύκλωµα, ανάλογα µε το βαθµό χρήσης των εξωτερικών ΑΤΕ συσκευών, διακρίνονται σε εξωτερικούς, (εξ ολοκλήρου χρήση ΑΤΕ), BIST (µηδενική χρήση ΑΤΕ) και σε ενσωµατωµένους (συνδυασµός χρήσης ΑΤΕ και ενσωµατωµένων δοµών ελέγχου). Το σύνολο ελέγχου αποτελείται από διανύσµατα (vectors) που βρίσκονται αποθηκευµένα στο ΑΤΕ όπως επίσης και οι σωστές (fault-free) απαντήσεις. Το ΑΤΕ έχει περιορισµένη ταχύτητα, µνήµη και κανάλια εισόδου/ εξόδου. Το εύρος των δεδοµένων που µεταφέρονται από το ΑΤΕ στο υπό έλεγχο ολοκληρωµένο είναι σχετικά µικρό. Είναι εµφανές ότι νέες παράµετροι πρέπει πλέον να µας απασχολήσουν, όπως το πλήθος των διανυσµάτων που είναι αποθηκευµένα, ο χρόνος ελέγχου (test time) και η επιβάρυνση του κυκλώµατος υλικό. Τα διανύσµατα ελέγχου που βρίσκονται αποθηκευµένα στη µνήµη του ΑΤΕ, είναι συµπιεσµένα, για εξοικονόµηση χώρου. Ο χρόνος ελέγχου εξαρτάται από το µέγεθος του συνόλου ελέγχου και από το πόσο γρήγορα µπορεί αυτό να µεταφερθεί από το ΑΤΕ στο υπό δοκιµή κύκλωµα.. Η συµπίεση του συνόλου δεδοµένων µπορεί να οδηγήσει σε 10 ή ακόµα και σε 100 φορές µείωση του µεγέθους του συνόλου δεδοµένων που αποθηκεύονται στο ΑΤΕ. Συνέπεια αυτού είναι να µειώνονται σηµαντικά οι απαιτήσεις µνήµης του ΑΤΕ αλλά ακόµα πιο σηµαντικό είναι ότι µειώνεται ο χρόνος ελέγχου (test time) εξ αιτίας των λιγότερων δεδοµένων που µεταφέρονται από το ΑΤΕ στο υπό έλεγχο ολοκληρωµένο. Για την συµπίεση του συνόλου δοκιµής περιγράφουµε δύο διαφορετικές κατηγορίες σχηµάτων 1. χρησιµοποιώντας αλγορίθµους συµπίεσης 2. εφαρµόζοντας κοινή εκποµπή για την ίδια τιµή σε πολλές αλυσίδες (scan chain) 2.1. Εισαγωγή Το ΑΤΕ έχει περιορισµένη ταχύτητα, µνήµη και κανάλια εισόδου/ εξόδου. Το εύρος των δεδοµένων που µεταφέρονται από το ΑΤΕ στο υπό έλεγχο ολοκληρωµένο είναι σχετικά µικρό και αυτό λειτουργεί ως σηµείο συµφόρησης (bottleneck), Σχήµα2.1, σε σχέση µε το πόσο γρήγορα µπορεί ένα ολοκληρωµένο να ελεγχθεί.

23 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 23 Σχήµα 2.1 Το υπό έλεγχο ολοκληρωµένο δεν µπορεί να ελεγχθεί πιο γρήγορα από το χρόνο που απαιτείται για να µεταφερθούν τα δεδοµένα από το ΑΤΕ στο ολοκληρωµένο. Ο Χρόνος που απαιτείται να µεταφερθούν τα δεδοµένα από το ΑΤΕ στο ολοκληρωµένο ισούται µε: Ποσότητα δεδοµένων στον ελεγκτή (Αριθµός καναλιών του Ελεγκτή) (Ρυθµός ρολογιού του Ελεγκτή) Η ιδέα της συµπίεσης δεδοµένων αναφέρεται στην συµπίεση του όγκου των δεδοµένων (περιλαµβάνοντας τη συµπίεση των δεδοµένων ελέγχου αλλά και τη συµπίεση της απόκρισης) που αποθηκεύονται στον ελεγκτή. Αυτό έχει δυο πλεονεκτήµατα. Το πρώτο είναι ότι µε τη συµπίεση µειώνεται το µέγεθος της µνήµης που απαιτείται στον ελεγκτή. Το δεύτερο και σηµαντικότερο πλεονέκτηµα είναι ότι έτσι µειώνεται ο χρόνος ελέγχου (test time) γιατί λιγότερα δεδοµένα έλεγχου πρέπει να µεταφερθούν µεταξύ του ελεγκτή και του ολοκληρωµένου µέσω του µικρού διαθέσιµου εύρους [19]. Η συµπίεση του συνόλου δεδοµένων επιτυγχάνεται µε την προσθήκη, πριν από τις αλυσίδες scan chain), ενός κυκλώµατος αποσυµπίεσης πάνω στο ολοκληρωµένο το οποίο χρησιµοποιείται για να αποσυµπιεστούν τα δεδοµένα προτού περάσουν µέσα στις αλυσίδες( scan chain). Επίσης χρησιµοποιούµε ένα ακόµα κύκλωµα µετά τις αλυσίδες για την συµπίεση της απόκρισης που επιστρέφει στο ΑΤΕ. Σχήµα 2.2

24 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 24 Σχήµα 2.2: Αρχιτεκτονική συµπίεσης Η προσθήκη αυτών των κυκλωµάτων επιτρέπει το σύνολο ελέγχου να αποθηκεύεται στον ελεγκτή (ΑΤΕ). Τα διανύσµατα δοκιµής (test vectors) περιέχουν πολλά δυαδικά ψηφία µε αδιάφορη τιµή. Στην πραγµατικότητα µόνο το 1 έως 5 % των δυαδικών ψηφίων έχουν καθορισµένη τιµή. Ο αποσυµπιεστής πάνω στο ολοκληρωµένο αποσυµπιέζει τα δεδοµένα που έρχονται και τα στέλνει στις αλυσίδες Συµπίεση συνόλου δοκιµής Ένα test cube είναι ένα ντετερµινιστικό διάνυσµα ελέγχου στο οποίο τα δυαδικά ψηφία που έχουν αδιάφορη τιµή ορίζονται ως Χ. Κανονικά κατά την αυτόµατη παραγωγή διανυσµάτων εφαρµόζεται τυχαία αντικατάσταση των αδιάφορων τιµών (random fill), κατά την οποία τα Χ δυαδικά ψηφία στο test cube αντικαθίστανται µε µηδενικά ή άσσους ώστε να προκύψει πλήρως ορισµένο σύνολο δεδοµένων. Για την συµπίεση των δεδοµένων του συνόλου ελέγχου, δεν γίνεται τυχαία αντικατάσταση των αδιάφορων τιµών κατά την αυτόµατη παραγωγή των διανυσµάτων ελέγχου, έτσι το τελικό σύνολο περιέχει αρκετά µη καθορισµένα δυαδικά ψηφία. Τα µη καθορισµένα αυτά δυαδικά ψηφία κάνουν τη συµπίεση του test cube πιο εύκολη από ότι αν είχαν συγκεκριµένη τιµή. Για την συµπίεση των test cubes έχουν προταθεί πολλές τεχνικές. Θα µπορούσαµε να τις οργανώσουµε σε δυο κατηγορίες όπως φαίνεται παρακάτω. Για κάθε τεχνική θα µιλήσουµε εκτενέστερα στις επόµενες παραγράφους [19]. 1. Τεχνικές βασισµένες σε αλγορίθµους συµπίεσης (Code-based schemes) Οι τεχνικές αυτές χρησιµοποιούν αλγορίθµους για την συµπίεση των διανυσµάτων του συνόλου ελέγχου. 2. Τεχνικές βασισµένες στην κοινή εκποµπή τιµών ελέγχου (Broadcast-scanbased schemes) Οι τεχνικές αυτές στηρίζονται στην αποστολή της ίδιας τιµής ελέγχου σε πολλές αλυσίδες (scan chain).

25 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling Τεχνικές βασισµένες σε αλγορίθµους συµπίεσης (Code-based schemes) Οι τεχνικές µε τις οποίες θα ασχοληθούµε είναι αυτή της Statistical coding στην οποία βασίζονται οι αλγόριθµοι κωδικοποίησης Huffman και Selective Huffman, και αυτή της Run- Length coding στην οποία βασίζονται οι αλγόριθµοι FDR, Alternating Run-Length και Golomb Κωδικοποίηση που βασίζεται στην συχνότητα εµφάνισης (statistical coding) Η τεχνική κωδικοποίησης ανάλογα µε την συχνότητα εµφάνισης των λέξεων σε ένα σύνολο ελέγχου (Statistical coding), είναι η πρώτη που θα εξετάσουµε, και ανήκει σε µία κλάση που είναι γνωστή ως fix-to-variable class. Τεχνικές της κλάσης αυτής, χρησιµοποιούν µεταβλητού µήκους κωδικολέξεις για την αναπαράσταση σταθερού µήκους λέξεων από δυαδικά ψηφία. Για παράδειγµα, αν ένα σύνολο ελέγχου διαιρεθεί σε λέξεις τεσσάρων δυαδικών ψηφίων, τότε υπάρχουν 2 4 µοναδικές λέξεις τεσσάρων δυαδικών ψηφίων. Κάθε µια, από αυτές τις 16 λέξεις αναπαρίσταται µε µία δυαδική κωδικολέξη, η οποία δεν έχει κατ ανάγκη µήκος τεσσάρων δυαδικών ψηφίων. Η ιδέα είναι, οι λέξεις που εµφανίζονται συχνότερα στο σύνολο δοκιµής να αντιστοιχίζονται µε κωδικολέξεις µικρού αριθµού bits ενώ αυτές που εµφανίζονται πιο αραιά, να αντιστοιχίζονται µε κωδικολέξεις περισσοτέρων δυαδικών ψηφίων. Στόχος είναι, η κωδικοποιηµένη αναπαράσταση του συνόλου ελέγχου να έχει µικρότερο αριθµό δυαδικών ψηφίων απ ότι το αρχικό. Αυτή η τεχνική συµπίεσης είναι περισσότερο αποδοτική για µεγάλα αρχεία στα οποία υπάρχει επανάληψη ακολουθιών δυαδικών ψηφίων. Παρακάτω παρουσιάζονται δύο αλγόριθµοι, ο δεύτερος είναι µία παραλλαγή του πρώτου, που βασίζονται σε αυτή την τεχνική και χρησιµοποιούνται για την µείωση του όγκου των δεδοµένων του συνόλου ελέγχου Κωδικοποίηση κατά Huffman (Huffman code) Η κωδικοποίηση Huffman χρησιµοποιεί την τεχνική στατιστικής κωδικοποίησης (statistical coding) και εφαρµόζει ακριβώς αυτό που περιγράψαµε προηγούµενα, δηλαδή την αντιστοίχηση λέξεων σταθερού µήκους, του συνόλου ελέγχου, µε µεταβλητού µήκους κωδικολέξεις. Μία σηµαντική ιδιότητα της Huffman κωδικοποίησης είναι ότι καµία κωδικολέξη δεν είναι πρόθεµα κάποιας άλλης (prefix free). H κωδικοποίηση Huffman γίνεται µε βάση την κατασκευή ενός δέντρου και το µονοπάτι από την ρίζα προς κάθε φύλλο δίνει την κωδικολέξη για την ακολουθία που αντιστοιχεί στο φύλλο. Ένα παράδειγµα θα ήταν χρήσιµο για να γίνει πιο κατανοητός ο αλγόριθµος. Έστω το σύνολο ελέγχου του Σχήµατος 2.3, το οποίο είναι χωρισµένο σε λέξεις σταθερού µήκους τεσσάρων δυαδικών ψηφίων (4-bit blocks). Όπως είπαµε, θα υπάρχουν 2 4,δηλαδή 16, µοναδικές λέξεις και σε κάθε µια από αυτές αντιστοιχεί µία κωδικολέξη [10], [11].

26 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling Σχήµα 2.3 Σύνολο ελέγχου διαιρεµένο στο οποίο κάθε διάνυσµα δοκιµής είναι διαιρεµένο σε λέξεις 4 δυαδικών ψηφίων.. Ο Πίνακας 2.1 δείχνει την συχνότητα εµφάνισης των λέξεων αυτών, χρησιµοποιώντας και ένα σύµβολο S 0 S 15 για κάθε λέξη καθώς και τις κωδικολέξεις που προκύπτουν από το δέντρο Huffman. Συνολικά, ο αριθµός αυτών των λέξεων είναι 60. Σύµβολο Συχνότητα Λέξη Huff. Code S S S S S S S S S S S S S S S S Πίνακας 2.1 Συχνότητα εµφάνισης λέξεων - κωδικοποίηση Huffman. Έχοντας τις παραπάνω συχνότητες που ουσιαστικά δείχνουν την πιθανότητα που έχει η αντίστοιχη λέξη (συµβολίζεται µε S i στον Πίνακα 2.1) να εµφανιστεί µέσα στο σύνολο ελέγχου κατασκευάζουµε το δέντρο Huffman ως εξής: Κάθε µία από τις λέξεις αυτές αποτελεί έναν κόµβο φύλλο του δέντρου και επαναληπτικά, επιλέγουµε δύο κόµβους u1, u2 µε τη χαµηλότερη συχνότητα, τους ενώνουµε και δηµιουργούµε έναν κόµβο πατέρα u. Οι ακµές (u,u1) και (u,u2) σηµειώνονται µε 0 και 1 σηµειώνουµε µε 1 κάθε ακµή που βρίσκεται δεξιά του κόµβου πατέρα και µε 0 κάθε ακµή που βρίσκεται αριστερά του και έπειτα σηµειώνουµε την πιθανότητα εµφάνισης του κόµβου πατέρα u, ως p(u) = p(u1) + p(u2).

27 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 27 Tο µονοπάτι από την ρίζα προς κάθε φύλλο δίνει την κωδικολέξη για την ακολουθίαλέξη που αντιστοιχεί στο φύλλο αυτό. Παρατηρούµε, ότι το µέγεθος συµπίεσης που µπορούµε να πετύχουµε χρησιµοποιώντας τεχνικές στατιστικής κωδικοποίησης εξαρτάται από την κατανοµή των συχνοτήτων εµφάνισης των κωδικολέξεων, δηλαδή, αν όλες οι κωδικολέξεις εµφανίζονται µε την ίδια συχνότητα τότε είναι προφανές πως δεν µπορεί να γίνει καµία συµπίεση. Σχήµα 2.4 έντρο Huffman κωδικοποίηση Huffman. Επιλεκτική κωδικοποίηση κατα Huffman (Selective Huffman code) Η κωδικοποίηση Huffman αν και συµπιέζει ικανοποιητικά το σύνολο ελέγχου, κατά την αποκωδικοποίηση ενδέχεται να χρειαστεί ένας σχετικά µεγάλος αποκωδικοποιητής. Αυτό το αρνητικό σηµείο προσπαθεί να διορθώσει η επιλεκτική κωδικοποίηση Huffman αλγόριθµος, ο οποίος είναι µία παραλλαγή του Huffman αλγορίθµου. Ανήκει και αυτός στην ίδια κλάση µε τον αλγόριθµο Huffman, δηλαδή κωδικοποιεί σταθερού µήκους λέξεις του συνόλου ελέγχου, µε µεταβλητού µήκους κωδικολέξεις. Η διαδικασία κωδικοποίησης είναι σχετική µε αυτήν του Huffman. Αρχικά χωρίζουµε το σύνολο ελέγχου, όπως και στο παράδειγµα της προηγούµενης παραγράφου, σε σταθερού µήκους λέξεις, έτσι για µήκος b=4 θα έχουµε 2 4 κωδικολέξεις. Έπειτα ελέγχουµε την συχνότητα µε την οποία εµφανίζονται οι λέξεις µέσα στο σύνολο ελέγχου και κατασκευάζουµε το δέντρο Huffman (µε τον τρόπο που περιγράφηκε προηγούµενα) µόνο για τα περισσότερο συχνά εµφανιζόµενες λέξεις. Εδώ βρίσκεται και η διαφορά µε την κωδικοποίηση Huffman. Οι κωδικολέξεις που προκύπτουν έχουν ένα επιπλέον δυαδικό ψηφίο στην αρχή το οποίο δηλώνει αν τα δυαδικά ψηφία που θα ακολουθήσουν είναι κωδικοποιηµένα ή όχι. Έτσι, αν το πρώτο δυαδικό ψηφίο είναι 1 τότε τα επόµενα δυαδικά ψηφία είναι κωδικοποιηµένα ενώ αν το πρώτο bit είναι 0 δεν είναι, [12].

28 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 28 Στον Πίνακα 2.2 παρουσιάζονται οι λέξεςι στις οποίες χωρίσαµε το σύνολο ελέγχου καθώς και οι συχνότητα µε την οποία εµφανίζονται σε αυτό. Παρατηρούµε πως το µέγιστο µήκος µίας κωδικολέξης είναι b+1 (όπου b το µέγεθος των λέξεων ) γιατί υπάρχει αυτό το επιπλέον δυαδικό ψηφίο, που περιγράψαµε, το οποίο λειτουργεί αναγνωριστικά. Σύµβολο Συχνότητα Λέξη Selective Huff. Code S S S S S S S S S S S S S S S S Πίνακας 2.2 Συχνότητα εµφάνισης λέξεων κωδικοποίηση Selective Huffman. Στο παρακάτω σχήµα, φαίνεται το δέντρο Huffman που κατασκευάζεται µόνο για τις λέξεις που εµφανίζονται συχνότερα στο σύνολο ελέγχου, δηλαδή τις S 0, S 1 S 2. Σχήµα 2.5 έντρο Huffman κωδικοποίηση Selective Huffman.

29 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 29 Ένα από τα µεγάλα πλεονεκτήµατα της κωδικοποίησης αυτής είναι ότι οι αδιάφοροι όροι Χ που υπάρχουν µέσα στο σύνολο ελέγχου µπορούν να αντικατασταθούν µε τρόπο τέτοιο ώστε να έχουµε µέγιστη δυνατή συµπίεση. Υπάρχουν πολλοί αλγόριθµοι που µπορούν να χρησιµοποιηθούν για να αντικαταστήσουµε τα Χ. Έστω το σύνολο ελέγχου του Σχήµατος 2.6 και b=4 το µέγεθος τις λέξης. Οι τετράδες που προκύπτουν µετά το χωρισµό είναι οι Β = { 10Χ1, ΧΧ10, 1ΧΧΧ, Χ011, 10Χ1, 0Χ10, 101Χ, 1ΧΧΧ }. Με βάση τον αλγόριθµο αυτό η περισσότερο συχνά εµφανιζόµενη τετράδα συγκρίνεται µε την αµέσως επόµενη σε συχνότητα και ελέγχουµε αν γίνεται σύγκρουση bit ( π.χ. η µία λέξη έχει 1 και η άλλη 0 στην αντίστοιχη θέση). Αν δεν υπάρχει σύγκρουση τότε γίνεται γίνεται συνένωση των δύο λέξεων. Για παράδειγµα αν η λέξη Χ0Χ1 συνενωθεί µε τη Χ01Χ, τότε προκύπτει η λέξη Χ011. Σηµειώνουµε ότι οι λέξεις που προκύπτουν µπορούν µόνο να µειώσουν τους αδιάφορους όρους. Η πιο συχνά εµφανιζόµενη λέξη συγκρίνεται διαδοχικά µε όλες τις υπόλοιπες λέξεις κατά φθίνουσα συχνότητα και όπου µπορεί να γίνει συνένωση γίνεται. Αυτό γίνεται µέχρι να µην µπορεί να γίνει άλλη συνένωση µε την πιο συχνή λέξη. Έπειτα η διαδικασία επαναλαµβάνεται για τη δεύτερη πιο συχνή λέξη κ.ο.κ. Όλο αυτό γίνεται µέχρι να µην µπορεί να πραγµατοποιηθεί καµία άλλη συνένωση. Στο σηµείο αυτό όλες οι λέξεις που αποµένουν είναι µοναδικές και οποιαδήποτε Χ µπορεί να έχει µείνει αντικαθίσταται τυχαία µε 0 ή 1 χωρίς αυτό να επηρεάζει την απόδοση της συµπίεσης. Εφαρµόζοντας τώρα τον παραπάνω αλγόριθµο στο σύνολο ελέγχου του Σχήµατος 2.6(α) έχουµε τα παρακάτω. Το σύνολο Β όπως προσδιορίστηκε παραπάνω έχει 6 µοναδικές λέξεις, τα 10Χ1, ΧΧ10, 1ΧΧΧ, Χ011, 0Χ10 και 101Χ. Από τις 6 αυτές λέξεις η συχνότητα εµφάνισης της 10Χ1 είναι 3, της 1ΧΧΧ είναι 2 και των υπολοίπων ένα. Επιλέγω την πρώτη και ελέγχω αν υπάρχει σύγκρουση δυαδικού ψηφίου µε την αµέσως επόµενη σε συχνότητα. Αν όχι τα συνενώνω και αντικαθιστώ και τα δύο µε το νέα λέξη που θα έχει συχνότητα το άθροισµα των συχνοτήτων των λέξεων απ τις οποίες προέκυψε. Έτσι η 10Χ1 συνενώνεται µε τη 1ΧΧΧ και προκύπτει η 10Χ1. Η νέα λέξη συγκρίνεται µε τις υπόλοιπες που έχουν συχνότητα ένα, και συνενώνεται µε Χ011 και 101Χ. Στο σηµείο αυτό το Β έχει ως εξής: Β = { 1011, ΧΧ10, 0Χ10 }. Η διαδικασία επαναλαµβάνεται µε την επόµενη συχνότερη λέξη. Στο τέλος προκύπτει το Β = {1011,0Χ10} και καµία άλλη συνένωση δεν µπορεί να πραγµατοποιηθεί. Το τελικό σύνολο ελέγχου που προκύπτει φαίνεται στo Σχήµα 2.6(β). 1 0 Χ 1 Χ Χ Χ Χ Χ Χ Χ Χ 1 0 Χ Χ 1 Χ Χ Χ Χ Χ (α) (β) Σχήµα 2.6 (α) Αρχικό σύνολο ελέγχου, (β) Σύνολο ελέγχου µετά την εφαρµογή του αλγορίθµου.

30 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling Κωδικοποίηση τρέχοντος µήκους (Run-Length coding) Η κωδικοποίηση τρέχοντος µήκους είναι η δεύτερη τεχνική που θα εξετάσουµε και ανήκει σε µία διαφορετική κλάση από αυτή που ανήκουν οι τεχνικές στατιστικής κωδικοποίησης που είδαµε. Η κλάση αυτή είναι γνωστή µε το όνοµα variable-to variable class. Και εύκολα µπορεί κανείς να εντοπίσει την διαφορά καθώς οι τεχνικές αυτές χρησιµοποιούν µεταβλητού µήκους κωδικολέξεις για την αναπαράσταση µεταβλητού µήκους λέξεων από δυαδικά ψηφία. Η ιδέα είναι, να κωδικοποιούνται ακολουθίες δυαδικών ψηφίων οι οποίες δεν έχουν σταθερό µήκος µέσα στο σύνολο ελέγχου. Οι ακολουθίες αυτές µπορεί να είναι είτε ακολουθίες άσσων, είτε ακολουθίες µηδενικών και σ αυτό έγκειται η διαφορετικότητα των αλγορίθµων που χρησιµοποιούν την τεχνική της κωδικοποίησης τρέχοντος µήκους. Στόχος είναι και εδώ, η κωδικοποιηµένη αναπαράσταση του συνόλου ελέγχου να έχει µικρότερο αριθµό δυαδικά ψηφία απ ότι το αρχικό. Παρακάτω παρουσιάζονται τρεις αλγόριθµοι, που βασίζονται σε αυτή την τεχνική και χρησιµοποιούνται για την µείωση του όγκου των δεδοµένων του συνόλου ελέγχου. Οι αλγόριθµοι αυτής της τεχνικής είναι πολύ αποτελεσµατικοί κατά την συµπίεση µεγάλων αρχείων εικόνων οπού οι ακολουθίες των δεδοµένων δεν διαφέρουν πολύ µεταξύ τους. Golomb code Στην παρούσα παράγραφο θα περιγράψουµε τον πρώτο από τους run-length αλγορίθµους, τον αλγόριθµο Golomb ο οποίος κωδικοποιεί ακολουθίες µηδενικών. Κάθε ακολουθία µηδενικών τερµατίζεται µε έναν άσσο και στην περίπτωση που βρεθεί ένας µόνο άσσος τότε θεωρούµε ότι έχουµε ακολουθία από µηδέν µηδενικά. Αρχικά θα υπολογίσουµε το σύνολο διαφορών T diff που προκύπτει από το σύνολο ελέγχου Τ D. Αυτό το κάνουµε για να περιορίσουµε όσο το δυνατόν περισσότερο τους άσσους που µπορεί να έχει το σύνολο ελέγχου µιας και η συγκεκριµένη κωδικοποίηση είναι πιο αποδοτική σε αρχεία µε πολλά µηδενικά. Το σύνολο διαφορών προκύπτει ως εξής: Έστω το σύνολο ελέγχου Τ D µε Τ D = { t 1,t 2,t 3,.,t n }, τότε το σύνολο διαφορών δίνεται από xor των διανυσµάτων του συνόλου ελέγχου, δηλαδή, Τ diff = { t 1, t 1 xor t 2, t 2 xor t 3,, t n-1 xor t n }. Το επόµενο βήµα είναι να καθορίσουµε µία κατάλληλη τιµή για την παράµετρο m η οποία δείχνει το µέγεθος της οµάδας (group). Η εύρεση της τιµής αυτής υπολογίζεται πειραµατικά. Από την στιγµή που θα καθορίσουµε την τιµή m, οι ακολουθίες των µηδενικών στο σύνολο διαφορών Τdiff οµαδοποιούνται σε groups µεγέθους m. Το πλήθος των οµάδων αυτών καθορίζεται από το µήκος της µεγαλύτερης ακολουθίας από µηδενικά στο σύνολο διαφορών. Την οµάδα Α 1 αποτελούν ακολουθίες µε µήκος { 0, 1, 2,..m }, την οµάδα Α 2 ακολουθίες µε µήκος { m, m+1, m+2, 2m-1 } και γενικά την οµάδα Α k ακολουθίες µε µήκος { (k-1)m, (k-1)m+1, (k-1)m+2, km-1 }. Για κάθε οµάδα υπάρχει ένα πρόθεµα (group prefix) από k-1 άσσους ακολουθούµενο από ένα µηδενικό καθώς και µία κατάληξη (tail) το µήκος του οποίου είναι ίσο µε log 2 m. Σηµειώνουµε πώς κάθε κωδικολέξη που προκύπτει χρησιµοποιώντας τον αλγόριθµο που περιγράψαµε αποτελείται από δύο µέρη, το group prefix και το tail, [13].

31 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 31 Tώρα, αφού περιγράψαµε τον αλγόριθµο, µένει να δούµε πως, έχοντας µία ακολουθία από µηδενικά, µπορούµε να την κατατάξουµε σε κάποια οµάδα και να βρούµε την κωδικολέξη που της αντιστοιχεί. Για µία ακολουθία µήκους l, η οµάδα στην οποία ανήκει βρίσκεται χρησιµοποιώντας τον ακόλουθο τύπο k = l / m + 1. Όσο για την κωδικολέξη στην οποία αντιστοιχεί, βρίσκεται εύκολα µέσα από τον Πίνακα 2.3 ο οποίος δείχνει την αντιστοιχία µεταξύ οµάδων, µήκους ακολουθιών, και παραγόµενων κωδικολέξεων, θεωρώντας την παράµετρο m ίση µε 4. Οµάδες Μήκος ακολουθιών Πρόθεµα οµάδας Κατάληξη Κωδ/λέξη Α 1 Α 2 Α Πίνακας 2.3 Κωδικοποίηση Golomb για m=4 Ένα παράδειγµα θα κάνει πιο κατανοητή την διαδικασία κωδικοποίησης. Έστω λοιπόν το σύνολο ελέγχου του Σχήµατος 2.7(α) και το σύνολο διαφορών που προκύπτει από αυτό, µε τον τρόπο που έχουµε προαναφέρει, Σχήµα 2.7(β) (α) (β) Σχήµα 2.7. (α) Σύνολο ελέγχου, (β)σύνολο διαφορών, Τ diff Το επόµενο βήµα είναι να βρούµε τις ακολουθίες µηδενικών του Τ diff και έπειτα τις κωδικολέξεις που προκύπτουν. Για να γίνει αυτό υπολογίζουµε πρώτα το µήκος τους (= µήκος ακολουθίας των µηδενικών) και µε την βοήθεια του Πίνακα 2.3 βρίσκουµε τις κωδικολέξεις.

32 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 32 Οι ακολουθίες, το µήκος τους και οι κωδικολέξεις για το σύνολο διαφορών του παραδείγµατος φαίνονται στον Πίνακα 2.4. Το σύνολο των κωδικολέξεων που προέκυψαν αποτελούν το κωδικοποιηµένο σύνολο Τ Ε (encoded) που θα περάσει από τον αποκωδικοποιητή. Ακολουθίες Μήκος Κωδικολέξη 0001 l 1 = l 2 = l 3 = l 4 = l 5 = l 6 = l 7 = l 8 = l 9 = Πίνακας 2.4 Ακολουθίες και κωδικολέξεις Golomb.

33 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 33 Κωδικοποίηση τρέχοντος µήκους ανάλογα µε τη συχνότητα εµφάνισης ακολουθιών από µηδενικά (FDR code) Ένας ακόµα αλγόριθµος που ανήκει στην ίδια κλάση µε τον αλγόριθµο Golomb, είναι ο Frequency Directed Run-length code γνωστός ως FDR. Ο αλγόριθµος αυτός µπορεί να εφαρµοστεί τόσο στο σύνολο διαφορών (T diff ) όσο και στο σύνολο ελέγχου (T D ), µε το τελευταίο µάλιστα να επικρατεί λόγω του ότι δεν χρειάζεται να χρησιµοποιήσουµε επιπλέον λογική για να παράγουµε το σύνολο διαφορών. Ο αλγόριθµος κωδικοποιεί ακολουθίες µηδενικών και όποιες από αυτές εµφανίζονται συχνότερα τις κωδικοποιεί µε µικρού µήκους κωδικολέξεις. Η έννοια της ακολουθίας ορίζεται ακριβώς όπως στον αλγόριθµο Golomb. Προτού ξεκινήσει η κωδικοποίηση, θα πρέπει να αντικαταστήσουµε όλους τους αδιάφορους όρους (don t-care bits) του συνόλου T D µε µηδενικά. Το επόµενο βήµα είναι ο χωρισµός των ακολουθιών σε οµάδες (group). Το πλήθος των οµάδων καθορίζεται από το µήκος της µέγιστης ακολουθίας και το µέγεθός της κάθε οµάδας Α k ισοδυναµεί µε το πλήθος των µελών που την αποτελούν και δίνεται από την σχέση 2 k. Κάθε κωδικολέξη του αλγορίθµου αποτελείται από δύο µέρη, το πρόθεµα (prefix) και την κατάληξη (tail). Το πρόθεµα χρησιµοποιείται σαν δείκτης για να δείχνει την οµάδα στην οποία ανήκει η ακολουθία, π.χ. η οµάδα Α k, και το µήκος του είναι ίσο µε k. ενώ η κατάληξη χρησιµοποιείται για να προσδιοριστεί πιο µέλος της οµάδας αντιστοιχεί στην δεδοµένη ακολουθία και το µήκος του είναι ίσο µε µήκος του προθέµατος, δηλαδή ίσο µε k. Ας δούµε τώρα πως, έχοντας µία ακολουθία από µηδενικά, µπορούµε να την κατατάξουµε σε κάποια οµάδα και να βρούµε την κωδικολέξη που της αντιστοιχεί. Για µία ακολουθία µήκους l, η οµάδα στην οποία ανήκει βρίσκεται χρησιµοποιώντας τον ακόλουθο τύπο: k = log 2 (l+3) - 1. Όσο για την κωδικολέξη στην οποία αντιστοιχεί, βρίσκεται εύκολα µέσα από τον Πίνακα 2.4 ο οποίος δείχνει την αντιστοιχία µεταξύ οµάδων, µήκους ακολουθιών, και παραγόµενων κωδικολέξεων. Ένα παράδειγµα θα κάνει πιο κατανοητή την διαδικασία κωδικοποίησης. Έστω λοιπόν το σύνολο ελέγχου, Σχήµα 2.8). Με την βοήθεια του Πίνακα 2.5 βρίσκουµε τις κωδικολέξεις για τις αντίστοιχες ακολουθίες Σχήµα 2.8 Σύνολο ελέγχου Τ D.

34 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 34 Οµάδες Μήκος ακολουθιών Πρόθεµα οµάδας Κατάληξη Κωδ/λέξη A Α 2 Α Πίνακας 2.5 Κωδικοποίηση FDR. Στον παρακάτω πίνακα φαίνονται οι ακολουθίες στις οποίες χωρίζεται το σύνολο ελέγχου, το µήκος τους (= πλήθος µηδενικών) και οι κωδικολέξεις που αντιστοιχούν. Ακολουθίες Μήκος Κωδικολέξη 0001 l 1 = l 2 = l 3 = l 4 = l 5 = l 6 = l 7 = l 8 = l 9 = Πίνακας 2.6 Ακολουθίες και κωδικολέξεις - FDR.

35 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 35 Κωδικοποίηση τρέχοντος µήκους ανάλογα µε τη συχνότητα εµφάνισης ακολουθιών από µηδενικά ή άσσους (Alternating Run-Length codes) Οι αλγόριθµοι της κατηγορίας αυτής ως Run-length, κωδικοποιούν ακολουθίες µεταβλητού µήκους όπως και ο FDR, και ως Alternating κωδικοποιούν εναλλακτικά είτε ακολουθίες άσσων είτε ακολουθίες µηδενικών. Εφαρµόζονται και αυτοί απευθείας στο σύνολο ελέγχου, στο οποίο πρέπει να αντικαταστήσουµε τους αδιάφορους όρους (don t-care bits) µε µηδενικά προτού ξεκινήσουµε την κωδικοποίηση. Έπειτα βρίσκουµε τις ακολουθίες του συνόλου ελέγχου και ακολουθούµε σχεδόν την ίδια διαδικασία µε αυτή του FDR για να κάνουµε την κωδικοποίηση [15], [16] Και εδώ, οι κωδικολέξεις αποτελούνται από δύο µέρη. Το πρόθεµα και την κατάληξη που προσδιορίζουν αντίστοιχα την οµάδα και το µέλος της οµάδας για την εκάστοτε ακολουθία. Η διαφορά αυτού και του προηγούµενου αλγορίθµου έγκειται στο γεγονός ότι αυτοί χρησιµοποιούν µία πρόσθετη παράµετρο, α, η οποία εναλλάσσεται µεταξύ δύο τιµών 0 και 1 και είναι αυτή που επεµβαίνει στην διαδικασία κωδικοποίησης και την διαφοροποιεί. Αν η τιµή του α είναι ίση µε 0 τότε κωδικοποιούµε ακολουθίες µηδενικών και όταν είναι ίση µε 1 κωδικοποιούµε ακολουθίες άσσων. Σηµειώνουµε ότι οι τιµές της παραµέτρου α δεν προστίθενται στο κωδικοποιηµένο σύνολο. Το παρακάτω παράδειγµα θα βοηθήσει στο να γίνει κατανοητή η κωδικοποίηση τρέχοντος µήκους (Run-Length). Στο Σχήµα 2.9 φαίνεται το σύνολο ελέγχου που πρόκειται να κωδικοποιηθεί και στον Πίνακα 2.7 παρουσιάζονται οι κωδικολέξεις που αντιστοιχούν σε ακολουθίες είτε µηδενικών είτε άσσων. Για το παράδειγµα, θεωρούµε αρχική τιµή για την παράµετρο α, την τιµή µηδέν καθώς και ότι το σύνολο ελέγχου ξεκινά µε ακολουθία µηδενικών Σχήµα 2.9 Σύνολο ελέγχου Τ D.

36 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 36 Οµάδες α=0 Μήκος ακολουθιών µηδενικών α=1 Μήκος ακολουθιών άσσων Πρόθεµα οµάδας Κατάληξη Κωδ/λέξη A Α 2 Α Πίνακας 2.7 Κωδικοποίηση Alternating Run-Length. Στον παρακάτω πίνακα φαίνονται οι ακολουθίες στις οποίες χωρίζεται το σύνολο ελέγχου, το µήκος τους, η εναλλαγές των τιµών του α και οι κωδικολέξεις που αντιστοιχούν. Το σύνολο των κωδικολέξεων αποτελεί το σύνολο Τ Ε (encoded) εισάγεται στον αποκωδικοποιητή. Ακολουθίες Μήκος α=0/1 Κωδικολέξη 0001 l 1 = 3 α= l 2 =5 α= l 3 = 6 α= l 4 = 1 α= l 5 = 5 α= l 6 = 4 α= l 7 = 6 α= l 8 = 1 α= l 9 = 3 α= Πίνακας 2.8 Ακολουθίες και κωδικολέξεις - Alternating Run-Length.

37 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling Τεχνικές συµπίεσης βασισµένες στην κοινή εκποµπή τιµών ελέγχου (Broadcast-scan-based schemes) Η τρίτη τεχνική συµπίεσης του συνόλου δοκιµής, την οποία εφαρµόσαµε και στην παρούσα εργασία, βασίζεται στην κοινή εκποµπή της ίδιας τιµής του συνόλου δοκιµής σε πολλαπλές αλυσίδες. Η τεχνική αυτή προτάθηκε το 1998 και λόγω της απλότητας και της αποτελεσµατικότητάς της χρησιµοποιήθηκε ως βάση σε πολλές αρχιτεκτονικές συµπίεσης Κοινή εκποµπή τιµών ελέγχου Για να περιγράψουµε την βασική ιδέα της κοινής εκποµπής τιµών ελέγχου, ας θεωρήσουµε δύο ανεξάρτητα κυκλώµατα C1 και C2. Υποθέτουµε ότι τα δύο αυτά κυκλώµατα έχουν το καθένα το δικό του σύνολο δοκιµής T1=<t11,t12..t1k> και T2=<t21,t22..t2kl> αντίστοιχα. Κατά την διαδικασία της αυτόµατης παραγωγής διανυσµάτων δοκιµής χρησιµοποιούνται αρχικά συνήθως τυχαίες δυαδικές τιµές για να ανιχνεύσουν τα ευκόλως ανιχνεύσιµα σφάλµατα (easy to detect faults). Αν τα ίδια αυτά διανύσµατα δοκιµής χρησιµοποιηθούν για την παραγωγή των συνόλων δοκιµής T1 και T2 τότε πιθανά να υπάρξει η εξής αντιστοιχία t11=t21,t12=t22.. µέχρι κάποιο i-οστό διάνυσµα δοκιµής. Αφού έχουν ανιχνευθεί τα περισσότερα σφάλµατα από τα τυχαία αυτά διανύσµατα δοκιµής ακολουθεί η παραγωγή ντετερµινιστικών διανυσµάτων δοκιµής για την ανίχνευση των υπολοίπων δυσκόλως ανιχνεύσιµων σφαλµάτων. Γενικά αυτά τα διανύσµατα διοκιµής έχουν πολλά µη καθορισµένα δυαδικά ψηφία. Χρησιµοποιώντας σύνολα δοκιµής που περιέχουν καθορισµένες τιµές δυαδικών ψηφίων που αφορούν στην ανίχνευση σφαλµάτων του κυκλώµατος C1 και επιπλέον καθορίζοντας τις τιµές των δυαδικών ψηφίων για την ανίχνευση σφαλµάτων του κυκλώµατος C2 οδηγούµαστε σε ένα τελικό διάνυσµα δοκιµής το οποίο είναι αποτελεσµατικό στην ανίχνευση σφαλµάτων και των δύο κυκλωµάτων C1 και C2 [19].

38 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 38 Η ιδέα του διαµοιρασµού ενός διανύσµατος δοκιµής µεταξύ δύο κυκλωµάτων µπορεί να επεκταθεί και σε περισσότερα κυκλώµατα όπως φαίνεται στο παρακάτω σχήµα Σχήµα 2.10: Κοινή εκποµπή σε αλυσίδες που οδηγούν ανεξάρτητα µεταξύ τους κυκλώµατα Σχήµα 2.11: ATPG για παραγωγή κοινών διανυσµάτων δοκιµής Το πρόβληµα έγκειται στο πως θα οδηγήσουµε το εργαλείο αυτόµατης παραγωγής διανυσµάτων ώστε να δηµιουργηθούν τα κοινά διανύσµατα δοκιµής. Αν στο εργαλείο αυτόµατης παραγωγής διανυσµάτων υπάρχει η δυνατότητα ώστε να επιτρέπει στο χρήστη να θέτει τον περιορισµό ότι ορισµένες είσοδοι πρέπει πάντα να έχουν τις ίδιες τιµές, τότε το πρόβληµα λύνεται. Στην περίπτωση που δεν υπάρχει τέτοια δυνατότητα η εφαρµογή ενός εικονικού κυκλώµατος (virtual circuit) µπορεί να λύσει το πρόβληµα. Όπως φαίνεται στο Σχήµα 2.11 οι είσοδοι των δύο κυκλωµάτων που θα διαµοιραστούν κοινές τιµές ελέγχου ενώνονται ένα προς ένα. Αυτό το κύκλωµα δίνεται στο εργαλείο αυτόµατης παραγωγής διανυσµάτων σαν ένα, µε πλήθος εισόδων ίσο το µέγιστο πλήθος εισόδων µεταξύ των δύο κυκλωµάτων. Στη συνέχεια η συµπίεση του συνόλου δεδοµένων γίνεται αυτόµατα από το εργαλείο σαν να είχαµε ένα κύκλωµα. Αυτός ο τρόπος «εξαπάτησης» του ATGP εργαλείου για την δηµιουργία συµπιεσµένου συνόλου δεδοµένων, δεν απαιτεί κάποια µετατροπή στον προγραµµατισµό του εργαλείου και συνεπώς µπορεί να εφαρµοστεί σε οποιοδήποτε εργαλείο αυτόµατης παραγωγής διανυσµάτων. Ένα µεγάλο πλεονέκτηµα της τεχνικής της κοινής εκποµπής τιµών ελέγχου(broadcast scan) είναι ότι όλα τα σφάλµατα τα οποία ανιχνεύονται σε όλα τα αρχικά κυκλώµατα θα είναι επίσης ανιχνεύσιµα στο «νέο κύκλωµα» χρησιµοποιώντας κοινή εκποµπή. Σηµειώνουµε εδώ ότι το σχήµα της κοινής εκποµπής είναι δυνατό να εφαρµοστεί και σε πολλές αλυσίδες ενός µόνο κυκλώµατος αρκεί τα εσωτερικά κυκλώµατα που οδηγούν αυτές οι αλυσίδες να είναι ανεξάρτητα µεταξύ τους.

39 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 39 Ένα παράδειγµα αυτού παρουσιάζεται στο Σχήµα 2.12, όπου κάθε αλυσίδα οδηγεί ένα ανεξάρτητο κύκλωµα. Η απόκριση οπό όλες τις υπό-αλυσίδες µπορεί να συµπιεστεί από έναν συµπιεστή (Multiple-input signature register-misr) ή οποιαδήποτε άλλο συµπιεστή χρόνου/χώρου. Σχήµα 2.12: Κοινή εκποµπή για ένα pipelined κύκλωµα Illinois Scan Στην περίπτωση που η κοινή εκποµπή χρησιµοποιηθεί για εφαρµογή σε πολλές αλυσίδες ενός κυκλώµατος του οποίου τα υπο-κυκλώµατα, που οδηγούνται από τις αλυσίδες, δεν είναι ανεξάρτητα µεταξύ τους, τότε η δυνατότητα ανίχνευσης όλων των σφαλµάτων χάνεται. Αν ένα σφάλµα για να ανιχνευθεί απαιτεί να υπάρχουν στις εισόδους διαφορετικές τιµές τότε είναι προφανές ότι το σφάλµα αυτό δε µπορεί να ανιχνευθεί µε αυτή τη µέθοδο. Για να αντιµετωπιστεί αυτό το πρόβληµα που αφορά στην κοινή εκποµπή σε πολλές αλυσίδες ενός κυκλώµατος προτάθηκε το σχήµα της εκποµπής Illinois (Illinois scan architecture) [19]. Πήρε αυτό το όνοµα λόγω του ότι οι συγγραφείς άνηκαν στο Πανεπιστήµιο του Ιλινοις. Το σχήµα αυτό έχει δύο καταστάσεις λειτουργίας. Την κατάσταση της κοινής εκποµπής (broadcast mode) και την κατάσταση της σειριακής εκποµπής (serial scan mode), οι οποίες παρουσιάζονται στο Σχήµα 2.13

40 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 40 α) Κοινή εκποµπή β) Σειριακή Σχήµα 2.13: Οι δύο καταστάσεις της αρχιτεκτονικής Illinois Η λειτουργία της κοινής εκποµπής εφαρµόζεται αρχικά για να ανιχνεύσει τα περισσότερα σφάλµατα του κυκλώµατος. Κατά τη λειτουργία αυτή, η αλυσίδα χωρίζεται σε τµήµατα (segments) και το ίδιο διάνυσµα µπορεί να ολισθήσει σε όλα τα τµήµατα µέσω µιας κοινής εισόδου. Η αποκρίσεις όλων των τµηµάτων συµπιέζονται µέσω ενός οπουδήποτε συµπιεστή χώρου/χρόνου. Για τα υπόλοιπα σφάλµατα τα οποία δεν ανιχνεύθηκαν από την λειτουργία της κοινής εκποµπής, χρησιµοποιείται η λειτουργία της σειριακής εκποµπής. Ο συνδυασµός των δύο λειτουργιών εξασφαλίζει ότι θα έχουµε τη µέγιστη κάλυψη σφαλµάτων. Η έξτρα λογική που χρειάζεται για την υλοποίηση της τεχνικής Illinois αποτελείται από πολυπλέκτες και µια µικρή µονάδα ελέγχου που ρυθµίζει την εναλλαγή µεταξύ των δύο λειτουργιών. Η έκταση που καταλαµβάνει αυτή η µονάδα ελέγχου είναι µικρή σε σχέση µε το µέγεθος του ολοκληρωµένου. Το κύριο µειονέκτηµα της τεχνικής αυτής είναι ότι δεν γίνεται κανενός είδους συµπίεση στα διανύσµατα ελέγχου όταν το σχήµα δουλεύει σε κατάσταση σειριακής εκποµπής. Αυτό το µειονέκτηµα οδηγεί σε σηµαντική µείωση του συνολικού συντελεστής συµπίεσης (compression ratio) το οποίο εξαρτάται από το πόσα διανύσµατα δοκιµής θα εφαρµοστούν στο κύκλωµα µέσω της σειριακής εκποµπής. Για να µειώσουµε το πλήθος αυτών των διανυσµάτων χρησιµοποιούµε τεχνικές όπως κοινή εκποµπή πολλαπλών εισόδων (multiple-input broadcast scan).

41 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling Κοινή εκποµπή πολλαπλών εισόδων (multiple-input broadcast scan) Αντί να χρησιµοποιούµε ένα κανάλι που να οδηγεί όλες τις αλυσίδες, µπορούµε να χρησιµοποιήσουµε πολλά κανάλια ώστε να έχουµε κοινή εκποµπή πολλαπλών εισόδων. Κάθε κανάλι µπορεί να οδηγεί ένα σύνολο από αλυσίδες. Όταν δύο αλυσίδες θα πρέπει να ελεγχθούν ανεξάρτητα προκειµένου να ανιχνευθεί κάποιο σφάλµα τότε αυτές οδηγούνται από διαφορετικά κανάλια. Όσο περισσότερα κανάλια χρησιµοποιήσουµε και όσο µικρότερο είναι το µήκος κάθε αλυσίδας τόσο ευκολότερο είναι να ανιχνευθούν πολλά σφάλµατα και αυτό γιατί µε αυτόν τον τρόπο υπάρχουν λιγότεροι περιορισµοί κατά την αυτόµατη παραγωγή διανυσµάτων ελέγχου. Κάτι που είναι πολύ σηµαντικό στην τεχνική αυτή είναι να καθοριστεί ποιος θα είναι ο ελάχιστός αριθµός καναλιών που απαιτούνται για να ανιχνευθούν όλα τα σφάλµατα.

42 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling Χρονοπρογραµµατισµός ελέγχου 3.1. Εισαγωγή Στο σχεδιασµό µεγάλων ολοκληρωµένων συστήµατων SOC s χρησιµοποιούνται συχνά προσχεδιασµένες µονάδες (embedded cores). Με στόχο τη µείωση του κόστους, ο χρόνος ελέγχου ενός τέτοιου συστήµατος που περιέχει πολλές προσχεδιασµένες µονάδες πρέπει να µειωθεί σηµαντικά, Η µείωση αυτή θα γίνει µε χρονοπρογραµµατισµό της σειράς µε την οποία θα ελεγχθεί η ορθή λειτουργία των διαφόρων µονάδων του ολοκληρωµένου κυκλώµατος. Σε αυτό το κεφάλαιο θα αναφερθούµε σε βέλτιστες λύσεις που αφορούν τα προβλήµατα του χρονοπρογραµµατισµού ελέγχου σε ένα ολοκληρωµένο που περιέχει προσχεδιασµένες µονάδες. Έτσιι, δεδοµένου των συνόλων ελέγχου για τις προσχεδιασµένες µονάδες του ολοκληρωµένου προσπαθούµε να βρούµε βέλτιστες λύσεις ώστε να ελέγχουµε όλα τις µονάδες σε όσο το δυνατό συντοµότερο χρόνο. Το πρόβληµα του προγραµµατισµού ελέγχου των προσχεδιασµένων µονάδων είναι ένα NP-complete πρόβληµα Προσεγγιστικοί αλγόριθµοι Για να προσεγγίσουµε ένα NP-complete πρόβληµα χρησιµοποιούµε προσεγγιστικούς αλγορίθµους (approximation algorithm). Oι προσεγγιστικοί αλγόριθµοι παράγουν εφικτές λύσεις των οποίων η ποιότητα (σε σχέση µε τη βέλτιστη λύση) είναι πάντοτε φραγµένη από κάποια πολλαπλασιαστική παράµετρο (ονοµάζεται λόγος προσέγγισης του αλγορίθµου) σε σχέση µε την ποιότητα της βέλτιστης λύσης. O χρόνος εκτέλεσης είναι πάντα πολυωνυµικός. Χρησιµοποιούνται είτε όταν δεν µπορούµε να βρούµε τη βέλτιστη λύση σε πολυωνυµικό χρόνο, είτε όταν ο βέλτιστος αλγόριθµος είναι πολύπλοκος και (παρότι πολυωνυµικού χρόνου) πολύ πιο χρονοβόρος.

43 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling Προσεγγιστικοί αλγόριθµοι µε µικρή απόκλιση Χρωµατισµός ακµών (Edge Coloring) ίνεται ένα γράφηµα, και ζητείται να χρωµατίσουµε τις ακµές µε τον ελάχιστο αριθµό χρωµάτων έτσι ώστε ακµές που πρόσκεινται στην ίδια κορυφή να λαµβάνουν διαφορετικό χρώµα. Για κάθε γράφηµα G, έστω υ η κορυφή µε µέγιστο βαθµό στο γράφηµα. Προφανώς πρέπει να χρησιµοποιήσουµε τουλάχιστον deg(υ) χρώµατα για τις ακµές του G, αφού διαφορετικά θα υπήρχαν δύο ακµές µε το ίδιο χρώµα προσκείµενες στη υ. Για κάθε γράφηµα G, υπάρχει χρωµατισµός των ακµών του που χρησιµοποιεί αριθµό χρωµάτων ίσο µε το βαθµό του G συν 1. Το πρόβληµα χρωµατισµού ενός γράφου θα µας απασχολήσει στο επόµενο κεφάλαιο σε ότι αφορά στον διαµοιρασµό των αλυσίδων µεταξύ διαφορετικών µονάδων Οµαδοποίηση σε κάδους (Bin packing) Στο πρόβληµα της οµοαδοποίησης σε κάδους θεωρούµε ότι έχουµε απεριόριστο αριθµό απο κάδους µε πλάτος W και ύψος H και ένα σύνολο απο n ορθογώνια µε πλάτος το πολύ W και ύψος το πολύ H. Το πρόβληµα έγκειται στην τοποθέτηση σε κάδους, όλων των ορθογωνίων χρησιµοποιώντας το µικρότερο δυνατό αριθµό απο κάδους. Τα ορθογώνια αυτά πρέπει να τοποθετηθούν µε τέτοιο τρόπο ώστε να µην επικαλύπτουν το ένα το άλλο και χωρίς να περιστροφούν Οµαδοποίηση σε ταινίες (Strip packing ) Το πρόβληµα της οµαδοποίησης σε ταινίες είναι µια γενίκευση του προβλήµατος οµαδοποίησης σε κάδους. Θεωρούµε ότι έχουµε µια ταινία πεπερασµένου πλάτους W και µη πεπερασµένου ύψους H, και ένα σύνολο απο ορθογώνια πλάτους το πολύ W. Στόχος είναι να µειωθεί όσο το δυνατόν το ύψος της ταινίας τοποθετώντας όλα τα ορθογώνια στην ταινία. Τα ορθογώνια αυτά πρέπει να τοποθετηθούν µε τέτοιο τρόπο ώστε να µην επικαλύπτουν το ένα το άλλο και οι πλευρές των ορθογωνίων να είναι παράλληλες στις πλευρές τις ταινίας. Περιστροφές δεν επιτρέπονται. Αν λοιπόν θέσουµε αυστηρά τα ορθογώνια να έχουν το ίδιο ύψος, τότε το πρόβληµα οµαδοποίησης σε ταινίες µετατρέπεται στο πρόβληµα οµαδοποίησης σε κάδους [20], [21]. Αν γνωρίζουµε το µέγεθος των ορθογωνίων εξ αρχής και προτού ξεκινήσει η οµαδοποίηση τότε µιλάµε για offline εφαρµογή του αλγορίθµου. ιαφορετικά τα ορθογώνια θα έρχονται το ένα µετά το άλλο η τοποθέτηση θα πρέπει να γίνεται άµεσα πριν εµφανιστεί το επόµενο ορθογώνιο.

44 Κεφάλαιο 3: Χρονοπρογραµµατισµός ελέγχου Test Scheduling 44 Όπως αναφέρθηκε νωρίτερα, η εύρεση βέλτιστης λύσης για το strip packing πρόβληµα είναι ΝΡ-complete, έτσι η έρευνα έχει επικεντρωθεί κυρίως στην ανάπτυξη προσεγγιστικών αλγορίθµων για την επίλυση του. Οι προσεγγιστικοί αλγόριθµοι βρίσκουν µια σχεδόν βέλτιστη λύση αλλά δεν εγκυόνται ότι θα βρουν τη βέλτιστη λύση για κάθε σύνολο δεδοµένων. Οι περισσότεροι αλγόριθµοι τοποθετούν τα ορθογώνια στην ταινία ή τον κάδο µε µια έως τέσσερις προσεγγίσεις: bottom left, level-orientated, shelf or hybrid. Bottom-left algorithm Στην προσέγιση αυτή έχουµε ως δεδοµένο ότι δεν έχουµε ταξινοµήσει το σύνολο των ορθογωνίων που πρέπει να τοποθετηθούν στον κάδο. Για κάθε ορθογώνιο γίνεται προσπάθεια να τοποθετηθεί στον πάτο του κάδου και όσο το δυνατόν αριστερότερα χωρίς να επικαλύπτει κάποιο άλλο ήδη τοποθετηµένο ορθογώνιο. Level-oriented algorithms Η λίστα των ορθογωνίων είναι ταξινοµηµένη κατά φθίνουσα σειρά. Η τοποθέτηση γίνεται ανά επίπεδο. Το πρώτο επίπεδο ορίζεται ως ο πάτος του κάδου. Τα επόµενα επίπεδα καθορίζονται από το ύψος του ψηλότερου ορθογωνίου του προηγούµενου επιπέδου. Στο θέµα που αφορά την εργασία µας ασχολούµαστε µε την offline εφαρµογή του αλγορίθµου strip packing και αυτή είναι η προσέγγιση την οποία εφαρµόζουµε για να προγραµµατίσουµε την σειρά µε την οποία θα ελεγχθούν οι µονάδες (core) ενός ολοκληρωµένου κυκλώµατος. Στο επόµενο κεφάλαιο παρουσιάζουµε αναλυτικά τον αλγόριθµο αυτό και πως εφαρµόζεται. Shelf algorithms Οι αλγόριθµοι αυτής της κατηγορίας είναι παραλλαγή των level αλγορίθµων και αποφεύγουν την αρχική ταξινόµηση των ορθογωνίων. Επίσης αντί το ύψος κάθε επιπέδου να καθορίζεται από το ψηλότερο ορθογώνιο του προηγούµενου επιπέδου, εδώ κάθε επίπεδο έχει σταθερό και καθορισµένο ύψος. Hybrid algorithms Εδώ χρησιµοποιούνται δύο ή και περισσότεροι από τους αλγορίθµους που προαναφέραµε. Επίσης µπορούµε να ταξινοµήσουµε ή όχι τα τετράγωνα που είναι προς τοποθέτηση.

45 Κεφάλαιο 4: Υλοποίηση Υλοποίηση Όπως ήδη έχει αναφερθεί, ο όγκος των δεδοµένων που απαιτούνται για τον έλεγχο της ορθής λειτουργίας ενός συστήµατος που υλοποιείται σε ένα ολοκληρωµένο κύκλωµα είναι πάρα πολύ µεγάλος. Αυτό συνεπάγεται ότι ο χρόνος που απαιτείται για τον έλεγχο της ορθής λειτουργίας του ολοκληρωµένου κυκλώµατος είναι επίσης πολύ µεγάλος. Για τη µείωση του απαιτούµενου χρόνου χρησιµοποιούνται διάφορες τεχνικές συµπίεσης των δεδοµένων δοκιµής. Κάποιες από αυτές τις τεχνικές βασίζονται στην αποστολή κοινών δεδοµένων δοκιµής ταυτόχρονα σε περισσότερες από µία µονάδες του ολοκληρωµένου κυκλώµατος. Στην εργασία αυτή υλοποιούµε µια από αυτές τις τεχνικές που βασίζεται στην ύπαρξη µονοπατιών ολίσθησης (scan paths) στις µονάδες του ολοκληρωµένου κυκλώµατος, και περιγράφηκε αναλυτικά στο κεφάλαιο 2. Για την περαιτέρω µείωση του χρόνου που απαιτείται για τον έλεγχο της ορθής λειτουργίας του ολοκληρωµένου κυκλώµατος γίνεται χρονοπρογραµµατισµός της σειράς µε την οποία θα ελεγχθεί η ορθή λειτουργία των διαφόρων µονάδων του ολοκληρωµένου κυκλώµατος Εισαγωγή Η σύγχρονη τεχνολογία έχει πλέον καταστήσει δυνατό την ύπαρξη ενός ολόκληρου συστήµατος πάνω σε ένα κοµµάτι πυριτίου. Αυτό το ολοκληρωµένο σύστηµα αποτελείται από επιµέρους υπο-µονάδες, όπως ενσωµατωµένοι επεξεργαστές, µονάδες ψηφιακής λογικής, στοιχεία µνήµης κτλ, που καλούνται cores. Χρησιµοποιούµε έναν αλγόριθµο που συνδυάζει συµπίεση του συνόλου ελέγχου του ολοκληρωµένου και καθορίζει την σειρά µε την οποία θα ελεγχθούν κάθε µια από τις υπο µονάδες του ολοκληρωµένου. Ο αλγόριθµος, για τη συµπίεση του συνόλου ελέγχου χρησιµοποιεί την τεχνική της κοινής εκποµπής σε πολλαπλές αλυσίδες που περιγράφηκε σε προηγούµενο κεφάλαιο. Στο κοµµάτι που αφορά στη σειρά µε την οποία θα γίνει ο έλεγχος των µονάδων εφαρµόζει έναν γενικευµένο αλγόριθµο οµαδοποίησης σε ταινίες (strip-packing) για την επιλογή των µονάδων, εκµεταλλευόµενοι την συµπίεση που έχει προηγηθεί. Να σηµειώσουµε εδώ πως υποθέτουµε ότι για κάθε µονάδα, χαρακτηριστικά όπως το πλήθος των αλυσίδων έχουν αποφασιστεί από τον κατασκευαστή και παραµένουν σταθερά. Είναι γνωστό πως το ποσοστό των µη καθορισµένων δυαδικών ψηφίων σε διανύσµατα που προκύπτουν κατά την αυτόµατη παραγωγή διανυσµάτων ελέγχου (ATGP), είναι µεγάλο και συναντάµε ακόµα µεγαλύτερο ποσοστό σε σύνολα διανυσµάτων που έχουν υποστεί κάποιου είδους συµπίεση. Αυτό το µεγάλο ποσοστό µη καθορισµένων δυαδικών ψηφίων µας οδηγεί στη δυνατότητα να εφαρµόσουµε τα ίδια διανύσµατα εισόδου σε αλυσίδες µεταξύ διαφορετικών µονάδων. Με αυτό τον τρόπο τα διανύσµατα ελέγχου µπορούν να

46 Κεφάλαιο 4: Υλοποίηση 46 συνενωθούν και µέσω της κοινής εκποµπής να διαµοιραστούν ταυτόχρονα σε όλες τις αλυσίδες ώστε οι µονάδες να ελεγχθούν παράλληλα. Με τον διαµοιρασµό αυτό είναι δυνατό να µειωθεί το µέγεθος του συνόλου ελέγχου και ταυτόχρονα ο χρόνος ελέγχου όλου του ολοκληρωµένου δεδοµένου ότι οι µονάδες που µοιράζονται κοινά διανύσµατα ελέγχου µπορούν να ελεγχθούν ταυτόχρονα Προτεινόµενη τεχνική Η προτεινόµενη τεχνική παρουσιάζεται στο παρακάτω Σχήµα 4.1. Πολλαπλές εξωτερικές ΤΑΜ (Test Acess Mechanism) γραµµές και ένα εξωτερικό ρολόι στέλνουν σήµατα από τον ελεγκτή στο υπο έλεγχο ολοκληρωµένο. Ο χρονοπρογραµµατιστής (scheduler) κωδικοποιεί την πληροφορία που περιγράφει το πότε θα ελεγχθεί κάθε µονάδα. Κάθε µονάδα µπορεί να ελεγχθεί κατά την διάρκεια πολλών περιόδων του ρολογιού. Ένας µετρητής χρησιµοποιείται για κάθε µονάδα για να οδηγήσει το σήµα ενεργοποίησης ολίσθησης (scan enable). Το πόσες φορές θα µετρήσει ο µετρητής, σχετίζεται µε το µήκος της µεγαλύτερης αλυσίδας της µονάδας που είναι συνδεδεµένος. Οι εσωτερικές ΤΑΜ γραµµές (scan chain inputs) οδηγούνται από τις εξωτερικές γραµµές. Για υλοποιηθεί διαµοιρασµός αλυσίδων θα πρέπει οι αντίστοιχες είσοδοι των αλυσίδων να συνδεθούν στις ίδιες ΤΑΜ γραµµές [22]. Σχήµα 4.1: Προτεινόµενη αρχιτεκτονική

47 Κεφάλαιο 4: Υλοποίηση ιαµοιρασµός αλυσίδων ύο διανύσµατα αλυσίδας (chain vector) ui,uj είναι συµβατά όταν δεν υπάρχουν οι συµπληρωµατικές τιµές για κάθε θέση δυαδικού ψηφίου. Αν δύο διανύσµατα αλυσίδας είναι συµβατά τότε αντικαθίστανται από ένα νέο διάνυσµα uk το οποίο περιέχει όλες τις δυαδικές τιµές και των δύο αρχικών διανυσµάτων ui και uj όπως φαίνεται στο Σχήµα 4.2 Σχήµα 4.2: Συνένωση δυο chain vector Το µήκος του uk θα είναι το µέγιστο µήκος µεταξύ των ui και uj. Στο παραπάνω σχήµα το αριστερότερο bit του διανύσµατος ui αντιστοιχίζεται µε το τρίτο δυαδικό ψηφίο του διανύσµατος uj και το δεξιότερο δυαδικό ψηφίο αντιστοιχίζεται µε το προτελευταίο δυαδικό ψηφίο του διανύσµατος uj. Η παράµετρος ολίσθηση δυαδικού ψηφίου (shift_bit) χρησιµοποιείται για να δείξει πόσα bit ολίσθησε το διάνυσµα ui σε σχέση µε το διάνυσµα uj κατά την προσπάθεια συνένωσής τους. Οι τιµές που παίρνει αυτή η παράµετρος είναι από 0 έως και diff_len όπου diff_len είναι η διαφορά µήκους µεταξύ των δύο διανυσµάτων. Εν προκειµένω οι τιµές που παίρνει η παράµετρος αυτή είναι από 0 έως 2. Η δυνατότητα συνένωσης µεταξύ δύο διανυσµάτων αλυσίδας αυξάνεται όσο µεταβάλλεται η παράµετρος ολίσθησης δυαδικού ψηφίου (shift_bit). Αρνητική τιµή στην παράµετρο αυτή δεν είναι δυνατό να δοθεί διότι µετά την συνένωση θα προέκυπτε διάνυσµα µεγαλύτερο από τα αρχικά. Οι παραπάνω ορισµοί και ιδιότητες για την συνένωση µεταξύ συµβατών διανυσµάτων αλυσίδας µπορούν να επεκταθούν και όσο αφορά στην συνένωση µεταξύ συµβατών αλυσίδων. ύο αλυσίδες ci και cj είναι συµβατές µεταξύ τους όταν όλα τα διανύσµατα αλυσίδας (αντίστοιχα για κάθε test cube) είναι συµβατά µεταξύ τους. Μετά την συνένωση των ci και cj και στις δύο αλυσίδες εφαρµόζονται τα ίδια διανύσµατα δοκιµής ck. Υπάρχουν δύο παράµετροι που επηρεάζουν την δυνατότητα συνένωσης µεταξύ δύο αλυσίδων. Η παράµετρος ολίσθησης δυαδικού ψηφίου (shift_bit) στην οποία αναφερθήκαµε και την παράµετρο διάταξης διανύσµατος (vector_order).

48 Κεφάλαιο 4: Υλοποίηση 48 Όσο αφορά στην πρώτη παράµετρο, για µια αλυσίδα που προέκυψε από συνένωση δύο αλυσίδων (merged chain), ορίζεται µια τιµή ολίσθησης δυαδικού ψηφίου (shift_bit) που αφορά σε όλα τα επιµέρους διανύσµατα (chain vectors) και παραµένει σταθερή. Η τιµή αυτή προσδιορίζει πόσους κύκλους ρολογιού θα απενεργοποιηθεί η συγκεκριµένη αλυσίδα όταν θα πρέπει να συνενωθεί µε µια άλλη. Η πιο αποδοτική τιµή για την παράµετρο ολίσθησης δυαδικού ψηφίου επιλέγεται να είναι µία από όλες τις πιθανές τιµές που µπορεί να πάρει, λαµβάνοντας υπόψιν 2 παράγοντες. Πρώτον, τον αριθµό των διανυσµάτων δοκιµής της αλυσίδας ci τα οποία µπορούν να συνενωθούν µε τα αντίστοιχα διανύσµατα της αλυσίδας cj. Αυτός ο αριθµός πρέπει να είναι ο µέγιστος. Και δεύτερον τον αριθµό των επιπρόσθετων Χ που προκύπτουν από την συνένωση των διανυσµάτων. Αυτός ο αριθµός θα πρέπει να είναι ελάχιστος. Η δεύτερη παράµετρος εκµεταλλεύεται το γεγονός ότι η σειρά των διανυσµάτων δοκιµής δεν έχει σηµασία για τα περισσότερα µοντέλα σφαλµάτων, όπως τα stuck-at µοντέλα. Χωρίς βλάβη της γενικότητας υποθέτουµε ότι ο αριθµός των διανυσµάτων δοκιµής (test vector) που αντιστοιχούν στη µονάδα που θα ελεγθεί για πιθανή συννένωση,θα καλείται υπο εξέταση µονάδα (merging chain) είναι µικρότερος ή ίσος του αριθµού των διανυσµάτων δοκιµής που αντιστοιχούν στη µονάδα στόχο (target chain). Μεταξύ των δύο αυτών µονάδων θα γίνει ο έλεγχος για πιθανή συνένωνση των διανυσµάτων ελέγχου. Θα χρησιµοποιήσουµε ένα ευριστικό αλγόριθµο για να επιλέξουµε την τιµή της παραµέτρου διάταξης διανύσµατος (vector_order). Τα διανύσµατα δοκιµής της αλυσίδας στόχου (target chain) ταξινοµούνται, µε βάση το συνολικό πλήθος των µηδενικών και των άσσων, κατά αύξουσα σειρά. ηλαδή, πρώτα τοποθετούµε τα διανύσµατα µε τα περισσότερα µη καθορισµένα δυαδικά ψηφία ( Χ δυαδικά ψηφία), ενώ στο τέλος τοποθετούµε τα διανύσµατα µε τα λιγότερα X. Επίσης τα διανύσµατα της υπο εξέτασης µονάδας (merging chain) ταξινοµούνται µε την αντίστροφη σειρά. Αυτό έχει σαν αποτέλεσµα το σύνολο δοκιµής µε τα λιγότερα µη καθορισµένα δυαδικά ψηφία να συνενώνονται µε το σύνολο δοκιµής µε τα περισσότερα µη καθορισµένα δυαδικά ψηφία. Στο Σχήµα 4.3 παρουσιάζεται ένα παράδειγµα διαµοιρασµού αλυσίδων µεταξύ δύο core. Το core1 (merging chain) έχει δύο αλυσίδες, τις c11 και c12 και τρια διανύσµατα δοκιµής (ένα σε κάθε γραµµή) και το core2(target chain) έχει µια αλυσίδα, c21 και τέσσερα διανύσµατα δοκιµής όπως φάινεται στην εικόνα. Το σύνολο ελέγχου της αλυσίδας c11 µπορεί να συνενωθεί µε το σύνολο ελέγχου της αλυσίδας c21, µε αποτέλεσµα το σύνολο ελέγχου που προκύπτει στo Σχήµα 4.3(b). Σε αυτό το παράδειγµα η παράµετρος ολίσθησης δυαδικού ψηφίου (shift_bit) είναι 1 και για τις δύο αλυσίδες και το µέγεθος του συνόλου ελέγχου µειώνεται από τα 38 δυαδικά ψηφία σε 29 δυαδικά ψηφία.

49 Κεφάλαιο 4: Υλοποίηση 49 Σχήµα 4.3: Συνένωση Αλυσίδων Στην προηγούµενη αναφορά για διαµοιρασµό µεταξύ αλυσίδων που ανήκουν σε διαφορετικές µονάδες (core) τίθεται ως προαπαιτούµενο να είναι δυνατή η συνένωση όλων των διανυσµάτων δοκιµής της πρώτης µονάδας µε τα διανύσµατα δοκιµής της δεύτερης µονάδας. Ο περιορισµός αυτός είναι πολύ δεσµευτικός και συχνά δύσκολο να υλοποιηθεί ώστε επιτευχθεί πλήρης συνένωση. Μπορούµε να αποφύγουµε έναν τέτοιο σκληρό περιορισµό αν εφαρµόσουµε τον έλεγχο σε δυο φάσεις. Κατά την πρώτη φάση τα διανύσµατα δοκιµής που µπορούν να συνενωθούν θα εφαρµόζονται παράλληλα ή ταυτόχρονα και στις δύο µονάδες. Τα υπολειπόµενα διανύσµατα που δεν είναι δυνατό να συνενωθούν, θα εφαρµόζονται ξεχωριστά και σειριακά στις αντίστοιχες µονάδες. Αυτό καλείται µερική συµβατότητα (partial compatibility) ιαµοιρασµός αλυσίδων µεταξύ µονάδων Στην προηγούµενη παράγραφο περιγράφηκε η συνένωση µεταξύ δύο αλυσίδων. Σε αυτή την παράγραφο θα παρουσιάσουµε έναν αλγόριθµο για διαµοιρασµό αλυσίδων µεταξύ διαφορετικών µονάδων, όπου κάθε µια έχει πολλές αλυσίδες. Χρησιµοποιούµε ένα γράφο για να αναπαραστήσουµε τoν έλεγχο συµβατότητας µεταξύ των αλυσίδων διαφορετικών µονάδων. Έστω G (V,E) ένας γράφος µε σύνολο ακµών E και σύνολο κορυφών V. Κάθε κορυφή αντιστοιχεί σε µια αλυσίδα. Μια ακµή Ε, µεταξύ δύο κορυφών, υπάρχει αν και µόνο αν οι αντίστοιχες αλυσίδες είναι συµβατές και εποµένως δυνατό να συνενωθούν.

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

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

Διαβάστε περισσότερα

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

Σωστή απάντηση το: Γ. Απάντηση Ειδικά Θέματα Ελέγχου Ορθής Λειτουργίας VLSI Συστημάτων - Σχεδιασμός για Εύκολο Έλεγχο Εξετάσεις ΟΣΥΛ & ΕΤΥ 4-7- 2016 Ειδικά Θέματα Σχεδίασης Ψηφιακών Συστημάτων Εξετάσεις μαθήματος επιλογής Τμήματος Μηχανικών

Διαβάστε περισσότερα

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

Συμπίεση Δεδομένων Δοκιμής (Test Data Compression) Νικολός Δημήτριος, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών & Πληροφορικής, Παν Πατρών Συμπίεση Δεδομένων Δοκιμής (Test Data Compression), Παν Πατρών Test resource partitioning techniques ΑΤΕ Automatic Test Equipment (ATE) based BIST based Έλεγχος παραγωγής γής βασισμένος σε ΑΤΕ Μεγάλος

Διαβάστε περισσότερα

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

Bλάβες, ελαττώματα και. Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν. Πατρών Bλάβες, ελαττώματα και μοντέλα σφαλμάτων Περίγραμμα ργρ παρουσίασης Βλάβες (Failures) Ελαττώματα (Defects) Μοντέλα σφαλμάτων (Fault models) Μοντέλο σφαλμάτων μόνιμης μης τιμής (Stuck-at faults Βραχυκυκλώματα

Διαβάστε περισσότερα

Τεχνικές και κυκλώματα εμφώλευσης συνόλου δοκιμής για τον έλεγχο VLSI συστημάτων

Τεχνικές και κυκλώματα εμφώλευσης συνόλου δοκιμής για τον έλεγχο VLSI συστημάτων Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Π Α Τ Ρ Ω Ν Π Ο Λ Υ Τ Ε Χ Ν Ι Κ Η Σ Χ Ο Λ Η ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Τεχνικές και κυκλώματα εμφώλευσης συνόλου

Διαβάστε περισσότερα

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

Κεφάλαιο 15 o. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Έλεγχος Ορθής Λειτουργίας 2 ΚΥΚΛΩΜΑΤΑ VLSI Πανεπιστήμιο Ιωαννίνων Έλεγχος Ορθής Λειτουργίας Κεφάλαιο 15 o Τμήμα Μηχανικών Η/Υ και Πληροφορικής Γ. Τσιατούχας ΚΥΚΛΩΜΑΤΑ VLSI Διάρθρωση 1. Ελαττώματα, σφάλματα, λάθη 2. Ανίχνευση σφαλμάτων

Διαβάστε περισσότερα

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

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Φεβ-5 ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 25 Κεφάλαιο 3 -i: Σχεδιασµός Συνδυαστικών Κυκλωµάτων Περίληψη Αρχές σχεδιασµού Ιεραρχία σχεδιασµού Σχεδιασµός

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Τεχνικές ελέγχου ορθής λειτουργίας µε έµφαση στη χαµηλή κατανάλωση ισχύος ιδακτορική ιατριβή Μάτσιεϊ Κ. Μπέλλος

Διαβάστε περισσότερα

Σχεδίαση για Δοκιμαστικότητα (Design for Testability DFT) Δημήτρης Νικολός Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν.

Σχεδίαση για Δοκιμαστικότητα (Design for Testability DFT) Δημήτρης Νικολός Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν. Σχεδίαση για Δοκιμαστικότητα (Design for Testability DFT) Έλεγχος Πολύπλοκων Συστημάτων Μπορούμε να εξάγουμε διανύσματα δοκιμής για την ανίχνευση όλων των σφαλμάτων που μας ενδιαφέρουν; O χρόνος εξαγωγής

Διαβάστε περισσότερα

Προβλήµατα και τεχνικές

Προβλήµατα και τεχνικές LOW POWER TESTING Προβλήµατα και τεχνικές 1 Προβλήµατα Προβλήµατα Πιθανές βλάβες κατά την διάρκεια της διαδικασίας λόγω αυξηµένης διακοπτικής δραστηριότητας και συνήθως µη ποιοτικού packaging που οδηγούν

Διαβάστε περισσότερα

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

Τεχνικές βελτιστοποίησης µε σκοπό την επίτευξη χαµηλής κατανάλωσης ισχύος Low power techniques Τεχνικές βελτιστοποίησης µε σκοπό την επίτευξη χαµηλής κατανάλωσης ισχύος Γενικά Τεχνικές βιοµηχανίας Μείωση χωρητικοτήτων chip και package Μέσω process development πολύ αποτελεσµατική

Διαβάστε περισσότερα

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2018-2019 Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD ΗΥ220 - Βασίλης Παπαευσταθίου 1 Transistor: Δομική μονάδα κυκλωμάτων Τα ολοκληρωμένα κυκλώματα

Διαβάστε περισσότερα

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD ΗΥ220 - Γιώργος Καλοκαιρινός & Βασίλης Παπαευσταθίου 1 Transistor: Δομική μονάδα κυκλωμάτων Τα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις: Σύστημα μνήμης Ο κύριος σκοπός στο σχεδιασμό ενός συστήματος μνήμης είναι να προσφέρουμε επαρκή χωρητικότητα αποθήκευσης διατηρώντας ένα αποδεκτό επίπεδο μέσης απόδοσης και επίσης χαμηλό μέσο κόστος ανά

Διαβάστε περισσότερα

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

7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού 7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού Εισαγωγή Η χειρονακτική σχεδίαση ενός ψηφιακού συστήµατος είναι εξαιρετικά δύσκολη και επιρρεπής σε λάθη Συστήµατα που ξεπερνούς τις µερικές

Διαβάστε περισσότερα

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

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI Ε.Μ.Π. - ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ VLSI

Διαβάστε περισσότερα

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

σφαλμάτων Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν. Πατρών Λογική εξομοίωση και εξομοίωση σφαλμάτων Περίγραμμα ργρ Επιβεβαίωση σχεδιασμού και εξομοίωση (Verification and Simulation) Είδη εξομοίωσης (Types of Simulation) Εξομοίωση σφαλμάτων (Fault Simulation) Σειριακή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

Διαβάστε περισσότερα

Προγραµµατισµός Συστηµάτων Πραγµατικού Χρόνου

Προγραµµατισµός Συστηµάτων Πραγµατικού Χρόνου Προγραµµατισµός Συστηµάτων Πραγµατικού Χρόνου Εφαρµογές σε µικρά ενσωµατωµένα συστήµατα Ιωάννης Καλόµοιρος Αναπληρωτής Καθηγητής Τµήµα Μηχανικών Πληροφορικής Μάθηµα 2ο Περίληψη και σηµαντικά σηµεία Τα

Διαβάστε περισσότερα

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

Κεφάλαιο Τρία: Ψηφιακά Ηλεκτρονικά Κεφάλαιο Τρία: 3.1 Τι είναι αναλογικό και τι ψηφιακό µέγεθος Αναλογικό ονοµάζεται το µέγεθος που µπορεί να πάρει οποιαδήποτε τιµή σε µια συγκεκριµένη περιοχή τιµών π.χ. η ταχύτητα ενός αυτοκινήτου. Ψηφιακό

Διαβάστε περισσότερα

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

8.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των καταχωρητών. Θα υλοποιηθεί ένας απλός στατικός καταχωρητής 4-bit µε Flip-Flop τύπου D και θα µελετηθεί

Διαβάστε περισσότερα

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

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL 3.1 Εισαγωγή στα FLIP FLOP 3.1.1 Θεωρητικό Υπόβαθρο Τα σύγχρονα ακολουθιακά κυκλώματα με τα οποία θα ασχοληθούμε στο εργαστήριο των Ψηφιακών συστημάτων

Διαβάστε περισσότερα

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

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 1 η :

Διαβάστε περισσότερα

Ψηφιακά ολοκληρωμένα κυκλώματα

Ψηφιακά ολοκληρωμένα κυκλώματα Ψηφιακά ολοκληρωμένα κυκλώματα Εισαγωγή Γιώργος Δημητρακόπουλος Δημοκρίτειο Πανεπιστήμιο Θράκης Φθινόπωρο 2013 Ψηφιακά ολοκληρωμένα κυκλώματα 1 O κόσμος των ηλεκτρονικών... Ψηφιακά ολοκληρωμένα κυκλώματα

Διαβάστε περισσότερα

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (8 η σειρά διαφανειών) ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Δρ. Δ. Λαμπάκης (8 η σειρά διαφανειών) Τα μοντέρνα ψηφιακά κυκλώματα (λογικές πύλες, μνήμες, επεξεργαστές και άλλα σύνθετα κυκλώματα) υλοποιούνται σήμερα

Διαβάστε περισσότερα

Συνδυαστικά Λογικά Κυκλώματα

Συνδυαστικά Λογικά Κυκλώματα Συνδυαστικά Λογικά Κυκλώματα Ένα συνδυαστικό λογικό κύκλωμα συντίθεται από λογικές πύλες, δέχεται εισόδους και παράγει μία ή περισσότερες εξόδους. Στα συνδυαστικά λογικά κυκλώματα οι έξοδοι σε κάθε χρονική

Διαβάστε περισσότερα

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

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ψηφιακά Κυκλώματα ( ο μέρος) ΜΥΥ-6 Εισαγωγή στους Η/Υ και στην Πληροφορική Ψηφιακά κυκλώματα Οι δύο λογικές τιμές, αντιστοιχούν σε ηλεκτρικές τάσεις Υλοποιούνται με τρανζίστορ ή διόδους: ελεγχόμενοι διακόπτες

Διαβάστε περισσότερα

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

Διαβάστε περισσότερα

Κυκλωμάτων» Χειμερινό εξάμηνο

Κυκλωμάτων» Χειμερινό εξάμηνο «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Εισαγωγή στα Συστήματα Ολοκληρωμένων Κυκλωμάτων Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής http://diceslab.cied.teiwest.gr E-mail: pkitsos@teimes.gr

Διαβάστε περισσότερα

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών) ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών) Τα ηλεκτρονικά κυκλώματα, ιδιαίτερα τα ψηφιακά χρησιμοποιούνται για την υλοποίηση λογικών συναρτήσεων και την αποθήκευση

Διαβάστε περισσότερα

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

Βασικές Έννοιες της Πληροφορικής

Βασικές Έννοιες της Πληροφορικής Βασικές Έννοιες της Πληροφορικής Ηλεκτρονικός Υπολογιστής Αυτόματη ηλεκτρονική μηχανή που δέχεται, φυλάσσει, επαναφέρει, επεξεργάζεται και παρουσιάζει πληροφορίες σύμφωνα με προκαθορισμένες εντολές. Δεδομένα

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΜΙΚΡΟΗΛΕΚΤΡΟΝΙΚΗ - VLSI Ενότητα: Συνδιαστικά κυκλώματα, βασικές στατικές λογικές πύλες, σύνθετες και δυναμικές πύλες Κυριάκης

Διαβάστε περισσότερα

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

4/10/2008. Στατικές πύλες CMOS και πύλες με τρανζίστορ διέλευσης. Πραγματικά τρανζίστορ. Ψηφιακή λειτουργία. Κανόνες ψηφιακής λειτουργίας 2 η διάλεξη 25 Σεπτεμβρίου Πραγματικά τρανζίστορ Στατικές πύλες CMOS και πύλες με τρανζίστορ διέλευσης Γιώργος Δημητρακόπουλος Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Η τάση στο gate του τρανζίστορ

Διαβάστε περισσότερα

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

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

Διαβάστε περισσότερα

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

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

Εισαγωγή στα κυκλώµατα CMOS 2 1 η Θεµατική Ενότητα : Εισαγωγή στα κυκλώµατα CMOS Επιµέλεια διαφανειών:. Μπακάλης Εισαγωγή Τεχνολογία CMOS = Complementary Metal Oxide Semiconductor Συµπληρωµατικού Ηµιαγωγού Μετάλλου Οξειδίου Αποτελείται

Διαβάστε περισσότερα

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

5.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 5 ΚΩ ΙΚΟΠΟΙΗΣΗ BCD Σκοπός: Η κατανόηση της µετατροπής ενός τύπου δυαδικής πληροφορίας σε άλλον (κωδικοποίηση/αποκωδικοποίηση) µε τη µελέτη της κωδικοποίησης BCD

Διαβάστε περισσότερα

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

Καταστάσεων. Καταστάσεων 8 η Θεµατική Ενότητα : Εισαγωγή Ησχεδίαση ενός ψηφιακού συστήµατος µπορεί να διαιρεθεί σε δύο µέρη: τα κυκλώµατα επεξεργασίας δεδοµένων και τα κυκλώµατα ελέγχου. Το κύκλωµα ελέγχου δηµιουργεί σήµατα για

Διαβάστε περισσότερα

4 η Θεµατική Ενότητα : Συνδυαστική Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

4 η Θεµατική Ενότητα : Συνδυαστική Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός 4 η Θεµατική Ενότητα : Συνδυαστική Λογική Επιµέλεια διαφανειών: Χρ. Καβουσιανός Λογικά Κυκλώµατα Ø Τα λογικά κυκλώµατα διακρίνονται σε συνδυαστικά (combinational) και ακολουθιακά (sequential). Ø Τα συνδυαστικά

Διαβάστε περισσότερα

Οργάνωση της φυσικής δομής του ολοκληρωμένου κυκλώματος

Οργάνωση της φυσικής δομής του ολοκληρωμένου κυκλώματος Οργάνωση της φυσικής δομής του ολοκληρωμένου κυκλώματος Γιώργος Δημητρακόπουλος Δημοκρίτειο Πανεπιστήμιο Θράκης Φθινόπωρο 2013 Ψηφιακά ολοκληρωμένα κυκλώματα 1 Οργάνωση του φυσικού σχεδίου Αποφασίζουμε

Διαβάστε περισσότερα

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

Διαβάστε περισσότερα

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (10 η σειρά διαφανειών) ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Δρ. Δ. Λαμπάκης (10 η σειρά διαφανειών) Σχεδιασμός και Προσομοίωση Βασικών Κυκλωμάτων Τεχνολογίας CMOS Με βάση το εργαλείο σχεδιασμού Microwind Σκοπός: η

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 3 ΣΥΝΔΥΑΣΤΙΚΑ ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ: ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ

ΑΣΚΗΣΗ 3 ΣΥΝΔΥΑΣΤΙΚΑ ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ: ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΗ 3 ΣΥΝΔΥΑΣΤΙΚΑ ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ: ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Αντικείμενο της άσκησης: Μεθοδολογία ανάλυσης και σχεδίασης συνδυαστικών λογικών κυκλωμάτων και λειτουργική εξομοίωση με το λογισμικό EWB. Συνδυαστικά

Διαβάστε περισσότερα

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

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΙΚΡΟΗΛΕΚΤΡΟΝΙΚΗΣ Εισαγωγή στη Μικροηλεκτρονική (ΕΤΥ-482) 1 ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΙΚΡΟΗΛΕΚΤΡΟΝΙΚΗΣ A. Πίνακες αληθείας λογικών πυλών. Στη θετική λογική το λογικό 0 παριστάνεται µε ένα χαµηλό δυναµικό, V L, ενώ το λογικό 1

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,

Διαβάστε περισσότερα

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2 Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.

Διαβάστε περισσότερα

Έλεγχος Ψηφιακών κυκλωμάτων και σχεδιασμός για δοκιμαστικότητα

Έλεγχος Ψηφιακών κυκλωμάτων και σχεδιασμός για δοκιμαστικότητα Κεφάλαιο 17. Έλεγχος Ψηφιακών κυκλωμάτων και σχεδιασμός για δοκιμαστικότητα Το Κεφάλαιο αυτό αποτελεί μια εισαγωγή στο αντικείμενο του ελέγχου ψηφιακών κυκλωμάτων καθώς και στις τεχνικές σχεδίασης για

Διαβάστε περισσότερα

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

Περιεχόµενα. Πρόλογος 11. 0 Εισαγωγή 21

Περιεχόµενα. Πρόλογος 11. 0 Εισαγωγή 21 Περιεχόµενα Πρόλογος 11 Σκοπός αυτού του βιβλίου 11 Σε ποιους απευθύνεται αυτό το βιβλίο 12 Βασικά χαρακτηριστικά του βιβλίου 12 Κάλυψη συστηµάτων CAD 14 Εργαστηριακή υποστήριξη 14 Συνοπτική παρουσίαση

Διαβάστε περισσότερα

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (9 η σειρά διαφανειών) ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Δρ. Δ. Λαμπάκης (9 η σειρά διαφανειών) Διεργασίες Μικροηλεκτρονικής Τεχνολογίας, Οξείδωση, Διάχυση, Φωτολιθογραφία, Επιμετάλλωση, Εμφύτευση, Περιγραφή CMOS

Διαβάστε περισσότερα

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΗΜΙΑΓΩΓΙΚΩΝ ΜΝΗΜΩΝ. ΒΑΣΙΚΗ ΛΕΙΤΟΥΡΓΙΑ RAM CMOS. ΤΥΠΟΙ ΚΥΤΤΑΡΩΝ ΑΡΧΕΣ

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΟΜΑ Α ΑΣΚΗΣΕΩΝ ΑΣΚΗΣΗ Στην εικόνα παρακάτω φαίνεται ένα νευρωνικό

Διαβάστε περισσότερα

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

Διαβάστε περισσότερα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

Διαβάστε περισσότερα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 5 2 Εγκυροποίηση Λογισµικού Εγκυροποίηση Λογισµικού

Διαβάστε περισσότερα

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

Διαβάστε περισσότερα

10o ΕΡΓΑΣΤΗΡΙΟ Στοιχεία Χωροθεσίας (Layout) CMOS

10o ΕΡΓΑΣΤΗΡΙΟ Στοιχεία Χωροθεσίας (Layout) CMOS 10o ΕΡΓΑΣΤΗΡΙΟ Στοιχεία Χωροθεσίας (Layout) CMOS Εισαγωγή Θα ξεκινήσουμε σχεδιάζοντας της χωροθεσία μεμονωμένων διατάξεων Θα σχεδιάσουμε τα διάφορα επίπεδα της διάταξης (του τρανζίστορ). Τα ΟΚ κατασκευάζονται

Διαβάστε περισσότερα

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

ΑΣΚΗΣΗ 2 η N-MOS ΚΑΙ P-MOS TRANSISTOR ΩΣ ΔΙΑΚΟΠΤΗΣ ΑΣΚΗΣΗ 2 η N-MOS ΚΑΙ P-MOS TRANSISTOR ΩΣ ΔΙΑΚΟΠΤΗΣ ΘΕΩΡΙΑ 1. Εργαλεία εξομοίωσης, SPICE, αρχεία περιγραφής κυκλωμάτων (netlist) (Παρ. 3.4, σελ 152-155) 2. To transistor ως διακόπτης, πύλη διέλευσης. (Παρ

Διαβάστε περισσότερα

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

Εργαστηριακή άσκηση. Θεωρητικός και πρακτικός υπολογισμός καθυστερήσεων σε αναστροφείς CMOS VLSI Ε.Μ.Π. - ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ VLSI

Διαβάστε περισσότερα

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

7 η διάλεξη Ακολουθιακά Κυκλώματα 7 η διάλεξη Ακολουθιακά Κυκλώματα 1 2 3 4 5 6 7 Παραπάνω βλέπουμε ακολουθιακό κύκλωμα σχεδιασμένο με μανταλωτές διαφορετικής φάσης. Παρατηρούμε ότι συνδυαστική λογική μπορεί να προστεθεί μεταξύ και των

Διαβάστε περισσότερα

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 3 1 / 25 Ενότητα 3 οκιµή Προγραµµάτων (Program Testing)

Διαβάστε περισσότερα

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

7.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 7 ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΑΝ ΑΛΩΤΕΣ FLIP FLOP Σκοπός: Η κατανόηση της λειτουργίας των βασικών ακολουθιακών κυκλωµάτων. Θα µελετηθούν συγκεκριµένα: ο µανδαλωτής (latch)

Διαβάστε περισσότερα

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον

Διαβάστε περισσότερα

5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός 5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική Επιµέλεια διαφανειών: Χρ. Καβουσιανός Μνήµη Η µνήµη καταλαµβάνει το µεγαλύτερο µέρος ενός υπολογιστικού συστήµατος Δύο τύποι: ROM - RAM RΟΜs CPU

Διαβάστε περισσότερα

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

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή 6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:

Διαβάστε περισσότερα

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

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops K24 Ψηφιακά Ηλεκτρονικά 9: TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΧΝΟΛΟΓΙΚΟ Περιεχόμενα 1 2 3 Γενικά Ύστερα από τη μελέτη συνδυαστικών ψηφιακών κυκλωμάτων, θα μελετήσουμε

Διαβάστε περισσότερα

Μνήμη και Προγραμματίσιμη Λογική

Μνήμη και Προγραμματίσιμη Λογική Μνήμη και Προγραμματίσιμη Λογική Η μονάδα μνήμης είναι ένα στοιχείο κυκλώματος στο οποίο μεταφέρονται ψηφιακές πληροφορίες προς αποθήκευση και από το οποίο μπορούμε να εξάγουμε αποθηκευμένες πληροφορίες

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

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

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα Κεφάλαιο 6 Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα 6.1 Εισαγωγή Η εκτέλεση διαδοχικών λειτουργιών απαιτεί τη δημιουργία κυκλωμάτων που μπορούν να αποθηκεύουν πληροφορίες, στα ενδιάμεσα στάδια των

Διαβάστε περισσότερα

Πανεπιστήμιο Αιγαίου Πολυτεχνική Σχολή. Τμήμα Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων. Διπλωματική Εργασία

Πανεπιστήμιο Αιγαίου Πολυτεχνική Σχολή. Τμήμα Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων. Διπλωματική Εργασία Πανεπιστήμιο Αιγαίου Πολυτεχνική Σχολή Τμήμα Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων Διπλωματική Εργασία Συμπίεση Δεδομένων Ελέγχου Ψηφιακών Κυκλωμάτων Άγνωστης Δομής Με Χρήση Γραμμικών Αποσυμπιεστών

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΝΗΜΗ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΛΟΓΙΚΗ ΥΠΕΥΘΥΝΟΣ ΕΡΓΑΣΤΗΡΙΩΝ: ΧΡΥΣΟΣΤΟΜΟΣ ΧΡΥΣΟΣΤΟΜΟΥ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2001 ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ

Διαβάστε περισσότερα

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

Αλγόριθµοι Εκτίµησης Καθυστέρησης και Αλγόριθµοι Εκτίµησης Καθυστέρησης και Βελτιστοποίησης Εισαγωγή Το κύριο πρόβληµα στην σχεδίαση κυκλωµάτων είναι η επίτευξη της µέγιστης απόδοσης για την δεδοµένη τεχνολογία. Μεγιστοποίηση απόδοσης: (α)

Διαβάστε περισσότερα

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

Διαβάστε περισσότερα

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα 1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα Δεκαδικοί Αριθµοί Βάση : 10 Ψηφία : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Αριθµοί: Συντελεστές Χ δυνάµεις του 10 7392.25 = 7x10 3 + 3x10 2 + 9x10 1 + 2x10 0 + 2x10-1 + 5x10-2

Διαβάστε περισσότερα

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών Εισαγωγή στην επιστήµη των υπολογιστών Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών 1 Δεκαδικό και Δυαδικό Σύστηµα Δύο κυρίαρχα συστήµατα στο χώρο των υπολογιστών Δεκαδικό: Η βάση του συστήµατος

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Ακαδηµαϊκό Έτος 2006 2007 Γραπτή Εργασία #2 Ηµεροµηνία Παράδοσης 28-0 - 2007 ΠΛΗ 2: Ψηφιακά Συστήµατα ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ Άσκηση : [5 µονάδες] Έχετε στη

Διαβάστε περισσότερα

Συστήµατα DAQ. 6.1 Εισαγωγή

Συστήµατα DAQ. 6.1 Εισαγωγή 6 Συστήµατα DAQ 6.1 Εισαγωγή Με τον όρο Acquisition (Απόκτηση) περιγράφουµε τον τρόπο µε τον οποίο µεγέθη όπως η πίεση, η θερµοκρασία, το ρεύµα µετατρέπονται σε ψηφιακά δεδοµένα και απεικονίζονται στην

Διαβάστε περισσότερα

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

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3 ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3 ΑΠΛΟΠΟΙΗΣΗ και ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΚΩΝ ΣΥΝΑΡΤΗΣΕΩΝ Σκοπός: Η κατανόηση της σχέσης µιας λογικής συνάρτησης µε το αντίστοιχο κύκλωµα. Η απλοποίηση λογικών συναρτήσεων

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟ Ι. ΓΙΑΝΝΑΤΣΗΣ

ΑΝΤΙΚΕΙΜΕΝΟ Ι. ΓΙΑΝΝΑΤΣΗΣ ΣΧΕΔΙΑΣΜΟΣ ΣΥΣΤΗΜΑΤΩΝ ΠΑΡΑΓΩΓΗΣ ΜΕΤΡΗΣΗ ΕΡΓΑΣΙΑΣ Ι. ΓΙΑΝΝΑΤΣΗΣ ΑΝΤΙΚΕΙΜΕΝΟ Η Μέτρηση Εργασίας (Work Measurement ή Time Study) έχει ως αντικείμενο τον προσδιορισμό του χρόνου που απαιτείται από ένα ειδικευμένο

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών Εισαγωγή στην επιστήµη των υπολογιστών Αναπαράσταση Αριθµών 1 Δεκαδικό και Δυαδικό Σύστηµα Δύο κυρίαρχα συστήµατα στο χώρο των υπολογιστών Δεκαδικό: Η βάση του συστήµατος είναι το 10 αναπτύχθηκε τον 8

Διαβάστε περισσότερα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

Διαβάστε περισσότερα

Σύνθεση Ψηφιακών Συστηµάτων. Χ. Καβουσιανός

Σύνθεση Ψηφιακών Συστηµάτων. Χ. Καβουσιανός Σύνθεση Ψηφιακών Συστηµάτων Χ. Καβουσιανός Μικροηλεκτρονική Αυξανόµενο επίπεδο ολοκλήρωσης ηλεκτρονικών συσκευών Κατασκευή περίπλοκων συστηµάτων (VLSI) Αυξανόµενη πολυπλοκότητα καλύτερες διαδικασίες σχεδιασµού.

Διαβάστε περισσότερα

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 2: Τεχνικές για Σχεδιασμό Χαμηλής Κατανάλωσης Ισχύος στα MPSoCs Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Διαβάστε περισσότερα

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

ΑΡΙΘΜΗΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΥΠΟΛΟΓΙΣΜΟΥ ΤΗΣ ΑΞΙΟΠΙΣΤΙΑΣ ΣΥΣΤΗΜΑΤΩΝ ΑΡΙΘΜΗΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΥΠΟΛΟΓΙΣΜΟΥ ΤΗΣ ΑΞΙΟΠΙΣΤΙΑΣ ΣΥΣΤΗΜΑΤΩΝ Συστήµατα µε στοιχεία συνδεδεµένα σε σειρά Με χρήση των αποτελεσµάτων από τα διαγράµµατα Markov, είναι δυνατόν να δηµιουργούνται ισοδύναµα διαγράµµατα

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ Συνδυαστικά Κυκλώµατα. 3.2 Σχεδιασµός Συνδυαστικής Λογικής 3.3 ιαδικασία Ανάλυσης 3.4 ιαδικασία Σχεδιασµού.

ΚΕΦΑΛΑΙΟ Συνδυαστικά Κυκλώµατα. 3.2 Σχεδιασµός Συνδυαστικής Λογικής 3.3 ιαδικασία Ανάλυσης 3.4 ιαδικασία Σχεδιασµού. Περιεχόµενα ΚΕΦΑΛΑΙΟ 3 Συνδυαστικά Κυκλώµατα 3.1 Συνδυαστικά Κυκλώµατα 3.2 Σχεδιασµός Συνδυαστικής Λογικής 3.3 ιαδικασία Ανάλυσης 3.4 ιαδικασία Σχεδιασµού 1 2 3.1 Συνδυαστικά Κυκλώµατα Έξοδος οποιαδήποτε

Διαβάστε περισσότερα

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

Ψηφιακά Ηλεκτρονικά. Μάθηµα 1ο.. Λιούπης Ψηφιακά Ηλεκτρονικά Μάθηµα ο. Λιούπης Ύλη του µαθήµατος () Ψηφιακά ολοκληρωµένα κυκλώµατα Πλεονεκτήµατα-µειονεκτήµατα Λογικές οικογένειες Χαρακτηριστικά Λογική άµεσα συζευγµένων transistor Λογική αντίστασης-transistor

Διαβάστε περισσότερα

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων

Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων Κεφάλαιο 5 Διασύνδεση Αναλογικών & Ψηφιακών Συστηµάτων Αναλογικές & Ψηφιακές Διατάξεις Control Systems Laboratory Τα διάφορα μεγέθη των φυσικών διεργασιών τα μετράμε με αισθητήρες που ουσιαστικά παρέχουν

Διαβάστε περισσότερα