Clone this repo:

Branches

  1. a6cc0c9 final gds oasis by Jeff DiCorpo · 1 year, 11 months ago main
  2. 2189a49 workflows: finish rename of user_proj_example by Sean Cross · 2 years ago
  3. f95c970 release: check in synthesized wb_pio files by Sean Cross · 2 years ago
  4. e85588c verilog: use correct path for wb_pio rtl by Sean Cross · 2 years ago
  5. ef1fb03 user_proj_example: remove example project by Sean Cross · 2 years ago

PIO on GF180 (with Caravel)

License UPRJ_CI Caravel Build

A project designed to demonstrate Raspberry Pi PIO on GF180 using the Caravel harness.

Refer to README for a quickstart of how to use caravel_user_project

Refer to README for this sample project documentation.

Building the Project

You will need a Linux environment with Docker. Once you have that, you can set things up:

mkdir -p deps
export OPENLANE_ROOT=$(pwd)/deps/openlane_src # you need to export this whenever you start a new shell
export PDK_ROOT=$(pwd)/deps/pdks # you need to export this whenever you start a new shell
export PDK=gf180mcuC # you can also use sky130B

These steps are included in activate-caravel.sh, which you can just source.

Next, do a one-time setup of the project.

make setup

Next, perform the synthesis, which will take anywhere between 30 minutes and 3 hours:

make wb_pio

When it's done, the resulting files will be in openlane/wb_pio/runs/$CURRENT_DATE_TIME/results/final/.

Running the testbench

You can run the testbench using iverilog, which will generate a .vcd file:

make verify-wb_pio_test-rtl

You can then inspect the .vcd file by using a tool such as gtkwave to view verilog/dv/wb_pio_test/RTL-wb_pio_test.vcd