Testing, Tuning and Debugging

Donald G. Bailey · 2011

There are four main causes for an algorithm not behaving in the intended manner that are addressed briefly in this chapter. These are: Design errors, Implementation errors, Tuning errors and Timing errors. The design of an image processing algorithm for a particular task is a heuristic process. The parallel nature of field programmable gate array (FPGA)-based designs can result in additional bugs not commonly encountered in software-based systems. If the software version of the algorithm behaves correctly then there are two primary sources of error within the corresponding hardware implementation. The first relates to customisation of data word widths and the second relates to the use of parallelism with consequent synchronisation and conflict issues. Timing and timing closure are not just considerations at the end of the implementation, but need to be considered at all aspects of a design, from the initial specification all the way through design and implementation. Controlled Vocabulary Terms field programmable gate arrays; image processing

Read the paper · More papers on PaperTik