From 0a4ef66894821a131260e8895b53a9150f4a3ff0 Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" Date: Sun, 2 Oct 2016 02:31:30 -0700 Subject: [PATCH] BaseTop: record top module; more general than GraphML --- src/main/scala/rocketchip/BaseTop.scala | 3 ++- src/main/scala/util/GeneratorUtils.scala | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/scala/rocketchip/BaseTop.scala b/src/main/scala/rocketchip/BaseTop.scala index e290d68d..4bbdc974 100644 --- a/src/main/scala/rocketchip/BaseTop.scala +++ b/src/main/scala/rocketchip/BaseTop.scala @@ -54,6 +54,8 @@ abstract class BaseTop(q: Parameters) extends LazyModule { TLAtomicAutomata(arithmetic = p(PeripheryBusKey).arithAMO)( TLHintHandler()( legacy.node)))) + + TopModule.contents = Some(this) } abstract class BaseTopBundle(val p: Parameters) extends Bundle { @@ -93,7 +95,6 @@ abstract class BaseTopModule[+L <: BaseTop, +B <: BaseTopBundle]( println("\nGenerated Configuration String") println(p(ConfigString)) ConfigStringOutput.contents = Some(p(ConfigString)) - GraphMLOutput.contents = Some(outer.graphML) io.success := coreplexIO.success } diff --git a/src/main/scala/util/GeneratorUtils.scala b/src/main/scala/util/GeneratorUtils.scala index 7c782fa3..cca9842a 100644 --- a/src/main/scala/util/GeneratorUtils.scala +++ b/src/main/scala/util/GeneratorUtils.scala @@ -5,6 +5,7 @@ package util import Chisel._ import cde._ import java.io.{File, FileWriter} +import uncore.tilelink2.LazyModule /** Representation of the information this Generator needs to collect from external sources. */ case class ParsedInputNames( @@ -120,7 +121,7 @@ trait GeneratorApp extends App with HasGeneratorUtilities { /** Output a global LazyModule topology for documentation purposes. */ def generateGraphML { - GraphMLOutput.contents.foreach(c => writeOutputFile(td, s"${names.configs}.graphml", c)) + TopModule.contents.foreach(lm => writeOutputFile(td, s"${names.configs}.graphml", lm.graphML)) } } @@ -128,6 +129,6 @@ object ConfigStringOutput { var contents: Option[String] = None } -object GraphMLOutput { - var contents: Option[String] = None +object TopModule { + var contents: Option[LazyModule] = None }