Marks that a signal should not be removed by Chisel and Firrtl optimization passes
Example:
class MyModule extends Module {
val io = IO(new Bundle {
val a = Input(UInt(32.W))
val b = Output(UInt(32.W))
})
io.b := io.a
val dead = io.a +% 1.U // normally dead would be pruned by DCE
dontTouch(dead) // Marking it as such will preserve it
}
Note
Calling this on Data creates an annotation that Chisel emits to a separate annotations
file. This file must be passed to FIRRTL independently of the .fir file. The execute methods
in chisel3.Driver will pass the annotations to FIRRTL automatically.
Marks that a signal should not be removed by Chisel and Firrtl optimization passes
Calling this on Data creates an annotation that Chisel emits to a separate annotations file. This file must be passed to FIRRTL independently of the
.fir
file. The execute methods in chisel3.Driver will pass the annotations to FIRRTL automatically.