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
Subpackages¶
Submodules¶
hwtLib.amba.axiLite_comp.axi4Lite_withId module¶
- class hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4LiteWithId(masterDir=DIRECTION.OUT, hdlName: str | dict[str, str] | None = None, loadConfig=True)[source]¶
Bases:
Axi4LiteAxi4-lite bus interface
- HDL params:
ADDR_WIDTH - default value 32 of type int
DATA_WIDTH - default value 64 of type int
- HDL IO:
ar - of type hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_addr_withId - UNKNOWN
r - of type hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_r_withId - UNKNOWN (Master=IN)
aw - of type hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_addr_withId - UNKNOWN
w - of type hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_w_withId - UNKNOWN
b - of type hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_b_withId - UNKNOWN (Master=IN)
- 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
- __annotations__ = {}¶
- class hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_addr_withId(masterDir=DIRECTION.OUT, hdlName: str | dict[str, str] | None = None, loadConfig=True)[source]¶
Bases:
Axi4Lite_addr- HDL params:
ID_WIDTH - default value 0 of type int
ADDR_WIDTH - default value 32 of type int
- HDL IO:
addr - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 32bits> - UNKNOWN
prot - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 3bits> - UNKNOWN
ready - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 1bit> - UNKNOWN (Master=IN)
valid - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 1bit> - UNKNOWN
- __annotations__ = {}¶
- class hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_b_withId(masterDir=DIRECTION.OUT, hdlName: str | dict[str, str] | None = None, loadConfig=True)[source]¶
Bases:
Axi4Lite_b- HDL params:
ID_WIDTH - default value 0 of type int
- HDL IO:
resp - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 2bits> - UNKNOWN
ready - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 1bit> - UNKNOWN (Master=IN)
valid - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 1bit> - UNKNOWN
- __annotations__ = {}¶
- class hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_r_withId(masterDir=DIRECTION.OUT, hdlName: str | dict[str, str] | None = None, loadConfig=True)[source]¶
Bases:
Axi4Lite_r- HDL params:
ID_WIDTH - default value 0 of type int
DATA_WIDTH - default value 64 of type int
- HDL IO:
data - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 64bits> - UNKNOWN
resp - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 2bits> - UNKNOWN
ready - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 1bit> - UNKNOWN (Master=IN)
valid - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 1bit> - UNKNOWN
- __annotations__ = {}¶
- class hwtLib.amba.axiLite_comp.axi4Lite_withId.Axi4Lite_w_withId(masterDir=DIRECTION.OUT, hdlName: str | dict[str, str] | None = None, loadConfig=True)[source]¶
Bases:
Axi4Lite_w- HDL params:
ID_WIDTH - default value 0 of type int
DATA_WIDTH - default value 64 of type int
- HDL IO:
data - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 64bits> - UNKNOWN
strb - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 8bits> - UNKNOWN
ready - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 1bit> - UNKNOWN (Master=IN)
valid - of type hwt.hwIOs.std.HwIOSignal with dtype=<HBits, 1bit> - UNKNOWN
- __annotations__ = {}¶
hwtLib.amba.axiLite_comp.endpoint module¶
- class hwtLib.amba.axiLite_comp.endpoint.AxiLiteEndpoint(structTemplate, hwIOCls=<class 'hwtLib.amba.axi4Lite.Axi4Lite'>, shouldEnterFn=None)[source]¶
Bases:
BusEndpointDelegate request from AxiLite interface to fields of structure write has higher priority.
- HDL params:
ADDR_WIDTH - default value 8 of type int
DATA_WIDTH - default value 32 of type int
- HDL IO:
clk - of type hwt.hwIOs.std.HwIOClk with dtype=<HBits, 1bit> - SLAVE
rst_n - of type hwt.hwIOs.std.HwIORst_n with dtype=<HBits, 1bit, n> - SLAVE
bus - of type hwtLib.amba.axi4Lite.Axi4Lite - SLAVE
decoded - of type hwt.hwIOs.hwIOStruct.HwIOStruct with dtype=struct { <HBits, 32bits, unsigned>[4] data0 <HBits, 32bits, unsigned>[4] data1 <HBits, 32bits, unsigned>[2] data2 <HBits, 32bits, unsigned> data3 //<HBits, 32bits, unsigned>[32] empty space struct { <HBits, 16bits, unsigned> data4a <HBits, 16bits, unsigned> data4b <HBits, 32bits, unsigned> data4c } data4 } - MASTER
- __annotations__ = {}¶
- __init__(structTemplate, hwIOCls=<class 'hwtLib.amba.axi4Lite.Axi4Lite'>, shouldEnterFn=None)[source]¶
- Parameters:
structTemplate – instance of HStruct which describes address space of this endpoint
hwIOCls – 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
- driveResp(isInAddrRange: RtlSignalBase | HConst, resp: RtlSignalBase)[source]¶
hwtLib.amba.axiLite_comp.to_axi module¶
- class hwtLib.amba.axiLite_comp.to_axi.AxiLite_to_Axi(hwIOCls=<class 'hwtLib.amba.axi4.Axi4'>, hdlName: str | None = None)[source]¶
Bases:
BusBridgeBridge from AxiLite interface to Axi3/4 interface
- HDL params:
HWIO_CLS - default value <class ‘hwtLib.amba.axi4.Axi4’> of type type
ADDR_WIDTH - default value 32 of type int
DATA_WIDTH - default value 64 of type int
ID_WIDTH - default value 6 of type int
ADDR_USER_WIDTH - default value 0 of type int
DEFAULT_ID - default value 0 of type int
- HDL IO:
s - of type hwtLib.amba.axi4Lite.Axi4Lite - SLAVE
m - of type hwtLib.amba.axi4.Axi4 - MASTER
- __annotations__ = {}¶