Netlist extract is at the core of many CAM350 processes. Netlist compare, reverse engineering, even DRC are affected by netlist extract. So having good habits in data preparation can benefit your entire process.
On standard netlist extract settings, CAM350 looks for flashed pads that touch other artwork. CAM350 looks for drill data and uses it to create net connections between layers (aka vias or padstacks). Each group of connected artwork is assigned a net name in the order it was found, starting with the name $Net0.
Preparation
These preparation steps can be done in any order.
Align Gerber data
All electrical layers and drill data must be properly aligned. If data is not aligned, vias will not be created during netlist extract. This results in opens in the net.
Some alignment issues can be dealt with in the CAD system. In PADS for example, if you change your registration method to “offset” for all layers (including NC) then data should be aligned properly on import.
To align data in CAM350, use EDIT | LAYERS | ALIGN. The process is to select an object as an alignment point and then select objects to align to that point. Acceptable objects are flashed pads, the endpoints of traces, or Drills. Polygons and other artwork types are not usable as they do not have a center. Make sure Object Snap is ON. Make sure Grid Snap is OFF.
Objects are selected with a left click. If you select the wrong object, do not worry, just left click again until you select the item you wanted. You can adjust the selection box size with “Page Up” and “Page Down” buttons on your keyboard. Once you have the alignment point selected, right click to confirm. The right click can be done anywhere as it is not a selection, it if just confirmation that you have selected what you wanted.
Once the alignment point is confirmed, you can move onto selecting objects to align. Process is the same, left click to select, right click to confirm.
Once alignment point(s) are selected, right click a second time to complete the process. You will get a message that the process is not undoable. This is true. But you can select Layers | Align again if you happen to make a mistake.
During the process, there will be prompts in the lower left of the program window letting you know what step of the process you are on.
Tables | Layers
Graphic layers are ignored by Netlist extract. All Gerber layers are imported as graphic (unless an import template was used). Select TABLES | LAYERS and change the layer type for each electrical layer using the pull down.
Top and Bottom are self explanatory. You must have a Top and Bottom layer. In the case of Single layer boards, label it as Top. Cam350 prefers a top layer over a bottom layer. Additionally, external netlists for single layer boards typically list all the test points as being on top.
Pos Plane and Internal are the same thing as far as netlist extract goes. But other menu items in DRC, DFF and Streams will treat such layers differently. A Pos Plane has most of its area filled with copper.
Neg Plane and Pos Plane are photographic qualities, not electrical ones. So a Neg plane is one where the lack of copper is drawn, while on a Pos Plane the copper is drawn.
Pos Plane
Neg Plane
Drill layer should already be labeled as type NC Primary. If it is a graphic, you cannot change it here. You must use TOOLS | NC Editor and select the Utilities | Gerber to Drill option in there to create a new NC layer from your graphic data.
Note that for MCM databases, there is the Insulator layer type. Insulators are used in MCM layer setup to connect the layers listed above and below it in the layer set. See section on Layer Sets below for more detail.
Note that Mill data (NC routing) cannot be used for netlist extraction. If you have plated Mill data in your design, you will have to make some modifications to the data to get a good netlist extract.
Layer Sets
If data has blind and buried drills or it uses MCM technology, use Tables>Layer Sets to define how the data stacks up. For single layer and standard though-hole boards, skip this step.
For blind and buried, the thru drill layer set is assumed. Do not define it other than to select it in the “thru drill” box in the lower left corner of the dialog. On the right side of the interface, select the layers in the set in stack up order. At the bottom right, select the drill layer that connects the layers listed above. Use the Add button to add more layer sets.
Below we have an 8 layer board with 2 layer sets. L1 through L4 are connected by Drill layer L9. L5 through L8 are connected by Drill layer L10. L11 is the thru drill.
For MCM layer sets, stack them up in order with an insulator layer between each electrical layer. With no insulator layer between layers, the connection is broken. Drill data should not be present in MCM databases.
Draw to Flash
Drawn pads are viewed as traces. So if a net only has drawn pads on it, it will be missed by netlist extract on standard settings. So getting your drawn pads flashed will improve your netlist extract results. To see if you have this problem, you can use TABLES | LAYERS to differentiate your top and bottom flash colors. You only need to be concerned with the top and bottom layers.
Run on top and bottom layers only. While Trace and polygon drawn pads will typically pass a netlist compare, they can lead to false errors in some situations.
Select only the proper area. If you have text or other data outside the border on the top or bottom, use the “window area to process” option.
To see if you have drawn pads, select Tables>Layers and change the Flash color for your top and bottom layers. Then look around on the layer and make sure your pads are the flash color.
If you have rotated pads or other unusual pads, Draw to Flash>Interactive (and Interactive any angle) is the best way to flash them. In some cases, such as with round boards, you might end up with many drawn pads at various rotations. Flashing all of them may take a while. In such cases an alternative would be to copy the drill layer to the top and bottom layers. This will create a flashed pad at each via, which is enough to extract a good netlist.
Extraction
Once all preparation is complete, you can extract your netlist using Utilities | Netlist Extract.
There are 3 sections to the look at. The first is Netlist Extraction Parameters. It has some options for netlist extract. In general you should not use these unless you have good reason to do so.
“Allow nets without pads” will not be needed if Draw to Flash was done correctly.
“Treat Net Planes as Single Net” is an option developed to speed up extraction on slower systems. These days there is little or no call for it. You should have no need of this.
“Single point Nets” is occasionally used. It allows isolated pads on the top and bottom to get a net. This is helpful when doing compares against an external netlist that include such nets.
The Advisory section lets you know how CAM350 intends to deal with the data. In the above example it is a through Hole board. If it was MCM or Blind and Buried, it would say that instead. The Thru Hole Drill button is selectable so that you can change the Drill layer that will be used in padstack creation. For Through Hole boards, CAM350 defaults to using the lowest numbered Drill layer.
Treatment of Existing Nets is only selectable if there is already a netlist on the board. In such cases you will get the default of Explode Nets and Extract.
Augment Nets will look for net data on the existing nets and add it to those nets. It is helpful if you have unique net names from a CAD source already. Explode Nets (Preserve Neg Planes) is only useful if your netlist extract is taking too long. On modern systems with typical databases, this should not be an issue. In most cases, the default is best.