The design of optimal logic networks is formulated as integer programming (IP) problems. This formulation has the following advantages over other methods of logic design. 1) General feed-forward networks can be dealt with rather than two-level or three-level networks usually treated in conventional switching theory. 2) Network restrictions such as fan-in and fan-out restrictions are easily incorporated. 3) Various gate types such as NOR, NAND, AND-OR combination, NOR-AND combination, and those gates with NOR-OR dual outputs can be treated. 4) Various objectives such as the number of gates and the number of connections are minimized. 5) Incompletely specified functions can be handled without additional difficulty. 6) The formulation can be extended to multiple-output networks. To solve the resulting IP problems, the implicit enumeration method of integer programming is found to be suitable. An IP code ILLIP (Illinois Integer Programming Code) is implemented based on the implicit enumeration by incorporating some new gimmicks such as pseudounderlining. Then the ILLIP is used to solve the IP problems for logical design by making use of the inherent structure of our problems. Various optimal networks are derived by a computer as follows: optimal NOR networks and optimal NOR-AND networks for all functions of up through three variables, one-bit adders with various gate types, and others. These results indicate the computational feasibility of the integer programming approach.
Read full abstract