aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes/memlib/VerilogMemDelays.scala
diff options
context:
space:
mode:
authorAlbert Magyar2018-11-29 12:38:30 -0800
committerGitHub2018-11-29 12:38:30 -0800
commit055b5defc457e5833c406b20ad3a7a8845b4db86 (patch)
treed9436bd50086ae25ff7d03c3df01978e51e7362d /src/main/scala/firrtl/passes/memlib/VerilogMemDelays.scala
parent17d1d2db772f90b039210874aadb11a8a807baba (diff)
Replace Mappers with Foreachers in several passes (#954)
Diffstat (limited to 'src/main/scala/firrtl/passes/memlib/VerilogMemDelays.scala')
-rw-r--r--src/main/scala/firrtl/passes/memlib/VerilogMemDelays.scala18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/main/scala/firrtl/passes/memlib/VerilogMemDelays.scala b/src/main/scala/firrtl/passes/memlib/VerilogMemDelays.scala
index 5bdb880d..f06ca61a 100644
--- a/src/main/scala/firrtl/passes/memlib/VerilogMemDelays.scala
+++ b/src/main/scala/firrtl/passes/memlib/VerilogMemDelays.scala
@@ -7,6 +7,7 @@ import firrtl._
import firrtl.ir._
import firrtl.Utils._
import firrtl.Mappers._
+import firrtl.traversals.Foreachers._
import firrtl.PrimOps._
import MemPortUtils._
@@ -20,15 +21,10 @@ object VerilogMemDelays extends Pass {
private def NOT(e: Expression) = DoPrim(Not, Seq(e), Nil, BoolType)
private def AND(e1: Expression, e2: Expression) = DoPrim(And, Seq(e1, e2), Nil, BoolType)
- def buildNetlist(netlist: Netlist)(s: Statement): Statement = {
- s match {
- case Connect(_, loc, expr) => kind(loc) match {
- case MemKind => netlist(loc) = expr
- case _ =>
- }
- case _ =>
- }
- s map buildNetlist(netlist)
+ def buildNetlist(netlist: Netlist)(s: Statement): Unit = s match {
+ case Connect(_, loc, expr) if (kind(loc) == MemKind) => netlist(loc) = expr
+ case _ =>
+ s.foreach(buildNetlist(netlist))
}
def memDelayStmt(
@@ -154,8 +150,8 @@ object VerilogMemDelays extends Pass {
val namespace = Namespace(m)
val repl = new Netlist
val extraStmts = mutable.ArrayBuffer.empty[Statement]
- m.map(buildNetlist(netlist))
- .map(memDelayStmt(netlist, namespace, repl, extraStmts))
+ m.foreach(buildNetlist(netlist))
+ m.map(memDelayStmt(netlist, namespace, repl, extraStmts))
.map(replaceStmt(repl))
.map(appendStmts(extraStmts))
}