|
|
2 weeks ago | |
|---|---|---|
| .vscode | 4 weeks ago | |
| core_jpeg@bb03cce45d | 4 weeks ago | |
| kyupy@d3d06722c1 | 2 weeks ago | |
| picorv32@6d4a484b62 | 2 weeks ago | |
| .gitignore | 2 weeks ago | |
| .gitmodules | 3 weeks ago | |
| .python-version | 4 weeks ago | |
| Makefile | 2 weeks ago | |
| README.md | 2 weeks ago | |
| flake.lock | 4 weeks ago | |
| flake.nix | 4 weeks ago | |
| jpeg_core_tb.v | 4 weeks ago | |
| jpeg_core_tb_run_plasma.py | 2 weeks ago | |
| load_sky130_circuits.py | 4 weeks ago | |
| picorv32_vcd_import.py | 2 weeks ago | |
| pyproject.toml | 4 weeks ago | |
| uv.lock | 4 weeks ago | |
README.md
In-Field Testing Using MISR
Setup
After cloning this repository, run:
git submodule init
git submodule update
This project uses Nix to manage reproducible programming environments.
Run nix develop to enter a shell with all necessary software.
If nix is not installed, follow this guide. No need to clone librelane here, but it is good to set up the extra-substituters as described in the guide for using LibreLane for making layouts with SkyWater 130nm technology.
Usage
Compile jpeg decoder core using iverilog and run RTL simulation of the jpeg decoder core using vvp:
nix develop
make
uv run jpeg_core_tb_run_plasma.py
Call uv run jpeg_core_tb_run_plasma.py --help for more options.
Load synthesized circuits and display statistics (example code):
uv run load_sky130_circuits.py
Run picorv32's built-in testbench (generate picorv32/testbench.vcd):
make test_vcd
or
make test_ez_vcd
Import generated VCD with kyupy and convert it to a pattern file for later fault simulation:
uv run picorv32_vcd_import.py picorv32/testbench.vcd patterns.npy
Call uv run picorv32_vcd_import.py --help for more options.
Some uv commands work also outside a nix develop shell if uv is installed on the base system. The script demonstrates how to obtain synthesized netlists via nix derivations published in this github repository. These circuits along with layout and timings are built on-demand (using LibreLane) if not yet available in local nix store.