Hello,
.........
================================================================
Constellation WARNING: TLNoC_1 virtual channel 2 from 17 to 8 appears to be untraversable
Constellation WARNING: TLNoC_1 virtual channel 3 from 17 to 8 appears to be untraversable
Constellation WARNING: TLNoC_1 virtual channel 0 from 17 to 16 appears to be untraversable
Constellation WARNING: TLNoC_1 virtual channel 2 from 17 to 16 appears to be untraversable
Constellation WARNING: TLNoC_1 virtual channel 3 from 17 to 16 appears to be untraversable
Constellation WARNING: TLNoC_1 virtual channel 4 from 17 to 16 appears to be untraversable
Constellation: TLNoC_1 Finished parameter validation
Constellation: TLNoC_1 Starting NoC RTL generation
Constellation: TLNoC_1 Finished NoC RTL generation
Exception in thread "main" java.lang.reflect.InvocationTargetException
at ... ()
at chipyard.stage.phases.PreElaboration.$anonfun$transform$1(PreElaboration.scala:35)
at ... ()
at ... (Stack trace trimmed to user code only. Rerun with --full-stacktrace to see the full stack trace)
Caused by: java.lang.IllegalArgumentException: requirement failed
at scala.Predef$.require(Predef.scala:324)
at constellation.protocol.TileLinkProtocolParams.$init$(Tilelink.scala:231)
at constellation.protocol.TileLinkABCDEProtocolParams.<init>(Tilelink.scala:249)
at constellation.protocol.TLNoC$$anon$13.<init>(Tilelink.scala:555)
at constellation.protocol.TLNoC.$anonfun$module$1(Tilelink.scala:545)
at chisel3.internal.plugin.package$.autoNameRecursively(package.scala:33)
at constellation.protocol.TLNoC.module$lzycompute(Tilelink.scala:545)
at constellation.protocol.TLNoC.module(Tilelink.scala:545)
at constellation.protocol.TLNoC.module(Tilelink.scala:543)
......
=======================================================================
It seems the parameters not meet the requirement in Tilelink.scala :
trait TileLinkProtocolParams extends ProtocolParams with TLFieldHelper {
def edgesIn: Seq[TLEdge]
def edgesOut: Seq[TLEdge]
def edgeInNodes: Seq[Int]
def edgeOutNodes: Seq[Int]
require(edgesIn.size == edgeInNodes.size && edgesOut.size == edgeOutNodes.size)
def wideBundle = TLBundleParameters.union(edgesIn.map(_.bundle) ++ edgesOut.map(_.bundle))
def genBundle = new TLBundle(wideBundle)
def inputIdRanges = TLXbar.mapInputIds(edgesIn.map(_.client))
def outputIdRanges = TLXbar.mapOutputIds(edgesOut.map(_.manager))
val vNetBlocking = (blocker: Int, blockee: Int) => blocker < blockee
def genIO()(implicit p: Parameters): Data = new TileLinkInterconnectInterface(edgesIn, edgesOut)
}
================================================================
Does the version 1.11.0 support this MultiNoCConfig? If I want to use the Constellation with chipyard to build a many core system, which version of Chipyard should I use?
Thanks,
Zhitao