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
Basic Generation
Generate MBIST outputs using the default output directory (out):
autombist --config config.yml --out out
If --out is omitted, out/ is used by default.
Fault Simulation Flow
Generate fault-enabled artifacts (saboteur + fault masks + module Makefile):
autombist --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 from the generated module directory:
cd out/<memory_name>
make
For transition fault simulation, set --fault-type transition-up or --fault-type transition-down and run the generated module Makefile the same way.
For verbose simulation output:
make debug
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
Release history Release notifications | RSS feed
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.0.0.tar.gz.
File metadata
- Download URL: autombist-1.0.0.tar.gz
- Upload date:
- Size: 30.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0226b97f1faac60b940f9438c2967afe8a0ed904ad2de9ce068f456902aade5
|
|
| MD5 |
6719ed4baf680a0669fa4b3f228da446
|
|
| BLAKE2b-256 |
eba89009cd22ea660286f73ada7d3cf29db2e9c4ce71405a7d17f9827309363c
|
Provenance
The following attestation bundles were made for autombist-1.0.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.0.0.tar.gz -
Subject digest:
e0226b97f1faac60b940f9438c2967afe8a0ed904ad2de9ce068f456902aade5 - Sigstore transparency entry: 1409438586
- Sigstore integration time:
-
Permalink:
ranaumarnadeem/autoMBIST@6c73391882a2078e30e98257a4b428d138e0aa77 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/ranaumarnadeem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6c73391882a2078e30e98257a4b428d138e0aa77 -
Trigger Event:
push
-
Statement type:
File details
Details for the file autombist-1.0.0-py3-none-any.whl.
File metadata
- Download URL: autombist-1.0.0-py3-none-any.whl
- Upload date:
- Size: 14.8 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 |
919e40b4f8928db05f59f8d201fa38fe55a87bf6a766bc24b3d8a8f474d76951
|
|
| MD5 |
a13e852a89d57918d3a66d576ca1e3c6
|
|
| BLAKE2b-256 |
2bab1edac9eddb69918a3d6f038239ec796bf282ac29a44147642d520c3c9f7a
|
Provenance
The following attestation bundles were made for autombist-1.0.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.0.0-py3-none-any.whl -
Subject digest:
919e40b4f8928db05f59f8d201fa38fe55a87bf6a766bc24b3d8a8f474d76951 - Sigstore transparency entry: 1409438597
- Sigstore integration time:
-
Permalink:
ranaumarnadeem/autoMBIST@6c73391882a2078e30e98257a4b428d138e0aa77 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/ranaumarnadeem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6c73391882a2078e30e98257a4b428d138e0aa77 -
Trigger Event:
push
-
Statement type: