hwtLib.tools package

Submodules

hwtLib.tools.debug_bus_monitor_ctl module

class hwtLib.tools.debug_bus_monitor_ctl.Colorizer[source]

Bases: object

A base class for objects which looks at the data and resolves color of the output text/element

get_color(name: str, data_spec: list, data: int)[source]
class hwtLib.tools.debug_bus_monitor_ctl.ColorizerHandshakeOrEnLike[source]

Bases: Colorizer

LIGHT_GREEN = '#90ee90'
LIGHT_PURPLE = '#b19cd9'
LIGHT_RED = '#ffcccb'
_get_intf_names(data_spec)[source]
_try_get_intf_index_by_name(intfs: Dict[str, Tuple[int, Tuple[int, int]]], names: List[str], data) Optional[int][source]
get_color(name: str, data_spec: list, data: int)[source]
class hwtLib.tools.debug_bus_monitor_ctl.DebugBusMonitorCtl(addr)[source]

Bases: object

A tool used to interact with a hwtLib.abstract.debug_bus_monitor.DebugBusMonitor

REG_DATA_MEMORY = 8
REG_NAME_MEMORY_OFFSET = 4
REG_NAME_MEMORY_SIZE = 0
__init__(addr)[source]
_decode_meta_memory_json(data: list)[source]
_dump_dot_node_set(meta_memory: List[VisualNodeTemplate], out: StringIO, colorizer: Colorizer, data: int, indent: int) None[source]
_load_meta_and_data() int[source]
construct_id_to_node_dict(meta_memory: List[VisualNodeTemplate], res: Dict[int, VisualNodeTemplate])[source]
dump_dot(out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, colorizer=<hwtLib.tools.debug_bus_monitor_ctl.ColorizerHandshakeOrEnLike object>) None[source]
dump_txt(out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>) None[source]
get_data_memory_width(meta_memory: Union[VisualNodeTemplate, list, List[int]])[source]
load_meta_memory()[source]
read(addr: int, size: int)[source]
read_int(addr: int, size: int) int[source]
class hwtLib.tools.debug_bus_monitor_ctl.DebugBusMonitorCtlDevmem(addr)[source]

Bases: DebugBusMonitorCtl

__init__(addr)[source]
data_memory_size: Optional[int]
meta_memory: Optional[VisualNodeTemplate]
read(addr, size)[source]
class hwtLib.tools.debug_bus_monitor_ctl.VisualNodeTemplate(id_: int, name: str, data_spec: list, parent: Optional[VisualNodeTemplate] = None)[source]

Bases: object

__init__(id_: int, name: str, data_spec: list, parent: Optional[VisualNodeTemplate] = None)[source]
_default_dot_formatter(data: int, out: StringIO, indent: int, colorizer: Optional[Colorizer]) str[source]

Format interface signals and values as a html like table for graphwiz

classmethod _default_txt_formatter(name: str, data_spec, children: List[VisualNodeTemplate], data: int, out: StringIO, indent: int)[source]
classmethod _dump_txt_indent(out: StringIO, indent: int)[source]
classmethod _format_data(data, data_spec: Tuple[int, int])[source]
classmethod _get_intf_depth(data_spec: Union[dict, Tuple[int, int]]) int[source]
classmethod _visual_format_intf_rows(name: str, data_spec: Union[dict, Tuple[int, int]], buff: StringIO, column_cnt: int, cur_indent: int, data: int, text_indent: int, colorizer: Optional[Colorizer]) None[source]
hwtLib.tools.debug_bus_monitor_ctl.bit_mask(w)[source]
Note

duplication with pyMathBitPrecise in order to keep this script without non-std dependencies

hwtLib.tools.debug_bus_monitor_ctl.select_bit_range(val: int, bits_start: int, bits_len: int)[source]

Get sequence of bits from an int value

Note

duplication with pyMathBitPrecise in order to keep this script without non-std dependencies

hwtLib.tools.debug_bus_monitor_ctl.words_to_int(words, word_size, size)[source]