SIS : A System for Sequential Circuit Synthesis

SIS is an interactive tool for synthesis and optimization of sequential circuits. Given a state transition table, a signal transition graph, or a logic-level description of a sequential circuit, it produces an optimized net-list in the target technology while preserving the sequential input-output behavior. Many different programs and algorithms have been integrated into SIS, allowing the user to choose among a variety of techniques at each stage of the process. It is built on top of MISII [5] and includes all (combinational) optimization techniques therein as well as many enhancements. SIS serves as both a framework within which various algorithms can be tested and compared, and as a tool for automatic synthesis and optimization of sequential circuits. This paper provides an overview of SIS. The first part contains descriptions of the input specification, STG (state transition graph) manipulation, new logic optimization and verification algorithms, ASTG (asynchronous signal transition graph) manipulation, and synthesis for PGA’s (programmable gate arrays). The second part contains a tutorial example illustrating the design process using SIS.

[1]  Robert K. Brayton,et al.  Synthesis of hazard-free asynchronous circuits from graphical specifications , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[2]  Tam-Anh Chu,et al.  Synthesis of hazard-free control circuits from asynchronous finite state machines specifications , 1994, J. VLSI Signal Process..

[3]  J. Rajski,et al.  A method for concurrent decomposition and factorization of Boolean expressions , 1990, ICCAD 1990.

[4]  Robert K. Brayton,et al.  Delay optimization of combinational logic circuits by clustering and partial collapsing , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[5]  Robert K. Brayton,et al.  Performance directed synthesis for table look up programmable gate arrays , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[6]  Tracy Larrabee Efficient generation of test patterns using Boolean difference , 1989, Proceedings. 'Meeting the Tests of Time'., International Test Conference.

[7]  Robert K. Brayton,et al.  Performance optimization of pipelined circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[8]  T. J. Bergendahl,et al.  DIGITAL EQUIPMENT CORPORATION. , 1968, Analytical chemistry.

[9]  Robert K. Brayton,et al.  Preserving Don't Care Conditions During Retiming , 1991, VLSI.

[10]  J. A Brzozowski,et al.  Advances in asynchronous circuit theory. Part I : gate and unbounded inertial delay , 1990 .

[11]  Rajeev Murgai,et al.  Improved logic synthesis algorithms for table look up architectures , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[12]  Tam-Anh Chu,et al.  Synthesis of self-timed VLSI circuits from graph-theoretic specifications , 1987 .

[13]  A. Sangiovanni-Vincentelli,et al.  Retiming and resynthesis: optimizing sequential networks with combinational techniques , 1990, Twenty-Third Annual Hawaii International Conference on System Sciences.

[14]  Jonathan Rose,et al.  Chortle-crf: fast technology mapping for lookup table-based FPGAs , 1991, 28th ACM/IEEE Design Automation Conference.

[15]  Tiziano Villa,et al.  NOVA: State Assignment of Finite State Machines for Optimal Two-Level Logic Implementations , 1989, 26th ACM/IEEE Design Automation Conference.

[16]  Luciano Lavagno,et al.  Algorithms for synthesis of hazard-free asynchronous circuits , 1991, 28th ACM/IEEE Design Automation Conference.

[17]  Robert K. Brayton,et al.  Multi-level logic minimization using implicit don't cares , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[18]  Carl Pixley,et al.  Calculating resettability and reset sequences , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[19]  Robert K. Brayton,et al.  Algorithms for discrete function manipulation , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[20]  Robert K. Brayton,et al.  Logic synthesis for programmable gate arrays , 1991, DAC '90.

[21]  Alberto L. Sangiovanni-Vincentelli,et al.  A heuristic algorithm for the fanout problem , 1991, DAC '90.

[22]  Giovanni De Micheli Synchronous logic synthesis: algorithms for cycle-time minimization , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[23]  Charles E. Leiserson,et al.  Optimizing synchronous systems , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[24]  A. El Gamal,et al.  An architecture for electrically configurable gate arrays , 1989 .

[25]  Robert K. Brayton,et al.  Retiming and resynthesis: optimizing sequential networks with combinational techniques , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[26]  Richard M. Karp,et al.  Minimization Over Boolean Graphs , 1962, IBM J. Res. Dev..

[27]  Alberto Sangiovanni-Vincentelli,et al.  Logic synthesis for vlsi design , 1989 .

[28]  James Benjamin Saxe,et al.  Decomposable searching problems and circuit optimization by retiming: two studies in general transformations of computational structures , 1985 .

[29]  Robert K. Brayton,et al.  MIS: A Multiple-Level Logic Optimization System , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[30]  Stephen H. Unger,et al.  Minimizing the Number of States in Incompletely Specified Sequential Switching Functions , 1959, IRE Trans. Electron. Comput..

[31]  Tiziano Villa,et al.  NOVA: State Assignment of Finite State Machines for Optimal Two-Level Logic Implementations , 1989, 26th ACM/IEEE Design Automation Conference.

[32]  A. El Gamal,et al.  An architecture for electrically configurable gate arrays , 1988, Proceedings of the IEEE 1988 Custom Integrated Circuits Conference.

[33]  Robert K. Brayton,et al.  A modified approach to two-level logic minimization , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

[34]  Robert K. Brayton,et al.  Implicit state enumeration of finite state machines using BDD's , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[35]  Robert K. Brayton,et al.  The use of observability and external don't cares for the simplification of multi-level networks , 1991, DAC '90.

[36]  H.-J. Mathony Universal logic design algorithm and its application to the synthesis of two-level switching circuits , 1989 .

[37]  Janusz Rajski,et al.  A method for concurrent decomposition and factorization of Boolean expressions , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[38]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[39]  Stephen H. Unger,et al.  Asynchronous sequential switching circuits , 1969 .

[40]  Robert K. Brayton,et al.  Performance-oriented technology mapping , 1990 .

[41]  Robert K. Brayton,et al.  Computing the initial states of retimed circuits , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[42]  A. Richard Newton,et al.  Don't care minimization of multi-level sequential logic networks , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[43]  Robert K. Brayton,et al.  Timing optimization of combinational logic , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

[44]  Robert K. Brayton,et al.  Multi-Level Logic Simplification Using Don't Cares and Filters , 1989, 26th ACM/IEEE Design Automation Conference.

[45]  Robert K. Brayton,et al.  Extracting local don't cares for network optimization , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[46]  Martyn Edwards,et al.  Logic synthesis , 1994, Microprocessors and microsystems.