Understanding Your PCB Netlist

Jack Olson
|  Created: April 1, 2020  |  Updated: April 22, 2020
Understanding Your PCB Netlist

Understanding Your PCB Netlist

There are several different ways that netlists are used at various stages of the electronics development process. Netlists may have different purposes and may have unique data formats, but they all provide a similar function; they list the connections of an electronic circuit. This is important for a variety of fundamental tasks in electronics and PCB layout design. Your netlist is used graphically in your schematic editor as well as your PCB layout editor. It’s also used in SPICE simulations to define loops and nodes for use in iterative solution algorithms.

The data in a PCB netlist may look simple and unintuitive, but it can be a big help when reusing an outdated design or importing design data from another program. Most designers are probably familiar with a schematic netlist, but there are multiple netlists for any PCB design. Let’s take a look at the power of netlists and how you can bring them into your design process.

The Schematic Netlist

Since Altium Designer® is an integrated system, much of the data being synchronized between the schematic and the PCB layout happens behind the scenes. The “Update PCB Document” on the schematic side, and commands like “Validate PCB Project”, “Update Schematics”, or “Import Changes” from the PCB side keep the netlist updated and the connectivity synchronized.

The result of this project synchronization is displayed to the designer as “Connection Lines”, which is how the netlist is graphically displayed in the layout (see the image below). If you’ve paid attention to the automatically-assigned net names in Altium Designer, you’ll notice that these names refer to some connection in the schematic. These nets are then mirrored in the PCB layout.

PCB netlist information is shown graphically using connection lines
Figure 1. These grey connection lines graphically show how connections are defined in a netlist

Just so you know what a netlist looks like, the image below shows a small portion for a design. This is just a simple text file (ASCII file) that can be opened by any text editor.

Schematic netlist viewed in a text editor
Figure 2. This is what the inside of a PCB netlist looks like

Without getting too much into the gory details, a netlist specifies different ports on components and the net to which they are connected. This is all specified in a standard format, making it very easy for different programs to read each other’s netlists. This leads us to one great benefit of keeping an up-to-date netlist; you can import a netlist from another design into a new project.

Importing a Netlist

Imagine you are being asked to design a board, but the schematic has been created using a different software package. Knowing that a PCB layout is driven by a netlist—and maybe a Part List, as well—couldn’t we use these inputs from the other system? Can we start a layout with no schematic? Theoretically, the answer is YES!

Altium can import a simple ASCII netlist and the layout can be done with no synchronization between the two systems. One of the threads in the Altium User Forum describes this process. Before you try something like that, be warned that it can be tedious and error-prone to keep up with circuit changes along the way, and Altium provides better solutions for this situation.

Instead of importing a netlist, Altium has developed a sophisticated “Import Wizard” that can work with various types of design files instead of simple netlists. Here is a current list of design file types which Altium can take advantage of:

Schematic netlist and PCB netlist import in Altium Designer
Figure 3. Import Wizard window in Altium Designer

Very impressive, but we have veered away from the subject of netlists.
Let’s get back on track…

Exporting a Netlist

As we saw in the last section, Altium can take advantage of netlists and design files from other systems to make our jobs easier and reduce the risk of error. You might be wondering, “Can we go the other direction and EXPORT a netlist?” Of course we can! 

PCB netlist and schematic netlist export in Altium Designer
Figure 4. Once you’ve created a schematic, you can easily export a schematic netlist in Altium Designer.

Netlist Checking by Manufacturers

We have been looking at the netlist as a form of data that describes the connectivity of an electronic circuit. It keeps the schematic and PCB layout synchronized with each other in the integrated Altium Designer system. Now we will look at two other types of netlists that are used in the manufacturing process. 

The Gerber Netlist

If you send your design to a bare board fabricator using the ODB++ data format, it will have a netlist included as part of the package (or a netlist can be generated from the package, if that is a more accurate way to describe it). If you are still using Gerber Data, however, the CAM department will GENERATE a netlist directly from the Gerber Data to be used for the bare board test at the end of the line.

When you order bare boards from a supplier and receive a quotation, you might notice a cost for NRE, which means “Non-Recurring Engineering”. These are one-time costs, no matter how many times you order that revision of the board. One of these costs is the “bare board test”, and the test fixture used for this part of the process needs a netlist to know what the connectivity should be. The manufacturer will generate a netlist from your Gerber Data to compare with the finished bare board. This will ensure that the final board connectivity matches the input data you sent to them.

Here is an example of a “flying probe” bare board tester:

Testing a board during fabrication
Figure 5. Bare board testing during fabrication


The IPC-D-356 Netlist

The “Bare Board Test” compares the manufactured board to the original Gerber Data, but what if the Gerber Data is wrong? That’s where our final netlist type can save the day!

The IPC (Association Connecting Electronics Industries) has developed another netlist data format called IPC-D-356, that can be used to compare the schematic netlist to the Gerber data. This comparison is performed BEFORE the bare board manufacturing job is started to make sure there is no discrepancy. Requesting this test will likely add to the NRE charge for the bare board quotation, but it will be far cheaper than manufacturing a bad batch of boards, especially if the error is not noticed until after final assembly, at in-circuit test (ICT).
The way it works is, you add “netlist testing” to the quote, with the understanding that this test will be performed BEFORE the bare board manufacturing is started. If any discrepancy is identified, the job will be placed ON HOLD until the discrepancy is resolved.

Altium OutJobs can generate this file automatically, and your setup can call it from either the OutJob “Fabrication Outputs” or “Assembly Outputs”, although currently it is confusing that Altium names this capability as a “Test Point Report”. 

PCB netlist and test point report
Figure 6. Altium Designer allows you export an industry-standard test point report

Remember that the netlists we have been exploring are similar; they describe or record the connectivity of circuits. There is another type of file that is often confused with netlists, which is the “Test Point” data file. This file is exported for an ICT fixture. A test point file lists at least ONE accessible node location for every unique net name that will be probed.

Summary

Although the schematic is a graphical way to describe a circuit, the schematic netlist records the connectivity in a data format that can be used by software and machines. Altium Designer can export netlists in formats that are used in the manufacturing and testing of the final product. Alternatively, you could import netlists and design files from other programs and begin using your old designs in Altium Designer.

For more information, take a look at the following links:

Would you like to find out more about how Altium can help you with your next PCB design? Talk to an expert at Altium.
 

About Author

About Author

Jack Olson has been designing circuit boards for over thirty years. He has CID,CID+ certification from the IPC, has served in several IPC Standards Development Committees, and has been awarded three Distinguished Service Awards for his participation. He enjoys all aspects of circuit board development, feels grateful that he is able to solve puzzles for a living, and hopes to continue "surfing the learning curve".

most recent articles

Back to Home