00001 // $Id: a00261.html,v 1.1 2009/01/07 19:29:50 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 00023 class ovm_push_driver #(type REQ = ovm_sequence_item, 00024 type RSP = REQ) extends ovm_component; 00025 00026 typedef ovm_push_driver #(REQ, RSP) this_type; 00027 00028 ovm_blocking_put_imp #(REQ, this_type) req_export; 00029 ovm_analysis_port #(RSP) rsp_port; 00030 00031 REQ req; 00032 RSP rsp; 00033 00034 function new (string name, ovm_component parent); 00035 super.new(name, parent); 00036 req_export = new("req_export", this); 00037 rsp_port = new("rsp_port", this); 00038 endfunction // new 00039 00040 virtual function void build(); 00041 super.build(); 00042 endfunction // function 00043 00044 function void check_port_connections(); 00045 assert(req_export.size() == 1) else 00046 ovm_report_fatal("Connection Error", 00047 $psprintf("Must connect to seq_item_port(%0d)", 00048 req_export.size())); 00049 endfunction // void 00050 00051 virtual function void end_of_elaboration(); 00052 check_port_connections(); 00053 endfunction // void 00054 00055 virtual task put(REQ item); 00056 ovm_report_fatal("OVM_PUSH_DRIVER", "Put task for push driver is not implemented"); 00057 endtask // put 00058 00059 endclass 00060
![]() 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 Version: 1.5.5 Wed Jan 7 19:27:18 2009 |