Volume 2008, Issue 1 761380
Research Article
Open Access

Multiobjective Optimization Tool for a Free Structure Analog Circuits Design Using Genetic Algorithms and Incorporating Parasitics

Yaser M. A. Khalifa

Corresponding Author

Yaser M. A. Khalifa

Electrical and Computer Engineering Department State University of New York New Paltz NY 12561, USA , suny.edu

Search for more papers by this author
Badar Khan

Badar Khan

Electrical and Computer Engineering Department State University of New York New Paltz NY 12561, USA , suny.edu

Search for more papers by this author
Faisal Taha

Faisal Taha

Electrical and Computer Engineering Department State University of New York New Paltz NY 12561, USA , suny.edu

Search for more papers by this author
First published: 08 September 2008
Academic Editor: Giovanni Squillero

Abstract

This paper presents a novel approach for a free structure analog circuit design using genetic algorithms (GAs). A major problem in a free structure circuit is its sensitivity calculations as a polynomial approximation for the design is not available. A further problem is the effect of parasitic elements on the resulting circuit_s performance. In a single design stage, circuits that are produced satisfy a specific frequency response specifications using circuit structures that are unrestricted and with component values that are chosen from a set of preferred values including their parasitic effects. The sensitivity to component variations for the resulting designs is performed using a novel technique and is incorporated in the fitness evaluation function. The extra degrees of freedom resulting form unbounded circuit structures create a huge search space. The application chosen is an RLC ladder filters circuit design.

1. Introduction

Computer-aided design tools for analog circuits consist almost invariably of circuit analysis or simulation packages; no general-purpose analog circuit synthesis tools are available. Conventional numerical optimization techniques can be used to obtain combinations of component values that satisfy a given design specifications. In addition, conventional optimization techniques operate on circuits after having their desired responses approximated by a suitable polynomial, using ideal components with unrestricted values, and only operating on predefined circuit structures. The restrictions introduced by predefining the circuit structure waste extra degrees of freedom in the design process and can conceal many novel design structures that can satisfy the target response and at the same time enhance the design process.

In previous papers [15], evolutionary computation algorithms are applied to fixed structure circuit designs to satisfy certain specifications. As mentioned earlier, the predetermination of the circuit structure required in conventional design techniques is a limiting factor when considering a powerful search technique such as genetic algorithm. A few attempts have been made to include structure synthesis in genetically-based optimization techniques such as GA [6, 7] and genetic programming (GP) [8]. However, these techniques suffered huge delays and memory usage and needed to be used in conjunction with circuit analysis packages such as PSPICE [9, 10].

There is still a need, however, for more efficient algorithms that are faster, self-sufficient and can function independently. An efficient measure of performance based on the sensitivity for component variations for the resulting circuits and the incorporation of the parasitic effects associated with components is still needed. This is particularly important in the development of new generations of analog programmable analog arrays (APAAs) programming tools. In this paper, an efficient GA technique for free structure analog circuit design is described. The technique incorporates a sensitivity measure to compare between potential solutions and incorporates parasitic effects.

2. Genetic Algorithms

The field of genetic algorithms [1113] was founded by Holland in the early 1970s. In [12], Holland emphasizes the ability of simple representations to encode complicated structures and the power of simple transformations to improve that structure. These representations are combined in what is called in biology a chromosome (also referred to as individuals). A number of these chromosomes will constitute a population. Syntactic operations are then used to alter and improve these coded solutions.

The standard genetic algorithms invented by Holland are the basic form from which other improved algorithms have been subsequently developed. As mentioned earlier, the problem to be optimized has to be encoded into a chromosome-like structure in which each gene or set of genes represents a significant parameter towards the desired solution. A population would consist of a prespecified number of these chromosomes.

Starting from an initial randomly-generated population, a selection mechanism is used to identify and select members that exhibit better characteristics. Those selected chromosomes are then acted upon by genetic operators, such as Mutation and Crossover, which are explained in later sections, to reproduce and generate the subsequent generations. The procedure continues until either a time limit is reached or is achieved.

2.1. Crossover Operator

The Crossover operator is considered to be the most important operator in genetic algorithms. It is also a special characteristic of genetic algorithms over many other search techniques that are inspired by the process of biological optimisation.

