Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Fault Detection in Combinational Networks by Reed-Muller Transforms
IEEE Transactions on Computers
Spectral transforms for large boolean functions with applications to technology mapping
DAC '93 Proceedings of the 30th international Design Automation Conference
Synthesis by spectral translation using Boolean decision diagrams
DAC '96 Proceedings of the 33rd annual Design Automation Conference
Algebraic decision diagrams and their applications
ICCAD '93 Proceedings of the 1993 IEEE/ACM international conference on Computer-aided design
Spectral Techniques in Digital Logic
Spectral Techniques in Digital Logic
Fast Transforms: Algorithms, Analyses, Applications
Fast Transforms: Algorithms, Analyses, Applications
A spectral method for Boolean function matching
EDTC '96 Proceedings of the 1996 European conference on Design and Test
Optimization of multivalued decision algorithms
MVL '78 Proceedings of the eighth international symposium on Multiple-valued logic
Finite Orthogonal Series in Design of Digital Devices
Finite Orthogonal Series in Design of Digital Devices
Efficient calculation of spectral coefficients and their applications
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Multiplicative Properties of Spectral Walsh Coefficients of the Boolean Function
Automation and Remote Control
Hi-index | 14.99 |
Discrete Walsh transform is an orthogonal transform often used in spectral methods for different applications in signal processing and logic design. FFT-like algorithms make it possible to efficiently calculate the discrete Walsh spectrum. However, for their exponential complexity, these algorithms are practically unsuitable for large functions. For this reason, a Binary Decision Diagram (BDD) based recursive method for Walsh spectrum calculation has been introduced in [4]. A disadvantage of this algorithm is that the resulting Multi-Terminal Binary Decision Diagram (MTBDD) representing the Walsh spectrum for $f$ can be large for some functions. Another disadvantage turns out if particular Walsh coefficients are to be computed separately. The algorithm always calculates the entire spectrum and, therefore, it is rather inefficient for applications where a subset of Walsh spectral coefficients, i.e., the pruned Walsh spectrum, is required. In this paper, we propose another BDD-based method for Walsh spectrum calculation adapted for application where the pruned Walsh spectrum is needed. The method takes advantage of the property that, for most switching functions, the size of a BDD for $f$ is usually quite a bit smaller than the size of the MTBDD for the Walsh spectrum. In our method, a MTBDD representing the Walsh spectrum is not constructed. Instead, two additional fields are assigned to each node in the BDD for the processed function $f$. These fields are used to store the results of intermediate calculations. Pairs of spectral coefficients are calculated and stored in the fields assigned to the root node. Therefore, the calculation complexity of the proposed algorithm is proportional to the size of the BDD for $f$ whose spectrum is calculated. Experimental results demonstrate the efficiency of the approach.