Abstract
This paper presents a Hardware Development Environment based on the logic programming language Prolog. Central to this environment are a hardware description notation called HIDE, and a high level generator, which takes an application specific, high level algorithm description, and translates it into a HIDE description. The latter describes scaleable and parameterised architectures using a small set of Prolog constructors. EDIF netlists can be automatically generated from HIDE descriptions. The high-level algorithm descriptions are based on a library of reusable Hardware Skeletons. A hardware skeleton is a parameterised description of a task-specific architecture, to which the user can supply parameters such as values, functions or even other skeletons. A skeleton contains built-in rules, written in Prolog that will apply optimisations specific to the target hardware at the implementation phase. This is the key towards the satisfaction of the dual requirement of high-level abstract hardware design and hardware efficiency.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Synopsys Inc., ‘Behavioural Compiler’, Software documentation, 1998. http://www.synopsys.com/products/beh_syn/
Celoxica Limited, ‘Handel C information sheets’, 1999 http://www.celoxica.com/
Hutchings, B., Bellows, P., Hawkins, J., Hemmert, S., Nelson, B. and Rytting, M., ‘A CAD suite for High-Performance FPGA design’, FCCM’99, Preliminary Proceedings.
Benkrid, K., ‘Design and Implementation of a High Level FPGA Based Coprocessor for Image and Video Processing’, PhD Thesis, Department of Computer Science, The Queen’s University of Belfast, 2000. http://www.cs.qub.ac.uk/~K.Benkrid/MyThesis.html
Bjesse, P., Claessen, K., Sheeran, M. and Singh, S., ‘Lava: Hardware Design in Haskell’, International Conference on Lisp and Functional Programming 98. Springer-Verlag 1998.
The Xilinx Lava HDL Homepage, http://www.xilinx.com/labs/lava/index.htm
Clocksin, W. F., and Melish, C. S., ‘Programming in Prolog’, Springer-Verlag, 1994.
Benkrid, K., Crookes, D., Smith J. and Benkrid, A., "High Level Programming for FPGA Based Image and Video Processing using Hardware Skeletons", FCCM’2001, April 2001, Preliminary Proceedings.
Crookes, D., Alotaibi, K., Bouridane, A., Donachy, P., and Benkrid, A., ‘An Environment for Generating FPGA Architectures for Image Algebra-based Algorithms’, ICIP98, Vol.3, pp. 990–994, 1998.
Crookes, D., Benkrid, K., Bouridane, A., Alotaibi, K. and Benkrid, A., "Design and Implementation of a High Level Programming Environment for FPGA Based Image Processing", IEE proceedings: Vision, Image and Signal Processing, Vol. 147, No. 7, pp. 377–384.
Benkrid, K., Crookes, D., Smith, J. and Benkrid, A., "High Level Programming for Real Time FPGA Based Video Programming", Proceedings of ICASSP’2000, Istanbul, June 2000. Volume VI, pp. 3227–3231.
Ritter, G., X., Wilson, J., N. and Davidson, J., L., lsImage Algebra: an overview’, Computer Vision, Graphics and Image Processing, No 49, pp 297–331, 1990.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Benkrid, K., Crookes, D., Benkrid, A., Belkacemi, S. (2002). A Prolog-Based Hardware Development Environment. In: Glesner, M., Zipf, P., Renovell, M. (eds) Field-Programmable Logic and Applications: Reconfigurable Computing Is Going Mainstream. FPL 2002. Lecture Notes in Computer Science, vol 2438. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46117-5_39
Download citation
DOI: https://doi.org/10.1007/3-540-46117-5_39
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44108-3
Online ISBN: 978-3-540-46117-3
eBook Packages: Springer Book Archive