In nature, Crossover occurs when two parents exchange parts of their corresponding chromosomes. In genetic algorithms, the same idea forms the basis of the Crossover operator, where useful parts of different parent chromosomes should be combined in order to produce an offspring that benefits from the advantageous bit combinations of both parents. Two-point Crossover is an operator that randomly selects two crossover points within a chromosome then interchanges the two parent chromosomes between these points to produce two new offspring.

Consider the following two parents selected for Crossover. The “|” symbols indicate the randomly chosen crossover points:

Parent 1: 110 | 010 | 10.

Parent 2: 001 | 001 | 11.

After interchanging the parent chromosomes between the crossover points, the following offspring are produced:

Offspring 1: 110 | 001 | 10.

Offspring 2: 001 | 010 | 11.

2.2. Mutation

Mutation is a genetic operator that is used to change individual bits in the chromosome at a specified probability. The motivation for using this operator is that it helps to introduce genetic diversity to new generations. While it is desirable in nature to keep the level of mutation low so that an individual produced by the mutation does not differ too much from its ancestor, this is not always the case in applications of genetic algorithms. Chosen mutation rates typically can range from 0.001 to 0.05. Rates beyond these limits are not recommended in most genetic algorithms applications.

3. Implementation

3.1. Chromosome Adaptation and Structure

In [13], the predetermination of the circuit structures has helped in reducing the chromosome length. This was achieved by incorporating the order of the chromosome genes into the node connections information. However, in the case of free structure circuit synthesis this technique cannot be used.

In the case of free structure design, the solution space is much larger and the optimization process is composite. It involves the optimization of two different but highly correlated problems; the structure as well as the sizing of a circuit. Hence, all specifications of the electrical circuit including the structure and the sizing of all the components should be included in the chromosome representation.

The specifications of the electrical circuit include the number of components in the circuit, the type of each component, and a list of connections between the components. Circuit components can include a variety of different types of components, including resistors, capacitors, and inductors.

Given the above information, the chromosome for each circuit comprises a number M of groups of equal bit lengths, and an extra group of bits representing the number of nodes in the circuit; see Figure 1.

Details are in the caption following the image
Chromosome structure.

Each gene in the chromosome specifies a component and contains four fields (i) type of component (L,   C, etc.), (ii) a pointer to a menu containing component value, (iii) and (iv) circuit nodes to which the component is connected; see Figure 1. Two-point crossover rate of 100% and a mutation rate of 0.5% were used for the GA operators.

It is generally desirable for a low-cost design to use the least number of components. For this reason a Null component, representing an open circuit, is introduced into the component type menu.

3.2. The Design Program

On entry the user is required to supply the following input data.

Type of filter (low pass, high pass, band pass)

  • (i)

    ω1, αmin⁡.

  • (ii)

    ω2, αmax⁡.

  • (iii)

    N, the maximum number of nodes. Optional and can be used to limit the search to a certain number of designs.

  • (iv)

    M, the maximum number of components (optional).

The execution of the program starts by calculating N, maximum number of nodes. Then, genes representing elements are then decoded one at a time, splitting them into four fields as explained in Section 3.1.

Upon determining type, value and connection nodes, the component value is inserted in the corresponding nodal admittance matrix (NAM) location [14]. When all elements are decoded, contents of the resulting entries in NAM are passed to the calculation function, in which lower-upper (LU) decomposition and solutions to the matrix equations are solved. Figure 2 shows a pseudocode for the program.

Details are in the caption following the image
Pseudocode for a single generation evaluation.

4. Least-Squared Error Evaluation

The error measured is defined as the difference between the specified response constraint, HUpp(ω) and HLow(ω), denoted by the shading in Figure 3, where HUpp(ω) is the upper boundary of the frequency response, and HLow(ω) is the lower boundary, and the actual response, Ha(ω), from the design represented by GA chromosomes. The actual frequency response, Ha(ω), will hence be prescribed by its unique combination of component values. Therefore,
(1)
For simplicity, all types of components will be declared as k. Thus H becomes
(2)
where q = m + n + v.
Details are in the caption following the image
Design template.
Hence, the error function will depend on the region it is applied for. For the passband the error function would be
(3)
while in the stopband the error function would be
(4)
The least-squares error criterion E is used as a performance index because of mathematical simplicity and ease of programming. The error is defined as
(5)
Substituting from (4) in (5), LSE would be
(6)
where H(ω) is the boundary response HUpp(ω) or HLow(ω). Since the calculations must be performed numerically, the integration in (6) will be replaced by summation. Therefore,
(7)
where m is equally spaced frequency points assumed over the range of integration. This is chosen because of ease in programming.

