1
\$\begingroup\$

I'm looking at this development board from Altera: https://www.altera.com/support/training/university/boards.html#de1-soc

It says it has an ARM processor - this has me confused; does it mean the FPGA is programmed with a microprocessor? In other words, if I program the FPGA with my own Verilog, will it erase the processor and cause the ARM to cease to exist?

If not, why does this board need a microprocessor in the first place? Had one wanted a microprocessor, wouldn't one buy a Raspberry Pi for less, instead?

Thanks for helping me to understand this.

\$\endgroup\$
  • \$\begingroup\$ Take a look at what cyclon V is, and you will probably get it. It has a hard IP implementing an arm on chip. \$\endgroup\$ – Eugene Sh. Jul 5 '16 at 21:58
  • \$\begingroup\$ The ARM processor core is a permanent part of the chip, alongside the programmable FPGA "fabric". You can use both at the same time. \$\endgroup\$ – Dave Tweed Jul 5 '16 at 22:13
  • \$\begingroup\$ @DaveTweed great - was it too far-fetched for me to think the processor core could be implemented on the programmable FPGA? ie it's possible for the FPGA to be programmed as a processor core, right? \$\endgroup\$ – gds Jul 6 '16 at 0:39
  • \$\begingroup\$ Yes, of course. But not nearly as efficiently in terms of chip area and power consumption as a dedicated hard core. \$\endgroup\$ – Dave Tweed Jul 6 '16 at 1:28
3
\$\begingroup\$

There are 3 shades of microprocessors in combination with FPGAs:

  1. The microprocessor is part of the FPGA firmware, called softcore (e.g. NanoBlaze or MicroBlaze for Xilinx)
  2. The FPGA chip contains a hardwired microprocessor in addition to programmable FPGA gates (e.g. Zynq-7000 contains an ARM). Such complex chips are called System-on-a-Chip (SoC).
  3. The board contains an additional separate microprocessor chip more or less connected to the FPGA chip (e.g. the Basys2 from Digilent or many other FPGA boards contain a small microcontroller that is used e.g. for USB interfacing or feeding the FPGA configuration at start-up)

The manual of your boards should tell you what you have.
As Dave has pointed out there are many applications where is is very useful to have both.
Some requirements are easier/more efficient to implement

  • in (sequential) software (e.g. higher levels of a protocol stack; or functionality that is necessary but not used often) on a microprocessor and
  • some others in (parallel) hardware on a FPGA (e.g. lower levels of a protocol stack; functionality that is needed all the time or that needs to be very fast).
\$\endgroup\$
1
\$\begingroup\$

If not, why does this board need a microprocessor in the first place? Had one wanted a microprocessor, wouldn't one buy a Raspberry Pi for less, instead?

There are plenty of applications that need both the hardware acceleration of an FPGA along with the high-level software functionality of a relatively powerful processor. The demand is high enough that all of the major FPGA vendors are now producing these "SoC" chips.

If you don't need a processor in your application, you don't need to buy a chip that has one in it. If you only need a processor and don't need an FPGA, by all means buy the Raspberry Pi or any of the other cheaper alternatives that are now available.

\$\endgroup\$

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.