Universal base functions (UBF's) are defined which are generalizations of universal logic functions. An (n, m, r)-UBF can be implemented as a single module (UBM) with n+m inputs and 1 output. An arbitrary n-variable switching function fn (X) is then realized on the fixed UBM by realizing a suitable set of m r-variable functions with which to drive m inputs of the UBM, the remaining n inputs being driven by X. The fan-in of a UBM for r ≥ 2 is shown to be considerably less than that of a Universal Logic Module (a special case corresponding to r = 1). Specific UBF's are proposed for r = 2 in which m is on the order of 60% of the value obtained by using the UBF defined by the familiar Shannon decomposition formula. This is close to the theoretical lower bound on m. The use of UBM's provides a new way to realize an arbitrary function or set of functions, completely specified or otherwise, by assembling a small number of circuits selected from a small set of standard logic modules of limited fan-in. For the case r = 2, the number of 2-input devices required to drive the m inputs of the UBM is often considerably less than m. DON'T CARES can be used to advantage to reduce this number still further. Realizations based on a UBM (n=6, m=12, r=2) were computed for over 1000 randomly generated completely specified functions grouped, exclusively, into sets of 1,2,3 and 4 output functions. Most (86%) single output functions required no more than 8 2-input devices to drive the 12 control inputs of the UBM, while most (79%) simultaneous realizations of sets of 4 functions required an average of no more than 6 such devices per output function. More detailed results are provided. Array type realizations of UBM's are proposed such that each can itself be built from multiple copies of a rather limited number of submodule types, each with n+2 inputs.
['Mohamed Y. Osman', 'C. Dennis Weiss']
Universal base functions and modules for realizing arbitrary switching functions