4.1. Specified Weighted Errors

Equation (7) gives equal weights for all frequency points within the range. This does not necessarily reflect the prescribed performance, for example, in the case of numerically small errors in the passband. This numerically small error in the passband will be more likely to affect the accuracy of a solution than a relatively larger error encountered in the stopband. Hence, a weight function can be inserted in (7) to enable us to emphasize or de-emphasize the error in the various regions of the frequency spectrum. Therefore, (7) can be modified to be
(8)
The weight function w(ω) has been arbitrarily chosen to be two in the passband region and unity in the stopband region. Any other design weight functions can be easily applied instead.

Although the passband will be characterized by a specific passband ripple, the upper boundary of the response represents the maximum power transfer level, the claimed results of LC filter theory. Therefore, testing only the suitability of the lower limit of the response would be sufficient, as the upper limit will never be exceeded in the passband.

In the stopband region, only the upper limit of the specified attenuation level needs to be considered, since any lower value of attenuation meets the specifications. The transition region is considered as a “do not care” region. Thus, it is sufficient to test just the passband and the stopband for confirmations. The different frequency band boundaries are shown in Figure 3. The fitness is taken as the reciprocal of the error function.

4.2. Performance Improvements by Controlling Connection Fields

The number of nodes comprising the circuit is determined at the beginning of the decoding process to control the connection node numbers of the circuit components.

The fields determining the connection nodes are decoded in a way to produce node numbers within N. This is achieved by linear-scaling down the whole range of values of allowed node numbers to only that of N. This helps to avoid circuit structures that would have components connected to nodes that do not exist in the defined structure and which are hence unacceptable and would be a total waste of time to evaluate.

5. Sensitivity Comparison

In [5], the author has developed a rapid feasible region estimation technique using GA. The technique is modified to provide a measure of comparison among the resulting circuit designs using the free structure GA technique described in the previous sections.

A hierarchical approach for circuit design using GA is implemented. Once convergence occurs and a family of solutions emerges, usually 4–6 in average, the structures of these circuits are fixed. For this stage, a uniform closely spaced distribution of component values is used to help determining estimates for near and far limits of component values within which the required circuit specifications are met. At the end of this stage, the least minimum and largest maximum boundaries for each of the parameters are taken to be the estimate of the feasible region for that specific parameter. A measure for the transfer function sensitivity to variations in component xi is
(9)
and for m, the total number of components in the design is
(10)
The new fitness function will result from multiplying SP by its current value.

6. Extension to Include Parasitic Effects

Parasitics can include wire and wounding resistances and inductors in lumped circuit components as well interlayer capacitances and node to ground voltages. It can also include resistances associated with polysilicon and doped semiconductor regions when used as conductors, and capacitances associated with any crossover, from any conductor to substrate, and with any depletion region in a reverse-biased pn junction, in integrated circuits. Careful layout design can eliminate some of these parasitics, but avoiding them all together is not feasible. Other factors which can also affect the amount of parasitics are the area of the circuit and the packaging density of the chip [15].

Parasitics can cause significant deviations in circuit performance and should be accounted for in early stages of the design, if their effects are to be minimized. In this chapter, GAs, as described earlier, are modified to include some additional information the designer might want to consider for each circuit component. Parasitic effects considered in this paper include inductor resistance as shown in Figure 4, and series and parallel resistances, and series inductance associated with a capacitor as shown in Figure 5.

Description unavailable
Description unavailable

To implement the parasitic effects into the circuit design optimisation problem using the GA, an additional parameter is added into the component menu and this represents the parasitic effect of the associated component and the quality factor Q; see Figure 6.

Details are in the caption following the image
Arbitrary Q-factors considered in the GA implementation.
Details are in the caption following the image
Arbitrary Q-factors considered in the GA implementation.
Details are in the caption following the image
Arbitrary Q-factors considered in the GA implementation.
Details are in the caption following the image
Arbitrary Q-factors considered in the GA implementation.

