hwtLib.mem.sim package

Submodules

hwtLib.mem.sim.segmentedArrayProxy module

class hwtLib.mem.sim.segmentedArrayProxy.SegmentedArrayProxy(mems: List[BasicRtlSimProxy], items_per_index=None, words_per_item=None)[source]

Bases: object

A simulation proxy whic can read a and write to memories which are physicaly stored in multiple arrays. e.g.

// example definition of two segments
int array0[10];
int array1[10];
// a get of actual item
Concat(array1[i] array0[i])
// a set of actual item
array1[i] = select_bit_range(v, 32, 64)
array0[i] = select_bit_range(v, 0, 32)

This object allows to use such a list of memories as a list thus removing of manual bit selections and concatenations when accessing the items stored in memory.

__getitem__(i: int)[source]
__init__(mems: List[BasicRtlSimProxy], items_per_index=None, words_per_item=None)[source]
__iter__()[source]
__len__()[source]
__setitem__(i: int, val: int)[source]
_getitem(i: int)[source]
_setitem(i, val)[source]
clean()[source]