Carlos H. answered • 12/12/20

Computer Science and Math

We're given f(a,b,c,d) = ∑m(1,4,5,7,9,12,13)

What this means is that the function, f, outputs a 1 whenever its inputs, a, b, c, and d, create the one of the numbers that its summing up.

So if we make a truth table using this, it would look like this:

__# | a b c d || f __

0 | 0 0 0 0 || 0

1 | 0 0 0 1 || 1

2 | 0 0 1 0 || 0

3 | 0 0 1 1 || 0

4 | 0 1 0 0 || 1

5 | 0 1 0 1 || 1

6 | 0 1 1 0 || 0

7 | 0 1 1 1 || 1

8 | 1 0 0 0 || 0

9 | 1 0 0 1 || 1

10 | 1 0 1 0 || 0

11 | 1 0 1 1 || 0

12 | 1 1 0 0 || 1

13 | 1 1 0 1 || 1

14 | 1 1 1 0 || 0

15 | 1 1 1 1 || 0

Now, a 4:1 multiplexer has 2 inputs as a select, and I've divided the truth table into 4 different sections based on the first two inputs, a and b.

We're going to use a and b as our selects, and the inputs for the 4:1 mux will be some functions of the other two inputs, c and d.

The 4:1 mux has 4 different inputs that it chooses from based on the selects. This means that when a and b are 00, the input comes from the 00 pin on the mux, and would have this truth table:

__c d || f __

0 0 || 0

0 1 || 1

1 0 || 0

1 1 || 0 (similarly for a and b being 10)

As you can see, this is the same as the first section of our whole truth table, and the output is only 1 when c and d are 01. This is like taking the *AND *of c' and d. So our input to the 00 pin of the multiplexer would be **c'd**.

In the second section of the truth table, we see that the output is only zero when c and d are 10. This is like taking the *OR *of c' and d. Try writing that truth table off to the side to be sure ;). This means that the input to pin 01 (since a and b are 01) of the mux would be **c' + d**.

In our third section, we see the same pattern as in our first section. The output is 1 only when c and d are 01. This means that pin 10 is just like pin 00 and has the input **c'd**.

In our fourth section of the truth table, we see that d doesn't seem to affect the output. Whenever c is 0, the output is 1, regardless of what d is. So, for pin 11, the input would be **c'**.

This gives us everything we need for the 4:1 multiplexer:

**Select 1: a**

**Select 2: b**

**Pin 00: c'd**

**Pin 01: c' + d**

**Pin 10: c'd**

**Pin 11: c'**