## Abstract

State assignment (SA) for Finite State Machines (FSMs) has a significant impact on the area and power of synthesized sequential circuits. Due to the complexity of the state assignment problem and the limitations of existing deterministic solutions, evolutionary algorithms are employed for solving the state assignment problem. In this paper, we propose a probabilistic pairwise swap search (PPSS) state assignment algorithm. The algorithm is based on assigning probabilities for each pair of code swaps and intelligently updating those probabilities such that potentially useful code swaps will get high code swap probabilities and their chance of being explored is increased. Due to the fixed number of code swaps to be explored in each iteration, the algorithm explores code swaps in a gradual manner such that code swaps with high probability are explored before those with lower probability. The algorithm employs the use of Tabu lists to diversify search exploration and performs hill climbing when the solution does not improve by accepting the code swap that results in the next best solution from the current solution. The proposed algorithm is employed for FSM state encoding targeting the optimization of area and power. Experimental results demonstrate the effectiveness of the proposed PPSS state assignment algorithm in comparison to other evolutionary state assignment algorithms. Significantly better area and power results are achieved in comparison to all compared techniques.

Original language | English |
---|---|

Pages (from-to) | 32-43 |

Number of pages | 12 |

Journal | Integration, the VLSI Journal |

Volume | 56 |

DOIs | |

State | Published - 1 Jan 2017 |

### Bibliographical note

Funding Information:This work is supported by King Fahd University of Petroleum & Minerals .

Publisher Copyright:

© 2016 Elsevier B.V.

## Keywords

- Evolutionary algorithms
- Probabilistic pairwise swap search
- State assignment
- State encoding
- Synthesis and optimization of sequential circuits

## ASJC Scopus subject areas

- Software
- Hardware and Architecture
- Electrical and Electronic Engineering