Download - 02_Chapter2_FPGA Fundaments-9501

Transcript
  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    1/42

    1

    Chapter 2 FPGA Fundaments

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    2/42

    2

    Overview -- Categories of

    Programmable Logic Devices (PLDs)

    Simple Programmable Logic Devices (SPLDs) Complex Programmable Logic Devices (CPLDs)

    Field Programmable GateArrays (FPGAs)

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    3/42

    3

    PLD Categories

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    4/424

    Design Factors Affecting PLD

    Architectural Selection

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    5/42

    5

    PLD Design

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    6/42

    6

    SPLD Device Overview

    Simplest PLD (SPLD) devices PAL: Programmable Array Logic

    PLA: Programmable Logic Array

    Two logic gate array architectures

    Boolean ANDs and ORs

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    7/42

    7

    Simplified PAL Architecture

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    8/42

    8

    SPLD Characteristic

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    9/42

    9

    CPLD Device Overview

    CPLD: Complex programmable LogicDevice

    Complexity and density:

    FPGAs > CPLDs >SPLDs

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    10/42

    10

    Basic CPLD Structure

    Macro Macro

    Macro Macro Macro

    Macro

    Switch FabricInput/OutputInput/Output

    Input/Output

    Input/Output

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    11/42

    11

    CPLD Decision Tree

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    12/42

    12

    CPLD Characteristics

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    13/42

    13

    CPLD to FPGA Comparison

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    14/42

    14

    A Mapping of Functionality for

    CPLD and FPGAs

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    15/42

    15

    Operational Categories of

    FPGA Devices

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    16/42

    16

    FPGA Device Overview

    FPGA were introduced in 1985 by Xilinx FPGA were developed to address the

    gap between CPLD and Application-Specific Integrated Circuits (ASIC)devices

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    17/42

    17

    Typical FPGA Characteristics

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    18/42

    18

    FPGA Types

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    19/42

    19

    One-time-programmable FPGAOTP: One-Time-Programmable

    ISP: In-System-Programming

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    20/42

    20

    FPGA Manufacture

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    21/42

    21

    SRAM-Based FPGA Architecture

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    22/42

    22

    Fundamental FPGA Structure

    Logic blacks Routing matrix and global signals

    I/O blocks Clock resources

    Multiplier Memory

    Advance features

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    23/42

    23

    FPGA Logic Block Structure

    Logic block: logic cell, slice, macrocell, andlogic element (LE)

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    24/42

    24

    Look-Up-Tables (LUTs) Element

    A LUT is simply a memory element

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    25/42

    25

    Combine Logic Block

    Some example names for these combined logicblock groups are: tile, configurable logic block(CLB), logic array block (LAB) and MegaLAB

    d

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    26/42

    26

    FPGA Routing Matrix and

    Global Signals

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    27/42

    27

    Carry Chain Logic

    Gl b l L Sk R ti

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    28/42

    28

    Global Low-Skew Routing

    Resources

    These resources are typically Limited in quantity

    Be reserved for high-performance and

    high-load signals

    Global routing resources

    Clock Control signals

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    29/42

    29

    FPGA I/O Blocks

    The ring of I/O banks is used to interface theFPGA device to external components

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    30/42

    30

    I/O Block (IOB) Structure

    An IOB includes input and outputregisters, control signals, muxes andclock signals

    Unused FPGA inputs should not be leftfloating

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    31/42

    31

    I/O Block (IOB) Structure (cont)

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    32/42

    32

    I/O Interface Standards

    Single-ended and differentialoperational modes are typicallysupported

    Single-ended standards

    PCI, LVTTL

    Differential standards LVDS, LVPECL

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    33/42

    33

    IOB Configurable Feature

    Pull-up or Pull-down Status ofunused I/O

    I/O slew rate I/O drive strength

    Supported I/O standards

    Characteristic impedance termination

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    34/42

    34

    FPGA Clock Resource

    Clock manipulation can be implementedbased on Phase-locked loop (PLL)

    Delay-locked loop (DLL) PLLs generate the desired phase or

    frequency output by a voltage-controlled oscillator

    PLLs are inherently analog circuits

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    35/42

    35

    FPGA Clock Resource (cont)

    DLLs access signals from a calibratedtapped delay line circuit internal to theFPGA to produce the desired clock

    phase or frequency

    DLLs are digital circuits

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    36/42

    36

    PLL and DLL Clocking

    Global Clocking and Regional

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    37/42

    37

    Global Clocking and Regional

    Clocking

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    38/42

    38

    FPGA Memory

    Two primary types of memory within FPGAs Distributed memory

    Takes advantage of the fact that LUT elementsare implementation of SRAM memory blocks

    Block memory

    The implementation ofdedicated SRAM memoryblocks within the FPGA

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    39/42

    39

    FPGA Memory (cont)

    Memory elements embedded withinFPGA are usually refereed to as

    Block RAM,

    Embedded system block (ESB),

    System RAM and

    Content Addressable Memory (CAM)

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    40/42

    40

    Advance FPGA Features

    Enhanced clock features Intellectual property (IP)

    Embedded processors (Hard and Soft)

    Digital signal processing (blocks, tools,design flow)

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    41/42

    41

    Generic FPGA Architecture

  • 8/2/2019 02_Chapter2_FPGA Fundaments-9501

    42/42

    42

    Q & A

    ,