From a45035774408c5ca5115b9d2f03ae7c458298cd7 Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" Date: Thu, 7 Sep 2017 13:41:26 -0700 Subject: [PATCH] tilelink: Monitor construction method is unconditional Whether or not a Monitor should be placed is decided by diplomacy. --- src/main/scala/coreplex/Configs.scala | 3 --- src/main/scala/tilelink/Nodes.scala | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/scala/coreplex/Configs.scala b/src/main/scala/coreplex/Configs.scala index 710d1f57..3394e054 100644 --- a/src/main/scala/coreplex/Configs.scala +++ b/src/main/scala/coreplex/Configs.scala @@ -36,9 +36,6 @@ class BaseCoreplexConfig extends Config ((site, here, up) => { case PLICParams => PLICParams() case ClintParams => ClintParams() case DTSTimebase => BigInt(1000000) // 1 MHz - // TileLink connection global parameters - case TLMonitorBuilder => (args: TLMonitorArgs) => Some(LazyModule(new TLMonitor(args))) - case TLCombinationalCheck => false case TLBusDelayProbability => 0.0 }) diff --git a/src/main/scala/tilelink/Nodes.scala b/src/main/scala/tilelink/Nodes.scala index 513399ba..4d4912f4 100644 --- a/src/main/scala/tilelink/Nodes.scala +++ b/src/main/scala/tilelink/Nodes.scala @@ -9,8 +9,8 @@ import freechips.rocketchip.diplomacy._ import freechips.rocketchip.util.RationalDirection import scala.collection.mutable.ListBuffer -case object TLMonitorBuilder extends Field[TLMonitorArgs => Option[TLMonitorBase]] -case object TLCombinationalCheck extends Field[Boolean] +case object TLMonitorBuilder extends Field[TLMonitorArgs => TLMonitorBase](args => LazyModule(new TLMonitor(args))) +case object TLCombinationalCheck extends Field[Boolean](false) object TLImp extends NodeImp[TLClientPortParameters, TLManagerPortParameters, TLEdgeOut, TLEdgeIn, TLBundle] { @@ -26,7 +26,7 @@ object TLImp extends NodeImp[TLClientPortParameters, TLManagerPortParameters, TL override def connect(edges: () => Seq[TLEdgeIn], bundles: () => Seq[(TLBundle, TLBundle)], enableMonitoring: Boolean) (implicit p: Parameters, sourceInfo: SourceInfo): (Option[TLMonitorBase], () => Unit) = { - val monitor = if (enableMonitoring) p(TLMonitorBuilder)(TLMonitorArgs(edges, sourceInfo, p)) else None + val monitor = if (enableMonitoring) Some(p(TLMonitorBuilder)(TLMonitorArgs(edges, sourceInfo, p))) else None (monitor, () => { val eval = bundles () monitor.foreach { m => (eval zip m.module.io.in) foreach { case ((i,o), m) => m := TLBundleSnoop(o,i) } }