Every component that is used in a simulation has a SPICE model with a set of parameters that define electrical behavior.
SPICE model parameters need to be defined for specialized components in order to simulate their electrical behavior.
If you’re building models for specialized components, you need to define model parameters from your component datasheets.
Each component in this layout will need a SPICE model for circuit simulations in the schematic.
Wouldn’t it be great if every component you needed included a SPICE model for instant circuit simulation? This is not always the case. Common components and passives usually have simple models that define the output voltage and/or current as a function of the input signals. These models might define the impedance (e.g., for capacitors and inductors) as a function of frequency, which allows for AC simulations. Unfortunately, complex components may not include a SPICE model, and you will need to build a SPICE model for components if you want to use them in circuit simulations.
If you’re using the right design software, SPICE simulations will start in your schematic after you’ve wired your components into circuits. Creating simulations involving complex components requires defining the SPICE model parameters for each component in your schematic. Your SPICE models are then used to build and solve a standard circuit model with a numerical technique.
Once your simulation finishes, you’ll receive a set of graphs showing electrical behavior vs. changes in input signal level (DC sweep or small-signal analysis), frequency, or time. In order to use SPICE models in any of these types of simulations, model parameters need to be defined for each of these domains. With this in mind, let’s look at the anatomy of a SPICE model and how each SPICE model parameter relates to different types of simulations.
What’s in a SPICE Model?
In general, there are two types of SPICE models:
Sources: These describe voltage/current sources in your circuit, which can be modeled as transients, piecewise linear, sinusoidal, pulsed, square, triangular, or sawtooth waves. Sources can be modeled as dependent or independent sources.
Components: These receive input from a source or from the output of another component. Components are defined using terminals, and the relevant terminals in your SPICE model should match the component pins you see on your schematic.
Each of these aspects of a SPICE model is defined using text with specific syntax. The designer’s job is to define these different sources for the component or subcircuit within the SPICE model file, which will then be assigned to a component or circuit block in your schematic.
Commented and Continued Lines
There are some basic syntax rules that will help you understand what’s in your SPICE model files:
Commented lines: A line beginning with an asterisk (*) is commented out and is not read by the simulation program. If a semicolon (;) is placed in the middle of a line, everything after the semicolon is commented.
Continued lines: If a line begins with a plus sign (+), this line is meant to be a continuation of the previous line. This is standard usage for indicating each SPICE model parameter as part of a component model. The SPICE model parameters are defined for a model using these continued lines.
A SPICE model begins with commented lines of text that describe the circuit or component being created. These lines may contain author information, revision dates or numbers, and any other information a user needs to understand the model.
The SPICE netlist is an amalgamation of descriptions of the circuit elements. It will typically contain a list of objects such as: the letter for the circuit element, the node registers, the model names, and then corresponding component values. A MOSFET, for example, may have drain, gate, source, and body along with length and width values, threshold voltage, and transconductance parameters.
Models vs. Subcircuits
These two terms are sometimes used interchangeably, but they are quite different. A SPICE model uses a mathematical equation to generate an output voltage/current from a given set of inputs and SPICE model parameters. A model can be used to define custom inputs for standard circuit components (e.g., BJT or diode), or the model author can write out an equation that defines the relationship between the input, output, and model parameters. All SPICE models are declared using the .MODEL statement.
A subcircuit is a textual representation of a circuit composed of standard circuit elements. A schematic that contains a group of standard components can be exported as a subcircuit, sometimes called a netlist, which can then be assigned to your specialized component. If you have a file with two subcircuits (SCKT1 and SCKT2) that both call a third subcircuit (SCKT3), you can write SCKT3 as a separate subcircuit in the same file. All SPICE subcircuits are declared using the .SUBCKT statement.
Example SPICE subcircuit and netlist
Example SPICE Model Parameters
Some common components can have quite complex SPICE models with multiple parameters. These parameters may not be obvious simply by looking at a schematic symbol, but they soon become obvious when looking at the equations describing the electrical input/output relationships. Here are some examples of more complex SPICE model parameters you’ll find for transistors, which form the basis for many SPICE subcircuits you’ll need to build for your components.
Large and Small Signal Transistor Models
Transistors will use two different SPICE models, depending on whether the transistor will operate in the large-signal or small-signal regime. When an input is applied to the base (or gate for MOSFETs), the operating point moves away from the bias point along the transistor’s load line. Small-signal parameters describe the transistor’s response when the operating point moves within the linear region around the DC bias point. This is important if an AC signal is applied to the base/gate, as a large amplitude will cause the collector/source current to saturate.
If your transistor will operate anywhere from the linear regime into saturation, you’ll need to define large-signal model parameters for your transistor as part of your subcircuit. The full set of 28 SPICE model parameters for BJTs allow you to model transistor behavior in the linear and saturation regions. The relevant model parameters are meant to capture the following aspects of the transistor:
Material properties: includes aspects such as the electronic bandgap, transport saturation current, doping gradient, and built-in voltage.
Temperature coefficients: these values define how the electrical parameters in the model change as power is dissipated in the channel.
Zero-bias capacitances: the base-emitter and base-collector capacitances need to be defined, as well as the forward-bias depletion capacitor coefficient.
Once you’ve defined these parameters for your SPICE model, you can build a subcircuit for a component by referencing your transistor model.
SPICE model parameters for SiC MOSFETs are similar to large-signal transistor model parameters, but they also include channel geometry and more fundamental material parameters. The greater focus on material parameters like mobility and gate oxide thickness is important because there is no single model for SiC MOSFETs. Different models are used to describe SiC MOSFETs and SiC-GaN MOSFETs, and each requires different parameters. Because these components are so new, describing these components with SPICE models is still a significant subject in the research community. Some manufacturers of SiC MOSFETs provide SPICE models for their components, which can then be used to model similar components by editing the SPICE model file.
The SPICE model parameters for this MOSFET are extensive.
Although you’ve probably been told in your Electronics 101 classes that diodes are simple components, the internal structure of the semiconductor means these components can be quite complex. Overall, diodes require 15 SPICE model parameters for an accurate description of electrical behavior. These same 15 parameters apply to Schottky diodes and p-n diodes. Some examples include breakdown voltage and current, saturation current, and lead resistance. The last point is quite important for real diodes as this will reduce the total voltage drop across the semiconductor section of the diode.
More Complex Components
Components like phototransistors, CCD arrays, ADCs, and relays could be described as subcircuits or phenomenological models. The approach you need to take depends on the complexity of a component and whether there is enough information in a datasheet to build an accurate electrical model. Going the phenomenological route is easiest as you are simply producing an equation (usually polynomial) that reproduces some performance graph from the datasheet. However, there is a risk of producing some errors when the device is operated outside the range used to build your mathematical model for the component.
Can You Include Other Parasitics in a SPICE Model?
Very simply, you can include parasitics in a SPICE model or subcircuit. For subcircuits, the netlist you generate from your schematic needs to include parasitic elements in your circuit diagram. Examples include parasitic capacitance between conductors in the component, lead inductance, and DC resistance of inductors. The netlist you generate will include these elements automatically.
For a SPICE model in most SPICE simulators, you need to explicitly define parasitics in your model as parameters with specific values. They will then be used by your model to generate your outputs within your circuit simulation. These models can get rather complex at the text level as including parasitics in a standard model for a component requires reformulating the circuit model for the component. Note that these parasitics are only defined for the component; they are not linked back to your PCB layout.
Importantly, in PSpice you can add parasitics on the fly to selected ideal components and simulate these results quickly. This speeds up your process greatly.
High quality layout tools will be able to extract these parasitics for you in your PCB layout, so it is not always necessary to include them in a circuit simulation. As an example, this is important for determining impedance throughout your PCB layout, which depends on the trace geometry and substrate dielectric constant, rather than on your SPICE model. For best impedance matching with your components, you can use a SPICE simulation with your circuits to determine input impedance with a frequency sweep, then use this as a design goal to determine trace dimensions required for impedance matching.
The right layout tools will extract parasitics for you, which can then be used to determine lead/trace impedance and match to your component’s input impedance.
The right set of PCB design and analysis software will include everything you need to set SPICE model parameters for your circuit simulations. The front-end design features from Cadence and PSpice Simulator speed up your design and simulation time immensely, as well as creating new opportunities for verification and problem-solving as they arise. You can then use OrCAD PCB Designer to arrange components, route your board, and perform post-layout simulations.
If you’re looking to learn more about how Cadence has the solution for you, talk to us and our team of experts.