chipsalliance / chipsalliance/chisel

Stack Overflow when connecting Probe in FlatIO

Open
#4,687 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
4.8k
Forks
658
Avg merge
18h 59m
Merged PRs (30d)
14

Description

**Type of issue**: Bug Report

**Please provide the steps to reproduce the problem:**

```scala
class ProbeIO extends Bundle {
val a = UInt(32.W)
}
class WithProbeIO extends Bundle {
val probe = Output(Probe(new ProbeIO))
}
class FlatIOModule extends RawModule {
val io = FlatIO(new WithProbeIO)
val w = Wire(new ProbeIO)
define(io.probe, ProbeValue(w))
w.a := 0.U
dontTouch(io)
dontTouch(w)
}
class TestTop extends RawModule {
val testMod = Module(new FlatIOModule)
val r: Bool = testMod.io.probe.a === 0.U
dontTouch(r)
}
val verilog = ChiselStage.emitSystemVerilog(new TestTop)
println(verilog)
```

**What is the current behavior?**

Click to expand

```shell
[382] Probes StackOverFlow
[382] chiselTests.ProbeSpec *** ABORTED ***
[382] java.lang.StackOverflowError:
[382] at chisel3.DataImpl.$anonfun$topBindingOpt$1(DataImpl.scala:445)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.DataImpl.topBindingOpt(DataImpl.scala:444)
[382] at chisel3.DataImpl.topBindingOpt$(DataImpl.scala:444)
[382] at chisel3.Data.topBindingOpt(Data.scala:31)
[382] at chisel3.DataImpl.$anonfun$topBindingOpt$1(DataImpl.scala:445)
[382] java.lang.StackOverflowError
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.DataImpl.topBindingOpt(DataImpl.scala:444)
[382] at chisel3.DataImpl.topBindingOpt$(DataImpl.scala:444)
[382] at chisel3.DataImpl.$anonfun$topBindingOpt$1(DataImpl.scala:445)
[382] at chisel3.Element.topBindingOpt(Element.scala:29)
[382] ...
[382] java.lang.StackOverflowError
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.DataImpl.topBindingOpt(DataImpl.scala:444)
[382] at chisel3.DataImpl.topBindingOpt$(DataImpl.scala:444)
[382] at chisel3.Data.topBindingOpt(Data.scala:31)
[382] at chisel3.DataImpl.$anonfun$topBindingOpt$1(DataImpl.scala:445)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.DataImpl.topBindingOpt(DataImpl.scala:444)
[382] at chisel3.DataImpl.topBindingOpt$(DataImpl.scala:444)
[382] at chisel3.Element.topBindingOpt(Element.scala:29)
[382] at chisel3.Element.litArgOption(Element.scala:54)
[382] at chisel3.Element.litOption(Element.scala:61)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:224)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382] at scala.collection.immutable.Map$Map1.apply(Map.scala:263)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$4(package.scala:358)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:2141)
[382] at scala.collection.immutable.Vector1.map(Vector.scala:386)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$3(package.scala:356)
[382] at scala.Option.flatMap(Option.scala:283)
[382] at chisel3.experimental.dataview.package$.$anonfun$reifySingleTarget$2(package.scala:352)
[382] at scala.Option.orElse(Option.scala:477)
[382] at chisel3.experimental.dataview.package$.reifySingleTarget(package.scala:352)
[382] at chisel3.DataImpl.$anonfun$stringAccessor$3(DataImpl.scala:484)
[382] at scala.util.Try$.apply(Try.scala:217)
[382] at chisel3.DataImpl.stringAccessor(DataImpl.scala:484)
[382] at chisel3.DataImpl.stringAccessor$(DataImpl.scala:472)
[382] at chisel3.Data.stringAccessor(Data.scala:31)
[382] at chisel3.UIntImpl.toString(BitsImpl.scala:226)
[382] at chisel3.UIntImpl.toString$(BitsImpl.scala:223)
[382] at chisel3.UInt.toString(Bits.scala:295)
[382] at java.base/java.lang.String.valueOf(String.java:4556)
[382] at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)
[382/382] ============================== chisel[2.13.15].test.testOnly chiselTests.ProbeSpec ============================== 11s
1 tasks failed
chisel[2.13.15].test.testOnly Test reporting Failed: /Users/qimingchu/workbench/chisel/out/chisel/2.13.15/test/testOnly.dest/out.json does not exist
```

**What is the expected behavior?**

Although I know there's a problem with how this probe is connected, the error messages when using `IO` might be easier to understand, and it seems that it's reported by `firtool`:
```shell
[382] circt.stage.phases.Exceptions$FirtoolNonZeroExitCode: /Users/emin/Library/Caches/org.chipsalliance.llvm-firtool/1.104.0/bin/firtool returned a non-zero exit code. Note that this version of Chisel (7.0.0-M2+324-04dfcf19-SNAPSHOT) was published against firtool version 1.104.0.
[382] ------------------------------------------------------------------------------
[382] ExitCode:
[382] 1
[382] STDOUT:
[382]
[382] STDERR:
[382] src/test/scala/chiselTests/ProbeSpec.scala:767:40: error: 'firrtl.eq' op operand #0 must be sint or uint type, but got '!firrtl.probe>'
[382] val r: Bool = testMod.io.probe.a === 0.U
[382] ^
[382] src/test/scala/chiselTests/ProbeSpec.scala:767:40: note: see current operation: %4 = "firrtl.eq"(%2, %3) : (!firrtl.probe>, !firrtl.const.uint<1>) -> !firrtl.uint<1>
[382]
[382] ------------------------------------------------------------------------------
[382] ...
```
```scala
class ProbeIO extends Bundle {
val a = UInt(32.W)
}
class WithProbeIO extends Bundle {
val probe = Output(Probe(new ProbeIO))
}
class NoFlatIOModule extends RawModule {
val io = IO(new WithProbeIO) // <-- use IO() here
val w = Wire(new ProbeIO)
define(io.probe, ProbeValue(w))
w.a := 0.U
dontTouch(io)
dontTouch(w)
}
class TestTop extends RawModule {
val testMod = Module(new NoFlatIOModule)
val r: Bool = testMod.io.probe.a === 0.U
dontTouch(r)
}
val verilog = ChiselStage.emitSystemVerilog(new TestTop)
println(verilog)
```

**Please tell us about your environment:**

- version: `main`
- OS: `Darwin MacBook-Air 24.3.0 Darwin Kernel Version 24.3.0: Thu Jan 2 20:23:36 PST 2025; root:xnu-11215.81.4~3/RELEASE_ARM64_T8112 arm64`

**Other Information**

**What is the use case for changing the behavior?**

Contributor guide

Open the contributing guide

Research direction

Reproduce the example in the issue, then start with chisel3.DataImpl.topBindingOpt in DataImpl.scala and follow the stack through dataview.package.scala and BitsImpl.scala. Use chiselTests.ProbeSpec as the relevant test entry point; done means the example no longer aborts with StackOverflowError.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.