The use of Optimization in Signal Integrity …Page 1 The use of Optimization in Signal Integrity...
Transcript of The use of Optimization in Signal Integrity …Page 1 The use of Optimization in Signal Integrity...
Page 1Page 1
The use of Optimization in Signal Integrity Performance Centric High Speed Digital Design Flow
Asian IBIS Summit, Shanghai ChinaNovember 4, 2009
Brahim Bensalem, Intel Corporation Lihua Wang, Agilent Technologies, EEsof Division Sanjeev Gupta, Agilent Technologies, EEsof Division Xuliang Yuan, Agilent Technologies, EEsof Division
Email contact: [email protected]
Page 2Page 2
Agenda
• Channel Complexity and Gaps in Current Design Flow
• Advantage of End to End Eye Centric Design Flow
• Why an Eye Diagram ? And Eye Diagram Measurements
• Optimization of DDR2 Channel.
• Introduction to Batch Mode Simulation
• DDR Compliance
Page 3Page 3
Gap in Channel Design Flow
Design TargetEye Mask, TJ, SU/HD Margin, etc.
Chanel ParametersImpedance, Signal spacing,
total length, Rtt, et.
Solution Space ExplorationDOE, Corner Ana., Monte Carlo
TD and/or FD
Post Process/Convertto Design Target
Target Met?
End
YES
No
Design TargetEye Mask, TJ, SU/HD Margin, etc.
Chanel ParametersImpedance, Signal spacing,
total length, Rtt, et.
Optimize Param. for Max. Eye Performance
Conventional Flow Desired Flow
Page 4Page 4
Advantage of Eye Centric Design Flow
• Substantial gain in Channel Design Time (More than 3 weeks in our DDR2 case)
• Design is more robust since channel is optimized toward end to end channel performance
• Reduces risk of marginal design or opportunity loss due to over design
Page 5Page 5
Different Eye Diagrams Functions
Why Eye Diagram is Important?
Page 6Page 6
Characterizing an Eye DiagramMost commonly used eye diagram measurements
• Eye level 1 & level 0
• Eye rise/ fall time
• Eye opening
• Eye width
• Eye height
• Eye amplitude
• Peak to peak & RMS jitter
Delay Effect
Most of the measurements are statistical in nature
Page 7Page 7
Slice and DiceEye Binning
Binning DataEye Diagram
Page 8Page 8
Histogram PlotsHistogram can be created for any portion of eye diagram
Histogram across amplitude axis provide distribution around level one and zero
Histogram across timing axis provide peak to peak jitter
Page 9Page 9
Eye DelayWhy delay calculation is required
• Delay calculation is required for automated eye parameter measurements
• Binning the eye diagram makes this calculation easy
Calculated Delay
Page 10Page 10
Automated Eye Crossing Detection
• Mean value of horizontal histogram provide crossing time value
• Mean value of amplitude histogram provides crossing amplitude value
Page 11Page 11
Measurements of Eye Level One/Zero
0% 40%60%Measurement boundaries
100%
Eye
Am
plitu
de
3 σ
3 σ
Eye
H
eigh
t
1 σ
1 σ Eye Amplitude = Level One – Level ZeroEye Height = (Eye level one- 3σ)- (Eye level zero+3σEye S/N= (Eye level one-Eye level zero)
1σ level one+1σ level zero
Page 12Page 12
Eye Measurements
Page 13Page 13
Simplified Eye Measurements
Concept of Eye Probe Measurements which needs to be performed
Any number of Eye probes could be used in a design
Fast and Easy
Page 14Page 14
DDR2 Simulation
IBIS drivers and triggers Memory Module & Eye Probe
Page 15Page 15
Memory Bus Simulation Details
• X8 Un-buffered Memory Down Channel• 8 SDRAM Devices per signal• Signal Group : CMD/ADD
Page 16Page 16
Memory Performance at DRAM
How to improve channel performance?
Page 17Page 17
• Introduction to Optimization• Time domain Optimization and why it is difficult• Optimization of DDR2 Channel
Page 18Page 18
Introduction to OptimizationModify your Designs Automatically to Achieve Required Performance
Why Optimization?• Parameter sweep often doesn’t lead to an optimized designs• Parameter sweeps requires usually large number of simulation when
number of variables are large
The use of Optimizers in a design process• Automatically change design parameter to meet design goals• Categorized by their error function formulation• Coarse design stages: Random optimizer, Random Minimax optimizer and Simulated
Annealing optimizer • Fine design stages: Gradient optimizer, Gradient Minimax optimizer, Quasi-Newton optimizer
and Minimax optimizer
Page 19Page 19
Issues with Time Domain Optimization
– Time domain optimization goals are often difficult to define
– Changes in any reactive component during optimization will effect channel delay and optimization goals may no longer be applicable
Page 20Page 20
DDR2 Channel Design
X8 Un-buffered Memory Down Channel
8 SDRAM Devices
Signal Group to Optimize: CMD/ADD
Design Parameters:
Leadin Escape W leadin S Breakout Trace Spacing
Rtt L Brkout
3-5 mils 0.3-0.8in20-100 Ω8-15 mils3.5-5.5 mils0.3-0.8 in2-4 in
Page 21Page 21
Eye Diagram Optimization
– Which all eye measurements can be optimized
– How many nodes can be optimized simultaneously
– Can optimization be performed easily
Page 22Page 22
Optimization Cockpit
What are the benefits of such a cockpit?
Page 23Page 23
Optimized Eye Diagram Performance
Eye Diagram after Channel Optimization
Optimizer Type : RandomNumber of iteration : 20Optimization time : 25 minutes
Page 24Page 24
Performance Comparison
Before After
Page 25Page 25
Sweeping Corner Case
Batch simulation is used to sweep corner cases
Page 26Page 26
Simulation Results
Here only Rx corner cases was swept.
Batch mode allows simulation of any combination of Tx/Rx corner cases and IBIS models
Page 27Page 27
Time Domain Optimization Discussed
• Works well even if the flight time delay is changed due to changein the reactive element value.
• Automatically calculates delay required for eye positioning
• Automatically detects eye crossing point and 40-60% region
• Optimize eye diagram performance
• Corner case simulation performance was determined
Any eye diagram parameter such as eye opening factor, eye height, peak to peak jitter, rise time … can be used as an optimization goal.
Will make your design work without running 1000’s of parameter sweep
Page 28Page 28
DDR Mesurements
Page 29Page 29
Memory Compliance Toolkits
vdd
DRAM_1
vdd
DRAM_0
vdd
vdd
aw
DQS_DRAM_1N
DQS_DRAM_1Pvdd
DQS_DRAM_0N
DQS_DRAM_0Pvdd
vdd
ML1CTL_Cdq_TL2_2
Layer=1W=W milLength=2.9 mmSubst="DIMMSUB"
ML1CTL_Cdq_TL2_1
Layer=1W=W milLength=2.9 mmSubst="DIMMSUB"
RR1R=R_dq Ohm
ML1CTL_Cdq_TL1
Layer=1W=W milLength=14.3 mmSubst="DIMMSUB"
ML1CTL_Cdq_TL0
Layer=1W=W milLength=3 mmSubst="DIMMSUB"
IBIS_IOIBIS26
UsePkg=yesDataTypeSelector=TypSetAllData=yesModelName="DQ_FULL_800"PinName="K8"ComponentName="MT47H32M16BN_CLP_3_neg25"IbisFile="u37y_800.ibs"
DigO
IO
PD
PU
E
TPCGC
IBIS_IOIBIS11
UsePkg=yesDataTypeSelector=TypSetAllData=yesModelName="DQ_FULL_800"PinName="K8"ComponentName="MT47H32M16BN_CLP_3_neg25"IbisFile="u37y_800.ibs"
DigO
IO
PD
PU
E
TPC
GCVARVAR3W=5.0
EqnVar
VtPRBSVPRBS4
Delay=0 psecFallTime=10 psecRiseTime=10 psecBitRate=0.75 GHzEdgeShape=Linear TransitionVhigh=2 VVlow=0.0 VRegisterLength=17
- -
++
VtPRBSVPRBS3
Delay=0 psecFallTime=10 psecRiseTime=10 psecBitRate=0.75 GHzEdgeShape=Linear TransitionVhigh=2 VVlow=0.0 VRegisterLength=17
- -
++
ML1CTL_Cdq_TL0A1
Layer=1W=W milLength=3 inSubst="DIMMSUB"
V_DCSRC18Vdc=VDD/2
RR6R=R_Ref Ohm
IBIS_IOIBIS21
UsePkg=yesDataTypeSelector=TypSetAllData=yesModelName="SSTL18_I"PinName="12"ComponentName="VIRTEX-5_FF1136"IbisFile="v irtex5.ibs"
Di gO
IO
PD
PU
E
TPC
GC
IBIS_IOIBIS17
UsePkg=yesDataTypeSelector=TypSetAllData=yesModelName="SSTL18_I"PinName="12"ComponentName="VIRTEX-5_FF1136"IbisFile="v irtex5.ibs"
Di gO
IO
PD
PU
E
TPC
GC
IBIS_DIOIBIS8
UsePkg=yesDataTypeSelector=TypSetAllData=yesModelName="DQ_FULL_800"PinName="E7"ComponentName="MT47H32M16BN_CLP_3_neg25"IbisFile="u37y_800.ibs"
DigO
IO_I
PU
PD E
T
GC
PC
IO_NI
ML2CTL_Cdqs_TL0
ReuseRLGC=noRLGC_File=Layer=1S=6 milW=W milLength=3 mmSubst="DIMMSUB"
ML2CTL_Cdqs_TL1
ReuseRLGC=noRLGC_File=Layer=1S=6 milW=W milLength=3 mmSubst="DIMMSUB"
RR8R=R_dqs Ohm
RR7R=R_dqs Ohm
IBIS_DIOIBIS27
UsePkg=yesDataTypeSelector=TypSetAllData=yesModelName="DQ_FULL_800"PinName="E7"ComponentName="MT47H32M16BN_CLP_3_neg25"IbisFile="u37y_800.ibs"
DigO
IO_I
PU
PD
E
T
GCPC
IO_NI
ML2CTL_Cdqs_TL2_1
ReuseRLGC=noRLGC_File=Layer=1S=6.0 milW=W milLength=2.9 mmSubst="DIMMSUB"
ML2CTL_Cdqs_TL2_2
ReuseRLGC=noRLGC_File=Layer=1S=6.0 milW=W milLength=2.9 mmSubst="DIMMSUB"
VtPRBSVPRBS5
Delay=0 psecFallTime=10 psecRiseTime=10 psecBitRate=0.75 GHzEdgeShape=Linear TransitionVhigh=2 VVlow=0.0 VBitSequence="10101010"
- -
++
ML2CTL_Cdqs_TL0A1
ReuseRLGC=noRLGC_File=Layer=1S=6.0 milW=W milLength=3 inSubst="DIMMSUB"
IBIS_DIOIBIS24
UsePkg=yesDataTypeSelector=TypSetAllData=yesModelName="SSTL18_I"PinName="20P"ComponentName="VIRTEX-5_FF1136"IbisFile="v irtex5.ibs"
Di gO
IO_ I
PU
PD E
T
GCPC
IO_NI
Page 30Page 30
Memory Compliance Toolkits-Features
2 4 6 8 10 12 14 16 18 200 22
1.95
2.00
2.05
2.10
1.90
2.15
Index
Sle
wR
Set
upFa
ll
Page 31Page 31
Conclusion
• Time Domain optimization of eye diagram provides a powerful methodology to improve high speed memory design and to extract even fraction of the psec of timing margin buried in interconnects
• Substantial reduction in time needed to design and optimize of memory platform design is made (from weeks to hours)
• Guaranteed maximal channel robustness
• Minimize Over/Under design risks
Opportunities for future developmentNeed to demonstrate IBIS model optimization such as driver strength, ODT etc.