00001 // $Id: ovm_agent.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_AGENT_SVH 00023 `define OVM_AGENT_SVH 00024 00025 //------------------------------------------------------------------------------ 00026 // 00027 // CLASS: ovm_agent 00028 // 00029 // The ovm_agent virtual class should be used as the base class for the user- 00030 // defined agents. Deriving from ovm_agent will allow you to distinguish agents 00031 // from other component types also using its inheritance. Such agents will 00032 // automatically inherit features that may be added to ovm_agent in the future. 00033 // 00034 // While an agent's build function, inherited from <ovm_component>, can be 00035 // implemented to define any agent topology, an agent typically contains three 00036 // subcomponents: a driver, sequencer, and monitor. If the agent is active, 00037 // subtypes should contain all three subcomponents. If the agent is passive, 00038 // subtypes should contain only the monitor. 00039 //------------------------------------------------------------------------------ 00040 00041 virtual class ovm_agent extends ovm_component; 00042 00043 // Function: new 00044 // 00045 // Creates and initializes an instance of this class using the normal 00046 // constructor arguments for <ovm_component>: ~name~ is the name of the 00047 // instance, and ~parent~ is the handle to the hierarchical parent, if any. 00048 00049 function new (string name, ovm_component parent); 00050 super.new(name, parent); 00051 endfunction 00052 00053 const static string type_name = "ovm_agent"; 00054 00055 virtual function string get_type_name (); 00056 return type_name; 00057 endfunction 00058 00059 endclass 00060 00061 `endif // OVM_AGENT_SVH
![]() 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 Version: 1.6.3 IDV SV Filter Version: 2.6.3 Sat Jun 19 11:47:30 2010 |