aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/analyses
diff options
context:
space:
mode:
authoralonamid2018-05-11 14:50:05 -0700
committerAdam Izraelevitz2018-05-11 14:50:05 -0700
commitabcb22d6c34eb51749e7bc848b437a165bc5b330 (patch)
treeb63d8bc97bd6b750d36dcacc913816f095b1db1f /src/main/scala/firrtl/analyses
parent77cfdbf05cafa78946a5684a0e4a530ebecd6547 (diff)
TopWiring Transform (#798)
* top wiring transform * fixup comments * TopWiring cosmetics * move prefix into TopWiringAnnotation * remove test function from transform file * add ChildrenMap to InstanceGraph API * use namespaces * remove wiringUtils from TopWiring pass * enable multiple output functions * TopWiring cosmetics, tests and lowform
Diffstat (limited to 'src/main/scala/firrtl/analyses')
-rw-r--r--src/main/scala/firrtl/analyses/InstanceGraph.scala10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/analyses/InstanceGraph.scala b/src/main/scala/firrtl/analyses/InstanceGraph.scala
index c6e590af..91cf8d44 100644
--- a/src/main/scala/firrtl/analyses/InstanceGraph.scala
+++ b/src/main/scala/firrtl/analyses/InstanceGraph.scala
@@ -18,7 +18,7 @@ import firrtl.Mappers._
*/
class InstanceGraph(c: Circuit) {
- private val moduleMap = c.modules.map({m => (m.name,m) }).toMap
+ val moduleMap = c.modules.map({m => (m.name,m) }).toMap
private val instantiated = new mutable.HashSet[String]
private val childInstances =
new mutable.HashMap[String,mutable.Set[WDefInstance]]
@@ -93,6 +93,14 @@ class InstanceGraph(c: Circuit) {
def moduleOrder: Seq[DefModule] = {
graph.transformNodes(_.module).linearize.map(moduleMap(_))
}
+
+
+ /** Given a circuit, returns a map from module name to children
+ * instance/module definitions
+ */
+ def getChildrenInstances: scala.collection.Map[String,mutable.Set[WDefInstance]] = childInstances
+
+
}
object InstanceGraph {