00001 virtual class cl_syoscb_queue extends uvm_component; 00002 `uvm_component_utils(cl_syoscb_queue); 00003 00004 // List of iterators registered with queue 00005 cl_syoscb_queue_iterator_base iterators[cl_syoscb_queue_iterator_base]; 00006 int unsigned iter_idx; 00007 00008 semaphore iter_sem; 00009 00010 // Basic queue functions 00011 pure virtual function bit add_item(string producer, uvm_sequence_item item); 00012 pure virtual function bit delete_item(int unsigned idx); 00013 pure virtual function uvm_sequence_item get_item(int unsigned idx); 00014 pure virtual function int unsigned get_size(); 00015 pure virtual function bit insert_item(string producer, uvm_sequence_item item, int unsigned idx); 00016 00017 // Iterator support functions 00018 pure virtual function cl_syoscb_queue_iterator_base create_iterator(); 00019 pure virtual function bit delete_iterator(cl_syoscb_queue_iterator_base iterator); 00020 00021 // TBD: Locator not implemented yet 00022 00023 // TBD: Hmmm... a constructor in a pure virtual class?? 00024 extern function new(string name, uvm_component parent); 00025 endclass : cl_syoscb_queue 00026 00027 function cl_syoscb_queue::new(string name, uvm_component parent); 00028 super.new(name, parent); 00029 00030 this.iter_sem = new(1); 00031 this.iter_idx = 0; 00032 endfunction : new
|
Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.0.0 |
Copyright 2014 SyoSil ApS All Rights Reserved Worldwide Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. |
![]() Doxygen Version: 1.6.1 IDV SV Filter Version: 2.6.2 Thu Oct 30 05:34:49 2014 |