Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Fast Adjustable NPN Classification Using Generalized Symmetries

Published: 12 April 2019 Publication History

Abstract

NPN classification of Boolean functions is a powerful technique used in many logic synthesis and technology mapping tools in both standard cell and FPGA design flows. Computing the canonical form is the most common approach of Boolean function classification. This article proposes two different hybrid NPN canonical forms and a new algorithm to compute them. By exploiting symmetries under different phase assignment as well as higher-order symmetries, the search space of NPN canonical form computation is pruned and the runtime is dramatically reduced. Nevertheless, the runtime for some difficult functions remains high. Fast heuristic method can be used for such functions to compute semi-canonical forms in a reasonable time. The proposed algorithm can be adjusted to be a slow exact algorithm or a fast heuristic algorithm with lower quality. For exact NPN classification, the proposed algorithm is 40× faster than state-of-the-art. For heuristic classification, the proposed algorithm has similar performance as state-of-the-art with a possibility to trade runtime for quality.

References

[1]
A. Kennings, A. Mishchenko, K. Vorwerk, V. Pevzner, and A. Kundu. 2010. Efficient FPGA resynthesis using precomputed LUT structures. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL’10). 532--537.
[2]
W. Yang, L. Wang, and A. Mishchenko. 2012. Lazy man's logic synthesis. In Proceedings of the International Conference on Computer-Aided Design (ICCAD’12). 597--604.
[3]
M. Soeken, L. G. Amarù, P. Gaillardon, and G. De Micheli. 2016. Optimizing majority-inverter graphs with functional hashing. In Proceedings of the Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE’16).
[4]
A. Kennings, A. Mishchenko, K. Vorwerk, V. Pevzner, and A. Kundu. 2010. Generating efficient libraries for use in FPGA resynthesis algorithms. In Proceedings of the International Workshop on Logic and Synthesis (IWLS’10). 147--154.
[5]
S. Chatterjee, A. Mishchenko, R. K. Brayton, X. Wang, and T. Kam. 2006. Reducing structural bias in technology mapping. IEEE Trans. Comput.-Aided Design Integr. Circuits Syst. 25, 12 (2006), 2894--903.
[6]
A. Mishchenko, S. Cho, S. Chatterjee, and R. Brayton. 2007. Combinational and sequential mapping with priority cuts. In Proceedings of the International Conference on Computer-Aided Design (ICCAD’07). 354--361.
[7]
A. Mishchenko, R. Brayton, W. Feng, and J. W. Greene. 2015. Technology mapping into general programmable cells. In Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA’15). 70--73.
[8]
S. Ray, A. Mishchenko, N. Een, R. Brayton, S. Jang, and C. Chen. 2012. Mapping into LUT structures. In Proceedings of the Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE’12). 1579--1584.
[9]
W. Feng, J. W. Greene, and A. Mishchenko. 2018. Improving FPGA performance with a S44 LUT structure. In Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA’18). 61--66.
[10]
U. Hinsberger and R. Kolla. 1998. Boolean matching for large libraries. In Proceedings of the Design Automation Conference (DAC’98), 206--211.
[11]
D. Chai and A. Kuehlmann. 2016. Building a better Boolean matcher and symmetry detector. In Proceedings of the Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE’16). 1079--1084.
[12]
S. W. Golomb. 1959. On the classification of Boolean functions. IRE Trans. Circuit Theory CT-6 (1959), 176--186.
[13]
A. Abdollahi and M. Pedram. 2008. Symmetry detection and Boolean matching utilizing a signature-based canonical form of Boolean functions. IEEE Trans. Comput.-Aided Design Integr. Circuits Syst. 27, 6 (2008), 1128--1137.
[14]
G. Agosta, F. Bruschi, G. Pelosi, and D. Sciuto. 2009. A transform-parametric approach to Boolean matching. IEEE Trans. Comput.-Aided Design Integr. Circuits Syst. 28, 6 (2009), 805--817.
[15]
Z. Huang, L. Wang, Y. Nasikovskiy, and A. Mishchenko. 2013. Fast Boolean matching based on NPN classification. In Proceedings of the International Conference on Field Programmable Technology (ICFPT’13). 310--313.
[16]
C. C. Tsai, M. Marek-Sadowska, and D. Gatlin. 1997. Boolean function classification via fixed polarity Reed-Muller forms. IEEE Trans. Comput. 46, 2 (1997), 173--186.
[17]
A. Petkovska, M. Soeken, G. De Micheli, P. Ienne, and A. Mishchenko. 2016. Fast hierarchical NPN classification. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL’16), 61--64.
[18]
X. Zhou, L. Wang, P. Zhao, and A. Mishchenko. 2018. Fast adjustable NPN classification using generalized symmetries. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL’18). 1--7.
[19]
D. Slepian. 1952. On the number of symmetry types of Boolean functions of n variables. Can. J. Math. (1952), 185--193.
[20]
L. Benini and G. De Micheli. 1997. A survey of Boolean matching techniques for library binding. ACM Trans. Des. Autom. Electron. Syst. 2, 3 (1997), 193--226.
[21]
U. Hinsberger and R. Kolla. 1998. Boolean matching for large libraries. In Proceedings of the Design Automation Conference (DAC’98). 206--211.
[22]
D. Debnath and T. Sasao. 2004. Efficient computation of canonical form for Boolean matching in large libraries. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’04). 591--596.
[23]
E. Mailhot and G. De Micheli. 1993. Algorithms for technology mapping based on binary decision diagrams and on Boolean operations. IEEE Trans. Comput.-Aided Design Integr. Circuits Syst. 12, 5 (1993), 599--620.
[24]
E. M. Clarke, K. L. McMillan, X. Zhao, M. Fujita, and J. Yang. 1993. Spectral transforms for large Boolean functions with applications to technology mapping. In Proceedings of the Design Automation Conference (DAC’93), 54--60.
[25]
J. Rice. 2009. The autocorrelation transform and its application to the classification of Boolean functions. In Proceedings of the IEEE Pacific Rim Conference on Communications Computers and Signal Processing (PacRim’09). 94--99.
[26]
K. Wang, C. Chan, and J. Liu. 2009. Simulation and SAT-based Boolean matching for large Boolean networks. In Proceedings of the Design Automation Conference (DAC’09). 396--401.
[27]
C.-F. Lai, J.-H. R. Jiang, and K.-H. Wang. 2010. BooM: A decision procedure for Boolean matching with abstraction and dynamic learning. In Proceedings of the Design Automation Conference (DAC’10). 499--504.
[28]
M. Soeken, A. Mishchenko, A. Petkovska, B. Sterin, P. Ienne, R. Brayton, and G. De Micheli. 2016. Heuristic NPN classification for large functions using AIGs and LEXSAT. In Proceedings of the International Conference on Theory and Applications of Satisfiability Testing (SAT’16). 212--227.
[29]
C. C. Tsai and M. Marek-Sadowaska. 1996. Generalized Reed-Muller forms as a tool to detect symmetries. IEEE Trans. Comput. 45, 1 (1996), 33--40.
[30]
N. Kettle and A. King. 2006. An anytime symmetry detection algorithm for ROBDDs. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’06), 24--27.
[31]
V. N. Kravets and K. A. Sakallah. 2000. Generalized symmetries in Boolean functions. In Proceedings of the International Conference on Computer Aided Design (ICCAD’00). 526--532.
[32]
J. Ciric and C. Sechen. 2003. Efficient canonical form for Boolean matching of complex functions in large libraries. IEEE Trans. Comput.-Aided Design Integr. Circuits Syst. 22, 5 (2003), 535--544.
[33]
Q. Wu, C. Y. R. Chen, and J. M. Acken. 1994. Efficient Boolean matching algorithm for cell libraries. In Proceedings of the International Conference on Computer Design. 36--39.
[34]
Selmer M. Johnson. 1963. Generation of permutations by adjacent transposition. Math. Comp. 17 (1963), 282--285.
[35]
Berkeley Logic Synthesis and Verification Group. ABC: A System for Sequential Synthesis and Verification. Retrieved from http://www-cad.eecs. berkeley.edu/∼alanmi/abc.
[36]
R. Ashenhurst. 1957. The decomposition of switching functions. In Proceedings of the International Symposium on the Theory of Switching. Cambridge, Mass, 74--116.

Cited By

View all
  • (2023)Rethinking NPN Classification from Face and Point Characteristics of Boolean Functions2023 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE56975.2023.10136889(1-6)Online publication date: Apr-2023
  • (2023)Fast Exact NPN Classification with Influence-Aided Canonical Form2023 IEEE/ACM International Conference on Computer Aided Design (ICCAD)10.1109/ICCAD57390.2023.10323783(01-09)Online publication date: 28-Oct-2023
  • (2023)A Database Dependent Framework for K-Input Maximum Fanout-Free Window Rewriting2023 60th ACM/IEEE Design Automation Conference (DAC)10.1109/DAC56929.2023.10247727(1-6)Online publication date: 9-Jul-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Reconfigurable Technology and Systems
ACM Transactions on Reconfigurable Technology and Systems  Volume 12, Issue 2
June 2019
117 pages
ISSN:1936-7406
EISSN:1936-7414
DOI:10.1145/3322884
  • Editor:
  • Deming Chen
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 April 2019
Accepted: 01 February 2019
Received: 01 December 2018
Published in TRETS Volume 12, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Boolean matching
  2. Boolean signatures
  3. NPN classification
  4. canonical form
  5. symmetry

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • SRC

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Rethinking NPN Classification from Face and Point Characteristics of Boolean Functions2023 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE56975.2023.10136889(1-6)Online publication date: Apr-2023
  • (2023)Fast Exact NPN Classification with Influence-Aided Canonical Form2023 IEEE/ACM International Conference on Computer Aided Design (ICCAD)10.1109/ICCAD57390.2023.10323783(01-09)Online publication date: 28-Oct-2023
  • (2023)A Database Dependent Framework for K-Input Maximum Fanout-Free Window Rewriting2023 60th ACM/IEEE Design Automation Conference (DAC)10.1109/DAC56929.2023.10247727(1-6)Online publication date: 9-Jul-2023
  • (2020)Fast Exact NPN Classification by Co-Designing Canonical Form and Its Computation AlgorithmIEEE Transactions on Computers10.1109/TC.2020.297146669:9(1293-1307)Online publication date: 1-Sep-2020

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media