From 28ffacca906c688f01454c4e24768572613e2d00 Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Wed, 30 Oct 2019 22:38:45 -0700 Subject: Guard initial blocks in emitted Verilog with `ifndef SYNTHESIS --- src/main/scala/firrtl/Emitter.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/main') diff --git a/src/main/scala/firrtl/Emitter.scala b/src/main/scala/firrtl/Emitter.scala index c427e0fc..32027f67 100644 --- a/src/main/scala/firrtl/Emitter.scala +++ b/src/main/scala/firrtl/Emitter.scala @@ -878,6 +878,7 @@ class VerilogEmitter extends SeqTransform with Emitter { emit(Seq(s" reg [$width:0] initvar;")) } emit(Seq("`endif")) + emit(Seq("`ifndef SYNTHESIS")) emit(Seq("initial begin")) emit(Seq(" `ifdef RANDOMIZE")) emit(Seq(" `ifdef INIT_RANDOM")) @@ -897,7 +898,8 @@ class VerilogEmitter extends SeqTransform with Emitter { for (x <- initials) emit(Seq(tab, x)) emit(Seq(" `endif // RANDOMIZE")) for (x <- asyncInitials) emit(Seq(tab, x)) - emit(Seq("end")) + emit(Seq("end // initial")) + emit(Seq("`endif // SYNTHESIS")) } for ((clk, content) <- noResetAlwaysBlocks if content.nonEmpty) { -- cgit v1.2.3