vmm_channel Class Reference

Inheritance list for class vmm_channel:

List of all members.
Defined at line 1191 of file std_lib/vmm.sv.

Public Member Functions

task  activate ( vmm_data obj, int offset = 0 )
function vmm_data  active_slot ( )
task  block_consumer ( )
task  block_producer ( )
function vmm_data  complete ( vmm_data status = NULL )
function void  connect ( vmm_channel downstream )
function void  display ( string prefix = "" )
function uint  empty_level ( )
function void  flow ( )
function void  flush ( )
function vmm_data  for_each ( bit reset = 0 )
function uint  for_each_offset ( )
function uint  full_level ( )
task  get ( vmm_data obj, int offset = 0 )
task  get1 ( vmm_data obj, int offset = 0 )
local function int  index ( int offset )
function bit  is_full ( )
function bit  is_locked ( bit[1:0] who )
function uint  level ( )
function void  lock ( bit[1:0] who )
function void  new ( string name, string inst, int unsigned full = 1, int unsigned empty = 0, bit fill_as_bytes = 1'b0 )
task  peek ( vmm_data obj, int offset = 0 )
task  playback ( bit success, string filename, vmm_data loader, bit metered = 0 )
function string  psdisplay ( string prefix = "" )
task  put ( vmm_data obj, int offset = 1 )
function void  reconfigure ( int full = 1, int empty = 1, logic fill_as_bytes = 1'bx )
function bit  record ( string filename )
function vmm_data  remove ( )
function void  reset ( )
function void  sink ( )
function uint  size ( )
function void  sneak ( vmm_data obj, int offset = 1 )
function vmm_data  start ( )
function active_status_e  status ( )
task  tee ( vmm_data obj )
function bit  tee_mode ( bit is_on )
local function void  unblock_producer ( )
function void  unlock ( bit[1:0] who )
function vmm_data  unput ( int offset = 1 )

Public Attributes

vmm_data  active 
active_status_e  active_status 
vmm_data  data 
vmm_channel  downstream 
int  empty 
int  full 
bit  full_chan 
bit  is_sunk 
event  item_added 
event  item_taken 
int  iterator 
bit[1:0]  locks 
vmm_log  log 
event  new_connection 
vmm_notify  notify 
bit  one_log 
vmm_log  shared_log 
vmm_data  tee_data 
bit  tee_on 
event  teed 

Enum Typedefs

 typedef enum  active_status_e 
 typedef enum  endpoints_e 
 typedef enum  notifications_e 


Member Function Documentation

  task
 vmm_channel::activate

 (  vmm_data obj, int offset = 0  ) 


 Superseding tasks 
 vmm_rw_access_channel :: activate 
 xvc_action_channel :: activate 


Prototype at line 1284 of file std_lib/vmm.sv.
Defined at line 488 of file std_lib/vmm_channel.sv.

  function vmm_data
 vmm_channel::active_slot

 (   ) 


 Superseding functions 
 vmm_rw_access_channel :: active_slot 
 xvc_action_channel :: active_slot 


Prototype at line 1286 of file std_lib/vmm.sv.
Defined at line 543 of file std_lib/vmm_channel.sv.

 local task
 vmm_channel::block_consumer

 (   ) 


Prototype at line 1313 of file std_lib/vmm.sv.
Defined at line 718 of file std_lib/vmm_channel.sv.

 local task
 vmm_channel::block_producer

 (   ) 


Prototype at line 1312 of file std_lib/vmm.sv.
Defined at line 712 of file std_lib/vmm_channel.sv.

  function vmm_data
 vmm_channel::complete

 (  vmm_data status = NULL  ) 


 Superseding functions 
 vmm_rw_access_channel :: complete 
 xvc_action_channel :: complete 


Prototype at line 1288 of file std_lib/vmm.sv.
Defined at line 567 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::connect

 (  vmm_channel downstream  ) 


Prototype at line 1295 of file std_lib/vmm.sv.
Defined at line 649 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::display

 (  string prefix = ""  ) 


Prototype at line 1270 of file std_lib/vmm.sv.
Defined at line 250 of file std_lib/vmm_channel.sv.

  function uint
 vmm_channel::empty_level

 (   ) 


Prototype at line 1256 of file std_lib/vmm.sv.
Defined at line 170 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::flow

 (   ) 


Prototype at line 1263 of file std_lib/vmm.sv.
Defined at line 220 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::flush

 (   ) 


Prototype at line 1261 of file std_lib/vmm.sv.
Defined at line 190 of file std_lib/vmm_channel.sv.

  function vmm_data
 vmm_channel::for_each

 (  bit reset = 0  ) 


 Superseding functions 
 vmm_rw_access_channel :: for_each 
 xvc_action_channel :: for_each 


Prototype at line 1296 of file std_lib/vmm.sv.
Defined at line 659 of file std_lib/vmm_channel.sv.

  function uint
 vmm_channel::for_each_offset

 (   ) 


Prototype at line 1297 of file std_lib/vmm.sv.
Defined at line 668 of file std_lib/vmm_channel.sv.

  function uint
 vmm_channel::full_level

 (   ) 


Prototype at line 1255 of file std_lib/vmm.sv.
Defined at line 165 of file std_lib/vmm_channel.sv.

  task
 vmm_channel::get

 (  vmm_data obj, int offset = 0  ) 


 Superseding tasks 
 vmm_rw_access_channel :: get 
 xvc_action_channel :: get 


Prototype at line 1278 of file std_lib/vmm.sv.
Defined at line 447 of file std_lib/vmm_channel.sv.

 local task
 vmm_channel::get1

 (  vmm_data obj, int offset = 0  ) 


Prototype at line 1280 of file std_lib/vmm.sv.
Defined at line 380 of file std_lib/vmm_channel.sv.

 local function int
 vmm_channel::index

 (  int offset  ) 


Prototype at line 1305 of file std_lib/vmm.sv.
Defined at line 693 of file std_lib/vmm_channel.sv.

  function bit
 vmm_channel::is_full

 (   ) 


Prototype at line 1260 of file std_lib/vmm.sv.
Defined at line 185 of file std_lib/vmm_channel.sv.

  function bit
 vmm_channel::is_locked

 (  bit[1:0] who  ) 


Prototype at line 1268 of file std_lib/vmm.sv.
Defined at line 245 of file std_lib/vmm_channel.sv.

  function uint
 vmm_channel::level

 (   ) 


Prototype at line 1257 of file std_lib/vmm.sv.
Defined at line 175 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::lock

 (  bit[1:0] who  ) 


Prototype at line 1266 of file std_lib/vmm.sv.
Defined at line 230 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::new

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


 Superseding functions 
 vmm_rw_access_channel :: new 
 xvc_action_channel :: new 


Prototype at line 1246 of file std_lib/vmm.sv.
Defined at line 29 of file std_lib/vmm_channel.sv.

  task
 vmm_channel::peek

 (  vmm_data obj, int offset = 0  ) 


 Superseding tasks 
 vmm_rw_access_channel :: peek 
 xvc_action_channel :: peek 


Prototype at line 1282 of file std_lib/vmm.sv.
Defined at line 454 of file std_lib/vmm_channel.sv.

  task
 vmm_channel::playback

 (  bit success, string filename, vmm_data loader, bit metered = 0  ) 


Prototype at line 1303 of file std_lib/vmm.sv.
Defined at line 684 of file std_lib/vmm_channel.sv.

  function string
 vmm_channel::psdisplay

 (  string prefix = ""  ) 


Prototype at line 1271 of file std_lib/vmm.sv.
Defined at line 255 of file std_lib/vmm_channel.sv.

  task
 vmm_channel::put

 (  vmm_data obj, int offset = 1  ) 


Prototype at line 1273 of file std_lib/vmm.sv.
Defined at line 274 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::reconfigure

 (  int full = 1, int empty = 1, logic fill_as_bytes = 1'bx  ) 


Prototype at line 1254 of file std_lib/vmm.sv.
Defined at line 128 of file std_lib/vmm_channel.sv.

  function bit
 vmm_channel::record

 (  string filename  ) 


Prototype at line 1299 of file std_lib/vmm.sv.
Defined at line 673 of file std_lib/vmm_channel.sv.

  function vmm_data
 vmm_channel::remove

 (   ) 


 Superseding functions 
 vmm_rw_access_channel :: remove 
 xvc_action_channel :: remove 


Prototype at line 1289 of file std_lib/vmm.sv.
Defined at line 585 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::reset

 (   ) 


Prototype at line 1264 of file std_lib/vmm.sv.
Defined at line 225 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::sink

 (   ) 


Prototype at line 1262 of file std_lib/vmm.sv.
Defined at line 214 of file std_lib/vmm_channel.sv.

  function uint
 vmm_channel::size

 (   ) 


Prototype at line 1258 of file std_lib/vmm.sv.
Defined at line 180 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::sneak

 (  vmm_data obj, int offset = 1  ) 


Prototype at line 1274 of file std_lib/vmm.sv.
Defined at line 289 of file std_lib/vmm_channel.sv.

  function vmm_data
 vmm_channel::start

 (   ) 


 Superseding functions 
 vmm_rw_access_channel :: start 
 xvc_action_channel :: start 


Prototype at line 1287 of file std_lib/vmm.sv.
Defined at line 548 of file std_lib/vmm_channel.sv.

  function active_status_e
 vmm_channel::status

 (   ) 


Prototype at line 1290 of file std_lib/vmm.sv.
Defined at line 612 of file std_lib/vmm_channel.sv.

  task
 vmm_channel::tee

 (  vmm_data obj  ) 


 Superseding tasks 
 vmm_rw_access_channel :: tee 
 xvc_action_channel :: tee 


Prototype at line 1293 of file std_lib/vmm.sv.
Defined at line 631 of file std_lib/vmm_channel.sv.

  function bit
 vmm_channel::tee_mode

 (  bit is_on  ) 


Prototype at line 1292 of file std_lib/vmm.sv.
Defined at line 617 of file std_lib/vmm_channel.sv.

 local function void
 vmm_channel::unblock_producer

 (   ) 


Prototype at line 1315 of file std_lib/vmm.sv.
Defined at line 725 of file std_lib/vmm_channel.sv.

  function void
 vmm_channel::unlock

 (  bit[1:0] who  ) 


Prototype at line 1267 of file std_lib/vmm.sv.
Defined at line 236 of file std_lib/vmm_channel.sv.

  function vmm_data
 vmm_channel::unput

 (  int offset = 1  ) 


 Superseding functions 
 vmm_rw_access_channel :: unput 
 xvc_action_channel :: unput 


Prototype at line 1275 of file std_lib/vmm.sv.
Defined at line 338 of file std_lib/vmm_channel.sv.


Member Attribute Documentation

 local  vmm_data  attribute
 vmm_channel::active


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

 local  active_status_e  attribute
 vmm_channel::active_status


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

 local  vmm_data  attribute
 vmm_channel::data


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

 local  vmm_channel  attribute
 vmm_channel::downstream


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

 local  int  attribute
 vmm_channel::empty


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

 local  int  attribute
 vmm_channel::full


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

 local  bit  attribute
 vmm_channel::full_chan


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

 local  bit  attribute
 vmm_channel::is_sunk


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

 local  event  attribute
 vmm_channel::item_added


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

 local  event  attribute
 vmm_channel::item_taken


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

 local  int  attribute
 vmm_channel::iterator


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

 local  bit[1:0]  attribute
 vmm_channel::locks


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

  vmm_log  attribute
 vmm_channel::log


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

 local  event  attribute
 vmm_channel::new_connection


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

  vmm_notify  attribute
 vmm_channel::notify


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

 static local  bit  attribute
 vmm_channel::one_log


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

 static local  vmm_log  attribute
 vmm_channel::shared_log


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

 local  vmm_data  attribute
 vmm_channel::tee_data


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

 local  bit  attribute
 vmm_channel::tee_on


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

 local  event  attribute
 vmm_channel::teed


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


Member Enum Typedef Documentation

 typedef enum
 vmm_channel::active_status_e

INACTIVE = 0
PENDING = 1
STARTED = 2
COMPLETED = 3


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

 typedef enum
 vmm_channel::endpoints_e

SOURCE = 0
SINK = 0


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

 typedef enum
 vmm_channel::notifications_e

FULL
EMPTY
PUT
GOT
PEEKED
ACTIVATED
ACT_STARTED
ACT_COMPLETED
ACT_REMOVED
LOCKED
UNLOCKED


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