aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/firrtl/backends/verilog/VerilogEmitter.scala14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/main/scala/firrtl/backends/verilog/VerilogEmitter.scala b/src/main/scala/firrtl/backends/verilog/VerilogEmitter.scala
index f48e4846..30d2e891 100644
--- a/src/main/scala/firrtl/backends/verilog/VerilogEmitter.scala
+++ b/src/main/scala/firrtl/backends/verilog/VerilogEmitter.scala
@@ -900,14 +900,8 @@ class VerilogEmitter extends SeqTransform with Emitter {
case MemoryLoadFileType.Binary => "$readmemb"
case MemoryLoadFileType.Hex => "$readmemh"
}
- if (emissionOptions.emitMemoryInitAsNoSynth) {
- memoryInitials += Seq(s"""$readmem("$filename", ${s.name});""")
- } else {
- val inlineLoad = s"""initial begin
- | $readmem("$filename", ${s.name});
- | end""".stripMargin
- memoryInitials += Seq(inlineLoad)
- }
+ memoryInitials += Seq(s"""$readmem("$filename", ${s.name});""")
+
case MemoryNoInit =>
// do nothing
}
@@ -1292,8 +1286,10 @@ class VerilogEmitter extends SeqTransform with Emitter {
emit(Seq("`FIRRTL_AFTER_INITIAL"))
emit(Seq("`endif"))
emit(Seq("`endif // SYNTHESIS"))
- if (!emissionOptions.emitMemoryInitAsNoSynth) {
+ if (!emissionOptions.emitMemoryInitAsNoSynth && !memoryInitials.isEmpty) {
+ emit(Seq("initial begin"))
for (x <- memoryInitials) emit(Seq(tab, x))
+ emit(Seq("end"))
}
}