sim: add step input to gtx
This commit is contained in:
parent
39bb656f85
commit
547a02e6d3
@ -51,6 +51,9 @@ class Timesim_Config(object):
|
|||||||
helper_PI: PI_Config,
|
helper_PI: PI_Config,
|
||||||
main_PI: PI_Config,
|
main_PI: PI_Config,
|
||||||
has_jitter: bool,
|
has_jitter: bool,
|
||||||
|
step_input_time: float64,
|
||||||
|
step_frequency: float64,
|
||||||
|
step_phase: float64,
|
||||||
):
|
):
|
||||||
# jitter << timestep_size
|
# jitter << timestep_size
|
||||||
# otherwise simulation will add negative phase to Phase_Accumlator
|
# otherwise simulation will add negative phase to Phase_Accumlator
|
||||||
@ -60,6 +63,11 @@ class Timesim_Config(object):
|
|||||||
self.main_PI = main_PI
|
self.main_PI = main_PI
|
||||||
self.has_jitter = has_jitter
|
self.has_jitter = has_jitter
|
||||||
|
|
||||||
|
# step input
|
||||||
|
self.step_input_time = step_input_time
|
||||||
|
self.step_frequency = step_frequency
|
||||||
|
self.step_phase = step_phase
|
||||||
|
|
||||||
# preset
|
# preset
|
||||||
self.beating_period = 32768
|
self.beating_period = 32768
|
||||||
self.blind_period = 200
|
self.blind_period = 200
|
||||||
|
@ -40,6 +40,7 @@ class WRPLL_Timesim(object):
|
|||||||
cfg = self.cfg
|
cfg = self.cfg
|
||||||
|
|
||||||
timestep_size = cfg.timestep_size
|
timestep_size = cfg.timestep_size
|
||||||
|
step_input_time = self.seconds_to_step(cfg.step_input_time)
|
||||||
irq_delay = self.seconds_to_step(cfg.irq_delay)
|
irq_delay = self.seconds_to_step(cfg.irq_delay)
|
||||||
i2c_comm_delay = self.seconds_to_step(cfg.i2c_comm_delay)
|
i2c_comm_delay = self.seconds_to_step(cfg.i2c_comm_delay)
|
||||||
|
|
||||||
@ -61,6 +62,10 @@ class WRPLL_Timesim(object):
|
|||||||
|
|
||||||
print("Running...")
|
print("Running...")
|
||||||
for i in range(cfg.sim_length):
|
for i in range(cfg.sim_length):
|
||||||
|
if i == step_input_time:
|
||||||
|
gtx.set_freq(gtx.freq + cfg.step_frequency)
|
||||||
|
gtx.set_phase(gtx.phase + cfg.step_phase)
|
||||||
|
|
||||||
if cfg.has_jitter:
|
if cfg.has_jitter:
|
||||||
gtx.update(timestep_size + rng.normal(0, cfg.gtx_jitter))
|
gtx.update(timestep_size + rng.normal(0, cfg.gtx_jitter))
|
||||||
helper.update(timestep_size + rng.normal(0, cfg.dcxo_jitter))
|
helper.update(timestep_size + rng.normal(0, cfg.dcxo_jitter))
|
||||||
|
Loading…
Reference in New Issue
Block a user