I have already attempted at this problem, but am still unsure about some parts.
The problem is:
Signal: Add unit in upper right corner, ALU result, bit 0
Let us assume that the processor testing is done by filling the PC, registers, and data and instruction memories with some values (you can choose which values), letting a single instruction execute, then reading the PC, memories, and registers. These values are then examined to determine if a particular fault is present. Can you design a test (values for PC, memories, and registers) that would determine if there is a stuck-at-0 fault on this signal?
(Single Cycle MIPS attached below)
My answer:
To test for a stuck-at-0 fault on a wire, an instruction that puts that wire to a value of 1 is needed. Furthermore, the instruction must have a different result if the value on the wire is at 0.
I am thinking an addi instruction is needed here? Or would I need to check it first using bne? I'm lost now..
If anyone could please help me with this, I highly appreciate it.
The problem is:
Signal: Add unit in upper right corner, ALU result, bit 0
Let us assume that the processor testing is done by filling the PC, registers, and data and instruction memories with some values (you can choose which values), letting a single instruction execute, then reading the PC, memories, and registers. These values are then examined to determine if a particular fault is present. Can you design a test (values for PC, memories, and registers) that would determine if there is a stuck-at-0 fault on this signal?
(Single Cycle MIPS attached below)
My answer:
To test for a stuck-at-0 fault on a wire, an instruction that puts that wire to a value of 1 is needed. Furthermore, the instruction must have a different result if the value on the wire is at 0.
I am thinking an addi instruction is needed here? Or would I need to check it first using bne? I'm lost now..
If anyone could please help me with this, I highly appreciate it.
Attachments
-
72.1 KB Views: 317