Assignment one questions and answers

Here are some notes about assignment one (some in Q&A format, some not). Suggestions for additions to this list are welcome (via e-mail).


Q: When question 1 asks for a circuit, does it mean an electrical circuit with power and ground, or a logic gate diagram?

A: A logic gate diagram.


Q: May we use different symbols for AND and OR, instead of the times and plus symbols?

A: Sorry, but no, you can't. You'll have to get used to the notation used in this course to be able to read the textbook, assignments, data sheets, etc. And to be able to read other material about logic circuit design in future.

It is a rather annoying notation, especially because it gets confusing when you mix it with arithmetic. But it's common in circuit design, and more than that, it's quite standard for textbooks for a course like this. So I've decided to be compatible with the textbook(s) rather than with other uses of notation.

There is actually quite a variety of notation out there; no particular notation could please everyone. But the notation we use is how we speak to each other, and using the notation which is standard in a particular field is just like speaking with someone in a (natural) language which they understand. You have to do it if you want to be understood.


Q: Can we use more-than-two-input logic gates when drawing a diagram, or must we stick to the two-input gates? E.g. if I want to represent A+B+C, can I draw this using one three-input OR gate?

A: You can use logic gates with any number of inputs. Indeed if you look at the lab data sheets you'll see that some many-input gates are available to us in the labs. But even if they weren't, we would try to ignore such considerations when designing our circuits, at least for an initial design. First the logic, then the optimization or the real-world considerations.


Q: May we use truth tables to prove statements in question 3? How about to disprove?

A: To prove that one of those equations is valid, no, not for the purposes of the assignment. You must prove it algebraically, as stated. On the other hand, a truth-table proof would be worth partial marks.

To disprove one of the statements, what you need is not an algebraic manipulation of some kind, but a counterexample. A counterexample is basically like one row of a truth table.

A proof by truth table is valid, but only feasible for a very small number of input variables. Rather than making these problems complex enough to make truth tables infeasible, I thought it better just to introduce an artificial prohibition of proof by truth table for this assignment question.


Q: Can you give any hints for question 3?

A: I suggest trying to come at the problem from multiple angles.

For one, you should be simultaneously trying to prove and disprove the statement, until you have concluded that it is valid or invalid.

Also, you can try either algebraic manipulations on the left side to get the right side, or manipulations on the right side to get the left side.

You can try to think not only about what algebraic manipulations could prove something true, but why it is true, in some less formal sense.


Q: May we use the inverter bubbles ("not"s) or not-gates in question 4?

A: No. Only use "BUT NOT", as stated; no NOT.


Q: May we use inverter bubbles in question 2?

A: Yes. The restriction only applies to question 4.


Q: In question 4c, does "a xor b xor c" mean "(a xor b) xor c", or what?

A: Yes, it means "(a xor b) xor c", or "a xor (b xor c)", or even "b xor (a xor c)" -- these are all equivalent because the xor operator is associative and commutative, odd as that may sound.

But it does NOT mean something higher-level like "any one of a, b, and c, but not all three". That's something quite different, and not what the circle-plus operator means. "a xor b xor c" is two two-input XOR operations. You XOR a and b together; and then you XOR the result of that with c.


[main course page]