Reading Assignment
- Sections 1-6 of Appendix C of the textbook, continued. We are skipping around some in class, and have already covered section C.6 in class even though we have not completed the design of the ALU yet.
- Remember, if you studied some assembly language other than MIPS in your prerequisite for this course (or if you did, but your MIPS skills are rusty) study Sections 1-10 of Chapter 2 of the textbook. You will need to comfortable with this material when we finish Appendix C.
- The textbook mentions (but does not cover) minimization, which is important for this assignment. There are many tutorials available on the web; the one I prepared is Minimizing Boolean Functions, which you should read before doing this assignment.
Assignment To Hand In
This assignment requires you to draw schematic diagrams for logic networks. Unfortunately, we have not started using the software that we have available for creating these schematics, so you will have to draw your diagrams on paper and bring the assignment to class with you on the due date.
Be sure to put your name on your assignment paper so I know who submitted it.
There are sixteen possible functions of two boolean variables:
a | b | Y15 | Y14 | Y13 | Y12 | Y11 | Y10 | Y9 | Y8 | Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
- How many possible functions of three boolean variables are there?
- How many four variable functions are possible?
- What is the expression that relates the number of input variable to the number of possible boolean functions?
-
For each of the sixteen two-input functions:
- Draw a Karnaugh Map to minimize the function
- Using only AND, OR, NOT, 0, 1, and wires, draw a schematic diagram that implements each minimized function. (For 0 you may use the symbol for ground; for 1 you may use “Vcc.” Or you can simply use 0 and 1 as input values where you need them.)
- Examine each function, and where the function has a name, tell what the name is. For example, the name of Y1 is “AND.” Y2 Y4, Y11, and Y13 are the only four that you might not be able to name. (In formal logic they are variants of “implication.” a implies b if a is false or b is true: function Y13.)