25
CMPEN 411 L06 S.1 CMPEN 411 VLSI Digital Circuits Lecture 06: Static CMOS Logic Kyusun Choi [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]

CMPEN 411 VLSI Digital Circuits Lecture 06: Static CMOS Logickxc104/class/cmpen411/16s/lec/C411L06... · 2015. 1. 7. · Lecture 06: Static CMOS Logic Kyusun Choi [Adapted from Rabaey’sDigital

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • CMPEN 411 L06 S.1

    CMPEN 411VLSI Digital Circuits

    Lecture 06: Static CMOS Logic

    Kyusun Choi

    [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]

  • CMPEN 411 L06 S.2

    Review: CMOS Process at a Glance

    Define active areas

    Etch and fill trenches

    Implant well regions

    Deposit and patternpolysilicon layer

    Implant source and drainregions and substrate contacts

    Create contact and via windowsDeposit and pattern metal layers

    One full photolithographysequence per layer (mask)

    Built (roughly) from the bottom up

    4 metal

    2 polysilicon

    3 source and drain diffusions

    1 tubs (aka wells, active areas)

    exception!

  • CMPEN 411 L06 S.3

    CMOS Circuit Styles

    Static complementary CMOS - except during switching, output connected to either VDD or GND via a low-resistance path

    high noise margins

    - full rail to rail swing

    - VOH and VOL are at VDD and GND, respectively

    low output impedance, high input impedance

    no steady state path between VDD and GND (no static power consumption)

    delay a function of load capacitance and transistor resistance

    comparable rise and fall times (under the appropriate transistor sizing conditions)

    Dynamic CMOS - relies on temporary storage of signal values on the capacitance of high-impedance circuit nodes

    simpler, faster gates

    increased sensitivity to noise

  • CMPEN 411 L06 S.4

    Static Complementary CMOS

    VDD

    F(In1,In2,…InN)

    In1In2

    InN

    In1In2

    InN

    PUN

    PDN

    Pull-up network (PUN) and pull-down network (PDN)

    PMOS transistors only

    pull-up: make a connection from VDD to F

    when F(In1,In2,…InN) = 1

    NMOS transistors only

    pull-down: make a connection from F to

    GND when F(In1,In2,…InN) = 0

    Question : How many transistors are used to implement

    N-input function F(In1,In2,…InN) ?

  • CMPEN 411 L06 S.5

    Construction of PDN

    NMOS devices in series implement a NAND function

    NMOS devices in parallel implement a NOR function

    A

    B

    A • B

    A B

    A + B

  • CMPEN 411 L06 S.6

    Dual PUN and PDN

    PUN and PDN are dual networks

    DeMorgan’s theorems

    A + B = A • B [!(A + B) = !A • !B or !(A | B) = !A & !B]

    A • B = A + B [!(A • B) = !A + !B or !(A & B) = !A | !B]

    a parallel connection of transistors in the PUN corresponds to a series connection of the PDN

    Complementary gate is naturally inverting (NAND, NOR, AOI, OAI)

    Number of transistors for an N-input logic gate is 2N

  • CMPEN 411 L06 S.7

    CMOS NAND

    A

    B

    A • B

    A B

    A B F

    0 0 1

    0 1 1

    1 0 1

    1 1 0

    A

    B

  • CMPEN 411 L06 S.8

    CMOS NOR

    A + B

    A

    BA B F

    0 0 1

    0 1 0

    1 0 0

    1 1 0

    A B

    A

    B

  • CMPEN 411 L06 S.10

    Complex CMOS Gate

    OUT = !(D + A • (B + C))

    D

    A

    B C

    D

    A

    B

    C

  • CMPEN 411 L06 S.11

    Static Complementary CMOS

    VDD

    F(In1,In2,…InN)

    In1In2

    InN

    In1In2

    InN

    PUN

    PDN

    Question1: why PUN are PMOS only and PDN

    are NMOS only?

    Naturally inverting, implementing only functions such as NAND, NOR, and XNOR in a single stage.

    PMOS transistors only

    pull-up: make a connection from VDD to F

    when F(In1,In2,…InN) = 1

    NMOS transistors only

    pull-down: make a connection from F to

    GND when F(In1,In2,…InN) = 0

  • CMPEN 411 L06 S.13

    Threshold Drops

    VDD

    VDD 0PDN

    0 VDD

    CL

    CL

    PUN

    VDD

    0 VDD - VTn

    CL

    VDD

    VDD

    VDD |VTp|

    CL

    S

    D S

    D

    VGS

    S

    SD

    D

    VGS

  • CMPEN 411 L06 S.14

    Standard Cell Layout Methodology

    signals

    Routing

    channel

    VDD

    GND

    What logic function is this?

  • CMPEN 411 L06 S.15

    OAI21 Logic Graph

    C

    A B

    X = !(C • (A + B))

    B

    A

    C

    i

    j

    j

    VDDX

    X

    i

    GND

    AB

    C

    PUN

    PDN

    ABC

  • CMPEN 411 L06 S.16

    Two Stick Layouts of !(C • (A + B))

    A B C

    X

    VDD

    GND

    X

    CA B

    VDD

    GND

    uninterrupted diffusion strip

    crossover requiring vias

  • CMPEN 411 L06 S.18

    Consistent Euler Path

    j

    VDDX

    X

    i

    GND

    AB

    C

    A B C

    An uninterrupted diffusion strip is possible only if there exists a Euler path in the logic graph

    Euler path: a path through all nodes in the graph such that each edge is visited once and only once.

    For a single poly strip for every input signal, the Euler paths in the PUN and PDN must be consistent (the same)

  • CMPEN 411 L06 S.19

    OAI22 Logic Graph

    C

    A B

    X = !((A+B)•(C+D))

    B

    A

    D

    VDDX

    X

    GND

    AB

    C

    PUN

    PDN

    C

    D

    D

    ABCD

  • CMPEN 411 L06 S.20

    OAI22 Layout

    BA D

    VDD

    GND

    C

    X

    Some functions have no consistent Euler path like x = !(a + bc + de) (but x = !(bc + a + de) does!)

  • CMPEN 411 L06 S.21

    XNOR/XOR Implementation

    A

    B

    A B

    A B

    A

    B

    XNOR XOR

    A B

    A

    B

    A

    B

    A B

    Can you create the stick transistor layout for the lower left circuit?

    How many transistors in each?

  • CMPEN 411 L06 S.24

    Static CMOS Full Adder Circuit (page 565)

    B

    B B

    B B

    B

    B

    B

    A

    A

    A

    A

    A

    AA

    A

    Cin

    Cin

    Cin

    Cin

    Cin!Cout !Sum

    Cout=AB+BCin+ACin

    Cout = Cin & (A | B) | (A & B)

    Sum = ABCin+!Cout(A+B+Cin)

    Sum = !Cout & (A | B | Cin) | (A & B & Cin)

    # transistors = 24+4

  • CMPEN 411 L06 S.25

    Two chips you are seeing today

    Microprocessor ASIC (Application Specific IC)

  • CMPEN 411 L06 S.26

    Standard Cell Library

    NAND INV

  • CMPEN 411 L06 S.27

    Standard Cell Library

    NAND INV NAND

  • CMPEN 411 L06 S.28

    The design flow

    VHDL

    (decoder.vhd)

    Simulation Synthesis

    Verilog netlist

    (decoder.v)

    Place/Route

    Physical layout

    (decoder.cif)

    Standard

    Cell Lib

  • CMPEN 411 L06 S.29

    The IBM ASIC Design Flow

  • CMPEN 411 L06 S.30

    Next Lecture and Reminders

    Next lecture

    Pass transistor logic

    - Reading assignment – Rabaey, et al, 6.2.3