Visible to Intel only — GUID: iga1447716707282
Ixiasoft
Visible to Intel only — GUID: iga1447716707282
Ixiasoft
6.3.2.1.1. Data Trace Failure
If your board fabrication facility does not perform bare board testing, you must perform these tests. To detect data trace failures on your memory interface you should use a pattern typically referred to as “walking ones.” The walking ones pattern shifts a logical 1 through all of the data traces between the FPGA and the memory device. The pattern can be increasing or decreasing; the important factor is that only one data signal is 1 at any given time. The increasing version of this pattern is as follows: 1, 2, 4, 8, 16, and so on.
Using this pattern you can detect a few issues with the data traces such as short or open circuit signals. A signal is short circuited when it is accidentally connected to another signal. A signal is open circuited when it is accidentally left unconnected. Open circuits can have a random signal behavior unless a pull-up or pull-down resistor is connected to the trace. If a pull-up or pull-down resistor is used, the signal drives a 0 or 1; however, the resistor is weak relative to a signal being driven by the test, so that test value overrides the pull-up or pull-down resistor.
To avoid mixing potential address and data trace issues in the same test, test only one address location at a time. To perform the test, write the test value out to memory, and then read it back. After verifying that the two values are equal, proceed to testing the next value in the pattern. If the verification stage detects a variation between the written and read values, a bit failure has occurred. The table below provides an example of the process used to find a data trace failure. It makes the simplifying assumption that sequential data bits are routed consecutively on the PCB.
Written Value | Read Value | Failure Detected |
---|---|---|
00000001 | 00000001 | No failure detected |
00000010 | 00000000 | Error, most likely the second data bit, D[1] stuck low or shorted to ground |
00000100 | 00000100 | No failure detected, confirmed D[1] is stuck low or shorted to another trace that is not listed in this table. |
00001000 | 00001000 | No failure detected |
00010000 | 00010000 | No failure detected |
00100000 | 01100000 | Error, most likely D[6] and D[5] short circuited |
01000000 | 01100000 | Error, confirmed that D[6] and D[5] are short circuited |
10000000 | 10000000 | No failure detected |