Netlist Import
The netlist tools let you extract connectivity information from KiCad schematics, analyze component connections, and import netlists from external formats into mckicad’s batch JSON for schematic generation.
Quick reference
Section titled “Quick reference”| Task | Example prompt |
|---|---|
| Extract netlist | Extract the netlist from my schematic at /path/to/project.kicad_sch |
| Analyze project netlist | Analyze the netlist in my KiCad project at /path/to/project.kicad_pro |
| Check component connections | Show me the connections for R5 in my schematic |
| Import external netlist | Import the netlist at /path/to/design.net into batch JSON |
| Export netlist | Export a netlist from my schematic |
Extracting netlists
Section titled “Extracting netlists”To extract a netlist from a schematic:
Extract the netlist from my schematic at /path/to/project.kicad_schThis parses the schematic, extracts all components and their properties, identifies connections between components, analyzes power and signal nets, and returns comprehensive netlist information.
For project-based extraction:
Extract the netlist for my KiCad project at /path/to/project.kicad_proThis finds the schematic associated with the project and extracts its netlist.
Understanding netlist data
Section titled “Understanding netlist data”Components
Section titled “Components”| Field | Description | Example |
|---|---|---|
| Reference | Component reference designator | R1, C2, U3 |
| Type (lib_id) | Component type from library | Device:R, Device:C |
| Value | Component value | 10k, 100n, ATmega328P |
| Footprint | PCB footprint | Resistor_SMD:R_0805 |
| Pins | Pin numbers and names | 1 (VCC), 2 (GND) |
| Field | Description | Example |
|---|---|---|
| Name | Net name | VCC, GND, NET1 |
| Pins | Connected pins | R1.1, C1.1, U1.5 |
| Type | Power or signal | Power, Signal |
Analyzing component connections
Section titled “Analyzing component connections”To find all connections for a specific component:
Show me the connections for U1 in my schematic at /path/to/project.kicad_schReturns detailed component information, all pins and their connections, connected components on each pin, and net names.
Importing external netlists
Section titled “Importing external netlists”The import_netlist tool converts external netlist formats into mckicad batch JSON:
Import the netlist at /path/to/design.net into batch JSONSupported formats:
- KiCad S-expression (
kicadsexpr) — the native KiCad netlist format - OrcadPCB2 — OrCAD PCB Editor netlist format
- Cadence Allegro — Cadence Allegro netlist format
- auto — auto-detect format from file contents
The output is a batch JSON file compatible with apply_batch, ready to generate a schematic from the imported netlist.
Exporting netlists
Section titled “Exporting netlists”To export a netlist from a schematic using kicad-cli:
Export a netlist from my schematic at /path/to/project.kicad_schThe export_netlist tool runs kicad-cli sch export netlist and supports multiple output formats.
Integration with other tools
Section titled “Integration with other tools”BOM comparison
Section titled “BOM comparison”Combine netlist extraction with BOM analysis:
Compare the netlist and BOM for my project at /path/to/project.kicad_proHelps identify components present in the schematic but missing from the BOM, or vice versa.
Design validation
Section titled “Design validation”Use netlist extraction for validation:
Check for floating inputs in my schematic at /path/to/project.kicad_schVerify power connections for all ICs in my projectPower analysis
Section titled “Power analysis”Analyze power distribution:
Show me all power nets in my schematicList all components connected to the VCC net in my projectTips for better netlist analysis
Section titled “Tips for better netlist analysis”Schematic organization
Section titled “Schematic organization”- Use descriptive net names instead of auto-generated ones
- Add power flags to explicitly mark power inputs
- Organize hierarchical sheets by function
- Use global labels consistently for important signals
Working with complex designs
Section titled “Working with complex designs”- Focus on specific sections using hierarchical labels
- Analyze one component type at a time
- Examine critical nets individually
- Use reference designators systematically
Troubleshooting
Section titled “Troubleshooting”Netlist extraction fails
Section titled “Netlist extraction fails”- Check that the file exists and has the
.kicad_schextension - Verify it is a valid KiCad 6+ format schematic
- Check file permissions
- Look for syntax errors from recent manual edits
- Try a simpler schematic to isolate the issue
Missing connections
Section titled “Missing connections”- Check for disconnected wires — wires that appear connected in KiCad might not actually be
- Verify junction points — make sure junction dots are present where needed
- Check hierarchical connections — ensure labels match across sheets
- Verify net labels — labels must be correctly placed to establish connections