Die hard E14 blog readers will be familiar with my blowing the trumpet for low cost simple FPGA development work and I’m at it again.
I’ve just done some work for a client where they really wanted to use the Intel(Altera) Max 10 and the only way to get them was to buy ready made Alorium Sno boards and a Sparkfun breakout board to access the connections. It got the job done but wasn’t cheap or convenient.
At the moment, only Gowin and Efinix seem to have cheap FPGAs in easy to manage packages available without messing from distribution.
I’ve been looking for some time at the Efinix parts and I think they have the potential to be really useful. They are available in numbers from Digikey at reasonable prices.
Before I can confidently suggest to a client that they use a part I need to have got it working at least once on a board of my own design, so that I’ve worked through the initial pitfalls.
So, this is a quick look at my development board for Efinix Trion parts (T8 and T20) in 144 pin TQFP packages.
Of course, it has the features that I want so might not be universally appealing, but I’ll have some boards soon (before Christmas) and will be able to give a couple away if anyone is interested.
Dev Board features
Most of the FPGA pins are broken out onto 10 pin Molex Picoblade headers arranged in pairs with all the pins paired. This is for easy connection to a logic analyser and uses the end pins as grounds and the middle 8 pins for signals. I use this format a lot and have cables for my logic analyser ready made so it all just plugs together.
There are two of the nice 64Mbit PSRAMs from AP Memory (APS6404L) which were flagged up by /members/scottiebabe in a blog recently. These give me 16 Mbytes of RAM in a very small space but without the need for a horrible DDRAM type interface. (If you wonder why I describe the interface as horrible, try coding it in VHDL or Verilog using standard FPGA IO pins !)
Although it’s perfectly possible to make the FPGA talk directly to a PC, and in some cases makes sense to do so, it takes a lot of effort and FPGA resource to do stuff a cheap processor can do more easily. My board has a Giga Devices GD32E103C8 processor with connections to the outside world for logic level UART, SPI display and some very basic analogue. The GD processor can re-start the FPGA but is not configured to programme its boot flash memory.
I chose the GD processor because it’s an ARM Cortex M4 with ST compatible peripherals and footprint, but unlike ST parts you can get them on reasonable delivery.
The Efinix FPGA is a RAM only device and needs an external boot flash memory. This can be programmed by an external device (FTDI lead or JTAG) using Efinix’s software.
If you like putting microcontrollers in your FPGA Efinix have several variations on the RiscV on their website, as well as quite a bit of other IP.
I’ll post a bit more when I get it working.
Schematic .pdfs here:
Comments and questions welcom.
MK