Reap What You Sow: Reap What You Sow: Spare Cells for Post Spare Cells for Post-Silicon Silicon Metal Fix Metal Fix
Kai Kai-hui Chang hui Chang† Igor Markov Igor Markov†‡ Valeria Valeria Bertacco Bertacco†
- Apr. 15, 2008
Reap What You Sow: Reap What You Sow: Spare Cells for Post Spare - - PowerPoint PPT Presentation
Reap What You Sow: Reap What You Sow: Spare Cells for Post Spare Cells for Post-Silicon Silicon Metal Fix Metal Fix hui Chang Kai Kai-hui Chang Igor Markov Igor Markov Bertacco Valeria Valeria Bertacco
Pre-silicon Post-silicon
180nm 130nm
> 28% of TTM !
90nm
> 35% of TTM ? ~ 17% of TTM
2
10
Mask cost is increasing
[ITRS’05]
3
2 4 6 8 80 70 65 57 50 45
Technology node (nm)
Mask cost ($million)
Current node: $3M/set
Mask cost is increasing
Transistor masks
4
Metal fix can be accomplished by
5
To enable metal fix, spare cells
Spare cell selection and placement impact
Poor spare-cell selection requires
6
replaced by NAND High-quality fix with small perturbation to the silicon die Poor spare-cell placement requires long wires several cells
Predict post-silicon bugs is difficult
Need to considering both logical
7
Connect cell-type selection problem
Handle spare-cell placement using
A novel spare-cell insertion methodology
First empirical study for spare-cell insertion
8
Spare-cell selection: SymSynth
Spare-cell placement: UniSpare
Our spare-cell insertion methodology Experimental results Conclusions
9
Bugs discovered post-silicon are often
To fix the bugs, the functionality of the circuit
10
11
g1 01 11 01 g2 00 01 11 11 01 10 Succeed Fail
Signatures are partial truth tables
Measures heterogeneity of the circuit
12
13
14
Trade-off among impact to circuit delay, wirelength and metal fix quality
15
Benchmark Description Cell count Alpha_IF Instruction fetch unit of Alpha 1205 Alpha_ID Instruction decode unit of Alpha 11806 Alpha_EX Instruction execution unit of Alpha 20903
Alpha_EX Instruction execution unit of Alpha 20903 Alpha_MEM Memory stage of Alpha 363 Alpha Alpha CPU full chip 30212 MRISC MiniRISC CPU 4359 Hold_logic Part of picoJava IU control 67 EXE_ECL Part of OpenSparc EXU control 2083 MD5 MD5 encryption/decryption core 9181 DES_perf DES encryption/decryption core 100776
16
(Alpha is from Bug UnderGround project in Michigan)
0.3 0.35 0.4
17
0.05 0.1 0.15 0.2 0.25 0.3 Alpha_IF Alpha_ID Alpha_EX Alpha_MEM Alpha MRISC Hold_logic EXU_ECL MD5 DES_perf INV AND OR XOR NAND NOR MUX2
6 7
0.35 0.4
18 1 2 3 4 5 6 Alpha_IF Alpha_ID Alpha_EX Alpha
Average number of spare cells used 0.05 0.1 0.15 0.2 0.25 0.3 0.35 Alpha_IF Alpha_ID Alpha_EX Alpha INV AND OR XOR
Comparison to previous work
125%
19
95% 100% 105% 110% 115% 120%
Delay Wirelength Yee Giles Ours
103% 104% 105%
96% 97% 98% 99% 100% 101% 102%
Delay Wirelength PostSpare ClusterSpare UniSpare (new)
20
PostSpare ClusterSpare UniSpare
120% 125%
21
90% 95% 100% 105% 110% 115%
Delay Wirelength PostSpare ClusterSpare UniSpare (new)
PostSpare ClusterSpare UniSpare
Impact on number of metal segments affected
140 150
22
70 80 90 100 110 120 130 140
Metal segments affected PostSpare ClusterSpare UniSpare (new)
PostSpare ClusterSpare UniSpare
Spare cell selection
Spare cell placement
23
24
25
300 350 400 450 500
gments affected
26
50 100 150 200 250 5 10 15 20
Number of metal segme Number of cells used during metal fix
PostSpare ClusterSpare UniSpare Linear (PostSpare) Linear (ClusterSpare) Linear (UniSpare)
100.15% 100.20% 100.25%
ed wirelength
27
99.95% 100.00% 100.05% 100.10% 5 10 15 20
Change in routed w Number of cells used during metal fix
PostSpare ClusterSpare UniSpare Linear (PostSpare) Linear (ClusterSpare) Linear (UniSpare)
Spare-cell insertion method depends on
Selection of spare-cell types
Bingert’03, Or-Bach’04]
28
Insertion of spare cells
Drawbacks
29