Package: td_vvc_entity_support_pkg

Description

=================================================================================================

=================================================================================================

Types

Name Type Description
t_vvc_labels

Functions

Description

assign_vvc_labels

This function puts common VVC labels into a record - to reduce the number of procedure parameters

Description

vvc_constructor

Procedure used as concurrent process in the VVCs

  • Sets up the vvc_config, command queue and result_queue
  • Verifies that UVVM has been initialized

Description

initialize_interpreter

Initialises the VVC interpreter

  • Clears terminate_current_cmd.set to '0'

Description

await_cmd_from_sequencer

Waits for a command from the central sequencer. Continues on matching VVC, Instance, Name and Channel (unless channel = NA)

  • Log at start using ID_CMD_INTERPRETER_WAIT and at the end using ID_CMD_INTERPRETER

Description
DEPRECATED

Description

put_command_on_queue

Puts the received command (by Interpreter) on the VVC queue (for later retrieval by Executor)

Description

interpreter_await_completion

Immediate command: await_completion (in interpreter)

  • Command description in Quick reference for UVVM common methods
  • Will wait until given command(s) is completed by the excutor (if not already completed)
  • Log using ID_IMMEDIATE_CMD when await completed
  • Log using ID_IMMEDIATE_CMD_WAIT if waiting is actually needed

Description

interpreter_await_any_completion

Immediate command: await_any_completion() (in interpreter)

  • This procedure is called by the interpreter if sequencer calls await_any_completion()
    • It waits for the first of the following :
      'await_completion' of this VVC, or
      until global_awaiting_completion(idx) /= '1' (any of the other involved VVCs completed).
  • Refer to description in Quick reference for UVVM common methods
  • Log using ID_IMMEDIATE_CMD when the wait completed
  • Log using ID_IMMEDIATE_CMD_WAIT if waiting is actually needed

Description

interpreter_flush_command_queue

Immediate command: flush_command_queue (in interpreter)

  • Command description in Quick reference for UVVM common methods
  • Log using ID_IMMEDIATE_CMD

Description

interpreter_terminate_current_command

Immediate command: terminate_current_command (in interpreter)

  • Command description in Quick reference for UVVM common methods
  • Log using ID_IMMEDIATE_CMD

Description

interpreter_fetch_result

Immediate command: interpreter_fetch_result (in interpreter)

  • Command description in Quick reference for UVVM common methods
  • Log using ID_IMMEDIATE_CMD
    t_vvc_response is specific to each VVC,
    so the BFM can return any type which is then transported from the VVC to the sequencer via a fetch_result() call

Description

initialize_executor

Initialises the VVC executor

  • Resets terminate_current_cmd.reset flag

Description

fetch_command_and_prepare_executor

Fetches a command from the queue (waits until available if needed)

  • Log command using ID_CMD_EXECUTOR
  • Log using ID_CMD_EXECUTOR_WAIT if queue is empty
  • Sets relevant flags

Description

store_result

Store result from BFM in the VVC's result_queue
The result_queue is used to store a generic type that is returned from
a read/expect BFM procedure.
It can be fetched later using fetch_result() to return it from the VVC to sequencer

Description

insert_inter_bfm_delay_if_requested

Inserts delay of either START2START or FINISH2START in time, given that

  • vvc_config inter-bfm delay type is not set to NO_DELAY
  • command_is_bfm_access is set to true
  • Both timestamps are not set to 0 ns.
    A log message with ID ID_CMD_EXECUTOR is issued when the delay begins and
    when it has finished delaying.