SlideShare a Scribd company logo
Three FPLD Types
• Simple Programmable Logic Device (SPLD)
  – LSI device
  – Less than 1000 logic gates
• Complex Programmable Logic Device (CPLD)
  – VLSI device
  – Higher logic capacity than SPLDs
• Field Programmable Gate Array (FPGA)
  – VLSI device
  – Higher logic capacity than CPLDs

                                                      Programmable
                                                      Logic Devices
                                                         (FPLDs)




                                          SPLDs          CPLDs            FPGAs
                                       (e.g., PALs)


                                                                      1
Three FPLD Types
• Simple Programmable Logic Device (SPLD)
  – PLA or PAL
  – Fixed internal routing, deterministic propagation delays
• Complex Programmable Logic Device (CPLD)
  – Multiple SPLDs onto a single chip
  – Programmable interconnect
• Field Programmable Gate Array (FPGA)
  – An array of logic blocks
  – Large number of gates, user selectable interconnection,
    delays depending on design and routing
                                                        Programmable
  – A high ratio of flip-flops to logic resources       Logic Devices
                                                           (FPLDs)




                                            SPLDs          CPLDs            FPGAs
                                         (e.g., PALs)


                                                                        2
SPLDs
• SPLDs = Simple PLDs
• Popular SPLD Architecture Types
  – Programmable Logic Array, PLA
  – Programmable Array Logic, PAL (Vantis)
  – General Array Logic, GAL (Lattice)
  – others
• Architecture Differences
  – AND versus OR implementation
  – Programmability (e.g., EE)
  – Fundamental logic block                       Programmable
                                                  Logic Devices
                                                     (FPLDs)




                                      SPLDs          CPLDs            FPGAs
                                   (e.g., PALs)


                                                                  3
SPLDs
                                   • We have already taken a close
                                     look at SPLDs
                                   • A PLA-like SPLD is illustrated
                                     at left
                                     – PAL and GAL devices offered a
                Logic Functions
                                       somewhat better solution
                                   • SPLDs are good alternative to
                   Sums
                                     using SSI and MSI devices
                                     – Especially if re-programmable

                                                             Programmable
                                                             Logic Devices
                                                                (FPLDs)

Product Terms

                                                 SPLDs          CPLDs            FPGAs
                                              (e.g., PALs)


                                                                             4
SPLDs
• Conventional programmable logic
  – PALs, PLAs, GALs
  – standard parts like GAL22V10 and PAL16R4 are available from
    multiple vendors
• Includes programmable logic cells to a limited degree
  (programming options in I/O cells, may have fixed
  AND/OR gates for logic), limited routing network
• Lowest density of all programmable devices, however,
  can offer very high performance
• SPLDs have nearly replaced
  TTL logic which was the                               Programmable
                                                        Logic Devices

  dominate approach to logic                               (FPLDs)



  implementation                        SPLDs              CPLDs            FPGAs
                                         (e.g., PALs)


                                                                        5
How to Expand SPLD Architecture?
• Increase number of inputs and outputs in a
  conventional PLD?
  – e.g., 16V8 → 20V8 → 22V10
  – Why not → 32V16 → 128V64 ?
• Problems:
  – n times the number of inputs and outputs requires n2 as
    much chip area – too costly
  – logic gets slower as number of inputs to AND array
    increases

                                                       Programmable
                                                       Logic Devices
                                                          (FPLDs)




                                           SPLDs          CPLDs            FPGAs
                                        (e.g., PALs)


                                                                       6
How to Expand SPLD Architecture?
• Solution:
  – Multiple SPLDs with a relatively small programmable
    interconnect
  – Less general than a single large PLD
  – Can use software “fitter” to partition into smaller PLD blocks




                                                        Programmable
                                                        Logic Devices
                                                           (FPLDs)



      CPLD Architecture
                                            SPLDs          CPLDs            FPGAs
                                         (e.g., PALs)


                                                                        7
CPLDs
• PALs and GALs are available only in small sizes
  – equivalent to a few hundred logic gates
• For bigger logic circuits, complex PLDs or CPLDs can
  be used.
• CPLDs contain the equivalent of several PALs/GALs
  – linked by programmable interconnections
  – all in one integrated circuit (IC)
• CPLDs can replace thousands, or even hundreds of
  thousands, of individual logic gates
  – increased integration density

                                                             Programmable
                                                             Logic Devices
                                                                (FPLDs)




                                                 SPLDs          CPLDs            FPGAs
                                              (e.g., PALs)


                                                                             8
Complex PLDs
• Some CPLDs are programmed using a PAL
  programmer, but this method becomes inconvenient
  for devices with hundreds of pins.
• A second method of programming is to solder the
  device to its printed circuit board, then feed it with a
  serial data stream from a personal computer.
• The CPLD contains a circuit that decodes the data
  stream and configures the CPLD to perform its
  specified logic function.

                                                       Programmable
                                                       Logic Devices
                                                          (FPLDs)




                                           SPLDs          CPLDs            FPGAs
                                        (e.g., PALs)


                                                                       9
Complex PLDs versus FPGAs
• Xilinx, for example:
• Xilinx CPLD devices that are cheaper and have fewer
  gates than Xilinx FPGAs
• Meant for interfacing rather than heavy computation
• Built-in flash memory
  – Compare to FPGA which needs external configuration
    memory
• Xess board has XC9572XL part
  – Approximately $2-$7 in quantities of one
  – vs. ~$15-20 for the Spartan2 FPGA on the board
  – Larger quantities much lower
  – 1600 gates, 72 registers
                                                     Programmable
                                                     Logic Devices
                                                        (FPLDs)




                                         SPLDs          CPLDs             FPGAs
                                      (e.g., PALs)


                                                                     10
CPLD Architecture
• Simplified CPLD
  architecture
• Small number of largish
  PLDs (e.g., “36V18”) on a
  single chip
• Programmable
  interconnect between
  PLDs
• Large number of I/O
  blocks
• Large number of pins



                                  11
CPLDs
• Composition of Complex PLDs
  – typically composed of 2-64 SPLDs
  – interconnected using sophisticated logic
  – includes macrocells (more about these later)
  – includes input/output blocks
• Economical for designing large systems
• Fast – switching speed



                                                      Programmable
                                                      Logic Devices
                                                         (FPLDs)




                                          SPLDs          CPLDs             FPGAs
                                       (e.g., PALs)


                                                                      12
CPLDs
• Complex PLD's have arrays of PLD's on one chip, with
  an interconnection matrix connecting them.
• Timing performance can be more predictable than
  FPGAs because of simpler interconnect structure.
• Density is normally less than most FPGAs (although
  high end CPLDs will have about the same density as
  low-end FPGAs).
• Performance of CPLDs is
  usually better than FPGAs,
  but depends on vendor,
  number of cells in CPLD, and                    Programmable
                                                  Logic Devices
                                                     (FPLDs)

  compared FPGA.
                                      SPLDs          CPLDs             FPGAs
                                   (e.g., PALs)


                                                                  13
CPLD Families
• Identical individual PLD blocks (Xilinx “FBs”) replicated
  in different family members
  – Different number of PLD blocks
  – Different number of I/O pins




                                                 Xilinx
                                                 XC9500
                                                 CPLD
                                                 Series



                                                         14
Typical CPLD Packages
• CPLDs are made using 2 to 64 SPLDs
• Packages use 44-pins to over 200-pins (or more)




                                                    15
Typical CPLD Packages
• QFP = Quad Flat Package
– A QFP is an IC package with leads extending from each of
  the four sides.
– It is used primarily for surface mounting, no socketing
• TQFP = Thin Quad Flat Package
• PQFP = Plastic Quad Flat Package
• VQFP = Very small Quad Flat Package

• PLCC = Plastic Leaded Chip Carrier
– A package related to QFP
– Similar but has pins with larger distance, curved up
  underneath a thicker body to simplify socketing

                                                         16
CPLD Package Types
• CSP = Chip Scale Package
  – IC package with an area no greater than 1.2 times that
    of the die


• BGA = Ball Grid Array
  – A type of surface-mount packaging used for ICs
  – Pins are replaced by balls of solder stuck to the bottom
    of the package
  – The device is placed on a PCB that carries copper pads
    in a pattern that matches the solder balls
  – The assembly is then heated causing the solder balls to
    melt


                                                             17
CPLD Families
• Many CPLDs have fewer
  I/O pins than macrocells
  – “Buried” Macrocells – provide
    needed logic terms internally
    but these outputs are not
    connected externally
  – IC package size dictates
    number of I/O pins but not
    the total number of
    macrocells
  – Typical CPLD families have devices with differing
    resources in the same IC package




                                                        18
Xilinx CPLDs
• Notice overlap in resource availability in a particular
  package.




                                                            19
XC9572 CPLD Part Numbers
• The part number for Xilinx CPLD devices includes
  information as follows:




                                                     20
XC9500 CPLD Block Diagram
• The XC9500 CPLD
  family provides
  advanced in-system
  programming and test
  capabilities for high
  performance, general
  purpose logic
  integration.
• All devices are in-
  system programmable
  for a minimum of
  10,000 program/erase
  cycles.

                                 21
9500-Family Function Blocks (FBs)
• 18 macrocells per FB
• 36 inputs per FB (partitioning challenge, but also
  reason for relatively compact size of FBs)
• Macrocell outputs can go to I/O cells or back into
  switch matrix to be routed to this or other FBs




                                                       22
9500-Series Macrocell
 • 18 macrocells per Function Block

                       Set control

        Programmable inversion
            or XOR product term


            Up to 5 product terms

Global clock or product-term clock


                    Reset control


                       OE control

                                        23
9500-Series Product-Term Allocator
  • Share terms from above and below


programmable
steering
elements




                                       24
XC9500 Family
• An I/O block is composed of
  input buffer, output buffer,
  multiplexer for the output
  control and grounding control
• Slew rate control is used to
  smooth the rising and the falling
  edges of the output pulse.
• Grounding control is used to
  make the input/output pin (I/O)
  an earth ground (noise
  suppression).
• Each input/output pin can handle a 24-mA current.




                                                      25
9500-Series I/O Block
• OE Multiplexer (OE
  MUX) controls an output
  enable or stop.
• It is controlled by the
  signal from the macrocell
  or the signal from the
  GTS (Global Three-State
  control) pin.
• There are four
  GTS in XC95216
  and XC95288
  two in the
  others.

                                   26
Switch Matrix for XC95108
• Could be anything from a limited set of multiplexers to
  a full crossbar
  – Multiplexer -- small, fast, but difficult fitting
  – Crossbar -- easy fitting but large and slow




                                                        27
Problems with CPLDs
• Pin locking
  – Small changes, and certainly large ones, can cause the
    fitter to pick a different allocation of I/O blocks and pinout
  – Locking too early may make the resulting circuit slower
    or not fit at all
• Running out of resources
  – Design may “blow up” if it doesn’t all fit on a single
    device
  – On-chip interconnect resources are much richer than off-
    chip
  – Larger devices are exponentially more expensive




                                                                28

More Related Content

PPT
CPLD & FPLD
PPT
PPT
PPT
PDF
Cpld fpga
PDF
FPGAs : An Overview
PPTX
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
PPTX
SoC FPGA Technology
CPLD & FPLD
Cpld fpga
FPGAs : An Overview
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
SoC FPGA Technology

What's hot (20)

PDF
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
PDF
FPGA In a Nutshell
PPT
Fpga technology
PPTX
Xilinx virtex 7 fpga - Semester Presentation
PDF
FPGA_Overview_Ibr_2014
PDF
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
PPTX
FPGA workshop
PPT
Fpga 03-cpld-and-fpga
PPTX
Implementation of Soft-core processor on FPGA (Final Presentation)
PDF
SoC~FPGA~ASIC~Embedded
PDF
Fpga asic technologies_flow
PDF
A review on virtex fpga family from xilinx
PPTX
Fpga in space
PDF
Fpga Device Selection
PDF
Programmable Devices En 01
PPTX
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
PPTX
Digital VLSI Design and FPGA Implementation
DOCX
Chapter 4
PPTX
FPGA TECHNOLOGY AND FAMILIES
PPTX
The comparison between FPGA , ARDUINO , ASIC
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
FPGA In a Nutshell
Fpga technology
Xilinx virtex 7 fpga - Semester Presentation
FPGA_Overview_Ibr_2014
TRACK F: OpenCL for ALTERA FPGAs, Accelerating performance and design product...
FPGA workshop
Fpga 03-cpld-and-fpga
Implementation of Soft-core processor on FPGA (Final Presentation)
SoC~FPGA~ASIC~Embedded
Fpga asic technologies_flow
A review on virtex fpga family from xilinx
Fpga in space
Fpga Device Selection
Programmable Devices En 01
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
Digital VLSI Design and FPGA Implementation
Chapter 4
FPGA TECHNOLOGY AND FAMILIES
The comparison between FPGA , ARDUINO , ASIC
Ad

Viewers also liked (16)

PPT
VHDL - Enumerated Types (Part 3)
PPT
Introduction to VHDL - Part 1
PPT
VHDL - Part 2
PPT
Synchronous design process
PPT
VHDL Part 4
PPT
Sequential Circuits - Flip Flops (Part 1)
PPT
State Machine Design and Synthesis
PPT
Designing Clocked Synchronous State Machine
PPT
Sequential Circuits - Flip Flops
PPT
MSI Shift Registers
PPT
Sequential Circuits - Flip Flops (Part 2)
PPT
Static and Dynamic Read/Write memories
PPT
PPTX
PPT
Analysis of state machines & Conversion of models
PPT
Analysis of state machines
VHDL - Enumerated Types (Part 3)
Introduction to VHDL - Part 1
VHDL - Part 2
Synchronous design process
VHDL Part 4
Sequential Circuits - Flip Flops (Part 1)
State Machine Design and Synthesis
Designing Clocked Synchronous State Machine
Sequential Circuits - Flip Flops
MSI Shift Registers
Sequential Circuits - Flip Flops (Part 2)
Static and Dynamic Read/Write memories
Analysis of state machines & Conversion of models
Analysis of state machines
Ad

Similar to FPLDs (20)

PDF
1.CPLD SPLD.pdf
PPTX
PPTX
Programmbale logic devices_44444441.pptx
PPTX
PLD's.pptx
PPTX
Programable logic devices (1)
PPT
Fundamentals of FPGA
PDF
Architecture of fpg as and cplds
PPT
Lecture syn 024.cpld-fpga
PPT
L12 programmable+logic+devices+(pld)
PPT
L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt
PPT
L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt
PPTX
module7.pptx
PPT
Programmable Logic Devices Plds
PPTX
Cpld and fpga mod vi
PPTX
PDF
Programmable Hardware - An Overview
PDF
Pld dp
PDF
Lecture 9.pdf kkksaas;;ACSKCS;A;KAKjmcfhcasc;c;k
PPTX
Asic vs fpga
PDF
1. FPGA architectures.pdf
1.CPLD SPLD.pdf
Programmbale logic devices_44444441.pptx
PLD's.pptx
Programable logic devices (1)
Fundamentals of FPGA
Architecture of fpg as and cplds
Lecture syn 024.cpld-fpga
L12 programmable+logic+devices+(pld)
L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt
L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt
module7.pptx
Programmable Logic Devices Plds
Cpld and fpga mod vi
Programmable Hardware - An Overview
Pld dp
Lecture 9.pdf kkksaas;;ACSKCS;A;KAKjmcfhcasc;c;k
Asic vs fpga
1. FPGA architectures.pdf

