Abstract
This paper presents task-parallel programming, a style of application development for reconfigurable systems. Task-parallel programming enables efficient interaction between concurrent hardware and software tasks. In particular, it supports description of communication and computation tasks running in parallel to allow effective implementation of designs where data transfer time between hardware and software components is comparable to computation time. This approach permits precise specification of parallelism without requiring hardware design knowledge. We present language extensions for task-parallel programming, inspired by the occam and Handel languages. A compilation scheme for this method is described: the four main stages are memory mapping, channel implementation, software generation and hardware synthesis. Our techniques have been evaluated using video applications on the RC1000-PP hardware platform.
This work was supported by a European Union TMR training project, the UK Engineering and Physical Sciences Research Council, Celoxica Limited, and Xilinx Inc.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. B. Gokhale and J. M. Stone. NAPA C: compiling for a hybrid RISC/FPGA architecture.In Proc. FPGAsfor Custom Computing Machines. IEEE Computer Society Press, 1998.
M. Weinhardt and W. Luk. Pipeline vectorization. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, February 2001.
D. A. Buell, J. M. Arnold, and W. J. Kleinfelder. Splash 2-FPGAs in a Custom Computing Machine. IEEE Computer Society Press, 1996.
Celoxica Limited. Homepage http://www.celoxica.com.
P. M. Athanas and H. F. Silverman. Processor reconfiguration through instruction-set metamorphosis. IEEE Computer, 26, March 1993.
J. R. Hauser and J. Wawrzynek. Garp: A MIPS processor with a reconfigurable coprocessor.In Proc. FPGAsfor Custom Computing Machines. IEEE Computer Society Press, 1997.
C. R. Rupp, M. Landguth, T. Garverick, E. Gomersall and H. Holt. The NAPA adaptive processing architecture. In Proc. FPGAsfor Custom Computing Machines. IEEE Computer Society Press, 1998.
C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall International, 1985.
C. A. R. Hoare and I. Page. Hardware and software: The closing gap. Transputer Communications, 2(2), June 1994.
E. Barros and A. Sampaio. Towards provably correct hardware/software partitioning using occam. In Proc. Int. Workshop on Hardware/Software Codesign. IEEE Computer Society Press, 1994.
I. Page and W. Luk. Compiling Occam into FPGAs. In FPGAs. Abingdon EE&CS Books, 1991.
H. R. Myler and A. R. Weeks. Computer Imaging Recipes in C. Prentice Hall, 1993.
M. Weinhardt and W. Luk. Memory access optimization and RAM inference for pipeline vectorization. In Field Programmable Logic and Applications, LNCS 1673. Springer, 1999.
The Stanford SUIF Compiler Group. Homepage http://suif.stanford.edu.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Weinhardt, M., Luk, W. (2001). Task-Parallel Programming of Reconfigurable Systems. In: Brebner, G., Woods, R. (eds) Field-Programmable Logic and Applications. FPL 2001. Lecture Notes in Computer Science, vol 2147. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44687-7_18
Download citation
DOI: https://doi.org/10.1007/3-540-44687-7_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42499-4
Online ISBN: 978-3-540-44687-3
eBook Packages: Springer Book Archive