Hello all, I am interested in the following functionality. I haven't found it referenced in documentation anywhere, but wondering if anyone knows of a way to do this or has tried anything similar.
I have a setup with a 2821 ttl card connected to a Kasli core. I would like to send an 8-bit binary number to each of the 8 ttl outputs on the card and have all the ttls output corresponding pulse sequences in parallel, at a pre-set frequency.
The methods I have found to control ttl outputs from the core are on(), off(), pulse(), or set_o(). If I wish to convert a binary number to a pulse sequence using any of these methods, I appear to have to use logic, for example (in pseudocode):
for i in binarynumber:
if i = 1:
ttl.pulse(period)
else:
delay(period)
This technique appears to run very slowly, even when I run it in the core's digital memory access. This slowness becomes a problem when I try to send pulses along multiple channels in parallel; if I try to make the period any shorter than 5 MHz, I run into RTIO underflow errors. Ideally, I would like to send pulses at a frequency of 25 MHz. Is there any way to use a binary number to directly switch a ttl on and off? This is an option on simpler FPGA's, which is the main reason that I would expect I could do something similar on sinara. Thanks!