Programmable Logic Devices (Pld)

Embed Size (px)

Citation preview

  • 7/29/2019 Programmable Logic Devices (Pld)

    1/40

    PROGRAMMABLE LOGIC

    DEVICES (PLD)

  • 7/29/2019 Programmable Logic Devices (Pld)

    2/40

    PLD

    Problems by Using Basic Gates

    Many components on PCB:

    As no. of components rise, nodesinterconnection complexity grow exponentially

    Growth in interconnection will cause increase

    in interference, PCB size, PCB design cost, and

    manufacturing time

  • 7/29/2019 Programmable Logic Devices (Pld)

    3/40

    PLD

    The purpose of a PLD device is to permit elaborate digital logicdesigns to be implemented by the user in a single device.

    Can be erased electrically and reprogrammed with a new design,making them very well suited for academic and prototyping

    Types of Programmable Logic DevicesSPLDs (Simple Programmable Logic Devices) ROM (Read-Only Memory)

    PLA (Programmable Logic Array)

    PAL (Programmable Array Logic)

    GAL (Generic Array Logic)

    CPLD (Complex Programmable Logic Device)FPGA (Field-Programmable Gate Array)

  • 7/29/2019 Programmable Logic Devices (Pld)

    4/40

    PLD

    The first three varieties are quite similar to eachother:

    They all have an input connection matrix, which

    connects the inputs of the device to an array of AND-gates.

    They all have an output connection matrix, whichconnect the outputs of the AND-gates to the inputs ofOR-gates which drive the outputs of the device.

    The gate array is significantly different and will bedescribed later.

  • 7/29/2019 Programmable Logic Devices (Pld)

    5/40

    PLD

    The differences between the first three categories

    are these:

    1. In a ROM, the input connection matrix is hardwired.

    The user can modify the output connection matrix. In a PAL/GAL the output connection matrix is

    hardwired. The user can modify the input connection

    matrix.

    In a PLA the user can modify both the input connectionmatrix and the output connection matrix.

  • 7/29/2019 Programmable Logic Devices (Pld)

    6/40

    General structure of PLDs.

  • 7/29/2019 Programmable Logic Devices (Pld)

    7/40

    (a) Symbol. (b) Logic equivalent.

    Buffer/inverter

  • 7/29/2019 Programmable Logic Devices (Pld)

    8/40

    (a) Before programming. (b) After programming.

    Programming by blowing fuses.

  • 7/29/2019 Programmable Logic Devices (Pld)

    9/40

    OR - PLD Notation

  • 7/29/2019 Programmable Logic Devices (Pld)

    10/40

    AND - PLD Notation

  • 7/29/2019 Programmable Logic Devices (Pld)

    11/40

    PLD notation.

    (a) Unprogrammed and-gate.(b) Unprogrammed or-gate.

    (c) Programmed and-gate realizing the termac.

    (d) Programmed or-gate realizing the terma +b.

    (e) Special notation for an and-gate having all itsinput fuses intact.

    (f) Special notation for an or-gate having all itsinput fuses intact.

    (g) And-gate with non-fusible inputs.(h) Or-gate with non-fusible inputs.

  • 7/29/2019 Programmable Logic Devices (Pld)

    12/40

  • 7/29/2019 Programmable Logic Devices (Pld)

    13/40

    PROM Notation

  • 7/29/2019 Programmable Logic Devices (Pld)

    14/40

    A 2n m PROM

    (a) Logic diagram.

    (b) Representation in PLD

    notation.

  • 7/29/2019 Programmable Logic Devices (Pld)

    15/40

    Using a PROM for logic design

    (a) Truth table. (b) PROM realization.

  • 7/29/2019 Programmable Logic Devices (Pld)

    16/40

    A simple four-input, three-output PAL device.

  • 7/29/2019 Programmable Logic Devices (Pld)

    17/40

    An example of using a PAL device to realize two

    Boolean functions. (a) Karnaugh maps. (b) Realization.

  • 7/29/2019 Programmable Logic Devices (Pld)

    18/40

    Logic diagram of an n p m PLA

  • 7/29/2019 Programmable Logic Devices (Pld)

    19/40

    (a) Maps showing the multiple-output prime implicants. (b) Partial covering of thef1 andf2

    maps. (c) Maps for the multiple-output minimal sum. (d) Realization using a 3 4 2 PLA.

    Example of combinational logic design

    using a PLA.

  • 7/29/2019 Programmable Logic Devices (Pld)

    20/40

    (a) Circuit diagram. (b) Symbolic representation.

    Exclusive-or-gate with a programmable

    fuse

  • 7/29/2019 Programmable Logic Devices (Pld)

    21/40

    General structure of a PLA having true and

    complemented output capability

  • 7/29/2019 Programmable Logic Devices (Pld)

    22/40

    Karnaugh maps for the functionsf1(x,y,z) = m(1,2,3,7) and

    f2(x,y,z) = m(0,1,2,6)

  • 7/29/2019 Programmable Logic Devices (Pld)

    23/40

    Two realizations off1(x,y,z) = m(1,2,3,7) andf2(x,y,z) = m(0,1,2,6).

    (a) Realization based onf1 and 2 (b) Realization based on 1 and 2ff f

  • 7/29/2019 Programmable Logic Devices (Pld)

    24/40

  • 7/29/2019 Programmable Logic Devices (Pld)

    25/40

  • 7/29/2019 Programmable Logic Devices (Pld)

    26/40

  • 7/29/2019 Programmable Logic Devices (Pld)

    27/40

  • 7/29/2019 Programmable Logic Devices (Pld)

    28/40

  • 7/29/2019 Programmable Logic Devices (Pld)

    29/40

  • 7/29/2019 Programmable Logic Devices (Pld)

    30/40

    Introduction to FPGA & CPLD

  • 7/29/2019 Programmable Logic Devices (Pld)

    31/40

    FPGA AND CPLD

    1. FPGA - Field-Programmable Gate Array.

    2. CPLD - Complex Programmable Logic

    Device

    3. FPGA and CPLD is an advance PLD.

    4. Support thousands of gate where as PLD

    only support hundreds of gates.

  • 7/29/2019 Programmable Logic Devices (Pld)

    32/40

    What is an FPGA?

    Before the advent of programmable logic, custom logic circuits werebuilt at the board level using standard components, or at the gate levelin expensive application-specific (custom) integrated circuits.

    FPGA is an integrated circuit that contains many (64 to over 10,000)identical logic cells that can be viewed as standard components. Each

    logic cell can independently take on any one of a limited set ofpersonalities.

    Individual cells are interconnected by a matrix of wires andprogrammable switches. A user's design is implemented by specifyingthe simple logic function for each cell and selectively closing theswitches in the interconnect matrix.

    Array of logic cells and interconnect form a fabric of basic buildingblocks for logic circuits. Complex designs are created by combiningthese basic blocks to create the desired circuit

  • 7/29/2019 Programmable Logic Devices (Pld)

    33/40

    FPGA architecture

  • 7/29/2019 Programmable Logic Devices (Pld)

    34/40

    What does a logic cell do?

    The logic cell architecture varies between different device families.

    Each logic cell combines a few binary inputs (typically between 3 and10) to one or two outputs according to a Boolean logic functionspecified in the user program .

    In most families, the user also has the option of registering the

    combinatorial output of the cell, so that clocked logic can be easilyimplemented.

    Cell's combinatorial logic may be physically implemented as a smalllook-up table memory (LUT) or as a set of multiplexers and gates.

    LUT devices tend to be a bit more flexible and provide more inputs percell than multiplexer cells at the expense of propagation delay.

  • 7/29/2019 Programmable Logic Devices (Pld)

    35/40

    what does 'Field Programmable'mean?

    Field Programmable means that the FPGA's function is definedby a user's program rather than by the manufacturer of thedevice.

    A typical integrated circuit performs a particular functiondefined at the time of manufacture. In contrast, the FPGA's

    function is defined by a program written by someone other thanthe device manufacturer.

    Depending on the particular device, the program iseither 'burned' in permanently or semi-permanently as part of aboard assembly process, or is loaded from an external memoryeach time the device is powered up.

    This user programmability gives the user access to complexintegrated designs without the high engineering costs associatedwith application specific integrated circuits.

  • 7/29/2019 Programmable Logic Devices (Pld)

    36/40

    How are FPGA programs created?

    Individually defining the many switch connections and celllogic functions would be a daunting task.

    This task is handled by special software. The softwaretranslates a user's schematic diagrams or textual hardware

    description language code then places and routes thetranslated design.

    Most of the software packages have hooks to allow theuser to influence implementation, placement and routing toobtain better performance and utilization of the device.

    Libraries of more complex function macros (eg. adders)further simplify the design process by providing commoncircuits that are already optimized for speed or area.

  • 7/29/2019 Programmable Logic Devices (Pld)

    37/40

    FPGA

    FPGA applications:-i. DSP

    ii. Software-defined radio

    iii. Aerospace

    iv. Defense systemv. ASIC Prototyping

    vi. Medical Imaging

    vii. Computer vision

    viii. Speech Recognitionix. Cryptography

    x. Bioinformatic

    xi. And others.

  • 7/29/2019 Programmable Logic Devices (Pld)

    38/40

    CPLD

    1. Complexity of CPLD is between FPGA and

    PLD.

    2. CPLD featured in common PLD:-

    i. Non-volatile configuration memorydoes not

    need an external configuration PROM.

    ii. Routing constraints. Not for large and deeply

    layered logic.

  • 7/29/2019 Programmable Logic Devices (Pld)

    39/40

    CPLD

    3. CPLD featured in common FPGA:-

    i. Large number of gates available.

    ii. Can include complicated feedback path.

    4. CPLD application:-

    i. Address coding

    ii. High performance control logiciii. Complex finite state machines

  • 7/29/2019 Programmable Logic Devices (Pld)

    40/40

    CPLD

    5. CPLD architecture:-

    LAB Logic Array Block / uses PALs

    PIA Programmable Interconnect Array