From 7c2153afa841d4d283faf562d0303cb593752993 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Sat, 4 Feb 2023 14:02:40 -0800 Subject: [PATCH] Add example ring-only NoC Config --- .../src/main/scala/config/NoCConfigs.scala | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/generators/chipyard/src/main/scala/config/NoCConfigs.scala b/generators/chipyard/src/main/scala/config/NoCConfigs.scala index c5ad178a..bd36fe04 100644 --- a/generators/chipyard/src/main/scala/config/NoCConfigs.scala +++ b/generators/chipyard/src/main/scala/config/NoCConfigs.scala @@ -186,3 +186,32 @@ class SharedNoCConfig extends Config( new chipyard.config.AbstractConfig ) // DOC include end: SharedNoCConfig + +class SbusRingNoCConfig extends Config( + new constellation.soc.WithSbusNoC(constellation.protocol.TLNoCParams( + constellation.protocol.DiplomaticNetworkNodeMapping( + inNodeMapping = ListMap( + "Core 0" -> 0, + "Core 1" -> 1, + "Core 2" -> 2, + "Core 3" -> 3, + "Core 4" -> 4, + "Core 5" -> 5, + "Core 6" -> 6, + "Core 7" -> 7, + "serial-tl" -> 8), + outNodeMapping = ListMap( + "system[0]" -> 9, + "system[1]" -> 10, + "system[2]" -> 11, + "system[3]" -> 12, + "pbus" -> 8)), // TSI is on the pbus, so serial-tl and pbus should be on the same node + NoCParams( + topology = UnidirectionalTorus1D(13), + channelParamGen = (a, b) => UserChannelParams(Seq.fill(10) { UserVirtualChannelParams(4) }), + routingRelation = NonblockingVirtualSubnetworksRouting(UnidirectionalTorus1DDatelineRouting(), 5, 2)) + )) ++ + new freechips.rocketchip.subsystem.WithNBigCores(8) ++ + new freechips.rocketchip.subsystem.WithNBanks(4) ++ + new chipyard.config.AbstractConfig +)