aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackkoenig2016-01-28 18:25:49 -0800
committerjackkoenig2016-01-28 18:25:49 -0800
commitaea3a6874d16cacb0d5fb366bf885116a3c8e649 (patch)
tree91ba6b6f8ccb243cc2b544d47793873beecd5bc9 /src
parent00ec2aa525bbf95a72f62a0134f4c6f834152934 (diff)
WIP Added support for is invalid and validif to Scala FIRRTL
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/firrtl/Utils.scala2
-rw-r--r--src/main/scala/firrtl/Visitor.scala2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/Utils.scala b/src/main/scala/firrtl/Utils.scala
index 58f102b3..fdd71f8f 100644
--- a/src/main/scala/firrtl/Utils.scala
+++ b/src/main/scala/firrtl/Utils.scala
@@ -171,7 +171,7 @@ object Utils {
b.stmts.foreach { s ++= newline ++ _.serialize }
s.result + debug(b)
}
- case i: IsInvalid => s"${i.exp} is invalid"
+ case i: IsInvalid => s"${i.exp.serialize} is invalid"
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 "") + ")"
diff --git a/src/main/scala/firrtl/Visitor.scala b/src/main/scala/firrtl/Visitor.scala
index 21a19166..6c428611 100644
--- a/src/main/scala/firrtl/Visitor.scala
+++ b/src/main/scala/firrtl/Visitor.scala
@@ -174,6 +174,8 @@ class Visitor(val fullFilename: String) extends FIRRTLBaseVisitor[AST]
else (UnknownWidth, string2BigInt(ctx.IntLit(0).getText))
SIntValue(value, width)
}
+ case "validif(" => ValidIf(visitExp(ctx.exp(0)), visitExp(ctx.exp(1)), UnknownType)
+ // TODO implement mux
case _ =>
ctx.getChild(1).getText match {
case "." => new SubField(visitExp(ctx.exp(0)), ctx.id.getText, UnknownType)