Skip to content

Stack Overflow when connecting Probe in FlatIO #4687

@Emin017

Description

@Emin017

Type of issue: Bug Report

Please provide the steps to reproduce the problem:

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
[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:

[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<uint<32>>'
[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<uint<32>>, !firrtl.const.uint<1>) -> !firrtl.uint<1>
[382]
[382] ------------------------------------------------------------------------------
[382]   ...
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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions