summaryrefslogtreecommitdiff
path: root/src/main/scala/chisel3/util/experimental
diff options
context:
space:
mode:
authorSchuyler Eldridge2019-09-12 11:58:56 -0400
committerSchuyler Eldridge2019-10-21 12:04:16 -0400
commit54f68516404d2d40a79c6a2f8dbb70ed7016d147 (patch)
tree32f358d5b44bda3d2c5a163e8127a71c4f186664 /src/main/scala/chisel3/util/experimental
parent7b93b0f8c48e39cc9730cf9f91340cf733dadafe (diff)
Fix BoringUtils.bore for internal boring
This fixes a bug where internal boring using BoringUtils.bore would fail because it was using instanceName which cannot be called before the module closes. Previously, this meant that BoringUtils.bore would work for boring instances (which are closed in a parent), but not for boring signals in the current, unclosed module. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Diffstat (limited to 'src/main/scala/chisel3/util/experimental')
-rw-r--r--src/main/scala/chisel3/util/experimental/BoringUtils.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/scala/chisel3/util/experimental/BoringUtils.scala b/src/main/scala/chisel3/util/experimental/BoringUtils.scala
index da5b3fd0..36b3fb88 100644
--- a/src/main/scala/chisel3/util/experimental/BoringUtils.scala
+++ b/src/main/scala/chisel3/util/experimental/BoringUtils.scala
@@ -181,8 +181,14 @@ object BoringUtils {
* component
*/
def bore(source: Data, sinks: Seq[Data]): String = {
- lazy val genName = addSource(source, source.instanceName, true, true)
+ val boringName = try {
+ source.instanceName
+ } catch {
+ case _: Exception => "bore"
+ }
+ val genName = addSource(source, boringName, true, true)
sinks.map(addSink(_, genName, true, true))
genName
}
+
}