summaryrefslogtreecommitdiff
path: root/src/test/scala/chiselTests
diff options
context:
space:
mode:
authorJack Koenig2020-02-12 14:59:56 -0800
committerGitHub2020-02-12 22:59:56 +0000
commitbcad26c3fd9b9afdf9b27b0d489fec4e910d3d44 (patch)
treeb1d3771e9b337f7d684cc66b057f74ae693b544f /src/test/scala/chiselTests
parentebef7f597b7e127652403d46b96f8d16360738fd (diff)
Fix := of Reset and AsyncReset to DontCare (#1336)
Diffstat (limited to 'src/test/scala/chiselTests')
-rw-r--r--src/test/scala/chiselTests/AsyncResetSpec.scala22
-rw-r--r--src/test/scala/chiselTests/ResetSpec.scala22
2 files changed, 44 insertions, 0 deletions
diff --git a/src/test/scala/chiselTests/AsyncResetSpec.scala b/src/test/scala/chiselTests/AsyncResetSpec.scala
index d2e04bf8..f602e9fb 100644
--- a/src/test/scala/chiselTests/AsyncResetSpec.scala
+++ b/src/test/scala/chiselTests/AsyncResetSpec.scala
@@ -119,10 +119,32 @@ class AsyncResetQueueTester extends BasicTester {
}
}
+class AsyncResetDontCareModule extends RawModule {
+ import chisel3.util.Valid
+ val monoPort = IO(Output(AsyncReset()))
+ monoPort := DontCare
+ val monoWire = Wire(AsyncReset())
+ monoWire := DontCare
+ val monoAggPort = IO(Output(Valid(AsyncReset())))
+ monoAggPort := DontCare
+ val monoAggWire = Wire(Valid(AsyncReset()))
+ monoAggWire := DontCare
+
+ // Can't bulk connect to Wire so only ports here
+ val bulkPort = IO(Output(AsyncReset()))
+ bulkPort <> DontCare
+ val bulkAggPort = IO(Output(Valid(AsyncReset())))
+ bulkAggPort <> DontCare
+}
+
class AsyncResetSpec extends ChiselFlatSpec {
behavior of "AsyncReset"
+ it should "be able to be connected to DontCare" in {
+ elaborate(new AsyncResetDontCareModule)
+ }
+
it should "be allowed with literal reset values" in {
elaborate(new BasicTester {
withReset(reset.asAsyncReset)(RegInit(123.U))
diff --git a/src/test/scala/chiselTests/ResetSpec.scala b/src/test/scala/chiselTests/ResetSpec.scala
index 2381aadc..2a17d52f 100644
--- a/src/test/scala/chiselTests/ResetSpec.scala
+++ b/src/test/scala/chiselTests/ResetSpec.scala
@@ -16,11 +16,33 @@ class ResetAgnosticModule extends RawModule {
out := reg
}
+class AbstractResetDontCareModule extends RawModule {
+ import chisel3.util.Valid
+ val monoPort = IO(Output(Reset()))
+ monoPort := DontCare
+ val monoWire = Wire(Reset())
+ monoWire := DontCare
+ val monoAggPort = IO(Output(Valid(Reset())))
+ monoAggPort := DontCare
+ val monoAggWire = Wire(Valid(Reset()))
+ monoAggWire := DontCare
+
+ // Can't bulk connect to Wire so only ports here
+ val bulkPort = IO(Output(Reset()))
+ bulkPort <> DontCare
+ val bulkAggPort = IO(Output(Valid(Reset())))
+ bulkAggPort <> DontCare
+}
+
class ResetSpec extends ChiselFlatSpec {
behavior of "Reset"
+ it should "be able to be connected to DontCare" in {
+ elaborate(new AbstractResetDontCareModule)
+ }
+
it should "allow writing modules that are reset agnostic" in {
val sync = compile(new Module {
val io = IO(new Bundle {