Fast discrete function evaluation using decision diagrams

An approach for fast discrete function evaluation based on multi-valued decision diagrams (MDD) is proposed. The MDD for a logic function is translated into a table on, which function evaluation is performed by a sequence of address lookups. The value of a function for a given input assignment is obtained with at most one lookup per input. The main application is to cycle-based logic simulation of digital circuits, where the principal difference from other logic simulators is that only values of the output and latch ports are computed. Theoretically, decision-diagram based function evaluation offers orders-of-magnitude potential speedup over traditional logic simulation methods. In practice, memory bandwidth becomes the dominant consideration on large designs. We describe techniques to optimize usage of the memory hierarchy.

[1]  Eduard Cerny,et al.  Simulation of MOS Circuits by Decision Diagrams , 1985, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Luciano Lavagno,et al.  Synthesis of Software Programs for Embedded Control Applications , 1999, 32nd Design Automation Conference.

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

[4]  Tsutomu Sasao,et al.  Ternary Decision Diagrams and their Applications , 1996 .

[5]  Donald J. Patterson,et al.  Computer organization and design: the hardware-software interface (appendix a , 1993 .

[6]  R. Brayton,et al.  Compiling Verilog into timed finite state machines , 1995, Proceedings. 1995 IEEE International Verilog HDL Conference.

[7]  David A. Patterson,et al.  Computer Organization & Design: The Hardware/Software Interface , 1993 .

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