| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
CLaSH.Signal.Internal
Contents
- 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.:-)
Instances
| 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
fshould be lazy in its second argument. - The
zelement 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