Contact Sales & After-Sales Service

Contact & Quotation

  • Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
  • Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Drag & Drop Files, Choose Files to Upload You can upload up to 3 files.

Notes:
For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.

How to Generate IPC-D-356 Netlist Files: A Complete Guide for PCB Engineers

If you’ve ever sent Gerber files to a PCB fabricator and received a request for a netlist file, you’ve encountered IPC-D-356. After 15 years of designing PCBs across consumer electronics, industrial controls, and RF applications, I can tell you that understanding this standard separates experienced engineers from newcomers. This guide covers everything you need to know about generating IPC-D-356 netlist files—from format basics to step-by-step export instructions for popular CAD tools.

What Is an IPC-D-356 Netlist File?

IPC-D-356, officially titled “Bare Substrate Electrical Test Data Format,” is an industry-standard file format developed by IPC (Association Connecting Electronics Industries) that communicates electrical connectivity information from your PCB design to bare board test equipment. Think of it as the bridge between your design intent and the physical verification that your manufactured board actually works.

The format stores netlist information along with XY coordinates, referencing component pins, vias, and test points. When generated correctly, an IPC-D-356 file contains everything a test system needs to perform continuity and isolation testing on unpopulated PCBs.

Why Gerber Files Are Not Enough

Many engineers assume Gerber files contain everything needed to manufacture and test a PCB. They don’t. Gerber files describe physical artwork—copper layers, solder mask, silkscreen—but contain zero electrical connectivity information. A fabricator can manufacture your board from Gerbers alone, but they cannot verify that the manufactured connections match your schematic without additional data.

When your fabricator receives both Gerber files and an IPC-D-356 netlist, they can compare the two immediately. The netlist from your CAD system represents your design intent. Any discrepancy between your netlist and what the Gerbers show gets flagged before manufacturing begins, catching problems like corrupted exports, incorrect layer polarity, or self-intersecting polygons that create unintended shorts.

Understanding IPC-D-356 File Format Structure

The IPC-D-356 format uses an 80-column fixed-width ASCII text structure. Every line contains exactly 80 characters, with specific columns reserved for specific data fields. This rigid structure dates back to the early 1990s, but it remains the standard because it’s simple, universal, and well-supported by virtually all test equipment.

Main Record Types in IPC-D-356

Record TypeIdentifierPurpose
CommentC in column 1Human-readable notes and documentation
ParameterP in column 1Job-level settings (units, title, board info)
Test Record3 in column 1Actual connectivity and test point data
End of File999Terminates the file

Test Record Column Breakdown

Test records carry the real connectivity data. Operation code 317 indicates through-hole features, while 327 marks SMD pads.

Column RangeData FieldDescription
1-3Operation Code317 (through-hole) or 327 (SMD)
4-17Net NameSignal name (14 character limit)
18-25Reference DesignatorComponent ID (e.g., U1, R15)
26-28Pin NumberComponent pin identifier
29Midpoint CodeD for diameter, S for square
30-33Hole/Feature SizeIn 0.0001 inch or 0.001mm
34Plating CodeP (plated) or N (non-plated)
35-37Access CodeA00 (both sides), A01 (top), etc.
38-57XY CoordinatesLocation in specified units
58-65Feature SizePad dimensions

IPC-D-356A vs IPC-D-356B Comparison

FeatureIPC-D-356A (1998)IPC-D-356B (2002)
Industry AdoptionWidely supportedLimited adoption
Backward CompatibleYesNo
File SizeStandardReduced
CAD Tool SupportNearly universalPartial
Test Equipment SupportExcellentModerate
Recommended for Most UsersYesOnly if fabricator requires

In practice, IPC-D-356A remains the safer choice unless your fabricator specifically requests the B revision. Most test equipment was designed around the A specification, and CAD tools have mature, well-tested export routines for it.

How PCB Manufacturers Use IPC-D-356 Files

Understanding how fabricators use your netlist file helps explain why it matters so much.

Incoming Data Verification

Upon receiving your fabrication package, the IPC-D-356A netlist file gets immediately compared to Gerber files to confirm everything received is complete and accurate. Any differences get flagged and questioned back to you before any manufacturing begins.

CAM Tooling Protection

During CAM tooling, operators sometimes modify designs—adding teardrops, adjusting clearances, panelizing layouts. The IPC-D-356 netlist operates in the background to prevent any change that would alter the electrical design. If a CAM operator accidentally breaks a trace or creates a short, the netlist comparison catches it immediately.

Electrical Testing

The primary use of IPC-D-356 is programming bare board testers. Whether your fabricator uses flying probe testers or dedicated bed-of-nails fixtures, they need to know which points to probe and what connections to verify. The IPC-D-356 file provides net names, test point coordinates, and access side information for every node.

Flying probe testers particularly benefit from IPC-D-356 files because test programs can be quickly generated from the netlist data. This makes the format ideal for prototyping, small-batch production, and projects requiring frequent design changes.

How to Generate IPC-D-356 Netlist Files

The export process varies by CAD tool, but the fundamental concept remains consistent: you’re extracting electrical connectivity data with physical coordinates from your design database.

Generating IPC-D-356 in Altium Designer

Altium provides IPC-D-356A export through the Testpoint Report output. Follow these steps:

  1. Open your PCB project in Altium Designer
  2. Navigate to File → Fabrication Outputs → Testpoint Report
  3. In the Fabrication Testpoint Setup dialog, uncheck CSV and check IPC-D-356A
  4. Configure output location and file naming
  5. Click OK to generate

For production workflows, create an Output Job File (File → New → Output Job File) and add a Fabrication Output for the Test Point Report. This allows batch generation alongside Gerbers and drill files, ensuring all outputs stay synchronized.

The resulting file carries a .ipc extension and contains your complete design netlist with coordinates.

Generating IPC-D-356 in KiCad

KiCad 6 and later versions include native IPC-D-356 export:

  1. Open your PCB project in KiCad’s PCB Editor
  2. Navigate to File → Fabrication Outputs → IPC-D-356 Netlist File
  3. Select the output directory
  4. Click Save

The export generates immediately without additional configuration. Verify the output by opening the file in a text editor and spot-checking a few nets against your design.

Generating IPC-D-356 in Eagle

Eagle requires the IPC-D-356 ULP (User Language Program):

  1. Open your board design in Eagle
  2. Navigate to File → Export → IPC
  3. If the option is unavailable, download the ipc-d-356.ulp from Autodesk’s ULP repository
  4. Run the ULP and specify output location

Eagle may require running the ULP manually if it’s not integrated into your installation. Check Autodesk’s community forums for the latest compatible version.

Generating IPC-D-356 in Other CAD Tools

CAD ToolExport PathNotes
Cadence AllegroTools → CAM Wizard → Test PointsSelect IPC-D-356 format
PADSOutput → Test Point OutputConfigure for IPC format
OrCADManufacturing → Generate NetlistSelect IPC-D-356 option
pcb-rndFile → Export → IPC-D-356Native support in 80-column format

Common IPC-D-356 Export Issues and Solutions

Even with automated export, IPC-D-356 files can have problems. Here are the issues I encounter most frequently in design reviews.

Net Name Truncation

The IPC-D-356 format limits signal names to 14 characters. If your design uses descriptive names like RESET_ACTIVE_LOW_ACTIVE, they get truncated, potentially creating duplicate names.

Solution: Use shorter net names in your schematic from the start. If that’s not practical, let your CAD tool generate alias names automatically—most tools handle this—but verify the netlist is correct after export by checking that net counts match your design database.

Missing Test Points

Some nets may not appear in the IPC-D-356 file if they lack accessible test points. Internal layers without vias, or small pads covered by solder mask, might get excluded entirely.

Solution: Review your design for test point accessibility before generating the netlist. Add test points or vias where needed for critical nets. Most DFM (Design for Manufacturing) checks include test coverage analysis.

Coordinate Misalignment

The IPC-D-356 file uses the same coordinate system as your design. If your fabricator’s equipment expects a different origin or orientation, test points won’t align with physical board features.

Solution: Confirm coordinate origin and units with your fabricator before submitting files. Most fabricators expect the origin at the lower-left corner of the board outline.

Reference Designator Truncation

The specification limits reference text to 6 characters. A designator like BTN_DOWN becomes BTN_DN, potentially causing confusion during debugging.

Solution: Keep reference designators short. If truncation occurs, document the mapping between full and truncated names in your fabrication notes.

Best Practices for IPC-D-356 File Management

Over years of production releases, I’ve developed habits that prevent netlist-related issues.

Export simultaneously with Gerbers. Generate your IPC-D-356 netlist during the same session as your Gerber export. This guarantees the files match. Never export Gerbers, make design changes, then export the netlist separately.

Include with every fabrication package. Always send the netlist file with your Gerbers, even if the fabricator doesn’t explicitly request it. Better to provide data they don’t need than to delay production waiting for additional files.

Verify before sending. Open the IPC-D-356 file in a text editor and spot-check a few nets. Confirm net names appear correctly, coordinates look reasonable, and the file terminates with 999.

Document anomalies. If your design has intentional shorts (like multiple ground planes connected), test points in unusual locations, or other non-standard features, document them separately. Fabricators will flag these as potential errors otherwise.

Use consistent naming. Maintain consistent net naming conventions across projects. This simplifies verification and makes netlist comparison more reliable between design revisions.

Alternatives to IPC-D-356

While IPC-D-356 remains the most universally supported bare board test format, newer alternatives offer advantages for complex designs.

ODB++

ODB++ integrates all PCB design outputs into a single archive, including netlist data, Gerber equivalents, drill information, and assembly data. Major CAD vendors support ODB++ export, and many fabricators prefer it for its comprehensive data inclusion.

IPC-2581

IPC-2581 is an open, XML-based format intended as a successor to multiple legacy formats. It provides complete design data in a single file and is gaining adoption, particularly for complex multilayer designs.

Both alternatives eliminate the need for separate IPC-D-356 files by embedding netlist data directly. However, not all fabricators have processes to handle these formats in their CAM departments, making IPC-D-356 the safer choice when in doubt.

Useful Resources for IPC-D-356

Official Standards and Documentation

ResourceDescriptionAccess
IPC-D-356B StandardOfficial specification documentPurchase from IPC (shop.ipc.org)
IPC-D-356 SimplifiedFree overview by DownStream Technologiesdownstreamtech.com/downloads
MSU IPC-D-356A ReferenceAcademic format documentationweb.pa.msu.edu

CAD Tool Documentation

ToolResource Link
Altium Designeraltium.com/documentation (Search “IPC-D-356” or “Testpoint Report”)
KiCaddocs.kicad.org (Fabrication Outputs section)
Eagle/Fusion 360help.autodesk.com (ULP documentation)

Verification Tools

ToolDescriptionType
ZofzPCB3D Gerber viewer with IPC-D-356 importCommercial (free tier available)
PCB InvestigatorCAM analysis with netlist comparisonCommercial
pcb-rndOpen source viewer and exporterFree/Open Source

Frequently Asked Questions

Is IPC-D-356 required to manufacture a PCB?

No. Fabricators can manufacture your board from Gerbers and drill files alone. However, without a netlist file, they cannot verify that manufactured connections match your design intent. Problems might not surface until functional testing after assembly—a far more expensive time to discover errors.

Why does my IPC-D-356 file show fewer nets than my design?

The IPC-D-356 format only includes nets with accessible test points. Internal layers without vias, pads covered by solder mask, or very small features may be excluded. Review your design for test coverage and add test points where necessary for critical signals.

Can IPC-D-356 be used for assembled board testing?

IPC-D-356 is specifically designed for bare board testing—testing unpopulated PCBs before component assembly. For in-circuit test (ICT) of assembled boards, you need additional files that include component information. Some test systems use IPC-D-356 as a starting point but require supplementary data for full ICT programming.

What’s the difference between IPC-D-356 and a test point file?

IPC-D-356 describes complete netlist connectivity with coordinates for all accessible nodes. A test point file (used for ICT fixtures) lists at least one accessible location per net that will be probed. The test point file is derived from netlist data but optimized for specific test requirements.

Should I request netlist comparison from my fabricator?

Yes, especially for complex or high-reliability designs. When you add “netlist testing” to your quote, the fabricator compares your IPC-D-356 netlist against the Gerber-extracted connectivity before manufacturing starts. This catches errors before they become expensive scrap. The additional NRE charge is minimal compared to discovering problems after assembly.

Verifying Your IPC-D-356 Files Before Submission

A few simple checks can prevent costly delays and manufacturing issues.

Manual Verification Steps

Open your generated IPC-D-356 file in any text editor. The file should start with parameter records (P in column 1) defining job information, units, and board parameters. Look for the UNITS parameter—it should match your design intent (CUST 0 for imperial, CUST 1 for metric).

Scroll through test records (starting with 317 or 327) and verify that net names appear correctly. If you see truncated or aliased names, ensure they don’t create ambiguity. Check that coordinates fall within reasonable bounds for your board dimensions.

The file must end with 999 on its own line. Missing end-of-file markers can cause import failures in test equipment.

Automated Verification with CAM Tools

If your fabrication partner uses CAM tools like Altium’s CAMtastic or third-party verification software, you can perform your own netlist comparison before submission. Import both your Gerbers and IPC-D-356 file, extract the netlist from Gerber data, and compare against your imported netlist. Any discrepancies indicate potential problems in your export process.

Conclusion

IPC-D-356 may be an older standard, but it remains essential for PCB manufacturing. The format provides a universal way to communicate electrical connectivity from your CAD system to bare board test equipment, enabling verification that your fabricated boards match your design intent.

Every engineer should understand how to generate IPC-D-356 files from their CAD tools and include them with every fabrication package. The few minutes spent exporting this file can save days of troubleshooting if problems are caught at the fabricator rather than on your test bench. Whether you’re working with Altium Designer, KiCad, Eagle, or any other PCB design tool, make IPC-D-356 export part of your standard output routine.

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact Sales & After-Sales Service

Contact & Quotation

  • Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.

  • Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.

Drag & Drop Files, Choose Files to Upload You can upload up to 3 files.

Notes:
For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.