ΗΥ220: Εργαστήριο Ψηφιακών Κυκλωμάτων (2020)

Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης

Πρόγραμμα Διαλέξεων και Εργαστηρίων (Schedule)

Ώρες Διδασκαλίας: Δευτέρα 12.15 - 14:00
Πέμπτη 18.15 - 20:00
Διαδικτυακή Διδασκαλία:   Zoom
Ώρες Γραφείου: Κατόπιν συνεννόησης

Διδακτικό Προσωπικό (Course Staff)

Διδάσκοντες Βοηθοί
Δρ. Βασίλης Παπαευσταθίου Ιάσονας Μαστοράκης
Καθ. Μανόλης Κατεβαίνης Σωτήρης Τοτόμης

Πληροφορίες Μαθήματος (Course Info)

Περιοχή: Υλικό και Συστήματα Υπολογιστών (Ε4)
Περιγραφή: Γλώσσες περιγραφής και προσομοίωσης υλικού, π.χ. Verilog. Επισκόπηση της τεχνολογίας FPGA, εργαλεία αυτόματης σύνθεσης κυκλωμάτων σε FPGA. Διαγράμματα χρονισμού, τεχνικές ελάττωσης καθυστέρησης. Αρτηρίες (δίαυλοι, λεωφόροι), πρωτόκολα χειραψίας, παραδείγματα εμπορικών αρτηριών. Μνήμες, π.χ. SRAM και SDRAM. Γέννηση ρολογιού, απόκλιση ρολογιού, χρήση PLL. Μεταστάθεια, σφάλμα συγχρονισμού, συγχρονιστές, ουρές και ελαστικοί ενταμιευτές, συγχρονισμός σημάτων άδειος/γεμάτος. Εργαστήριο: Ασκήσεις υλοποίησης μικρών έως μεσαίων εργασιών σε πλακέτες με FPGA, μετά από σχεδίαση και προσομοίωση σε Verilog.
ECTS: 6
Προαπαιτούμενα: ΗΥ120 - Ψηφιακή Σχεδίαση
Βαθμολόγηση: Εργαστήρια/Ασκήσεις: 60% (βαθμός > 4.5)
Εξέταση Προόδου: 15% (υποχρεωτική)
Τελική Εξέταση: 25% (βαθμός > 4.5)
Mailing-list: hy220-list at csd dot uoc dot gr

Πρόγραμμα και Υλικό Διαλέξεων (Schedule and Lecture Notes)

`
Ημερομηνία Περιγραφή Σημειώσεις/Παρουσιάσεις Επιπλέον Υλικό
28 Σεπ. Εισαγωγή Slides
01 Οκτ. Λογικές Πύλες, Στοιχεία Μνήμης, Συνδυαστική Λογική και Κυματομορφές Slides
12 Οκτ. Verilog: Τα βασικά Slides
15 Οκτ. Verilog: Τα βασικά (συνέχεια...) Slides από 12 Οκτ.
19 Οκτ. Verilog: Τα βασικά (συνέχεια...) Slides από 12 Οκτ.
22 Οκτ. Verilog: Μια πιο κοντινή ματιά Slides
26 Οκτ. Verilog: Μια πιο κοντινή ματιά (συνέχεια...) Slides από 22 Οκτ.
29 Οκτ. Xilinx Vivado και Προσομοίωση (Ι.Μαστοράκης & Σ.Τοτόμης) Slides
2 Νοε. Verilog: Στύλ Κώδικα και Synthesizable Verilog Slides
5 Νοε. Verilog: Στύλ Κώδικα και Synthesizable Verilog (συνέχεια...) Slides από 2 Νοε.
16 Νοε. Verilog: Στύλ Κώδικα και Synthesizable Verilog (συνέχεια...) Slides από 2 Νοε.
19 Νοε. Verilog: Στύλ Κώδικα και Synthesizable Verilog (συνέχεια...) Slides από 2 Νοε.
23 Νοε. Verilog: Στύλ Κώδικα και Synthesizable Verilog (συνέχεια...) Slides από 2 Νοε.
26 Νοε. Χρονισμός Σύγχρονων Κυκλωμάτων, Καταχωρητές και Μανταλωτές Slides
03 Δεκ. Xilinx Vivado και Προσομοίωση #2 (Ι.Μαστοράκης & Σ.Τοτόμης)
07 Δεκ. Χρονισμός Σύγχρονων Κυκλωμάτων, Καταχωρητές και Μανταλωτές (συνέχεια...) Slides από 26 Νοε.
10 Δεκ. Μηχανές Πεπερασμένων Καταστάσεων - FSM Slides
14 Δεκ. Στατικές Μνήμες: SRAM Slides
17 Δεκ. Δυναμικές Μνήμες: DRAM Slides
21 Δεκ. Ροή Σχεδίασης και Εργαλεία CAD Slides
21 Ιαν. 2021 Τελική Εξέταση (30%) - Πέμπτη 21 Ιανουαρίου 2021: 11.00 - 14.00

Σημειώσεις, Εγχειρίδια και Σύνδεσμοι (Notes, Manuals and Links)

  • Web-based Verilog Simulation Tools (for small experiments):
    EDA Playground  [also Waves (beta) with EPWave]
    TutorialPoints Verilog
  • Open-Source Simulator: Icarus Verilog (iverilog) (Linux, MacOS)
    Σε πολλές διανομές Linux (π.χ. Ubuntu, Debian, κτλ) το Icarus Verilog υπάρχει στα έτοιμα πακέτα που μπορούν να εγκατασταθούν:
    sudo apt-get install verilog
    Σε MacOS μπορείτε να το εγκαταστήσετε χειροκίνητα ή με package managers όπως το Homebrew:
    brew install icarus-verilog

  • Open VCD Waveform Viewers: GTKWave (Linux, MacOS, Win) ή Scansion (MacOS)
    Σε πολλές διανομές Linux (π.χ. Ubuntu, Debian, κτλ) το GTKwave υπάρχει στα έτοιμα πακέτα που μπορούν να εγκατασταθούν:
    sudo apt-get install gtkwave
    Για να δείτε κυματομορφές από προσομοιώσεις με iverilog θα πρέπει να γεννήσει η προσομοίωση αρχεία τύπου VCD (Value Change Dump). Για να γεννηθούν VCD αρχεία θα πρέπει απλά να προσθέσετε στο testbench σας τις παρακάτω γραμμές στην αρχή του initial block:
    initial begin
      $dumpfile("tb_waves.vcd");
      $dumpvars;
      
      // your other code below
      
      ...
      
    end

Εργαστηριακές Ασκήσεις (Laboratory Exercises)

Ημερομηνία Περιγραφή Εκφώνηση/Υλικό Προθεσμία
23 Νοε. 1η Σειρά Ασκήσεων Εκφώνηση
Κώδικας
04 Δεκ. 23:59
10 Δεκ. 2η Σειρά Ασκήσεων Εκφώνηση
Κώδικας
21 Δεκ. 23:59
08 Ιαν. 3η Σειρά Ασκήσεων Εκφώνηση
Κώδικας
31 Ιαν. 23:59
08 Ιαν. 4η Σειρά Ασκήσεων Εκφώνηση
Κώδικας
31 Ιαν. 23:59

Εργαστηριακά Τμήματα και Ώρες (Lab Sessions)

TBA

Σελίδες Παλαιοτέρων Ετών (Websites from Previous Years)

Last update: 31 Jan. 2021 - by V. Papaefstathiou