aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <git@ymhg.org>2019-04-17 19:19:14 +0100
committerYann Herklotz <git@ymhg.org>2019-04-17 19:19:14 +0100
commit56583318135a6a281d0f880637d5e0408ef690ee (patch)
treeca8c0a7ba0ac3ce7af2927c911b1457417813432
parent3e78950eed93462bad170b70368cc41e47c4be3c (diff)
downloadverismith-56583318135a6a281d0f880637d5e0408ef690ee.tar.gz
verismith-56583318135a6a281d0f880637d5e0408ef690ee.zip
Add Show instances to simulators
-rw-r--r--src/VeriFuzz/Sim/Icarus.hs8
-rw-r--r--src/VeriFuzz/Sim/Quartus.hs10
-rw-r--r--src/VeriFuzz/Sim/Vivado.hs5
-rw-r--r--src/VeriFuzz/Sim/XST.hs5
-rw-r--r--src/VeriFuzz/Sim/Yosys.hs5
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"