aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackkoenig2016-01-28 18:10:20 -0800
committerjackkoenig2016-01-28 18:10:20 -0800
commit00ec2aa525bbf95a72f62a0134f4c6f834152934 (patch)
treee9d65cc982d85ca879cab067f95b7355385c1cb8 /src
parent53cac5ce88100b6c50781e0ddaecada235e5fe27 (diff)
WIP Added support for stop to Scala FIRRTL
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/firrtl/Utils.scala2
-rw-r--r--src/main/scala/firrtl/Visitor.scala3
2 files changed, 2 insertions, 3 deletions
diff --git a/src/main/scala/firrtl/Utils.scala b/src/main/scala/firrtl/Utils.scala
index ca4153e7..58f102b3 100644
--- a/src/main/scala/firrtl/Utils.scala
+++ b/src/main/scala/firrtl/Utils.scala
@@ -172,7 +172,7 @@ object Utils {
s.result + debug(b)
}
case i: IsInvalid => s"${i.exp} is invalid"
- case s: Stop => s"stop(${s.clk}, ${s.en}, ${s.ret})"
+ case s: Stop => s"stop(${s.clk.serialize}, ${s.en.serialize}, ${s.ret})"
case p: Print => s"printf(${p.clk.serialize}, ${p.en.serialize}, ${p.string}" +
(if (p.args.nonEmpty) p.args.map(_.serialize).mkString(", ", ", ", "") else "") + ")"
case Empty => "skip"
diff --git a/src/main/scala/firrtl/Visitor.scala b/src/main/scala/firrtl/Visitor.scala
index 8cdb0110..21a19166 100644
--- a/src/main/scala/firrtl/Visitor.scala
+++ b/src/main/scala/firrtl/Visitor.scala
@@ -133,8 +133,7 @@ class Visitor(val fullFilename: String) extends FIRRTLBaseVisitor[AST]
val alt = if (ctx.block.length > 1) visitBlock(ctx.block(1)) else Empty
Conditionally(info, visitExp(ctx.exp(0)), visitBlock(ctx.block(0)), alt)
}
- // TODO implement stop
- // TODO implement printf
+ case "stop(" => Stop(info, string2Int(ctx.IntLit(0).getText), visitExp(ctx.exp(0)), visitExp(ctx.exp(1)))
case "printf(" => Print(info, ctx.StringLit.getText, ctx.exp.drop(2).map(visitExp),
visitExp(ctx.exp(0)), visitExp(ctx.exp(1)))
case "skip" => Empty