+ All Categories
Home > Documents > EE434 ASIC & Digital Systems - WSUdaehyun/teaching/2015_EE434/Handouts/lecture_08.pdfSpring 2015 ....

EE434 ASIC & Digital Systems - WSUdaehyun/teaching/2015_EE434/Handouts/lecture_08.pdfSpring 2015 ....

Date post: 26-Jan-2021
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
38
1 EE434 ASIC & Digital Systems Partha Pande School of EECS Washington State University [email protected] Spring 2015 Dae Hyun Kim [email protected]
Transcript
  • 1

    EE434 ASIC & Digital Systems

    Partha Pande School of EECS Washington State University [email protected]

    Spring 2015 Dae Hyun Kim

    [email protected]

  • 2

    Lecture 8

    Interconnect

  • 3

    Interconnect Layers

    Intel 65nm (IEDM’04) Intel 45nm (IEDM’07)

  • 4

    Interconnect Layers

    Intel 32nm (IEDM’08) Intel 22nm (IEDM’12)

  • 5

    Interconnect Layers

    TSMC 16nm FinFET (IEDM’13)

  • 6

    Interconnect Layers

    IBM 14nm FinFET (IEDM’14) Intel 14nm FinFET (IEDM’14)

  • 7

    Interconnect Analysis

    β€’ Resistance

    β€’ Capacitance

    β€’ Delay calculation

    β€’ Coupling

    β€’ Buffer insertion (interconnect optimization)

  • 8

    Wire

    w

    t

    l

    s

    𝑅𝑅 = πœŒπœŒπ‘™π‘™

    𝑑𝑑 βˆ™ 𝑀𝑀 𝐢𝐢 = πœ–πœ–

    𝑑𝑑 βˆ™ 𝑙𝑙𝑠𝑠

    𝐷𝐷𝐷𝐷𝑙𝑙𝐷𝐷𝐷𝐷 ∝ 𝑅𝑅𝐢𝐢 ∝ 𝑙𝑙2

    modeling

  • 9

    Wire Resistance

    w t

    l

    𝑅𝑅 = πœŒπœŒπ‘™π‘™

    𝑑𝑑 βˆ™ 𝑀𝑀

    𝜌𝜌: Resistivity (constant)

    𝑑𝑑: Thickness (constant)

    𝑙𝑙: Wire length

    𝑀𝑀: Wire width Current

    𝑅𝑅 = πœŒπœŒπ‘™π‘™

    𝑑𝑑 βˆ™ 𝑀𝑀=πœŒπœŒπ‘‘π‘‘βˆ™π‘™π‘™π‘€π‘€

    = 𝑅𝑅𝑠𝑠𝑠𝑠𝑙𝑙𝑀𝑀

    𝑅𝑅𝑠𝑠𝑠𝑠: sheet resistance

    Example 1 𝑙𝑙: 100πœ‡πœ‡πœ‡πœ‡,𝑀𝑀: 0.065πœ‡πœ‡πœ‡πœ‡, 𝑑𝑑: 0.13πœ‡πœ‡πœ‡πœ‡,𝜌𝜌 = 17.1 𝑛𝑛Ω βˆ™ πœ‡πœ‡

    𝑅𝑅 = 17.1 βˆ™ 10βˆ’9 Ξ© βˆ™ πœ‡πœ‡ βˆ™100 βˆ™ 10βˆ’6πœ‡πœ‡

    0.13 βˆ™ 10βˆ’6πœ‡πœ‡ βˆ™ 0.065 βˆ™ 10βˆ’6πœ‡πœ‡= 202Ξ©

    Example 2 (Nangate 45nm) 𝑙𝑙: 100πœ‡πœ‡πœ‡πœ‡,𝑀𝑀: 0.065πœ‡πœ‡πœ‡πœ‡,𝑅𝑅𝑠𝑠𝑠𝑠 = 0.38Ξ©

    𝑅𝑅 = (0.38Ξ©) βˆ™100πœ‡πœ‡πœ‡πœ‡

    0.065πœ‡πœ‡πœ‡πœ‡= 585Ξ©

  • 10

    Wire Capacitance

    β€’ Area capacitance

    Metal 2

    Metal 1

    Ground plane

    T

    W πΆπΆπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Ž

    πΆπΆπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Ž

    π‘π‘π‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Ž = πœ€πœ€π‘‚π‘‚π‘‚π‘‚ βˆ™π‘Šπ‘Šπ»π»

    πΆπΆπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Ž = π‘π‘π‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Ž βˆ™ 𝐿𝐿

    L

    Area capacitance per unit length (F/m)

    Total area capacitance (F)

    H

    S

  • 11

    Wire Capacitance

    β€’ Lateral capacitance

    Metal 2

    Metal 1

    Ground plane

    W πΆπΆπ‘™π‘™π‘Žπ‘Žπ‘™π‘™π‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘™π‘™

    π‘π‘π‘™π‘™π‘Žπ‘Žπ‘™π‘™π‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘™π‘™ = πœ€πœ€π‘‚π‘‚π‘‚π‘‚ βˆ™π‘‡π‘‡π‘†π‘†

    πΆπΆπ‘™π‘™π‘Žπ‘Žπ‘™π‘™π‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘™π‘™ = π‘π‘π‘™π‘™π‘Žπ‘Žπ‘™π‘™π‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘Žπ‘™π‘™ βˆ™ 𝐿𝐿

    L

    S

    Lateral capacitance per unit length (F/m)

    Total lateral capacitance (F)

    T

    H

  • 12

    Wire Capacitance

    β€’ Fringe capacitance

    Metal 2

    Metal 1

    Ground plane

    W

    πΆπΆπ‘“π‘“π‘Žπ‘Žπ‘“π‘“π‘“π‘“π‘“π‘“π‘Žπ‘Ž

    π‘π‘π‘“π‘“π‘Žπ‘Žπ‘“π‘“π‘“π‘“π‘“π‘“π‘Žπ‘Ž = πœ€πœ€π‘‚π‘‚π‘‚π‘‚ βˆ™ ln 1 +𝑇𝑇𝐻𝐻

    πΆπΆπ‘“π‘“π‘Žπ‘Žπ‘“π‘“π‘“π‘“π‘“π‘“π‘Žπ‘Ž = π‘π‘π‘“π‘“π‘Žπ‘Žπ‘“π‘“π‘“π‘“π‘“π‘“π‘Žπ‘Ž βˆ™ 𝐿𝐿

    L

    S

    Fringe capacitance per unit length (F/m)

    Total fringe capacitance (F)

    T

    H

    πΆπΆπ‘“π‘“π‘Žπ‘Žπ‘“π‘“π‘“π‘“π‘“π‘“π‘Žπ‘Ž

  • 13

    Delay Calculation (Elmore Delay)

    β€’ Delay of a long wire (distributed RC network) – 𝜏𝜏 = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ— 𝑐𝑐 βˆ— 𝑛𝑛 + 𝐢𝐢𝐿𝐿 + π‘Ÿπ‘Ÿ 𝑐𝑐 βˆ— 𝑛𝑛 + 𝐢𝐢𝐿𝐿 + π‘Ÿπ‘Ÿ βˆ— 𝑐𝑐 βˆ— 𝑛𝑛 βˆ’ 1 + 𝐢𝐢𝐿𝐿 + β‹―+ π‘Ÿπ‘Ÿ βˆ— 𝑐𝑐 + 𝐢𝐢𝐿𝐿

    = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ— πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž + 𝐢𝐢𝐿𝐿 + π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ 𝐢𝐢𝐿𝐿 + π‘Ÿπ‘Ÿπ‘π‘π‘“π‘“ 𝑓𝑓+1

    2

    = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ— πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž + 𝐢𝐢𝐿𝐿 + π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ 𝐢𝐢𝐿𝐿 +𝐷𝐷𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑓𝑓

    βˆ™ 𝐢𝐢𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑓𝑓

    βˆ™ 𝑓𝑓 𝑓𝑓+12

    β‰ˆ 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ— πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž + 𝐢𝐢𝐿𝐿 + π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ 𝐢𝐢𝐿𝐿 +π·π·π‘€π‘€π‘€π‘€π‘€π‘€π‘€π‘€βˆ™πΆπΆπ‘€π‘€π‘€π‘€π‘€π‘€π‘€π‘€

    2

    V(t) = VDDΒ·u(t)

    RDR π‘Ÿπ‘Ÿ

    𝑐𝑐 CL

    VLOAD(t) π‘Ÿπ‘Ÿ π‘Ÿπ‘Ÿ π‘Ÿπ‘Ÿ π‘Ÿπ‘Ÿ

    𝑐𝑐 𝑐𝑐 𝑐𝑐 𝑐𝑐

  • 14

    Coupling

    β€’ Effects – Delay – Crosstalk

  • 15

    Coupling

    Net 1

    Net 2

    𝐢𝐢𝑓𝑓𝑓𝑓𝑔𝑔1

    𝐢𝐢𝑓𝑓𝑓𝑓𝑔𝑔2

    𝐢𝐢𝑐𝑐

    Aggressor

    Victim

    Victim: The net of interest.

    Aggressor: The neighboring nets of the victim net.

    1. When the neighboring net is stationary: 𝐢𝐢𝐿𝐿 = 𝐢𝐢𝑓𝑓𝑓𝑓𝑔𝑔 + 𝐢𝐢𝑐𝑐

    2. When the two nets are switching in the same direction: 𝐢𝐢𝐿𝐿 = 𝐢𝐢𝑓𝑓𝑓𝑓𝑔𝑔

    3. When the two nets are switching in the opposite direction: 𝐢𝐢𝐿𝐿 = 𝐢𝐢𝑓𝑓𝑓𝑓𝑔𝑔 + 2𝐢𝐢𝑐𝑐

    β€’ Delay

  • 16

    Coupling

    β€’ Crosstalk

    Net 1

    Net 2

    𝐢𝐢𝑓𝑓𝑓𝑓𝑔𝑔1

    𝐢𝐢𝑓𝑓𝑓𝑓𝑔𝑔2

    𝐢𝐢𝑐𝑐

    Aggressor

    Victim

    βˆ†π‘‰π‘‰1

    βˆ†π‘‰π‘‰2 𝐢𝐢𝑐𝑐

    𝐢𝐢𝑓𝑓𝑓𝑓𝑔𝑔2

    βˆ†π‘‰π‘‰2 =𝐢𝐢𝑐𝑐 βˆ™ βˆ†π‘‰π‘‰1

    (𝐢𝐢𝑓𝑓𝑓𝑓𝑔𝑔2 + 𝐢𝐢𝑐𝑐)

  • 17

    Coupling

    β€’ Crosstalk

    𝐢𝐢𝐿𝐿

    𝐢𝐢𝑐𝑐

    𝑉𝑉𝑠𝑠 𝑑𝑑 = 𝑉𝑉0 βˆ™ 𝑒𝑒(𝑑𝑑)

    𝐢𝐢𝐿𝐿

    𝐢𝐢

    𝐢𝐢

    𝑅𝑅

    𝑅𝑅

    𝑉𝑉1

    𝑉𝑉2

    + -

    𝑉𝑉𝐢𝐢 𝜏𝜏1 = 𝑅𝑅 𝐢𝐢 + 𝐢𝐢𝐿𝐿 + 2𝐢𝐢𝐢𝐢 𝜏𝜏2 = 𝑅𝑅(𝐢𝐢 + 𝐢𝐢𝐿𝐿)

    𝑉𝑉2 𝑑𝑑 =𝑉𝑉02

    π·π·βˆ’π‘™π‘™πœπœ1 βˆ’ π·π·βˆ’

    π‘™π‘™πœπœ2 𝑒𝑒(𝑑𝑑)

  • 18

    Coupling

    β€’ How to reduce the coupling effect – Spacing

    – Shielding

    Signal Signal Signal

    Signal Signal Signal

    Shield Signal Shield

  • 19

    Coupling

    β€’ How to reduce the coupling effect – Coding/Decoding

    β€’ Duan, TVLSI’09

  • 20

    Coding/Decoding for Coupling Minimization

    πœ†πœ† =𝐢𝐢𝐼𝐼𝐢𝐢𝐿𝐿

    Eliminate these patterns.

  • 21

    Coding/Decoding for Coupling Minimization

    β€’ Forbidden Pattern Based Crosstalk Avoidance – Forbidden patterns

    β€’ β€œ101” β€’ β€œ010”

    – Forbidden pattern free (FPF) code

    β€’ 1101110: not FPF β€’ 1100110: FPF

    β€’ β€œIf a bus contains FPF codes only, the bus will experience

    maximum crosstalk of no greater than 2C”.

  • 22

    Coding/Decoding for Coupling Minimization

    β€’ Forbidden Pattern Free (FPF)-Crosstalk Avoidance Code (CAC) FPF-CAC

  • 23

    Coding/Decoding for Coupling Minimization

    β€’ Coding/Transmission/Decoding

    Input

    data Coding

    FPF

    code Transmission Decoding

    Output

    data

  • 24

    Coding/Decoding for Coupling Minimization

    fk: Fibonacci number

  • 25

    Coding/Decoding for Coupling Minimization

    Example (m=6) 1) v=0

    v < f7 (=13)

    => d6=0, r6=0

    2) k=5 (for)

    r6 (=0) β‰₯ f6 (=8) => false

    r6 (=0) < f5 (=5) => true

    => d5=0

    r5 = r6 – f5*d5 = 0 – 5*0 = 0

    3) k=4

    r5 (=0) < f4 (=3)

    => d4=0

    r4 = r5 – f4*d4 = 0

    4) k=3: d3=0, r3=0

    5) k=2: d2=0, r2=0

    6) d1=r2=0

    0 => (000000)

  • 26

    Coding/Decoding for Coupling Minimization

    Example (m=6) 1) v=15

    v > f7 (=13)

    => d6 = 1, r6 = 7

    2) k=5 (for)

    d5 = d6 = 1

    r5 = r6 – f5*d5 = 7 – 5*1 = 2

    3) k=4

    d4 = 0

    r4 = r5 – f4*d4 = 2

    4) k=3

    d3 = 0

    r3= r4 – f3*d3 = 2

    5) k=2

    d2 = 1

    r2 = r3 – f2*d2 = 2-1 = 1

    6) d1 = r2 = 1

    15 => (110011)

  • 27

    Coding/Decoding for Coupling Minimization

    0+0+0+0+0+0 = (00000) 0+0+0+0+0+1 = (00001) 0+0+0+0+1+1 = (00010) 0+0+0+2+1+0 = (00011) 0+0+0+2+1+1 = (00100) 0+0+3+2+0+0 = (00101) 0+0+3+2+1+0 = (00110) 0+0+3+2+1+1 = (00111) 0+5+3+0+0+0 = (01000) 0+5+3+0+0+1 = (01001) 0+5+3+2+0+0 = (01010) 0+5+3+2+1+0 = (01011) 0+5+3+2+1+1 = (01100) 8+5+0+0+0+0 = (01101) 8+5+0+0+0+1 = (01110) 8+5+0+0+1+1 = (01111) 8+5+3+0+0+0 = (10000) 8+5+3+0+0+1 = (10001) 8+5+3+2+0+0 = (10010) 8+5+3+2+1+0 = (10011) 8+5+3+2+1+1 = (10100)

  • 28

    Coding/Decoding for Coupling Minimization

  • 29

    Coding/Decoding for Coupling Minimization

    β€’ Comparison

    Example

    1) 20 β†’ 8

    Non-FPF: (10100) β†’ (01000) : (2+4+3+0+0)CI = 9CI FPF: (111111) β†’ (011000) : (1+0+0+1+0+0)CI = 2CI 2) 21 β†’ 10

    Non-FPF: (10101) β†’ (01010) : (2+4+4+4+2)CI = 16CI FPF: (1100000) β†’ (0011100) : (0+2+2+0+1+0+0)CI = 5CI

    (10100) (10011) (10010) (10001) (10000) (01111) (01110) (01101) (01100) (01011) (01010) (01001) (01000) (00111) (00110) (00101) (00100) (00011) (00010) (00001) (00000)

  • 30

    Buffer Insertion (1)

    β€’ Delay minimization for driving a large load

    𝐢𝐢𝐿𝐿 𝑉𝑉𝑓𝑓𝑓𝑓

    𝐢𝐢𝐿𝐿 𝑉𝑉𝑓𝑓𝑓𝑓 1 2 …

    n-1 n

    π‘Šπ‘ŠπΏπΏ 𝛼𝛼

    = π‘†π‘†π›Όπ›Όπ‘Šπ‘ŠπΏπΏ 1

  • 31

    Buffer Insertion (1)

    𝐢𝐢𝐿𝐿 𝑉𝑉𝑓𝑓𝑓𝑓 1 2 …

    n-1 n

    𝐢𝐢𝑓𝑓𝑓𝑓,1 = 𝐢𝐢𝑂𝑂𝑂𝑂 π‘Šπ‘ŠπΏπΏ 𝑓𝑓1 + π‘Šπ‘ŠπΏπΏ 𝑝𝑝1 πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 = 𝐢𝐢𝐺𝐺𝐷𝐷,𝑓𝑓1 + 𝐢𝐢𝐺𝐺𝐷𝐷,𝑝𝑝1 + 𝐢𝐢𝑆𝑆𝑆𝑆,𝑓𝑓1 + 𝐢𝐢𝑆𝑆𝑆𝑆,𝑝𝑝1

    𝑅𝑅1 β‰ˆ1

    π‘˜π‘˜ π‘Šπ‘ŠπΏπΏ 1𝑉𝑉𝐷𝐷𝐷𝐷 βˆ’ 𝑉𝑉𝑇𝑇

    𝑅𝑅𝛼𝛼 =𝑅𝑅1𝑆𝑆𝛼𝛼

    ,𝐢𝐢𝑓𝑓𝑓𝑓,𝛼𝛼 = 𝑆𝑆𝛼𝛼𝐢𝐢𝑓𝑓𝑓𝑓,1 ,πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,𝛼𝛼 β‰ˆ π‘†π‘†π›Όπ›ΌπΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1

    πœπœπ›Όπ›Ό = 𝑅𝑅𝛼𝛼 πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,𝛼𝛼 + 𝐢𝐢𝑓𝑓𝑓𝑓,𝛼𝛼+1 =𝑅𝑅1𝑆𝑆𝛼𝛼

    π‘†π‘†π›Όπ›ΌπΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 + 𝑆𝑆𝛼𝛼+1𝐢𝐢𝑓𝑓𝑓𝑓,1

    πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™ = �𝑅𝑅1 πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 +𝑆𝑆𝛼𝛼+1𝑆𝑆𝛼𝛼

    𝐢𝐢𝑓𝑓𝑓𝑓,1

    𝑓𝑓

    𝛼𝛼=1

  • 32

    Buffer Insertion (1)

    πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™ = �𝑅𝑅1 πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 +𝑆𝑆𝛼𝛼+1𝑆𝑆𝛼𝛼

    𝐢𝐢𝑓𝑓𝑓𝑓,1

    𝑓𝑓

    𝛼𝛼=1

    πœ•πœ•πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™πœ•πœ•π‘†π‘†1

    = 0, … ,πœ•πœ•πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™πœ•πœ•π‘†π‘†π‘“π‘“

    = 0 π‘†π‘†π›Όπ›Όπ‘†π‘†π›Όπ›Όβˆ’1

    =𝑆𝑆𝛼𝛼+1𝑆𝑆𝛼𝛼

    = 𝐾𝐾

    𝑆𝑆1 = 1 , 𝑆𝑆𝑓𝑓+1 =𝐢𝐢𝐿𝐿𝐢𝐢1

    𝑆𝑆2𝑆𝑆1βˆ™π‘†π‘†3𝑆𝑆2βˆ™ β‹― βˆ™

    𝑆𝑆𝑓𝑓+1𝑆𝑆𝑓𝑓

    =𝑆𝑆𝑓𝑓+1𝑆𝑆1

    = 𝐾𝐾𝑓𝑓

    𝐾𝐾 =𝑆𝑆𝛼𝛼+1𝑆𝑆𝛼𝛼

    =𝐢𝐢𝐿𝐿𝐢𝐢1

    1/𝑓𝑓

    𝑆𝑆1 = 1 , 𝑆𝑆2 = 𝐾𝐾 , 𝑆𝑆3 = 𝐾𝐾2 , … , 𝑆𝑆𝑓𝑓 = πΎπΎπ‘“π‘“βˆ’1

    πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™ = �𝑅𝑅1 πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 + 𝐾𝐾𝐢𝐢𝑓𝑓𝑓𝑓,1

    𝑓𝑓

    𝛼𝛼=1

    = 𝑛𝑛𝑅𝑅1 πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 + 𝐾𝐾𝐢𝐢𝑓𝑓𝑓𝑓,1 = 𝑛𝑛𝑅𝑅1 πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 +𝐢𝐢𝐿𝐿𝐢𝐢1

    1/𝑓𝑓

    𝐢𝐢𝑓𝑓𝑓𝑓,1

  • 33

    Buffer Insertion (1)

    πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™ = 𝑛𝑛𝑅𝑅1 πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 +𝐢𝐢𝐿𝐿𝐢𝐢1

    1/𝑓𝑓

    𝐢𝐢𝑓𝑓𝑓𝑓,1

    π‘‘π‘‘πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™π‘‘π‘‘π‘›π‘›

    = 𝑅𝑅1 πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 +𝐢𝐢𝐿𝐿𝐢𝐢1

    1/𝑓𝑓

    𝐢𝐢𝑓𝑓𝑓𝑓,1 + 𝑛𝑛𝑅𝑅1𝐢𝐢𝑓𝑓𝑓𝑓,1𝐢𝐢𝐿𝐿𝐢𝐢1

    1/𝑓𝑓

    βˆ’1𝑛𝑛2

    𝑙𝑙𝑛𝑛𝐢𝐢𝐿𝐿𝐢𝐢1

    = 0

    πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 +𝐢𝐢𝐿𝐿𝐢𝐢1

    1/𝑓𝑓

    𝐢𝐢𝑓𝑓𝑓𝑓,1 = 𝐢𝐢𝑓𝑓𝑓𝑓,1𝐢𝐢𝐿𝐿𝐢𝐢1

    1/𝑓𝑓 1𝑛𝑛

    𝑙𝑙𝑛𝑛𝐢𝐢𝐿𝐿𝐢𝐢1

    If πΆπΆπ‘œπ‘œπ‘œπ‘œπ‘™π‘™,1 is small => 𝑛𝑛 β‰ˆ 𝑙𝑙𝑛𝑛𝐢𝐢𝐿𝐿𝐢𝐢1

    𝐾𝐾 =𝐢𝐢𝐿𝐿𝐢𝐢1

    1/𝑓𝑓

    = 𝐷𝐷

  • 34

    Buffer Insertion (2)

    β€’ Delay minimization

    V(t) = VDDΒ·u(t)

    RDR π‘Ÿπ‘Ÿ

    𝑐𝑐 CL

    VLOAD(t) π‘Ÿπ‘Ÿ π‘Ÿπ‘Ÿ π‘Ÿπ‘Ÿ π‘Ÿπ‘Ÿ

    𝑐𝑐 𝑐𝑐 𝑐𝑐 𝑐𝑐

    Ο„ β‰ˆ 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ— πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž + 𝐢𝐢𝐿𝐿 + π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ 𝐢𝐢𝐿𝐿 +π·π·π‘€π‘€π‘€π‘€π‘€π‘€π‘€π‘€βˆ™πΆπΆπ‘€π‘€π‘€π‘€π‘€π‘€π‘€π‘€

    2

    Length: L (um)

  • 35

    Buffer Insertion (2)

    β€’ Insert a single type of buffers.

    πœπœπ‘˜π‘˜ = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ—πΆπΆπ‘€π‘€π‘€π‘€π‘€π‘€π‘€π‘€

    πΏπΏπ‘†π‘†π‘˜π‘˜

    + 𝐢𝐢𝑓𝑓𝑓𝑓 +𝐷𝐷𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀

    πΏπΏπ‘†π‘†π‘˜π‘˜

    βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 +12

    π·π·π‘€π‘€π‘€π‘€π‘€π‘€π‘€π‘€πΏπΏπ‘†π‘†π‘˜π‘˜

    βˆ™ πΆπΆπ‘€π‘€π‘€π‘€π‘€π‘€π‘€π‘€πΏπΏπ‘†π‘†π‘˜π‘˜

    = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ—πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘ŽπΏπΏ

    π‘ π‘ π‘˜π‘˜ + 𝐢𝐢𝑓𝑓𝑓𝑓 +π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘ŽπΏπΏ

    π‘ π‘ π‘˜π‘˜ βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 +12

    π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘ŽπΏπΏ

    π‘ π‘ π‘˜π‘˜ βˆ™πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘ŽπΏπΏ

    π‘ π‘ π‘˜π‘˜

    πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™ = οΏ½πœπœπ‘“π‘“

    𝑁𝑁

    𝑓𝑓=1

    = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™π‘ π‘ 1 + β‹―+ 𝑠𝑠𝑁𝑁

    𝐿𝐿+ 𝑁𝑁 βˆ™ 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓

    +π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 βˆ™π‘ π‘ 1 + β‹―+ 𝑠𝑠𝑁𝑁

    𝐿𝐿

    +π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž

    2𝐿𝐿2𝑠𝑠12 + β‹―+ 𝑠𝑠𝑁𝑁2

    = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž + 𝑁𝑁 βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 + π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 +π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž

    2𝐿𝐿2𝑠𝑠12 + β‹―+ 𝑠𝑠𝑁𝑁2

    N-1 buffers

    𝑠𝑠1 (πœ‡πœ‡πœ‡πœ‡) 𝑠𝑠2 (πœ‡πœ‡πœ‡πœ‡) 𝑠𝑠𝑁𝑁 (πœ‡πœ‡πœ‡πœ‡)

  • 36

    Buffer Insertion (2)

    πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™ = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž + 𝑁𝑁 βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 + π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 +π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž

    2𝐿𝐿2𝑠𝑠12 + β‹―+ 𝑠𝑠𝑁𝑁2

    Constant

    Minimize 𝑇𝑇 𝑠𝑠1, … , 𝑠𝑠𝑁𝑁 = 𝑠𝑠12 + β‹―+ 𝑠𝑠𝑁𝑁2

    subject to 𝑠𝑠1 + β‹―+ 𝑠𝑠𝑁𝑁 = 𝐿𝐿

    πœ•πœ•π‘‡π‘‡πœ•πœ•π‘ π‘ π‘˜π‘˜

    = 2 βˆ™ π‘ π‘ π‘˜π‘˜ + 2 βˆ™ 𝑠𝑠𝑁𝑁 βˆ™ βˆ’1 = 0

    π‘ π‘ π‘˜π‘˜ = 𝑠𝑠𝑁𝑁 ∴ 𝑠𝑠1 = 𝑠𝑠2 = β‹― = 𝑠𝑠𝑁𝑁

    πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™ = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž + 𝑁𝑁 βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 + π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 +π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž

    2𝑁𝑁

  • 37

    Buffer Insertion (2)

    β€’ Optimal N

    πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™ = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž + 𝑁𝑁 βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 + π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 +π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž

    2𝑁𝑁

    πœ•πœ•πœπœπ‘Žπ‘Žπ‘™π‘™π‘™π‘™πœ•πœ•π‘π‘

    = 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓 βˆ’π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž

    2𝑁𝑁2= 0

    𝑁𝑁 =π‘…π‘…π‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž βˆ™ πΆπΆπ‘€π‘€π‘“π‘“π‘Žπ‘Žπ‘Žπ‘Ž2 βˆ™ 𝑅𝑅𝐷𝐷𝐷𝐷 βˆ™ 𝐢𝐢𝑓𝑓𝑓𝑓

    N-1 buffers

    𝑠𝑠 = 𝐿𝐿/𝑁𝑁 (πœ‡πœ‡πœ‡πœ‡) 𝑠𝑠 (πœ‡πœ‡πœ‡πœ‡) 𝑠𝑠 (πœ‡πœ‡πœ‡πœ‡)

  • 38

    Buffer Insertion

    β€’ Insert multiple types of buffers.

    β€’ Branches

    β€’ Blockages β€’ …

    β€’ This will be studied in EE582 in Fall 2015.

    EE434οΏ½ASIC & Digital SystemsοΏ½οΏ½οΏ½οΏ½Lecture 8οΏ½οΏ½InterconnectInterconnect LayersInterconnect LayersInterconnect LayersInterconnect LayersInterconnect AnalysisWireWire ResistanceWire CapacitanceWire CapacitanceWire CapacitanceDelay Calculation (Elmore Delay)CouplingCouplingCouplingCouplingCouplingCouplingCoding/Decoding for Coupling MinimizationCoding/Decoding for Coupling MinimizationCoding/Decoding for Coupling MinimizationCoding/Decoding for Coupling MinimizationCoding/Decoding for Coupling MinimizationCoding/Decoding for Coupling MinimizationCoding/Decoding for Coupling MinimizationCoding/Decoding for Coupling MinimizationCoding/Decoding for Coupling MinimizationCoding/Decoding for Coupling MinimizationBuffer Insertion (1)Buffer Insertion (1)Buffer Insertion (1)Buffer Insertion (1)Buffer Insertion (2)Buffer Insertion (2)Buffer Insertion (2)Buffer Insertion (2)Buffer Insertion


Recommended