vmm_channel Class Reference

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

List of all members.

Public Types

enum  notifications_e {
  FULL, EMPTY, PUT, GOT,
  PEEKED, ACTIVATED, ACT_STARTED, ACT_COMPLETED,
  ACT_REMOVED, LOCKED, UNLOCKED
}
enum  endpoints_e { SOURCE = 0b01, SINK = 0b10 }
enum  active_status_e { INACTIVE = 0, PENDING = 1, STARTED = 2, COMPLETED = 3 }

Public Member Functions

 new (string name, string inst, int unsigned full=1, int unsigned empty=0, bit fill_as_bytes=0b0)
void reconfigure (int full=-1, int empty=-1, logic fill_as_bytes=0bx)
int unsigned full_level ()
int unsigned empty_level ()
int unsigned level ()
int unsigned size ()
bit is_full ()
void flush ()
void sink ()
void flow ()
void reset ()
void lock (bit< 1:0 > who)
void unlock (bit< 1:0 > who)
bit is_locked (bit< 1:0 > who)
void display (string prefix="")
string psdisplay (string prefix="")
task put (vmm_data obj, int offset=-1)
void sneak (vmm_data obj, int offset=-1)
vmm_data unput (int offset=-1)
task get (output vmm_data obj, input int offset=0)
task peek (output vmm_data obj, input int offset=0)
task activate (output vmm_data obj, input int offset=0)
vmm_data active_slot ()
vmm_data start ()
vmm_data complete (vmm_data status=null)
vmm_data remove ()
active_status_e status ()
bit tee_mode (bit is_on)
task tee (output vmm_data obj)
void connect (vmm_channel downstream)
vmm_data for_each (bit reset=0)
int unsigned for_each_offset ()
bit record (string filename)
task playback (output bit success, input string filename, input vmm_data loader, input bit metered=0)
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

Private Member Functions

task get1 (output vmm_data obj, input int offset=0)
int index (int offset)
task block_producer ()
task block_consumer ()
task unblock_producer ()

Private Attributes

int full = 0
int empty = 0
bit is_sunk = 0
vmm_data data [$]
vmm_data tee_data [$]
vmm_data active
active_status_e active_status
event teed
vmm_channel downstream
event new_connection
bit tee_on = 0
bit< 1:0 > locks
bit full_chan
event item_added
event item_taken
int iterator
vmm_sb_ds_registration _vmm_sb_ds [$]

Static Private Attributes

static bit one_log = $test$plusargs("vmm_channel_shared_log")
static vmm_log shared_log = null

Detailed Description

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


Member Enumeration Documentation

Enumerator:
INACTIVE 
PENDING 
STARTED 
COMPLETED 

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

Enumerator:
SOURCE 
SINK 

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

Enumerator:
FULL 
EMPTY 
PUT 
GOT 
PEEKED 
ACTIVATED 
ACT_STARTED 
ACT_COMPLETED 
ACT_REMOVED 
LOCKED 
UNLOCKED 

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


Member Function Documentation

task vmm_channel::activate ( output vmm_data  obj,
input int  offset = 0 
)

Definition at line 482 of file vmm_channel.sv.

vmm_data vmm_channel::active_slot (  ) 

Reimplemented in xvc_action_channel.

Definition at line 537 of file vmm_channel.sv.

task vmm_channel::block_consumer (  )  [private]

Definition at line 712 of file vmm_channel.sv.

task vmm_channel::block_producer (  )  [private]

Definition at line 706 of file vmm_channel.sv.

vmm_data vmm_channel::complete ( vmm_data  status = null  ) 

Reimplemented in xvc_action_channel.

Definition at line 561 of file vmm_channel.sv.

void vmm_channel::connect ( vmm_channel  downstream  ) 

Definition at line 643 of file vmm_channel.sv.

void vmm_channel::display ( string  prefix = ""  ) 

Definition at line 242 of file vmm_channel.sv.

int unsigned vmm_channel::empty_level (  ) 

Definition at line 170 of file vmm_channel.sv.

void vmm_channel::flow (  ) 

Definition at line 212 of file vmm_channel.sv.

void vmm_channel::flush (  ) 

Definition at line 190 of file vmm_channel.sv.

vmm_data vmm_channel::for_each ( bit  reset = 0  ) 

Reimplemented in xvc_action_channel.

Definition at line 653 of file vmm_channel.sv.

int unsigned vmm_channel::for_each_offset (  ) 

Definition at line 662 of file vmm_channel.sv.

int unsigned vmm_channel::full_level (  ) 

Definition at line 165 of file vmm_channel.sv.

task vmm_channel::get ( output vmm_data  obj,
input int  offset = 0 
)

Definition at line 441 of file vmm_channel.sv.

task vmm_channel::get1 ( output vmm_data  obj,
input int  offset = 0 
) [private]

Definition at line 372 of file vmm_channel.sv.

int vmm_channel::index ( int  offset  )  [private]

Definition at line 687 of file vmm_channel.sv.

bit vmm_channel::is_full (  ) 

Definition at line 185 of file vmm_channel.sv.

bit vmm_channel::is_locked ( bit< 1:0 >  who  ) 

Definition at line 237 of file vmm_channel.sv.

int unsigned vmm_channel::level (  ) 

Definition at line 175 of file vmm_channel.sv.

void vmm_channel::lock ( bit< 1:0 >  who  ) 

Definition at line 222 of file vmm_channel.sv.

vmm_channel::new ( string  name,
string  inst,
int unsigned  full = 1,
int unsigned  empty = 0,
bit  fill_as_bytes = 0b0 
)

Definition at line 25 of file vmm_channel.sv.

task vmm_channel::peek ( output vmm_data  obj,
input int  offset = 0 
)

Definition at line 448 of file vmm_channel.sv.

task vmm_channel::playback ( output bit  success,
input string  filename,
input vmm_data  loader,
input bit  metered = 0 
)

Definition at line 678 of file vmm_channel.sv.

string vmm_channel::psdisplay ( string  prefix = ""  ) 

Definition at line 247 of file vmm_channel.sv.

task vmm_channel::put ( vmm_data  obj,
int  offset = -1 
)

Definition at line 266 of file vmm_channel.sv.

void vmm_channel::reconfigure ( int  full = -1,
int  empty = -1,
logic  fill_as_bytes = 0bx 
)

Definition at line 126 of file vmm_channel.sv.

bit vmm_channel::record ( string  filename  ) 

Definition at line 667 of file vmm_channel.sv.

void vmm_channel::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 
)
vmm_data vmm_channel::remove (  ) 

Reimplemented in xvc_action_channel.

Definition at line 579 of file vmm_channel.sv.

void vmm_channel::reset (  ) 

Definition at line 217 of file vmm_channel.sv.

void vmm_channel::sink (  ) 

Definition at line 206 of file vmm_channel.sv.

int unsigned vmm_channel::size (  ) 

Definition at line 180 of file vmm_channel.sv.

void vmm_channel::sneak ( vmm_data  obj,
int  offset = -1 
)

Definition at line 280 of file vmm_channel.sv.

vmm_data vmm_channel::start (  ) 

Reimplemented in xvc_action_channel.

Definition at line 542 of file vmm_channel.sv.

vmm_channel::active_status_e vmm_channel::status (  ) 

Definition at line 606 of file vmm_channel.sv.

task vmm_channel::tee ( output vmm_data  obj  ) 

Definition at line 625 of file vmm_channel.sv.

bit vmm_channel::tee_mode ( bit  is_on  ) 

Definition at line 611 of file vmm_channel.sv.

task vmm_channel::unblock_producer (  )  [private]

Definition at line 719 of file vmm_channel.sv.

void vmm_channel::unlock ( bit< 1:0 >  who  ) 

Definition at line 228 of file vmm_channel.sv.

vmm_data vmm_channel::unput ( int  offset = -1  ) 

Reimplemented in xvc_action_channel.

Definition at line 330 of file vmm_channel.sv.

void vmm_channel::unregister_vmm_sb_ds ( vmm_sb_ds  sb  ) 

Member Data Documentation

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

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

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

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

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

int vmm_channel::empty = 0 [private]

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

int vmm_channel::full = 0 [private]

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

bit vmm_channel::full_chan [private]

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

bit vmm_channel::is_sunk = 0 [private]

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

event vmm_channel::item_added [private]

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

event vmm_channel::item_taken [private]

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

int vmm_channel::iterator [private]

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

bit<1:0> vmm_channel::locks [private]

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

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

event vmm_channel::new_connection [private]

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

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

bit vmm_channel::one_log = $test$plusargs("vmm_channel_shared_log") [static, private]

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

vmm_log vmm_channel::shared_log = null [static, private]

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

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

bit vmm_channel::tee_on = 0 [private]

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

event vmm_channel::teed [private]

Definition at line 1220 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:01:49 2010
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV