300 likes | 451 Views
Εφαρμογές Ψηφιακών Ηλεκτρονικων. Programming Logic Devices (PLDs) (Συσκευές Προγραμματιζόμενης Λογικής). Προγραμματιζόμενες Διατάξεις. Μνήμη Μόνο Ανάγνωσης (ROM) – ένας σταθερός αριθμός από πύλες AND και μια προγραμματιζόμενη διάταξη πυλών OR .
E N D
Εφαρμογές Ψηφιακών Ηλεκτρονικων Programming Logic Devices (PLDs) (Συσκευές Προγραμματιζόμενης Λογικής)
Προγραμματιζόμενες Διατάξεις • Μνήμη Μόνο Ανάγνωσης (ROM)– ένας σταθερός αριθμός από πύλες AND και μια προγραμματιζόμενη διάταξη πυλών OR. • Προγραμματιζόμενη Λογική Πίνακα (PAL)Ò– μια προγραμματιζόμενη διάταξη από πύλες AND που τροφοδοτούν μια σταθερή διάταξη πυλών OR. • Προγραμματιζόμενος Λογικός Πίνακας (PLA)- μια προγραμματιζόμενη διάταξη από πύλες AND που τροφοδοτούν μια προγραμματιζόμενη διάταξη πυλών OR. • Σύνθετη Προγραμματιζόμενη Λογική Διάταξη (CPLD) /Προγραμματιζόμενος Πίνακας Πεδίου Πύλης(FPGA) –πιο πολύπλοκες δομές – βλέπε παράρτημα του βιβλίου για προγραμματιζόμενες λογικές διατάξεις VLSI
Μια PLD σαν "Μαυρο κουτι" Λογικες πυλες και Εισοδοι Εξοδοι προγραμματιζομενοι (Λογικες Μεταβλητες) διακοπτες (Λογικες Συναρτησεις)
Γενική δομή μιας Παράταξης προγραμματιζόμενης λογικής (Programmable Logic Array – PLA) x x x 1 2 n Απομονωτες (Βuffers) και Αντιστροφεις x x x x 1 n 1 n P 1 συστοιχια OR συστοιχια AND P k f f 1 m
Διάγραμμα πυλών μιας PLA x x x 1 2 3 Προγραμματιζομενες Συνδεσεις Συστοιχία ΟR P 1 P 2 P 3 P 4 Συστοιχία ΑΝD x1x2+x1x3'+x1'x2'x3= f1 f2=x1x2+x1'x2'x3+x1x3
Συνηθισμένο σχηματικό διάγραμμα PLA x x x 1 2 3 Επίπεδο OR P 1 P 2 P 3 P 4 Επίπεδο AND f f 1 2 f1=x1x2+x1x3'+x1'x2'x3 f2=x1x2+x1'x2'x3+x1x3
Παράδειγμα μιας PAL (Programmable Array Logic) x x x 1 2 3 P 1 f 1 P 2 P 3 f 2 P 4 Επίπεδο AND f1=x1x2x3'+x1'x2x3 f2=x1'x2' +x1x2x3
Συσκευή προγραμματισμού PLD A PLD programming unit
Δομή Διάταξης Πολύπλοκης Προγραμματιζόμενης Λογικής (CPLD) I/O block I/O block Αγωγοί διασύνδεσης I/O block I/O block Υποσύστημα τυπου PAL Υποσύστημα τυπου PAL Υποσύστημα τυπου PAL Υποσύστημα τυπου PAL Complex Programmable Λogic Device - CPLD
Τμήμα μιας CPLD Υποσύστημα τύπου PAL D Q D Q D Q Υποσύστημα τυπου PAL
Συσκευασία και προγραμματισμός CPLD CPLD σε συσκευασία QFP (quad flat pack) Προς υπολογιστή Τυπωμένο κυκλωμα JTAG (Joint Test Action Group) προγραμματισμός
AlteraThe Programmable Solutions Company Programmable Logic Devices Intellectual Property Development Software
Programmable Logic Device Families Logic Standard Logic ASIC CPLDs Source: Dataquest Programmable Logic Devices (PLDs) Gate Arrays Cell-Based ICs Full Custom ICs Common Resources Configurable Logic Blocks (CLB) • Memory Look-Up Table • AND-OR planes • Simple gates Input / Output Blocks (IOB) • Bidirectional, latches, inverters, pullup/pulldowns Interconnect or Routing • Local, internal feedback, and global SPLDs (PALs) FPGAs Acronyms SPLD = Simple Prog. Logic Device PAL = Prog. Array of Logic CPLD = Complex PLD FPGA = Field Prog. Gate Array
CPLDs and FPGAs CPLD FPGA Complex Programmable Logic Device Field-Programmable Gate Array Architecture PAL/22V10-like Gate array-like More Combinational More Registers + RAM Density Low-to-medium Medium-to-high 0.5-10K logic gates 1K to 500K system gates Performance Predictable timing Application dependent Up to 200 MHz today Up to 135MHz today Interconnect “Crossbar” Incremental
ALTERA CPLDS • Altera generic architecture • Hierarchical PLD structure • First level: LABs (Functional blocks); LAB is similar to SPLDs • Second Level: Interconnections among LABs • LAB consists of • Product term array • Product term distribution • Macro-cells • Expander product terms • Interconnection region: PIA • EPROM/EEPROM based • Example: MAX5K, MAX7K
MAX 5000 • MAX5K Macrocell • Three wide AND gate feed an OR gate (Sum of products) • XOR gate may be used in arithmetic operations or in polarity selection • One flipflop per macrocell; Outputs may be registered • Flipflop preset and clear are via product terms; Clock may be either system clock or internally generated • Output may be driven out or fedback • Feedback is both local and global; Local feedback is within macrocell and is quicker
MAX 5000 • MAX5000 Expander Product Term • Number of product terms to macrocell limited • Wider functions implemented via expander product terms • Foldback NAND structure • Inputs are from PIA, expander product term and macrocell feedback • Outputs of expander product term are sent to other macrocell and to itself
Δομη μιας FPGA (Field Programmable Gate Array) Λογικο block Διακοπτες διασυνδεσης I/O block I/O block I/O block block Εισοδου/ Εξοδου
Παράδειγμα λογικού blockLook-up Table (LUT) x 1 x x f 1 2 00 01 10 11 1 0 1 0/1 0 0 1 0 0 1 0 0/1 f 1 1 0 0 0 1 0/1 1 1 1 0/1 (b) f = x x + x x 2 1 1 1 2 x 2 x 1 0 1 1 0 f 1 x 0 1 x 2 x Look-up Table δυο μεταβλητων
Ένα LUT τριών μεταβλητών x x 1 2 0/1 0/1 0/1 0/1 f 0/1 0/1 0/1 0/1 x 3 0 1 0 1 0 1
Ένα τμήμα μιας προγραμματισμένης FPGA f1= x1x2 f2=x2'x3 f= f1+f2 Figure 3.39 A section of a programmed FPGA
Custom Chips, Standard Cells, Gate Arrays f1=x1x2+x1x3'+x1'x2'x3 f2=x1x2+x1'x2'x3+x1x3 Ένα τμημα με δυο σειρες πυλων σε ένα standard cell chip
Υλοποίηση λογικής συνάρτησης σε συστοιχία πυλών τύπου "sea-of-gates" f1=x2x3'+x1x3
Προγραμματιζόμενη PLA τύπου NOR-NOR (γινόμενα αθροισμάτων) x x x x 1 2 3 4 Συστοιχια NOR V DD V DD S 1 S 2 S 3 S 4 S 5 S 6 Συστοιχια NOR f f 1 2 f1=(x1+x3)(x1+x2')(x1'+x2+x3') f2=(x1+x2')(x1+x3')(x1'+x2)
PLA τύπου NOR-NOR για υλοποίηση σε μορφή «άθροισμα γινομένων» x x x x 1 2 3 4 NOR plane V DD V DD P 1 P 2 P 3 P 4 P 5 P 6 NOR plane f f 1 2 f1=x1x2+x1x3'+x1'x2'x3 f2=x1x2+x1'x2'x3'
PAL τύπου NOR Υλοποίηση σε «άθροισμα γινομένων» x x x x 1 2 3 4 V DD P 1 P 2 f 1 P 3 P 4 P 5 f 2 P 6 f1=x1x2+x1x3'+x1'x2'x3 f2=x1x2+x1'x2'x3'+x1'x1 Συστοιχια NOR
H δομη μιας ROM 2mxn Sel 0 0/1 0/1 0/1 Sel 1 0/1 0/1 0/1 Sel a 2 0 0/1 0/1 0/1 decoder a 1 Address m -to-2 a m – 1 m Sel m 2 – 1 0/1 0/1 0/1 Read d d d Data n – 1 n – 2 0