ovm_phase_defines.svh File Reference

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

Go to the source code of this file.

Defines

#define ovm_phase_type_name_decl(NAME)
#define ovm_phase_func_decl(NAME, TOP_DOWN)
#define ovm_phase_task_decl(NAME, TOP_DOWN)
#define ovm_phase_func_topdown_decl(NAME)   ovm_phase_func_decl(NAME,1)
#define ovm_phase_func_bottomup_decl(NAME)   ovm_phase_func_decl(NAME,0)
#define ovm_phase_task_topdown_decl(NAME)   ovm_phase_task_decl(NAME,1)
#define ovm_phase_task_bottomup_decl(NAME)   ovm_phase_task_decl(NAME,0)


Define Documentation

#define ovm_phase_func_bottomup_decl ( NAME   )     ovm_phase_func_decl(NAME,0)

Definition at line 83 of file ovm_phase_defines.svh.

#define ovm_phase_func_decl ( NAME,
TOP_DOWN   ) 

Value:

class NAME_phase #(type PARENT=int) extends ovm_phase; \
    function new(); \
      super.new("NAME",TOP_DOWN,0); \
    endfunction \
    ovm_phase_type_name_decl(NAME) \
    virtual function void call_func(ovm_component parent); \
      PARENT m_parent; \
      super.call_func(parent); \
      if($cast(m_parent,parent)) begin \
        if(has_executed(parent)) begin \
          parent.ovm_report_warning("PHSEXEC", { "The phase ", get_name(), \
            " has already executed. Either the phase was not reset, or there", \
            " there is an invalid phase alias for this phase."}); \
          return; \
        end \
        set_executed(parent); \
        m_parent.NAME(); \
      end \
    endfunction \
  endclass

Definition at line 36 of file ovm_phase_defines.svh.

#define ovm_phase_func_topdown_decl ( NAME   )     ovm_phase_func_decl(NAME,1)

Definition at line 82 of file ovm_phase_defines.svh.

#define ovm_phase_task_bottomup_decl ( NAME   )     ovm_phase_task_decl(NAME,0)

Definition at line 85 of file ovm_phase_defines.svh.

#define ovm_phase_task_decl ( NAME,
TOP_DOWN   ) 

Value:

class NAME_phase #(type PARENT=int) extends ovm_phase; \
    function new(); \
      super.new("NAME",TOP_DOWN,1); \
    endfunction \
    ovm_phase_type_name_decl(NAME) \
    virtual task call_task(ovm_component parent); \
      PARENT m_parent; \
      super.call_task(parent); \
      if($cast(m_parent,parent)) begin \
        if(has_executed(parent)) begin \
          parent.ovm_report_warning("PHSEXEC", { "The phase ", get_name(), \
            " has already executed. Either the phase was not reset, or there", \
            " there is an invalid phase alias for this phase."}); \
          return; \
        end \
        set_executed(parent); \
        m_parent.NAME(); \
      end \
    endtask \
  endclass

Definition at line 59 of file ovm_phase_defines.svh.

#define ovm_phase_task_topdown_decl ( NAME   )     ovm_phase_task_decl(NAME,1)

Definition at line 84 of file ovm_phase_defines.svh.

#define ovm_phase_type_name_decl ( NAME   ) 

Value:

virtual function string get_type_name (); \
      return "NAME_phase #(PARENT)"; \
    endfunction

Definition at line 24 of file ovm_phase_defines.svh.


Intelligent Design Verification
Intelligent Design Verification
Project: OVM, Revision: 2.0.1
Copyright (c) 2008 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.5.5
Wed Jan 7 19:27:27 2009
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV