1 / 44

Stateye-Testcase

Vancouver , July 31, 2006. Stateye-Testcase. Provided by Edotronik, Munich Manfred Dolag Alexander Weimann. 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

albert
Download Presentation

Stateye-Testcase

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vancouver, July 31, 2006 Stateye-Testcase Provided by Edotronik, Munich Manfred Dolag Alexander Weimann

  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

  3. Testcase Configuration (1) Victim Stateye ports 1,2 Zload Stateye ports 5,6 0 FEXT NEXT S11 load Aggressor Stateye ports 3,4 Zload Stateye ports 7,8 0 S21 > > < < > > < < > > < < • 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.

  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“

  5. Testcase Configuration (3) FEXT.S4P Port5 Port1 Rx victim Tx victim Port6 Port2 Model for an ideally terminated aggressor “idealTermination” NEXT from Rx aggressor to Rx victim S4P NEXT_Rx.S4P Real load at aggressor’s receiver “realLoad” Port3 Port7 TX aggressor Aggressor_Fw.S4P Rx aggressor Port4 Port8 Aggressor’s load S2P Forward aggressor transmission S4P Real_Load.S2P • Ideal termination with additional consideration of real load * * Note: for simplification, the S parameter matrix for the forward/through channel (victim) (ports 1,2 -> 5,6) is not shown here

  6. Testcase Configuration (4) Port5 Rx victim Port1 Tx victim Port6 Port2 Crosstalk_com.S4P Port7 Port3 TX aggressor Rx aggressor Port8 Port4 • Real termination * * Note: for simplification, the S parameter matrix for the forward/through channel (victim) (ports 1,2 -> 5,6) is not shown here

  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.

  8. General Settings You 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.

  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

  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.

  11. 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. • 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.

  12. Jitter Objects • Jitter objects describe the jitter to be optionally considered during analysis. • Receiver objects can later be referred to for Stateye analysis. • 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.

  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

  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.

  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

  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

  17. Smatrix Objects (4) – Simple Smatrix • Definition of a simple smatrix (contd.) : • Component collection editor Open the component collection editor Enter or select the file names of the s4p files to be read in Set an appropriate port mapping

  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

  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    

  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:

  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:

  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 s4x4in 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.

  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!

  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)

  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

  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:

  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

  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      

  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

  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  

  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 “

  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

  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

  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).

  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) Select a combination of transmitter, channel and receiver by referring to existing objects 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 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.

  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.

  37. Finish Data Input & Additional Features • It is now a good idea to save the project data: File  Save AsThis 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.

  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

  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.

  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

  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 …“

  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. The result files will have a timestamp in the file name so that no former results are overwritten. MATLAB will place the results for each single analysis run into a further subdirectory named after the run. • Result data are written • to both a run specific • and to a general file.

  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:

  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!

More Related