ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Τίτλος Μαθήματος Ψηφιακά Ηλεκτρονικά στις σύγχρονες διατάξεις Κωδικός Μαθήματος Μ1 Θεωρία / Εργαστήριο Θεωρία + Εργαστήριο Πιστωτικές μονάδες 4 Ώρες Διδασκαλίας 2Θ+1Ε Τρόπος/Μέθοδοι Διδασκαλίας Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects) Τελική εξέταση: 50%, Διαδικασία αξιολόγησης Ατομική (ομαδική) εργασία: 15% Εργαστήριο: 35% Α. ΠΕΡΙΓΡΑΦΗ Α.1 Σκοπός Ο κύριος στόχος του μαθήματος είναι η επικαιροποίηση των γνώσεων των εκπαιδευομένων στο θεωρητικό και πρακτικό υπόβαθρο των ψηφιακών κυκλωμάτων και συστημάτων που χρησιμοποιούνται σε ένα ευρύ πεδίο εφαρμογών όπως ηλεκτρονικούς υπολογιστές, συστήματα ελέγχου, και συστήματα μετάδοσης δεδομένων. Πιο συγκεκριμένα, το θεωρητικό μέρους του μαθήματος θα εστιάσει στις σύγχρονες μεθοδολογίες σχεδιασμού και πρωτοτυποποίησης ψηφιακών κυκλωμάτων και συστημάτων που χρησιμοποιούνται σε ένα ευρύ πεδίο εφαρμογών όπως ηλεκτρονικούς υπολογιστές, συστήματα ελέγχου, και συστήματα μετάδοσης δεδομένων. Προηγείται μια σύντομη, επαναληπτικής φύσης επισκόπηση των πλέον βασικών γνώσεων που οι εκπαιδευόμενοι διαθέτουν από το βασικό τους πτυχίο, και οι οποίες διατηρούν την αξία τους ως υπόβαθρο για το υπόλοιπο μάθημα. Καλύπτονται έτσι οι βασικές έννοιες της άλγεβρας Boole, των λογικών εκφράσεων αλλά και των ψηφιακών κυκλωμάτων συνδυαστικής λογικής. Ακολουθεί το κυρίως μέρος του μαθήματος, όπου δίνεται έμφαση στις τεχνικές σχεδίασης και προσομοίωσης ψηφιακών συστημάτων με χρήση γλωσσών περιγραφής υλικού (VHDL) και στην υλοποίηση σε προγραμματιζόμενες διατάξεις πυλών (CPLDs και FPGAs). Η προσέγγιση περιλαμβάνει (α) εισαγωγή της γλώσσας περιγραφής VHDL, δεδομένου ότι δεν καλύπτονται σε κανένα πρόγραμμα σπουδών προ του 2001, και (β) αναλυτική παρουσίαση τεχνικών σχεδίασης και προσομοίωσης διατάξεων και συστημάτων με χρήση της VHDL. Βάρος δίνεται στα ακολουθιακά κυκλώματα (κυκλώματα με μνήμη) διότι αυτά υποστηρίζουν όλες τις πρακτικά σημαντικές εφαρμογές των ψηφιακών συστημάτων (α) σε επίπεδο δομικών στοιχείων Η/W ηλεκτρονικών υπολογιστών (μνήμες, χρονιστές, κλπ.) και (β) σε βιομηχανικό / παραγωγικό περιβάλλον, για έλεγχο διεργασιών. Το τελευταίο και ιδιαίτερου πρακτικού ενδιαφέροντος μέρος του μαθήματος
αναφέρεται σε υλοποιήσεις H/W των ψηφιακών συστημάτων, με υλικό ειδικού σκοπού όπως τα CPLDs και τα FPGAs. Αναλύονται οι κυριότερες μέθοδοι (α) για την εκτίμηση των απαιτήσεων σε δομές υλικού, προκειμένου να υλοποιηθεί δεδομένη σχεδίαση, και (β) για την μεταφορά και ανάπτυξη στο επιλεγμένο υλικό, των δομών (διατάξεων και συστημάτων) που έχουν στα προηγούμενα βήματα σχεδιαστεί και προσομοιωθεί. Α.2 Μαθησιακά Αποτελέσματα Έχοντας ολοκληρώσει επιτυχώς το μάθημα ο εκπαιδευόμενος θα είναι σε θέση να: Αναγνωρίζει τις βασικές συνιστώσες ψηφιακών κυκλωμάτων και διατάξεων. Περιγράφει σε μορφή λογικής έκφρασης τις λύσεις σε απλά προβλήματα ψηφιακής λογικής. Απλοποιεί και υλοποιεί με συνδυαστική λογική τις ανωτέρω λογικές εκφράσεις. Αντιλαμβάνεται τις ποιοτικές διαφορές των προβλημάτων που επιζητούν λύσεις με ψηφιακά κυκλώματα ακολουθιακής λογικής έναντι της συνδυαστικής. Αναγνωρίζει τις βασικές δομές ακολουθιακών ψηφιακών κυκλωμάτων και διατάξεων. Αναλύει απλά ψηφιακά κυκλώματα. Χειρίζεται με στοιχειώδη άνεση τη γλώσσα VHDL. Σχεδιάζει προσομοιώνει ψηφιακά κυκλώματα με χρήση σύγχρονων τεχνικών και εργαλείων. Κατέχει στοιχειώδεις γνώσεις για τα διατιθέμενα σύγχρονα υλικά προκειμένου να υλοποιήσει δεδομένη σχεδίαση σε H/W. Είναι ικανός να πρωτοτυποποιεί ψηφιακά κυκλώματα και συστήματα σε διατάξεις προγραμματιζόμενης λογικής, μεταφέροντας τη σχεδίασή του σε υλικό. Κατανοεί τα πλεονεκτήματα και τους περιορισμούς που ενέχει η υλοποίηση συστημάτων σε παρόμοιες δομές υλικού. Μπορεί να αξιολογεί συγκριτικά εναλλακτικές σχεδιαστικές λύσεις, ανάλογα με το είδος του προβλήματος, με αναφορά σε ρεαλιστικές καταστάσεις. Β. ΑΝΤΙΚΕΙΜΕΝΑ ΠΟΥ ΚΑΛΥΠΤΟΝΤΑΙ 1. Εισαγωγή α. Αριθμητικά συστήματα β. Άλγεβρα Boole και λογικές πράξεις. γ. Απλοποίηση συναρτήσεων Boole δ. Βασικά συνδυαστικά κυκλώματα (Πολυπλέκτες, Αθροιστές, Αφαιρέτες, Κωδικοποιητές, αποκωδικοποιητές, Συγκριτές κλπ) ε. Βασικά ακολουθιακά κυκλώματα (Flip Flops, Καταχωρητές, Απαριθμητές κλπ) 2. Γλώσσες περιγραφής υλικού α. Εισαγωγή στη διαδικασία σχεδιασμού και τη VHDL β. Περιγραφή και εξομοίωση βασικών συνδυαστικών και ακολουθιακών
κυκλωμάτων με VHDL. 3. Σύγχρονα ακολουθιακά κυκλώματα - Αλγοριθμικές μηχανές καταστάσεων - Ασύγχρονα ακολουθιακά κυκλώματα α. Ανάλυση και σχεδίαση σύγχρονων ακολουθιακών κυκλωμάτων. β. Καταχωρητές, Απαριθμητές, Κυκλώματα ελέγχου γ. Διαγράμματα ASM δ. Θέματα χρονισμού ε. Υλοποίηση κυκλωμάτων ελέγχου στ. Ανάλυση και σχεδίαση ασύγχρονων ακολουθιακών κυκλωμάτων 4. Μονάδες μνήμης α. Μη πτητικές μνήμες β. Πτητικές μνήμες γ. Επέκταση μνήμης 5. Μέθοδοι υλοποίησης ψηφιακών συστημάτων α. Εργαλεία σχεδίασης με τη βοήθεια υπολογιστή β. Διατάξεις CPLD και FPGA γ. Ολοκληρωμένα κυκλώματα ειδικού σκοπού δ. Βασικές αρχές επαναπροσδιοριζόμενων FPGAs ε. Προτεινόμενες πρακτικές για επιτυχή σχεδίαση FPGA συστημάτων στ. Παραδείγματα εφαρμογών FPGAs σε ηλεκτρονικά συστήματα front-end ζ. Παραδείγματα εφαρμογών FPGAs σε υπολογιστικά συστήματα η. Παραδείγματα εφαρμογών FPGAs σε προηγμένα συστήματα σκανδαλισμού θ. Σχεδίαση ενσωματωμένων συστημάτων με FPGAs Γ. ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Το εργαστηριακό μέρος του μαθήματος υλοποιείται μέσω 6 εργαστηριακών ασκήσεων εστιασμένων στα βασικότερα αντικείμενα της θεωρητικής διδασκαλίας. Οι ασκήσεις θα είναι προσανατολισμένες πάνω στα ακόλουθα πεδία: Άσκηση 1η: Μελέτη λογικών πυλών και εξοικείωση με το λογισμικό σχεδίασης προσομοίωσης - Μελέτη νόμων άλγεβρας Boole - Απλοποίησης λογικών συναρτήσεων με πίνακα Karnaugh. Υπενθύμιση βασικών αρχών λειτουργίας ψηφιακών πυλών. Σχεδίαση απλών συστημάτων και προσομοίωση της λειτουργίας τους με χρήση πυλών και γλώσσας περιγραφής υλικού. Υπενθύμιση τεχνικών απλοποίησης λογικών συναρτήσεων και χρήση λογισμικού για την αυτοματοποίηση της διαδικασίας απλοποίησης. Εφαρμογές στη σχεδίαση απλών ψηφιακών συστημάτων. Πίνακας αληθείας βασικών ψηφιακών πυλών.
Καθολικότητα πυλών NAND NOR. Βασικά χαρακτηριστικά λογισμικού σχεδίασης προσομοίωσης ψηφιακών συστημάτων. Εισαγωγή στη VHDL. Αξιώματα και θεωρήματα της άλγεβρας Boole. Χάρτες Karnaugh 3, 4, 5 μεταβλητών. Εφαρμογές εξοικείωσης. Υλοποίηση 7 segment display με πύλες και με VHDL. Άσκηση 2η: Μελέτη κυκλωμάτων πολυπλεκτών και υλοποίηση λογικών συναρτήσεων με πολυπλέκτη Εφαρμογές κυκλωμάτων άθροισης αφαίρεσης και σύγκρισης. Ανάλυση της λειτουργίας του πολυπλέκτη ως κυκλώματος υλοποίησης συναρτήσεων Boole. Κυκλώματα άθροισης αφαίρεσης και σύγκρισης. Λειτουργία ολοκληρωμένων τύπου πολυπλέκτη. Υλοποίηση πυλών και λογικών συναρτήσεων με πολυπλέκτη. Υλοποίηση κυκλωμάτων άθροισης, αφαίρεσης και σύγκρισης με χρήση πολυπλεκτών. Σχεδίαση - προσομοίωση κυκλωμάτων άθροισης, αφαίρεσης και σύγκρισης με χρήση VHDL. Άσκηση 3η: μετρητών. Μελέτη JK Flip-Flop - Εφαρμογές σύγχρονων - ασύγχρονων Ανάλυση της λειτουργίας των βασικών στοιχείων μνήμης (Flip-Flops). Υπενθύμιση των πίνακων αληθείας και των συναρτήσεων επόμενης κατάστασης των βασικών Flip-Flops και χρήση τους στην υλοποίηση συστημάτων μέτρησης χρόνου. Σχεδίαση προσομοίωση υλοποίηση σε υλικό συστημάτων μέτρησης χρόνου. Περιγραφή μετρητών και προσομοίωση σε περιβάλλον VHDL. Άσκηση 4η: Μελέτη κυκλωμάτων καταχωρητών μνημών. Κατανόηση των αρχών λειτουργίας των ακολουθιακών κυκλωμάτων και εξοικείωση με τις τεχνικές σχεδιασμού και προσομοίωσης αντίστοιχων συστημάτων.
Λειτουργία και χρήση ακολουθιακών κυκλωμάτων τύπου Mealy και Μοore. Ανάλυση ακολουθιακών κυκλωμάτων και προσομοίωση της συμπεριφοράς τους. Σχεδίαση προσομοίωση και υλοποίηση εφαρμογών ακολουθιακών κυκλωμάτων εξακρίβωσης κωδικών. Περιγραφή και προσομοίωση ακολουθιακών κυκλωμάτων με διαγράμματα καταστάσεων και παραγωγή κώδικα VHDL. Άσκηση 5η: Μελέτη ακολουθιακού κυκλώματος - Εφαρμογές σειριακού ακολουθιακού κυκλώματος. Κατανόηση των αρχών λειτουργίας των ακολουθιακών κυκλωμάτων και εξοικείωση με τις τεχνικές σχεδιασμού και προσομοίωσης αντίστοιχων συστημάτων. Λειτουργία και χρήση ακολουθιακών κυκλωμάτων τύπου Mealy και Μοore. Ανάλυση ακολουθιακών κυκλωμάτων και προσομοίωση της συμπεριφοράς τους. Σχεδίαση προσομοίωση και υλοποίηση εφαρμογών ακολουθιακών κυκλωμάτων εξακρίβωσης κωδικών. Περιγραφή και προσομοίωση ακολουθιακών κυκλωμάτων με διαγράμματα καταστάσεων και παραγωγή κώδικα VHDL. Άσκηση 6η: Προσομοιώσεις VHDL κώδικα. Περιγραφή βασικών αρχών γλωσσών περιγραφής υλικού με έμφαση στη VHDL. Εκτέλεση προηγούμενων εργαστηριακών ασκήσεων υπό το πρίσμα της VHDL. Ανάλυση πλεονεκτημάτων μειωνεκτημάτων από των χρήση γλωσσών περιγραφής υλικού. Εισαγωγή στις γλώσσες περιγραφής υλικού. Σχηματική αποτύπωση. Σχέδια και προδιαγραφές χρονισμού Ανάλυση και προσομοίωση κυκλώματος. Διάταξη πλακέτας τυπωμένου κυκλώματος.