When you press F9 to run a simulation, a number of processing steps occur before the actual simulation is launched. In this topic, the netlisting process is demystified and you will learn how the SIMPLIS deck file is generated and each step in the process.
To download the examples for Module 3, click Module_3_Examples.zip
In this topic:
This topic addresses the following key concepts:
In this topic, you will learn the following:
Most users would be hard pressed to answer the question posed in this lesson's title: What Happens When You Press F9? The answer in not a simple one, as the launching of a SIMPLIS simulation involves four major steps:
The process for schematic netlisting involves the following:
During the netlisting process, the netlister determines the netlist instantiation line for each symbol with the logic shown in the following flow chart. The values enclosed in percent signs, such as %REF% are literal substitutions, that is %REF% is the value of the REF property for the symbol. Special template keywords are enclosed in greater than and less than brackets <>, such as <nodelist>, which is a listing of all nodes connected to the symbol. Capitalized text in this flow chart represent symbol property names, such as TEMPLATE, SIMPLIS_TEMPLATE, REF, MODEL, etc.:
The netlist file can be viewed with the SIMetrix/SIMPLIS menu
. The netlist at this stage is a raw collection of instantiations - that is, the connectivity of a number of symbols and the parameters associated with those symbols. Many of the electrical models are not present in the netlist at this point and the variable expressions have not been evaluated to numerical results either. Both of these operations are performed by the netlist preprocessor.As you can see, at this point in the process, the netlist still contains the unevaluated {RLoad} variable expression. These expressions are evaluated, or resolved to numbers, by the netlist preprocessor.
The POP Trigger schematic device is a special symbol that SIMPLIS uses to identify the beginning of each switching period of the circuit. The program actually searches each level of the design hierarchy for the POP Trigger device. A script opens each schematic in a hidden mode, and interrogates the schematic, looking for POP Trigger devices. A list of locations and POP Trigger device references is collected and if there is only one POP Trigger present, the actual trigger gate is added as a .VAR statement when the netlist is preprocessed.
A great deal of "heavy lifting" is performed by the netlist preprocessor. This part of the SIMetrix/SIMPLIS program performs a number of tasks on the netlist file, and produces the SIMPLIS-ready deck file. The netlist preprocessor performs the following tasks:
Although the list of actions performed by the preprocessor is short, each action represents a powerful expansion of the capabilities of the program. For example, #3 listed above allows users to define models whose structure can be programmatically altered based on parameters the modeler defines. This model "creation" process happens every time SIMPLIS is executed, and is transparent to the user. The majority of the built-in SIMPLIS models exploit this feature. For example, the electrolytic capacitor model has optional ESR and ESL. These circuit elements are added to the model during the preprocess stage. In the 6.1.2 Constant Current Subcircuit topic, you will create your own models which exploit the preprocessor's ability to dynamically generate a model at run time.
The output of the netlist preprocessor is the deck file, and can be viewed with the SIMetrix/SIMPLIS menu bar
. In this next exercise you will repeat Exercise #1: Examine the Netlist, but see that the expression for RLoad has been evaluated to the numerical result of 2.5Ω.The netlist preprocessor has evaluated all expressions in the netlist, pulled in all subcircuit definitions from the library and prepared the deck file for SIMPLIS to run. The next step passes the deck onto SIMPLIS where the deck file is checked for syntax errors before SIMPLIS executes the simulation. This is the step you are familiar with - this is when the SIMPLIS Status Window opens and the simulation starts.
In the next topic, you will learn how parameters are passed into subcircuits and how the netlist preprocessor builds each subcircuit based on these parameters when the simulation is executed.
A number of SIMPLIS models are generated using templatescripts. These models include most of the Digital Libraries, except the gates and flip-flops. Creating models using a templatescript is covered in the Model Generation Using TEMPLATESCRIPTS topic.