forked from M-Labs/artiq
urukul: _RegIOUpdate fixes
This commit is contained in:
parent
13eb6e89f0
commit
a1651d15f5
|
@ -1,3 +1,5 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from numpy import int32, int64
|
from numpy import int32, int64
|
||||||
|
|
||||||
from artiq.language.core import *
|
from artiq.language.core import *
|
||||||
|
@ -427,6 +429,8 @@ class CPLD:
|
||||||
cfg |= (profile & 7) << CFG_PROFILE
|
cfg |= (profile & 7) << CFG_PROFILE
|
||||||
self.cfg_write(cfg)
|
self.cfg_write(cfg)
|
||||||
|
|
||||||
|
|
||||||
|
@nac3
|
||||||
class _RegIOUpdate:
|
class _RegIOUpdate:
|
||||||
core: KernelInvariant[Core]
|
core: KernelInvariant[Core]
|
||||||
cpld: KernelInvariant[CPLD]
|
cpld: KernelInvariant[CPLD]
|
||||||
|
@ -436,8 +440,12 @@ class _RegIOUpdate:
|
||||||
self.cpld = cpld
|
self.cpld = cpld
|
||||||
|
|
||||||
@kernel
|
@kernel
|
||||||
def pulse(self, t: float):
|
def pulse_mu(self, t: int64):
|
||||||
cfg = self.cpld.cfg_reg
|
cfg = self.cpld.cfg_reg
|
||||||
self.cpld.cfg_write(cfg | (1 << CFG_IO_UPDATE))
|
self.cpld.cfg_write(cfg | (1 << CFG_IO_UPDATE))
|
||||||
delay(t)
|
delay_mu(t)
|
||||||
self.cpld.cfg_write(cfg)
|
self.cpld.cfg_write(cfg)
|
||||||
|
|
||||||
|
@kernel
|
||||||
|
def pulse(self, t: float):
|
||||||
|
self.pulse_mu(self.core.seconds_to_mu(t))
|
||||||
|
|
Loading…
Reference in New Issue