ΗΜΥ 20: Σχεδιασμός Ψηφιακών Συστημάτων Αυγ- ΗΜΥ-20: Σχεδιασμός Ψηφιακών Συστημάτων Συνδυαστικές Λογικές ιατάξεις Διδάσκουσα: Μαρία Κ. Μιχαήλ Περίληψη Λογικές ιατάξεις (Programmable Logic Devices PLDs) Μνήμη μόνο Ανάγνωσης Προγραμματιζόμενος Λογικός Πίνακας (Programmable Logic rray -- PL) Λογική Πίνακα (Programmable rray Logic -- PL) Λογικές ιατάξεις VLSI (PGs, PLDs, κτλ) και όμως διαφέρουν! Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών MKM - 2 Λογικές ιατάξεις (Programmable Logic Devices-PLDs) Τυποποιημένα λογικά κυκλώματα που μπορούν να «προγραμματιστούν» ανάλογα, έτσι ώστε να υλοποιήσουν ένα συγκεκριμένο κύκλωμα «Προγραμματισμός» = διαδικασία (Η/W ή S/W) καθορισμού λογικής που θα υλοποιηθεί από ένα PLD Λογική Γιατί; Γεγονότα (γενικά): Πιο οικονομική η παραγωγή I σε μεγάλες ποσότητες Πολλοί σχεδιασμοί απαιτούνται μόνο σε μικρές ποσότητες Χρειάζεται ένα I που να μπορεί να: Παράγετε σε μεγάλες ποσότητες Να υποστηρίζει πολλούς σχεδιασμούς σε μικρές ποσότητες Ένα προγραμματιζόμενο λογικό κομμάτι μπορεί να: : Κατασκευαστεί σε μεγάλες ποσότητες Προγραμματιστεί έτσι ώστε να υλοποιεί μεγάλο αριθμό διαφορετικών σχεδιασμών μικρής παραγωγής MKM - MKM - 4 Συνδυαστικές Λογικές Διατάξεις
ΗΜΥ 20: Σχεδιασμός Ψηφιακών Συστημάτων Αυγ- Λογική Επιπρόσθετα Πλεονεκτήματα Πολλά PLDs είναι field-programmable, δηλ., μπορούν να προγραμματιστούν εκτός του εργοστασίου κατασκευής Τα περισσότερα PLDs είναι διαγράψιμa a (erasable) και επανα-προγραμματιζόμεναπρογραμματιζόμενα (re-programmable). Επιτρέπει ενημέρωση μιας συσκευής ή διόρθωση λαθών Επιτρέπει την επαναχρησιμοποίηση της συσκευής για διαφορετικό σχεδιασμό καλύτερη δυνατή επαναχρησιμοποίηση! Ιδανικές για εργαστηριακά μαθήματα Τα PLDs μπορούν να χρησιμοποιηθούν για ένα πρωτότυπο σχεδιασμό, ο οποίος θα υλοποιηθεί τελικά σε κανονικό I. Πολλά πρωτότυπα για την οικογένεια επεξεργαστών της Intel Pentium, υλοποιήθηκαν αρχικά από ειδικά συστήματα βασισμένα σε ένα μεγάλο αριθμό από προγραμματιζόμενες συσκευές VLSΙ! Προγραμμαζόμενες Τεχνολογίες Χρησιμοποιούνται για: ελέγχου (καλυπτόμενος προγραμματισμός mask programming, fuse, antifuse, στοιχείο μνήμης single-bit) Κτίσιμο πινάκων αναζήτησης (στοιχεία μνήμης) Έλεγχο αλλαγής τρανζίστορ = το φορτίο φυλάγετε σε μια floating πύλη τρανζίστορ με διάφορες μεθόδους: ιαγράψιμο Ηλεκτρικά ιαγράψιμο lash (όπως για την μνήμη lash) MKM - 5 MKM - 6 Χαρακτηριστικά Τεχνολογίας Μόνιμη δεν μπορεί να αφαιρεθεί ούτε και να ξανά δεν μπορεί να αφαιρεθεί ούτε και να ξανά-προγραμματιστεί Καλυπτόμενος προγραμματισμός use ntifuse Επανα-προγραμματιζόμενηπρογραμματιζόμενη Προσωρινή (Volatile) Εάν η ισχύς του ολοκληρωμένου χαθεί τότε χάνεται και ο προγραμματισμός του Στοιχείο μνήμης Single-bit Μη-προσωρινή (Non-Volatile) ιαγράψιμη Ηλεκτρικά ιαγράψιμη lash (όπως την μνήμη lash) MKM - 7 ιατάξεις (ROM) ένας σταθερός αριθμός από πύλες ND και μια προγραμματιζόμενη διάταξη πυλών OR. Μνήμη Μόνο Ανάγνωσης (ROM) Λογική Πίνακα (PL) μια προγραμματιζόμενη διάταξη από πύλες ND που τροφοδοτούν μια σταθερή διάταξη πυλών OR. Προγραμματιζόμενος Λογικός Πίνακας (PL) - μια προγραμματιζόμενη διάταξη από πύλες ND που τροφοδοτούν μια προγραμματιζόμενη διάταξη πυλών OR. Σύνθετη Λογική ιάταξη (PLD) /Προγραμματιζόμενος Πίνακας Πεδίου Πύλης (PG) πιο πολύπλοκες δομές βλέπε παράρτημα του βιβλίου για προγραμματιζόμενες λογικές διατάξεις VLSI MKM - 8 Συνδυαστικές Λογικές Διατάξεις 2
ΗΜΥ 20: Σχεδιασμός Ψηφιακών Συστημάτων Αυγ- ιατάξεις (συν.) ROM, PL και PL Χωρίζονται, συνήθως, σε 2 μέρη: () ιάταξη ND Επίσης, ιάταξη ND (αποκωδικοποιητής) διάταξη OR I I2 In... = I I2 In I I2 In Α διάταξη ND (a) ROM (PROM) ιάταξη OR (2) ιάταξη OR (β) PL I I2 In... = I + In I In Α διάταξη ND γ) PL διάταξη OR MKM - 9 MKM - 0 Μνήμη Μόνο Ανάγνωσης Οι προγραμματιζόμενες ROM (PROM) έχουν: N γραμμές εισόδων, M γραμμές εξόδων, και 2 N κωδικοποιημένους ελαχιστόρους (ή διευθύνσεις). Αμετάβλητη διάταξη ND με 2 N εξόδους που υλοποιεί όλους τους ελαχιστόρους (συνήθως με Decoder). διάταξη OR με M εξόδους που σχηματίζει μέχρι και M αθροίσματα ελαχιστόρων. Ένα πρόγραμμα για ένα ROM ή PROM είναι ένας πίνακας αληθείας με πολλαπλό αριθμό εξόδων. Εάν έχουμε είσοδο τότε γίνεται μια ένωση (σύνδεση) στον αντίστοιχο ελαχιστόρο για την αντίστοιχη έξοδο Εάν έχουμε 0, δεν γίνεται καμιά ένωση Μπορούμε να το δούμε σαν μια μνήμη με τις εισόδους ως διευθύνσεις δεδομένων, άρα ROM ή PROM! Μνήμη Μόνο Ανάγνωσης N 2 N M PROM M 0 M- 0 N=0 N= 2 N - 2 N M bits N=2 N - N: ορίζει τον αριθμό των πιθανών διευθύνσεων (= 2 N -) Μ: ορίζει το μέγεθος των δεδομένων που φυλάγονται στην κάθε διεύθυνση MKM - MKM - 2 Συνδυαστικές Λογικές Διατάξεις
ΗΜΥ 20: Σχεδιασμός Ψηφιακών Συστημάτων Αυγ- ROM -- Παράδειγμα Παράδειγμα: : 8 4 ROM (N = είσοδοι,, M= 4 έξοδοι) Η διάταξη "ND" είναι ένας αποκωδικοποιητής με εισόδους και 8 εξόδους D7 που υλοποιεί όλους τους ελαχιστόρους. Η προγραμματιζόμενη διά- 2 D ταξη "OR χρησιμοποιεί μια D2 κάθετη γραμμή για την D αναπαράσταση όλων των 0 D0 εισόδων στην πύλη ΟR. Ένα στην διάταξη, αντιστοιχεί στην προσάρτηση του ελαχιστόρου στο OR Παράδειγμα: Για είσοδο 2 ( 2,, 0 )=00, η έξοδος είναι (, 2,, 0 ) = 00. Τι είναι οι συναρτήσεις, 2, και 0 σε σχέση με τους όρους ( 2,, 0 ); 0 ROM Παράδειγμα (συν.) 2 0 2 4 5 6 7 2 4 bits 0 = m(, 5, 7) = m(, 4) 2 = m(0, 7) = m(2, 5, 7) 0 D7 2 0 D D2 D D0 2 0 MKM - MKM - 4 ROM -- Παράδειγμα (συν.) εδομένης μιας ROM μεγέθους 2 n M, μπορούμε να υλοποιήσουμε οποιοδήποτε κύκλωμα με n εισόδους και Μ εξόδους. Πως; Υλοποιήστε το κύκλωμα για τις πιο κάτω συναρτήσεις, βάση της διπλανής PROM: 0 (a,b,c) = a b +abc (a,b,c) = a b c +ab+bc 2 (a,b,c) = a b +c D7 2 D D2 D 0 D0 MKM - 5 2 0 Λογική Πίνακα (Programmable rray Logic -- PL) Το αντίθετο του ROM, μία προγραμματιζόμενη διάταξη από NDs συνδυασμένη με αμετάβλητα ORs. Μειονέκτημα: Το ROM εγγυείται την υλοποίηση οποιονδήποτε M συναρτήσεων με N εισόδους. Το PL είναι περιοριστικό, αφού έχει συγκεκριμένο αριθμό εισόδων στις πύλες OR. Πλεονεκτήματα: Για δεδομένη εσωτερική πολυπλοκότητα, ένα PL μπορεί να έχει μεγαλύτερα N και M Κάποια PLs έχουν εξόδους που μπορούν να συμπληρωθούν, προσθέτοντας συναρτήσεις POS εν υπάρχουν υλοποιήσεις πολλαπλών επιπέδων στο ROM (χωρίς εξωτερικές ενώσεις από την έξοδο στην είσοδο). Το PL έχει εξόδους από όρους OR ως εσωτερικούς εισόδους σε όλους τους όρους ND, κάνοντας την υλοποίηση κυκλωμάτων πολλαπλών επιπέδων εφικτή. MKM - 6 Συνδυαστικές Λογικές Διατάξεις 4
ΗΜΥ 20: Σχεδιασμός Ψηφιακών Συστημάτων Αυγ- PL -- Παράδειγμα PLμε 4-εισόδους, 4-εξόδους και με αμετάβλητους όρους OR -εισόδων Ποιες είναι οι εξισώσεις από το μέχρι το 4; = + 2 = + + = 4 = I I2 Product term 2 4 5 6 7 8 ND gates inputs 0 2 4 5 6 7 8 9 0 2 4 5 6 7 8 MKM - 7 9 I I4 I4 D 9 0 2 2 4 Προγραμματιζόμενος Λογικός Πίνακας (Programmable Logic rray -- PL) Συγκριτικά με ROM και PL, το PL είναι το πιο ευέλικτο, αφού έχει μια προγραμματιζόμενη διάταξη από NDs συνδυασμένη με μία προγραμματιζόμενη μ διάταξη από ORs. Πλεονεκτήματα: Ένα PL μπορεί να έχει μεγάλο N και M και έτσι επιτρέπει την υλοποίηση εξισώσεων που είναι μη-πρακτικές για ένα ROM Ένα PL επιτρέπει σε όλους τους όρους γινομένου να μπορούν να ενωθούν με όλες τις εξόδους, ξεπερνώντας έτσι το πρόβλημα των λιγοστών εισόδων στα PL ORs Κάποια PLs έχουν εξόδους που μπορούμε να πάρουμε το συμπλήρωμα τους, προσθέτοντας έτσι συναρτήσεις POS Μειονεκτήματα: Συχνά, ο αριθμός όρων γινομένου μειώνει την εφαρμογή ενός PL. Η βελτιστοποίηση 2-επιπέδων κυκλωμάτων με πολλαπλές εξόδους μειώνει τον αριθμό των όρων γινομένων σε μια υλοποίηση, βοηθώντας έτσι την προσαρμογή του σε ένα PL. MKM - 8 PL -- Παράδειγμα Ποιες είναι οι εξισώσεις για το και 2; Μπορεί το PL να υλοποιήσει τις συναρτήσεις χωρίς τις OR πύλες; 2 use intact use blown 4 0 PL -εισόδων, -εξόδων με με 4 όρους γινομένου 2 MKM - 9 Συνδυαστικές Λογικές Διατάξεις 5