Ψηφιακή Σχεδίαση Τ.Ε.Ι. Κρήτης Σχολή Τεχνολογικών Εφαρμογών Τμ. Μηχανικών Πληροφορικής
Decoders (συνέχεια) Όπως προειπώθηκε στο προηγούμενο μάθημα, ορισμένοι αποκωδικοποιητές κατασκευάζονται με πύλες NAND αντί για AND Επιπλέον, οι αποκωδικοποιητές περιλαμβάνουν μία ή περισσότερες εισόδους «επίτρεψης», το λεγόμενο Enable, έτσι ώστε να ελέγχεται η λειτουργία του κυκλώματος Στην εικόνα φαίνεται ένας τέτοιος αποκωδικοποιητής, με την είσοδο επίτρεψης Ε Αυτός ο αποκωδικοποιητής λειτουργεί όταν η είσοδος Ε είναι ίση με 0
Decoders (συνέχεια) Παρατηρούμε από τον πίνακα αληθείας ότι όταν το Ε=1 τότε ο αποκωδικοποιητής μας δεν λειτουργεί, συνεπώς οι καταστάσεις των Α, Β δεν μας ενδιαφέρουν, άρα καταγράφονται με Χ στον πίνακα αληθείας 0 Αυτό σημαίνει ότι όταν η λειτουργία του κυκλώματος αποτρέπεται, καμία από τις εξόδους δεν είναι ίση με 0, πράγμα που σημαίνει ότι καμία έξοδος δεν είναι επιλεγμένη
Είσοδος Επίτρεψης Γενικά, ένας αποκωδικοποιητής μπορεί να λειτουργήσει είτε με συμπληρωμένες, είτε με ασυμπλήρωτες εισόδους Η είσοδος Επίτρεψης, μπορεί να ενεργοποιηθεί με ένα σήμα 0 ή 1 Οι αποκωδικοποιητές με εισόδους επίτρεψης, μπορούν να συνδεθούν μεταξύ τους έτσι ώστε να δημιουργήσουν ένα μεγαλύτερο κύκλωμα αποκωδικοποιητή Στο σχήμα αυτό βλέπουμε δύο Decoders 3x8 με Enable, συνδεδεμένους με τέτοιο τρόπο ώστε να σχηματίζουν έναν Decoder 4x16
Είσοδος Επίτρεψης Όταν w = 0 η λειτουργία του πάνω αποκωδικοποιητή επιτρέπεται ενώ του κάτω αποτρέπεται. Οι έξοδοι του κάτω αποκωδικοποιητή είναι όλες 0 και οι πάνω 8 έξοδοι δίνουν τους ελαχιστόρους από 0000 ως 0111 Όταν w = 1 οι συνθήκες επίτρεψης αναστρέφονται: Οι έξοδοι του κάτω αποκωδικοποιητή δίνουν τους ελαχιστόρους από το 1000 ως το 1111, ενώ οι έξοδοι του πάνω αποκωδικοποιητή είναι όλες 0 Από αυτό το παράδειγμα συμπεραίνουμε ότι οι είσοδοι επίτρεψης είναι χαρακτηριστικό που επιτρέπει την εύκολη διασύνδεση δύο ή περισσότερων αποκωδικοποιητών με σκοπό την επέκταση της λειτουργίας τους, ώστε να έχουμε στη διάθεσή μας περισσότερες εισόδους και εξόδους
Κωδικοποιητές - Encoders Ο κωδικοποιητής είναι ένα ψηφιακό κύκλωμα το οποίο επιτελεί την αντίστροφη λειτουργία σε σχέση με έναν αποκωδικοποιητή Ένας κωδικοποιητής έχει 2 n ή λιγότερες γραμμές εισόδου και n γραμμές εξόδου Οι γραμμές εξόδου δημιουργούν το δυαδικό κωδικό που αντιστοιχεί στην τιμή της εισόδου
Κωδικοποιητές - Encoders 2 n x n Encoder Block διάγραμμα κωδικοποιητή
Κωδικοποιητής 4x2 4x2 Encoder Έστω ότι έχουμε έναν κωδικοποιητή 4 εισόδων. Αυτό σημαίνει ότι θα έχουμε 2 2 άρα m = 2 εξόδους οι οποίες εκφράζουν τον δυνατό συνδυασμό εισόδων Δίνουμε όνομα στις εισόδους και εξόδους του D0D0 D1D1 D2D2 D3D3 F0F0 F1F1 Και σχεδιάζουμε τον πίνακα αληθείας του κωδικοποιητή DοDοD1D1D2D3D3F0F0F1F
Κωδικοποιητής Προτεραιότητας (Priority Encoder) Ως τώρα είχαμε θεωρούσαμε ότι μία μόνο είσοδος κάθε φορά θα είναι high Τι γίνεται όμως αν δύο ή και περισσότερες από αυτές είναι high ταυτόχρονα; Αυτό σημαίνει ότι μπαίνουμε σε απροσδιοριστία η οποία πρέπει να αρθεί Ο τρόπος να αρθεί η απροσδιοριστία αυτή είναι να ορίσουμε προτεραιότητες στις εισόδους, έτσι ώστε να εξασφαλιστεί ότι μόνο μία είσοδος κωδικοποιείται κάθε φορά
Κωδικοποιητής Προτεραιότητας (Priority Encoder) Ο κωδικοποιητής προτεραιότητας είναι ένας κωδικοποιητής του οποίου οι είσοδοι έχουν διαφορετική προτεραιότητα Η λειτουργία ενός κωδικοποιητή προτεραιότητας είναι τέτοια ώστε, εάν δύο ή περισσότερες είσοδοι είναι ίσες με 1 ταυτόχρονα, η είσοδος που έχει τη μεγαλύτερη προτεραιότητα θα καθορίσει την έξοδο
Πίνακας Αληθείας Κωδικοποιητή Προτεραιότητας Έχουμε τον πίνακα αληθείας κωδικοποιητή προτεραιότητας 4 ων εισόδων. Εκτός των εξόδων x και y, υπάρχει και μία έξτρα έξοδος, η V (Validity). Παρέχει ένα μπιτ εγκυρότητας το οποίο γίνεται 1 όταν τουλάχιστον μία από τις άλλες εισόδους είναι ίση με 1. Αν όλες οι είσοδοι είναι ίσοι με 0, δεν υπάρχει έγκυρη είσοδος και το V = 0. Οι άλλες δύο έξοδοι δεν ελέγχονται όταν το V= 0 άρα ορίζονται ως αδιάφορες καταστάσεις (Χ)
Πίνακας Αληθείας Κωδικοποιητή Προτεραιότητας D0D1D2D3xyV 4x2 Encoder D0 D1 D2 D3 x y Πρώτο βήμα, ορίζουμε την προτεραιότητα Ας υποθέσουμε ότι σε αυτόν τον κωδικοποιητή η είσοδος με την χαμηλότερη προτεραιότητα είναι η D0 και με την υψηλότερη η D3 Lowest Priority Highest Priority Συμπληρώνουμε τον πίνακα αληθείας: Έστω ότι όλες μας οι είσοδοι είναι 0. Αυτό σημαίνει ότι οι έξοδοί μας είναι αδιάφορες Χ Χ Αν το D0 = 1 τότε ελέγχουμε όλες τις εισόδους μιας και το D0 είναι το χαμηλότερο σε προτεραιότητα Όταν το D1 = 1 δεν χρειάζεται να ελέγξουμε το D0 αφού το D1 έχει μεγαλύτερη προτεραιότητα και άρα στο D0 βάζουμε αδιαφορία Χ Χ Χ Χ Χ Χ Το αντίστοιχο συμβαίνει και για τα D2, D3
Λογικές Εκφράσεις για τις x, y D0D1D2D3xyV Χ Χ Χ Χ Χ Χ Χ Χ Αφού έχουμε δύο συναρτήσεις εξόδου, θα χρειαστούμε δύο k-maps: D3D2/D1D X D3D2/D1D X Προσοχή! Λόγω προτεραιότητας του D3 ο πίνακας συμπληρώνεται με άσους!!!
Κωδικοποιητής από 8δικό σε δυαδικό D0D1D2D3D4D5D6D7ABC Έχει 8 εισόδους και 3 εξόδους
Κωδικοποιητής από 10δικό σε δυαδικό InputDCBA