aboutsummaryrefslogtreecommitdiffstats
path: root/src/Test/VeriFuzz/Simulator/Icarus.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Test/VeriFuzz/Simulator/Icarus.hs')
-rw-r--r--src/Test/VeriFuzz/Simulator/Icarus.hs35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/Test/VeriFuzz/Simulator/Icarus.hs b/src/Test/VeriFuzz/Simulator/Icarus.hs
new file mode 100644
index 0000000..10b72e0
--- /dev/null
+++ b/src/Test/VeriFuzz/Simulator/Icarus.hs
@@ -0,0 +1,35 @@
+{-|
+Module : Test.VeriFuzz.Simulator.Icarus
+Description : Icarus verilog module.
+Copyright : (c) Yann Herklotz Grave 2018
+License : GPL-3
+Maintainer : ymherklotz@gmail.com
+Stability : experimental
+Portability : POSIX
+
+Icarus verilog module.
+-}
+
+{-# LANGUAGE QuasiQuotes #-}
+
+module Test.VeriFuzz.Simulator.Icarus where
+
+import Data.Text (Text)
+import qualified Data.Text as T
+import Prelude hiding (FilePath)
+import Shelly
+import Test.VeriFuzz.Simulator.General
+import Test.VeriFuzz.Verilog.AST
+import Test.VeriFuzz.Verilog.CodeGen
+import Text.Shakespeare.Text (st)
+
+data Icarus = Icarus { icarusPath :: FilePath }
+
+instance Simulator Icarus where
+ toText _ = "iverilog"
+
+instance Simulate Icarus where
+ runSim = runSimIcarus
+
+runSimIcarus :: Icarus -> ModDecl -> [Int] -> Sh Int
+runSimIcarus sim mod inp = return 0