To add Custom Core into Chipyard :
in the chipyard/generators/mytile/src/main/resources/vsrc
add the verilog/SV files that you want to integrate .
in chipyard/generators/mytile/src/main/scala
create files ConfigMixins.scala , mytile.scala, MyTile.scala
ConfigMixins.scala : This file defines configuration mixins (specifically WithNMyCores), which allow users to easily add specific numbers of MyTile instances to a top-level Chipyard SoC configuration.
mytile.scala : This file defines the Chisel BlackBox wrapper, which serves as the direct hardware interface allowing Chisel to instantiate, recognize ports for, and link to the underlying
Verilog source code (mytile.v).
MyTile.scala : This file contains the diplomatic integration and implementation logic, defining the LazyModule and parameters required to connect the custom tile to the Chipyard system bus (via TileLink)
and interrupt controllers, while also wiring these system signals to the BlackBox ports.
in chipyard/build.sbt
add the mytile along with the remaining tiles.
refer CVA6 for more information.