def METHOD_NAME(self, delay):
    """
    Round the delays to multiples of full timesteps.
    (otherwise SDRAM estimation calculations can go wrong)
    :param delay:
    :return: Rounded delay
    """
    if isinstance(delay, RandomDistribution):
        return delay
    if isinstance(delay, str):
        return delay
    new_delay = (
            numpy.rint(numpy.array(delay) *
                       SpynnakerDataView.get_simulation_time_step_per_ms())
            * SpynnakerDataView.get_simulation_time_step_ms())
    if not numpy.allclose(delay, new_delay):
        logger.warning("Rounding up delay in f{} from {} to {}",
                       self, delay, new_delay)
    return new_delay