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/Vivado.hs | |
parent | 449caedc72a6ccc76934149205202d43052a214c (diff) | |
download | verismith-1db2dbfd5ffa617e58e95d42fbc84c3cdae56b4a.tar.gz verismith-1db2dbfd5ffa617e58e95d42fbc84c3cdae56b4a.zip |
Update simulator with Result type
Diffstat (limited to 'src/VeriFuzz/Sim/Vivado.hs')
-rw-r--r-- | src/VeriFuzz/Sim/Vivado.hs | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/VeriFuzz/Sim/Vivado.hs b/src/VeriFuzz/Sim/Vivado.hs index 88328a6..a30af7d 100644 --- a/src/VeriFuzz/Sim/Vivado.hs +++ b/src/VeriFuzz/Sim/Vivado.hs @@ -18,6 +18,7 @@ where import Prelude hiding (FilePath) import Shelly +import Shelly.Lifted (liftSh) import VeriFuzz.Sim.Internal import VeriFuzz.Sim.Template import VeriFuzz.Verilog.AST @@ -35,16 +36,18 @@ instance Synthesiser Vivado where defaultVivado :: Vivado defaultVivado = Vivado "vivado" -runSynthVivado :: Vivado -> SourceInfo -> FilePath -> Sh () +runSynthVivado :: Vivado -> SourceInfo -> FilePath -> ResultSh () runSynthVivado sim (SourceInfo top src) outf = do - dir <- pwd - writefile vivadoTcl . vivadoSynthConfig top $ toTextIgnore outf - writefile "rtl.v" $ genSource src - run_ "sed" ["s/^module/(* use_dsp48=\"no\" *) module/;", "-i", "rtl.v"] - echoP "Vivado: run" - logger_ dir "vivado" - $ timeout - (vivadoPath sim) - ["-mode", "batch", "-source", toTextIgnore vivadoTcl] - echoP "Vivado: done" + dir <- liftSh pwd + liftSh $ do + writefile vivadoTcl . vivadoSynthConfig top $ toTextIgnore outf + writefile "rtl.v" $ genSource src + run_ "sed" ["s/^module/(* use_dsp48=\"no\" *) module/;", "-i", "rtl.v"] + echoP "Vivado: run" + execute_ SynthFail + dir + "vivado" + (vivadoPath sim) + ["-mode", "batch", "-source", toTextIgnore vivadoTcl] + liftSh $ echoP "Vivado: done" where vivadoTcl = fromText ("vivado_" <> top) <.> "tcl" |