Trace

chisel3.experimental.Trace
object Trace

The util that records the reference map from original Data/Module annotated in Chisel and final FIRRTL.

Attributes

Example
 class Dut extends Module {
   val a = WireDefault(Bool())
   Trace.traceName(a)
 }
 val annos = (new ChiselStage).execute(Seq(ChiselGeneratorAnnotation(() => new Dut)))
 val dut = annos.collectFirst { case DesignAnnotation(dut) => dut }.get.asInstanceOf[CollideModule]
 // get final reference of `a` Seq(ReferenceTarget("Dut", "Dut", Seq.empty, "a", Seq.empty))
 val firrtlReferenceOfDutA = finalTarget(annos)(dut.a)
Source
Trace.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Trace.type

Members list

Value members

Concrete methods

def finalTarget(annos: AnnotationSeq)(x: HasId): Seq[CompleteTarget]

Get CompleteTarget of the target x for annos. This API can be used to find the final reference to a signal or module which is marked by traceName

Get CompleteTarget of the target x for annos. This API can be used to find the final reference to a signal or module which is marked by traceName

Attributes

Source
Trace.scala

Get all traced signal/module for annos This API can be used to gather all final reference to the signal or module which is marked by traceName

Get all traced signal/module for annos This API can be used to gather all final reference to the signal or module which is marked by traceName

Attributes

Source
Trace.scala
def traceName(x: RawModule): Unit

Trace a Instance name.

Trace a Instance name.

Attributes

Source
Trace.scala
def traceName(x: Data): Unit

Trace a Data name. This does NOT add "don't touch" semantics to the traced data. If you want this behavior, use an explicit chisel3.dontTouch.

Trace a Data name. This does NOT add "don't touch" semantics to the traced data. If you want this behavior, use an explicit chisel3.dontTouch.

Attributes

Source
Trace.scala