diff options
author | Yann Herklotz <git@ymhg.org> | 2019-04-17 11:01:43 +0100 |
---|---|---|
committer | Yann Herklotz <git@ymhg.org> | 2019-04-17 11:01:43 +0100 |
commit | 1db2dbfd5ffa617e58e95d42fbc84c3cdae56b4a (patch) | |
tree | 87af85f8f0e2d1025c55cc30c9828812587d5068 /src/VeriFuzz/Sim/Quartus.hs | |
parent | 449caedc72a6ccc76934149205202d43052a214c (diff) | |
download | verismith-1db2dbfd5ffa617e58e95d42fbc84c3cdae56b4a.tar.gz verismith-1db2dbfd5ffa617e58e95d42fbc84c3cdae56b4a.zip |
Update simulator with Result type
Diffstat (limited to 'src/VeriFuzz/Sim/Quartus.hs')
-rw-r--r-- | src/VeriFuzz/Sim/Quartus.hs | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/VeriFuzz/Sim/Quartus.hs b/src/VeriFuzz/Sim/Quartus.hs index 13b27ae..bed20ed 100644 --- a/src/VeriFuzz/Sim/Quartus.hs +++ b/src/VeriFuzz/Sim/Quartus.hs @@ -18,6 +18,7 @@ where import Prelude hiding (FilePath) import Shelly +import Shelly.Lifted (liftSh) import VeriFuzz.Sim.Internal import VeriFuzz.Verilog.AST import VeriFuzz.Verilog.CodeGen @@ -34,20 +35,19 @@ instance Synthesiser Quartus where defaultQuartus :: Quartus defaultQuartus = Quartus Nothing -runSynthQuartus :: Quartus -> SourceInfo -> FilePath -> Sh () +runSynthQuartus :: Quartus -> SourceInfo -> FilePath -> ResultSh () runSynthQuartus sim (SourceInfo top src) outf = do - dir <- pwd - writefile inpf $ genSource src - echoP "Running Quartus synthesis" - logger_ dir "quartus" $ timeout - (exec "quartus_map") - [top, "--source=" <> toTextIgnore inpf, "--family=Cyclone V"] - logger_ dir "quartus" - $ timeout (exec "quartus_fit") [top, "--part=5CGXFC7D6F27C6"] - logger_ dir "quartus" - $ timeout (exec "quartus_eda") [top, "--simulation", "--tool=vcs"] -- --formal_verification --tool=conformal - cp (fromText "simulation/vcs" </> fromText top <.> "vo") outf - echoP "Quartus synthesis done" + dir <- liftSh pwd + let ex = execute_ SynthFail dir "quartus" + liftSh $ do + writefile inpf $ genSource src + echoP "Running Quartus synthesis" + ex (exec "quartus_map") [top, "--source=" <> toTextIgnore inpf, "--family=Cyclone V"] + ex (exec "quartus_fit") [top, "--part=5CGXFC7D6F27C6"] + ex (exec "quartus_eda") [top, "--simulation", "--tool=vcs"] + liftSh $ do + cp (fromText "simulation/vcs" </> fromText top <.> "vo") outf + echoP "Quartus synthesis done" where inpf = "rtl.v" exec s = maybe (fromText s) (</> fromText s) $ quartusBin sim |