vmm_xactor Class Reference

Inheritance diagram for vmm_xactor:
Inheritance graph
[legend]
Collaboration diagram for vmm_xactor:
Collaboration graph
[legend]

List of all members.

Public Types

enum  notifications_e {
  XACTOR_IDLE = 999999, XACTOR_BUSY = 999998, XACTOR_STARTED = 999997, XACTOR_STOPPED = 999996,
  XACTOR_RESET = 999995, XACTOR_STOPPING = 999994
}
enum  reset_e { SOFT_RST, PROTOCOL_RST, FIRM_RST, HARD_RST }

Public Member Functions

 new (string name, string inst, int stream_id=-1)
virtual string get_name ()
virtual string get_instance ()
virtual void start_xactor ()
virtual void stop_xactor ()
virtual void reset_xactor (reset_e rst_typ=SOFT_RST)
virtual void save_rng_state ()
virtual void restore_rng_state ()
virtual void xactor_status (string prefix="")
virtual void prepend_callback (vmm_xactor_callbacks cb)
virtual void append_callback (vmm_xactor_callbacks cb)
virtual void unregister_callback (vmm_xactor_callbacks cb)
void register_vmm_sb_ds (vmm_sb_ds sb, vmm_sb_ds::kind_e kind, vmm_sb_ds::ordering_e order=vmm_sb_ds::IN_ORDER)
void unregister_vmm_sb_ds (vmm_sb_ds sb)

Public Attributes

vmm_log log
vmm_notify notify
int stream_id

Protected Member Functions

virtual 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)
void inp_vmm_sb_ds (vmm_data tr)
void exp_vmm_sb_ds (vmm_data tr)

Protected Attributes

int reset_pending = 0
vmm_xactor_callbacks callbacks [$]

Private Attributes

bit start_it
event start_it_event
bit stop_it
int n_threads_to_stop
int n_threads_stopped
bit reset_it
bit resetable
event reset_it_event
bit main_running
bit save_main_rng_state
bit restore_main_rng_state
string main_rng_state
rand int dummy
vmm_sb_ds_registration _vmm_sb_ds [$]

Detailed Description

Definition at line 1605 of file std_lib/vmm.sv.


Member Enumeration Documentation

Enumerator:
XACTOR_IDLE 
XACTOR_BUSY 
XACTOR_STARTED 
XACTOR_STOPPED 
XACTOR_RESET 
XACTOR_STOPPING 

Definition at line 1615 of file std_lib/vmm.sv.

Enumerator:
SOFT_RST 
PROTOCOL_RST 
FIRM_RST 
HARD_RST 

Definition at line 1657 of file std_lib/vmm.sv.


Member Function Documentation

void vmm_xactor::append_callback ( vmm_xactor_callbacks  cb  )  [virtual]

Definition at line 340 of file vmm_xactor.sv.

void vmm_xactor::exp_vmm_sb_ds ( vmm_data  tr  )  [protected]
string vmm_xactor::get_instance (  )  [virtual]

Definition at line 160 of file vmm_xactor.sv.

string vmm_xactor::get_name (  )  [virtual]

Definition at line 155 of file vmm_xactor.sv.

void vmm_xactor::inp_vmm_sb_ds ( vmm_data  tr  )  [protected]
task vmm_xactor::main (  )  [protected, virtual]

Reimplemented in vmm_broadcast, vmm_scheduler, and xvc_xactor.

Definition at line 250 of file vmm_xactor.sv.

vmm_xactor::new ( string  name,
string  inst,
int stream_id  VMM_XACTOR_BASE_NEW_EXTERN_ARGS = -1 
)

Definition at line 23 of file vmm_xactor.sv.

void vmm_xactor::prepend_callback ( vmm_xactor_callbacks  cb  )  [virtual]

Definition at line 323 of file vmm_xactor.sv.

