10 Εό Ενότητα ΔΙΑΤΑΞΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗΣ ΛΟΓΙΚΗΣ (PLA, PAL, ΜΝΗΜΕΣ ROM)
Γενικές Γραμμές PLA PAL Μνήμες ROM Βλέπε: Βιβλίο Wakerly Παράγραφοι 5.3.1, 5.3.2, 10.1, 10.1.1, 10.1.4 Βιβλίο Mano Παράγραφοι 7.5, 7.6, 7.7
Διατάξεις Προγραμματιζόμενης Λογικής Programmable Logic Devices (PLDs) LSI συνδυαστικά κυκλώματα που περιέχουν παρατάξεις (arrays) πυλών AND και παρατάξεις πυλών OR, που συνδέονται μέσω προγραμματιζόμενων ηλεκτρονικών συνδέσμων η υλοποίηση μίας συγκεκριμένης λογικής συνάρτησης σε μορφή αθροίσματος γινομένων επιτυγχάνεται με κατάλληλο προγραμματισμό των συνδέσμων, ώστε να υπάρχει ή να μην υπάρχει σύνδεση το κύκλωμα προγραμματίζεται από τον κατασκευαστή (με δημιουργία κατάλληλης μάσκας) από τον σχεδιαστή (με εργαλεία λογισμικού - Field PLD) η επαναπρογραμματιζόμενη διάταξη μπορεί να επαναπρογραμματισθεί περισσότερες από μία φορές (erasable) Παρέχουν πιο οικονομικές σχεδιάσεις (αντικαθιστώντας πολλά SSI/MSI κυκλώματα) ) και ευελιξία στην αλλαγή της αρχικής σχεδίασης Σήμερα υπάρχουν διαθέσιμες σύνθετες διατάξεις προγραμματιζόμενης λογικής, όπως CPLDs (Comple PLDs) και FPGAs.
Προγραμματιζόμενη Λογική Παράταξη Programmable Logic Array (PLA) I 0 I 1. AND array P 0 P 1 I n-1 P k-1.... OR array. O 0 O 1 O m-1 k AND πύλες των 2n εισόδων morπύλες των k εισόδων n m PLA με k όρους γινομένων k < < 2 n ελαχιστόροι Signetics 82S100 : 16 8 PLA με 48 όρους γινομένων
Προγραμματιζόμενη Λογική Παράταξη 3 2 PLA με 4 όρους γινομένων I 0 I 1 I 2 πριν τον προγραμματισμό Ο 0 =0 Ο 1 = 0 Συνδέσεις παντού P 0 P 1 P 2 P 3 O 0 O 1 Με τον προγραμματισμό αφαιρούνται οι ανεπιθύμητες συνδέσεις
I 0 I 1 I 2 Προγραμματιζόμενη Λογική Παράταξη 3 2 PLA με 4 όρους γινομένων 1 1 1 11111 11 111 1111 1 μετά τον προγραμματισμό Ο 0 = Ι 0 Ι 1 Ι 2 Ο 1 = Ι 0 +Ι 1 +Ι 2 P 0 =Ι 0 Ι 1 Ι 2 P 1 =Ι 0 P 2 =Ι 1 P 3 =Ι 2 0 0 O 0 0 O 1
Προγραμματιζόμενη Παράταξη Λογικής Programmable Array Logic (PΑL) I 0 P 0,0 P I 1 AND I n. array P 0,k0-1. P m,0 P m,km-1 OR array k=k0+k1+..+km. 1 I/O O 0 O m k AND πύλες των 2(n+1) εισόδων m OR πύλες των k0, k1,.., km σταθερών εισόδων, αντίστοιχα υπάρχουν έξοδοι που χρησιμοποιούνται σαν είσοδοι (Ι/Ο) PAL16L8 : 16 8 PΑL με 64 AND-32, 8 ΟR-7, 8 tri-state buffers και 6 Ι/Ο
Προγραμματιζόμενη Παράταξη Λογικής 32PΑL με 2+2 όρους γινομένων και 1 Ι/Ο I 0 πριν τον I 1 προγραμματισμό Ο I 0 = 0 2 Ο 1 = 0 O 1 P 0 P 1 P 2 P 3 O 0
I 0 Προγραμματιζόμενη Παράταξη Λογικής 32PΑL με 2+2 όρους γινομένων και 1 Ι/Ο 1 11111 111 111 11 1 111 1111 11 1 μετά τον I 1 προγραμματισμό I Ο 0 = Ι 0 Ι 1 +Ι 0 Ι 2 2 Ο 1 = Ι 0 Ι 1 +Ι 0 Ι 2 +Ι 1 Ι 2 P 0 =ΙΙ 0 Ι 1 P 1 =ΙΙ 0 Ι 2 P 2 =ΙΙ 1 Ι 2 P 3 =ΟΟ 0 O 1 O 0
Διαφορές μεταξύ PLA και PAL Στις PLA προγραμματίζονται οι σύνδεσμοι που βρίσκονται στις εισόδους του AND array και στις εισόδους του OR array. Στις PAL προγραμματίζονται μόνο οι σύνδεσμοι που βρίσκονται στις εισόδους του AND array. (Η PAL έχει ένα σταθερό μη προγραμματιζόμενο μ OR array). Στις PLA κάθε έξοδος πύλης AND μπορεί να είναι είσοδος σε μία ή περισσότερες πύλες OR. (Οι πύλες OR μοιράζονται κοινούς όρους γινομένων). Στις PAL κάθε έξοδος πύλης AND είναι είσοδος σε μία μόνο συγκεκριμένη πύλη OR. (Οι πύλες OR δεν μοιράζονται κοινούς όρους γινομένων). Η PAL έχει μικρότερη ρη καθυστέρηση η διάδοσης από την PLA. Μόνο στις PAL. Κάποιες από τις εξόδους μπορούν να χρησιμοποιηθούν και σαν είσοδοι. (Αυτό ό γίνεται όταν ο αριθμός των εισόδων των πυλών OR δεν επαρκεί για να υλοποιηθεί η συνάρτηση)
Μνήμη Ανάγνωσης Μόνο Read Only Memory (ROM) Υλοποίηση Λογικών Συναρτήσεων A A0 A 1 A n-1 decoder memory.array n-σε-2 n. D 0 D 1 D m-1 address 2 n m ROM data κάθε διεύθυνση αντιστοιχεί σε ένα ελαχιστόρο και σε μία λέξη με προγραμματισμό των συνδέσμων στην παράταξη μνήμης (memory array) υλοποιείται κάθε λογική συνάρτηση με n μεταβλητές και m εξόδους
Μνήμη Ανάγνωσης Μόνο Read Only Memory (ROM) Αριθμητικό Κύκλωμα Υπολογισμού Τετραγώνου 0 1 2 3 4 5 6 7 είσοδοι A 2 A 1 A 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 έξοδοι B 5 B 4 B 3 B 2 B 1 B 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 0 0 1 Β 0 = A 0 Β 1 =0 0 1 4 9 16 25 36 49
Μνήμη Ανάγνωσης Μόνο Read Only Memory (ROM) Αριθμητικό Κύκλωμα Υπολογισμού Τετραγώνου 0 0 0 0 0 0 0 0 0 0 0 1 Α 0 decoder 0 0 1 0 Α 1 3-σε-8 0 1 0 0 Α 2 0 1 1 0 1 0 0 1 1 1 0 0 8 4 ROM 0 Β 5 Β 4 Β 3 Β 2 Β 1 Β 0
Διάφοροι Τύποι ROM ROM με προγραμματισμό μάσκας (mask-programmable) ROM που προγραμματίζεται από τον χρήστη μία φορά (programmable-rom, PROM) με χρήση κατάλληλων λ λογισμικών και ενός PROM programmer ROM που προγραμματίζεται από τον χρήστη πολλές φορές με χρήση υπεριώδους ακτινοβολίας (erasable programmable-rom, EPROM) ROM που προγραμματίζεται από τον χρήστη πολλές φορές με χρήση ηλεκτρισμού (electrically erasable programmable ROM, EEPROM) Flash memories : Μεγάλες EEPROM (> 1 Gbit) που επιτρέπουν μόνο προγραμματισμό ομάδας ψηφίων σταθερού μεγέθους (128-512 Κbits) Που χρησιμοποιούνται ; αποθήκευση προγραμμάτων για μps DSPs FPGAs αποθήκευση προγραμμάτων για μps, DSPs, FPGAs δημιουργία μονάδας ελέγχου υλοποίηση λογισμικού σε υλικό