I was wondering if anyone had thoughts on if it would be possible to generate a 30 MHz sinusoid using a PYNQ platform?
I have an embedded application that requires real-time processing and signal generation so I figured this would be great for FPGAs. The first major technical challenge is to produce a 30 MHz signal. For this signal, I need to
- start at the same phase (preferably 0 for sine wave) every time it’s triggered
- have a minimum adjustment of 1 kHz (i.e. 24.001 MHz, 24.002 MHz…)
I am very new to PYNQ but I did get a Pmod DA4 working, however, the following code was the only way I could get the driver to generate a signal. As I am sure you can see, this was not fast and could only return a signal with an update of 2000 S/s.
# send the signal to the DAC
for i in range(yy.shape[0]):
dac.write(yy[i])
At this point, my thought process for using PYNQ is to:
- build an external signal generator chip from scratch and just control communication to it with PYNQ
- Find a high-speed DAC and write a custom FPGA code to run it (I have never done this, but am willing to try it if I can).
Any thoughts or advice would be appreciated!