datasheet2spice

Traceable datasheet-to-SPICE model generation for power MOSFETs and diodes, with validation benchmarks.

View the Project on GitHub lisiqi1983/datasheet2spice

Architecture

datasheet2spice is being shaped as a general datasheet-to-model toolkit. The first production component family is power MOSFET / SiC MOSFET, but the architecture is intentionally split so later component packs can add IGBTs, BJTs, op amps, regulators, magnetics, and small engineering tools.

Layering

Runtime split from browser, local Python backend, and future remote API into the shared service contract

Web UI / CLI / future desktop shell
        |
        v
API contract and backend adapters
        |
        v
service layer
        |
        v
core schema, units, provenance, runtime capabilities
        |
        +--> component profiles
        +--> extractors
        +--> fitters
        +--> model emitters
        +--> validators
        +--> tool panels

The HTTP workbench is deliberately thin. It parses requests, stores uploads, and calls datasheet2spice.service. This keeps extraction, fitting, model generation, and reporting reusable from a local REST server, CLI commands, tests, and future desktop or remote adapters.

Runtime Modes

The frontend should target one stable contract and then select an adapter:

The runtime capability matrix lives in datasheet2spice.runtime so docs, APIs, and UI labels can stay consistent.

Data Model Direction

DeviceProject remains the backward-compatible Python class. ComponentProject is an alias that signals the broader roadmap.

New projects include a component envelope:

{
  "schema_version": "1.0",
  "component": {
    "family": "mosfet",
    "profile": "mosfet.power"
  },
  "device": {
    "part_number": "EXAMPLE",
    "type": "n_power_mosfet"
  }
}

The common envelope should hold identity, provenance, review state, and model targets. Component profiles define the family-specific fields that are required for extraction, fitting, and model emission.

Plugin Boundaries

Built-in and third-party packages can extend these surfaces:

The current built-in component profiles are mosfet.power and diode.power. The current built-in emitters are vdmos-static-fast, abm-basic, and diode-basic, and diode-abm-dynamic.

Design Rules