Copyright | (c) ForSyDe Group KTH 2007-2008 |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | forsyde-dev@ict.kth.se |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell98 |
The synchronous process library defines processes for the synchronous computational model. It is based on the synchronous library ForSyDe.Shallow.MoC.Synchronous.
Synopsis
- fifoDelaySY :: Signal [a] -> Signal (AbstExt a)
- finiteFifoDelaySY :: Int -> Signal [a] -> Signal (AbstExt a)
- memorySY :: Int -> Signal (Access a) -> Signal (AbstExt a)
- mergeSY :: Signal (AbstExt a) -> Signal (AbstExt a) -> Signal (AbstExt a)
- groupSY :: Int -> Signal a -> Signal (AbstExt (Vector a))
- counterSY :: (Enum a, Ord a) => a -> a -> Signal a
Documentation
fifoDelaySY :: Signal [a] -> Signal (AbstExt a) Source #
The process fifoDelaySY
implements a synchronous model of a
FIFO with infinite size. The FIFOs take a list of values at each
event cycle and output one value. There is a delay of one cycle.
finiteFifoDelaySY :: Int -> Signal [a] -> Signal (AbstExt a) Source #
The process finiteFifoDelaySY
implements a FIFO with finite
size. The FIFOs take a list of values at each event cycle and
output one value. There is a delay of one cycle.
memorySY :: Int -> Signal (Access a) -> Signal (AbstExt a) Source #
The process memorySY
implements a synchronous memory. It uses
access functions of the type 'Read adr' and 'Write adr value'.
mergeSY :: Signal (AbstExt a) -> Signal (AbstExt a) -> Signal (AbstExt a) Source #
The process mergeSY
merges two input signals into a single
signal. The process has an internal buffer in order to prevent loss
of data. The process is deterministic and outputs events according
to their time tag. If there are two valid values at on both
signals. The value of the first signal is output first.