cl_syoscb_item.svh

00001 /// The UVM scoreboard item. This item wraps the uvm_sequence_items. This ensures that future
00002 /// extensions to the UVM scoreboard will always be able to use all uvm_sqeuence_items from
00003 /// already existing testbenches etc. even htough more META data is added to the wrapping item.
00004 class cl_syoscb_item extends uvm_object;
00005   //-------------------------------------
00006   // Non randomizable variables
00007   //-------------------------------------
00008   /// Hold the name of the producer
00009   string producer;
00010 
00011   /// Handle to the wrapped uvm_sequence_item
00012   uvm_sequence_item item;
00013 
00014   //-------------------------------------
00015   // UVM Macros
00016   //-------------------------------------
00017   `uvm_object_utils_begin(cl_syoscb_item)
00018     `uvm_field_string(producer, UVM_DEFAULT)
00019     `uvm_field_object(item, UVM_DEFAULT)
00020   `uvm_object_utils_end
00021 
00022   //-------------------------------------
00023   // Constructor
00024   //-------------------------------------
00025   extern function new(string name = "cl_syoscb_item");
00026 
00027   //-------------------------------------
00028   // Item API
00029   //-------------------------------------
00030   extern function string get_producer();
00031   extern function void set_producer(string producer);
00032   extern function uvm_sequence_item get_item();
00033   extern function void set_item(uvm_sequence_item item);
00034 endclass: cl_syoscb_item
00035 
00036 function cl_syoscb_item::new(string name = "cl_syoscb_item");
00037   super.new(name);
00038 endfunction : new     
00039 
00040 /// <b>Item API:</b> Returns the producer
00041 function string cl_syoscb_item::get_producer();
00042   return(this.producer);
00043 endfunction: get_producer
00044 
00045 /// <b>Item API:</b> Sets the producer
00046 function void cl_syoscb_item::set_producer(string producer);
00047   // The producer has been checked by the parent prior
00048   // to the insertion
00049   this.producer = producer;
00050 endfunction: set_producer
00051 
00052 /// <b>Item API:</b> Returns the wrapped uvm_sequence_item
00053 function uvm_sequence_item cl_syoscb_item::get_item();
00054   return(this.item);
00055 endfunction: get_item
00056 
00057 /// <b>Item API:</b> Sets the to be wrapped uvm_sequence_item
00058 function void cl_syoscb_item::set_item(uvm_sequence_item item);
00059   this.item = item;
00060 endfunction: set_item
 All Classes Functions Variables

Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.2.1

Copyright 2014-2015 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
Thu Jun 4 23:02:22 2015
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV