diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/scala/chiselTests/When.scala | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/scala/chiselTests/When.scala b/src/test/scala/chiselTests/When.scala index d4491e13..d2646df7 100644 --- a/src/test/scala/chiselTests/When.scala +++ b/src/test/scala/chiselTests/When.scala @@ -53,6 +53,28 @@ class OverlappedWhenTester() extends BasicTester { } } +class NoOtherwiseOverlappedWhenTester() extends BasicTester { + val cnt = Counter(4) + when(true.B) { cnt.inc() } + + val out = Wire(UInt(3.W)) + when(cnt.value <= 0.U) { + out := 1.U + } .elsewhen (cnt.value <= 1.U) { + out := 2.U + } .elsewhen (cnt.value <= 2.U) { + out := 3.U + } .elsewhen (cnt.value <= 3.U) { + out := 0.U + } + + assert(out === cnt.value + 1.U) + + when(cnt.value === 3.U) { + stop() + } +} + class WhenSpec extends ChiselFlatSpec { "When, elsewhen, and otherwise with orthogonal conditions" should "work" in { assertTesterPasses{ new WhenTester } @@ -60,4 +82,7 @@ class WhenSpec extends ChiselFlatSpec { "When, elsewhen, and otherwise with overlapped conditions" should "work" in { assertTesterPasses{ new OverlappedWhenTester } } + "When and elsewhen without otherwise with overlapped conditions" should "work" in { + assertTesterPasses{ new NoOtherwiseOverlappedWhenTester } + } } |
