Abstract
Modern field programmable gate array (FPGA) chips, with their larger memory capacity and reconfigurability potential, are opening new frontiers in rapid prototyping of embedded systems. With the advent of high-density FPGAs, it is now possible to implement a high-performance VLIW (very long instruction word) processor core in an FPGA. With VLIW architecture, the processor effectiveness depends on the ability of compilers to provide sufficient ILP (instruction-level parallelism) from program code. This paper describes research result about enabling the VLIW processor model for real-time processing applications by exploiting FPGA technology. Our goals are to keep the flexibility of processors to shorten the development cycle, and to use the powerful FPGA resources to increase real-time performance. We present a flexible VLIW VHDL processor model with a variable instruction set and a customizable architecture which allows exploiting intrinsic parallelism of a target application using advanced compiler technology and implementing it in an optimal manner on FPGA. Some common algorithms of image processing were tested and validated using the proposed development cycle. We also realized the rapid prototyping of embedded contactless palmprint extraction on an FPGA Virtex-6 based board for a biometric application and obtained a processing time of 145.6 ms per image. Our approach applies some criteria for co-design tools: flexibility, modularity, performance, and reusability.
Similar content being viewed by others
References
Chen, Y.S., Shih, C.S., Kuo, T.W.: Processing element allocation and dynamic scheduling codesign for multi-function SoCs. Real-Time Syst. 44(1–3), 72–104 (2010)
Kessal, L., Abel, N., Karabernou, S.M., Demigny, D.: Reconfigurable computing: design methodology and hardware tasks scheduling for real-time image processing. J. Real-Time Image Process. 3(3), 131–147 (2008)
Dang, P.: VLSI architecture for real-time image and video processing systems. J. Real-Time Image Process. 1(10), 57–62 (2006)
Botella, G., Martin, J.A., et al.: FPGA-based multimoda embedded sensor system integrating low- and mid-level vision. J. Sens. 11, 8164–8179 (2011)
Aguirre, M.A., Tombs, J.N., et al.: Microprocessor and FPGA interfaces for in-system co-debugging in field programmable hybrid systems. Microprocess. Microsyst. 29(2–3), 75–85 (2005)
Brost, V., Yang, F., Pandaivone, M., Farrugia, N.: Multiple modular VLIW processors based on FPGA. J. Electr. Imaging SPIE 16(2), 023001(1–10) (2007)
Panda, P.R.: SystemC—a modeling platform supporting multiple design abstractions. Proceeding o the 14th International Symposium on System Synthesis, pp 75–80 (2001)
Loo, S.M., Wells, B.E. et al.: Handel-C for rapid prototyping of VLSI coprocessors for real-time systems. Proceedings of 34th Southeastern Symposium on System Theory, pp 6–10 (2002)
The Ocapi XL Initiative: http://www.imec.be/design/ocapi.org
Gelato.org: Impact advanced compiler technology. http://gelato.uiuc.edu (2009)
Brost, V., Yang, F., Paindavoine, M., Farrugia, N.: A modular VLIW processor. IEEE International Symposium on Circuits and Systems (ISCASS’07), New Orleans (2007)
Sadoun, R., Belouchrani, A., et al.: An FPGA based soft multiprocessors for DNS/DNSSEC authoritative server. Microprocess. Microsyst. 35(5), 473–483 (2011). doi:10.1016/j.micpro.2011.3.004
Zou, L., Fu, Z.A., et al.: A pipelined architecture for real time correction of non-uniformity in infrared focal plane array imaging system using multiprocessors. Infrared Phys. Technol. 53(4), 254–266 (2010). doi:10.1016/j.infrared.2010.3.001
http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/index.cfm
Uhrig, S., Shehan, B. et al.: The two-dimensional superscalar GAP processor architecture. Int. J. Adv. Syst. Meas 3(1–2), (2010)
Jahr, R., Ungerer, T., Calborean, H. et al.: Automatic multi-objective optimization of parameters for hardware and core optimizations. Proceedings of the 2011 International Conference on High Performance Computing & Simulation (HPCS) (2011)
Koenig, R., Bauer, L. et al.: KAHRISMA: a nouvel hypermorphic reconfigurable-instruction set multi-grained-array architecture. 2009 Design, Automation & Test in Europe Conference & Exhibition (2010)
Lam, S.K., Srikanthan, T.: Rapid design of area-efficient custom instructions for reconfigurable embedded processing. J. Syst. Archit. 55, 1–14 (2009)
Cyllenhaal J., Hwu, W., Rau, B.: HMDES version 2.0 specification. Technical Report IMPACT-96-3, University of Illinois, Urbana-Champaign (1996)
Kathail, V., Schlansker, M., Rau, B.: HPL-PD architecture specification, Technical Report HPL-93-80 (2000)
Saptono, D., Brost, V., Yang, F., Wibowo, E.P.: Concept and development of modular VLIW processor based on FPGA. The Second International conference of ICSEM, Bangkok (2010)
Fihser, J.A., Faraboschi, P., Young, C.: Embedded computing: a VLIW approach to architecture, compilers and tools. Elsevier Morgan Kauffman, New York (2005)
Xilinx: Xilinx homepage. URL: http://www.xilinx.com/ (2009)
ISE: ISE design suite 11. URL: http://www.xilinx.com/tools/designtools.htm (2009)
Uzun, I.S., Amira, A., Bouridane, A.: FPGA implementations of Fast Fourier Transform for real-time signal and image processing. IEE Proc Vision Image Signal Process 152(3), 283–296 (2005)
Bravo, I., Balinas, J., et al.: Efficient smart CMOS camera based on FPGAs oriented to embedded image processing. J. Sens. 11, 2282–2303 (2011)
Virtex-6: Xilinx ds150 virtex-6 family overview. URL http://www.xilinx.com/support/documentation/data_sheets/ds150.pdf (2009)
Ahmad, A., Amira, A., et al.: FPGA-based IP cores implementation for face recognition using dynamic partial reconfiguration. J. Real-Time Image Process. (2011). doi:10.1007/s11554-011-0221-x
Cao, T.P., Elton, D., Deng, G.: Fast buffering for FPGA implementation of vision-based object recognition systems. J. Real-Time Image Process. (2011). doi:10.1007/s11554-011-0201-1
Fons, M., Fons, F., et al.: FPGA-based personal authentification using fingerprints. J. Signal Process. Syst. (2011). doi:10.1007/s11265-011-0629-3
Poinsot, A., Yang, F., Brost, V.: Palmprint and face score level fusion: hardware implementation of a contactless small sample biometric system. Opt. Eng. 50(2), 000000-1-000000-13 (2011). SPIE
The LLVM Compiler Infrastructure: http://llvm.org
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Brost, V., Yang, F. & Meunier, C. Flexible VLIW processor based on FPGA for efficient embedded real-time image processing. J Real-Time Image Proc 9, 47–59 (2014). https://doi.org/10.1007/s11554-012-0321-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11554-012-0321-2