Wed, 16th Dec 2015, 21:58 one more thing!
My students, Before I let you go, I do need to make sure you understand one concept from 306 that apparently (from the final exam) is clear that I must have done a very bad job teaching it. A lot of you lost 3 points on problem 3 because of this. The State Machine: The OUTPUT is a function of the CURRENT STATE, not the next state. If you will look at the handout I provided (since the textbook is wrong) for the danger signal problem of Chapter 3, you will note that the combinational logic for the output lights gets its inputs just from the CURRENT STATE state variables. (The combinational logic for the NEXT STATE state variables gets its inputs from the current state state variables and the external input.) Also, if you think about the State Machine for the LC-3, you note that the outputs in any one state are the control signals that guarantee the processing written inside the bubble representing that state. So, for example, when the CURRENT STATE is #18, inside the bubble you see MAR <--- PC. ... which means that when the current state is #18, the outputs are LD.MAR/yes and GATE.PC/yes. That is, the outputs are functions of the state ONLY, and are asserted for the duration of the clock cycle. Finally, if you look at the solution to problem 3 on the final exam, you will note that the output column Z is "1" for all input combinations except when S1 = S0 = 1. That is, Z = NAND(S1,S0). That is, the output depends on the current state and NOT on the input X. Anyhow, this will continue to be important in 319K and beyond -- worth a lot more than 3 points! So, I thought I would make sure to send you this email before you put 306 into your memory (or forgetory, if you prefer). Have a great semester break. Yale Patt