Evolutionary Approach to Approximate Digital Circuits Design

In approximate computing, the requirement of perfect functional behavior can be relaxed because some applications are inherently error resilient. Approximate circuits, which fall into the approximate computing paradigm, are designed in such a way that they do not fully implement the logic behavior given by the specification and, hence, their accuracy can be exchanged for lower area, delay or power consumption. In order to automate the design process, we propose to evolve approximate digital circuits that show a minimal error for a supplied amount of resources. The design process, which is based on Cartesian genetic programming (CGP), can be repeated many times in order to obtain various tradeoffs between the accuracy and area. A heuristic seeding mechanism is introduced to CGP, which allows for improving not only the quality of evolved circuits, but also reducing the time of evolution. The efficiency of the proposed method is evaluated for the gate as well as the functional level evolution. In particular, approximate multipliers and median circuits that show very good parameters in comparison with other available implementations were constructed by means of the proposed method.

[1]  Lukás Sekanina,et al.  Multiobjective evolution of approximate multiple constant multipliers , 2013, 2013 IEEE 16th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS).

[2]  Michael Franz,et al.  Power reduction techniques for microprocessor systems , 2005, CSUR.

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

[4]  Axel W. Krings,et al.  The test vector problem and limitations to evolving digital circuits , 2000, Proceedings. The Second NASA/DoD Workshop on Evolvable Hardware.

[5]  Puneet Gupta,et al.  Trading Accuracy for Power in a Multiplier Architecture , 2011, J. Low Power Electron..

[6]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[7]  A. P. Shanthi,et al.  Practical and scalable evolution of digital circuits , 2009, Appl. Soft Comput..

[8]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[9]  Garrison W. Greenwood,et al.  Introduction to evolvable hardware , 2006 .

[10]  Andrew M. Tyrrell,et al.  Use of a multi-objective fitness function to improve cartesian genetic programming circuits , 2010, 2010 NASA/ESA Conference on Adaptive Hardware and Systems.

[11]  Lukás Sekanina,et al.  This is an author-created accepted version of the paper: Vasicek Z., Sekanina L.: Formal Verification of Candidate Solutions for Post- Synthesis Evolutionary Optimization in Evolvable Hardware. Genetic Programming and Evolvable Machines, Spec. Issue on Evolvable Hardware , 2011 .

[12]  J.D. Lohn,et al.  Evolvable hardware using evolutionary computation to design and optimize hardware systems , 2006, IEEE Computational Intelligence Magazine.

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

[14]  DebK.,et al.  A fast and elitist multiobjective genetic algorithm , 2002 .

[15]  Julian Francis Miller,et al.  Principles in the Evolutionary Design of Digital Circuits—Part II , 2000, Genetic Programming and Evolvable Machines.

[16]  Timothy G. W. Gordon,et al.  Exploiting development to enhance the scalability of hardware evolution , 2005 .

[17]  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).

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

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

[20]  Kaushik Roy,et al.  MACACO: Modeling and analysis of circuits for approximate computing , 2011, 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[21]  Isamu Kajitani,et al.  Hardware Evolution at Function Level , 1996, PPSN.

[22]  Andrew M. Tyrrell,et al.  Challenges of evolvable hardware: past, present and the path to a promising future , 2011, Genetic Programming and Evolvable Machines.

[23]  Lukás Sekanina,et al.  Approximate circuit design by means of evolvable hardware , 2013, 2013 IEEE International Conference on Evolvable Systems (ICES).

[24]  E. Stomeo,et al.  Generalized Disjunction Decomposition for Evolvable Hardware , 2006, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

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

[26]  Luis Ceze,et al.  Neural Acceleration for General-Purpose Approximate Programs , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

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

[28]  Dan Grossman,et al.  EnerJ: approximate data types for safe and general low-power computation , 2011, PLDI '11.

[29]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[30]  Kaushik Roy,et al.  Low-Power Digital Signal Processing Using Approximate Adders , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[31]  Douglas L. Jones,et al.  Stochastic computation , 2010, Design Automation Conference.

[32]  Licheng Jiao,et al.  Multi-objective evolutionary design and knowledge discovery of logic circuits based on an adaptive genetic algorithm , 2006, Genetic Programming and Evolvable Machines.

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

[34]  Julian Francis Miller,et al.  Redundancy and computational efficiency in Cartesian genetic programming , 2006, IEEE Transactions on Evolutionary Computation.

[35]  Mehrdad Salami,et al.  Evolvable hardware at function level , 1997, Proceedings of 1997 IEEE International Conference on Evolutionary Computation (ICEC '97).