aboutsummaryrefslogtreecommitdiffstats
path: root/src/VeriFuzz/XST.hs
diff options
context:
space:
mode:
authorYann Herklotz <git@ymhg.org>2019-04-02 19:47:32 +0100
committerYann Herklotz <git@ymhg.org>2019-04-02 19:47:32 +0100
commitfd4b0b5152f94cd406f2e5de86ce7ed0a4d2cbd0 (patch)
tree673439d49fa095bf3ae9b7bbbca5f30d7ff20838 /src/VeriFuzz/XST.hs
parentc0c799ab3f79c370e4c33b8f824489ce8b1c96ec (diff)
downloadverismith-fd4b0b5152f94cd406f2e5de86ce7ed0a4d2cbd0.tar.gz
verismith-fd4b0b5152f94cd406f2e5de86ce7ed0a4d2cbd0.zip
Large refactor with passing tests
Diffstat (limited to 'src/VeriFuzz/XST.hs')
-rw-r--r--src/VeriFuzz/XST.hs65
1 files changed, 0 insertions, 65 deletions
diff --git a/src/VeriFuzz/XST.hs b/src/VeriFuzz/XST.hs
deleted file mode 100644
index 3f4f6c3..0000000
--- a/src/VeriFuzz/XST.hs
+++ /dev/null
@@ -1,65 +0,0 @@
-{-|
-Module : VeriFuzz.XST
-Description : Xst (ise) simulator implementation.
-Copyright : (c) 2018-2019, Yann Herklotz
-License : BSD-3
-Maintainer : ymherklotz [at] gmail [dot] com
-Stability : experimental
-Portability : POSIX
-
-Xst (ise) simulator implementation.
--}
-
-{-# LANGUAGE QuasiQuotes #-}
-
-module VeriFuzz.XST where
-
-import Prelude hiding (FilePath)
-import Shelly
-import Text.Shakespeare.Text (st)
-import VeriFuzz.CodeGen
-import VeriFuzz.Internal
-
-data Xst = Xst { xstPath :: {-# UNPACK #-} !FilePath
- , netgenPath :: {-# UNPACK #-} !FilePath
- }
- deriving (Eq, Show)
-
-instance Tool Xst where
- toText _ = "xst"
-
-instance Synthesisor Xst where
- runSynth = runSynthXst
-
-defaultXst :: Xst
-defaultXst = Xst "xst" "netgen"
-
-runSynthXst :: Xst -> SourceInfo -> FilePath -> Sh ()
-runSynthXst sim (SourceInfo top src) outf = do
- dir <- pwd
- writefile xstFile $ xstSynthConfig top
- writefile prjFile [st|verilog work "rtl.v"|]
- writefile "rtl.v" $ genSource src
- echoP "XST: run"
- _ <- logger dir "xst" $ timeout (xstPath sim) ["-ifn", toTextIgnore xstFile]
- echoP "XST: netgen"
- _ <- logger dir "netgen" $ run
- (netgenPath sim)
- [ "-w"
- , "-ofmt"
- , "verilog"
- , toTextIgnore $ modFile <.> "ngc"
- , toTextIgnore outf
- ]
- echoP "XST: clean"
- noPrint $ run_
- "sed"
- [ "-i"
- , "/^`ifndef/,/^`endif/ d; s/ *Timestamp: .*//;"
- , toTextIgnore outf
- ]
- echoP "XST: done"
- where
- modFile = fromText top
- xstFile = modFile <.> "xst"
- prjFile = modFile <.> "prj"