![](bg2.png)
using GA. In order to accelerate the search efficiency
of the circuit sizing system, we propose the idea of
applying the parameter orthogonalization procedure
based on principal component analysis (PCA) to the
system. In the analog circuit design, the relative scale
between circuit parameters such as the ratio of the
length and width of a transistor or that of the widths
of two transistors has an important role to determine
circuit performance. If the system can consider the
correlations between parameters that are specific to
higher-fitness individuals and periodically reduce the
search space, it can increase the search efficiency of
the optimization process.
From this viewpoint, we introduce a search space
reduction operation based on PCA. The principal
component-based exploration realizes efficient pa-
rameter optimization, and additionally, dimensional-
ity reduction method further reduces the search space.
As a result, we can realize the high-performance op-
timization system which finds the optimal parameter
set with less computation time.
The potential capability of the proposed system
is demonstrated through the automated circuit sizing
of a wide-swing current mirror, which is one of the
most popular building block in analog circuit design.
This paper is organized as follows: Section 2 presents
the basic concept of the GA-based automated circuit
sizing system and its extension using PCA. Section 3
demonstrates the experimental result. Section 4 is the
conclusion and future prospects.
2 GA-BASED AUTOMATED
CIRCUIT SIZING SYSTEM AND
ITS EXTENSION USING PCA
2.1 Genetic Algorithm
Genetic algorithm (GA) can be regarded as a unique
variation of evolutionary computation techniques
(Back et al., 1997; Holland, 1975; Goldberg, 1989).
In general, evolutionary methods mimic the process
of natural evolution, the driving process for emer-
gence of complex structures well-adapted to the given
environment. The better an individual performs under
the conditions the greater is the chance for the individ-
ual to live for a longer while and generate offspring.
As a result, the individuals are transformed to the suit-
able forms on the designer’s defined constraint.
Figure 1 shows the overall procedure of GA. At
first, GA generates embryonic individuals randomly
to form the initial population P(0). Note that usually
each individual is represented by a fixed-length bit
program Genetic Algorithm;
begin
t := 0;
{t: Number of generations.}
initialize(P(t));
{P(t): Population.}
evaluate(P(t));
while t ≤ Max. num. o f gen. do
begin
C(t) := crossover(P(t));
M(t) := mutation(P(t));
evaluate(C(t) ∪ M(t));
P(t + 1) := select(C(t) ∪ M(t) ∪ P(t));
t := t +1;
end
end.
Figure 1: Typical flow of GA.
string in the traditional GA, while our system applies
real-coded genetic algorithm (RCGA) (Eshelman and
Schaffer, 1993) which uses a real number vector rep-
resentation of chromosomes.
The next step is to evaluate a fitness function of
all individuals in P(t). A value for fitness is assigned
to each individual depending on how close it actu-
ally is to solving the problem. Since typical analog
circuits have various performance metrics, an ana-
log circuit optimization problem is usually formu-
lated as (1) a single-objective optimization problem
where different performance objectives are combined
to form a scalar objective, or (2) a multiobjectiveopti-
mization problem based on Pareto-optimality(Somani
et al., 2007). In our system, we apply the single-
objective approach for the system simplicity and rea-
sonable computational effort. Thus a synthetic fitness
function for a circuit is defined by the combination of
fitness functions for various performance objectives.
After the evaluation, the system selects a set of in-
dividuals having higher fitness values to perform evo-
lutionary operations: crossover and mutation. The
crossover recombines two individuals into two new
offsprings. The mutation operation, on the other
hand, changes the values of chosen genes randomly.
There are many ways how to do crossover and muta-
tion. In our system, we apply blend crossover (BLX-
α)(Fig. 2) and uniform mutation. Blend crossover
generates the offspring vectors X
1
= (x
11
,x
12
,··· ,x
1n
)
and X
2
= (x
21
,x
22
,··· ,x
2n
) from parant vectors P
1
=
(p
11
, p
12
,··· , p
1n
) and P
2
= (p
21
, p
22
,··· , p
2n
) by
x
1i
= γp
1i
+ (1 − γ)p
2i
and x
2i
= (1 − γ)p
1i
+ γp
2i
,
where γ = (1+2α)u
i
−α, u
i
∈ [0,1] is a random value.
Uniform mutation, on the other hand, changes the
value of the element to a value chosen from the uni-
form distribution on the specified interval.
ICINCO 2008 - International Conference on Informatics in Control, Automation and Robotics
194