void vmm_xactor::register_vmm_sb_ds ( vmm_sb_ds  sb,
vmm_sb_ds::kind_e  kind,
vmm_sb_ds::ordering_e  order = vmm_sb_ds::IN_ORDER 
)
void vmm_xactor::reset_xactor ( reset_e  rst_typ = SOFT_RST  )  [virtual]

Reimplemented in vmm_broadcast, vmm_scheduler, and xvc_xactor.

Definition at line 184 of file vmm_xactor.sv.

void vmm_xactor::restore_rng_state (  )  [virtual]

Reimplemented in xvc_xactor.

Definition at line 219 of file vmm_xactor.sv.

void vmm_xactor::save_rng_state (  )  [virtual]

Reimplemented in xvc_xactor.

Definition at line 206 of file vmm_xactor.sv.

void vmm_xactor::start_xactor (  )  [virtual]

Reimplemented in vmm_broadcast, vmm_scheduler, and xvc_xactor.

Definition at line 165 of file vmm_xactor.sv.

void vmm_xactor::stop_xactor (  )  [virtual]

Reimplemented in vmm_broadcast, vmm_scheduler, and xvc_xactor.

Definition at line 172 of file vmm_xactor.sv.

void vmm_xactor::unregister_callback ( vmm_xactor_callbacks  cb  )  [virtual]

Definition at line 357 of file vmm_xactor.sv.

void vmm_xactor::unregister_vmm_sb_ds ( vmm_sb_ds  sb  ) 
task vmm_xactor::wait_if_stopped ( int unsigned  n_threads = 1  )  [protected]

Definition at line 255 of file vmm_xactor.sv.

task vmm_xactor::wait_if_stopped_or_empty ( vmm_channel  chan,
int unsigned  n_threads = 1 
) [protected]

Definition at line 304 of file vmm_xactor.sv.

void vmm_xactor::xactor_status ( string  prefix = ""  )  [virtual]

Reimplemented in xvc_xactor.

Definition at line 232 of file vmm_xactor.sv.


Member Data Documentation

Definition at line 1686 of file std_lib/vmm.sv.

Definition at line 1640 of file std_lib/vmm.sv.

rand int vmm_xactor::dummy [private]

Definition at line 1638 of file std_lib/vmm.sv.

Definition at line 1610 of file std_lib/vmm.sv.

string vmm_xactor::main_rng_state [private]

Definition at line 1637 of file std_lib/vmm.sv.

bit vmm_xactor::main_running [private]

Definition at line 1633 of file std_lib/vmm.sv.

Definition at line 1627 of file std_lib/vmm.sv.

Definition at line 1626 of file std_lib/vmm.sv.

Definition at line 1611 of file std_lib/vmm.sv.

bit vmm_xactor::reset_it [private]

Definition at line 1628 of file std_lib/vmm.sv.

event vmm_xactor::reset_it_event [private]

Definition at line 1630 of file std_lib/vmm.sv.

int vmm_xactor::reset_pending = 0 [protected]

Definition at line 1631 of file std_lib/vmm.sv.

bit vmm_xactor::resetable [private]

Definition at line 1629 of file std_lib/vmm.sv.

Definition at line 1636 of file std_lib/vmm.sv.

Definition at line 1635 of file std_lib/vmm.sv.

bit vmm_xactor::start_it [private]

Definition at line 1623 of file std_lib/vmm.sv.

event vmm_xactor::start_it_event [private]

Definition at line 1624 of file std_lib/vmm.sv.

bit vmm_xactor::stop_it [private]

Definition at line 1625 of file std_lib/vmm.sv.

Definition at line 1613 of file std_lib/vmm.sv.


The documentation for this class was generated from the following files:

Intelligent Design Verification
Intelligent Design Verification
Project: VMM, Revision: 1.0.0
Copyright (c) 2008-2010 Intelligent Design Verification.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included here:
http://www.intelligentdv.com/licenses/fdl.txt
doxygen
Doxygen Version: 1.6.3
IDV SV Filter Version: 2.6.3
Sat Jun 19 12:02:31 2010
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV