Transcript Slide 1
Welcome to Micron Engineering Clinic Analysis and Optimization of Multi Gb/s Chip to-Chip Communication Micron Engineering Clinic Fall ‘08 – Spring ‘09
Micron Engineering Clinic Team Members Documentation Lead Raheem Alhamdani - CE Technical Leads Bryson Kent - EE Jordan Kemp - EE Lucas Loero - EE Team Lead Ben Meakin – CE Fall ‘08 – Spring ‘09
Introduction and Motivation for Modeling and Verification of Interconnects Raheem Alhamdani
Documentation Lead Computer Engineer [email protected]
Micron Engineering Clinic Fall ‘08 – Spring ‘09
Introduction The Sponsor: • Manufacturer of DRAM, Flash Memory, and Image Sensor Integrated Circuits What Have They Asked Us To Do?
• Design a software application for modeling and verification of chip-to-chip interconnects Micron Engineering Clinic Fall ‘08 – Spring ‘09
Introduction What is Verification?
• Proving through tests and formal methods that a design does what it is intended to do What are Chip-to-Chip Interconnects?
• Electrical systems for communication between two integrated circuits Micron Engineering Clinic hardwaresecrets.com
Fall ‘08 – Spring ‘09
Motivation Background Memory and I/O Devices Operate Much Slower than CPU Access to Off-Chip Resources is Expensive ~ 300 cycles - Usually Cycles are Wasted Demand for Low-Power yet High-Performance Can’t Have Wasted Cycles!
Goal: Speed Up Devices and Speed Up Interconnect Micron Engineering Clinic Fall ‘08 – Spring ‘09
Problem As Devices Move Towards Being Smaller, Faster, Lower Power Interconnects Become Slower, Noisier, and Unreliable Issues: Inter-Symbol Interference (ISI) Co-Channel Interference Timing Jitter Voltage Noise Conventional Testing Methodologies are not Feasible or Sufficient Micron Engineering Clinic Fall ‘08 – Spring ‘09
Eye Diagram •What is an eye diagram?
A useful tool for the qualitative analysis of signal used in digital transmission . Voltage Time Micron Engineering Clinic Fall ‘08 – Spring ‘09
Eye Diagram How is it created?
Voltage Time Voltage Micron Engineering Clinic Bits Superimposed 1 Unit Interval (UI) Time Fall ‘08 – Spring ‘09
Eye Diagram (Noise) What Causes Noise?
• Interference from neighboring wires (Co Channel Interference) • Electromagnetic Interference •Link resistance, capacitance, and inductance Voltage Voltage Bit-stream Micron Engineering Clinic Voltage Noise Time Bits Superimposed 1 Unit Interval (UI) Time Fall ‘08 – Spring ‘09
Eye Diagram (Jitter) What Causes Jitter?
• Clock Variation (Skew) • Reflection • General Timing Uncertainty Voltage Bit-stream Voltage Jitter Time Micron Engineering Clinic Time Bits Superimposed 1 Unit Interval (UI) Fall ‘08 – Spring ‘09
How to interpret it?
Data Jitter Real Eye Diagram Clock Jitter Vref Micron Engineering Clinic Signal Noise Vref Noise + Receiver Sensitivity Data Signal Clock Signal Fall ‘08 – Spring ‘09
Solution Our Objective is Not to Solve These Problems Through Better Design, but to Provide Designers with a Tool That Correctly Models and Verifies Interconnects With These Problems Deliverables: Cross Platform App with Graphical User Interface Provide Worst-Case and Statistical Based Link Analysis Spice Compatible Correctly Model Co-Channel Interference and Tx/Rx Jitter Micron Engineering Clinic Fall ‘08 – Spring ‘09
My Roles
Project Documentation Meeting minutes, Time-line, Progress Report , Presentations, Proposal and links are all on the team ’s website: www.eng.utah.edu/~alhamdan/Micron/Micron.html
Graphical User Interface and Software Development GUI Software skeleton Plotting code Code documentation Micron Engineering Clinic Fall ‘08 – Spring ‘09
Team ’s website Micron Engineering Clinic Fall ‘08 – Spring ‘09
Meeting Minutes Micron Engineering Clinic Fall ‘08 – Spring ‘09
Bibliography B. K. Casper, M. Haycock, and R. Mooney, “An accurate and efficient analysis method for multi-Gb/s chip-to chip signaling scheme ”, in Digest of Technical Papers from the IEEE Symposium on VLSI Circuits, June 2002, pp. 54 –57.
B. K. Casper , G. Balamurugan, J. E. Jaussi, J. Kennedy, M. Mansuri, “Future microprocessor interfaces: Analysis, design and optimization ”, in Proceedings of the IEEE Custom Integrated Circuits Conference, Sept. 2007, pp. 479-486.
P. K. Hanumolu, B. K. Casper, R. Mooney, G. Y. Wei, and U. K. Moon, “Jitter in high-speed serial and parallel links ”, in Proceedings of the IEEE International Symposium on Circuits and Systems, May 2004, pp. 425 –428.
Pavan Kumar Hanumolu
, Bryan Casper, Randy Mooney,
Gu-Yeon Wei
, and Un-Ku Moon,
“Analysis of PLL Clock Jitter in High-Speed Serial Links ”, in IEEE Transactions on Circuits and Systems, November 2003, pp.879-886 Micron Engineering Clinic Fall ‘08 – Spring ‘09
Micron Engineering Clinic
Questions?
Fall ‘08 – Spring ‘09
Worst Case Verification of High Speed Interconnects Bryson Kent
Technical Lead Electrical Engineer [email protected]
Fall ‘08 – Spring ‘09 Micron Engineering Clinic
Introduction • What is Worst Case analysis • Why is the Worst Case important • How to calculate the Worst Case • What are the results • Conclusion and implementation
Micron Engineering Clinic Fall ‘08 – Spring ‘09
Worst Case Analysis
• Summation of all negative effects • Good representation of what can happen if certain conditions arise • Verification of error free transmission • Classic analysis of 1 trillion bits
•(1*10^12 bits) * (10^-6sec) = over 10 days
Micron Engineering Clinic Fall ‘08 – Spring ‘09
Worst Case Eye Diagram
WC 1 WC 2 WC 3 Pass/Fail
• Voltage Vs one period of time • Distortion sources add to close the eye • From the eye diagram we can calculate a system pass fail
Tim Hollis, Micron Senior Project Proposal Micron Engineering Clinic Fall ‘08 – Spring ‘09
Tim Hollis, Micron Senior Project Proposal Micron Engineering Clinic
Inter-Symbol Interference
• Inter-Symbol interference is the main source of interference • Data dependent jitter and Co-channel interference add to signal degradation
Fall ‘08 – Spring ‘09
Worst-Case Computation
• C(t) = transmitter symbol response • P(t) = impulse response of the channel •Worst case eye diagram due to Inter-symbol interference •Worst case eye diagram due to Inter-symbol interference and cochannel interference J. G. Proakis, “Digital Communication”, McGraw-Hill, 3rd Ed., 1995.
B. K. Casper, M. Haycock, and R. Mooney, “ An accurate and efficient analysis method for multi-Gb/s chip-to-chip signaling schemes ”, in Digest of Technical Papers from the IEEE Symposium on VLSI Circuits, June 2002, pp. 54 –57.
Micron Engineering Clinic Fall ‘08 – Spring ‘09
Calculating the eye diagram
1 0.5
Pulse Response Pre-Cursor Cursor Post-Cursor 0 891 1091 1291 1491 1691 1891 2091 2291 2491 2691 2891 3091 ISI pp = 815.9948 mV DDJ pp = 34.3117 ps 1 0.5
0 -100 Tim Hollis, Micron Senior Project Proposal Micron Engineering Clinic -50 0 50 100 Fall ‘08 – Spring ‘09
Results
• Calculated performance Vs given performance
Micron Engineering Clinic 0.4
0.2
0 1 0.8
0.6
-1 -0.5
0 0.5
1 x 10 -10 Fall ‘08 – Spring ‘09
Conclusion
• Worst case analysis is beneficial • Computation is pulse based analysis • User can define and add any distortion as desired • Results of worst case analysis match results of given test case
Micron Engineering Clinic Fall ‘08 – Spring ‘09
Micron Engineering Clinic
Questions?
Fall ‘08 – Spring ‘09
Statistical Analysis of Electrical Signaling
Jordan Kemp
Technical Lead Electrical Engineering [email protected]
Fall ‘08 – Spring ‘09 Micron Engineering Clinic
• Introduction • Why • What • How • Summary
Micron Engineering Clinic Fall ‘08 – Spring ‘09
Introduction
• Worst Case Eye good for Pass/Fail Mask, but doesn’t give details • Need for probability of error, rather than rigid “Pass/Fail” Pass/Fail Mask Micron Engineering Clinic Fall ‘08 – Spring ‘09
• Use channel impulse response, p(t), and transmitter symbol response, c(t)
Introduction
() () • Find PDF (Probability Density Function) & CDF (Cumulative Distribution Function) of the channel output Micron Engineering Clinic Fall ‘08 – Spring ‘09
• Plot BER eye-diagram as a function of sample time, sample voltage, and probability of error • Shows BER of transmitted data given timing uncertainty (data jitter, clock jitter) and voltage uncertainty (V REF , Rx sensitivity, ISI) Micron Engineering Clinic
Introduction
Fall ‘08 – Spring ‘09
Why
•
Trends
Increase: Speed, Capacity Decrease: Form-Factor, Power, Cost All above decrease Signal Integrity • Theoretically impossible to send error free data
t
0 0 0 1 0 1 0 • Certain number of errors per number of bits sent specified by user/system • Usually specified below 1 1 trillion Bit Error Rate (BER) = tra s itte its • Would require a 1 TRILLION bit simulation!
Micron Engineering Clinic Fall ‘08 – Spring ‘09
• Probabilistic data eye using channel impulse response, p(t), and transmitter symbol response, c(t) to find the PDF & CDF of the channel output • What is a PDF?
- Probability Density Function - Shows the probability that a specific value is likely to happen - Integrates to 1 • What is a CDF?
- Cumulative Distribution Function - Shows the probability is less than or equal to a specific value - Integral of the PDF Micron Engineering Clinic
What
Fall ‘08 – Spring ‘09
How (1) 1
st
Way (from *Casper paper):
Recursively convolve 1UI sample terms assuming equal probability of a transmitted ‘0’ or ‘1’ 1UI [0 -0.01] [0 0.59]
y
(
t
) [0 -0.07] [0 0.015] [0 0.055] [0 0.2] [0 0.5] [0 0] 0.59
0.0
[0 0.7] (Each step scaled by ½ to account for P(0) = P(1) ) Micron Engineering Clinic Fall ‘08 – Spring ‘09
How (1) Problems:
• VERY hardware intensive (must compute multiple convolutions) [0 -0.01] [0 0.055] [0 0.59] [0 0.2] [0 -0.07] [0 0.5] [0 0.015] [0 0] . . . .
• Must maintain certain amount of resolution, slowing computations down even more 1.452 1.452 1.452 … … 1 (no decimal resolution) 1.4 (one decimal resolution) 1.45 (two decimal resolution) • Very quickly run out of memory performing calculations delta function @ 1: [0 1 0 …] 0 1 2 . . .
delta function @ 1.4: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 …] 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 1.1 1.2 1.3 1.4 1.5 . . .
Micron Engineering Clinic Fall ‘08 – Spring ‘09
How (2) Implemented Method (modified from previous):
• Same points taken as before, but add instead of convolve • Keeps track of locations of delta functions • Keeps track of heights of each delta • Plot locations versus heights [0 -0.01] + [0 0.59] + [0 -0.07] + [0 0.015] + [0 0.055] + [0 0.2] + [0 0.5] + [0 0] + [0 0.7] Micron Engineering Clinic Fall ‘08 – Spring ‘09
How (2)
Height = 0.5
-.01 0 Height = 0.5
0 .59
-.01 0 .58 .59
Height = 0.25
•
[0 -0.01]
[0 0.59] = [0 -.01 (0+.59) (-.01+.59)] = [-.01 0 .58 .59]
•
Instead of convolving, proposed method adds & concatenates
Micron Engineering Clinic Fall ‘08 – Spring ‘09
Advantages:
• VERY quick • Easy to implement • Infinite precision (in theory)
Micron Engineering Clinic
How (2)
Fall ‘08 – Spring ‘09
• Use channel impulse response, p(t), and transmitter symbol response, c(t) • Find PDF (Probability Density Function) & CDF (Cumulative Distribution Function) of the channel • Plot BER eye-diagram as a function of sample time, sample voltage, and probability of error
Summary
() () Micron Engineering Clinic • Shows BER of transmitted data given timing uncertainty (data jitter, clock jitter) and voltage uncertainty (V REF , Rx sensitivity, ISI) Fall ‘08 – Spring ‘09
Micron Engineering Clinic
Questions?
Fall ‘08 – Spring ‘09
MODELING JITTER IN CHIP-to-CHIP COMMUNICATION
M. Lucas Loero
Technical Lead Electrical Engineer [email protected]
Micron Engineering Clinic Fall ‘08 – Spring ‘09
PRESENTATION OBJECTIVES
•
Defining Jitter
•
Problems caused by Jitter
•
Modeling Jitter
•
Receiver Jitter
•
Transmitter Jitter
•
Total Jitter Micron Engineering Clinic Fall ‘08 – Spring ‘09
Voltage DEFINING JITTER Edge location shifted Jitter Micron Engineering Clinic Ideal edge location Ideal edge location Time Fall ‘08 – Spring ‘09
PROBLEMS CAUSED BY JITTER • Power supply and environment noise causes Jitter.
• Jitter can lead to: • Time uncertainty • Suboptimal sampling time • Reduce noise margin Micron Engineering Clinic Fall ‘08 – Spring ‘09
PROBLEMS CAUSED BY JITTER Micron Engineering Clinic Fall ‘08 – Spring ‘09
MODELING JITTER • Model the effects of Jitter in high-speed serial links • Serial links are used for high-speed chip-to-chip communications Micron Engineering Clinic Fall ‘08 – Spring ‘09
MODELING JITTER Serial Links Transmitter generates a train of pulses Decision circuit Transmitter clock Micron Engineering Clinic Sampler Fall ‘08 – Spring ‘09
MODELING JITTER • Traditional approach to modeling jitter • There is two main problems with this approached • First, simulation time • Second, difficulty simulating serial links Micron Engineering Clinic Fall ‘08 – Spring ‘09
MODELING JITTER Receiver Jitter Step response Transmitted bits Channel impulse response Jitter sequence Micron Engineering Clinic Independent and Identically Distributed Fall ‘08 – Spring ‘09
MODELING JITTER Calculated eye diagram Micron Engineering Clinic Simulated eye diagram Fall ‘08 – Spring ‘09
MODELING JITTER Worst-case receiver jitter Micron Engineering Clinic Fall ‘08 – Spring ‘09
MODELING JITTER Worst-case receiver eye Voltage Time Worst-case ISI Micron Engineering Clinic Voltage Time Worst-case receiver jitter Fall ‘08 – Spring ‘09
MODELING JITTER Worst-case receiver eye Micron Engineering Clinic Fall ‘08 – Spring ‘09
Transmitted bits MODELING JITTER Transmitter Jitter Jitter sequence Step response Micron Engineering Clinic Channel impulse response Fall ‘08 – Spring ‘09
MODELING JITTER Worst-case transmitter Jitter Micron Engineering Clinic Fall ‘08 – Spring ‘09
MODELING JITTER Worst-case transmitter eye Voltage Time Worst-case ISI Micron Engineering Clinic Voltage Time Worst-case transmitter jitter Fall ‘08 – Spring ‘09
MODELING JITTER Worst-case transmitter eye Micron Engineering Clinic Fall ‘08 – Spring ‘09
MODELING JITTER Total Jitter Receiver Jitter Transmitter Jitter Micron Engineering Clinic Fall ‘08 – Spring ‘09
MODELING JITTER Worst-case total Jitter Micron Engineering Clinic Fall ‘08 – Spring ‘09
MODELING JITTER Worst-case total eye Voltage Time Worst-case ISI Micron Engineering Clinic Voltage Time Worst-case total jitter Fall ‘08 – Spring ‘09
MODELING JITTER Worst-case total eye Micron Engineering Clinic Fall ‘08 – Spring ‘09
CONCLUSION Voltage Micron Engineering Clinic Time Fall ‘08 – Spring ‘09
Micron Engineering Clinic
Questions?
Fall ‘08 – Spring ‘09
Project Software Engineering, Development, and Results Ben Meakin
Team Lead Computer Engineer [email protected]
Micron Engineering Clinic Spring '09 Micron Engineering Clinic Fall ‘08 – Spring ‘09
Introduction Open Eye : A Formal Verification Tool for High Speed Electrical Signaling What is Open Eye?
• Provides Software Infrastructure Required to Deliver a Useful Verification Platform Based on Existing State-of-the-Art Methods Presentation Outline • Requirements and Objectives • Software Architecture • Graphical User Interface (GUI) • Software Infrastructure • Use Case • Summary and Conclusions Micron Engineering Clinic Fall ‘08 – Spring ‘09
Product Requirements Cross Platform (Windows, Linux, etc) Graphical User Interface No Proprietary Software License (i.e. Matlab License) Correctly Implement Worst-Case and Statistical Link Analysis Pass Fail Mask and Data Eye Visualization Selectable Transmitter and Receiver Jitter Multiple Sources of Co Channel Interference Spice Data File Input Micron Engineering Clinic Fall ‘08 – Spring ‘09
Feature
Worst-Case Analysis Statistical Analysis Static Analysis Basic Plotting Advanced Plotting Jitter Modeling Co-Channel Interference File Input File Output Graphical User Interface Multi-threading Documentation Micron Engineering Clinic Product Release Status
Phase
Release Testing Release Release Development Debug Testing Release Development Testing Testing Development
Status
25% 50% 75% 75% 75% 50% 75% 50% Fall ‘08 – Spring ‘09
Portability Extensibility Usability Design Goals Micron Engineering Clinic Fall ‘08 – Spring ‘09
View Open Eye App.
Control Status Q Open Eye View Other GUI Classes Object Oriented Design Model Model Data Structures Static Data Parameters Signal Analysis Data IO Statistical Data Worst-Case Data Range Math Utility Signal Modify Micron Engineering Clinic Fall ‘08 – Spring ‘09
Graphical User Interface Features Micron Engineering Clinic Fall ‘08 – Spring ‘09
Graphical User Interface Features Continued Micron Engineering Clinic Fall ‘08 – Spring ‘09
Data I/O Features Input Data from SPICE or Any Other Column Formatted Text File Simulation Data Objects Save State to Text Files No Need to Rerun To View Data Simulation Data Output to Matlab Format Text File Micron Engineering Clinic Fall ‘08 – Spring ‘09
Mathematical Utility Features Discrete-Time Convolution Function Random Number Generation over Gaussian Distribution Assortment of Vector Operations
MathUtil
+ convolution(List, List):List + getRandom(double):double + max(List):double + maxAt(List):int + min(List):double + minAt(List):int + indexOfClosest(List,double):int + extendTimeScale(List):List + getTimeUnit(List):double
Micron Engineering Clinic Fall ‘08 – Spring ‘09
Signal Analysis Features Static Signal Analysis (Naive Method) Data Sequence Bits Superimposed To Form Eye Diagram Micron Engineering Clinic Fall ‘08 – Spring ‘09
Signal Analysis Features Worst-Case Signal Analysis (Formal Method) Mathematically Generated Worst-Case Eye Diagram Pass/Fail Based on User Defined Sampling Window Statistical Signal Analysis (Formal Method) Generates a Scatter Plot of BER Diagram Formal Methods Consider Multiple Sources of CCI and Tx/Rx Jitter SignalAnalysis + WCData : WorstCaseData + StatData : StatisticalData + EyeData : StaticData + doWorstCase(double,double):void + doStatistical(double,double):void + generateEye(double):void + computeCCI(List,List,List,int,int):void + passOrFail(double,double,double,double):boolean Micron Engineering Clinic Fall ‘08 – Spring ‘09
Performance Enhancement Through Multi-Threading Convolution: Yn(t) = convolution( Pn(t), Cn(t) ), n = channel Requires Significant Execution Time for Large Data Sets Can Be Done Concurrently For Each Channel on Multi-Process Machines Convolution for Channel N Convolution for Channel 1 Convolution for Channel 0 Sequential Part Concurrent Part Micron Engineering Clinic
Execution Time
Fall ‘08 – Spring ‘09
Worst-Case Eye with User Defined Sampling Window Micron Engineering Clinic Use Case (Worst-Case Analysis) C(t) – Transmitter Symbol Response P(t) – Channel Impulse Response Data Rate: 4 Gbps No CCI, No Jitter Fall ‘08 – Spring ‘09
V(t) Periods Superimposed to Get Data Eye Diagram Micron Engineering Clinic Use Case (Static Analysis) V(t) – Data Stream {0, 1, 0, 0, 1, 1, 0, 1, 0, 1} Data Rate: 1Gbps Random Voltage Noise No Jitter Added Fall ‘08 – Spring ‘09
Summary and Conclusions What Has Been Accomplished?
First Application to Correctly Perform Worst-Case and Statistical Link Analysis in the Public Domain Development of a Flexible and Efficient Platform for Formal Verification of Electrical Signaling Systems Why Does This Matter?
• Easy Verification of Aggressively Optimized Designs • Off-Chip Memory Access Bottleneck is a Growing Problem • Open Source Application Stimulates Academic Solutions Micron Engineering Clinic Fall ‘08 – Spring ‘09
Micron Engineering Clinic
Questions?
Fall ‘08 – Spring ‘09