ovm_sequence_item.svh

Go to the documentation of this file.
00001 // $Id: ovm__sequence__item_8svh-source.html,v 1.1 2008/10/07 21:54:58 alex.marin Exp $
00002 //----------------------------------------------------------------------
00003 //   Copyright 2007-2008 Mentor Graphics Corporation
00004 //   Copyright 2007-2008 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_SEQUENCE_ITEM_SVH
00023 `define OVM_SEQUENCE_ITEM_SVH
00024 
00025 
00026 typedef class ovm_sequencer_base;
00027 typedef class ovm_sequence;
00028 
00029 //------------------------------------------------------------------------------
00030 //
00031 // CLASS: ovm_sequence_item
00032 //
00033 // declaration
00034 //------------------------------------------------------------------------------
00035 
00036 class ovm_sequence_item extends ovm_transaction;
00037 
00038   //constructor function
00039   extern function new (input string name="ovm_sequence_item", 
00040     ovm_sequencer_base sequencer=null, 
00041     ovm_sequence parent_seq=null);
00042 
00043   // Bit to control whether sequence info is printed in do_print()
00044   bit print_sequence_info;
00045 
00046   // transaction recording variable
00047   int tr_handle;
00048 
00049   //Implement data functions
00050   extern function void do_copy (ovm_object rhs);
00051   extern function bit do_compare (ovm_object rhs, ovm_comparer comparer);
00052   extern function void do_print (ovm_printer printer);
00053   extern function void do_record (ovm_recorder recorder);
00054 
00055   // used by sequences to identify their parent sequencer
00056   ovm_sequencer_base m_sequencer;
00057 
00058   //used to set the parent sequencer
00059   extern function void set_sequencer (ovm_sequencer_base sequencer);
00060 
00061   // virtual function to set the b_sequencer variable
00062   extern virtual function void m_set_b_sequencer();
00063 
00064   // virtual function to set the p_sequencer variable
00065   extern virtual function void m_set_p_sequencer();
00066 
00067   //used to get the parent sequencer
00068   extern function ovm_sequencer_base get_sequencer();
00069 
00070   // used by sequences to identify their parent sequence 
00071   ovm_sequence m_parent_seq;
00072 
00073   //used to set the parent sequence
00074   extern function void set_parent_seq (ovm_sequence parent);
00075 
00076   //used to get the parent sequence
00077   extern function ovm_sequence get_parent_seq();
00078 
00079   //show the full hierarchy to the item
00080   extern function string get_full_name();
00081 
00082   //show the seuqence path to the item
00083   extern function string get_sequence_path();
00084 
00085   //used by hierarchical sequences to get root sequence name for tr. recording
00086   extern virtual function string m_get_root_sequence_name();
00087 
00088   //used for printing root_sequence reference
00089   extern virtual function ovm_sequence m_get_root_sequence();
00090 
00091   // used for reporting
00092   extern protected virtual function ovm_report_object m_get_report_object();
00093 
00094   // used to determine if a ovm_sequence_item base object is an item (1) or 
00095   // sequence (0)
00096   extern virtual function int is_item();
00097 
00098   // Depth from sequencer
00099   int depth;
00100 
00101   // Function to return protected property depth_from_driver
00102   extern function int get_depth();
00103 
00104   // polymorphic creation
00105   extern function ovm_object create (string name="");
00106 
00107   // return type name string
00108   extern virtual function string get_type_name();
00109 
00110 endclass: ovm_sequence_item
00111 
00112 
00113 `endif  //OVM_SEQUENCE_ITEM_SVH 

Intelligent Design Verification
Intelligent Design Verification
Project: OVM, Revision: 1.1.0
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.4.6
Mon Sep 29 14:20:12 2008
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV