def __init__(self, width, desc): my_role = TLM_INITIATOR_ROLE(width) peer_role = TLM_TARGET_ROLE(width) Port.compat(my_role, peer_role) super(VectorTlmInitiatorSocket, self).__init__( my_role, desc, is_source=True)
def __init__(self, width, desc): my_role = TLM_INITIATOR_ROLE(width) peer_role = TLM_TARGET_ROLE(width) Port.compat(my_role, peer_role) super(VectorTlmInitiatorSocket, self).__init__(my_role, desc, is_source=True)
def __init__(self, width, desc): my_role = TLM_TARGET_ROLE(width) peer_role = TLM_INITIATOR_ROLE(width) Port.compat(my_role, peer_role) super(VectorTlmTargetSocket, self).__init__(my_role, desc)
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # Authors: Gabe Black from m5.params import Port, VectorPort INT_SOURCE_ROLE = 'Int Source Pin' INT_SINK_ROLE = 'Int Sink Pin' Port.compat(INT_SOURCE_ROLE, INT_SINK_ROLE) # A source pin generally represents a single pin which might connect to # multiple sinks. class IntSourcePin(VectorPort): def __init__(self, desc): super(IntSourcePin, self).__init__(INT_SOURCE_ROLE, desc, is_source=True) # Each "physical" pin can be driven by a single source pin since there are no # provisions for resolving competing signals running to the same pin. class IntSinkPin(Port): def __init__(self, desc):
def __init__(self, width, desc): my_role = TLM_INITIATOR_ROLE(width) peer_role = TLM_TARGET_ROLE(width) Port.compat(my_role, peer_role) super().__init__(my_role, desc, is_source=True)