32 lines
475 B
Haskell
32 lines
475 B
Haskell
|
module ListState where
|
||
|
|
||
|
import Clash.Prelude
|
||
|
import qualified Data.List
|
||
|
|
||
|
lst = [1,2,3]
|
||
|
|
||
|
tf
|
||
|
:: Int
|
||
|
-> ()
|
||
|
-> (Int, Int)
|
||
|
tf s i = (mod (s+1) 3, (Data.List.!!) lst s)
|
||
|
|
||
|
tfun
|
||
|
:: SystemClockResetEnable
|
||
|
=> Signal System ()
|
||
|
-> Signal System Int
|
||
|
tfun = mealy tf 0
|
||
|
|
||
|
|
||
|
topEntity
|
||
|
:: Clock System
|
||
|
-> Reset System
|
||
|
-> Enable System
|
||
|
-> Signal System ()
|
||
|
-> Signal System Int
|
||
|
topEntity = exposeClockResetEnable tfun
|
||
|
|
||
|
{-
|
||
|
compiles and synthesizes
|
||
|
-}
|