clash-prelude-1.8.4: Clash: a functional hardware description language - Prelude library

Safe Haskell | None
Language | Haskell2010

Clash.Signal.Internal.Ambiguous

Synopsis

- knownVDomain :: forall (dom :: Domain). KnownDomain dom => VDomainConfiguration
- clockPeriod :: forall (dom :: Domain) (period :: Nat). (KnownDomain dom, DomainPeriod dom ~ period) => SNat period
- activeEdge :: forall (dom :: Domain) (edge :: ActiveEdge). (KnownDomain dom, DomainActiveEdge dom ~ edge) => SActiveEdge edge
- resetKind :: forall (dom :: Domain) (sync :: ResetKind). (KnownDomain dom, DomainResetKind dom ~ sync) => SResetKind sync
- initBehavior :: forall (dom :: Domain) (init :: InitBehavior). (KnownDomain dom, DomainInitBehavior dom ~ init) => SInitBehavior init
- resetPolarity :: forall (dom :: Domain) (polarity :: ResetPolarity). (KnownDomain dom, DomainResetPolarity dom ~ polarity) => SResetPolarity polarity

# Documentation

knownVDomain :: forall (dom :: Domain). KnownDomain dom => VDomainConfiguration Source #

Like 'knownDomain but yields a `VDomainConfiguration`. Should only be used in combination with `createDomain`.

clockPeriod :: forall (dom :: Domain) (period :: Nat). (KnownDomain dom, DomainPeriod dom ~ period) => SNat period Source #

Get the clock period from a KnownDomain context

activeEdge :: forall (dom :: Domain) (edge :: ActiveEdge). (KnownDomain dom, DomainActiveEdge dom ~ edge) => SActiveEdge edge Source #

Get `ActiveEdge` from a KnownDomain context. Example usage:

    f :: forall dom . KnownDomain dom => ....
    f a b c =
      case activeEdge @dom of
        SRising -> foo
        SFalling -> bar

resetKind :: forall (dom :: Domain) (sync :: ResetKind). (KnownDomain dom, DomainResetKind dom ~ sync) => SResetKind sync Source #

Get `ResetKind` from a KnownDomain context. Example usage:

    f :: forall dom . KnownDomain dom => ....
    f a b c =
      case resetKind @dom of
        SAsynchronous -> foo
        SSynchronous -> bar

initBehavior :: forall (dom :: Domain) (init :: InitBehavior). (KnownDomain dom, DomainInitBehavior dom ~ init) => SInitBehavior init Source #

Get `InitBehavior` from a KnownDomain context. Example usage:

    f :: forall dom . KnownDomain dom => ....
    f a b c =
      case initBehavior @dom of
        SDefined -> foo
        SUnknown -> bar

resetPolarity :: forall (dom :: Domain) (polarity :: ResetPolarity). (KnownDomain dom, DomainResetPolarity dom ~ polarity) => SResetPolarity polarity Source #

Get `ResetPolarity` from a KnownDomain context. Example usage:

    f :: forall dom . KnownDomain dom => ....
    f a b c =
      case resetPolarity @dom of
        SActiveHigh -> foo
        SActiveLow -> bar