ΕΝΟΤΗΤΑ 12Η ΔΙΑΤΑΞΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗΣ ΛΟΓΙΚΗΣ: CPLDs ΚΑΙ FPGAs Τμήμα Πληροφορικής και Επικοινωνιών, «Ενίσχυση Σπουδών Πληροφορικής», ΕΠΕΑΕΚ ΙΙ Ιωάννη Καλόμοιρου, Προηγμένα Ψηφιακά Συστήματα ΕΝΟΤΗΤΑ 12Η ΔΙΑΤΑΞΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗΣ ΛΟΓΙΚΗΣ: CPLDs ΚΑΙ FPGAs PLA-SPLD Σύνθετες προγραμματιζόμενες διατάξεις (CPLD) FPGAs – Λογικά στοιχεία, Look-up Tables. Προγραμματιζόμενος πίνακας διασυνδέσεων Αναπτυξιακά κυκλώματα FPGAs.
CPLDs ΚΑΙ FPGAs Ας θυμηθούμε τα απλά PLDs: Programmable Logic Arrays: H πρώτη μορφή PLD
Βασική δομή PLA: Θυμίζουμε τη βασική δομή που υλοποιεί ένα PLA: Είναι ένας προγραμ-ματιζόμενος πίνακας AND-OR που μπορεί να υλοποιήσει συναρτήσεις, που μπορούν να γραφούν ως αθροίσματα γινομένων. Έτσι, η διάταξη της επόμενης διαφάνειας μπορεί να υλοποιήσει τέσσερις συναρτήσεις που περιέχουν μέχρι πέντε όρους αθροισμάτων των τεσσάρων μεταβλητών εισόδου ο καθένας. O προγραμματισμός του PLD μπορεί να γίνει με τεχνολογία όπως αυτή των μνημών ROM (τηκόμενες ενώσεις-fuses).
Τι είναι το απλό PLD (SPLD) Βασική βαθμίδα ενός PLD είναι ο πίνακας προγραμματιζόμενης Λογικής. Ο διπλανός πίνακας AND-OR μπορεί να υλοποιήσει τέσσερις συναρτήσεις με πέντε όρους γινομένων η κάθε μία.
COMPLEX PLDs (CPLDs) Ένα CPLD είναι μια σύνθετη προγραμματιζόμενη λογική διάταξη, που αποτελεί μια συλλογή από απλά PLDs πάνω σε ένα μοναδικό chip. Συνοδεύεται από μια δομή προγραμματιζόμενων διασυνδέσεων και από έναν αριθμό κυκλωμάτων εισόδου/εξόδου. Οι προγραμματιζόμενοι πίνακες ΑND και οι σταθεροί πίνακες OR αποτελούν βασικό μέρος της λειτουργικής βαθμίδας (Function Block).
Βασική αρχιτεκτονική ενός CPLD Ακροδέκτες Ι/Ο, κυκλώματα Ι/Ο, προγραμματιζόμενος πίνακας διασυνδέσεων, Λειτουργικές βαθμίδες.
Τομή λειτουργικής βαθμίδας CPLD
Αρχιτεκτονική της μακροκυψέλης (macrocell) ενός CPLD
Συσκευασία και προγραμματισμός CPLD
FPGAs - Field Programmable Gate Arrays Πίνακες Πυλών Προγραμματιζόμενοι στο πεδίο Στα FPGAs η λογική κατά-κερματίζεται σε μικρά λογικά μπλοκ που διασπείρονται σε όλη την έκταση του ολοκληρωμένου, μέσα σε μια θάλασσα από προγραμ-ματιζόμενες διασυνδέσεις. Όλος ο πίνακας περιβάλλεται από προγραμματιζόμενα κυκλώματα εισόδου (I/O blocks).
Γενική δομή διάταξης FPGA Τα λευκά τετράγωνα είναι οι στοιχειώδεις βαθμίδες λογικής ή λογικά στοιχεία. Τα μπλέ τετράγωνα αποτελούν τον προγραμματιζόμενο πίνακα διασυνδέσεων (Switch matrix). Μια μεγέθυνση αυτής της δομής φαίνεται στην επόμενη διαφάνεια.
Λογικά στοιχεία, πίνακας διασυνδέσεων
Το FPGA FLEX10K ALTERA Οργάνωση των λογικών στοιχείων σε Logic Array Blocks. Ενσωματωμένα στοιχεία (ΕΑΒ).
ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ (LOGIC ELEMENT) Είναι η βασική μoνάδα λογικής σε FPGAs της εταιρίας Altera. H λογική που εκτελεί ένα λογικό στοιχείο βρίσκεται αποθηκευμένη σε Look-up Table, που υλοποιείται με SRAM. Έτσι, ο προγραμματισμός των FPGAs διαφέρει από αυτόν των CPLDs αφού στηρίζεται σε μνήμες SRAM και όχι σε τηκόμενες συνδέσεις.
Configurable Logic Block (CBL) – Διαμορφούμενη Λογική βαθμίδα: Είναι το αντίστοιχο του “λογικού στοιχείου” σε διατάξεις FPGA της εταιρίας Xilinx. Στη βιβλιογραφία αναφέρεται και ως “slice”.
Δομή του πίνακα αναφοράς (LUT) με στοιχεία μνήμης SRAM.
Προγραμματιζόμενος πίνακας διασυνδέσεων ελεγχόμενος από κύτταρα στατικής μνήμης
Τεχνικά χαρακτηριστικά της σειράς STRATIX της εταιρίας ALTERA
Αναπτυξιακό Κύκλωμα LP2900 Στηρίζεται στο FPGA FLEX10K της Altera. Έχει έναν αριθμό από περιφε-ρειακά, όπως διακόπτες εισόδου (SW1-SW8), Leds εξόδου (L1-L12) κ. ά.
Ένα εκπαιδευτικό αναπτυξιακό κύκλωμα: Το DE2 της Altera
Cyclone II Development board (DSP)
STRATIX II – PCI EXPRESS
Στοιχεία τεχνολογίας ολοκληρωμένων κυκλωμάτων-Η θέση των κυκλωμάτων προγραμματιζόμενης λογικής
Σχέση της προγραμματιζόμενης λογικής με άλλους τύπους σχεδίασης ψηφιακών συστημάτων