m-labs / migen

A Python toolbox for building complex digital hardware
https://m-labs.hk/migen
Other
1.2k stars 209 forks source link

mibuild: Support FPGALink / NeroJTAG as a programmer (and maybe computer interface?) #16

Closed mithro closed 9 years ago

mithro commented 9 years ago

NeroJTAG is a fully open specification for FPGA programmers as part of the FPGALink project (https://github.com/makestuff/libfpgalink/wiki/FPGALink) by makestuff (http://github.com/makestuff). There exists both an AVR based and Cypress FX2 based implementations of the firmware.

It would be great if FPGALink was supported as a "programmer" type similar to xc3sprog. (It would also be awesome if there was support for using FPGALink to communicate with the FPGA board but that is probably more a misoc rather than migen thing?)

The Cypress FX2 firmware supports a large number of Digilent's boards, replacing the proprietary "Adept" firmware. (Of interest too myself is the Digilent Atlys board.) From the FPGALink wiki,

Quick-starts for several devkits

This is just a selection; there are many more supported configurations. Quickstart for Aessent aes220 Quickstart for Canton Electronics LX9 (requires external AVR board) Quickstart for Digilent Atlys Quickstart for Digilent FMC Carrier S6 Quickstart for Digilent Nexys2 Quickstart for Digilent Nexys3 Quickstart for MakeStuff LX9R3

enjoy-digital commented 9 years ago

"(It would also be awesome if there was support for using FPGALink to communicate with the FPGA board but that is probably more a misoc rather than migen thing?)"

--> This is the purpose of the LiteUSB core in MiSoC. For now it only supports FT2232h chip in synchronous slave fifo mode. We also have the host software to communicate with the FPGA (DMA, virtual UARTs). Supporting the FX2 should only be a matter of adding a new PHY for it.

enjoy-digital commented 9 years ago

Added by mithro.