I'm required to implement a function
F = ~ABC~D + ~A~B~C~D + ~ABC + B~CD
using a 3x8 Decoder and any other additional combinational logic.
How can I implement this function if there are 4 variables (ABCD
) in the expression but only 3 inputs in my 3x8 Decoder?
If I take only ABC
as my 3 inputs on my decoder how can I include D
to complete my function.
-
3\$\begingroup\$ For a start you can reduce the function to a more basic form. I can see that one part can be removed straight away. Then maybe draw a truth table to see if anything else drops out. "other additional combinational logic" gives you a lot of flexibility to combine terms also. \$\endgroup\$Andy aka– Andy aka2018年01月11日 09:49:53 +00:00Commented Jan 11, 2018 at 9:49
-
\$\begingroup\$ I drew a truth table and K-map to reduce the expression but just got back the same expression. I think the function is already minimised? I don't know where to start really \$\endgroup\$zzzbai– zzzbai2018年01月11日 11:10:15 +00:00Commented Jan 11, 2018 at 11:10
-
2\$\begingroup\$ Reread the first comment and try again. \$\endgroup\$RoyC– RoyC2018年01月11日 13:55:29 +00:00Commented Jan 11, 2018 at 13:55
-
1\$\begingroup\$ Actually, simplifying the function is a distraction. The ~A~B~C~D and B~CD terms make it impossible to use a single 3x8 decoder. \$\endgroup\$StainlessSteelRat– StainlessSteelRat2018年11月26日 20:23:08 +00:00Commented Nov 26, 2018 at 20:23
2 Answers 2
If you cant reduce the equation to a simpler one that only has two variables you need to use two 3:8 decoders and the MSB variable assign it to the enable of both decoders, connect it to the first decoder enable pin inverted and directly to the second decoder enable pin. This way you divide the truth table in half activating the first decoder when A is 0 and deactivating it and activating the second decoder when A is 1
There is a few simplifications, ~ABC~D is redundant to ~ABC, so we can remove the first term outright,
Next all but the B~CD term is true only when A="0", so we use an AND gate to remove it needing to be on the decoder, and OR the B~CD term with the output as it is true no matter what A is.
The Reduced Equation would be F = A'(B'C'D' + BC) + BC'D
In the original notation would be F = ~A(~B~C~D + BC) + B~CD
Explore related questions
See similar questions with these tags.