delaytransition.hs
来自「Cores are generated from Confluence a mo」· HS 代码 · 共 40 行
HS
40 行
-- | Transition delays of boolean signal.module Language.Atom.Common.DelayTransition ( delayRise , delayFall ) whereimport Language.Atomimport Language.Atom.Common.OneShotimport Language.Atom.Common.Timer-- | Delays the rise of a Term Bool by a given number of cycles. A fall is immediate.delayRise :: Name -> Int -> Term Bool -> System (Term Bool)delayRise name num input = scope name $ do assert "positiveNumber" $ num >= 0 t <- timer "timer" state <- bool "state" False rise <- oneShotRise "oneShot" input rule "start" $ do when rise start t num rule "set" $ do whenDone t when input state <== true rule "clear" $ do when $ inv input state <== false return $ input &&. value state-- | Delays the fall of a Term Bool by a given number of cycles. A rise is immediate.delayFall :: Name -> Int -> Term Bool -> System (Term Bool)delayFall name num input = do o <- delayRise name num $ inv input return $ inv o
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?