Input data reuse in compiling window operations onto reconfigurable hardware
- 11 June 2004
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 39 (7), 249-256
- https://doi.org/10.1145/997163.997199
Abstract
Balancing computation with I/O has been considered as a critical factor of the overall performance for embedded systems in general and reconfigurable computing systems in particular. Data I/O often dominates the overall computation performance for window operation, which are frequently used in image processing, image compression, pattern recognition and digital signal processing. This problem is more acute in reconfigurable systems since the compiler must generate the data path and the sequence of operations. The challenge is to intelligently exploit data reuse on the reconfigurable fabric (FPGA) to minimize the required memory or I/O bandwidth while maximizing parallelism.In this paper, we present a compile-time approach to reuse data in window-based codes. The compiler, called ROCCC, first analyzes and optimizes the window operation in C. It then computes the size of the hardware buffer and defines three sets of data values for each window: the window set, the managed set and the killed set. This compile-time analysis simplifies the HDL code generation and improves the resulting hardware performance. We also discuss in-place window operations.Keywords
This publication has 11 references indexed in Scilit:
- A quantitative analysis of the speedup factors of FPGAs over processorsPublished by Association for Computing Machinery (ACM) ,2004
- High-level language abstraction for reconfigurable computingComputer, 2003
- Mapping of generalized template matching onto reconfigurable computersIEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2003
- Profiling tools for hardware/software partitioning of embedded applicationsPublished by Association for Computing Machinery (ACM) ,2003
- A compiler approach to fast hardware design space exploration in FPGA-based systemsPublished by Association for Computing Machinery (ACM) ,2002
- Evaluation of the streams-C C-to-FPGA compilerPublished by Association for Computing Machinery (ACM) ,2001
- The Garp architecture and C compilerComputer, 2000
- Hardware-software co-design of embedded reconfigurable architecturesPublished by Association for Computing Machinery (ACM) ,2000
- A loop transformation theory and an algorithm to maximize parallelismIEEE Transactions on Parallel and Distributed Systems, 1991
- Why systolic architectures?Computer, 1982