Arduino and Raspberry Pi are touted as ideal programming boards for beginners and hobbyists. Could De0-Nano fit in that role, too?
What does Arduino or RaspberryPi have that De0-Nano does not?
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It only takes a minute to sign up.Sign up to join this community
Trying to compare the Arduino series and RPi to an FPGA of any capability is an apples to potatoes comparison. Can they be made to do similar things? Absolutely, but the way you're going to get there is very different.
Arduino is based around Atmel's AVR series of RISC processors (and one Atmel ARM version), RasberryPi is a single board computer, based around an ARM processor. Regardless of which part is at the core of the development board, there is defined processor architecture. The datasheet will show a a block diagram of this architecture, such as this one from the ATMega168 datasheet.
This is hardware that was designed by the manufacturer, is in silicon, and cannot be changed. The manufacturer will publish an instruction set, either with the datasheet, or as a separate document detailing how the part can be programmed.
The DE0-Nano is an FPGA board. When you look at an FPGA datasheet, you will find an extensive set of electrical specifications, no block diagram of the architecture. It is up to the developer to develop their own architecture to meet the engineering requirements. The designer will then implement the appropriate logic in a hardware description language (HDL), typically VHDL or Verilog. These languages are not like writing C or assembly. HDLs were designed to describe hardware, rather than a sequential list of operations to perform. This means that there can be, and almost always are, multiple operations occurring in parallel. This is one of the most powerful aspects of an FPGA, and the reason they are used in applications where high performance is necessary.
In reality, any project that can be completed on an Arduino or RPi cannot justify the use of a FPGA. They are more difficult to work with, and require some actual electrical knowledge to use to their potential, and that is probably the reason there isn't an FPGA hobbyist community.