The Implementation and Proof of a Boolean Simplification System

We have implemented and proved a Boolean simplification system. Our algorithm is based on the weak division algorithm used in MIS; our implementation is in the programming language ML. We began with a proof of the algorithm presented previously and extended it to a level of detail sufficient for proving the implementation of the system. In the process of developing the proof we clarified many definitions presented in previous accounts of the algorithm, and discovered several errors in our implementation. The result is that the designs generated by our implementation can be claimed to be correct by construction, since we have proved the correctness of our system.

[1]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[2]  Robert K. Brayton,et al.  MIS: A Multiple-Level Logic Optimization System , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[3]  Alain J. Martin The Design of a Delay-Insensitive Microprocessor: An Example of Circuit Synthesis by Program Transformation , 1989, Hardware Specification, Verification and Synthesis.

[4]  Shiu-Kai Chin Combining Engineering Vigor with Mathematical Rigor , 1989, Hardware Specification, Verification and Synthesis.

[5]  Geoffrey Brown,et al.  Proceedings of the Mathematical Sciences Institute workshop on Hardware specification, verification and synthesis: mathematical aspects , 1989 .

[6]  William W. Cohen,et al.  A Rule-Based System for Optimizing Combinational Logic , 1985, IEEE Design & Test of Computers.

[7]  Mark Longley,et al.  Formal Synthesis of Digital Systems , 1989 .

[8]  Ake Wikstrom,et al.  Functional programming using standard ML , 1987 .

[9]  Robert K. Brayton,et al.  Multi-Level Logic Simplification Using Don't Cares and Filters , 1989, 26th ACM/IEEE Design Automation Conference.

[10]  Robert K. Brayton,et al.  Logic Minimization Algorithms for VLSI Synthesis , 1984, The Kluwer International Series in Engineering and Computer Science.

[11]  Mario Benedicity,et al.  Discrete mathematical structures , 1987 .

[12]  Mary Sheeran Categories for the Working Hardware Designer , 1989, Hardware Specification, Verification and Synthesis.

[13]  Gary D. Hachtel,et al.  BOLD: The Boulder Optimal Logic Design system , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume 1: Architecture Track.