Comments (2)
Could you paste the full config?
from constellation.
The following are two configs in target-design/chipyard/generators/chipyard/src/main/scala/config/NoCConfigs.scala.
in MultiNoCConfig
, is Cbus
connectted to Sbus
? and why serial-tl
in WithSbusNoC
means fbus
?
in Gemmini10ReRoCCOrigNoCConfig
, the outNodeMapping has four system[0-3]
, but WithNBanks(8)
means there are 8 L2 banks. Additionally, why there are 8 serdesser[0-7]
?
class MultiNoCConfig extends Config(
new constellation.soc.WithCbusNoC(constellation.protocol.TLNoCParams(
constellation.protocol.DiplomaticNetworkNodeMapping(
inNodeMapping = ListMap(
"serial-tl" -> 0),
outNodeMapping = ListMap(
"error" -> 1, "l2[0]" -> 2, "pbus" -> 3, "plic" -> 4,
"clint" -> 5, "dmInner" -> 6, "bootrom" -> 7, "tileClockGater" -> 8, "tileResetSetter" -> 9)),
NoCParams(
topology = TerminalRouter(BidirectionalLine(10)),
channelParamGen = (a, b) => UserChannelParams(Seq.fill(5) { UserVirtualChannelParams(4) }),
routingRelation = NonblockingVirtualSubnetworksRouting(TerminalRouterRouting(BidirectionalLineRouting()), 5, 1))
)) ++
new constellation.soc.WithMbusNoC(constellation.protocol.TLNoCParams(
constellation.protocol.DiplomaticNetworkNodeMapping(
inNodeMapping = ListMap(
"L2 InclusiveCache[0]" -> 1, "L2 InclusiveCache[1]" -> 2,
"L2 InclusiveCache[2]" -> 5, "L2 InclusiveCache[3]" -> 6),
outNodeMapping = ListMap(
"system[0]" -> 0, "system[1]" -> 3, "system[2]" -> 4 , "system[3]" -> 7,
"serdesser" -> 0)),
NoCParams(
topology = TerminalRouter(BidirectionalTorus1D(8)),
channelParamGen = (a, b) => UserChannelParams(Seq.fill(10) { UserVirtualChannelParams(4) }),
routingRelation = BlockingVirtualSubnetworksRouting(TerminalRouterRouting(BidirectionalTorus1DShortestRouting()), 5, 2))
)) ++
new constellation.soc.WithSbusNoC(constellation.protocol.TLNoCParams(
constellation.protocol.DiplomaticNetworkNodeMapping(
inNodeMapping = ListMap(
"Core 0" -> 1, "Core 1" -> 2, "Core 2" -> 4 , "Core 3" -> 7,
"Core 4" -> 8, "Core 5" -> 11, "Core 6" -> 13, "Core 7" -> 14,
"serial-tl" -> 0),
outNodeMapping = ListMap(
"system[0]" -> 5, "system[1]" -> 6, "system[2]" -> 9, "system[3]" -> 10,
"pbus" -> 3)),
NoCParams(
topology = TerminalRouter(Mesh2D(4, 4)),
channelParamGen = (a, b) => UserChannelParams(Seq.fill(8) { UserVirtualChannelParams(4) }),
routingRelation = BlockingVirtualSubnetworksRouting(TerminalRouterRouting(Mesh2DEscapeRouting()), 5, 1))
)) ++
new freechips.rocketchip.subsystem.WithNBigCores(8) ++
new freechips.rocketchip.subsystem.WithNBanks(4) ++
new freechips.rocketchip.subsystem.WithNMemoryChannels(4) ++
new chipyard.config.AbstractConfig
)
class Gemmini10ReRoCCOrigNoCConfig extends Config(
new constellation.soc.WithSbusNoC(constellation.protocol.TLNoCParams(
constellation.protocol.DiplomaticNetworkNodeMapping(
inNodeMapping = ListMap(
"serial-tl" -> 0,
"Core 0" -> 20,
"Core 1" -> 23,
"Core 2" -> 24,
"Core 3" -> 25,
"Core 4" -> 26,
"ReRoCC 0" -> 8,
"ReRoCC 1" -> 9,
"ReRoCC 2" -> 10,
"ReRoCC 3" -> 11,
"ReRoCC 4" -> 16,
"ReRoCC 5" -> 17,
"ReRoCC 6" -> 18,
"ReRoCC 7" -> 19,
"ReRoCC 8" -> 21,
"ReRoCC 9" -> 22
),
outNodeMapping = ListMap(
"error" -> 0,
"serdesser[0]" -> 4,
"serdesser[1]" -> 5,
"serdesser[2]" -> 6,
"serdesser[3]" -> 7,
"serdesser[4]" -> 12,
"serdesser[5]" -> 13,
"serdesser[6]" -> 14,
"serdesser[7]" -> 15,
"system[0]|" -> 0,
"system[1]|" -> 1,
"system[2]|" -> 2,
"system[3]|" -> 3
)),
NoCParams(
topology = Mesh2D(7, 4),
channelParamGen = (a, b) => UserChannelParams(Seq.fill(8) { UserVirtualChannelParams(4) },
useOutputQueues = false),
routingRelation = NonblockingVirtualSubnetworksRouting(Mesh2DEscapeRouting(), 5, 1))
// NoCParams(
// topology = TerminalRouter(Mesh2D(4, 4)),
// channelParamGen = (a, b) => UserChannelParams(Seq.fill(8) { UserVirtualChannelParams(4) },
// useOutputQueues = false),
// routingRelation = NonblockingVirtualSubnetworksRouting(TerminalRouterRouting(Mesh2DEscapeRouting()), 5, 1))
)) ++
new Gemmini10ReRoCCBaseConfig
)
class Gemmini10ReRoCCBaseConfig extends Config(
//new chipyard.config.WithReRoCC(4, chipyard.rerocc.ReRoCCTileParams(dcacheParams=None, mergeTLNodes=true, l2TLBEntries=1024, l2TLBWays=4)) ++
new chipyard.config.WithReRoCC(4, chipyard.rerocc.ReRoCCTileParams(l2TLBEntries=512, l2TLBWays=4, mergeTLNodes=true, dcacheParams=Some(DCacheParams(nWays=4, nSets=4)))) ++
new gemmini.DummyDefaultGemminiConfig ++
new gemmini.DummyDefaultGemminiConfig ++
new gemmini.DummyDefaultGemminiConfig ++
new gemmini.DummyDefaultGemminiConfig ++
new gemmini.DummyDefaultGemminiConfig ++
new gemmini.DummyDefaultGemminiConfig ++
new gemmini.DummyDefaultGemminiConfig ++
new gemmini.DummyDefaultGemminiConfig ++
new gemmini.DummyDefaultGemminiConfig ++
new gemmini.DummyDefaultGemminiConfig ++
new freechips.rocketchip.subsystem.WithNBigCores(5) ++
new chipyard.config.WithSystemBusWidth(128) ++
new freechips.rocketchip.subsystem.WithExtMemSbusBypass ++
new freechips.rocketchip.subsystem.WithNBanks(8) ++
new freechips.rocketchip.subsystem.WithInclusiveCache(nWays=2, capacityKB=2048) ++
new freechips.rocketchip.subsystem.WithNMemoryChannels(4) ++
new `chipyard.config.AbstractConfig)`
from constellation.
Related Issues (20)
- Run Minimal-Standalone Testing Fail HOT 7
- Error encountered while testing hierarchical topology in Chipyard 1.8.1 HOT 11
- May I ignore the "[error] Picked up JAVA_TOOL_OPTIONS" error? HOT 1
- Add Wishbone protocol support HOT 2
- Is there anyway to generate seperate verilog files for each component? HOT 1
- Run AXI4TestConfig02 fail in the chipyard HOT 3
- Running a Simple Evaluation HOT 7
- Question: What are the parameters in the example Butterfly config? HOT 4
- genenarate top.v fail HOT 1
- Failed: Running Minimal-Standalone Testing HOT 2
- Failed: Chipyard-Standalone Testing
- No .v(verilog) file generated after running Chipyard-Standalone Testing HOT 1
- How the DiplomaticNetworkNodeMapping string to decide?
- `DiplomaticNetworkNodeMapping` fails with more than 9 cores HOT 2
- connecting the cores of the SOC with TLNOC
- Max throughput of Random traffic HOT 4
- Setup Issue HOT 1
- report error when execute Minimal-Standalone Testing HOT 7
- about Minimal-Standalone Testing HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from constellation.