MBIST wrapper and fault-flow generator
Project description
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autombist-1.1.0.tar.gz.
File metadata
- Download URL: autombist-1.1.0.tar.gz
- Upload date:
- Size: 43.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3908c5824240f6a22a060075ef8d54465a3c3b2409780754006feaf4644e481
|
|
| MD5 |
14d0517b1e81cf3b6256efed3ac47423
|
|
| BLAKE2b-256 |
56d5aa09bf755e9b290b47454a31cfc757d92a0b7b22af5a73a03a646c44a051
|
Provenance
The following attestation bundles were made for autombist-1.1.0.tar.gz:
Publisher:
publish.yml on ranaumarnadeem/autoMBIST
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autombist-1.1.0.tar.gz -
Subject digest:
b3908c5824240f6a22a060075ef8d54465a3c3b2409780754006feaf4644e481 - Sigstore transparency entry: 1504127567
- Sigstore integration time:
-
Permalink:
ranaumarnadeem/autoMBIST@e2b6176184273ba59f5e94253dad0a8d65354c36 -
Branch / Tag:
refs/tags/v1.1.0 - Owner: https://github.com/ranaumarnadeem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e2b6176184273ba59f5e94253dad0a8d65354c36 -
Trigger Event:
push
-
Statement type:
File details
Details for the file autombist-1.1.0-py3-none-any.whl.
File metadata
- Download URL: autombist-1.1.0-py3-none-any.whl
- Upload date:
- Size: 36.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2700ac95b6c82e1db91a5ac752b53985e70d08c5bd8a0b598a4f9b27e888b7dc
|
|
| MD5 |
7bb0b67cd650b7bc5c6e6d0edc435cd8
|
|
| BLAKE2b-256 |
e157c32940ff10e613180e357217888b0a889a5d0c70c2ef99f5a2aa9d0c7d3c
|
Provenance
The following attestation bundles were made for autombist-1.1.0-py3-none-any.whl:
Publisher:
publish.yml on ranaumarnadeem/autoMBIST
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autombist-1.1.0-py3-none-any.whl -
Subject digest:
2700ac95b6c82e1db91a5ac752b53985e70d08c5bd8a0b598a4f9b27e888b7dc - Sigstore transparency entry: 1504127676
- Sigstore integration time:
-
Permalink:
ranaumarnadeem/autoMBIST@e2b6176184273ba59f5e94253dad0a8d65354c36 -
Branch / Tag:
refs/tags/v1.1.0 - Owner: https://github.com/ranaumarnadeem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e2b6176184273ba59f5e94253dad0a8d65354c36 -
Trigger Event:
push
-
Statement type: