Σχεδίαση Ολοκληρωμένων Ψηφιακών Συστημάτων

Περιεχόμενο μαθήματος

Εισαγωγή στις έννοιες των ολοκληρωμένων κυκλωμάτων ειδικού σκοπού (ASIC) και των προγραμματιζόμενων ολοκληρωμένων FPGA, Γλώσσες Περιγραφής Υλικού (HDLs), Verilog και VeryHighSpeedIntegratedCircuitsHDL (VHDL), Συνδυαστικά και Ακολουθιακά ψηφιακά κυκλώματα, Εξομοίωση σχεδιασμού, Σύνθεση σχεδιασμού, Χρονική ανάλυση, Εξομοίωση σχεδιασμού μετά τη σύνθεση. Γλώσσα Περιγραφής Υλικού Verilog: Επισκόπηση της διαδικασίας σχεδίασης ψηφιακών κυκλωμάτων με τη γλώσσα Verilog, Ιεραρχικός σχεδιασμός, Βασικά στοιχεία της γλώσσας Verilog, Modules και Ports, Σχεδίαση επιπέδου λογικής πύλης (δομικές περιγραφές), Σχεδίαση επιπέδου dataflow, Σχεδίαση επιπέδου συμπεριφοράς (behavioral), Σχεδίαση επιπέδου μεταφοράς περιεχομένου καταχωρητών (RegisterTransferLevel – RTL), Tasks και Functions, Χρήσιμες Τεχνικές Σχεδιασμού, Καθυστερήσεις, Σύνθεση με τη γλώσσα Verilog. Μηχανές Πεπερασμένων Καταστάσεων, Μνήμες FirstInFirstOut (FIFO), Επικοινωνία λειτουργικών μονάδων με χειραψία, Μνήμες τυχαίας προσπέλασης και επικοινωνία με μνήμες, Θέματα διανομής του ρολογιού, Εργαλεία CAD (ComputerAidedDesign).

 

Επιδιωκόμενα μαθησιακά αποτελέσματα

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

  • Ικανότητα να διακρίνουν μεταξύ συνδυαστικών και ακολουθιακών ψηφιακών κυκλωμάτων.
  • Ικανότητα να σχεδιάζουν συνδυαστικές δομικές μονάδες ώστε να χρησιμοποιηθούν σε μεγαλύτερα συστήματα.
  • Ικανότητα να σχεδιάζουν μηχανές πεπερασμένων καταστάσεων για τον έλεγχο σύνθετων συστημάτων.
  • Ικανότητα να προσδιορίζουν ποια τμήματα της γλώσσας Verilog μπορούν να περάσουν από σύνθεση και ποια όχι, ποιο είδος περιγραφής πρέπει να χρησιμοποιηθεί ανάλογα με την προς σχεδίαση μονάδα, καθώς και να γράφουν «συνθέσιμο» κώδικα Verilog.
  • Ικανότητα να γράφουν ένα module  (testbench) για τον έλεγχο άλλων module της Verilog.
  • Ικανότητα να συνθέτουν ένα σχεδιασμό ώστε να μπορεί να χρησιμοποιηθεί σε μία συγκεκριμένη πλακέτα προτυποποίησης με FPGA.
  • Ικανότητα να πραγματοποιούν εξομοίωση ενός σχεδιασμού με χρονική πληροφορία, μετά τη σύνθεση.
  • Ικανότητα ανάλυσης και διόρθωσης σφαλμάτων μονάδων γραμμένων σε γλώσσα Verilog.
  • Ικανότητα να σχεδιάζουν και να υλοποιούν ένα σύγχρονο ψηφιακό σύστημα σε γλώσσα Verilog και να επαληθεύουν τις επιδόσεις του.

 

Προαπαιτούμενα

  • Λογική Σχεδίαση
  • Αρχιτεκτονική Υπολογιστών

 

Εγχειρίδια του μαθήματος

  1. Verilog HDL: A Guide to Digital Design and Synthesis, Samir Palnitkar, 2η έκδοση
  2. The Verilog Hardware Description Language, D. Thomas, P. Moorby, 5η έκδοση

 

Συμπληρωματική βιβλιογραφία

  1. Digital Design and Computer Architecture, David Harris, Sarah Harris, 1η έκδοση
  2. Ψηφιακή Σχεδίαση, M. Morris Mano, Michael D. Ciletti, 5η έκδοση

 

Διδακτικές και μαθησιακές μέθοδοι

Διαλέξεις, φροντιστηριακές ώρες που περιλαμβάνουν επίλυση ασκήσεων με υποδειγματικό τρόπο, εκπόνηση ασκήσεων, εργασία

 

Μέθοδοι αξιολόγησης / βαθμολόγησης

Ασκήσεις (20%), Εργασία (40%), Γραπτή εξέταση (40%)

 

Γλώσσα διδασκαλίας

Ελληνική ή/και Αγγλική

 

Τρόπος παράδοσης μαθήματος

Το μάθημα υλοποιείται με πρότυπες μορφές εκπαίδευσης που συνδυάζουν: (α) μαθήματα και σεμινάρια, η παρακολούθηση των οποίων είναι υποχρεωτική, απαιτώντας προσδιορισμένη από τον κανονισμό σπουδών ελάχιστη φυσική παρουσία και (β) πρότυπες (ηλεκτρονικές) διαδικασίες εκπαίδευσης/μάθησης από απόσταση