1
Mstar Semiconductor, ChuPei, Taiwan
- Dept. of EE, Nat’l Chiao Tung Univ., Hsinchu, Taiwan
A Metal-Only-ECO S
- lver for
A Metal-Only-ECO S olver for Input-S lew and Output-Loading - - PowerPoint PPT Presentation
1 A Metal-Only-ECO S olver for Input-S lew and Output-Loading Violations Chien-Pang Lu, Mango C.-T. Chao, Chen-Hsing Lo, and Chih-Wei Chang Mstar Semiconductor, ChuPei, Taiwan Dept. of EE, Natl Chiao Tung Univ., Hsinchu, Taiwan 2
1
Metal-only ECO & its challenges Problem Formulation Proposed Slew/Loading-Violation Solver
Experimental result Conclusions
2
3
4
Metal-only ECO & its challenges Problem Formulation Proposed Slew/Loading-Violation Solver
Experimental result Conclusions
5
6
Ex: target input slew constraint, 500ps
constant (large cap pin)
Assume
Fixed slew constraint
confirm
1 2 3
Iteration input slew output load output slew 1 500p 4000ff 2000p 2 500p 1500ff 400p 3 500p 1600ff 520p 4 500p 1540ff 500p OAL(1540ff): under 500p input slew
7
Metal-only ECO & its challenges Problem Formulation Proposed Slew/Loading-Violation Solver
Experimental result Conclusions
8
scheme to solve the violation with least # of spare cells
scheme to reduce set-up time while satisfying slew/cap constraints
using top metal or double spacing Check STA timing report Check STA timing report Done OK No No OK 9
3ff 8ff
B A Y
4ff 7ff
S B A Y
10
11 Manhattan distance Wire loading constant per routing unit routing ratio to Manhattan distance # of vias over rectangle area formed by p1 and p2 This function is actually the average statistics collected from the past usage of the adopted ARP tool
in
in case3
case2 case1
12
in in in in in in in
in in in in in in in in
in in in in in in in in
in in in in in in in
based on the MC order
location for driving grouped terminals
and insert it to the net
Its MC order Meet loading constraint? Done OK NO 13
in in in in 1 2 3 4
14
Violating gate MC Order net terminal
in in in in 1 2 3 4
group1
g n i i i p
i
= − 1 1
15
1 1
i
n b b p i i i
ORL OAL (InC WL(p , p ))
− =
= − +
g: output b: ideal buffer pn: overloading group terminal closest to g
16
ideal buffer location radius of searching area slope line, from to maximum loading boundary (Manhattan distance) : candidate spare : overloading spare
1
p
2
p
1 − n
p
n
p
) ,Y (X
n n
p p
) ,Y (X
b b
) ,Y (X
g g
g g
n
p
b
ORL
b
ORL
17
FG FG FG FG (empty)
(a) (b)
FG FG FG : candidate spare gate
(#spare:2)
: FG, farthest group : spare not candidate
18
19
Output loading exceed constraints Update net and recalculate its MC order Output loading meet constraints. Done!
1 2 3 4 5 6 1 2 3 4 6 7 8 5
30um 70um 100um 1500um 2500um 3500um
ESB Mode ECT Mode
30um 70um 100um 1500um 2500um 3500um timing critical terminal
extra delay from buffer!
MD constraint ⇒ 1000u
After ECO multi-cycle path
After ECO multi-cycle path
20
Metal-only ECO & its challenges Problem Formulation Proposed Slew/Loading-Violation Solver
Experimental result Conclusions
21
Proj. (ver.) inst. count process spare count ECO size violation slew load Da(3) 190K .18 7.6K 142 40 Db(3) 210K .18 9.1K 1030 6 Dc(4) 242K .18 5.5K 507 71 Dd(3) 309K .18 10.4K 1904 47 De(2) 871K .13 62.4K 127 35 Df(2) 1.3M .13 48.8K 1276 15 243 Dg(4) 1.6M .13 80.5K 1702 166 258 22
Proj. (ver.) worst slew worst loading worst slack [3] MOESS [3] MOESS [3] MOESS Da(3) 5.0n 1.9n <1 <1
>0 Db(3) 1.8n 1.8n <1 <1 >0 >0 Dc(4) 3.8n 2.0n <1 <1
>0 Dd(3) 2.1n 2.0n <1 <1 >0 >0 De(2) 0.9n 0.9n 1.2 1.1 >0 >0 Df(2) 1.3n 0.9n 3.5 1.2
>0 Dg(4) 1.2n 1.0n 4.6 1.2
>0 23 means the result violates the constraint
20 22 31 27 172 222 252 1 1 3 2 5 37 45 50 100 150 200 250 300
[3] MOESS 78 12 91 83 63 377 314 40 5 68 48 35 277 259 50 100 150 200 250 300 350 400 da(3)db(3) dc(4) dd(3)de(2) df(2) dg(4)
[3] MOESS 24
Proj. (ver.) spare count ECO size # violation worst slew worst loading worst slack slew load [3]
MOESS
[3]
MOESS
[3]
MOESS
Dh(2) 4.2K 52 7 1.8n 1.8n <1 <1 >0 >0 Dh(3) 4.1K 267 29 2 2.1n 1.8n <1 <1 >0 >0 Dh(5) 3.7K 1672 118 5 4.6n 2.0n 1.3 <1
>0 Dh(7) 1.9K 43 9 2 2.8n 2.0n <1 <1
Dh(8) 1.8K 135 17 3 3.5n 2.1n <1 <1
# of instance count: 352.1K 25 means the result violates the constraint
35 39 42 35 36 1 1 4.5 1 1 5 10 15 20 25 30 35 40 45 dh(2) dh(3) dh(5) dh(7) dh(8)
Run Tim e (average speed up 29.9X)
[3] MOESS 12 64 188 18 29 7 35 124 13 19 20 40 60 80 100 120 140 160 180 200 dh(2) dh(3) dh(5) dh(7) dh(8)
[3] MOESS 26
27
28
desired location of inserted buffer real spare location Lack of physical knowledge! slew 500p eco map slew 1500p
29