summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorJack Koenig2021-06-29 17:44:35 -0700
committerGitHub2021-06-29 17:44:35 -0700
commit1bf2d53046bdac65013f2e32f8c087f881a959b8 (patch)
treed5dbd592ceed3040209bb74dfe1928b983052c08 /src/main
parent8724cd542df2e907069d9ee3fd7d1675a9ca9287 (diff)
parent25a84b5667614ea3f437b656f1939caba57e6f66 (diff)
Merge pull request #1993 from chipsalliance/fix-select-clonemoduleasrecord
Fix aop.Select behavior for CloneModuleAsRecord
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/chisel3/aop/Select.scala9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/scala/chisel3/aop/Select.scala b/src/main/scala/chisel3/aop/Select.scala
index b9ad808b..a16c415c 100644
--- a/src/main/scala/chisel3/aop/Select.scala
+++ b/src/main/scala/chisel3/aop/Select.scala
@@ -6,6 +6,7 @@ import chisel3._
import chisel3.experimental.{BaseModule, FixedPoint}
import chisel3.internal.HasId
import chisel3.internal.firrtl._
+import chisel3.internal.BaseModule.ModuleClone
import firrtl.annotations.ReferenceTarget
import scala.collection.mutable
@@ -81,8 +82,12 @@ object Select {
def instances(module: BaseModule): Seq[BaseModule] = {
check(module)
module._component.get match {
- case d: DefModule => d.commands.collect {
- case i: DefInstance => i.id
+ case d: DefModule => d.commands.flatMap {
+ case i: DefInstance => i.id match {
+ case _: ModuleClone => None
+ case other => Some(other)
+ }
+ case _ => None
}
case other => Nil
}