In reply to dave_59:
Thanks, but… I’m getting error as below…
**Argument name ‘item’ for virtual method ‘write’ in sub class ‘dsp_stream_checker’ does not match the argument name ‘t’ in superclass ‘ovm_subscriber__1’.
Here is the super class:**
*virtual class ovm_subscriber #(type T=int) extends ovm_component;
typedef ovm_subscriber #(T) this_type;
// Port: analysis_export
//
// This export provides access to the write method, which derived subscribers
// must implement.
ovm_analysis_imp #(T, this_type) analysis_export;
// Function: new
//
// Creates and initializes an instance of this class using the normal
// constructor arguments for <ovm_component>: ~name~ is the name of the
// instance, and ~parent~ is the handle to the hierarchical parent, if any.
function new (string name, ovm_component parent);
super.new(name, parent);
analysis_export = new(“analysis_imp”, this);
endfunction
// Function: write
//
// A pure virtual method that must be defined in each subclass. Access
// to this method by outside components should be done via the
// analysis_export.
pure virtual function void write(T t);
endclass*
**
Here is my sub-class…**
class dsp_stream_checker extends ovm_subscriber #(dsp_sequence_item);
`ovm_component_utils(dsp_stream_checker);
function new(string name = “dsp_stream_checker”, ovm_component parent);
super.new(name, parent);
endfunction
//ovm_analysis_export (#dsp_sequence_item) a_exp;
// Need to create an export on new data type?
function void write (dsp_sequence_item item);
$display(“I am here”);
endfunction
endclass
Please explain…
Thanks.
John