2
\$\begingroup\$

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?

\$\endgroup\$
  • 1
    \$\begingroup\$ This is a soft question which is frowned upon here, but anyway... They are all beginner platforms but there is not really an FPGA hobbyist community (yet). Also FPGA toolchains are closed-source software. \$\endgroup\$ – mng May 10 '13 at 23:24
  • \$\begingroup\$ Thank you for your reply. The thing is, I have a De0Nano already. Would I get any extra functionality from an Arduino or RbPi? I promise to delete the question right away ;-) \$\endgroup\$ – user1975053 May 10 '13 at 23:27
  • \$\begingroup\$ I'm a FPGA engineer. It will be great if there is a Altera FPGA board with USB host, ethernet and high speed ADC. Similar to Arduino Galileo. \$\endgroup\$ – user43859 Jun 2 '14 at 2:54
2
\$\begingroup\$

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.

ATMega168 architecture

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.

\$\endgroup\$
  • \$\begingroup\$ There is a FPGA hobbyist community. It's just tiny and rather quiet. \$\endgroup\$ – Connor Wolf May 11 '13 at 3:39
  • 1
    \$\begingroup\$ @ConnorWolf I should probably reword that line, but why argue over semantics? As fun as FPGA development is, the amount of actual engineering involved is not something the Arduino type hobbyist is going to enjoy. If that opensource FPGA project I read about a while back could find a way to take off, maybe. \$\endgroup\$ – Matt Young May 11 '13 at 3:48
  • 2
    \$\begingroup\$ There are a number of arduino-esque FPGA boards out there, apparently successfully! There is the Papillo board, Dangerous prototypes has a CPLD proto board, and there is always knjn.com (don't buy from them! They refuse to provide the schematics for their dev boards! Assholes). \$\endgroup\$ – Connor Wolf May 11 '13 at 3:58
  • \$\begingroup\$ The Papillo board is the one I thought of. I find it interesting that they claim compatibility with the Arduino IDE. At first glance it looks like an AVR processor emulated in hardware, and that isn't really taking advantage of the FPGA's capabilities. \$\endgroup\$ – Matt Young May 11 '13 at 4:13
  • 1
    \$\begingroup\$ It is an AVR emulated in software. They also have a different soft-core that is much more powerful. Both seem to have cusom-patched arduino text-editor (I refuse to call that an IDE) builds available. \$\endgroup\$ – Connor Wolf May 11 '13 at 4:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.