combinational circuit design - national chiao tung...

60
Introduction to VLSI and System-on-Chip Design Combinational Circuit Design Lan-Da Van (范倫達), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2009 [email protected] http://www.cs.nctu.edu.tw/~ldvan/

Upload: lyduong

Post on 30-Apr-2018

219 views

Category:

Documents


5 download

TRANSCRIPT

  • Introduction to VLSI and System-on-Chip Design

    Combinational Circuit Design

    Lan-Da Van (), Ph. D.Department of Computer ScienceNational Chiao Tung University

    Taiwan, R.O.C.Fall, 2009

    [email protected]

    http://www.cs.nctu.edu.tw/~ldvan/

  • Lan-Da Van VLSI-05-2

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    OutlinesIntroductionStatic CMOS Circuits

    Static Complementary Logic GatesAsymmetric GateSkewed GateP/N ratios

    Ratioed CircuitsPseudo-nMOS GatesDifferential Cascode Voltage Switch Logic (DCVSL)

    Dynamic CMOS CircuitsDomino Logic

    Transmission GateConclusion

  • Lan-Da Van VLSI-05-3

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Universal/CompleteA set of functions f1, f2, ..fn is universal/complete iffevery Boolean function can be generated by a combination of the functions.{AND, OR, Inverter} is universal/complete. However, {AND, OR} is not universal/complete.AOI = and/or/invert; OAI = or/and/invert.NAND is a universal/complete gate; NOR is a universal/complete gate. How to prove??Transmission gates are not universal/complete gate.If your set of logic gates is not universal/complete, you cant design arbitrary logic.

  • Lan-Da Van VLSI-05-4

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Logical Effort Factor

    What makes a circuit fast?I=CdV/dt => Low capacitanceHigh currentSmall swing

    Logical effort is proportional to C/IpMOS are the enemy!!

    High capacitance for a given currentCan we take the pMOS capacitance off the input?Various circuit families try to do this

    VICt pd )/(

  • Lan-Da Van VLSI-05-5

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    OutlinesIntroductionStatic CMOS Circuits

    Static Complementary Logic GatesAsymmetric GateSkewed GateP/N ratios

    Ratioed CircuitsPseudo-nMOS GatesDifferential Cascode Voltage Switch Logic (DCVSL)

    Dynamic CMOS CircuitsDomino Logic

    Transmission GateConclusion

  • Lan-Da Van VLSI-05-6

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Static Complementary GatesStatic: do not rely on the stored charge.Complementary: have complementary pullup (p-type) and pulldown (n-type) networks.Simple, effective, reliable; hence ubiquitous.

    pullupnetwork

    pulldownnetwork

    VDD

    VSS

    outinputs

  • Lan-Da Van VLSI-05-7

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Pullup/Pulldown Network Design

    Pullup and pulldown networks are duals.To design one gate, first design one network, and then compute dual to get other network.Design Steps

    Step 1: Formulate Boolean function in fully complement formStep 2: Implement the fully complement form using nMOS(i.e., pull-down network).Step 3: Complement the pull-down network to obtain dual network (i.e., pull-up network) using pMOS.

  • Lan-Da Van VLSI-05-8

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    NAND Gate

  • Lan-Da Van VLSI-05-9

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    NOR Gate

  • Lan-Da Van VLSI-05-10

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Compound GateAn and-or-invert-21 (AOI-21) gate:out = [ab+c]

    symbol circuit

    and

    or

    invert

    Network

    Dual Network

  • Lan-Da Van VLSI-05-11

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Complex CMOS Gate VDD

    AB

    C

    D

    DA

    B C

    OUT = D + A (B+C)

  • Lan-Da Van VLSI-05-12

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Logical Effort of Compound Gate

    ABCD

    Y

    ABC Y

    A

    BC

    C

    A B

    A

    B

    C

    D

    A

    C

    B

    D

    2

    21

    4

    44

    2

    2 2

    2

    4

    4 4

    4

    gA = 6/3

    gB = 6/3

    gC = 5/3

    p = 7/3

    gA = 6/3

    gB = 6/3

    gC = 6/3

    p = 12/3

    gD = 6/3

    YA

    A Y

    gA = 3/3

    p = 3/3

    2

    1YY

    unit inverter AOI21 AOI22

    A

    C

    DE Y

    B

    Y

    B C

    A

    D

    E

    A

    B

    C

    D E

    gA = 5/3

    gB = 8/3

    gC = 8/3

    gD = 8/3

    2

    2 2

    22

    6

    6

    6 6

    3

    p = 16/3

    gE = 8/3

    Complex AOI

    Y A B C= + Y A B C D= + ( )Y A B C D E= + +Y A=

  • Lan-Da Van VLSI-05-13

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Example: Delay Calculation (1/3)

    Calculate the minimum delay of the function F=AB+CD using the following circuits. Each input has a maximum of 20 ut of transistor width. The output must drive a load equivalent to 100 ut of transistor width. Estimate the transistor sizes to achieve this delay.

    H = 100 / 20 = 5B = 1N = 2

  • Lan-Da Van VLSI-05-14

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    NAND Solution (2/3)

    100.3

    9/8051)9/16(9/16)3/4()3/4(

    422

    =+=

    ==

    =====

    =+=

    PfND

    Ff

    GBHFGP

    N

  • Lan-Da Van VLSI-05-15

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Compound Solution (3/3)

    4.112.3

    105122)1()3/6(

    513/12

    =+=

    ==

    =====

    =+=

    PfND

    Ff

    GBHFGP

    N

  • Lan-Da Van VLSI-05-16

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Example: Width Calculation (1/2)

    Annotate your designs with transistor sizes that achieve this delay.

    44,

    , =

    =f

    gCC iioutiin 31

    ,, =

    =

    f

    gCC iioutiin

    p2

    n2

    p1

    n1

    p1

    n1

  • Lan-Da Van VLSI-05-17

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Example: Width Calculation (2/2)

    Annotate your designs with transistor sizes that achieve this delay.

  • Lan-Da Van VLSI-05-18

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Symmetric Gate

    Our parasitic delay model was too simpleCalculate parasitic delay for Y falling

    If input A is critical.If input B is critical.

  • Lan-Da Van VLSI-05-19

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Asymmetric Gates

    Asymmetric gates favor one input over anotherEx: suppose input A of a NAND gate is most critical

    Use smaller transistor on A (less capacitance)Boost size of noncritical inputSo total resistance is same

    gA = 10/9greset = 2gavg = (gA + greset)/2 = 14/9

    Asymmetric gate approaches g = 1 on critical inputBut total logical effort goes up

  • Lan-Da Van VLSI-05-20

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Skew Definition

    Skewed gates favor one edge over another

  • Lan-Da Van VLSI-05-21

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Skewed Gates

    Skewed gates favor one edge over anotherEx: suppose rising output of inverter is most critical

    Downsize noncritical nMOS transistor

    Calculate logical effort by comparing to unskewed inverter with same effective resistance on that edge.

    gu = 2.5 / 3 = 5/6gd = 2.5 / 1.5 = 5/3

  • Lan-Da Van VLSI-05-22

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Logical Effort for Skew Gate

    Def: Logical effort of a skewed gate for a particular transition is the ratio of the input capacitance of that gate to the input capacitance of an unskewed inverter delivering the same output current for the same transition.Skewed gates reduce size of noncritical transistors

    HI-skew gates favor rising output (small nMOS)LO-skew gates favor falling output (small pMOS)

    Logical effort is smaller for favored direction; but larger for the other direction

  • Lan-Da Van VLSI-05-23

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Logical Effort of Skewed Gates

    1/2

    2A Y

    1

    1

    22

    B

    AY

    BA

    1/21/2

    4

    4

    1

    1A Y

    2

    2

    11

    B

    AY

    BA

    11

    2

    2

    gu = 5/6gd = 5/3gavg = 5/4

    gu = 4/3gd = 2/3gavg = 1

    gu = 1gd = 2gavg = 3/2

    gu = 2gd = 1gavg = 3/2

    gu = 3/2gd = 3gavg = 9/4

    gu = 2gd = 1gavg = 3/2

    Y

    Y

    1

    2A Y

    2

    2

    22

    B

    AY

    BA

    11

    4

    4

    gu = 1gd = 1gavg = 1

    gu = 4/3gd = 4/3gavg = 4/3

    gu = 5/3gd = 5/3gavg = 5/3

    Y

  • Lan-Da Van VLSI-05-24

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Best P/N Ratio

    Prove that the P/N ratio that gives lowest average delay in a logic gate is the square root of the ratio that gives equal rise and fall delays.Sol: For inverter, we have selected P/N ratio (i.e, k) for unit rise and fall resistance.

    Using logical effort => tpdf = (P+1)(1/(I+k))Using logical effort => tpdr = (P+1)(1/(P+P/k))tpd = (P+1)(1+k/P)/(2x(1+k)) = (P + 1 + k + k/P)/)/ (2x(1+k))Differentiate tpd w.r.t. PLeast delay is P = k1/2

    Ref. CKT

  • Lan-Da Van VLSI-05-25

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    P/N Ratios

    In general, best P/N ratio is sqrt of that giving equal delay.

    Only improves average delay slightly for invertersBut significantly decreases area and power

  • Lan-Da Van VLSI-05-26

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Pseudo-nMOS

    In the old days, nMOS processes had no pMOSInstead, use pull-up transistor that is always ON

    In CMOS, use a pMOS that is always ONRatio issueMake pMOS about effective strength of pulldown network

    out

    in

    ds

    0 0.3 0.6 0.9 1.2 1.5 1.80

    0.3

    0.6

    0.9

    1.2

    1.5

    1.8

    P = 24

    P = 4

    P = 14

    Vin

    Vout

    Strong Pull-down

    Weak Pull-up

  • Lan-Da Van VLSI-05-27

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Pseudo-nMOS Characteristics

    Logic 1 output is always at VDD.Logic 0 output is above VSS.

    VOL = 0.25 (VDD - VSS) is one plausible choice.

    Consumes static power.Has much smaller pullup network than static gate.Asymmetrical response. Pullup time is longer than pulldown time.

  • Lan-Da Van VLSI-05-28

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Pseudo-nMOS NAND gate

    VDD

    GND

  • Lan-Da Van VLSI-05-29

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Logical Effort of Pseudo-nMOSGates

    Design for unit current on outputto compare with unit inverter.pMOS fights nMOS

  • Lan-Da Van VLSI-05-30

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Pseudo-nMOS Design

    Ex: Design a k-input AND gate using pseudo-nMOS. Estimate the delay driving a fanout of H

    G = 1 * 8/9 = 8/9F = GBH = 8H/9P = 1 + (4+8k)/9 = (8k+13)/9N = 2D = NF1/N + P =

    1

    k

    4 2 8 133 9

    H k ++

  • Lan-Da Van VLSI-05-31

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Pseudo-nMOS Power

    Pseudo-nMOS draws power whenever Y = 0Called static power P = IVDDA few mA / gate * 1M gates would be a problem

    Use pseudo-nMOS sparingly for wide NORsTurn off pMOS when not in use

  • Lan-Da Van VLSI-05-32

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    DCVS Logic OperationDCVSL = differential cascode voltage switch logic.Static logicconsumes no static power.Uses latch to compute output quickly.Exactly one of true/complement pulldown networks will complete a path to the power supply. (i.e., requires true/complement inputs, produces true/complement outputs.)Pulldown network will lower output voltage, turning on other p-type, which also turns off p-type for node which is going down.

  • Lan-Da Van VLSI-05-33

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    DCVS Structure

  • Lan-Da Van VLSI-05-34

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Example: DCVSL

  • Lan-Da Van VLSI-05-35

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    OutlinesIntroductionStatic CMOS Circuits

    Static Complementary Logic GatesAsymmetric GateSkewed GateP/N ratios

    Ratioed CircuitsPseudo-nMOS GatesDifferential Cascode Voltage Switch Logic (DCVSL)

    Dynamic CMOS CircuitsDomino Logic

    Transmission GateConclusion

  • Lan-Da Van VLSI-05-36

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Dynamic Logic Operation

    Uses precharge clock to compute output in two phases:Controlled by clock .Precharge: p-type pullup precharges the storage node; inverter ensures that output goes low.Evaluate: storage node may be pulled down, so output goes up.

    Output inverter is needed for two reasons:make sure that outputs start low, go high so that domino output can be connected to another domino gate (monotonic input rising)protects storage node from outside influence.

  • Lan-Da Van VLSI-05-37

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Comparison of Three Gates

    Dynamic gates uses a clocked pMOS pullupTwo modes: precharge and evaluate

    gDYNAMIC=1/3gPSEUDO=8/9gSTATIC=1

  • Lan-Da Van VLSI-05-38

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Logical Effort of Dynamic Gates

    1

    1

    AY

    2

    2

    1

    B

    AY

    A B 11

    1

    gd = 1/3pd = 2/3

    gd = 2/3pd = 3/3

    gd = 1/3pd = 3/3

    Y

    2

    1

    AY

    3

    3

    1

    B

    AY

    A B 22

    1

    gd = 2/3pd = 3/3

    gd = 3/3pd = 4/3

    gd = 2/3pd = 5/3

    Y

    32 2

  • Lan-Da Van VLSI-05-39

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Dynamic Effect with Monotonicity

    Dynamic gates require monotonically rising inputs (A) during evaluation

    0 -> 00 -> 11 -> 1But not 1 -> 0

    Gate outputs fall in sequence:

    gate 1 gate 2 gate 3

  • Lan-Da Van VLSI-05-40

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Monotonicity Woes

    But dynamic gates produce monotonically falling outputs during evaluationIllegal for one dynamic gate to drive another!

  • Lan-Da Van VLSI-05-41

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Domino Gates (1/2)

  • Lan-Da Van VLSI-05-42

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Domino Gates (2/2)

    Follow dynamic stage with inverting static gateDynamic / static pair is called domino gateProduces monotonic outputs

    A

    W

    B C

    X Y Z

    domino AND

    dynamicNAND

    staticinverter

  • Lan-Da Van VLSI-05-43

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Dual-Rail Domino

    Domino only performs noninverting functions:AND, OR but not NAND, NOR, or XOR

    Dual-rail domino solves this problemTakes true and complementary inputs Produces true and complementary outputs

    sig_h sig_l Meaning

    0 0 Precharged

    0 1 0

    1 0 1

    1 1 invalid

    Y_h

    finputs

    Y_l

    f

  • Lan-Da Van VLSI-05-44

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Example: AND/NAND

    Given A_h, A_l, B_h, B_lCompute Y_h = A * B, Y_l = ~(A * B)Pulldown networks are conduction complements

  • Lan-Da Van VLSI-05-45

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Example: XOR/XNOR

    Sometimes possible to share transistors

    Y_hY_lA_l

    B_h

    = A xor B

    B_l

    A_hA_lA_h= A xnor B

  • Lan-Da Van VLSI-05-46

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Leakage

    Dynamic node floats high during evaluationTransistors are leaky (IOFF 0)Dynamic value will leak away over timeFormerly miliseconds, now nanoseconds!

    Use keeper to hold dynamic nodeMust be weak enough not to fight evaluation

    Make Sable state but power still lose

  • Lan-Da Van VLSI-05-47

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Charge Sharing

    Dynamic gates suffer from charge sharing

    x

    Y

    A

    x

    Y

    Charge sharing noise

    Yx Y DD

    x Y

    CV V VC C

    = =+

  • Lan-Da Van VLSI-05-48

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Domino Summary

    Domino logic is attractive for high-speed circuits1.5 2x faster than static CMOSBut many challenges:

    MonotonicityLeakageCharge sharingNoise

    Widely used in high-performance microprocessors

  • Lan-Da Van VLSI-05-49

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Comparison of Circuit Families

  • Lan-Da Van VLSI-05-50

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    OutlinesIntroduction: Combinational Logic FunctionsStatic CMOS Circuits

    Static Complementary Logic GatesAsymmetric GateSkewed GateP/N ratios

    Ratioed CircuitsPseudo-nMOS GatesCascode Voltage Switch Logic

    Dynamic CMOS CircuitsDomino Logic

    Transmission GateConclusion

  • Lan-Da Van VLSI-05-51

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Switch LogicCan implement Boolean formulas as networks of switches.Can build switches from MOS transistorstransmission gates.Transmission gates do not amplify but have smaller layouts.

  • Lan-Da Van VLSI-05-52

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Boolean Functions and Switches

    Pseudo-AND Pseudo-OR

    b

    ab

    a

    ab + ab

    Switch network inputs may be connected to power supply or logic signals.If switch network output is not connected to power supply through switch path, output will float.

  • Lan-Da Van VLSI-05-53

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Switch Multiplexer

  • Lan-Da Van VLSI-05-54

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Pass Transistor Circuits

    Use pass transistors like switches to do logicInputs drive diffusion terminals as well as gatesCMOS + Transmission Gates:

    2-input multiplexerGates should be restoring

  • Lan-Da Van VLSI-05-55

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Behavior of n-type Switchn-type switch has source-drain voltage drop when conducting:

    conducts logic 0 perfectly;introduces threshold drop into logic 1.

    Voltage drop causes next stage to be turned on weakly.

    VDD VDD - Vt

    VDD

    VDD VDD - Vt

    VDD

  • Lan-Da Van VLSI-05-56

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Behavior of Complementary Switch

    Complementary switch products full-supply voltages for both logic 0 and logic 1:

    n-type transistor conducts logic 0;p-type transistor conducts logic 1.

    Has two source/drain areas compared to one for inverter.

  • Lan-Da Van VLSI-05-57

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Charge SharingInterior nodes in a switch network may not be driven.Charge can accumulate on small parasitic capacitances.Shared charge can produce erroneous output values.At undriven nodes, charge is divided according to capacitance ratio.

  • Lan-Da Van VLSI-05-58

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Example: Charge SharingLong chains of switches have intermediate nodes which may be disconnected from power supplies.

    CabCia Cbc

  • Lan-Da Van VLSI-05-59

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Charge Over Time

    Time i Cia a Cab b Cbc c C0 1 1 1 1 1 1 1 1

    1 0 0 1 0 0 1 0 1

    2 0 0 0 1/2 1 1/2 0 1

    3 0 0 0 1/2 0 3/4 1 3/4

    4 0 0 1 0 0 3/4 0 3/4

    5 0 0 0 3/8 1 3/8 0 3/4

    Make sure that for every input combination, there is a path from the power supply to the output.

  • Lan-Da Van VLSI-05-60

    Lecture 5

    Introduction to VLSI and System-on-Chip Design

    Conclusions

    You should learn in depth about the following topics:

    Static CMOS CircuitsDynamic CMOS CircuitsTransmission Gates

    Combinational Circuit DesignOutlinesUniversal/CompleteLogical Effort FactorOutlinesStatic Complementary GatesPullup/Pulldown Network DesignNAND GateNOR GateCompound GateComplex CMOS GateLogical Effort of Compound GateExample: Delay Calculation (1/3)NAND Solution (2/3)Compound Solution (3/3)Example: Width Calculation (1/2)Example: Width Calculation (2/2)Symmetric GateAsymmetric GatesSkew DefinitionSkewed GatesLogical Effort for Skew GateLogical Effort of Skewed GatesBest P/N RatioP/N RatiosPseudo-nMOSPseudo-nMOS CharacteristicsPseudo-nMOS NAND gateLogical Effort of Pseudo-nMOS GatesPseudo-nMOS DesignPseudo-nMOS PowerDCVS Logic OperationDCVS StructureExample: DCVSLOutlinesDynamic Logic OperationComparison of Three GatesLogical Effort of Dynamic GatesDynamic Effect with MonotonicityMonotonicity WoesDomino Gates (1/2)Domino Gates (2/2)Dual-Rail DominoExample: AND/NANDExample: XOR/XNORLeakageCharge SharingDomino SummaryComparison of Circuit FamiliesOutlinesSwitch LogicBoolean Functions and SwitchesSwitch MultiplexerPass Transistor CircuitsBehavior of n-type SwitchBehavior of Complementary SwitchCharge SharingExample: Charge SharingCharge Over TimeConclusions