summaryrefslogtreecommitdiff
path: root/core/src/main/scala/chisel3/Mem.scala
diff options
context:
space:
mode:
authorJack Koenig2021-02-10 13:49:25 -0800
committerGitHub2021-02-10 13:49:25 -0800
commitf41e762830c5af1a92de9d8ee26e2b0de52b76ad (patch)
tree89a42cf3ae9eb96b02a54bc83040c04cd1ea294d /core/src/main/scala/chisel3/Mem.scala
parent2ed343e2305b7c22000f3f46fa81d73a369907eb (diff)
parent0a0d7c6aac4326f2127d6d95efa5a4e10c81946c (diff)
Merge pull request #1624 from chipsalliance/gc-data
Make Data GC-able
Diffstat (limited to 'core/src/main/scala/chisel3/Mem.scala')
-rw-r--r--core/src/main/scala/chisel3/Mem.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/src/main/scala/chisel3/Mem.scala b/core/src/main/scala/chisel3/Mem.scala
index a60b31ac..90525bfa 100644
--- a/core/src/main/scala/chisel3/Mem.scala
+++ b/core/src/main/scala/chisel3/Mem.scala
@@ -35,6 +35,7 @@ object Mem {
}
val mt = t.cloneTypeFull
val mem = new Mem(mt, size)
+ mt.bind(MemTypeBinding(mem))
pushCommand(DefMemory(sourceInfo, mem, mt, size))
mem
}
@@ -45,6 +46,8 @@ object Mem {
}
sealed abstract class MemBase[T <: Data](val t: T, val length: BigInt) extends HasId with NamedComponent with SourceInfoDoc {
+ _parent.foreach(_.addId(this))
+
// REVIEW TODO: make accessors (static/dynamic, read/write) combinations consistent.
/** Creates a read accessor into the memory with static addressing. See the
@@ -174,6 +177,7 @@ object SyncReadMem {
}
val mt = t.cloneTypeFull
val mem = new SyncReadMem(mt, size, ruw)
+ mt.bind(MemTypeBinding(mem))
pushCommand(DefSeqMemory(sourceInfo, mem, mt, size, ruw))
mem
}