@device(postscript) @libraryfile(Mathematics10) @libraryfile(Accents) @style(fontfamily=timesroman,fontscale=11) @pagefooting(immediate, left "@c", center "@c", right "@c") @heading(Verification of Arithmetic Circuits) @heading(CMU-CS-96-149) @center(@b(Xudong Zhao)) @center(August 1996 - Ph.D. Thesis) @center(FTP: Unavailable) @blankspace(1) @begin(text,spacing=1) The recent highly-publicized division error in the Pentium Processor has emphasized the importance of verification of arithmetic circuits. Current dubugging techniques like simulation have difficulties in finding such errors because the error occurrences can be every rare. We have applied two different types of formal verification techniques to the problem. One approach uses @i(word level model checking), and the other approach uses @i(theorem proving). Symbolic model checking techniques based on application of BDDs have been widely used in verification of computer hardware systems. However, lack of proper representation for integer valued functions has prevented these methods from being used in verification of arithmetic circuits. In this thesis, we introduce a new representation, @i(hybrid decision diagrams). This representation enables us to handle cicuits that contain both control logic and wide data paths. By using hybrid decision diagrams, we have extended the temporal logic and the symbolic model checking algorithm. The extended algorithm, which we call word level model checking, can be used to verify a large class of arithmetic circuits. We have also investigated the possibility of verifying arithmetic circuits using automatic theorem provers. We have built a theorem prover called @i(Analytica) on top of the symbolic computation system @i(Mathematica). Analytica is able to exploit the mathematical knowledge that is built into the symbolic computation system. Such knowledge is very useful in handling the complicated equations and inequalities which arise from verification of arithmetic circuits. As an example, we have checked the correctness of a division circuit that uses a radix-4 SRT division algorithm. The algorithm is simailar to the one used in the Pentium. We have applied both verification techniques on this circuit. In the word level model checking approach, a gate level model for the circuit is built. The specification is expressed by formulas of the extended temporal logic. The word level model checking system is able to decide that the model satisfies the specification. In the theorem proving approach, the circuit is modeled in an abstract manner where each component is described as one ore more axioms. The theorems corresponding to the specification of the circuit is proved by Analytica using the axioms as given facts. @blankspace(2line) @begin(transparent,size=10) @b(Keywords:@ )@c @end(transparent) @blankspace(1line) @end(text) @flushright(@b[(189 pages)])