tlm_imps.svh File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define BLOCKING_PUT_IMP(imp, TYPE, arg)
#define NONBLOCKING_PUT_IMP(imp, TYPE, arg)
#define BLOCKING_GET_IMP(imp, TYPE, arg)
#define NONBLOCKING_GET_IMP(imp, TYPE, arg)
#define BLOCKING_PEEK_IMP(imp, TYPE, arg)
#define NONBLOCKING_PEEK_IMP(imp, TYPE, arg)
#define BLOCKING_TRANSPORT_IMP(imp, REQ, RSP, req_arg, rsp_arg)
#define NONBLOCKING_TRANSPORT_IMP(imp, REQ, RSP, req_arg, rsp_arg)
#define PUT_IMP(imp, TYPE, arg)
#define GET_IMP(imp, TYPE, arg)
#define PEEK_IMP(imp, TYPE, arg)
#define BLOCKING_GET_PEEK_IMP(imp, TYPE, arg)
#define NONBLOCKING_GET_PEEK_IMP(imp, TYPE, arg)
#define GET_PEEK_IMP(imp, TYPE, arg)
#define TRANSPORT_IMP(imp, REQ, RSP, req_arg, rsp_arg)
#define TLM_GET_TYPE_NAME(NAME)
#define OVM_PORT_COMMON(MASK, TYPE_NAME)
#define OVM_SEQ_PORT(MASK, TYPE_NAME)
#define OVM_EXPORT_COMMON(MASK, TYPE_NAME)
#define OVM_IMP_COMMON(MASK, TYPE_NAME, IMP)
#define OVM_MS_IMP_COMMON(MASK, TYPE_NAME)

Define Documentation

#define BLOCKING_GET_IMP ( imp,
TYPE,
arg   ) 
Value:
task get (output TYPE arg) { \
    imp.get(arg); \
  }

Definition at line 109 of file tlm_imps.svh.

#define BLOCKING_GET_PEEK_IMP ( imp,
TYPE,
arg   ) 
Value:
BLOCKING_GET_IMP(imp, TYPE, arg) \
  BLOCKING_PEEK_IMP(imp, TYPE, arg)

Definition at line 157 of file tlm_imps.svh.

#define BLOCKING_PEEK_IMP ( imp,
TYPE,
arg   ) 
Value:
task peek (output TYPE arg) { \
    imp.peek(arg); \
  }

Definition at line 122 of file tlm_imps.svh.

#define BLOCKING_PUT_IMP ( imp,
TYPE,
arg   ) 
Value:
task put (TYPE arg) { \
    imp.put(arg); \
  }

Definition at line 96 of file tlm_imps.svh.

#define BLOCKING_TRANSPORT_IMP ( imp,
REQ,
RSP,
req_arg,
rsp_arg   ) 
Value:
task transport (REQ req_arg, output RSP rsp_arg) { \
    imp.transport(req_arg, rsp_arg); \
  }

Definition at line 135 of file tlm_imps.svh.

#define GET_IMP ( imp,
TYPE,
arg   ) 
Value:
BLOCKING_GET_IMP(imp, TYPE, arg) \
  NONBLOCKING_GET_IMP(imp, TYPE, arg)

Definition at line 149 of file tlm_imps.svh.

#define GET_PEEK_IMP ( imp,
TYPE,
arg   ) 
Value:
BLOCKING_GET_PEEK_IMP(imp, TYPE, arg) \
  NONBLOCKING_GET_PEEK_IMP(imp, TYPE, arg)

Definition at line 165 of file tlm_imps.svh.

#define NONBLOCKING_GET_IMP ( imp,
TYPE,
arg   ) 
Value:
bit try_get (output TYPE arg) { \
    return imp.try_get(arg); \
  } \
   bit can_get() { \
    return imp.can_get(); \
  }

Definition at line 114 of file tlm_imps.svh.

#define NONBLOCKING_GET_PEEK_IMP ( imp,
TYPE,
arg   ) 
Value:
NONBLOCKING_GET_IMP(imp, TYPE, arg) \
  NONBLOCKING_PEEK_IMP(imp, TYPE, arg)

Definition at line 161 of file tlm_imps.svh.

#define NONBLOCKING_PEEK_IMP ( imp,
TYPE,
arg   ) 
Value:
bit try_peek (output TYPE arg) { \
    return imp.try_peek(arg); \
  } \
   bit can_peek() { \
    return imp.can_peek(); \
  }

Definition at line 127 of file tlm_imps.svh.

#define NONBLOCKING_PUT_IMP ( imp,
TYPE,
arg   ) 
Value:
bit try_put (TYPE arg) { \
    return imp.try_put(arg); \
  } \
   bit can_put() { \
    return imp.can_put(); \
  }

Definition at line 101 of file tlm_imps.svh.

#define NONBLOCKING_TRANSPORT_IMP ( imp,
REQ,
RSP,
req_arg,
rsp_arg   ) 
Value:
bit nb_transport (REQ req_arg, output RSP rsp_arg) { \
    return imp.nb_transport(req_arg, rsp_arg); \
  }

Definition at line 140 of file tlm_imps.svh.

#define OVM_EXPORT_COMMON ( MASK,
TYPE_NAME   ) 
Value:
new (string name, ovm_component parent, \
                int min_size=1, int max_size=1) { \
    super.new (name, parent, OVM_EXPORT, min_size, max_size); \
    m_if_mask = MASK; \
  } \
  TLM_GET_TYPE_NAME(TYPE_NAME)

Definition at line 196 of file tlm_imps.svh.

#define OVM_IMP_COMMON ( MASK,
TYPE_NAME,
IMP   ) 
Value:
local IMP m_imp; \
   new (string name, IMP imp) { \
    super.new (name, imp, OVM_IMPLEMENTATION, 1, 1); \
    m_imp = imp; \
    m_if_mask = MASK; \
  } \
  TLM_GET_TYPE_NAME(TYPE_NAME)

Definition at line 204 of file tlm_imps.svh.

#define OVM_MS_IMP_COMMON ( MASK,
TYPE_NAME   ) 
Value:
local this_req_type m_req_imp; \
  local this_rsp_type m_rsp_imp; \
   new (string name, this_imp_type imp, \
                this_req_type req_imp = null, this_rsp_type rsp_imp = null) { \
    super.new (name, imp, OVM_IMPLEMENTATION, 1, 1); \
    if(req_imp==null) $cast(req_imp, imp); \
    if(rsp_imp==null) $cast(rsp_imp, imp); \
    m_req_imp = req_imp; \
    m_rsp_imp = rsp_imp; \
    m_if_mask = MASK; \
  }  \
  TLM_GET_TYPE_NAME(TYPE_NAME)

Definition at line 213 of file tlm_imps.svh.

#define OVM_PORT_COMMON ( MASK,
TYPE_NAME   ) 
Value:
new (string name, ovm_component parent, \
                int min_size=1, int max_size=1) { \
    super.new (name, parent, OVM_PORT, min_size, max_size); \
    m_if_mask = MASK; \
  } \
  TLM_GET_TYPE_NAME(TYPE_NAME)

Definition at line 180 of file tlm_imps.svh.

#define OVM_SEQ_PORT ( MASK,
TYPE_NAME   ) 
Value:
new (string name, ovm_component parent, \
                int min_size=0, int max_size=1) { \
    super.new (name, parent, OVM_PORT, min_size, max_size); \
    m_if_mask = MASK; \
  } \
  TLM_GET_TYPE_NAME(TYPE_NAME)

Definition at line 188 of file tlm_imps.svh.

#define PEEK_IMP ( imp,
TYPE,
arg   ) 
Value:
BLOCKING_PEEK_IMP(imp, TYPE, arg) \
  NONBLOCKING_PEEK_IMP(imp, TYPE, arg)

Definition at line 153 of file tlm_imps.svh.

#define PUT_IMP ( imp,
TYPE,
arg   ) 
Value:
BLOCKING_PUT_IMP(imp, TYPE, arg) \
  NONBLOCKING_PUT_IMP(imp, TYPE, arg)

Definition at line 145 of file tlm_imps.svh.

#define TLM_GET_TYPE_NAME ( NAME   ) 
Value:
virtual  string get_type_name() { \
    return NAME; \
  }

Definition at line 175 of file tlm_imps.svh.

#define TRANSPORT_IMP ( imp,
REQ,
RSP,
req_arg,
rsp_arg   ) 
Value:
BLOCKING_TRANSPORT_IMP(imp, REQ, RSP, req_arg, rsp_arg) \
  NONBLOCKING_TRANSPORT_IMP(imp, REQ, RSP, req_arg, rsp_arg)

Definition at line 169 of file tlm_imps.svh.


Intelligent Design Verification
Intelligent Design Verification
Project: OVM, Revision: 2.1.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 11:51:40 2010
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV