avl_axi._smemory module

class avl_axi._smemory.SubordinateMemory(width=32)[source]
Parameters:

width (int)

__init__(width=32)[source]

Initialize the Memory for the AXI Subordinate Driver

Parameters:
  • name (str) – Name of the agent instance

  • parent (Component) – Parent component

  • width (int)

Return type:

None

read(address, num_bytes=None)[source]

Read a value from the memory at the specified address.

Calls miss() if the address is not found in memory.

Parameters:
  • address (int) – Address to read from.

  • num_bytes (int)

Returns:

Value at the specified address.

Return type:

int

write(address, value, num_bytes=None, strobe=None)[source]

Write a value to the memory at the specified address.

Calls miss() if the address is not found in memory.

Parameters:
  • address (int) – Address to write to.

  • value (int) – Value to write.

  • num_bytes (int, optional) – Number of bytes to write (default is width // 8).

  • strobe (int, optional) – Strobe signal

Return type:

None

swap(address, value, num_bytes=None)[source]

Swap values

Parameters:
  • address (int) – Address

  • value (int) – Value to apply

  • num_bytes (int)

Returns:

Original value at the specified address.

Return type:

int

compare(address, value, compare, num_bytes=None)[source]

Compare Values

Parameters:
  • address (int) – Address

  • value (int) – Value to apply

  • compare (int)

  • num_bytes (int)

Returns:

Original value at the specified address.

Return type:

int

add(address, value, num_bytes=None)[source]

Add Values

Parameters:
  • address (int) – Address

  • value (int) – Value to apply

  • num_bytes (int)

Returns:

Original value at the specified address.

Return type:

int

clr(address, value, num_bytes=None)[source]

Bitwise Clear Value

Parameters:
  • address (int) – Address

  • value (int) – Value to apply

  • num_bytes (int)

Returns:

Original value at the specified address.

Return type:

int

xor(address, value, num_bytes=None)[source]

Bitwise Exclusive Or Value

Parameters:
  • address (int) – Address

  • value (int) – Value to apply

  • num_bytes (int)

Returns:

Original value at the specified address.

Return type:

int

set(address, value, num_bytes=None)[source]

Bitwise OR Value

Parameters:
  • address (int) – Address

  • value (int) – Value to apply

  • num_bytes (int)

Returns:

Original value at the specified address.

Return type:

int

smax(address, value, num_bytes=None)[source]

Signed Max

Parameters:
  • address (int) – Address

  • value (int) – Value to apply

  • num_bytes (int)

Returns:

Original value at the specified address.

Return type:

int

smin(address, value, num_bytes=None)[source]

Unsigned Min

Parameters:
  • address (int) – Address

  • value (int) – Value to apply

  • num_bytes (int)

Returns:

Original value at the specified address.

Return type:

int

umax(address, value, num_bytes=None)[source]

Unsigned Max

Parameters:
  • address (int) – Address

  • value (int) – Value to apply

  • num_bytes (int)

Returns:

Original value at the specified address.

Return type:

int

umin(address, value, num_bytes=None)[source]

Unsigned Min

Parameters:
  • address (int) – Address

  • value (int) – Value to apply

  • num_bytes (int)

Returns:

Original value at the specified address.

Return type:

int

process_write(item)[source]

Process a sequence item update for memory update

Parameters:

item (SequenceItem) – The sequence item to process

Return type:

None

process_read(item)[source]

Process a sequence item update for memory

Parameters:

item (SequenceItem) – The sequence item to process

Return type:

None