My little journey with FPGAs, RISC-V and some nice projects around it.

This is a combination of all FPGA-related stuff. This post will be expanded over time if interesting new things show up. As FPGAs have come to an attractive price point, and will not rip a hole in your pocket, it's a great time to start with it. Besides the three (maybe four) major brands (Altera, Xilinx, Lattice and Microchip) there are others coming along, like GoWin,  CologneChip or Anlogic.

From some first Verilog or VHDL to LiteX for full SOCs on FPGAs running Linux. Feel welcome to join this journey, or perhaps even contribute.

What is on my desk and why?

Let's start with the things that are left over from studies. One is a Nexys 2 from Digilent with a Spartan-3E (500k). Comes with some RAM and Flash attached to it as well as a set of PMOD connectors. Also, a small Baysys 2 from Digilent. Those were used now almost 15 years ago and still fine for some first projects. Those were with student discount around €140 to €100 back in the days and almost two times if you can't get the student discount. Sadly, after the studies finished, those have been packed aside and covering dust. RISC-V was not a thing back then. Xilinx and Altera had their proprietary stuff that you had to pay a few thousand Money extra to get full access to. But they are still around.

Recently, I got my hands on Lattice UP5k bases ones, like the UPduino and ICEBreaker. This also ended in a small article that has been published on Elektor. Getting a SoC with RISC-V up and running using open source is a nice trip to take, and also provides you with a running tool chain. Those FPGAs may be small compared to the Xilinx part, but come with 128 KB SRAM and allow for some nice tricks. Also, an ANLOGIC based one showed up, but haven't done anything with it now. The Lattice UP5K based ones can / could be obtained for around 50 Euros, and the ANLOGIC one was cheaper. But for the ANLOGIC one you need to use the tools from the vendor. As for the Lattice, UP5k has also numerous open-source projects and getting started from the community that was the first one to go.

The latest entry comes currently from GoWin. SiPEED sells several well-priced boards with GoWin FPGAs on board. You can get started with a small beginner 1K LUT FPGA board for 5 bucks, 4K LUTS with included CORTEX M3 CPU Core for 10 Bucks and a 9K Version without included CPU will be around €13 and can do many excellent tricks. So, those definitely need to have a go. Finally, not a direct FPGA but an MCU with a small FPGA in it connected to the CPU bus. So, a lot of stuff to discover.

Here is a short list of boards that are around and that you could give a try:

Lattice based
  • 1BitSquare ICEbreaker (Lattice UP40L5k based with 128 Mbit Flash). Will be around €80 for 1BitSquare, but as this is open hardware, there are other sources that may be cheaper
  • Upduino V3.0  (Lattice UP40L5k based with 128 Mbit Flash). Will be around $30 without shipping and taxes from Tindy (Ships from the USA)

GoWin based
Xilinx based
  • Nexys 2 (Spartan 3-e). No longer produced and was more than €100 even with the student discount back in the days. With the current tools from Xilinx, the Spartan 3e is no loner supported.
  • Baysys 2 (Spartan 3-e). Handed over by a friend, was also expensive back in the days. The Spartan 3e is no longer supported in the current tools from Xilinx.

Altera based
  • Trenz MAX1000. Based on an Intel MAX10 device and still supported.
  • Trenz CY1000. Based on an Intel Cyclone 10 device and still supported. 

If more boards show up, they will be added and images will follow.

VHDL or Verilog? What to use?

Well, that is for the next update....