Copyright | (C) 2018 Google Inc 2019 Myrtle Software Ltd 2023 QBayLogic B.V. |
---|---|
License | BSD2 (see the file LICENSE) |
Maintainer | QBayLogic B.V. <devops@qbaylogic.com> |
Safe Haskell | None |
Language | Haskell2010 |
Generic clock related utilities.
Synopsis
- class Clocks t where
- type ClocksCxt t :: Constraint
- type NumOutClocks t :: Nat
- clocks :: (KnownDomain domIn, ClocksCxt t) => Clock domIn -> Reset domIn -> t
- class ClocksSync t where
- type ClocksSyncClocksInst t (domIn :: Domain) :: Type
- type ClocksResetSynchronizerCxt t :: Constraint
- clocksResetSynchronizer :: (KnownDomain domIn, ClocksResetSynchronizerCxt t) => ClocksSyncClocksInst t domIn -> Clock domIn -> t
- type ClocksSyncCxt t (domIn :: Domain) = (KnownDomain domIn, ClocksSync t, ClocksResetSynchronizerCxt t, Clocks (ClocksSyncClocksInst t domIn), ClocksCxt (ClocksSyncClocksInst t domIn))
- type NumOutClocksSync t (domIn :: Domain) = NumOutClocks (ClocksSyncClocksInst t domIn)
Documentation
NB: The documentation only shows instances up to 3 output clocks. By default, instances up to and including 18 clocks will exist.
type ClocksCxt t :: Constraint Source #
type NumOutClocks t :: Nat Source #
Instances
Clocks (Clock c1, Signal pllLock Bool) Source # | |
Clocks (Clock c1, Clock c2, Signal pllLock Bool) Source # | |
Clocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # | |
class ClocksSync t where Source #
NB: The documentation only shows instances up to 3 output clocks. By default, instances up to and including 18 clocks will exist.
type ClocksSyncClocksInst t (domIn :: Domain) :: Type Source #
type ClocksResetSynchronizerCxt t :: Constraint Source #
clocksResetSynchronizer :: (KnownDomain domIn, ClocksResetSynchronizerCxt t) => ClocksSyncClocksInst t domIn -> Clock domIn -> t Source #
Instances
type ClocksSyncCxt t (domIn :: Domain) = (KnownDomain domIn, ClocksSync t, ClocksResetSynchronizerCxt t, Clocks (ClocksSyncClocksInst t domIn), ClocksCxt (ClocksSyncClocksInst t domIn)) Source #
type NumOutClocksSync t (domIn :: Domain) = NumOutClocks (ClocksSyncClocksInst t domIn) Source #