Describir: Genetic Algorithms: An Overview with Applications in Evolvable Hardware