In-Field Testing Using MISR
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
stefan 54111acc16 print jpeg_core netlist stats 4 days ago
.vscode better docs and vscode config 5 days ago
core_jpeg@bb03cce45d jpeg core example, migrate to flake 5 days ago
kyupy@c4aecbd6c9 init uv, use nix for synthesized picorv32 1 week ago
picorv32@cf92946d63 init uv, use nix for synthesized picorv32 1 week ago
.gitignore jpeg core example, migrate to flake 5 days ago
.gitmodules jpeg core example, migrate to flake 5 days ago
.python-version init uv, use nix for synthesized picorv32 1 week ago
Makefile jpeg core example, migrate to flake 5 days ago
README.md better docs and vscode config 5 days ago
flake.lock jpeg core example, migrate to flake 5 days ago
flake.nix jpeg core example, migrate to flake 5 days ago
jpeg_core_tb.v jpeg core example, migrate to flake 5 days ago
jpeg_core_tb_run_plasma.py fix default vvp, some doc 5 days ago
load_sky130_circuits.py print jpeg_core netlist stats 4 days ago
pyproject.toml jpeg core example, migrate to flake 5 days ago
uv.lock jpeg core example, migrate to flake 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.