vmm_channel Class Reference

Inheritance list for class vmm_channel:

List of all members.
Typedef at line 666 of file sv/std_lib/vmm.sv.
Defined at line 1532 of file sv/std_lib/vmm.sv.

Public Member Functions

task  activate ( output vmm_data obj, input int offset = 0 )
function vmm_data  active_slot ( )
task  block_consumer ( )
task  block_producer ( vmm_scenario grabber )
local function bit  check_all_grab_owners ( vmm_scenario grabber )
local function bit  check_grab_owners ( vmm_scenario grabber )
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 ( output vmm_data obj, input int offset = 0 )
function vmm_xactor  get_consumer ( )
function vmm_xactor  get_producer ( )
task  get1 ( output vmm_data obj, input int offset = 0 )
task  grab ( vmm_scenario grabber )
local function int  index ( int offset )
function bit  is_full ( )
function bit  is_grabbed ( )
function bit  is_locked ( bit[1:0] who )
function void  kill ( )
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 ( output vmm_data obj, input int offset = 0 )
task  playback ( output bit success, input string filename, input vmm_data factory, input bit metered = 0, vmm_scenario grabber = null )
function string  psdisplay ( string prefix = )
task  put ( vmm_data obj, int offset = -1, vmm_scenario grabber = null )
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 ( )
local function void  reset_grabbers ( )
function void  set_consumer ( vmm_xactor consumer )
function void  set_producer ( vmm_xactor producer )
function void  sink ( )
function uint  size ( )
function void  sneak ( vmm_data obj, int offset = -1, vmm_scenario grabber = null )
function vmm_data  start ( )
function active_status_e  status ( )
task  tee ( output vmm_data obj )
function bit  tee_mode ( bit is_on )
function bit  try_grab ( vmm_scenario grabber )
local function void  unblock_producer ( )
function void  ungrab ( vmm_scenario grabber )
function void  unlock ( bit[1:0] who )
function vmm_data  unput ( int offset = -1 )
function void  Xrecord_to_fileX ( bit[7:0] op_code, int offset, time diff_time )

Public Attributes

local vmm_data  active 
local active_status_e  active_status 
local vmm_xactor  consumer 
local vmm_data  data [$] 
local vmm_channel  downstream 
local int  empty = 0; 
local int  full = 0; 
local bit  full_chan 
local vmm_scenario  grab_owners [$] 
local bit  is_playback 
local bit  is_put 
local bit  is_sunk = 0; 
local event  item_added 
local event  item_taken 
local int  iterator 
local time  last_record_time 
local bit[1:0]  locks 
vmm_log  log 
local event  new_connection 
vmm_notify  notify 
static vmm_opts  _vmm_opts = new; 
static local bit  one_log 
local vmm_xactor  producer 
local int  record_fp 
static local vmm_log  shared_log = null; 
local vmm_data  tee_data [$] 
local event  teed 
local bit  tee_on = 0; 

Protected Member Functions

task  XputX ( vmm_data obj, int offset = -1, vmm_scenario grabber = null )

Enum Typedefs

 typedef enum  active_status_e 
 typedef enum  endpoints_e 
 typedef enum  notifications_e 


Member Function Documentation

  task
 vmm_channel::activate

 (  output vmm_data obj, input int offset = 0  ) 


 Superseding tasks 
 vmm_rw_access_channel :: activate 
 xvc_action_channel :: activate 


Prototype at line 1665 of file sv/std_lib/vmm.sv.
Defined at line 748 of file sv/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 1667 of file sv/std_lib/vmm.sv.
Defined at line 803 of file sv/std_lib/vmm_channel.sv.

 local task
 vmm_channel::block_consumer

 (   ) 


Prototype at line 1703 of file sv/std_lib/vmm.sv.
Defined at line 1173 of file sv/std_lib/vmm_channel.sv.

 local task
 vmm_channel::block_producer

 (  vmm_scenario grabber  ) 


