DES_EDA_609_Lecture2_Oct03_2010

Embed Size (px)

Citation preview

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    1/97

    DES/EDA609 :

    Principles of ASIC Design

    Jayaraj NarayanaOct 3rd 2010

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    2/97

    Last Class

    Course Information

    History : Transistors, ICs, Moores Law, etc.

    ASICs : Introduction and Types Full-custom, semi-custom ICs Standard-cell, Gate-array

    Programmable ASICs

    Design Methodology / Flow : ASIC

    FPGAs : Introduction

    ASICs vs FPGAs : A comparison

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    3/97

    Agenda

    ASIC Cell Libraries

    CMOS Logic :Logic Levels, Design Rules

    Layout, Stick diagrams

    Sequential & Data Path Logic Cells

    Residue Number Systems I/O Cells

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    4/97

    ASIC Cell Libraries

    Cell Library is key part of ASIC design

    Options: Design kit , ASIC vendor, third party library

    ASIC vendor Library

    Phantom library ( empty boxes)

    ASIC vendor fills empty boxes after layout hand off

    Buy or build library : A Decision

    Target for a qualified cell library ( can buy )

    Develop a cell library in house

    Views : Physical layout, models ( behavioral / timing/ wire-load/routing), Circuit

    schematic, test strategy, cell icon.

    Characterization : Simulation of each cell with extracted parasitics to determine

    switching delays

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    5/97

    CMOS Logic, Layout, Design Rules

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    6/97

    3D Perspective of nMOS Transistor

    Polysilicon Aluminum

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    7/97

    Complementary CMOS

    Complementary CMOS logic gates

    nMOSpull-down network

    pMOSpull-up network

    a.k.a. static CMOS

    pMOS

    pull-upnetwork

    output

    inputs

    nMOSpull-down

    network

    X (crowbar)0Pull-down ON

    1Z (float)Pull-down OFF

    Pull-up ONPull-up OFF

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    8/97

    Signal Strength

    nMOS pass strong 0 But degraded or weak 1

    pMOS pass strong 1 But degraded or weak 0

    Thus NMOS are best for pull-down network

    Thus PMOS are best for pull-up network

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    9/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    10/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    11/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    12/97

    Conduction Complement Complementary CMOS gates always produce 0 or 1

    Ex: NAND gate Series nMOS: Y=0 when both inputs are 1

    Thus Y=1 when either input is 0

    Requires parallel pMOS

    Rule ofConduction Complements Pull-up network is complement of pull-down

    Parallel -> series, series -> parallel

    A

    B

    Y

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    13/97

    CMOS Gate Design

    A 4-input CMOS NOR gate

    A

    B

    C

    DY

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    14/97

    Example: O3AI

    DCBAY ++= )(

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    15/97

    Example: O3AI

    A B

    Y

    C

    D

    DC

    BA

    DCBAY ++= )(

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    16/97

    Layout of Inverter : Detailed Steps

    Gnd

    Vp

    xx

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    17/97

    Inverter Cross-section

    Typically use p-type substrate for nMOS transistors

    Requires n-well for body of pMOS transistors

    n+

    p substrate

    p+

    n well

    A

    YGND V

    DD

    n+ p+

    SiO2

    n+ diffusion

    p+ diffusion

    polysilicon

    metal1

    nMOS transistor pMOS transistor

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    18/97

    Layer Types

    p-substrate

    n-well

    n+

    p+

    Gate oxide

    Gate (polysilicon) Field Oxide

    Insulated glass

    Provide electrical isolation

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    19/97

    CMOS Process LayersLayer

    Polysilicon

    Metal1

    Metal2

    Contact To Poly

    Contact To Diffusion

    Via

    Well (p,n)

    Active Area (n+,p+)

    Color Representation

    Yellow

    Green

    Red

    Blue

    Magenta

    Black

    Black

    Black

    Select (p+,n+)Green

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    20/97

    Gate Layout

    Layout can be very time consuming

    Design gates to fit together nicely

    Build a library of standard cells

    Standard cell design methodology

    VDD and GND should abut (standard height)

    Adjacent gates should satisfy design rules

    nMOS at bottom and pMOS at top

    All gates include well and substrate contacts

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    21/97

    Layout

    Chips are specified with set of masks

    Minimum dimensions of masks determine transistor size (and hence

    speed, cost, and power)

    Feature sizef= distance between source and drain Set by minimum width of polysilicon

    Feature size improves 30% every 3 years or so

    Normalize for feature size when describing design rules

    Express rules in terms of l =f/2

    E.g. l = 0.3 mm in 0.6 mm process

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    22/97

    Inverter Layout

    Transistor dimensions specified as Width / Length

    Minimum size is 4l / 2l, sometimes called 1 unit

    Inf= 0.6 mm process, this is 1.2 mm wide, 0.6 mm long

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    23/97

    Example: Inverter

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    24/97

    Example: NAND3

    Horizontal N-diffusion and p-diffusion strips

    Vertical polysilicon gates

    Metal1 VDD rail at top Metal1 GND rail at bottom

    32 by 40

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    25/97

    NAND3 (using Electric), contd.

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    26/97

    Stick Diagrams

    Cartoon of a layout.

    Shows all components.

    Does not show exact placement, transistor sizes,

    wire lengths, wire widths, boundaries, or anyother form of compliance with layout or design rules.

    Useful for interconnect visualization, preliminary layout

    layout compaction, power/ground routing, etc.

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    27/97

    Stick Diagrams

    Stick diagrams help plan layout quickly

    Need not be to scale

    Draw with color pencils or dry-erase markers

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    28/97

    Stick Diagrams

    Stick diagrams help plan layout quickly

    Need not be to scale

    Draw with color pencils or dry-erase markers

    VinVout

    VDD

    GND

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    29/97

    Stick Diagrams

    Metal

    poly

    ndiff

    pdiff

    Can also draw

    in shades of

    gray/line style.

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    30/97

    Stick Diagram - Example I

    NOR Gate

    OUT

    B

    A

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    31/97

    Stick Diagrams

    Stick diagrams help plan layout quickly

    Need not be to scale

    Draw with color pencils or dry-erase markers

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    32/97

    Sticks Diagram

    1

    3

    In Out

    VDD

    GND

    Stick diagram of inverter

    Dimensionless layout entities Only topology is important Final layout generated by

    compaction program

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    33/97

    Activity 2

    Sketch a stick diagram for a 4-input NOR

    gate

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    34/97

    Activity 2 Sketch a stick diagram for a 4-input NOR gate

    AVDD

    GND

    B C

    Y

    D

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    35/97

    Design Rules

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    36/97

    Design Rules

    Interface between designer and process engineer

    Guidelines for constructing process masks

    Unit dimension: Minimum line widthscalable design rules: lambda parameter

    absolute dimensions (micron rules)

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    37/97

    Wiring Tracks

    A wiring trackis the space required for a wire 4 l width, 4 l spacing from neighbor = 8 l pitch

    Transistors also consume one wiring track

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    38/97

    Well spacing Wells must surround transistors by 6 l

    Implies 12 l between opposite transistor flavors

    Leaves room for one wire track

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    39/97

    Area Estimation Estimate area by counting wiring tracks

    Multiply by 8 to express in l

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    40/97

    Example: O3AI

    Sketch a stick diagram for O3AI and estimate area

    DCBAY ++= )(

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    41/97

    Example: O3AI

    Sketch a stick diagram for O3AI and estimate area

    DCBAY ++= )(

    E l O3AI

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    42/97

    Example: O3AISketch a stick diagram for O3AI and estimate area

    DCBAY ++= )(

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    43/97

    Simplified Design Rules

    Conservative rules to get you started

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    44/97

    Intra-Layer Design Rules

    Metal24

    3

    1 0

    90

    W e l l

    A c t i v e3

    3

    P o l y s i l i c o n

    2

    2

    D i f f e r e n t P o t e n t i a lS a m e P o t e n t i a l

    M e t a l 1 3

    3

    2

    C o n t a c to r V i a

    S e l e c t

    2

    o r6

    2H o l e

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    45/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    46/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    47/97

    Sequential Logic Cells

    Latch

    Flip-Flop

    Clocked Inverter

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    48/97

    D Latch Design

    Multiplexer chooses D or old Q

    1

    0

    D

    CLK

    Q CLK

    CLKCLK

    CLK

    DQ Q

    Q

    Old Q

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    49/97

    D Latch When CLK = 1, latch is transparent

    Q follows D (a buffer with a Delay)

    When CLK = 0, the latch is opaque

    Q holds its last value independent of D

    a.k.a. transparent latch orlevel-sensitive latch

    CLK

    D QLatch D

    CLK

    Q

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    50/97

    D Latch Operation

    CLK = 1

    D Q

    Q

    CLK = 0

    D Q

    Q

    D

    CLK

    Q

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    51/97

    D Flip-flop

    When CLK rises, D is copied to Q

    At all other times, Q holds its value

    a.k.a.positive edge-triggered flip-flop, master-slave flip-flop

    Flop

    CLK

    D Q

    D

    CLK

    Q

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    52/97

    D Flip-flop Design

    Built from master and slave D latches

    QM

    CLK

    CLKCLK

    CLK

    Q

    CLK

    CLK

    CLK

    CLK

    D

    Latch

    Latch

    D QQM

    CLK

    CLK

    A negative level-sensitive latch A positive level-sensitive latch

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    53/97

    D Flip-flop Operation

    CLK = 1

    D

    CLK = 0

    Q

    D

    QM

    QMQ

    D

    CLK

    Q

    Inverted version of D

    Q -> NOT(NOT(QM))

    Holds the last value of NOT(D)

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    54/97

    Race Condition

    Back-to-back flops canmalfunction from clock skew

    Second flip-flop fires Early

    Sees first flip-flop change

    and captures its result

    Called hold-time failure or

    race condition

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    55/97

    Timing ConstraintsR1

    D QCombinational

    Logic

    In

    CLK tCLK1

    R2

    D Q

    tCLK2

    tc qtc q, cdtsu, thold

    tlogict

    Minimum cycle time:

    T - = tc-q + tsu + tlogic

    Worst case is when receiving edge arrives early (positive )

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    56/97

    Timing ConstraintsR1

    D QCombinational

    Logic

    In

    CLK tCLK1

    R2D Q

    tCLK2

    tc qtc q, cdtsu, thold

    tlogict

    Hold time constraint:

    t(c-q, cd) + t(logic, cd) > thold +

    Worst case is when receiving edge arrives late

    Race between data and clock

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    57/97

    Nonoverlapping Clocks

    Nonoverlapping clocks can prevent races As long as nonoverlap exceeds clock skew

    Good for safe design

    Industry manages skew more carefully instead 1

    1 1

    1

    2

    2 2

    2

    2

    1

    QMQD

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    58/97

    Clocked Inverter

    A series combination of an inverter and a transmissiongate

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    59/97

    Datapath Logic Cells

    Adder

    Ripple, Carry Save, Carry Bypass, Carry Skip

    Carry Look ahead Adders ( Brent-Kung)

    Carry Select and Conditional Sum adder

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    60/97

    Adders

    A. Conventional number system.

    Carry-propagate adders / Ripple carry Adders (CPA / RCA)

    Carry-skip adder

    Carry-lookahead adder

    Carry-select adder

    Conditional-sum adder

    B. Redundant number system : limited carry propagation

    Carry-save adder

    F ll Add

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    61/97

    Full-Adder

    A B

    Cout

    Sum

    Cin Fulladder

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    62/97

    Full Adder Implementations

    Th Bi Add

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    63/97

    The Binary Adder

    S A B Ci

    =

    A= BCi A BCi AB Ci A B Ci+ + +

    Co

    A B B Ci

    A Ci

    + +=

    A B

    Cout

    Sum

    Cin Fulladder

    d f i f

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    64/97

    Express Sum and Carry as a function of P, G, D

    Define 3 new variable which ONLY depend on A, B

    Generate (G) = AB

    Propagate (P) = A B

    Delete/Kill= A

    B

    Can also derive expressions forSand Co based on D and P

    Propagate (P) = A + BNote that we will be sometimes using an alternate definition for

    Th Ri l C Add

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    65/97

    The Ripple-Carry Adder

    Worst case delay linear with the number of bits

    Goal: Make the fastest possible carry path circuit

    FA FA FA FA

    A0 B0

    S0

    A1 B1

    S1

    A2 B2

    S2

    A3 B3

    S3

    Ci,0 Co,0

    (= Ci,1)

    Co,1 Co,2

    td= O(N)

    tadder= (N-1)tcarry+ tsum

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    66/97

    C B Add

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    67/97

    Carry-Bypass Adder

    FA FA FA FA

    P0 G1 P0 G1 P2 G2 P3 G3

    Co,3Co, 2Co ,1Co,0Ci,0

    F A FA FA FA

    P0 G1 P0 G1 P2 G2 P3 G3

    Co,2Co, 1Co ,0Ci,0

    Co,3

    Multiplexer

    BP=PoP1P2P3

    Idea: If (P0 and P1 and P2 and P3 = 1)

    then Co3 = C0, else kill or generate.

    Also called

    Carry-Skip

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    68/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    69/97

    Carry Skip Adder

    L kAh d B i Id

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    70/97

    LookAhead - Basic Idea

    Co k, f A k Bk Co k, 1, ,( )Gk P kCo k 1,+= =

    AN-1, BN-1A1, B1

    P1

    S1

    SN-1

    PN-1Ci, N-1

    S0

    P0Ci,0 Ci,1

    A

    L k Ah d T l

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    71/97

    Look-Ahead: Topology

    Co k,Gk Pk Gk 1 Pk 1 Co k 2,

    +( )+=

    Co k, Gk Pk Gk 1 P k 1 P1 G0 P0 Ci 0,+( )+( )+( )+=

    Expanding Lookahead equations:

    All the way:

    Co,3

    Ci,0

    VDD

    P0

    P1

    P2

    P3

    G0

    G1

    G2

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    72/97

    Carry Lookahead Trees

    Co 0, G0 P0Ci 0,+=

    Co 1,

    G1

    P1

    G0

    P1

    P0

    Ci 0,

    + +=

    Co 2, G2 P2G1 P2 P1G0 P+ 2 P1P0C i 0,+ +=

    G2 P2G1+( )= P2P1( )G0 P0Ci 0,+( )+ G 2:1 P2:1Co 0,+=

    Can continue building the tree hierarchically.

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    73/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    74/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    75/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    76/97

    Multipliers

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    77/97

    Multipliers

    The Binary Multiplication

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    78/97

    The Binary Multiplication

    x

    +

    Partial products

    Multiplicand

    Multiplier

    Result

    1 0 1 0 1 0

    1 0 1 0 1 0

    1 0 1 0 1 0

    1 1 1 0 0 1 1 1 0

    0 0 0 0 0 0

    1 0 1 0 1 0

    1 0 1 1

    Canonical Signed Digit Vector

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    79/97

    Note : B = Binary Number, D= CSD vector

    Ci+1 is the Carry from the sum of Bi+1 + Bi + Ci ( start with C0=0)

    Canonical Signed Digit Vector

    Booths Algorithm

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    80/97

    Booth s Algorithm

    Booths Algorithm Rules

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    81/97

    g

    Booths Algorithm An Example

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    82/97

    Booth s Algorithm An Example

    Radix-4 Modified Booths Algorithm

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    83/97

    g

    Radix-4 Booths Algorithm Rules

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    84/97

    Radix-4 Versus Radix-2 Booths Algorithm

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    85/97

    Residue Number System: Continued

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    86/97

    A residue number system (RNS)represents a large integer using a set of

    smaller integers, so that computation

    may be performed more efficiently

    We add, subtract or multiply residue

    numbers using modules of each bitposition - without any carry.

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    87/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    88/97

    Other Datapath Operators

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    89/97

    Subtracter

    Barrel-Shifter

    Leading-one detector

    Priority Encoder Accumulator

    Decrementer

    All-zeros / ones detector

    Register File

    FIFO

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    90/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    91/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    92/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    93/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    94/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    95/97

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    96/97

    Summary

    ASIC Cell Libraries

    CMOS Logic :Logic Levels, Design Rules

    Layout, Stick diagrams

    Sequential & Data Path Logic Cells

    Residue Number Systems

    I/O Cells

  • 8/8/2019 DES_EDA_609_Lecture2_Oct03_2010

    97/97

    Next Class

    ASIC Library Design:

    Logical Effort,

    Library-Cell Design,

    Gate-Array Design,

    Standard-Cell Design.