An Automated Passive Analog Circuit Synthesis Framework using Genetic Algorithms ∗
Angan Das and Ranga Vemuri Department of Electrical and Computer Engineering University of Cincinnati Cincinnati, Ohio 45221-0030, USA {dasan,
ranga} @ece.uc.edu
ABSTRACT In this work, we present a genetic algorithm based automated circuit synthesis framework for passive analog circuits. A procedure is developed for the simultaneous generation of both the topology and the component values for analog circuits comprising of R, L and C elements, from a given set of specifications. The novelty of the work pertains to two distinct advantages when compared to previous evolutionary search techniques having similar objectives. First of all, the selection procedure chooses prospective parent circuits for mating on the basis of comparable fitness values. Secondly, the crossover process comprises of exchanging well-defined subcircuits, encompassing the whole design space, between the two chosen parent circuits. This minimizes the production of faulty offspring circuits. Experiments conducted on two filter specifications show that the techniques adopted bring about a reduction in the search space and help in faster attainment of the design goal.
1.
INTRODUCTION
Almost all electronic circuits in today’s era deploy analog circuits as essential building blocks. But unlike digital design, analog design mainly rests its arms on the expertise of specially trained analog designers. The design process is an exhaustive, knowledgeintensive and iterative task that takes substantial time, even by experienced and apt designers. Analog circuit synthesis is a procedure of creating a design that conforms to desired performance specifications. It is a dual-step process, viz. selection or generation of a suitable topology and subsequent sizing of the selected topology. Circuit sizing is a matured area of research by virtue of some welldeveloped circuit level synthesis tools [10]. All of them either belong to the knowledge-based category (namely IDAC, OASYS and BLADES) or to the optimization-based category (for eg. OPASYN and DELIGHT.SPICE) [10]. But compared to the sizing phase, the former part of the task i.e. finding the appropriate circuit topology is somewhat more challenging and primarily intuition-based. This is evident from the lack of sufficient analog system-level synthesis tools both in the industry as well as academia. Despite this fact, the established potential of CAD tools in achieving a quick turn-around time is enough reason for sustaining the motivation for development of efficient topology generation tools. The development of system-level synthesis tools underwent a major turn-around with the advent of evolutionary electronics based on Genetic Algorithms (GA) and Genetic Programming (GP) [11]. It opened up a new gateway for the introduction of synthesis tools that require minimal design expertise and reasonable computational effort. GA and GP are essentially stochastic combinatorial opti∗ This work was supported in part by National Science Foundation under award number CCF-0429717 and in part by Ohio Board of Regents PhD Enhancement Program.
IEEE Computer Society Annual Symposium on VLSI(ISVLSI'07) 0-7695-2896-1/07 $20.00 © 2007
mization techniques that can find semi-optimal solutions for various search problems which cannot be solved with otherwise conventional search algorithms. Through GA and GP, one enjoys complete liberty in exploring the maximum stretch of a design space, if not the entirety of it. This is ideal not only for meeting the design goal, but also for generating novel designs, otherwise inconceivable with solely designer’s ability. The GP-based approach used by Koza [8] and Lohn’s linear circuit representation technique [9] are some of the pioneering works in this context. Goh [4] and Grimbleby [6] extended the ideas further. [11] provides a comparative study of the various GA and GPbased synthesis tasks, primarily concerning filter design. A recent work by Chang [1] describes a novel graph grammar for seriesparallel based evolution of RLC circuits. All of the works cited above have some noted common drawbacks. First of all, the initial set or first generation of circuits have been built by connecting components having random values. Though this is theoretically acceptable, results (wherever provided) show that the first generation of circuits produced are far from being compliant. This kind of poor initial population indirectly results in a delayed convergence of the GA/GP. In one of our recent works, GAPSYS [2], we have alleviated this drawback through a computation based deterministic technique while assigning component values to the initial set of circuits. Secondly, the two parent circuits participating in reproduction are selected from the mating pool through conventional tournament or rank-based selection procedures. This is not very useful, especially in the context of evolutionary electronics. Finally, the crossover reproduction operation in GA-based approaches exchanges a handful of randomly chosen elements between the two parent circuits. This aids the production of structurally incorrect or pathological offspring circuits, which cannot be simulated by a standard circuit simulator like SPICE. Even in GAPSYS, though we take care of this issue, it has been done at the expense of reduced design space exploration. All of the above shortcomings result in an increase in the memory and computational overhead. In a pursuit to overcome all of the above deficiencies, we present a novel GA-based synthesis technique for simultaneous topology generation and component sizing of passive analog circuits composed of R, L and C elements. The main features of this work are: • Genetic algorithm based simultaneous topology generation and component sizing. • Use of GAPSYS to enhance the fitness for the first generation of circuits. • The selection procedure chooses two parent circuits for mating on the basis of comparable fitness values. • The crossover operation exchanges proper and well-defined subcircuits between two parent circuits following some definite connectivity rules. The size of the subcircuits exchanged
!" #$ %$& $ ' $$& # %## ($ % #$# !" # %$ $ $%$, # $, # -%$ +$ + #$ $ , &
,
Figure 1: GA-based synthesis approach can range anywhere between a single element and all but one element of the whole circuit, hence enjoying a full coverage of the whole design space. • Minimal design knowledge is required in the process. • Novel topologies are evolved that may be different but efficient compared to those obtained by manual design efforts. The remaining content of the paper is summarized as follows. Section 2 describes the GA-based evolutionary synthesis approach. Special emphasis is given on the selection and crossover algorithms developed. The efficiency of the techniques adopted is illustrated in section 3 through two design benchmarks. Section 4 finally concludes the work.
2.
GA-BASED SYNTHESIS APPROACH
The schematic flow of the GA is given in Fig. 1. The required GA control parameters and performance specifications are provided as input by the user. A set of initial solutions is built following the method described in GAPSYS. All the chromosomes collectively form a generation. Prospective parent circuits, chosen through selection, reproduce to give birth to future generations of chromosomes through the crossover and mutation operations. The GA terminates either on achieving the maximum desired fitness or on completion of the search for the desired number of generations. The following subsections describe the individual operations of the GA in greater details. The chromosome encoding scheme, embryonic circuit and first generation of circuits are similar to those used in GAPSYS. They have been summarized and provided below for better understanding of the GA used herein.
2.1
&
! "# $%
Figure 2: Chromosome (example representation) for parent circuit P2 of Fig. 4
. $ #$#
)*& $#+,
2. Connectivity nodes: These form the end nodes between which the element is placed in the circuit. 3. Value: Numerical value of the element. The component Z (Z ∈ {R, L, C}) lies within the range [ Zmin , Zmax ]. The set of genes for each circuit is stored in a list in such way that it eases out the crossover operation and the conversion process of the chromosome into a circuit netlist (needed for SPICE simulation). The length of the chromosome is made variable to maintain flexibility for the evolved circuit sizes. As an example, the chromosome for parent circuit P2 of Fig. 4 is shown in Fig. 2. We intentionally do not encode Rsource , LOAD, Rgnd and Rout since they belong to the common template circuit (described in section 2.2), contained in all the circuits.
2.2
Template Circuit
The GA generates complete circuits by evolving a connected network of passive components and subsequently placing the network in a predefined template circuit or an embryonic circuit [8]. The single-input single-output template circuit is shown in Fig. 3.
2.3
First Generation of Circuits
The topology for the initial set of circuits is generated randomly, as in any other GA-based process. But the process of assigning values to the circuit components is a two-step procedure, similar to GAPSYS. First, we compute the symbolic gain of the circuit (Vout /Vin ) in terms of the components as parameters. The gain expression obtained is then equated to specific values at certain frequency points in order to solve the unknown parameters. Inspite of a few limitations, the method bears fruit if we carefully choose a limited number of unknowns and use a reliable numeric solver. Here, we use TOPCAP [5] as the symbolic gain evaluation R tool, and MATLAB° as the computational engine. The circuits R obtained are then simulated with the Synopsys° HSPICE circuit simulator in order to obtain their fitness. Also, an iterative procedure ensures that all the circuits produced in the initial generation are structurally correct and simulatable circuits representing valid circuit graphs. The procedure outlined above helps in increasing the average fitness of the first set of solutions.
In
Chromosome Encoding Scheme
Each population of the genetic algorithm consists of multiple candidate solutions known as chromosomes. A chromosome consists of several genes. In our work, a gene symbolizes an element of a circuit. Thus, all the elements (genes) collectively form the complete circuit, viz. the chromosome. Now, each individual gene contains the following parameters: 1. Type of element: Three kinds of two-terminal passive elements are used in this work. The elements along with their respective integer representations are 0 → Resistor, 1 → Inductor and 2 → Capacitor. This encoding may be extended to include any kind of two-terminal element.
IEEE Computer Society Annual Symposium on VLSI(ISVLSI'07) 0-7695-2896-1/07 $20.00 © 2007
1 R
AC
V 0
R
3 Evolved Network
Out
R
2
Figure 3: Template circuit
L O A D
2.4
Selection
Selection, in case of a GA, generally implies choosing certain chromosomes from one generation to form the mating pool for the subsequent generation. But in this work, all the circuits from a generation qualify as prospective parent circuits for the next generation. The way the term selection is used here is somewhat different. It discusses the procedure of selecting the two definite parent circuits (instead of the mating pool as a whole), that would subsequently mate with each other in the crossover process. During reproduction, due to obvious reasons, we know that parent circuits with a higher fitness (say Pbetter ) should be modified to a lesser extent in order to preserve the goodness of their behavior. On the contrary, those with a lower fitness (say Ppoorer ) should undergo greater modifications with the hope of evolving better circuits out of them. Therefore, the proportion of modification for a parent circuit is inversely related to the fitness of the circuit itself. Following this heuristic, the selection procedure adopted is given in Algorithm. 1. The obtained fitness range of the parent circuit pool is broken up into desired number of equally-spaced fitness intervals. Parent circuits are then assigned into one of these intervals depending on their fitness values. The first parent (say P1 ) is chosen randomly from the pool. If the fitness interval of P1 has circuits other than P1 , the other parent (say P2 ) is chosen randomly the same interval. Else, we shift to the adjacent fitness intervals (by adjacency, we mean alternatively higher and lower intervals) till we find an interval possessing one or more circuits. P2 is then chosen randomly from the obtained interval. Algorithm 1: Selection of two parent circuits for crossover procedure Selection (geni circuits, 2 Parent circuits for crossover in geni+1 ) Input: All circuits from from geni Output: 2 Parent circuits for crossover in geni+1 parent ckt1 = Random(1, n); //n (No. of chromosomes) L ← List of ckts in (Fitness Interval)parent ckt1 N = sizeof(L); if N = 1 then // parent ckt1 is the only circuit in L find adjacent Fitness Interval(L); L ← List of ckts in adjacent Fitness Interval N = sizeof(L); endif x = Random(1, N); parent ckt2 = L[x];
but for the case of passive circuits. Once we form structurally correct circuits in the first generation, we maintain the correctness in subsequent generations. This is achieved by preventing the improper blending and modification of circuits during crossover and mutation respectively. During crossover, the extraction of subcircuits out of their parent circuits is done in such a manner that the subcircuits fit exactly into the empty pockets of the complementary host parent circuits. GAPSYS employs a similar crossover technique but it restricts the subcircuit of the first parent circuit to one that surrounds only a particularly chosen initial random node. This procedure renders the participating branches deterministic, depending on the initial random node and the circuit topology. Thereby, it leaves a lot of design space unexplored. So here we make an attempt to devise a crossover method that alleviates the shortcoming observed in GAPSYS. The pseudocode for the crossover process is given in Algorithm. 2. For ease of understanding, the procedure is also illustrated with an example shown in Fig. 4. The explanation of the algorithm (with the help of Fig. 4) is outlined in the following steps: Formation of subcircuit S1 from parent P1 (Stop criterion: Number of branches required) 1. The number of branches required is calculated from the fitness interval of P1 . As described in the selection procedure, more is the fitness, less is the number of branches swapped between P1 and P2 . Here, 3 branches are required. 2. Start node (node 5) is chosen randomly. 3. Branches connected to start node form the subcircuit S1 one by one. The corresponding nodes are designated as stitch nodes (here nodes 1, 3 and 4). 4. Each time a branch is included in the subcircuit, a check is performed for the required number of branches. When it is met, jump to step 7. 5. If condition is not met, start node is put (status changed) either into the list of embryo nodes (if start node ∈ {0, 1, 2, 3}) or else to that of internal nodes (as is here). Then, we get the new start node (here node 1) from the stitch nodes queue and go back to step 3. Also, we consider only those branches that have not already been chosen for S1 . 6. The subcircuit comprises of the portion encompassed by all the connectivity nodes (stitch nodes + embryo nodes) and internal nodes (if any). S1 is shown with dotted lines. Formation of subcircuit S2 from parent P2 (Stop criterion: Number of connectivity nodes for P1 )
Now, to minimize the extent of modification for a Pbetter circuit, it should mate with another similar Pbetter circuit, exchanging minimally sized subcircuits. This enables them to contribute most of the betterness of their behavior to the offsprings. Likewise, two Ppoorer circuits should mate with each other through larger sized subcircuits. In the process, a better circuit is prevented from mating with a poorer circuit. This is done so, since though the process may increase the fitness of Ppoorer , in the most likelihood, it may lower the betterness of Pbetter , thus nullifying the beneficial output.
2.5
Crossover
The crossover reproduction operation introduces new solutions into the GA, derived from previous solutions. The operation extracts certain parts (subcircuits) out of the two chosen parent circuits individually and swaps them between the circuits, that gives birth to two new offspring circuits. Dastidar [3] shows that avoiding invalid circuit topologies, achieved through suitable connectivity rules, can reduce the unwanted search space for GA-based active circuit synthesis. In this work, we deploy something similar to [3]
IEEE Computer Society Annual Symposium on VLSI(ISVLSI'07) 0-7695-2896-1/07 $20.00 © 2007
7. Same as step 2 (here node 1) and then step 3 (stitch node is node 4). 8. For each stitch node selected in step 7, it is checked if the total number of connectivity nodes of S2 is equal to that of S1 (number of connectivity nodes should be same). 9. When condition is met, jump to offspring circuit formation. 10. Same as step 5 (new start node is node 4). 11. If condition is not met even after all nodes have been explored, S1 and S2 comprise of a single element chosen randomly from their parent circuits (not applicable here). 12. Same as step 6 (S2 is shown with dotted lines). If the subcircuits vary in terms of number of nodes, then the resultant offspring circuits formed vary from their parent circuits in terms of the same difference in number of nodes. Hence O1 has one node more than P1 (extra node, node 6, for O1 ) and accordingly O2 has one node less than P2 . Node correspondence is then established between P1 and P2 . The offsprings are formed by merging the remaining parent (host) circuits with the new subcircuits.
Algorithm 2: Crossover Process procedure Crossover (2 Parent circuits, 2 Offspring circuits) Input: parent1 , parent2 Output: offspring1 , offspring2 /* Formation of sub ckt1 from parent1 */ x = no branches required( parent1 , Fit Intparent1 ); start node = Random(1, no nodesparent1 ); no branches chosen = 0; while no branches chosen 6= x do // required cond select branches( sub ckt1 , start node ); no branches++; endw /* Formation of sub ckt2 from parent2 */ y = no connectivity nodes required( sub ckt1 ); start node = Random(1, no nodesparent2 ); no connectivity nodes chosen = 0; while no connectivity nodes chosen 6= y do // required cond select branches( sub ckt2 , start node ); no connectivity nodes++; endw /* Function select branches() */ select branches( &sub ckt, &start node ) foreach j ∈ {nodes connected to start node} do if j ∈ / {embryo nodes or internal nodes} then sub ckt = sub ckt + branchstart node−j ; stitch nodes.put(j); endif check( required cond ); endfch if search.is.exhausted (start node) then if start node ∈ {0, 1, 2, 3} then embryo nodes.put(start node); else internal nodes.put(start node); endif start node ← stitch nodes.get(); endif /* Formation of offspring circuits */ adjust total nodes diff(nodessub ckt1 , nodessub ckt2 ); node correspondence(sub ckt1 , sub ckt2 ); offspring1 = (parent1 - sub ckt1 ) ∪ sub ckt2 ; offspring2 = (parent2 - sub ckt2 ) ∪ sub ckt1 ;
The crossover method described above provides three distinct advantages. Firstly, it leads to the formation of two well-defined, structurally correct offspring circuits. This minimizes the computational overhead (of simulating faulty circuits) and hence helps in attaining the design objectives faster. Secondly, the size of subcircuits exchanged is inversely proportional to the fitness of their parent circuits. Thus, better circuits are modified to a lesser extent and vice versa. Finally, the subcircuits are chosen randomly from any possible portion of the parent circuit. This helps in exploring the whole design space, which prevents any kind of premature convergence of the GA.
2.6
Mutation
Mutation consists of altering a randomly chosen gene field with a randomly chosen alternative. In the context of evolutionary circuits, the mutation operation introduces variety either in the circuit construction or in the component values. In keeping with the definition, we use six different kinds of mutation as follows: • Series mutation: A new element is inserted in series with the mutated element.
IEEE Computer Society Annual Symposium on VLSI(ISVLSI'07) 0-7695-2896-1/07 $20.00 © 2007
Parameters Parent P1 Parent P2 Selection Criterion No. of branches No. of connectivity for offspring circuit required (based on nodes for P 1 fitness). Here, 3 Here, 3 16 4 6 66 5 Start_node 561 Internal_nodes {5} {4, 6} Connectivity_nodes: Embryo_nodes Null {1} Stitch_nodes {3, 1, 4} {5, 2}
! "
#$%&' #"
) **+,%-'. "
Node Correspondence for building off-spring circuits Parent P 1 Parent P2 3 1 1 5 4 2 5 4 6 6 (new node for O1 from P1)
(deleted node for O2 from P2)
! (
)
#$%&' #(
/ &0 1&2 % $3 '45& -' %45 &5
**+,%-'. (
Figure 4: Example illustrating the process of crossover • Parallel mutation: A new element is inserted in parallel to the mutated element. • Short circuit mutation: The mutated element is removed from the circuit and the end nodes are shorted. • Open circuit mutation: The element mutated is replaced with open circuit. • Type of element change mutation: The chosen element changes to a totally different kind of element. • Value of element change mutation: The value of the mutated element changes without any change in its type. All the possible types of mutation are schematically represented in Fig. 5. Zoriginal is the mutated element and Znew (wherever applicable) is the new element added to the circuit. It is to be noted that in order to prevent the production of faulty offspring circuits, we bar the open-circuit mutation for those elements which have one of their terminals having a vertex count of 2. Also, short-circuit mutation for an element connected between any pair of nodes among 0, 1, 2 and 3 is prevented.
2.7
Fitness
The fitness function is defined over the genetic representation and is hence always problem dependent. In essence, the fitness metric directs the evolutionary process. It measures the quality of the represented solution. The domain of passive analog circuits (like a filter) generally state specifications in the frequency domain. The fitness calculation begins with generating a spice netlist of the circuit from its chromosome description. An AC small signal analysis is done on the netlist at the frequency points of interest, with the HSPICE circuit simulator. An error function (ξ) is introduced that gives the absolute weighted deviation between the measured output response and the target response over the N frequency points.
Z ()
Z
()
Z
()
(*
Z ()
(*
#!
(
(*
!
(
Z
Z
K
()
(* %!
$! ()
(*
(*
&!
()
Z
Stopband
Passband
"!
(
K
(*
ω
ω
! " #$%&
'!
Figure 6: Frequency response of a typical low pass filter Figure 5: Different kinds of mutation: (a) Original element undergoing mutation; (b) Series, (c) Parallel, (d) Short circuit, (e) Open circuit, (f) Type change and (g) Value change mutation Quantitatively, ξ is expressed as: ξ
=
N X
λi (εi ) ∗ εi where
i=1
εi
=
| H(ωi )obtained − H(ωi )goal |
λ, H and ω denotes the penalty factor, performance measure and frequency respectively. Weights (λ) are assigned to the error function in order to speed up the evolutionary process. The fitness (F ) is given by the normalized expression: F =
1 1+ξ
Thereby, a fitness of unity represents an ideal circuit.
3.
EXPERIMENTS AND RESULTS
Two different kinds of analog filters (high-pass and low-pass) have been chosen as our design benchmarks. The choice of filters for our test experiments owes to the following three facts. Firstly, filters (especially LC filters) are some of the most well-defined passive analog circuits having a wide range of applications [7]. Further, the domain is already so well-established that taking some well-known design solutions as benchmark specifications gives us ample scope to verify the effectiveness of our algorithm. Finally, it also gives us the opportunity to compare our results with the previous works in this context. Figure 6 shows the frequency response of a typical low-pass filter. The allowable and blocked regions of response have been shown separately. It is to be noted that the response can be given either in terms of the absolute output voltage or the attenuation. For equally terminated filters (equal source and load impedances), setting the supply voltage equal to 2V gives the the attenuation (in dB) as 20log(Vout ). The attenuation in the passband and stopbands are denoted by Kp and Ks respectively. Similarly, the edge frequencies for the passband and stopband are represented by ωp and ωs , respectively. The frequency response of a high-pass filter is a complement of that of the low-pass filter, the symbols retaining their usual definitions. The embryo circuit for the test experiments is a single-resistance terminated circuit having both Rsource and LOAD set to 1kΩ. The nominal connectivity resistances (Rgnd and Rout ) are each set to 1mΩ and the supply voltage is 2V. The GA has been run for several times and the control parameters have been tuned from run to run. The results for the two filters have been reported from the best runs.
IEEE Computer Society Annual Symposium on VLSI(ISVLSI'07) 0-7695-2896-1/07 $20.00 © 2007
3.1
Low-Pass Filter
This is the first and the easier among the two designs reported in this work. The benchmark is similar to the ones used in [4] and [9]. The low-pass filter allows all signals below 0.8 kHz (ωp ) to pass through and blocks those above 2 kHz (ωs ). The corresponding Kp and Ks for the filter are 0.6 and 68 respectively. 100 chromosomes have been chosen for the GA and the crossover rate and mutation probability have been set at 0.8 and 0.05 respectively. One initial component value is solved for the initial set of circuits. Prior to the process of crossover, the circuits have been ranked in the order of their fitness and the top 10% of the chromosomes are copied from each generation to the next. This is done to preserve some of the best solutions in the evolutionary process. Linearly spaced frequency points have been used in all the three regions of the frequency response. The fitness penalty is 1 for a deviation within 10% of the target attenuation, and 2 for higher deviations. Being an LC filter, the inductors and capacitors chosen in the synthesis process lie within the range of {0.1mH, 1H} and {0.1nF, 1µF} respectively. The completely acceptable circuit is obtained in the 85th generation. This approximately provides more than 60% reduction in the number of designs explored, compared to similar previous works [4]. The circuit is provided in Fig. 7(a). The corresponding frequency response, given in Fig. 7(b), closely resembles Fig. 6. Both the fitness curves, given in Figure. 7(c), show steady upward slopes, as expected. All of these clearly establish the merit of our work. The average percentage of faulty circuits produced per generation has been restricted to within 3%, by virtue of the crossover technique. It is to be noted that the only instance an incorrect or unsimulatable circuit is formed is the case when the voltage source forms a continuous loop with one/many inductor(s). This instance, when occurs, happens through the ground connection, viz. node 0.
3.2
High-pass Filter
The evolution of a high-pass filter is considerably tougher than that of a low-pass filter owing to which not many works till date have succeeded to include it as a design test experiment [11]. The high-pass filter chosen in our experiments has the following specifications: Kp = 0.2, Ks = 45.0, ωs = 11.1 kHz and ωp = 15 kHz. A descent population size of 100 chromosomes is set for the evolutionary process. The crossover rate and mutation probability has been set at 80% and 0.1 respectively. The transition zone between 11.1-15 kHz is a don’t care region and does not contribute towards fitness calculations. The response is evaluated at logarithmically spaced frequency points both in the passband (20 points per decade) and the stopband (50 points per decade). Similar to the previous example, for
0
10
0
AVERAGE FITNESS BEST FITNESS
−10 −20 ATTENUATION (dB)
10
−1
−30 FITNESS
−40 −50
10
−2
−60 10
−70
−3
−80 −90 0
1
2
3 4 FREQUENCY (kHz)
5
6
7
10
−4
10
20
30 40 50 60 GENERATION NUMBER
70
80
Figure 7: (a) Circuit (units are Ω, H and µF); (b) Frequency response; (c) Fitness curves for the evolved Low-pass filter
0
AVERAGE FITNESS BEST FITNESS
10
−60 −80
FITNESS
0
−40 ATTENUATION (dB)
10
−20
−100 −120
10
−140 10
−160
−1
−2
−3
−180 −200 0
5
10 15 20 FREQUENCY (kHz)
25
10
−4
20
40 60 80 GENERATION NUMBER
100
Figure 8: (a) Circuit (units are Ω, mH and nF); (b) Frequency response; (c) Fitness curves for the evolved High-pass filter fitness evaluation, the penalty factor in the blocked regions of the desired response curve is 1 for a deviation within 50% of allowable attenuation, and 2 for more than 50% deviation. Also, 20% of the elitist chromosomes have been copied from one generation to the next. The permissible component value ranges are {Lmin , Lmax } → {10µH, 1H} and likewise {Cmin , Cmax } → {1pF, 1µF}. Two initial unknown component values have been solved for the initial set of circuits. On an average, 5% of the circuits produced per generation are faulty, owing to the same reason as cited before. The circuit possessing unity fitness, shown in Fig. 8(a) is evolved in the 104th generation. The frequency response for the circuit is shown in Fig. 8(b). Though there are some unusual notches for the filter within the stopband, this is satisfactory as long as Ks is maintained within its specified limit. Figure. 8(c) shows the general increasing trend for the average and best fitness curves.
4.
CONCLUSION
A novel GA-based automated synthesis framework has been implemented for passive analog circuits. The selection procedure selects two appropriate parent circuits for reproduction, based on comparable fitness values. The crossover reproduction operation employs exchange of fitness-based sized sub-circuits, exploring the whole design space. Definite connectivity rules minimize the production of structurally incorrect circuits in subsequent generations. The techniques have been successful in evolving one low-pass filter and one high-pass filter configuration. As part of the future work, we are currently investigating the evolution of active circuits.
5.
REFERENCES
[1] S.-J. Chang, H.-S. Hou, and Y.-K. Su. Automated passive filter synthesis using a novel tree representation and genetic
IEEE Computer Society Annual Symposium on VLSI(ISVLSI'07) 0-7695-2896-1/07 $20.00 © 2007
[2]
[3]
[4]
[5] [6]
[7] [8]
[9]
[10]
[11]
programming. IEEE Transactions on Evolutionary Computation, 10(1):93–100, February 2006. A. Das and R. Vemuri. GAPSYS: A GA-based tool for automated passive analog circuit synthesis. In Proc. of IEEE Intl. Symposium on Circuits and Systems, May 2007. T. R. Dastidar, P. P. Chakrabarti, and P. Ray. A synthesis system for analog circuits based on evolutionary search and topological reuse. IEEE Transactions on Evolutionary Computation, 9(2):211–224, April 2005. C. Goh and Y. Li. GA Automated design and synthesis of analog circuits with practical constraints. Proc. of 2001 Congress on Evol. Comput., 1(1):170–177, May 2001. J. Grimbleby. TOPCAP: Symbolic analysis tool. J. B. Grimbleby. Automatic analogue network synthesis using genetic algorithms. In Proc. of IEE/IEEE Intl. Conf. on Gen. Alg. in Engg. Sys.: Inn. and Appl., September 1995. L. C. Huelsman. Active and Passive Analog Filter Design: An Introduction. McGraw-Hill, Inc., 1993. J. R. Koza, F. H. Bennett III, D. Andre, M. A. Keane, and F. Dunlap. Automated synthesis of analog electrical circuits by means of genetic programming. IEEE Transactions on Evolutionary Computation, 1(2):109–128, July 1997. J. D. Lohn and S. P. Colombano. Automated analog circuit synthesis using a linear representation. Lecture Notes in Computer Science, 1478:125–133, 1998. R. A. Rutenbar, G. G. E. Gielen, and B. A. Antao. Computer-Aided Design of Analog Integrated Circuits and Systems. Wiley-IEEE Press, May 2002. R. S. Zebulum, M. A. Pacheco, and M. Vellasco. Comparison of different evolutionary methodologies applied to electronic filter design. In Proc. of IEEE Intl. Conf. on Evolutionary Computation, pages 434–439, May 1998.