ovm_misc.svh

Go to the documentation of this file.
00001 // $Id: ovm_misc.svh 17 2009-12-28 18:29:28Z seanoboyle $
00002 //------------------------------------------------------------------------------
00003 //   Copyright 2007-2009 Mentor Graphics Corporation
00004 //   Copyright 2007-2009 Cadence Design Systems, Inc.
00005 //   All Rights Reserved Worldwide
00006 //
00007 //   Licensed under the Apache License, Version 2.0 (the
00008 //   "License"); you may not use this file except in
00009 //   compliance with the License.  You may obtain a copy of
00010 //   the License at
00011 //
00012 //       http://www.apache.org/licenses/LICENSE-2.0
00013 //
00014 //   Unless required by applicable law or agreed to in
00015 //   writing, software distributed under the License is
00016 //   distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
00017 //   CONDITIONS OF ANY KIND, either express or implied.  See
00018 //   the License for the specific language governing
00019 //   permissions and limitations under the License.
00020 //------------------------------------------------------------------------------
00021 
00022 `ifndef OVM_MISC_SVH
00023 `define OVM_MISC_SVH
00024 
00025 // Used to indicate "no valid default value" in a parameter
00026 virtual class avm_virtual_class; endclass
00027 
00028 //------------------------------------------------------------------------------
00029 //
00030 // Topic: ovm_void
00031 //
00032 // The ~ovm_void~ class is the base class for all OVM classes. It is an abstract
00033 // class with no data members or functions. It allows for generic containers of
00034 // objects to be created, similar to a void pointer in the C programming
00035 // language. User classes derived directly from ~ovm_void~ inherit none of the
00036 // OVM functionality, but such classes may be placed in ~ovm_void~-typed
00037 // containers along with other OVM objects.
00038 //
00039 //------------------------------------------------------------------------------
00040 
00041 virtual class ovm_void;
00042 endclass
00043 
00044 // Forward declaration since scope stack uses ovm_objects now
00045 typedef class ovm_object;
00046 
00047 //----------------------------------------------------------------------------
00048 //
00049 // CLASS- ovm_scope_stack
00050 //
00051 //----------------------------------------------------------------------------
00052 
00053 class ovm_scope_stack;
00054   local string   m_scope="";
00055   local string   m_scope_arg="";
00056   local int      m_depth=0;
00057   local bit      m_object_map[ovm_void];
00058   local ovm_void m_stack[$];
00059 
00060   extern function void   set          (string s, ovm_object obj);
00061   extern function void   down         (string s, ovm_object obj);
00062   extern function void   down_element (int element, ovm_object obj);
00063   extern function void   up           (ovm_object obj, byte separator=".");
00064   extern function void   up_element   (ovm_object obj);
00065   extern function void   set_arg      (string arg);
00066   extern function void   unset_arg    (string arg);
00067   extern function void   set_arg_element  (string arg, int ele);
00068   extern function int    depth        ();
00069   extern function string get          ();
00070   extern function string get_arg      ();
00071   extern function ovm_object current    ();
00072 
00073   extern function bit    in_hierarchy  (ovm_object obj);
00074 endclass
00075 
00076 `endif // OVM_MISC_SVH

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