The most exciting thing about FPGAs is their ability to process problems in parallel manner. This gives FPGAs clear advantage over microprocessors. But when it comes to implementing sequential algorithms, FPGAs may not be the best option due to increased complexity. The “best of both worlds” option would be to implement sequential algorithms on a microprocessor and custom logic that requires parallelism on FPGA fabric. There are three ways to accomplish this.
- Include a Microprocessor/Microcontroller and FPGA on your board and establish a mechanism for communication between these these two elements
- Use a FPGA with built in embedded processor such as ARM/PPC
- Build a soft processor within FPGA fabric
All these options has its own advantages and disadvantages. Option 1 will give