Hi i already have worked with the AVR and the Cortex-M for some purpose but now i need to a most powerful processor. So, i think the FPGA or Cortex-A is suitable but i can't compare these both because as you know, the FPGA is a field-programmable gate array processor but the Cortex-A is a RISC processor. well, now, i confused! Which is better really for high speed? and which has a good future? i hope to get a good answer.
closed as unclear what you're asking by PeterJ, tcrosley, Keelan, placeholder, JYelton Sep 14 '13 at 18:17
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
FPGA is massively fine-grain processor. It can emulate millions of logic gates in parallel. But, because your logic circuit is simulated/emulated rather than native/physical, it runs 10x slower than true ASIC (eg. ARM). So, if you want to program a single sequential process (I call it control-dominated computation), then you use a CPU. If you need to simulate a circuit of many tiny gates (they are also processes but very tiny and large in numbers) then you need an FPGA. If you can parallelize your task into a huge number of tiny processes then you need FPGA. If you have 1, 2 or 3 processes (how much cores do you have in your processor), take CPU. Basically, you need an FPGA when you need to simulate a logical (aka digital) circuit. The hint is: if you have its description in HDL, then you need and FPGA. If you have a C/ASM program, look for ARM.
If you did not need the high performance then, for instance, you plan 100 mln single logic operations every second and no more, then utilize ARM. On the other hand, if you need kilos and millions logic operations at every clock cycle (millions of cycles per second) then you need FPGA.
I don't know what size the images are or what camera are you trying to interface and what are your timing requirements but if you need to take high res images at high speed a FPGA should do the work but:
- A FPGA is NOT a proccessor
- You can't program a FPGA as you do with processors
- Interfacing a camera with a RGB screen at high speed is not a simple task
Other alternatives are some ARM processor that has interface to cameras and displays.