Skip to main content

Evolution of Complex Combinational Logic Circuits Using Grammatical Evolution with SystemVerilog

  • Conference paper
  • First Online:
Book cover Genetic Programming (EuroGP 2021)

Abstract

Scalability problems have hindered the progress of Evolvable Hardware in tackling complex circuits. The two key issues are the amount of testing (for example, a 64-bit \(\times \) 64-bit add-shift multiplier problem has \(2^{64 + 64}\) test cases) and low level that hardware works at: a circuit to implement 64-bit \(\times \) 64-bit add-shift multiplier would require approximately 33,234 gates when synthesized using the powerful Yosys Open SYnthesis Suite tool. We use Grammatical Evolution and SystemVerilog, a Hardware Description Language (HDL), to evolve fully functional parameterized adder, multiplier and selective parity circuits with default input bit-width sizes of 64-bit + 64-bit, 64-bit \(\times \) 64-bit and 128-bit respectively.

These are substantially larger than the current state of the art for evolutionary approaches, specifically, 6.4\(\times \) (adder), 10.7\(\times \) (multiplier), and 6.7\(\times \) (parity). We are able to scale so dramatically because our use of an HDL permits us to operate at a far higher level of abstraction than most other approaches. This has the additional benefit that no further evolutionary experiments are needed to design different input bit-width sizes of the same circuit as is the case for existing EHW approaches. Thus, one can evolve once and reuse multiple times, simply by specifying the newly desired input/output bit-width sizes during module instantiation.

For example, 32-bit \(\times \) 32-bit and 256-bit \(\times \) 256-bit multipliers can be instantiated from an evolved parameterized multiplier. We also adopt a method for reducing testing from Digital Circuit Design known as corner case testing, well-known technique heavily relied upon by circuit designers to avoid time-consuming exhaustive testing; we demonstrate a simple way to identify and use corner cases for evolutionary testing and show that it enables the generation of massively complex circuits with a huge number of inputs.

We obtain successful results (ranging from 72% to 100%) on each benchmark and all three problems were tackled without resorting to the use of any standard decomposition methods due to our ability to use high-level programming constructs and operators available in SystemVerilog.

