ESE370: Circuit-Level Modeling, Design, and Optimizationese370/fall2020/handouts/lec...1 ESE370:...

Preview:

Citation preview

  • 1

    ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems

    Lec 21: October 26, 2020Distributed RC Wire and Elmore Delay

    Penn ESE 370 Fall 2020 - Khanna

    1

    Today

    ! Estimate delay in RC Network" Elmore delay calculation

    ! Apply to wire delay! Apply to pass transistor circuits

    2Penn ESE 370 Fall 2020 - Khanna

    2

    Previously: Equivalent RC

    3Penn ESE 370 Fall 2020 - Khanna

    3

    Previously: Distributed RC (preclass 1)

    ! What are the time constants?

    Penn ESE 370 Fall 2020 - Khanna 4

    1 2 3 4 5 6 7 8 9 10 (ns)

    4

    Elmore Delay: Distributed RC network

    ! The delay from source s to node 5" N = number of nodes in circuit

    5Penn ESE 370 Fall 2020 ā€“ Khanna

    5

    C5

    š‘…!" =#š‘…# ā‡’ (š‘…# āˆˆ š‘š‘Žš‘”ā„Ž š‘  ā†’ 5 āˆ©š‘š‘Žš‘”ā„Ž š‘  ā†’ š‘˜ )

    šœ$! =#"%&

    '

    š¶"š‘…!"

    5

    Elmore Delay: Distributed RC network

    ! The delay from source s to node 5" N = number of nodes in circuit

    6Penn ESE 370 Fall 2020 ā€“ Khanna

    5

    C5

    š‘…!" =#š‘…# ā‡’ (š‘…# āˆˆ š‘š‘Žš‘”ā„Ž š‘  ā†’ 5 āˆ©š‘š‘Žš‘”ā„Ž š‘  ā†’ š‘˜ )

    šœ$! =#"%&

    '

    š¶"š‘…!"

    6

  • 2

    Elmore Delay: Distributed RC network

    ! The delay from source s to node 5" N = number of nodes in circuit

    7Penn ESE 370 Fall 2020 ā€“ Khanna

    5

    C5

    š‘…!" =#š‘…# ā‡’ (š‘…# āˆˆ š‘š‘Žš‘”ā„Ž š‘  ā†’ 5 āˆ©š‘š‘Žš‘”ā„Ž š‘  ā†’ š‘˜ )

    šœ$! =#"%&

    '

    š¶"š‘…!"

    k=4

    7

    Elmore Delay: Distributed RC network

    ! The delay from source s to node 5" N = number of nodes in circuit

    8Penn ESE 370 Fall 2020 ā€“ Khanna

    k=4

    5

    C5

    š‘…!" =#š‘…# ā‡’ (š‘…# āˆˆ š‘š‘Žš‘”ā„Ž š‘  ā†’ 5 āˆ©š‘š‘Žš‘”ā„Ž š‘  ā†’ š‘˜ )

    šœ$! =#"%&

    '

    š¶"š‘…!"

    8

    Elmore Delay: Distributed RC network

    ! The delay from source s to node 5" N = number of nodes in circuit

    9Penn ESE 370 Fall 2020 ā€“ Khanna

    5

    C5

    k=4

    š‘…!" =#š‘…# ā‡’ (š‘…# āˆˆ š‘š‘Žš‘”ā„Ž š‘  ā†’ 5 āˆ©š‘š‘Žš‘”ā„Ž š‘  ā†’ š‘˜ )

    šœ$! =#"%&

    '

    š¶"š‘…!"

    š‘…!" = š‘…# + š‘…$

    9

    Elmore Delay: Distributed RC network

    ! The delay from source s to node 5" N = number of nodes in circuit

    10Penn ESE 370 Fall 2020 ā€“ Khanna

    5

    C5

    š‘…!" =#š‘…# ā‡’ (š‘…# āˆˆ š‘š‘Žš‘”ā„Ž š‘  ā†’ 5 āˆ©š‘š‘Žš‘”ā„Ž š‘  ā†’ š‘˜ )

    šœ$! =#"%&

    '

    š¶"š‘…!" =?

    10

    Elmore Delay: Distributed RC network

    ! The delay from source s to node 5" N = number of nodes in circuit

    11Penn ESE 370 Fall 2020 ā€“ Khanna

    5

    C5

    š‘…!" =#š‘…# ā‡’ (š‘…# āˆˆ š‘š‘Žš‘”ā„Ž š‘  ā†’ 5 āˆ©š‘š‘Žš‘”ā„Ž š‘  ā†’ š‘˜ )

    šœ$! =#"%&

    '

    š¶"š‘…!" =?

    11

    What is response?

    12Penn ESE 370 Fall 2020 - Khanna

    y

    P

    Q

    P

    Q

    12

  • 3

    SPICE Response

    13Penn ESE 370 Fall 2020 - Khanna

    1 2 3 4 5 6 7 8 9 10 (ns)

    13

    Elmore Delay: Practice (preclass 1)

    ! The delay from source s to node i" N = number of nodes in circuit

    14

    Rik = Rjāˆ‘ ā‡’ (Rj āˆˆ [path(sā†’ i)āˆ© path(sā†’ k)])

    Penn ESE 370 Fall 2020 - Khanna

    Ļ„ Di = CkRikk=1

    N

    āˆ‘

    14

    Apply (preclass 1)

    ! What is Elmore delay?" S #Z

    15Penn ESE 370 Fall 2020 - Khanna

    /z

    zy

    C1 C2

    C3

    s

    15

    SPICE Response

    16Penn ESE 370 Fall 2020 - Khanna

    1 2 3 4 5 6 7 8 9 10 (ns)

    C1 C2

    C3

    16

    Elmore Delay: Special Ladder Case

    ! For each resistor Ck in path" Compute Rkk = sum of all Rs upstream of Ck

    17

    Ļ„DN = Ckk=1

    N

    āˆ‘ Rjj=1

    k

    āˆ‘ = Ckk=1

    N

    āˆ‘ Rkk

    Penn ESE 370 Fall 2020 - Khanna

    17

    Elmore Delay: Special Ladder Case

    ! For each resistor Ck in path" Compute Rkk = sum of all Rs upstream of Ck

    18Penn ESE 370 Fall 2020 - Khanna

    C1*(R1)+C2*(R1+R2)

    Ļ„DN = Ckk=1

    N

    āˆ‘ Rjj=1

    k

    āˆ‘ = Ckk=1

    N

    āˆ‘ Rkk

    18

  • 4

    Elmore Delay: Special Ladder Case

    ! For each resistor Ck in path" Compute Rkk = sum of all Rs upstream of Ck

    19Penn ESE 370 Fall 2020 - Khanna

    C1*(R1)+C2*(R1+R2)

    =3RC=3ns

    Ļ„DN = Ckk=1

    N

    āˆ‘ Rjj=1

    k

    āˆ‘ = Ckk=1

    N

    āˆ‘ Rkk

    19

    ! Equations from KCL?

    20

    R1 R2

    C1 C2

    Compare KCL: Setup

    VS āˆ’V1R1

    =V1 āˆ’V2R2

    +C1dV1dt

    V1 āˆ’V2R2

    =C2dV2dt

    VSV1 V2

    Penn ESE 370 Fall 2020 - Khanna

    @V1:

    @V2:

    20

    Penn ESE 370 Fall 2020 - Khanna 21

    VS āˆ’V1R1

    =V1 āˆ’V2R2

    +C1dV1dt

    VSR1=V1R1+V1R2āˆ’V2R2+C1

    dV1dt

    VS =V1 1+R1R2

    "

    #$

    %

    &'āˆ’

    R1V2R2

    + R1C1dV1dt

    V1 āˆ’V2R2

    =C2dV2dt

    V1R2

    =V2R2+C2

    dV2dt

    V1 =V2 + R2C2dV2dt

    dV1dt

    =dV2dt

    + R2C2d 2V2dt2

    Compare KCL: Math

    @V1: @V2:

    21

    Penn ESE 370 Fall 2020 - Khanna 22

    VS =V1 1+R1R2

    !

    "#

    $

    %&āˆ’

    R1R2V2 + R1C1

    dV1dt

    VS = V2 + R2C2dV2dt

    !

    "#

    $

    %& 1+

    R1R2

    !

    "#

    $

    %&āˆ’

    R1R2V2 + R1C1

    dV2dt

    + R2C2d 2V2dt2

    !

    "#

    $

    %&

    VS =V2 + R2C2 1+R1R2

    !

    "#

    $

    %&+ R1C1

    !

    "##

    $

    %&&dV2dt

    + R1C1R2C2d 2V2dt2

    VS =V2 + (R2C2 + R1C2 + R1C1)dV2dt

    + R1C1R2C2d 2V2dt2

    Compare KCL: Math

    22

    Penn ESE 370 Fall 2020 - Khanna 23

    VS =V2 + (R2C2 + R1C2 + R1C1)dV2dt

    + R1C1R2C2d 2V2dt2

    VS =V2 +3RCdV2dt

    + R2C2 d2V2dt2

    R1 = R2 = RC1 =C2 =C

    Compare KCL: Math

    23

    Penn ESE 370 Fall 2020 - Khanna 24

    VS =V2 + (R2C2 + R1C2 + R1C1)dV2dt

    + R1C1R2C2d 2V2dt2

    VS =V2 +3RCdV2dt

    + R2C2 d2V2dt2

    V2 = A(1+ eāˆ’Ī±t )ā†’

    VS = A(1+ eāˆ’Ī±t )āˆ’3RC ā‹…Ī±Aeāˆ’Ī±t + R2C2 ā‹…Ī± 2Aeāˆ’Ī±t

    R1 = R2 = RC1 =C2 =C

    Compare KCL: Math

    24

  • 5

    Penn ESE 370 Fall 2020 - Khanna 25

    V2 = A(1+ eāˆ’Ī±t )ā†’

    VS = A(1+ eāˆ’Ī±t )āˆ’3RC ā‹…Ī±Aeāˆ’Ī±t + R2C2 ā‹…Ī± 2Aeāˆ’Ī±t

    t =āˆžā†’V2 =VS = A

    VS =VS (1+ eāˆ’Ī±t )āˆ’3RC ā‹…Ī±VSe

    āˆ’Ī±t + R2C2 ā‹…Ī± 2VSeāˆ’Ī±t

    0 = eāˆ’Ī±t āˆ’3RC ā‹…Ī±eāˆ’Ī±t + R2C2 ā‹…Ī± 2eāˆ’Ī±t

    0 = eāˆ’Ī±t (1āˆ’3RCĪ± + R2C2 ā‹…Ī± 2 )0 =1āˆ’3RCĪ± + R2C2 ā‹…Ī± 2

    Compare KCL: Math

    25

    Penn ESE 370 Fall 2020 - Khanna 26

    V2 = A(1+ eāˆ’Ī±t )ā†’

    VS = A(1+ eāˆ’Ī±t )āˆ’3RC ā‹…Ī±Aeāˆ’Ī±t + R2C2 ā‹…Ī± 2Aeāˆ’Ī±t

    t =āˆžā†’V2 =VS = A

    VS =VS (1+ eāˆ’Ī±t )āˆ’3RC ā‹…Ī±VSe

    āˆ’Ī±t + R2C2 ā‹…Ī± 2VSeāˆ’Ī±t

    0 = eāˆ’Ī±t āˆ’3RC ā‹…Ī±eāˆ’Ī±t + R2C2 ā‹…Ī± 2eāˆ’Ī±t

    0 = eāˆ’Ī±t (1āˆ’3RCĪ± + R2C2 ā‹…Ī± 2 )0 =1āˆ’3RCĪ± + R2C2 ā‹…Ī± 2

    Compare KCL: Math

    26

    Penn ESE 370 Fall 2020 - Khanna 27

    V2 =VS (1+ eāˆ’Ī±t )

    0 =1āˆ’3RCĪ± + R2C2 ā‹…Ī± 2

    Ī± =3RC Ā± 9(RC)2 āˆ’ 4(RC)2

    2(RC)2=3RC Ā± 5RC2(RC)2

    =3Ā± 52RC

    ā†’ Ļ„ =2

    3Ā± 5RC ā‰ˆ 2.6RC

    Compare KCL: Math

    27

    Penn ESE 370 Fall 2020 - Khanna 28

    V2 =VS (1+ eāˆ’Ī±t )

    0 =1āˆ’3RCĪ± + R2C2 ā‹…Ī± 2

    Ī± =3RC Ā± 9(RC)2 āˆ’ 4(RC)2

    2(RC)2=3RC Ā± 5RC2(RC)2

    =3Ā± 52RC

    ā†’ Ļ„ =2

    3Ā± 5RC ā‰ˆ 2.6RC

    Compare KCL: Math

    =3RC=3ns

    28

    Elmore Delay: Distributed RC network

    ! The delay from source to node i" N = number of nodes in circuit

    ! Special ladder case

    29

    Rik = Rjāˆ‘ ā‡’ (Rj āˆˆ [path(sā†’ i)āˆ© path(sā†’ k)])

    Penn ESE 370 Fall 2020 - Khanna

    Ļ„ Di = CkRikk=1

    N

    āˆ‘

    Ļ„DN = Ckk=1

    N

    āˆ‘ Rjj=1

    k

    āˆ‘ = Ckk=1

    N

    āˆ‘ Rkk

    29

    Wire Delay

    30Penn ESE 370 Fall 2020 - Khanna

    30

  • 6

    Wire Resistance

    100um

    1um

    1um

    A

    B

    R = ĻLA

    R = 10āˆ’7Ī©ā‹…m ā‹…100Āµm1Āµm ā‹…1Āµm =10Ī©

    31Penn ESE370 Fall2020 ā€“ Khanna

    31

    Wire Capacitance

    4 m

    0.2 mm

    0.1 mm

    A

    B

    0.1 mm

    metal plate

    dielectric material

    C = ĪµdAd

    32Penn ESE370 Fall2020 ā€“ Khanna

    32

    Wire as Distributed RC Ladder

    ! Measure wire length in units " Say l" Each l unit has Cunit, Runit

    " Unit capacitance and resistance of wire of length l

    33Penn ESE 370 Fall 2020 - Khanna

    33

    Wire Delay

    ! Delay of Wire N units long:

    34Penn ESE 370 Fall 2020 - Khanna

    34

    Wire Delay

    ! Delay of Wire N units long:RunitCunit

    35Penn ESE 370 Fall 2020 - Khanna

    35

    Wire Delay

    ! Delay of Wire N units long:RunitCunit+ 2RunitCunit

    36Penn ESE 370 Fall 2020 - Khanna

    36

  • 7

    Wire Delay

    ! Delay of Wire N units long:RunitCunit+ 2RunitCunit+ 3Runit*Cunit + ā€¦ +NRunit*Cunit=(Runit*Cunit)*(N+(N-1)+(N-2)+ā€¦.1)

    37Penn ESE 370 Fall 2020 - Khanna

    37

    Sum of integers (preclass 2)

    ! Whatā€™s the sum of the integer 1 to N?

    38

    kk=0

    N

    āˆ‘ =

    Penn ESE 370 Fall 2020 - Khanna

    38

    Sum of integers

    ! Whatā€™s the sum of the integer 1 to N?

    39

    kk=0

    N

    āˆ‘ = N(N +1)2 ā‰ˆN 2

    2

    Penn ESE 370 Fall 2020 - Khanna

    39

    Wire Delay (preclass 3)

    ! Delay of Wire N units long:Runit*(N*Cunit)+ Runit((N-1)*Cunit+ Runit*(N-2)*Cunit + ā€¦ +Runit*Cunit=(Runit*Cunit)*(N+N-1+N-2+ā€¦.1) ~=RunitCunit*N2/2

    40Penn ESE 370 Fall 2020 - Khanna

    40

    Lumped RC Wire? (preclass 4)

    ! What would the delay be if we treated the wire as lumped R and C?

    41

    Rwire = NƗRunit Cwire = NƗCunit

    Penn ESE 370 Fall 2020 - Khanna

    41

    Wire Delay

    ! Rwire = N*Runit! Cwire=N*Cunit! Lumped RC wire delay = Runit*Cunit*N2

    ! Distributed RC Wire delay = Runit*Cunit*N2/2

    ! Distributed has half the delay of lumped RC product

    ! Delay is quadratic in length of wire in both cases

    42Penn ESE 370 Fall 2020 - Khanna

    42

  • 8

    Apply to Gates

    Pass Transistor and CMOS

    43Penn ESE 370 Fall 2020 - Khanna

    43

    Pass Transistor XOR

    ! Delay when A=B=1?

    44Penn ESE 370 Fall 2020 - Khanna

    44

    Pass Transistor XOR (preclass 5)

    ! Delay when A=1, B=0?" Start with equivalent

    RC circuit

    45Penn ESE 370 Fall 2020 - Khanna

    45

    Unbuffered (preclass 6)

    ! Circuit # Delay?" 2 stages

    46Penn ESE 370 Fall 2020 - Khanna

    46

    Unbuffered (preclass 7)

    ! Circuit # Delay?" 3 stages

    47Penn ESE 370 Fall 2020 - Khanna

    47

    Unbuffered (preclass 8)

    ! Delay as a function of number of stages, k?

    48Penn ESE 370 Fall 2020 - Khanna

    ā€¦

    48

  • 9

    CMOS XOR (preclass 9)

    ! Delay with Cdiff>0?

    49Penn ESE 370 Fall 2020 - Khanna

    49

    Idea

    ! Elmore delay calculation allows us to estimate delay for distributed RC network" Necessary for pass transistors

    ! Wires are distributed RC " Half delay lumped calculation" Still quadratic in length

    50Penn ESE 370 Fall 2020 - Khanna

    50

    Admin

    ! Project 1" Milestone due tonight

    " Will get feedback by Wednesday morning

    " Final report due Monday 11/2 midnight

    51Penn ESE 370 Fall 2020 - Khanna

    51

Recommended