vmm_xactor Class Reference

Inheritance list for class vmm_xactor:

List of all members.
Typedef at line 667 of file sv/std_lib/vmm.sv.
Defined at line 2088 of file sv/std_lib/vmm.sv.

Public Member Functions

function void  append_callback ( vmm_xactor_callbacks cb )
function void  do_all ( do_what_e what, reset_e rst_typ = SOFT_RST )
function void  get_input_channels ( ref vmm_channel chans )
function void  get_output_channels ( ref vmm_channel chans )
function void  prepend_callback ( vmm_xactor_callbacks cb )
function void  unregister_callback ( vmm_xactor_callbacks cb )
local function void  check_all_threads_stopped ( )
function string  get_instance ( )
function string  get_name ( )
function void  kill ( )
function void  new ( string name, string inst, int stream_id = -1 )
function string  psdisplay ( string prefix = )
function void  reset_xactor ( reset_e rst_typ = SOFT_RST )
function void  restore_rng_state ( )
function void  save_rng_state ( )
function void  start_xactor ( )
function void  stop_xactor ( )
function void  xactor_status ( string prefix = )

Public Attributes

local event  control_event 
local bit  is_stopped 
vmm_log  log 
local string  main_rng_state 
local bit  main_running 
vmm_notify  notify 
local int  n_threads_stopped 
local int  n_threads_to_stop 
local bit  reset_it 
local bit  restore_main_rng_state 
local bit  save_main_rng_state 
local bit  start_it 
local bit  stop_it 
int  stream_id 
vmm_channel  Xinput_chansX [$] 
vmm_channel  Xoutput_chansX [$] 
static vmm_xactor  _vmm_available_xactor [$] 

Protected Member Functions

virtual function void  do_kill_xactor ( )
virtual function string  do_psdisplay ( string prefix = )
virtual function void  do_reset_xactor ( reset_e rst_typ )
virtual function void  do_start_xactor ( )
virtual function void  do_stop_xactor ( )
task  main ( )
task  wait_if_stopped ( int unsigned n_threads = 1 )
task  wait_if_stopped_or_empty ( vmm_channel chan, int unsigned n_threads = 1 )

Protected Attributes

protected int  reset_pending = 0; 
protected vmm_xactor_callbacks  callbacks [$] 
static protected bit  __vmm_done_user 
static protected string  __vmm_image 
static protected string  __vmm_prefix 

Enum Typedefs

 typedef enum  do_what_e 
 typedef enum  notifications_e 
 typedef enum  reset_e 


Member Function Documentation

  function void
 vmm_xactor::append_callback

 (  vmm_xactor_callbacks cb  ) 


Prototype at line 2163 of file sv/std_lib/vmm.sv.
Defined at line 392 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::do_all

 (  do_what_e what, reset_e rst_typ = SOFT_RST  ) 


Defined at line 2199 of file sv/std_lib/vmm.sv.

 protected virtual function void
 vmm_xactor::do_kill_xactor

 (   ) 


Prototype at line 2206 of file sv/std_lib/vmm.sv.
Defined at line 564 of file sv/std_lib/vmm_xactor.sv.

 protected virtual function string
 vmm_xactor::do_psdisplay

 (  string prefix =  ) 


Prototype at line 2202 of file sv/std_lib/vmm.sv.
Defined at line 544 of file sv/std_lib/vmm_xactor.sv.

 protected virtual function void
 vmm_xactor::do_reset_xactor

 (  reset_e rst_typ  ) 


Prototype at line 2205 of file sv/std_lib/vmm.sv.
Defined at line 559 of file sv/std_lib/vmm_xactor.sv.

 protected virtual function void
 vmm_xactor::do_start_xactor

 (   ) 


Prototype at line 2203 of file sv/std_lib/vmm.sv.
Defined at line 549 of file sv/std_lib/vmm_xactor.sv.

 protected virtual function void
 vmm_xactor::do_stop_xactor

 (   ) 


Prototype at line 2204 of file sv/std_lib/vmm.sv.
Defined at line 554 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::get_input_channels

 (  ref vmm_channel chans  ) 


Prototype at line 2166 of file sv/std_lib/vmm.sv.
Defined at line 422 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::get_output_channels

 (  ref vmm_channel chans  ) 


Prototype at line 2167 of file sv/std_lib/vmm.sv.
Defined at line 427 of file sv/std_lib/vmm_xactor.sv.

 protected task
 vmm_xactor::main

 (   ) 


 Superseding tasks 
 vmm_broadcast :: main 
 vmm_ms_scenario_gen :: main 
 vmm_rw_xactor :: main 
 vmm_scheduler :: main 
 xvc_xactor :: main 


Prototype at line 2156 of file sv/std_lib/vmm.sv.
Defined at line 276 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::prepend_callback

 (  vmm_xactor_callbacks cb  ) 


Prototype at line 2162 of file sv/std_lib/vmm.sv.
Defined at line 375 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::unregister_callback

 (  vmm_xactor_callbacks cb  ) 


Prototype at line 2164 of file sv/std_lib/vmm.sv.
Defined at line 409 of file sv/std_lib/vmm_xactor.sv.

 protected task
 vmm_xactor::wait_if_stopped

 (  int unsigned n_threads = 1  ) 


Prototype at line 2158 of file sv/std_lib/vmm.sv.
Defined at line 305 of file sv/std_lib/vmm_xactor.sv.

 protected task
 vmm_xactor::wait_if_stopped_or_empty

 (  vmm_channel chan, int unsigned n_threads = 1  ) 


Prototype at line 2160 of file sv/std_lib/vmm.sv.
Defined at line 346 of file sv/std_lib/vmm_xactor.sv.

 local function void
 vmm_xactor::check_all_threads_stopped

 (   ) 


Prototype at line 2157 of file sv/std_lib/vmm.sv.
Defined at line 281 of file sv/std_lib/vmm_xactor.sv.

  function string
 vmm_xactor::get_instance

 (   ) 


Prototype at line 2144 of file sv/std_lib/vmm.sv.
Defined at line 159 of file sv/std_lib/vmm_xactor.sv.

  function string
 vmm_xactor::get_name

 (   ) 


Prototype at line 2143 of file sv/std_lib/vmm.sv.
Defined at line 154 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::kill

 (   ) 


Prototype at line 2129 of file sv/std_lib/vmm.sv.
Defined at line 432 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::new

 (  string name, string inst, int stream_id = -1  ) 


 Superseding functions 
 vmm_broadcast :: new 
 vmm_ms_scenario_gen :: new 
 vmm_ral_access :: new 
 vmm_rw_xactor :: new 
 vmm_scheduler :: new 
 xvc_xactor :: new 


Prototype at line 2127 of file sv/std_lib/vmm.sv.
Defined at line 26 of file sv/std_lib/vmm_xactor.sv.

  function string
 vmm_xactor::psdisplay

 (  string prefix =  ) 


 Superseding functions 
 vmm_broadcast :: psdisplay 
 vmm_ms_scenario_gen :: psdisplay 
 vmm_scheduler :: psdisplay 


Prototype at line 2153 of file sv/std_lib/vmm.sv.
Defined at line 253 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::reset_xactor

 (  reset_e rst_typ = SOFT_RST  ) 


 Superseding functions 
 vmm_broadcast :: reset_xactor 
 vmm_ms_scenario_gen :: reset_xactor 
 vmm_rw_xactor :: reset_xactor 
 vmm_scheduler :: reset_xactor 
 xvc_xactor :: reset_xactor 


Prototype at line 2148 of file sv/std_lib/vmm.sv.
Defined at line 196 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::restore_rng_state

 (   ) 


 Superseding functions 
 xvc_xactor :: restore_rng_state 


Prototype at line 2151 of file sv/std_lib/vmm.sv.
Defined at line 240 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::save_rng_state

 (   ) 


 Superseding functions 
 xvc_xactor :: save_rng_state 


Prototype at line 2150 of file sv/std_lib/vmm.sv.
Defined at line 227 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::start_xactor

 (   ) 


 Superseding functions 
 vmm_broadcast :: start_xactor 
 vmm_scheduler :: start_xactor 
 xvc_xactor :: start_xactor 


Prototype at line 2146 of file sv/std_lib/vmm.sv.
Defined at line 164 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::stop_xactor

 (   ) 


 Superseding functions 
 vmm_broadcast :: stop_xactor 
 vmm_scheduler :: stop_xactor 
 xvc_xactor :: stop_xactor 


