Importing and Updating a Netlist in PCB Layout

The transfer from a schematic to a layout is where a design stops being a drawing and starts being a physical object, and the netlist is the document that carries the intent across. Every change after that transfer travels the same route, which means a project that manages the netlist well keeps the schematic, the layout, the bill of materials and the assembly data in agreement. A project that does not ends up with a board that matches nothing.

What a Netlist Contains

A netlist is a list of two things. The first is a list of components, each with a reference designator and a footprint name. The second is a list of nets, each with a name and the pins that belong to it. Nothing about the physical position of anything appears in it, which is what makes it a specification for the layout rather than a description of it.

Because it is a list, a netlist is only as good as its names. A designator is the key that ties the schematic to the layout, and a footprint name is the key that ties the component to the assembly data. If a designator is duplicated in the schematic, or if a footprint name refers to a library part that the layout database does not have, the import will report a problem, and the report is the most useful thing the operation produces.

netlist exported from a schematic for layout import

Importing into a New Layout

The first import is the easy one, because the layout database is empty and every component is new. The import creates the footprints, assigns the nets and brings in the connectivity, and the layout work then starts from that structure.

The checks worth making immediately after the first import are counts rather than details. The number of components in the layout should equal the number in the schematic. The number of nets should be equal as well, unless the design deliberately has single-pin nets. Any difference at this point means the two databases disagree, and every later change will be built on that disagreement.

It is also worth comparing the footprint list against the bill of materials before placement starts. A footprint that was selected from the wrong library entry is cheap to correct now and expensive to correct after the board has been routed and released, and the assembly partner will build exactly what the footprint says.

Updating an Existing Layout

Later changes are applied as an engineering change: the schematic is edited, a new netlist is generated, and the layout is updated by comparing the two. The comparison produces a list of differences, and each difference falls into a category that the designer should read rather than accept in bulk.

Components may be added or deleted. A deleted component takes its footprint with it, which can break routing that passed underneath it. A new component has no placement and will sit somewhere the tool chooses, usually outside the board outline.

Pins may change nets. This is the category that causes the most damage, because the layout tool has to remove the old connection and create the new one, and a trace that was routed for the old net may now be attached to something unrelated. Slower and more careful than the rest, this category is the reason a change should be applied and reviewed before any routing is touched.

Nets may be renamed. A renamed net is a deletion and an addition, so traces that belonged to the old net are removed and the new net is unrouted. On a large design this can strip the routing from a signal that nobody intended to touch, which is why net names should be stable once the layout has started.

Footprints may change. A package change moves pads, so the old routing will not connect, and the change should always be treated as a placement change as well.

layout after a netlist update with changed nets

Where the Transfer Goes Wrong

The failures in this area are consistent enough to be listed.

Duplicate designators in the schematic produce a layout where one component cannot be matched. The cause is usually a copied block of circuitry whose designators were not re-annotated. Assembling a board with two parts labelled the same way is a defect that only appears at placement.

A footprint that exists in the schematic library but not in the layout library fails to import, and the layout ends up with a placeholder that has the wrong pad count. The result is a board with a package that cannot be soldered.

Pin mapping mismatches appear when a symbol has a different pin numbering from the footprint. The netlist transfers correctly, but the pins on the board are not the pins the schematic described, and the board fails at first power-up.

A change applied to the layout while another change is pending in the schematic creates two versions of the truth. The way out is to apply changes in one direction only, from the schematic to the layout, and to regenerate the netlist each time rather than editing the layout by hand to compensate.

The last one is the silent one: a net that exists in the layout but not in the schematic. Layout tools will usually keep such a net, because it may be intentional, so it survives every update. It turns up later as a copper feature that appears in the fabrication data and is not in the documentation. Our design and layout review compares the released data against the netlist for this reason.

Keeping the Two Databases in Step

The discipline that prevents most of these problems is simple. The schematic is the single source of truth for connectivity and for the component list; the layout is the source of truth for position and for the physical properties that have no schematic equivalent, such as a test point or a mounting hole. Every change crosses in one direction, and after each crossing the counts and the connectivity check are repeated.

The bill of materials follows the same rule. It should be generated from the same database that produced the netlist, so that a change in the schematic appears in the parts list without anyone retyping it. Where parts have to be substituted, the substitution belongs in the procurement record rather than in the design, and our component procurement service handles approved alternatives that way.

The assembly data is the last consumer of this chain. A placement file generated from a layout whose component list disagrees with the schematic will place the right parts in the right places for the wrong design, and the error shows up as a functional failure that looks like a design fault. Keeping the transfer clean is what keeps the turnkey assembly step predictable.

FAQ

Should a layout ever be edited without the schematic? Only for features that have no schematic equivalent, such as test points, mounting holes and shields. Connectivity changes belong in the schematic.

Why did my routed traces disappear after an update? The net they belonged to was renamed or deleted in the schematic, so the tool treated the routing as obsolete.

What is the first thing to check after an import? The component count and the net count against the schematic, before any placement or routing work begins.

Leave A Comment