Wednesday, 19 June 2019

cost - Cheapest FPGAs?



How cheap do FPGAs get? I know they're more expensive than microprocessors of comparable capability, but I wonder if there exist FPGAs that could contain a Microblaze soft core running Linux, while leaving gates available for implementing DSP functionality (media codecs, for example) at a cost competitive with, say, a Cortex A8 ($20-30 in qty. ~100).


(Apologies if my terminology is non-idiomatic i.e. wrong. Please comment with corrections, or edit directly.)



Answer



I recently attended an online conference on FPGA's with the keynote being "Should your next processor be an FPGA."


The FPGA basically makes sense in any application that requires highly parallelizable work streams, an example being used was analyzing Full HD images to find pedestrians for instance.


The thing you have to remember is that you have to initialize your FPGA every time it powers up, I think the FPGA's Xilinx is coming with (which have an on-chip ARM core) are a good option, but probably expensive. Looking into the Actel ones with on-chip flash may be useful too.


As for performance, the company BDTI did a benchmark in highly parallel computations where they saw about 40x performance gain switching to an FPGA. The interesting thing is that they compared chips with similar costs (23$ vs 28$ I believe).



Here are the links that might interest you:


Pocket guide to processor selection


FPGA Conference Archives (Free registration, but only available for about 6 months after this answer)


You cannot really compare performance of FPGA based systems based on MIPS or Mhz stats. The way an FPGA is used to process certain tasks is simply too different from a Microcontroller. The design of firmware for an FPGA is something you have to do using VHDL for instance, which is akin to Assembly. A register transfer level (RTL) of abstraction. Some environments are being produced to provide more abstraction, but these are still often vendor specific. Wikipedia has a decent overview of languages available to program FPGA code:


Wikipedia: Programming FPGA


Wikipedia: Digital Circuit Design


If you have money to burn you can use the LabView systems to build FPGA based real time measurement systems for instance. These devices needed for this are in a completely different pricerange (1500$ and up), but open up te FPGA design to a much broader audience with graphic programming.


More and more vendors are providing boards which combine microcontrollers such as an ARM chip with an FPGA to provide specific additional features and parallel processing power. An example of such products can be found here: EmbeddedARM: FPGA series


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...