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/test/scala/firrtlTests/VerilogEmitterTests.scala | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/test') diff --git a/src/test/scala/firrtlTests/VerilogEmitterTests.scala b/src/test/scala/firrtlTests/VerilogEmitterTests.scala index 7ea2f03a..cf2ff320 100644 --- a/src/test/scala/firrtlTests/VerilogEmitterTests.scala +++ b/src/test/scala/firrtlTests/VerilogEmitterTests.scala @@ -267,6 +267,24 @@ class VerilogEmitterSpec extends FirrtlFlatSpec { } } + "Initial Blocks" should "be guarded by ifndef SYNTHESIS" in { + val input = + """circuit Test : + | module Test : + | input clock : Clock + | input reset : AsyncReset + | input in : UInt<8> + | output out : UInt<8> + | reg r : UInt<8>, clock with : (reset => (reset, UInt(0))) + | r <= in + | out <= r + """.stripMargin + val state = CircuitState(parse(input), ChirrtlForm) + val result = (new VerilogCompiler).compileAndEmit(state, List()) + result should containLines ("`ifndef SYNTHESIS", "initial begin") + result should containLines ("end // initial", "`endif // SYNTHESIS") + } + "Verilog name conflicts" should "be resolved" in { val input = """|circuit parameter: -- cgit v1.2.3