Θεµατική Ενότητα ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Ακαδηµαϊκό Έτος 2006 2007 Γραπτή Εργασία #2 Ηµεροµηνία Παράδοσης 28-0 - 2007 ΠΛΗ 2: Ψηφιακά Συστήµατα ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ Άσκηση : [5 µονάδες] Έχετε στη διάθεσή σας µόνο 3 ηµιαθροιστές. Υλοποιήστε µε αυτούς συγχρόνως όλες τις παρακάτω συναρτήσεις Boole: D = A B C+A BC +AB C +ABC E = A BC + AB C F = ABC + A C + B C G = ABC Λύση Γνωρίζουµε ότι ένας ηµιαθροιστής µε εισόδους Α, Β έχει δύο εξόδους S = ΑΒ + ΒΑ και ΑΒ. Είναι: D = A B C+A BC +AB C +ABC = (A B+AB )C +(A B + AB)C Όµως (A B+AB ) = A B + AB =S Άρα D =S C +S C Οµοίως E = A BC + AB C = (A B + AB )C = SC F = ABC + A C + B C =ABC + (A + B )C = (AB)C + (AB) C G = ABC Το κύκλωµα µε τους 3 ηµιαθροιστές (Half-Adders :ΗΑ, ΗΑ2, ΗΑ3) είναι το ακόλουθο. Α Β ΗΑ x S ΑΒ C ΗΑ2 D E C AB C ΗΑ3 F G ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495
Άσκηση 2: [30 µονάδες] Για τις ανάγκες ενός ψηφιακού συστήµατος απαιτείται ένα συνδυαστικό κύκλωµα που θα δέχεται στην είσοδο ένα µη προσηµασµένο αριθµό των 3 δυαδικών ψηφίων (Α=Α 2 Α Α 0 ) και θα παράγει στην έξοδο S είτε τον αριθµό Α είτε το αποτέλεσµα της αριθµητικής πράξης Α+2, ανάλογα µε την τιµή µίας εισόδου επιλογής G (G=0 S=A, G= S=A+2). Σχεδιάστε το συνδυαστικό κύκλωµα µε τρεις διαφορετικούς τρόπους χρησιµοποιώντας: (α) µόνο ηµιαθροιστές. (β) αποκωδικοποιητές 2-σε-4 χωρίς είσοδο επίτρεψης και λογικές πύλες OR 2 εισόδων. (γ) πολυπλέκτες 2-σε- χωρίς είσοδο επίτρεψης και λογικές πύλες NOT. Σε κάθε µία από τις παραπάνω περιπτώσεις θα εκτιµηθεί η χρήση του κατά το δυνατόν µικρότερου αριθµού πυλών ή/και βασικών κυκλωµάτων (ηµιαθροιστών, αποκωδικοποιητών, πολυπλεκτών). Λύση Το συνδυαστικό κύκλωµα θα έχει 4 εισόδους, τον µη προσηµασµένο αριθµό των 3 δυαδικών ψηφίων (Α=Α 2 Α Α 0 ) και την είσοδο επιλογής G. Θα παράγει στην έξοδο S είτε τον αριθµό Α είτε το αποτέλεσµα της αριθµητικής πράξης Α+2, ανάλογα µε την τιµή της εισόδου επιλογής G (G=0 S=A, G= S=A+2). Το δεκαδικό 2 είναι το δυαδικό 0. Ο µέγιστος 3ψήφιος είναι ο, οπότε αν προστεθεί σ αυτόν το 0 θα δώσει 00 (δεκαδικό 9). Συνεπώς απαιτούνται 4 έξοδοι Y3, Y2, Y, Y0. Καταστρώνουµε τον πίνακα αληθείας µε βάση την εκφώνηση. G A2 A A0 Y3 Y2 Y Y0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Απλοποιούµε τις συναρτήσεις εξόδου µε την βοήθεια του χάρτη Karnaugh. Έτσι βρίσκουµε ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495 2
Για την έξοδο Υ3 GA2 ΑΑ0 00 0 0 0 0 0 Είναι: Υ3 = GA2A Για την έξοδο Υ2 GA2 ΑΑ0 00 0 0 00 0 0 Είναι: Υ2 = A A2+G A2+GA2 A Για την έξοδο Υ Είναι: Υ = GA +G A Για την έξοδο Υ0 ΑΑ0 GA2 00 0 0 00 0 0 QQ0 Y 00 0 0 00 0 0 Είναι: Υ0 = A0 3 ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495
Ο ηµιαθροιστής ( Half Adder HA) είναι ένα συνδυαστικό κύκλωµα το οποίο έχει δύο εισόδους και δύο εξόδους. Ο ηµιαθροιστής σχηµατίζει το άθροισµα των δύο bits εισόδου. Η έξοδος αθροίσµατος υλοποιείται µε µία πύλη OR, ενώ ή έξοδος κρατουµένου υλοποιείται µε µία πύλη AND. Ένας ηµιαθροιστής µε εισόδους G και A υλοποιεί τις Υ και GA. Ένας δεύτερος ηµιαθροιστής µε εισόδους G και GA υλοποιεί τις Υ2 και Υ3. Επίσης είναι Υ0=Α0. Ένας αποκωδικοποιητής µπορεί να χρησιµοποιηθεί για την υλοποίηση µίας συνάρτησης Boole η οποία έχει εκφραστεί ως άθροισµα ελαχιστόρων. Σε αυτήν την περίπτωση χρησιµοποιούµε µία πύλη OR µε εισόδους τις αντίστοιχες εξόδους του αποκωδικοποιητή. G A Ι0 Ι Ι2 OR Y Ι3 Ι0 A2 A A2 Ι0 Ι Ι2 Ι Ι2 Ι3 Y3 OR Ι3 Y2 A0 Y0 4 ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495
Ο πολυπλέκτης είναι ένα συνδυαστικό κύκλωµα το οποίο αποτελείται από m γραµµές επιλογής 2 m εισόδους και µία έξοδο. Οι γραµµές επιλογής καθορίζουν ποια από όλες τις εισόδους θα εµφανιστεί στην έξοδο. Είναι δυνατή η υλοποίηση συνάρτησης Boole n n µεταβλητών µε έναν πολυπλέκτη 2 σε. Σε αυτή την περίπτωση αναλύουµε την δοθείσα συνάρτηση σε άθροισµα ελαχιστόρων και ακολουθούµε µία συγκκεκριµένη διαδικασία. H συνάρτηση Boole στην έξοδο ενός πολυπλέκτη 2-σε-, ο οποίος έχει γραµµή επιλογής S ' είναι F = I0 S + IS. Έχουµε τις συναρτήσεις Boole Υ3 = GA2A Υ2 = A A2+G A2+GA2 A Υ = GA +G A Υ0 = A0 0 GA2 Ι0 Ι 2 - ΜU Y3 A A2 GA2 Ι0 Ι 2 - ΜU Y2 A Α Α Ι0 Ι 2 - ΜU Y Α0 G Υ0 5 ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495
Tα GA2 και GA2 προκύπτουν από άλλπυς πολυκλέκτες 2 σε και τα συµπληρώµατα από πύλες ΝΟΤ. Άσκηση 3: [5 µονάδες] α) Σχεδιάστε την κυµατοµορφή της εξόδου Q ενός αρνητικά ακµοπυροδοτούµενου D Flip Flop όταν στην είσοδο D και στις ασύγχρονες εισόδους PRESET και CLEAR αυτού εφαρµόζονται οι παλµοί που φαίνονται στο σχήµα που ακολουθεί. Θεωρήστε ότι η αρχική τιµή της εξόδου Q είναι το λογικό 0 και ότι τα σήµατα PRESET και CLEAR ενεργοποιούνται κατά τη µετάβαση στο λογικό 0. CLK D PRESET CLEAR Q β) Έστω ότι έχετε στη διάθεσή σας ένα και µόνο ένα αρνητικά ακµοπυροδοτούµενο JK Flip Flop. Προσδιορίστε τι πρέπει να συνδέσετε στις εισόδους J και K του Flip Flop ώστε η έξοδός του να σηµατοδοτεί (δηλαδή να λαµβάνει το λογικό ) τις αρνητικές ακµές του ρολογιού κατά τις οποίες µία εξωτερική είσοδος D και η έξοδος Q του Flip Flop είναι διαφορετικές. Λύση α)h αρχική τιµή της εξόδου Q είναι το λογικό 0. Τα σήµατα PRESET και CLEAR ενεργοποιούνται κατά τη µετάβαση στο λογικό 0. Όταν τα σήµατα PRESET και CLEAR είναι στο λογικό, τότε το Flip Flop λειτουργεί κανονικά και αλλάζει κατάσταση σε κάθε αρνητική ακµή του ρολογιού. Όταν ενεργοποιηθεί η είσοδος PRESET (=0) τότε γίνεται Q=. Όταν ενεργοποιηθεί η είσοδος CLEAR (=0) τότε γίνεται Q=0. ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495 6
Q= β) Από τον πίνακα λειτουργίας του JK Flip Flop, παρατηρούµε ότι όταν οι είσοδοι J και K είναι διαφορετικές, δηλαδή όταν J=K τότε η έξοδος Q έιναι ίδια µε την είσοδο J. Άρα το ζητούµενο κύκλωµα προκύπτει συνδέοντας την εξωτερική είσοδο D στην είσοδο Κ και τοποθετώντας ένα αντιστροφέα µεταξύ των εισόδων Κ και J (από την Κ στην J). J ΗΑ2 Q NOT Q D K Άσκηση 4: [5 µονάδες] Σχεδιάστε το κύκλωµα ενός καταχωρητή 3 δυαδικών ψηφίων µε δύο εξωτερικά σήµατα Ε και Ε 0 ο οποίος εκτελεί τις παρακάτω λειτουργίες: Ε Ε 0 Λειτουργία καταχωρητή 0 0 0 Σειριακή φόρτωση του αριθµού a 2 a a 0, τα bits του οποίου παρέχονται από µια εξωτερική είσοδο Α (Υποθέστε ότι παρέχεται ένα bit ανά ωρολογιακό παλµό ξεκινώντας από το λιγότερο σηµαντικό bit). Παράλληλη φόρτωση του αριθµού b 2 b b 0, τα bits του οποίου παρέχονται από τις εξωτερικές εισόδους Β 2, Β και Β 0. 0 Καµία αλλαγή. ιπλασιασµός της τιµής του καταχωρητή. (Για τη συγκεκριµένη λειτουργία και επειδή το αποτέλεσµα απαιτεί 4 bits για την αποθήκευση του, έχετε στη διάθεση σας ένα D Flip Flop για την αποθήκευση του περισσότερο σηµαντικού ψηφίου του αποτελέσµατος. Κατά τη διάρκεια 7 ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495
όλων των άλλων λειτουργιών του καταχωρητή το συγκεκριµένο D FF διατηρεί αναλλοίωτα τα δεδοµένα του.) Έχετε στη διάθεσή σας 3 SR Flip Flops και D Flip Flop, όλα πυροδοτούµενα στη θετική ακµή, 6 πολυπλέκτες 4-σε-, πολυπλέκτη 2-σε-, πύλη AND και όσες πύλες NOT χρειάζεστε. Λύση Όταν οι γραµµές επιλογής είναι 00, θέλουµε να έχουµε σειριακή φόρτωση του αριθµού a 2 a a 0, τα bits του οποίου παρέχονται από µια εξωτερική είσοδο Α (παρέχεται ένα bit ανά ωρολογιακό παλµό ξεκινώντας από το λιγότερο σηµαντικό bit). Για αυτό τον λόγο θα πρέπει να συνδέσουµε την εξωτερική είσοδο Α στην µία από τις δύο εισόδους µία πύλης AND της οποίας η άλλη είσοδος τροφοδοτείται µε το ρολόι, και η έξοδός της συνδέεται στη είσοδο 0, των πολυπλεκτών. Όταν οι γραµµές επιλογής είναι 0, θέλουµε να φορτώσουµε παράλληλα τον αριθµό b2bb0 (τα δεδοµένα.) από τις εξωτερικές εισόδους Β 2, Β και Β 0. Εποµένως οι είσοδοι δεδοµένων Β 2, Β και Β 0 θα συνδεθούν στις εισόδους, των πολυπλεκτών. Το κύκλωµα θέλουµε για τον συνδυασµό των γραµµών επιλογής EE0=0,να µην επιφέρει καµία αλλαγή. Σύµφωνα µε την λειτουργία του πολυπλέκτη όταν οι γραµµές επιλογής είναι 0, στην έξοδό του εµφανίζεται η είσοδος 2, δηλαδή η παρούσα τιµή του καταχωρητή θα εµφανίζεται στην είσοδο του flip flop. Αυτό σηµαίνει ότι πρέπει να δηµιουργήσουµε ανάδραση µεταξύ της εξόδου Q του SR flip flop, και της εισόδου 2 του πολυπλέκτη, ώστε κάθε παλµός ρολογιού να µεταφέρει το ίδιο περιεχόµενο στο flip flop. Όταν οι γραµµές επιλογής είναι, θέλουµε να γίνεται διπλασιασµός της τιµής του καταχωρητή. Έστω Κ2 Κ Κ0 η τιµή του καταχωρητή. Όταν διπλασιαστεί θα γίνει Κ3 Κ2 Κ Κ0. Καταστρώνουµε τον πίνακα Αριθµός Κ2 Κ Κ0 (Αριθµός) * 2 Κ3 K2 Κ K0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 4 0 0 0 3 0 6 0 0 4 0 0 8 0 0 0 5 0 0 0 0 6 0 2 0 0 7 4 0 Προκύπτει ότι Κ3 =Κ2, Κ2 =Κ, Κ =Κ0, Κ0 =0 Για τη συγκεκριµένη λειτουργία και επειδή το αποτέλεσµα απαιτεί 4 bits για την αποθήκευση του, έχουµε στη διάθεση µας ένα D Flip Flop για την αποθήκευση του περισσότερο σηµαντικού ψηφίου Κ3 του αποτελέσµατος. Κατά τη διάρκεια όλων των άλλων λειτουργιών του καταχωρητή το συγκεκριµένο D FF διατηρεί αναλλοίωτα τα δεδοµένα του. ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495 8
Τα Κ2 =Κ, Κ =Κ0, Κ0 =0 προκύπτουν από τις εξόδους 3 άλλων πολυπλεκτών 4-σε- που έχουµε στη διάθεση µας και οι οποίοι τροφοδοτούν τις εισόδους 3 () της αρχικής βασικής τριάδας πολυπλεκτών 4-σε- που συνδέονται µε τα 3 SR Flip Flops. Άσκηση 5: [25 µονάδες] Α) Με Flip Flops τύπου JK θετικής ακµής πυροδότησης και το µικρότερο δυνατό αριθµό λογικών πυλών 2 εισόδων, να σχεδιάσετε ένα Σύγχρονο Ακολουθιακό Κύκλωµα (ΣΑΚ) µε δύο εξωτερικές εισόδους Χ και Χ 0, το οποίο από την τρέχουσα κατάσταση του [Α Α 0 ] t θα µεταβαίνει στην επόµενη κατάσταση [Α Α 0 ] t+ σύµφωνα µε την ακόλουθη σχέση: [Α Α 0 ] t+ = [Α Α 0 ] t +Χ Χ 0 (τόσο η τρέχουσα κατάσταση [Α Α 0 ] t όσο και η επόµενη [Α Α 0 ] t+ καθώς και οι είσοδοι Χ Χ 0 θεωρούνται διψήφιοι µη προσηµασµένοι δυαδικοί αριθµοί ενώ το κρατούµενο που προκύπτει από την πρόσθεση των δύο παραπάνω διψήφιων δυαδικών αριθµών αγνοείται). Β) Σχεδιάστε το ίδιο κύκλωµα χρησιµοποιώντας ηµιαθροιστές, πλήρεις αθροιστές και D Flip Flops θετικής ακµής πυροδότησης. εν µπορείτε να χρησιµοποιήσετε λογικές πύλες. Λύση Η χαρακτηριστική εξίσωση του JK FF είναι ( t + ) = K' Q JQ' Q + Με βάση την εκφώνηση κατασκευάζεται ο παρακάτω πίνακας, όπου φαίνονται οι δύο εξωτερικές είσοδοι Χ και Χ 0, η τρέχουσα κατάσταση του κυκλώµατος [Α Α 0 ] t η επόµενη κατάσταση [Α Α 0 ] t+ σύµφωνα µε την ακόλουθη σχέση: [Α Α 0 ] t+ = [Α Α 0 ] t +Χ Χ 0 καθώς και οι είσοδοι J,K,J0,K0 των flip flops. Απαιτούνται 2 flip flops γιατί το κρατούµενο που προκύπτει από την πρόσθεση των δύο παραπάνω διψήφιων δυαδικών αριθµών αγνοείται. Καταστρώνουµε τον πίνακα καταστάσεων του κυκλώµατος Χ0 Α Α0 Α(t+) Α0(t+) J K J0 K0 0 0 0 0 0 0 0 Χ 0 Χ 0 0 0 0 0 Χ Χ 0 0 0 0 0 Χ 0 0 Χ 0 0 Χ 0 Χ 0 0 0 0 0 0 Χ Χ 0 0 0 Χ Χ 0 0 Χ 0 Χ 0 0 0 Χ Χ 0 0 0 0 Χ 0 Χ 0 0 Χ Χ 0 0 0 0 0 Χ 0 Χ 0 0 Χ Χ 0 0 0 Χ Χ 0 0 0 0 Χ Χ 0 0 Χ Χ 0 Χ 0 Χ 9 ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495
Να σηµειωθεί ότι οι 4 τελευταίες στήλες του πίνακα προέκυψαν µε την βοήθεια του πίνακα διέγερσης του JK flip-flop. Με την βοήθεια του χάρτη Karnaugh απλοποιούµε τις συναρτήσεις J,K,J0,K0. Για την είσοδο J ΑΑ0 Χ0 00 0 00 0 0 0 0 Παρατηρούµε ότι σχηµατίζονται µία δυάδα στο κέντρο και δύο τετράδες µία η κάτω γραµµή και µία στις κάτω γωνίες του χάρτη. Εποµένως J= ΧΧ0 + ΧΑ0 +Χ Χ0Α0 = (ΧΧ0 + Χ Χ0)Α0 + ΧΑ0 Για την είσοδο K ΑΑ0 Χ0 00 0 0 00 0 0 Παρατηρούµε ότι σχηµατίζονται µία δυάδα στο κέντρο και δύο τετράδες µία η κάτω γραµµή και µία στις κάτω γωνίες του χάρτη. Εποµένως Κ = J= ΧΧ0 + ΧΑ0 +Χ Χ0Α0 = (ΧΧ0 + Χ Χ0)Α0 + ΧΑ0 Για την είσοδο J0 ΑΑ0 Χ0 00 0 0 00 Χ Χ 0 Χ Χ 0 Χ Χ Χ Χ ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495 0
Παρατηρούµε ότι σχηµατίζεται µία οκτάδα, εποµένως J0=0 Για την είσοδο K0 QQ0 Y 00 0 0 00 0 0 Παρατηρούµε ότι σχηµατίζεται µία οκτάδα, εποµένως K0= J0=0 J Q J0 Q0 AND K Q K0 Q0 OR Χ0 Χ ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495
β. Η χαρακτηριστική εξίσωση του D FF είναι Q ( t + ) = D Το ίδιο κύκλωµα χρησιµοποιώντας ηµιαθροιστές, πλήρεις αθροιστές και D Flip Flops θετικής ακµής πυροδότησης θα είναι:. 2 D flip-flop, HA, FA Είσοδοι ΗΑ : Χ0, Q0 Έξοδοι ΗΑ: άθροισµα S στο D0, κρατούµενο C0 στον FΑ Είσοδοι FΑ : Χ, Q, κρατούµενο C0 από HΑ Έξοδοι FΑ: άθροισµα στο D, κρατούµενο αγνοείται. ΣΟΛΩΜΟΥ 29 ΑΘΗΝΑ 20.38.22.57 495 2