clash-protocols
Safe HaskellNone
LanguageGHC2021

Protocols.Experimental.Axi4.ReadAddress

Description

Defines ReadAddress channel of full AXI4 protocol with port names corresponding to the AXI4 specification.

Synopsis

Documentation

data M2S_ReadAddress (conf :: Axi4ReadAddressConfig) userType Source #

See Table A2-5 "Read address channel signals"

Constructors

M2S_NoReadAddress 
M2S_ReadAddress 

Fields

Instances

Instances details
(KnownAxi4ReadAddressConfig conf, BitPack user) => BitPack (M2S_ReadAddress conf user) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Associated Types

type BitSize (M2S_ReadAddress conf user) 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type BitSize (M2S_ReadAddress conf user) = CLog 2 (GConstructorCount (Rep (M2S_ReadAddress conf user))) + GFieldSize (Rep (M2S_ReadAddress conf user))

Methods

pack :: M2S_ReadAddress conf user -> BitVector (BitSize (M2S_ReadAddress conf user)) #

unpack :: BitVector (BitSize (M2S_ReadAddress conf user)) -> M2S_ReadAddress conf user #

(KnownAxi4ReadAddressConfig conf, NFDataX user) => NFDataX (M2S_ReadAddress conf user) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Methods

deepErrorX :: String -> M2S_ReadAddress conf user #

hasUndefined :: M2S_ReadAddress conf user -> Bool #

ensureSpine :: M2S_ReadAddress conf user -> M2S_ReadAddress conf user #

rnfX :: M2S_ReadAddress conf user -> () #

