The Evolution of Analogue CMOS Circuits Using Genetic Programming

Thanwa Sripramong (PhD student)
Supervisor: Prof. Chris Toumazou
There have been several analogue circuit design systems introduced in the last two decades. Most of them are based on an general idea of using predefined modules and strategies to reconstruct circuits. The result are very satisfying under circumstance that a circuit is designed under knowledge of circuit design which is preinstalled in the system.

In recent years, evolutionary algorithms have been introduced to allow the evolution of circuit without intensive knowledge on particular design. However, the principle process of using evolutionary algorithms is to evaluate circuits by their behaviour, which, in general, this does not include the design layout of circuit network. Although circuits evolved by these systems can perform under a simulation environment, the design is likely not to be recognised like human design and since the design often allows components to perform in irregular situation. This often causes unexpected result when adapted in real situation. 

Thus, we introduces the combination of using evolutionary algorithms for the evolution of circuits to design analogue circuit, but also using design rules to control the design, and , in the same time, recover faulty design which caused by evolution. Although the design are also limited by the design rules, the degree of freedom in designing a total-new design is higher than using knowledge base alone as the design rules do not control the whole design but act as design assistance.

We uses several algorithms to improve performance and allow the system to run on a PC platform. Some of them are:
  1. Dynamic Population Sizing (DPS) This technique has been used in other application. We introduces a limited use of DPS in our system to allow the population grows when it needs more diversity.
  2. Global Circuit Library (GCL) This technique is simply a collection of modules so the evolution process can use them as well as basic components
  3. New design optimisation, including screening/simplifying algorithms and current-flow analysis  The screening/simplifying algorithms check if any component violates basic design rules of circuit. The current-flow analysis goes another step. It reconstructs the circuit in the from of current-flow lists and using the general design rules to modify connections or eliminate parts of circuit which does not affect circuit behaviour.
  4. Improved design of genotype information for CMOS design the improved GP-tree representation(genotype) for CMOS design allows a circuit to grow under the construction of current-flow lists. This dramatically reduces search space used by genetic programming, a type of evolutionary algorithms.

Current status
Although the system could be adapted for general design, at this moment we are developing the system for the evolution of CMOS transconductance operational amplifier. The system  evolves a 60dB CMOS operational amplifier on a PC within 2-3 days (in general condition, with PentiumII 400MHzPC Linux operating system, some CMOS transistors with region-violation allowed) . We are now improving the system for the better result. 

All information and materials in this page are copyrigted, reproducing this page is prohibited. Copyright(r) 2001 by T. Sripramong.