Author Topic: Fpga startup  (Read 4327 times)

0 Members and 2 Guests are viewing this topic.

Offline WawavounTopic starter

  • Regular Contributor
  • *
  • Posts: 117
  • Country: fr
  • Someday I'll get you, Red Baron !
Fpga startup
« on: July 28, 2026, 03:59:21 pm »
Hi All,

I expect to learn and start fpga programming.

I expect to find :
- a small and cheap board like Tang Nano 9k (I already own one) or similar with an up to date chip (always in production)
- a not to heavy development environment usable on Windows 11 and on recent 64 bits Linux (Gowin soft is buggy under Linux+Wine).
- a paper book explaining everything about the board and this development environment if possible.

If anybody can share links or idea it would be very nice.

Regards.
Philippe
 

Offline isometrik

  • Regular Contributor
  • *
  • Posts: 80
  • Country: ca
Re: Fpga startup
« Reply #1 on: July 28, 2026, 05:25:29 pm »
I would suggest Efinix Trion FPGAs: https://www.efinixinc.com/products-trion.html

Their documentation is excellent, and even better, their development application is lightweight and free.

They also  have a couple of low-cost development boards:
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 17785
  • Country: fr
Re: Fpga startup
« Reply #2 on: July 28, 2026, 05:41:19 pm »
I would still recommend Lattice as a starting point. Both Diamond and Radiant run on Linux (running both currently).

One small and reasonably cheap board (not ultra cheap) is the Upduino 3.1 with a iCE40UP5K. I think this would be a nice learning tool. But it has a limited number of IOs and nothing on board to play with except the FPGA, power supplies, a flash chip and a RGB Led. The iCE40UP series is widely available for a few bucks.
Supported by Lattice Radiant.

To start with, MachXO2/MachXO3 boards would also be a decent option. Regarding dev boards, unfortunately, Lattice has drastically increased prices. Their MachXO2/3 "breakout boards" were around $25, now their price looks insane, but you can probably find third-party dev boards.
Supported by Lattice Diamond.

If you want to play with open-source toolchains, the iCE40 series (including iCE40UP) is supported by Yosys/Nextpnr too. The ECP5 as well. The MachXO2/3, not that I know of.

No experience with Efinix so can't comment on that.

But apart from the chinese FPGAs (such as Gowin), for low-cost you pretty much have Efinix and Lattice. Other vendors tend to have more expensive FPGAs and dev boards, but if your budget can get up to $100 or a bit above, you can also have a look at Digilent FPGA boards. For Xilinx (AMD) FPGAs, it looks like currently the cheapest option there would be this: https://digilent.com/shop/cmod-a7-35t-breadboardable-artix-7-fpga-module/
A Artix-7 will bring you significantly more "power" and max frequency  than the Lattice iCE40UP or MachXO2/3, but for beginning, I don't think you'd really need that. Benefit of Digilent is that they have good products with good support.
 

Offline cfbsoftware

  • Regular Contributor
  • *
  • Posts: 173
  • Country: au
    • Astrobe: Oberon IDE for Cortex-M and FPGA Development
Re: Fpga startup
« Reply #3 on: July 29, 2026, 12:54:53 am »
Here is a list of useful links to FPGA boards.

https://www.joelw.id.au/FPGA/CheapFPGADevelopmentBoards

We're currently working with Olimex's GateMateA1-EVB and the Icepi Zero (not yet on the list). The Xilinx Spartan-3,Spartan-7 and Artix-7 Digilent boards we previously used have much more comprehensive documentation. However, the OSS CAD Suite used for Verilog development on the GateMate and Icepi is much less cumbersome to install and use than Vivado for Xilinx. The paper book I bought when initially learning how to use FPGAs was FPGA Prototyping by Verilog Examples by Pong P Chu.
Chris Burrows
CFB Software
https://www.astrobe.com
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6586
  • Country: 00
Re: Fpga startup
« Reply #4 on: July 30, 2026, 03:52:41 am »
Try Apio. If you want an IDE install it's Visual Studio Code extension and if you want a command line interface install the command line variant.  It is easy to use and has everything you need to program your Tang Nano 9k in Verilog and System Verilog (with off the shelf examples), including automatic testing and interactive simulation.  It's 100% open source and runs on Mac, Windows, and Linux.

VSC extension: https://marketplace.visualstudio.com/items?itemName=FPGAwars.apio

CLI: https://fpgawars.github.io/apio/docs/installing-apio-cli/

Another board that I like is Upduino https://tinyvision.ai/products/fpga-development-board-upduino-v3-1  (also supports by Apio) because I can plug it into a solderless breadboard and experiment with it.

You can also follow this excelent youtube series which is based on a older version of Apio but you can use this page to map the old Apio commands to the new one. https://fpgawars.github.io/apio/docs/migrating-from-apio-0.9.5/

 

Offline WawavounTopic starter

  • Regular Contributor
  • *
  • Posts: 117
  • Country: fr
  • Someday I'll get you, Red Baron !
Re: Fpga startup
« Reply #5 on: July 31, 2026, 03:04:35 pm »
Thanks All for your advices.

Already having a Tang Nano 9k (VS Code + APIO) seems to be a very good solution for the beginning and it is Linux and Windows compatible.

I have now just to find a good tutorial to start in Verilog, hoping that this IDE will be enough self explanatory to not have problem on this side.

Regards.
Philippe
 

Offline momon

  • Contributor
  • !
  • Posts: 13
  • Country: cn
Re: Fpga startup
« Reply #6 on: August 03, 2026, 11:06:47 pm »
Yosys、nextpnr-gowin and openFPGALoader for Tang Nano 9k
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 30161
  • Country: nl
    • NCT Developments
Re: Fpga startup
« Reply #7 on: August 04, 2026, 07:44:32 pm »
Thanks All for your advices.

Already having a Tang Nano 9k (VS Code + APIO) seems to be a very good solution for the beginning and it is Linux and Windows compatible.

I have now just to find a good tutorial to start in Verilog, hoping that this IDE will be enough self explanatory to not have problem on this side.
Why would you want to use Verilog? I can highly recommend VHDL because it is much more like a programming language allowing to do very powerful things with a few lines of code. The biggest pitfall when starting to use FPGA is to use HDL to describe logic. The key is to describe functions; this makes your life much easier. The synthesizer does the rest for you. Whatever isn't used gets optimised away. Verilog versus VHDL is like assembly versus C.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 
The following users thanked this post: SiliconWizard

Online langwadt

  • Super Contributor
  • ***
  • Posts: 5764
  • Country: dk
Re: Fpga startup
« Reply #8 on: August 04, 2026, 07:59:52 pm »
Verilog versus VHDL is like assembly versus C.

bollocks, more like c vs. pascal, so biggest difference is weak vs. strongly typed and with systemverilog not even that
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 30161
  • Country: nl
    • NCT Developments
Re: Fpga startup
« Reply #9 on: August 04, 2026, 08:29:03 pm »
Verilog versus VHDL is like assembly versus C.

bollocks, more like c vs. pascal, so biggest difference is weak vs. strongly typed and with systemverilog not even that
Systemverilog is basically VHDL without the somewhat verbose syntax. But Verilog as-is is missing some really important features like records (structs in C), enumerations, unconstrained array widths, types with specific ranges, packages / namespaces, signal attributes like range and length, etc, etc. All which make life a whole lot easier. Some constructs in Verilog even fail silently; good luck figuring out why your design isn't working as expected.
« Last Edit: August 04, 2026, 09:55:38 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6586
  • Country: 00
Re: Fpga startup
« Reply #10 on: August 05, 2026, 04:06:26 pm »
Apropos System Verilog, with Apio files with .v extension are treated as Verilog and files with .sv extension are treated as System Verilog and it's ok to mix them freely within the same project.

Generally speaking most of the tutorials use Verilog and not System Verilog so most likely you want to start with Verilog.

As for VHDL, it's syntax was inspired by Ada.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf