def _set_next(self, val): if isinstance(val, _Signal): val = val._val if val is None: self._next = None else: self._setNextVal(val) _siglist.append(self._bus)
def next(self, val): if isinstance(val, _Signal): val = val._val if val is None: self._next = None else: # restore original value to cater for intbv handler self._next = self._sig._orival self._setNextVal(val) _siglist.append(self)
def _resolve(self): # set_next = _ShadowSignal._set_next senslist = self._drivers while 1: yield senslist res = None for d in senslist: if res is None: res = d._val elif d._val is not None: warnings.warn("Bus contention", category=BusContentionWarning) res = None break self._next = res _siglist.append(self)
def _set_next(self, val): if isinstance(val, _Signal): val = val._val self._setNextVal(val) _siglist.append(self)
def _get_next(self): # if self._next is self._val: # self._next = deepcopy(self._val) _siglist.append(self) return self._next
def _set_next(self, val): if isinstance(val, _Signal): val = val._val self._setNextVal(val) _siglist.append(self)
def _get_next(self): # if self._next is self._val: # self._next = deepcopy(self._val) _siglist.append(self) return self._next
def _get_next(self): if self._next is self._val: self._next = copy(self._val) _siglist.append(self) return self._next