The authors are supported by Research Grant 16/IA/4605 from the Science Foundation Ireland and by Lero, the Irish Software Engineering Research Centre. The second author is partially financed by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Fišer, P., Schmidt, J., Vašíček, Z., Sekanina, L.: 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). https://doi.org/10.1109/DDECS.2010.5491755

  2. Goldman, B.W., Punch, W.F.: Reducing wasted evaluations in cartesian genetic programming. In: Krawiec, K., Moraglio, A., Hu, T., Etaner-Uyar, A.Ş., Hu, B. (eds.) EuroGP 2013. LNCS, vol. 7831, pp. 61–72. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37207-0_6

    Chapter  Google Scholar 

  3. Hodan, D., Mrazek, V., Vasicek, Z.: Semantically-oriented mutation operator in cartesian genetic programming for evolutionary circuit design. In: Proceedings of the 2020 Genetic and Evolutionary Computation Conference, GECCO 2020, pp. 940–948. Association for Computing Machinery, New York (2020). https://doi.org/10.1145/3377930.3390188

  4. Hrbacek, R., Sekanina, L.: Towards highly optimized cartesian genetic programming: from sequential via SIMD and thread to massive parallel implementation. In: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation, GECCO 2014, pp. 1015–1022. Association for Computing Machinery, New York (2014). https://doi.org/10.1145/2576768.2598343

  5. Kalganova, T.: Bidirectional incremental evolution in extrinsic evolvable hardware. In: Proceedings of the Second NASA/DoD Workshop on Evolvable Hardware, pp. 65–74 (2000). https://doi.org/10.1109/EH.2000.869343

  6. Kalganova, T.: An extrinsic function-level evolvable hardware approach. In: Poli, R., Banzhaf, W., Langdon, W.B., Miller, J., Nordin, P., Fogarty, T.C. (eds.) EuroGP 2000. LNCS, vol. 1802, pp. 60–75. Springer, Heidelberg (2000). https://doi.org/10.1007/978-3-540-46239-2_5

    Chapter  Google Scholar 

  7. Kocnova, J., Vasicek, Z.: Towards a scalable EA-based optimization of digital circuits. In: Sekanina, L., Hu, T., Lourenço, N., Richter, H., García-Sánchez, P. (eds.) EuroGP 2019. LNCS, vol. 11451, pp. 81–97. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-16670-0_6

    Chapter  Google Scholar 

  8. Manfrini, F.A.L., Bernardino, H.S., Barbosa, H.J.C.: A novel efficient mutation for evolutionary design of combinational logic circuits. In: Handl, J., Hart, E., Lewis, P.R., López-Ibáñez, M., Ochoa, G., Paechter, B. (eds.) PPSN 2016. LNCS, vol. 9921, pp. 665–674. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-45823-6_62

    Chapter  Google Scholar 

  9. Miller, J.F., Thomson, P.: Cartesian genetic programming. In: Poli, R., Banzhaf, W., Langdon, W.B., Miller, J., Nordin, P., Fogarty, T.C. (eds.) EuroGP 2000. LNCS, vol. 1802, pp. 121–132. Springer, Heidelberg (2000). https://doi.org/10.1007/978-3-540-46239-2_9

    Chapter  Google Scholar 

  10. Murakawa, M., Yoshizawa, S., Kajitani, I., Furuya, T., Iwata, M., Higuchi, T.: Hardware evolution at function level. In: Voigt, H.-M., Ebeling, W., Rechenberg, I., Schwefel, H.-P. (eds.) PPSN 1996. LNCS, vol. 1141, pp. 62–71. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-61723-X_970

    Chapter  Google Scholar 

  11. Ryan, C., Collins, J.J., Neill, M.O.: Grammatical evolution: evolving programs for an arbitrary language. In: Banzhaf, W., Poli, R., Schoenauer, M., Fogarty, T.C. (eds.) EuroGP 1998. LNCS, vol. 1391, pp. 83–96. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0055930

    Chapter  Google Scholar 

  12. Ryan., C., Tetteh., M.K., Dias., D.M.: Behavioural modelling of digital circuits in system verilog using grammatical evolution. In: Proceedings of the 12th International Joint Conference on Computational Intelligence, ECTA, vol. 1, pp. 28–39. INSTICC, SciTePress (2020). https://doi.org/10.5220/0010066600280039

  13. Sekanina, L., Walker, J.A., Kaufmann, P., Platzner, M.: Evolution of electronic circuits. In: Miller, J. (eds) Cartesian Genetic Programming. Natural Computing Series. Springer, Heidelberg, pp. 125–179 (2011). https://doi.org/10.1007/978-3-642-17310-3_5

  14. Henriques da Silva, J.E., Soares Bernardino, H.: A 3-step cartesian genetic programming for designing combinational logic circuits with multiplexers. In: Moura Oliveira, P., Novais, P., Reis, L.P. (eds.) EPIA 2019. LNCS (LNAI), vol. 11804, pp. 762–774. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-30241-2_63

    Chapter  Google Scholar 

  15. da Silva, J.E.H., de Souza, L.A.M., Bernardino, H.S.: Cartesian genetic programming with guided and single active mutations for designing combinational logic circuits. In: Nicosia, G., Pardalos, P., Umeton, R., Giuffrida, G., Sciacca, V. (eds.) LOD 2019. LNCS, vol. 11943, pp. 396–408. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-37599-7_33

    Chapter  Google Scholar 

  16. Slaný, K., Sekanina, L.: Fitness landscape analysis and image filter evolution using functional-level CGP. In: Ebner, M., O’Neill, M., Ekárt, A., Vanneschi, L., Esparcia-Alcázar, A.I. (eds.) EuroGP 2007. LNCS, vol. 4445, pp. 311–320. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71605-1_29

    Chapter  Google Scholar 

  17. Stomeo, E., Kalganova, T., Lambert, C.: Generalized disjunction decomposition for evolvable hardware. IEEE Trans. Syst. Man Cybern. Part B (Cybernetics) 36(5), 1024–1043 (2006)

    Article  Google Scholar 

  18. Torresen, J.: A divide-and-conquer approach to evolvable hardware. In: Sipper, M., Mange, D., Pérez-Uribe, A. (eds.) ICES 1998. LNCS, vol. 1478, pp. 57–65. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0057607

    Chapter  Google Scholar 

  19. Torresen, J.: Two-step incremental evolution of a prosthetic hand controller based on digital logic gates. In: Liu, Y., Tanaka, K., Iwata, M., Higuchi, T., Yasunaga, M. (eds.) ICES 2001. LNCS, vol. 2210, pp. 1–13. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45443-8_1

    Chapter  Google Scholar 

  20. Vasicek, Z., Sekanina, L.: How to evolve complex combinational circuits from scratch? In: 2014 IEEE International Conference on Evolvable Systems, pp. 133–140 (2014)

    Google Scholar 

  21. Vasicek, Z., Sekanina, L.: Evolutionary approach to approximate digital circuits design. IEEE Trans. Evol. Comput. 19(3), 432–444 (2015). https://doi.org/10.1109/TEVC.2014.2336175

    Article  Google Scholar 

  22. Vassilev, V.K., Miller, J.F.: Embedding landscape neutrality to build a bridge from the conventional to a more efficient three-bit multiplier circuit. In: Proceedings of the Genetic and Evolutionary Computation Conference. Morgan Kaufmann (2000)

    Google Scholar 

  23. Wolf, C.: Yosys open synthesis suite. http://www.clifford.at/yosys/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Kwaku Tetteh .

Editor information

Editors and Affiliations

Appendix

Appendix

figure a

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Tetteh, M.K., Mota Dias, D., Ryan, C. (2021). Evolution of Complex Combinational Logic Circuits Using Grammatical Evolution with SystemVerilog. In: Hu, T., Lourenço, N., Medvet, E. (eds) Genetic Programming. EuroGP 2021. Lecture Notes in Computer Science(), vol 12691. Springer, Cham. https://doi.org/10.1007/978-3-030-72812-0_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-72812-0_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-72811-3

  • Online ISBN: 978-3-030-72812-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics