Please ensure Javascript is enabled for purposes of website accessibility

Παρουσίαση/Προβολή

Εικόνα επιλογής

Space Data Systems

(M806) -  Νεκτάριος Κρανίτης (Θεωρία), Βασιλόπουλος Διονύσης (Εργαστήριο)

Περιγραφή Μαθήματος

(Μελετήστε προσεκτικά την περιγραφή του μαθήματος.)

Το μάθημα αυτό είναι απόλυτα συνδεδεμένο με την αγορά εργασίας στο γνωστικό αντικείμενο της σχεδίασης ψηφιακών συστημάτων (digital design) σε τεχνολογία FPGA και στοχεύει στην πρακτική εκμάθηση όλων των φάσεων της υλοποίησης ενός σύνθετου ψηφιακού συστήματος. Η υλοποίηση ξεκινάει με την ορθή σχεδίαση, ώστε να προκύψει η κατάλληλη σύνθεση, και συνεχίζει με τις υπόλοιπες σημαντικές φάσεις, που είναι η επαλήθευση της ορθής σχεδίασης και η δοκιμή της τελικής υλοποίησης. Επιπλέον μελετώνται και υλοποιούνται τεχνικές αύξησης της δοκιμαστικότητας και της αξιοπιστίας ενός ψηφιακού συστήματος. Δίδεται έμφαση στη σχεδίαση ψηφιακών συστημάτων και επιταχυντών υλικού σε τεχνολογία FPGA για διαστημικές εφαρμογές (on-board data processing systems).

Ο φοιτητής, αρχικά, διδάσκεται εν συντομία, υπό μορφή επανάληψης, θέματα που αφορούν στις αρχές και πρακτικές της ψηφιακής σχεδίασης. Έμφαση δίδεται σε θέματα, όπως α) η ανάλυση χρονισμού των ψηφιακών συστημάτων, μελετώντας τη μετασταθερότητα και πώς αυτή αντιμετωπίζεται με τη χρήση των συγχρονιστών, β) τα αριθμητικά συστήματα σταθερής υποδιαστολής, και γ) ο χωρικός και χρονικός παραλληλισμός για την αύξηση των επιδόσεων ενός ψηφιακού συστήματος.

Στη συνέχεια ο φοιτητής διδάσκεται τη γλώσσα περιγραφής υλικού VHDL με πλήρη λίστα κωδίκων (ιδιωματισμών) για  προσομοίωση και ορθή σύνθεση μέσα από τα ψηφιακά κυκλώματα της διαδρομής δεδομένων (datapath) και της μονάδας ελέγχου (control unit) ενός επεξεργαστή αρχιτεκτονικής ARM v7 και τα απαιτούμενα προγράμματα δοκιμής (testbenches).  Αρχικά, δίδεται η περιγραφή απλών συνδυαστικών και ακολουθιακών κυκλωμάτων (π.χ. αποκωδικοποιητές, πολυπλέκτες, καταχωρητές, μέτρητές), στη συνέχεια δίδεται η περιγραφή κυκλωμάτων αριθμητικής (αθροιστές, αφαιρέτες, συσσωρευτές, συγκριτές, μονάδα ALU, ολισθητές και περιστροφείς, πολλαπλασιαστές), κατόπιν δίδεται η περιγραφή μηχανών πεπερασμένων καταστάσεων (ιδιαίτερα χρήσιμη για μικροαρχιτεκτονικές πολλών κύκλων) και τέλος δίδεται η περιγραφή διατάξεων μνήμης (ROM, RAM και αρχεία καταχωρητών).

Στη συνέχεια, ο φοιτητής διδάσκεται την αρχιτεκτονική του επεξεργαστή ARM (εντολές, συμβολική γλώσσα, προγραμματισμός, γλώσσα μηχανής) και μαθαίνει τις λεπτομέρειες της πραγματικής σχεδίασης ενός επεξεργαστή αρχιτεκτονικής ARM και για τις δύο βασικές μικροαρχιτεκτονικές του (ενός κύκλου και πολλών κύκλων), οι οποίες υιοθετούν διαφορετικούς συμβιβασμούς μεταξύ επιδόσεων και κόστους. Οι συμβιβασμοί αναλύονται σε βάθος, ώστε να κατανοήσει ο φοιτητής τη χρησιμότητα των βασικών μικροαρχιτεκτονικών στην πράξη.

Τέλος ο φοιτητής διδάσκεται θέματα που αφορούν αφενός την αυτοδοκιμή των ψηφιακών συστημάτων (ψηφιακή σχεδίαση με στόχο την υψηλή δοκιμαστικότητα με τεχνικές αυτοδοκιμής στο υλικό (Scan, BIST), τεχνικές συμπίεσης και τεχνικές αυτοδοκιμής στο λογισμικό (SBST)) και αφετέρου την αξιοπιστία των ψηφιακών συστημάτων (τεχνικές περιορισμού των αποτελεσμάτων της ακτινοβολίας σε ASICs και FPGAs) που χρησιμοποιούνται σε διαστημικές εφαρμογές με βάση το ECSS-Q-HB-60-02A.

Επιπλέον, ο φοιτητής ενημερώνεται για τις διαδικασίες που ακολουθούνται στην ανάπτυξη ASIC και FPGA με βάση το διαστημικό πρότυπο ECSS-Q-ST-60-02C "ASIC and FPGA development" και την τυπική κωδικοποίηση στη γλώσσα VHDL που έχει υιοθετήσει η ESA και το CNES για την παράδοση διαστημικού υλικού.

Στο εργαστήριο του μαθήματος οι φοιτητές χρησιμοποιούν τα εργαλεία λογισμικού της XILINX (WebPACK edition του Vivado Design Suite) για να σχεδιάσουν, να επαληθεύσουν την ορθή σχεδίαση με προσομοίωση  (γράφοντας τα απαραίτητα testbenches), να συνθέσουν και να υλοποιήσουν, αρχικά, αθροιστές και μηχανές πεπερασμένων καταστάσεων, ακολουθώντας τον οδηγό χρήσης των βασικών λειτουργιών του Vivado IDE της XILINX, και στη συνέχεια, ως απαλλακτική εργασία, έναν πυρήνα επεξεργαστή αρχιτεκτονικής ARM και μικροαρχιτεκτονικής είτε απλού κύκλου (Project 1), είτε πολλών κύκλων (Project 2).

Οι προχωρημένοι σε γνώσεις της γλώσσας VHDL μεταπτυχιακοί φοιτητές θα ασχοληθούν με ένα πιο σύνθετο project (Project 3) για τη ψηφιακή σχεδίαση και υλοποίηση στην αναπτυξιακή κάρτα Zedboard της Xilinx, που φιλοξενεί ένα FPGA της σειράς Zynq 7000 της Xilinx, ενός επεξεργαστή υλικού που υλοποιεί σε τεχνολογία FPGA έναν αλγόριθμο επεξεργασίας εικόνας, ως IP core σε περιβάλλον System-on-Chip. Το IP core επικοινωνεί με το host-PC μέσω της UART και με οθόνη VGA μέσω του ελεγκτή VGA.

Ημερομηνία δημιουργίας

Σάββατο 14 Μαρτίου 2020