def run_until(self, deadline, *, run_passive=None):
        """run_until(deadline)

        Run the simulation until a specific point in time.

        This method advances the simulation until the simulation time reaches :py:`deadline`,
        without regard for whether there are critical testbenches or processes executing.

        ..
            This should show the code like in :meth:`run` once the code is not horrible.
        """
        if run_passive is not None:
            # TODO(amaranth-0.6): remove
            warnings.warn(
                f"The `run_passive` argument of `run_until()` has been removed as a part of "
                f"transition to RFC 36.",
                DeprecationWarning, stacklevel=1)

        if not isinstance(deadline, Period):
            # TODO(amaranth-0.7): remove
            warnings.warn(
                f"Per RFC 66, the `deadline` argument of `run_until()` will only accept a `Period`"
                f" in the future.",
                DeprecationWarning, stacklevel=1)
            deadline = Period(s=deadline)

        assert self._engine.now <= deadline.femtoseconds
        while self._engine.now < deadline.femtoseconds:
            self.advance()
run_until(deadline)

        Run the simulation until a specific point in time.

        This method advances the simulation until the simulation time reaches :py:`deadline`,
        without regard for whether there are critical testbenches or processes executing.

        ..
            This should show the code like in :meth:`run` once the code is not horrible.
        
amaranth/sim/core.py