ΕΘΝΙΚΟΝ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟΝ ΠΑΝΕΠΙΣΤΗΜΙΟΝ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΠΣ Πληροφορικής και Τηλεπικοινωνιών, E Εξάμηνο ΜΔΕ στον Ηλεκτρονικό Αυτοματισμό, Α Εξάμηνο ΑΝΤΩΝΗΣ ΠΑΣΧΑΛΗΣ Καθηγητής
Οι Διδάσκοντες Αντώνης Πασχάλης, Καθηγητής, Θεωρία Γραφείο: A40 (Α όροφος) Τηλ. 210-727-5231 E-mail: paschalis@di.uoa.gr Νεκτάριος Κρανίτης, Συν. Ερευνητής, Εργαστήριο Γραφείο: Α1 (Α όροφος) Τηλ. 210-727-5222 E-mail: nkran@di.uoa.gr
ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ VHDL Προαιρετικό Μάθημα του Ε εξαμήνου Βασικό της Ειδίκευσης Ε4 «Υλικό και Αρχιτεκτονική» Συνίσταται για τις Ειδικεύσεις Ε3 «Λογισμικό» και Ε6 «Επεξεργασία Σήματος και Πληροφορίας» Κωδικός ΥΣ03 (6 ECTS) Θεωρία 3 ώρες Παρασκευή 09:00 12:00 (Αίθουσα Ζ) Εργαστήριο 1 ώρα Παρασκευή 12:00 13:00 (Εργαστήριο Υπολογιστών Υψηλών Επιδόσεων)
ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Υποχρεωτικό Μάθημα του Α εξαμήνου του ΜΔΕ στον Ηλεκτρονικό Αυτοματισμό 6 ECTS Θεωρία 3 ώρες Παρασκευή 09:00 12:00 (Αίθουσα Ζ) Θεωρία 1 ώρα Ομογενοποίηση Υποβάθρου Παρασκευή 12:00 13:00 (Αίθουσα Ζ) Εργαστήριο 1 ώρα Παρασκευή 13:00 14:00 (Εργαστήριο Υπολογιστών Υψηλών Επιδόσεων)
Σκοπός του Μαθήματος Η συμπλήρωση των γνώσεων σε θέματα αρχών και πρακτικών κυρίως ακολουθιακής λογικής σχεδίασης (υποχρεωτικό για το ΗΑ) Η διεύρυνση των γνώσεων σε θέματα που άπτονται του υλικού και της αρχιτεκτονικής υπολογιστών και των ψηφιακών συστημάτων γενικότερα Αρχιτεκτονική συνόλου εντολών με έμφαση στον MIPS R2000 Η ολοκλήρωση των γνώσεων για τις θεμελιώδεις έννοιες και διαδικασίες που απαιτούνται για τη σχεδίαση των ψηφιακών συστημάτων με τη χρήση: κατάλληλων εργαλείων λογισμικού για σχεδίαση, προσομοίωση, σύνθεση και υλοποίηση σε Field Programmable Gate Arrays FPGAs (προγραμματιζόμενα στο εργαστήριο VLSI κυκλώματα), και γλωσσών περιγραφής υλικού, όπως είναι η VHDL, θέτοντας τα θεμέλια για την υλοποίηση αλγορίθμων στο υλικό Η σχεδίαση στη πράξη ενός ψηφιακού συστήματος με τη σχεδίαση του πιο χαρακτηριστικού και πλήρους ψηφιακού συστήματος ενός RISC επεξεργαστή που βασίζεται στον επεξεργαστή MIPS R2000
Ποιους Φοιτητές Κυρίως Αφορά Τους φοιτητές που θέλουν να ασχοληθούν με τη Μηχανική των Υπολογιστών Τους φοιτητές που ενδιαφέρονται να εντρυφήσουν: στο υλικό και στην αρχιτεκτονική των υπολογιστικών συστημάτων, στις επικοινωνίες και στη δικτύωση, στην επεξεργασία σήματος και επεξεργασία πληροφορίας, Στην ανάπτυξη λογισμικού (υλοποίηση αλγορίθμων στο υλικό με τη χρήση γλωσσών περιγραφής υλικού) Στη συσχεδίαση υλικού-λογισμικού (προαπαιτούμενο) Στην ανάπτυξη ενσωματωμένων συστημάτων (προαπαιτούμενο)
Θέματα Διδασκαλίας Αρχές και Πρακτικές Ακολουθιακής Λογικής Σχεδίασης (3) Latches, Flip-Flops, Καταχωρητές, Μετρητές Σχεδίαση Μηχανών Πεπερασμένων Καταστάσεων (Moore και Mealy) Σχεδίαση Ψηφιακών Συστημάτων (Χρονισμός, Μεταστάθεια, Συγχρονιστές) Γλώσσα περιγραφής υλικού VHDL (Α. Σωστή Σύνθεση) (4) Σχεδίαση συνδυαστικής και ακολουθιακής λογικής για σωστή σύνθεση Θέματα Αρχιτεκτονικής Υπολογιστών (2) Αρχιτεκτονικές Συνόλου Εντολών με έμφαση στο MIPS R2000 Σχεδίαση ενός κλώνου του RISC επεξεργαστή MIPS R2000 (3) Δίοδος δεδομένων πολλών κύκλων Μονάδα ελέγχου και μνήμες εντολών και δεδομένων Γλώσσα περιγραφής υλικού VHDL (Β. Μονάδες Επεξεργαστή) (1) Σχεδίαση συνδυαστικής και ακολουθιακής λογικής για σωστή σύνθεση Εργαστήριο: Σχεδίαση και επαλήθευση ενός επεξεργαστή με FPGAs (10) Χρήση του εργαλείου λογισμικού Vivado WebPACK της Xilinx Χρήση του εργαλείου λογισμικού προσομοίωσης Modelsim της Mentor Graphics Δημιουργία κατάλληλων VHDL test benches Σχεδίαση και επαλήθευση της ορθής σχεδίασης ενός επεξεργαστή στη VHDL
Βιβλιογραφία David Patterson & John Hennessy, Οργάνωση και Σχεδίαση Υπολογιστών: Η Διασύνδεση Υλικού Λογισμικού, 4η έκδοση, 2010 Θεμελιώδες βιβλίο οργάνωσης και σχεδίασης υπολογιστών Παρουσιάζει αναλυτικά τη σχεδίαση ενός RISC επεξεργαστή (Κεφάλαιο 4 και Παράρτημα Δ) Παρουσιάζει τα βασικά της Ψηφιακής Σχεδίασης (Παράρτημα Β) John Wakerly, Ψηφιακή Σχεδίαση: Αρχές και Πρακτικές, 3η έκδοση, 2002 Πλήρες βιβλίο αναφοράς για τη ψηφιακή σχεδίαση Παρουσιάζει και τη γλώσσα περιγραφής υλικού VHDL Peter J. Ashenden, Ψηφιακή Σχεδίαση: Ενσωματωμένα Συστήματα με VHDL, 2010 Παρουσιάζει τη σχεδίαση σε επίπεδο κυκλώματος και σε επίπεδο συστήματος με τη γλώσσα περιγραφής υλικού VHDL Volnei Pedroni, Σχεδιασμός Κυκλωμάτων με τη VHDL, 2007 Παρουσιάζει τη σχεδίαση σε επίπεδο κυκλώματος και σε επίπεδο συστήματος με τη γλώσσα περιγραφής υλικού VHDL Αντώνης Πασχάλης, Σχεδίαση Ψηφιακών Συστημάτων, 6η έκδοση, 2017 Οι Πανεπιστημιακές Παραδώσεις Οι εργαστηριακές ασκήσεις του μαθήματος Βρίσκονται στο eclass.uoa
Σύνθετες Διατάξεις Προγραμματίσιμης Λογικής VLSI κυκλώματα με επαναδιατάξιμη λογική (reconfigurable logic) που μπορούν να προγραμματίζονται από το χρήστη και να υλοποιούν κάθε φορά διαφορετικά ψηφιακά συστήματα Χωρίζονται σε δύο κατηγορίες: CPLDs (Complex Programmable Logic Devices FPGAs (Field-Programmable Gate Arrays) Ο προγραμματισμός της διάταξης γίνεται με σύνδεση του VLSI κυκλώματος σε κάποια θύρα του υπολογιστή και τη χρησιμοποίηση ειδικών εργαλείων λογισμικού (CAD tools) Η διάταξη διαθέτει μνήμη διαμόρφωσης (configuration memory), όπου αποθηκεύεται η πληροφορία διαμόρφωσης Ανάλογα την εφαρμογή υπάρχουν διατάξεις που προγραμματίζονται: Μόνο μία φορά (anti-fuse logic) Πολλές φορές (SRAM based logic ή Flash based logic)
Γιατί Χρησιμοποιούνται Ευρέως οι Σύνθετες Διατάξεις Προγραμματίσιμης Λογικής Παρέχουν δυνατότητα σχεδίασης VLSI κυκλωμάτων στο εργαστήριο, με τη χρήση σχετικά φθηνών εργαλείων λογισμικού. Παρέχουν πολύ χαμηλό κόστος υλοποίησης VLSI κυκλωμάτων, το οποίο είναι ανεκτό από μικρές εταιρείες που δραστηριοποιούνται στην ανάπτυξη υλικού και αλγορίθμων που υλοποιούνται στο υλικό. Είναι επαναπρογραμματίσιμες και επαναδιατάξιμες (ολικώς ή μερικώς) ακόμα και κατά τη διάρκεια της κανονικής λειτουργίας του VLSI κυκλώματος Παρέχουν μεγάλη ευελιξία στη σχεδίαση των ψηφιακών συστημάτων. Η εξέλιξη στην πυκνότητα ολοκλήρωσης έχει σαν αποτέλεσμα τα FPGAs να διαθέτουν ενσωματωμένες μνήμες, πολλαπλασιαστές, ειδικές μονάδες για ψηφιακή επεξεργασία σήματος καθώς και πυρήνες επεξεργαστών σε κάποιες περιπτώσεις. Η γενικότερη τεχνολογική εξέλιξη σε θέματα κόστους, αποδόσεων, κατανάλωσης ισχύος και αξιοπιστίας έχει σαν αποτέλεσμα οι σύγχρονες διατάξεις προγραμματιζόμενης λογικής να χρησιμοποιούνται ευρέως σε εμπορικές, βιομηχανικές, στρατιωτικές και διαστημικές εφαρμογές.
CPLDs και FPGAs Tα CPLDs αποτελούνται από πολλές PALs που είναι διασυνδεδεμένες μέσω ενός πίνακα προγραμματίσιμων διακοπτών (crossbar switches) και υλοποιημένες πάνω στο ίδιο VLSI κύκλωμα Υλοποιούν σχετικά μικρό πλήθος λογικών πυλών (από 500 μέχρι 10.000 πύλες) Μπορούν να υλοποιήσουν πολλές σύνθετες λογικές συναρτήσεις Χρησιμοποιούνται κυρίως ως ελεγκτές Επιτυγχάνουν υψηλότερες συχνότητες λειτουργίας από τα FPGAs Τα FPGAs είναι διατάξεις προγραμματίσιμης λογικής που προσφέρουν ακόμη μεγαλύτερη πυκνότητα λογικής από τα CPLDs. Έχουν σαφώς περισσότερους καταχωρητές και διαθέτουν τουλάχιστον ενσωματωμένες μνήμες (Block RAMs). Eχουν καλύτερη αναλογία Flip-Flop Flop και εισόδων σε σχέση με τα CPLDs. Υλοποιούν σχετικά μεγάλο πλήθος λογικών πυλών (από 1.000 μέχρι πάνω από 3.000.000 πύλες) Χρησιμοποιούνται στην υλοποίηση ενσωματωμένων συστημάτων σε ένα Ολοκληρωμένο Κύκλωμα (System on Chip, SoC)
Σχεδίαση Ψηφιακών Συστημάτων Παράδειγμα Εφαρμογής: Η συμμετοχή μας στη διαστημική αποστολή ESA/PROBA-3 για την υλοποίηση στο υλικό (FPGA) με τη χρήση της γλώσσας περιγραφής υλικού VHDL ενός αλγορίθμου συμπίεσης δεδομένων εικόνας κατάλληλου για διαστημικές εφαρμογές Απαιτεί συνδυασμένες γνώσεις στο υλικό και στην αρχιτεκτονική, στις επικοινωνίες και στη δικτύωση, στην επεξεργασία σήματος και στο λογισμικό