def setup_time_manager(self): class _FakeTimeManager: def __init__(self): self.time = 0. def _noop(self, *args, **kwargs): pass def _take_time(self, duration): self.time += unitless(duration) def _get_time(self): return self.time enter_sequential = _noop enter_parallel = _noop exit = _noop set_time_mu = _noop get_time_mu = _get_time get_time = _get_time take_time_mu = _take_time take_time = _take_time self.time_manager = _FakeTimeManager() core_language.set_time_manager(self.time_manager)
def setUp(self): core_language.set_time_manager(sim_time.Manager()) self.rtio_manager = RTIOManager() self.rtio_manager.patch(spline) self.rtio_manager.patch(sawg) self.core = sim_devices.Core({}) self.core.coarse_ref_period = 6.66666 self.core.ref_multiplier = 1 self.t = self.core.coarse_ref_period self.channel = mg.ClockDomainsRenamer({"rio_phy": "sys"})( Channel(width=16, parallelism=2)) self.driver = sawg.SAWG({"core": self.core}, channel_base=0, parallelism=self.channel.parallelism)
def setUp(self): core_language.set_time_manager(sim_time.Manager()) self.rtio_manager = RTIOManager() self.rtio_manager.patch(spline) self.rtio_manager.patch(sawg) self.core = sim_devices.Core({}) self.core.coarse_ref_period = 20/3 self.core.ref_multiplier = 1 self.t = self.core.coarse_ref_period self.channel = mg.ClockDomainsRenamer({"rio_phy": "sys"})( Channel(width=16, parallelism=2)) self.driver = sawg.SAWG({"core": self.core}, channel_base=0, parallelism=self.channel.parallelism)
self.stack[-1].take_time(duration) def get_time_mu(self): return self.stack[-1].current_time def set_time_mu(self, t): dt = t - self.get_time_mu() if dt < 0 * s: raise ValueError("Attempted to go back in time") self.take_time(dt) take_time = take_time_mu def event(self, description): self.timeline.append((self.get_time_mu(), description)) def format_timeline(self): r = "" prev_time = 0 * s for time, description in sorted(self.timeline, key=itemgetter(0)): r += "@{:.9f} (+{:.9f}) ".format(time, time - prev_time) for item in description: r += "{:16}".format(str(item)) r += "\n" prev_time = time return r manager = Manager() core_language.set_time_manager(manager)
def setUp(self) -> None: assert isinstance(self.REF_PERIOD, float) assert self.REF_PERIOD > 0.0 set_time_manager(DaxTimeManager(self.REF_PERIOD)) self.rnd = random.Random(self.SEED)