18 `uvm_component_utils_begin(cl_syoscb_subscriber)
19 `uvm_field_string(queue_name, UVM_DEFAULT);
20 `uvm_field_string(producer, UVM_DEFAULT);
21 `uvm_component_utils_end
26 extern function new(string name = "cl_syoscb_subscriber", uvm_component parent = null);
31 extern function void
write(uvm_sequence_item t);
43 function cl_syoscb_subscriber::new(string name = "cl_syoscb_subscriber", uvm_component parent = null);
44 super.new(name, parent);
54 uvm_component tmp_parent;
56 tmp_parent = this.get_parent();
58 if(!$cast(parent, tmp_parent)) begin
60 `uvm_fatal("IMPL_ERROR", "Unable to cast parent of subscriber");
64 `uvm_info("DEBUG", $sformatf("Trigger add_item by subscriber: %s (Queue: %s, Producer: %s)", this.get_name(), this.queue_name, this.producer), UVM_FULL);
67 if(this.mutexed_add_item_enable) begin
69 parent.add_item_mutexed(this.queue_name, this.producer, t);
72 parent.add_item(this.queue_name, this.producer, t);
78 return(this.queue_name);
88 return(this.producer);
bit mutexed_add_item_enable
Whether to use mutexed add_item calls (1) or non-mutexed (0)
string queue_name
The name of the queue this subscriber writes data to.
virtual string get_queue_name()
Subscriber API: Returns the name of the queue which this subscriber is connected to.
Top level class implementing the root of the SyoSil UVM scoreboard.
virtual void set_mutexed_add_item_enable(bit maie)
Subscriber API: Controls whether items should be added in a mutexed fashion or not.
virtual void set_queue_name(string qn)
Subscriber API: Sets the name of the queue which this subscriber is connected to. ...
void write(uvm_sequence_item t)
Implementation of the write method which must be implemented when extending uvm_subscriber.
string producer
The name of the producer that this is subscribed to.
virtual string get_producer()
Subscriber API: Returns the name of the produer which this subscriber is connected to...
Generic subscriber for the scoreboard.
virtual void set_producer(string p)
Subscriber API: Sets the name of the producer which this subscriber is connected to.