What is a Uvm_analysis_imp?

What is a Uvm_analysis_imp?

uvm_analysis_imp. Receives all transactions broadcasted by a uvm_analysis_port. It serves as the termination point of an analysis port/export/imp connection. The component attached to the imp class–called a subscriber– implements the analysis interface. Receives all transactions broadcasted by a uvm_analysis_port.

What is the difference between port and export?

Ports shall be used to initiate and forward packets to the top layer of the hierarchy. Exports shall be used to accept and forward packets from the top layer to destination. Implementation ports shall be used to define the put method at the target.

What is the use of Uvm_subscriber?

uvm_subscriber
This class provides an analysis export for receiving transactions from a connected analysis export.
new Creates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.
READ ALSO:   Did the German army use helicopters?

What is difference between Uvm_subscriber and Uvm_scoreboard?

The uvm_scoreboard is an extension of uvm component without adding capabilities. uvm_subscriber is an extension of uvm_component with a built-in analysis_export.

What is the difference between UVM_analysis_port and UVM _analysis_export?

Generally uvm_analysis_port calls a function. uvm_analysis_imp implements that function. Whereas the uvm_analysis_export carries the function call to next components and it is between the port and implementation ports.

How does the write() function of the UVM_analysis_imp class work?

The write () function of the uvm_analysis_imp class delegates its job to m_imp. The m_imp is the jelly-bean-functional-coverage subscriber ( jb_fc_sub) we passed as a parameter to the uvm_analysis_imp class. This means the write () function of the uvm_analysis_imp simply calls the write () function of the jb_fc_sub.

What is the use of the analysis_IMP port in a component?

It allows you to use more than one analysis_imp in a component. Advantage for this analysis port is that a user can transfer data from a single producer to multiple consumers that is not archived with help of uvm_blocking_put_port. This thing is also explained in the figure.

READ ALSO:   Does Antimagic field affect class features?

What is the base class of UVM_TLM_if_base class?

The uvm_tlm_if_base class is the base class of uvm_port_base class, which in turn is the base class of uvm_analysis_imp class (line 22). The analysis_export of the jelly-bean-functional-coverage subscriber ( jb_fc_sub) is an object of the uvm_analysis_imp class specialized with the jelly_bean_transaction type.