I'm using OCR processing (optical character recognition) on a 3.2 Ghz PCU. It is not fast enough (10 minutes for each single newspaper page). Do you think that a FPGA solution could increase the speed of the processing? Must the software be programmed in order to be used with FPGA's or do solutions exist regardless of the soft?
Why? Is that comment true in general, or just for OCR problems?
I'd expect there are some sequential problems that would be much faster in a FPGA.
Suppose we assume the clock on the CPU is N times as fast as the FPGA and the CPU. Then any problem that takes more than N cycles on the CPU will be faster on the FPGA if the FPGA only takes 1 cycle. How about something like computing a CRC?
Better would be doing a CRC type calculation while searching for a pattern. I think the Fire codes use something like that for error correction.
The suespammers.org mail server is located in California. So are all my
other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited
In the announcement for the ERSA conference (Engineering Reconfigurable Systems and Architectures) they say:
The advances in reconfigurable computing architecture, in algorithm implementation methods, and in automatic mapping methods of algorithms into hardware and processor spaces form together a new paradigm of computing and programming that has often been called `Computing in Space and Time'.
On a CPU things happen more or less sequentially. Algorithms are coded fairly dense in terms of transistors used per operation. An add instruction might take 32 bits. In an FPGA, an add instruction is implemented as a 32 bit adder. Efficient algorithms on an FPGA should do many things each clock cycle, and tend to be very different than the algorithms that are efficient on CPUs.
As for CRC, the table lookup works very well on CPUs, but there are some very different algorithms that work well for FPGAs, especially for larger word sizes.