aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorJack Koenig2019-10-30 22:38:45 -0700
committerJack Koenig2019-10-31 13:44:52 -0700
commit28ffacca906c688f01454c4e24768572613e2d00 (patch)
tree0cb3be00efe5f48d3bf2d10ff685122b035a4774 /src/test
parent68964fed765cd037f3db362a07d4a9ae48c38900 (diff)
Guard initial blocks in emitted Verilog with `ifndef SYNTHESIS
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/firrtlTests/VerilogEmitterTests.scala18
1 files changed, 18 insertions, 0 deletions
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: