aboutsummaryrefslogtreecommitdiffstats
path: root/src/VeriFuzz/Sim/Yosys.hs
diff options
context:
space:
mode:
authorYann Herklotz <git@ymhg.org>2019-04-18 18:16:35 +0100
committerYann Herklotz <git@ymhg.org>2019-04-18 18:16:35 +0100
commit97398438902d42b33aef475e3e357781582bec16 (patch)
treec027eda3c0167ef5aaacd68167c6aac75aff1f58 /src/VeriFuzz/Sim/Yosys.hs
parent7053c6117f39d39852b3259c677691b5df6e7c04 (diff)
downloadverismith-97398438902d42b33aef475e3e357781582bec16.tar.gz
verismith-97398438902d42b33aef475e3e357781582bec16.zip
Add output path to each simulator
Diffstat (limited to 'src/VeriFuzz/Sim/Yosys.hs')
-rw-r--r--src/VeriFuzz/Sim/Yosys.hs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/VeriFuzz/Sim/Yosys.hs b/src/VeriFuzz/Sim/Yosys.hs
index 17f52df..98244a6 100644
--- a/src/VeriFuzz/Sim/Yosys.hs
+++ b/src/VeriFuzz/Sim/Yosys.hs
@@ -31,7 +31,9 @@ import VeriFuzz.Verilog.AST
import VeriFuzz.Verilog.CodeGen
import VeriFuzz.Verilog.Mutate
-newtype Yosys = Yosys { yosysPath :: FilePath }
+data Yosys = Yosys { yosysPath :: {-# UNPACK #-} !FilePath
+ , yosysOutput :: {-# UNPACK #-} !FilePath
+ }
deriving (Eq)
instance Tool Yosys where
@@ -39,12 +41,14 @@ instance Tool Yosys where
instance Synthesiser Yosys where
runSynth = runSynthYosys
+ synthOutput = yosysOutput
+ setSynthOutput (Yosys a _) f = Yosys a f
instance Show Yosys where
show _ = "yosys"
defaultYosys :: Yosys
-defaultYosys = Yosys "yosys"
+defaultYosys = Yosys "yosys" "yosys/syn_yosys.v"
runSynthYosys :: Yosys -> SourceInfo -> FilePath -> ResultSh ()
runSynthYosys sim (SourceInfo _ src) outf = (<?> SynthFail) . liftSh $ do
@@ -112,8 +116,6 @@ runEquiv _ sim1 sim2 srcInfo = do
$ srcInfo
^. mainModule
writefile "test.sby" $ sbyConfig root sim1 sim2 srcInfo
- runSynth sim1 srcInfo $ fromText [st|syn_#{toText sim1}.v|]
- runMaybeSynth sim2 srcInfo
liftSh $ echoP "SymbiYosys: run"
execute_ EquivFail dir "symbiyosys" "sby" ["-f", "test.sby"]
liftSh $ echoP "SymbiYosys: done"