diff options
| author | Jack Koenig | 2020-02-12 14:59:56 -0800 |
|---|---|---|
| committer | GitHub | 2020-02-12 22:59:56 +0000 |
| commit | bcad26c3fd9b9afdf9b27b0d489fec4e910d3d44 (patch) | |
| tree | b1d3771e9b337f7d684cc66b057f74ae693b544f /src/test/scala | |
| parent | ebef7f597b7e127652403d46b96f8d16360738fd (diff) | |
Fix := of Reset and AsyncReset to DontCare (#1336)
Diffstat (limited to 'src/test/scala')
| -rw-r--r-- | src/test/scala/chiselTests/AsyncResetSpec.scala | 22 | ||||
| -rw-r--r-- | src/test/scala/chiselTests/ResetSpec.scala | 22 |
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 { |
