TY - GEN
T1 - Evolution of Complex Combinational Logic Circuits Using Grammatical Evolution with SystemVerilog
AU - Tetteh, Michael Kwaku
AU - Mota Dias, Douglas
AU - Ryan, Conor
N1 - Publisher Copyright:
© 2021, Springer Nature Switzerland AG.
PY - 2021
Y1 - 2021
N2 - 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 × 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 × 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 × 64-bit and 128-bit respectively. These are substantially larger than the current state of the art for evolutionary approaches, specifically, 6.4 × (adder), 10.7 × (multiplier), and 6.7 × (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 × 32-bit and 256-bit × 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.
AB - 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 × 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 × 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 × 64-bit and 128-bit respectively. These are substantially larger than the current state of the art for evolutionary approaches, specifically, 6.4 × (adder), 10.7 × (multiplier), and 6.7 × (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 × 32-bit and 256-bit × 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.
KW - Digital circuit design
KW - Evolvable Hardware
KW - Grammatical Evolution
KW - Hardware Description Languages (HDLs)
KW - SystemVerilog
KW - Verilog
UR - http://www.scopus.com/inward/record.url?scp=85107364837&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-72812-0_10
DO - 10.1007/978-3-030-72812-0_10
M3 - Conference contribution
AN - SCOPUS:85107364837
SN - 9783030728113
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 146
EP - 161
BT - Genetic Programming - 24th European Conference, EuroGP 2021, Held as Part of EvoStar 2021, Proceedings
A2 - Hu, Ting
A2 - Lourenço, Nuno
A2 - Medvet, Eric
PB - Springer Science and Business Media Deutschland GmbH
T2 - 24th European Conference on Genetic Programming, EuroGP 2021
Y2 - 7 April 2021 through 9 April 2021
ER -