To download the examples for Module 5, click Module_5_Examples.zip.
What You Will Learn
- How to pass parameters into subcircuits using the single property method.
- Parameters can be stored as a space-delimited parameter string and passed as a
single property.
- Why the single property method is not the preferred method for passing parameters
into subcircuits.
Getting Started
There are several ways to pass parameters into subcircuits. In the previous topic, 5.0 About Parameters, you used the .GLOBALVAR
statement to define a global parameter. A drawback to global parameters is that every
instance uses the same parameter value. In this topic, you will learn how to pass
parameters through the symbol-to-subcircuit interface, which allows you to pass the same
parameter
name
with different
values
for each instance.
Single-Property Method
The single property method stores all model parameters on a single property as a
parameter string. The individual parameter names and values are concatenated with an
equal sign, then the three name-value pairs are joined with a space. The final parameter
string is FC=10k R_VAR=1k GAIN=1.
In the first exercise, you will store a parameter string on a single symbol property and
pass it into the subcircuit using the SIMPLIS_TEMPLATE property. This is the
single-property parameterization method.
Exercise #1: Parameterize Using the Single Property
Method
To use the single property method, you
will add a PARAMETERS property with the parameter string value: FC=10k
R_VAR=1k GAIN=1 and then add a SIMPLIS_TEMPLATE property to pass the
PARAMETERS property to the subcircuit as a set of parameters.
- Open the schematic 5.3_parametrized_rc_filters_single_prop.sxsch.
- To add the PARAMETERS property to the param_rc_single_prop.sxcmp symbol,
follow these steps:
- Select U1, and then type the keyboard shortcut Shift+S to
open the symbol.
Result: The param_rc_single_prop schematic component
symbol opens in the Symbol Editor.
- From the Symbol Editor menu, select
Result: The
Add Property dialog opens.
- In the Name field, type PARAMETERS.
- In the Value field, type the following: FC=10k R_VAR=1k
GAIN=1
- Check the Selectable and Show name check boxes.
Result: The configured Add
Property dialog should appear as shown below:
- Click Ok on the Add Property Dialog.
Result: The property named PARAMETERS is added to the symbol with the value FC=10k R_VAR=1k GAIN=1.
- To add the SIMPLIS_TEMPLATE symbol property, follow these steps:
- From the Symbol editor menu, select:
Result: The
Add Property dialog opens.
- In the Name field, type SIMPLIS_TEMPLATE.
- In the Value field, type the following: <ref>
<nodelist> <value> vars: %PARAMETERS%
- Check the Hidden check box.
Result: The configured Add Property dialog should
appear as below:
- Click Ok on the Add Property Dialog.
Result: The SIMPLIS_TEMPLATE property is
added to the symbol with the value <ref>
<nodelist> <value> vars: %PARAMETERS%.
Note: Hidden properties are preceded with an asterisk, as seen on the
SIMPLIS_TEMPLATE property value above. These properties are only visible
in the symbol editor.
- Press Ctrl+S to save the symbol.
- Click Ok on the Save Symbol dialog to save the symbol to the component
file, and then close the Symbol Editor window.
- To update the instantiated symbols on the schematic, follow these steps:
- Select U1.
- Press and hold the Ctrl key while selecting U2.
Result: Both symbols for U1 and U2 are selected:
- Right click to bring up the context menu, and select Restore
Properties...
Result: A dialog opens for you to confirm that
you want to add the new properties to the instantiated symbols:
- Click Ok.
Result: The schematic
instances for U1 and U2 are updated with the new symbol properties
PARAMETERS and SIMPLIS_TEMPLATE. The SIMPLIS_TEMPLATE property is hidden
from view on the instantiated symbols:
- Press F9 to run the simulation.
Result: The design simulates in SIMPLIS and two gain
curves are output, one for each of the two filters. The pole frequency is 10kHz
for both filters since the passed parameters are identical for both U1 and
U2.
- Select U2 and press 5 to open the Edit Properties dialog.
- Change the PARAMETERS property to have FC=30kHz. The Edit Property dialog
should appear as follows:
- Click Ok on both dialogs and run the simulation.
Result: The blue output curve for the 30kHz filter now reflects the
change to the FC parameter.
Discussion: Exercise
#1
Using the single property method, you
have passed the PARAMETERS property value to the subcircuit using the
SIMPLIS_TEMPLATE property. This explicit passing of parameters is a good design
practice and makes symbols and models easier to understand.
Advantages and Drawbacks of Single-Property and Multi-Property Methods
The single-property and multi-property methods have several advantages and drawbacks as
itemized below:
Attribute |
Single-Property |
Multi-Property |
Number of properties |
Only one symbol property needs
to be added for any number of parameters. |
One property per parameter
requires more work to define the symbol. |
Symbol reusability |
One symbol can work for
multiple models since the number and parameter type can vary. |
Symbols are customized to a
model. |
Editing speed with a
dialog |
Fast - one property to
define. |
Slower - multiple properties
to define. |
Ability to display individual
parameters |
Not possible - all parameters
are displayed at once in a long parameter string. |
Individual parameters can be
displayed or hidden, which is a good reason to use the multi-property
method. |
Ease of manually editing the
parameter values |
Poor - need to search through
the string for the correct parameters. |
Easy - each property holds one
parameter. |
The multi-property method of parameterization is the recommended approach. Despite the
extra work to define a multi-property symbol, the result provides a better user
experience since individual symbol properties can be displayed or hidden.
When the number of parameters exceeds 50, the single-property method is recommended
since the parameter-editing scripts can save the properties to the symbol faster after
the you close the dialog.