Pulse Oscillation
Generating circuits with an oscillating pulse output
Description
Among the simplest fitness functions to implement for FPGA intrinsic analog evolvable hardware is the variance maximization function. Plainly put, this function demands the maximum change, either positive or negative, of each instantaneous measurement from the microcontroller. The ultimate effect is that the amplitude of the output waveform will increase with each successive generation.
Runtime  Population  Generations  Mutation  Crossover 

1012 hours  50  100  0.005  0.5 
Fitness Function

This fitness function simply takes the inverse of the absolute difference of the target frequency (f) and the measured frequency (n). Circuits whose measured output frequency is closer to the target frequency are assigned a higher fitness value. A special condition is set in the event that the measured output matches the target frequency, bypassing a dividebyzero error and assigning a fitness of 1000. 
Results
Similar to variance maximization, this experiment is strongly subject to realworld noise, so each experiment will yield a different evolutionary trajectory. In this case, fitness increased steadily for nearly 70 generations before catapulting to maximum fitness where it remained for the duration of the experiment. Although the mean fitness of the population appears to hover near fitness of 0, this is a result of fitness assignment being nonlinearly related to the fitness measured. When viewed in logform, it is shown that the mean population steadily increases in fitness behind the best circuit.