This method will avoid adding to the complexity of the structure and will make it possible to add or remove any effect from the component menu without having to alter the chromosome structure.

In the implementation considered in this work, arbitrary loss factors for components are assumed. The technique is based on the idea to perturb the element values of the lossy filter with the aim of making the magnitude function of the lossy filter proportional to that of the ideal filter at some discrete frequencies in the passband and the stopband. There is no restriction on the Q′s of the elements, provided that they are high enough, and the elements need not have identical Q′s.

However, the methods outlined need preknowledge of the values of the Q′s for each element, which might not be feasible in practical situation, where designers quite commonly depend on statistical distribution data for their Q values. It is still feasible to specify classes of Q′s, for example, low, medium, and high; but these will reflect a band of randomly distributed values for each class rather than specific values.

It is very likely that the designer will decide on what class of Q′s is needed for a circuit design rather than specific Q values. For this reason, the method used in this work assumes a random distribution of Q values within each class of Q′s; see Figure 6.

6.1. Incorporation of Parasitic Effects in Circuit Designs

In implementing the parasitic effects into the circuit design optimisation problem using the GA, two methods can be applied. The first is to include whatever effects required to be considered in the chromosome structure itself; see Figure 7.

Details are in the caption following the image
Additional effects included in the chromosome structure.

This has the following limitations, firstly it will add to the complexity of the gene structure and the GA operation. This will eventually put limits on the number of additional effects a designer might be able to consider. In addition to that, inserting or removing an effect will require a change in the chromosome structure. Last but not least, effects considered for each type of elements are different and hence different gene lengths will be required to represent each type of elements.

The second method to represent any parasitics into the GA implementation is to associate these effects within the menu listings of elements. Additional effects can then be introduced and any further calculations of these effects can then be made, for example, loss factors; see Figure 8. This method will avoid adding to the complexity of the chromosome structure and will make it possible to add or remove any effect from the component menu without having to alter the chromosome structure.

Details are in the caption following the image
Additional effects included in the component list menu.

7. Results

The GA used has a crossover rate of 100% and a mutation rate of 5% throughout all runs. The GA was allowed to run for one thousand generation in each run. However, convergence was reached after an average of one hundred and fifty generations. Each generation had fifty chromosomes or individuals. Each generation took 10 seconds on average in processing. In these implementations, the desired design template is the starting point of the design process, whereas in conventional designs polynomial approximation for the desired response is used [15]. This has the limitation of constraining the feasible solution to sets of design parameters that would satisfy the polynomial approximation. By designing directly from the template specifications, a designer would avoid extra degree of approximation a polynomial fitting would introduce. At the same time, it provides an extra degree of freedom which would enlarge the solution space considerably to include any design that would reside within the design template without necessarily being represented by a polynomial. Also the GA search starts from an arbitrary point in the solution space and needs not to have any prior knowledge of the feasible region of the required design.

7.1. Low-Pass Design

Different low-pass design specifications were considered. One had a passband ripple of 1 dB, minimum attenuation of −100 dB at a transition ration of 10. An average group of five solutions emerged; the frequency response of one of these solutions is plotted in Figure 9. The circuit constructed by the GA is shown in Figure 10. It is noticed that well-known π and T ladder structures have also been generated by the GA. A different design specification of 0.5 dB passband ripple and −60 dB stopband attenuation was tested. Figure 11 shows the resulting circuit design.

Details are in the caption following the image
Frequency response examples for low-pass design template with high quality factor (a) passband and (b) stopband.
Details are in the caption following the image
Frequency response examples for low-pass design template with high quality factor (a) passband and (b) stopband.
Details are in the caption following the image
Genetically designed circuit with a passband ripple of 1 dB and stopband edge at −100 dB.
Details are in the caption following the image
Genetically designed filter circuit with 0.5 dB passband ripple and −60 dB stopband attenuation.

In a different run, two circuits that were designed to meet achieve a maximum attenuation of 1 dB in the passband and a minimum attenuation of −100 dB in the stopband; see Figure 12, Table 1. A comparison between the two circuits was conducted based on the tolerance rage to changes in component values. Figure 9 shows the two circuits used to test the GA program.

