Verification of Arithmetic Circuits with Binary Moment Diagrams
Binary Moment Diagrams (BMDs) provide a canonical representations for linear functions similar to the way Binary Decision Diagrams (BDDs) represent Boolean functions. Within the class of linear functions, we can embed arbitrary functions from Boolean variables to integer values. BMDs can thus model the functionality of data path circuits operating over word-leveldata. Many important functions, including integer multiplication, that cannot be represented efficiently at the bit level with BDDs have simple representations at the word level with BMDs. Furthermore,BMDs can represent Boolean functions with around the same complexity as BDDs.
We propose a hierarchical approach to verifying arithmetic circuits, where component modulesare firstshownto implement their word-level specifications. The overall circuit functionality is thenverified by composing the component functions and comparing the result to the word-level circuit specification. Multipliers with word sizes of up to 256 bits have been verified by this technique.