diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2018-12-31 19:13:36 +0100 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2018-12-31 19:13:36 +0100 |
commit | 22f24805cba393c92c3adde289a8412ead5ecd65 (patch) | |
tree | 88dc6e4678a06d90bf97ff3b20706fc7f7d1f80e /src/Test | |
parent | de580a7d4b5f4def9f0b71c6cff33ccad45d678b (diff) | |
download | verismith-22f24805cba393c92c3adde289a8412ead5ecd65.tar.gz verismith-22f24805cba393c92c3adde289a8412ead5ecd65.zip |
Adding code to Icarus
Diffstat (limited to 'src/Test')
-rw-r--r-- | src/Test/VeriFuzz/Simulator/Icarus.hs | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/Test/VeriFuzz/Simulator/Icarus.hs b/src/Test/VeriFuzz/Simulator/Icarus.hs index 119544f..e59e4ab 100644 --- a/src/Test/VeriFuzz/Simulator/Icarus.hs +++ b/src/Test/VeriFuzz/Simulator/Icarus.hs @@ -16,13 +16,13 @@ module Test.VeriFuzz.Simulator.Icarus where import Data.ByteString (ByteString) import qualified Data.ByteString as B +import Data.Hashable 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 Test.VeriFuzz.Verilog import Text.Shakespeare.Text (st) data Icarus = Icarus { icarusPath :: FilePath } @@ -34,4 +34,16 @@ instance Simulate Icarus where runSim = runSimIcarus runSimIcarus :: Icarus -> ModDecl -> [ByteString] -> Sh Int -runSimIcarus sim mod inp = return 0 +runSimIcarus sim mod tst = do + let tb = ModDecl "main" [] [] + [ Initial $ SeqBlock + [ SysTaskEnable $ Task "display" + [ Str "21832" ] + , SysTaskEnable $ Task "finish" [] + ] + ] + let newtb = instantiateMod mod tb + let modWithTb = VerilogSrc $ Description <$> [newtb, mod] + writefile "main.v" $ genSource modWithTb + run_ "iverilog" ["-o", "main", "main.v"] + hash <$> run "vvp" ["main"] |