More from Abhilash Nair (11)

PPT
Feedback Sequential Circuits
PPT
Designing State Machine
PPT
Documentation Standards of an IC
PPT
Shift Registers
PPT
MSI Counters
PPT
EPROM, PROM & ROM
PPT
Counters
PPT
Trends Of Televisions
PPT
Core java slides
PPTX
Vectors in Java
PPTX
Arrays in Java
Feedback Sequential Circuits
Designing State Machine
Documentation Standards of an IC
Shift Registers
MSI Counters
EPROM, PROM & ROM
Counters
Trends Of Televisions
Core java slides
Vectors in Java
Arrays in Java

Recently uploaded (20)

PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PPTX
Lesson notes of climatology university.
PPTX
UNIT III MENTAL HEALTH NURSING ASSESSMENT
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
Classroom Observation Tools for Teachers
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
advance database management system book.pdf
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PPTX
Cell Types and Its function , kingdom of life
PDF
Empowerment Technology for Senior High School Guide
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Indian roads congress 037 - 2012 Flexible pavement
PPTX
Introduction to Building Materials
PPTX
Final Presentation General Medicine 03-08-2024.pptx
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
A powerpoint presentation on the Revised K-10 Science Shaping Paper
Chinmaya Tiranga quiz Grand Finale.pdf
Lesson notes of climatology university.
UNIT III MENTAL HEALTH NURSING ASSESSMENT
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Classroom Observation Tools for Teachers
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
advance database management system book.pdf
Paper A Mock Exam 9_ Attempt review.pdf.
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
Cell Types and Its function , kingdom of life
Empowerment Technology for Senior High School Guide
Final Presentation General Medicine 03-08-2024.pptx
Indian roads congress 037 - 2012 Flexible pavement
Introduction to Building Materials
Final Presentation General Medicine 03-08-2024.pptx

