Which version of Chipyard is recommended?

70 views
Skip to first unread message

Zhitao Yang

unread,
Apr 8, 2025, 12:56:38 PMApr 8
to Chipyard
Hello,

I followed the guide from https://chipyard.readthedocs.io/en/stable/Chipyard-Basics/Initial-Repo-Setup.html#prerequisites, and checkout the chipyard to the stable version(1.11.0), but when I try to make the example MultiNoCConfig in https://github.com/ucb-bar/chipyard/blob/main/generators/chipyard/src/main/scala/config/NoCConfigs.scala, I got an Exception:
.........
================================================================
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

Jerry Zhao

unread,
Apr 8, 2025, 12:57:54 PMApr 8
to chip...@googlegroups.com
Please follow the latest docs - https://chipyard.readthedocs.io/en/latest/
This should direct you to clone the latest `main`, not a past versioned commit.

-Jerry

--
You received this message because you are subscribed to the Google Groups "Chipyard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chipyard+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/chipyard/87d06ce1-06cf-46b1-b011-01cfe698680dn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages