ABSTRACT
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.
- C. T. Johnston, D. G. Bailey, and P. Lyons, 2006 "A Visual Environment for Real-Time Image Processing in Hardware (VERTIPH)," EURASIP Journal on Embedded Systems, (Article ID 72962), vol. 2006, pp. 1--8. Google ScholarDigital Library
- C. T. Johnston, K. T. Gribbon, and D. G. Bailey, 2004 "Implementing Image Processing Algorithms on FPGAs," Proceedings of the Eleventh Electronics New Zealand Conference, ENZCon'04, (Palmerston North, pp. 118--123, November. 2004.)Google Scholar
- V. M. J. Bove, M. Lee, Y.-M. Liu, C. McEniry, T. Nwodah, and J. Watlington, 1999 "Media Processing with Field Programmable Gate Arrays on a Microprocessor's Local Bus," Proceedings of SPIE Media Processors, (San Jose, CA, pp. 12--20, January 1999).Google Scholar
- R. Rinker, J. Hammes, W. A. Najjar, W. Bohm, and B. Draper, 2000 "Compiling image processing applications to reconfigurable hardware," Proceedings. IEEE International Conference on Application-Specific Systems, Architectures, and Processors, (Boston, MA, pp. 56--65, 10--12 July. 2000). Google ScholarDigital Library
- P. Lyons, 1999 "Programming in Several Dimensions," Proc. SoftVis '99, pp. 31--39, 3--4 December 1999.Google Scholar
- Accellera, "EDA Industry Working Groups - VHDL," 2008, http://www.vhdl.org/, visited on March 2008.Google Scholar
- I. Alston and B. Madahar, 2008 "From C to netlists: hardware engineering for software engineers?," Electronics & Communication Engineering Journal, vol. 14, no. 4, pp. 165--173, 2002.Google ScholarCross Ref
- ImpulseC, "ImpulseC," 2008, http://www.impulsec.com/, visited on March/2008.Google Scholar
- K. Konstantinides and J. R. Rasure, 1994 "The Khoros software development environment for image and signal processing," IEEE Transactions on Image Processing, vol. 3, no. 3, pp. 243--252, 1994.Google ScholarDigital Library
- P. M. Ngan, 1992 "The Development of a Visual Language for Image Processing Applications," Ph.D. Thesis in Computer Science, Massey University, Palmerston North, New Zealand, 1992.Google Scholar
- C. T. Johnston, D. G. Bailey, and K. T. Gribbon, 2005 "Optimisation of a colour segmentation and tracking algorithm for real-time FPGA implementation," Proceedings of Image and Vision Computing New Zealand, (Dunedin, pp. 422--427, 28--29 November. 2005).Google Scholar
- Nassi I and Shneiderman B, 1973 "Flowchart techniques for structured programming," ACM SIGPLAN Notices, vol. 8, no. 8, pp. 12--26, 1973. Google ScholarDigital Library
- C. T. Johnston, D. G. Bailey, and P. Lyons, 2006 "Towards a visual notation for pipelining in a visual programming language for programming FPGAs," 7th International Conference of the NZ chapter of the ACM's Special Interest Group on Human-Computer Interaction, pp. 1--9, 2006. Google ScholarDigital Library
- Celoxica, PixelStreams Manual, 1 ed: Celoxica, 2005.Google Scholar
- T. R. G. Green and M. Petre, 1996 "Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework," Journal of Visual Languages and Computing, vol. 7, no. 2, pp. 131--174, 1996.Google ScholarCross Ref
- C. T. Johnston, P. Lyons, and D. G. Bailey, 2008 "A Visual Notation for Processor and Resource Scheduling," IEEE International Symposium on Electronic Design, Test and Applications (DELTA 2008), Hong Kong, pp. 296--301, 23--25 January. 2008.Google Scholar
- H.-P. Juan, N. D. Holmes, S. Bakshi, and D. D. Gajski, 1993 "Top-down modeling of RISC processors in VHDL," European Design Automation Conference, 1993, with EURO-VHDL '93, (Hamburg, Germany, pp. 454--459, 20--24 September. 1993).Google Scholar
- C. T. Johnston, 2009 "VERTIPH: A Visual Environment for Real Time Image Processing on Hardware", PhD Thesis in Computer Systems Engineering, School of Engineering and Advanced Technology, Massey University, Palmerston North, 2009.Google Scholar
Index Terms
- User evaluation and overview of a visual language for real time image processing on FPGAs
Recommendations
Towards a visual notation for pipelining in a visual programming language for programming FPGAs
CHINZ '06: Proceedings of the 7th ACM SIGCHI New Zealand chapter's international conference on Computer-human interaction: design centered HCIVERTIPH is a visual language designed to aid in the development of image processing algorithms on FPGAs (Field Programmable Gate Arrays). We justify the use of a visual language for this purpose, and describe the key parts of VERTIPH. One aspect of ...
Design and evaluation of a hardware/software FPGA-based system for fast image processing
We evaluate the performance of a hardware/software architecture designed to perform a wide range of fast image processing tasks. The system architecture is based on hardware featuring a Field Programmable Gate Array (FPGA) co-processor and a host ...
Fingerprint image processing acceleration through run-time reconfigurable hardware
To the best of the authors' knowledge, this is the first brief that implements a complete automatic fingerprint-based authentication system (AFAS) application under a dynamically partial self-reconfigurable field-programmable gate array (FPGA). The main ...
Comments