Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Εργαστήριο Μικροϋπολογιστών & Ψηφιακών Συστημάτων Τηλ. Γραφείου: 210 772-2500, Γραμματείας: -3548, Εργαστηρίου: -3653 Θέματα Διπλωματικών Εργασιών 2016-2017 Επισκόπηση Οι προτεινόμενες Διπλωματικές Εργασίες αφορούν στην περιοχή της Σχεδίασης Συστημάτων VLSI, στην ανάπτυξη Εφαρμογών σε Συστήματα-επί-Ψηφίδας (Sytem on a Chip - SoC) και στην σχεδίαση Συστημάτων Home Automation και Internet-of-Thing (IoT) που αποτελούν την σύγχρονη άποψη στη σχεδίαση Μικροϋπολογιστικών Συστημάτων. Σε κάθε μια από τις προτεινόμενες εργασίες η έμφαση είναι είτε στην ερευνητική (προβλέπεται η συγγραφή εργασίας για διεθνές συνέδριο ή επιστημονικό περιοδικό) είτε στην αναπτυξιακή κατεύθυνση με την δημιουργία μίας πρακτικής εφαρμογής. Οι στόχοι των Διπλωματικών αυτών εργασιών είναι οι εξής: Απόκτηση τεχνογνωσίας στην ευρύτερη περιοχή της Μικροηλεκτρονικής Τεχνολογίας και των SoC. Μεθοδολογίες Σχεδίασης Συστημάτων με τη χρήση Γλώσσας Περιγραφής Υλικού (VHDL ή Verilog) και λειτουργική προσομοίωσή τους (ModelSim). Τεχνογνωσία και εμπειρία στην χρήση και αξιοποίηση εργαλείων σχεδίασης VLSI που χρησιμοποιούνται σήμερα στην σύγχρονη βιομηχανία Μικροηλεκτρονικής. Στις περισσότερες εργασίες θα γίνει χρήση των εργαλείων της πλατφόρμας Synopy. Ειδικότερα με τα Deign Compiler και PrimePower της Synopy, θα γίνει η σύνθεση των κυκλωμάτων/συστημάτων που θα σχεδιασθούν και θα μετρηθούν οι επιδόσεις όσον αφορά στην επιφάνεια, ταχύτητα λειτουργίας και κατανάλωση ισχύος. Επίσης θα αποκτηθεί τεχνογνωσία στην υλοποίηση των συστημάτων που θα σχεδιαστούν πάνω σε FPGA. Σε θέματα που απαιτείται σχεδιασμός σε επίπεδο τρανζίστορ θα χρησιμοποιηθεί η πλατφόρμα σχεδιασμού σε επίπεδο φυσικού σχεδίου της Cadence Virtuoo. Σε περίπτωση που χρειάζεται η ενσωμάτωση των παραπάνω κυκλωμάτων σε ένα ευρύτερο σχεδιασμό μπορεί να γίνει χρήση της πλατφόρμας SoC Encounter της Cadence. Σχεδίαση Ενσωματωμένων Εφαρμογών σε SoC που περιλαμβάνεται η ανάπτυξη κώδικα στον ενσωματωμένο επεξεργαστή (embedded firmware). Ανάπτυξη εφαρμογών για συστήματα Home Automation και Internet-of-Thing (IoT). Να σημειωθεί ότι για την διευκόλυνση της σχεδίασης ASIC τα μέλη του εργαστηρίου έχουν δημιουργήσει περιβάλλον ροής σχεδίασης στον Deign Compiler και PrimePower της Synopy που επιτρέπει σε ένα νέο σχεδιαστή (όπως είναι ένας Διπλωματικός) να ξεκινήσει γρήγορα χωρίς χρονική επιβάρυνση, με φιλικό uer interface για την δική του σχεδίαση.
Επικοινωνία Καθηγητής Κ. Πεκμεστζή Τηλ: 210-772 2500 e-mail: pekme@microlab.ntua.gr Υ.Δ. Γιώργος Ζερβάκης Τηλ: 210-772 3653 e-mail: zervaki@microlab.ntua.gr Υ.Δ. Φώτης Ντούσκας Τηλ: 210-772 4429 e-mail: fotidou@gmail.com Υ.Δ. Βασίλης Λέων Τηλ: 210-772 3653 e-mail: leonva09@gmail.com Στη συνέχεια γίνεται μια συνοπτική περιγραφή των θεμάτων. Λεπτομέρειες που αφορούν σε όλες τις εργασίες, θα δοθούν σε προφορική ή ηλεκτρονική επικοινωνία με τον διδάσκοντα ή και τους συνεργάτες Υ.Δ. 2
1 Περιοχή Σχεδίασης Συστημάτων VLSI 1.1 Υλοποίηση αλγορίθμων DSP (Ψηφιακής Επεξεργασίας Σήματος) σε Αριθμητικό Σύστημα Υπολοίπων (Reidue Number Sytem - RNS). Στη εργασία αυτή θα υλοποιηθεί (σε ASIC ή FPGA) ένας αλγόριθμος DSP ένα FIR φίλτρο) τόσο χρησιμοποιώντας το Αριθμητικό Σύστημα Υπολοίπων (RNS) όσο και με βάση το κοινό δυαδικό αριθμητικό σύστημα. Θα ακολουθήσει η σύγκριση των δύο σχεδιασμών και η διερεύνηση βελτίωσης των υλοποιήσεων. X Μετατροπέας από το Δυαδικό Σύστημα στο RNS (Υπολογισμός Υπολοίπων) x i =X modulo m i x 1 x 2 x p Μονάδα υπολογισμών με βάση το Modulo m 1 Μονάδα υπολογισμών με βάση το Modulo m 2 Μονάδα υπολογισμών με βάση το Modulo m p y 1 y 2 y p Μετατροπέας από RNS στο Δυαδικό Σύστημα (Αναδόμηση των αριθμών με βάση το Chinee Remainder Theorem) Y 1.2 Αποδοτική υλοποίηση του αλγόριθμου κρυπτογράφησης IDEA Στην εργασία αυτή θα προηγηθεί η βιβλιογραφική έρευνα του αντικειμένου και ο εντοπισμός των προβλημάτων και η διερεύνηση των μέχρι τώρα λύσεων. Στην νέα σχεδίαση προβλέπεται να θα αξιοποιηθεί η ιδέα της συγχώνευσης των επιμέρους πράξεων του αλγόριθμου κρυπτογράφησης IDEA για την επίτευξη αποδοτικότερης υλοποίησης. 1.3 Κβαντικά Κυκλώματα Πράξεων Θα γίνει αξιοποίηση της τεχνολογίας Quantum Dot Cellular Automata (QCA) για την υλοποίηση αριθμητικών κυκλωμάτων και αλγορίθμων DSP. Θα γίνει μελέτη σχετικής βιβλιογραφίας και στην συνέχεια σχεδιασμός νέων αρχιτεκτονικών που βασίζονται στην τεχνολογία QCA. 1.4 Ακριβής Διαίρεση (υπολογισμός πηλίκου και υπολοίπου) με τους αριθμούς: 2 n -1, 2 n 1, (2 n1 1) (2 n -1)=2 2n1-2 n -1, (2 n1-1) (2 n 1)=2 2n1 2 n -1, (2 n -1) 2, (2 n 1) 2. Στην εργασία αυτή θα υλοποιηθούν οι μονάδες που υπολογίζουν με αποδοτικότερο τρόπο τα αποτελέσματα των παραπάνω πράξεων (με τη χρήση εξειδικευμένων κυκλωμάτων) από ότι με την χρήση ενός γενικού κυκλώματος διαιρέτη. Προβλέπεται επίσης να διερευνηθεί η επέκταση της τεχνικής για περισσότερες μορφές αριθμών από τις παραπάνω. 3
1.5 Εφαρμογή του Αλγόριθμου Karatuba στην αποδοτική υλοποίηση πράξεων σε FPGA Ο Αλγόριθμου Karatuba επιτρέπει την εξοικονόμηση πόρων (ειδικά για πράξεις μεγαλύτερης ακρίβειας) σε αριθμητικούς αλγόριθμους. Στην περίπτωση της τεχνολογίας FPGA που υπάρχουν hardwired μονάδες ALU π.χ. για 16-17 bit, αυτές μπορούν να συνδυαστούν αποδοτικά (μέσω του Αλγόριθμου Karatuba) για πράξεις στα 32, 48 και 64 bit. 1.6 Αποδοτική υλοποίηση FFT (Butterfly Computation) με χρήση Μιγαδικών Πολλαπλασιαστών για σταθερούς συντελεστές (Hardwired Complex number Multiplier). Αρχικά θα σχεδιαστούν σε μορφή VLSI μιγαδικοί πολλαπλασιαστές οι οποίοι θα χρησιμοποιηθούν για ένα συγκεκριμένο και γνωστό εκ των προτέρων σύνολο συντελεστών. Οι συντελεστές αυτοί είναι απαραίτητοι στους αριθμητικούς υπολογισμούς του Αλγορίθμου FFT (Butterfly Computation) και βρίσκονται αποθηκευμένοι στην μνήμη του συστήματος. Στη συνέχεια, με έμφαση στην αρχιτεκτονική (αριθμητικές μονάδες, μνήμη και μηχανή καταστάσεων) και στόχο τη βελτίωση της απόδοσης του αλγορίθμου, θα γίνει διερεύνηση και αξιολόγηση εναλλακτικών σχεδιάσεων. x k y k a WN x e 2π j a 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 P a x a x R R R P a x a x R Υπολογισμός "Πεταλούδας" FFT Decimation-In-Time (DIT) X x y W a k 1 k k N Y x y W a k 1 k k N - D D X k 1 Yk 1 R 1.7 Πρόσθετα θέματα υλοποίηση FFT Butterfly Computation για Radix-4. Διερεύνηση υλοποιήσεων Decimation-In-Time (DIT) και Decimation-In-Frequency (DIF). Συνολική σχεδίαση της αρχιτεκτονικής για την υλοποίηση του Αλγορίθμου FFT (π.χ. 1024 σημείων και ακρίβεια 32bit). Η σχεδίαση θα περιλαμβάνει, εκτός από τον Υπολογισμός "Πεταλούδας", την οργάνωση μνήμης, της σωλήνωσης και της μονάδας αναδιάταξης δεδομένων. Θα γίνει προσομοίωση και σε επίπεδο Matlab. 1.8 Μελέτη Υλοποίησης σε Υλικό Αλγορίθμων Κρυπτογραφίας Ελλειπτικών Καμπυλών. Μεταφορά σε πλατφόρμα FPGA. Θα ξεκινήσει με τη μελέτη Αλγορίθμων Κρυπτογραφίας Ελλειπτικών Καμπυλών, τους οποίους συναντάμε στη διεθνή βιβλιογραφία. Πρόκειται για ένα σύγχρονο πεδίο με έντονο ερευνητικό ενδιαφέρον καθώς οι κρυπτογραφικοί αλγόριθμοι που βασίζονται στη θεωρία των ελλειπτικών καμπυλών προσφέρουν το ίδιο επίπεδο ασφάλειας με τον αλγόριθμο κρυπτογραφίας RSA αλλά με πολύ μικρότερο μήκος κλειδιών που ανταλλάσσονται μεταξύ των χρηστών. Η υλοποίηση των πιο 4
αποδοτικών αλγορίθμων που απαντώνται στη διεθνή βιβλιογραφία θα γίνει τόσο σε επίπεδο ASIC όσο και σε επίπεδο FPGA. 1.9 Μελέτη δημιουργίας αυτοματοποιημένης διαδικασίας για χρονισμό σύνθετων κυκλωμάτων VLSI σε συχνότητες υψηλότερες από αυτήν που επιτρέπει η κρίσιμη διαδρομή, αξιοποιώντας την αρχή λειτουργίας Wave Pipeline. Θα προηγηθεί η βιβλιογραφική έρευνα γύρω από την τεχνική του Wave Pipeline και θα διερευνηθεί η χρήση της για την αύξηση της απόδοσης κρίσιμων αριθμητικών κυκλωμάτων που εισάγουν μεγάλη καθυστέρηση. Τα σχήματα που θα προκύψουν θα συγκριθούν με τα αντίστοιχα που βασίζονται στην κλασική τεχνική του pipeline. Επίσης, θα μελετηθεί η δημιουργία μίας αυτόματης διαδικασίας για την «εισαγωγή» και ενσωμάτωση της τεχνικής αυτής σε σύνθετα κυκλώματα VLSI με βάση την πληροφορία που προκύπτει από τη σύνθεσή τους. 1.10 Υλοποίηση αλγορίθμων DSP (Ψηφιακής Επεξεργασίας Σήματος) με τη χρήση της αποδοτικής κωδικοποίησης Non-Redundant Radix-4 Signed-Digit (NR4SD). Στην εργασία αυτή θα εφαρμοστεί η τεχνική της προ-ενταμίευσης πληροφορίας στη μνήμη σε συνδυασμό με την τεχνική κωδικοποίησης αριθμών σε Non-Redundant Radix-4 Signed-Digit (NR4SD) αναπαράσταση με σκοπό την πιο αποδοτική VLSI υλοποίηση ευρέως χρησιμοποιούμενων αλγορίθμων DSP (Ψηφιακής Επεξεργασίας Σήματος). 1.11 Υλοποίηση Μονάδων Άθροισης και Πολλαπλασιασμού σε παράσταση Κινητής Υποδιαστολής με τη χρήση τεχνικών Approximate Computing (Προσεγγιστικού Υπολογισμού). Στην εργασία αυτή θα υλοποιηθούν οι μονάδες Πρόσθεσης και Πολλαπλασιασμού σε παράσταση Κινητής Υποδιαστολής (FPU- Floating Point Unit). Η σχεδίαση του υλικού θα βασίζεται στη χρήση τεχνικών Approximate Computing (Προσεγγιστικού Υπολογισμού).Η υλοποίηση θα μεταφερθεί τόσο σε επίπεδο ASIC όσο και σε επίπεδο FPGA. 1.12 Σχεδίαση αποδοτικών Συγκριτών. Στην εργασία αυτή θα εφαρμοστεί μια νέα αποδοτική τεχνική στην σχεδίαση συγκριτών. Η χαμηλής κατανάλωσης σχεδίαση συγκριτών είναι πολύ σημαντική σε πολλά πεδία εφαρμογών όπως στην υλοποίηση επεξεργαστών (aociative memorie, load-tore queue buffer, tranlation look-aide buffer, branch target buffer κ.λπ.), επεξεργασία γραφικών και εικόνας/σήματος, σε εφαρμογές κυκλωμάτων δοκιμής (jitter meaurement, ignature analyzer, built-in elf-tet circuit). Επίσης σε τηλεπικοινωνιακές εφαρμογές (MIMO decoding algorithm). Θα υπάρξουν δύο εκδοχές της εργασίας: Η πρώτη εκδοχή θα αφορά σε υλοποίηση με τη χρήση των εργαλείων της πλατφόρμας Synopy σε τεχνολογία τυποποιημένων κυττάρων (tandard cell). Η δεύτερη εκδοχή θα αφορά σε υλοποίηση επιπέδου τρανζίστορ. Θα γίνει χρήση των εργαλείων της πλατφόρμας Cadence και ειδικότερα του εργαλείου Virtuoo (layout editor). 5
2 Ανάπτυξη Εφαρμογών σε Συστήματα-επί-Ψηφίδας (Sytem on a Chip - SoC) 2.1 Θα βασιστούν στην αναπτυξιακή πλατφόρμα Xilinx ZYNQ-7000: Η πλατφόρμα περιλαμβάνει επεξεργαστή dual-core ARM Cortex-A9 MPCore και πληθώρα επαναδιαμορφούμενων περιφερειακών (σειρά 7 FPGA (Artix-7 και Kintex-7) σε συνδυασμό με τα εργαλεία Vivado Deign Suite. Θα αξιοποιηθεί στην υλοποίηση αλγορίθμων επεξεργασίας σήματος (όπως επεξεργασία εικόνας, αλγόριθμος FFT) και άλλων αλγορίθμων απαιτητικών σε υπολογιστικούς πόρους (όπως τηλεπικοινωνιακοί κώδικες, αλγόριθμοι μηχανικής μάθησης, κρυπτογραφίας κ.λπ.). ο προγραμματισμός θα γίνει σε γλώσσα C. 3 Ανάπτυξη Συστημάτων Home Automation και Internet-of-Thing (IoT) 3.1 Αξιοποίηση εμπορικά διαθέσιμων πλατφορμών όπως (Ardouino, Rapberry PI, Beagle) σε εφαρμογές Home Automation και σε Βιομηχανικούς Αυτοματισμούς. Στις εργασίες αυτές θα γίνει η σύνθεση εφαρμογών επιτήρησης χώρων, συσκευών και ο έλεγχος με τη χρήση εμπορικά διαθέσιμων αισθητήρων και ενεργοποιητών. Ταυτόχρονα θα πρέπει να υλοποιηθούν και τα αντίστοιχα uer interface σε περιβάλλον android. (Π.χ. http://www.greeceandroid.gr/dev/766-mart-home-android-arduino-14) Επίσης μπορούν να περιλαμβάνονται και δεδομένων και ενεργοποίησης συσκευών. βιομηχανικοί αυτοματισμοί με Συστήματα λήψης 3.2 Υλοποίηση συστημάτων Internet-of-Thing (IoT). Τέλος πολύ μεγάλης σημασίας είναι η δικτυακή διασύνδεση (με πρωτόκολλα πολύ μικρής κατανάλωσης) πολλών μονάδων παρακολούθησης περιβαλλοντολογικών, ιατρικών, αγροτικών δεδομένων. Σημαντικές εφαρμογές που προκύπτουν στο πεδίο αυτό αφορούν στις εφαρμογές για Έξυπνες Πόλεις (Smart Citie). Στο πλαίσιο αυτό θα υλοποιηθούν εφαρμογές με τη χρήση έτοιμων εμπορικά μονάδων για δικτύωση (ZigBee, Wi-Fi, Lora hield) καθώς και υπολογιστικών πλατφορμών όπως (Ardouino, Rapberry PI, Beagle). 6