SPISim – New addition to the Ansys Electronics family

In this article, I would like to introduce some new features added to the Ansys Electronics Solution 2020R2 release called SPISim. Since this is a new tool, I’ll focus on describing its capabilities as well as some possible applications.

What is SPISim?

Signal, Power Integrity and Simulation (SPISim) focuses on system-level and on-chip SI/PI modeling, simulation, and analysis. The tool presents a variety of different features, which are split on separate modules shown below.

Let us look at each module individually and highlight the key functionality.

There are 2 main Modules VPro and MPro. All the other features (sub-modules) are split between these main two.

VPro Core

This is a versatile GUI for viewing waveforms. It supports a wide variety of formats including .tr0, .ac0, .ibis, .csv, .mat, .raw, .snp, .citi, and more. Besides simple viewing capabilities, VPro can also be used for waveform analysis:

  • Overshoot and Undershoot (for Peaks and Valleys)
  • Threshold Crossings
  • Min/Max Peak-2-Peak
  • Root-Mean-Square Value 
  • FFT, iFFT
  • Correlation
  • Pulse to PDA

Using the information about waveforms, this tool can also plot an eye diagram, perform simple correlations, and run measurements. The viewer also supports framework scripting on JavaScript, Ruby, TCL, etc.

DPro Unit (VPro Module)

DPro (short for DDR Pro) provides comprehensive DDR related post-processing analysis. Key functionalities of this tool:

  • Batch mode of processing one or more waveform files
  • Support of multiple receiver processing
  • Built-in and customizable derating table and derating processing
  • Built-in 100+ measurement functions for typical DDR signal analysis
  • Results cross-probing and show problematic location automatically

The feature is organized in a wizard-like style. The user simply needs to fill out information in 6 tabs and click the ‘Run’ button. Overall, it is very intuitive to use, but like any new features, there is a learning curve for a new user.

TPro Unit (VPro Module)

It provides comprehensive transmission line related modeling, analysis, post-processing, and viewing capabilities. Here are several main functionalities offered by this add-on:

  • Comprehensive stackup planner to model t-lines’ performance in different stackup configurations
  • Advanced t-line modeling viewer for rapid analysis such as impedance, crosstalk, or propagation delay analysis
  • A table viewer for RLCG frequency content
  • What-if analysis for quick impedance/crosstalk calculation, and data processing, such as trimming and merging of frequency points
  • Batch mode processing and measurements for one or more t-line model files, result is a plain .csv file ready for further modeling or analysis

This feature helps the user to run pre-layout ‘what-if’ analysis. Both ‘transmission line analyzer’ and ‘layer stackup planner’ give the user a flexible way of understanding potential design constrains and guidelines.

SPro Unit (VPro Module)

This module is similar to TPro in a sense of the capabilities. However, it is directed to view and analyze S-parameters instead of tabular transmission line data. Also, in contrast to TPro, this feature has a separate tab ‘S-Param’ with all the features listed there.

Here are major capabilities of SPro:

  • Advanced s-parameter viewer for speedy analysis such TDR/TDR or PDA analysis
  • Table viewer for frequency content; export s-parameter data to matlab .mat format and more
  • 20+ advanced analysis functions such as mixed-mode conversion, cascading and renormalization
  • Batch mode processing and measurements for one or more s-parameter files
  • Support customizable s-parameter reporting generation for lab automation and beyond

Besides the conceptual similarities with the TPro, S-parameter’s waveform viewer based on VPro waveform viewer. Therefore, all operations available in VPro can also be found in S-parameter viewer.

Signal Generator Unit

This tool allows the user to generate a signal and use it in a future analysis. The generator offers wide variety of signal patterns (such as PRBS, Pulse, Sine, Square, Sawtooth etc) in combination with the PAM4 and NRZ modulation schemes. The user needs only to specify parameters for the signal and then create it.

This simple, but very powerful feature helps to save time for the engineer. 

MPro Core

By definition, MPro is a modeling unit, which helps the user to work with the data. However, modeling can mean different things. The main advantage of MPro is providing the user with the simple environment for data manipulation. Here are all main functionalities of this core module:

  • Table data processing: combine, extract, summarize statistically, etc
  • Plan sampling with design of experiments, full factorial, Monte Carlo, etc
  • Simulate or collect data using customizable scripts, supporting multi-CPU/multi-thread
  • Visualize data in statistical, 2D or 3D plots
  • Model data using response surface modeling, neural network (feed forward and radial basis), etc
  • Optimization using linear, nonlinear, or genetic algorithm methods

BPro IBIS and AMI Unit (MPro Module)

BPro is one unit, however in this description I have purposefully separated it into two – BPro IBIS and BPro AMI, because the functionality of BPro is very broad. It is easier to focus on a one thing at a time.

Generally, BPro brings comprehensive IBIS related modeling, analysis, post-processing, and viewing capabilities to user. In more detail:

  • Has an inspector to view IBIS model’s textual content and visualize various waveform/current table easily. Tool also allows manual editing of model data with a simple mouse click and drag
  • Built-in advanced IBIS model generation flow from either scratch or existing simulation data. Tool will guide user from modeling setup, spice decks generations, simulation, modeling, syntax checking with golden parser, validation to final figure of merits (FOM) reporting
  • Support batch mode generations of performance reports for one or more model files. Results are in .csv file format and can be used for further analysis
  • IBIS model generation from Spec. or data sheet without performing any simulation. Generated model will also have two sets of waveforms under different loading conditions

Under ‘IBIS’ menu tab, the user will find separate sets of commands for both IBIS and AMI, as well as commands for IBIS-AMI in general.


This new addition to Ansys Electronics Solution brings a very wide variety of features to engineers. All Waveform Viewer, Signal Generator, IBIS-AMI modeling, DDR analysis, Data optimization, and Transmission line planner are united under one tool – SPISim. We can launch this tool either from within Ansys 3D Layout or SIwave, and, in 2020R2, is accessible through the Electronics Enterprise license.

Here is an overview of the SPISIm functionality:

Besides developing the help documentation and video demos, SPISim engineer team provides users with the detailed information about the tool in their blog – http://www.spisim.com/blogs/blog-articles-index/  and helps to fill out the technical ‘gaps’ by sharing the reference material – http://www.spisim.com/products/ami-spisims-ibis-ami/academic-serdes-ami-reference/

If you would like more information related to this topic or have any questions, please reach out to us at info@padtinc.com.

Windows Update KB4571756 Triggers Error 3221227010 for Ansys Electronics Products

On September 7, 2020 Microsoft released a Windows update KB4571756, which may cause the Ansys electronic products to fail with the Error:

3221227010 at ‘reg_ansysedt.exe’ and ‘reg_siwave.exe’ registration.

This is the error message, users would see if they right-mouse-click and run the following file as administrator:

C:\Program Files\AnsysEM\AnsysEM20.2\Win64\config\ConfigureThisMachine.exe

To resolve this issue, here are the steps we recommend users take:

  1. Revert the updates.
    1. If the issue is not resolved or something your IT won’t let you do, continue to the next steps.
  2. Set an environment variable that turns off the driver that is causing the error. 
    1. Use windows search and type “system environment” and click on “Edit the system environment variables”
    2. This opens the “System Properties” tool
    3. Go to the “Advanced” tab
    4. Click on “Environment Variables…” at the bottom
    5. In the System Variables window click on “New…”
    6. Create the following variable:

      Variable Value: 1
    7. Click OK 3 times to exit out of the tool and save your changes. 
  3. If the issue is still not resolved, there is one more step:
    1. Go to C:\Program Files\AnsysEM\AnsysEM20.2\Win64\config\
    2. Right-Mouse-Click on “ConfigureThisMachine.exe” and run as Admin. 

If these steps helped to resolve the issue, you will see the following info message when ‘ConfigureThisMachine.exe’ is run:

If this does not work, please contact your Ansys support provider. 

Making Sense of DC IR Results in Ansys SIwave

In this article I will cover a Voltage Drop (DC IR) simulation in SIwave, applying realistic power delivery setup on a simple 4-layer PCB design. The main goal for this project is to understand what data we receive by running DC IR simulation, how to verify it, and what is the best way of using it.

And before I open my tools and start diving deep into this topic, I would like to thank Zachary Donathan for asking the right questions and having deep meaningful technical discussions with me on some related subjects. He may not have known, but he was helping me to shape up this article in my head!

Design Setup

There are many different power nets present on the board under test, however I will be focusing on two widely spread nets +1.2V and +3.3V. Both nets are being supplied through Voltage Regulator Module (VRM), which will be assigned as a Voltage Source in our analysis. After careful assessment of the board design, I identified the most critical components for the power delivery to include in the analysis as Current Sources (also known as ‘sinks’). Two DRAM small outline integrated circuit (SOIC) components D1 and D2 are supplied with +1.2V. While power net +3.3V provides voltage to two quad flat package (QFP) microcontrollers U20 and U21, mini PCIE connector, and hex Schmitt-Trigger inverter U1.

Fig. 1. Power Delivery Network setting for a DC IR analysis

Figure 1 shows the ‘floor plan’ of the DC IR analysis setup with 1.2V voltage path highlighted in yellow and 3.3V path highlighted in light blue.

Before we assign any Voltage and Current sources, we need to define pin groups for all nets +1.2V, +3.3V and GND for all PDN component mentioned above. Having pin groups will significantly simplify the reviewing process of the results. Also, it is generally a good practice to start the DC IR analysis from the ‘big picture’ to understand if certain component gets enough power from the VRM. If a given IC reports an acceptable level of voltage being delivered with a good margin, then we don’t need to dig deeper; we can instead focus on those which may not have good enough margins.

Once we have created all necessary pin groups, we can assign voltage and current sources. There are several ways of doing that (using wizard or manual), for this project we will use ‘Generate Circuit Element on Components’ feature to manually define all sources. Knowing all the components and having pin groups already created makes the assignment very straight-forward. All current sources draw different amount of current, as indicated in our setting, however all current sources have the same Parasitic Resistance (very large value) and all voltage source also have the same Parasitic Resistance (very small value). This is shown on Figure 2 and Figure 3.

Note: The type of the current source ‘Constant Voltage’ or ‘Distributed Current’ matters only if you are assigning a current source to a component with multiple pins on the same net, and since in this project we are working with pins groups, this setting doesn’t make difference in final results.

Fig. 2. Voltage and Current sources assigned
Fig. 3. Parasitic Resistance assignments for all voltage and current sources

For each power net we have created a voltage source on VRM and multiple current sources on ICs and the connector. All sources have a negative node on a GND net, so we have a good common return path. And in addition, we have assigned a negative node of both voltage sources (one for +1.2V and one for +3.3V) as our reference points for our analysis. So reported voltage values will be referenced to that that node as absolute 0V.

At this point, the DC IR setup is complete and ready for simulation.

Results overview and validation

When the DC IR simulation is finished, there is large amount of data being generated, therefore there are different ways of viewing results, all options are presented on Figure 4. In this article I will be primarily focusing on ‘Power Tree’ and ‘Element Data’. As an additional source if validation we may review the currents and voltages overlaying the design to help us to visualize the current flow and power distribution. Most of the time this helps to understand if our assumption of pin grouping is accurate.

Fig. 4. Options to view different aspects of DC IR simulated data

Power Tree

First let’s look at the Power Tree, presented on Figure 5. Two different power nets were simulated, +1.2V and +3.3V, each of which has specified Current Sources where the power gets delivered. Therefore, when we analyze DC IR results in the Power tree format, we see two ‘trees’, one for each power net. Since we don’t have any pins, which would get both 1.2V and 3.3V at the same time (not very physical example), we don’t have ‘common branches’ on these two ‘trees’.

Now, let’s dissect all the information present in this power tree (taking in consideration only one ‘branch’ for simplicity, although the logic is applicable for all ‘branches’):

  • We were treating both power nets +1.2V and +3.3V as separate voltage loops, so we have assigned negative nodes of each Voltage Source as a reference point. Therefore, we see the ‘GND’ symbol ((1) and (2)) for each voltage source. Now all voltage calculations will be referenced to that node as 0V for its specific tree.
  • Then we see the path from Voltage Source to Current Source, the value ΔV shows the Voltage Drop in that path (3). Ultimately, this is the main value power engineers usually are interested in during this type of analysis. If we subtract ΔV from Vout we will get the ‘Actual Voltage’ delivered to the specific current source positive pin (1.2V – 0.22246V = 0.977V). That value reported in the box for the Current Source (4). Technically, the same voltage drop value is reported in the column ‘IR Drop’, but in this column we get more details – we see what the percentage of the Vout is being dropped. Engineers usually specify the margin value of the acceptable voltage drop as a percentage of Vout, and in our experiment we have specified 15%, as reported in column ‘Specification’. And we see that 18.5% is greater than 15%, therefore we get ‘Fail_I_&_V’ results (6) for that Current Source.
  • Regarding the current – we have manually specified the current value for each Current Source. Current values in Figure 2 are the same as in Figure 5. Also, we can specify the margin for the current to report pass or fail. In our example we assigned 108A as a current at the Current Source (5), while 100A is our current limit (4). Therefore, we also got failed results for the current as well.
  • As mentioned earlier, we assigned current values for each Current Source, but we didn’t set any current values for the Voltage Source. This is because the tool calculates how much current needs to be assigned for the Voltage Source, based on the value at the Current Sources. In our case we have 3 Current Sources 108A, 63A, 63A (5). The sum of these three values is 234A, which is reported as a current at the Voltage Source (7). Later we will see that this value is being used to calculate output power at the Voltage Source.  
Fig. 5. DC IR simulated data viewed as a ‘Power Tree’

Element Data

This option shows us results in the tabular representation. It lists many important calculated data points for specific objects, such as bondwire, current sources, all vias associated with the power distribution network, voltage probes, voltage sources.

Let’s continue reviewing the same power net +1.2V and the power distribution to CPU1 component as we have done for Power Tree (Figure 5). The same way we will be going over the details in point-by-point approach:

  • First and foremost, when we look at the information for Current Sources, we see a ‘Voltage’ value, which may be confusing. The value reported in this table is 0.7247V (8), which is different from the reported value of 0.977V in Power Tree on Figure 5 (4). The reason for the difference is that reported voltage value were calculated at different locations. As mentioned earlier, the reported voltage in the Power Tree is the voltage at the positive pin of the Current Source. The voltage reported in Element Data is the voltage at the negative pin of the Current Source, which doesn’t include the voltage drop across the ground plane of the return path.

To verify the reported voltage values, we can place Voltage Probes (under circuit elements). Once we do that, we will need to rerun the simulation in order to get the results for the probes:

  1. Two terminals of the ‘VPROBE_1’ attached at the positive pin of Voltage Source and at the positive pin of the Current Source. This probe should show us the voltage difference between VRM and IC, which also the same as reported Voltage Drop ΔV. And as we can see ‘VPROBE_1’ = 222.4637mV (13), when ΔV = 222.464mV (3). Correlated perfectly!
  2. Two terminals of the ‘VPROBE_GND’ attached to the negative pin of the Current Source and negative pin of the Voltage Source. The voltage shown by this probe is the voltage drop across the ground plane.

If we have 1.2V at the positive pin of VRM, then voltage drops 222.464mV across the power plane, so the positive pin of IC gets supplied with 0.977V. Then the voltage at the Current Source 0.724827V (8) being drawn, leaving us with (1.2V – 0.222464V – 0.724827V) = 0.252709V at the negative pin of the Current Source. On the return path the voltage drops again across the ground plane 252.4749mV (14) delivering back at the negative pin of VRM (0.252709V – 0.252475V) = 234uV. This is the internal voltage drop in the Voltage Source, as calculated as output current at VRM 234A (7) multiplied by Parasitic Resistance 1E-6Ohm (Figure 3) at VRM. This is Series R Voltage (11)

  • Parallel R Current of the Current source is calculated as Voltage 724.82mV (8) divided by Parasitic Resistance of the Current Source (Figure 3) 5E+7 Ohm = 1.44965E-8 (9)
  • Current of the Voltage Source report in the Element Data 234A (10) is the same value as reported in the Power Tree (sum of all currents of Current Sources for the +1.2V power net) = 234A (7). Knowing this value of the current we can multiple it by Parasitic Resistance of the Voltage Source (Figure 3) 1E-6 Ohm = (234A * 1E-6Ohm) = 234E-6V, which is equal to reported Series R Voltage (11). And considering that the 234A is the output current of the Voltage Source, we can multiple it by output voltage Vout = 1.2V to get a Power Output = (234A * 1.2V) = 280.85W (12)
Fig. 6. DC IR simulated data viewed in the table format as ‘Element Data’

In addition to all provided above calculations and explanations, the video below in Figure 7 highlights all the key points of this article.

Fig. 7. Difference between reporting Voltage values in Power Tree and Element Data


By carefully reviewing the Power Tree and Element Data reporting options, we can determine many important decisions about the power delivery network quality, such as how much voltage gets delivered to the Current Source; how much voltage drop is on the power net and on the ground net, etc. More valuable information can be extracted from other DC IR results options, such as ‘Loop Resistance’, ‘Path Resistance’, ‘RL table’, ‘Spice Netlist’, full ‘Report’. However, all these features deserve a separate topic.

As always, if you would like to receive more information related to this topic or have any questions please reach out to us at info@padtinc.com.

Reduce EMI with Good Signal Integrity Habits

Recently the ‘Signal Integrity Journal’ posted their ‘Top 10 Articles’ of 2019. All of the articles included were incredible, however, one stood out to me from the rest – ‘Seven Habits of Successful 2-Layer Board Designers’ by Dr. Eric Bogatin (https://www.signalintegrityjournal.com/blogs/12-fundamentals/post/1207-seven-habits-of-successful-2-layer-board-designers). In this work, Dr. Bogatin and his students were developing a 2-Layer printed circuit board (PCB), while trying to minimize signal and power Integrity issues as much as possible. As a result, they developed a board and described seven ‘golden habits’ for this board development. These are fantastic habits that I’m confident we can all agree with. In particular, there was one habit at which I wanted to take a deeper look:

“…Habit 4: When you need to route a cross-under on the bottom layer, make it short. When you can’t make it short, add a return strap over it..”

Generally speaking, this habit suggests to be very careful with the routing of signal traces over the gap on the ground plane. From the signal integrity point of view, Dr. Bogatin explained it perfectly – “..The signal traces routed above this gap will see a gap in the return path and generate cross talk to other signals also crossing the gap..”. On one hand, crosstalk won’t be a problem if there are no other nets around, so the layout might work just fine in that case. However, crosstalk is not the only risk. Fundamentally, crosstalk is an EMI problem. So, I wanted to explore what happens when this habit is ignored and there are no nearby nets to worry about.

To investigate, I created a simple 2-Layer board with the signal trace, connected to 5V voltage source, going over an air gap. Then I observed the near field and far field results using ANSYS SIwave solution. Here is what I found.

Near and Far Field Analysis

Typically, near and far fields are characterized by solved E and H fields around the model. This feature in ANSYS SIwave gives the engineer the ability to simulate both E and H fields for near field analysis, and E field for Far Field analysis.

First and foremost, we can see, as expected, that both near and far Field have resonances at the same frequencies. Additionally, we can observe from Figure 1 that both E and H fields for near field have the largest radiation spikes at 786.3 MHz and 2.349GHz resonant frequencies.

Figure 1. Plotted E and H fields for both Near and Far Field solutions

If we plot E and H fields for Near Field, we can see at which physical locations we have the maximum radiation.

Figure 2. Plotted E and H fields for Near field simulations

As expected, we see the maximum radiation occurring over the air gap, where there is no return path for the current. Since we know that current is directly related to electromagnetic fields, we can also compute AC current to better understand the flow of the current over the air gap.

Compute AC Currents (PSI)

This feature has a very simple setup interface. The user only needs to make sure that the excitation sources are read correctly and that the frequency range is properly indicated. A few minutes after setting up the simulation, we get frequency dependent results for current. We can review the current flow at any simulated frequency point or view the current flow dynamically by animating the plot.

Figure 3. Computed AC currents

As seen in Figure 3, we observe the current being transferred from the energy source, along the transmission line to the open end of the trace. On the ground layer, we see the return current directed back to the source. However at the location of the air gap there is no metal for the return current to flow, therefore, we can see the unwanted concentration of energy along the plane edges. This energy may cause electromagnetic radiation and potential problems with emission.

If we have a very complicated multi-layer board design, it won’t be easy to simulate current flow on near and far fields for the whole board. It is possible, but the engineer will have to have either extra computing time or extra computing power. To address this issue, SIwave has a feature called EMI Scanner, which helps identify problematic areas on the board without running full simulations.

EMI Scanner

ANSYS EMI Scanner, which is based on geometric rule checks, identifies design issues that might result in electromagnetic interference problems during operation. So, I ran the EMI Scanner to quickly identify areas on the board which may create unwanted EMI effects. It is recommended for engineers, after finding all potentially problematic areas on the board using EMI Scanner, to run more detailed analyses on those areas using other SIwave features or HFSS.

Currently the EMI Scanner contains 17 rules, which are categorized as ‘Signal Reference’, ‘Wiring/Crosstalk’, ‘Decoupling’ and ‘Placement’. For this project, I focused on the ‘Signal Reference’ rules group, to find violations for ‘Net Crossing Split’ and ‘Net Near Edge of Reference’. I will discuss other EMI Scanner rules in more detail in a future blog (so be sure to check back for updates).

Figure 4. Selected rules in EMI Scanner (left) and predicted violations in the project (right)

As expected, the EMI Scanner properly identified 3 violations as highlighted in Figure 4. You can either review or export the report, or we can analyze violations with iQ-Harmony. With this feature, besides generating a user-friendly report with graphical explanations, we are also able to run ‘What-if’ scenarios to see possible results of the geometrical optimization.

Figure 5. Generated report in iQ-Harmony with ‘What-If’ scenario

Based on these results of quick EMI Scanner, the engineer would need to either redesign the board right away or to run more analysis using a more accurate approach.


In this blog, we were able to successfully run simulations using ANSYS SIwave solution to understand the effect of not following Dr.Bogatin’s advice on routing the signal trace over the gap on a 2-Layer board. We also were able to use 4 different features in SIwave, each of which delivered the correct, expected results.

Overall, it is not easy to think about all possible SI/PI/EMI issues while developing a complex board. In these modern times, engineers don’t need to manufacture a physical board to evaluate EMI problems. A lot of developmental steps can now be performed during simulations, and ANSYS SIwave tool in conjunction with HFSS Solver can help to deliver the right design on the first try.

If you would like more information or have any questions please reach out to us at info@padtinc.com.