verismith-1.1.0: Random verilog generation and simulator testing.
Copyright(c) 2019 Yann Herklotz
LicenseGPL-3
Maintaineryann [at] yannherklotz [dot] com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Verismith.Fuzz

Contents

Description

Environment to run the simulator and synthesisers in a matrix.

Synopsis

Documentation

type Fuzz (m :: Type -> Type) = StateT FuzzState (ReaderT FuzzEnv m) Source #

The main type for the fuzzing, which contains an environment that can be read from and the current state of all the results.

fuzz :: forall (m :: Type -> Type) ann. (MonadFuzz m, Ord ann, Show ann) => Gen (SourceInfo ann) -> Fuzz m FuzzReport Source #

fuzzInDir :: forall (m :: Type -> Type) ann. (MonadFuzz m, Ord ann, Show ann) => Gen (SourceInfo ann) -> Fuzz m FuzzReport Source #

fuzzMultiple :: forall (m :: Type -> Type) ann. (MonadFuzz m, Ord ann, Show ann) => Gen (SourceInfo ann) -> Fuzz m [FuzzReport] Source #

fuzzMultipleEMI :: forall (m :: Type -> Type) ann. (MonadFuzz m, Ord ann, Show ann) => Gen (SourceInfo (EMIInputs ann)) -> Fuzz m [FuzzReport] Source #

runFuzz :: MonadIO m => FuzzOpts -> Yosys -> Fuzz Sh a -> m a Source #

sampleSeed :: MonadSh m => Maybe Seed -> Gen a -> m (Seed, a) Source #

Helpers

make :: MonadSh m => FilePath -> m () Source #

pop :: (MonadBaseControl IO m, MonadSh m) => FilePath -> m a -> m a Source #