• Nenhum resultado encontrado

An Overview of the Algorithm Classes

No documento Radiation-Hardened Circuits (páginas 48-52)

3 ALGORITHMS FOR TRANSISTOR LEVEL AUTO-

MATIC LAYOUT GENERATION

• Deterministic : A deterministic algorithm is based on a model in which no ran- domness is involved. Deterministic models use mathematical representations of the underlying regularities that are produced by the entities being modeled and generate theoretically perfect data.

• Stochastic : Stochastic models use computational elements that represent the en- tities and the processes by which they interact and create a procedural algorithm to generate realistic data. Stochastic algorithms present certain randomness. This randomness is usually based on fluctuations observed in historical data or nature’s phenomena.

• Mixed Deterministic-stochastic: Some algorithms include a mixed solution to solve physical synthesis problems. They usually converge to a solution by a set of deter- ministic iterations. For each iteration, variables are fed by stochastic models.

3.2.1 Deterministic Algorithms

The class of deterministic algorithms includeconstructiveandAnalyticalmethods.

Constructive methodsmodel the convergence to a solution by placing one element at a time. Many algorithms have been presented to solve physical design problems. The sequence of elements inserted in the model influences the convergence to a solution.

A typical example of the constructive method may be the force-directed. A force- directed based algorithm models a system as a graph where the position of the vertices indicates the solution.

Figure 3.1: A force-directed example.

The force-directed model is represented as a mechanical system of objects connected by springs. The spring behavior is defined by the Hooke’s law, which states that the force pushing back the spring is linearly proportional to the distance from its equilibrium length. The Hooke’s law is given by

F =−kx (3.1)

whereF is the restoring force exerted by the spring, xis the distance the spring is elon- gated by, andkis the spring constant or force constant of the spring.

Figure 3.1 exemplifies the force-directed model where only the three forces F~1, F~2 and F~bc are shown. Other forces are omitted. The position of the nodes b and c is a consequence of these forces. Forces F~1 and F~2 pull the nodes to the boundaries while forceF~ab controls the attraction between them.

Force-directed models are usually used in algorithms to solve placement problems [WRJS74, MTB00, HCR+03, CCS05].

Another constructive algorithm is the placement of elements based on the Euler’s path [RTL95, RS99, RS03]. The Euler path algorithm also models the placement as a graph.

The idea of the Euler path is to walk on the graph edges where each graph edge is visited once [Wei07b].

Figure 3.2: An Euler path example.

The Euler path graph is shown in Figure 3.2 where two possible Euler paths could be the sequence of edgesa,b,d,cora,c,d,b.

Analytical methods solve a given problem at once as a system of equations for all components. Analytical formulations are solved by mathematical programming such as linear programming(LP) andquadratic programing(QP). Linear programming in which variables assume on integer values is known asinteger linear programming(ILP) or only integer programming(IP).

Linear programing is the optimization of an outcome based on some set of constraints using a linear mathematical model [NW07]. Thus, a LP can be used to solve analytical problems if the problem may be formulated as

minimize cTx subject to Ax≤b

where x≥0 L≤x≤U

where x ∈ ℜn is a vector of variables that are continuous real numbers. cTx is the objective function and is represented asf(x1, x1, . . . , xn) =a1x1+a2x2+. . .+anxn+b,

andAx ≤ b represents the set of constraints. L andU are vectors of lower and upper bounds on the variables.

The most known linear programming solver is thelp_solve [Ber06]. lp_solve is able to minimize an objective function taking into account linear equalities and inequali- ties.

Linear programming has been used in placement & routing algorithms [GH00, BC05, BVR06, RC06]. The main characteristic of these works is related to the fast convergence to a solution. Besides, solutions tend to be optimal according to the linear formulations.

Although the excellent characteristics of the linear programming, most part of the problem cannot be represented by a linear objective function.

The quadratic programming is a problem with quadratic objective and linear con- straints.

minimize q(x) = gTx+12xTHx subject to Ax≥b

where L≤x≤U

wherex∈ ℜnis a vector of variables that are continuous real numbers.Ax ≥brepresents the set of constraints. LandU are vectors of lower and upper bounds on the variables.

Some placement algorithms such as the proposed in [AC99, CAL02, KSJA91, VC04]

are based on quadratic programming. Thus, the placement problem is described in a mathematical language. Once the formulation converges to a solution, the result is the position of the transistors in the layout.

3.2.2 Stochastic Algorithms

Some design problems have a large range of possible solutions. These problems are computational hard or even impossible to be solved. Some stochastic methods may be used to reduce the search space.

Main examples of stochastic methods aresimulated annealingandgenetic algorithms.

Simulated annealing is analogous to physical annealing process. It basically involves perturbing independent variables by random values while the temperature controls the standard deviation used by the random number generator. Many placement algorithms based on the simulated annealing have been proposed [MG88, Sec88, Hen02, Tay03, HFPR06].

Genetic algorithms use basic principles of biology and emulates the natural process of evolution to find solutions to a problem.

In the genetic algorithm, each solution is represented by a chromosome. A chromo- some is usually composed by a binary vector where variables formed by one or more bits are described. A population of chromosomes (possible solutions) is then created and ge- netic operators as mutation and crossover are applied in order to evolve the solutions to better results.

Some applications of the genetic algorithms on the physical design are presented in [BBR02, LAR05b]. A new transistor placement technique is presented in Section 3.6 that consists on a genetic algorithm integrated with analytical programming.

No documento Radiation-Hardened Circuits (páginas 48-52)