def __init__(self, sim: HdlSimulator, intf: OutOfOrderCummulativeOpIntf, allowNoReset=False): HandshakedAgent.__init__(self, sim, intf, allowNoReset=allowNoReset) if intf.TRANSACTION_STATE_T is not None: t_st = intf.transaction_state t_st._initSimAgent(sim) self.t_st_is_primitive = not isinstance(t_st, Interface) if intf.MAIN_STATE_T is not None: m_st = intf.data m_st._initSimAgent(sim) self.m_st_is_primitive = not isinstance(m_st, Interface)
def _initSimAgent(self): self._ag = HandshakedAgent(self)
def _initSimAgent(self, sim: HdlSimulator): self._ag = HandshakedAgent(sim, self)
def getMonitors(self): yield from HandshakedAgent.getMonitors(self) if self.intf.TRANSACTION_STATE_T is not None: yield from self.intf.transaction_state._ag.getMonitors()
def __init__(self, intf): HandshakedAgent.__init__(self, intf) self.HAS_LOOKUP_ID = bool(intf.LOOKUP_ID_WIDTH)
def __init__(self, intf, allowNoReset=False): HandshakedAgent.__init__(self, intf, allowNoReset=allowNoReset) self.wData = deque()
def __init__(self, intf): HandshakedAgent.__init__(self, intf) self.hasHash = bool(intf.LOOKUP_HASH) self.hasKey = bool(intf.LOOKUP_KEY) self.hasData = bool(intf.DATA_WIDTH)
def __init__(self, intf): HandshakedAgent.__init__(self, intf) self.hasData = bool(intf.DATA_WIDTH)
def __init__(self, intf): HandshakedAgent.__init__(self, intf) self.dinData = deque()
def __init__(self, sim: HdlSimulator, intf, allowNoReset=False): HandshakedAgent.__init__(self, sim, intf, allowNoReset=allowNoReset) self.wData = deque()
def __init__(self, sim: HdlSimulator, intf: "LookupKeyIntf"): HandshakedAgent.__init__(self, sim, intf) self.HAS_LOOKUP_ID = bool(intf.LOOKUP_ID_WIDTH)
def __init__(self, sim: HdlSimulator, intf: "InsertIntf"): HandshakedAgent.__init__(self, sim, intf) self.hasData = bool(intf.DATA_WIDTH)
def notReset(self): nr = HandshakedAgent.notReset(self) if self._isMonitor: return nr and self.dinData else: return nr
def getMonitors(self): self._isMonitor = True return HandshakedAgent.getMonitors(self)
def __init__(self, sim, intf): HandshakedAgent.__init__(self, sim, intf) self.dinData = deque() self._isMonitor = False