Abstract
Array intensive computations are characterized by processing of large arrays stored in external memory in multiple loops. Synthesizing these computations onto FPGAs involves automatic translation of the behavioral description into state machines controlled by a clock such that the execution time of the program as a whole is the minimum and area requirement does not exceed a predefined limit. The synthesis algorithm also needs to efficiently sequence the array accesses taking into account memory access requirements such as pipelining. In this paper we present two algorithms each with a specific emphasis to handle this synthesis problem. Our heuristic algorithm generates good solutions in a very short time (less than a second), while our Mixed Integer Linear Programming (MILP) based algorithm can generate optimal solution given sufficient time. Both to, to minimize execution time and area. Our algorithms not only look at individual loops to exploit parallelism but also consider them together while deciding the clock. The overall execution time is minimized and not just the number of cycles or the cycle time. They also efficiently synthesize memory accesses to fully, exploit the memory pipelining. We compare these two algorithms in terms of their relative strengths.
Original language | English (US) |
---|---|
Pages | 305-310 |
Number of pages | 6 |
State | Published - 2001 |
Event | 14th International Conference on VLSI Design (VLSI DESIGN 2001) - Bangalore, India Duration: Jan 3 2001 → Jan 7 2001 |
Other
Other | 14th International Conference on VLSI Design (VLSI DESIGN 2001) |
---|---|
Country/Territory | India |
City | Bangalore |
Period | 1/3/01 → 1/7/01 |
All Science Journal Classification (ASJC) codes
- Hardware and Architecture
- Electrical and Electronic Engineering