06_memory_2

17
EE201: Digital Circuits and Systems 5 Digital Circuitry page 1 of 17 EE201: Digital Circuits and Systems Section 6 – Memory Programmable Logic Devices http://www.educypedia.be/electronics/digitalprog.htm http://www.powershow.com/view/140a81-MTlkM/Programmable_Logic Can implement logic by a number of methods: SSI (Discrete Gates) – Need lots of ICs MSI (Logic Functions) – needs fewer ICs but still difficult to minimise PLDs – Single device usually. o More reliable, difficult to copy Gate Array – More expensive than PLDs but higher performance and more options o More flexible ASIC (Application Specific IC) o Standard Cells – higher initial costs o Custom Logic – highest initial costs o ASIC requires high volume to make worthwhile o Long turnaround

Upload: cvc

Post on 03-Oct-2015

217 views

Category:

Documents


1 download

DESCRIPTION

figure it out!!

TRANSCRIPT

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 1 of 17

    EE201: Digital Circuits and Systems

    Section 6 Memory

    Programmable Logic Devices http://www.educypedia.be/electronics/digitalprog.htm http://www.powershow.com/view/140a81-MTlkM/Programmable_Logic

    Can implement logic by a number of methods: SSI (Discrete Gates) Need lots of ICs MSI (Logic Functions) needs fewer ICs but still

    difficult to minimise PLDs Single device usually.

    o More reliable, difficult to copy Gate Array More expensive than PLDs but higher

    performance and more options o More flexible

    ASIC (Application Specific IC) o Standard Cells higher initial costs o Custom Logic highest initial costs o ASIC requires high volume to make worthwhile o Long turnaround

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 2 of 17

    PROM Programmable OR array

    Fixed

    AND

    array

    A4

    A3

    A2

    A1

    A0

    31

    30

    1

    0

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    ....

    Blow fuses on all non required connections

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 3 of 17

    PROM Design Example: BCD to Gray Code Converter

    Connect address [A3 A0] to inputs [A, B, C, D] & data o/ps to [W, X, Y, Z]

    Without PROM, this decoder would need several ICs. PROM is well suited to those apps where every possible input combination (AND term) is needed, eg. Code converters, data storage.

    Drawbacks: Each new i/p needs no. of Memory cells to be doubled No of i/ps & o/ps fixed As memory size increases, so do cost, power, delay. PLA or PAL may be more flexible & cost effective.

    A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

    B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

    C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

    D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

    W 0 0 0 0 0 1 1 1 1 1 X X X X X X

    X 0 0 0 0 1 1 0 0 0 0 X X X X X X

    Y 0 0 1 1 1 1 1 1 0 0 X X X X X X

    Z 0 1 1 0 0 0 0 1 1 0 X X X X X X

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 4 of 17

    PLA Programmable AND and OR arrays

    Inputs

    Outputs

    Prog.AND-array

    Prog.OR-array

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    ..

    Only subset of possible AND terms provided. Each AND gate has connections to each i/p. By leaving appropriate fuse intact, any i/p or its complement can be present in any AND term.

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 5 of 17

    PLA Eg

    Unwanted connections are "blown"

    Equations

    Programming

    1 = asserted in term 0 = negated in term - = does not participate

    1 = term connected to output 0 = no connection to output

    Input Side:

    Output Side:

    Outputs Inputs Product t erm

    Reuse of

    t erms

    A 1 -

    1 -

    1

    B 1 0 -

    0 -

    C -

    1 0 0 -

    F 0 0 0 0 1 1

    F 1 1 0 1 0 0

    F 2 1 0 0 1 0

    F 3 0 1 0 0 1

    A B B C A C B C A

    F0 = A + B' C' F1 = A C' + A B F2 = B' C' + A B F3 = B' C + A

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 6 of 17

    Alternative representation for PLAs

    Short-hand notation so we don't have to draw all the wires!

    Notation for implementing F0 = A B + A' B' F1 = C D' + C' D

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 7 of 17

    Another PLA Example: Magnitude Comparator

    EQ NE LT GT

    ABCD

    ABCD

    ABCD

    ABCD

    AC

    AC

    BD

    BD

    ABD

    BCD

    ABC

    BCD

    AB CD 00 01 11 10

    00

    01

    11

    10

    D

    B

    C

    A

    1 0 0 0

    0 1 0 0

    0 0 1 0

    0 0 0 1

    K-map for EQ

    AB CD 00 01 11 10

    00

    01

    11

    10

    D

    B

    C

    A

    0 1 1 1

    1 0 1 1

    1 1 0 1

    1 1 1 0

    K-map for NE

    AB CD 00 01 11 10

    00

    01

    11

    10

    D

    B

    C

    A

    0 0 0 0

    1 0 0 0

    1 1 0 1

    1 1 0 0

    K-map for L T

    AB CD 00 01 11 10

    00

    01

    11

    10

    D

    B

    C

    A

    0 1 1 1

    0 0 1 1

    0 0 0 0

    0 0 1 0

    K-map for GT

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 8 of 17

    PAL has programmable AND-array, but fixed OR-array.

    A given column of the OR array has access to only a subset of the possible product terms

    PALs simpler to understand and use than PLAs and have performance advantages: a fuse array has high capacitance which causes delay.

    Reducing no. of AND terms reduces cost and power consumption.

    First PALs suffered from restrictions of fixed i/p and o/p nos. And fixed o/p polarity.

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 9 of 17

    PAL

    TruthTable K-maps

    W = A + B D + B C X = B C' Y = B + C Z = A'B'C'D + B C D + A D' + B' C D'

    Minimized Functions:

    A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

    B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

    C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

    D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

    W 0 0 0 0 0 1 1 1 1 1 X X X X X X

    X 0 0 0 0 1 1 0 0 0 0 X X X X X X

    Y 0 0 1 1 1 1 1 1 0 0 X X X X X X

    Z 0 1 1 0 0 0 0 1 1 0 X X X X X X

    AB CD 00 01 11 10

    00

    01

    11

    10

    D

    B

    C

    A

    0 0 X 1

    0 1 X 1

    0 1 X X

    0 1 X X

    K-map for W

    AB CD 00 01 11 10

    00

    01

    11

    10

    D

    B

    C

    A

    0 1 X 0

    0 1 X 0

    0 0 X X

    0 0 X X

    K-map for X

    AB CD 00 01 11 10

    00

    01

    11

    10

    D

    B

    C

    A

    0 1 X 0

    0 1 X 0

    1 1 X X

    1 1 X X

    K-map for Y

    AB CD 00 01 11 10

    00

    01

    11

    10

    D

    B

    C

    A

    0 0 X 1

    1 0 X 0

    0 1 X X

    1 0 X X

    K-map for Z

    Programmed PAL:

    4 product terms per each OR gate

    Design Example: BCD to Gray Code Converter

    A B C D

    0

    0 0 0

    0 0

    A B C D

    A BD BC

    BC

    B C

    BCD AD BCD

    W X Y Z

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 10 of 17

    PROM

    Not unlike a PLA structure with a fully decoded

    AND array!

    ROM vs. PLA: ROM approach advantageous when (1) design time is short (no need to minimize output functions) (2) most input combinations are needed (e.g., code converters) (3) little sharing of product terms among output functions

    ROM problem: size doubles for each additional input, can't use don't cares

    PLA approach advantangeous when (1) design tool like espresso is available (2) there are relatively few unique minterm combinations (3) many minterms are shared among the output functions

    PAL problem: constrained fan-ins on OR planes

    Memory array

    2 n words by m bits

    m output lines

    n address lines

    Decoder 2 n word lines

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 11 of 17

    Registered (Sequential) PAL:

    16R4 PAL:

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 12 of 17

    22V10

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 13 of 17

    22v10 o/p macrocell

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 14 of 17

    Complex PLD

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 15 of 17

    Xilinx XC3020:

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 16 of 17

    X3000 series Configurable Logic Block

  • EE201: Digital Circuits and Systems 5 Digital Circuitry page 17 of 17

    FPGA Design: