Σχεδίαση Συστημάτων με Χρήση Υπολογιστών (CAD)¶
Επίσημο περίγραμμα μαθήματος του ΤΜΗΥΠ (Πανεπιστήμιο Πατρών), όπως δημοσιεύεται στη σελίδα του μαθήματος και στο συνημμένο αρχείο «Περίγραμμα Μαθήματος». Το κείμενο παρατίθεται αυτούσιο, χωρίς τα πρότυπα οδηγιών του εντύπου.
Στόχοι¶
- Ο φοιτητής που ολοκληρώνει επιτυχώς το μάθημα μπορεί να :
(1) Υλοποιήσει έναν σχεδιασμό σε μια πλακέτα, και (2) Υλοποιήσει έναν σχεδιασμό εμφωλεύοντάς τον σε ένα ολοκληρωμένο προγραμματιζόμενης λογικής
Περιεχόμενο (ύλη)¶
Α. Διαλέξεις - Βασικές Γνώσεις - Στοιχεία των ψηφιακών κυκλωμάτων - Χρόνοι προετοιμασίας και αποκατάστασης των ακολουθιακών στοιχείων - Οικογένειες της TTL και της CMOS -Διασυνδεσιμότητα μεταξύ των οικογενειών - Χρονικές πληροφορίες που παρέχονται από τον κατασκευαστή για τις διάφορες οικογένειες - Τεχνοτροπίες σχεδιασμού - Full-custom design - Semi-custom design - Standard-cell design - Τεχνοτροπίες υλοποίησης σχεδιασμών - Υλοποίηση κατασκευάζοντας όλες τις μάσκες - Υλοποίηση κατασκευάζοντας μέρος των μασκών : Gate – Array, Sea-of-gates, LPGA και FPGA υλοποιήσεις - Πλακέτες και προγραμματιζόμενα ολοκληρωμένα - Πως κατασκευάζεται μια πλακέτα - Περιβλήματα ολοκληρωμένων και η σχέση τους με τον αριθμό των ακροδεκτών - Αποτυπώματα των ολοκληρωμένων - Επίπεδα διαδρόμισης, πάχη γραμμών, διαμετρήματα οπών και η σημασία τους στο κόστος μιας πλακέτας - Επίπεδα τροφοδοσίας και γής – Isolation rings - To υλικό που πρέπει να παραδώσει ένας σχεδιαστής για την κατασκευή μιας πλακέτας - Ιστορική αναδρομή στα προγραμματιζόμμενα ολοκληρωμένα - ROMs, FPROMs, EPROMs, EEPROMs, μνήμες Flash - PALs, PLAs, GALs και FPLSs - To πρόβλημα της διασύνδεσης εντός των προγραμματιζόμενων ολοκληρωμένων και οι λύσεις που προσφέρονται από τα CPLDs και τα FPGAs. - FPGAs - Βασικοί σχεδιασμοί : CLBs, IO blocks και ιεραρχική προγραμματιζόμενη διασύνδεση - Αναλυτική παρουσίαση των παραπάνω σχεδιασμών για τη σειρά 4000 E/EX της Xilinx - Πως γίνεται ο προγραμματισμός ενός ή μιας αλυσίδας από FPGAs - Εξέλιξη μεγέθους και ακροδεκτών των FPGAs - Ενσωμάτωση επεξεργαστών, μνήμης και οπτικών στοιχείων επικοινωνίας. Τι έχουμε πετύχει και τι απομένει ακόμη για την επίτευξη συστήματος ως ολοκληρωμένο (SoC). - Σχεδιαστική Ροή - H ανάγκη για μια σαφή σχεδιαστική ροή - Front-end και back-end design - Οι διαδικασίες του front-end : Εισαγωγή του σχεδιασμού, λογική εξομοίωση. Εναλλακτικοί τρόποι εισαγωγής του σχεδιασμού : γραφικός, με κάποια γλώσσα περιγραφής υλικού, ως macro, ως διάγραμμα μετάβασης καταστάσεων, με πίνακες αληθείας, κλπ. - Οι διαδικασίες του back-end και η διαφοροποίησή τους ανάλογα με την τελική υλοποίηση : σύνθεση, γέννηση macro-block, εξομάλυνση, διαχωρισμός σε ολοκληρωμένα, τοποθέτηση, διαδρόμιση, εξαγωγή φυσικών παραμέτρων, προς τα πίσω ενημέρωση της χρονικής πληροφορίας και χρονική επαλήθευση του σχεδιασμού. - Πως τα εργαλεία σχεδιασμού ενσωματώνουν και υποβοηθούν τη σχεδιαστική ροή. - Περιγραφή σχεδιασμού με HDLs - Η ανάγκη για εξειδικευμένες γλώσσες και οι πιο διαδεδομένες γλώσσες - Η διαφοροποίηση μιας HDL σε σχέση με μια γλώσσα προγραμματισμού - Σύντομη παρουσίαση της VHDL - Αναλυτική παρουσίαση της Verilog
Β. Εργαστηριακές Ασκήσεις Άσκηση 1 Εξοικείωση με τον γραφικό τρόπο εισαγωγής ενός σχεδιασμού και την εξομοίωσή του, την μέτρηση της καθυστέρησης διάδοσής του και τη διαδικασία εκσφαλμάτωσης. Άσκηση 2 Τop-down vs bottom-up φιλοσοφία σχεδιασμού Άσκηση 3 Διαδικασίες back-end για υλοποίηση μιας πλακέτας. Το πρόβλημα της μη ύπαρξης λύσης διασύνδεσης σε ένα επίπεδο διαδρόμισης. Άσκηση 4 Ολοκληρωμένο παράδειγμα της σχεδιαστικής ροής για την υλοποίηση ενός μηχανισμού προστασίας λογισμικού σε πλακέτα 2 ή 4 επιπέδων. Άσκηση 5 Περιγραφή ενός σχεδιασμού σε HDL και εξομοίωσή του. Άσκηση 6 Σύνθεση ενός απλού σχεδιασμού περιγεγραμμένου σε HDL και υλοποίησή του εντός των αναπτυξιακών πλακετών του εργαστηρίου. Άσκηση 7 Υλοποίηση ενός χρονομέτρου πολλαπλών λειτουργιών στις αναπτυξιακές πλακέτες του εργαστηρίου. Άσκηση 8 Ολοκληρωμένο παράδειγμα της σχεδιαστικής ροής για την υλοποίηση της διασύνδεσης ενός πληκτρολογίου στο FPGA των αναπτυξιακών πλακετών του εργαστηρίου.
Αξιολόγηση¶
Η αξιολόγηση γίνεται στην Ελληνική γλώσσα μέσω των αναφορών για τις εργαστηριακές ασκήσεις και προφορικής εξέτασης κατά την παράδοση της εργασίας εξαμήνου.
Η βαθμολογία στηρίζεται σε κριτήρια από πριν ανακοινωθέντα και γνωστά στους φοιτητές, όπως ο βαθμός λειτουργικότητας, το μέγεθος του σχεδιασμού που υποβάλλεται ως λύση καθώς και η μέγιστη συχνότητα λειτουργίας που αυτός μπορεί να επιτύχει.
Βιβλιογραφία¶
- Πανεπιστημιακές Παραδόσεις στο μάθημα ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E - CAD), Χ. Βέργος, Πανεπιστήμιο Πατρών, έκδοση 3.1
- The Verilog Hardware Description Language, Donald E. Thomas and Philip R. Moorby, Springer Science & Business Media -Συναφή επιστημονικά περιοδικά:
- IEEE Transactions on Computers
- IEEE Transactions on Circuits and Systems
- IEEE Transactions on VLSI Systems
- IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems