a74881de49af5e034b5abaa1be0556347bc73b70
Fault Simulation
PPSFP (Parallel-Pattern Single-Fault Propagation) style fault simulators and other utility functions for use in various projects. These fault simulators are meant to be correct (ensured by unit-tests) and reasonably fast.
Quick Start
This project has submodules. To ensure everything is up-to-date, run
git submodule update --init --recursive
after git clone, git pull or git checkout.
This project manages reproducible programming environments with:
- uv for managing python environments.
- nix for managing non-python tools and benchmark designs. Follow this guide or this guide to setup nix-eda binary cache to avoid re-building EDA-related tools.
Smoke-test: uv run pytest
For running Jupyter Notebooks in the reproducible programming environment, install a kernelspec with this command:
uv run ipython kernel install --user --env VIRTUAL_ENV $(pwd)/.venv --env PATH ${PATH} --name=uv-env
Run a Jupyter Lab server locally:
uv run jupyter lab
Choose uv-env as kernel in Jupyter Lab.
uv run main.py <circuit> runs a naive, baseline fault simulation.
nix develop makes quaigh available, another simulator/atpg written in rust.
Languages
Python
94%
Verilog
3.9%
Nix
1.7%
Makefile
0.4%