clash-prelude-1.9.0: Clash: a functional hardware description language - Prelude library
Copyright(C) 2018 Google Inc
2019 Myrtle Software Ltd
2023 QBayLogic B.V.
LicenseBSD2 (see the file LICENSE)
MaintainerQBayLogic B.V. <devops@qbaylogic.com>
Safe HaskellNone
LanguageHaskell2010

Clash.Clocks

Description

Generic clock related utilities.

Synopsis

Documentation

class Clocks t where Source #

NB: The documentation only shows instances up to 3 output clocks. By default, instances up to and including 18 clocks will exist.

Associated Types

type ClocksCxt t :: Constraint Source #

type NumOutClocks t :: Nat Source #

Methods

clocks :: (KnownDomain domIn, ClocksCxt t) => Clock domIn -> Reset domIn -> t Source #

Instances

Instances details
Clocks (Clock c1, Signal pllLock Bool) Source # 
Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Signal pllLock Bool) Source #

type NumOutClocks (Clock c1, Signal pllLock Bool) :: Nat Source #

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Signal pllLock Bool) Source # 
Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) Source #

type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) :: Nat Source #

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source # 
Instance details

Defined in Clash.Clocks

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source #

type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) :: Nat Source #

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source #

class ClocksSync t where Source #

NB: The documentation only shows instances up to 3 output clocks. By default, instances up to and including 18 clocks will exist.

Associated Types

type ClocksSyncClocksInst t (domIn :: Domain) :: Type Source #

type ClocksResetSynchronizerCxt t :: Constraint Source #

Instances

Instances details
ClocksSync (Clock c1, Reset c1) Source # 
Instance details

Defined in Clash.Clocks

Associated Types

type ClocksSyncClocksInst (Clock c1, Reset c1) domIn Source #

type ClocksResetSynchronizerCxt (Clock c1, Reset c1) Source #

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 # 
Instance details

Defined in Clash.Clocks

Associated Types

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn Source #

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) Source #

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 # 
Instance details

Defined in Clash.Clocks

Associated Types

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) Source #

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 #

Orphan instances

ClocksSync (Clock c1, Reset c1) Source # 
Instance details

Associated Types

type ClocksSyncClocksInst (Clock c1, Reset c1) domIn Source #

type ClocksResetSynchronizerCxt (Clock c1, Reset c1) Source #

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, Signal pllLock Bool) Source # 
Instance details

Associated Types

type ClocksCxt (Clock c1, Signal pllLock Bool) Source #

type NumOutClocks (Clock c1, Signal pllLock Bool) :: Nat Source #

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Signal pllLock Bool) Source #

Clocks (Clock c1, Clock c2, Signal pllLock Bool) Source # 
Instance details

Associated Types

type ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool) Source #

type NumOutClocks (Clock c1, Clock c2, Signal pllLock Bool) :: Nat Source #

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2) Source # 
Instance details

Associated Types

type ClocksSyncClocksInst (Clock c1, Reset c1, Clock c2, Reset c2) domIn Source #

type ClocksResetSynchronizerCxt (Clock c1, Reset c1, Clock c2, Reset c2) Source #

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, Signal pllLock Bool) Source # 
Instance details

Associated Types

type ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source #

type NumOutClocks (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) :: Nat Source #

Methods

clocks :: forall (domIn :: Domain). (KnownDomain domIn, ClocksCxt (Clock c1, Clock c2, Clock c3, Signal pllLock Bool)) => Clock domIn -> Reset domIn -> (Clock c1, Clock c2, Clock c3, Signal pllLock Bool) Source #

ClocksSync (Clock c1, Reset c1, Clock c2, Reset c2, Clock c3, Reset c3) Source # 
Instance details

Associated Types

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) Source #

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 #