| Copyright | (C) 2013-2016 University of Twente 2017-2019 Myrtle Software Ltd 2017-2022 Google Inc. 2021-2023 QBayLogic B.V. |
|---|---|
| License | BSD2 (see the file LICENSE) |
| Maintainer | QBayLogic B.V. <devops@qbaylogic.com> |
| Safe Haskell | Unsafe |
| Language | Haskell2010 |
| Extensions |
|
Clash.Signal.Internal
Description
Synopsis
- data Signal (dom :: Domain) a = a :- (Signal dom a)
- head# :: forall (dom :: Domain) a. Signal dom a -> a
- tail# :: forall (dom :: Domain) a. Signal dom a -> Signal dom a
- type Domain = Symbol
- sameDomain :: forall (domA :: Domain) (domB :: Domain). (KnownDomain domA, KnownDomain domB) => Maybe (domA :~: domB)
- class (KnownSymbol dom, KnownNat (DomainPeriod dom)) => KnownDomain (dom :: Domain) where
- type KnownConf (dom :: Domain) :: DomainConfiguration
- knownDomain :: SDomainConfiguration dom (KnownConf dom)
- type KnownConfiguration (dom :: Domain) (conf :: DomainConfiguration) = (KnownDomain dom, KnownConf dom ~ conf)
- knownDomainByName :: forall (dom :: Domain). KnownDomain dom => SSymbol dom -> SDomainConfiguration dom (KnownConf dom)
- data ActiveEdge
- data SActiveEdge (edge :: ActiveEdge) where
- data InitBehavior
- data SInitBehavior (init :: InitBehavior) where
- data ResetKind
- data SResetKind (resetKind :: ResetKind) where
- data ResetPolarity
- data SResetPolarity (polarity :: ResetPolarity) where
- data DomainConfiguration = DomainConfiguration {}
- data SDomainConfiguration (dom :: Domain) (conf :: DomainConfiguration) where
- SDomainConfiguration :: forall (dom :: Domain) (period :: Nat) (edge :: ActiveEdge) (reset :: ResetKind) (init :: InitBehavior) (polarity :: ResetPolarity). {..} -> SDomainConfiguration dom ('DomainConfiguration dom period edge reset init polarity)
- type DomainPeriod (dom :: Domain) = DomainConfigurationPeriod (KnownConf dom)
- type DomainActiveEdge (dom :: Domain) = DomainConfigurationActiveEdge (KnownConf dom)
- type DomainResetKind (dom :: Domain) = DomainConfigurationResetKind (KnownConf dom)
- type DomainInitBehavior (dom :: Domain) = DomainConfigurationInitBehavior (KnownConf dom)
- type DomainResetPolarity (dom :: Domain) = DomainConfigurationResetPolarity (KnownConf dom)
- type family DomainConfigurationPeriod (config :: DomainConfiguration) :: Nat where ...
- type family DomainConfigurationActiveEdge (config :: DomainConfiguration) :: ActiveEdge where ...
- type family DomainConfigurationResetKind (config :: DomainConfiguration) :: ResetKind where ...
- type family DomainConfigurationInitBehavior (config :: DomainConfiguration) :: InitBehavior where ...
- type family DomainConfigurationResetPolarity (config :: DomainConfiguration) :: ResetPolarity where ...
- type HasSynchronousReset (dom :: Domain) = (KnownDomain dom, DomainResetKind dom ~ 'Synchronous)
- type HasAsynchronousReset (dom :: Domain) = (KnownDomain dom, DomainResetKind dom ~ 'Asynchronous)
- type HasDefinedInitialValues (dom :: Domain) = (KnownDomain dom, DomainInitBehavior dom ~ 'Defined)
- type System = "System"
- type XilinxSystem = "XilinxSystem"
- type IntelSystem = "IntelSystem"
- vSystem :: VDomainConfiguration
- vIntelSystem :: VDomainConfiguration
- vXilinxSystem :: VDomainConfiguration
- data VDomainConfiguration = VDomainConfiguration {}
- vDomain :: forall (dom :: Domain) (conf :: DomainConfiguration). SDomainConfiguration dom conf -> VDomainConfiguration
- createDomain :: VDomainConfiguration -> Q [Dec]
- data Clock (dom :: Domain) = Clock {
- clockTag :: SSymbol dom
- clockPeriods :: Maybe (Signal dom Femtoseconds)
- newtype ClockN (dom :: Domain) = ClockN {}
- data DiffClock (dom :: Domain) = DiffClock ("p" ::: Clock dom) ("n" ::: ClockN dom)
- hzToPeriod :: (HasCallStack, Integral a) => Ratio Natural -> a
- periodToHz :: (HasCallStack, Fractional a) => Natural -> a
- data ClockAB
- clockTicks :: forall (domA :: Domain) (domB :: Domain). (KnownDomain domA, KnownDomain domB) => Clock domA -> Clock domB -> [ClockAB]
- clockTicksEither :: forall (domA :: Domain) (domB :: Domain). Either Int64 (Signal domA Int64) -> Either Int64 (Signal domB Int64) -> [ClockAB]
- data Enable (dom :: Domain) = Enable (Signal dom Bool)
- toEnable :: forall (dom :: Domain). Signal dom Bool -> Enable dom
- fromEnable :: forall (dom :: Domain). Enable dom -> Signal dom Bool
- enableGen :: forall (dom :: Domain). Enable dom
- data Reset (dom :: Domain) = Reset (Signal dom Bool)
- unsafeToReset :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom
- unsafeFromReset :: forall (dom :: Domain). Reset dom -> Signal dom Bool
- unsafeToActiveHigh :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool
- unsafeToActiveLow :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool
- unsafeFromActiveHigh :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom
- unsafeFromActiveLow :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom
- invertReset :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Reset dom
- delay# :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) => Clock dom -> Enable dom -> a -> Signal dom a -> Signal dom a
- register# :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) => Clock dom -> Reset dom -> Enable dom -> a -> a -> Signal dom a -> Signal dom a
- asyncRegister# :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) => Clock dom -> Reset dom -> Enable dom -> a -> a -> Signal dom a -> Signal dom a
- syncRegister# :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) => Clock dom -> Reset dom -> Enable dom -> a -> a -> Signal dom a -> Signal dom a
- registerPowerup# :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a, HasCallStack) => Clock dom -> a -> a
- mux :: Applicative f => f Bool -> f a -> f a -> f a
- clockGen :: forall (dom :: Domain). KnownDomain dom => Clock dom
- tbClockGen :: forall (testDom :: Domain). KnownDomain testDom => Signal testDom Bool -> Clock testDom
- newtype Femtoseconds = Femtoseconds Int64
- fsToHz :: (HasCallStack, Fractional a) => Femtoseconds -> a
- hzToFs :: HasCallStack => Ratio Natural -> Femtoseconds
- unFemtoseconds :: Femtoseconds -> Int64
- mapFemtoseconds :: (Int64 -> Int64) -> Femtoseconds -> Femtoseconds
- tbDynamicClockGen :: forall (dom :: Domain). KnownDomain dom => Signal dom Femtoseconds -> Signal dom Bool -> Clock dom
- dynamicClockGen :: forall (dom :: Domain). KnownDomain dom => Signal dom Femtoseconds -> Clock dom
- resetGen :: forall (dom :: Domain). KnownDomain dom => Reset dom
- resetGenN :: forall (dom :: Domain) (n :: Natural). (KnownDomain dom, 1 <= n) => SNat n -> Reset dom
- (.&&.) :: Applicative f => f Bool -> f Bool -> f Bool
- (.||.) :: Applicative f => f Bool -> f Bool -> f Bool
- simulate :: forall a b (dom1 :: Domain) (dom2 :: Domain). (NFDataX a, NFDataX b) => (Signal dom1 a -> Signal dom2 b) -> [a] -> [b]
- simulate_lazy :: forall (dom1 :: Domain) a (dom2 :: Domain) b. (Signal dom1 a -> Signal dom2 b) -> [a] -> [b]
- signalAutomaton :: forall (dom :: Domain) a b. (Signal dom a -> Signal dom b) -> Automaton (->) a b
- sample :: (Foldable f, NFDataX a) => f a -> [a]
- sampleN :: (Foldable f, NFDataX a) => Int -> f a -> [a]
- fromList :: forall a (dom :: Domain). NFDataX a => [a] -> Signal dom a
- sample_lazy :: Foldable f => f a -> [a]
- sampleN_lazy :: Foldable f => Int -> f a -> [a]
- fromList_lazy :: forall a (dom :: Domain). [a] -> Signal dom a
- testFor :: Foldable f => Int -> f Bool -> Property
- (.==.) :: (Eq a, Applicative f) => f a -> f a -> f Bool
- (./=.) :: (Eq a, Applicative f) => f a -> f a -> f Bool
- (.<.) :: (Ord a, Applicative f) => f a -> f a -> f Bool
- (.<=.) :: (Ord a, Applicative f) => f a -> f a -> f Bool
- (.>=.) :: (Ord a, Applicative f) => f a -> f a -> f Bool
- (.>.) :: (Ord a, Applicative f) => f a -> f a -> f Bool
- mapSignal# :: forall a b (dom :: Domain). (a -> b) -> Signal dom a -> Signal dom b
- signal# :: forall a (dom :: Domain). a -> Signal dom a
- appSignal# :: forall (dom :: Domain) a b. Signal dom (a -> b) -> Signal dom a -> Signal dom b
- foldr# :: forall a b (dom :: Domain). (a -> b -> b) -> b -> Signal dom a -> b
- traverse# :: forall f a b (dom :: Domain). Applicative f => (a -> f b) -> Signal dom a -> f (Signal dom b)
- joinSignal# :: forall (dom :: Domain) a. Signal dom (Signal dom a) -> Signal dom a
- unsafeFromHighPolarity :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom
- unsafeFromLowPolarity :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom
- unsafeToHighPolarity :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool
- unsafeToLowPolarity :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool
Datatypes
data Signal (dom :: Domain) a Source #
Clash has synchronous Signals in the form of:
Signal(dom ::Domain) a
Where a is the type of the value of the Signal, for example Int or Bool,
and dom is the clock- (and reset-) domain to which the memory elements
manipulating these Signals belong.
The type-parameter, dom, is of the kind Domain - a simple string. That
string refers to a single synthesis domain. A synthesis domain describes the
behavior of certain aspects of memory elements in it.
- NB: "Bad things"™ happen when you actually use a clock period of
0, so do not do that! - NB: You should be judicious using a clock with period of
1as you can never create a clock that goes any faster! - NB: For the best compatibility make sure your period is divisible by 2, because some VHDL simulators don't support fractions of picoseconds.
- NB: Whether
Systemhas good defaults depends on your target platform. Check outIntelSystemandXilinxSystemtoo!
Signals have the type role
>>>:i Signaltype role Signal nominal representational ...
as it is safe to coerce the underlying value of a signal, but not safe to coerce a signal between different synthesis domains.
See the module documentation of Clash.Signal for more information about domains.
Instances
Domains
sameDomain :: forall (domA :: Domain) (domB :: Domain). (KnownDomain domA, KnownDomain domB) => Maybe (domA :~: domB) Source #
We either get evidence that this function was instantiated with the same domains, or Nothing.
class (KnownSymbol dom, KnownNat (DomainPeriod dom)) => KnownDomain (dom :: Domain) where Source #
A KnownDomain constraint indicates that a circuit's behavior depends on
some properties of a domain. See DomainConfiguration for more information.
Associated Types
type KnownConf (dom :: Domain) :: DomainConfiguration Source #
Methods
knownDomain :: SDomainConfiguration dom (KnownConf dom) Source #
Returns SDomainConfiguration corresponding to an instance's DomainConfiguration.
Example usage:
>>>knownDomain @SystemSDomainConfiguration {sName = SSymbol @"System", sPeriod = SNat @10000, sActiveEdge = SRising, sResetKind = SAsynchronous, sInitBehavior = SDefined, sResetPolarity = SActiveHigh}
Instances
| KnownDomain IntelSystem Source # | System instance with defaults set for Intel FPGAs | ||||
Defined in Clash.Signal.Internal Associated Types
Methods knownDomain :: SDomainConfiguration IntelSystem (KnownConf IntelSystem) Source # | |||||
| KnownDomain System Source # | A clock (and reset) dom with clocks running at 100 MHz | ||||
Defined in Clash.Signal.Internal Associated Types
Methods knownDomain :: SDomainConfiguration System (KnownConf System) Source # | |||||
| KnownDomain XilinxSystem Source # | System instance with defaults set for Xilinx FPGAs | ||||
Defined in Clash.Signal.Internal Associated Types
Methods knownDomain :: SDomainConfiguration XilinxSystem (KnownConf XilinxSystem) Source # | |||||
type KnownConfiguration (dom :: Domain) (conf :: DomainConfiguration) = (KnownDomain dom, KnownConf dom ~ conf) Source #
knownDomainByName :: forall (dom :: Domain). KnownDomain dom => SSymbol dom -> SDomainConfiguration dom (KnownConf dom) Source #
Version of knownDomain that takes a SSymbol. For example:
>>>knownDomainByName (SSymbol @"System")SDomainConfiguration {sName = SSymbol @"System", sPeriod = SNat @10000, sActiveEdge = SRising, sResetKind = SAsynchronous, sInitBehavior = SDefined, sResetPolarity = SActiveHigh}
data ActiveEdge Source #
Determines clock edge memory elements are sensitive to. Not yet implemented.
Constructors
| Rising | Elements are sensitive to the rising edge (low-to-high) of the clock. |
| Falling | Elements are sensitive to the falling edge (high-to-low) of the clock. |
Instances
| Binary ActiveEdge Source # | |||||
Defined in Clash.Signal.Internal Methods put :: ActiveEdge -> Put Source # get :: Get ActiveEdge Source # putList :: [ActiveEdge] -> Put Source # | |||||
| NFData ActiveEdge Source # | |||||
Defined in Clash.Signal.Internal Methods rnf :: ActiveEdge -> () Source # | |||||
| Data ActiveEdge Source # | |||||
Defined in Clash.Signal.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ActiveEdge -> c ActiveEdge Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ActiveEdge Source # toConstr :: ActiveEdge -> Constr Source # dataTypeOf :: ActiveEdge -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ActiveEdge) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ActiveEdge) Source # gmapT :: (forall b. Data b => b -> b) -> ActiveEdge -> ActiveEdge Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ActiveEdge -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ActiveEdge -> r Source # gmapQ :: (forall d. Data d => d -> u) -> ActiveEdge -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> ActiveEdge -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ActiveEdge -> m ActiveEdge Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ActiveEdge -> m ActiveEdge Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ActiveEdge -> m ActiveEdge Source # | |||||
| Generic ActiveEdge Source # | |||||
Defined in Clash.Signal.Internal Associated Types
| |||||
| Read ActiveEdge Source # | |||||
Defined in Clash.Signal.Internal | |||||
| Show ActiveEdge Source # | |||||
Defined in Clash.Signal.Internal | |||||
| Eq ActiveEdge Source # | |||||
Defined in Clash.Signal.Internal Methods (==) :: ActiveEdge -> ActiveEdge -> Bool Source # (/=) :: ActiveEdge -> ActiveEdge -> Bool Source # | |||||
| Ord ActiveEdge Source # | |||||
Defined in Clash.Signal.Internal Methods compare :: ActiveEdge -> ActiveEdge -> Ordering Source # (<) :: ActiveEdge -> ActiveEdge -> Bool Source # (<=) :: ActiveEdge -> ActiveEdge -> Bool Source # (>) :: ActiveEdge -> ActiveEdge -> Bool Source # (>=) :: ActiveEdge -> ActiveEdge -> Bool Source # max :: ActiveEdge -> ActiveEdge -> ActiveEdge Source # min :: ActiveEdge -> ActiveEdge -> ActiveEdge Source # | |||||
| Hashable ActiveEdge Source # | |||||
Defined in Clash.Signal.Internal | |||||
| type Rep ActiveEdge Source # | |||||
data SActiveEdge (edge :: ActiveEdge) where Source #
Singleton version of ActiveEdge
Constructors
| SRising :: SActiveEdge 'Rising | |
| SFalling :: SActiveEdge 'Falling |
Instances
| Show (SActiveEdge edge) Source # | |
Defined in Clash.Signal.Internal | |
data InitBehavior Source #
Constructors
| Unknown | Power up value of memory elements is unknown. |
| Defined | If applicable, power up value of a memory element is defined. Applies to
|
Instances
| Binary InitBehavior Source # | |||||
Defined in Clash.Signal.Internal Methods put :: InitBehavior -> Put Source # get :: Get InitBehavior Source # putList :: [InitBehavior] -> Put Source # | |||||
| NFData InitBehavior Source # | |||||
Defined in Clash.Signal.Internal Methods rnf :: InitBehavior -> () Source # | |||||
| Data InitBehavior Source # | |||||
Defined in Clash.Signal.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InitBehavior -> c InitBehavior Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InitBehavior Source # toConstr :: InitBehavior -> Constr Source # dataTypeOf :: InitBehavior -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InitBehavior) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InitBehavior) Source # gmapT :: (forall b. Data b => b -> b) -> InitBehavior -> InitBehavior Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InitBehavior -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InitBehavior -> r Source # gmapQ :: (forall d. Data d => d -> u) -> InitBehavior -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> InitBehavior -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> InitBehavior -> m InitBehavior Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InitBehavior -> m InitBehavior Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InitBehavior -> m InitBehavior Source # | |||||
| Generic InitBehavior Source # | |||||
Defined in Clash.Signal.Internal Associated Types
Methods from :: InitBehavior -> Rep InitBehavior x Source # to :: Rep InitBehavior x -> InitBehavior Source # | |||||
| Read InitBehavior Source # | |||||
Defined in Clash.Signal.Internal | |||||
| Show InitBehavior Source # | |||||
Defined in Clash.Signal.Internal | |||||
| Eq InitBehavior Source # | |||||
Defined in Clash.Signal.Internal Methods (==) :: InitBehavior -> InitBehavior -> Bool Source # (/=) :: InitBehavior -> InitBehavior -> Bool Source # | |||||
| Ord InitBehavior Source # | |||||
Defined in Clash.Signal.Internal Methods compare :: InitBehavior -> InitBehavior -> Ordering Source # (<) :: InitBehavior -> InitBehavior -> Bool Source # (<=) :: InitBehavior -> InitBehavior -> Bool Source # (>) :: InitBehavior -> InitBehavior -> Bool Source # (>=) :: InitBehavior -> InitBehavior -> Bool Source # max :: InitBehavior -> InitBehavior -> InitBehavior Source # min :: InitBehavior -> InitBehavior -> InitBehavior Source # | |||||
| Hashable InitBehavior Source # | |||||
Defined in Clash.Signal.Internal | |||||
| type Rep InitBehavior Source # | |||||
data SInitBehavior (init :: InitBehavior) where Source #
Constructors
| SUnknown :: SInitBehavior 'Unknown | |
| SDefined :: SInitBehavior 'Defined |
Instances
| Show (SInitBehavior init) Source # | |
Defined in Clash.Signal.Internal | |
Constructors
| Asynchronous | Elements respond asynchronously to changes in their reset input. This means that they do not wait for the next active clock edge, but respond immediately instead. Common on Intel FPGA platforms. |
| Synchronous | Elements respond synchronously to changes in their reset input. This means that changes in their reset input won't take effect until the next active clock edge. Common on Xilinx FPGA platforms. |
Instances
| Binary ResetKind Source # | |
| NFData ResetKind Source # | |
Defined in Clash.Signal.Internal | |
| Data ResetKind Source # | |
Defined in Clash.Signal.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResetKind -> c ResetKind Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResetKind Source # toConstr :: ResetKind -> Constr Source # dataTypeOf :: ResetKind -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ResetKind) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResetKind) Source # gmapT :: (forall b. Data b => b -> b) -> ResetKind -> ResetKind Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResetKind -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResetKind -> r Source # gmapQ :: (forall d. Data d => d -> u) -> ResetKind -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> ResetKind -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResetKind -> m ResetKind Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetKind -> m ResetKind Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetKind -> m ResetKind Source # | |
| Generic ResetKind Source # | |
Defined in Clash.Signal.Internal | |
| Read ResetKind Source # | |
| Show ResetKind Source # | |
| Eq ResetKind Source # | |
| Ord ResetKind Source # | |
Defined in Clash.Signal.Internal | |
| Hashable ResetKind Source # | |
| type Rep ResetKind Source # | |
data SResetKind (resetKind :: ResetKind) where Source #
Singleton version of ResetKind
Constructors
| SAsynchronous :: SResetKind 'Asynchronous | |
| SSynchronous :: SResetKind 'Synchronous |
Instances
| Show (SResetKind reset) Source # | |
Defined in Clash.Signal.Internal | |
data ResetPolarity Source #
Determines the value for which a reset line is considered "active"
Constructors
| ActiveHigh | Reset is considered active if underlying signal is |
| ActiveLow | Reset is considered active if underlying signal is |
Instances
| Binary ResetPolarity Source # | |||||
Defined in Clash.Signal.Internal Methods put :: ResetPolarity -> Put Source # get :: Get ResetPolarity Source # putList :: [ResetPolarity] -> Put Source # | |||||
| NFData ResetPolarity Source # | |||||
Defined in Clash.Signal.Internal Methods rnf :: ResetPolarity -> () Source # | |||||
| Data ResetPolarity Source # | |||||
Defined in Clash.Signal.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResetPolarity -> c ResetPolarity Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResetPolarity Source # toConstr :: ResetPolarity -> Constr Source # dataTypeOf :: ResetPolarity -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ResetPolarity) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResetPolarity) Source # gmapT :: (forall b. Data b => b -> b) -> ResetPolarity -> ResetPolarity Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResetPolarity -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResetPolarity -> r Source # gmapQ :: (forall d. Data d => d -> u) -> ResetPolarity -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> ResetPolarity -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResetPolarity -> m ResetPolarity Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetPolarity -> m ResetPolarity Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetPolarity -> m ResetPolarity Source # | |||||
| Generic ResetPolarity Source # | |||||
Defined in Clash.Signal.Internal Associated Types
Methods from :: ResetPolarity -> Rep ResetPolarity x Source # to :: Rep ResetPolarity x -> ResetPolarity Source # | |||||
| Read ResetPolarity Source # | |||||
Defined in Clash.Signal.Internal | |||||
| Show ResetPolarity Source # | |||||
Defined in Clash.Signal.Internal | |||||
| Eq ResetPolarity Source # | |||||
Defined in Clash.Signal.Internal Methods (==) :: ResetPolarity -> ResetPolarity -> Bool Source # (/=) :: ResetPolarity -> ResetPolarity -> Bool Source # | |||||
| Ord ResetPolarity Source # | |||||
Defined in Clash.Signal.Internal Methods compare :: ResetPolarity -> ResetPolarity -> Ordering Source # (<) :: ResetPolarity -> ResetPolarity -> Bool Source # (<=) :: ResetPolarity -> ResetPolarity -> Bool Source # (>) :: ResetPolarity -> ResetPolarity -> Bool Source # (>=) :: ResetPolarity -> ResetPolarity -> Bool Source # max :: ResetPolarity -> ResetPolarity -> ResetPolarity Source # min :: ResetPolarity -> ResetPolarity -> ResetPolarity Source # | |||||
| Hashable ResetPolarity Source # | |||||
Defined in Clash.Signal.Internal | |||||
| type Rep ResetPolarity Source # | |||||
data SResetPolarity (polarity :: ResetPolarity) where Source #
Singleton version of ResetPolarity
Constructors
| SActiveHigh :: SResetPolarity 'ActiveHigh | |
| SActiveLow :: SResetPolarity 'ActiveLow |
Instances
| Show (SResetPolarity polarity) Source # | |
Defined in Clash.Signal.Internal | |
data DomainConfiguration Source #
A domain with a name (Domain). Configures the behavior of various aspects
of a circuits. See the documentation of this record's field types for more
information on the options.
See module documentation of Clash.Explicit.Signal for more information on how to create custom synthesis domains.
Constructors
| DomainConfiguration | |
Fields
| |
data SDomainConfiguration (dom :: Domain) (conf :: DomainConfiguration) where Source #
Singleton version of DomainConfiguration
Constructors
| SDomainConfiguration | |
Fields
| |
Instances
| Show (SDomainConfiguration dom conf) Source # | |
Defined in Clash.Signal.Internal | |
Configuration type families
type DomainPeriod (dom :: Domain) = DomainConfigurationPeriod (KnownConf dom) Source #
Convenience type to help to extract a period from a domain. Example usage:
myFunc :: (KnownDomain dom, DomainPeriod dom ~ 6000) => ...
type DomainActiveEdge (dom :: Domain) = DomainConfigurationActiveEdge (KnownConf dom) Source #
Convenience type to help to extract the active edge from a domain. Example usage:
myFunc :: (KnownDomain dom, DomainActiveEdge dom ~ 'Rising) => ...
type DomainResetKind (dom :: Domain) = DomainConfigurationResetKind (KnownConf dom) Source #
Convenience type to help to extract the reset synchronicity from a domain. Example usage:
myFunc :: (KnownDomain dom, DomainResetKind dom ~ 'Synchronous) => ...
type DomainInitBehavior (dom :: Domain) = DomainConfigurationInitBehavior (KnownConf dom) Source #
Convenience type to help to extract the initial value behavior from a domain. Example usage:
myFunc :: (KnownDomain dom, DomainInitBehavior dom ~ 'Defined) => ...
type DomainResetPolarity (dom :: Domain) = DomainConfigurationResetPolarity (KnownConf dom) Source #
Convenience type to help to extract the reset polarity from a domain. Example usage:
myFunc :: (KnownDomain dom, DomainResetPolarity dom ~ 'ActiveHigh) => ...
type family DomainConfigurationPeriod (config :: DomainConfiguration) :: Nat where ... Source #
Helper type family for DomainPeriod
Equations
| DomainConfigurationPeriod ('DomainConfiguration name period edge reset init polarity) = period |
type family DomainConfigurationActiveEdge (config :: DomainConfiguration) :: ActiveEdge where ... Source #
Helper type family for DomainActiveEdge
Equations
| DomainConfigurationActiveEdge ('DomainConfiguration name period edge reset init polarity) = edge |
type family DomainConfigurationResetKind (config :: DomainConfiguration) :: ResetKind where ... Source #
Helper type family for DomainResetKind
Equations
| DomainConfigurationResetKind ('DomainConfiguration name period edge reset init polarity) = reset |
type family DomainConfigurationInitBehavior (config :: DomainConfiguration) :: InitBehavior where ... Source #
Helper type family for DomainInitBehavior
Equations
| DomainConfigurationInitBehavior ('DomainConfiguration name period edge reset init polarity) = init |
type family DomainConfigurationResetPolarity (config :: DomainConfiguration) :: ResetPolarity where ... Source #
Helper type family for DomainResetPolarity
Equations
| DomainConfigurationResetPolarity ('DomainConfiguration name period edge reset init polarity) = polarity |
Convenience types
type HasSynchronousReset (dom :: Domain) = (KnownDomain dom, DomainResetKind dom ~ 'Synchronous) Source #
Convenience type to constrain a domain to have synchronous resets. Example usage:
myFunc :: HasSynchronousReset dom => ...
Using this type implies KnownDomain.
type HasAsynchronousReset (dom :: Domain) = (KnownDomain dom, DomainResetKind dom ~ 'Asynchronous) Source #
Convenience type to constrain a domain to have asynchronous resets. Example usage:
myFunc :: HasAsynchronousReset dom => ...
Using this type implies KnownDomain.
type HasDefinedInitialValues (dom :: Domain) = (KnownDomain dom, DomainInitBehavior dom ~ 'Defined) Source #
Convenience type to constrain a domain to have initial values. Example usage:
myFunc :: HasDefinedInitialValues dom => ...
Using this type implies KnownDomain.
Note that there is no UnknownInitialValues dom as a component that works
without initial values will also work if it does have them.
Default domains
type System = "System" Source #
A clock (and reset) dom with clocks running at 100 MHz. Memory elements respond to the rising edge of the clock, and asynchronously to changes in reset signals. It has defined initial values, and active-high resets.
See module documentation of Clash.Explicit.Signal for more information on how to create custom synthesis domains.
type XilinxSystem = "XilinxSystem" Source #
A clock (and reset) dom with clocks running at 100 MHz. Memory elements respond to the rising edge of the clock, and synchronously to changes in reset signals. It has defined initial values, and active-high resets.
See module documentation of Clash.Explicit.Signal for more information on how to create custom synthesis domains.
type IntelSystem = "IntelSystem" Source #
A clock (and reset) dom with clocks running at 100 MHz. Memory elements respond to the rising edge of the clock, and asynchronously to changes in reset signals. It has defined initial values, and active-high resets.
See module documentation of Clash.Explicit.Signal for more information on how to create custom synthesis domains.
vSystem :: VDomainConfiguration Source #
Convenience value to allow easy "subclassing" of System domain. Should
be used in combination with createDomain. For example, if you just want to
change the period but leave all other settings intact use:
createDomain vSystem{vName="System10", vPeriod=10}vIntelSystem :: VDomainConfiguration Source #
Convenience value to allow easy "subclassing" of IntelSystem domain. Should
be used in combination with createDomain. For example, if you just want to
change the period but leave all other settings intact use:
createDomain vIntelSystem{vName="Intel10", vPeriod=10}vXilinxSystem :: VDomainConfiguration Source #
Convenience value to allow easy "subclassing" of XilinxSystem domain. Should
be used in combination with createDomain. For example, if you just want to
change the period but leave all other settings intact use:
createDomain vXilinxSystem{vName="Xilinx10", vPeriod=10}Domain utilities
data VDomainConfiguration Source #
Same as SDomainConfiguration but allows for easy updates through record update syntax.
Should be used in combination with vDomain and createDomain. Example:
createDomain (knownVDomain @System){vName="System10", vPeriod=10}This duplicates the settings in the System domain, replaces the name and
period, and creates an instance for it. As most users often want to update
the system domain, a shortcut is available in the form:
createDomain vSystem{vName="System10", vPeriod=10}Constructors
| VDomainConfiguration | |
Fields
| |
Instances
| Binary VDomainConfiguration Source # | |||||
Defined in Clash.Signal.Internal Methods put :: VDomainConfiguration -> Put Source # get :: Get VDomainConfiguration Source # putList :: [VDomainConfiguration] -> Put Source # | |||||
| NFData VDomainConfiguration Source # | |||||
Defined in Clash.Signal.Internal Methods rnf :: VDomainConfiguration -> () Source # | |||||
| Generic VDomainConfiguration Source # | |||||
Defined in Clash.Signal.Internal Associated Types
Methods from :: VDomainConfiguration -> Rep VDomainConfiguration x Source # to :: Rep VDomainConfiguration x -> VDomainConfiguration Source # | |||||
| Read VDomainConfiguration Source # | |||||
Defined in Clash.Signal.Internal | |||||
| Show VDomainConfiguration Source # | |||||
Defined in Clash.Signal.Internal | |||||
| Eq VDomainConfiguration Source # | |||||
Defined in Clash.Signal.Internal Methods (==) :: VDomainConfiguration -> VDomainConfiguration -> Bool Source # (/=) :: VDomainConfiguration -> VDomainConfiguration -> Bool Source # | |||||
| type Rep VDomainConfiguration Source # | |||||
Defined in Clash.Signal.Internal type Rep VDomainConfiguration = D1 ('MetaData "VDomainConfiguration" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "VDomainConfiguration" 'PrefixI 'True) ((S1 ('MetaSel ('Just "vName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "vPeriod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "vActiveEdge") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ActiveEdge))) :*: (S1 ('MetaSel ('Just "vResetKind") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResetKind) :*: (S1 ('MetaSel ('Just "vInitBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InitBehavior) :*: S1 ('MetaSel ('Just "vResetPolarity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResetPolarity))))) | |||||
vDomain :: forall (dom :: Domain) (conf :: DomainConfiguration). SDomainConfiguration dom conf -> VDomainConfiguration Source #
Convert SDomainConfiguration to VDomainConfiguration. Should be used in combination with
createDomain only.
createDomain :: VDomainConfiguration -> Q [Dec] Source #
Convenience method to express new domains in terms of others.
createDomain (knownVDomain @System){vName="System10", vPeriod=10}This duplicates the settings in the System domain, replaces the name and period, and creates an instance for it. As most users often want to update the system domain, a shortcut is available in the form:
createDomain vSystem{vName="System10", vPeriod=10}The function will create two extra identifiers. The first:
type System10 = ..
You can use that as the dom to Clocks/Resets/Enables/Signals. For example:
Signal System10 Int. Additionally, it will create a VDomainConfiguration that you can
use in later calls to createDomain:
vSystem10 = knownVDomain @System10
It will also make System10 an instance of KnownDomain.
If either identifier is already in scope it will not be generated a second time. Note: This can be useful for example when documenting a new domain:
-- | Here is some documentation for CustomDomain
type CustomDomain = ("CustomDomain" :: Domain)
-- | Here is some documentation for vCustomDomain
createDomain vSystem{vName="CustomDomain"}Clocks
data Clock (dom :: Domain) Source #
A clock signal belonging to a domain named dom.
Constructors
| Clock | |
Fields
| |
Instances
| Show (Clock dom) Source # | |||||||||
| Clocks (Clock c1, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
| |||||||||
| ClocksSync (Clock c1, Reset c1) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1)) => ClocksSyncClocksInst (Clock c1, Reset c1) domIn -> Clock domIn -> (Clock c1, Reset c1) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
| |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
| |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
| |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
| |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
| |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
| |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source # | |||||||||
| Clocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source # | |||||||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source # | |||||||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source # | |||||||||
| type TryDomain t (Clock dom) Source # | |||||||||
Defined in Clash.Class.HasDomain.HasSingleDomain | |||||||||
| type HasDomain dom1 (Clock dom2) Source # | |||||||||
Defined in Clash.Class.HasDomain.HasSpecificDomain | |||||||||
| type ClocksCxt (Clock c1, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1) Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type NumOutClocks (Clock c1, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1) domIn Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain pllLock) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain pllLock) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) = (KnownDomain c1, KnownDomain c2) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain pllLock) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain pllLock) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) = (KnownDomain c1, KnownDomain c2, KnownDomain c3) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) domIn Source # | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain pllLock) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain pllLock) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Signal pllLock Bool) Source # | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) domIn Source # | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain pllLock) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Signal pllLock Bool) Source # | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain pllLock) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal pllLock Bool) Source # | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) domIn Source # | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain pllLock) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal pllLock Bool) Source # | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain pllLock) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal pllLock Bool) Source # | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) domIn Source # | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain pllLock) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal pllLock Bool) Source # | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain pllLock) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal pllLock Bool) Source # | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) domIn Source # | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain pllLock) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal pllLock Bool) Source # | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain pllLock) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal pllLock Bool) Source # | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) domIn Source # | |||||||||
Defined in Clash.Clocks | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain pllLock) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal pllLock Bool) Source # | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain pllLock) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal pllLock Bool) Source # | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn Source # | |||||||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal domIn Bool) | |||||||||
| type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source # | |||||||||
Defined in Clash.Clocks type ClocksCxt (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18, KnownDomain pllLock) | |||||||||
| type NumOutClocks (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal pllLock Bool) Source # | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10) | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn Source # | |||||||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal domIn Bool) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11) | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn Source # | |||||||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal domIn Bool) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12) | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn Source # | |||||||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal domIn Bool) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13) | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn Source # | |||||||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal domIn Bool) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14) | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn Source # | |||||||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal domIn Bool) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15) | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn Source # | |||||||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal domIn Bool) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16) | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn Source # | |||||||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal domIn Bool) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17) | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn Source # | |||||||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal domIn Bool) | |||||||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source # | |||||||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18) | |||||||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn Source # | |||||||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal domIn Bool) | |||||||||
data DiffClock (dom :: Domain) Source #
A differential clock signal belonging to a domain named dom. The clock
input of a design with such an input has two ports which are in antiphase.
The first input is the positive phase, the second the negative phase. When
using makeTopEntity, the names of the inputs will end
in _p and _n respectively.
To create a differential clock in a test bench, you can use
clockToDiffClock.
hzToPeriod :: (HasCallStack, Integral a) => Ratio Natural -> a Source #
Calculate the period in ps, given a frequency in Hz
I.e., to calculate the clock period for a circuit to run at 240 MHz we get
>>>hzToPeriod 240e64166
If the value hzToPeriod is applied to is not of the type Ratio
Natural, you can use hzToPeriod (. Note that if realToFrac f)f is
negative, realToFrac will give an without a call stack, making debugging
cumbersome.Underflow ::
ArithException
Before Clash 1.8, this function always returned a Natural. To get the old
behavior of this function, use a type application:
>>>hzToPeriod @Natural 240e64166
- NB: This function is not synthesizable
- NB: This function is lossy. I.e.,
periodToHz . hzToPeriod /= id.
periodToHz :: (HasCallStack, Fractional a) => Natural -> a Source #
Calculate the frequency in Hz, given the period in ps
I.e., to calculate the clock frequency of a clock with a period of 5000 ps:
>>>periodToHz 50002.0e8
Note that if p in periodToHz ( is negative,
fromIntegral p)fromIntegral will give an without a call stack, making debugging
cumbersome.Underflow ::
ArithException
Before Clash 1.8, this function always returned a Ratio
Natural. To get the old behavior of this function, use a type application:
>>>periodToHz @(Ratio Natural) 5000200000000 % 1
NB: This function is not synthesizable
Instances
| NFDataX ClockAB Source # | |||||
Defined in Clash.Signal.Internal | |||||
| NFData ClockAB Source # | |||||
Defined in Clash.Signal.Internal | |||||
| Generic ClockAB Source # | |||||
Defined in Clash.Signal.Internal Associated Types
| |||||
| Show ClockAB Source # | |||||
| Eq ClockAB Source # | |||||
| type Rep ClockAB Source # | |||||
Defined in Clash.Signal.Internal type Rep ClockAB = D1 ('MetaData "ClockAB" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'False) (C1 ('MetaCons "ClockA" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ClockB" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ClockAB" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
clockTicks :: forall (domA :: Domain) (domB :: Domain). (KnownDomain domA, KnownDomain domB) => Clock domA -> Clock domB -> [ClockAB] Source #
Given two clocks, produce a list of clock ticks indicating which clock
(or both) ticked. Can be used in components handling multiple clocks, such
as unsafeSynchronizer or dual clock FIFOs.
If your primitive does not care about coincided clock edges, it should - by
convention - replace it by ClockB:ClockA:.
clockTicksEither :: forall (domA :: Domain) (domB :: Domain). Either Int64 (Signal domA Int64) -> Either Int64 (Signal domB Int64) -> [ClockAB] Source #
Given two clock periods, produce a list of clock ticks indicating which clock
(or both) ticked. Can be used in components handling multiple clocks, such
as unsafeSynchronizer or dual clock FIFOs.
If your primitive does not care about coincided clock edges, it should - by
convention - replace it by ClockB:ClockA:.
Enabling
data Enable (dom :: Domain) Source #
A signal of booleans, indicating whether a component is enabled. No special meaning is implied, it's up to the component itself to decide how to respond to its enable line. It is used throughout Clash as a global enable signal.
toEnable :: forall (dom :: Domain). Signal dom Bool -> Enable dom Source #
Convert a signal of bools to an Enable construct
fromEnable :: forall (dom :: Domain). Enable dom -> Signal dom Bool Source #
Convert Enable construct to its underlying representation: a signal of
bools.
enableGen :: forall (dom :: Domain). Enable dom Source #
Enable generator for some domain. Is simply always True.
Resets
data Reset (dom :: Domain) Source #
A reset signal belonging to a domain called dom.
The underlying representation of resets is Bool.
Instances
| ClocksSync (Clock c1, Reset c1) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1)) => ClocksSyncClocksInst (Clock c1, Reset c1) domIn -> Clock domIn -> (Clock c1, Reset c1) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source # | |||||
| ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source # | |||||
Defined in Clash.Clocks Associated Types
Methods clocksResetSynchronizer :: forall (domIn :: Domain). (KnownDomain domIn, ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18)) => ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn -> Clock domIn -> (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source # | |||||
| type TryDomain t (Reset dom) Source # | |||||
Defined in Clash.Class.HasDomain.HasSingleDomain | |||||
| type HasDomain dom1 (Reset dom2) Source # | |||||
Defined in Clash.Class.HasDomain.HasSpecificDomain | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1) Source # | |||||
Defined in Clash.Clocks | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1) domIn Source # | |||||
Defined in Clash.Clocks | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) = (KnownDomain c1, KnownDomain c2) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn Source # | |||||
Defined in Clash.Clocks | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) = (KnownDomain c1, KnownDomain c2, KnownDomain c3) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) domIn Source # | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4) domIn Source # | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5) domIn Source # | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6) domIn Source # | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7) domIn Source # | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8) domIn Source # | |||||
Defined in Clash.Clocks | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn Source # | |||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Signal domIn Bool) | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn Source # | |||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Signal domIn Bool) | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn Source # | |||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Signal domIn Bool) | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn Source # | |||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Signal domIn Bool) | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn Source # | |||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Signal domIn Bool) | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn Source # | |||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Signal domIn Bool) | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn Source # | |||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Signal domIn Bool) | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn Source # | |||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Signal domIn Bool) | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn Source # | |||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Signal domIn Bool) | |||||
| type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) Source # | |||||
Defined in Clash.Clocks type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) = (KnownDomain c1, KnownDomain c2, KnownDomain c3, KnownDomain c4, KnownDomain c5, KnownDomain c6, KnownDomain c7, KnownDomain c8, KnownDomain c9, KnownDomain c10, KnownDomain c11, KnownDomain c12, KnownDomain c13, KnownDomain c14, KnownDomain c15, KnownDomain c16, KnownDomain c17, KnownDomain c18) | |||||
| type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn Source # | |||||
Defined in Clash.Clocks type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3, Clock c4, Reset c4, Clock c5, Reset c5, Clock c6, Reset c6, Clock c7, Reset c7, Clock c8, Reset c8, Clock c9, Reset c9, Clock c10, Reset c10, Clock c11, Reset c11, Clock c12, Reset c12, Clock c13, Reset c13, Clock c14, Reset c14, Clock c15, Reset c15, Clock c16, Reset c16, Clock c17, Reset c17, Clock c18, Reset c18) domIn = (Clock c1, Clock c2, Clock c3, Clock c4, Clock c5, Clock c6, Clock c7, Clock c8, Clock c9, Clock c10, Clock c11, Clock c12, Clock c13, Clock c14, Clock c15, Clock c16, Clock c17, Clock c18, Signal domIn Bool) | |||||
unsafeToReset :: forall (dom :: Domain). KnownDomain dom => Signal dom Bool -> Reset dom Source #
unsafeToReset is unsafe. For asynchronous resets it is unsafe
because it can introduce combinatorial loops. In case of synchronous resets
it can lead to meta-stability
issues in the presence of asynchronous resets.
NB: You probably want to use unsafeFromActiveLow or
unsafeFromActiveHigh.
unsafeFromReset :: forall (dom :: Domain). Reset dom -> Signal dom Bool Source #
unsafeFromReset is unsafe because it can introduce:
For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.
NB: You probably want to use unsafeToActiveLow or
unsafeToActiveHigh.
unsafeToActiveHigh :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool Source #
Convert a reset to an active high reset. Has no effect if reset is already an active high reset. Is unsafe because it can introduce:
For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.
unsafeToActiveLow :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool Source #
Convert a reset to an active low reset. Has no effect if reset is already an active low reset. It is unsafe because it can introduce:
For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.
Arguments
| :: forall (dom :: Domain). KnownDomain dom | |
| => Signal dom Bool | Reset signal that's |
| -> Reset dom |
Interpret a signal of bools as an active high reset and convert it to a reset signal corresponding to the domain's setting.
For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.
Arguments
| :: forall (dom :: Domain). KnownDomain dom | |
| => Signal dom Bool | Reset signal that's |
| -> Reset dom |
Interpret a signal of bools as an active low reset and convert it to a reset signal corresponding to the domain's setting.
For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.
invertReset :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Reset dom Source #
Invert reset signal
Basic circuits
delay# :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) => Clock dom -> Enable dom -> a -> Signal dom a -> Signal dom a Source #
Arguments
| :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) | |
| => Clock dom | |
| -> Reset dom | |
| -> Enable dom | |
| -> a | Power up value |
| -> a | Reset value |
| -> Signal dom a | |
| -> Signal dom a |
A register with a power up and reset value. Power up values are not supported on all platforms, please consult the manual of your target platform and check the notes below.
Xilinx: power up values and reset values MUST be the same. If they are not, the Xilinx tooling will ignore the reset value and use the power up value instead. Source: MIA
Intel: power up values and reset values MUST be the same. If they are not, the Intel tooling will ignore the power up value and use the reset value instead. Source: https://www.intel.com/content/www/us/en/programmable/support/support-resources/knowledge-base/solutions/rd01072011_91.html
Arguments
| :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) | |
| => Clock dom | Clock signal |
| -> Reset dom | Reset signal |
| -> Enable dom | Enable signal |
| -> a | Power up value |
| -> a | Reset value |
| -> Signal dom a | |
| -> Signal dom a |
Version of register# that simulates a register on an asynchronous
domain. Is synthesizable.
Arguments
| :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a) | |
| => Clock dom | Clock signal |
| -> Reset dom | Reset signal |
| -> Enable dom | Enable signal |
| -> a | Power up value |
| -> a | Reset value |
| -> Signal dom a | |
| -> Signal dom a |
Version of register# that simulates a register on a synchronous
domain. Not synthesizable.
registerPowerup# :: forall (dom :: Domain) a. (KnownDomain dom, NFDataX a, HasCallStack) => Clock dom -> a -> a Source #
Acts like id if given domain allows powerup values, but returns a
value constructed with deepErrorX otherwise.
mux :: Applicative f => f Bool -> f a -> f a -> f a Source #
Simulation and testbench functions
clockGen :: forall (dom :: Domain). KnownDomain dom => Clock dom Source #
Clock generator for simulations. Do not use this clock generator for
the testBench function, use tbClockGen instead.
To be used like:
clkSystem = clockGen @System
See DomainConfiguration for more information on how to use synthesis domains.
tbClockGen :: forall (testDom :: Domain). KnownDomain testDom => Signal testDom Bool -> Clock testDom Source #
Clock generator to be used in the testBench function.
To be used like:
clkSystem en = tbClockGen @System en
Example
module Example where import Clash.Explicit.Prelude import Clash.Explicit.Testbench -- Fast domain: twice as fast as "Slow"createDomainvSystem{vName="Fast", vPeriod=10} -- Slow domain: twice as slow as "Fast"createDomainvSystem{vName="Slow", vPeriod=20} topEntity ::Clock"Fast" ->Reset"Fast" ->Enable"Fast" ->Clock"Slow" ->Signal"Fast" (Unsigned 8) ->Signal"Slow" (Unsigned 8, Unsigned 8) topEntity clk1 rst1 en1 clk2 i = let h = register clk1 rst1 en1 0 (register clk1 rst1 en1 0 i) l = register clk1 rst1 en1 0 i in unsafeSynchronizer clk1 clk2 (bundle (h, l)) testBench ::Signal"Slow" Bool testBench = done where testInput =stimuliGeneratorclkA1 rstA1 $(listToVecTH[1::Unsigned 8,2,3,4,5,6,7,8]) expectedOutput =outputVerifierclkB2 rstB2 $(listToVecTH[(0,0) :: (Unsigned 8, Unsigned 8),(1,2),(3,4),(5,6),(7,8)]) done = expectedOutput (topEntity clkA1 rstA1 enableGen clkB2 testInput) notDone = not <$> done clkA1 =tbClockGen@"Fast" (unsafeSynchronizer clkB2 clkA1 notDone) clkB2 =tbClockGen@"Slow" notDone rstA1 =resetGen@"Fast" rstB2 =resetGen@"Slow"
newtype Femtoseconds Source #
Femtoseconds expressed as an Int64. Is a newtype to prevent accidental
mixups with picoseconds - the unit used in DomainConfiguration.
Constructors
| Femtoseconds Int64 |
Instances
| NFDataX Femtoseconds Source # | |||||
Defined in Clash.Signal.Internal Methods deepErrorX :: String -> Femtoseconds Source # hasUndefined :: Femtoseconds -> Bool Source # ensureSpine :: Femtoseconds -> Femtoseconds Source # rnfX :: Femtoseconds -> () Source # | |||||
| NFData Femtoseconds Source # | |||||
Defined in Clash.Signal.Internal Methods rnf :: Femtoseconds -> () Source # | |||||
| Generic Femtoseconds Source # | |||||
Defined in Clash.Signal.Internal Associated Types
Methods from :: Femtoseconds -> Rep Femtoseconds x Source # to :: Rep Femtoseconds x -> Femtoseconds Source # | |||||
| Show Femtoseconds Source # | |||||
Defined in Clash.Signal.Internal | |||||
| Eq Femtoseconds Source # | |||||
Defined in Clash.Signal.Internal Methods (==) :: Femtoseconds -> Femtoseconds -> Bool Source # (/=) :: Femtoseconds -> Femtoseconds -> Bool Source # | |||||
| Ord Femtoseconds Source # | |||||
Defined in Clash.Signal.Internal Methods compare :: Femtoseconds -> Femtoseconds -> Ordering Source # (<) :: Femtoseconds -> Femtoseconds -> Bool Source # (<=) :: Femtoseconds -> Femtoseconds -> Bool Source # (>) :: Femtoseconds -> Femtoseconds -> Bool Source # (>=) :: Femtoseconds -> Femtoseconds -> Bool Source # max :: Femtoseconds -> Femtoseconds -> Femtoseconds Source # min :: Femtoseconds -> Femtoseconds -> Femtoseconds Source # | |||||
| Lift Femtoseconds Source # | |||||
Defined in Clash.Signal.Internal Methods lift :: Quote m => Femtoseconds -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Femtoseconds -> Code m Femtoseconds Source # | |||||
| type Rep Femtoseconds Source # | |||||
Defined in Clash.Signal.Internal type Rep Femtoseconds = D1 ('MetaData "Femtoseconds" "Clash.Signal.Internal" "clash-prelude-1.8.4-1CKHk9HHRNIGPqhYHQsmcW" 'True) (C1 ('MetaCons "Femtoseconds" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64))) | |||||
fsToHz :: (HasCallStack, Fractional a) => Femtoseconds -> a Source #
Calculate the frequency in Hz, given the period in fs
I.e., to calculate the clock frequency of a clock with a period of 5000 fs:
>>>fsToHz (Femtoseconds 5000)2.0e11
NB: This function is not synthesizable
hzToFs :: HasCallStack => Ratio Natural -> Femtoseconds Source #
Calculate the period in fs, given a frequency in Hz
I.e., to calculate the clock period for a circuit to run at 240 MHz we get
>>>hzToFs 240e6Femtoseconds 4166666
If the value hzToFs is applied to is not of the type Ratio Natural, you
can use hzToFs (. Note that if realToFrac f)f is negative, realToFrac
will give an without a call stack, making debugging
cumbersome.Underflow ::
ArithException
- NB: This function is not synthesizable
- NB: This function is lossy. I.e.,
fsToHz . hzToFs /= id.
unFemtoseconds :: Femtoseconds -> Int64 Source #
Strip newtype wrapper Femtoseconds
mapFemtoseconds :: (Int64 -> Int64) -> Femtoseconds -> Femtoseconds Source #
Map Int64 fields in Femtoseconds
Arguments
| :: forall (dom :: Domain). KnownDomain dom | |
| => Signal dom Femtoseconds | Clock period in femtoseconds.
|
| -> Signal dom Bool | |
| -> Clock dom |
Clock generator with dynamic clock periods for simulations. This is an
experimental feature and hence not part of the public API. Like tbClockGen
To be used like:
clkSystem = dynamicClockGen @System
See DomainConfiguration for more information on how to use synthesis domains.
Arguments
| :: forall (dom :: Domain). KnownDomain dom | |
| => Signal dom Femtoseconds | Clock period in femtoseconds.
|
| -> Clock dom |
Clock generator with dynamic clock periods for simulations. This is an experimental feature and hence not part of the public API.
To be used like:
clkSystem = dynamicClockGen @System
See DomainConfiguration for more information on how to use synthesis domains.
resetGen :: forall (dom :: Domain). KnownDomain dom => Reset dom Source #
Reset generator for simulation purposes. Asserts the reset for a single cycle.
To be used like:
rstSystem = resetGen @System
See tbClockGen for example usage.
NB: While this can be used in the testBench function, it cannot be
synthesized to hardware.
Arguments
| :: forall (dom :: Domain) (n :: Natural). (KnownDomain dom, 1 <= n) | |
| => SNat n | Number of initial cycles to hold reset high |
| -> Reset dom |
Reset generator for simulation purposes. Asserts the reset for the first n cycles.
To be used like:
rstSystem5 = resetGen @System d5
Example usage:
>>>sampleN 7 (unsafeToActiveHigh (resetGenN @System d3))[True,True,True,False,False,False,False]
NB: While this can be used in the testBench function, it cannot be
synthesized to hardware.
Boolean connectives
Simulation functions (not synthesizable)
simulate :: forall a b (dom1 :: Domain) (dom2 :: Domain). (NFDataX a, NFDataX b) => (Signal dom1 a -> Signal dom2 b) -> [a] -> [b] Source #
lazy version
simulate_lazy :: forall (dom1 :: Domain) a (dom2 :: Domain) b. (Signal dom1 a -> Signal dom2 b) -> [a] -> [b] Source #
Automaton
signalAutomaton :: forall (dom :: Domain) a b. (Signal dom a -> Signal dom b) -> Automaton (->) a b Source #
List <-> Signal conversion (not synthesizable)
fromList :: forall a (dom :: Domain). NFDataX a => [a] -> Signal dom a Source #
Create a Signal from a list
Every element in the list will correspond to a value of the signal for one clock cycle.
>>>sampleN 2 (fromList [1,2,3,4,5])[1,2]
NB: This function is not synthesizable
lazy versions
sample_lazy :: Foldable f => f a -> [a] Source #
sampleN_lazy :: Foldable f => Int -> f a -> [a] Source #
fromList_lazy :: forall a (dom :: Domain). [a] -> Signal dom a Source #
Create a Signal from a list
Every element in the list will correspond to a value of the signal for one clock cycle.
>>>sampleN 2 (fromList [1,2,3,4,5] :: Signal System Int)[1,2]
NB: This function is not synthesizable
QuickCheck combinators
Type classes
Eq-like
Ord-like
Functor
Applicative
appSignal# :: forall (dom :: Domain) a b. Signal dom (a -> b) -> Signal dom a -> Signal dom b Source #
Foldable
foldr# :: forall a b (dom :: Domain). (a -> b -> b) -> b -> Signal dom a -> b Source #
NB: Not synthesizable
NB: In "":foldr# f z s
- The function
fshould be lazy in its second argument. - The
zelement will never be used.
Traversable
traverse# :: forall f a b (dom :: Domain). Applicative f => (a -> f b) -> Signal dom a -> f (Signal dom b) Source #
EXTREMELY EXPERIMENTAL
Deprecated
unsafeFromHighPolarity Source #
Arguments
| :: forall (dom :: Domain). KnownDomain dom | |
| => Signal dom Bool | Reset signal that's |
| -> Reset dom |
Deprecated: Use unsafeFromActiveHigh instead. This function will be removed in Clash 1.12.
Interpret a signal of bools as an active high reset and convert it to a reset signal corresponding to the domain's setting.
For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.
unsafeFromLowPolarity Source #
Arguments
| :: forall (dom :: Domain). KnownDomain dom | |
| => Signal dom Bool | Reset signal that's |
| -> Reset dom |
Deprecated: Use unsafeFromActiveLow instead. This function will be removed in Clash 1.12.
Interpret a signal of bools as an active low reset and convert it to a reset signal corresponding to the domain's setting.
For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.
unsafeToHighPolarity :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool Source #
Deprecated: Use unsafeToActiveHigh instead. This function will be removed in Clash 1.12.
Convert a reset to an active high reset. Has no effect if reset is already an active high reset. Is unsafe because it can introduce:
For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.
unsafeToLowPolarity :: forall (dom :: Domain). KnownDomain dom => Reset dom -> Signal dom Bool Source #
Deprecated: Use unsafeToActiveLow instead. This function will be removed in Clash 1.12.
Convert a reset to an active low reset. Has no effect if reset is already an active low reset. It is unsafe because it can introduce:
For asynchronous resets it is unsafe because it can cause combinatorial loops. In case of synchronous resets it can lead to meta-stability in the presence of asynchronous resets.