User evaluation and overview of a visual language for real time image processing on FPGAs

FPGAs are often used for image processing, but existing FPGA design tools lack syntactic constructs for some specialized activities that are important in this field, such as timing, resource handling and scheduling. This forces the developer to work at too low a level and makes it difficult to produce a genuinely hierarchically decomposed design. This paper outlines these deficiencies, as the background for an overview of and justification for each of three views in VERTIPH, a visual programming language for defining image processing algorithms on FPGAs. This updates the overview presented in [1]. The paper then presents the results of two user evaluations of VERTIPH, a pre-implementation paper-based user evaluation which found no major changes were required and a post-(partial)-implementation user evaluation. The latter evaluated the novel parts of the language using participants experienced in the field. The key parts of VERTIPH were found to be useful visualisations for the developers, and the only major problem was the interaction required for defining type-connections between views.

[1]  V. Michael Bove,et al.  Media processing with field-programmable gate arrays on a microprocessor's local bus , 1998, Electronic Imaging.

[2]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[3]  D. G. Bailey,et al.  Optimisation of a colour segmentation and tracking algorithm for real-time FPGA implementation , 2005 .

[4]  P. Lyons Programming in several dimensions , 1999 .

[5]  Donald G. Bailey,et al.  A Visual Environment for Real-Time Image Processing in Hardware (VERTIPH) , 2006, EURASIP J. Embed. Syst..

[6]  Daniel Gajski,et al.  Top-down modeling of RISC processors in VHDL , 1993, Proceedings of EURO-DAC 93 and EURO-VHDL 93- European Design Automation Conference.

[7]  Donald G. Bailey,et al.  A Visual Notation for Processor and Resource Scheduling , 2008, 4th IEEE International Symposium on Electronic Design, Test and Applications (delta 2008).

[8]  C. T. Johnston Implementing Image Processing Algorithms on FPGAs , 2005 .

[9]  B. Shneiderman,et al.  Flowchart techniques for structured programming , 1973, SIGP.

[10]  Christopher Troy Johnston VERTIPH : a visual environment for real-time image processing on hardware : a thesis presented in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Computer Systems Engineering at Massey University, Palmerston North, New Zealand , 2009 .

[11]  Ian Alston,et al.  From C to netlists: hardware engineering for software engineers? , 2002 .

[12]  Konstantinos Konstantinides,et al.  The Khoros software development environment for image and signal processing , 1994, IEEE Trans. Image Process..

[13]  Bruce A. Draper,et al.  Compiling image processing applications to reconfigurable hardware , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

[14]  Phillip Michael Ngan,et al.  The development of a visual language for image processing applications : a thesis presented in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Computer Science at Massey University, Palmerston North, New Zealand , 1992 .

[15]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[16]  Donald G. Bailey,et al.  Towards a visual notation for pipelining in a visual programming language for programming FPGAs , 2006, CHINZ '06.