A B C | F ========|=== 0 0 0 | 1 0 0 1 | 0 0 1 0 | 0 0 1 1 | 1 1 0 0 | 1 1 0 1 | 1 1 1 0 | 0 1 1 1 | 1
Write a sum-of-products expression for F.
_ _ _ _ _ _ _
F = A*B*C + A*B*C + A*B*C + A*B*C + A*B*C
Write a minimal sum-of-products expression for F.
Show a combinational circuit that implements F using only
INV and NAND gates.
To cover all the 1's in the map we have to use 3 of the 4 patches:
_ _ _
F = B*C + A*B + B*C
One possible schematic diagram is shown below. Note that
the final 3-input NAND gate has been drawn in it's Demorganized
form, i.e., an OR gate with inverting inputs.
Implement F using one 4-input MUX and inverter.
Write a minimal sum-of-products expression for NOT(F).
_ _ _
F = B*C + A*B*C
_____
(A) A + B
_ _ _ _ _ _ _
(B) A*B*C + A*B*C + A*B*C + A*B*C + A*B*C + A*B*C
_ _
(A) A*B
(B) B + C
What is the maximum number of product terms in a minimal
sum-of-products expressions with three variables?
True or false: A boolean function of N variables with greater than
2N-1 product terms can always be simplified to an
expression using fewer product terms.
Suppose the stock room is very low on components and
has only five NAND gates on hand. Would we be able to
build an implementation of any arbitary 2-input boolean
function?
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
F = (C + D)*(A + B*C) = A*C + A*D + B*C + B*C*D = A*C + A*D + B*C
Write a minimal sum-of-products expression for H.
_
top term is pulled down when A = 1 => product term is A
_ _ _
bottom term is pulled down when A or B or C is 1 => product term is A*B*C
The rightmost column is just a distributed 2-input NOR gate that
combines the product terms, and the final inverter converts this
into a OR of the product terms. So:
_
H = A + A*B*C = A + B*C
_ _ _
top term is pulled down when A or B or C = 1 => product term is A*B*C
_ _ _
next term is pulled down when A or B or C is 1 => product term is A*B*C
...
So, for a particular set of input values only one of these products
will be true.
Give the Boolean function represented at the output, Z.
_ _ _ _ _
Z = A*B*C + A*B*C + A*B*C + A*B*C + A*B*C
Is there an example involving two valid inputs that demonstrates that
the above device is not lenient?
_ _ _ term 1: A*C term 2: B*C term 3: A*B term 4: A*BG is simply the OR of terms 1 and 3. With a little thought we can rewrite F as:
_ _ _ _ _ F = A + C = A + A*C = A(B + B) + A*C = A*B + A*B + A*Cwhich is the OR of terms 1, 3 and 4. We can now fill in the necessary pulldowns:
_ _ _
G = A*C + A*C + B
The inputs are labeled An, Bn, Gn+1, and Ln+1, and the outputs are
labeled Gn and Ln. The G and L signals have the meanings "A greater
than B" and "A less than B," respectively. If both G and L are false,
the meaning is A = B. G and L are never both true. Two k-bit numbers
A and B may be compared using a circuit such as the following:
The most significant bits are supplied as Ak-1 and
Bk-1, and the least significant bits are A0 and B0.
The output of a comparison is taken from the G and L outputs of the
lowest-order cell (G0 and L0). Gn+1 and Ln+1 of the highest-order
cell are connected to logical 0 to indicate that the numbers are
assumed to be equal until some difference is found between a pair of
bits Ai and Bi.
If the Gn+1 and Ln+1 inputs indicate that higher-order bits have
established A > B or A < B, then cell n must propagate that
result to Gn and Ln. However, if Gn+1 and Ln+1 indicate that the
higher-order bits are equal, then cell n must compare its bit of A and
B to determine if A > B, A < B, or A = B and must signal that
result appropriately at Gn and Ln.
____ __
Gn = Gn+1 + Ln+1*An*Bn
____ __
Ln = Ln+1 + Gn+1*An*Bn
If we construct a schematic using INV, AND and OR, the resulting
circuit would have a Tpd of 3 gate delays.
Work out expressions for Gn and Ln as functions of Gn+2, Ln+2,
An+1, Bn+1, An, and Bn. Express your answers in the form
____ ____ ____ ____ __
Gn = Gn+2 + Ln+2*(An+1*Bn+1 + (An+1*Bn+1 + An+1*Bn+1)*An*Bn)
____ ____ ____ ____ __
Ln = Ln+2 + Gn+2*(An+1*Bn+1 + (An+1*Bn+1 + An+1*Bn+1)*An*Bn)