fpga and microcontrollers
Hi vamsi2krishna,
FPGA is mainly for programmable logic but microcontroller is mainly for hardcore processing. Microcontroller is running sequencially regardless of how fast the controller is. In digital signal processor, the hardcore would enhance the harward architecture by increasing pipelining to certain level of parallel instruction processing. Instead, FPGA is totally hardware based programmable. The parallel processing in FPGA is not depends to the pipelining, but it is hardware based parallel architecture. For general application, microcontroller is good enough for system implementation. However, in some critical arimethic processing such as dsp algo would need real-time processing that is time critical. In this case, FPGA would be the best solution.
I think if you are working on low power design then micro-controller is the best. Second advantage is readily available and tested building blocks like ADC,Timers,DMA,UART. Nowdays low power FPGA's also available but you need to spend lots of time on optimization.
But FPGA wins when it comes to complex algorithms,DSP calculations.
you could take a microcontroller core and make it on an FPGA. you could use an AVR core on an FPGA. FPGAs could contain a multitude of things at the same time. the bigger ones can even have two PowerPC microprocessors running at the same time in the same FPGA.
Best regards,
Karper