ACM Transactions on Design Automation of Electronic Systems · 2006 · 45 citations · 15 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureReconfigurable ComputingCompiler ConstructionFpga ArchitectureHigh-level SynthesisArea EstimationCompilation For Reconfigurable HardwareCompile-time OptimizationCompiler SupportCompiler-based High-level SynthesisLoop UnrollingMicroarchitectural Optimization
The Cameron Project has developed a system for compiling codes written in a high-level language called SA-C, to FPGA-based reconfigurable computing systems. In order to exploit the parallelism available on the FPGAs, the SA-C compiler performs a large number of optimizations such as full loop unrolling, loop fusion and strip-mining. However, since the area on an FPGA is limited, the compiler needs to know the effect of compiler optimizations on the FPGA area; this information is typically not available until after the synthesis and place and route stage, which can take hours. In this article, we present a compile-time area estimation technique to guide SA-C compiler optimizations. We demonstrate our technique for a variety of benchmarks written in SA-C. Experimental results show that our technique predicts the area required for a design to within 2.5% of actual for small image processing operators and to within 5.0% for larger benchmarks. The estimation time is in the order of milliseconds, compared with minutes for the synthesis tool.
15
The density advantage of configurable computing
André DeHon · Computer · 2000 · 298 citations
High-level language abstraction for reconfigurable computing
Walid Najjar, W. Böhm, Bruce A. Draper et al. · Computer · 2003 · 106 citations