Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα επαναληπτικής εξέτασης 2016 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα καταστάσεων, στο οποίο ΔΕΝ επιτρέπεται να αλλάξετε την κωδικοποίηση. Επίσης στον πίνακα αληθείας/μεταβάσεων η είσοδος πρέπει να είναι το ελάχιστα σημαντικό ψηφίο (LSB). Διαφορετική κωδικοποίηση ΔΕΝ θα βαθμολογηθεί. Χρησιμοποιήστε: Ένα JK flip flop για το περισσότερο σημαντικό ψηφίο της κωδικοποίησης. Ένα Τ flip flop για το αμέσως επόμενο ψηφίο, Ένα D flip flop για το λιγότερο σημαντικό ψηφίο. Υλοποιήστε: i. Aποκλειστικά με πύλες NOR σε βέλτιστο κύκλωμα την είσοδο J του JK flip flop. ii. Με βέλτιστο πολυπλέκτη (MUX) για την είσοδο Κ του JK flip flop iii. Αποκλειστικά πύλες NAND σε βέλτιστο κύκλωμα για την είσοδο του T flip flop. iv. Την απλούστερη δυνατή Rom για την είσοδο του D flip flop. v. Τον οικονομικότερο πολυπλέκτη (MUX) για την έξοδο Υ. Θέμα 2ο (1 μονάδα) Μια γραμμή δεδομένων δέχεται σειριακά δεδομένα σε μορφή ψηφίων 1 bit, www.avakas.net
συγχρονισμένα με ένα ρολόι CP. Κατασκευάστε το διάγραμμα καταστάσεων του κυκλώματος που πρέπει να επιτελεί τα εξής: α. Να εκκινεί από μια αρχική κατάσταση ΑΚ. β. Μόλις αναγνωρίσει την ακολουθία 10110010 να δίνει συνεχώς έξοδο 01 και να αγνοεί οποιαδήποτε άλλη ακολουθία, μέχρι να αναγνωρίσει την 1111 οπότε θα δίνει έξοδο 10 και θα επιστρέφει στην ΑΚ ή μέχρι να αναγνωρίσει την 0011 οπότε θα δίνει έξοδο εκ νέου 10 και θα επιστρέφει στην ΑΚ. γ. Αντιστοίχως, όταν εκκινεί από την ΑΚ, μόλις αναγνωρίσει την ακολουθία 10001100 να δίνει έξοδο 11 και να επιστρέφει στην ΑΚ. δ. Σε όλες τις άλλες περιπτώσεις το σύστημα πρέπει να δίνει έξοδο 00. Θέμα 3ο (4,3 μονάδες) Α. Μια γραμμή δεδομένων δέχεται σειριακά δεδομένα σε μορφή ψηφίων 1 bit, συγχρονισμένα με ένα ρολόι CP. Σχεδιάστε κύκλωμα που επιτελεί τα εξής: I. Εκκινεί από μια αρχική κατάσταση ΑΚ. II. Μόλις αναγνωρίσει την ακολουθία 010 (ονόματι Α) δίνει έξοδο 01 και επιστρέφει στην ΑΚ. III. Αντιστοίχως, όταν εκκινεί από την ΑΚ, μόλις αναγνωρίσει την ακολουθία 1011 (ονόματι Β) δίνει έξοδο 10 και επιστρέφει στην ΑΚ. IV. Σε όλες τις άλλες περιπτώσεις το σύστημα πρέπει να δίνει έξοδο 00. Β. Ακολούθως σχεδιάστε κύκλωμα το οποίο υπολογίζει τους χρόνους ΧΓ και ΧΔ (σε λεπτά και δευτερόλεπτα) που κατέρρευσαν ανάμεσα σε: i. 4 διαδοχικές αναγνωρίσεις της Α (χρόνος ΧΓ) ανεξάρτητα από τις αναγνωρίσεις της Β ή από τη μεσολάβηση οποιονδήποτε άλλων δεδομένων. Αυτή η επιτυχής αναγνώριση ονομάζεται συμβάν Γ. Παράδειγμα: 101010100110101011011010 ii. 5 διαδοχικές αναγνωρίσεις της Β (χρόνος ΧΔ) ανεξάρτητα από τις αναγνωρίσεις της Α ή από τη μεσολάβηση οποιονδήποτε άλλων δεδομένων (συμβάν Δ). iii. Όταν εκδηλωθεί το συμβάν Γ η τιμή του διαρρεύσαντος χρόνου ΧΓ θα αποθηκεύεται σε έναν καταχωρητή ΚΓ κατάλληλου μεγέθους και η μέτρηση του χρόνου ΧΓ θα
επανεκκινεί. Αντίστοιχα, όταν εκδηλωθεί το συμβάν Δ η τιμή του διαρρεύσαντος χρόνου ΧΔ θα αποθηκεύεται σε έναν καταχωρητή ΚΔ κατάλληλου μεγέθους και η μέτρηση του χρόνου θα επανεκκινεί. iv. Η τιμή των καταχωρητών ΚΓ και ΚΔ θα διατηρείται εκεί μέχρι την επόμενη εκδήλωση ενός εκ των συμβάντων Γ ή Δ, αντιστοίχως. v. Αν δεν εμφανιστεί εδώ το συμβάν Γ είτε το συμβάν Δ εντός μιας ώρας τότε ο αντίστοιχος καταχωρητής και μετρητής θα μηδενίζονται. Δίδονται (α) flip flops τύπου JK με ασύγχρονο μηδενισμό, όπως στο θέμα 4.Β.2, τόσο θετικά όσο και αρνητικά ακμοπυροδότητα, τα οποία μπορείτε να μετατρέψετε σε D ή/και Τ εάν το επιθυμείτε, (β) πολυπλέκτες διάστασης μέχρι 8 σε 1 και (γ) παλμογεννήτρια συχνότητας 1 Ηz. Θέμα 4ο (5 μονάδες) Απαντήσεις χωρίς σαφή συνοπτική ερμηνεία δεν θα βαθμολογηθούν. Η περιγραφή του κυκλώματος ΔΕΝ είναι ερμηνεία. Α1. Θεμελιώστε, ενδεχομένως με τη χρήση πίνακα αληθείας, τις βασικές αναδρομικές σχέσεις πρόβλεψης κρατουμένου. Α2. Χρησιμοποιήστε αυτές τις γενικές αναδρομικές σχέσεις για να υπολογίσετε αναλυτικά τα κρατούμενα και τα αθροίσματα σε έναν προβλέπτη κρατουμένων πέντε ψηφίων (5 bits). Ουδεμία σχεδίαση απαιτείται. Α3. Θεωρώντας τον προηγούμενο προβλέπτη κρατουμένου ως μαύρο κουτί, σχεδιάστε έναν αθροιστή 5 bits με κύκλωμα πρόβλεψης υπερχείλισης. Τι χρόνο καθυστέρησης έχει αυτός; Τι πλεονεκτήματα έχει αυτός σε σχέση με έναν αθροιστή 5 bits που υλοποιείται με χρήση 5 πλήρων αθροιστών; Α4. Χρησιμοποιώντας τον αθροιστή του ως άνω ερωτήματος 3 υλοποιήστε έναν πολλαπλασιαστή ενός πεντάμπιτου με ένα δίμπιτο δυαδικό αριθμό. B1. Ζητείται να υλοποιήσετε έναν σύγχρονο μετρητή 5 ψηφίων, ο οποίος πρέπει να επιτελεί τις εξής λειτουργίες, ανάλογα με την τιμή 2 σημάτων ελέγχου Ε και ΑΚ: Όταν το σήμα επίτρεψης είναι 0 (Ε=0), τότε ο μετρητής πρέπει να διατηρεί το περιεχόμενό του. Όταν Ε=1 και για το άλλο σήμα ελέγχου ισχύει ΑΚ=1, τότε ο μετρητής πρέπει να μετρά άνω. Αντίστροφος αν Ε=1 και αν ΑΚ=0, τότε ο μετρητής πρέπει να μετρά κάτω.
Δίνονται ΜΟΝΟΝ: (α) 5 JK θετικά ακμοπυροδότητα flip flops και (β) όσοι πολυπλέκτες 2 σε 1 ή/και 4 σε 1 είναι απαραίτητοι. Εάν χρειαστείτε κάποια δομή, π.χ. πύλη, μπορείτε να την υλοποιήσετε άπαξ με πολυπλέκτες και μετά να χρησιμοποιήστε το σύμβολό της. Β2. Επεκτει νατε κατ ελα χιστον το κυ κλωμα του προηγούμενου ερωτήματος Β1, ώστε ο μετρητής να μετράει προς τα κάτω από 29 έως 3 αενάως. Στην περίπτωση αυτή να θεωρήσετε ότι τα JK flip flops είναι εφοδιασμένα με εισόδους ασύγχρονων clear και preset, τα οποία έχουν την εξής δράση: Όταν είναι clear=1 & preset=0, τότε το JK λαμβάνει στην έξοδο την τιμή 0 ασύγχρονα. Όταν είναι clear=0 & preset=1, τότε το JK λαμβάνει στην έξοδο την τιμή 1 ασύγχρονα. Όταν είναι clear=0 & preset=0, επικρατεί η λειτουργία που βασίζεται στο ρολόι. Η περίπτωση clear=1 & preset=1, δεν χρησιμοποιείται. Θεωρήστε ότι πάλι δίνονται ΜΟΝΟ πολυπλέκτες έως 4 σε 1. Ακόμη θεωρήστε, για διευκόλυνση, ότι ο μετρητής, αρχικά περιέχει τον αριθμό 29. Γ. Σχεδιάστε ένα κύκλωμα (ολοκληρωμένο σύστημα) με τέσσερις εξόδους, 3 εισόδους/σήματα ελέγχου S2,S1,S0 και 4 εισόδους, το οποίο επιτελεί τις εξής λειτουργίες, σύγχρονα με το ρολόι: Όταν S2=0, S1=0, S0=0 το κύκλωμα αντιστρέφει το περιεχόμενο όλων των flip flops του. Όταν S2=0, S1=0, S0=1 το σύστημα προσθέτει στο περιεχόμενο των 4 flip flops και άρα στις 4 εξόδους τον αριθμό 3 αενάως (να αγνοήσετε κρατούμενο που ενδεχομένως παράγεται) Όταν S2=0, S1=1, S0=0 αφαιρεί από το περιεχόμενο των 4 flip flops και άρα και από τις εξόδους τον αριθμό 3 αενάως (εκ νέου να αγνοήσετε κρατούμενο που ενδεχομένως παράγεται) Όταν S2=0, S1=1, S0=1 το κύκλωμα πραγματοποιεί αριστερά ολίσθηση δεδομένων, δηλαδή μεταφέρει το περιεχόμενο μιας γραμμής δεδομένων διαδοχικά από το δεξιότερο (LSB) flip flop στο αριστερότερο (MSB) σύγχρονα με το ρολόι. Όταν S2=1, S1=0, S0=0, πραγματοποιεί δεξιά ολίσθηση δεδομένων, δηλαδή μεταφέρει το περιεχόμενο μιας γραμμής δεδομένων διαδοχικά από το αριστερότερο (MSB) flip flop στο δεξιότερο (LSB) σύμφωνα με το ρολόι. Όταν S2=1, S1=0, S0=1 το κύκλωμα αντιστρέφει το περιεχόμενο όλων των flip flops του. Σε κάθε άλλη περίπτωση το σύστημα λειτουργεί ως καταχωρητής παράλληλης φόρτωσης.
Δίνονται (i) 4 D flip flops, (ii) ένα κύκλωμα 4ψήφιου αθροιστή αφαιρέτη, στο οποίον ένα σήμα ελέγχου Μ καθορίζει αν θα πραγματοποιηθεί πρόσθεση ή αφαίρεση και (iii) πολυπλέκτες διαστάσεων μέχρι 8 σε 1, όσοι απαιτούνται. Απαντήσεις χωρίς σαφή συνοπτική ερμηνεία δεν θα βαθμολογηθούν. Η περιγραφή του κυκλώματος ΔΕΝ είναι ερμηνεία.