We have a system where a kasli SoC v1.1 (master) connects directly to 3 kasli v2.0.2 (satellites) with the latest artiq release 8 (software and gateware). I'm trying to use the artiq_coreanalyzer
but I get an error.
If I run the example:
from artiq.experiment import *
class BlinkToUnderflow(EnvExperiment):
def build(self):
self.setattr_device("core")
self.setattr_device("led0")
@kernel
def run(self):
self.core.reset()
for i in range(1000):
self.led0.pulse(.2*us)
delay(.2*us)
And then use artiq_coreanalyzer -p
I see the events correctly:
Log channel: 57
DDS one-hot: True
OutputMessage(channel=55, timestamp=69934492602816, rtio_counter=69934492478480, address=0, data=1)
OutputMessage(channel=55, timestamp=69934492603016, rtio_counter=69934492479280, address=0, data=0)
............
OutputMessage(channel=55, timestamp=69934492639016, rtio_counter=69934492639072, address=0, data=0)
ExceptionMessage(channel=55, rtio_counter=69934492639080, exception_type=<ExceptionType.o_underflow: 20>)
StoppedMessage(rtio_counter=69937551992720)
StoppedMessage(rtio_counter=69937558689384)
StoppedMessage(rtio_counter=69937564402064)
StoppedMessage(rtio_counter=69937570096024)
If I re-execute the experiment and run artiq_coreanalyzer -w waveforms.vcd
instead (the same happens if I use the waveform viewer from the dashboard) I get the following error:
WARNING:artiq.coredevice.comm_analyzer:unable to determine DDS sysclk
Traceback (most recent call last):
File "/nix/store/knr9bw6a2hfmqmwpfi7n1qvfiv42l5jk-python3.12-artiq-8.8991+4a2bc0c/bin/.artiq_coreanalyzer-wrapped", line 9, in <module>
sys.exit(main())
^^^^^^
File "/nix/store/kmh5viih1a7167yrrvdgjcawfv2dk2pk-python3-3.12.7-env/lib/python3.12/site-packages/artiq/frontend/artiq_coreanalyzer.py", line 63, in main
decoded_dump_to_vcd(f, device_mgr.get_device_db(),
File "/nix/store/kmh5viih1a7167yrrvdgjcawfv2dk2pk-python3-3.12.7-env/lib/python3.12/site-packages/artiq/coredevice/comm_analyzer.py", line 709, in decoded_dump_to_vcd
decoded_dump_to_target(vcd_manager, devices, dump, uniform_interval)
File "/nix/store/kmh5viih1a7167yrrvdgjcawfv2dk2pk-python3-3.12.7-env/lib/python3.12/site-packages/artiq/coredevice/comm_analyzer.py", line 765, in decoded_dump_to_target
if message.channel in channel_handlers:
^^^^^^^^^^^^^^^
AttributeError: 'StoppedMessage' object has no attribute 'channel'
How can this issue be solved?