Functional multiple-output decomposition with application to technology mapping for lookup table-based FPGAs

Functional decomposition is an important technique for technology mapping to look up table-based FPGA architectures. We present the theory of and a novel approach to functional disjoint decomposition of multiple-output functions, in which common subfunctions are extracted during technology mapping. While a Boolean function usually has a very large number of subfunctions, we show that not all of them are useful for multiple-output decomposition. We use a partition of the set of bound set vertices as the basis to compute preferable decomposition functions, which are sufficient for an optimal multiple-output decomposition. We propose several new algorithms that deal with central issues of functional multiple-output decomposition. First, an efficient algorithm to solve the variable partitioning problem is described. Second, we show how to implicitly compute all preferable functions of a single-output function and how to identify all common preferable functions of a multiple-output function. Due to implicit computation in the crucial steps, the algorithm is very efficient. Experimental results show significant reductions in area.

[1]  B. Babba,et al.  Automatic synthesis on table lookup-based PGAs , 1992, Proceedings Euro ASIC '92.

[2]  Mary Jane Irwin,et al.  Logic synthesis for field-programmable gate arrays , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  Massoud Pedram,et al.  OBDD-based function decomposition: algorithms and implementation , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Sarma B. K. Vrudhula,et al.  BDD Based Decomposition of Logic Functions with Application to FPGA Synthesis , 1993, 30th ACM/IEEE Design Automation Conference.

[5]  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.

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

[7]  Mary Jane Irwin,et al.  Exploiting communication complexity for multilevel logic synthesis , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[8]  Massoud Pedram,et al.  FPGA synthesis using function decomposition , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[9]  Olivier Coudert,et al.  A New Viewpoint on Two-Level Logic Minimization , 1993, 30th ACM/IEEE Design Automation Conference.

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

[11]  Tsutomu Sasao,et al.  Logic Synthesis and Optimization , 1997 .

[12]  Snezana Lawrence October , 1855, The Hospital.

[13]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[14]  R. Karp Functional Decomposition and Switching Circuit Design , 1963 .

[15]  Jason Cong,et al.  An Optimal Performance-Driven Technology Mapping Algorithm For Lut-Based Fpgas Under Arbitrary Net-D , 1993, ICCAD 1993.

[16]  Gabriele Saucier,et al.  Input-driven partitioning methods and application to synthesis on table-lookup-based FPGAs , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  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.

[18]  Kevin Karplus Xmap: a technology mapper for table-lookup field-programmable gate arrays , 1991, 28th ACM/IEEE Design Automation Conference.

[19]  Christoph Scholl,et al.  Efficient ROBDD based computation of common decomposition functions of multi-output boolean functions , 1995 .

[20]  Tiziano Villa,et al.  A Fully Implicit Algorithm for Exact State Minimization , 1994, 31st Design Automation Conference.

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

[22]  Jonathan Rose,et al.  Synthesis methods for field programmable gate arrays , 1993 .

[23]  Christoph Scholl,et al.  Communication based multilevel synthesis for multi-output Boolean functions , 1994, Proceedings of 4th Great Lakes Symposium on VLSI.

[24]  Robert K. Brayton,et al.  Optimum Functional Decomposition Using Encoding , 1994, 31st Design Automation Conference.

[25]  H. Allen Curtis A Generalized Tree Circuit , 1961, JACM.

[26]  Giovanni De Micheli,et al.  Technology mapping for a two-output RAM-based field programmable gate array , 1991, Proceedings of the European Conference on Design Automation..

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

[28]  H. A. Curtis,et al.  A new approach to The design of switching circuits , 1962 .

[29]  S. Yang,et al.  Logic Synthesis and Optimization Benchmarks User Guide Version 3.0 , 1991 .

[30]  Mary Jane Irwin,et al.  Efficiently computing communication complexity for multilevel logic synthesis , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[31]  Sze-Tsen Hu ON THE DECOMPOSITION OF SWITCHING FUNCTIONS , 1961 .

[32]  Robert K. Brayton,et al.  Sequential circuit design using synthesis and optimization , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[33]  Wen-Zen Shen,et al.  Lambda Set Selection in Roth-Karp Decomposition for LUT-Based FPGA Technology Mapping , 1995, 32nd Design Automation Conference.

[34]  Jason Cong,et al.  Combinational logic synthesis for LUT based field programmable gate arrays , 1996, TODE.

[35]  A. El Gamal,et al.  Synthesis method for field programmable gate arrays , 1993, Proc. IEEE.