Στόχοι Μαθήματος: Να παρέχει στους φοιτητές βασικές γνώσεις στα ψηφιακά συστήματα (digital systems), γύρω από την ανάλυση, προδιαγραφή, λειτουργία, σχεδίαση και υλοποίηση τους. Επίσης να παρέχει γνώσεις ψηφιακής σχεδίασης (digital design) με εργαλεία αυτοματοποίησης της σχεδίασης και γλώσσες περιγραφής υλικού, με συμπληρωματικές γνώσεις στις βασικές έννοιες ψηφιακής σχεδίασης, μέσω ενός συνδυασμού διαλέξεων, ασκήσεων και εργαστηρίων.
Μαθησιακά Αποτελέσματα: Το μάθημα ασχολείται με την ανάλυση και σχεδίαση ψηφιακών συστημάτων. Ειδικότερα εξετάζονται τα αριθμητικά συστήματα η άλγεβρα Bool και η ελαχιστοποίηση λογικών συναρτήσεων. Καλύπτονται οι ψηφιακές πύλες, flip flops, συνδυαστικά και ακολουθιακά ψηφιακά κυκλώματα, τύποι καταχωρητών, λογικές και μαθηματικές ψηφιακές μονάδες. Γίνεται εισαγωγή στη γλώσσα περιγραφής και ανάπτυξης υλικού Verilog και στα εργαλεία αυτοματοποίησης της ψηφιακής σχεδίασης για την υλοποίηση ψηφιακών κυκλωμάτων σε ψηφιακά κυκλώματα πολύ μεγάλης ολοκλήρωσης (Very Large Scale Integration – VLSI).
Περιεχόμενο Μαθήματος: Το μάθημα βασίζεται στα βασικά στοιχεία της σχεδίασης λογικών κυκλωμάτων και έχει ως κύριους στόχους: (1) την εισαγωγή στη σχεδίαση συνδυαστικών και ακολουθιακών ψηφιακών κυκλωμάτων, (2) τη χρήση της γλώσσας περιγραφής υλικού Verilog για την μοντελοποίηση και την εξομοίωση τους καθώς και την υλοποίηση τους, (3) την υλοποίηση ψηφιακών συστημάτων σε προγραμματιζόμενες λογικές διατάξεις (CPLDs και FPGAs), (4) την απόκτηση εμπειρίας στον πλήρη κύκλο της διαδικασίας σχεδιασμού, εξομοίωσης και υλοποίησης ψηφιακών συστημάτων με χρήση σύγχρονων εργαλείων σε υπολογιστή μέσω των εργαστηριακών ασκήσεων. Καλύπτονται οι εξής ενότητες-κεφάλαια: (1) Αριθμητικά Συστήματα (Ψηφιακά συστήματα, Δυαδικοί αριθμοί, Μετατροπές αριθμών σε μορφές άλλης βάσης, Συμπληρώματα, Προσημασμένοι δυαδικοί αριθμοί, Καταχωρητές και δυαδική λογική), (2) Άλγεβρα Boole (Ορισμοί, βασικά θεωρήματα και ιδιότητες, Συναρτήσεις Boole, Κανονικές και πρότυπες μορφές, Λογικές πύλες, Ψηφιακά ολοκληρωμένα κυκλώματα, οικογένειες ψηφιακής λογικής (TTL, ECL, MOS και συμπληρωματικό MOS-CMOS), επίπεδα ολοκλήρωσης), (3) Ελαχιστοποίηση Λογικών Συναρτήσεων (Μέθοδος του χάρτη Καρνώ, Κανόνες για τους χάρτες, Χάρτης Καρνώ τεσσάρων και πέντε μεταβλητών, Απλοποίηση γινομένου αθροισμάτων, Υλοποίηση με πύλες NAND και NOR, Συνθήκες αδιαφόρου τιμής, Συνάρτηση XOR και κυκλώματα ανίχνευσης και διόρθωσης λαθών), (4) Συνδυαστική Λογική (Διαδικασία ανάλυσης και σχεδιασμού συνδυαστικών κυκλωμάτων, Δυαδικοί αθροιστές και αφαιρέτες, Δυαδικοί πολλαπλασιαστές, Συγκριτές μεγέθους, Κωδικοποιητές/Αποκωδικοποιητές, Πολυπλέκτες), (5) Σύγχρονη Ακολουθιακή Λογική (Μανδαλωτές (Latches) και Flip-Flops, Ανάλυση ακολουθιακών κυκλωμάτων με ρολόι, Ελαχιστοποίηση και κωδικοποίηση καταστάσεων, Συγκριτές μεγέθους, Κωδικοποιητές και Αποκωδικοποιητές, Διαδικασία σχεδίασης με Flip-Flop), (6) Καταχωρητές, Μετρητές, Μνήμες και Προγραμματιζόμενη Λογική (Καταχωρητές/Καταχωρητές ολίσθησης, Μετρητές ριπής (Ripple counters), σύγχρονοι μετρητές, άλλοι τύποι μετρητών, Μνήμη ανάγνωσης μόνο (ROM), Μνήμη τυχαίας προσπέλασης (RAM), Αποκωδικοποίηση μνήμης, Ανίχνευση και διόρθωση λαθών, PLA, PAL, ακολουθιακές PLD (SPLD), CPLD, FPGA), (7) Ασύγχρονη Ακολουθιακή Λογική (Διαδικασία ανάλυσης, Κυκλώματα με μανδαλωτές, Διαδικασία σχεδιασμού, Ελαχιστοποίηση πινάκων κατάστασης και ροής, Κωδικοποίηση καταστάσεων για αποφυγή κυνηγητών, Σπινθήρες), (8) Γλώσσες Περιγραφής Υλικού (HDL) και Εργαλεία Αυτοματοποίησης της Σχεδίασης (EDA) (Βασικές έννοιες, Verilog για συνδυαστικά κυκλώματα, Verilog για ακολουθιακά κυκλώματα, Σχεδίαση σε επίπεδο μεταφοράς καταχωρητών (RTL), Μηχανές πεπερασμένων καταστάσεων (FSM), Ανάλυση και σχεδίαση top-down, Προσομοίωση και επαλήθευση κυκλωμάτων, λογική σύνθεση, θέση και δρομολόγηση), Αντιστοίχιση τεχνολογίας και βιβλιοθήκες στοιχείων, ολοκληρωμένα κυκλώματα πλήρως προσαρμοσμένα (full-custom), τυποποιημένων στοιχείων (semi-custom) και ολοκληρωμένα με συστοιχίες πυλών (gate-arrays).