Θέματα Διπλωματικών Εργασιών Επισκόπηση Οι προτεινόμενες Διπλωματικές Εργασίες αφορούν στην περιοχή της Σχεδίασης Συστημάτων VLSI, στην Υλοποίηση αλγορίθμων SP καθώς και στην Σχεδίαση Συστημάτων-επί-Ψηφίδας (Sytem on a Chip - SoC) που αποτελεί την σύγχρονη άποψη στη σχεδίαση Μικροϋπολογιστικών Συστημάτων. Σε κάθε μια από τις προτεινόμενες εργασία η έμφαση είναι στην ερευνητική ή στην αναπτυξιακή κατεύθυνση. Οι στόχοι των Διπλωματικών αυτών εργασιών είναι οι εξής: Απόκτηση τεχνογνωσίας στην ευρύτερη περιοχή της Μικροηλεκτρονικής Τεχνολογίας και των SoC. Μεθοδολογίες Σχεδίασης Συστημάτων με τη χρήση Γλώσσας Περιγραφής Υλικού (VHL ή Verilog) και την λειτουργική προσομοίωσή τους (ModelSim). Μεθοδολογίες Σχεδίασης SoC που περιλαμβάνει την συνεργατική σχεδίαση υλικού και του λογισμικού. Για παράδειγμα την σχεδίαση υλικού μιας περιφερειακής μονάδας και της διασύνδεσης της με το διάδρομο του συστήματος καθώς και του λογισμικού οδήγησης των περιφερειακών ή/και της εφαρμογής. Τεχνογνωσία και εμπειρία στην χρήση και αξιοποίηση εργαλείων σχεδίασης VLSI που χρησιμοποιούνται σήμερα στην σύγχρονη βιομηχανία Μικροηλεκτρονικής. Στις περισσότερες εργασίες θα γίνει χρήση των εργαλείων της πλατφόρμας Synopy. Ειδικότερα με τα eign Compiler και PrimePower της Synopy, η σύνθεση των κυκλωμάτων/συστημάτων που θα σχεδιασθούν, θα μετρηθούν οι επιδόσεις όσον αφορά σε επιφάνεια, ταχύτητας λειτουργίας και κατανάλωσης ισχύος. Να σημειωθεί ότι για την διευκόλυνση της σχεδίασης ASIC τα μέλη του εργαστηρίου έχουν δημιουργήσει περιβάλλον ροής σχεδίασης που επιτρέπει σε ένα νέο σχεδιαστή (όπως είναι ένας Διπλωματικός) να ξεκινήσει γρήγορα χωρίς χρονική επιβάρυνση, με φιλικό uer interface για την τοποθέτηση των παραμέτρων της σχεδίασης του. Προαπαιτούμενα: Σε όλα τα θέματα προαπαιτούμενη είναι η καλή γνώση γλωσσών περιγραφής υλικού (Verilog, VHL) και ειδικότερα στο 1.5 (Σχεδίαση μνημών SRAM ανθεκτικών σε ακτινοβολία) απαιτείται η καλή γνώση του προγράμματος SPICE και εμπειρία στο Cadence-Virtuoo, στα 2.1 και 2.2 (Υλοποίηση αλγορίθμων SP) επιπλέον των Verilog, VHL εμπειρία στο Matlab ενώ στα 3.1 και 3.2 (Σχεδίαση Συστημάτων επί Ψηφίδας - SoC) θα απαιτηθεί και ευχέρεια σε προγραμματισμό (C και Aembly). Επικοινωνία Καθ. Κ. Πεκμεστζή Τηλ: 210-772 2500 e-mail: pekme@microlab.ntua.gr Μεταδιδάκτορας Νίκος Μοσχόπουλος Τηλ: 210-772 3653 e-mail: Niko@microlab.ntua.gr Υ.Δ. Κώστας Τσουμάνης Τηλ: 210-772 3653 e-mail: kotatoumani@microlab.ntua.gr Υ.Δ. Δ. Μπεκιάρης Τηλ: 210-772 3653 e-mail: mpekiari@microlab.ntua.gr Στη συνέχεια γίνεται μια συνοπτική περιγραφή των θεμάτων. Λεπτομέρειες που αφορούν σε όλες τις εργασίες, θα δοθούν σε προφορική επικοινωνία με τον διδάσκοντα.
Αθροιστής 4:2 Αθροιστής Διάδοσης Κρατουμένου CS Αθροιστής 1 Περιοχή Σχεδίασης Συστημάτων VLSI 1.1 Αποδοτική Σχεδίαση Σύνθετων Αριθμητικών Μονάδων (2 ΕΡΓΑΣΙΕΣ) Στο αριθμητικό τμήμα των αλγορίθμων που χρησιμοποιούνται συχνά σε εφαρμογές (π.χ. ψηφιακής επεξεργασίας σήματος, τηλεπικοινωνιών και κρυπτογραφίας) οι βασικές πράξεις (πρόσθεση, πολλαπλασιασμός) εμφανίζονται τις περισσότερες φορές συνδυασμένες μεταξύ τους. Έτσι συχνά παρατηρούμε την ανάγκη υλοποίησης σύνθετων πράξεων της μορφής όπως: x a y, (x 1 x 2 ) a, (x 1 x 2 ) a y, x 1 a 1 x 2 a 2 y. a i yn 1 x n ΠΟΛΛΑΠΛΑΣΙΑΣΤΗΣ: Κύκλωμα Μερικών Γινόμενων και Δένδρο Wallace CS Αθροιστών. Ταχύς Αθροιστής y n Ταχύς Αθροιστής a i x n ΠΟΛΛΑΠΛΑΣΙΑΣΤΗΣ: Κύκλωμα Μερικών Γινόμενων και Δένδρο Wallace CS Αθροιστών. y n Ταχύς Αθροιστής yn 1 Σχήμα 1. Υπάρχουσες υλοποιήσεις MAC (-Accumulator) για εφαρμογές SP (π.χ. ενός FIR φίλτρου). Για παράδειγμα σε ένα FIR φίλτρο 16-σημείων έχουμε: y x a x a x a n n 0 n1 1 n1 1 για κάθε δείγμα x n o υπολογισμός του αποτελέσματος απαιτεί 16 πολλαπλασιασμούς και 16 προσθέσεις. Με τη χρήση της σύνθετης πράξης x a y έχουμε αποδοτικότερη υλοποίηση. x n a X a X a 0 1 15 X y n xn i ΠΟΛΛΑ- ΠΛΑΣΙΑΣΤΗΣ PP Wallace Tree yn a i Σχήμα 2. Προτεινόμενη αποδοτική αρχιτεκτονική υλοποίησης MAC.
Αθροιστής 4:2 Αθροιστής Διάδοσης Κρατουμένου xn i ΠΟΛΛΑ- ΠΛΑΣΙΑΣΤΗΣ PP Wallace Tree yn a i Σχήμα 3. Προτεινόμενη αποδοτική αρχιτεκτονική υλοποίησης MAC. Με την χρήση της σύνθετης πράξης x 1 a 1 x 2 a 2 y, η υλοποίηση του FIR μπορεί να επιταχυνθεί και είναι αποδοτικότερη σε σύγκριση με αυτήν που βασίζεται σε βασικές πράξεις (πρόσθεση, πολλαπλασιασμός). Η υλοποίηση φαίνεται στο Σχήμα 4. ai 1 x n ΠΟΛΛΑ- ΠΛΑΣΙΑΣΤΗΣ PP Wallace xn 1 ΠΟΛΛΑ- ΠΛΑΣΙΑΣΤΗΣ P.P. Wallace Αθροιστής 4:2 y n CS Αθροιστής Ταχύς Αθροιστής yn 1 a i Σχήμα 4. Υλοποίηση της πράξης: x 1 a 1 x 2 a 2 y
1.2 Μιγαδικός πολλαπλασιασμός Αντίστοιχα στην υλοποίηση του FFT έχουμε τον υπολογισμό "πεταλούδας" όπου οι μεταβλητές x, y, X, Y και η σταθερά W είναι μιγαδικοί αριθμοί. X x y W a k 1 k k N Y x y W a k 1 k k N Ένας μιγαδικός πολλαπλασιασμός της μορφής αναλύεται ως εξής: P ( a j a )( x j x ) ( a x a x ) j ( a x a x ) P j P R R R R R R R R όπου οι δείκτες R και I δηλώνουν το πραγματικό και φανταστικό τμήμα του κάθε αριθμού αντίστοιχα. Επομένως το πραγματικό και φανταστικό τμήμα του γινομένου υλοποιείται με βάση τις επόμενες σχέσεις: P a x a x R R R P a x a x R R Στον υπολογισμό "πεταλούδας" εκτός του μιγαδικού πολλαπλασιασμού υπάρχει και ένας αθροιστικός όρος, συνεπώς με την χρήση της σύνθετης πράξης x 1 a 1 x 2 a 2 y (βλέπε Σχήμα 4), η υλοποίηση του FFT είναι αποδοτικότερη σε σύγκριση με αυτήν που βασίζεται σε βασικές πράξεις (πρόσθεση, πολλαπλασιασμός). Για το σύνολο των αριθμητικών πράξεων που θα επιλεγούν, θα καταγραφούν οι αποδοτικότερες αρχιτεκτονικές σχεδίασης των αριθμητικών τους κυκλωμάτων μαζί με τα χαρακτηριστικά τους αλλά και τις αδυναμίες τους. Στόχος είναι ο εντοπισμός εκείνων των κατηγοριών αριθμητικών κυκλωμάτων τα οποία είτε δεν έχουν αναλυθεί επαρκώς στο παρελθόν είτε οι τεχνικές σχεδίασής τους δεν είναι αποδοτικές. Ειδικότερα για τον μιγαδικό πολλαπλασιαστή μπορούν να διερευνηθούν οι εξής νέοι αλγόριθμοι (δίνονται μόνο οι τίτλοι): Χρήση προενταμίευσης των όρων α R α I και α R - α I. Μιγαδικός πολλαπλασιαστής βασισμένος σε πολυπλέκτη. Mux-Baed Truncated Complex Number Array. Μιγαδικός πολλαπλασιαστής βασισμένος στον αλγόριθμο του Gau. Στη συνέχεια θα μελετηθούν νέες αποδοτικότερες τεχνικές σχεδίασης κυκλωμάτων των παραπάνω σύνθετων αριθμητικών πράξεων. Για την επιβεβαίωση της ορθότητας των αρχιτεκτονικών που θα προκύψουν, θα περιγραφούν σε Γλώσσα Περιγραφής Υλικού (Verilog ή VHL). Τα κυκλώματα που θα σχεδιαστούν θα ελεγχθούν, ώστε να επιβεβαιώσουν την ορθότητα των τεχνικών σχεδίασης. Στη συνέχεια θα καταγραφεί η απόδοσή τους, όσον αφορά το μέγεθος (area), την ταχύτητα (delay) και την κατανάλωση ενέργειας, σε πλατφόρμες υλοποίησης ASIC και FPGA (Xilinx), ώστε να αξιολογηθεί η αποδοτικότητά τους. x k y k a WN x 2π j a N e - X k 1 Yk 1
1.3 Μονάδες πράξεων σε Αριθμητικό Σύστημα Υπολοίπων (Reidue Number Sytem). Συνδυασμένες Μονάδες αθροιστών και πολλαπλασιαστών σε Αριθμητική Modulο (2 n -1) και (2 n 1) για υλοποίηση σύνθετων πράξεων. (2 ΕΡΓΑΣΙΕΣ) Βασικές απαιτήσεις στην υλοποίηση αλγορίθμων επεξεργασίας όγκου δεδομένων σε πραγματικό χρόνο είναι: η αποδοτική και υψηλής ταχύτητας επεξεργασία καθώς και η γενικότερη απαίτηση-ανάγκη των σύγχρονων VLSI chip για χαμηλή κατανάλωση. Για την επίτευξη ταχύτητας επεξεργασίας, δεδομένου του μεγάλου μήκους λέξεων που χρησιμοποιούνται στην Ψηφιακής Επεξεργασίας Σήματος (SP) και στην κρυπτογραφία, μια αποδοτική τεχνική είναι η χρήση αριθμητικής RNS (Reidue Number Sytem). Με την αναπαράσταση αριθμών στο αριθμητικό σύστημα υπολοίπων (RNS) μετατρέπονται μεγάλοι αριθμοί σε μια συλλογή από μικρότερους οι οποίοι προκύπτουν σαν υπόλοιπα των διαιρέσεων του αριθμού με ειδικά σύνολα αριθμών. Με την παράλληλη εκτέλεση αριθμητικών πράξεων στα υπόλοιπα που προκύπτουν αντί του αρχικού αριθμού επιτυγχάνεται σημαντική επιτάχυνση στην κυκλωματική εκτέλεση των αριθμητικών πράξεων. Συνεπώς τα αριθμητικά συστήματα υπολοίπων είναι μία καλή επιλογή για την κυκλωματική υλοποίηση αλγορίθμων στους οποίους απαιτείται υψηλή ταχύτητα εκτέλεσης των αριθμητικών πράξεων οι οποίες περιορίζονται στην πρόσθεση, αφαίρεση, πολλαπλασιασμό και την ύψωση στο τετράγωνο. Τα modular αριθμητικά κυκλώματα χρησιμοποιούνται για την αποδοτική κυκλωματική υλοποίηση αλγορίθμων SP (όπως φίλτρα FIR) και κρυπτογραφίας, όπως για παράδειγμα στον αλγόριθμο IEA (International ata Encryption Algorithm). Στο σχήμα που δίνεται στην συνέχεια εμφανίζεται η αρχιτεκτονική μιας αριθμητικής μονάδας βασισμένης στο αριθμητικό σύστημα υπολοίπων. Μονάδα υπολογισμών με βάση το m 1 Μετατροπέας από το Δυαδικό Σύστημα στο RNS Μονάδα υπολογισμών με βάση το m 2 Μονάδα υπολογισμών με βάση το m p Μετατροπέας από RNS στο Δυαδικό Σύστημα Σχήμα 5. Αρχιτεκτονική μιας αριθμητικής μονάδας βασισμένης στο αριθμητικό σύστημα υπολοίπων. Στην εργασία αυτή θα προηγηθεί η βιβλιογραφική έρευνα του επιστημονικού πεδίου και ο εντοπισμός των προβλημάτων και των μέχρι τώρα λύσεων. Στη συνέχεια θα αναπτυχθούν νέες σχεδιάσεις για modular προσθετές, πολλαπλασιαστές, κυκλώματα παραγωγής τετραγώνου που χρησιμοποιούνται σε συστήματα που βασίζονται στα αριθμητικά συστήματα υπολοίπων καθώς και αποδοτικοί συνδυασμοί αυτών, για παράδειγμα ενοποιημένοι πολλαπλασιαστές/ προσθετές. Για την επίτευξη υψηλής ταχύτητας επεξεργασίας υιοθετείται για τις modular πράξεις η αναπαράσταση αθροίσματος-κρατουμένου (CS). Το κύκλωμα που επιβαρύνει χρονικά και ως υλικό (επιφάνεια) είναι ο γρήγορος αθροιστής πρόβλεψης κρατουμένου (CLA Adder) και μάλιστα η modular μορφές του. Αν λοιπόν έχουμε αλυσιδωτές πράξεις είναι προτιμότερο να συγχωνεύονται οι πράξεις. Δηλαδή ενδιάμεσα δεδομένα σε CS μορφή από μια πράξη να οδηγούνται στην επόμενη χωρίς μετατροπή σε απλή δυαδική μορφή και να χρησιμοποιείται modular αθροιστές πρόβλεψης κρατουμένου στο τελικό αποτέλεσμα και μόνο όπου χρειάζεται. Θα αναπτυχθούν επίσης νέοι αποδοτικοί μετατροπείς από και προς το αριθμητικό σύστημα υπολοίπων.
1.4 Διόρθωση μόνιμων σφαλμάτων μνημών SRAM με τη χρήση μικρής κρυφής μνήμης Τα κυκλώματα μνήμης χρησιμοποιούνται ευρύτατα στα υπολογιστικά συστήματα για αποθήκευση δεδομένων και κώδικα. Χαρακτηριστικά παραδείγματα αποτελούν οι μνήμες SRAM που χρησιμοποιούνται στα PC, οι μνήμες Cache που ενσωματώνονται στους σύγχρονους επεξεργαστές, μνήμες ενσωματωμένες σε μικροελεγκτές και γενικότερα σε embedded ytem (π.χ. FPGA board κλπ.). Λόγω της υψηλής πυκνότητας τους, τα κυκλώματα μνήμης είναι επιρρεπή σε ελαττώματα (π.χ. βραχυκυκλώματα ή ανοιχτοκυκλώματα) όπως και κάθε ολοκληρωμένο κύκλωμα. Τα ελαττώματα αυτά μπορούν γενικά να χωριστούν σε δύο γενικές κατηγορίες: 1. Κατασκευαστικές ατέλειες. Τα ελαττώματα αυτά εμφανίζονται κατά τη σχεδίαση του πρωτοτύπου (prototyping phae) και στη συνέχεια κατά την μαζική παραγωγή των κυκλωμάτων μνήμης (manufacturing phae). Περισσότερο ευάλωτοι είναι οι κατασκευαστές CPU, MCU και embedded ytem, όπου μερικά ελαττωματικά κελιά μνήμης μπορεί να υποβαθμίσουν σημαντικά τη λειτουργία του προϊόντος τους, μερικές φορές σε βαθμό που να απαιτείται η απόσυρσή του από την αγορά. 2. Ελαττώματα λόγω «γήρανσης» (φαινόμενο aging). Τα ελαττώματα αυτά εμφανίζονται κατά τη διάρκεια ζωής ενός κυκλώματος μνήμης και αποτελούν μεγάλο πρόβλημα σε ειδικές αλλά πολύ σημαντικές περιπτώσεις, όπου η παρουσία ενός σφάλματος θέτει σε κίνδυνο ανθρώπινες ζωές (π.χ. ιατρικές εφαρμογές) ή η αντικατάσταση του ελαττωματικού κυκλώματος είναι αδύνατη ή ασύμφορη (π.χ. αεροδιαστημική). Στα παραπάνω πρέπει να ληφθεί υπόψη ότι η χωρητικότητα και η επιφάνεια που καταλαμβάνουν τα κυκλώματα μνήμης αυξάνουν με γρήγορους ρυθμούς με την εξέλιξη της τεχνολογίας και συνεπώς το πρόβλημα επιτείνεται. Ήδη από το 2005 τα ολοκληρωμένα μνήμης καταλαμβάνουν 50%-70% της διαθέσιμης επιφάνειας και αναμένεται να φτάσει το 90% το 2010. Οι τρέχουσες τεχνικές αντιμετώπισης του προβλήματος στη βιομηχανία συνίστανται στην προσθήκη επιπλέον γραμμών ή στηλών μνήμης. Σε περίπτωση ανίχνευσης σφάλματος, οι ελαττωματικές γραμμές ή στήλες αποσυνδέονται με χρήση laer ή ηλεκτρικές μεθόδους και αντί αυτών συνδέονται οι επιπλέον γραμμές ή στήλες [4]. Ο εξοπλισμός και η διαδικασία ανίχνευσης και διόρθωσης εκτιμάται περίπου στο 40% του κόστους παραγωγής και συνεπώς είναι εξαιρετικά ακριβή και χρονοβόρα. Λόγω των παραπάνω υπάρχει ενδιαφέρον για on-chip τεχνικές επιδιόρθωσης κυκλωμάτων μνήμης και μάλιστα σε πραγματικό χρόνο (online repair). Το Microlab έχει αναπτύξει μια τεχνική αντιμετώπισης τέτοιων σφαλμάτων που αντικαθιστά ελαττωματικά τμήματα ενός ολοκληρωμένου μνήμης κατά βέλτιστο τρόπο. Η προτεινόμενη διπλωματική εργασία αποσκοπούν στην υλοποίηση της τεχνικής αυτής σε επίπεδο, αρχιτεκτονικής. Ειδικότερα θα γίνει προσομοίωση της διαδικασίας ανίχνευσης και διόρθωσης σφαλμάτων σε επίπεδο RTL (περιγραφή σε Επίπεδο Μεταφοράς Καταχωρητών). Σε 1 η φάση θα πρέπει να εξομοιωθούν οι ελαττωματικές διευθύνσεις της κυρίως μνήμης. Σαν παράδειγμα, αυτό μπορεί να γίνει με ένα καταχωρητή των ελαττωματικών διευθύνσεων σε ένα πίνακα. Όταν μια διεύθυνση δοθεί στον addre regiter γίνεται έλεγχος αν η διεύθυνση περιέχεται στον πίνακα. Σε περίπτωση που περιέχεται, επιστρέφεται μια στατική λέξη (προσομοίωση tuck-at ή open fault). Αν όχι, η διαδικασία ανάκλησης δεδομένων προχωρά κανονικά αποδίδοντας τη διεύθυνση στην κυρίως μνήμη ζητώντας τα δεδομένα που είναι αποθηκευμένα εκεί. Στη συνέχεια γίνεται η αντικατάσταση των ελαττωματικών κελιών από μια 2 η μικρή μνήμη Cache. Τέλος, ζητείται η βελτιστοποίηση της τεχνικής με παράμετρο τη συχνότητα λειτουργίας του κυκλώματος διόρθωσης. Η υλοποίηση της διόρθωσης SRAM θα γίνει σε πλατφόρμα ASIC όπου θα εκτιμηθεί και η απόδοση της προτεινόμενης τεχνικής.
ata 32 Addre Main Memory 4 GWord 32 MUX 32 ata 32 Addre 31 30 29 13 12 11 10 2 1 0 Tag 26bit 20 Index 12 Index 0 V Cache-1 4096 Index 12bit Cache-2 Cache-3 V 1024 Index 10bit V 256 Index 8bit V Cache-4 64 Index 6bit Tag=20bit ata Tag=22bit ata Tag=24bit ata Tag=26bit ata MUX Hit 4093 4094 4095 Correction Memory: Tag are tored in EEPROM Σχήμα 6. Το προτεινόμενο σχήμα διόρθωση μόνιμων σφαλμάτων μνημών SRAM με τη χρήση μικρής κρυφής μνήμης (cache)
1.5 Σχεδίαση μνημών SRAM ανθεκτικών σε ακτινοβολία Προαπαιτούμενα: Καλή γνώση του προγράμματος SPICE και εμπειρία στο Cadence-Virtuoo (layout deign) Η παρούσα διπλωματική εργασία ασχολείται με τη μελέτη της επίδρασης εξωγενούς ακτινοβολίας σε κύτταρα στατικής μνήμης, ένα σημαντικό θέμα που αντιμετωπίζει η σύγχρονη βιομηχανία μικροηλεκτρονικής. Ζητείται η διερεύνηση της σχετικής προστασίας που παρέχουν τα διάφορα κύτταρα που έχουν προταθεί μέχρι σήμερα. Εκτός του επιπέδου προστασίας, ζητείται και η σύγκριση επιδόσεων μεταξύ τους στα κυκλωματικά τους χαρακτηριστικά (επιφάνεια, ταχύτητα, κατανάλωση). Για το σκοπό αυτό θα χρησιμοποιηθεί η πλατφόρμα σχεδιασμού σε επίπεδο φυσικού σχεδίου της Cadence και τεχνολογία στα 90nm. Διατίθεται σχετική βιβλιογραφία και δείγματα φυσικού σχεδίου από τα σχετικά με το αντικείμενο κύτταρα στατικής μνήμης. Θα χρησιμοποιηθούν τα εργαλεία της Cadence που είναι ευρύτατα διαδεδομένα στις εταιρείες σχεδιασμού VLSI ASIC και αποτελούν πολύ χρήσιμη εμπειρία για μηχανικούς που θα εργαστούν στο αντικείμενο της μικροηλεκτρονικής. Στα δυο επόμενα σχήματα φαίνονται, αρχικά το κύτταρο μνήμης ICE (ual Interlocked Cell) και στην συνέχεια ένα νέο σχήμα με ίδιο αριθμό τρανζίστορ αλλά πολύ χαμηλότερη κατανάλωση. Σχήμα 7. Το κύτταρο μνήμης ICE (ual Interlocked Cell) Σχήμα 8. Το προτεινόμενο κύτταρο μνήμης χαμηλότερης κατανάλωσης ανθεκτικό σε επίδραση εξωγενούς ακτινοβολίας
2 Υλοποίηση αλγορίθμων Ψηφιακής Επεξεργασίας Σήματος (SP) Εισαγωγή - Στις δυο αυτές εργασίες που είναι συνθετικές θα γίνει η σχεδίασή τους από υψηλό επίπεδο δηλαδή με την χρήση έτοιμων αριθμητικών μονάδων που είτε θα ληφθούν από την βιβλιοθήκη eignware (ενσωματωμένη στην πλατφόρμα της Synopy), είτε είναι μονάδες ήδη σχεδιασμένες από μέλη του εργαστηρίου. Η έμφαση στις εργασίες αυτές θα είναι στο σύστημα που θα περιλαμβάνει εκτός από τις αριθμητικές μονάδες, την μνήμη και την μηχανή καταστάσεων για τον έλεγχο της λειτουργίας τους. Οι βιβλιοθήκες των εργαλείων που θα χρησιμοποιηθούν διαθέτουν ποικιλία μνημών (σε τύπους και μεγέθη). Η καινοτομία τους θα είναι στην αρχιτεκτονική με στόχο την βελτίωση των επιδόσεων τους. 2.1 Υλοποίηση Φίλτρων FIR με τη χρήση προκωδικοποιημένων συντελεστών - Για παράδειγμα σε ένα FIR φίλτρο 16-σημείων έχουμε: y x a x a x a n n 0 n1 1 n1 1 για κάθε δείγμα x n o υπολογισμός του αποτελέσματος απαιτεί 16 πολλαπλασιασμούς και 16 προσθέσεις. Με τη χρήση της σύνθετης πράξης x a y έχουμε αποδοτικότερη υλοποίηση. x n a X a X a 0 1 15 X y n y x a x a x a n n 0 n1 1 nk1 k1 x n a 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 4:2 Adder 4:2 Adder 4:2 Adder 4:2 Adder y n CLA Adder 4:2 Adder 4:2 Adder 4:2 Adder Σχήμα 9. Mixed υλοποίηση με αλυσίδα 4:2 C-S Αθροιστών
2.2 Αποδοτική Σχεδίαση FFT Butterfly Computation Αντίστοιχα στην υλοποίηση του FFT έχουμε τον υπολογισμό "πεταλούδας" όπου οι μεταβλητές x, y, X, Y και η σταθερά W είναι μιγαδικοί αριθμοί. X x y W a k 1 k k N Y x y W a k 1 k k N Ένας μιγαδικός πολλαπλασιασμός της μορφής αναλύεται ως εξής: P ( a j a )( x j x ) ( a x a x ) j ( a x a x ) P j P R R R R R R R R Θεωρώντας ότι: 2 j a 2 2 WN e in j co in j co Προκύπτει η επόμενη τελική μορφή: X x ( y co y in ), X x ( y in y co ) R R R I I R Y x ( y co y in ), Y x ( y in y co ) R R R I I R x k y k a WN x 2π j a N e - X k 1 Yk 1 y R y I y I y R coφ inφ coφ inφ x R 4:2 Adder - - x R CSA CSA - - x I 4:2 Adder x I CSA CSA - - CLA Adder CLA Adder CLA Adder CLA Adder X R Y R X I Y I Σχήμα 10. Αποδοτική Σχεδίαση FFT Butterfly Computation
3 Σχεδίαση Συστημάτων-επί-Ψηφίδας (Sytem on a Chip) 3.1 Σχεδιασμός unified block για επικοινωνία μεσω I 2 C ή SPI συσκευών Υλοποίηση σε FPGA Το θέμα της συγκεκριμένης διπλωματικής είναι η μελέτη των δύο σειριακών interface και ο σχεδιασμός μιας μονάδας που θα μπορεί να υλοποιεί και τα δύο interface. Τα δύο πρωτόκολλα μοιάζουν αρκετά μεταξύ τους. Ο σκοπός είναι να σχεδιαστεί ένα περιφερειακό που θα συνδεθεί στο AMBA AHB Bu του SoC συστήματος και θα μπορεί να προγραμματίζεται από τον επεξεργαστή αναφορικά με το mode της λειτουργίας του. Ο έλεγχος θα γίνει σε επίπεδο εξομοίωσης με τη χρήση Verilog μοντέλων SPI Memory και I 2 C αλλά και σε επίπεδο πραγματικής λειτουργίας με τη χρήση αναπτυξιακού FPGA. External RAM LEON3 Icache/Cache Memory Controller UART Bu Interface Regiter File SPI FSM I2C FSM Signaling/ata path SPI 2 C SPI FLASH MEMORY REAL TIME CLOCK (I2C)
3.2 Σχεδιασμός CMOS Camera interface block με δυνατότητες image proceing Υλοποίηση σε FPGA Το θέμα της συγκεκριμένης διπλωματικής είναι ο σχεδιασμός και η υλοποίηση σε Verilog/VHL ενός Camera Interface Unit που θα μπορεί να διαβάζει τα δεδομένα από έναν CMOS enor, θα μετατρέπει το format σε RGB και θα το προωθεί στο SoC με τη χρήση ενός MA controller που θα μεταφέρει τα δεδομένα σε εξωτερική μνήμη. Στα πλαίσια της διπλωματικής θα γραφτεί SW στον επεξεργαστή για την απεικόνιση των δεδομένων της κάμερας στο VGA LC του συστήματος FPGA στο οποίο και θα παρουσιαστεί το σύστημα.
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. & Μηχ. Υπολογιστών - Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Εργαστήριο Μικροϋπολογιστών & Ψηφιακών Συστημάτων Τηλ.: 210 772-2500, Γραμμ.: 210 772-3548, Τηλ. Εργαστηρίου: 210 772-3653, -2493 e-mail: pekme@microlab.ntua.gr ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ Περιοχή Ερευνητικά αντικείμενα ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ 1. Σχεδίαση Συστημάτων VLSI Υλοποίηση Αριθμητικών Μονάδων Σχεδίαση μνημών SRAM με ανοχή σε σφάλματα 2. Υλοποίηση αλγορίθμων Ψηφιακής Επεξεργασίας Σήματος (SP) 1.1 Απευθείας μεταφορά σε υλικό σύνθετων πράξεων όπως: xyz, (xy)z, (xy)zw. Πολλαπλασιαστές μιγαδικών αριθμών. 1.2 Μονάδες πράξεων σε Αριθμητικό Σύστημα Υπολοίπων (Reidue Number Sytem). 1.3 Συνδυασμένες Μονάδες αθροιστών και πολλαπλασιαστών σε Αριθμητική Modulο (2 n -1) και (2 n 1) για υλοποίηση σύνθετων πράξεων. 1.4 Διόρθωση μόνιμων σφαλμάτων μνημών SRAM με τη χρήση μικρής κρυφής μνήμης. 1.5 Σχεδίαση μνημών SRAM ανθεκτικών σε ακτινοβολία. 2.1 Υλοποίηση Φίλτρων FIR με τη χρήση προκωδικοποιημένων συντελεστών. 2.2 Μεταφορά σε υλικό του Αλγόριθμου FFT. 3. Σχεδίαση Συστημάτωνεπί-Ψηφίδας (Sytem on a Chip) Πρωτόκολλα Επικοινωνίας 3.1 Σχεδιασμός unified block για επικοινωνία μέσω I2C ή SPI συσκευών Υλοποίηση σε FPGA 3.2 Σχεδιασμός CMOS Camera interface block με δυνατότητες image proceing Υλοποίηση σε FPGA