From 911b23e2ce898b1b9c1b3394e1dfa4522da51ccc Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Thu, 31 Oct 2019 18:52:20 +0000 Subject: Add parsing of existing rtl when starting fuzz run --- src/Verismith.hs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/Verismith.hs') diff --git a/src/Verismith.hs b/src/Verismith.hs index 41d845d..45977fe 100644 --- a/src/Verismith.hs +++ b/src/Verismith.hs @@ -85,6 +85,11 @@ getConfig :: Maybe FilePath -> IO Config getConfig s = maybe (return defaultConfig) parseConfigFile $ T.unpack . toTextIgnore <$> s +getGenerator :: Config -> Text -> Maybe FilePath -> IO (Gen SourceInfo) +getGenerator config top s = + maybe (return $ proceduralSrc top config) (fmap return . parseSourceInfoFile top) + $ toTextIgnore <$> s + -- | Randomly remove an option by setting it to 0. randDelete :: Int -> IO Int randDelete i = do @@ -126,14 +131,15 @@ randomise config@(Config a _ c d e) = do ce = config ^. configProbability . probExpr handleOpts :: Opts -> IO () -handleOpts (Fuzz o configF f k n nosim noequiv noreduction) = do +handleOpts (Fuzz o configF f k n nosim noequiv noreduction file top) = do config <- getConfig configF + gen <- getGenerator config top file datadir <- getDataDir _ <- runFuzz (FuzzOpts (Just $ fromText o) f k n nosim noequiv noreduction config (toFP datadir)) defaultYosys - (fuzzMultiple (proceduralSrc "top" config)) + (fuzzMultiple gen) return () handleOpts (Generate f c) = do config <- getConfig c -- cgit