Skip to main content

HAADIC

Highly-Automated Analog Designer for Integrated Circuits

This project is under development. Its goal is to create a technological and software-agnostic design flow, from device sizing to layout and implementation.

Dimensions in the layout can be changed by editing the dim variable. Post-simulation computation can be done by editing the evaluate function.

Design Flow

The following flow is run using the information given in a design.py python file (see tutorial). The flow has 2 entry points :

  • flow.run_from_dim : Only requires a dim variables which defines the value of each parameters of the layout function.
  • flow.run_from_target : Requires both a targetand an local_model function. The local_model is an implementation of the design methodology which output the layout parameters value required to obtains the target.

For batch execution, the method run_from_sweep can be used.

flowchart TD
    s1{Start #2}
    s2{Start #1}
    app["Physical Model
(design:local_model)"]
    pl["Parametric Layout
(klayout + design:layout)"]
    be_ext["RC extraction
(steps.extraction + Magic-VLSI)"]
    sim["Spice simulation
(steps.spice_sim + NGSpice)"]
    spec["Performances Evaluation
(design:post_processors)"]

    s1 -- "design:specifications" --> app
    s2 -- "design:dimensions" --> pl
    app --"dimensions (step.Dim)" --> pl
    pl --"geometries (.gds)" --> be_ext
    be_ext --"netlist (.cir)" --> sim
    sim --"raw simulation (step.SimRes)" --> spec
    spec --"performances (.csv)" --> st{stop}

When finished, a .gds file is available for further design and a .csv file with the performances of the design.

PDKs configuration

A techno.json file can be created in the working dir or the haadic root with the following structure:

{
"techno_name": {
  "base_dir": "path to the pdk directory root",
  "layermap": "path to the layermap (relative to the base_dir)",
  "techlef": "path to the tlef file",
  "magic_rc": "path to the configuration file of magic",
  "lib_spice": "path to the spice model library",
  "section": "name of the section to import in the spice library typical",
  "source_url": "url to be use for download (set to "ciel" for ciel installation)",
  "version": "version id (only required if source_url is set to "ciel")"
}
}

A techno.json file with three open source PDK and a mock PDK are already supplied.

For developers

Install haadic with optional group dev :

uv install git+https://github.com/Patarimi/haadic --with dev

Then run pytest in a shell

uvx run poe test

Metadata

Release files for haadic 0.6.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for haadic 0.6.4
File Size Uploaded
haadic-0.6.4.tar.gz 59.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for haadic 0.6.4
File Interpreter ABI Platform
haadic-0.6.4-py3-none-any.whl Python 3 none any Details

Total release size: 138.6 kB

Release files / haadic-0.6.4.tar.gz

Download URL haadic-0.6.4.tar.gz
Size 59.6 kB
Tags Source
SHA-256 checksum
How to use checksums
bd9d97ee0d0cd95b7f1bbf31ad502a2c23b73dfb72e0fc1758265d2c6aad7d7a
BLAKE2b-256 checksum
How to use checksums
8199bf57413c6f3ce680557ba0d98ea899f0808d839f885de7750ffba2bdeced
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / haadic-0.6.4-py3-none-any.whl

Download URL haadic-0.6.4-py3-none-any.whl
Size 79.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ef0e8ea93e35a004a619b03cc43947eb9a14f4baba25c1cab7e298ad5c52ec23
BLAKE2b-256 checksum
How to use checksums
375fce7d2bab5c501200cdd3034fdcf2a6bb1de5ae9c3cbb27bbc34f506d9181
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.4 This release

2 release files

0.6.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page