Main Content

Solution Space

You can setup solution spaces to create parameter sweeps in the Serial Link Designer and Parallel Link Designer apps. Some variables are populated in the solution space by default, while others come from the schematic elements and their settings. The values are typed into fields, lists, or range/steps depending on the variable type. There are two modes in a solutions space panel: Permutation mode (default) and Case mode.

Solution space

Permutation Mode

In this mode, each row in the solution space is treated as an independent variable, unless the variable is in the same variation group. The number of simulations represented in the solution space contains all the combinations of all the variable values. The initial simulation count for a schematic sheet is 1. But as you sweep the variables in solution space, the simulation count increases. The increase depends on the number settings assigned to the added variable, multiplied by the simulation count. For example, sweeping the transmission line length over three values and varying DFE mode between off and auto results in six simulations to run.

Number of simulation count increases as you sweep variables

Defining Global Variables

You can define global variables in the solution space panel that let you easily reuse the same values for several variables. Global variables are visible to all sheets in an interface.

To create a new global variable:

  • Right click on a row of the solution space table and choose. Add New Global Variable to launch the dialogue box.

  • Enter a name and select the variable type from the list.

  • Click OK to create the variable and close the dialog or Apply to create the variable and leave the dialog box open.

  • Add values for the global variable in the Value columns of the solution space table.

To use a global variable put the variable name as the value for any non-global variable of the same type.

Sweeping Parameter Values

You can set up parameter sweeps for schematic elements from the Element Properties dialog box for each element type. You can launch the dialog box from Setup > Element Properties or by double clicking on elements.

Creating Range of Values

To specify a start, stop and number of cases instead of entering individual values, right click on a row and select Set to Range from the menu.

Variation Groups

In the Solution Space panel, the Variation Group column lets you control the combinations of variable values that the app simulates. You can set up the variation groups to meet a wide variety of simulation needs. By associating two or more rows with the same variation group name, you can lock those variations to sweep together. This reduces the number of simulations to run. For example, consider a schematic sheet where the length is varied between 20 inches, 16 inches, and 12 inches. The DFE mode is varied between off , fixed, and auto. The simulation count would be 9 without a variation group between the length and DFE mode. By varying the two groups together as variation group mode, you can reduce the simulation count from 9 to 3.

Variation groups

Designator Timing Maps

For some designs it is useful to specify the mapping of designators to clock designators explicitly. An example is DDR3, where the clock is fly-by but other nets have point-to-point topologies. The explicit mapping is done through a parameter on the schematic. One parameter is used for each designator.

To place a parameter on the schematic use the parameter symbol. The name of the parameter is:


where designatortimingmap identifies the parameter as a designator timing map parameter and <designator_name> is the name of a designator on the schematic that the map will apply to. The $ creates a solution space table entry. The values in the solution space table are of the form:


where <clock_sheet_name> is the name of the clock schematic sheet that has the clock designator and <clock_designator_name> is the name of the clock designator.

For example, if a design has a DQS that is point-to-point, so all DQS nets can be represented by a single Transfer Net, and a CK that is fly-by with five designators, the single memory designator on the dqs schematic must be mapped to five ck Transfer net designators, one for each DQS on the actual board. If the memory designator on the dqs schematic is named sdram, the parameter would be named:


If the designators on the ck schematic are named sdram1-sdram5, the solution space table values for this parameter would be:

ck:sdram1, ck:sdram2, ck:sdram3, ck:sdram4, ck:sdram5

The dqs timing analysis results will be reported for each of the five designators. Without the mapping parameter the dqs results will be rolled up into one margin that is the worst case of all five designators.

Sweeping Package Pins or Models

The following parameters allow an automatic sweep of the package models for a given TNET designator. This sweep only involves those signals included in a specific designator. This is a pre-layout only function.

To evoke this function:

  • Add two .PARAM functions onto the schematic sheet and fill in the following Parameter Element Properties:

    Key = pkg_sweep_designator, Value = $pkg_sweep_designator:Param

    Key = pkg_sweep_pin, Value = $pkg_sweep_pin:Param

    Parameter element properties

  • The solution space contains the designator and package pins available for sweep.

    Solution space for designator and package pins

Sweeping S-Parameters

In order to sweep s-parameters, import the parameters after merging the wrappers into the same file. Consider an imported s-parameter file with four wrappers merged.

Dialog window showing imported wrapped s-parameter file on the left side and the four files on the right side.

On the left of the sweep window is the one wrapper file. When you select that file the right side shows the wrappers in that file. The name of the wrapper is the same as the Touchstone file containing the S-Parameter data. To set the symbol for a particular file, select one of the wrappers on the right side of the window and click OK. To sweep, double-click on the symbol to launch the element properties dialog for s-parameters and select Sweep Model. This creates a variable in the solution space with the value columns containing a list of the models in the wrapper file.

Dialogue window showing s-parameter file sweep.

Case Mode

Solution space window with case mode selected.

In case mode each column is a separate simulation case. This makes it easier to import or export the solution space table. The column header for each case contains the case name. You can perform several operations by choosing the appropriate column headers:

Generate CasesGenerate Cases creates cases from the permutation mode solution space. Each simulation from the permutation mode solution space will become one case.
Set to Default CaseRemoves all cases except the first case.
Rename CaseRenames the case.
Insert New CaseInserts a column for a new case to the right of the selected column.
Remove Selected CaseRemoves the selected column.
Write Solution SpaceThe solution space table in Case Mode can be written out as a csv (comma separated value) file using the Setup | Write Solution Space menu item. The file has one line per case and one column per variable.
Read Solutions SpaceThe solution space table in Case Mode can be populated by reading a csv (comma separated value) file using the Setup | Read Solution Space menu item. The file has one line per case and one column per variable. The variable names must match the variable names already in the table, and the values in the csv files must be legal values. A good way to see the correct format is to write a table first (see Write Solution Space).

See Also


Related Topics