programable pld s

Upload: mdhuq1

Post on 05-Apr-2018

245 views

Category:

Documents


1 download

TRANSCRIPT

  • 7/31/2019 Programable Pld s

    1/65

    Implementation of LogicCircuits

  • 7/31/2019 Programable Pld s

    2/65

  • 7/31/2019 Programable Pld s

    3/65

    Types of ICs

    Different types of ASICs are:

    Full-custom ASICs

    Semi-custom ASICs

    Standard-cellbased ASICs (CBIC) Gate-arraybased ASICs

    Channeled gate arrays

    Channelless gate arrays

    Structured gate arrays

    Programmable ASICs

    Programmable Logic Devices (PLD)

    Field Programmable Gate Array (FPGA)

  • 7/31/2019 Programable Pld s

    4/65

    TYPES OF CHIPS

    Three main types of chips

    Standard chips

    Programmable Logic Devices

    Custom Chips

  • 7/31/2019 Programable Pld s

    5/65

    Standard Chips

    Fixed Functionality

    7400-series standard chips

    SSI (Small Scale Integrated circuit) :less than 10 gates

    MSI (Medium Scale Integrated circuits) : about 10 to 100gates

    LSI (Large Scale Integrate circuits) : about 100 to 10,000gates

    VLSI (Very Large Scale Integrated circuits) : over 10,000to 100,000 gates

    ULSI (Ultra Large Scale Integrated Circuits) : over100,000 gates

  • 7/31/2019 Programable Pld s

    6/65

    Programmable Logic Device

    Problems of using standard ICs in logic design:

    require hundreds or thousands of these ICs

    require a considerable amount of circuit board space

    require a great deal of time and cost in inserting, soldering, andtesting

    require to keep a significant inventory of ICs

  • 7/31/2019 Programable Pld s

    7/65

    Programmable Logic Device

    What is a Programmable Logic Device (PLD)?

    an IC that contains large numbers of gates, flip-flops and registers

    that are interconnected on the chip

    can be configured by the user to perform a logic function

    many of the connections are fusible links that can be broken

  • 7/31/2019 Programable Pld s

    8/65

    Programmable Logic Device Basic Ideas of PLD

    A PLD consists of an array of AND gates and an array of OR gates

    Each input feeds both a non-inverting buffer and an inverting buffer to produce thetrue and inverted forms of each variable. (i.e. the input lines to the AND-gate array)

    The AND outputs are called the product lines

    Each product line is connected to one of the inputs of each OR gate

    Three fundamental types of standard PLDs: PROM, PAL, and PLA

  • 7/31/2019 Programable Pld s

    9/65

    Advantages of using PLDs

    Advantages of reducing the no. of ICs using PLD:

    less board space

    fewer printed circuit boardssmaller enclosureslower power requirements (i.e., smaller power supplies)faster and less costly assembly processes

    higher reliability (fewer ICs and circuit connections =>easier troubleshooting)

    availability of design software

  • 7/31/2019 Programable Pld s

    10/65

    Internal Structures of PLDA B

    Input lines

    AND array

    Fuse

    Product

    lines

    ORarray

    Sum of product outputs

    O O O O

    AB

    AB

    AB

    AB

    A A B B AB

    AB

    AB

    AB

    1 2 3 4

    Example of a programmable logic device

    2-to-4 decoder

    If blown, OR

    input is logic 0.

  • 7/31/2019 Programable Pld s

    11/65

    Internal Structures of PLDA B

    Input lines

    AND array

    Fuse

    Product

    lines

    ORarray

    Sum of product outputs

    O O O O

    AB

    AB

    AB

    AB

    A A B B AB

    AB

    AB

    AB

    1 2 3 4

    Example of a programmable logic device

    2-to-4 decoder

    If blown, OR

    input is logic 0.

  • 7/31/2019 Programable Pld s

    12/65

    Programmable Logic Devices

    Pre-fabricated building block of many AND/OR gates (or NOR, NAND)

    "Personalized" by making or breaking connections among the gates

    Programmable Array Block Diagram for Sum of Products Form

    Inputs

    Dense array ofAND gates Productterms

    Dense array ofOR gates

    Outputs

    The two major types of PLD:

    field programmable gate arrays (FPGAs)

    complex programmable logic devices (CPLDs).

  • 7/31/2019 Programable Pld s

    13/65

    PROGRAMMABLE LOGIC DEVICES

    PLDs give improved performance over random logic and significant

    cost saving over Very Large-scale integrated circuits. They consume

    less power, take fewer ICs and are more reliable than random logic

    designs. The real advantage of PLD designs over random logic is inthe ease of design and the resulting design time saving.

    The different types of PLDs available are:

    ROM and EPROM.

    Programmable Logic Arrays (PLA)

    Programmable Array Logic (PAL)

    Field Programmable Gate Arrays (FPGA)

  • 7/31/2019 Programable Pld s

    14/65

    Classifications of PLDs

    Depending on which of the AND/OR logic arrays is programmable, we have three

    basic organizations

  • 7/31/2019 Programable Pld s

    15/65

    PROGRAMMABLE LOGIC DEVICES

  • 7/31/2019 Programable Pld s

    16/65

    PROGRAMMABLE LOGIC DEVICES

  • 7/31/2019 Programable Pld s

    17/65

    PROGRAMMABLE LOGIC

    DEVICES

  • 7/31/2019 Programable Pld s

    18/65

    Conventions

  • 7/31/2019 Programable Pld s

    19/65

    Read-Only Memories

    A read only memory (ROM) is essentially a device in

    which permanent binary information is stored. The

    information must be specified by the designer and is then

    embedded into the ROM to form the requiredinterconnection or electronic device pattern. Once the

    pattern is established, it stays within the ROM even when

    the power is turned off and on again; that is ROM is

    nonvolatile.

  • 7/31/2019 Programable Pld s

    20/65

    Read-Only Memories

    Classification:

    EPROM:EPROMs allow the modification of the data stored as they

    use a special charge storage mechanism to enable or disable the

    switching elements in the memory array. The data stored in theEPROM is generally permanent until erased using ultraviolet light.

    EEPROM:The electrically erasable PROM (EEPROM) is similar to

    EPROM except that the erasure of data is accomplished using

    electrical pulses instead of ultraviolet light. An EEPROM can be

    erased and reprogrammed only a limited number of times.

  • 7/31/2019 Programable Pld s

    21/65

    Read-Only Memories

    Block diagram

  • 7/31/2019 Programable Pld s

    22/65

    Logical

    Structure

    of a PROM

    Output of

    AND gate = ?

    Output of

    OR gate = ?O3 O2 O1 O0

    programmable connections

    A4A5CSA2A3 A0A1

    address control signaloutput data

    fixed connections

    .

    .

    .

    .

    .

    .

    .

    .

    .

  • 7/31/2019 Programable Pld s

    23/65

    Read-Only Memories

    . ROM Realization of Code Converter

  • 7/31/2019 Programable Pld s

    24/65

    Programmable Logic Devices

    . Programmable Logic Array Structure

  • 7/31/2019 Programable Pld s

    25/65

    PLA (Programmable Logic Array)

    In PLAs, instead of using a decoder as in PROMs, anumber (k) of AND gates is used where k < 2n, (n is thenumber of inputs).

    Each of the AND gates can be programmed to generate a

    product term of the input variables and does not generateall the minterms as in the ROM.

    The AND and OR gates inside the PLA are initiallyfabricated with the links (fuses) among them.

    The specific Boolean functions are implemented in sum ofproducts form by opening appropriate links and leaving thedesired connections.

  • 7/31/2019 Programable Pld s

    26/65

    PLA

    A block diagram of the PLA is shown in the figure. It consists ofn inputs, m outputs, and k product

    terms.

  • 7/31/2019 Programable Pld s

    27/65

    The product terms constitute a group ofk AND gates eachof 2n inputs.

    Links are inserted between all n inputs and theircomplement values to each of the AND gates.

    Links are also provided between the outputs of the ANDgates and the inputs of the OR gates.

    Since PLA has m-outputs, the number of OR gates is m.

    The output of each OR gate goes to an XOR gate, wherethe other input has two sets of links, one connected to logic

    0 and other to logic 1. It allows the output function to be generated either in thetrue form or in the complement form.

    PLA Contd.,

  • 7/31/2019 Programable Pld s

    28/65

    The output is inverted when the XOR input is connected to1 (since X 1 = X).

    The output does not change when the XOR input is

    connected to 0 (since X 0 = X).

    The size of the PLA is specified by the number of inputs(n), the number of product terms (k), and the number of

    outputs (m), (the # of sum terms is equal to the number of

    outputs).

    PLA Contd.,

  • 7/31/2019 Programable Pld s

    29/65

    PLA - Example

  • 7/31/2019 Programable Pld s

    30/65

    PLA- Example

  • 7/31/2019 Programable Pld s

    31/65

    Programmable Logic Devices

    . PLA with Three Inputs, Five Product Terms, and Four Outputs

  • 7/31/2019 Programable Pld s

    32/65

  • 7/31/2019 Programable Pld s

    33/65

    Programmable Logic Devices

    Table. PLA Table

    Product

    Term

    Inputs Outputs

    A B C F0 F1 F2 F3

    AB

    AC

    B

    BC

    AC

    0

    1

    -

    -

    1

    0

    -

    1

    1

    -

    -

    0

    -

    0

    1

    1

    1

    0

    0

    0

    0

    1

    1

    0

    0

    1

    0

    0

    1

    0

    0

    0

    1

    0

    1

    ACBF

    BCBAF

    BACF

    ACBAF

    3

    2

    1

    0

    '''

    '

    '''

  • 7/31/2019 Programable Pld s

    34/65

    Programmable Logic Devices

    . PLA Realization of Equations

    a b c d f 1 f2 f3

    0

    1

    1

    -

    -

    -

    1

    1

    0

    0

    -

    1

    -

    -

    0

    1

    1

    1

    1

    1

    -

    -

    -

    -

    1

    1

    1

    1

    0

    0

    1

    0

    0

    0

    1

    0

    0

    1

    1

    0

    0

    1

    (a) PLA table

  • 7/31/2019 Programable Pld s

    35/65

    PLA Implementation

    F0 = m(0,1,4,6) = AB+AC

    F1 = m(2,3,4,6,7) = B+AC

    F2 = m(0,1,2,6) =AB+BC

    F3 = m(2,3,5,6,7) =AC+B

  • 7/31/2019 Programable Pld s

    36/65

    PLA implementation

    PLA STRUCTURE

  • 7/31/2019 Programable Pld s

    37/65

  • 7/31/2019 Programable Pld s

    38/65

    PLA Implementation using minimum rows

    F1 = m(2,3,5,7,8,9,10,11,13,15) .(1)

    F2 = m(2,3,5,6,7,10,11,14,15) . (2)

    F3 = m(6,7,8,9,13,14,15) . (3)

  • 7/31/2019 Programable Pld s

    39/65

    PLA Implementation using

    minimum rows K_map

  • 7/31/2019 Programable Pld s

    40/65

    PLA Implementation using minimum rows

    F1 = BD+BC+AB .(4)

    F2 = C+ABD .(5)

    F3 = BC+ABC+ABD

  • 7/31/2019 Programable Pld s

    41/65

    PLA Implementation using minimum rows

    F1 = BD + BC + AB(C+C)

    = BD + BC + ABC + ABC

    = BD + BC (1+ A) + ABC

    = BD + BC + ABC

  • 7/31/2019 Programable Pld s

    42/65

  • 7/31/2019 Programable Pld s

    43/65

    PLA Implementation using minimum rows

    PLA TABLE

  • 7/31/2019 Programable Pld s

    44/65

    PLA Implementation using minimum rows

    PLA STRUCTURE

  • 7/31/2019 Programable Pld s

    45/65

    Programmable Array Logic

    The PAL device is a special case of PLA which has a programmable

    AND array and a fixed OR array.

    The basic structure of PAL is same as PLA. It is cheap compared toPLA as only the AND array is programmable.

    It is also easy to program a PAL compared to PLA as only AND must

    be programmed.

  • 7/31/2019 Programable Pld s

    46/65

    Programmable Logic Devices

    Programmable Array Logic

    The symbol of Figure

    logically equal

  • 7/31/2019 Programable Pld s

    47/65

    Programmable Logic Devices

    Connections to the AND gate inputs in a PAL

    Programmable Array Logic

  • 7/31/2019 Programable Pld s

    48/65

  • 7/31/2019 Programable Pld s

    49/65

    Programmable Logic Devices

    Implementation of a Full Adder Using a PAL

    ininininXYCCXYYCXCYX ''''''

    XYYCXCinin

  • 7/31/2019 Programable Pld s

    50/65

    Programmable Logic Devices

    Q+ = D = ABQ + ABQ

  • 7/31/2019 Programable Pld s

    51/65

    Complex Programmable Logic Devices

    A CPLD contains a bunch of PLD blocks whose inputs andoutputs are connected together by a global interconnectionmatrix.

    Thus a CPLD has two levels of programmability: each PLDblock can be programmed, and then the interconnections

    between the PLDs can be programmed.

  • 7/31/2019 Programable Pld s

    52/65

  • 7/31/2019 Programable Pld s

    53/65

  • 7/31/2019 Programable Pld s

    54/65

    FPGA Die

  • 7/31/2019 Programable Pld s

    55/65

    9.8 Field Programmable Gate Arrays

    Equivalent OR Gate for F0

  • 7/31/2019 Programable Pld s

    56/65

  • 7/31/2019 Programable Pld s

    57/65

    Field Programmable Gate Arrays

    The FPGA consists of 3 main structures:

    1. Programmable logic structure,

    2. Programmable routing structure, and

    3. Programmable Input/Output (I/O).

    P bl l i t t

  • 7/31/2019 Programable Pld s

    58/65

    Programmable logic structure

    The programmable logic structure FPGA consists of a2-dimensional array of configurable logic blocks (CLBs)

  • 7/31/2019 Programable Pld s

    59/65

    Programmable routing structure

    To allow for flexible interconnection of CLBs, FPGAs have 3programmable routing resources:

    Vertical and horizontal routing channels which consist of differentlength wires that can be connected together if needed. These channelrun vertically and horizontally between columns and rows of CLBs asshown in the Figure.

    Connection boxes, which are a set of programmable links that canconnect input and output pins of the CLBs to wires of the vertical orthe horizontal routing channels.

    Switch boxes, located at the intersection of the vertical and horizontalchannels. These are a set of programmable links that can connect wiresegments in the horizontal and vertical channels.

  • 7/31/2019 Programable Pld s

    60/65

    Programmable I/O

    These are mainly buffers that can be configured either as

    input buffers, output buffers or input/output buffers.

    They allow the pins of the FPGA chip to function either as

    input pins, output pins or input/output pins.

  • 7/31/2019 Programable Pld s

    61/65

    Advantages of FPGA Design

    Faster time-to-market

    No NRE (Non Recurring Expenses)

    Simpler design cycle

    Field Reprogramability

    More predictable project cycle

    Reusability

  • 7/31/2019 Programable Pld s

    62/65

    Disadvantages of FPGA Design

    Power consumption in FPGA is more.

    You don't have any control over the power optimization. This is

    where ASIC wins the race !

    You have to use the resources available in the FPGA.

    Thus FPGA limits the design size.

    Good for low quantity production.

    As quantity increases cost per product increases compared to the

    ASIC implementation.

  • 7/31/2019 Programable Pld s

    63/65

  • 7/31/2019 Programable Pld s

    64/65

    FPGA Summary

    FPGAs are good for prototyping and limited production. If you are going to make 100-200 boards it isn't worth to make an

    ASIC.

    Generally FPGAs are used for lower speed, lower complexity andlower volume designs.

    But today's FPGAs even run at 500 MHz with superior performance. With unprecedented logic density increases and a host of other

    features, such as embedded processors, DSP blocks, clocking, andhigh-speed serial at ever lower price, FPGAs are suitable for almostany type of design.

    In FPGA you need not do floor-planning, tool can do it efficiently. In

    ASIC you have do it.

  • 7/31/2019 Programable Pld s

    65/65

    FPGA's have special hardwares such as Block-RAM, DCM modules,MACs, memories and highspeed I/O, embedded CPU etc inbuilt, which can

    be used to get better performace. Advanced FPGAs usually come with phase-locked loops, low-voltage

    differential signal, clock data recovery, more internal routing, high speed,hardware multipliers for DSPs, memory,programmable I/O, IP cores andmicroprocessor cores.

    Remember Power PC (hardcore), Microblaze (softcore) in Xilinx and ARM(hardcore), Nios(softcore) in Altera.

    There are FPGAs available now with built in ADC ! Using all thesefeatures designers can build a system on a chip. Now, dou yo really need anASIC ?