x_heep_gen.ram_bank module
- class x_heep_gen.ram_bank.Bank(size_k: int, start_address: int, map_idx: int, il_level: int = 0, il_offset: int = 0)
Bases:
object
Represents a ram bank
- Parameters:
size_k (int) – size in kiB
start_address (int) – start address of the bank, in interleaved mode it should be the start address od the whole group
map_idx (int) – index in the global address map. Has to be unique. Interleaved mode banks should have consecutive indices.
il_level (int) – number of bits used for interleaving.
il_offset (int) – position in interleaved bank group if in any else 0. Should be consistent with map_idx.
- Raises:
TypeError – when parameters don’t have the right type.
ValueError – when size_k isn’t a power of two.
ValueError – when start_address is not aligned on size.
ValueError – when il_offset is to big for the given il_level().