Prototype at line 1699 of file sv/std_lib/vmm.sv.
Defined at line 1147 of file sv/std_lib/vmm_channel.sv.

 local function bit
 vmm_channel::check_all_grab_owners

 (  vmm_scenario grabber  ) 


Prototype at line 1633 of file sv/std_lib/vmm.sv.
Defined at line 296 of file sv/std_lib/vmm_channel.sv.

 local function bit
 vmm_channel::check_grab_owners

 (  vmm_scenario grabber  ) 


Prototype at line 1632 of file sv/std_lib/vmm.sv.
Defined at line 281 of file sv/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 1669 of file sv/std_lib/vmm.sv.
Defined at line 827 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::connect

 (  vmm_channel downstream  ) 


Prototype at line 1676 of file sv/std_lib/vmm.sv.
Defined at line 909 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::display

 (  string prefix =  ) 


Prototype at line 1653 of file sv/std_lib/vmm.sv.
Defined at line 390 of file sv/std_lib/vmm_channel.sv.

  function uint
 vmm_channel::empty_level

 (   ) 


Prototype at line 1612 of file sv/std_lib/vmm.sv.
Defined at line 183 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::flow

 (   ) 


Prototype at line 1619 of file sv/std_lib/vmm.sv.
Defined at line 247 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::flush

 (   ) 


Prototype at line 1617 of file sv/std_lib/vmm.sv.
Defined at line 203 of file sv/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 1677 of file sv/std_lib/vmm.sv.
Defined at line 919 of file sv/std_lib/vmm_channel.sv.

  function uint
 vmm_channel::for_each_offset

 (   ) 


Prototype at line 1678 of file sv/std_lib/vmm.sv.
Defined at line 928 of file sv/std_lib/vmm_channel.sv.

  function uint
 vmm_channel::full_level

 (   ) 


Prototype at line 1611 of file sv/std_lib/vmm.sv.
Defined at line 178 of file sv/std_lib/vmm_channel.sv.

  task
 vmm_channel::get

 (  output vmm_data obj, input int offset = 0  ) 


 Superseding tasks 
 vmm_rw_access_channel :: get 
 xvc_action_channel :: get 


Prototype at line 1659 of file sv/std_lib/vmm.sv.
Defined at line 707 of file sv/std_lib/vmm_channel.sv.

  function vmm_xactor
 vmm_channel::get_consumer

 (   ) 


Prototype at line 1692 of file sv/std_lib/vmm.sv.
Defined at line 1200 of file sv/std_lib/vmm_channel.sv.

  function vmm_xactor
 vmm_channel::get_producer

 (   ) 


Prototype at line 1691 of file sv/std_lib/vmm.sv.
Defined at line 1195 of file sv/std_lib/vmm_channel.sv.

 local task
 vmm_channel::get1

 (  output vmm_data obj, input int offset = 0  ) 


Prototype at line 1661 of file sv/std_lib/vmm.sv.
Defined at line 640 of file sv/std_lib/vmm_channel.sv.

  task
 vmm_channel::grab

 (  vmm_scenario grabber  ) 


Prototype at line 1626 of file sv/std_lib/vmm.sv.
Defined at line 331 of file sv/std_lib/vmm_channel.sv.

 local function int
 vmm_channel::index

 (  int offset  ) 


Prototype at line 1682 of file sv/std_lib/vmm.sv.
Defined at line 1128 of file sv/std_lib/vmm_channel.sv.

  function bit
 vmm_channel::is_full

 (   ) 


Prototype at line 1616 of file sv/std_lib/vmm.sv.
Defined at line 198 of file sv/std_lib/vmm_channel.sv.

  function bit
 vmm_channel::is_grabbed

 (   ) 


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

  function bit
 vmm_channel::is_locked

 (  bit[1:0] who  ) 


Prototype at line 1624 of file sv/std_lib/vmm.sv.
Defined at line 275 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::kill

 (   ) 


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

  function uint
 vmm_channel::level

 (   ) 


Prototype at line 1613 of file sv/std_lib/vmm.sv.
Defined at line 188 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::lock

 (  bit[1:0] who  ) 


Prototype at line 1622 of file sv/std_lib/vmm.sv.
Defined at line 260 of file sv/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 1602 of file sv/std_lib/vmm.sv.
Defined at line 29 of file sv/std_lib/vmm_channel.sv.

  task
 vmm_channel::peek

 (  output vmm_data obj, input int offset = 0  ) 


 Superseding tasks 
 vmm_rw_access_channel :: peek 
 xvc_action_channel :: peek 


Prototype at line 1663 of file sv/std_lib/vmm.sv.
Defined at line 714 of file sv/std_lib/vmm_channel.sv.

  task
 vmm_channel::playback

 (  output bit success, input string filename, input vmm_data factory, input bit metered = 0, vmm_scenario grabber = null  ) 


Prototype at line 1642 of file sv/std_lib/vmm.sv.
Defined at line 973 of file sv/std_lib/vmm_channel.sv.

  function string
 vmm_channel::psdisplay

 (  string prefix =  ) 


Prototype at line 1654 of file sv/std_lib/vmm.sv.
Defined at line 395 of file sv/std_lib/vmm_channel.sv.

  task
 vmm_channel::put

 (  vmm_data obj, int offset = -1, vmm_scenario grabber = null  ) 


Prototype at line 1636 of file sv/std_lib/vmm.sv.
Defined at line 418 of file sv/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 1610 of file sv/std_lib/vmm.sv.
Defined at line 141 of file sv/std_lib/vmm_channel.sv.

  function bit
 vmm_channel::record

 (  string filename  ) 


Prototype at line 1680 of file sv/std_lib/vmm.sv.
Defined at line 933 of file sv/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 1670 of file sv/std_lib/vmm.sv.
Defined at line 845 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::reset

 (   ) 


Prototype at line 1620 of file sv/std_lib/vmm.sv.
Defined at line 252 of file sv/std_lib/vmm_channel.sv.

 local function void
 vmm_channel::reset_grabbers

 (   ) 


Prototype at line 1634 of file sv/std_lib/vmm.sv.
Defined at line 228 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::set_consumer

 (  vmm_xactor consumer  ) 


Prototype at line 1690 of file sv/std_lib/vmm.sv.
Defined at line 1231 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::set_producer

 (  vmm_xactor producer  ) 


Prototype at line 1689 of file sv/std_lib/vmm.sv.
Defined at line 1205 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::sink

 (   ) 


Prototype at line 1618 of file sv/std_lib/vmm.sv.
Defined at line 241 of file sv/std_lib/vmm_channel.sv.

  function uint
 vmm_channel::size

 (   ) 


Prototype at line 1614 of file sv/std_lib/vmm.sv.
Defined at line 193 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::sneak

 (  vmm_data obj, int offset = -1, vmm_scenario grabber = null  ) 


Prototype at line 1635 of file sv/std_lib/vmm.sv.
Defined at line 468 of file sv/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 1668 of file sv/std_lib/vmm.sv.
Defined at line 808 of file sv/std_lib/vmm_channel.sv.

  function active_status_e
 vmm_channel::status

 (   ) 


Prototype at line 1671 of file sv/std_lib/vmm.sv.
Defined at line 872 of file sv/std_lib/vmm_channel.sv.

  task
 vmm_channel::tee

 (  output vmm_data obj  ) 


 Superseding tasks 
 vmm_rw_access_channel :: tee 
 xvc_action_channel :: tee 


Prototype at line 1674 of file sv/std_lib/vmm.sv.
Defined at line 891 of file sv/std_lib/vmm_channel.sv.

  function bit
 vmm_channel::tee_mode

 (  bit is_on  ) 


