<< Basic Rubric for Proj2 >> For proj2, we use one of two rubrics. Rubric A for when things mostly work and Rubric B for when that is not the case. First attempt Rubric A, and if they do not get over 20 points go to Rubric B which can't go over 20 points. With regard to fixes, first assign a score based on the corrected version, and then apply deductions for the changes. See below for a list of the fixes and the points taken for them. It is a bit rough, but we try to compare the relative incorrectness of different mistakes. The deduction for a fix should be less than the amount of points gained from passing more tests. If this is not the case, we give the score for the unfixed one (the max of the two). Rubric A The 4 big tests (sort, quicksort, fib, sum). Perfect execution of a test is 10pts each, thus they get 40 pts if everything is correct. - 6pts for correct memory (8 pts if no display portion) - 2pts for correct termination (usually repeating the right instruction in an infinite loop) - 2pts for correct displays (sort & sum) Rubric B There are 5 tests tests (arith, loadstore, br, jump, disp) each worth a maximum of 4pts. For each test, prorate the 4pts appropriately. Deductions 5pts - need to add mux (and control) to datapath 4pts - br/jump controller error 4pts - wires wrong order 3pts - using the wrong sign extension for an ALU op 3pts - wrong mux select for ALU op 3pts - rotr rotates wrong way 3pts - both memories buried from top level (should be only -2 points if they had LED + displays?) 3pts - forgot to add 1 to PC for jalr 2pts - instruction memory buried from top level 2pts - XOR gate set to wrong parity 2pts - accidentally shorted wire (or missing wire? seems to be the same level of mistake) 2pts - addi doesn't support negative numbers 2pts - bneg actually does bpos (wired backwards) 1pt - data memory buried from top level 1pt - slight display error 0pt - forgot to always send enable signal to memory 0pt - display in decimal instead of hex - the spec never said outright that the display should be in hex, and it takes more knowledge to implement a decimal display