SPIPro® Tutorials
Current Revision: Nov. 2015
SPISim LLC Vancouver, WA 98683, USA
Tel. +14089056692 http://www.spisim.com
SPIPro Tutorials
Copyright Notice and Proprietary Information Copyright © 2015 SPISim LLC (SPISim). All rights reserved. This software and documentation contain confidential and proprietary information that is the property of SPISim No part of this copyrighted work may be reproduced, modified or distributed in any form or by any means, without the prior written permission of SPISim. Right to Copy Documentation SPISim permits licensee to make copies of the documentation for its internal use only. Each copy shall include all copyrights, trademarks, disclaimers and proprietary rights notices. Disclaimer SPISim has made reasonable efforts to ensure that the information in this document is accurate and complete. However, SPISim assumes no liability for errors, or for any incidental, consequential, indirect, or special damages, including, without limitation, loss of use, loss or alteration of data, delays, or lost profits or savings, arising from the use of this document or SPIPro which it accompanies. Trademarks SPIPro, SPILite are are trademarks of SPISim. Other product and company names may be trademarks of their respective owners. SPISim’s products use some third party libraries. For a complete list and their source, please visit: http://www.spisim.com/blogs/libraries/
1
SPIPro Tutorials
Table of contents:
1. SPIPro Overview 2. Tutorial 1: Channel builder with CPro
Lab 1.1: Free form channel Lab 1.1.1: Build free form channel Lab 1.1.2: Interactive analysis Lab 1.1.3: Models and variables Lab 1.1.4: Whatif analysis
Lab 1.2: Postlayout channel Lab 1.2.1: Extracted postlayout net(s) via NPro Lab 1.2.2: Whatif analysis with layer stackup variable(s)
3. Tutorial 2: Postlayout review with NPro
Lab 2.1: Postlayout data inspection Lab 2.2: Layer stackup & Padstacks management Lab 2.3: Postlayout batch export
4. Tutorial 3: General modeling with MPro
Lab 3.1: General modeling flow Lab 3.1.1: Define variables Lab 3.1.2: Simulation plan Lab 3.1.3: Data collection Lab 3.1.4: Modeling Lab 3.1.5: Optimization/Prediction Lab 3.1.6: Model generation
5. Tutorial 4: TLine modeling with TPro
Lab 4.1: TLine model inspection Lab 4.2: Layer stackup modeling Lab 4.3: Tline model batch processing Lab 4.4: Tline model analysis
2
SPIPro Tutorials
6. Tutorial 5: IBIS modeling with BPro Lab 5.1: IBIS model inspection Lab 5.2: IBIS model generation
From data sheet From transistor design From existing simulation data
Lab 5.3: IBIS model performance report
7. Tutorial 6: Sparameter analysis with SPro Lab 6.1: Sparameter file inspection Lab 6.2: Sparameter analysis Lab 6.3: Sparameter files batch processing Lab 6.4: Sparameter report generation
8. Tutorial 7: DPro DDR postprocessing
Lab 7.1: Data setup Cmd/ctrl DQ/DQS Clock
Lab 7.2: Data processing and report
3
SPIPro Tutorials
SPIPro Overview
SPISim’s SPIPro is a software designed from ground up to meet various signal, power integrity design challenge and analysis needs. Utilizing modularized architecture, SPIPro’s different modules integrates closely on the same framework yet also allow customizable flow. The diagram below show the components and software stack of SPIPro:
SPIPro includes the following key components:
CPro: For channel building and serve as design cockpit to integrate with various modeling components and provide simulation control;
NPro: For postlayout design review and net extraction to CPro; VPro: For general waveform analysis and stimulus generation; BPro: For all aspects of IBIS modeling, analysis and reporting; SPro: For all aspects of SParameter modeling, analysis and reporting; TPro: For all aspects of transmission line modeling and analysis; MPro:For general modeling, optimization and prediction; DPro: For DDR specific postprocessing and reporting.
Together, SPIPro provides strong support for most SI/PI engineers’
day to day work tasks. Working with simulator/2D field solver provided by HSpice or SPISim’s SSolver (ETA 2016), it provides practical, effective yet very affordable solution. SPIPro’s general workflow is shown in next page.
4
SPIPro Tutorials
This rest portion of this tutorial will walk through the use case of each SPIPro’s module.
5
SPIPro Tutorials
Tutorial 1: Channel builder with CPro
This tutorial is an introduction to channel modeling and analysis using SPISim’s CPro module.
The Problems: Channel analysis starts from topology definition, followed by models
assignment and finally circuit simulation and postprocessing. For prelayout analysis, the topologies are mostly created from scratch for architecturing or floor planning purpose. For postlayout validation, they are usually extracted from layout design with actual geometry (e.g. trace width and length) and layer stackup (e.g. layer thickness and material properties) values. In channel elements’ models, oftentimes user will want to define variables as part of the parameters for whatif analysis. Alternatively, one may also perform single simulation interactively. All these tasks are very labor intensive and error prone if done manually. Thus a highly automatic process is very desired.
To achieve these, CPro module in SPIPro provides topology focused
channel analysis capabilities. These features will be briefed in this tutorial.
Usage Scenarios: Use CPro to perform the following tasks:
Create: Create a freeform channel from scratch; Review: Review channel(s) extracted from postlayout nets; Simulate: Simulate channel in both time or frequency domains; Whatif: Use variables in channel to perform whatif analysis.
Test case: Download test cases used for CPro tutorial from the link below: http://www.spisim.com/download/tutorials/CPro.zip
6
SPIPro Tutorials
Set-up environments: CPro addon runs on top of NPro module. To use CPro’s features, first
switch to NPro module either in place (first NPro menu item as circled and selected below) or launch NPro as a standalone application (second NPro menu item circled below).
Once activated, CPro’s functions will be available under both “Net”
and “Schematic” main menus as boxed below in red. Among which, those under “Net” menu are for postlayout extraction from NPro to CPro, and those under “Schematic” menu are dedicated to schematic ot channel to be edited and analyzed. The first item, “Channel Builder” is a schematic editor with system channel focused. (Support IBIS, TLine, Sparam etc)
7
SPIPro Tutorials
Lab 1 Free form channel: In this lab, we will use channel builder to create a channel from
scratch, assign models and variables, then perform both interactive and whatif analysis. Models used for this lab are also under “Lab1” folder.
Lab 1.1.1 Build free form channel: To start, invoke “Channel Builder” from “Schematic” menu. A blank
schematic with elements pallette at the right will appear. The topology below is the channel we will build:
Follow the procedures below to complete this build: Drag and drop elements from palette and drop them to the canvas,
from left to right, select and drop; IBIS Differential driver Lossy TLine Subcircuit (block with “X” symbol) SParameter (block with “S” symbol) IBIS Differential receiver
Try to align them roughly on the same position horizontally using the automatic placement guideline.
8
SPIPro Tutorials
At this moment, connections can’t be made yet as TLine, Subckt and SParam blocks do not have pins. We need to specify models in order to show their pins on the blocks.
Use system’s file to open the Lab1 folder, alternatively, use “Favorite Folder” available under “Window” menu then right click to add “Lab1” folder as one of the favorite folders.
Now we are ready to specify models: Right click TLine block , select “Edit properties”, then select
the middle radio button to use Welement. Then dragNdrop MSSE2.tab from either system’s file explorer or “Favorites” window. Click “OK” and four pins will show up for this TLine block.
Right click subckt block and select “Edit properties”. DragNdrop TwoVia_1to6.inc to the models list. After clicking OK, four pins will appear.
Do the same with Sparameter block using “Channel.s4p”; For driver and receiver, specify IBIS model: use
“DQ_FULL_333” for Tx block and “Input_333” for Rx. Click “Assign to P pin” for both cases. (N driver pin will be assigned with inverted signal automatically). Also specify the stimulus as PRBS with 333MHz for Tx. As shown below:
9
SPIPro Tutorials
To make connections, either use left mouse to drag from one pin to
another, or select a group of from and to pins and press “C” to connect.
10
SPIPro Tutorials
Lab 1.1.2 Interactive analysis: With connection made and model, stimulus assigned, we are ready to
simulate. First, save the created schematic to a folder with “.ccb” extension. ccb stands for CPro Channel Builder. Since there are no variables (yet) at this moment, we can only do interactive analysis for this particular setup. Analysis can be done in time domain or frequency domain. In the later case (FD), channel’s Sparameter will be extracted. Alternatively, user may export spice netlist only via “Schematic”: “Export spice file”.
To simulate, first specify path to HSpice simulator from “Options”: “Main” tab. For time domain analysis, Tx/Rx pins will be probed automatically by default. To probe more points, user may place “Voltage Probe” from palette to schematic then make connection to interested pins. Select “Schematic”: ”Simulate”: “Time Domain: Simulate one case”. Change settings seen below if needed.
11
SPIPro Tutorials
Note that in settings above, default waveform tab will be used to display results. To display waveform in a separate window, launch “VPro” as a standalone window first from main menu “Module”: “Window: VPro”.
Simulation should take just seconds and waveform list will be opened automatically. Select Tx/Tx pins to view results in place.
Note that the default working folder will be “SIM” folder in the same
folder where .ccb file is saved. “INC” folder will have TLine related config. files. If schematic was simulated before being saved, system’s temporary folder will be used to hold simulation results.
For basic waveform operation, right click on the waveform and choose actions. For advanced waveform manipulation such as measurement and eye, switch to “VPro” and operate from its main menu.
For frequency domain, similar settings will be prompted. After that, user will need to arrange input/output ports and simulator will be used to extract channel’s SParameters. With these .snp files, eye analysis can be performed synthetically without time consuming bitbybit simulation.
12
SPIPro Tutorials
Lab 1.1.3 Models and variables: In this session, we will define sweep variable for whatif analysis.
Most elements can have variables defined as part of their parameters. First, go to “Options” menu and select desired variable pattern in “CPro” tab.
After that, right click element to be swept and define variable
according with pattern. For example, if TLine’s length will be swept, we can use %TL1LEN to describe this variable. Its value will be defined later on. For device models, user may specify two or more to represent different corners.
For IBIS, user can select different corner then click “Assign to P Pin” and add that model/corner combination to the list. Repeat for different driver
13
SPIPro Tutorials
models or different corners as needed. All these will be swept through as model/corner combinations.
For elements which support dropped model, user may right click on
the selected model in the list to invoke builtin, type specific editor or inspector for these model. This allows user to get properties like TLine impedance, SParameter insertion loss, and IBIS waveform data etc right away in place.
14
SPIPro Tutorials
15
SPIPro Tutorials
Lab 1.1.4 What-if analysis: With variable(s) defined, we can do whatif analysis. First, click on
the channel builder to bring variable table up at the left. Switch to the “Variables” tab. The variables defined in the channel will be indexed here. For model with different corners, their values will be listed automatically. For other variable such as %TL1LEN, user can click on the “VALUE” cell and enter sweep value. Supported value formats are:
List of values, separated by comma “,” MIN:STEP:MAX. For example, 0.1:0.1:0.5 is equivalent to 0.1, 0.2,
0.3, 0.4 Click the button shown in the screen below to “generate simulation
plan”:
User will be able to choose sampling methods in next steps. Full factorial
and space filling are provided in place by default. Alternatively, user can use MPro or other tools like Excel to generate a sampling table, then use “Load Existing” to use this simulation plan. Note that when using selfgenerated table, the column names must match the defined variable names including leading “%”.
Generated simulation plan will be summarized in a table like below:
16
SPIPro Tutorials
With the simulation plan table defined, user can select “Simulate”: “Time domain: sweep sim” and these settings will be simulated sequentially. A column with generated spice file name will be created in the selected simulation plan table. Simulation is done in separated thread. Progress will be updated accordingly and final results will again be shown in the “File list” window for user to choose and review.
Should there be any error which prevent simulation being done successfully, user may scroll through the messages in the output window for debugging purpose. SPIPro also comes with powerful editor under “Window”: “Text Editor” which can be used to debug and simulate particular spice file in place.
17
SPIPro Tutorials
Lab 1.2 Post-layout channel: In this lab, we will create net’s schematic extracted from postlayout
via NPro. The elements on the postlayout nets, such as traces and vias, are based on actual geometrical (such as trace width and layer stackup thickness) and material (such as permittivity and conductivity) from design. We will also do a whatif analysis to sweep one of stackup’s parameters. Files need for this lab is in the “Lab2” folder.
Lab 1.2.1 Extracted post-layout net(s) via NPro:
First, switch to “Layout” window, then open the “Lab2.npd” file from “File” in main menu or dragNdrop onto this layout tab. A “Layer window”, will be activated at the left. This window allows user to control visibilities of different layers and objects. Follow the setup below and make sure DDR traces are shown in the layout.
To select net(s) to be extracted, first switch to “Net” pane in this layer window. To find interested net(s), either enter net name (wildcard allowed)
18
SPIPro Tutorials
and click “Filter” button or simply scroll down the sorted net list. Signal/Power/Ground net type can be assigned either in place under “TYPE” column or via menu “Net”: “Assign Pwr/Gnd nets”. Once net names are selected, click the “Highlight Selected” button to highlight and select these nets. They will be displayed in white while others dimmed to gray (Click “Enable all” to show all nets in their original color).
With nets highlighted, user can specify models used for components
on this net and the driver stimulus as well. Optionally, user may skip this step and extract schematic directly then assign models in channel builder by right click to edit properties. If there are several nets to be extracted together, or to extract in batch mode, it’s suggest to have models and stimulus assigned in advance within this step so that proper default values are assigned.
19
SPIPro Tutorials
Schematics of selected nets can be exported using “Export net to
schematic” menu under “Net”. A dialog like below will be prompted asking user to assign driver pin. Layout of generated schematic will be arranged automatically with signal source at the left. A channel should only have one driver pin.
20
SPIPro Tutorials
Extracted channel schematic will then be generated. User may follow aforementioned procedures to perform interactive or whatif analysis. As these nets are from postlayout design, all the traces are based on actual design info like stackup geometry, trace width and material properties. Via model can be either predefined L/C value or estimation based on padstack’s geometry info. including PCB height and pad and barrel width etc.
Lab 1.2.2 What-if analysis with layer stackup variable(s): In this lab, we will specify one of the stackup parameter as a variable
and perform whatif analysis. Repeat the process in previous lab until right before simulation. Right
click one of the TLine block to edit its properties. As this channel is built from postlayout extraction, all the TLine model are stackup based as indicated in the selected radio button “Stackup design” below.
Any of the variable in the stackup settings can be customized as a parameter, just follow up the variable pattern and define accordingly. In the example below, we use “%TRW” to represent the trace width. The key point is that user needs to export the config as file before closing the dialog to register the change. With this step done, user will see the variable “%TRW”
21
SPIPro Tutorials
in the “Variables” tab as described previously and can be used to perform whatif simulation.
There are no limitation on how many stackup variables one can use in a channel. The balance is between the number of simulation to be performed and the number of variables. For example, if three variables are defined and each has 5 value, total number of simulation needed for full factorial sampling method will be 3^5=81. In this case, one may want to use space filling or other sampling algorithm to reduce number of simulation cases.
22
SPIPro Tutorials
Tutorial 2: Post-layout review with NPro
This tutorial is an introduction to review postlayout design and manage relevant data using SPISim’s NPro module.
The Problems: While prelayout analysis usually provides guidelines to design
architecture or floor planing, it is postlayout analysis which can verify the completed design. In addition, postlayout simulation can also be used to investigate issues identified in test board or prototype in the lab… usually by means of various whatif analysis. Thus a signal/power integrity flow is not complete without a postlayout module.
NPro module in SPIPro provides postlayout focused capabilities to
support navigation and investigation of completed design. It works closely with CPro , the channel builder, for postlayout analysis. Its features will be briefed in this tutorial.
Usage Scenarios: Use NPro to perform the following tasks:
Inspect: Navigate and review postlayout design; Design: Stackup/padstack management and design mockups; Analysis: Net analysis and extraction for channel analysis.
Test case: Download test cases used for NPro tutorial from the link below: http://www.spisim.com/download/tutorials/NPro.zip
23
SPIPro Tutorials
Set-up environments: NPro is a toplevel module in SPIPro framework. Simply select the
“Module: NPro” as first boxed in red below to switch to NPro in place, or select “Window: NPro” to launch NPro as a standalone application window. Note that one instance of NPro support opening multiple layout files in the same application. These layout windows can also be pullout of SPIPro window to place on the system’ desktop and compare sidebyside. Test case used for NPro’s tutorial is under “Lab1” folder.
NPro’s main analysis functions are highlighted below. Main menus
after “Net” are provided by other addons such as “Schematic” from CPro and “Waveform” from VPro.
24
SPIPro Tutorials
Lab 2.1 Post-layout data inspection: In this lab, we will show how to navigate postlayout design and
perform simple mockup. The mockup process is particularly useful for planning of power/ground planes.
The key UI for postlayout inspection is the “Layout” window shown below. It has several tabs focusing on layer/object, net and component respectively. These items’ visibilities can be turnedon or off and elements on nets can also be reported as a table.
Design navigation and mockup editing is done via the functions
under “Draw” and “View” menu. Together, they provide useful features for data inspection for signal integrity or power integrity applications.
25
SPIPro Tutorials
Lab 2.2 Database management: Most of the postlayout design format for manufacturing purpose back
annotate layer stackup info (height), material properties (permittivity, conductivity etc) and padstack info. That means user need extra effort, sometimes need to reenter the data, to incorporate these info. into design. NPro’s database management support import/export with visualization, as shown below for stackup and padstack info.
Use provided .npd file to experiment changing these design settings
then export/import to be reuse for design of different revisions. These management function are provided under “Edit” main menu.
26
SPIPro Tutorials
In addition to stackup and padstack info, net properties such as power
domain and signal/ground info, pin driver/receiver model and stimulus etc can also be assigned and saved as part of design information for review or analysis. The net and model assignment capabilities are provided under “Net” main menu.
27
SPIPro Tutorials
Lab 2.3 Post-layout batch export: In CPro tutorial Lab2, we have shown how to perform postlayout net
extraction to channel schematic in CPro for further analysis or simulation. To batch export two or more nets to disk, the process is very similar:
Invoke “Net”: “Setup Pwr/Gnd Nets” to set up net’s power domains; Select and highlight interested nets in “Net” tab of “Layer Window”; Invoke “Net”: “Setup models” to configure Tx/Rx and stimulus etc; Invoke “Net”: “Batch exporting nets” to bring up UI shown below: Specify Tx pins and target to be exported; Data will be exported to the specified folder.
28
SPIPro Tutorials
Tutorial 3: General Modeling with MPro
This tutorial is an introduction to general modeling and optimization using SPISim’s MPro module.
The Problems: There are many factors involved in system’s channel analysis. For
example, layer height, trace’s width and spacing all affects transmission line’s impedance and crosstalk. Both of trace length and driver strength also play important roles on signal quality. To identify major factors contributing to a particular performance matrix, one usually needs to have a systematic method and flow and do such investigation and modeling: create a design with variables, define simulation plan, execute and collect data, analyze and generate model, and finally use this model to perform prediction, optimization or generate associated behavioral syntax.
To achieve these, MPro module in SPIPro provides functions to
support general modeling flow. These features will be briefed in this tutorial.
Usage Scenarios: Use MPro to perform the following tasks:
Design: Create DOE, space filling or other design for modeling; Execute: Execute the simulation plan and collect data; Modeling: Model inputs/outputs with linear or nonlinear algorithm; Predict: Predict and optimize performance based on the model; Analyze: General analysis such as filtering, SQL data mining.
Test case: Download test cases used for MPro tutorial from the link below:
http://www.spisim.com/download/tutorials/MPro.zip
29
SPIPro Tutorials
Set-up environments: MPro is a toplevel module in SPISim’s platform. To use MPro’s
features, first switch to MPro module either in place (first MPro menu item as circled and selected below) or launch MPro as a standalone application (second MPro menu item circled below).
Along with MPro’s addon, such as BPro, menu items will be enabled if the module are activated, as shown below.
30
SPIPro Tutorials
Lab 3.1 General modeling flow: In this lab, we will use layer stackup modeling as an example to create
a model for a three line microstrip setup. Field solver will be used to perform simulation on TPro module. MPro’s features for all stages of modeling flow will be discussed. Test cases used are under “Lab1” folder.
Lab 3.1.1 Define variables: A layer stackup of three single ended microstrips have been created.
TPro is used to create this layer stackup. In the configuration, we have defined three variables: signal layer height H2, trace width W and trace to trace spacing S. All but these three variables have been given numerical values.
31
SPIPro Tutorials
Lab 3.1.2 Simulation plan: With three numerical variables, number of simulation needed to cover
the solution space depends on the variable ranges, how fine the grids are and the sampling algorithm. If each variable has 10 possible values, full factorial sampling plan will yield 10^3 = 1000 test cases for simulation. The number will grow quickly with more number of variables. In this cases, we use “RSM” sampling algorithm to create a 15 cases run for this design:
The sampling algorithm will generate value of either “1”, “0”, “1”
which usually map to min, mean and max values of the variables. With that table generated, we add columns for other constant field required for stackup generation:
As we have ranges these variables at hand, next step is to map the
generated, almost blank table to a table with appropriate values. “Design”: “Map Formulas” is invoked which takes scripts to map different columns.
32
SPIPro Tutorials
The result table has values set for each of 15 test cases, and can be used to generate layer stackup and extract performance parameters for each of them. In this example, we calculate “selfimpedance” from result stackup.
33
SPIPro Tutorials
Lab 3.1.3 Data collection: The data collection step includes executing simulation plan and
extract the performance matrices, resulting a table of inputs and outputs which can be used to create model. Generally, a text based template file, such as a spice simulation deck, will be generated. The sweeping table like generated in previous section will be used to create simulatable deck based on the template, and single or multithreaded based simulation will be performed on all these test cases and postprocessed to gather results.
In our lab, stackup settings need to be computed for each case as
width and spacing will push the starting point of next traces further, thus simple text replacement is not applicable. We import the generated table and performed field solving and extracted the impedance in TPro:
34
SPIPro Tutorials
A plot of the extracted performance target, self impedance in this case,
show their values are in a reasonable ranges. Thus the simulation is valid.
35
SPIPro Tutorials
36
SPIPro Tutorials
Lab 3.1.4 Modeling: As we have a table containing input conditions and measured
performance as well, we can create models using different algorithms to map these data. Model predicted results can then be compared with actual, simulated performance target to see how well the model stands. When creating model, one needs to specify input variables, output targets, algorithm to be used and modeling parameters:
Use second order RSM yields prediction errors about 1~3 ohms
Use feed forward neural network with five neurons in the hidden
layers gives more accurate modeling based on the provided data set.
37
SPIPro Tutorials
38
SPIPro Tutorials
Lab 3.1.5 Optimization/Prediction: Since the neural network gives a more accurate prediction, we can use
it to predict a configuration of desired target, 50 ohms in this case. As all neural networks in MPro and RSM with second or higher terms are nonlinear, we can use either “Direct method” (based on Simplex algorithm) or “Genetic algorithm” to perform the optimization, as shown below.
Should the prediction be successful, result configuration will be suggested.
39
SPIPro Tutorials
40
SPIPro Tutorials
Lab 3.1.6 Model generation: With this model, one can generate associated stackup model using
predicted value. In addition, VerilogA syntax using “Model”: “Gen VerilogA model” menu can also be generated to be run in circuit simulator.
41
SPIPro Tutorials
Tutorial 4: T-Line modeling with TPro
This tutorial is an introduction to transmission line modeling and layer stackup planning using SPISim’s TPro module.
The Problems: Transmission lines (TLine for short) are main components of
system’s communication channel. Paths connecting different components between driver and receiver are represented by TLines. A TLine introduces delay, its frequency response also results in dispersion and different impedance across the path causes signal reflection and inter symbol interference. In addition, different TLines running in parallel also causes signal coupling and attenuation. In addition, prelayout study of a system design also often starts with planning of layer stackup, where TLines run through. Thus it’s important to have a systematic flow to supports these tasks and TLine analysis for signal integrity considerations.
To achieve these, TPro module in SPIPro provides TLine focused
capabilities. These features will be briefed in this tutorial.
Usage Scenarios: Use TPro to perform the following tasks:
Inspect: View TLine model performance and frequency contents; Modeling: Layer stackup planning and modeling; Processing: Batch postprocessing to extract performance parameters; Analysis: TLine model analysis and tuning.
Test case: Download test cases used for TPro tutorial from the link below: http://www.spisim.com/download/tutorials/TPro.zip
42
SPIPro Tutorials
Set-up environments: TPro addon runs on top of VPro module. To use TPro’s features, first
switch to VPro module either in place (first VPro menu item as circled and selected below) or launch VPro as a standalone application (second VPro menu item circled below).
If TPro module is installed, its menus will appear under both
“Window” and “Tools” menus. Menu items will be enabled if the module is activated, as shown below.
43
SPIPro Tutorials
Lab 4.1 T-Line model inspection: In this lab, we will inspect TLine’s tabular format frequency
dependent data and some of their parameters. Test cases used are under “Lab1” folder.
First, open TLine data viewer from “Window”:”TWaveform”
There are four ways to open TLine data files in .tab format:
Main menu “File”:”Open”; DragNdrop files on to the File List window, as shown in the middle
below; Open a “Favorite” window, add interested path and doubleclick or
right click and open files, as shown in the left below; This favorite window will persist next time SPIPro is launched; More commonly visited folders can be added the same way; To remove folder, select and rightclick to “Remove” To delete folder physically, rightclick and select “Delete”
Open a “File explorer” window, as shown in the right below; This explorer window will persist next time SPIPro is launched; All connected drives, including network drives, will be
scanned. If one or more network drives becomes unavailable, it may take a while to complete the scan.
44
SPIPro Tutorials
There are two ways to view waveform data. From the lower part of “File List” window, either:
From “Signal view” tab, select one or more interested R/L/G/C matrix elements then click “View Selected”. Waveform will be displayed in the aforementioned “TWaveform” window.
From “Matrix view” tab, click to selected interested cells. If desired data to view is one of R/L/G/C matrices, select so accordingly from the dropdown list. For general TLine parameters, simply select the cell representing targeted line.
To compare same data from different files, multiselect those files in the file list (upper half of File list window). Same ports/matrix elements of these files will be plotted together.
Once waveform have been displayed, use the control in the
Twaveform window as circled below to view different properties or perform analysis like impedance, delay, attenuation and crosstalk etc.
45
SPIPro Tutorials
In “Twaveform window”, all the VPro supported operations like
measurement, draw and calculation etc can be performed via associated main menu items.
To view matrix contents of TLine’s model data, select interested frequency from the the “Freq. view” tab of the “File list” window, then click “View Selected”. Full matrix of selected frequency point be displayed in a table window.
Contents in the table can be copied and pasted to other application such as Excel etc.
46
SPIPro Tutorials
Lab 4.2 Layer stackup modeling: In this lab, we will specify geometry properties of TLine trace layout
in a layer stackup, use 2D field solver to obtain their model data and perform measurement. The result data set can be used to form a prediction formula to estimate best/worst layer stackup/trace geometry configuration in terms of desired performance targets such as impedance, attenuation or crosstalk. The schematic which we are going to synthesized is shown below. Test cases used are under “Lab2” folder.
Invoke a layer stackup window, shown below, via “Window” menu. This window is divided into two parts. At the upper portion is the stackup example and variable definitions. The lower part include four tabs to define configuration, specify variable values, whatif instant prediction and generation flow. In this step, “Config.” tab should be chosen. The upper portion of this tab is the stackup settings and their material properties. The bottom part is the trace layout in the signal layer. The setting in various cells can be either a numerical value or a variable. In the latter case (variable), their values may be defined in a sweep table.
In this lab, select “Stripline 1B1A” in the preset to load predefined stackup. Then click “Add trace” button three times to add three traces in the signal layer then assign their trace type as “DP” (differential pair).
47
SPIPro Tutorials
For those parameters which user has no intention to sweep, their numerical values can be entered directly now. Alternatively, click “Create Table” button at the lower right to create predefined table with headers and first tentative row. Layer stackup window will also switch to “Table” tab automatically upon clicking “Create Table”. User then can click “+” button to add more rows and enter values according each variable’s definitions, select rows and use “” button to delete if needed, export this table to be edited outside SPIPro using tool like Excel and import later.
In this lab, let’s import externally predefined table SLDP3.csv, result shown below:
Since there are three rows in this whatif sweeping table, three different TLine models will be created later. User may specify as many rows as needed to cover the desired solution space.
With valid values specified, user may click particular row, thus particular TLine setup and see their actual geometry instantly at the top of stackup window. Use buttons at the right to zoom in/out etc if needed.
To help user identifying meaningful variable range, TPro also comes
with a prediction database built from more than 100,000 existing TLine models. User may switch to “Predict” tab and experiment with different variables’ values to see their impact on impedance, crosstalk and
48
SPIPro Tutorials
attenuation. Click “Copy Vars. to Table” button at the bottom to add a row in the “Table” tab with current variable settings.
At this stage, we have defined stackup, trace layout in the “Config”
tab and valid variable values in the “Table” tab. We are ready to generate models! But first, check the “TPro” option tab and make sure field solver has been specified. Also make sure the number of CPU thread specified in the “Main” option tab matches allowed solver license. Both options can be accessible via SPIPro’s “Tools”: “Options” menu.
Now switch to “Generate” tab to go through the setup process, as shown below.
49
SPIPro Tutorials
First, specify output folder where these TLine models will be generated. If the same folder will be used by multiple project, optional prefix may be used. In the middle portion, specify measurement frequency and the performance targets to be measured. After that simply follow step 1~5 by clicking button at the right to go through the process. Here are the expected outcome:
Step 1: Cleanup output folder. Optional, it will delete previously generated TLine model in the output folder.
Step 2: Generate stack up input files. Depending on the field solver used, the input format will be different. Depending on number of model to be setup, this step should not take more than a few seconds. The outcome will be plain text stackup files for solver. For each test case, one singleended uncoupled and/or one differential pair uncoupled stackup files will also be generated for each victim. These are used to measure and report their Z0 and/.or Zdiff value for manufacturing specification.
Step 3: Simulate stackup input. This is the field solving step and may take long time. User can see progress as it simulates. If error happened, user will need to check the error output messages and fix the config. or whatif table problem then go through step 2 and 3 again. Expected outcome of this step is tabular TLine models.
Step 4: Postprocessing TLine model. This step should not take longer than a few seconds. Each tabular model generated in step 3 will be processed to extract specified performance targets. Each tabular file will result a csv file containing measured results for this setup.
Step 5: Combine inputs with result table. This will combine all the csv results generated in Step 4 and combine them with original table specified in “Table” tab. The expected outcome is a single table, which can be exported to csv, containing both input and performance output data. User may use SPIPro’s MPro module or other optimization tool to create prediction model for best/worst case configuration.
50
SPIPro Tutorials
Lab 4.3 T-Line model files batch processing: In this lab, we will batch process several existing TLine model files.
For each of the files to be processed, the measured report will be saved as a csv file. In addition, validation spice decks may also be generated with parasitics loads at both ends to further validate the TLine’s performance. These results may be used to build a TLine model library for future quick use or reference of signal integrity analysis. It is also useful oftentimes to check existing models at hand before massive whatif prelayout study.. Test cases used are under “Lab3” folder.
Batch processing of TLine model is done via TPro tab, shown at the top of the TPro’s analysis submenu:
The TPro window consists of several tabs, representing the flow for
the batch processing. Describing below: Files: User can specify .tab files to be batch processed here
either by clicking “Select Files for Analysis” button or dragNdrop from system’s explorer here. Right click on the items allow user to view their data in the waveform window if needed. Note that the same measurements, such as impedance and propagation speed etc, will be performed to all these files. So user need to make sure these files share similar properties so that measurement will be meaningful.
Targets: In this tab, user specify what to measure. In general, select one of the targets at the top then Click “Add” to define this targets appearing at the bottom. There are two sub tabs for targets: “Victim” and “Trace” properties:
51
SPIPro Tutorials
Victim properties: Victim “only” measurements is for singleended or differentialpair uncoupled (SEUC/DPUC respectively) victim traces. Thus, the file’s corresponding suffix, similar to the “SEUC” or “DPUC” files generated in the Lab2’s modeling flow, must match. First, make sure the trace type is correct and the victim trace is specified as “TRUE” before proceeding to add measurement target(s). For example, one can’t determine a given six line TLine model is comprised of three differential pairs or six single ended traces. Thus the proper settings should be assigned first to ensure the measurement is meaningful.
Trace properties: Specify the matrix element by clicking on the cell as shown below. The selected cell will be in black. Then select the target and click “Add”. Trace target with the specified matrix suffices will be added to the target list below accordingly. Repeat the same process if needed. Each of the measurement
will have its own column in the final csv file. Results: In this tab, specify measurement frequency if needed.
Click “Run” at the bottom to process each of the files selected in “Files” tab to measure all the defined targets. Result csv file will be shown in the middle. Click the csv file to see its content in result window at the lower right of the main window.
Validate: This tab provides an optional step allowing user to specify the desired configuration for simulation based validation. Tool can generate HSpice deck to instantiate a “WElement” using provided tabular model and corresponding parasitics like shown in the schematic at the top as well as the stimulus. Click “Run” to generate the decks and simulate. The process should take just a few seconds and resulting waveform will be opened automatically in the file list window for further inspection or comparison.
52
SPIPro Tutorials
Various tabs of the “TPro” window for batch processing:
“Files” and “Targets” tabs
“Results” and “Validate” tabs
53
SPIPro Tutorials
Validation results will be opened automatically in the waveform list window.
54
SPIPro Tutorials
Lab 4.4 T-line model analysis: In addition to the features highlighted in previous labs, TPro module
also provides several utility functions for TLine model processing. They can be invoked via “TLine analysis” menu under “Tools” main menu. A GUI like below will show up. It contains three regions in general:
Input: at the top. Usually user will dragNdrop files from system’s explorer or “Favorites” window and drop here. In case .tab files have been opened in the File List window or displayed in the Twaveform window, the first two radio buttons will become available. Right click the list to remove one or all the files from the candidate.
Settings: in the middle, this portion is analysis dependent. Output: at the bottom. User may specify the resulting waveform to be
displayed in the File List only (Stored in memory) or output to disk as well. For the later case (write to file), user may specify output path. Some of the functions come with “Intro” pane like below, which gives
more detailed description on the processing purpose. When mouse hover across menu, a simpler description will always be prompted via tooltips.
55
SPIPro Tutorials
Tutorial 5: IBIS modeling with BPro
This tutorial is an introduction to IBIS modeling and analysis using SPISim’s BPro module.
The Problems: Driver and receiver(s) sit at both ends of communication channel.
These circuits are usually represented by IBIS models. An IBIS model has advantages over its original transistor design over IP protection, simulation performance and universal acceptance. An IBIS model can be generated from data sheet or spec.. This will be useful for early stage channel study when models are not yet available or simply for performing a whatif analysis to provide impedance/slew rate feedback for buffer design. Eventually, an accurate IBIS model needs to be generated from transistor design or their simulation data. A systematic procedure needs to be followed to assure the quality and accuracy of generated models. Modeling engineer may also need fine tuning the data curve to remove some glitches or for performance optimization. Lastly, given a library of IBIS models, user often need to scan their performance parameters in order to identify appropriate buffer to be used or adjust output stage impedance accordingly.
To address all these needs, BPro module in SPIPro provides IBIS
focused capabilities. These features will be briefed in this tutorial.
Usage Scenarios: Use BPro to perform the following tasks:
Inspect: View IBIS model and manually tune/edit the model data; Modeling: Generate IBIS model from various data sources; Analysis: Extract performance parameters for IBIS file/library.
56
SPIPro Tutorials
Test case: Download test cases used for BPro tutorial from the link below: http://www.spisim.com/download/tutorials/BPro.zip
Set-up environments: BPro addon runs on top of MPro module. To use BPro’s features,
first switch to MPro module either in place (first MPro menu item as circled and selected below) or launch MPro as a standalone application (second VPro menu item circled below).
Once enabled, BPro related functions will be accessible via “IBIS” main menu as shown below.
57
SPIPro Tutorials
Lab 5.1 IBIS model inspection: In this lab, we will inspect an IBIS model’s data and some of their data
curves. We will manually tune some of the data points and propagate changes back to the original model. Test cases used are under “Lab1” folder.
To invoke BPro’s IBIS inspector, select “IBIS Inspector” under the IBIS menu. Tool will then ask to specify an IBIS file to be inspected. Please select the v69adq.ibs under Lab1 folder. Note that the inspector will also open IBIS library path at the same time. The library path can be specified in BPro’s option menu via “Tools”: “Options”.
An IbsModel navigation window, boxed in green below, will show up on the left. There are two views: “Logic view” and “Structure view”. Navigate through the “Structure view”, expand and select one of the model element, the “Text” view of associated ibis file will be opened as boxed in red at the right below. BPro will automatically scroll to the proper location of this file where the keyword is selected is highlighted. Select different keyword or waveform at the left and see how the text view update to follow the change.
58
SPIPro Tutorials
Select a rising waveform then switch from “Text” view to “Wvfm” view. Many control element will become visible at the top of the waveform as boxed in red below. These controls can be used to fine tune and manipulate waveform data of existing IBIS file.
To manipulate waveform data, turn on the markers checkbox first, then
select one of the operation from the dropdown list next to “MAX” button, tune the whole trace or particular point by dragging one of the markers. When done, click “Conclude” button and the waveform content will be populated back to the “Text” view. Note that the ibis file is not yet saved at this moment. User need to save the file either via the “Text” view’s toolbar or by closing the text window and BPro will prompt to ask to save or discard the changes.
In addition to the tuning functions just mentioned, both the “Text” and
“Wvfm” view windows also provide many other analysis capabilities. For example, user can check the ibis file in place using “Check” button and navigate through the errors/warnings. Or add additional waveform pane to compare waveform data from different ibis file side by side.
59
SPIPro Tutorials
Lab 5.2 IBIS model generation: In this lab, we will generate IBIS models from different sources:
From data sheet From transistor design From existing simulation data
In the last two parts, we will be using publicly available, encrypted HSpice DQ model from micron as an example. Though this example is for DDR, similar processes can be applied to other types of IBIS modeling. Test cases used are under “Lab2” folder.
Functions of this lab can be invoked via “IBIS” menu, such as
“Generate spec model” shown below or “New IBIS model flow” menu to create IBIS model from transistor design or existing simulation data.
60
SPIPro Tutorials
Lab 5.2.1 Generate model from data sheet: BPro can create an IBIS file from spec/data sheet without doing
simulation. User only needs to fill in the spec. info such as slew rate and targeted impedance etc and an IBIS model will be generated within seconds.
After invoking menu for this function, a dialog like below will show up. User simply needs to fill in or modify existing values in each nongray out boxes based on the spec./data sheet.
The settings can be exported to a config. file in plain text format to be imported for future use. HSpice compatible test bench circuits may also be generated for validation purpose.
Upon clicking “Generate” button, a spec. model with two waveform
tables will be created on the fly in the output directory. It will also be opened in the model inspector for further tuning/inspection if needed.
61
SPIPro Tutorials
Lab 5.2.2 Generate model from transistor design: Invoke “New Modeling Flow” from the “IBIS” main menu, the IBIS
modeling window will be opened as shown below. The window is divided into two portions: the upper part gives general
overview and instructions while the lower part perform the data collection and flow execution. Two modeling practices are supported: Generate IBIS model from original (transistor) design or from simulation data. Select one of the two tabs corresponding to the desired flow at the top and their data tabs will be enabled.
For this lab, select “From Org. Design” to start data entry for IBIS
modeling from original transistor data.
In the following steps, we are going to use Micron’s encrypted HSpice
model to create a corresponding IBIS model then correlate. Data file description: in the Lab 2 folder, user should find the
following files and folders:
62
SPIPro Tutorials
IbsModel: For reference only, containing final results; SimData: Containing simulated data, so that user can proceed with
the model process using these presimulated data; v69a_model.cnr: This is model of different corner settings, will be
“included” as part of the simulations. v69a_dqbuff.inc: This is encrypted buffer design from Micron. It
will be instantiated in the setup deck to extract buffer responses. DQBase.sp: This is the baseline spice file BPro will build upon. v69a_dq_FrMicron.sp: This file is for reference only. It’s original
file obtained from Micron. Comparing to the DQBase.sp, user can see that simulation settings, corner and buffer instantiation has been disabled in DQBase.sp as BPro will add these settings automatically. Nevertheless, this file demonstrate how the encrypted spice buffer can be used for normal simulation.
Lab2.cfg: This config file is the setup for this flow. It is in plain text format and can be either used for reference, or imported into the BPro after modifying corresponding paths inside.
The modeling flow then is divided into several information collecting
steps and final execution: Project: Specify working folders and simulator, checker paths; Design: Specify buffer design type and buffer terminals; Stimulus: Specify various bias and control conditions to excite
buffer properly, also include settings used for different corners. Modeling: Specify how simulation data should be tuned for
waveform extraction. In particular the trimming options to avoid
63
SPIPro Tutorials
buffer overclocking. Also included are spec. parameters not used by simulation, but are required per IBIS spec.
Validation: Specify which performance parameters should be extracted upon successful model generation for validation purpose.
Execute: Stepbystep process to apply information gathered above for IBIS model creation.
These steps are represented by tabs’ screen captures shown below: Project: working directory, simulator path and golden parser path.
Various callback scripts may be provided for customization purpose.
Design: specify the base spice for BPro to parse and identify buffer’s subckt definition. User then specify driver type and associated terminal nodes such that BPro can instantiate a buffer instance on top of base spice.
64
SPIPro Tutorials
Stimulus: specify the buffer’s operating condition and excitation settings. The lower portion is a customizable table which extra rows can be added to specify buffer’s biasing condition and different corner’s control flags. In the example below, parameters and parameters for corner library have been specified to be applied to different model generation test benches.
65
SPIPro Tutorials
Modeling: specify the generated IBIS version and model names. BPro also provide trimming options to remove leading and/or trailing data points with tolerance to avoid buffer being overclocked. These are settings in head/tail trimming and Max VT duration lines of different corners.
Validation: specify performance parameters to be extracted once model is generated. A csv file will be produced accordingly.
66
SPIPro Tutorials
Execute: this is stepbystep process to apply information and settings gathered in previous tabs. User need to step through these process as needed. Several files will be produced at each step and user will have a chance to inspect and make correction if necessary. All but the step 3, simulate input files, take a few seconds at most. Several files need to be simulated in Step 3 to generate data for different IBIS table data.
In this lab, user may enter the settings or import the Lab2.cfg, then
click through the step 0~2, skip step 3 by simply copying provided simulated files in “SimData” folder to the working folder then continue from step 4 through the end. An ibis file will be generated at the end.
The fact that we can skip step 3 and continue the processes means that
user can simulate the generated test bench circuit outside BPro. Simply bring back the data with same naming convention and probing legends in the waveform file to continue the process.
67
SPIPro Tutorials
Lab 5.2.3 Generate model from existing simulation data: BPro also supports IBIS model generation from existing simulation
data. This is useful when simulating buffer and IBIS modeling are done by different engineers may be due to IP protection purpose. As long as the waveform conform to the BPro’s requirement and probing legend is done properly, original buffer design is not needed to generate its IBIS model.
We will be using waveform file in Lab2’s “SimData” folder to go
through this process. Original V69XXX buffer files and DQBase.sp are not required and can be removed… since we will not be doing any simulation.
By selecting “From Sim. Data” tab as shown below, the “Sim Data”
tab in the lower portion of modeling window will be enabled. It includes two subtabs: one to enter buffer’s operation condition and another to specify waveform information.
68
SPIPro Tutorials
In the simulation data tab, specify the existing waveform data and their probing legend(s) for each of the required data. Note that the simulation setup which produces these waveforms should be similar like generated from original buffer. For example, BPro expects VT waveform (VT0 and VT1 are under different test loads) to be low to high to low, such that rising and falling transition data can be captured accordingly.
Except for the “Sim Data” tab, all the other settings required are same
as previous lab. User need to fill in the data then start step 4 through the end of the execution process in the last tab.
69
SPIPro Tutorials
Lab 5.3 IBIS model performance report: In this lab, we will report various performance parameters of given
IBIS files and summarize in an table. To invoke this function, select “Report model performance” menu as shown below.
DragNdrop ibis files in Lab3 folder on the the list pane at the top.
Since each of these ibs files is about 8MB, it may take several seconds to complete parsing. Then specify the measurement threshold and reporting targets. Click “Report” to generate the summarized report.
70
SPIPro Tutorials
Within seconds, each .ibs file specified will be postprocessed and a corresponding file with .csv extension will be generated in the same folder. These csv reports will also be opened automatically in the MPro’s table window for further review or charting. Each model in the ibs file will be analyzed. One can then use MPro’s charting function to plot data easily.
71
SPIPro Tutorials
Tutorial 6: S-parameter analysis with SPro
This tutorial is an introduction of doing Sparameter modeling and analysis using SPISim’s SPro module.
The Problems: For system electrical analysis, Sparameter models are often used to
represent frequency response of inhomogeneous components such as vias and connectors. These models, usually in touchstone .sNp or citi .cit formats, are usually extracted from 3D field solvers based on these components’ physical structures and material properties. Besides, Sparameters may also be obtained via VNA measurements in the lab. Lastly, a passive communication channel, which is comprised of aforementioned Sparameters and homogeneous elements like transmission lines, can also be represented with single Sparameter by cascading different stages in sequences. One or more such channel Sparameters via whatif analysis can be synthesized and analyzed very quickly for eye or ber (biterror rate) analysis. A summarized report generated automatically for all these models of different conditions will save great amount of time and effort when identifying source of signal integrity problems.
To satisfy these tasks, SPro module in SPIPro provides Sparameter focused capabilities. These features will be briefed in this tutorial.
Usage Scenarios: Use SPro to perform the following tasks:
Inspect: View Sparameter’s waveform and frequency contents; Analyze: Perform tasks such as cascading, renormalization etc; Processing: Batch postprocessing to extract performance parameters; Reporting: Generate TD/FD domain figures as a summarize report.
72
SPIPro Tutorials
Test case: Download test cases used for SPro tutorial from the link below: http://www.spisim.com/download/tutorials/SPro.zip
Set-up environments: SPro addon runs on top of VPro module. To use SPro’s features, first
switch to VPro module either in place (first VPro menu item as circled and selected below) or launch VPro as a standalone application (second VPro menu item circled below).
If SPro module is installed, its menus will appear under both
“Window” and “Tools” menus. Menu items will be enabled if the module is activated, as shown below.
73
SPIPro Tutorials
Lab 6.1 S-parameter file inspection: In this lab, we will inspect Sparameters’ data and some of their
parameters. Test cases used are under “Lab1” folder. First, open Sparameter data viewer from “Window”:”SWaveform”
There are four ways to open Sparameter files:
Main menu “File”:”Open”; DragNdrop files on to the File List window, as shown in the middle
below; Open a “Favorite” window, add interested path and doubleclick or
right click and open files, as shown in the left below; This favorite window will persist next time SPIPro is launched; More commonly visited folders can be added the same way; To remove folder, select and rightclick to “Remove” To delete folder physically, rightclick and select “Delete”
Open a “File explorer” window, as shown in the right below; This explorer window will persist next time SPIPro is launched; All connected drives, including network drives, will be
scanned. If one or more network drives becomes unavailable, it may take a while to complete the scan.
74
SPIPro Tutorials
There are two ways to view waveform data. From the lower part of “File List” window, either:
From “Signal view” tab, select one or more interested ports then click “View Selected”. Waveform be displayed in the aforementioned “SWaveform” window.
From “Matrix view” tab, click to selected interested cells. The four quadrants represents like S11, S12, S21 and S22 of a 4port parameters.
To compare same data from different files, multiselect those files in the file list (upper half of File list window). Same ports/matrix elements of these files will be plotted together.
Once waveform have been displayed, use the control in the Swaveform window as circled below to view different properties or perform analysis like TDR or PDA (peak distortion analysis) eyes for through type (S12 or S21) data.
75
SPIPro Tutorials
In Swaveform window, all the waveform based operations like
measurement, draw and calculation etc can be performed via associated main menu items.
To view matrix content of Sparameter(s), first select “Stable” via
“Window” menu. A table window will be opened as shown below:
There are two ways to view matrix contents. From the lower part of “File List” window, either:
From “Freq. view” tab, select one or more interested points then click “View Selected”. Full matrix of selected frequency point be displayed in the aforementioned “STable” window
From “Matrix view” tab, select one or more interested elements. After clicking “View Selected”, data of these elements across ALL frequency points will be displayed in the STable window.
76
SPIPro Tutorials
Lab 6.2 S-parameter analysis: In this lab, we will combine then cascade different Sparameters’ data
to form a channel’s sparameters. The schematic which we are going to synthesized is shown below. Test cases used are under “Lab2” folder.
In SPro, the cascade function is performed stage by stage. Number of
ports between stages are the same in general. That means if one stage, such as via in the schematic above, is comprised of three s4p, they need to be combined before cascading can be done. Furthermore, the port ordering of each stage is sequential: inputs followed by outputs.
SPro provides many sparameters operations accessible via “Tools”: “Sparameter analysis” submenu. In this lab, we have only one s4p representing a ViaA above. First we will clone another two instances, ViaB and ViaC so that this stage will have same 12 ports (6 inputs and 6 outputs).
First, select the “Clone” menu, then dragNdrop ViaL1L6.s4p from either system’s file explorer or “Favorites” window on to the candidate window at the top right. In the middle section, specify another two same instance will be cloned. The bottom portion specify the output of the generated sparameters. In this case, check the “Write file(s) to path” so that new sparameters will be saved physically.
77
SPIPro Tutorials
To cascade Sparameters stage by stage, select “Cascade” menu, then
dragNdrop candidates to the topright list. In the middle section, select files to be cascaded from the left and arrange their order such that their topdown appearing order represent their lefttoright sequence in the schematic. Again, the output portion can be specified at the lower portion of the dialog.
78
SPIPro Tutorials
In fact, most of SPro’s analysis capabilities share similar UIs. Taking “Convert” function as an example. Three portions are included in the UI:
Input: at the top. Usually user will dragNdrop files from system’s explorer or “Favorites” window and drop here. In case snp files have been opened in the File List window or displayed in the Swaveform window, the first two radio buttons will become available. Rightclick the list to remove one or all the files from the candidate.
Settings: in the middle, this portion is analysis dependent. Output: at the bottom. User may specify the resulting waveform to be
displayed in the File List only (Stored in memory) or output to disk as well. For the later case (write to file), user may specify suffix to be added.
79
SPIPro Tutorials
Lab 6.3 S-parameter files batch processing: In this lab, we will batch process several Sparameter files obtained
either via parameter sweep of whatif analysis in frequency domain, or various lab measurement. For each of the files to be processed, the measured report will be saved as a csv file. These files may be further analyzed via tool like Excel or SPISim’s MPro module. Test cases used are under “Lab3” folder.
Batch processing of Sparameter is done via SPro tab, shown at the top of the SPro’s analysis submenu:
A “SPro Window” will then be shown at the left of the tool. It is comprised of three tabs representing three steps of processing:
Files: User can specify snp files to be batch processed here either by clicking “Select Files for Analysis” button or dragNdrop from system’s explorer here. Rightclick on the items allow user to view their data in the waveform window if needed. Note that the same measurements, such as insertion loss or return losses etc, will be performed to all these files. So user need to make sure these files share similar properties so that measurement will be meaningful.
Targets: In this tab, user specify what to measure. Select one of the targets at the top. All but the “File name” also requires selecting interested matrix elements. Click “Add” to define this targets appearing at the bottom. Repeat the same process if needed. Each of the measurement will have its own column in the final csv file.
Results: In this tab, specify measurement frequency ranges if needed. Click “Run” at the bottom to process each of the files selected in “Files” tab to measure all the defined targets. Result csv file will be shown in the middle. Click the csv file to see its content in result
80
SPIPro Tutorials
window at the lower right of the main window:
SPro tab for batch sparameter processing:
81
SPIPro Tutorials
Lab 6.4 S-parameter report generation: In addition to various measurement and csv output, SPro can also
generate a summarized report for both time domain and frequency domain based figures and histograms. This batch processing capability is very useful in identifying problems among vast amount of Sparameter files obtained in lab or manufacturing environment. In this lab, we will go through the process to generate a summarized report for several USB3 channel Sparameters. After execution, a summarised report will be generated. Test cases used are under “Lab4” folder.
SPro’s reporting function can be invoked via “SParameter Analysis” menu, as shown below:
The reporting GUI is comprised of four tabs:
Global: Global settings related to Sparameters to be processed; FD Figures: Optionally add one or more FD figures to the report; TD Figures: Optionally add one or more TD figures to the report; Report: Select report folder, export settings then execute.
82
SPIPro Tutorials
In this lab, we will be processing several .s20p and generate TD/FD figures. Basically the flow is to start filling settings from “Global” tab from top to bottom, then add one ore more interested figures in FD/TD Figures tab, finally specify output folder and click “Execute” to choose .snp files to be processed in the “Report” tab. When processing is done, user will be able to see summarized report indexed by a top HTML file.
Here are detailed steps and some informations. For complete report syntax, please refer to the help document via tool’s menu. Global Tab:
Number of ports: specify number of ports for given .snp files SParameter type: select one from dropdown list:
Single: means the snp files are single ended and user will be able to specify Sss_i_j and Tss_i_j for these ports;
EvenOdd and Incremental: means the given snps are for full differential and their port order is specified as such. User may refer to online help or “Convert” analysis menu to see detailed EvenOdd/Incremental mode port ordering. Tool will convert each snp files and allow user to specify Sdd_i_j, Sdc_i_j,
83
SPIPro Tutorials
Scd_i_j, Scc_i_j and Tdd_i_j for the figure output. d and c suffix here stand for “differential” and “common mode” respectively.
Mixed: means the given snp has mixed singleended and differential ports. With this selection, user need to proceed and specify next two settings, Singleended port and Differential ports, by clicking on the text fields. Tool will do mixedmode extraction and allow user to specify Ssd_i_j, Ssc_i_j, Sds_i_j, Scs_i_j and Tss_i_j as part of the reports. s, d and c suffixes here stand for “singleended”, “differential” and “commonmode” respectively.
Reference impedance: optional, tool will renormalize first if specified; Extrapolation: optional, tool will extrapolate so that TDR plot will
have sufficient resolution. TD Settings: optional, used only if one or more TD figures are
specified.
FD/TD Figures tabs: Click “+” to add one figure, then select this newly added figure and
click “Edit” to edit settings, as shown below: User specifies figure title, select interested traces to plot. Select one or more traces from the left and add them to the right
list. These are the traces which will be processed. Do measurement at: At each of the specified frequency, tool
will measure trace value, generate a csv file and a histogram with gaussian distribution. Use comma “,” to separate different frequencies.
X/Yaxis range: Optional, plot’s X/Yaxis range. When not set, tool will arrange automatically. As one figure may spawn several sub “histogram” figures, user may use “(XMin XMax)” to specify ranges for each of them. The number of settings here is either 0 (auto arrange), 1 (only for main figure) or 1+N where
84
SPIPro Tutorials
N is equivalent to number of measurement frequencies (thus number of histograms).
Histogram bin width: Sorting bin range for histogram plot. Limit lines: Limit lines in matlab like points pair. One or more
limit lines may be specified. limit lines are enclosed with ““ “” and use comma “,” to separate different limit lines.
CSV output format: for CSV output, user may specify format (RI or DB) and their cstyle precision (e.g. %8.3e for scientific notation with three digit in mantissa).
For this lab, enter the settings as shown below:
Report tab: Specify the output folder where report will be generated; Optional: export existing settings to a file; Execute: choose snp files, four .s20p in the lab folder in this case, and
tool will process each of them according to the report settings. When done, user will see the summarized report indexed by a html. Example results is included in Lab4 folder for user’s reference. The index page is also shown below.
85
SPIPro Tutorials
Encryption: The saved config. file is encrypted to avoid being tampering or for external release. Default RSA based keys has been provided by the tool.
86