Simulated Annealing Based Parallel State Assignment of Finite State Machines

Simulated annealing is an effective tool in many optimization problems in VLSI CAD but its time requirements are prohibitive. In this paper, we report parallel algorithms for a well established simulated annealing based algorithm for the state assignment problem for finite state machines. Our parallel annealing strategy uses parallel moves by multiple processes, each performing local moves within its assigned subspace of the state encoding space. The novelty is in the dynamic repartitioning of the state space among processors, so that each processor gets to perform moves on the entire space over time. This is important to keep the quality of the parallel algorithm comparable to the serial algorithm. Our algorithm gives quality results within 0.05% of the serial algorithm on 64 processors. Our algorithms, ProperJEDI and PartJEDI, are portable across a wide range of MIMD machines. PartJEDI is memory scalable and is incrementally developed from ProperJEDI which is data replicated. For a large circuit, ProperJEDI reduces the runtime from 11 h to 10 min on a 64-processor machine. For the same circuit, PartJEDI reduces the runtime from 11 h to 20 min and memory requirement from 114 to 2 MB.

[1]  Srinivas Devadas,et al.  Optimum and heuristic algorithms for finite state machine decomposition and partitioning , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[2]  Prithviraj Banerjee,et al.  Portable parallel test generation for sequential circuits , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[3]  Prithviraj Banerjee,et al.  A portable parallel algorithm for VLSI circuit extraction , 1993, [1993] Proceedings Seventh International Parallel Processing Symposium.

[4]  Alberto L. Sangiovanni-Vincentelli,et al.  A Parallel Simulated Annealing Algorithm for the Placement of Macro-Cells , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Daniel R. Greening,et al.  Parallel simulated annealing techniques , 1990 .

[6]  John A. Chandy,et al.  Parallel simulated annealing strategies for VLSI cell placement , 1996, Proceedings of 9th International Conference on VLSI Design.

[7]  Jonathan Rose,et al.  Parallel standard cell placement algorithms with quality equivalent to simulated annealing , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[8]  Srinivas Devadas,et al.  Implicit state transition graphs: applications to sequential logic synthesis and test , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[9]  John A. Chandy,et al.  A library-based approach to portable, parallel, object-oriented programming: interface, implementation, and application , 1994, Proceedings of Supercomputing '94.

[10]  Alberto L. Sangiovanni-Vincentelli,et al.  MUSTANG: state assignment of finite state machines targeting multilevel logic implementations , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  Rob A. Rutenbar,et al.  Placement by Simulated Annealing on a Multiprocessor , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[12]  F. Darema,et al.  Parallel Algorithms for Chip Placement by Simulated Annealing , 1987, IBM J. Res. Dev..

[13]  John A. Chandy,et al.  Parallel algorithms for logic synthesis using the MIS approach , 1995, Proceedings of 9th International Parallel Processing Symposium.

[14]  Prithviraj Banerjee,et al.  Parallel algorithms for VLSI circuit extraction , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  Prithviraj Banerjee,et al.  Parallel Simulated Annealing Algorithms for Cell Placement on Hypercube Multiprocessors , 1990, IEEE Trans. Parallel Distributed Syst..

[16]  Srinivas Patil,et al.  A parallel branch and bound algorithm for test generation , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Sungho Kim,et al.  ProperPLACE: a portable parallel algorithm for standard cell placement , 1994, Proceedings of 8th International Parallel Processing Symposium.

[18]  George Karypis,et al.  Introduction to Parallel Computing , 1994 .

[19]  Prithviraj Banerjee,et al.  A Parallel Algorithm for State Assignment of Finite State Machines , 1998, IEEE Trans. Computers.