Exemple #1
0
 def _check(obj):
     if self.signal.value:
         self._callback(self)
     else:
         simulator.deregister_callback(self.cbhdl)
         self.cbhdl = simulator.create_callback(self)
         if simulator.register_value_change_callback(self.cbhdl, self.signal._handle, _check, self):
             raise_error(self, "Unable set up %s Trigger" % (str(self)))
Exemple #2
0
    def __init__(self):
        Trigger.__init__(self)

        # Required to ensure documentation can build
        if simulator is not None:
            self.cbhdl = simulator.create_callback(self)
        else:
            self.cbhdl = None
Exemple #3
0
    def prime(self, callback):
        self._callback = callback

        def _check(obj):
            if self.signal.value:
                self.num_cycles -= 1

                if self.num_cycles <= 0:
                    self._callback(self)
                    return

            simulator.deregister_callback(self.cbhdl)
            self.cbhdl = simulator.create_callback(self)
            if simulator.register_value_change_callback(self.cbhdl, self.signal._handle, _check, self):
                raise_error(self, "Unable set up %s Trigger" % (str(self)))

        self.cbhdl = simulator.create_callback(self)
        if simulator.register_value_change_callback(self.cbhdl, self.signal._handle, _check, self):
            raise_error(self, "Unable set up %s Trigger" % (str(self)))
Exemple #4
0
 def prime(self, callback):
     self.cbhdl = simulator.create_callback(self)
     simulator.register_nextstep_callback(self.cbhdl, callback, self)
Exemple #5
0
 def prime(self, callback):
     self.cbhdl = simulator.create_callback(self)
     if simulator.register_rwsynch_callback(self.cbhdl, callback, self):
         raise_error(self, "Unable set up %s Trigger" % (str(self)))
Exemple #6
0
 def prime(self, callback):
     """Register notification of a value change via a callback"""
     self.cbhdl = simulator.create_callback(self)
     if simulator.register_value_change_callback(self.cbhdl, self.signal._handle, callback, self):
         raise_error(self, "Unable set up %s Trigger" % (str(self)))
Exemple #7
0
 def prime(self, callback):
     """Register for a timed callback"""
     self.cbhdl = simulator.create_callback(self)
     if simulator.register_timed_callback(self.cbhdl, self.time_ps, callback, self):
         raise_error(self, "Unable set up %s Trigger" % (str(self)))