diff options
| author | Aditya Naik | 2024-07-24 01:07:36 -0700 |
|---|---|---|
| committer | Aditya Naik | 2024-07-24 01:08:07 -0700 |
| commit | f998a07cc51d62db7f66be059d2a69d54a43e0b1 (patch) | |
| tree | 4053026a0f49a3d44c752996614c41629b186ffa /core/src/main/scala/chisel3/Aggregate.scala | |
| parent | 9c6253691eec325a2b69abe68bfdf16f5d378827 (diff) | |
Update Builder.scala
Diffstat (limited to 'core/src/main/scala/chisel3/Aggregate.scala')
| -rw-r--r-- | core/src/main/scala/chisel3/Aggregate.scala | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/core/src/main/scala/chisel3/Aggregate.scala b/core/src/main/scala/chisel3/Aggregate.scala index ab7fe53f..2c4f67db 100644 --- a/core/src/main/scala/chisel3/Aggregate.scala +++ b/core/src/main/scala/chisel3/Aggregate.scala @@ -148,8 +148,9 @@ class Vec[T <: Data] private[chisel3] (gen: => T, val vec_length: Int) extends A // simpler. private lazy val self: Seq[T] = { val _self = Vector.fill(vec_length)(gen) + val thisNode = Node(this) // Share the same Node for all elements. for ((elt, i) <- _self.zipWithIndex) - elt.setRef(this, i) + elt.setRef(thisNode, i) _self } @@ -225,7 +226,7 @@ class Vec[T <: Data] private[chisel3] (gen: => T, val vec_length: Int) extends A port.bind(ChildBinding(this), reconstructedResolvedDirection) val i = Vec.truncateIndex(p, length) - port.setRef(this, i) + port.setRef(Node(this), i) port } @@ -728,8 +729,9 @@ abstract class Record extends Aggregate { !opaqueType || (elements.size == 1 && elements.head._1 == ""), s"Opaque types must have exactly one element with an empty name, not ${elements.size}: ${elements.keys.mkString(", ")}" ) + val thisNode = Node(this) // Share the same Node for all elements. for ((name, elt) <- elements) { - elt.setRef(this, _namespace.name(name, leadingDigitOk = true), opaque = opaqueType) + elt.setRef(thisNode, _namespace.name(name, leadingDigitOk = true), opaque = opaqueType) } } |
