hwt/simulator/hdlSimulator.py
def _runSeqProcesses(self) -> Generator[None, None, None]:
        """
        Delta step for event dependent processes
        """
        updates = []
        for proc in self._seqProcsToRun:
            try:
                outContainer = self._outputContainers[proc]
            except KeyError:
                # processes does not have to have outputs
                outContainer = None

            proc(self, outContainer)

            if outContainer is not None:
                updates.append(outContainer)

        self._seqProcsToRun = UniqList()
        self._runSeqProcessesPlaned = False

        for cont in updates:
            for sigName, sig in cont._all_signals:
                newVal = getattr(cont, sigName)
                if newVal is not None:
                    v = self._conflictResolveStrategy(newVal)
                    updater, _ = v
                    sig.simUpdateVal(self, updater)
                    setattr(cont, sigName, None)
        return
        yield
def _runSeqProcesses(self) -> Generator[None, None, None]:
        updates = []
        for proc in self._seqProcsToRun:
            try:
                outContainer = self._outputContainers[proc]
            except KeyError:
                # processes does not have to have outputs
                outContainer = None

            proc(self, outContainer)

            if outContainer is not None:
                updates.append(outContainer)

        self._seqProcsToRun = UniqList()
        self._runSeqProcessesPlaned = False

        for cont in updates:
            for sigName, sig in cont._all_signals:
                newVal = getattr(cont, sigName)
                if newVal is not None:
                    v = self._conflictResolveStrategy(newVal)
                    updater, _ = v
                    sig.simUpdateVal(self, updater)
                    setattr(cont, sigName, None)
        return
        yield
def _runSeqProcesses ( self ) -> Generator [ None , None , None ] : updates = [ ] for proc in self . _seqProcsToRun : try : outContainer = self . _outputContainers [ proc ] except KeyError : # processes does not have to have outputs outContainer = None proc ( self , outContainer ) if outContainer is not None : updates . append ( outContainer ) self . _seqProcsToRun = UniqList ( ) self . _runSeqProcessesPlaned = False for cont in updates : for sigName , sig in cont . _all_signals : newVal = getattr ( cont , sigName ) if newVal is not None : v = self . _conflictResolveStrategy ( newVal ) updater , _ = v sig . simUpdateVal ( self , updater ) setattr ( cont , sigName , None ) return yield
Delta step for event dependent processes
Delta step for event dependent processes