Name: Box: Date:

## HW12

(10 points) Describe the effect that a single stuck-at-0 fault (i.e. regardless of what it should be, the signal is always 0) would have for the signals shown below, in the single-cycle datapath in Figure 4.17, on page 265. Note that the ALUOp signal is two bits in size, LSB and MSB refer to the least-significant and most-significant respectively. Which instructions, if any, will not work correctly? Explain why.

1. RegWrite = 0

Most R-type instructions and lw won't work since they can't write to the register file.

2. ALUOp (LSB) = 0

The ALU will only receive x0 as control so it can't do sub for beq and branches might fail.

3. ALUOp (MSB) = 0

The ALU will only receive 0x as control, so it can't use the function code correctly. Many R-types will fail, since the ALU will receive 00 (add) for all R-types.

4. Branch = 0

This will prevent branches from be taken. Branches that are supposed to be taken will fail.

Memory cannot be read, so lw will fail.
Memory cannot be written, so sw will fail.