| 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-Inferred | 
| Language | Haskell2010 | 
ForSyDe.Shallow.MoC.Synchronous.Process
Description
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.