FPLDs

  • 1. Three FPLD Types • Simple Programmable Logic Device (SPLD) – LSI device – Less than 1000 logic gates • Complex Programmable Logic Device (CPLD) – VLSI device – Higher logic capacity than SPLDs • Field Programmable Gate Array (FPGA) – VLSI device – Higher logic capacity than CPLDs Programmable Logic Devices (FPLDs) SPLDs CPLDs FPGAs (e.g., PALs) 1
  • 2. Three FPLD Types • Simple Programmable Logic Device (SPLD) – PLA or PAL – Fixed internal routing, deterministic propagation delays • Complex Programmable Logic Device (CPLD) – Multiple SPLDs onto a single chip – Programmable interconnect • Field Programmable Gate Array (FPGA) – An array of logic blocks – Large number of gates, user selectable interconnection, delays depending on design and routing Programmable – A high ratio of flip-flops to logic resources Logic Devices (FPLDs) SPLDs CPLDs FPGAs (e.g., PALs) 2
  • 3. SPLDs • SPLDs = Simple PLDs • Popular SPLD Architecture Types – Programmable Logic Array, PLA – Programmable Array Logic, PAL (Vantis) – General Array Logic, GAL (Lattice) – others • Architecture Differences – AND versus OR implementation – Programmability (e.g., EE) – Fundamental logic block Programmable Logic Devices (FPLDs) SPLDs CPLDs FPGAs (e.g., PALs) 3
  • 4. SPLDs • We have already taken a close look at SPLDs • A PLA-like SPLD is illustrated at left – PAL and GAL devices offered a Logic Functions somewhat better solution • SPLDs are good alternative to Sums using SSI and MSI devices – Especially if re-programmable Programmable Logic Devices (FPLDs) Product Terms SPLDs CPLDs FPGAs (e.g., PALs) 4
  • 5. SPLDs • Conventional programmable logic – PALs, PLAs, GALs – standard parts like GAL22V10 and PAL16R4 are available from multiple vendors • Includes programmable logic cells to a limited degree (programming options in I/O cells, may have fixed AND/OR gates for logic), limited routing network • Lowest density of all programmable devices, however, can offer very high performance • SPLDs have nearly replaced TTL logic which was the Programmable Logic Devices dominate approach to logic (FPLDs) implementation SPLDs CPLDs FPGAs (e.g., PALs) 5
  • 6. How to Expand SPLD Architecture? • Increase number of inputs and outputs in a conventional PLD? – e.g., 16V8 → 20V8 → 22V10 – Why not → 32V16 → 128V64 ? • Problems: – n times the number of inputs and outputs requires n2 as much chip area – too costly – logic gets slower as number of inputs to AND array increases Programmable Logic Devices (FPLDs) SPLDs CPLDs FPGAs (e.g., PALs) 6
  • 7. How to Expand SPLD Architecture? • Solution: – Multiple SPLDs with a relatively small programmable interconnect – Less general than a single large PLD – Can use software “fitter” to partition into smaller PLD blocks Programmable Logic Devices (FPLDs) CPLD Architecture SPLDs CPLDs FPGAs (e.g., PALs) 7
  • 8. CPLDs • PALs and GALs are available only in small sizes – equivalent to a few hundred logic gates • For bigger logic circuits, complex PLDs or CPLDs can be used. • CPLDs contain the equivalent of several PALs/GALs – linked by programmable interconnections – all in one integrated circuit (IC) • CPLDs can replace thousands, or even hundreds of thousands, of individual logic gates – increased integration density Programmable Logic Devices (FPLDs) SPLDs CPLDs FPGAs (e.g., PALs) 8
  • 9. Complex PLDs • Some CPLDs are programmed using a PAL programmer, but this method becomes inconvenient for devices with hundreds of pins. • A second method of programming is to solder the device to its printed circuit board, then feed it with a serial data stream from a personal computer. • The CPLD contains a circuit that decodes the data stream and configures the CPLD to perform its specified logic function. Programmable Logic Devices (FPLDs) SPLDs CPLDs FPGAs (e.g., PALs) 9
  • 10. Complex PLDs versus FPGAs • Xilinx, for example: • Xilinx CPLD devices that are cheaper and have fewer gates than Xilinx FPGAs • Meant for interfacing rather than heavy computation • Built-in flash memory – Compare to FPGA which needs external configuration memory • Xess board has XC9572XL part – Approximately $2-$7 in quantities of one – vs. ~$15-20 for the Spartan2 FPGA on the board – Larger quantities much lower – 1600 gates, 72 registers Programmable Logic Devices (FPLDs) SPLDs CPLDs FPGAs (e.g., PALs) 10
  • 11. CPLD Architecture • Simplified CPLD architecture • Small number of largish PLDs (e.g., “36V18”) on a single chip • Programmable interconnect between PLDs • Large number of I/O blocks • Large number of pins 11
  • 12. CPLDs • Composition of Complex PLDs – typically composed of 2-64 SPLDs – interconnected using sophisticated logic – includes macrocells (more about these later) – includes input/output blocks • Economical for designing large systems • Fast – switching speed Programmable Logic Devices (FPLDs) SPLDs CPLDs FPGAs (e.g., PALs) 12
  • 13. CPLDs • Complex PLD's have arrays of PLD's on one chip, with an interconnection matrix connecting them. • Timing performance can be more predictable than FPGAs because of simpler interconnect structure. • Density is normally less than most FPGAs (although high end CPLDs will have about the same density as low-end FPGAs). • Performance of CPLDs is usually better than FPGAs, but depends on vendor, number of cells in CPLD, and Programmable Logic Devices (FPLDs) compared FPGA. SPLDs CPLDs FPGAs (e.g., PALs) 13
  • 14. CPLD Families • Identical individual PLD blocks (Xilinx “FBs”) replicated in different family members – Different number of PLD blocks – Different number of I/O pins Xilinx XC9500 CPLD Series 14
  • 15. Typical CPLD Packages • CPLDs are made using 2 to 64 SPLDs • Packages use 44-pins to over 200-pins (or more) 15
  • 16. Typical CPLD Packages • QFP = Quad Flat Package – A QFP is an IC package with leads extending from each of the four sides. – It is used primarily for surface mounting, no socketing • TQFP = Thin Quad Flat Package • PQFP = Plastic Quad Flat Package • VQFP = Very small Quad Flat Package • PLCC = Plastic Leaded Chip Carrier – A package related to QFP – Similar but has pins with larger distance, curved up underneath a thicker body to simplify socketing 16
  • 17. CPLD Package Types • CSP = Chip Scale Package – IC package with an area no greater than 1.2 times that of the die • BGA = Ball Grid Array – A type of surface-mount packaging used for ICs – Pins are replaced by balls of solder stuck to the bottom of the package – The device is placed on a PCB that carries copper pads in a pattern that matches the solder balls – The assembly is then heated causing the solder balls to melt 17
  • 18. CPLD Families • Many CPLDs have fewer I/O pins than macrocells – “Buried” Macrocells – provide needed logic terms internally but these outputs are not connected externally – IC package size dictates number of I/O pins but not the total number of macrocells – Typical CPLD families have devices with differing resources in the same IC package 18
  • 19. Xilinx CPLDs • Notice overlap in resource availability in a particular package. 19
  • 20. XC9572 CPLD Part Numbers • The part number for Xilinx CPLD devices includes information as follows: 20
  • 21. XC9500 CPLD Block Diagram • The XC9500 CPLD family provides advanced in-system programming and test capabilities for high performance, general purpose logic integration. • All devices are in- system programmable for a minimum of 10,000 program/erase cycles. 21
  • 22. 9500-Family Function Blocks (FBs) • 18 macrocells per FB • 36 inputs per FB (partitioning challenge, but also reason for relatively compact size of FBs) • Macrocell outputs can go to I/O cells or back into switch matrix to be routed to this or other FBs 22
  • 23. 9500-Series Macrocell • 18 macrocells per Function Block Set control Programmable inversion or XOR product term Up to 5 product terms Global clock or product-term clock Reset control OE control 23
  • 24. 9500-Series Product-Term Allocator • Share terms from above and below programmable steering elements 24
  • 25. XC9500 Family • An I/O block is composed of input buffer, output buffer, multiplexer for the output control and grounding control • Slew rate control is used to smooth the rising and the falling edges of the output pulse. • Grounding control is used to make the input/output pin (I/O) an earth ground (noise suppression). • Each input/output pin can handle a 24-mA current. 25
  • 26. 9500-Series I/O Block • OE Multiplexer (OE MUX) controls an output enable or stop. • It is controlled by the signal from the macrocell or the signal from the GTS (Global Three-State control) pin. • There are four GTS in XC95216 and XC95288 two in the others. 26
  • 27. Switch Matrix for XC95108 • Could be anything from a limited set of multiplexers to a full crossbar – Multiplexer -- small, fast, but difficult fitting – Crossbar -- easy fitting but large and slow 27
  • 28. Problems with CPLDs • Pin locking – Small changes, and certainly large ones, can cause the fitter to pick a different allocation of I/O blocks and pinout – Locking too early may make the resulting circuit slower or not fit at all • Running out of resources – Design may “blow up” if it doesn’t all fit on a single device – On-chip interconnect resources are much richer than off- chip – Larger devices are exponentially more expensive 28