Principles in the Evolutionary Design of Digital Circuits—Part I