| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Protocols.Experimental.Axi4.ReadAddress
Description
Defines ReadAddress channel of full AXI4 protocol with port names corresponding to the AXI4 specification.
Synopsis
- data M2S_ReadAddress (conf :: Axi4ReadAddressConfig) userType
- = M2S_NoReadAddress
- | M2S_ReadAddress {
- _arid :: BitVector (ARIdWidth conf)
- _araddr :: BitVector (ARAddrWidth conf)
- _arregion :: RegionType (ARKeepRegion conf)
- _arlen :: BurstLengthType (ARKeepBurstLength conf)
- _arsize :: SizeType (ARKeepSize conf)
- _arburst :: BurstType (ARKeepBurst conf)
- _arlock :: LockType (ARKeepLock conf)
- _arcache :: ArCacheType (ARKeepCache conf)
- _arprot :: PermissionsType (ARKeepPermissions conf)
- _arqos :: QosType (ARKeepQos conf)
- _aruser :: userType
- newtype S2M_ReadAddress = S2M_ReadAddress {}
- data Axi4ReadAddress (dom :: Domain) (conf :: Axi4ReadAddressConfig) userType
- data Axi4ReadAddressConfig = Axi4ReadAddressConfig {}
- type KnownAxi4ReadAddressConfig (conf :: Axi4ReadAddressConfig) = (KeepTypeClass (ARKeepBurst conf), KeepTypeClass (ARKeepSize conf), KeepTypeClass (ARKeepRegion conf), KeepTypeClass (ARKeepBurstLength conf), KeepTypeClass (ARKeepLock conf), KeepTypeClass (ARKeepCache conf), KeepTypeClass (ARKeepPermissions conf), KeepTypeClass (ARKeepQos conf), KnownNat (ARIdWidth conf), KnownNat (ARAddrWidth conf), ShowX (RegionType (ARKeepRegion conf)), ShowX (BurstLengthType (ARKeepBurstLength conf)), ShowX (SizeType (ARKeepSize conf)), ShowX (BurstType (ARKeepBurst conf)), ShowX (LockType (ARKeepLock conf)), ShowX (ArCacheType (ARKeepCache conf)), ShowX (PermissionsType (ARKeepPermissions conf)), ShowX (QosType (ARKeepQos conf)), Show (RegionType (ARKeepRegion conf)), Show (BurstLengthType (ARKeepBurstLength conf)), Show (SizeType (ARKeepSize conf)), Show (BurstType (ARKeepBurst conf)), Show (LockType (ARKeepLock conf)), Show (ArCacheType (ARKeepCache conf)), Show (PermissionsType (ARKeepPermissions conf)), Show (QosType (ARKeepQos conf)), NFDataX (RegionType (ARKeepRegion conf)), NFDataX (BurstLengthType (ARKeepBurstLength conf)), NFDataX (SizeType (ARKeepSize conf)), NFDataX (BurstType (ARKeepBurst conf)), NFDataX (LockType (ARKeepLock conf)), NFDataX (ArCacheType (ARKeepCache conf)), NFDataX (PermissionsType (ARKeepPermissions conf)), NFDataX (QosType (ARKeepQos conf)), BitPack (RegionType (ARKeepRegion conf)), BitPack (BurstLengthType (ARKeepBurstLength conf)), BitPack (SizeType (ARKeepSize conf)), BitPack (BurstType (ARKeepBurst conf)), BitPack (LockType (ARKeepLock conf)), BitPack (ArCacheType (ARKeepCache conf)), BitPack (PermissionsType (ARKeepPermissions conf)), BitPack (QosType (ARKeepQos conf)), NFData (RegionType (ARKeepRegion conf)), NFData (BurstLengthType (ARKeepBurstLength conf)), NFData (SizeType (ARKeepSize conf)), NFData (BurstType (ARKeepBurst conf)), NFData (LockType (ARKeepLock conf)), NFData (ArCacheType (ARKeepCache conf)), NFData (PermissionsType (ARKeepPermissions conf)), NFData (QosType (ARKeepQos conf)), Eq (RegionType (ARKeepRegion conf)), Eq (BurstLengthType (ARKeepBurstLength conf)), Eq (SizeType (ARKeepSize conf)), Eq (BurstType (ARKeepBurst conf)), Eq (LockType (ARKeepLock conf)), Eq (ArCacheType (ARKeepCache conf)), Eq (PermissionsType (ARKeepPermissions conf)), Eq (QosType (ARKeepQos conf)))
- type family ARKeepBurst (conf :: Axi4ReadAddressConfig) :: Bool where ...
- type family ARKeepSize (conf :: Axi4ReadAddressConfig) :: Bool where ...
- type family ARIdWidth (conf :: Axi4ReadAddressConfig) :: Nat where ...
- type family ARAddrWidth (conf :: Axi4ReadAddressConfig) :: Nat where ...
- type family ARKeepRegion (conf :: Axi4ReadAddressConfig) :: Bool where ...
- type family ARKeepBurstLength (conf :: Axi4ReadAddressConfig) :: Bool where ...
- type family ARKeepLock (conf :: Axi4ReadAddressConfig) :: Bool where ...
- type family ARKeepCache (conf :: Axi4ReadAddressConfig) :: Bool where ...
- type family ARKeepPermissions (conf :: Axi4ReadAddressConfig) :: Bool where ...
- type family ARKeepQos (conf :: Axi4ReadAddressConfig) :: Bool where ...
- data Axi4ReadAddressInfo (conf :: Axi4ReadAddressConfig) userType = Axi4ReadAddressInfo {
- _ariid :: BitVector (ARIdWidth conf)
- _ariaddr :: BitVector (ARAddrWidth conf)
- _ariregion :: RegionType (ARKeepRegion conf)
- _arilen :: BurstLengthType (ARKeepBurstLength conf)
- _arisize :: SizeType (ARKeepSize conf)
- _ariburst :: BurstType (ARKeepBurst conf)
- _arilock :: LockType (ARKeepLock conf)
- _aricache :: ArCacheType (ARKeepCache conf)
- _ariprot :: PermissionsType (ARKeepPermissions conf)
- _ariqos :: QosType (ARKeepQos conf)
- _ariuser :: userType
- axi4ReadAddrMsgToReadAddrInfo :: forall (conf :: Axi4ReadAddressConfig) userType. M2S_ReadAddress conf userType -> Axi4ReadAddressInfo conf userType
- axi4ReadAddrMsgFromReadAddrInfo :: forall (conf :: Axi4ReadAddressConfig) userType. Axi4ReadAddressInfo conf userType -> M2S_ReadAddress conf userType
- forceResetSanity :: forall (dom :: Domain) (conf :: Axi4ReadAddressConfig) userType. (KnownDomain dom, HiddenReset dom) => Circuit (Axi4ReadAddress dom conf userType) (Axi4ReadAddress dom conf userType)
Documentation
data M2S_ReadAddress (conf :: Axi4ReadAddressConfig) userType Source #
See Table A2-5 "Read address channel signals"
Constructors
| M2S_NoReadAddress | |
| M2S_ReadAddress | |
Fields
| |
Instances
newtype S2M_ReadAddress Source #
See Table A2-5 "Read address channel signals"
Constructors
| S2M_ReadAddress | |
Instances
| BitPack S2M_ReadAddress Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Associated Types
Methods pack :: S2M_ReadAddress -> BitVector (BitSize S2M_ReadAddress) # unpack :: BitVector (BitSize S2M_ReadAddress) -> S2M_ReadAddress # | |||||
| NFDataX S2M_ReadAddress Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods deepErrorX :: String -> S2M_ReadAddress # hasUndefined :: S2M_ReadAddress -> Bool # ensureSpine :: S2M_ReadAddress -> S2M_ReadAddress # rnfX :: S2M_ReadAddress -> () # | |||||
| ShowX S2M_ReadAddress Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods showsPrecX :: Int -> S2M_ReadAddress -> ShowS # showX :: S2M_ReadAddress -> String # showListX :: [S2M_ReadAddress] -> ShowS # | |||||
| Generic S2M_ReadAddress Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Associated Types
Methods from :: S2M_ReadAddress -> Rep S2M_ReadAddress x # to :: Rep S2M_ReadAddress x -> S2M_ReadAddress # | |||||
| Show S2M_ReadAddress Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods showsPrec :: Int -> S2M_ReadAddress -> ShowS # show :: S2M_ReadAddress -> String # showList :: [S2M_ReadAddress] -> ShowS # | |||||
| Eq S2M_ReadAddress Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods (==) :: S2M_ReadAddress -> S2M_ReadAddress -> Bool # (/=) :: S2M_ReadAddress -> S2M_ReadAddress -> Bool # | |||||
| type BitSize S2M_ReadAddress Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress type BitSize S2M_ReadAddress = CLog 2 (GConstructorCount (Rep S2M_ReadAddress)) + GFieldSize (Rep S2M_ReadAddress) | |||||
| type Rep S2M_ReadAddress Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress type Rep S2M_ReadAddress = D1 ('MetaData "S2M_ReadAddress" "Protocols.Experimental.Axi4.ReadAddress" "clash-protocols-0.1-inplace" 'True) (C1 ('MetaCons "S2M_ReadAddress" 'PrefixI 'True) (S1 ('MetaSel ('Just "_arready") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) | |||||
data Axi4ReadAddress (dom :: Domain) (conf :: Axi4ReadAddressConfig) userType Source #
AXI4 Read Address channel protocol
Instances
| (KnownAxi4ReadAddressConfig confAR, KnownAxi4ReadDataConfig confR, NFDataX userR, NFDataX dat, ARIdWidth confAR ~ RIdWidth confR) => DfConv (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # | |||||||||||||
Defined in Protocols.Experimental.DfConv Associated Types
Methods toDfCircuit :: Proxy (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) -> Circuit (Df (Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))) (FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))), Reverse (Df (Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))) (BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))))) (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # fromDfCircuit :: Proxy (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) -> Circuit (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) (Df (Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))) (FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))), Reverse (Df (Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))) (BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))))) Source # | |||||||||||||
| Backpressure (Axi4ReadAddress dom conf userType) Source # | |||||||||||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods boolsToBwd :: Proxy (Axi4ReadAddress dom conf userType) -> [Bool] -> Bwd (Axi4ReadAddress dom conf userType) Source # | |||||||||||||
| IdleCircuit (Axi4ReadAddress dom conf userType) Source # | |||||||||||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods idleFwd :: Proxy (Axi4ReadAddress dom conf userType) -> Fwd (Axi4ReadAddress dom conf userType) Source # idleBwd :: Proxy (Axi4ReadAddress dom conf userType) -> Bwd (Axi4ReadAddress dom conf userType) Source # | |||||||||||||
| Protocol (Axi4ReadAddress dom conf userType) Source # | |||||||||||||
Defined in Protocols.Experimental.Axi4.ReadAddress Associated Types
| |||||||||||||
| type BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # | |||||||||||||
Defined in Protocols.Experimental.DfConv type BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = (dat, userR, ResponseType (RKeepResponse confR)) | |||||||||||||
| type Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # | |||||||||||||
Defined in Protocols.Experimental.DfConv | |||||||||||||
| type FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # | |||||||||||||
Defined in Protocols.Experimental.DfConv type FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = Axi4ReadAddressInfo confAR dataAR | |||||||||||||
| type Bwd (Axi4ReadAddress dom conf userType) Source # | |||||||||||||
Defined in Protocols.Experimental.Axi4.ReadAddress | |||||||||||||
| type Fwd (Axi4ReadAddress dom conf userType) Source # | |||||||||||||
Defined in Protocols.Experimental.Axi4.ReadAddress | |||||||||||||
configuration
data Axi4ReadAddressConfig Source #
Configuration options for Axi4ReadAddress.
Constructors
| Axi4ReadAddressConfig | |
Fields
| |
type KnownAxi4ReadAddressConfig (conf :: Axi4ReadAddressConfig) = (KeepTypeClass (ARKeepBurst conf), KeepTypeClass (ARKeepSize conf), KeepTypeClass (ARKeepRegion conf), KeepTypeClass (ARKeepBurstLength conf), KeepTypeClass (ARKeepLock conf), KeepTypeClass (ARKeepCache conf), KeepTypeClass (ARKeepPermissions conf), KeepTypeClass (ARKeepQos conf), KnownNat (ARIdWidth conf), KnownNat (ARAddrWidth conf), ShowX (RegionType (ARKeepRegion conf)), ShowX (BurstLengthType (ARKeepBurstLength conf)), ShowX (SizeType (ARKeepSize conf)), ShowX (BurstType (ARKeepBurst conf)), ShowX (LockType (ARKeepLock conf)), ShowX (ArCacheType (ARKeepCache conf)), ShowX (PermissionsType (ARKeepPermissions conf)), ShowX (QosType (ARKeepQos conf)), Show (RegionType (ARKeepRegion conf)), Show (BurstLengthType (ARKeepBurstLength conf)), Show (SizeType (ARKeepSize conf)), Show (BurstType (ARKeepBurst conf)), Show (LockType (ARKeepLock conf)), Show (ArCacheType (ARKeepCache conf)), Show (PermissionsType (ARKeepPermissions conf)), Show (QosType (ARKeepQos conf)), NFDataX (RegionType (ARKeepRegion conf)), NFDataX (BurstLengthType (ARKeepBurstLength conf)), NFDataX (SizeType (ARKeepSize conf)), NFDataX (BurstType (ARKeepBurst conf)), NFDataX (LockType (ARKeepLock conf)), NFDataX (ArCacheType (ARKeepCache conf)), NFDataX (PermissionsType (ARKeepPermissions conf)), NFDataX (QosType (ARKeepQos conf)), BitPack (RegionType (ARKeepRegion conf)), BitPack (BurstLengthType (ARKeepBurstLength conf)), BitPack (SizeType (ARKeepSize conf)), BitPack (BurstType (ARKeepBurst conf)), BitPack (LockType (ARKeepLock conf)), BitPack (ArCacheType (ARKeepCache conf)), BitPack (PermissionsType (ARKeepPermissions conf)), BitPack (QosType (ARKeepQos conf)), NFData (RegionType (ARKeepRegion conf)), NFData (BurstLengthType (ARKeepBurstLength conf)), NFData (SizeType (ARKeepSize conf)), NFData (BurstType (ARKeepBurst conf)), NFData (LockType (ARKeepLock conf)), NFData (ArCacheType (ARKeepCache conf)), NFData (PermissionsType (ARKeepPermissions conf)), NFData (QosType (ARKeepQos conf)), Eq (RegionType (ARKeepRegion conf)), Eq (BurstLengthType (ARKeepBurstLength conf)), Eq (SizeType (ARKeepSize conf)), Eq (BurstType (ARKeepBurst conf)), Eq (LockType (ARKeepLock conf)), Eq (ArCacheType (ARKeepCache conf)), Eq (PermissionsType (ARKeepPermissions conf)), Eq (QosType (ARKeepQos conf))) Source #
Shorthand for a "well-behaved" read address config, so that we don't need to write out a bunch of type constraints later. Holds for every configuration; don't worry about implementing this class.
type family ARKeepBurst (conf :: Axi4ReadAddressConfig) :: Bool where ... Source #
Grab _arKeepBurst from Axi4ReadAddressConfig at the type level.
This boolean value determines whether to keep the _arburst field
in M2S_ReadAddress.
Equations
| ARKeepBurst ('Axi4ReadAddressConfig a _1 _2 _3 _4 _5 _6 _7 _8 _9) = a |
type family ARKeepSize (conf :: Axi4ReadAddressConfig) :: Bool where ... Source #
Grab _arKeepSize from Axi4ReadAddressConfig at the type level.
This boolean value determines whether to keep the _arsize field
in M2S_ReadAddress.
Equations
| ARKeepSize ('Axi4ReadAddressConfig _1 a _2 _3 _4 _5 _6 _7 _8 _9) = a |
type family ARIdWidth (conf :: Axi4ReadAddressConfig) :: Nat where ... Source #
Grab _arIdWidth from Axi4ReadAddressConfig at the type level.
This nat value determines the size of the _arid field
in M2S_ReadAddress.
Equations
| ARIdWidth ('Axi4ReadAddressConfig _1 _2 a _3 _4 _5 _6 _7 _8 _9) = a |
type family ARAddrWidth (conf :: Axi4ReadAddressConfig) :: Nat where ... Source #
Grab _arAddrWidth from Axi4ReadAddressConfig at the type level.
This nat value determines the size of the _araddr field
in M2S_ReadAddress.
Equations
| ARAddrWidth ('Axi4ReadAddressConfig _1 _2 _3 a _4 _5 _6 _7 _8 _9) = a |
type family ARKeepRegion (conf :: Axi4ReadAddressConfig) :: Bool where ... Source #
Grab _arKeepRegion from Axi4ReadAddressConfig at the type level.
This boolean value determines whether to keep the _arregion field
in M2S_ReadAddress.
Equations
| ARKeepRegion ('Axi4ReadAddressConfig _1 _2 _3 _4 a _5 _6 _7 _8 _9) = a |
type family ARKeepBurstLength (conf :: Axi4ReadAddressConfig) :: Bool where ... Source #
Grab _arKeepBurstLength from Axi4ReadAddressConfig at the type level.
This boolean value determines whether to keep the _arlen field
in M2S_ReadAddress.
Equations
| ARKeepBurstLength ('Axi4ReadAddressConfig _1 _2 _3 _4 _5 a _6 _7 _8 _9) = a |
type family ARKeepLock (conf :: Axi4ReadAddressConfig) :: Bool where ... Source #
Grab _arKeepLock from Axi4ReadAddressConfig at the type level.
This boolean value determines whether to keep the _arlock field
in M2S_ReadAddress.
Equations
| ARKeepLock ('Axi4ReadAddressConfig _1 _2 _3 _4 _5 _6 a _7 _8 _9) = a |
type family ARKeepCache (conf :: Axi4ReadAddressConfig) :: Bool where ... Source #
Grab _arKeepCache from Axi4ReadAddressConfig at the type level.
This boolean value determines whether to keep the _arcache field
in M2S_ReadAddress.
Equations
| ARKeepCache ('Axi4ReadAddressConfig _1 _2 _3 _4 _5 _6 _7 a _8 _9) = a |
type family ARKeepPermissions (conf :: Axi4ReadAddressConfig) :: Bool where ... Source #
Grab _arKeepPermissions from Axi4ReadAddressConfig at the type level.
This boolean value determines whether to keep the _arprot field
in M2S_ReadAddress.
Equations
| ARKeepPermissions ('Axi4ReadAddressConfig _1 _2 _3 _4 _5 _6 _7 _8 a _9) = a |
type family ARKeepQos (conf :: Axi4ReadAddressConfig) :: Bool where ... Source #
Grab _arKeepQos from Axi4ReadAddressConfig at the type level.
This boolean value determines whether to keep the _arqos field
in M2S_ReadAddress.
Equations
| ARKeepQos ('Axi4ReadAddressConfig _1 _2 _3 _4 _5 _6 _7 _8 _9 a) = a |
read address info
data Axi4ReadAddressInfo (conf :: Axi4ReadAddressConfig) userType Source #
Mainly for use in DfConv.
Data carried along Axi4ReadAddress channel which is put in control of
the user, rather than being managed by the DfConv instances.
Matches up
one-to-one with the fields of M2S_ReadAddress except for _arlen,
_arsize, and _arburst.
Constructors
| Axi4ReadAddressInfo | |
Fields
| |
Instances
| (KnownAxi4ReadAddressConfig conf, NFDataX userType) => NFDataX (Axi4ReadAddressInfo conf userType) Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods deepErrorX :: String -> Axi4ReadAddressInfo conf userType # hasUndefined :: Axi4ReadAddressInfo conf userType -> Bool # ensureSpine :: Axi4ReadAddressInfo conf userType -> Axi4ReadAddressInfo conf userType # rnfX :: Axi4ReadAddressInfo conf userType -> () # | |||||
| (KnownAxi4ReadAddressConfig conf, ShowX userType) => ShowX (Axi4ReadAddressInfo conf userType) Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods showsPrecX :: Int -> Axi4ReadAddressInfo conf userType -> ShowS # showX :: Axi4ReadAddressInfo conf userType -> String # showListX :: [Axi4ReadAddressInfo conf userType] -> ShowS # | |||||
| (KnownAxi4ReadAddressConfig conf, NFData userType) => NFData (Axi4ReadAddressInfo conf userType) Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods rnf :: Axi4ReadAddressInfo conf userType -> () # | |||||
| Generic (Axi4ReadAddressInfo conf userType) Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Associated Types
Methods from :: Axi4ReadAddressInfo conf userType -> Rep (Axi4ReadAddressInfo conf userType) x # to :: Rep (Axi4ReadAddressInfo conf userType) x -> Axi4ReadAddressInfo conf userType # | |||||
| (KnownAxi4ReadAddressConfig conf, Show userType) => Show (Axi4ReadAddressInfo conf userType) Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods showsPrec :: Int -> Axi4ReadAddressInfo conf userType -> ShowS # show :: Axi4ReadAddressInfo conf userType -> String # showList :: [Axi4ReadAddressInfo conf userType] -> ShowS # | |||||
| (KnownAxi4ReadAddressConfig conf, Eq userType) => Eq (Axi4ReadAddressInfo conf userType) Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress Methods (==) :: Axi4ReadAddressInfo conf userType -> Axi4ReadAddressInfo conf userType -> Bool # (/=) :: Axi4ReadAddressInfo conf userType -> Axi4ReadAddressInfo conf userType -> Bool # | |||||
| type Rep (Axi4ReadAddressInfo conf userType) Source # | |||||
Defined in Protocols.Experimental.Axi4.ReadAddress type Rep (Axi4ReadAddressInfo conf userType) = D1 ('MetaData "Axi4ReadAddressInfo" "Protocols.Experimental.Axi4.ReadAddress" "clash-protocols-0.1-inplace" 'False) (C1 ('MetaCons "Axi4ReadAddressInfo" 'PrefixI 'True) (((S1 ('MetaSel ('Just "_ariid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector (ARIdWidth conf))) :*: S1 ('MetaSel ('Just "_ariaddr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector (ARAddrWidth conf)))) :*: (S1 ('MetaSel ('Just "_ariregion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RegionType (ARKeepRegion conf))) :*: (S1 ('MetaSel ('Just "_arilen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BurstLengthType (ARKeepBurstLength conf))) :*: S1 ('MetaSel ('Just "_arisize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SizeType (ARKeepSize conf)))))) :*: ((S1 ('MetaSel ('Just "_ariburst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BurstType (ARKeepBurst conf))) :*: (S1 ('MetaSel ('Just "_arilock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LockType (ARKeepLock conf))) :*: S1 ('MetaSel ('Just "_aricache") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ArCacheType (ARKeepCache conf))))) :*: (S1 ('MetaSel ('Just "_ariprot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PermissionsType (ARKeepPermissions conf))) :*: (S1 ('MetaSel ('Just "_ariqos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QosType (ARKeepQos conf))) :*: S1 ('MetaSel ('Just "_ariuser") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 userType)))))) | |||||
axi4ReadAddrMsgToReadAddrInfo :: forall (conf :: Axi4ReadAddressConfig) userType. M2S_ReadAddress conf userType -> Axi4ReadAddressInfo conf userType Source #
Convert M2S_ReadAddress to Axi4ReadAddressInfo, dropping some info
axi4ReadAddrMsgFromReadAddrInfo :: forall (conf :: Axi4ReadAddressConfig) userType. Axi4ReadAddressInfo conf userType -> M2S_ReadAddress conf userType Source #
Convert Axi4ReadAddressInfo to M2S_ReadAddress, adding some info
helpers
forceResetSanity :: forall (dom :: Domain) (conf :: Axi4ReadAddressConfig) userType. (KnownDomain dom, HiddenReset dom) => Circuit (Axi4ReadAddress dom conf userType) (Axi4ReadAddress dom conf userType) Source #
Force a nack on the backward channel and no data on the forward channel if reset is asserted.