Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2016 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το ανωτέρω διάγραμμα καταστάσεων, στο οποίο ΔΕΝ επιτρέπεται να αλλάξετε την κωδικοποίηση. Διαφορετική κωδικοποίηση ΔΕΝ θα βαθμολογηθεί. Χρησιμοποιήστε: i. Ένα D flip flop για το περισσότερο σημαντικό ψηφίο της κωδικοποίησης. ii. Ένα JK flip flop για το αμέσως επόμενο ψηφίο, iii. Ένα Τ flip flop για το λιγότερο σημαντικό ψηφίο, iv. Aποκλειστικά πύλες NAND σε βέλτιστο κύκλωμα για την είσοδο του D flip flop. v. Βέλτιστο πολυπλέκτη (MUX) για την είσοδο J του JK flip flop vi. Αποκλειστικά πύλες NOR σε βέλτιστο κύκλωμα για την είσοδο Κ του JK flip flop. vii. Την απλούστερη δυνατη Rom για την είσοδο του T flip flop. viii. Τον οικονομικότερο πολυπλέκτη (MUX) για την έξοδο Υ. Θέμα 2ο (1 μονάδα) Μια γραμμή δεδομένων δέχεται σειριακά δεδομένα σε μορφή ψηφίων 1 bit, συγχρονισμένα με ένα ρολόι CP. Κατασκευάστε το διάγραμμα καταστάσεων του κυκλώματος που πρέπει να επιτελεί τα εξής: α. Να εκκινεί από μια αρχική κατάσταση ΑΚ. www.avakas.net
β. Μόλις αναγνωρίσει την ακολουθία 10010110 να δίνει συνεχώς έξοδο 01 και να αγνοεί οποιαδήποτε άλλη ακολουθία, μέχρι να αναγνωρίσει την 111 οπότε θα δίνει έξοδο 10 και θα επιστρέφει στην ΑΚ ή μέχρι να αναγνωρίσει την 101 οπότε θα δίνει έξοδο εκ νέου 10 και θα επιστρέφει στην ΑΚ. γ. Αντιστοίχως, όταν εκκινεί από την ΑΚ, μόλις αναγνωρίσει την 1010011 να δίνει έξοδο 11 και να επιστρέφει στην ΑΚ. δ. Σε όλες τις άλλες περιπτώσεις το σύστημα πρέπει να δίνει έξοδο 00. Θέμα 3ο (4,3 μονάδες) Σε έναν ιμάντα μιας γραμμής παραγωγής διέρχονται αντικείμενα διαφορετικού μήκους έμπροσθεν ενός αισθητήρα S1. Όταν ένα αντικείμενο Α αρχίζει να περνά μπροστά από τον S1 ένα σήμα Σ1 μεταβαίνει από το 0 στο 1 και παραμένει στο 1 ωσότου ολοκληρωθεί η διέλευση του Α έμπροσθεν του αισθητήρα οπότε προφανώς το σήμα μεταβαίνει από 1 σε 0. Μετά από χρονικό διάστημα 2.5 από την έναρξη της διέλευσης του αντικειμένου από τον S1 πρέπει να ανοίγει μια θύρα εξόδου του Α από τον ιμάντα. Η θύρα αυτή πρέπει να κλείνει μετά από παρέλευση χρονικού διαστήματος 4,8 από το πέρας της διέλευσης του αντικειμένου από τον S1. H θύρα αυτή ανοίγει όταν δεχτεί σε μια είσοδο Θ την τιμή 1 και κλείνει όταν η Θ γίνει 0. Ζητούνται κυκλώματα που πρέπει να επιτελούν τα εξής: Α. Υπολογισμό του συνολικού χρόνου Τ της διέλευσης κάθε αντικειμένου μπροστά από τον αισθητήρα S1, σε δευτερόλεπτα (δηλαδή το ακέραιο μέρος του Τ). Β. Υπολογισμό του συνολικού χρόνου διέλευσης 16 αντικειμένων έμπροσθεν του S1. Ο χρόνος αυτός πρέπει να εκφράζεται σε δέκατα του δευτερολέπτου. Μετά τη διέλευση κάθε 16 αντικειμένων ο συγκεκριμένος υπολογισμός επαναρχίζει από το 0. Γ. Υπολογισμό του ακέραιου μέρους του μέσου χρόνου διέλευσης, πάντα σε δέκατα του δευτερολέπτου, των 16 αυτών αντικειμένων έμπροσθεν του S1. Μετά τη διέλευση κάθε 16 αντικειμένων ο συγκεκριμένος υπολογισμός ξαναρχίζει από 0. Δ. Κατάλληλη δημιουργία τιμών του σήματος Θ. Σημαντικές παρατηρήσεις: 1. Η διέλευση των αντικειμένων διαρκεί πάντα μεταξύ των ορίων 3,2 sec και 6,4 sec. 2. Η διαδικασία που αφορά κάθε αντικείμενο ολοκληρώνεται πλήρως πριν το επόμενο αντικείμενο ενεργοποιήσει τον αισθητήρα S1.
3. Κάθε αντικείμενο έχει χρόνο διέλευσης ο οποίος είναι πρακτικά ακέραιο πολλαπλάσιο της περιόδου του ρολογιού. Δίνονται: Ι. άνω κάτω σύγχρονοι μετρητές με δυνατότητα παράλληλης φόρτωσης και ασύγχρονο μηδενισμό, όπως αυτός που περιγράφεται στο θέμα 4. Κάθε τέτοιος μετρητής λειτουργεί σύμφωνα με τον παρακάτω πίνακα. Up Down Reset Λειτουργία 0 0 0 Διατήρηση 0 1 0 Μέτρηση κάτω 1 0 0 Μέτρηση άνω 1 1 0 Φόρτωση Χ Χ 1 Μηδενισμός Εάν θέλετε μπορείτε να χρησιμοποιήσετε και επίτρεψη Ε με την έννοια ότι ο μετρητής μετρά μόνο όταν Ε=1. ΙΙ. ασύχρονους μετρητές άνω κάτω με τις δυνατότητες αυτών του θέματος 4β. ΙΙΙ. Απο συνδυαστικά κυκλώματα, μόνο πολυπλέκτες ό,τι πλήθους και διαστάσεων χρειάζεστε, όμως, το πολύ έως 16 1 IV. Παλμογεννήτρια 10Hz. V. Έως 12 JK flip flop. Όλα τα στοιχεία που θα χρησιμοποιήσετε πρέπει να είναι τα οικονομικότερα δυνατά σε υλικό. Θέμα 4ο (5 μονάδες) Α1. Γράψτε τις αναδρομικές σχέσεις που χρησιμοποιούνται στην πρόβλεψη κρατουμένου. Χρησιμοποιήστε τις για να γράψετε τον αναλυτικό τύπο για τα κρατούμενα εξόδου C 2 και C 5 σε έναν αθροιστή 5 bit (5 ψηφίων) με πρόβλεψη κρατουμένου. Προσοχή: σε αυτό το ερώτημα δεν απαιτείται καμία σχεδίαση λογικού κυκλώματος. Α2. Σχεδιάστε το κύκλωμα του ίδιου πεντάμπιτου αθροιστή, έστω ΑΠ, θεωρώντας το συνολικό κύκλωμα πρόβλεψης κρατουμένου σαν μαύρο κουτί, δηλαδή σχεδιάσετε μόνο τις εισόδους και εξόδους και ερμηνεύσετε κατάλληλα την σχεδίασή σας.
Α3. Θεωρήστε ότι έχετε τρεις αθροιστές σαν τον ΑΠ συνδεδεμένους εν σειρά ώστε να παράξουν έναν δεκαπεντάμπιτο αθροιστή (δηλαδή ο πρώτος ΑΠ, ο οποίος προσθέτει τα 5 ελάχιστα σημαντικά bits δίνει το κρατούμενό του στο δεύτερο ΑΠ, ο οποίος προσθέτει τα 5 επόμενα σημαντικά ψηφία και δίνει το κρατούμενό του στον τρίτο ΑΠ, ο οποίος προσθέτει τα πλέον σημαντικά 5 ψηφία). Ποιά είναι η συνολική καθυστέρηση αυτού του κυκλώματος στην παραγωγή ορθού τελικού αποτελέσματος και γιατί; Σημαντική σημείωση. Θεωρήστε ότι όλες οι πύλες έχουν την ίδια καθυστέρηση Δτ. Α4. Θεωρήστε ότι φτιάχνετε έναν δεκαπεντάμπιτο αθροιστή (έστω ΑΠ15) εξ ολοκλήρου με πρόβλεψη κρατουμένου όπως είναι ο ΑΠ. Ποια θα είναι η καθυστέρηση παραγωγής ορθού αποτελέσματος για τον ΑΠ15; Β1. Ζητείται να δημιουργήσετε έναν ασύγχρονο μετρητή (ισοδυνάμως ριπής) 5 ψηφίων ο οποίος πρέπει να επιτελεί τις εξής λειτουργίες ανάλογα με την τιμή 2 σημάτων ελέγχου Ε και ΑΚ. Όταν για το σήμα επίτρεψης έχω Ε=0, τότε ο μετρητής πρέπει να διατηρεί το περιεχόμενό του. Όταν Ε=1 και για το άλλο σήμα ελέγχου ισχύει ΑΚ=1, τότε ο μετρητής πρέπει να μετρά άνω. Αντιστρόφως αν ΑΚ=0, τότε ο μετρητής πρέπει να μετρά κάτω. Δίνονται ΜΟΝΟΝ 5 JK θετικά ακμοπυροδότητα flip flops και όσοι πολυπλέκτες 2 σε 1 είναι απαραίτητοι. Β2. Επεκτείνατε κατ' ελάχιστον το κύκλωμα του προηγούμενου ερωτήματος Β1, ώστε ο μετρητής να μετράει απο 27 έως 5 αενάως. Στην περίπτωση αυτή να θεωρήσετε ότι τα JK flip flops είναι εφοδιασμένα με εισόδους ασύγχρονων clear και preset, τα οποία έχουν την εξής δράση: Όταν clear=1 & preset=0, τότε το JK λαμβάνει στην έξοδο την τιμή 1 (δηλαδή Q=1 ασύγχρονα). Όταν clear=0 & preset=1, τότε το JK λαμβάνει στην έξοδο την τιμή 0 (δηλαδή Q=0 ασύγχρονα). Όταν clear=0 & preset=0, επικρατεί η λειτουργία που βασίζεται στο ρολόι. Η περίπτωση clear=1 & preset=1, δεν χρησιμοποιείται. Θεωρήστε ότι δίνονται ό,τι πύλες χρειάζονται. Ακόμη θεωρήστε, για διευκόλυνση, ότι ο μετρητής αρχικά περιέχει τον αριθμό 27. Γ1. Σχεδιάστε έναν συγκριτή 2 διψήφιων δυαδικών αριθμών Α1Α0 και Β1Β0,
χρησιμοποιώντας μόνο έναν κατάλληλο αποκωδικοποιητή και 3 πύλες OR το πολύ 16 εισόδων (μπορείτε αν θέλετε να χρησιμοποιήσετε για την σχεδίαση πίνακα αληθείας). Το κύκλωμα πρέπει να έχει 3 εξόδους, τις Ξ1 (που θα ενεργοποιείται μόνο όταν Α1Α0>Β1Β0), Ξ2 (που θα ενεργοποιείται μόνον όταν Α1Α0=Β1Β0) και Ξ3 (που θα ενεργοποιείται μόνον όταν Α1Α0<Β1Β0) Γ2. Σχεδιάστε ένα ολοκληρωμένο με τέσσερις εξόδους, 4 flip flops, 2 σήματα ελέγχου S1 και S0 και κατάλληλες εισόδους, το οποίο επιτελεί τις εξής λειτουργίες: Όταν S1=0 και S0=0 αντιστρέφει το περιεχόμενό όλων των flip flops του. Όταν S1=0 και S0=1 προσθέτει στο περιεχόμενο των 4 flip flops και άρα στις 4 εξόδους τον αριθμό 3 αενάως (να αγνοήσετε κρατούμενο που ενδεχομένως παράγεται). 'Οταν S1=1 και S0=0 αφαιρεί από το περιεχόμενο των 4 flip flops και άρα και από τις εξόδους τον αριθμό 3 αενάως (εκ νέου να αγνοήσετε κρατούμενο που ενδεχομένως παράγεται). Όταν S1=1 και S0=1 πραγματοποιεί δεξιά ολίσθηση δεδομένων, δηλαδή μεταφέρει το περιεχόμενο μιας γραμμής δεδομένων διαδοχικά από το αριστερότερο flip flop στο δεξιότερο σύγχρονα με το ρολόι. Δίνονται (i) 4 D flip flops, (ii) ένα κύκλωμα 4ψήφιου αθροιστή αφαιρέτη, στο οποίον ένα σήμα ελέγχου Μ καθορίζει αν θα πραγματοποιηθεί πρόσθεση ή αφαίρεση και (iii) πολυπλέκτες διαστάσεων μέχρι 4 σε 1, όσοι απαιτούνται.