summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-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 {