Στόχος Μαθήματος
Οι στόχοι αυτού του μαθήματος είναι:
• Nα αποκτήσουν οι φοιτητές εργαστηριακή hands-on εμπειρία στον σχεδιασμό ψηφιακών κυκλωμάτων και στην χρήση έτοιμων Ολοκληρωμένων Κυκλωμάτων (ICs) τόσο σε εκπαιδευτικά boards όσο και με CAD εργαλεία σε FPGAs.
• Nα αποκτήσουν οι φοιτητές πρακτική γνώση και να εξασκηθούν στην χρήση των απαραίτητων σχεδιαστικών προσεγγίσεων για τον σχεδιασμό συστημάτων όπως η επαναχρησιμοποίηση, η ιεραρχική σχεδίαση, επίπεδα αφαιρετικότητας κ.α.
• Nα αποκτήσουν οι φοιτητές πρακτική γνώση και να εξασκηθούν στις τεχνικές ελέγχου ορθής λειτουργίας και αποσφαλμάτωσης κατά την φάση σχεδιασμού (simulation).
• Η μελέτη και κατανόηση των αρχών λειτουργίας των Ψηφιακών συστημάτων και κυκλωμάτων, των παραμέτρων τους, τον σχεδιαστικών περιορισμών τους και των τεχνολογιών υλοποίησης και σχεδίασης τους, καθώς και του τρόπου διασύνδεσης τους.
• Η χρήση και κατανόηση της δομής και του τρόπου λειτουργίας και αξιοποίηση των συσκευών FPGA, η σχηματική περιγραφή κυκλωμάτων συνδυαστικής και ακολουθιακής καθώς και η εισαγωγή στην περιγραφή ψηφιακών κυκλωμάτων και συστημάτων με γλώσσες περιγραφής υλικού (HDLs)
• H υλοποίηση τόσο σε εκπαιδευτικά boards όσο και με CAD εργαλεία σε FPGAs με ταυτόχρονη κατανόηση των αρχών που διέπουν τον σχεδιασμό κυκλωμάτων συνδυαστικής και ακολουθιακής λογικής καθώς και ο βέλτιστος σχεδιασμός τους και οι διάφορες παράμετροι υλοποίησης τους.
• H ανάλυση, σχεδίαση και υλοποίηση απαριθμητών (σύγχρονων και ασύγχρονων) τόσο σε εκπαιδευτικά boards όσο και με CAD εργαλεία σε FPGAs.
Μαθησιακά Αποτελέσματα
Στο τέλος αυτού του μαθήματος οι φοιτητές θα έχουν μάθει:
-Να υλοποιούν κυκλώματα συνδυαστικής και ακολουθιακής λογικής τόσο σε CAD εργαλεία (λογισμικό ALTERA QUARTUS II) με τελική υλοποίηση σε FPGAs όσο και σε εκπαιδευτικά boards.
-Να χρησιμοποιούν το λογισμικό ALTERA QUARTUS II για τον σχεδιασμό, την εξομοίωση της λειτουργίας των ψηφιακών κυκλωμάτων καθώς και για την τελική υλοποίηση των σχεδιασμών τους σε FPGA.
-Να χρησιμοποιούν άριστα τον εργαστηριακό εξοπλισμό για τους πειραματικούς σχεδιασμούς τους ήτοι τα breadboards, ICs, γεννήτριες συχνοτήτων, πολύμετρα, ψηφιακούς παλμογράφους κλπ.
-Να χρησιμοποιούν σχεδιαστικές τεχνικές για την αποδοτική υλοποίηση μεγάλων σχεδιασμών με διαχείριση της πολυπλοκότητας των σχεδιασμών και αποτίμηση των πλεονεκτημάτων/μειονεκτημάτων κάθε σχεδιαστικής προσέγγισης.
Να κάνουν αποδοτικά έλεγχο ορθής λειτουργίας (simulation) και αποσφαλμάτωση των σχεδιασμών τους κατά την φάση σχεδιασμού.
-Να υλοποιούν εξειδικευμένους (ad-hoc) απαριθμητές (σύγχρονους και ασύγχρονους) τόσο σε FPGAs όσο και σε εκπαιδευτικά boards, σύμφωνα με τις ανάγκες των εφαρμογών τους.
-Να σχεδιάζουν βασικά ψηφιακά κυκλώματα χρησιμοποιώντας γλώσσα περιγραφής υλικού (VHDL) και να υλοποιούν σε FPGAs.
Περιεχόμενο Μαθήματος
Επεξήγηση εξοπλισμού, εξοικείωση με τις βασικές λογικές πύλες και σχεδιασμός και υλοποίηση κυκλωμάτων και εφαρμογών συνδυαστικής λογικής, με την χρήση ολοκληρωμένων SSI και MSI κυκλωμάτων σε breadboard. Εξοικείωση με Flip Flops: S-R flip flop, D flip flop και J-K flıp flop.Λειτουργίες Preset και Clear. Υλοποίηση απλών κυκλωμάτων και εφαρμογών. Σχεδιασμός και Υλοποίηση κυκλωμάτων ακολουθιακής λογικής, με την χρήση ολοκληρωμένων κυκλωμάτων SSI και MSI σε εκπαιδευτικά breadboard: Καταχωρητές, Σύγχρονοι και Ασύγχρονοι απαριθμητές. Εισαγωγή στο πρόγραμμα σχεδιασμού ALTERA Quartus II, στις προγραμματιζόμενες συσκευές και στην υλοποίηση ψηφιακών κυκλωμάτων μέσω προγραμματισμού FPGA board. Σχεδιασμός και υλοποίηση σε FPGA συνδυαστικών κυκλωμάτων: Αθροιστών, Συγκριτή, Πολυπλεκτών, Αποκωδικοποιητών, Κωδικοποιητών κ.α. Ιεραρχική σχεδίαση και αλυσιδωτή (cascade) σύνδεση. Σχεδιασμός και υλοποίηση σε FPGA ψηφιακών κυκλωμάτων ακολουθιακής λογικής: S-R flıp flop, D flıp flop και J-K flıp flop, κυκλωμάτων ασύγχρονων και σύγχρονων απαριθμητών. Ιεραρχική σχεδίαση και υλοποίηση στο FPGA board Αριθμητικής και Λογικής Μονάδας (ALU). Εισαγωγή στις γλώσσες προγραμματισμού υλικού HDL. Σχεδιασμός και υλοποίηση κυκλωμάτων συνδυαστικής και ακολουθιακής λογικής με VHDL. Ιεραρχική σχεδίαση με χρήση HDL και υλοποίηση στο FPGA board Αριθμητικής και Λογικής Μονάδας (ALU). Μειονεκτήματα και πλεονεκτήματα των επιπέδων αφαιρετικότητας (levels of abstraction) στον σχεδιασμό μέσω σύγκρισης των δύο υλοποιήσεων ALU εξοπλισμού.
Προαπαιτούμενα
EEN_212 (Ψηφιακά Συστήματα)
EEN 314 Σχεδιασμός Συστημάτων VLSI
Στόχος Μαθήματος
Να αφομοιώσουν οι φοιτητές τις απαραίτητες θεωρητικές γνώσεις και πρακτικές γνώσεις γύρω από τις διάφορες φάσεις στη σχεδίαση και υλοποίηση ψηφιακών ολοκληρωμένων συστημάτων με υψηλές απαιτήσεις απόδοσης με εργαλεία αυτοματοποίησης της σχεδίασης και γλώσσες περιγραφής υλικού, μέσω ενός συνδυασμού διαλέξεων, ασκήσεων και εργαστηρίων.
Μαθησιακά Αποτελέσματα
Απόκτηση ολοκληρωμένων γνώσεων γύρω από την ανάλυση, προδιαγραφή, λειτουργία, σχεδίαση και υλοποίηση ψηφιακών ολοκληρωμένων συστημάτων πολύ μεγάλης ολοκλήρωσης (Very Large Scale Integration – VLSI) με υψηλές απαιτήσεις απόδοσης, με εργαλεία αυτοματοποίησης της σχεδίασης και γλώσσες περιγραφής υλικού. Επιπλέον προσφέρει μια εισαγωγική επανάληψη στις βασικές έννοιες ψηφιακής λογικής.
Περιεχόμενο Μαθήματος
Το μάθημα βασίζεται στα βασικά στοιχεία της σχεδίασης λογικών κυκλωμάτων που προσφέρονται στο προαπαιτούμενο μάθημα και έχει ως κύριους στόχους:
• την εισαγωγή στη σχεδίαση συνδυαστικών και ακολουθιακών ψηφιακών κυκλωμάτων
• τη χρήση της γλώσσας περιγραφής υλικού Verilog για την μοντελοποίηση και την εξομοίωσή τους καθώς και την υλοποίηση τους
• την υλοποίηση ψηφιακών συστημάτων σε προγραμματιζόμενες λογικές διατάξεις (CPLDs και FPGAs)
• την μελέτη των διαφορετικών τύπων μνήμης, οι οποίες χρησιμοποιούνται στα υπολογιστικά συστήματα
• την απόκτηση εμπειρίας στον πλήρη κύκλο της διαδικασίας σχεδιασμού, εξομοίωσης και υλοποίησης ψηφιακών συστημάτων με χρήση σύγχρονων εργαλείων σε υπολογιστή μέσω των εργαστηριακών ασκήσεων
Καλύπτονται οι εξής ενότητες-κεφάλαια:
1. Λογικές πύλες, στοιχεία μνήμης, συνδυαστική λογική (*)
2. Διεπίπεδη/πολυεπίπεδη υλοποιήση λογικών συναρτήσεων, Συνδυαστικά κυκλώματα (πολυπλέκτες, κωδικοποιητές, απο κωδικοποιητές), αριθμητικά συνδυαστικά κυκλώματα (γρήγοροι αθροιστές, πολλαπλασιαστές, διαιρέτες, ολισθητές) (*)
3. Ακολουθιακή λογική (καταχωρητές, μανδαλωτές) (*)
4. Ακολουθιακά κυκλώματα (μετρητές, καταχωρητές ολίσθησης, καταχωρητές παράλληλης φόρτωσης) (*)
5. Μηχανές Πεπερασμένων καταστάσεων (Finite State Machines – FSMs).
6. Γλώσσα Verilog (βασικά, συμπεριφορικό, επίπεδο μεταφοράς καταχωρητών, δομικό στυλ κώδικα)
7. Αναπαράσταση συνδυαστικών κυκλωμάτων σε Verilog
8. Αναπαράσταση ακολουθιακών κυκλωμάτων σε Verilog
9. Προχωρημένη Λογική Σχεδίαση
10. Σχεδίαση ψηφιακών κυκλωμάτων με εισαγωγή σχηματικού (*)
11. Ροή σχεδίασης FPGA/ASIC
12. Εργαλεία Αυτοματοποίησης της Σχεδίασης
13. Προσομοίωση και επαλήθευση λογικών κυκλωμάτων (Verilog testbenches)
14. Λογική Σύνθεση συνδυαστικών και ακολουθιακών κυκλωμάτων
15. Τοποθέτηση και Δρομολόγηση
16. Μοντέλα σφαλμάτων
17. Μοντέλα BJT και ΜOSFET ως διακόπτες
18. Υλοποίηση CMOS, VLSI layout, stick diagrams
19. Επαναπροσδιοριζόμενες αρχιτεκτονικές, τεχνολογία FPGA.
20. Τεχνολογίες ολοκληρωμένων κυκλωμάτων
21. Ρολόγια, καθυστερήσεις, δίκτυα διανομής, συγχρονισμός, προβλήματα μεταστάθειας (metastability issues)
22. Μνήμες SRAM, DRAM, Δίαυλοι (busses)
23. Διασωλήνωση, παραλληλισμός, αύξηση απόδοσης