Evolutionary functional approximation of circuits implemented into FPGAs

In many applications it is acceptable to allow a small error in the result if significant improvements are obtained in terms of performance, area or energy efficiency. Exploiting this principle is particularly important for FPGA-based solutions that are inherently subject to many resources-oriented constraints. This paper devises an automated method that enables to approximate circuit components which are often implemented in multiple instances in FPGA-based accelerators. The approximation process starts with a fully functional gate-level circuit, which is approximated by means of Cartesian Genetic Programming reflecting the error metric and constraints formulated by the user. The evolved circuits are then implemented for a particular FPGA by common FPGA synthesis and optimization tools. It is shown using five different FPGA tools, that the approximations obtained by CGP working at the gate level are preserved at the level look-up tables of FPGAs. The proposed method is evaluated in the task of 8-bit adder, 8-bit multiplier, 9-input median and 25-input median approximation.

[1]  Robert K. Brayton,et al.  DAG-aware AIG rewriting: a fresh look at combinational logic synthesis , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[2]  Marco Platzner,et al.  Coping with Resource Fluctuations: The Run-time Reconfigurable Functional Unit Row Classifier Architecture , 2010, ICES.

[3]  Martin Trefzer,et al.  PAnDA: A Reconfigurable Architecture that Adapts to Physical Substrate Variations , 2013, IEEE Transactions on Computers.

[4]  Lukás Sekanina,et al.  Search-based synthesis of approximate circuits implemented into FPGAs , 2016, 2016 26th International Conference on Field Programmable Logic and Applications (FPL).

[5]  Jie Han,et al.  Approximate computing: An emerging paradigm for energy-efficient design , 2013, 2013 18th IEEE European Test Symposium (ETS).

[6]  Lukás Sekanina,et al.  Evolutionary design of complex approximate combinational circuits , 2015, Genetic Programming and Evolvable Machines.

[7]  Jörg Langeheine,et al.  Intrinsic Hardware Evolution on the Transistor Level , 2005 .

[8]  Eero P. Simoncelli,et al.  Image quality assessment: from error visibility to structural similarity , 2004, IEEE Transactions on Image Processing.

[9]  Julian Francis Miller,et al.  Cartesian genetic programming , 2000, GECCO '10.

[10]  Paul J. Layzell,et al.  Explorations in design space: unconventional electronics design through artificial evolution , 1999, IEEE Trans. Evol. Comput..

[11]  Lukás Sekanina,et al.  Towards highly optimized cartesian genetic programming: from sequential via SIMD and thread to massive parallel implementation , 2014, GECCO.

[12]  Kaushik Roy,et al.  SALSA: Systematic logic synthesis of approximate circuits , 2012, DAC Design Automation Conference 2012.

[13]  Kwong-Sak Leung,et al.  Applying Genetic Parallel Programming to Synthesize Combinational Logic Circuits , 2007, IEEE Transactions on Evolutionary Computation.

[14]  Kaushik Roy,et al.  Substitute-and-simplify: A unified design paradigm for approximate and quality configurable circuits , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[15]  Zdenek Vasícek,et al.  Efficient Phenotype Evaluation in Cartesian Genetic Programming , 2012, EuroGP.

[16]  Sherief Reda,et al.  ABACUS: A technique for automated behavioral synthesis of approximate computing circuits , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[17]  Lukás Sekanina,et al.  Low-Level Flexible Architecture with Hybrid Reconfiguration for Evolvable Hardware , 2015, ACM Trans. Reconfigurable Technol. Syst..

[18]  A. Kuehlmann,et al.  Logic optimization using rule-based randomized search , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[19]  Lukás Sekanina,et al.  Evolutionary Approach to Approximate Digital Circuits Design , 2015, IEEE Transactions on Evolutionary Computation.

[20]  Lukás Sekanina,et al.  A global postsynthesis optimization method for combinational circuits , 2011, 2011 Design, Automation & Test in Europe.

[21]  Rajesh K. Gupta,et al.  Grater: An approximation workflow for exploiting data-level parallelism in FPGA acceleration , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[22]  Ehsanollah Kabir,et al.  Approximate Arithmetic for Low-Power Image Median Filtering , 2015, Circuits Syst. Signal Process..

[23]  Julian Francis Miller,et al.  On the filtering properties of evolved gate arrays , 1999, Proceedings of the First NASA/DoD Workshop on Evolvable Hardware.