Synthesis of topology and sizing of analog electrical circuits by means of genetic programming

https://doi.org/10.1016/S0045-7825(99)00397-7Get rights and content

Abstract

The design (synthesis) of an analog electrical circuit entails the creation of both the topology and sizing (numerical values) of all of the circuit's components. There has previously been no general automated technique for automatically creating the design for an analog electrical circuit from a high-level statement of the circuit's desired behavior. This paper shows how genetic programming can be used to automate the design of eight prototypical analog circuits, including a lowpass filter, a highpass filter, a bandstop filter, a tri-state frequency discriminator circuit, a frequency-measuring circuit, a 60 dB amplifier, a computational circuit for the square root function, and a time-optimal robot controller circuit.

Introduction

Design is a major activity of practising mechanical, electrical, civil, and aeronautical engineers. The design process entails creation of a complex structure to satisfy user-defined requirements. Since the design process typically entails trade-offs between competing considerations, the end product of the process is usually a satisfactory and compliant design as opposed to a perfect design. Design is usually viewed as requiring human intelligence. Consequently, the field of design is a source of challenging problems for automated techniques of machine learning and artificial intelligence. In particular, design problems are useful for determining whether an automated technique can perform tasks that are competitive with human-created designs.

The design (synthesis) of analog electrical circuits is especially challenging. The design process for analog circuits begins with a high-level description of the circuit's desired behavior and characteristics and entails creation of both the topology and the sizing of a satisfactory circuit. The topology comprises the gross number of components in the circuit, the type of each component (e.g., a resistor), and a list of all connections between the components. The sizing involves specifying the values (typically numerical) of each of the circuit's components.

Although considerable progress has been made in automating the synthesis of certain categories of purely digital circuits, the synthesis of analog circuits and mixed analog–digital circuits has not proved to be as amenable to automation [30]. There is no previously known general technique for automatically creating an entire analog circuit from a high-level statement of the design goals of the circuit. Describing “the analog dilemma,” Aaserud and Ring Nielsen [1] noted

