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.AxiS_frameParserFieldConnector(parent: Unit, dataIn: AxiStream, dataOut: Union[StructIntf, UnionSource])[source]¶
Bases:
object
- __init__(parent: Unit, dataIn: AxiStream, dataOut: Union[StructIntf, UnionSource])[source]¶
- choiceIsSelected(interfaceOfChoice: Union[UnionSource, UnionSink])[source]¶
Check if union member is selected by _select interface in union interface
- connectChoicesOfFrameParts(hsNondes: ListOfOutNodeInfos, part: ChoicesOfFrameParts, en: Union[RtlSignal, bool], exclusiveEn: Optional[RtlSignal], wordIndex: Optional[RtlSignal], currentWordIndex: int)[source]¶
- connectPart(hsNondes: ListOfOutNodeInfos, part: Union[TransPart, ChoicesOfFrameParts], en: Union[RtlSignal, bool], exclusiveEn: Union[RtlSignal, bool], wordIndex: Optional[RtlSignal], 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[Union[TransPart, ChoicesOfFrameParts]], bool], wordIndex: Optional[RtlSignal])[source]¶
Create main datamux from dataIn to dataOut
- connectStreamOfFrameParts(hsNondes: ListOfOutNodeInfos, part: Union[TransPart, ChoicesOfFrameParts], en: Union[RtlSignal, bool], exclusiveEn: Optional[RtlSignal], wordIndex: Optional[RtlSignal], currentWordIndex: int)[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 selectorIntf: 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: Handshaked, en: RtlSignal)[source]¶
Bases:
object
Interface has to be ready and handshaked logic should be constructed
- __init__(inInterface: Handshaked, en: RtlSignal)[source]¶
- sync(others: List[OutNodeInfo], en: RtlSignal, in_vld: RtlSignal)[source]¶
- class hwtLib.amba.axis_comp.frame_parser.out_containers.InNodeReadOnlyInfo(inInterface: Handshaked, en: RtlSignal)[source]¶
Bases:
InNodeInfo
Interface has to be ready but handshake logic is not constructed
- 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: Unit, outInterface: Union[Handshaked, VldSynced], en: RtlSignal, exclusiveEn: Optional[RtlSignal])[source]¶
Bases:
object
Container 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: Unit, outInterface: Union[Handshaked, VldSynced], en: RtlSignal, exclusiveEn: Optional[RtlSignal])[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: Optional[RtlSignal], word_index_start: int)[source]¶
Bases:
object
- class hwtLib.amba.axis_comp.frame_parser.out_containers.OutStreamNodeInfo(parent: Unit, outInterface: AxiStream, en: RtlSignal, exclusiveEn: Optional[RtlSignal], streamGroup: OutStreamNodeGroup)[source]¶
Bases:
OutNodeInfo
- __init__(parent: Unit, outInterface: AxiStream, en: RtlSignal, exclusiveEn: Optional[RtlSignal], 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]¶