| Copyright | (c) Alexandre Joannou 2020-2021 |
|---|---|
| License | MIT |
| Stability | experimental |
| Safe Haskell | Safe-Inferred |
| Language | GHC2021 |
Blarney.Backend.SMT
Description
Convert Blarney Netlist to SMT scripts.
Synopsis
- data VerifyDepth
- = Range Int Int
- | IncreaseFrom Int
- fixedDepth :: Int -> VerifyDepth
- data VerifyMode
- = Bounded VerifyDepth
- | Induction VerifyDepth UseRestrictedStates
- data UserConf = UserConf {}
- dfltUserConf :: UserConf
- data VerifyConf = VerifyConf {}
- dfltVerifyConf :: VerifyConf
- genSMTScript :: VerifyConf -> Netlist -> String -> String -> IO ()
- verifyWithSMT :: VerifyConf -> Netlist -> IO ()
Documentation
data VerifyDepth Source #
Type to control depth of verification
Constructors
| Range Int Int | Span depths between both |
| IncreaseFrom Int | Span all depths increasingly starting from the |
Instances
| Show VerifyDepth # | |
Defined in Blarney.Backend.SMT Methods showsPrec :: Int -> VerifyDepth -> ShowS # show :: VerifyDepth -> String # showList :: [VerifyDepth] -> ShowS # | |
fixedDepth :: Int -> VerifyDepth Source #
Helper function to construct a VerifyDepth describing a fixed unique
depth n, i.e. `Range n n`
data VerifyMode Source #
Type to specify the kind of verification desired
Constructors
| Bounded VerifyDepth | property holds up to a certain depth |
| Induction VerifyDepth UseRestrictedStates | property holds by induction |
Configuration type for interaction with a human user
Constructors
| UserConf | |
Fields
| |
dfltUserConf :: UserConf Source #
Default UserConf:
dfltUserConf = UserConf { userConfInteractive = False
, userConfIncreasePeriod = 4 }
data VerifyConf Source #
Configuration type for a verification session
Constructors
| VerifyConf | |
Fields
| |
dfltVerifyConf :: VerifyConf Source #
Default VerifyConf:
dfltVerifyConf = VerifyConf { verifyConfMode = Bounded (Range 1 1)
, verifyConfSolverCmd = ("z3", ["-in"])
, verifyConfUser = dfltUserConf
, verifyConfVerbosity = 1 }
Arguments
| :: VerifyConf | configuration for the verification |
| -> Netlist | blarney netlist |
| -> String | script name |
| -> String | output directory |
| -> IO () |
Convert given blarney Netlist to an SMT script
Arguments
| :: VerifyConf | configuration for the verification |
| -> Netlist | blarney property |
| -> IO () |
Verify given blarney Netlist predicate using an SMT solver