Prototype at line 2147 of file sv/std_lib/vmm.sv.
Defined at line 172 of file sv/std_lib/vmm_xactor.sv.

  function void
 vmm_xactor::xactor_status

 (  string prefix =  ) 


 Superseding functions 
 xvc_xactor :: xactor_status 


Prototype at line 2154 of file sv/std_lib/vmm.sv.
Defined at line 271 of file sv/std_lib/vmm_xactor.sv.


Member Attribute Documentation

 local event  attribute
 vmm_xactor::control_event


Defined at line 2106 of file sv/std_lib/vmm.sv.

 local bit  attribute
 vmm_xactor::is_stopped


Defined at line 2109 of file sv/std_lib/vmm.sv.

 vmm_log  attribute
 vmm_xactor::log


Defined at line 2089 of file sv/std_lib/vmm.sv.

 local string  attribute
 vmm_xactor::main_rng_state


Defined at line 2116 of file sv/std_lib/vmm.sv.

 local bit  attribute
 vmm_xactor::main_running


Defined at line 2112 of file sv/std_lib/vmm.sv.

 vmm_notify  attribute
 vmm_xactor::notify


Defined at line 2090 of file sv/std_lib/vmm.sv.

 local int  attribute
 vmm_xactor::n_threads_stopped


Defined at line 2108 of file sv/std_lib/vmm.sv.

 local int  attribute
 vmm_xactor::n_threads_to_stop


Defined at line 2107 of file sv/std_lib/vmm.sv.

 local bit  attribute
 vmm_xactor::reset_it


Defined at line 2105 of file sv/std_lib/vmm.sv.

 protected int  attribute
 vmm_xactor::reset_pending = 0


Defined at line 2110 of file sv/std_lib/vmm.sv.

 local bit  attribute
 vmm_xactor::restore_main_rng_state


Defined at line 2115 of file sv/std_lib/vmm.sv.

 local bit  attribute
 vmm_xactor::save_main_rng_state


Defined at line 2114 of file sv/std_lib/vmm.sv.

 local bit  attribute
 vmm_xactor::start_it


Defined at line 2103 of file sv/std_lib/vmm.sv.

 local bit  attribute
 vmm_xactor::stop_it


Defined at line 2104 of file sv/std_lib/vmm.sv.

 int  attribute
 vmm_xactor::stream_id


Defined at line 2092 of file sv/std_lib/vmm.sv.

 vmm_channel  attribute
 vmm_xactor::Xinput_chansX[$]


Defined at line 2118 of file sv/std_lib/vmm.sv.

 vmm_channel  attribute
 vmm_xactor::Xoutput_chansX[$]


Defined at line 2119 of file sv/std_lib/vmm.sv.

 static vmm_xactor  attribute
 vmm_xactor::_vmm_available_xactor[$]


Defined at line 2120 of file sv/std_lib/vmm.sv.

 protected vmm_xactor_callbacks  attribute
 vmm_xactor::callbacks[$]


Defined at line 2122 of file sv/std_lib/vmm.sv.

 static protected bit  attribute
 vmm_xactor::__vmm_done_user


Defined at line 2188 of file sv/std_lib/vmm.sv.

 static protected string  attribute
 vmm_xactor::__vmm_image


Defined at line 2187 of file sv/std_lib/vmm.sv.

 static protected string  attribute
 vmm_xactor::__vmm_prefix


Defined at line 2186 of file sv/std_lib/vmm.sv.


Member Enum Typedef Documentation

 typedef enum
 vmm_xactor::do_what_e
DO_PRINT = 1
DO_START = 2
DO_STOP = 4
DO_RESET = 16
DO_KILL = 32
DO_ALL = 4095


Defined at line 2195 of file sv/std_lib/vmm.sv.

 typedef enum
 vmm_xactor::notifications_e
XACTOR_IDLE = 999999
XACTOR_BUSY = 999998
XACTOR_STARTED = 999997
XACTOR_STOPPED = 999996
XACTOR_RESET = 999995
XACTOR_STOPPING = 999994
XACTOR_IS_STOPPED = 999993


 Superseding enum typedefs 
 vmm_rw_xactor :: notifications_e 


Defined at line 2101 of file sv/std_lib/vmm.sv.

 typedef enum
 vmm_xactor::reset_e
SOFT_RST
PROTOCOL_RST
FIRM_RST
HARD_RST


Defined at line 2141 of file sv/std_lib/vmm.sv.