hwtLib.abstract.frame_utils.join package¶
Submodules¶
hwtLib.abstract.frame_utils.join.fsm module¶
- hwtLib.abstract.frame_utils.join.fsm.input_B_dst_to_fsm(word_bytes: int, input_cnt: int, input_B_dst: List[List[Set[Tuple[Tuple[int, int], int, int, int]]]], can_be_zero_len_frame: List[bool])[source]¶
- Parameters
word_bytes – number of bytes in output word
input_cnt – number of input streams
input_B_dst – list with mapping of input bytes to a output bytes in each state
Format of input_B_dst is: List for each input in this list there are lists for each input byte in this list there are sets of byte destinations for each input byte byte destination is a tuple: state label, input index, time index, output byte index, input last flag
- Note
input_B_dst is produced by
hwtLib.amba.axis_comp.frame_utils.join.FrameJoinUtils.resolve_input_bytes_destinations()
hwtLib.abstract.frame_utils.join.input_reg_val module¶
- class hwtLib.abstract.frame_utils.join.input_reg_val.InputRegInputVal(parent_state_trans: StateTransItem)[source]¶
Bases:
object
Container of values for FrameJoin input register
- Variables
~.parent – the StateTransItem instance which is owning this object
~.keep – list of keep bits
~.relict – flag for word which was partially consumed
~.last – flag for end of frame
- __init__(parent_state_trans: StateTransItem)[source]¶
hwtLib.abstract.frame_utils.join.state_trans_info module¶
- class hwtLib.abstract.frame_utils.join.state_trans_info.StateTransInfo(label, word_bytes, input_cnt)[source]¶
Bases:
object
- Variables
~.label – tuple(frame id, word id)
~.outputs – list of tuples (input index, input time, input byte index)
~.last_per_input – last flags for each input if last=1 the the input word is end of the actual frame (None = don’t care value)
- __hash__ = None¶
- get_next_substate(sub_states: Dict[Tuple[int, int], StateTransInfo]) Optional[StateTransInfo] [source]¶
hwtLib.abstract.frame_utils.join.state_trans_item module¶
- class hwtLib.abstract.frame_utils.join.state_trans_item.StateTransItem(parent_table: StateTransTable, st_i: int, state_next_i: int, out_last: int)[source]¶
Bases:
object
- Variables
state – state label
input – specifies the input to a state transition
input_keep_mask – mask which will be applied to keep signal on input to the register
input_rd – ready for a input channel (if 1 the input stream will be shifted in)
output_keep – output keep values
out_byte_mux_sel – list of
- Note
input_keep_mask[0][0] = [1, 0] means reg0.in.keep = reg0.out.keep & 0b01
- __init__(parent_table: StateTransTable, st_i: int, state_next_i: int, out_last: int)[source]¶
- inputs_exactly_different(other: StateTransItem) bool [source]¶