hwtLib.amba.axis_comp.frame_parser package¶
Submodules¶
hwtLib.amba.axis_comp.frame_parser.field_connector module¶
- class hwtLib.amba.axis_comp.frame_parser.field_connector.Axi4S_frameParserFieldConnector(parent: HwModule, dataIn: Axi4Stream, dataOut: HwIOStruct | HwIOUnionSource)[source]¶
Bases:
object- __init__(parent: HwModule, dataIn: Axi4Stream, dataOut: HwIOStruct | HwIOUnionSource)[source]¶
- choiceIsSelected(interfaceOfChoice: HwIOUnionSource | HwIOUnionSink)[source]¶
Check if union member is selected by _select interface in union interface
- connectChoicesOfFrameParts(hsNondes: ListOfOutNodeInfos, part: ChoicesOfFrameParts, en: RtlSignal | bool, exclusiveEn: RtlSignal | None, wordIndex: RtlSignal | None, currentWordIndex: int)[source]¶
- connectPart(hsNondes: ListOfOutNodeInfos, part: TransPart | ChoicesOfFrameParts, en: RtlSignal | bool, exclusiveEn: RtlSignal | bool, wordIndex: RtlSignal | None, currentWordIndex: int)[source]¶
Create datamux for a single output word in main fsm and colect metainformations for handshake logic and strb/keep
- Parameters:
hsNondes – list of nodes of handshaked logic
- connectParts(allOutNodes: ListOfOutNodeInfos, words: Tuple[int, List[TransPart | ChoicesOfFrameParts], bool], wordIndex: RtlSignal | None)[source]¶
Create main datamux from dataIn to dataOut
- hwtLib.amba.axis_comp.frame_parser.field_connector.get_byte_order_modifier(axis: Axi4Stream)[source]¶
hwtLib.amba.axis_comp.frame_parser.out_containers module¶
- class hwtLib.amba.axis_comp.frame_parser.out_containers.ExclusieveListOfHsNodes(selectorIntf)[source]¶
Bases:
list@ivar selectorHwIO: selector for this node
- sync(allNodes: List[OutNodeInfo], en: RtlSignal, din_vld: RtlSignal) None[source]¶
- class hwtLib.amba.axis_comp.frame_parser.out_containers.InNodeInfo(inInterface: HwIODataRdVld, en: RtlSignal)[source]¶
Bases:
objectInterface has to be ready and handshaked logic should be constructed
- sync(others: List[OutNodeInfo], en: RtlSignal, in_vld: RtlSignal)[source]¶
- class hwtLib.amba.axis_comp.frame_parser.out_containers.InNodeReadOnlyInfo(inInterface: HwIODataRdVld, en: RtlSignal)[source]¶
Bases:
InNodeInfoInterface has to be ready but handshake logic is not constructed
- __annotations__ = {}¶
- sync(others: List[OutNodeInfo], en: RtlSignal, in_vld: RtlSignal)[source]¶
- class hwtLib.amba.axis_comp.frame_parser.out_containers.ListOfOutNodeInfos(iterable=(), /)[source]¶
Bases:
list- sync(allNodes: List[OutNodeInfo], en: RtlSignal, din_vld: RtlSignal) None[source]¶
- class hwtLib.amba.axis_comp.frame_parser.out_containers.OutNodeInfo(parent: HwModule, outInterface: HwIODataRdVld | HwIODataVld, en: RtlSignal, exclusiveEn: RtlSignal | None)[source]¶
Bases:
objectContainer for informations about output for handshake logic
- Variables:
~.outInterface – output parsed interface
~.en – enable signal of word
~.exvlusiveEn – enable signal of union member
- __init__(parent: HwModule, outInterface: HwIODataRdVld | HwIODataVld, en: RtlSignal, exclusiveEn: RtlSignal | None)[source]¶
- _sync(others: List[OutNodeInfo], en: RtlSignal, din_vld: RtlSignal)[source]¶
- Returns:
output validity signal which is checked if data from this word was previously consumed
- sync(others: List[OutNodeInfo], en: RtlSignal, din_vld: RtlSignal)[source]¶
- class hwtLib.amba.axis_comp.frame_parser.out_containers.OutStreamNodeGroup(word_index: RtlSignal | None, word_index_start: int)[source]¶
Bases:
object
- class hwtLib.amba.axis_comp.frame_parser.out_containers.OutStreamNodeInfo(parent: HwModule, outInterface: Axi4Stream, en: RtlSignal, exclusiveEn: RtlSignal | None, streamGroup: OutStreamNodeGroup)[source]¶
Bases:
OutNodeInfo- __annotations__ = {}¶
- __init__(parent: HwModule, outInterface: Axi4Stream, en: RtlSignal, exclusiveEn: RtlSignal | None, streamGroup: OutStreamNodeGroup)[source]¶
- sync(others: List[OutNodeInfo], en: RtlSignal, din_vld: RtlSignal)[source]¶
- hwtLib.amba.axis_comp.frame_parser.out_containers.getAckOfOthers(self: OutNodeInfo, others: List[OutNodeInfo])[source]¶