avl_axi._mwakedriver module

class avl_axi._mwakedriver.ManagerWakeDriver(*args, **kwargs)[source]
Parameters:
__init__(name, parent)[source]

Initialize the Manager Write Driver for the AXI agent.

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

  • parent (Component) – Parent component

Return type:

None

status

Indication of current wake state

pre_wakeup

Pre-wakeup delay - time to wait before driving the wakeup signal (0.0 - 1.0) (>= version 5)

post_wakeup

Post-wakeup delay - time to wait after driving the wakeup signal (0.0 - 1.0) (>= version 5)

async reset()[source]

Reset the driver by setting all signals to their default values. This method is called when the driver is reset.

By default 0’s all signals - can be overridden in subclasses to add randomization or other behavior.

Return type:

None

async wait_on_reset()[source]

Wait for the reset signal to go low and then call the reset method. This method is called to ensure that the driver is reset before driving any signals. It waits for the presetn signal to go low, indicating that the reset is active, and then calls the reset method to set all signals to their default values.

Return type:

None

async assert_wake(item)[source]

Assert wake for the given item. This method is called to assert the wake signal for the given item. It waits for the pre-wakeup delay, asserts the wake signal, and then waits for the post-wakeup delay before setting the item event to “awake”.

Parameters:

item (SequenceItem) – The sequence item for which to assert wake

Return type:

None

async deassert_wake(item)[source]

Deassert wake for the given item. This method is called to deassert the wake signal for the given item. It waits for the item event “response” to be set, indicating that the item has been processed, and then deasserts the wake signal if there are no outstanding transactions.

Parameters:

item (SequenceItem) – The sequence item for which to deassert wake

Return type:

None

async run_phase()[source]

Run phase for the Requester Driver. This method is called during the run phase of the simulation. It is responsible for driving the request signals based on the sequencer’s items.