Close

A minor detour

A project log for FPGA Helper

A programming and communication interface for FPGAs

greggreg 02/04/2023 at 22:110 Comments

Last week I mentioned some libraries that would work well in this project, but I failed to mention that I was also considering CircuitPython.  CircuitPython has a JTAG library, but it does not directly support SVF, so I was leaning towards libxsvf.  That was before Chris Brown's blog "Profesional Video With Arduinos" reminded me that there is an Arduino board with an FPGA integrated.  The Arduino MKR Vidor 4000 has an ATSAMD21G18A with a Cyclone 10CL016.  The SAMD21 is already connected to the JTAG pins on the Cyclone 10LP, so this is an ideal development platform for processing SVF files.

The SAMD21 is very well supported by CircuitPython, but it is a little light on memory, especially without the extra SPI flash.  We can probably make it fit if we limit the libraries to only what we need, or worst case we can go back to libxsvf in C.  Either way, we can make use of the UF2 bootloader.  The MKR Vidor is not supported by CircuitPython yet, but the MKR Zero is, and enough of the pins are the same that the bootloader is probably compatible.  Since the chip is already supported, and the pinouts are so similar, it will be straightforward to add MKR Vidor support to CircuitPython.

So my minor detour is to use the MKR Vidor as a development platform, and to start development with CircuitPython.  I think it would be good to have both libxsvf and CircuitPython solutions available so this is really just another path to the same result, thus a detour. 

Discussions