hwtLib.amba.axiLite_comp package

Generic Axi3Lite and Axi4Lite components

note

components from hwtLib.amba.axi_comp can be configured to use Axi4/3Lite interfaces thus this module contains only components unique to Axi3/4Lite iterfaces

Submodules

hwtLib.amba.axiLite_comp.axi4Lite_withId module

class hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4LiteWithId(masterDir=<DIRECTION.OUT: 1>, loadConfig=True)[source]

Bases: hwtLib.amba.axi4Lite.Axi4Lite

Axi4-lite bus interface

AR_CLS

alias of Axi4Lite_addr_withId

AW_CLS

alias of Axi4Lite_addr_withId

B_CLS

alias of Axi4Lite_b_withId

R_CLS

alias of Axi4Lite_r_withId

W_CLS

alias of Axi4Lite_w_withId

class hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_addr_withId(masterDir=<DIRECTION.OUT: 1>, loadConfig=True)[source]

Bases: hwtLib.amba.axi4Lite.Axi4Lite_addr

_config()[source]

Configure object parameters

  • setup all parameters on this object, use Param class instances to allow use of parameter inheritance

  • called in __init__ of class

_declr()[source]

declarations

  • do all declarations of externally accessible objects there (Interfaces)

  • _declr method is called after _config

  • if this object is Unit all interfaces are threated as externally accessible interfaces if this object is Interface instance all subinterfaces are loaded as well

class hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_b_withId(masterDir=<DIRECTION.OUT: 1>, loadConfig=True)[source]

Bases: hwtLib.amba.axi4Lite.Axi4Lite_b

_config()[source]

Configure object parameters

  • setup all parameters on this object, use Param class instances to allow use of parameter inheritance

  • called in __init__ of class

_declr()[source]

declarations

  • do all declarations of externally accessible objects there (Interfaces)

  • _declr method is called after _config

  • if this object is Unit all interfaces are threated as externally accessible interfaces if this object is Interface instance all subinterfaces are loaded as well

class hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_r_withId(masterDir=<DIRECTION.OUT: 1>, loadConfig=True)[source]

Bases: hwtLib.amba.axi4Lite.Axi4Lite_r

_config()[source]

Configure object parameters

  • setup all parameters on this object, use Param class instances to allow use of parameter inheritance

  • called in __init__ of class

_declr()[source]

declarations

  • do all declarations of externally accessible objects there (Interfaces)

  • _declr method is called after _config

  • if this object is Unit all interfaces are threated as externally accessible interfaces if this object is Interface instance all subinterfaces are loaded as well

class hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_w_withId(masterDir=<DIRECTION.OUT: 1>, loadConfig=True)[source]

Bases: hwtLib.amba.axi4Lite.Axi4Lite_w

_config()[source]

Configure object parameters

  • setup all parameters on this object, use Param class instances to allow use of parameter inheritance

  • called in __init__ of class

_declr()[source]

declarations

  • do all declarations of externally accessible objects there (Interfaces)

  • _declr method is called after _config

  • if this object is Unit all interfaces are threated as externally accessible interfaces if this object is Interface instance all subinterfaces are loaded as well

hwtLib.amba.axiLite_comp.endpoint module

class hwtLib.amba.axiLite_comp.endpoint.AxiLiteEndpoint(structTemplate, intfCls=<class 'hwtLib.amba.axi4Lite.Axi4Lite'>, shouldEnterFn=None)[source]

Bases: hwtLib.abstract.busEndpoint.BusEndpoint

Delegate request from AxiLite interface to fields of structure write has higher priority.

schematic
__init__(structTemplate, intfCls=<class 'hwtLib.amba.axi4Lite.Axi4Lite'>, shouldEnterFn=None)[source]
Parameters
  • structTemplate – instance of HStruct which describes address space of this endpoint

  • intfCls – class of bus interface which should be used

  • shouldEnterFn – function(root_t, structFieldPath) return (shouldEnter, shouldUse) where shouldEnter is flag that means iterator over this interface should look inside of this actual object and shouldUse flag means that this field should be used (to create interface)

_getAddrStep()
Returns

how many bits is one unit of address (e.g. 8 bits for char * pointer, 36 for 36 bit bram)

_getWordAddrStep()
Returns

size of one word in unit of address

_impl()[source]

implementations

  • implement functionality of componnent there

  • called after _declr

driveResp(isInAddrRange: Union[hwt.synthesizer.rtlLevel.mainBases.RtlSignalBase, hwt.hdl.value.HValue], resp: hwt.synthesizer.rtlLevel.mainBases.RtlSignalBase)[source]
readPart(awAddr, w_hs)[source]
writePart()[source]
writeRespPart(wAddr, respVld)[source]
hwtLib.amba.axiLite_comp.endpoint._example_AxiLiteEndpoint()[source]

hwtLib.amba.axiLite_comp.to_axi module

class hwtLib.amba.axiLite_comp.to_axi.AxiLite_to_Axi(intfCls=<class 'hwtLib.amba.axi4.Axi4'>)[source]

Bases: hwtLib.abstract.busBridge.BusBridge

Bridge from AxiLite interface to Axi3/4 interface

schematic
__init__(intfCls=<class 'hwtLib.amba.axi4.Axi4'>)[source]

Initialize self. See help(type(self)) for accurate signature.

_config()[source]

Configure object parameters

  • setup all parameters on this object, use Param class instances to allow use of parameter inheritance

  • called in __init__ of class

_declr()[source]

declarations

  • do all declarations of externally accessible objects there (Interfaces)

  • _declr method is called after _config

  • if this object is Unit all interfaces are threated as externally accessible interfaces if this object is Interface instance all subinterfaces are loaded as well

_impl() → None[source]

implementations

  • implement functionality of componnent there

  • called after _declr

static _serializeDecision(parentUnit, priv)

Decide to serialize only objs with uniq parameters and class

Parameters

priv – private data for this function ({frozen_params: obj})

Returns

tuple (do serialize this object, next priv, replacement unit)

hwtLib.amba.axiLite_comp.to_axi.interface_not_present_on_other(a: hwt.synthesizer.interface.Interface, b: hwt.synthesizer.interface.Interface)[source]
Returns

set of interfaces which does not have an equivalent on “b”