Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions clash-prelude/src/Clash/Prelude/Testbench.hs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Maintainer : Christiaan Baaij <christiaan.baaij@gmail.com>
module Clash.Prelude.Testbench
( -- * Testbench functions for circuits
assert
, assertBitVector
, ignoreFor
, outputVerifier'
, outputVerifierBitVector'
Expand Down Expand Up @@ -69,6 +70,22 @@ assert msg actual expected ret =
hideReset (hideClock E.assert) msg actual expected ret
{-# INLINE assert #-}

-- | The same as 'assert', but can handle don't care bits in it's expected value.
assertBitVector
:: (KnownNat n, HiddenClock dom , HiddenReset dom )
=> String
-- ^ Additional message
-> Signal dom (BitVector n)
-- ^ Checked value
-> Signal dom (BitVector n)
-- ^ Expected value
-> Signal dom b
-- ^ Return value
-> Signal dom b
assertBitVector msg actual expected ret =
hideReset (hideClock E.assertBitVector) msg actual expected ret
{-# INLINE assertBitVector #-}

-- |
--
-- Example:
Expand Down