Automated analog circuit design using two-layer genetic programming
Introduction
Analog circuits play an important role in electronic systems. Circuit design is of considerable practical importance because all electrical circuits are ultimately analog circuits. Although the activity of the digital circuit design far outpaces that of the analog circuit design, analog modules are still indispensable in many digital circuits. Moreover, a layer of analog circuitry provides an interface between most digital circuits and the rest of the world. Further, all commonly used analog circuits must be redesigned with the introduction of each new generation of solid-state process technology.
It was recently estimated that approximately 60% of CMOS-based application-specific integrated circuit (ASIC) includes analog circuits [1]. The design process for analog circuits begins with a high layer description of the circuit’s desired behavior. Both the topology and the sizing of the circuit must be chosen such that the resulting circuit satisfies the design objectives. 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 components. The sizing entails specifying the values (often numerical) of each component in the circuit.
The techniques for automating analog circuit design appeared about 20 years ago. These methods include heuristics [2], knowledge-bases [3], and simulated annealing [4]. Some techniques from evolutionary computation, such as the genetic algorithms (GAs) [5], [6] are under studying in the last few years. The research of Koza and his collaborators on analog circuit synthesis by genetic programming (GP) is likely the most successful evolutionary computation-based approach so far [7], [8], [9]. Unlike previous systems, the component values, the number of components and the circuit topologies are evolved simultaneously. The genetic programming system begins with minimal knowledge of analog circuit design and generates circuits using a cellular encoding technique and circuit-constructing program trees [10].
Owning to the challenge of analog circuit synthesis, it has been performed traditionally by experts who have a wealth of experience and intuition. By far, much progression has been made in automating analog circuit synthesis [11], [12], [13]. However, due to the complexity of the problem, the evolving size is larger, and the evaluation time is longer consequently. It will affect the efficiency of the generation of the good circuits.
In this paper, we propose a two-layer evolutionary scheme to evolve the analog circuits. This scheme is a marriage of a divide-and-conquer approach [14] and genetic programming. Section 2 gives a general overview of the GP. Section 3 concentrates on how the two-layer GP is applied to create common analog circuits, especially on how to select component values and topology sizes for a given circuit topology. Section 4 describes two specific applications of the two-layer GP scheme with the results and the analyses of them. Conclusions and plans for the future work are given in Section 5.
Section snippets
Genetic programming overview
Genetic programming, concerned with artificial intelligence, is based on the ideas of Darwinian evolution and genetics [15], [16]. As a branch of evolutionary computation (EC), the genetic programming is a method to automatically search for computer programs that perform a specific task. While GA uses a string of numbers to represent the solution, GP creates computer programs with a tree structure.
Genetic programming generates the solutions by executing the following three steps:
- (1)
Random
Basic ideas of the two-layer GP
Based on the common GP, we employ a divide-and-conquer approach to make the circuit divided into two layers before evolving, and name this new method Two-layer GP. In this way, we can make sure that, while the size of the evolvable circuit and its population become larger, the actual evolving size of the circuit’s representation and the evolutionary computation will increase to a lower extent compared to the original method. The two-layer GP contains two major properties as follows.
Experimental results
This section is about the application of two-layer GP for the solution of several practical analog circuit applications. At the beginning of each evolution, a basic embryonic circuit is given as the primitive individual of the evolvable circuit. The embryonic circuit is given due to the original function of the circuit. As mentioned above, the fitness function involved here is f(g, s, p), s and p can be synchronously obtained by simulation. Our evolution environment is PIV 2.3 G, EMS memory 1 GB
Conclusions and future work
In this paper, we propose a two-layer evolutionary scheme based on genetic programming (GP), which uses a divide-and-conquer approach to evolve the analog circuit. We have shown that a two-layer circuit representation and evolution strategy based on two-layer evolutionary scheme can automatically produce circuits in two applications. Detailed simulations of the evolved designs suggest that the performances of the circuits are electrically well-behaved and thus are suitable for physical
Acknowledgments
This work is supported by the National Natural Science Key Foundation of China with the Grant No. 60133010, the National Research Foundation for the Doctoral Program of Higher Education of China with the Grant No. 20030486049, the Research Project of Science and Technology of Education Department of Jiangxi Province with the Grant No. Gan-Jiao-Ji-Zi[2005]150 and the Key Laboratory of High-Performance Computing Technology of Jiangxi Province with the Grand No. JXHC-2005-003.
References (18)
- et al.
Sybolic Analysis for Automated Design of Analog Integrated Circuits
(1991) - et al.
Heuristic Techniques in Computer-Aided Circuit Analysis
IEEE Transactions on Circuits and Systems
(1975) - R. Harjani, R.A. Rutenbar, L.R. Carey, A prototype framework for knowledge-based analog circuit synthesis, in: Proc....
- et al.
Synthesis of high-performance analog circuits in ASTRX/OBLX
IEEE Transactions on Computer-Aided Design
(1996) - et al.
Darwin: analogue circuit synthesis based on genetic algorithms
International Journal of Circuit Theory and Applications
(1995) - et al.
A circuit representation technique for automated circuit design
IEEE Transactions on Evolutionary Computation
(1999) - et al.
Automated synthesis of analog electrical circuits by means of genetic programming
IEEE Transactions On Evolutionary Computation
(1997) - et al.
Automatic synthesis using genetic programming of both the topology and sizing for five Post-2000 patented analog and mixed analog-digital circuits
Southwest Symposium on Mixed-Signal Design
(2003) - J.R. Koza, S.H. Al-Sakran, L.W. Jones, Cross-domain features of runs of genetic programming used to evolve designs for...
Cited by (18)
Immune Plasma Programming: A new evolutionary computation-based automatic programming method
2024, Applied Soft ComputingIncreasing-Dimension Evolution: Make the evolutionary design of passive filters more efficient
2022, Applied Soft ComputingCitation Excerpt :These studies can be divided into the following categories. General-purpose circuit representation methods [8–16]: for various analog circuits, such as amplifiers, filters, and operators, find more effective circuit encoding methods. Evolutionary design of specific circuit types [17–26]: for a single circuit type, such as passive filters, design dedicated methods, select appropriate search algorithms, and (or) build evolutionary models.
A quick semantic artificial bee colony programming (qsABCP) for symbolic regression
2019, Information SciencesCitation Excerpt :In literature, many evolutionary computation based automatic programming algorithms like genetic programming (GP) [32], ant programming [43], dynamic ant programming [45], artificial immune system programming [23], immune programming [37], clone selection programming [11], and biogeography based programming [14] are used for symbolic regression. Including symbolic regression problems, these algorithms have a wide range of application fields such as circuit design [32,43,49], data mining [5,38,39], classification [5,10,12,39], path planning [24,32,47], neural network design [7], fuzzy system design [6], time series prediction [6,7], prediction [15,17,18,35,46], etc. Artificial bee colony programming (ABCP) is one of the evolutionary computation based automatic programming algorithms and it was introduced into literature in 2012 [31] by Karaboga et al.
Automatic design of analog electronic circuits using grammatical evolution
2018, Applied Soft Computing JournalCitation Excerpt :There are several approaches to manage dangling components: Remove the dangling component [36,18]. Connect the dangling component to a preexisting circuit node (ground, positive or negative power supply, input, output, etc.) [37].
A new hybrid algorithm for analog ICs optimization based on the shrinking circles technique
2017, Integration, the VLSI JournalGenetic algorithm software system for analog circuit design
2015, Procedia CIRP