From ffcb3156c9a826b64968998012c25258b351ef2f Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Mon, 1 Mar 2021 00:14:15 -0800 Subject: [PATCH] Add WithMultiRoCCFromBuildRoCC to make heterogeneous accelerator configs easier --- .../chipyard/src/main/scala/ConfigFragments.scala | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/generators/chipyard/src/main/scala/ConfigFragments.scala b/generators/chipyard/src/main/scala/ConfigFragments.scala index 667e5148..465a5188 100644 --- a/generators/chipyard/src/main/scala/ConfigFragments.scala +++ b/generators/chipyard/src/main/scala/ConfigFragments.scala @@ -83,6 +83,17 @@ class WithMultiRoCC extends Config((site, here, up) => { case BuildRoCC => site(MultiRoCCKey).getOrElse(site(TileKey).hartId, Nil) }) +/** + * Assigns what was previously in the BuildRoCC key to specific harts with MultiRoCCKey + * Must be paired with WithMultiRoCC + */ +class WithMultiRoCCFromBuildRoCC(harts: Int*) extends Config((site, here, up) => { + case BuildRoCC => Nil + case MultiRoCCKey => up(MultiRoCCKey, site) ++ harts.distinct.map { i => + (i -> up(BuildRoCC, site)) + } +}) + /** * Config fragment to add Hwachas to cores based on hart *