Design of the ALU Tester

The figure below depicts the architecture of your ALU tester module.  It can be thought of as having two main sub-sections, one for the generation of test cases and the other to verify the result of the test case.  The clock is the only input to the Test Case Generator which produces new inputs for the ALU (A, B, ALUop and SHAMT) on every the falling edge of every cycle.  These generated inputs are also needed by each of the Verification Units so that the correct result can be calculated internally.  On the next rising edge, the ALU’s result from the test case (R, Zero, and Overflow) is fed back into the tester and is compared to the expected value.  The edges for test case generation and verification are off-setting so as to avoid having a race condition.

Figure 4.

 

Click here to proceed