[AutoCounter] DontTouch all signals
This commit is contained in:
parent
c91e6fad1f
commit
644fde8a67
|
@ -31,6 +31,9 @@ class FireSimPropertyLibrary extends BasePropertyLibrary {
|
|||
def generateProperty(prop_param: BasePropertyParameters)(implicit sourceInfo: SourceInfo) {
|
||||
//requireIsHardware(prop_param.cond, "condition covered for counter is not hardware!")
|
||||
if (!(prop_param.cond.isLit) && chisel3.experimental.DataMirror.internal.isSynthesizable(prop_param.cond)) {
|
||||
dontTouch(prop_param.cond)
|
||||
dontTouch(chisel3.Module.reset)
|
||||
dontTouch(chisel3.Module.clock)
|
||||
annotate(new ChiselAnnotation {
|
||||
val implicitClock = chisel3.Module.clock
|
||||
val implicitReset = chisel3.Module.reset
|
||||
|
|
|
@ -202,13 +202,11 @@ object PerfCounter {
|
|||
reset: Reset,
|
||||
label: String,
|
||||
message: String): Unit = {
|
||||
//Biancolin: WIP. Move the reset-driven gate into FIRRTL
|
||||
val predicate = !reset.toBool && target
|
||||
predicate.suggestName(label)
|
||||
dontTouch(predicate)
|
||||
dontTouch(reset)
|
||||
dontTouch(target)
|
||||
annotate(new ChiselAnnotation {
|
||||
def toFirrtl = AutoCounterFirrtlAnnotation(predicate.toNamed.toTarget, clock.toNamed.toTarget,
|
||||
reset.toNamed.toTarget, label, message)
|
||||
def toFirrtl = AutoCounterFirrtlAnnotation(target.toTarget, clock.toTarget,
|
||||
reset.toTarget, label, message)
|
||||
})
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue