Recommended FPGA Dev Board to get started in FPGA Development
dvanaria
Posts: 13
I'm considering buying a DE10-Nano from Terasic to get a MiSTer system up and running, and I thought it would be a good investment since I'd also like to start trying out FPGA development on my own.
The main thing holding me back from getting into FPGAs is the massive software toolchain that seems to come (proprietary) with each dev board or company. It looks like working with these software systems is a huge pain. Does anyone know of a lightweight toolchain (and associated dev board) that is designed for beginners, and maybe designed for one specific beginner dev board?
The scope of the projects I'd like to build are something in the range of an 8-bit ALU or something similiar. It definitely doesn't have to be a huge FPGA or cutting edge technology.
Thanks for any advice you can give me on this!
(I should also add: does anyone have any experience working with the DE10-Nano board?)
The main thing holding me back from getting into FPGAs is the massive software toolchain that seems to come (proprietary) with each dev board or company. It looks like working with these software systems is a huge pain. Does anyone know of a lightweight toolchain (and associated dev board) that is designed for beginners, and maybe designed for one specific beginner dev board?
The scope of the projects I'd like to build are something in the range of an 8-bit ALU or something similiar. It definitely doesn't have to be a huge FPGA or cutting edge technology.
Thanks for any advice you can give me on this!
(I should also add: does anyone have any experience working with the DE10-Nano board?)
Comments
I have a DE0 Nano. It's a neat board with plenty big enough FPGA for a cut down Propeller 2. A 32 bit RISC V core only takes 8% or so of it's space.
Yes, the FPGA vendors tool chains are ridiculously huge, slow and complicated. Luckily one does not have to use them to get the bulk of HDL development done.
One can write Verilog with any suitable text editor that has Verilog syntax hightlighting. Then test your creation using a simulator.
A dead easy to use simulator is Icarus Verilog http://iverilog.icarus.com. Using that makes writing Verilog as easy as writing Python or some such. Just write your code, wrap it in a little test harness and run it to see what it does. Hradware guys call test harnesses "test benches".
The Verilator is a very fast way to simulate a design. https://www.veripool.org/projects/verilator/wiki/Intro. Verilator translates your Verilog into C (or is it C++) which you compile together with your test harness written in C. A bit harder to use than Icarus but not so bad.
If you want to write VHDL there is the GHDL simulator. http://ghdl.free.fr/ I tried that out some years ago. VHDL is to verbose for me and Verilog has much better Open Source community support.
Actually, now I don't use Verilog. I'm developing by RISC V processor core in SpinalHDL. http://spinalhdl.github.io/SpinalDoc/ SpinalHDL is a hardware description language created in Scala. Spinal makes writing HDL so much easier.
Anyway, point is one does not have to suffer the vendors FPGA tools. Do the bulk of the work using these free and Open Source tools, code, simulate, code, simulate.... When you have something that looks like it's working, then you can load it into Quartus or whatever, synthesize it and put into your FPGA.
Of course now a days you don't even need such vendor tools at all. There is the Free and Open Source Yosys tool chain: http://www.clifford.at/yosys/
With Yosys one can go from Verilog to synthesized Lattice 4K design without any Lattice tools.
Speaking of which a Lattiece FPGA board might be a great starting point http://www.latticesemi.com/icestick Dirt cheap. Dead easy to use. Not so big but even that is enough for a 32 bit RISC V core.
It can also be programmed with the opensource Toolchain for ICE40.
latticesemi.com/en/Products/DevelopmentBoardsAndKits/GnarlyGreyUPDuinoBoard
Here is an IDE for the Yosys/Arachne Toolchain. It also shows all the supported boards:
https://github.com/FPGAwars/apio
And now there are the TinyFPGA BX boards. https://tinyfpga.com/
Here is Robert Baruch unboxing one and showing how quick and easy it is to get going with the open source toolchain.