Table 1. (a) Table shows components, nodes, ranges, and actual values for each component in circuit a. (b) Table shows components, nodes, ranges, and actual values for each component in circuit b.
Circuit 1 Range
Component Actual value Nodes 1 Nodes 2 Low High
C1 1.80 3 3 1.28 2.28
C2 2.20 2 2 2.2 2.72
C3 2.20 1 1 2.2 2.72
L1 2.20 1 2 1.68 2.65
L4 1.00 2 3 0.98 2.72
L3 1.00 2 1 0.5 1.09
C5 2.70 2 2 2.7 3.22
R1 1.00 3 3 0.48 1.4
L2 2.20 3 2 1 2.52
C6 1.00 3 3 0.48 1.48
Circuit 2 Range
Component Actual value Nodes 1 Nodes 2 Low High
L4 1.00 3 2 2.2 2.27
R1 0.10 3 3 0.1 0.62
C2 1.80 2 2 1.8 2.32
C1 1.20 3 3 0.77 1.57
C3 2.20 1 1 1.68 2.44
L2 2.20 2 3 0.57 2.36
L1 4.70 1 2 4.7 5.22
R2 0.15 3 3 0.15 0.67
L3 1.00 1 2 0.62 1.23
Details are in the caption following the image
(a) and (b) are filter circuit with 1dB passband ripple and attenuation of −100 dB at the stopband edge used to test GA program.
Details are in the caption following the image
(a) and (b) are filter circuit with 1dB passband ripple and attenuation of −100 dB at the stopband edge used to test GA program.

Even though the two circuits have a very close components values, the range generated by the GA program was different. The differences in ranges for each component in the circuits are shown in Table 2. We also note that C2 and C5 in circuit (a) are in parallel, which is equivalent to C2 in circuit (b).

Table 2. Differences between circuits’ components.
Circuit b Circuit a
Component Range Difference Component Range Difference
L4 2.20 2.27 0.07 L4 2.20 2.72 0.52
R1∥R2 0.06 0.32 0.26 R1 0.48 1.40 0.92
C2 1.8 2.32 0.52 C2∥C5 1.20 1.47 0.27
C1 0.77 1.57 0.80 C1∥C6 0.35 0.89 0.54
C3 1.68 2.44 0.76 C3 2.20 2.72 0.52
L2 0.57 1.36 0.79 L2 1.00 1.52 0.52
L1 4.70 5.22 0.52 L1 1.68 2.65 0.97
L3 0.62 1.23 0.61 L3 0.50 1.09 0.59
  
Average difference 0.54 Average difference 0.61

As shown in Table 2, the two circuits vary with the difference at some components, but in general, circuit (a) has a higher tolerance range for its component values than circuit (b). This gives circuit (a) fitness leads over circuit (b).

7.2. High-Pass Design

The high-pass filter design is done directly without having to use a low-pass prototype and then performs frequency transformations. A design template of 1 dB passband ripple and attenuation of −60 dB at the stopband edge with a transition ratio of 10 is considered. A number of four solutions on average emerged two of these circuits are shown in Figure 13. The frequency responses of the resulting circuits are shown in Figure 14.

Details are in the caption following the image
(a) and (b) are genetically derived high-pass filter circuit with 1dB passband ripple and attenuation of −60 dB at the stopband edge.
Details are in the caption following the image
(a) and (b) are genetically derived high-pass filter circuit with 1dB passband ripple and attenuation of −60 dB at the stopband edge.
Details are in the caption following the image
Genetically derived high-pass filter circuit.
Details are in the caption following the image
Genetically derived high-pass filter circuit.

8. Conclusion

This paper has presented a novel circuit design tool by using the GA strong search abilities in both the structure and sizing domains of a circuit design problem. A successful design of the chromosome structure has been obtained to include the full circuit specifications. A novel technique to compare circuit sensitivities to changes in component values among different circuit structures was developed.

It is noticed that well-known π and T ladder structures have also been generated by the GA. That is due to the low sensitivity such structures have, to small changes in component values. This feature was detected by the GA as a result of the sensitivity comparison technique developed in this paper.

So far, the technique described in this paper is limited either passive circuits, or active circuits that are based on passive models. A further extension to include active circuits and three terminal components is underway and will appear shortly in another paper.

    The full text of this article hosted at iucr.org is unavailable due to technical difficulties.