5 η Θεµατική Ενότητα : Συνδυαστικά Κυκλώµατα µε MSI και Εισαγωγή Οι προγραµµατιζόµενες διατάξεις είναι ολοκληρωµένα µε εσωτερικές πύλες οι οποίες µπορούν να υλοποιήσουν οποιαδήποτε συνάρτηση αν υποστούν την κατάλληλη επεξεργασία - προγραµµατισµό Ηχρήση προγραµµατιζόµενων διατάξεων έχει αρκετά πλεονεκτήµατα PLAs s FPGAs Μικρό κόστος κατασκευής (Παραγωγή πολλών ολοκληρωµένων στο εργοστάσιο) Υλοποίηση περίπλοκων συναρτήσεων Ελαχιστοποίηση εξωτερικών διασυνδέσεων (SSI) Προγραµµατισµός & Έλεγχος στο εργαστήριο O προγραµµατισµός µπορεί να γίνει στο εργαστήριο και ο σχεδιαστής γνωρίζει το κόστος από νωρίς 2
Εισαγωγή 3 υαδικός Αθροιστής & Αφαιρέτης A i B i FA S i C i C i+1 D Σειριακός Αθροιστής Σειριακός Αθροιστής: απαιτεί 1 πλήρη αθροιστή, 1 στοιχείο µνήµης και παράγει το αποτέλεσµα σε n κύκλους ρολογιού. Παράλληλος Αθροιστής: απαιτεί n πλήρης αθροιστές και παράγει το αποτέλεσµα σε 1 κύκλο 4
Παράλληλος υαδικός Αθροιστής Υλοποίηση µε συναρτήσεις: Πίνακας αλήθειας µε 9 εισόδους και 29=512 καταστάσεις 5 Παράλληλος υαδικός Αθροιστής/Αφαιρέτης 6
ιάδοση Κρατουµένου Καθυστέρηση Συνδυαστικών Κυκλωµάτων: Επίπεδα Πυλών x Καθυστ. Πύλης Παράλληλος Αθροιστής: Μεγαλύτερη καθυστέρηση οφείλεται στο κρατούµενο 2 επίπεδα διάδοσης κρατουµένου 2xn επίπεδα για τον παράλληλο αθροιστή n bits Ο χρόνος διάδοσης κρατουµένου είναι πολύ µεγάλος Ηπρόσθεση είναι η συχνότερη πράξη Μείωση χρόνου διάδοσης κρατουµένου Χρήση γρηγορότερων πυλών (άνω όριο) Αύξηση πολυπλοκότητας κυκλώµατος (carry look-ahead 7 Αθροιστής Carry Look Ahead P i =A i B i S i =P i C i G i =A i B i C i+1 =G i +P i C i ιαδοτής Κρατουµένου Γεννητής Κρατουµένου C 2 =G 1 +P 1 C 1 C 3 =G 2 +P 2 C 2 = G 2 +P 2 (G 1 +P 1 C 1 )=G 2 +P 2 G 1 +P 2 P 1 C 1 C 4 =G 3 +P 3 C 3 = = G 3 +P 3 G 2 +P 3 P 2 G 1 +P 3 P 2 P 1 C 1 8
Αθροιστής Carry Look Ahead 9 εκαδικός Αθροιστής Κωδικοποίηση πληροφοριών: πρόσθεση κωδικοπ. Πληροφ. Τρόποι υλοποίησης: 1.Σχεδιασµός συνδυαστικού κυκλώµατος µε 9 εισόδους και 5 εξόδους (512 καταστ). 2.Υλοποίηση µε κυκλώµατα πλήρη αθροιστή λαµβάνοντας υπόψιν το γεγονός ότι 6 συνδυασµοί σε κάθε είσοδο 4 bits δεν χρησιµοποιούνται Όταν C=1 πρέπει να προσθέσουµε στο δυαδικό άθροισµα το 0110 και παίρνουµε το BCD αποτέλεσµα C=K+Z 8 Z 4 +Z 8 Z 2 10
εκαδικός Αθροιστής Από την τιµή 9 και πάνω προσθέτουµε την ποσότητα 0110 ώστε να έχουµε την επιθυµητή µετατροπή 11 Συγκριτής Μεγέθους Συγκριτής Μεγέθους: συγκρίνει δύο αριθµούς και βρίσκει την σχέση τους (<,>,=). Ισότητα Για δύο αριθµούς των n bits έχουµε 2 2n συνδυασµούς (πολύ µεγάλο). Το κύκλωµα του συγκριτή έχει αρκετή κανονικότητα (αλγοριθµικός σχεδιασµός) Α=Α 3 Α 2 Α 1 Α 0 Β=Β 3 Β 2 Β 1 Β 0 x i =Α i B i +A i Β i (Α=Β)=x 3 x 2 x 1 x 0 Ανισότητα (Α>Β)=Α 3 Β 3 +x 3 A 2 B 2 +x 3 x 2 A 1 B 1 +x 3 x 2 x 1 A 0 B 0 : δίνει 1 µόνο όταν A i =1 και Β i =0 µε A j =B j για j>i δηλαδή ελέγχει από αριστερά προς δεξιά ένα ένα τα bits. (Α<Β)=B 3 A 3 +x 3 B 2 A 2 +x 3 x 2 B 1 A 1 +x 3 x 2 x 1 B 0 A 0 Πλεονέκτηµα : Η κανονικότητα του κυκλώµατος 12
Συγκριτής Μεγέθους 13 Αποκωδικοποιητές - Κωδικοποιητές Αποκωδικοποιητής: κύκλωµα που µετατρέπει την δυαδική πληροφορία των n γραµµών εισόδου σε 2 n µοναδικές γραµµές εξόδου (ελαχιστόροι n µεταβλητών) 14
Υλοποίηση Συνδυαστικής Λογικής Αφού ο αποκωδικοποιητής παράγει τους 2 n ελαχιστόρους µπορεί να υλοποιήσει οποιαδήποτε συνάρτηση µε προσθήκη πυλών OR Παράδειγµα: Υλοποίηση πλήρους αθροιστή S(x,y,z)=Σ(1,2,4,7) C(x,y,z)=Σ(3,5,6,7) 15 Αποπλέκτες Είναι ουσιαστικά ένας αποκωδικοποιητής µε συµπληρωµατικές εξόδους και είσοδο επίτρεψης. Μεταβιβάζει τις πληροφορίες από την είσοδο επίτρεψης σε οποιαδήποτε έξοδο επιλέγουν οι υπόλοιπες είσοδοι 16
Αποπλέκτες 17 Αποπλέκτες Επέκταση Αποκωδικοποιητή µε χρήση πολλών αποκωδικοποιητών 2 αποκωδικοποιητές 3 σε 8 δίνουν 1 αποκωδικοποιητή 4 σε 16 18
Κωδικοποιητές Ο Κωδικοποιητής εκτελεί την αντίστροφη λειτουργία από τον Αποκωδικοποιητή: Έχει 2 n γραµµές εισόδου και n γραµµές εξόδου και δίνει τον δυαδικό κώδικα που αντιστοιχεί στις γραµµές εισόδου. 19 Κωδικοποιητές Προβλήµατα: Όταν περισσότερες της µίας είσοδοι είναι στον άσσο τότε η έξοδος είναι απροσδιόριστη (Λύση: προτεραιότητα) Όταν όλες οι είσοδοι είναι στο µηδέν τότε η έξοδος είναι 000 που δεν είναι σωστό αφού η D 0 1(Λύση: διάκριση της κατάστασης) 20
Κωδικοποιητές Προτεραιότητας Ο Κωδικοποιητής εκτελεί την αντίστροφη λειτουργία από τον Αποκωδικοποιητή: Έχει 2 n γραµµές εισόδου και n γραµµές εξόδου και δίνει τον δυαδικό κώδικα που αντιστοιχεί στις γραµµές εισόδου. 21 Κωδικοποιητές Προτεραιότητας x=d 2 +D 3 y=d 3 +D 1 D 2 v=d 0 +D 1 +D 2 +D 3 Λύνει το πρόβληµα της επιλογής όταν περισσότερες της µίας εισόδων είναι στον άσσο: επιλέγει αυτήν µε την µεγαλύτερη προτεραιότητα 22
Πολυπλέκτες Ο Πολυπλέκτης είναι ένα συνδυαστικό κύκλωµα που επιλέγει δυαδικές πληροφορίες ανάµεσα σε πολλές γραµµές εισόδου και τις κατευθύνει σε µία γραµµή εξόδου 23 Πολυπλέκτες Η είσοδος Επίτρεψης (Ε) τοποθετείται για λόγους επέκτασης. 24
Υλοποίηση Συναρτήσεων Boole Κάθε πολυπλέκτης 2 n σε 1 µπορεί να υλοποιήσει οποιαδήποτε συνάρτηση n µεταβλητών ως εξής: 1. Βάζουµε τις n-1 µεταβλητές στις εισόδους επίτρεψης. 2. Χρησιµοποιούµε την τελευταία µεταβλητή για τις εισόδους. 25 Υλοποίηση Συναρτήσεων Boole Αλγόριθµος υλοποίησης συνάρτησης µε χρήση πολυπλέκτη: 1.Εκφράζουµε την συνάρτηση σε άθροισµα ελαχιστόρων. 2.Συνδέουµε τις n-1 µεταβλητές στις γραµµές επιλογής και κρατάµε την αριστερότερη (πιο σηµαντική) έστω Α. 3.Καταγράφουµε τις εισόδους του πολυπλέκτη και κάτω από αυτές όλους τους ελαχιστόρους σε δύο σειρές (αντίστοιχα για Α=0 και Α=1). 4.Σηµειώνουµε τους ελαχιστόρους που έχει η συνάρτηση. 5.Σε κάθε στήλη βάζουµε 0 αν δεν έχει σηµειωθεί ελαχιστόρος, 1 αν έχουν σηµειωθεί και οι δύο, Α αν έχει σηµειωθεί ο πάνω και Α αν έχει σηµειωθεί ο κάτω ελαχιστόρος. Τα κυκλώµατα µε λίγες εξόδους υλοποιούνται καλύτερα µε πολυπλέκτες, ενώ αυτά µε πολλές εξόδους υλοποιούνται καλύτερα µε αποκωδικοποιητές 26
ΜνήµηΑνάγνωσης Μόνο (ROM) Η µνήµη ανάγνωσης-µόνο είναι µία διάταξη που περιλαµβάνει και τον αποκωδικοποιητή και τις πύλες Η µέσα στο ίδιο Chip. Οι συνδέσεις καθορίζονται µε προγραµµατισµό. Περιγράφονται µε τον αριθµό λέξεων που περιέχουν πχ 2 9 x8=512 λέξεις των 8 bits η κάθε µία (9 address -8 data) Προγραµµατισµός Συνδέσεων Κάψιµο Συνδέσεων ιατήρηση µετά το power off Χρ. Καβουσιανός 27 Συνδυαστική Λογική µε ROM Για την υλοποίηση µίας συνάρτησης πρέπει να καταστρέψουµε εκείνους τους συνδέσµους που αντιστοιχούν σε ελαχιστόρους που δεν ανήκουν σε αυτήν. F 1 (A 1,A 0 )=Σ(1,2,3) F 2 (A 1,A 0 )=Σ(0,2) 28
Τύποι ROM ROM PROM EPROM EEPROM Με τον τρόπο κατασκευής της και λειτουργίας της η ROM σε κάθε είσοδο δίνει µία δεδοµένη έξοδο. Αποθηκεύει πληροφορίες οπότε δέχεται µία διεύθυνση και στην έξοδο δίνει την αποθηκευµένη πληροφορία σε αυτήν την διεύθυνση Χρησιµοποιούνται για την υλοποίηση περίπλοκων κυκλωµάτων, για αποθήκευση δεδοµένων που παραµένουν σταθερά, για αποθήκευση προγραµµάτων που δεν αλλάζουν (πχ Boot) κλπ Τα δίαφορα είδη διαφέρουν µεταξύ τους στον τρόπο προγραµµατισµού και αποπρογραµµατισµού καθώς και στα ηλεκτρικά χαρακτηριστικά τους 29 Προγραµµατιζόµενη Λογική Παράταξη PLA H ROM είναι αντι-οικονοµική όταν υπάρχουν πολλοί αδιάφοροι όροι (διευθύνσεις που δεν θα συµβούν ποτέ). Οι λέξεις σε αυτές τις διευθύνσεις δεν χρειάζεται να προγραµµατιστούν µε αποτέλεσµα να µην χρησιµοποιείται όλη η ROM. Όταν υπάρχουν πολλοί αδιάφοροι όροι χρησιµοποιούµε την PLA. εν κάνει πλήρη αποκωδικοποίηση και δεν παράγει όλους τους ελαχιστόρους. 30
Προγραµµατιζόµενη Λογική Παράταξη PLA Το µέγεθος της PLA ορίζεται µε τον αριθµό των εισόδων, τον αριθµό των όρων γινοµένου και τον αριθµό των εξόδων της. Μπορεί να είναι προγραµµατιζόµενη στο πεδίο (field) εφαρµογής ή µε µάσκα στο εργοστάσιο. 31 Πίνακας Προγραµµατισµού PLA Η PLA υλοποιεί ένα κύκλωµα σε µορφή αθροίσµατος γινοµένων και όχι ελαχιστόρων. Έτσι οι συναρτήσεις απλοποιούνται και το κύκλωµα είναι σαφώς φθηνότερο 32
Προγραµµατιζόµενη Παράταξη Λογικής PAL Η PAL είναι µία διάταξη προγραµµατιζόµενης λογικής µε σταθερή παράταξη πυλών Η και προγραµµατιζόµενη παράταξη πυλών ΚΑΙ. Είναι ευκολότερο να προγραµµατιστεί αλλά δεν είναι τόσο ευέλικτη όσο η PLA. 33 Προγραµµατιζόµενη Παράταξη Λογικής PAL 34
Προγραµµατιζόµενη Παράταξη Λογικής PAL οµικές διαφορές µε PLA 1. Κάθε είσοδος συµπληρώνεται 2. Το αποτέλεσµα κάθε συνάρτησης ανατροφοδοτείται για να ξαναχρησιµοποιηθεί (ελαχιστοποίηση κυκλώµατος) Παράδειγµα (A,B,C,D) w=σ(2,12,13) x=σ(7,8,9,10,11,12,13,14,15) y=σ(0,2,3,4,5,6,7,8,10,11,15) z=σ(1,2,8,12,13) 35 Προγραµµατιζόµενη Παράταξη Λογικής PAL 36