From 56583318135a6a281d0f880637d5e0408ef690ee Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Wed, 17 Apr 2019 19:19:14 +0100 Subject: Add Show instances to simulators --- src/VeriFuzz/Sim/Icarus.hs | 8 ++++++-- src/VeriFuzz/Sim/Quartus.hs | 10 +++++++--- src/VeriFuzz/Sim/Vivado.hs | 5 ++++- src/VeriFuzz/Sim/XST.hs | 5 ++++- src/VeriFuzz/Sim/Yosys.hs | 5 ++++- 5 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/VeriFuzz/Sim/Icarus.hs b/src/VeriFuzz/Sim/Icarus.hs index 8396ff6..aceb516 100644 --- a/src/VeriFuzz/Sim/Icarus.hs +++ b/src/VeriFuzz/Sim/Icarus.hs @@ -45,7 +45,10 @@ import VeriFuzz.Verilog.Mutate data Icarus = Icarus { icarusPath :: FilePath , vvpPath :: FilePath } - deriving (Eq, Show) + deriving (Eq) + +instance Show Icarus where + show _ = "show" instance Tool Icarus where toText _ = "iverilog" @@ -106,7 +109,8 @@ runSimIcarus sim rinfo bss = do annotate SimFail $ runSimWithFile sim "main.v" bss where m = rinfo ^. mainModule -runSimIcarusWithFile :: Icarus -> FilePath -> [ByteString] -> ResultSh ByteString +runSimIcarusWithFile + :: Icarus -> FilePath -> [ByteString] -> ResultSh ByteString runSimIcarusWithFile sim f _ = annotate SimFail . liftSh $ do dir <- pwd echoP "Icarus: Compile" diff --git a/src/VeriFuzz/Sim/Quartus.hs b/src/VeriFuzz/Sim/Quartus.hs index bed20ed..0463009 100644 --- a/src/VeriFuzz/Sim/Quartus.hs +++ b/src/VeriFuzz/Sim/Quartus.hs @@ -24,7 +24,10 @@ import VeriFuzz.Verilog.AST import VeriFuzz.Verilog.CodeGen newtype Quartus = Quartus { quartusBin :: Maybe FilePath } - deriving (Eq, Show) + deriving (Eq) + +instance Show Quartus where + show _ = "quartus" instance Tool Quartus where toText _ = "quartus" @@ -42,8 +45,9 @@ runSynthQuartus sim (SourceInfo top src) outf = do 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_map") + [top, "--source=" <> toTextIgnore inpf, "--family=Cyclone V"] + ex (exec "quartus_fit") [top, "--part=5CGXFC7D6F31C6"] ex (exec "quartus_eda") [top, "--simulation", "--tool=vcs"] liftSh $ do cp (fromText "simulation/vcs" fromText top <.> "vo") outf diff --git a/src/VeriFuzz/Sim/Vivado.hs b/src/VeriFuzz/Sim/Vivado.hs index a30af7d..fb43ceb 100644 --- a/src/VeriFuzz/Sim/Vivado.hs +++ b/src/VeriFuzz/Sim/Vivado.hs @@ -25,7 +25,10 @@ import VeriFuzz.Verilog.AST import VeriFuzz.Verilog.CodeGen newtype Vivado = Vivado { vivadoPath :: FilePath } - deriving (Eq, Show) + deriving (Eq) + +instance Show Vivado where + show _ = "vivado" instance Tool Vivado where toText _ = "vivado" diff --git a/src/VeriFuzz/Sim/XST.hs b/src/VeriFuzz/Sim/XST.hs index 866563c..488c404 100644 --- a/src/VeriFuzz/Sim/XST.hs +++ b/src/VeriFuzz/Sim/XST.hs @@ -30,7 +30,10 @@ import VeriFuzz.Verilog.CodeGen data XST = XST { xstPath :: {-# UNPACK #-} !FilePath , netgenPath :: {-# UNPACK #-} !FilePath } - deriving (Eq, Show) + deriving (Eq) + +instance Show XST where + show _ = "xst" instance Tool XST where toText _ = "xst" diff --git a/src/VeriFuzz/Sim/Yosys.hs b/src/VeriFuzz/Sim/Yosys.hs index 3e1754a..17f52df 100644 --- a/src/VeriFuzz/Sim/Yosys.hs +++ b/src/VeriFuzz/Sim/Yosys.hs @@ -32,7 +32,7 @@ import VeriFuzz.Verilog.CodeGen import VeriFuzz.Verilog.Mutate newtype Yosys = Yosys { yosysPath :: FilePath } - deriving (Eq, Show) + deriving (Eq) instance Tool Yosys where toText _ = "yosys" @@ -40,6 +40,9 @@ instance Tool Yosys where instance Synthesiser Yosys where runSynth = runSynthYosys +instance Show Yosys where + show _ = "yosys" + defaultYosys :: Yosys defaultYosys = Yosys "yosys" -- cgit