RANDOMIZED ITERATIVE LOGIC SYNTHESIS ALGORITHMS

The logic synthesis is understood as a process of transforming a behavioral circuit description (typically register-transfer level – RTL) into a logic level description, typically a network of logic gates. By logic optimization we understand a process of refining this description to improve its quality, be it the size, delay, power consumption, etc. However, these two terms (logic synthesis and optimization) are often used interchangeably or jointly in literature, and so they will be in this thesis. Iteration at a high-level is proposed, as a more powerful, yet also more time-consuming alternative to the standard, single-pass synthesis and optimization process. The high-level attribute means that the iteration is performed over the whole synthesis process, not inside of one single synthesis step (algorithm). Processes based on high-level iteration offer a possibility of reaching better results at expense of run-time. They are also adjustable in run-time: a trade-off between the result quality and run-time can be established by needs of the designer. Iterative nature of the optimization algorithms brings a notion of state space. Therefore, logic optimization is viewed as a general combinatorial optimization problem in this thesis, in the sense of the state space concept. Notions of state space states and moves are introduced as valid optimization solutions and transformations from one to another, respectively. Randomized versions of iterative algorithms offer higher iterative power. Locally optimum results are more easily avoided at expense of unpredictability of the final results, introduced by randomness. Numerous iterative logic synthesis and optimization algorithms, even randomized, have been published in literature. They have different state spaces; some of them offer a global view of the problem. However, this work focuses only on several novel and original randomized iterative algorithms developed by the author. Their basic principles are described and emphasis is put on understanding the effect of both the randomness and iteration, and their degree necessary to make the algorithms perform well. The influence of randomness on the algorithm iterative power is studied as well. Advantages and disadvantages of randomized iterative algorithms, compared to deterministic single-pass ones, are investigated. It will be shown that randomized iterative algorithms are capable of producing better results than deterministic single-pass ones, usually at expense of run-time. The unquestionable merit offered by randomized iterative algorithms is a possibility of obtaining upper bounds of quality (e.g., of the size). These can be used, e.g., to evaluate the efficiency of other logic synthesis algorithms (benchmarking). It will be shown that some circuits can be simplified by orders of magnitude using iteration. If randomness is employed in addition, further simplification is possible. Note that the well-known randomized iterative algorithms, the simulated annealing and evolutionary (genetic) algorithms are not studied here, since many studies on these topics were already published. These techniques were also tried to be applied to logic optimization, with various success. However, their properties and behavior are well known and, more importantly, can be generalized to any combinatorial optimization process. Hence, new algorithms developed just for purposes of logic synthesis and optimization are discussed here instead. Also, sources of “external randomness” are explored. There are aspects that the synthesis process should not be influenced with. Ordering of variables or coordinate statements in the source file are such cases. However, this is not the case in practice. It will be shown that synthesis is crucially influenced by these; design tools produce very poor, or conversely, very good results under different orderings. Such kind of randomness is unknowingly introduced by, e.g., the designer, who naturally does not know the internals of the tools and definitely does not care about any, from his side meaningless reordering.