summaryrefslogtreecommitdiff
path: root/core/src/main
diff options
context:
space:
mode:
authorJack Koenig2020-11-03 14:51:58 -0800
committerGitHub2020-11-03 22:51:58 +0000
commit679dd54a8e0d65524b782459b64a10e0d91e3a9d (patch)
tree79008857bd9711660c420ba4955bb3a34d4db58f /core/src/main
parent7053848724b86d8a1ae4bf00ab416e0aaa35e3f9 (diff)
Remove Data.setRef assertion (#1654)
It causes issues for some legal (if awkward) patterns. A larger refactor of when refs are set could reinstate this check.
Diffstat (limited to 'core/src/main')
-rw-r--r--core/src/main/scala/chisel3/BlackBox.scala4
-rw-r--r--core/src/main/scala/chisel3/internal/Builder.scala3
2 files changed, 3 insertions, 4 deletions
diff --git a/core/src/main/scala/chisel3/BlackBox.scala b/core/src/main/scala/chisel3/BlackBox.scala
index 1b093ee1..8f831044 100644
--- a/core/src/main/scala/chisel3/BlackBox.scala
+++ b/core/src/main/scala/chisel3/BlackBox.scala
@@ -165,8 +165,8 @@ abstract class BlackBox(val params: Map[String, Param] = Map.empty[String, Param
// Long term solution will be to define BlackBox IO differently as part of
// it not descending from the (current) Module
for ((name, port) <- namedPorts) {
- // We have to force override the _ref because it was set during IO binding
- port.setRef(ModuleIO(this, _namespace.name(name)), force = true)
+ // Override the _ref because it was set during IO binding
+ port.setRef(ModuleIO(this, _namespace.name(name)))
}
// We need to call forceName and onModuleClose on all of the sub-elements
diff --git a/core/src/main/scala/chisel3/internal/Builder.scala b/core/src/main/scala/chisel3/internal/Builder.scala
index 30fa2db2..57a0f968 100644
--- a/core/src/main/scala/chisel3/internal/Builder.scala
+++ b/core/src/main/scala/chisel3/internal/Builder.scala
@@ -198,8 +198,7 @@ private[chisel3] trait HasId extends InstanceId {
}
private var _ref: Option[Arg] = None
- private[chisel3] def setRef(imm: Arg, force: Boolean = false): Unit = {
- assert(force || _ref.isEmpty, s"Internal Error, setRef for $this called twice! first ${_ref.get}, second $imm")
+ private[chisel3] def setRef(imm: Arg): Unit = {
_ref = Some(imm)
}
private[chisel3] def setRef(parent: HasId, name: String): Unit = setRef(Slot(Node(parent), name))