diff options
| author | Jack Koenig | 2016-03-20 12:03:02 -0700 |
|---|---|---|
| committer | Jack Koenig | 2016-03-20 12:03:02 -0700 |
| commit | 28ebd2009f5d37aa0302508d1ce71156cc49a807 (patch) | |
| tree | 2355641a4d220a9e153bcfe8ba9f002dfc85b704 /src/test/scala/chiselTests/Assert.scala | |
| parent | e7594b79fa1979ca65da15aea0834660292ee378 (diff) | |
| parent | 7602c999b7c05d290e858bc5a355db9300928070 (diff) | |
Merge pull request #124 from ucb-bar/fix-assert
Fix assert
Diffstat (limited to 'src/test/scala/chiselTests/Assert.scala')
| -rw-r--r-- | src/test/scala/chiselTests/Assert.scala | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/src/test/scala/chiselTests/Assert.scala b/src/test/scala/chiselTests/Assert.scala index 54ebf366..24eb8b55 100644 --- a/src/test/scala/chiselTests/Assert.scala +++ b/src/test/scala/chiselTests/Assert.scala @@ -8,12 +8,39 @@ import Chisel.testers.BasicTester class FailingAssertTester() extends BasicTester { assert(Bool(false)) - stop() + // Wait to come out of reset + val (_, done) = Counter(!reset, 4) + when (done) { + stop() + } } class SucceedingAssertTester() extends BasicTester { assert(Bool(true)) - stop() + // Wait to come out of reset + val (_, done) = Counter(!reset, 4) + when (done) { + stop() + } +} + +class PipelinedResetModule extends Module { + val io = new Bundle { } + val a = Reg(init = UInt(0xbeef)) + val b = Reg(init = UInt(0xbeef)) + assert(a === b) +} + +// This relies on reset being asserted for 3 or more cycles +class PipelinedResetTester extends BasicTester { + val module = Module(new PipelinedResetModule) + + module.reset := Reg(next = Reg(next = Reg(next = reset))) + + val (_, done) = Counter(!reset, 4) + when (done) { + stop() + } } class AssertSpec extends ChiselFlatSpec { @@ -23,4 +50,7 @@ class AssertSpec extends ChiselFlatSpec { "A succeeding assertion" should "not fail the testbench" in { assertTesterPasses{ new SucceedingAssertTester } } + "An assertion" should "not assert until we come out of reset" in { + assertTesterPasses{ new PipelinedResetTester } + } } |
