From 644fde8a67e0bd3c2bc02bcc50694caf2f782bb2 Mon Sep 17 00:00:00 2001 From: David Biancolin Date: Thu, 5 Mar 2020 11:28:02 -0800 Subject: [PATCH] [AutoCounter] DontTouch all signals --- .../scala/midas/passes/AutoCounterCoverTransform.scala | 3 +++ .../targetutils/src/main/scala/midas/annotations.scala | 10 ++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sim/midas/src/main/scala/midas/passes/AutoCounterCoverTransform.scala b/sim/midas/src/main/scala/midas/passes/AutoCounterCoverTransform.scala index 936dd012..3d6c0837 100644 --- a/sim/midas/src/main/scala/midas/passes/AutoCounterCoverTransform.scala +++ b/sim/midas/src/main/scala/midas/passes/AutoCounterCoverTransform.scala @@ -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 diff --git a/sim/midas/targetutils/src/main/scala/midas/annotations.scala b/sim/midas/targetutils/src/main/scala/midas/annotations.scala index 0240dc5a..5402fee7 100644 --- a/sim/midas/targetutils/src/main/scala/midas/annotations.scala +++ b/sim/midas/targetutils/src/main/scala/midas/annotations.scala @@ -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) }) }