Taking a step back from your board and trying to find out if there are any trace impedance issues or areas where coupling is too great can be a very difficult and time consuming task. Using the capabilities in Cadence’s new Sigrity tools can make this a very simple job.
To setup your board for analysis requires virtually no additional steps aside from what you normally do. The Sigrity tool will utilize data you have already defined as part of your PCB design process (board stackup , nets, parts, copper pours and planes). All you may need to add is information on which nets are DC voltage nets; no IBIS or SPICE models are required at all. You can use nearly any board tool out there to start the analysis or if you don’t do your own board design, you can take the CAD files and bring them right in.
We’ll run through a short example here of some DDR3 nets on a board – be sure to take a look at the video at the bottom if you require additional information on the steps.
Although we could start with nearly any CAD board format out there, we’ll be using OrCAD PCB Editor (aka Allegro PCB Editor). The board we’re using has an FPGA at the top (U1) and it’s sending signals to both J1 and J2. We ultimately want to know the impedance of the traces that travel this route as well as their coupling to each other.
To bring this board into Sigrity’s environment, we’ll open up the Allegro Sigrity Suite Manager, run the SPDLinks CAD Translator to change the format from .brd to .spd.
Note: If you have a board in another CAD format that isn’t OrCAD or Allegro PCB Editor, there’s a good likelihood that it can also be imported into the Sigrity simulation environment.
To run the Trace Impedance and Coupling checks, we can use either the SPEED2000 or the PowerSI tool from Sigrity; they both have this same functionality. We’ll use PowerSI in this example, so from the Allegro Sigrity Suite Manager once more, we’ll open up the PowerSI tool and load up the .spd file that was just created.
On the left hand side are a bunch of Workflows that provide shortcuts to the tasks that we’ll want to perform in setting this up; be sure the Trace Impedance/Coupling Check Workflow is selected.
We can choose Check Stackup at this point and make sure it has come across correctly and has appropriate values. Next, we’ll Enable Trace Check Mode which tells PowerSI what type of analysis we’re going to be doing.
When doing this type of analysis it can be very useful to setup some Net Groups. This type of grouping allows you to break the massive selection of nets that you may have into more manageable pieces and also, when analysis is run on Net Groups, the results are more graphical as opposed to merely tabular.
To set up Net Groups, select the Optional: Setup Net Groups link in the workflow and proceed through the steps, selecting U1 as the transmitting device (FPGA) and J1 and J2 as the receiving device. The tool is going to analyze which nets between those components are likely DC voltage nets and classify them as such, you can then select which nets that travel between those components you would like to have included in the Net Group.
Note: if you are using OrCAD/Allegro PCB Editor and you attach a property with the name Voltage with the value equal to the DC voltage level of that net, it will automatically be defined as a DC voltage net in the Sigrity tools with the appropriate value, a nice time saver.
In this example, we’ll create two different Net Groups, one for the single ended nets that travel to both J1 and J2 and one for the differential nets that also travel to both J1 and J2.
This is especially useful when taking a look at the coupling coefficient because for single ended nets, coupling is usually unintentional whereas with differential nets, coupling is usually quite intentional. Separating those types of nets into different groups makes viewing the results more straight forward and easy to understand.
Now, the final step before simulation is only to set up the simulation parameters by choosing the Setup Trace Check Parameters option in the workflow and being sure to select Check by NetGroup in the Net Selection Option.
Start the Simulation and click through to look at the different presentations of the results:
Trace Impedance
The Impedance Plot (collapsed) shows you a graph with all the trace segment impedances for all the traces in the selected group on a graph. Ideally, these would probably all be at a uniform impedance, but in this case, there are some outliers.
If you want to take a closer look at any segment, just double click on it in the graph and you’ll be taken to the correct area of the board where the trace segment will be highlighted for you.
The Impedance Plot (expanded) shows you each net individually presenting how the impedance varies along its length. From this, you can easily see the impedance on a per net basis and find out if there are any abnormalities in it.
The Impedance Overlay in Layout also gives very interesting information in an easy to understand format as it overlays the information above right on top of the nets in the board. It helps point you to problem areas so that you can quickly determine why those areas may be a problem.
In the example above there appear to be two types of irregularities:
- The nets that appear for a short length in yellow are crossing over an adjacent power plane discontinuity which accounts for the spike in impedance value
- At the top section the traces that appear as a lighter blue are necking down (decreasing in trace width) to be able to route without DRC’s through the dense BGA
We’ll now transition from visualizing the Trace Impedance and move to picturing the Coupling Coefficient for the Net Groups that we have selected.
Coupling Coefficient
The Coupling Coefficient Plot (collapsed) will show you all of the nets and their coupling to nearby neighbors.
Here again, you can double-click on any odd sections to determine exactly where they are in the board layout to see if they may require further analysis.
As in the Trace Impedance space, the Coupling Coefficient Plot (expanded) gives you each net broken out individually with its coupling coefficient color-coded along its length.
You can again plot this information over top of the board itself to again give you a very interesting view of all the crosstalk.
Finally, if you need all this information in a report that you need to provide to your customer, your employer or your management, you can do so by simply clicking the Generate Trace Check Report button. This will generate a complete report in HTML of everything that you’ve set up along with screenshots of all the important areas with all the different Net Groups put under analysis.
To conclude, using your board data, which can come in nearly any format, Sigrity is able to analyze the nets within and provide visually compelling information about the trace impedances and coupling coefficients. There is nearly no setup required and no IBIS models are needed at all which makes it quick and simple to do an analysis. The final result is an HTML report that can be generated at the click of a button providing you with all the documentation that you will need to find or verify that you should not have any problems.
Thanks for reading and please watch the video below if you require any further details on this simulation.