How to identify which bit of the 32b register has stuck-at fault?

Assume a 32-bit write-only register resides in a black box module. As a silicon validation engineer, you have write access to the register through the 32-bit configuration bus, but you do not have read access. Instead, you know what is the bit-XOR value of all 32 bits from the black box. If there is a random bit of the register that has a stuck-at fault, how can you identify which bit has the fault?

Linear Search

The simplest approach is the linear search. In the 1st step, you can write 32’h0000_0001 to the register and get the bit-XOR value, and then write 32’h0000_0000 and get the bit-XOR value again. All possible read values are shown in the table below:

Continue reading → How to identify which bit of the 32b register has stuck-at fault?

What are common design for debug techniques?

As the SoC complexity increases significantly, silicon debug becomes more difficult. Without any special treatment, identifying the root cause of a chip failure would be impossible. Therefore, designers will need to apply several Design for Debug, or DFD techniques before taping out. These offers great visibilities towards silicon debug, and they are widely adopted in today’s SoC design. In this post, we will discuss several DFD techniques.

Continue reading → What are common design for debug techniques?