Analog designers are few and far between. In contrast to digital design, most of the analog circuits are still handcrafted by the experts or so-called `zahs' of analog design. The design process is characterized by a combination of experience and intuition and requires a thorough knowledge of the process characteristics and the detailed specifications of the actual product.

Analog circuit design is known to be a knowledge-intensive, multiphase, iterative task, which usually stretches over a significant period of time and is performed by designers with a large portfolio of skills. It is therefore considered by many to be a form of art rather than a science.

There has been extensive previous work (surveyed in [23]) on the problem of automated circuit design (synthesis) using simulated annealing, artificial intelligence, and other techniques, including work employing genetic algorithms [11], [27], [33].

This paper presents a uniform approach to the automatic synthesis of both the topology and sizing of analog electrical circuits. Section 2 presents eight design problems involving prototypical analog circuits. Section 3 describes genetic programming. Section 4 details the circuit-constructing functions used in applying genetic programming to the problem of analog circuit synthesis. Section 5 presents the preparatory steps required for applying genetic programming to a particular design problem. Section 6 shows the results for the eight problems. Section 7 cites other circuits that have been designed by genetic programming.

Section snippets

Eight problems of analog design

This paper applies genetic programming to an illustrative suite of eight problems of analog circuit design. The circuits comprise a variety of types of components, including transistors, diodes, resistors, inductors, and capacitors. The circuits have varying numbers of inputs and outputs. The circuits encompass both passive and active circuits.

  • 1.

    Design a one-input, one-output lowpass filter composed of capacitors and inductors that passes all frequencies below 1000 Hz and suppresses all

Background on genetic programming

Genetic programming is a biologically inspired, domain-independent method that automatically creates a computer program from a high-level statement of a problem's requirements. Genetic programming is an extension of the genetic algorithm described in John Holland's pioneering book Adaptation in Natural and Artificial Systems [13]. In genetic programming, the genetic algorithm operates on a population of computer programs of varying sizes and shapes [18], [26].

Starting with a primordial ooze of

Applying genetic programming to analog circuit synthesis

Genetic programming can be applied to the problem of synthesizing circuits if a mapping is established between the program trees (rooted, point-labeled trees – that is, acyclic graphs – with ordered branches) used in genetic programming and the labeled cyclic graphs germane to electrical circuits. The principles of developmental biology and work on applying genetic algorithms to evolve neural networks [12], [17] provide the motivation for mapping trees into circuits by means of a developmental

Preparatory steps

Before launching a run of genetic programming on a problem of circuit synthesis, the user must perform the following seven major preparatory steps: (1) identify the suitable embryonic circuit, (2) determine the architecture of the overall circuit-constructing program trees, (3) identify the terminals of the program trees, (4) identify the primitive functions of the program trees, (5) create the fitness measure, (6) choose parameters, and (7) determine the termination criterion and method of

Results

A large majority of the randomly created initial circuits of generation 0 were not able to be simulated by SPICE; however, over 90% of the individuals in the population were simulatable after only a few generations of each run. In all eight problems, fitness was observed to improve from generation to generation during the run. Satisfactory results were generated on the first or second run of each of the eight problems. Most of the eight problems were solved on the very first run. When a second

Other circuits

Numerous other analog electrical circuits have been similarly designed using the techniques described in this paper, including a difficult-to-design asymmetric bandpass filter, a crossover filter, a double passband filter, other amplifiers, a temperature-sensing circuit, and a voltage reference circuit [23]. Ten of the circuit described in [23] are subjects of US patents.

Conclusion

There has previously been no general automated technique for synthesizing an analog electrical circuit from a high-level statement of the circuit's desired behavior. In this paper, genetic programming succeeded in evolving both the topology and sizing of eight different prototypical analog electrical circuits, including a lowpass filter, a highpass filter, a tri-state frequency discriminator circuit, a 60 dB amplifier, a computational circuit for the square root, and a time-optimal robot

References (35)

  • O. Aaserud et al.

    Trends in current analog design: A panel debate

    Analog Integrated Circuits and Signal Processing

    (1995)
  • D. Andre, J.R. Koza, Parallel genetic programming: A scalable implementation using the transputer architecture, in:...
  • P.J. Angeline, K.E. Kinnear Jr. (Eds.), Advances in Genetic Programming 2, MIT Press, Cambridge, MA,...
  • W. Banzhaf, P. Nordin, R.E. Keller, F.D. Francone, Genetic Programming – An Introduction, Morgan Kaufmann and...
  • W. Banzhaf, R. Poli, M. Schoenauer, T.C. Fogarty, Proceedings of the Genetic Programming: First European Workshop....
  • F.H. Bennett III, J.R. Koza, D. Andre, M.A. Keane, Evolution of a 60 Decibel op amp using genetic programming, in: T....
  • G.A. Campbell, Electric wave filter, US Patent 1227113, filed 15 July 1915, issued 22 May...
  • W. Cauer, Artificial network, US Patent 1958742, filed 8 June 1928 in Germany, filed 1 December 1930 in United States,...
  • W. Cauer, Electric wave filter, US Patent 1989545, filed 8 June 1928, filed 6 December 1930 in United States, issued 29...
  • W. Cauer, Unsymmetrical electric wave filter, filed 10 November 1932 in Germany, filed 23 November 1933 in United...
  • J.B. Grimbleby, Automatic analogue network synthesis using genetic algorithms, in: Proceedings of the First...
  • F. Gruau, Cellular encoding of genetic neural networks, Technical report 92-21, Laboratoire de l'Informatique du...
  • J.H. Holland

    Adaptation in Natural and Artificial Systems

    (1975)
  • K.S. Johnson, Electric-wave transmission, US Patent 1611916, filed 9 March 1923, issued 28 December...
  • W.C. Johnson

    Transmission Lines and Networks

    (1950)
  • K.E. Kinnear Jr. (Ed.), Advances in Genetic Programming, MIT Press, Cambridge, MA,...
  • H. Kitano

    Designing neural networks using genetic algorithms with graph generation system

    Complex Systems

    (1990)
  • Cited by (0)

    View full text