forked from M-Labs/artiq
phaser: add hitl test exercising the complete API
This commit is contained in:
parent
85d16e3e5f
commit
ad096f294c
|
@ -0,0 +1,34 @@
|
||||||
|
import unittest
|
||||||
|
from artiq.experiment import *
|
||||||
|
from artiq.test.hardware_testbench import ExperimentCase
|
||||||
|
from artiq.language.core import kernel, delay
|
||||||
|
from artiq.language.units import us
|
||||||
|
|
||||||
|
|
||||||
|
class PhaserExperiment(EnvExperiment):
|
||||||
|
def build(self):
|
||||||
|
self.setattr_device("core")
|
||||||
|
self.setattr_device("phaser0")
|
||||||
|
|
||||||
|
@kernel
|
||||||
|
def run(self):
|
||||||
|
self.core.reset()
|
||||||
|
# The Phaser initialization performs a comprehensive test:
|
||||||
|
# * Fastlink bringup
|
||||||
|
# * Fastlink error counter
|
||||||
|
# * Board identification
|
||||||
|
# * Hardware identification
|
||||||
|
# * SPI write, readback, timing
|
||||||
|
# * Temperature readout
|
||||||
|
# * DAC identification, IOTEST, alarm sweep, PLL configuration, FIFO
|
||||||
|
# alignmend
|
||||||
|
# * DUC+Oscillator configuration, data end-to-end verification and
|
||||||
|
# readback
|
||||||
|
# * Attenuator write and readback
|
||||||
|
# * TRF bringup PLL locking
|
||||||
|
self.phaser0.init()
|
||||||
|
|
||||||
|
|
||||||
|
class PhaserTest(ExperimentCase):
|
||||||
|
def test(self):
|
||||||
|
self.execute(PhaserExperiment)
|
Loading…
Reference in New Issue