(KnownAxi4ReadAddressConfig conf, ShowX userType) => ShowX (M2S_ReadAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Methods

showsPrecX :: Int -> M2S_ReadAddress conf userType -> ShowS #

showX :: M2S_ReadAddress conf userType -> String #

showListX :: [M2S_ReadAddress conf userType] -> ShowS #

Generic (M2S_ReadAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Associated Types

type Rep (M2S_ReadAddress conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type Rep (M2S_ReadAddress conf userType) = D1 ('MetaData "M2S_ReadAddress" "Protocols.Experimental.Axi4.ReadAddress" "clash-protocols-0.1-inplace" 'False) (C1 ('MetaCons "M2S_NoReadAddress" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "M2S_ReadAddress" 'PrefixI 'True) (((S1 ('MetaSel ('Just "_arid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector (ARIdWidth conf))) :*: S1 ('MetaSel ('Just "_araddr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector (ARAddrWidth conf)))) :*: (S1 ('MetaSel ('Just "_arregion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RegionType (ARKeepRegion conf))) :*: (S1 ('MetaSel ('Just "_arlen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BurstLengthType (ARKeepBurstLength conf))) :*: S1 ('MetaSel ('Just "_arsize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SizeType (ARKeepSize conf)))))) :*: ((S1 ('MetaSel ('Just "_arburst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BurstType (ARKeepBurst conf))) :*: (S1 ('MetaSel ('Just "_arlock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LockType (ARKeepLock conf))) :*: S1 ('MetaSel ('Just "_arcache") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ArCacheType (ARKeepCache conf))))) :*: (S1 ('MetaSel ('Just "_arprot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PermissionsType (ARKeepPermissions conf))) :*: (S1 ('MetaSel ('Just "_arqos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QosType (ARKeepQos conf))) :*: S1 ('MetaSel ('Just "_aruser") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 userType))))))

Methods

from :: M2S_ReadAddress conf userType -> Rep (M2S_ReadAddress conf userType) x #

to :: Rep (M2S_ReadAddress conf userType) x -> M2S_ReadAddress conf userType #

(KnownAxi4ReadAddressConfig conf, Show userType) => Show (M2S_ReadAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Methods

showsPrec :: Int -> M2S_ReadAddress conf userType -> ShowS #

show :: M2S_ReadAddress conf userType -> String #

showList :: [M2S_ReadAddress conf userType] -> ShowS #

(KnownAxi4ReadAddressConfig conf, Eq userType) => Eq (M2S_ReadAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Methods

(==) :: M2S_ReadAddress conf userType -> M2S_ReadAddress conf userType -> Bool #

(/=) :: M2S_ReadAddress conf userType -> M2S_ReadAddress conf userType -> Bool #

type BitSize (M2S_ReadAddress conf user) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type BitSize (M2S_ReadAddress conf user) = CLog 2 (GConstructorCount (Rep (M2S_ReadAddress conf user))) + GFieldSize (Rep (M2S_ReadAddress conf user))
type Rep (M2S_ReadAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type Rep (M2S_ReadAddress conf userType) = D1 ('MetaData "M2S_ReadAddress" "Protocols.Experimental.Axi4.ReadAddress" "clash-protocols-0.1-inplace" 'False) (C1 ('MetaCons "M2S_NoReadAddress" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "M2S_ReadAddress" 'PrefixI 'True) (((S1 ('MetaSel ('Just "_arid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector (ARIdWidth conf))) :*: S1 ('MetaSel ('Just "_araddr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector (ARAddrWidth conf)))) :*: (S1 ('MetaSel ('Just "_arregion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RegionType (ARKeepRegion conf))) :*: (S1 ('MetaSel ('Just "_arlen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BurstLengthType (ARKeepBurstLength conf))) :*: S1 ('MetaSel ('Just "_arsize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SizeType (ARKeepSize conf)))))) :*: ((S1 ('MetaSel ('Just "_arburst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BurstType (ARKeepBurst conf))) :*: (S1 ('MetaSel ('Just "_arlock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LockType (ARKeepLock conf))) :*: S1 ('MetaSel ('Just "_arcache") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ArCacheType (ARKeepCache conf))))) :*: (S1 ('MetaSel ('Just "_arprot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PermissionsType (ARKeepPermissions conf))) :*: (S1 ('MetaSel ('Just "_arqos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QosType (ARKeepQos conf))) :*: S1 ('MetaSel ('Just "_aruser") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 userType))))))

newtype S2M_ReadAddress Source #

See Table A2-5 "Read address channel signals"

Constructors

S2M_ReadAddress 

Fields

Instances

Instances details
BitPack S2M_ReadAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

NFDataX S2M_ReadAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

ShowX S2M_ReadAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Generic S2M_ReadAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Associated Types

type Rep S2M_ReadAddress 
Instance details

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)))
Show S2M_ReadAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Eq S2M_ReadAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type BitSize S2M_ReadAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type Rep S2M_ReadAddress Source # 
Instance details

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

Instances details
(KnownAxi4ReadAddressConfig confAR, KnownAxi4ReadDataConfig confR, NFDataX userR, NFDataX dat, ARIdWidth confAR ~ RIdWidth confR) => DfConv (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

Associated Types

type Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) 
Instance details

Defined in Protocols.Experimental.DfConv

type Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = dom
type BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) 
Instance details

Defined in Protocols.Experimental.DfConv

type BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = (dat, userR, ResponseType (RKeepResponse confR))
type FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) 
Instance details

Defined in Protocols.Experimental.DfConv

type FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = Axi4ReadAddressInfo confAR dataAR

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

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

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

Defined in Protocols.Experimental.Axi4.ReadAddress

Associated Types

type Fwd (Axi4ReadAddress dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type Fwd (Axi4ReadAddress dom conf userType) = Signal dom (M2S_ReadAddress conf userType)
type Bwd (Axi4ReadAddress dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type Bwd (Axi4ReadAddress dom conf userType) = Signal dom S2M_ReadAddress
type BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # 
Instance details

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

Defined in Protocols.Experimental.DfConv

type Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = dom
type FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # 
Instance details

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

Defined in Protocols.Experimental.Axi4.ReadAddress

type Bwd (Axi4ReadAddress dom conf userType) = Signal dom S2M_ReadAddress
type Fwd (Axi4ReadAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type Fwd (Axi4ReadAddress dom conf userType) = Signal dom (M2S_ReadAddress conf userType)

configuration

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

Instances details
(KnownAxi4ReadAddressConfig conf, NFDataX userType) => NFDataX (Axi4ReadAddressInfo conf userType) Source # 
Instance details

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

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

Defined in Protocols.Experimental.Axi4.ReadAddress

Methods

rnf :: Axi4ReadAddressInfo conf userType -> () #

Generic (Axi4ReadAddressInfo conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Associated Types

type Rep (Axi4ReadAddressInfo conf userType) 
Instance details

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

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

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

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

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.