Resource-Efficient Designs Using an Aspect-Oriented Approach

The increasing capability and flexibility of reconfigurable hardware, such as Field-Programmable Gate Arrays (FPGAs), give developers a wide range of architectural choices that can satisfy various non-functional requirements, such as those involving performance, resource and energy efficiency. This paper describes a novel approach, based on an aspect-oriented language called LARA, that enables systematic coding and reuse of optimisation strategies that address such non-functional requirements. Our approach will be presented in three steps. First, this approach is shown to support design space exploration (DSE) which makes use of various compilation and optimisation tools, through the deployment of a master weaver and multiple slave weavers. Second, we present three compilation and synthesis strategies for word-length optimisation based on this approach, which involve three tools: the WLOT word-length optimiser deploying a combination of analytical methods, the AutoESL tool compiling C-based descriptions into hardware, and the ISE tool targeting Xilinx devices. Third, the effectiveness of the approach is evaluated. In addition to promoting design re-use, our approach can be used to automatically produce a range of designs with different trade-offs in resource usage and numerical accuracy according to a given LARA-based strategy. For example, one implementation for a sub band filter in an MPEG encoder provides 31% savings in area using non-uniform quantizers when compared to a floating-point description with a similar error specification at the output. Another fixed-point implementation for the grid Iterate kernel used by a 3D path planning application consumed 25% less resources when the error specification is increased from 1e-6 to 1e-4.

[1]  Yvon Savaria,et al.  A comparison of automatic word length optimization procedures , 2002, 2002 IEEE International Symposium on Circuits and Systems. Proceedings (Cat. No.02CH37353).

[2]  George A. Constantinides Perturbation analysis for word-length optimization , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

[3]  Chun Chen,et al.  A scalable auto-tuning framework for compiler optimization , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[4]  George A. Constantinides,et al.  Numerical Data Representations for FPGA-Based Scientific Computing , 2011, IEEE Design & Test of Computers.

[5]  George A. Constantinides,et al.  Automated Precision Analysis: A Polynomial Algebraic Approach , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[6]  Jason Cong,et al.  High-Level Synthesis for FPGAs: From Prototyping to Deployment , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Ramnivas Laddad,et al.  Aspectj in Action: Practical Aspect-Oriented Programming , 2003 .

[8]  De Figueiredo,et al.  Self-validated numerical methods and applications , 1997 .

[9]  John K. Ousterhout,et al.  TCL and the TK Toolkit (Addison-Wesley Professional Computing) , 2008 .

[10]  Pedro C. Diniz,et al.  Programming safety requirements in the REFLECT design flow , 2011, 2011 9th IEEE International Conference on Industrial Informatics.

[11]  Wayne Luk,et al.  Specifying Compiler Strategies for FPGA-based Systems , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[12]  David Flanagan,et al.  JavaScript: The Definitive Guide , 1996 .

[13]  Wayne Luk,et al.  LARA: an aspect-oriented programming language for embedded systems , 2012, AOSD '12.

[14]  Sanghamitra Roy,et al.  An algorithm for trading off quantization error with hardware resources for MATLAB-based FPGA design , 2005, IEEE Transactions on Computers.

[15]  Wayne Luk,et al.  Experiments with the LARA aspect-oriented approach , 2012, AOSD Companion '12.

[16]  Wayne Luk,et al.  Optimising designs by combining model-based and pattern-based transformations , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[17]  Wayne Luk,et al.  Ieee Transactions on Computer-aided Design of Integrated Circuits and Systems Accuracy Guaranteed Bit-width Optimization Abstract— We Present Minibit, an Automated Static Approach for Optimizing Bit-widths of Fixed-point Feedforward Designs with Guaranteed Accuracy. Methods to Minimize Both the In- , 2022 .

[18]  Gerhard J. Woeginger,et al.  The complexity of multiple wordlength assignment , 2002, Appl. Math. Lett..

[19]  John K. Ousterhout,et al.  Tcl and the Tk Toolkit , 1994 .

[20]  David A. Padua,et al.  SPL: a language and compiler for DSP algorithms , 2001, PLDI '01.

[21]  Olaf Spinczyk,et al.  Advances in AOP with AspectC++ , 2005, SoMeT.

[22]  Greg Lindstrom,et al.  Programming with Python , 2005, IT Professional.