From 5b6430a8c88956c865f6ef3fe02efdc6f13823ee Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Thu, 7 Feb 2019 18:14:34 +0000 Subject: Add runner for verilog file --- src/VeriFuzz/Icarus.hs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/VeriFuzz/Icarus.hs b/src/VeriFuzz/Icarus.hs index 0519b93..b5b2b02 100644 --- a/src/VeriFuzz/Icarus.hs +++ b/src/VeriFuzz/Icarus.hs @@ -45,6 +45,7 @@ instance Simulator Icarus where instance Simulate Icarus where runSim = runSimIcarus + runSimWithFile = runSimIcarusWithFile defaultIcarus :: Icarus defaultIcarus = Icarus "iverilog" "vvp" @@ -91,7 +92,13 @@ runSimIcarus sim m bss = do let newtb = instantiateMod m tb let modWithTb = VerilogSrc $ Description <$> [newtb, m] writefile "main.v" $ genSource modWithTb - echoP "Run icarus" - run_ (icarusPath sim) ["-o", "main", "main.v"] + runSimWithFile sim "main.v" bss + +runSimIcarusWithFile :: Icarus -> FilePath -> [ByteString] -> Sh ByteString +runSimIcarusWithFile sim f _ = do + dir <- pwd + echoP "Icarus: Compile" + _ <- logger dir "icarus" $ run (icarusPath sim) ["-o", "main", toTextIgnore f] + echoP "Icarus: Run" B.take 8 . BA.convert . (hash :: ByteString -> Digest SHA256) <$> - runFoldLines (mempty :: ByteString) callback (vvpPath sim) ["main"] + logger dir "vvp" (runFoldLines (mempty :: ByteString) callback (vvpPath sim) ["main"]) -- cgit