ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)
Προγραµµατιζόµενες Λογικές Διατάξεις (Programmable Logic Devices-PLDs) q Τυποποιηµένα λογικά κυκλώµατα που µπορούν να «προγραµµατιστούν» ανάλογα, έτσι ώστε να υλοποιήσουν ένα συγκεκριµένο κύκλωµα q «Προγραµµατισµός» = διαδικασία (Η/W ή S/ W) καθορισµού λογικής που θα υλοποιηθεί από ένα PLD ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.2 Θεοχαρίδης, ΗΜΥ, 2016
Προγραµµατιζόµενη Λογική Γιατί; q Γεγονότα (γενικά): Πιο οικονοµική η παραγωγή IC σε µεγάλες ποσότητες Πολλοί σχεδιασµοί απαιτούνται µόνο σε µικρές ποσότητες q Χρειάζεται ένα IC που να µπορεί να: Παράγετε σε µεγάλες ποσότητες Να υποστηρίζει πολλούς σχεδιασµούς σε µικρές ποσότητες q Ένα προγραµµατιζόµενο λογικό κοµµάτι µπορεί να: Κατασκευαστεί σε µεγάλες ποσότητες Προγραµµατιστεί έτσι ώστε να υλοποιεί µεγάλο αριθµό διαφορετικών σχεδιασµών µικρής παραγωγής ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.3 Θεοχαρίδης, ΗΜΥ, 2016
Προγραµµατιζόµενη Λογική Επιπρόσθετα Πλεονεκτήµατα q Πολλά PLDs είναι field-programmable, δηλ., µπορούν να προγραµµατιστούν εκτός του εργοστασίου κατασκευής q Τα περισσότερα PLDs είναι διαγράψιµa (erasable) και επανα-προγραµµατιζόµενα (re-programmable). Επιτρέπει ενηµέρωση µιας συσκευής ή διόρθωση λαθών Επιτρέπει την επαναχρησιµοποίηση της συσκευής για διαφορετικό σχεδιασµό καλύτερη δυνατή επαναχρησιµοποίηση! Ιδανικές για εργαστηριακά µαθήµατα q Τα PLDs µπορούν να χρησιµοποιηθούν για ένα πρωτότυπο σχεδιασµό, ο οποίος θα υλοποιηθεί τελικά σε κανονικό IC. Πολλά πρωτότυπα για την οικογένεια επεξεργαστών της Intel Pentium, υλοποιήθηκαν αρχικά από ειδικά συστήµατα βασισµένα σε ένα µεγάλο αριθµό από προγραµµατιζόµενες συσκευές VLSΙ! ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.4 Θεοχαρίδης, ΗΜΥ, 2016
Προγραµµαζόµενες Τεχνολογίες q Χρησιµοποιούνται για: Ενώσεις ελέγχου (καλυπτόµενος προγραµµατισµός mask programming, fuse, antifuse, στοιχείο µνήµης single-bit) Κτίσιµο πινάκων αναζήτησης (στοιχεία µνήµης) Έλεγχο αλλαγής τρανζίστορ = το φορτίο «φυλάγεται» σε µια floating πύλη τρανζίστορ µε διάφορες µεθόδους: Διαγράψιµο Ηλεκτρικά Διαγράψιµο Flash (όπως για την µνήµη Flash) ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.5 Θεοχαρίδης, ΗΜΥ, 2016
Χαρακτηριστικά Τεχνολογίας q Μόνιµη δεν µπορεί να αφαιρεθεί ούτε και να ξανά-προγραµµατιστεί - Καλυπτόµενος προγραµµατισµός - Fuse - Antifuse q Επανα-προγραµµατιζόµενη Προσωρινή (Volatile) Εάν η ισχύς του ολοκληρωµένου χαθεί τότε χάνεται και ο προγραµµατισµός του - Στοιχείο µνήµης Single-bit Μη-προσωρινή (Non-Volatile) - Διαγράψιµη - Ηλεκτρικά Διαγράψιµη - Flash (όπως την µνήµη Flash) ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.6 Θεοχαρίδης, ΗΜΥ, 2016
Προγραµµατιζόµενες Διατάξεις q Μνήµη Μόνο Ανάγνωσης (ROM) ένας σταθερός αριθµός από πύλες AND και µια προγραµµατιζόµενη διάταξη πυλών OR. q Προγραµµατιζόµενη Λογική Πίνακα (PAL) Ò µια προγραµµατιζόµενη διάταξη από πύλες AND που τροφοδοτούν µια σταθερή διάταξη πυλών OR. q Προγραµµατιζόµενος Λογικός Πίνακας (PLA) - µια προγραµµατιζόµενη διάταξη από πύλες AND που τροφοδοτούν µια προγραµµατιζόµενη διάταξη πυλών OR. q Σύνθετη Προγραµµατιζόµενη Λογική Διάταξη (CPLD) / Προγραµµατιζόµενος Πίνακας Πεδίου Πύλης (FPGA) πιο πολύπλοκες δοµές βλέπε παράρτηµα του βιβλίου για προγραµµατιζόµενες λογικές διατάξεις VLSI ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.7 Θεοχαρίδης, ΗΜΥ, 2016
Προγραµµατιζόµενες Διατάξεις (συν.) Χωρίζονται, συνήθως, σε 2 µέρη: (1) Διάταξη AND Επίσης, I1 I2 In I1 F I2 In... x x x F = I1 I2 In F A A Α (2) Διάταξη OR I1 I2 In x... x F = I1 + In F I1 In F A A Α ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.8 Θεοχαρίδης, ΗΜΥ, 2016
ROM, PAL και PLA Είσοδοι Διάταξη AND (αποκωδικοποιητής) Προγραµµατιζό- µενες Ενώσεις Προγραµµατιζόµενη διάταξη OR Έξοδοι (a) ROM (PROM) Προγραµµατιζό- µενες Ενώσεις Είσοδοι Προγραµµατιζόµενη διάταξη AND Διάταξη OR Έξοδοι (β) PAL Είσοδοι Προγραµµατιζό- µενες Ενώσεις Προγραµµατιζόµενη διάταξη AND Προγραµµατιζό- µενες Ενώσεις Προγραµµατιζόµενη διάταξη OR Έξοδοι γ) PLA ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.9 Θεοχαρίδης, ΗΜΥ, 2016
Μνήµη Ανάγνωσης (Μόνο) à (Read-Only Memory -- ROM) q Οι προγραµµατιζόµενες ROM (PROM) έχουν: N γραµµές εισόδων, M γραµµές εξόδων, και 2 N κωδικοποιηµένους ελαχιστόρους (ή διευθύνσεις). q Αµετάβλητη διάταξη AND µε 2 N εξόδους που υλοποιεί όλους τους ελαχιστόρους (συνήθως µε Decoder). q Προγραµµατιζόµενη διάταξη OR µε M εξόδους που σχηµατίζει µέχρι και M αθροίσµατα ελαχιστόρων. q Ένα πρόγραµµα για ένα ROM ή PROM είναι ένας πίνακας αληθείας µε πολλαπλό αριθµό εξόδων. q Εάν έχουµε είσοδο 1 τότε γίνεται µια ένωση (σύνδεση) στον αντίστοιχο ελαχιστόρο για την αντίστοιχη έξοδο Εάν έχουµε 0, δεν γίνεται καµιά ένωση q Μπορούµε να το δούµε σαν µια µνήµη µε τις εισόδους ως διευθύνσεις δεδοµένων, άρα ROM ή PROM! ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.10 Θεοχαρίδης, ΗΜΥ, 2016
Μνήµη Ανάγνωσης (Μόνο) à (Read-Only Memory -- ROM) n: ορίζει τον αριθµό των πιθανών διευθύνσεων (= 2 N -1) m: ορίζει το µέγεθος των δεδοµένων που φυλάγονται στην κάθε διεύθυνση ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.11 Θεοχαρίδης, ΗΜΥ, 2016
ROM -- Παράδειγµα q Παράδειγµα: 8 4 ROM (N = 3 είσοδοι, M= 4 έξοδοι) q q Η διάταξη "AND" είναι ένας αποκωδικοποιητής µε 3 εισόδους και 8 εξόδους που υλοποιεί όλους τους ελαχιστόρους. Η προγραµµατιζόµενη διά- ταξη "OR χρησιµοποιεί µια κάθετη γραµµή για την αναπαράσταση όλων των εισόδων στην πύλη ΟR. Ένα x στην διάταξη, αντιστοιχεί στην προσάρτηση του ελαχιστόρου στο OR A B C A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 q Παράδειγµα: Για είσοδο (A 2,A 1,A 0 ) = 001, η έξοδος είναι F3 F2 F1 F0 (F 3,F 2,F 1,F 0 ) = 0011. q Τι είναι οι συναρτήσεις F 3, F 2, F 1 και F 0 σε σχέση µε τους όρους (A 2, A 1, A 0 ); ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.12 Θεοχαρίδης, ΗΜΥ, 2016
ROM Παράδειγµα (συν.) 3 2 1 0 0 1 1 1 1 2 1 3 4 1 1 5 1 6 1 1 1 7 2 3 x 4 bits A B C A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 F 0 = Σm(1, 5, 7) F 1 = Σm(1, 4) F3 F2 F1 F0 F 2 = Σm(0, 7) F 3 = Σm(2, 5, 7) ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.13 Θεοχαρίδης, ΗΜΥ, 2016
ROM -- Παράδειγµα (συν.) q Δεδοµένης µιας ROM µεγέθους 2 n xm, µπορούµε να υλοποιήσουµε οποιοδήποτε κύκλωµα µε n εισόδους και Μ εξόδους. q Υλοποιήστε το κύκλωµα για τις πιο κάτω συναρτήσεις, βάση της διπλανής PROM: A B C A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 q F 0 (a,b,c) = abc+ab c +a bc = a c+a bc F 1 (a,b,c) = a b c+ab c =b (a c) F 2 (a,b,c) = a b c +abc = OR ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.14 Θεοχαρίδης, ΗΜΥ, 2016 F3 F2 F1 F0
Προγραµµατιζόµενη Λογική Πίνακα (Programmable Array Logic -- PAL) q Το αντίθετο του ROM, µία προγραµµατιζόµενη διάταξη από ANDs συνδυασµένη µε αµετάβλητα ORs. q Μειονέκτηµα: Το ROM εγγυείται την υλοποίηση οποιωνδήποτε M συναρτήσεων µε N εισόδους. Το PAL είναι περιοριστικό, αφού έχει συγκεκριµένο αριθµό εισόδων στις πύλες OR. q Πλεονεκτήµατα: Για δεδοµένη εσωτερική πολυπλοκότητα, ένα PAL µπορεί να έχει µεγαλύτερα N και M Κάποια PALs έχουν εξόδους που µπορούν να συµπληρωθούν, προσθέτοντας συναρτήσεις POS Δεν υπάρχουν υλοποιήσεις πολλαπλών επιπέδων στο ROM (χωρίς εξωτερικές ενώσεις από την έξοδο στην είσοδο). Το PAL έχει εξόδους από όρους OR ως εσωτερικούς εισόδους σε όλους τους όρους AND, κάνοντας την υλοποίηση κυκλωµάτων πολλαπλών επιπέδων εφικτή. ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.15 Θεοχαρίδης, ΗΜΥ, 2016
PAL -- Παράδειγµα AND gates inputs 0 1 2 3 4 5 6 7 8 9 PAL µε 4-εισόδους, 4-εξόδους και µε αµετάβλητους όρους OR 3-εισόδων I 1 A Product term 1 2 3 4 5 F 1 F 2 Ποιες είναι οι εξισώσεις από το F1 µέχρι το F4; I 2 B 6 7 8 F 3 F1 = A B + C F2 = A BC + AC + AB F3 = F4 = I 3 C I 4 D I 4 9 10 11 12 F 4 0 1 2 3 4 5 6 7 8 9 ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.16 Θεοχαρίδης, ΗΜΥ, 2016
Προγραµµατιζόµενος Λογικός Πίνακας (Programmable Logic Array -- PLA) q Συγκριτικά µε ROM και PAL, το PLA είναι το πιο ευέλικτο, αφού έχει µια προγραµµατιζόµενη διάταξη από ANDs συνδυασµένη µε µία προγραµµατιζόµενη διάταξη από ORs. q Πλεονεκτήµατα: Ένα PLA µπορεί να έχει µεγάλο N και M και έτσι επιτρέπει την υλοποίηση εξισώσεων που είναι µη-πρακτικές για ένα ROM Ένα PLA επιτρέπει σε όλους τους όρους γινοµένου να µπορούν να ενωθούν µε όλες τις εξόδους, ξεπερνώντας έτσι το πρόβληµα των λιγοστών εισόδων στα PAL ORs Κάποια PLAs έχουν εξόδους που µπορούµε να πάρουµε το συµπλήρωµα τους, προσθέτοντας έτσι συναρτήσεις POS q Μειονεκτήµατα: Συχνά, ο αριθµός όρων γινοµένου µειώνει την εφαρµογή ενός PLA. Η βελτιστοποίηση 2-επιπέδων κυκλωµάτων µε πολλαπλές εξόδους µειώνει τον αριθµό των όρων γινοµένων σε µια υλοποίηση, βοηθώντας έτσι την προσαρµογή του σε ένα PLA. ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.17 Θεοχαρίδης, ΗΜΥ, 2016
PLA -- Παράδειγµα A B Ποιες είναι οι εξισώσεις για το F1 και F2; Μπορεί το PLA να υλοποιήσει τις συναρτήσεις χωρίς τις OR πύλες; C 1 A B 2 3 B C A C Fuse intact Fuse blown PLA 3-εισόδων, 3-εξόδων µε µε 4 όρους γινοµένου 4 C C B B A A 0 1 A B F 1 F 2 ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.18 Θεοχαρίδης, ΗΜΥ, 2016
Αναδιατασσόµενη Λογική ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.19 Θεοχαρίδης, ΗΜΥ, 2016
Field-Programmable Gate Arrays ΗΜΥ210 Δ17 Αναδιατασσόµενη Λογική.20 Θεοχαρίδης, ΗΜΥ, 2016