a sub-circuit towards FPGA system design was pre-
sented in (Vasicek and Sekanina, 2016) that adopted
CGP to re-synthesize the circuit. Overall, CGP of-
fered better trade-off metrics between hardware de-
sign parameters and error metrics when compared
with other traditional practices (Miller and Harding,
2008). However, the runtime incurred to synthe-
size circuits is extremely high, especially for a higher
number of inputs and for complex non-linear func-
tionalities (Hodan et al., 2020). Moreover, due to the
surge in the applied machine-learning, and artificial
intelligence techniques, higher-order computations in
the order of 32-bits or 64-bits data-format are man-
dated (Miyasaka et al., 2021). Evolving hardware
designs for designs with large number of input re-
quire faster genetic programming algorithms, without
compromising on the fitness achieved. On the con-
trary, higher-order functional design is likely to im-
pose tight constraints on the fitness, since a minute
deviation is expected to induce large errors in the pro-
cessed data. Hence, there is a timely need for running
CGP and arriving at the solution much faster without
compromising on the fitness.
Sections 2 and 3 describe related work and CGP
configurations. In section 4 we introduce the pro-
posed modifications to CGP, and section 5 analyse the
impact on basic non-linear functions. Section 6 show-
cases the advantage of modifications when used in the
synthesis of activation functions in Neural Networks.
2 RELATED WORK
CGP and its variants were explored and thoroughly
investigated in the past (Miller, 2020; Manazir and
Raza, 2019). To briefly summarize, the CGP vari-
ants in the form of graph-based crossover and applied
mutation operators were discussed in (Miller, 2020).
However, multiple mutations invariably run on mul-
tiple threads or processes till functional crossover is
attained, which indirectly consumes more computa-
tional resources to allow for context switching be-
tween the multiple processes. The only possible ad-
vantage is attaining a quick graphical crossover, de-
pendent on the initial seeding and highly correlated
mutation operators. Modular CGP is another ex-
tended version of the original, where additional mu-
tation operators allow CGP-encoded sub-functions to
be re-evaluated and re-synthesized. However, evolv-
ing to a sub-functional genotype first-up is a com-
putationally heavy task. Furthermore, evolved sub-
functions may not necessarily converge to an opti-
mized solution and a slight deviation in the generated
sub-functions may lead to functionally incorrect de-
signs. A different method of taking CGP phenotype
to machine code for faster execution was attempted.
A whole set of implementations with a speedup in
the CGP run was achieved by executing the runs on
the hardware units such as FPGAs, and application-
specific virtual reconfigurable circuit (VRC) (Va
ˇ
s
´
ı
ˇ
cek
and Sekanina, 2012; Hrb
´
a
ˇ
cek and Drahosova, 2013),
which are categorically, a different set of approaches.
Overall, most modifications aim to add more opera-
tive dimensions or shift the execution to a completely
different platform to improve the operational speed.
The current CGP methods exploited in the literature
do not address any speedup mechanism to arrive at
fitter solutions. This paper proposes two new modi-
fications to the existing CGP methodology to achieve
the desired synthesized gate-level circuits with lesser
generations and, at the same time, extract a group of
fitter solutions. The two mechanism includes:
1. Applying a different mutation rate, siilar to
(Thierens, 2002). Especially for realizing non-
linear functions instead of a constant mutation rate
adopted in the traditional methods, and
2. Incorporating a binary-weighted fitness function
instead of the same weight across the data-format
of the functions under synthesis.
The proposed modifications to the CGP run are highly
useful for realizing hardware designs for non-linear
functions, which are essential components of the
modern-day neural network and its family of compu-
tational networks. Hardware realization of two types
of non-linear functions is demonstrated to showcase
the impact of the proposed CGP method - i) Power
functions and ii) Activation functions. The paper con-
tributes to introducing an exponential mutation rate
(eVar) and binary-weighted fitness function (BwF)
for synthesizing non-linear functions. As per the au-
thors’ knowledge, this is the first time a varying muta-
tion rate and binary-weighted fitness across the data-
format is adopted and analysed for circuit synthesis.
3 CARTESIAN GENETIC
PROGRAMMING
In CGP, a directed acrylic graph (DAG) consisting
of an array of gates is evolved iteratively for the de-
sired function (Miller and Harding, 2008). Nodes of
the DAG are gates picked from the predefined list
employed to build the combinational circuit. The
DAG, which is defined using encoded genotype, is
mutated repeatedly in an attempt to obtain the cor-
responding phenotype (digital circuits) that performs
better in the desired objective functions. Objective
Improving Digital Circuit Synthesis of Complex Functions using Binary Weighted Fitness and Variable Mutation Rate in Cartesian Genetic
Programming
113