-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Reading and writing VCD files.
--
-- Defined by the Verilog standard, VCD (value change dump) is a file
-- format for capturing digital and analog waveforms, typically from HDL
-- simulation.
@package vcd
@version 0.2.2
-- | Building hierarchy from unstructured hierarchical paths.
module Data.VCD.Tree
data Tree a b
Branch :: a -> [Tree a b] -> Tree a b
Leaf :: a -> b -> Tree a b
tree :: (Eq a, Ord a) => (b -> [a]) -> [b] -> [Tree a b]
-- | Generating and parsing Value Change Dump (VCD) files.
module Data.VCD
-- | The VCDHandle keeps track of generation state and the output handle.
data VCDHandle
-- | VCD Timescale.
data Timescale
-- | seconds
S :: Timescale
-- | milliseconds
MS :: Timescale
-- | microseconds
US :: Timescale
-- | picoseconds
PS :: Timescale
-- | Types that can be recorded as VCD variables.
class Variable a
var :: Variable a => VCDHandle -> [String] -> a -> IO (a -> IO ())
-- | Helper to create new Variable instances.
variable :: Eq a => String -> Int -> (a -> String) -> VCDHandle -> [String] -> a -> IO (a -> IO ())
-- | Create a new handle for generating a VCD file with a given timescale.
newVCD :: Handle -> Timescale -> IO VCDHandle
-- | Set a time step. step will also transition a VCDHandle from the
-- definition to the recording phase.
step :: VCDHandle -> Int -> IO ()
-- | Save as step, but forces a step recording even if variables
-- have not changed. Useful for realtime simulation.
step' :: VCDHandle -> Int -> IO ()
-- | VCD database.
data VCD
VCD :: Timescale -> [Definition] -> [(Int, [(String, Value)])] -> VCD
-- | Variable definition.
data Definition
-- | Hierarchical scope.
Scope :: String -> [Definition] -> Definition
-- | Variable with type, width, code, name.
Var :: String -> Int -> String -> String -> Definition
-- | Recorded value.
data Value
Bool :: Bool -> Value
Bits :: [Bool] -> Value
Double :: Double -> Value
-- | Parse VCD data.
parseVCD :: String -> VCD
instance Show Value
instance Show Definition
instance Show VCD
instance Show Token
instance Eq Token
instance Variable Double
instance Variable Float
instance Variable Word64
instance Variable Word32
instance Variable Word16
instance Variable Word8
instance Variable Int64
instance Variable Int32
instance Variable Int16
instance Variable Int8
instance Variable Int
instance Variable Bool
instance Show Timescale