clash-protocols
Safe HaskellNone
LanguageGHC2021

Protocols.Experimental.Axi4.WriteAddress

Description

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

Synopsis

Documentation

data M2S_WriteAddress (conf :: Axi4WriteAddressConfig) userType Source #

See Table A2-2 "Write address channel signals"

Constructors

M2S_NoWriteAddress 
M2S_WriteAddress 

Fields

Instances

Instances details
(KnownAxi4WriteAddressConfig conf, BitPack userType) => BitPack (M2S_WriteAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Associated Types

type BitSize (M2S_WriteAddress conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type BitSize (M2S_WriteAddress conf userType) = CLog 2 (GConstructorCount (Rep (M2S_WriteAddress conf userType))) + GFieldSize (Rep (M2S_WriteAddress conf userType))

Methods

pack :: M2S_WriteAddress conf userType -> BitVector (BitSize (M2S_WriteAddress conf userType)) #

unpack :: BitVector (BitSize (M2S_WriteAddress conf userType)) -> M2S_WriteAddress conf userType #

(KnownAxi4WriteAddressConfig conf, NFDataX userType) => NFDataX (M2S_WriteAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

deepErrorX :: String -> M2S_WriteAddress conf userType #

hasUndefined :: M2S_WriteAddress conf userType -> Bool #

ensureSpine :: M2S_WriteAddress conf userType -> M2S_WriteAddress conf userType #

rnfX :: M2S_WriteAddress conf userType -> () #

(KnownAxi4WriteAddressConfig conf, ShowX userType) => ShowX (M2S_WriteAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

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

showX :: M2S_WriteAddress conf userType -> String #

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

Generic (M2S_WriteAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Associated Types

type Rep (M2S_WriteAddress conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Rep (M2S_WriteAddress conf userType) = D1 ('MetaData "M2S_WriteAddress" "Protocols.Experimental.Axi4.WriteAddress" "clash-protocols-0.1-inplace" 'False) (C1 ('MetaCons "M2S_NoWriteAddress" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "M2S_WriteAddress" 'PrefixI 'True) (((S1 ('MetaSel ('Just "_awid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector (AWIdWidth conf))) :*: S1 ('MetaSel ('Just "_awaddr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector (AWAddrWidth conf)))) :*: (S1 ('MetaSel ('Just "_awregion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RegionType (AWKeepRegion conf))) :*: (S1 ('MetaSel ('Just "_awlen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BurstLengthType (AWKeepBurstLength conf))) :*: S1 ('MetaSel ('Just "_awsize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SizeType (AWKeepSize conf)))))) :*: ((S1 ('MetaSel ('Just "_awburst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BurstType (AWKeepBurst conf))) :*: (S1 ('MetaSel ('Just "_awlock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LockType (AWKeepLock conf))) :*: S1 ('MetaSel ('Just "_awcache") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AwCacheType (AWKeepCache conf))))) :*: (S1 ('MetaSel ('Just "_awprot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PermissionsType (AWKeepPermissions conf))) :*: (S1 ('MetaSel ('Just "_awqos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QosType (AWKeepQos conf))) :*: S1 ('MetaSel ('Just "_awuser") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 userType))))))

Methods

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

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

(KnownAxi4WriteAddressConfig conf, Show userType) => Show (M2S_WriteAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

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

show :: M2S_WriteAddress conf userType -> String #

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

(KnownAxi4WriteAddressConfig conf, Eq userType) => Eq (M2S_WriteAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

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

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

type BitSize (M2S_WriteAddress conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

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

Defined in Protocols.Experimental.Axi4.WriteAddress

type Rep (M2S_WriteAddress conf userType) = D1 ('MetaData "M2S_WriteAddress" "Protocols.Experimental.Axi4.WriteAddress" "clash-protocols-0.1-inplace" 'False) (C1 ('MetaCons "M2S_NoWriteAddress" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "M2S_WriteAddress" 'PrefixI 'True) (((S1 ('MetaSel ('Just "_awid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector (AWIdWidth conf))) :*: S1 ('MetaSel ('Just "_awaddr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BitVector (AWAddrWidth conf)))) :*: (S1 ('MetaSel ('Just "_awregion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RegionType (AWKeepRegion conf))) :*: (S1 ('MetaSel ('Just "_awlen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BurstLengthType (AWKeepBurstLength conf))) :*: S1 ('MetaSel ('Just "_awsize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SizeType (AWKeepSize conf)))))) :*: ((S1 ('MetaSel ('Just "_awburst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BurstType (AWKeepBurst conf))) :*: (S1 ('MetaSel ('Just "_awlock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LockType (AWKeepLock conf))) :*: S1 ('MetaSel ('Just "_awcache") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AwCacheType (AWKeepCache conf))))) :*: (S1 ('MetaSel ('Just "_awprot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PermissionsType (AWKeepPermissions conf))) :*: (S1 ('MetaSel ('Just "_awqos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QosType (AWKeepQos conf))) :*: S1 ('MetaSel ('Just "_awuser") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 userType))))))

newtype S2M_WriteAddress Source #

See Table A2-2 "Write address channel signals"

Constructors

S2M_WriteAddress 

Fields

Instances

Instances details
BitPack S2M_WriteAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

NFDataX S2M_WriteAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

ShowX S2M_WriteAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Generic S2M_WriteAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Associated Types

type Rep S2M_WriteAddress 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Rep S2M_WriteAddress = D1 ('MetaData "S2M_WriteAddress" "Protocols.Experimental.Axi4.WriteAddress" "clash-protocols-0.1-inplace" 'True) (C1 ('MetaCons "S2M_WriteAddress" 'PrefixI 'True) (S1 ('MetaSel ('Just "_awready") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
Show S2M_WriteAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Eq S2M_WriteAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type BitSize S2M_WriteAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Rep S2M_WriteAddress Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Rep S2M_WriteAddress = D1 ('MetaData "S2M_WriteAddress" "Protocols.Experimental.Axi4.WriteAddress" "clash-protocols-0.1-inplace" 'True) (C1 ('MetaCons "S2M_WriteAddress" 'PrefixI 'True) (S1 ('MetaSel ('Just "_awready") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data Axi4WriteAddress (dom :: Domain) (conf :: Axi4WriteAddressConfig) userType Source #

AXI4 Write Address channel protocol

Instances

Instances details
(KnownAxi4WriteAddressConfig confAW, KnownAxi4WriteDataConfig confW, KnownAxi4WriteResponseConfig confB, NFDataX userAW, NFDataX userB, AWIdWidth confAW ~ BIdWidth confB) => DfConv (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

Associated Types

type Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) 
Instance details

Defined in Protocols.Experimental.DfConv

type Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = dom
type BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) 
Instance details

Defined in Protocols.Experimental.DfConv

type BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = (ResponseType (BKeepResponse confB), userB)
type FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) 
Instance details

Defined in Protocols.Experimental.DfConv

type FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = (Axi4WriteAddressInfo confAW userAW, BurstLengthType (AWKeepBurstLength confAW), BurstType (AWKeepBurst confAW), StrictStrobeType (WNBytes confW) (WKeepStrobe confW), userW)

Methods

toDfCircuit :: Proxy (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) -> Circuit (Df (Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))) (FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))), Reverse (Df (Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))) (BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))))) (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) Source #

fromDfCircuit :: Proxy (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) -> Circuit (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) (Df (Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))) (FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))), Reverse (Df (Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))) (BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))))) Source #

Backpressure (Axi4WriteAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

boolsToBwd :: Proxy (Axi4WriteAddress dom conf userType) -> [Bool] -> Bwd (Axi4WriteAddress dom conf userType) Source #

IdleCircuit (Axi4WriteAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

idleFwd :: Proxy (Axi4WriteAddress dom conf userType) -> Fwd (Axi4WriteAddress dom conf userType) Source #

idleBwd :: Proxy (Axi4WriteAddress dom conf userType) -> Bwd (Axi4WriteAddress dom conf userType) Source #

Protocol (Axi4WriteAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Associated Types

type Fwd (Axi4WriteAddress dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Fwd (Axi4WriteAddress dom conf userType) = Signal dom (M2S_WriteAddress conf userType)
type Bwd (Axi4WriteAddress dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Bwd (Axi4WriteAddress dom conf userType) = Signal dom S2M_WriteAddress
type BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

type BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = (ResponseType (BKeepResponse confB), userB)
type Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

type Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = dom
type FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

type FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = (Axi4WriteAddressInfo confAW userAW, BurstLengthType (AWKeepBurstLength confAW), BurstType (AWKeepBurst confAW), StrictStrobeType (WNBytes confW) (WKeepStrobe confW), userW)
type Bwd (Axi4WriteAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Bwd (Axi4WriteAddress dom conf userType) = Signal dom S2M_WriteAddress
type Fwd (Axi4WriteAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Fwd (Axi4WriteAddress dom conf userType) = Signal dom (M2S_WriteAddress conf userType)

configuration

type KnownAxi4WriteAddressConfig (conf :: Axi4WriteAddressConfig) = (KeepTypeClass (AWKeepBurst conf), KeepTypeClass (AWKeepSize conf), KeepTypeClass (AWKeepRegion conf), KeepTypeClass (AWKeepBurstLength conf), KeepTypeClass (AWKeepLock conf), KeepTypeClass (AWKeepCache conf), KeepTypeClass (AWKeepPermissions conf), KeepTypeClass (AWKeepQos conf), KnownNat (AWIdWidth conf), KnownNat (AWAddrWidth conf), ShowX (RegionType (AWKeepRegion conf)), ShowX (BurstLengthType (AWKeepBurstLength conf)), ShowX (SizeType (AWKeepSize conf)), ShowX (BurstType (AWKeepBurst conf)), ShowX (LockType (AWKeepLock conf)), ShowX (AwCacheType (AWKeepCache conf)), ShowX (PermissionsType (AWKeepPermissions conf)), ShowX (QosType (AWKeepQos conf)), Show (RegionType (AWKeepRegion conf)), Show (BurstLengthType (AWKeepBurstLength conf)), Show (SizeType (AWKeepSize conf)), Show (BurstType (AWKeepBurst conf)), Show (LockType (AWKeepLock conf)), Show (AwCacheType (AWKeepCache conf)), Show (PermissionsType (AWKeepPermissions conf)), Show (QosType (AWKeepQos conf)), NFDataX (RegionType (AWKeepRegion conf)), NFDataX (BurstLengthType (AWKeepBurstLength conf)), NFDataX (SizeType (AWKeepSize conf)), NFDataX (BurstType (AWKeepBurst conf)), NFDataX (LockType (AWKeepLock conf)), NFDataX (AwCacheType (AWKeepCache conf)), NFDataX (PermissionsType (AWKeepPermissions conf)), NFDataX (QosType (AWKeepQos conf)), BitPack (RegionType (AWKeepRegion conf)), BitPack (BurstLengthType (AWKeepBurstLength conf)), BitPack (SizeType (AWKeepSize conf)), BitPack (BurstType (AWKeepBurst conf)), BitPack (LockType (AWKeepLock conf)), BitPack (AwCacheType (AWKeepCache conf)), BitPack (PermissionsType (AWKeepPermissions conf)), BitPack (QosType (AWKeepQos conf)), NFData (RegionType (AWKeepRegion conf)), NFData (BurstLengthType (AWKeepBurstLength conf)), NFData (SizeType (AWKeepSize conf)), NFData (BurstType (AWKeepBurst conf)), NFData (LockType (AWKeepLock conf)), NFData (AwCacheType (AWKeepCache conf)), NFData (PermissionsType (AWKeepPermissions conf)), NFData (QosType (AWKeepQos conf)), Eq (RegionType (AWKeepRegion conf)), Eq (BurstLengthType (AWKeepBurstLength conf)), Eq (SizeType (AWKeepSize conf)), Eq (BurstType (AWKeepBurst conf)), Eq (LockType (AWKeepLock conf)), Eq (AwCacheType (AWKeepCache conf)), Eq (PermissionsType (AWKeepPermissions conf)), Eq (QosType (AWKeepQos conf))) Source #

Shorthand for a "well-behaved" write 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 AWKeepBurst (c :: Axi4WriteAddressConfig) :: Bool where ... Source #

Grab _awKeepBurst from Axi4WriteAddressConfig at the type level. This boolean value determines whether to keep the _awburst field in M2S_WriteAddress.

Equations

AWKeepBurst ('Axi4WriteAddressConfig a _1 _2 _3 _4 _5 _6 _7 _8 _9) = a 

type family AWKeepSize (c :: Axi4WriteAddressConfig) :: Bool where ... Source #

Grab _awKeepSize from Axi4WriteAddressConfig at the type level. This boolean value determines whether to keep the _awsize field in M2S_WriteAddress.

Equations

AWKeepSize ('Axi4WriteAddressConfig _1 a _2 _3 _4 _5 _6 _7 _8 _9) = a 

type family AWIdWidth (c :: Axi4WriteAddressConfig) :: Nat where ... Source #

Grab _awIdWidth from Axi4WriteAddressConfig at the type level. This nat value determines the size of the _awid field in M2S_WriteAddress.

Equations

AWIdWidth ('Axi4WriteAddressConfig _1 _2 a _3 _4 _5 _6 _7 _8 _9) = a 

type family AWAddrWidth (c :: Axi4WriteAddressConfig) :: Nat where ... Source #

Grab _awAddrWidth from Axi4WriteAddressConfig at the type level. This nat value determines the size of the _awaddr field in M2S_WriteAddress.

Equations

AWAddrWidth ('Axi4WriteAddressConfig _1 _2 _3 a _4 _5 _6 _7 _8 _9) = a 

type family AWKeepRegion (c :: Axi4WriteAddressConfig) :: Bool where ... Source #

Grab _awKeepRegion from Axi4WriteAddressConfig at the type level. This boolean value determines whether to keep the _awregion field in M2S_WriteAddress.

Equations

AWKeepRegion ('Axi4WriteAddressConfig _1 _2 _3 _4 a _5 _6 _7 _8 _9) = a 

type family AWKeepBurstLength (c :: Axi4WriteAddressConfig) :: Bool where ... Source #

Grab _awKeepBurstLength from Axi4WriteAddressConfig at the type level. This boolean value determines whether to keep the _awlen field in M2S_WriteAddress.

Equations

AWKeepBurstLength ('Axi4WriteAddressConfig _1 _2 _3 _4 _5 a _6 _7 _8 _9) = a 

type family AWKeepLock (c :: Axi4WriteAddressConfig) :: Bool where ... Source #

Grab _awKeepLock from Axi4WriteAddressConfig at the type level. This boolean value determines whether to keep the _awlock field in M2S_WriteAddress.

Equations

AWKeepLock ('Axi4WriteAddressConfig _1 _2 _3 _4 _5 _6 a _7 _8 _9) = a 

type family AWKeepCache (c :: Axi4WriteAddressConfig) :: Bool where ... Source #

Grab _awKeepCache from Axi4WriteAddressConfig at the type level. This boolean value determines whether to keep the _awcache field in M2S_WriteAddress.

Equations

AWKeepCache ('Axi4WriteAddressConfig _1 _2 _3 _4 _5 _6 _7 a _8 _9) = a 

type family AWKeepPermissions (c :: Axi4WriteAddressConfig) :: Bool where ... Source #

Grab _awKeepPermissions from Axi4WriteAddressConfig at the type level. This boolean value determines whether to keep the _awprot field in M2S_WriteAddress.

Equations

AWKeepPermissions ('Axi4WriteAddressConfig _1 _2 _3 _4 _5 _6 _7 _8 a _9) = a 

type family AWKeepQos (c :: Axi4WriteAddressConfig) :: Bool where ... Source #

Grab _awKeepQos from Axi4WriteAddressConfig at the type level. This boolean value determines whether to keep the _awqos field in M2S_WriteAddress.

Equations

AWKeepQos ('Axi4WriteAddressConfig _1 _2 _3 _4 _5 _6 _7 _8 _9 a) = a 

write address info

data Axi4WriteAddressInfo (conf :: Axi4WriteAddressConfig) userType Source #

Mainly for use in DfConv.

Data carried along Axi4WriteAddress 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_WriteAddress except for _awlen, _awsize, and _awburst.

Constructors

Axi4WriteAddressInfo 

Fields

Instances

Instances details
(KnownAxi4WriteAddressConfig conf, NFDataX userType) => NFDataX (Axi4WriteAddressInfo conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

deepErrorX :: String -> Axi4WriteAddressInfo conf userType #

hasUndefined :: Axi4WriteAddressInfo conf userType -> Bool #

ensureSpine :: Axi4WriteAddressInfo conf userType -> Axi4WriteAddressInfo conf userType #

rnfX :: Axi4WriteAddressInfo conf userType -> () #

(KnownAxi4WriteAddressConfig conf, ShowX userType) => ShowX (Axi4WriteAddressInfo conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

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

showX :: Axi4WriteAddressInfo conf userType -> String #

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

(KnownAxi4WriteAddressConfig conf, NFData userType) => NFData (Axi4WriteAddressInfo conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

rnf :: Axi4WriteAddressInfo conf userType -> () #

Generic (Axi4WriteAddressInfo conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Associated Types

type Rep (Axi4WriteAddressInfo conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

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

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

(KnownAxi4WriteAddressConfig conf, Show userType) => Show (Axi4WriteAddressInfo conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

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

show :: Axi4WriteAddressInfo conf userType -> String #

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

(KnownAxi4WriteAddressConfig conf, Eq userType) => Eq (Axi4WriteAddressInfo conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

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

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

type Rep (Axi4WriteAddressInfo conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

axi4WriteAddrMsgToWriteAddrInfo :: forall (conf :: Axi4WriteAddressConfig) userType. M2S_WriteAddress conf userType -> Axi4WriteAddressInfo conf userType Source #

Convert M2S_WriteAddress to Axi4WriteAddressInfo, dropping some info

forceResetSanity :: forall (dom :: Domain) (conf :: Axi4WriteAddressConfig) userType. (KnownDomain dom, HiddenReset dom) => Circuit (Axi4WriteAddress dom conf userType) (Axi4WriteAddress dom conf userType) Source #

Force a nack on the backward channel and no data on the forward channel if reset is asserted.