CharFlo-Memory Compiler Tech Rev10.3-2010June
CharFlo-Memory Compiler Tech Rev10.3-2010June
TM
A Total Solution for
Characterizing and Verifying Memory IP
from Memory Compilers
Agenda
Introduction
Legends Products and Roadmaps
CharFlo-Memory! Characterization Flow
Memory Characterization with Reliability Check
SpiceCut Technology
Performance Optimization
Power-Gating Solutions
The Conclusion
Appendix: ActiveNet Flow
Legends Products
Model Diagnoser-Cell!TM:
Cell Library .Lib Quality Assurance and Defect Repair
Compiled Memory
Custom Memory
Characterization
Re-Characterization
Characterization
Re-Characterization
CharFlo-Custom!
CharFlo-Memory!
Build Critical-Path
Circuit by
Global-SpiceCut
User-defined Stimulus &
Measure
*Data Sheet or Spec
Standard/IO
Cell Library
Characterization
Re-Characterization
CharFlo-Cell!
Build Critical-Path
Circuit by
Verification & QA
SpiceCut
Defect Repairing
Turbo-SpiceCut
Model Diagnoser
Build Compiler Model by
Compiler Model Generator
CharFlo-Memory!TM
Push-button Characterization Flow
MSLTM :
MemChar SpiceCut Library, the tool for automating
memory characterization with .Lib-in and .Lib-out
SpiceCutTM :
Critical-path circuit building tool based on layoutextraction with RCs
MemCharTM :
Memory characterization tool with optimization.
MSIMTM :
High-accuracy circuit simulator
CharFlo-Memory!TM
Push-button Characterization Flow
Memory Compiler
Memory Instance
Layout Extraction
Circuit Netlist
.Lib Model
CharFlo-Memory!TM
MSLTM
Spice Model
SpiceCutTM
Circuit Simulator
MemCharTM
Updated
.Lib Model
Verification
Reports
MSIM
Vendors
Memory Compilers 180nm
YES
Artisan*
YES
Virage
N/A
TSMC*
YES
Faraday*
YES
Virtual Silicon*
YES
Synopsys (Avanti)
N/A
Dolphin Technology*
YES
VeriSilicon*
* Legends customer and/or partner
130nm
90nm
65nm
45/40nm
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
N/A
YES
YES
YES
YES
N/A
YES
N/A
YES
YES
N/A
N/A
YES
YES
N/A
N/A
N/A
N/A
N/A
Major Applications
For Commercial Memory Compilers
What-if Analysis
By Using CharFlo-Memory!TM
Scenarios
z
CharFlo-Memory!TM
A Complete Solution for Characterization
Instance Characterization
Compare with Compiler Models
Compiler timing >> Actual timing
Timing
Timing
Compiler timing < Actual timing
Actual Silicon
Compiler Model
(margin added)
(Instance Model)
Actual Silicon
Design Failure !
Low Yield !
Compiler
Model
(no margin)
(Instance Model)
Slow Design !
Speed Sacrifice !
Memory Size
Memory Size
Bi-Section Optimization
Bi-Section model in MemCharTM is based upon multicriterion binary search algorithm. The convergence is
controlled by the BiSect Error
Success
Goal
t1
t3
t5
t2
t4
Fail
Time
t1
Setup/Hold
t2
Time
t3
t4
t5
t1
Start
t2
Start
t3 = (t1 + t2) / 2
t4 = (t2 + t3) / 2
t5 = (t3 + t4) / 2
Goal
Fail
Success
Fail
Success
Success
BiSect Error
Norm(t2-t1)
Norm(t3-t2)
Norm(t4-t3)
Norm(t5-t4)
Reliability Checking
Glitch and MetaStability Prevention
Clock
CLK
IN
CLKB
QB
CLK
CLKB
Reliability
Problem !
CharFlo-Memory!
locates glitch-free
metastability-free
setup/hold time
IN
Q
QB
IN
Q
QB
Glitches
Safe
DataOut
Clock
IN
Q
QB
IN
Q
QB
DataOut
Setup Time = -6 ps
MetaStability
Setup Time = 100 ps
Safe
Reliability Checking
Performance Degrading Prevention
Even functionally working, too short setup/hold time will
prolong the access time which degrades chip performance.
Access
Timing Performance
Time Hard Error Degrading
Functional Region
CharFlo-Memory!TM
locates True setup/hold time
Functional
Failure
Slow Speed
Low Yield !
Bit
BitB
0.1 V
Sense
Sense
Controls Amplifier
BitB
Time
Bit
0.2 V
4.3212 ns
1.8824 ns
2.8109 ns
1.8824 ns
1.6969 ns
365.8 mv
95.9 mv
200.6 mv
95.9 mv
68.3 mv
SRAM 8Kx24
Slow
Danger
* Noise margin is 100 mv minimum normally , and 200 mv for the safer.
Memory Circuit
CCB DO0
AD0
AD0
Memory
Circuit
Load1
Memory
Circuit
Driver
DO0
DI0
AD0 CCB
DI0
Load2
DO0
DI0 CCB
CCS Noise Model
SpiceCut Functions
Circuit
characterization
Circuit
z
z
z
verification for
Built-in
RC reduction
.subckt dual_cell 3 4 5 6 14 16
.alias word = 14
.alias bit = 5
.alias bitb = 4
.alias word2 = 16
.alias bit2 = 6
.alias bit2b = 3
M29 9
8
VDD
7 P L=.40U W=.60U
M30 VDD
9
8
7 P L=.40U W=.60U
M33 0
8
9
11 N L=.40U W=1.37U
M34 0
9
8
11 N L=.40U W=1.37U
M37 4
14 9
11
N L=.40U W=.85U
M38 5
14 8
11
N L=.40U W=.85U
M39 3
16 9
11
N L=.40U W=.85U
M40 6
16 8
11
N L=.40U W=.85U
.ENDS
data_in31
Bit Line
Word Line
read1
write1
TM
SpiceCut
SpiceCutTM
read5
write5
D
E
C
O
D
E
R
Memory Bank
SpiceCut
Commands
Sense Amplifier
data_out0
data_out31
Address
Decoder
Active
Word Line
Rd<1>
Rd<2>
Bit Line
Rd<5>
Complete multiple-paths
critical circuit for all PVTs
Active
Sense Amplifier
Data-out Buffer
data-out
Latch node
Bit-line control node
Word-line / word-line control node
Memory-cell internal node
Address
Rd<1>
Rd<2>
Word Line
Critical-Path Circuit
Decoder
Rd<5>
Clock
Critical-Path
Circuit
rd<5>
Bit Line
circuit1
circuit2
Clock
Word
in
clk
Latch
Sense Amplifier
Data-out Buffer
data-out
out
N101
Data-in Buffer
Address
Word Line
Rd<1>
Rd<2>
Decoder
Memory Cell
N1
Bit Line
Rd<5>
Clock
Sense Amplifier
Data-out Buffer
data-out
N2
Address
Rd <1>
Rd <2>
Decoder
Active
M=1022
Bit Line
Rd <10>
Active
Sense Amplifier
...
Data-out Buffer
Data -out
Performance Optimization
Segmenting MOSFET Loadings
Word-lines,
Bit-lines and
Nodes along critical-path circuits
Active
Cell
Inactive
Cell
Inactive
Cell
Inactive
Cell
Inactive
Cell
M=n1
M=n2
M=n3
M=n4
Performance Optimization
Segmenting MOSFET Loadings
45nm 256K SRAM using Subcircuit Spice model, with about
1.7 Million MOSFETs
Accuracy
Comparison
Access
Time
Speed and
Memory Usage
Comparison
Access
Time
Accuracy
Differences
Before Segment
After Segment
50,488 MOSFETs
10,292 MOSFETs
Rise
Fall
Rise
Fall
Rise
Fall
325.94p
351.53p
324.95p
351.98p
0.30%
0.13%
Before Segment
After Segment
50,488 MOSFETs
10,292 MOSFETs
CPU
Time
Memory
Usage
CPU
Time
Memory
Usage
CPU
Time
Memory
Usage
8,279 sec
3.8 GB
674 sec
1.6GB
12.28X
2.38X
Improvement
* HHNEC
* Jazz
* Tower
* Chartered
* SMIC
* Tower
* Jazz
Artisan
Virage
TSMC
Virtual-Silicon
The
Dolphin Technology
Faraday (UMC Alliance)
VeriSilicon
Synopsys
The Conclusion
Legends Memory Characterization
Appendix
ActiveNet Method for
Efficient Layout Extraction
Programmable MSL
Specification
MSLTM
Layout GDS2
File
Interpret to
SpiceCut
Controls
SpiceCutTM
Critical-path circuits
StarRC-XTTM
Calibre xRCTM
Programmable MSL
Specification
MSLTM
SpiceCutTM
MemCharTM
Customized by
compiler designs
Interpret to
SpiceCut Controls
Build critical-path
circuits