Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Εργαστήριο Μικροϋπολογιστών & Ψηφιακών Συστημάτων Τηλ. Γραφείου: 210 772-2500, Γραμματείας: -3548, Εργαστηρίου: -3653 Θέματα Διπλωματικών Εργασιών 2017-2018 Επισκόπηση Οι προτεινόμενες Διπλωματικές Εργασίες αφορούν στην περιοχή της Σχεδίασης Συστημάτων 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 Εφαρμογή του Αλγόριθμου Karatuba στην αποδοτική υλοποίηση πράξεων σε πλατφόρμες FPGA Ο Αλγόριθμου Karatuba επιτρέπει την εξοικονόμηση πόρων (ειδικά για πράξεις μεγαλύτερης ακρίβειας) σε αριθμητικούς αλγόριθμους. Στην περίπτωση της τεχνολογίας FPGA που υπάρχουν hardwired μονάδες ALU π.χ. για 16-17 bit, αυτές μπορούν να συνδυαστούν αποδοτικά (μέσω του Αλγόριθμου Karatuba) για πράξεις στα 32, 48 και 64 bit. Θα γίνει η υλοποίηση του αλγόριθμου σε πλατφόρμες FPGA του εργαστηρίου και επίδειξη της ορθής τους λειτουργίας. 1.2 Εφαρμογή του Αλγόριθμου Karatuba στην αποδοτική υλοποίηση πράξεων σε ASIC (Standard Cell υλοποίηση) Η εργασία αυτή αφορά στην αποδοτική υλοποίηση του Αλγόριθμου Karatuba σε τεχνολογία ASIC. Ειδικότερα θα αξιοποιηθεί η τεχνική σωλήνωσης για την επίτευξη καλύτερων επιδόσεων σε σχέση με την κλασσική υλοποίηση του πολλαπλασιασμού. 1.3 Αποδοτική υλοποίηση FFT (Butterfly Computation) με χρήση Μιγαδικών Πολλαπλασιαστών για σταθερούς συντελεστές (Hardwired Complex number Multiplier). Αρχικά θα σχεδιαστεί σε μορφή VLSI η απευθείας αποδοτική υλοποίηση του υπολογισμού "Πεταλούδας" (FFT- Butterfly Computation). x k y k x - D D X k 1 Yk 1 Υπολογισμός "Πεταλούδας" FFT: X x y W a k 1 k k N Y x y W a k 1 k k N a WN e 2π j a N Επίσης θα γίνει διερεύνηση των υλοποιήσεων FFT-Butterfly Computation σε μορφή Radix-4. Στη συνέχεια, με τη χρήση των μονάδων αυτών θα γίνει η σχεδίαση και υλοποίηση του Αλγορίθμου FFT (1024 σημείων και με ακρίβεια πράξεων 32bit). Η σχεδίαση θα περιλαμβάνει, την οργάνωση μνήμης, της σωλήνωσης και της μονάδας αναδιάταξης δεδομένων. 1.4 Υλοποίηση Μονάδων Άθροισης και Πολλαπλασιασμού σε παράσταση Κινητής Υποδιαστολής με τη χρήση τεχνικών Approximate Computing (Προσεγγιστικού Υπολογισμού). Στην εργασία αυτή θα σχεδιαστούν και θα υλοποιηθούν οι μονάδες Πρόσθεσης και Πολλαπλασιασμού σε παράσταση Κινητής Υποδιαστολής (FPU- Floating Point Unit) βασισμένες στη χρήση τεχνικών Approximate Computing (Προσεγγιστικού Υπολογισμού) με στόχο την εξοικονόμηση υλικού και κατανάλωσης ισχύος. Οι ιδέες του Προσεγγιστικού Υπολογισμού τα τελευταία χρόνια είναι κυρίαρχες στο χώρο της υλοποίησης συστημάτων διότι επιτρέπουν χωρίς υποβάθμιση της λειτουργίας σημαντική 3
μείωση στην κατανάλωση ισχύος. Η υλοποίηση θα γίνει τόσο σε επίπεδο ASIC (Standard Cell) όσο και σε πλατφόρμες FPGA. 1.5 Σχεδίαση κυκλωμάτων Δεκαδικών πράξεων (Αριθμητικής) σε πλατφόρμες FPGA Στην εργασία αυτή θα υλοποιηθούν οι μονάδες που εκτελούν πράξεις με αριθμούς σε αναπαράσταση δεκαδικής μορφής. Υπάρχει πλούσια βιβλιογραφία στο πεδίο αυτό και θα διερευνηθούν αποδοτικές υλοποιήσεις με στόχο τις πλατφόρμες FPGA. 1.6 Σχεδίαση συστημάτων υλοποίησης αλγορίθμων μηχανικής μάθησης σε πλατφόρμες FPGA Στην εργασία αυτή θα υλοποιηθούν αλγόριθμοι μηχανικής μάθησης που αφορούν σε Συνελικτικά Νευρωνικά Δίκτυα για πλατφόρμες FPGA. Οι μονάδες αυτές μπορούν να λειτουργούν συνεργατικά ως επιταχυντές σε πλατφόρμες Sytem on a Chip για τις παραπάνω εφαρμογές που είναι ιδιαίτερα απαιτητικές σε υπολογιστικούς πόρους. 4
Β. ΥΛΟΠΟΙΗΣΗ ΠΡΑΞΕΩΝ ΣΕ ΜΗ-ΣΥΜΒΑΤΙΚΑ ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ 1.7 Υλοποίηση αλγορίθμων 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.8 Ακριβής Διαίρεση (υπολογισμός πηλίκου και υπολοίπου) με αριθμούς που χρησιμοποιούνται ως βάσεις στα Αριθμητικά Συστήματα Υπολοίπων (RNS). Στην εργασία αυτή θα υλοποιηθούν οι μονάδες που υπολογίζουν με τον αποδοτικότερο τρόπο τα αποτελέσματα της ακριβούς διαίρεσης με αριθμούς όπως ενδεικτικά δίνονται παρακάτω: 2 n -1, 2 n 1, (2 n1 1) (2 n -1), (2 n1-1) (2 n 1), (2 n -1) 2, (2 n 1) 2. Η υλοποίηση θα γίνει με τη χρήση εξειδικευμένων κυκλωμάτων και όχι με την χρήση ενός γενικού κυκλώματος διαιρέτη. Οι μονάδες αυτές είναι χρήσιμες σε αριθμητική RNS για μετατροπή από δυαδική μορφή σε αναπαράσταση RNS και αντίστροφα. 1.9 Κβαντικά Κυκλώματα Πράξεων Θα γίνει αξιοποίηση της τεχνολογίας Quantum Dot Cellular Automata (QCA) για την υλοποίηση αριθμητικών κυκλωμάτων και αλγορίθμων DSP. Θα γίνει μελέτη σχετικής βιβλιογραφίας και στην συνέχεια σχεδιασμός νέων αρχιτεκτονικών που βασίζονται στην τεχνολογία QCA. 5
Γ. ΚΡΥΠΤΟΓΡΑΦΙΑ 1.10 Αποδοτική υλοποίηση του αλγόριθμου κρυπτογράφησης IDEA Στην εργασία αυτή θα προηγηθεί η βιβλιογραφική έρευνα του αντικειμένου και ο εντοπισμός των προβλημάτων και η διερεύνηση των μέχρι τώρα λύσεων. Στην νέα σχεδίαση προβλέπεται να θα αξιοποιηθεί η ιδέα της συγχώνευσης των επιμέρους πράξεων του αλγόριθμου κρυπτογράφησης IDEA για την επίτευξη αποδοτικότερης υλοποίησης του αλγορίθμου. 1.11 Μελέτη Υλοποίησης σε Υλικό Αλγορίθμων Κρυπτογραφίας Ελλειπτικών Καμπυλών. Μεταφορά σε πλατφόρμα FPGA. Θα ξεκινήσει με τη μελέτη Αλγορίθμων Κρυπτογραφίας Ελλειπτικών Καμπυλών, τους οποίους συναντάμε στη διεθνή βιβλιογραφία. Πρόκειται για ένα σύγχρονο πεδίο με έντονο ερευνητικό ενδιαφέρον καθώς οι κρυπτογραφικοί αλγόριθμοι που βασίζονται στη θεωρία των ελλειπτικών καμπυλών προσφέρουν το ίδιο επίπεδο ασφάλειας με τον αλγόριθμο κρυπτογραφίας RSA αλλά με πολύ μικρότερο μήκος κλειδιών που ανταλλάσσονται μεταξύ των χρηστών. Θα αξιοποιηθεί ο αλγόριθμος Karatuba καθώς και σειριακή υλοποίηση για εξοικονόμηση υλικού. Η υλοποίηση των πιο αποδοτικών αλγορίθμων θα γίνει σε πλατφόρμες FPGA του εργαστηρίου. Δ. ΣΧΕΔΙΑΣΗ ΣΕ ΕΠΙΠΕΔΟ TRANSISTOR 1.12 Μελέτη δημιουργίας αυτοματοποιημένης διαδικασίας για χρονισμό σύνθετων κυκλωμάτων VLSI σε συχνότητες υψηλότερες από αυτήν που επιτρέπει η κρίσιμη διαδρομή, αξιοποιώντας την αρχή λειτουργίας Wave Pipeline. Θα προηγηθεί η βιβλιογραφική έρευνα γύρω από την τεχνική του Wave Pipeline και θα διερευνηθεί η χρήση της για την αύξηση της απόδοσης κρίσιμων αριθμητικών κυκλωμάτων που εισάγουν μεγάλη καθυστέρηση. Τα σχήματα που θα προκύψουν θα συγκριθούν με τα αντίστοιχα που βασίζονται στην κλασική τεχνική του pipeline. Η υλοποίηση θα γίνει σε επιπέδου τρανζίστορ με χρήση των εργαλείων της πλατφόρμας Cadence και Spice (Spectre). 1.13 Σχεδίαση αποδοτικών Συγκριτών σε επίπεδο tranitor. Στην εργασία αυτή θα εφαρμοστεί μια νέα αποδοτική τεχνική στην σχεδίαση συγκριτών. Η σχεδίαση χαμηλής κατανάλωσης συγκριτών είναι πολύ σημαντική σε πολλά πεδία εφαρμογών όπως στην υλοποίηση επξεργαστών (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). Η υλοποίηση θα γίνει σε επιπέδου τρανζίστορ με χρήση των εργαλείων της πλατφόρμας Cadence, ειδικότερα του εργαλείου Virtuoo(layout editor) και Spice (Spectre). 6
2 Ανάπτυξη Εφαρμογών σε Συστήματα-επί-Ψηφίδας (Sytem on a Chip - SoC) Θα βασιστούν στην αναπτυξιακή πλατφόρμα 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) Επίσης μπορούν να περιλαμβάνονται και βιομηχανικοί αυτοματισμοί. Επίσης θα δοθεί έμφαση σε συστήματα ελέγχου φωτισμού. Για το πεδίο αυτό θα απαιτηθούν και βασικές γνώσεις ηλεκτρονικής, διασύνδεσης αισθητήρων και ελέγχου-οδήγησης φωτισμού LED. 3.2 Υλοποίηση συστημάτων Internet-of-Thing (IoT). Τέλος πολύ μεγάλης σημασίας είναι η δικτυακή διασύνδεση (με πρωτόκολλα πολύ μικρής κατανάλωσης) πολλών μονάδων παρακολούθησης περιβαλλοντολογικών, ιατρικών, αγροτικών δεδομένων. Σημαντικές εφαρμογές που προκύπτουν στο πεδίο αυτό αφορούν στις εφαρμογές για Έξυπνες Πόλεις (Smart Citie). Στο πλαίσιο αυτό θα υλοποιηθούν εφαρμογές με τη χρήση έτοιμων εμπορικά μονάδων για δικτύωση (ZigBee, Wi-Fi, Lora hield) καθώς και υπολογιστικών πλατφορμών όπως (Ardouino, Rapberry PI, Beagle). 7