Προς το περιεχόμενο

κωδικοποιητής με λογικές πύλες


antemar

Προτεινόμενες αναρτήσεις

Δημοσ.

Σε ότι αφορά το πιο κάτω πρόβλημα, θέλω να ρωτήσω το εξής:

 

Να σχεδιάσετε με λογικές πύλες ένα κωδικοποιητή τεσσάρων γραμμών εισόδου και 3 γραμμών εξόδου (κωδικοποιητής 4-προς-3) έτσι ώστε ή έξοδος του να έχει μη μηδενική τιμή μόνο αν μια ακριβώς από τις γραμμές εισόδου είναι ενεργή (τιμή 1).

 

Πρέπει να φτιάξω έναν πίνακα αληθείας όπου οι είσοδοι θα είναι

D0, D1, D2, D3 με έξοδο x,y,z?

Αν ναι τότε πώς θα βρω τις τιμές των x,y,z αφού δεν έχω συνάρτηση?

Αν όχι τότε τί πρέπει να κάνω?

Δημοσ.

Μπορεί να μην καταλαβαίνω καλά το πρόβλημα, αλλά ο μόνος περιορισμός που σου θέτει είναι να έχει η έξοδος μη μηδενική τιμή μόνο αν μία είσοδος είναι ενεργή. Δε σου λέει όμως τι ακριβώς τιμή θέλει να έχει η έξοδος σε άλλη περίπτωση;

Δημοσ.

Λύση 1

Αν δε βάζουμε προτεραιότητα, τότε θα μπορούσες να δοκιμάσεις τις συναρτήσεις

>v=D2'*D3'*(D0*D1'+D0'*D1)+D0'*D1'*(D2*D3'+D2'*D3)
p=D1+D3
q=D2+D3

όπου το validity bit δίνει 1 μόνο αν μία είσοδος είναι 1, αλλιώς δίνει 0 (δηλαδή ό,τι ζητάει η εκφώνηση), και (αν το v δώσει 1) τα p και q μας λένε το ποια είσοδος ήταν αυτή που έβαλε τιμή 1.

 

 

Λύση 2

Αν πάλι μιλάς για κωδικοποιητή προτεραιότητας (που μάλλον δε ζητάει κάτι τέτοιο η άσκηση τελικά), τότε με

>x=D2+D3
y=D3+D1*D2'
v=D0+D1+D2+D3

έχεις το validity bit αν υπάρχει έστω και μία είσοδος 1 και μετά τα x και y καθορίζουν το ποια είσοδος "έκανε τη δουλειά".

 

Επειδή, όμως, ακριβώς είναι προτεραιότητας ο κωδικοποιητής, σημαίνει πως αν π.χ. το D3 είναι 1, οι D0, D1 και D2 δεν θα επηρεάσουν το αποτέλεσμα και απ' όσο καταλαβαίνω, αυτό δεν είναι σωστή λύση για το πρόβλημά σου.

 

 

Και οι δύο παραπάνω λύσεις μπορεί να είναι epic fails. Από τις δύο, πιστεύω ότι η πρώτη είναι αυτή που ψάχνεις. Αλλά use at your own risk. :P

  • 2 εβδομάδες αργότερα...
Δημοσ.

Σε ευχαριστώ για την βοήθεια teo64x, αλλά μάλλον δεν είναι αυτό που ζητάω.

Το πρόβλημα μου είναι ο σχεδιασμός του εν λόγω κυκλώματος.

Δημοσ.

Αν η συνάρτηση που γράφω στη λύση 1 σε καλύπτει, το σχέδιό της είναι το εξής.

 

codor8.png

 

Ο χρωματισμός των συνδέσεων έγινε απλά για να είναι πιο διακριτή η διαδρομή. Αντί για το συμβολισμό κάθε πύλης έβαλα το όνομά της, γιατί η έλλειψη ταλέντου μου στο MS Paint είναι εκπληκτική.

Δημοσ.

Tώρα που είδα το σχέδιο κατάλαβα αρκετά πράγματα. Έχω όμως μια ερώτηση.

Στο βιβλίο του Mano, στη παράγραφο "κωδικοποιητής προτεραιότητας", κάνει την ανάλυση χρησιμοποιόντας ένα πίνακα αληθείας. Εμείς εδώ δε θα έπρεπε να κάνουμε το ίδιο?

Δημοσ.

Για το συγκεκριμένο κύκλωμα, ο πίνακας αλήθειας είναι:

>
D0   D1   D2   D3   v  p  q
0    0    0    0    0  0  0
0    0    0    1    1  1  1
0    0    1    0    1  0  1
0    0    1    1    0  0  0
0    1    0    0    1  1  0
0    1    0    1    0  0  0
0    1    1    0    0  0  0
0    1    1    1    0  0  0
1    0    0    0    1  0  0
1    0    0    1    0  0  0
1    0    1    0    0  0  0
1    0    1    1    0  0  0
1    1    0    0    0  0  0
1    1    0    1    0  0  0
1    1    1    0    0  0  0
1    1    1    1    0  0  0

Δημοσ.

Νομίζω ότι κάτι δεν πάει καλά φίλε teo64x με αυτά που μου γράφεις.

Καταρχίν, γιατί πρέπει να χρησιμοποιήσω συνάρτηση?? Ποια η χρήση δηλ των

v=D2'*D3'*(D0*D1'+D0'*D1)+D0'*D1'*(D2*D3'+D2'*D3)

p=D1+D3

q=D2+D3

??????????????

Δεύτερον, ο Π.Α. δεν μου αντιστοιχεί στο κύκλωμα και πολύ περισσότερο εγώ κάνοντας τον ΠΑ έχω άλλα αποτελέσματα........

 

Υπάρχει κάποιος να μας βοηθήσει?

Δημοσ.

Φτιαξε τους 3 πινακες Karnaugh απο τον ΠΑ κανε ελαχιστοποιηση, βγαλε τις συναρτησεις και post για να σου πω αν ειναι σωστες. :-)

Δημοσ.

Λοιπον,

 

Με βαση τον ΠΑ που τους KΠ που επισυναπτεις (Θεωρω οτι ειναι ο σωστος ΠΑ και εχεις βγαλει σωστα τους ΚΠ απο αυτον! Δεν εχω τον χρονο να κατσω να ελενξω αν ειναι σωστα! Αυτο θα το κανεις εσυ!)

 

Οι συναρτησεις που προκυπτουν ειναι οι εξης:

 

>
A0 = D0'D1D2'D3' + D0'D1'D2'D3
A1 = D0'D1'D2'D3 + D0D1'D2'D3'
A2 = D0'D1'D2D3'

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...