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.
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.