Printronix, Inc. uses scanner-based image systems to perform print quality measurements for line-matrix printers.
The size of the image samples and image definition required make commercial scanners convenient to use.
The image processing is relatively well defined, and we are able to simplify many of the calculations into hardware equations and "c" code.
The process of rapidly prototyping the system using DSP based "c" code gets the algorithms well defined early in the development cycle.
Once a working system is defined, the rest of the process involves splitting the task up for the FPGA and the DSP implementation. Deciding which of the two to use, the DSP or the FPGA, is a simple matter of trial benchmarking.
There are two kinds of benchmarking: One for speed, and the other for memory. The more memory intensive algorithms should run in the DSP, and the simple real time tasks can use the FPGA most effectively.
Once the task is split, we can decide which platform the algorithm should be executed. This involves prototyping all the code in the DSP, then timing various blocks of the algorithm.
Slow routines can be optimized using the compiler tools, and if further reduction in time is needed, into tasks that the FPGA can perform.