ese370: circuit-level modeling, design, and optimizationese370/fall2020/handouts/lec...1 ese370:...

9
1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Lec 21: October 26, 2020 Distributed 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 2 Penn ESE 370 Fall 2020 - Khanna 2 Previously: Equivalent RC 3 Penn 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 5 Penn 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 6 Penn ESE 370 Fall 2020 – Khanna 5 C5 !" =# # ⇒ ( # → 5 ∩ ℎ ) $! =# "%& " !" 6

Upload: others

Post on 26-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • 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