12 min readNetlists
CDL, SPICE & Verilog Netlist Formats
Learn how Verilog, CDL, and SPICE netlists connect schematic capture, simulation, LVS, and tape-out flows for custom IC teams.
Why Netlist Translation Matters
Modern semiconductor projects rarely live in one representation. A single custom IC block may start as a schematic, export to SPICE for analog simulation, generate CDL for layout versus schematic checking, and connect to digital integration through structural Verilog. Each translation step must preserve hierarchy, pin order, connectivity, device names, and model intent. When the translation is weak, engineering teams lose time debugging false LVS errors, simulator warnings, or integration mismatches instead of improving silicon behavior.
Verilog, CDL, and SPICE Roles
Verilog is often the handoff language for digital connectivity, gate-level integration, and mixed-signal top-level wrappers. CDL is optimized for transistor-level connectivity in physical verification tools, especially LVS engines such as Calibre, Pegasus, Assura, PVS, and IC Validator. SPICE carries the simulation-ready device and model information needed by analog simulators such as Spectre, HSPICE, Eldo, and ngspice. A complete CAD environment understands where each format is authoritative and avoids treating them as interchangeable text dumps.
Common Failure Modes
The most expensive netlist problems are usually small inconsistencies. Pin order can differ between symbols and subcircuits. Power nets may be named VDD, vdd!, or VPWR depending on the tool chain. Device parameters can be renamed during extraction. Bus syntax can change between schematic capture and Verilog export. Include files may point to a local engineer path that does not exist on the farm. Good automation catches these issues before they reach simulation, LVS, or tape-out review.
Automation Checks for CAD Teams
A production netlist flow should include repeatable checks for cell naming, top-cell selection, black-box policy, model include resolution, bus naming, global net mapping, duplicate subcircuits, unsupported primitives, and hierarchy preservation. Scripts in Python, Tcl, Perl, or shell can compare exported views, generate reports for design owners, and block known-bad netlists from entering regression queues. This turns fragile manual inspection into a predictable quality gate.
LVS and Simulation Alignment
Physical verification and simulation often disagree because they consume different netlist variants. LVS prefers clean connectivity and stable device recognition, while simulation needs model cards, parameters, sources, and testbench context. A reliable flow separates these purposes but traces both back to the same design intent. Naming conventions, CDF callbacks, PDK extraction rules, and simulator setup files should be reviewed together so that the LVS netlist and simulation netlist do not drift apart.
Best Practices for Tape-Out Readiness
Before tape-out, teams should freeze netlist export settings, document global net policy, version-control translation scripts, archive reference netlists, and run automated comparisons after every schematic, layout, or PDK update. For IP reuse and migration, the same checks help prove that a block survived porting between nodes or tools without silent connectivity changes. SkyCadEda supports these workflows by combining EDA scripting, physical verification knowledge, and CAD infrastructure experience.
Related Articles
Frequently asked questions
Why do custom IC flows need multiple netlist formats?
Verilog, CDL, and SPICE serve different abstraction levels. Digital teams use Verilog for connectivity and logic, analog teams use SPICE for device-level simulation, and physical verification flows often use CDL for LVS-friendly transistor connectivity. A robust CAD flow keeps these views synchronized.
What causes most netlist translation failures?
Common failures include mismatched cell names, inconsistent pin order, missing global nets, unsupported device parameters, hierarchy flattening differences, and model naming drift between schematic, layout, and simulation environments.
How can teams automate netlist quality checks?
Teams can run scripted lint checks for pin consistency, global net policy, instance naming, include files, model references, and LVS deck compatibility before simulation or signoff jobs consume the netlist.
Related reading
- productScheture schematic capture and netlist translation
- servicePhysical verification DRC LVS RCX services
- serviceCAD infrastructure services for EDA flows
- serviceEDA automation services
More engineering notes
Working through a problem like this?
Tell us about your flow: the tools, the PDK, what is failing and when it needs to be clean.