“…One potential methodology for achieving this is to use Evolutionary Algorithms (EAs), which have been used in the past to optimise existing CMOS designs for a number of criteria, such as delay [36], area [32], power and yield [42]. EAs have also been used to produce new and unconventional design topologies at both the gate level [27] and device level [40], and also fault-tolerant designs [13,14]. In the majority of cases where EAs have been used, the evolved or optimised designs are not always feasible for fabrication, due to the EA using an insufficient fitness criteria to assess the solutions, which does not take account of a realistic set of factors that affect the design.…”