| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
CLaSH.Signal.Implicit
Contents
- data Signal a
- signal :: a -> Signal a
- register :: a -> Signal a -> Signal a
- class Pack a where
- (<^) :: Applicative f => f a -> (a -> b -> c) -> f b -> f c
- (^>) :: Applicative f => (f a -> f b) -> f a -> f b
- simulate :: (Signal a -> Signal b) -> [a] -> [b]
- simulateP :: (Pack a, Pack b) => (SignalP a -> SignalP b) -> [a] -> [b]
- sample :: Signal a -> [a]
- sampleN :: Int -> Signal a -> [a]
- fromList :: [a] -> Signal a
Implicitly clocked synchronous signal
A synchronized signal with samples of type a, implicitly synchronized to
an unnamed global clock
Basic circuit functions
signal :: a -> Signal a Source
Create a constant Signal from a combinational value
>>>sample (signal 4)[4, 4, 4, 4, ...
(<^) :: Applicative f => f a -> (a -> b -> c) -> f b -> f c Source
Operator lifting, use in conjunction with (^>)
add2 :: Signal Int -> Signal Int add2 x = x <^(+)^> (signal 2)
>>>simulate add2 [1,2,3,...[3,4,5,...
(^>) :: Applicative f => (f a -> f b) -> f a -> f b Source
Operator lifting, use in conjunction with (<^)
add2 :: Signal Int -> Signal Int add2 x = x <^(+)^> (signal 2)
>>>simulate add2 [1,2,3,...[3,4,5,...