GuillemCabo / mpw-multi-project-harness

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Multi Project Harness

This is a proposal for handling multiple projects in the user project area of the Caravel harness

clone with --recursive to get the demo project seven segment seconds

You will also need cocotb and iverilog installed.

install iverilog from source git://github.com/steveicarus/iverilog.git
pip3 install cocotb

multi project harness diagram

multi project gds

Process of adding a new design

Context 1: add to multi-project-harness

  • add design as a submodule
  • add a test to the test_harness.py

Context 2: Caravel

Context 3: OpenLane

Each design is hardened (turned into a GDS2 layout) and then aggrated into the top module. See here for more info

Simulation / Verification

run a simulation of activating one design and then the next:

make sim
make gtkwave

run a formal proof that the mux is correct

make formal

About

License:Apache License 2.0


Languages

Language:Verilog 53.7%Language:Python 35.0%Language:Tcl 7.6%Language:Makefile 2.8%Language:Shell 1.0%