Chipyard SoC Integration
Constellation NoCs can replace any TileLink crossbar in a Chipyard/Rocketchip SoC. The most common use case is for generating the interconnect for the SystemBus or the MemoryBus.
Examples of NoC integration can be found in the NoCConfigs.scala
file in Chipyard, in the MultiNoCConfig
.
Global Shared Interconnect
While the default approach for integrating NoCs generates an independent network for each logical interconnect (i.e. the SystemBus and MemoryBus are wholly independent strucutres), Constellation also supports a shared global interconnect that is still deadlock-free. Configs pursuing this style of integration should set the GlobalNoCParams
field with constellation.soc.WithGlobalNoC
.
An example of a global shared NoC config is the SharedNoCConfig
in NoCConfigs.scala
in Chipyard.