A.3. Increasing Processor Performance
Some embedded designers get frustrated when the performance of their selected FPGA embedded processor is half or less of what was expected based on published performance numbers. In some cases, a designer is unable to duplicate the manufacturer's published results for a benchmark. The reason often lies with the designer's lack of understanding of how these benchmarks are produced, but it can also reflect a lack of experience with the specific processor being used and the available techniques for enhancing processor performance.
The industry standard benchmark for FPGA embedded processors is Dhry-stone millions of instructions per second (DMIPs). Both Altera and Xilinx quote DMIPs for most, if not all, of the available embedded processors.
The achieved DMIPs reported by the manufacturers are based on several things that maximize the benchmark results:
Because of all these interrelated factors, meeting the published benchmark numbers can be a challenge for designers.
Achieved performance might be lacking because the designer has not taken advantage of all of the performance-enhancing techniques available to FPGA embedded processors. The manufacturers obviously know what must be done to get the most out of their chips, and they take full advantage of every possible enhancement when benchmarking. Embedded designers, who are familiar with standard microprocessor performance optimization, need to learn which software optimization techniques apply to FPGA embedded processors. Designers must also learn performance-enhancing techniques that apply specifically to FPGAs.
The design landscape is certainly more complicated with an FPGA embedded processor. The incredible advantages gained with this type of design are not without trade-offs. Specifically, the increased design complexity is overwhelming to many, including experienced embedded or FPGA designers. Manufacturers and their partners put significant effort into training and providing support to designers experimenting with this technology. Taking advantage of a local field applications engineer is therefore essential to FPGA embedded processor design success.
As an introduction to this type of design, a few performance-enhancing techniques are highlighted in the following sections. Specific references are based on research of Xilinx FPGAs and tools, although users of Altera processors are likely to have access to similar features and techniques.