|
|
4 days ago | |
|---|---|---|
| .vscode | 5 days ago | |
| core_jpeg@bb03cce45d | 5 days ago | |
| kyupy@c4aecbd6c9 | 1 week ago | |
| picorv32@cf92946d63 | 1 week ago | |
| .gitignore | 5 days ago | |
| .gitmodules | 5 days ago | |
| .python-version | 1 week ago | |
| Makefile | 5 days ago | |
| README.md | 5 days ago | |
| flake.lock | 5 days ago | |
| flake.nix | 5 days ago | |
| jpeg_core_tb.v | 5 days ago | |
| jpeg_core_tb_run_plasma.py | 5 days ago | |
| load_sky130_circuits.py | 4 days ago | |
| pyproject.toml | 5 days ago | |
| uv.lock | 5 days 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
Load synthesized circuits and display statistics (example code):
uv run load_sky130_circuits.py
Works 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.