cl_syoscb_queue.svh

Go to the documentation of this file.
00001 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    virtual function bit add_item(string producer, uvm_sequence_item item);
00012     `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue::add_item() *MUST* be overwritten"));
00013      return(1'b0);
00014    endfunction
00015 
00016    virtual function bit delete_item(int unsigned idx);
00017     `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue::delete_item() *MUST* be overwritten"));
00018      return(1'b0);
00019    endfunction
00020 
00021    virtual function uvm_sequence_item get_item(int unsigned idx);
00022     `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue::get_item() *MUST* be overwritten"));
00023      return(null);
00024    endfunction
00025 
00026    virtual function int unsigned get_size();
00027     `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue::get_size() *MUST* be overwritten"));
00028     return(0);
00029    endfunction
00030 
00031    virtual function bit insert_item(string producer, uvm_sequence_item item, int unsigned idx);
00032     `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue::insert_item() *MUST* be overwritten"));
00033      return(1'b0);
00034    endfunction
00035 
00036    // Iterator support functions
00037    virtual function cl_syoscb_queue_iterator_base create_iterator();
00038     `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue::create_iterator() *MUST* be overwritten"));
00039     return(null);
00040    endfunction
00041 
00042    virtual function bit delete_iterator(cl_syoscb_queue_iterator_base iterator);
00043     `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue::delete_item() *MUST* be overwritten"));
00044      return(1'b0);
00045    endfunction
00046 
00047    // TBD: Locator not implemented yet
00048 
00049    // Constructor
00050    extern function new(string name, uvm_component parent);
00051 endclass : cl_syoscb_queue
00052 
00053 function cl_syoscb_queue::new(string name, uvm_component parent);
00054    super.new(name, parent);
00055 
00056    this.iter_sem = new(1);
00057    this.iter_idx = 0;
00058 endfunction : new
 All Classes Namespaces Files Functions Variables

Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.0.2
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
Doxygen Version: 1.6.1
IDV SV Filter Version: 2.6.2
Wed Feb 25 04:01:40 2015
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV