aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/transforms/DeadCodeElimination.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/firrtl/transforms/DeadCodeElimination.scala')
-rw-r--r--src/main/scala/firrtl/transforms/DeadCodeElimination.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/transforms/DeadCodeElimination.scala b/src/main/scala/firrtl/transforms/DeadCodeElimination.scala
index 1d9bfd0e..f72585d1 100644
--- a/src/main/scala/firrtl/transforms/DeadCodeElimination.scala
+++ b/src/main/scala/firrtl/transforms/DeadCodeElimination.scala
@@ -11,6 +11,7 @@ import firrtl.analyses.InstanceKeyGraph
import firrtl.Mappers._
import firrtl.Utils.{kind, throwInternalError}
import firrtl.MemoizedHash._
+import firrtl.backends.experimental.smt.random.DefRandom
import firrtl.options.{Dependency, RegisteredTransform, ShellOption}
import collection.mutable
@@ -126,6 +127,11 @@ class DeadCodeElimination extends Transform with RegisteredTransform with Depend
val node = LogicNode(mod.name, name)
depGraph.addVertex(node)
Seq(clock, reset, init).flatMap(getDeps(_)).foreach(ref => depGraph.addPairWithEdge(node, ref))
+ case DefRandom(_, name, _, clock, en) =>
+ val node = LogicNode(mod.name, name)
+ depGraph.addVertex(node)
+ val inputs = clock ++: en +: Nil
+ inputs.flatMap(getDeps).foreach(ref => depGraph.addPairWithEdge(node, ref))
case DefNode(_, name, value) =>
val node = LogicNode(mod.name, name)
depGraph.addVertex(node)
@@ -225,6 +231,7 @@ class DeadCodeElimination extends Transform with RegisteredTransform with Depend
val tpe = decl match {
case _: DefNode => "node"
case _: DefRegister => "reg"
+ case _: DefRandom => "rand"
case _: DefWire => "wire"
case _: Port => "port"
case _: DefMemory => "mem"