autombist
autombist automatically generates MBIST integration artifacts for OpenRAM-generated SRAM macros.
It builds a selectable MBIST wrapper around your memory interface, emits the required MBIST RTL files, and creates outputs under out/ by default.
The generated artifacts can be synthesized with Yosys or other synthesis tools.
autombist also supports fault simulation by injecting stuck-at faults (SA0 and SA1) or transition faults (transition-up and transition-down) and validating behavior through Cocotb with Icarus Verilog.
What It Generates
For each memory in your config, autombist generates a module directory under out/<memory_name>/ with:
- MBIST wrapper Verilog
- Required MBIST RTL support files
- Optional saboteur wrapper for fault injection (
--testmode) - Optional fault masks and a local simulation Makefile (
--testmode) - Algorithm-specific RTL for the selected
--algofamily
Prerequisites
- Python 3.10+
- OpenRAM-generated memory and matching config file
- For fault simulation:
- Icarus Verilog (
iverilog) installed system-wide - Cocotb installed in your Python environment
- Icarus Verilog (
Installation
Install from the repository root:
python -m pip install .
For development:
python -m pip install -e .
Or you can install directly with Pypi:
python -m pip install autombist
Quick Start
Generate MBIST outputs using the default output directory (out):
autombist generate --config config.yml --out out
Run generation + simulation in one step:
autombist run --config config.yml --out out
Fault Simulation Flow
Generate fault-enabled artifacts (saboteur + fault masks + module Makefile):
autombist generate --config config.yml --out out --test --faults 50 --seed 1234 --algo march-c --fault-type stuck-at
This command injects random SA0/SA1 faults into the memory model and writes fault files to:
out/<memory_name>/faults/
Then run simulation:
autombist simulate --out out/<memory_name>
For transition fault simulation, set --fault-type transition-up or --fault-type transition-down, then run autombist simulate --out out/<memory_name>.
OpenRAM Synthesis + Starter Scaffolding
Generate starter files (config.yml, openram.yml, and Makefile) for a new project:
autombist init --out .
Synthesize SRAM through OpenRAM from config:
autombist ram-synth --config openram.yml
Show the exact OpenRAM command before execution:
autombist ram-synth --config openram.yml --show-command
Run installation smoke checks (generation + OpenRAM config parse + optional small fault simulations for coverage):
autombist smoke
autombist smoke --no-sim
Synthesis
Use the generated wrapper and MBIST RTL files in your synthesis flow (for example, Yosys or equivalent EDA tools).
CLI Help
autombist --help
autombist --version
Metadata
Release files for autombist 1.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| autombist-1.1.2.tar.gz | 44.5 kB | With provenance | Details for autombist-1.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| autombist-1.1.2-py3-none-any.whl | Python 3 | none | any | Details for autombist-1.1.2-py3-none-any.whl |
Total release size: 99.3 kB
Release files / autombist-1.1.2.tar.gz
| Download URL | autombist-1.1.2.tar.gz |
|---|---|
| Size | 44.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce08a04cb90446e9bf7fce2ebe05b43485cf20e6d74122167d3fa5d95ceaf677
|
|
BLAKE2b-256 checksum How to use checksums |
7379efb6febf59feb467cfa1b16a65f08c9ac8f171c2ef409bbd85e22b2cc066
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 26, 2026.
Transparency logRelease files / autombist-1.1.2-py3-none-any.whl
| Download URL | autombist-1.1.2-py3-none-any.whl |
|---|---|
| Size | 54.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0ec8743bc2c485e0ce2bd58016c963ea360a87ac46188b98776f321aee25485
|
|
BLAKE2b-256 checksum How to use checksums |
ef1d56e914e2699c341da8fafcbb4f89dfc5db0effc3e3599d3412d91d48432d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 26, 2026.
Transparency logSecurity for autombist 1.1.2
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for autombist-1.1.2.tar.gz
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 May 26, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.