00001 // $Id: ovm__transaction_8svh-source.html,v 1.1 2008/10/07 21:54:19 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_TRANSACTION_SVH 00023 `define OVM_TRANSACTION_SVH 00024 00025 `include "base/ovm_object.svh" 00026 00027 typedef class ovm_event; 00028 typedef class ovm_event_pool; 00029 typedef class ovm_component; 00030 00031 //------------------------------------------------------------------------------ 00032 // 00033 // CLASS: ovm_transaction 00034 // 00035 // The base class transactions class 00036 // 00037 //------------------------------------------------------------------------------ 00038 00039 virtual class ovm_transaction extends ovm_object; 00040 00041 //For a transaction, the parent is the initiator of the transaction 00042 extern function new (string name="", 00043 ovm_component initiator=null); 00044 00045 extern function void set_initiator (ovm_component initiator); 00046 extern function ovm_component get_initiator (); 00047 00048 //Transaction interface 00049 extern function void accept_tr (time accept_time=0); 00050 extern function integer begin_tr (time begin_time=0); 00051 extern function integer begin_child_tr (time begin_time=0, 00052 integer parent_handle=0); 00053 extern function void end_tr (time end_time=0, bit free_handle=1); 00054 00055 extern function integer get_tr_handle (); 00056 extern function void disable_recording (); 00057 extern function void enable_recording (string stream); 00058 extern function bit is_recording_enabled(); 00059 extern function bit is_active (); 00060 00061 //Methods to add action to transaction interface 00062 extern virtual protected function void do_accept_tr (); 00063 extern virtual protected function void do_begin_tr (); 00064 extern virtual protected function void do_end_tr (); 00065 00066 //Access methods 00067 extern function ovm_event_pool get_event_pool (); 00068 extern function time get_begin_time (); 00069 extern function time get_end_time (); 00070 extern function time get_accept_time (); 00071 00072 //Override data control methods for internal properties 00073 extern virtual function void do_print (ovm_printer printer); 00074 extern virtual function void do_record (ovm_recorder recorder); 00075 extern virtual function void do_copy (ovm_object rhs); 00076 00077 //protected ovm_events m_events; 00078 00079 extern protected function integer m_begin_tr (time begin_time=0, 00080 integer parent_handle=0, 00081 bit has_parent=0); 00082 00083 local time begin_time=-1; 00084 local time end_time=-1; 00085 local time accept_time=-1; 00086 00087 local ovm_component initiator; 00088 local integer stream_handle; 00089 local integer tr_handle; 00090 local bit record_enable = 0; 00091 00092 local ovm_event_pool m_event_pool = new; 00093 00094 local integer m_transaction_id = 0; 00095 extern function void set_transaction_id(integer id); 00096 extern function integer get_transaction_id(); 00097 00098 extern virtual function string convert2string; 00099 00100 endclass 00101 00102 `endif //OVM_TRANSACTION_SVH
![]() 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 Version: 1.4.6 Mon Sep 29 14:23:30 2008 |