This is a Chisel wrapper to instance ChipWare IPs.
Note: This repo does NOT include any implementation details of the Cadence ChipWare IPs!!!
git submodule add git@github.com:SingularityKChen/chisel-chipware.git
Also remember to add the dependency in your build.sbt
or build.sc
.
- import the ChipWare IPs in your Chisel project
import chipware._
- create a ChipWare IP instance and wrapper it with
Module()
. For example, if you want to use theCW_add
IP, you can do the following:
protected val U1: CW_add = Module(new CW_add(wA))
U1.io.A := io.A
U1.io.B := io.B
U1.io.CI := io.CI
io.Z := U1.io.Z
io.CO := U1.io.CO
- add the black box path for verification
U1.addPath(blackBoxPath)
You may reference the demo file for more details.
make build_docker
make run_docker
First, install mill by referring to the documentation here.
make bsp compile
make doc
make test
This repo uses the template from chisel-playground.