Skip to main content

SIwave is a power integrity and signals integrity tool. In this article, we will be talking about the power integrity solver and all its features.


Power integrity is necessary if at least one die/chip on the board withdraws variable currents. Drivers, power amplifiers, TIAs, and many chips withdraw constant currents. But most ASIC chips withdraw variable currents. That means the current contains a DC value and a spectrum of frequencies. Consequently, it is essential to understand the response (The impedance) of the power planes along this spectrum.


Figure 1: Spectrum of a variable current


It is not recommended to use SIwave to build a PCB. Although one can do that, that is not the right way to use SIwave. SIwave can import the following type of CAD files:


Figure 2: Import dialog box in SIwave


SIwave extracts much information from the CAD file, for example, the stackup, the materials, the components, and the nets. So what is missing? Is assigning ports. That is all. Before using SIwave, it is highly recommended that the user reads the electrical schematic very well; it will save lots of time.


Siwave, like any other PI tool, understands the language of nets. When a board is imported, SIwave immediately starts looking for single nets. And the single net is an electrically connected structure without the use of any external component. A single net could occupy many layers but cannot be electrically disconnected. To analyze a power plane, one needs to identify its nets. It could have just one net, and it could have many nets. And if there are many nets, they should be connected using resistors, inductors, or capacitors. That is what we call a passive link. If integrated/discrete components exist along the path, then SIwave will treat each side of the integrated/discrete component as an independent link.


Green: single nets

Red: passive components

Black: Discrete components


Figure 3: Single nets, Passive links, and Powerplane full link


Any process in SIwave; DC, PI, SI, or radiation, starts by selecting a solver. Once a solver has been selected, SIwave generates a dialog box that looks like a form. The user needs to check the form and fill up the missing information. For example, the figure below shows the dialog box of the PI solver. The user selects one passive link (its nets) from the left box, and SIwave populates the right box with all the connections. The user specifies the location of the ports. Repeat the process for each passive link. Then the solver is launched.


Figure 4: Enter ports locations


  1. Debug the solver:


The first thing a user can do is to check the mesh and make sure that there is enough mesh in the areas of interest. SIwave is a 2D solver, so the same mesh is used in all layers. Studying the mesh is essential because it determines if the solver setup is good enough.


Figure 5: SIwave 2D mesh



One also can look at the profile, which gives an idea of the solver timing and the mesh used in each net. This information is used to compare different models. The user can also use this information to plan long runs.


Figure 6: Profile information



SIwave allows the user to review the solver setup used anytime in the future. Then the user can tell what setup was used to produce the results.

  1. Examining the solution:
S parameters

PI solver is an S parameters solver. So one can obtain the return loss, the insertion, and the crosstalk if there is more than one passive link. The results are enough to tell if there is any resonance in the band of interest. It also shows if there are discontinuities in the path.


The S parameters are sometimes misleading because they include the effect of the ports' impedance. Although the characteristic impedance of the power planes is small but still unknown, the S parameters values mean nothing. One cannot extract any conclusion from their values, especially about the crosstalk.


Figure 7: S parameters plot


To make sense of the S-parameters, in SIwave, one can renormalize the ports to another impedance other than 0.1Ohm until the return loss is optimum. It is one way to extract the characteristic impedance of the power planes, but not a very accurate way. The main reason for doing the normalization is to accurately read the crosstalk.


Figure 8: Dialog box to renormalizing ports


When doing Power Integrity, the Z matrix is the most important information. The Z matrix is extracted from the S parameters by removing the ports' effect. That is why it is more accurate than the S-matrix. The focus is on Z11 because it has the impedance value of the power plane along the frequency spectrum. This impedance is the effective inductance impedance due to the joint effect of the inductance and the capacitance of the power plane.


Figure 9: Z matrix plot


Unfortunately, many users make the mistake of trying to optimize the power planes without knowing the equivalent circuit of the VRM. In SIwave, one can remove the port on VRM and replace it with the equivalent circuit of the VRM. In our example here, the equivalent circuit of the VRM is a 0.47nh inductor in series with an 8mOhm resistor. This way, the Z11 value will be the impedance seen by the CPU. This Z11 is the one to optimize.


Figure 10: Z matrix after looking from the CPU


The Z11 of the passive link has to be less than a specific value Zmax from DC to 10MHz. The frequency bandwidth is derived from the shape of the current shape. The Zmax = dV_allowed/(0.5*Imax_transient). If the curve is below this Zamx, then this is a good design; otherwise, one has to add more decoupling caps along the path to be able to suppress the Z11 impedance of the power plane.



Siwave can perform a sensitivity analysis. The sensitivity analysis produces curves representing dS/dz_component (dY/dz_componenet and dZ/dz_component), where the z-component is the impedance of a component used on the board. The curves expose how sensitive any parameter is to any component. This study is important if one uses cheap components with large tolerances.


Figure 11: Sensitivity analysis



SIwave can calculate the equivalent RLCG of any passive link. One can then export the data in many different formats as a file to be used by an external circuit tool, like Spice.


Figure 12: RLGC equivalent circuit



  1. Export Features:

SIwave can export the results to a touchstone file, a well-known standard S-parameters file. The file can then be used in a circuit with the VRM equivalent circuit and the load circuit. The circuit tool is provided for free with SIwave.


Figure 13: Using S parameters in a circuit tool


SIwave can generate a spice model of the circuit. Many formats are supported by SIwave, like HSpice, Pspice, Spectre, Nexxim, Twin Builder, RFM, and Touchstones. Users can enforce passivity. They can also renormalize the ports to any impedance other than 50Ohm.


Figure 14: Spice model dialog box



SIwave can generate an IBIS-ICM model. ICM stands for interconnect modeling specifications. It is a behavioral ASCII-based file format used mainly to represent passive interconnections. It is still an IBIS model kind of format.


SIwave can generate SSO Netlist file format, which is just a list of nets.


Figure 15: Sentinel SSO netlist file from SIwave


  1. Postprocessing
Network Data Explorer
Sometimes we would like to do some postprocessing and check the validity of the calculated S/Y/Z parameters. To do that, SIwave can transfer the data to another tool, Network Data Explorer. In this tool the user can check the causality and the passivity of the data, and many other powerful postprocessing. Network data explorer is provided for free with SIwave.


Figure 16: Network Data Explorer


SIwave can also transfer the data to another tool, SUtility. SUtility is provided with SIwave for free. Inside SUtility, users can do lots of postprocessing, like changing from a single to a differential, and vice versa. One can also check the response if the ports were left open, short, terminated, or connected to a lump circuit. And these are just a few things that one can do fast and easily with SUtility.


Figure 17: SUtility tool



Checking the solution, displaying data in many forms, exporting data in many formats, and postprocessing: these are things that you will be able to do through Siwave PI analysis—


Hatem Akel
Post by Hatem Akel
May 31, 2023