00001 // $Id: sqr__ifs_8svh-source.html,v 1.1 2008/10/07 21:54:11 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 //---------------------------------------------------------------------- 00024 // sequencer interfaces 00025 //---------------------------------------------------------------------- 00026 00027 `define SEQ_ITEM_TASK_ERROR "Sequencer interface task not implemented" 00028 `define SEQ_ITEM_FUNCTION_ERROR "Sequencer interface function not implemented" 00029 00030 //---------------------------------------------------------------------- 00031 // ovm_sqr_pull_if 00032 //---------------------------------------------------------------------- 00033 virtual class sqr_if_base #(type T1=ovm_object, T2=T1); 00034 00035 virtual task get_next_item(output T1 t); 00036 ovm_report_error("get_next_item", `SEQ_ITEM_TASK_ERROR); 00037 endtask 00038 00039 virtual task try_next_item(output T1 t); 00040 ovm_report_error("try_next_item", `SEQ_ITEM_TASK_ERROR); 00041 endtask 00042 00043 virtual function void item_done(input T2 t = null); 00044 ovm_report_error("item_done", `SEQ_ITEM_FUNCTION_ERROR); 00045 endfunction 00046 00047 virtual task wait_for_sequences(); 00048 ovm_report_error("wait_for_sequences", `SEQ_ITEM_TASK_ERROR); 00049 endtask 00050 00051 virtual function bit has_do_available(); 00052 ovm_report_error("has_do_available", `SEQ_ITEM_FUNCTION_ERROR); 00053 return 0; 00054 endfunction 00055 00056 virtual function void put_response(input T2 t); 00057 ovm_report_error("put_response", `SEQ_ITEM_FUNCTION_ERROR); 00058 endfunction 00059 00060 // tlm_blocking_slave_if 00061 virtual task get(output T1 t); 00062 ovm_report_error("get", `SEQ_ITEM_TASK_ERROR); 00063 endtask 00064 00065 virtual task peek(output T1 t); 00066 ovm_report_error("peek", `SEQ_ITEM_TASK_ERROR); 00067 endtask 00068 00069 virtual task put(input T2 t); 00070 ovm_report_error("put", `SEQ_ITEM_TASK_ERROR); 00071 endtask 00072 00073 endclass 00074 00075 `define SEQ_ITEM_GET_NEXT_ITEM_MASK (1<<0) 00076 `define SEQ_ITEM_TRY_NEXT_ITEM_MASK (1<<1) 00077 `define SEQ_ITEM_ITEM_DONE_MASK (1<<2) 00078 `define SEQ_ITEM_HAS_DO_AVAILABLE_MASK (1<<3) 00079 `define SEQ_ITEM_WAIT_FOR_SEQUENCES_MASK (1<<4) 00080 `define SEQ_ITEM_PUT_RESPONSE_MASK (1<<5) 00081 `define SEQ_ITEM_PUT_MASK (1<<6) 00082 `define SEQ_ITEM_GET_MASK (1<<7) 00083 `define SEQ_ITEM_PEEK_MASK (1<<8) 00084 00085 `define SEQ_ITEM_PULL_MASK (`SEQ_ITEM_GET_NEXT_ITEM_MASK | `SEQ_ITEM_TRY_NEXT_ITEM_MASK | \ 00086 `SEQ_ITEM_ITEM_DONE_MASK | `SEQ_ITEM_HAS_DO_AVAILABLE_MASK | \ 00087 `SEQ_ITEM_WAIT_FOR_SEQUENCES_MASK | `SEQ_ITEM_PUT_RESPONSE_MASK | \ 00088 `SEQ_ITEM_PUT_MASK | `SEQ_ITEM_GET_MASK | `SEQ_ITEM_PEEK_MASK) 00089 00090 `define SEQ_ITEM_UNI_PULL_MASK (`SEQ_ITEM_GET_NEXT_ITEM_MASK | `SEQ_ITEM_TRY_NEXT_ITEM_MASK | \ 00091 `SEQ_ITEM_ITEM_DONE_MASK | `SEQ_ITEM_HAS_DO_AVAILABLE_MASK | \ 00092 `SEQ_ITEM_WAIT_FOR_SEQUENCES_MASK | `SEQ_ITEM_GET_MASK | \ 00093 `SEQ_ITEM_PEEK_MASK) 00094 00095 `define SEQ_ITEM_PUSH_MASK (`SEQ_ITEM_PUT_MASK)
![]() 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 |