Copyright | (C) 2015-2016 University of Twente |
---|---|
License | BSD2 (see the file LICENSE) |
Maintainer | Christiaan Baaij <christiaan.baaij@gmail.com> |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Extensions |
|
RAM primitives with a combinational read port.
- asyncRam :: Enum addr => SNat n -> Signal addr -> Signal (Maybe (addr, a)) -> Signal a
- asyncRamPow2 :: KnownNat n => Signal (Unsigned n) -> Signal (Maybe (Unsigned n, a)) -> Signal a
- asyncRam' :: Enum addr => SClock wclk -> SClock rclk -> SNat n -> Signal' rclk addr -> Signal' wclk (Maybe (addr, a)) -> Signal' rclk a
- asyncRamPow2' :: forall wclk rclk n a. KnownNat n => SClock wclk -> SClock rclk -> Signal' rclk (Unsigned n) -> Signal' wclk (Maybe (Unsigned n, a)) -> Signal' rclk a
- asyncRam# :: SClock wclk -> SClock rclk -> SNat n -> Signal' rclk Int -> Signal' wclk Bool -> Signal' wclk Int -> Signal' wclk a -> Signal' rclk a
RAM synchronised to the system clock
:: Enum addr | |
=> SNat n | Size |
-> Signal addr | Read address |
-> Signal (Maybe (addr, a)) | (write address |
-> Signal a | Value of the |
Create a RAM with space for n
elements.
- NB: Initial content of the RAM is
undefined
Additional helpful information:
- See CLaSH.Prelude.BlockRam for more information on how to use a RAM.
:: KnownNat n | |
=> Signal (Unsigned n) | Read address |
-> Signal (Maybe (Unsigned n, a)) | (write address |
-> Signal a | Value of the |
Create a RAM with space for 2^n
elements
- NB: Initial content of the RAM is
undefined
Additional helpful information:
- See CLaSH.Prelude.BlockRam for more information on how to use a RAM.
RAM synchronised to an arbitrary clock
:: Enum addr | |
=> SClock wclk |
|
-> SClock rclk |
|
-> SNat n | Size |
-> Signal' rclk addr | Read address |
-> Signal' wclk (Maybe (addr, a)) | (write address |
-> Signal' rclk a | Value of the |
Create a RAM with space for n
elements
- NB: Initial content of the RAM is
undefined
Additional helpful information:
- See CLaSH.Prelude.BlockRam for more information on how to use a RAM.
:: KnownNat n | |
=> SClock wclk |
|
-> SClock rclk |
|
-> Signal' rclk (Unsigned n) | Read address |
-> Signal' wclk (Maybe (Unsigned n, a)) | (write address |
-> Signal' rclk a | Value of the |
Create a RAM with space for 2^n
elements
- NB: Initial content of the RAM is
undefined
Additional helpful information:
- See CLaSH.Prelude.BlockRam for more information on how to use a RAM.
Internal
:: SClock wclk |
|
-> SClock rclk |
|
-> SNat n | Size |
-> Signal' rclk Int | Read address |
-> Signal' wclk Bool | Write enable |
-> Signal' wclk Int | Write address |
-> Signal' wclk a | Value to write (at address |
-> Signal' rclk a | Value of the |
RAM primitive