mp ip strategy 2005-06-22 slide 1 stateye-testcase provided by edotronik, munich manfred dolag...
TRANSCRIPT
MP IP Strategy2005-06-22Slide 1
Stateye-Testcase
Provided by Edotronik, MunichManfred DolagAlexander Weimann
Vancouver, July 31, 2006
MP IP Strategy2005-06-22Slide 2
Purpose
This test case will guide you step by step through the setup of a complete Stateye V.4.1 project:
Stateye-GUI
– Starting the GUI with a template project
– Entering your own input data (e.g. measurements)
– Setting appropriate parameters
Elaboration
– Elaborating the project data from within the GUI
MATLAB
– Executing the elaborated m file in MATLAB to perform Stateye algorithms on the project data
Results
– Location of the result files
– Examples for contents
MP IP Strategy2005-06-22Slide 3
Testcase Configuration (1)
We are going to have a look at the following issue, which shall serve as an example of a typical Stateye project:
– In real life, the aggressor Rx is not perfect. It has a real input impedance, which can be defined by an S2P file (“realLoad”).
– Reflections at the aggressor’s receiver (red path) are applied as NEXT type of crosstalk to the victim’s receiver.
– Such second order signals may be comparable (or higher) than the original measured blue FEXT.
<><><>
<><><>
Victim
Aggressor
S21
NEXT
S11 load
FEXT
Zload
Zload
0
0
Stateye ports 1,2
Stateye ports 3,4
Stateye ports 5,6
Stateye ports 7,8
MP IP Strategy2005-06-22Slide 4
Testcase Configuration (2)
Basically, two different models will be dealt with:
– One model describes the system for the case of an aggressor terminated with a real load: „realTermination“
– The second model describes the system by means of descriptions for an ideally terminated aggressor(„idealTermination“) combined with an addiotional real load at the aggressor‘s receiver („realLoad“). The combination of both parts will be done by a smatrix cascade of „idealTermination“ with „realLoad“: „cascIdealWithRealLoad“
For training purposes and for comparison we will also show two more scenarios:
– A model without consideration of any crosstalk, only the forward channel (through channel, victim) will be taken into account: „throughOnly“
– We will also show the case of real termination with additional consideration of Tx and Rx filters by means of a cascade:„cascRealTermWithFilter“
MP IP Strategy2005-06-22Slide 5
Testcase Configuration (3)
Ideal termination with additional consideration of real load
Tx victim
TX aggressor
U1 4port_Spar
Port1
Port4
port3
port2
U24port_Spar
Port1
Port4
port3
port2
U32port_Spar
Port1
Port2
U4 4port_Spar
Port1
Port4
port3
port2
Rx victim
Rx aggressor
FEXT.S4P
NEXT_Rx.S4P
Forward aggressor transmission S4P
NEXT from Rx aggressor to Rx victim S4P
Aggressor’s load S2P
Aggressor_Fw.S4P
Real_Load.S2P
Port1
Port2
Port3
Port4
Port5
Port6
Port7
Port8
Model for an ideally terminated aggressor
“idealTermination”
Real load at aggressor’s receiver“realLoad”
* Note: for simplification, the S parameter matrix for the forward/through channel (victim) (ports 1,2 -> 5,6) is not shown here
*
MP IP Strategy2005-06-22Slide 6
Testcase Configuration (4)
Real termination
U4 4port_Spar
Port1
Port4
port3
port2
Crosstalk_com.S4P
Tx victim
TX aggressor
Rx victim
Rx aggressor
Port1
Port2
Port3
Port4
Port5
Port6
Port7
Port8
* Note: for simplification, the S parameter matrix for the forward/through channel (victim) (ports 1,2 -> 5,6) is not shown here
*
MP IP Strategy2005-06-22Slide 7
Getting Started
Open the Stateye V.4.1 GUI
Start a new template based project
A template based project is an empty new Stateye GUI project with the provided OIF templates already loaded as useable GUI objects.
MP IP Strategy2005-06-22Slide 8
General SettingsYou may optionally enter the directories where the Stateye binaries and the scripts can be found on the target machine. Usually not necessary on Windows systems.
For surveillance at runtime, let the Stateye commands be echoed to the MATLAB command line and let a diary file be written. Optionally switch on the time measurement.
MP IP Strategy2005-06-22Slide 9
Output Options
•These are options concerning the output of results (data and graphics).•By default, the most important results are generated and saved to disk.•You can set an optional directory where the output should be placed.•In the example, the results will be placed in the “output” subdirectory of the current working directory.•For other settings, the default value has been accepted here.
Create a double contour for the statistical eye
MP IP Strategy2005-06-22Slide 10
Transmitter Objects•Transmitter objects describe the transmitter equalization.•Please note that optional transmitter filter characteristics have to be defined as smatrix objects, then be cascaded with the channel•Transmitter objects will later be referred to for Stateye analysis.
•These transmitter objects are taken from the templates provided with Stateye V.4.•You can view and edit the parameters or add new transmitter objects.
MP IP Strategy2005-06-22Slide 11
Receiver Objects
•These receiver objects are taken from the templates provided with Stateye V.4.•You can view and edit the parameters or add new receiver objects.
•Receiver objects describe the receiver equalization.•Please note that optional receiver filter characteristics have to be defined as Smatrix objects, then be cascaded with the channel•Receiver objects will later be referred to for Stateye analysis.
MP IP Strategy2005-06-22Slide 12
Jitter Objects
•These jitter objects are taken from the templates provided with Stateye V.4.•You can view and edit the parameters or add new jitter objects.
•Jitter objects describe the jitter to be optionally considered during analysis. •Receiver objects can later be referred to for Stateye analysis.
MP IP Strategy2005-06-22Slide 13
Basics about Channel Descriptions
In order to execute a Stateye analysis, a combination of a transmitter description, a channel description and a receiver description has to be chosen.Transmitter and receiver descriptions have already been dealt with before.
There are basically two different ways to describe channel characteristics (for through channel and crosstalk aggressors)
– referring to a Stateye smatrix object (S parameter matrix):A smatrix object is made up of either Touchstone format S-parameter-matrix files (s2p, s4p, s8p) or of time domain S-parameter step response files.
– reading in time domain differential channel step response files (tim):Such files will not be read in to smatrix objects, as they cannot be converted to internal 8x8 port description. As a consequence, they cannot be used in cascades either.
For the purpose of this testcase, the smatrix approach using s4p and s2p files will be shown. As a consequence, we will now deal with the definition
– of smatrix objects and
– of the derived channel objects
MP IP Strategy2005-06-22Slide 14
Smatrix Objects (1) - Basics
The target format used by Stateye for smatrix objects is an 8x8 S parameter matrix according to the following port mapping:
When reading Touchstone format S parameter files into smatrix objects, it is indispensable to set the correct mapping of the ports, i.e. to define which ports of the input files are equivalent to the target 8x8 format, see the examples below.
MP IP Strategy2005-06-22Slide 15
Smatrix Objects (2) – Simple Smatrix
Definition of a simple smatrix object containing a through channel description only:
– Create a new smatrix object(please note: the filter objects already existing are OIF templatesfor later use)
Generally, actions on objects are available via:• Context menu• Toolbar•“Edit” menu
MP IP Strategy2005-06-22Slide 16
Smatrix Objects (3) – Simple Smatrix
Definition of a simple smatrix (contd.) :
– Enter the required parameters:
Optionally rename the object
Specify the type of smatrix object you‘d like to definefor this example we will use s4p files to be read in -> s4x4(please note: other types will be dealt with later)after having specified the smatrix type (component format), the object will be shown appropriately in the object list in the left pane:our new object is a channel description using s4p files
MP IP Strategy2005-06-22Slide 17
Smatrix Objects (4) – Simple Smatrix
Definition of a simple smatrix (contd.) :
– Component collection editor
Set an appropriate port mapping
Open the component collection editor
Enter or select the file names of the s4p files to be read in
MP IP Strategy2005-06-22Slide 18
Smatrix Objects (5) – More Complex Smatrix
Addition of some more measurements from S parameter files:
– In order to enhance the smatrix object with additional measurements,we will clone the existing object …
– … and rename the clone
Clone
Rename
MP IP Strategy2005-06-22Slide 19
Smatrix Objects (6) – More Complex Smatrix
Addition of some more measurements from S parameter files (contd.):
– Open the components collection editor
– Add components as required , then for each new component:
– Choose the additional S-parameter Touchstone files to be read in
– Enter the corresponding port mappings
MP IP Strategy2005-06-22Slide 20
Smatrix Objects (7) – More Complex Smatrix
Addition of some more measurements from S parameter files (contd.):
– To start with, we only add a crosstalk aggressor component to smatrix „realTermination“, in addition to the forward description defined before:
MP IP Strategy2005-06-22Slide 21
Smatrix Objects (8) – More Complex Smatrix Addition of some more measurements from S parameter files (contd.):
The smatrix object „idealTermination“ consists of several s4p measurements which we are going to define now.
– Create a new smatrix object and rename it to „idealTermination“
– Set component format s4p and open the components collection editor
– Add components as required to get the following complete definition consisting of four components and four files:
MP IP Strategy2005-06-22Slide 22
Smatrix Objects (9) – Component Type s2x2
Creation of a smatrix objects defining a real load (for the aggressor):– Up to now, we have defined smatrix object of type s4x4
in order to read in s4p Touchstone files.
– The real load is available as s2p Touchstone file description.
– Now we need a s2x2 smatrix object defining the real load in order to later cascade it with the „idealTermination“ smatrix object.
The procedure is basically the same as above, with a differentsmatrix component format s2x2 and a suitable port mapping:
– Create a new smatrix object
– Rename it and set the component format to s2x2
– Open the components collection editor, set the file to be read in and enter the port mapping
This object will later be cascaded with smatrix object “idealTermination”. Thus ports 3,4 of the load must be “attached” to ports 7,8 of the aggressor’s rx side.
MP IP Strategy2005-06-22Slide 23
Smatrix Objects (10) - Cascade
We are going to look at two different models for the testcase:– Using the smatrix object „realTermination“ which was set up above
containing the information about a scenario with the aggressor‘s receiver terminated with a non-ideal (real) load.
– Using the smatrix object „idealTermination“ with the data for an ideally terminated aggressor together with the „realLoad“ at the aggressor‘s receiver;for this model we need to combine the „idealTermination“ with the „realLoad“.
So we need to set up a cascade of two smatrix objects,which will allow to consider
– both the data from the smatrix object „idealTermination“ (originally available as s4p files)
– and the data from the smatrix object „realLoad“ (originally available as s2p files)
Remember that it would not have been possible to read s4p and s2p input data files into the same smatrix objects!
MP IP Strategy2005-06-22Slide 24
Smatrix Objects (11) - Cascade
Cascade of ideally terminated aggressor with real load
– Create a new smatrix object and define it as „cascade“
– Set the references to the smatrix objects which should be cascaded, in our case we cascade „idealTermination“ with „realLoad“
Cascade elements (components)
MP IP Strategy2005-06-22Slide 25
Smatrix Objects (12) - Filter Definition of filters:
– Filters are modelled as smatrix objects, too.
– Filters can then be cascaded with other smatrix objects.
– Filters are created as new smatrix objects, then defined as „filter“
– Finally set the filter parameters
– OIF filter templates are provided, too:
Filter parameters
MP IP Strategy2005-06-22Slide 26
Smatrix Objects (13) – Cascade with Filter Using filters
– Filters can be cascaded with other smatrix objects,a typical cascade could contain Tx filter, channel description and Rx filter.
– For our testcase, we will investigate one case with filters.To this end, we create the following cascade, using suitable available template filters:
MP IP Strategy2005-06-22Slide 27
Channel Objects (1) - Basics
As already mentioned above channel objects are made up of
– one through characteristic description
– multiple optional crosstalk aggressor characteristic descriptions
Each description can
– either be defined by referring to an existing smatrix object(we will follow the smatrix approach for this testcase)
– or by reading *.tim files right into the channel object
For this purpose, channel objects contain one or more characteristic descriptions
MP IP Strategy2005-06-22Slide 28
Channel Objects (2) – Through Channel Only Creation of a channel object with a through channel description only
– Create a new object in the channel object list and rename it
– Open the characteristics collection editor
– Add a forward (through) characteristic , select the „smatrix“ description and refer to the smatrix object from which to take the forward description
MP IP Strategy2005-06-22Slide 29
Channel Objects (3) – Through & Crosstalk Creation of a channel object with fwd and xt characteristics
– Create a new channel object, rename it to „chRealTerm“
– Open the characteristics collection editor
– Add a forward (through) characteristic and set the parameters to take the forward description from smatrix object „realTermination“:(description=smatrix, reference=realTermination)
Characteristic of forward (through) type
MP IP Strategy2005-06-22Slide 30
Channel Objects (4) – Through & Crosstalk
Creation of a channel object with fwd and xt (contd.)
– Now add a xt (crosstalk) characteristic
– Set its parameters to take the crosstalk description from the same smatrix object (which must, of course, contain appropriate crosstalk data)
– Note: generally it is possible to add some more crosstalk aggressors, e.g. taken from other smatrix objects. We will not use this option for our testcase.
Characteristic ofxt (crosstalk) type
MP IP Strategy2005-06-22Slide 31
Channel Objects (5) – More Channel Objects
We can now create some more channel objects
The following objects will always contain a forward and a crosstalk description
In each case, forward and crosstalk description will be derived from the same smatrix object
The new channel objects can be created by cloning the channel „chRealTerm“ and changing the referred smatrix object id in both forward and crosstalk characteristic:
– chIdealTermWithLoad based upon smatrix „cascIdealWithRealLoad“
– chRealTermWithFilter based upon smatrix „cascRealTermWithFilter “
MP IP Strategy2005-06-22Slide 32
Channel Objects (5) – Summary
The following channel objects should now be available with their respective complete definitions:
– chThrough with a forward description only:
– chRealTerm with fwd & xt description for the case with real termination
– chIdealTermWithRealLoad with fwd & xt for the ideal case with real load
– chRealTermWithFilter with fwd & xt for the case with real terminationand consideration of both Tx and Rx filter
MP IP Strategy2005-06-22Slide 33
Analysis (1) – Basics
At this point, all objects required for an analysis are available:
– Some have been created automatically as OIF templates
– Others have been set up manually above, e.g. smatrix and channel objects
We are now going to set up specific analysis runs to take our available input data into account:
– Analysis runs can be derived from predefined templates
– Of course, the can be set up manually, too
MP IP Strategy2005-06-22Slide 34
Analysis (2) – Setting up an Analysis Run
For our testcase, we will use the suggested default values of analysis run template „CEI11GSR_Template“:
– „CEI11GSR_Template“ is intended for use with Short Reach Interface configurations at 11Gbit/s
– Clone „CEI11GSR_Template“ in order to create a new object with identical settings.
– Rename the new run object to „runThrough“
On the next slide, we will see the default values along with specific parameter settings depending on the input data:
– In general, you may use the suggested default values.
– However, you need to specifically define the combination („composition“) of transmitter, channel and receiver you would like to use. Just select the desired object defined before from the drop-down-list:
Typically, you only need to adapt the channel object in order to take your specific input data into account (remember: input files smatrix objects channel objects).
In a template based run object, the suggested transmitter & receiver objects fit to the case to be analyzed („11GSR“ in our test case).
MP IP Strategy2005-06-22Slide 35
Analysis (3) – Parameters of an Analysis Run
Let us have a look at the values which we will use:
Baudrate at which the system is run
Optional jitter to be considered (reference to existing jitter object)
Don’t forget to activate the run by either setting the attribute or checking the checkbox. Activation means: use the pertinent data for later m file elaboration, i.e. really do execute the run in MATLAB
Select a combination of transmitter, channel and receiver by referring to existing objects
Number of pre- & postcursors, bins and width are parameters used by the Stateye analysis algorithms. These are suggested values found to be appropriate for many typical cases.
MP IP Strategy2005-06-22Slide 36
Analysis (4) – More Analysis Runs Finally, we will create some more additional analysis runs. They can be
created by cloning „runThrough“ and only adapting the channel object reference appropriately:runIdealTermWithRealLoad, runRealTerm, runRealTermWithFilter
Don‘t forget to activate the appropriate analysis runs by checking the checkboxes.
MP IP Strategy2005-06-22Slide 37
Finish Data Input & Additional Features It is now a good idea to save the project data: File Save As
This will save a Stateye CBF-XML compatible file which
– can be opened in the GUI again and
– can be elaborated.
If desired, you can have a look at the XML code of your project by selecting tab [10] „CBF-XML view“:
Furthermore, you can see a full list of objects(view and edit) on tab [8] „Tree view“:
Finally, a so-called „Run generator“ [9] can guideyou through the setup of typical analysis runs.
MP IP Strategy2005-06-22Slide 38
Elaboration (1) – Validation & Elaboration As soon as your project data are complete, you may start elaboration:
The elaboration process will convert the XML project data to a MATLAB executable m file.
To start with, you may optionally checkwhether your input data are valid(i.e. can be elaborated): Tools Validate Project DataThis will check the validity of your project data without elaborating.
In order to really elaborate the project,click: Tools Elaborate
MP IP Strategy2005-06-22Slide 39
Elaboration (2) - Errors In case of a template based project (as our testcase), your project will
contain a smatrix template „CEI11GLR_Rx_B_Filter“ of type „optfilter“:
– This is a special kind of filter which needs a reference to be set to another existing smatrix object.
– If this reference is not set correctly, validation resp. elaboration will encounter an error:
– As we are not going to use this object for ourtestcase, we can delete it from the list ofsmatrix objects in order to get rid of this error:
– Other errors may require other correctionsbefore an elaboration is feasible.
MP IP Strategy2005-06-22Slide 40
Elaboration (3) - Results After a successful elaboration has been performed:
the resulting MATLAB m code is shown on the „Elaboration“ tab:
Now you should save the elaboration results as MATLAB m file:Tools Save Elaboration Results
MP IP Strategy2005-06-22Slide 41
MATLAB Having saved the elaboration results into a m file, that m file can be
executed in MATLAB:
– Start MATLAB from the Stateye-GUI:Tools Start MATLAB
– MATLAB will start and usually changeto the directory into which you placedthe newly generated m file.
– Right click the m file to be executed and select „Run“:
– The m file will be executed by MATLAB. Wait until the appropriate end message is displayed: „MESSAGE: M-file execution ended at …“
MP IP Strategy2005-06-22Slide 42
Results (1) – Location After a successful execution of the m file, the results can be found in the
appropriate subdirectories, if any results had to be written to files:
In our testcase, we decided to have all results placed into the „output“ sub-directory of the working directory.
MATLAB will place the results for each single analysis run into a further subdirectory named after the run.
The result files will have a timestamp in the file name so that no former results are overwritten.
Result data are written•to both a run specific•and to a general file.
MP IP Strategy2005-06-22Slide 43
Results (2) – Contents Depending on the output settings of the project, a data file (csv format
by default) and one or more graphic files (default: fig format) will be written during the execution of the analysis m file:
– The data files contain one row per run with general data, input parameters and the calculated results:
– Graphic files contain the desired diagrams, e.g. a ststistical eye:
MP IP Strategy2005-06-22Slide 44
Acknowledgements
Thanks to OIF for the invitation to give this lecture here today.
Edotronik would like to deeply thank all cooperators who provided us with useful and helpful assistance and all who have not only prepared today’s workshop but also several telephone conferences, particularly:
Andi Kosich, Kimberly Chiu,
David Stauffer, Gourgen Oganessyan, Graeme Boyd, Dan Gorcea,
Anthony Sanders & Alexander Weimann
Thank you for your attention!