Mid-Term Marking


Question 1

2 marks per correct term in the expressions for the guaranteed times (total of 14 marks)

1 mark maximum for the numerical results (correct guaranteed value and excess) (total of 5 marks). 0.5 marks were subtracted for each missing/wrong value and/or for not explicitly stating that a requirement was met.

Some common mistakes were: confusing the CPU and chip WR* signals and adding two timing specifications that don't end/start at the same point.

Question 2

Since there were so many different types of answers I subtracted marks for each mistake up to the limit for each part of the question.

A maximum of 13 marks were deducted for mistakes in the truth table (TT) portion with marks subtracted as follows:

A maximum of 8 marks were deducted for the CUPL statements with marks subtracted as follows:

Notes:

(1) A truth table must include an entry for each possible input condition for every state used -- there is no universal ``default'' for output or next-state values. You can check your answer by counting the number of lines in the TT and make sure it matches the number required (states*2^(number of inputs)).

(2) Avoid using a don't care (X) unless you are sure it applies. Many people used X's as a shortcut and instead wound up losing a lot of marks. Similarly, avoid using X as an output value and don't simplify expressions unless you are sure of the answer.

(3) A design where the outputs (E1*, E2*) are also the state variables is a Moore state machine and cannot meet the requirements for the device described in this question. The design method taught in this course applies to both Moore and Mealy state machines. People who used Moore state machines generally received very low marks for the first part of this question.

Note: To avoid the above problems in the final exam you will have to use truth values (1=asserted) in your truth tables, you will not be allowed to use don't-cares and you will have to explicitly state the output for each input/state combination.

Question 3

(a) 2 marks for each question. But note the following:

(b) 2 marks were given for each of the following actions that your code performed correctly:

Marks were only deducted for syntax errors if they changed the meaning of the code or made it ambiguous

No marks were assigned/deducted for comments.

The most common error in this question was probably using too many or two few levels of indirection on the ``pointer'' variable.


If you think your exam was not marked correctly

If you think your exam was not marked according to the criteria above please hand it back to me with a note explaining where you think the discrepancy is. I'll check the marking of your exam (possibly including other answers if I have time). Do not write on your exam paper if you want me to re-mark it.

Please do not tell me I marked someone else differently and that therefore you should get marked the same way. The above marking criteria applies to everyone. If I didn't mark someone else's exam this way then I made a mistake marking their paper, not yours.


Ed Casas / edc@cce.com