Copyright | (c) 2019 Yann Herklotz Grave |
---|---|
License | GPL-3 |
Maintainer | yann [at] yannherklotz [dot] com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
Generate a report from a fuzz run.
Synopsis
- data SynthTool
- data SynthStatus = SynthStatus !SynthTool !UResult !NominalDiffTime
- data SynthResult = SynthResult !SynthTool !SynthTool !UResult !NominalDiffTime
- data SimResult = SimResult !SynthTool !SimTool ![ByteString] !BResult !NominalDiffTime
- newtype SimTool = IcarusSim Icarus
- data FuzzReport = FuzzReport {
- _fuzzDir :: !FilePath
- _synthResults :: ![SynthResult]
- _simResults :: ![SimResult]
- _synthStatus :: ![SynthStatus]
- _fileLines :: !Int
- _synthTime :: !NominalDiffTime
- _equivTime :: !NominalDiffTime
- _reducTime :: !NominalDiffTime
- printResultReport :: Text -> FuzzReport -> Text
- printSummary :: Text -> [FuzzReport] -> Text
- synthResults :: Lens' FuzzReport [SynthResult]
- simResults :: Lens' FuzzReport [SimResult]
- synthStatus :: Lens' FuzzReport [SynthStatus]
- equivTime :: Lens' FuzzReport NominalDiffTime
- fuzzDir :: Lens' FuzzReport FilePath
- fileLines :: Lens' FuzzReport Int
- reducTime :: Lens' FuzzReport NominalDiffTime
- synthTime :: Lens' FuzzReport NominalDiffTime
- defaultIcarusSim :: SimTool
- defaultVivadoSynth :: SynthTool
- defaultYosysSynth :: SynthTool
- defaultXSTSynth :: SynthTool
- defaultQuartusSynth :: SynthTool
- defaultQuartusLightSynth :: SynthTool
- defaultIdentitySynth :: SynthTool
- descriptionToSim :: SimDescription -> SimTool
- descriptionToSynth :: SynthDescription -> SynthTool
Documentation
XSTSynth !XST | |
VivadoSynth !Vivado | |
YosysSynth !Yosys | |
QuartusSynth !Quartus | |
QuartusLightSynth !QuartusLight | |
IdentitySynth !Identity |
data SynthStatus Source #
The status of the synthesis using a simulator. This will be checked before attempting to run the equivalence checks on the simulator, as that would be unnecessary otherwise.
SynthStatus !SynthTool !UResult !NominalDiffTime |
Instances
Eq SynthStatus Source # | |
Defined in Verismith.Report (==) :: SynthStatus -> SynthStatus -> Bool # (/=) :: SynthStatus -> SynthStatus -> Bool # | |
Show SynthStatus Source # | |
Defined in Verismith.Report showsPrec :: Int -> SynthStatus -> ShowS # show :: SynthStatus -> String # showList :: [SynthStatus] -> ShowS # |
data SynthResult Source #
The results of comparing the synthesised outputs of two files using a formal equivalence checker. This will either return a failure or an output which is most likely '()'.
SynthResult !SynthTool !SynthTool !UResult !NominalDiffTime |
Instances
Eq SynthResult Source # | |
Defined in Verismith.Report (==) :: SynthResult -> SynthResult -> Bool # (/=) :: SynthResult -> SynthResult -> Bool # | |
Show SynthResult Source # | |
Defined in Verismith.Report showsPrec :: Int -> SynthResult -> ShowS # show :: SynthResult -> String # showList :: [SynthResult] -> ShowS # |
The results from running a tool through a simulator. It can either fail or
return a result, which is most likely a ByteString
.
SimResult !SynthTool !SimTool ![ByteString] !BResult !NominalDiffTime |
Instances
Eq SimTool Source # | |
Show SimTool Source # | |
NFData SimTool Source # | |
Defined in Verismith.Report | |
Simulator SimTool Source # | |
Defined in Verismith.Report runSim :: SimTool -> SourceInfo -> [ByteString] -> ResultSh ByteString Source # runSimWithFile :: SimTool -> FilePath -> [ByteString] -> ResultSh ByteString Source # | |
Tool SimTool Source # | |
data FuzzReport Source #
The complete state that will be used during fuzzing, which contains the results from all the operations.
FuzzReport | |
|
Instances
Eq FuzzReport Source # | |
Defined in Verismith.Report (==) :: FuzzReport -> FuzzReport -> Bool # (/=) :: FuzzReport -> FuzzReport -> Bool # | |
Show FuzzReport Source # | |
Defined in Verismith.Report showsPrec :: Int -> FuzzReport -> ShowS # show :: FuzzReport -> String # showList :: [FuzzReport] -> ShowS # |
printResultReport :: Text -> FuzzReport -> Text Source #
printSummary :: Text -> [FuzzReport] -> Text Source #
descriptionToSynth :: SynthDescription -> SynthTool Source #
Convert a description to a synthesiser.