Handling Generalized Type-2 Problems of Digital Circuit Design via the Variable-Entered Karnaugh Map

This paper offers a novel treatment of the generalized Type-2 problem, a prominent fundamental problem of digital circuit design. We adapt the input-domain constraining technique via utilization of Variable-Entered Karnaugh Maps (VEKMs) together with careful employment of modern don’t-care notation. Our analysis covers the cases when an honest translator is possible or a sneaky translator is warranted, and is effective whether side inputs are absent or present, and for scalar or vectorial outputs.


Introduction
Certain classical problems of digital circuit design can be described by the general layout presented in Fig. 1. This layout was first suggested, without the shady sneaky path, by Ledley (1959Ledley ( , 1960, and later used by Bell (1968), and Brown (1975). Ledley's layout involves a combinational logic circuit C that is comprised of two subnetworks A and B. The final output can be viewed as output ( , ) of network B or output ( , ) of network C. Here, the five quantities , , , and are binary or Boolean vectors of lengths , , , , and representing basic inputs, side inputs, intermediary values, output for subnetwork B, and output for the overall network C, respectively. This means that the quantities , , , and belong to 2 , 2 , 2 , 2 , and 2 , respectively, where 2 stands for the two-valued Boolean algebra 2 , also known as the switching algebra or propositional algebra. Consequently, three 'elementary problems of digital circuit design' emerge (Rushdi & Ahmad, 2018), namely Type-1 problem: Given ( ) and ( , , ), find ( , ). Type-2 problem: Given ( ) and ( , ) find ( , ). Type-3 problem: Given ( , ) as well as ( , ), find ( ). Brown (1975) slightly altered the structure of Ledley's network by adding the shady sneaky path in Fig. 1, and, as a result, replacing ( , ) by ( , , ). Network B is called an 'honest translator' or a 'sneaky translator' depending on whether the shaded path in Fig. 1 can be omitted or it is needed (or used). Brown (1975) also proposed a solution of the modified type-2 problem for = 1, which can now be restated as: Given Z( ) and ( , ) find ( , ) if an honest translator is possible, but otherwise find ( , , ) for a sneaky translator. Brown (1975) formulated his solution via an interval-based condition of the form ≤ ≤ .
( ) (Reusch, 1975;Rushdi, 1987Rushdi, , 2001Rushdi, , 2018. Such a notation allows useful utilization of the Variable-Entered Karnaugh Map (VEKM) (Rushdi, 1983(Rushdi, , 1985(Rushdi, , 1987(Rushdi, , 2018Rushdi and Al-Yahya, 2000, 2001, 2002, which acts as the natural map for 'big' Boolean functions (Brown, 1990;Amashah, 2010, 2011). The advantages of our novel method compared to the earlier method of Brown (1975) include conceptual clarity, high speed, aggregation of tasks, and better control on outcomes. Such advantages do not pertain only to pedagogical issues but might also be of significant benefit to contemporary practical digital design (Brown and Vranesic, 2014). Therefore, our contribution herein should be considered a warranted revival of a problem of everlasting interest (albeit being an old one, indeed). This paper is a part of our continuing effort to modernize techniques for handling fundamental problems of digital circuit design via 'big' Boolean algebraic techniques. Type-1 problems can be solved by direct substitution, but Type-2 or Type-3 problems are challenging, indeed. While we devote this paper to handling generalized Type-2 problems, we dedicate our sister publication (Rushdi and Ahmad, 2018) to Type-3 problems, wherein we rely solely and successfully on the methodology of equation solving in 'big' Boolean algebras. The methodology of equation solving in 'big' Boolean algebras is also applicable to the current generalized Type-2 problems, and it involves solving an inverse problem of logic in which knowledge of the vectorial function ( ) is utilized to produce its inverse vectorial function ( ). We did not opt for using equation solving herein, since it seems to involve certain unwarranted steps as it produces parametric solutions with the parameters disappearing in the final stage of problem solving.
The organization of this paper is as follows. This introductory section is followed by Section 2 which reviews Brown's formulation of the generalized Type-2 problem, and then introduces our novel formulation and method. Section 3 discusses a design example demanding a sneaky translator, while Sec. 4 explores another example allowing an honest translator. Both examples ignore the presence of side inputs , and are therefore supplemented by a third example in Section 5 in which side inputs are present. Section 6 concludes the paper. The paper is made selfcontained by the inclusion of a supplementary appendix about expressing interval functions via modern don't-care notation.

Formulation and Method
The constrained-input problem of Brown (1975) is to find a general solution for in the relation (1) Brown (1975) showed that has the interval solution Since the side inputs do not play a crucial role in the constrained-input problem, we temporarily assume that they are not present, and then relax this assumption at a later stage of our analysis.
The function ( , ) is understood to be : 2 + → 2 . Since we need to solve (at least implicitly) for in terms of , it is unavoidable to resort to 'big' Boolean algebras which are finite (atomic) Boolean algebras larger than the two-valued Boolean algebra (Brown, 1990;Amashah, 2010, 2011). This is done by reinterpreting the aforementioned ( , ) as ( ) where : 2 → The natural map or VEKM for ( ) has map variables and hence 2 cells. This natural map is equivalent to expressing ( ) by its Minterm Canonical Form (MCF) (Brown, 1990) where takes the value ̅ (complemented literal) if = 0, and takes the value (uncomplemented literal) if = 1. For ∈ {0, 1} , the symbol spans the minterms of , which are the 2 elementary or primitive products The constant values ( ) in equation (5) are elements of 2 called the discriminants of ( ), and constitute the entries of the natural map of ( ) which has an input domain {0, 1}  2 . The Boolean algebra 2 = ( 1 , 2 … … . ) has generators (1 ≤ ≤ ) which look like variables (In fact, they were originally variables before we changed their roles to generators). Therefore, we can accept the name assigned (for historical reasons) to the natural map of ( ), namely the name of the Variable-Entered Karnaugh Map (VEKM). We now observe that the minterms of , which are the 2 = elementary or primitive products are exactly the atoms of the underlying Boolean algebra (Rushdi and Amashah, 2011). For convenience, we call these atoms (0 ≤ ≤ ( − 1)). Now, we compare (4) and (5) to obtain Equation (9) reveals that every cell entry in the natural map of ( ) is a particular atom of the underlying Boolean algebra 2 . Consequently, every cell entry in the natural map of ̅ ( ) is a disjunction of all atoms except the particular atom appearing in the corresponding cell for ( ). The natural map for ( ) can be constructed from those of ( ), ̅ ( ), and ( ) by rewriting (3) as where , , ̅ : 2 → 2 , and : 2 → 2 . For ∈ {0, 1} , { ( ) = 0} implies { ( ) = ( ̅ ( ))} and hence ( ) is a don't-care disjunction of all atoms except one, i.e., cell of the map for ( ) has a single negatively-asserted atom with each of the rest of atoms added don't-care. Alternatively, { ( ) = 1} implies { ( ) = ( ) ∨ (1)} and hence ( ) is equal to a single atom ORed with a don't-care, i.e., cell of the map for ( ) has a single positively-asserted atom with each of the rest of atoms added don't-care.
The atoms of the underlying Boolean algebra 2 differ in their modes of appearance in the cells of ( ). They can be classified into four sets: 4. Atoms of mixed assertion: which are positively-asserted in some map cells, negativelyasserted in some others, and are don't-care in the rest.
An honest translator is possible if and only if the fourth set (Atoms of mixed assertion) is empty. In this case is independent of and is a disjunction of atoms of the second set (positively-asserted atoms) and possibly some of the atoms of the first set (purely don't-care atoms), If the fourth set is not empty, a sneaky translator must be used and is dependent on as well as . An expression of can be obtained via VEKM-reading techniques (Rushdi, 1983(Rushdi, , 1985(Rushdi, , 1987(Rushdi, , 2001(Rushdi, , 2004(Rushdi, , 2018. In summary, we use an auxiliary function ( ) to encode the information given by the vectorial input function ( ). For ∈ {0, 1} , the discriminant ( ) is a single atom of the underling Boolean algebra ( ). This atom is specified as . Now, depending on the value of ( ), the desired ( ) inherits as a value the single-atom constituting ( ): positively asserted if ( ) = 1, and negatively asserted if ( ) = 0. Apart from this single assertion in ( ), all the remaining atoms are included in its sum-of-products expression don't-care.
In the analysis above, we ignored the presence of the side inputs . Straightforward modifications are needed if these side inputs are present. Both and will now have an extra dependence, which means that the variables will now appear as extra entered variables in the natural maps of and . The underlying Boolean algebra will now be ( , ) = ( 1 , 2 … , 1 , 2 … ), and hence will have ( + ) generators, = 2 ( + ) atoms, and 2 elements.
In the analysis above and in the examples to follow, we used scalar quantities and for simplicity. Generally, we could use vectors and of the same length > 1. In this latter case, the single equation (3) is simply replaced by independent equations of the same form, namely = ∨ ( ̅ ), 1 ≤ ≤ (3a) Therefore, the task of constructing an function from a function is repeated times, albeit with a common auxiliary function encoding the common knowledge of ( ). Each of the functions (1 ≤ ≤ ) could be an honest translator or a sneaky one independently of the others.

Design Example Allowing an Honest Translator
This example was solved earlier by Brown (1975). Again, it does not have side inputs , and it is specified by: We rewrite (16) in equational form as ( , ) = ( 1 ⊙ ( ̅ 1 2 ∨ ̅ 2 3 )) ( 2 ⊙ ( 1 2 3 ∨ ̅ 1 ̅ 2 ∨ ̅ 2 ̅ 3 ))( 3 ⊙ ( ̅ 1 3 ∨ 1 ̅ 3 ∨ 2 )) = 1 (17) Fig. 3 presents a sequence of five maps, three conventional Karnaugh maps for 1 ( ), 2 ( ), and ( ) and two natural maps (VEKMs) for ( ) and ( ). This sequence of maps illustrates the steps of our method of solution. Note that we view ( ) as a function : 256 3 → 256 instead of as : 2 6 → 2 , where 256 = ( 1 , 2 , 3 ) has eight atoms. We note that an honest translator is possible since none of these eight atoms has a mixed assertion in Fig. 3(e). In fact, there are three atoms that are asserted positively ( ̅ 1 ̅ 2 3 , ̅ 1 2 3 , and 1 2 3 ), three atoms that are asserted negatively ( ̅ 1 2 ̅ 3 , 1 ̅ 2 3 , and 1 ̅ 2 ̅ 3 ), and two atoms that are asserted neither way ( 1 2 ̅ 3 , and ̅ 1 ̅ 2 ̅ 3 ). Hence, can be made an honest translator as a disjunction of the three positivelyasserted atoms together with (possibly) any of the two purely don't-care atoms. This precisely expresses as and hence produces three minimal honest solutions for ( ), namely Using VEKM-reading methodology, we can come up with a sneaky translator of the form appears at least don't-care in every cell of the loop 1 of the map of ( Fig. 3(e)). It is also possible to include the term 3 2 in such an expression since the term 2 appears at least don't-care in every cell of the loop 3 of that map (Fig. 3(e)). On the other hand, all instances of the terms entered asserted in that map ( 1 2 3 , ̅ 1 ̅ 2 3 , ̅ 1 2 3 , and ̅ 1 2 3 ) are covered either by the loop of coverage 1 and depth 3 or the loop of coverage 3 and depth 2 . An alternative sneaky translator is given by the products-of-sums form

Design Example Including Side Inputs
This example was solved earlier by Ledley (1960) and Brown (1975) and it differs from the earlier two examples, since it has side inputs . The example is specified by: We rewrite (19) in equational form as ( , ) = ( 1 ⊙ ( 1 ̅ 2 ∨ ̅ 1 3 ))( 2 ⊙ ( ̅ 1 2 ∨ 1 ̅ 3 ))( 3 ⊙ ( 1 2 ∨ ̅ 2 3 )) = 1 Instead of representing ( , ) by a conventional map, we represent it by the VEKM of Fig. 4, which has entered variables 1 and 2 . The function ( , , ) is constructed via (10) and then viewed as ( ): 3 → , where = ( 1 , 2 , 3 , 1 , 2 ) has 32 atoms. None of these atoms has a mixed assertion in the map of , indicating the possibility of an honest translator ( , ) that is independent of . This translator is the disjunction of fourteen positively-asserted atoms, together with two out of eight purely don't care atoms, and is given by

Conclusions
This paper handles the generalized Type-2 problem, a prominent fundamental problem of digital circuit design. The paper adapts the input-domain constraining technique via utilization of Variable-Entered Karnaugh Maps (VEKMs) together with careful employment of modern don'tcare notation. An auxiliary function is used to encode the information content of the vectorial input function, by using single atoms of the underling Boolean algebra as its discriminants . The desired output has discriminants that consist each of all atoms don't-care except a single inherited atom that could be positively or negatively asserted.
Our novel method outperforms the conventional method both in speed and clarity. Three demonstrative examples are worked out herein, which obtain solutions that agree with (or occasionally are more compact than) solutions obtained conventionally. The advantages of our method are not restricted to pedagogical aspects but extend to practical ones as well.
The paper serves as an additional illustration of a thesis forwarded by Brown (1990) stating that 'big' Boolean algebras (atomic Boolean algebras with more than two elements) are unavoidable, especially for digital-design purposes. The paper also demonstrates how representations and manipulations in these algebras can be easily tackled pictorially and semi-algebraically with the aid of natural maps (VEKMs).

Appendix A: On Expressing Interval Functions via Don't-Care Notation
An interval Boolean function defined by the double-inequality can conveniently be depicted by the don't-care notation introduced by Reusch (1975) and developed further by Rushdi (1987Rushdi ( , 2001Rushdi ( , 2004Rushdi ( , 2018. According to Reusch (1975), the notation is rigorously equivalent to the conjunction of the two implications This means that the function becomes a partially-defined or an incompletely-specified one. In fact, it stands for several functions rather than a unique one. An implicit purpose of the notation (A.1) or (A.2) is to mathematically handle these several functions as if they were a single one. The notation (A.2) is understood (in the case of several variables ) (Rushdi and Al-Yahya, 2001) to mean ( ) = ( ) ∨ (d( ) ⋀ ( )) (A.5) but while the arbitrary function d( ) is clearly understood to be dependent on , this dependency is deliberately hidden or made implicit to facilitate manipulations. Hiding the dependence of the don't-care symbol d on the pertinent variables is a common practice in digital-design circles, in general, and in Karnaugh-map applications, in particular. The complement ̅ of the function f given by (A.2) is given by the sum-of-products formula (Rushdi and Albarakati, 2014) The function in (A.2) is a completely-specified function and is called the (positively-) asserted part of , while the function in (A.2) is an incompletely-specified function and is called the don'tcare part of (Rushdi, 1987). Note that the functions and might conveniently be assumed to be disjoint (albeit they do not necessarily have to be so). Therefore, many variants of (A.2) might exist. If the functions and are disjoint, these variants include one in which the don't-care part is minimized, namely = ∨ ( ̅ ) (A.7) and also include another in which the don't-care part is maximized, namely = ∨ ( ∨ ) (A.8) The positively-asserted part ̅ ̅ of ̅ is also called the negatively-asserted part of , and is occasionally needed explicitly in the expression of (Rushdi, 2018). In such a case (A.2) is rewritten as = ∨ ( ) ∨ ( ̅ ̅ ) (A.9)