diff options
Diffstat (limited to 'src/Test')
-rw-r--r-- | src/Test/VeriFuzz/Simulator/General.hs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/Test/VeriFuzz/Simulator/General.hs b/src/Test/VeriFuzz/Simulator/General.hs index c7dfd99..b513b79 100644 --- a/src/Test/VeriFuzz/Simulator/General.hs +++ b/src/Test/VeriFuzz/Simulator/General.hs @@ -12,10 +12,11 @@ Class of the simulator and the synthesize tool. module Test.VeriFuzz.Simulator.General where +import Data.Bits (shiftL) +import Data.ByteString (ByteString) +import qualified Data.ByteString as B import Data.ByteString.Builder (byteStringHex, toLazyByteString) -import Data.ByteString.Char8 (ByteString) -import qualified Data.ByteString.Char8 as B -import qualified Data.ByteString.Lazy.Char8 as BL +import qualified Data.ByteString.Lazy as BL import Data.Text (Text) import qualified Data.Text as T import qualified Data.Text.Lazy as TL @@ -56,5 +57,7 @@ synthesizers = ["yosys", "xst"] simulators :: [Text] simulators = ["yosim", "iverilog"] -toHex :: ByteString -> Text -toHex bs = T.pack . BL.unpack . toLazyByteString $ byteStringHex bs +-- | Helper function to convert bytestrings to integers +bsToI :: ByteString -> Integer +bsToI = B.foldl' (\i b -> (i `shiftL` 8) + fromIntegral b) 0 +{-# INLINE bsToI #-} |