aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/Emitter.scala
diff options
context:
space:
mode:
authorJack Koenig2017-09-22 15:36:35 -0700
committerGitHub2017-09-22 15:36:35 -0700
commit34e9944aaf3c1fc76fcaaacc02509f217c0c0d63 (patch)
tree387d82ae7d07861609d9f0e4cf7ac249d379f764 /src/main/scala/firrtl/Emitter.scala
parentf04a18efdf4ca88fe1ac77acab30e21290957919 (diff)
Fix string lit (#663)
Refactor StringLit to use String instead of Array[Byte]
Diffstat (limited to 'src/main/scala/firrtl/Emitter.scala')
-rw-r--r--src/main/scala/firrtl/Emitter.scala9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/main/scala/firrtl/Emitter.scala b/src/main/scala/firrtl/Emitter.scala
index 8831e030..6386c33a 100644
--- a/src/main/scala/firrtl/Emitter.scala
+++ b/src/main/scala/firrtl/Emitter.scala
@@ -197,9 +197,7 @@ class VerilogEmitter extends SeqTransform with Emitter {
def stringify(param: Param): String = param match {
case IntParam(name, value) => s".$name($value)"
case DoubleParam(name, value) => s".$name($value)"
- case StringParam(name, value) =>
- val strx = "\"" + VerilogStringLitHandler.escape(value) + "\""
- s".${name}($strx)"
+ case StringParam(name, value) => s".${name}(${value.verilogEscape})"
case RawStringParam(name, value) => s".$name($value)"
}
def stringify(tpe: GroundType): String = tpe match {
@@ -516,9 +514,7 @@ class VerilogEmitter extends SeqTransform with Emitter {
def stop(ret: Int): Seq[Any] = Seq(if (ret == 0) "$finish;" else "$fatal;")
def printf(str: StringLit, args: Seq[Expression]): Seq[Any] = {
- val q = '"'.toString
- val strx = s"""$q${VerilogStringLitHandler escape str}$q""" +:
- (args flatMap (Seq("," , _)))
+ val strx = str.verilogEscape +: args.flatMap(Seq(",",_))
Seq("$fwrite(32'h80000002,", strx, ");")
}
@@ -575,7 +571,6 @@ class VerilogEmitter extends SeqTransform with Emitter {
assign(WRef(sx.name, sx.value.tpe, NodeKind, MALE), sx.value)
sx
case sx: Stop =>
- val errorString = StringLit(s"${sx.ret}\n".getBytes)
simulate(sx.clk, sx.en, stop(sx.ret), Some("STOP_COND"))
sx
case sx: Print =>