MTL_Monitor/tests/MTL_Examples/notofnot.hs

32 lines
1.2 KiB
Haskell

module Notofnot where
import Clash.Explicit.Testbench
import Clash.Prelude
import ProcessingElement(processingElement)
import Queue(queue,queuetest)
f (x,y) = x
g (x,y) = y
queue_mealy1 inp = mealy queue (0:>Nil) inp
--size=5
--queue_mealy2 :: HiddenClockResetEnable dom => Signal dom (Unsigned 5,Unsigned 5,Unsigned 5,Unsigned 5,Unsigned 5,Unsigned 5,Unsigned 5,Unsigned 5,Unsigned 5,Unsigned 5) -> Signal dom Bool
queue_mealy2 inp = mealy queue (0:>0:>0:>0:>0:>0:>Nil) inp
processingElement_mealy_not1 inp = mealy processingElement (0,(31,31,0,0,31,31,31,31,31,31),(0,0,31,31,31,31,31,31,31,31)) inp
processingElement_mealy_not2 inp = mealy processingElement (0,(31,31,0,0,31,31,31,31,31,31),(0,0,31,31,31,31,31,31,31,31)) inp
--out1 inp = processingElement_mealy_not2 (queue_mealy2 inp)
--out inp = queue_mealy1 (processingElement_mealy_not1 inp)
--out1 inp = processingElement_mealy_not2 (queue_mealy1 (processingElement_mealy_not1 inp))
not_of_not inp = queue_mealy2 (processingElement_mealy_not2 (queue_mealy1 (processingElement_mealy_not1 inp)))
topEntity
:: Clock System
-> Reset System
-> Enable System
-> Signal System Bool
-> Signal System Bool
topEntity = exposeClockResetEnable not_of_not