Abstract
Since the early nineties the lack of scalability of fitness evaluation has been the main bottleneck preventing the adoption of evolutionary algorithms for logic circuits synthesis. Recently, various formal approaches such as SAT and BDD solvers have been introduced to this field to overcome this issue. This made it possible to optimise complex circuits consisting of hundreds of inputs and thousands of gates. Unfortunately, we are facing another problem—scalability of representation. The efficiency of the evolutionary optimization applied at the global level deteriorates with the increasing complexity. To overcome this issue, we propose to apply the concept of local resynthesis in this work. Local resynthesis is an iterative process based on the extraction of smaller sub-circuits from a complex circuit that are optimized locally and implanted back to the original circuit. When applied appropriately, this approach can mitigate the problem of scalability of representation. Two complementary approaches to the extraction of the sub-circuits are presented and evaluated in this work. The evaluation is done on a set of highly optimized complex benchmark problems representing various real-world controllers, logic and arithmetic circuits. The experimental results show that the evolutionary resynthesis provides better results compared to globally operating evolutionary optimization. In more than 85% cases, a substantially higher number of redundant gates was removed while keeping the computational effort at the same level. A huge improvement was achieved especially for the arithmetic circuits. On average, the proposed method was able to remove 25.1% more gates.
Similar content being viewed by others
Notes
The window of a Boolean network N is a connected subnetwork \(N'\subseteq N\) that corresponds to the subset of nodes of the network containing nodes from root set together with all nodes on paths between the leaf set and the root set. The nodes in the leaf set are not included in the window.
The Verilog netlists of the benchmark circuits are taken from https://lsi.epfl.ch/MIG.
The following circuits were used to determine the best parameter setting: dsp, mem_ctrl, tv80, diffeq1, max, revx.
References
R. Brayton, A. Mishchenko, ABC: An academic industrial-strength verification tool, in Computer Aided Verification, (Springer, Berlin, 2010), pp. 24–40
C.C.A. Coello, A.D. Christiansen, A.H. Aguirre, Automated design of combinational logic circuits by genetic algorithms. In: Artificial Neural Nets and Genetic Algorithms: Proceedings of the International Conference in Norwich, U.K., 1997Springer, Vienna, 1998), pp. 333–336. https://doi.org/10.1007/978-3-7091-6492-1_73
P. Fiser, J. Schmidt, Small but nasty logic synthesis examples, in Proceedings of 8th International Workshop on Boolean Problems, pp. 183–190 (2008)
P. Fiser, J. Schmidt, Z. Vasicek, L. Sekanina, On logic synthesis of conventionally hard to synthesize circuits using genetic programming, in 13th IEEE Symposium on Design and Diagnostics of Electronic Circuits and Systems, pp. 346–351 (2010)
B. Goldman, W. Punch, Reducing wasted evaluations in cartesian genetic programming. Lecture Notes in Computer Science 7831 LNCS, 61–72 (2013). https://doi.org/10.1007/978-3-642-37207-0_6
B.W. Goldman, W.F. Punch, Analysis of cartesian genetic programmings evolutionary mechanisms. IEEE Trans. Evol. Comput. 19(3), 359–373 (2015)
T.G.W. Gordon, P.J. Bentley, On evolvable hardware, in Soft Computing in Industrial Electronics, (Physica-Verlag, London, 2002), pp. 279–323.
P.C. Haddow, A. Tyrrell, Challenges of evolvable hardware: past, present and the path to a promising future. Genet. Program Evolvable Mach. 12, 183–215 (2011)
T. Higuchi, T. Niwa, T. Tanaka, H. Iba, H. de Garis, T. Furuya, Evolving hardware with genetic learning: a first step towards building a darwin machine, in Proceedings of the 2nd International Conference on Simulated Adaptive Behaviour. (MIT Press, 1993), pp. 417–424
J. Kocnova, Z. Vasicek, Towards a scalable ea-based optimization of digital circuits, in Genetic Programming 22nd European Conference, EuroGP 2019 (Springer International Publishing, 2019), pp. 81–97. https://doi.org/10.1007/978-3-030-16670-0_6
J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection (MIT Press, Cambridge, MA, 1992)
N. Li, E. Dubrova, AIG rewriting using 5-input cuts, in Proceedings of the 29th International Conference on Computer Design, pp. 429–430. IEEE CS (2011)
J. Miller, P. Thomson, Cartesian genetic programming, in Proceedings of the 3rd European Conference on Genetic Programming EuroGP2000, LNCS, vol. 1802, pp. 121–132. Springer (2000)
J.F. Miller, Digital filter design at gate-level using evolutionary algorithms, in Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 1999 (Morgan Kaufmann, 1999), pp. 1127–1134
J.F. Miller, Cartesian Genetic Programming (Springer, 2011)
J.F. Miller, Cartesian genetic programming: its status and future. Genet. Program Evolvable Mach. (2019). https://doi.org/10.1007/s10710-019-09360-6
J.F. Miller, P. Thomson, T. Fogarty, Designing electronic circuits using evolutionary algorithms. arithmetic circuits: A case study, in Genetic Algorithms and Evolution Strategies in Engineering and Computer Science. (Wiley, 1997), pp. 105–131
A. Mishchenko, R. Brayton, Scalable logic synthesis using a simple circuit structure, in International Workshop on Logic and Synthesis, pp. 15–22 (2006)
A. Mishchenko, S. Chatterjee, R. Brayton, DAG-aware AIG rewriting: a fresh look at combinational logic synthesis, in 2006 43rd ACM/IEEE Design Automation Conference, pp. 532–535 (2006). https://doi.org/10.1145/1146909.1147048
L. Sekanina, Evolvable Components: From Theory to Hardware Implementations, Natural Computing Series (Springer, New York, 2004)
L. Sekanina, O. Ptak, Z. Vasicek, Cartesian genetic programming as local optimizer of logic networks, in 2014 IEEE Congress on Evolutionary Computation. (IEEE CIS, 2014), pp. 2901–2908
A.P. Shanthi, R. Parthasarathi, Practical and scalable evolution of digital circuits. Appl. Soft Comput. 9(2), 618–624 (2009)
E. Stomeo, T. Kalganova, C. Lambert, Generalized disjunction decomposition for evolvable hardware. IEEE Trans. Syst. Man Cybern. B 36(5), 1024–1043 (2006)
E. Stomeo, T. Kalganova, C. Lambert, Generalized disjunction decomposition for the evolution of programmable logic array structures, in First NASA/ESA Conference on Adaptive Hardware and Systems (AHS’06), pp. 179–185 (2006)
Y. Tao, L. Zhang, Y. Zhang, A projection-based decomposition for the scalability of evolvable hardware. Soft. Comput. 20(6), 2205–2218 (2016). https://doi.org/10.1007/s00500-015-1636-2
A. Thompson, Silicon evolution, in Proceedings of the First Annual Conference on Genetic Programming, GECCO ’96 (MIT Press, Cambridge, 1996), pp. 444–452
Z. Vasicek, Cartesian GP in optimization of combinational circuits with hundreds of inputs and thousands of gates, in Proceedings of the 18th European Conference on Genetic Programming–EuroGP, LCNS 9025 (Springer International Publishing, 2015), pp. 139–150
Z. Vasicek, L. Sekanina, Formal verification of candidate solutions for post-synthesis evolutionary optimization in evolvable hardware. Genet. Program Evolvable Mach. 12(3), 305–327 (2011)
V. Vassilev, D. Job, J.F. Miller, Towards the Automatic Design of More Efficient Digital Circuits. In: J. Lohn, A. Stoica, D. Keymeulen, S. Colombano (eds.) Proc. of the 2nd NASA/DoD Workshop on Evolvable Hardware, pp. 151–160. IEEE Computer Society, Los Alamitos, CA, USA (2000)
C. Wolf, J. Glaser, J. Kepler, Yosys-a free verilog synthesis suite, in Proceedings of the 21st Austrian Workshop on Microelectronics (Austrochip) (2013)
S. Zhao, L. Jiao, Multi-objective evolutionary design and knowledge discovery of logic circuits based on an adaptive genetic algorithm. Genet. Program Evolvable Mach. 7(3), 195–210 (2006)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This work was supported by Czech Science Foundation Project 19-10137S.
Rights and permissions
About this article
Cite this article
Kocnova, J., Vasicek, Z. EA-based resynthesis: an efficient tool for optimization of digital circuits. Genet Program Evolvable Mach 21, 287–319 (2020). https://doi.org/10.1007/s10710-020-09376-3
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10710-020-09376-3