<quote author="ajksdf">
//... seem to be hard coding many of the control signals to either a 0 or a 1. Why?
- I just draw this when I was watching the project overview.
<quote>
So it sounds like it was walking through a specific example.
//Can you explain, in words, when the writeM signal should be asserted (i.e., HI)? Be sure to consider both types of instructions (a-type and c-type).
- 1. use 1 NOT gate to get the instruction type Not(=instruction[15], out=aOrC)
- 2. since one of those 3 destination bits decide whether the A / M / D register will receive the information. I think an And gate should be chosen. For the other bit, instruction type bit may come into play so I come up with the following gate.
And(a=instruction[15], b=instruction[4], out=writeM)
So what is the relevance of your Not gate? You don't use it to generate writeM.
By "in words" I'm trying to get you to first think about the logical objective and not about the details of how you plan to implement it.
For instance: The writeM line should be HI only when we have a C-type instruction that includes M as one of the destinations.
So now we have a very clear path to convert this to a logical expression:
writeM = (is a C-type instruction) AND (M is one of the destinations)
writeM = (instruction[15] is HI) AND (instruction[?] is HI)
Look carefully at which instruction bit targets the RAM.