Prototype at line 1673 of file sv/std_lib/vmm.sv.
Defined at line 877 of file sv/std_lib/vmm_channel.sv.

  function bit
 vmm_channel::try_grab

 (  vmm_scenario grabber  ) 


Prototype at line 1629 of file sv/std_lib/vmm.sv.
Defined at line 305 of file sv/std_lib/vmm_channel.sv.

 local function void
 vmm_channel::unblock_producer

 (   ) 


Prototype at line 1704 of file sv/std_lib/vmm.sv.
Defined at line 1179 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::ungrab

 (  vmm_scenario grabber  ) 


Prototype at line 1627 of file sv/std_lib/vmm.sv.
Defined at line 360 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::unlock

 (  bit[1:0] who  ) 


Prototype at line 1623 of file sv/std_lib/vmm.sv.
Defined at line 266 of file sv/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 1656 of file sv/std_lib/vmm.sv.
Defined at line 550 of file sv/std_lib/vmm_channel.sv.

 protected task
 vmm_channel::XputX

 (  vmm_data obj, int offset = -1, vmm_scenario grabber = null  ) 


Prototype at line 1637 of file sv/std_lib/vmm.sv.
Defined at line 444 of file sv/std_lib/vmm_channel.sv.

  function void
 vmm_channel::Xrecord_to_fileX

 (  bit[7:0] op_code, int offset, time diff_time  ) 


Prototype at line 1686 of file sv/std_lib/vmm.sv.
Defined at line 605 of file sv/std_lib/vmm_channel.sv.


Member Attribute Documentation

 local vmm_data  attribute
 vmm_channel::active


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

 local active_status_e  attribute
 vmm_channel::active_status


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

 local vmm_xactor  attribute
 vmm_channel::consumer


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

 local vmm_data  attribute
 vmm_channel::data[$]


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

 local vmm_channel  attribute
 vmm_channel::downstream


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

 local int  attribute
 vmm_channel::empty = 0


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

 local int  attribute
 vmm_channel::full = 0


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

 local bit  attribute
 vmm_channel::full_chan


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

 local vmm_scenario  attribute
 vmm_channel::grab_owners[$]


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

 local bit  attribute
 vmm_channel::is_playback


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

 local bit  attribute
 vmm_channel::is_put


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

 local bit  attribute
 vmm_channel::is_sunk = 0


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

 local event  attribute
 vmm_channel::item_added


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

 local event  attribute
 vmm_channel::item_taken


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

 local int  attribute
 vmm_channel::iterator


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

 local time  attribute
 vmm_channel::last_record_time


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

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


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

 vmm_log  attribute
 vmm_channel::log


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

 local event  attribute
 vmm_channel::new_connection


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

 vmm_notify  attribute
 vmm_channel::notify


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

 static vmm_opts  attribute
 vmm_channel::_vmm_opts = new


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

 static local bit  attribute
 vmm_channel::one_log


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

 local vmm_xactor  attribute
 vmm_channel::producer


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

 local int  attribute
 vmm_channel::record_fp


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

 static local vmm_log  attribute
 vmm_channel::shared_log = null


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

 local vmm_data  attribute
 vmm_channel::tee_data[$]


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

 local event  attribute
 vmm_channel::teed


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

 local bit  attribute
 vmm_channel::tee_on = 0


Defined at line 1580 of file sv/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 1563 of file sv/std_lib/vmm.sv.

 typedef enum
 vmm_channel::endpoints_e
SOURCE = 1
SINK = 2


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

 typedef enum
 vmm_channel::notifications_e
FULL
EMPTY
PUT
GOT
PEEKED
ACTIVATED
ACT_STARTED
ACT_COMPLETED
ACT_REMOVED
LOCKED
UNLOCKED
GRABBED
UNGRABBED
RECORDING
PLAYBACK
PLAYBACK_DONE


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