Imps¶
Title: uvm_*_imp ports
The following defines the TLM implementation (imp) classes.
CLASS: uvm_*_imp #(T,IMP)
Unidirectional implementation (imp) port classes. An imp port provides access to an implementation of the associated interface to all connected ~ports~ and ~exports~. Each imp port instance ~must~ be connected to the component instance that implements the associated interface, typically the imp port’s parent. All other connections– e.g. to other ports and exports are prohibited.
The asterisk in ~uvm_*_imp~ may be any of the following:
blocking_put
nonblocking_put
put
blocking_get
nonblocking_get
get
blocking_peek
nonblocking_peek
peek
blocking_get_peek
nonblocking_get_peek
get_peek
The interface methods are implemented in a component of type ~IMP~, a handle to which is passed in a constructor argument. The imp port delegates all interface calls to this component.
Function: __init__
Creates a new unidirectional imp port with the given ~name~ and ~parent~. The ~parent~ must implement the interface associated with this port. Its type must be the type specified in the imp’s type-parameter, ~IMP~:
def __init__(self, name, parent):