ARM MCU (mbed) vs FPGA (SPARTAN 3E)

08 Jul 2010 . Edited: 08 Jul 2010

Hello mbed world,

I believe I need your help once again. I am continuing a project I conducted last year for my science fair (check out http://www.intel.com/education/isef/profiles.htm#Dylan for info.) and I need to decide on a better processor (I was using the Arduino before) to process a whole lot of data. Let's say 2 640x480 colour images along with intensive processing (hue colour space conversion + blob detection + binocular distance calculation) at hopefully around 15 fps (as long as it's higher that 5 fps, I'm good).

So far I have come down to two final products, the mbed (it's a bit slow for my project so I'll almost definitely have to go to a different MCU probably along the lines of a 266 Mhz LPC or a SAM7/9 of similar or greater quality) or a low-cost Spartan 3E dev board (I was thinking that Digilent's Nexys2 with its student discount has the best bang for its buck, but I'm up for directing my attention to a new board or a new FPGA entirely). Unfortunately, I know very little about FPGAs (0 experience) and how they compare to MCUs especially. I'm not too worried about learning a HDL (hopefully like C or even C#) though.

Therefore, any help into the right direction would be wonderful.

Sincerely,
Dylan Dalrymple
08 Jul 2010

Hi Dylan,

Sounds like an excellent project!

Perhaps you could get the best of both worlds?:

This is an ARM Cortex-M3 and FPGA fabric in a single chip. Might be exactly what you are looking for?

Simon

08 Jul 2010

Thanks for the reply Simon!

I checked out SmartFusion and it definitely seems like an awesome chip, but there's a catch to it.  After looking at the dev kit that Actel had, I was pretty impressed though it did not have a VGA port or PS/2 port which would be necessary for human interaction and output display.  Yet, once I looked at the price ($999, almost 3 times my entire budget!), it was obvious that it wasn't going to give the best bang for my buck.  Even the eval kit (priced at $99; big price jump) just didn't seem like what I needed for my project.  I love Actel's concept in making the SmartFusion (I don't think any other chip series has FPGA and Cortex-M3 integrated), but for my budget, it doesn't quite seem like the best choice.

So, I guess I'll just keep searching for the right choice, though Digilent's Spartan 3E board is looking pretty high and mighty right now, since I don't need to purchase right away.  By the way, is there anyway exactly to compare a FPGA and a MCU for speed and program size or does it all just depend on how well the program is in parallel on the FPGA?

Sincerely,
Dylan Dalrymple

15 Jul 2010

Dylan,

I think you'll have trouble fitting your design in a Spartan 3E - maybe a Spartan 6. Best bet is to call the Xilinx rep (or Avnet) and give them a brief overview of your requirements. Deciding on a hardware platform is difficult for FPGAs if you're starting from 0. The size measurements given by the manufacturers are hard to compare across vendors. If this is for a class project you probably want to stick with a processor or a processor with FPGA fabric.  Good luck and keep us posted.

Pat

15 Jul 2010

Actually, I did the math and figured out that a mini ITX motherboard with a 1.6 ghz dual core Intel Atom processor along with all of the necessary parts that I need for it costs about the same if not less than my other solutions (FPGA, Beagleboard, mbed-similar device, etc.) while being about 3 times more powerful (not to forget the dual core part which would be really nice for working with two images at once).  From this motherboard, I can just use 2 webcams (or the minoru) through usb along with other inputs and send serial messages to an mbed or arduino for it to control motors.  This way I would definitely have a little overkill (especially if I used a minimalistic OS) to make sure just how much power I need to make a finished product.

Thank you all for your help (and I'm definitely going to post my question to the Xilinix reps either way, Pat), and I will definitely post a link to my completed projects page whenever I finish for everyone to see.

Dylan Dalrymple