aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/firrtlTests/RemoveWiresSpec.scala
diff options
context:
space:
mode:
authorJack Koenig2019-02-14 15:08:35 -0800
committerGitHub2019-02-14 15:08:35 -0800
commit2272044c6ab46b5148c39c124e66e1a8e9073a24 (patch)
tree83ad2141b1a3c54707dd9b33073f9217b0ae16c8 /src/test/scala/firrtlTests/RemoveWiresSpec.scala
parentd487b4cb6726e7e8d1a18f894021652594125221 (diff)
Asynchronous Reset (#1011)
Fixes #219 * Adds AsyncResetType (similar to ClockType) * Registers with reset signal of type AsyncResetType are async reset registers * Registers with async reset can only be reset to literal values * Add initialization logic for async reset registers
Diffstat (limited to 'src/test/scala/firrtlTests/RemoveWiresSpec.scala')
-rw-r--r--src/test/scala/firrtlTests/RemoveWiresSpec.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/scala/firrtlTests/RemoveWiresSpec.scala b/src/test/scala/firrtlTests/RemoveWiresSpec.scala
index d15e6908..e40a770b 100644
--- a/src/test/scala/firrtlTests/RemoveWiresSpec.scala
+++ b/src/test/scala/firrtlTests/RemoveWiresSpec.scala
@@ -165,4 +165,21 @@ class RemoveWiresSpec extends FirrtlFlatSpec {
// Check declaration before use is maintained
passes.CheckHighForm.execute(result)
}
+
+ it should "order registers with async reset correctly" in {
+ val result = compileBody(s"""
+ |input clock : Clock
+ |input reset : UInt<1>
+ |input in : UInt<8>
+ |output out : UInt<8>
+ |wire areset : AsyncReset
+ |reg r : UInt<8>, clock with : (reset => (areset, UInt(0)))
+ |areset <= asAsyncReset(reset)
+ |r <= in
+ |out <= r
+ |""".stripMargin
+ )
+ // Check declaration before use is maintained
+ passes.CheckHighForm.execute(result)
+ }
}