Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Clock = Clk Symbol Nat
- data SClock clk where
- data CSignal clk a = a :- (CSignal clk a)
- register# :: SClock clk -> a -> CSignal clk a -> CSignal clk a
- regEn# :: SClock clk -> a -> CSignal clk Bool -> CSignal clk a -> CSignal clk a
- mux :: CSignal clk Bool -> CSignal clk a -> CSignal clk a -> CSignal clk a
- (.&&.) :: CSignal clk Bool -> CSignal clk Bool -> CSignal clk Bool
- (.||.) :: CSignal clk Bool -> CSignal clk Bool -> CSignal clk Bool
- not1 :: CSignal clk Bool -> CSignal clk Bool
- (.==.) :: Eq a => CSignal clk a -> CSignal clk a -> CSignal clk Bool
- (./=.) :: Eq a => CSignal clk a -> CSignal clk a -> CSignal clk Bool
- compare1 :: Ord a => CSignal clk a -> CSignal clk a -> CSignal clk Ordering
- (.<.) :: Ord a => CSignal clk a -> CSignal clk a -> CSignal clk Bool
- (.<=.) :: Ord a => CSignal clk a -> CSignal clk a -> CSignal clk Bool
- (.>=.) :: Ord a => CSignal clk a -> CSignal clk a -> CSignal clk Bool
- (.>.) :: Ord a => CSignal clk a -> CSignal clk a -> CSignal clk Bool
- mapSignal# :: (a -> b) -> CSignal clk a -> CSignal clk b
- signal# :: a -> CSignal clk a
- appSignal# :: CSignal clk (a -> b) -> CSignal clk a -> CSignal clk b
- foldr# :: (a -> b -> b) -> b -> CSignal clk a -> b
- traverse# :: Applicative f => (a -> f b) -> CSignal clk a -> f (CSignal clk b)
- fromEnum1 :: Enum a => CSignal clk a -> CSignal clk Int
- toRational1 :: Real a => CSignal clk a -> CSignal clk Rational
- toInteger1 :: Integral a => CSignal clk a -> CSignal clk Integer
- testBit1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk Bool
- popCount1 :: Bits a => CSignal clk a -> CSignal clk Int
- shift1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a
- rotate1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a
- setBit1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a
- clearBit1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a
- shiftL1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a
- unsafeShiftL1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a
- shiftR1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a
- unsafeShiftR1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a
- rotateL1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a
- rotateR1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a
Datatypes
Singleton value for a type-level Clock
with the given name
and period
A synchronized signal with samples of type a
, explicitly synchronized to
a clock clk
NB: The constructor, (
, is not synthesisable.:-
)
Functor (CSignal clk) | |
Applicative (CSignal clk) | |
Foldable (CSignal clk) | NB: Not synthesisable NB: In "
|
Traversable (CSignal clk) | |
Bounded a => Bounded (CSignal clk a) | |
Enum a => Enum (CSignal clk a) | |
Eq (CSignal clk a) | WARNING: ( |
Fractional a => Fractional (CSignal clk a) | |
Integral a => Integral (CSignal clk a) | WARNING: |
Num a => Num (CSignal clk a) | |
Ord a => Ord (CSignal clk a) | WARNING: |
(Num a, Ord a) => Real (CSignal clk a) | WARNING: |
Show a => Show (CSignal clk a) | |
Bits a => Bits (CSignal clk a) | WARNING: |
FiniteBits a => FiniteBits (CSignal clk a) | |
Default a => Default (CSignal clk a) | |
Lift a => Lift (CSignal clk a) | |
SaturatingNum a => SaturatingNum (CSignal clk a) | |
ExtendingNum a b => ExtendingNum (CSignal clk a) (CSignal clk b) | |
type AResult (CSignal clk a) (CSignal clk b) = CSignal clk (AResult a b) | |
type MResult (CSignal clk a) (CSignal clk b) = CSignal clk (MResult a b) |
Basic circuits
Boolean connectives
Type classes
Eq
-like
Ord
-like
Functor
mapSignal# :: (a -> b) -> CSignal clk a -> CSignal clk b Source
Applicative
appSignal# :: CSignal clk (a -> b) -> CSignal clk a -> CSignal clk b Source
Foldable
foldr# :: (a -> b -> b) -> b -> CSignal clk a -> b Source
NB: Not synthesisable
NB: In "
":foldr#
f z s
- The function
f
should be lazy in its second argument. - The
z
element will never be used.
Traversable
traverse# :: Applicative f => (a -> f b) -> CSignal clk a -> f (CSignal clk b) Source
Enum
-like
Rational
-like
toRational1 :: Real a => CSignal clk a -> CSignal clk Rational Source
Version of toRational
that returns a CSignal
of Rational
Integral
-like
toInteger1 :: Integral a => CSignal clk a -> CSignal clk Integer Source
Version of toRational
that returns a CSignal
of Integer
Bits
-like
unsafeShiftL1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a Source
Version of unsafeShiftL
that has a CSignal
of Int
as indexing argument
unsafeShiftR1 :: Bits a => CSignal clk a -> CSignal clk Int -> CSignal clk a Source
Version of unsafeShiftR
that has a CSignal
of Int
as indexing argument