This article supplements existing SEM Product Guides, and covers how to evaluate SEM IP functionality by manually injecting errors.
General guidance:
Always use Linear Frame Address (LFA) as this is a consecutive range of address unlike PFA.
MF {8-digit hex value} Maximum Frame (linear count)
Alternatively, the below documents list the valid range of LFA:
(Xilinx Answer 61736) | SEM IP Soft Error Mitigation - What is the valid range of addresses for error injection by LFA targeting Spartan 6 devices? |
Virtex-6 or 7 Series:
(Xilinx Answer 65539) | What is the valid range of addresses for error injection by LFA targeting Virtex-6, 7 series, and Zynq-7000 devices? |
UltraScale:
SEM IP product guide table 2-2, page 14
http://www.xilinx.com/cgi-bin/docs/ipdoc?c=sem_ultra;v=latest;d=pg187-ultrascale-sem.pdf
Basic error injection testing:
Goal:
Procedure:
ECC word location in a configuration frame for each FPGA family:
Spartan-6 66/66th word of 16-bit words
Example of injecting a 1-bit error to the LSB of the last word (66th) of frame #F under 36-bit linear frame address injection:
> N C0000F820
Virtex-6 41/81st word of 32-bit words
Example of injecting a 1-bit error to the LSB of the 41st word of frame #F under 36-bit linear frame address injection:
> N C0000F500
7 Series 51/101st word of 32-bit words
Example of injecting a 1-bit error to the LSB of the 51st word of frame #F under 40-bit linear frame address injection:
> N C00000F640
UltraScale word 62/123rd word of 32 bits
Example of injecting a 1bit error to the LSB of the 62nd word of frame #F under 40-bit linear frame address injection:
> N C00000F7A0
Please note to target only the lowest byte of the word so that always populated ECC bits can be injected.
Please also note that not all addresses exist, so the above injection might not get detected.
Please also reference the corresponding FPGA family's SEM IP documentations for the specific command formatting.
Randomize error injection testing:
Goal:
Note: Spartan-6 is unique in that masked frames are only read masked, but can be written. If injecting to such frames, errors can change a design's behavior but SEM IP will not detect it.
This testing can be used to mimic real life design and system response to SEU. You are advised to understand and estimate how to react to such scenarios and mitigate the system response for the most graceful reaction.
When performing random error injection, Xilinx does not support analyzing any specific customer design outcome or association of the error location to the design. Random error injection is only supported as is for customers that cannot gain access to beam testing facilities.
General guidance on injecting errors using SEM IP monitor and error injection interface:
Special considerations when injecting errors:
When SEM has reported an uncorrectable error condition, the recovery method is to reconfigure the device.
Reconfiguration is also necessary if SEM has frozen, hung, or begins to misbehave. If the user design malfunctions, recovery by reconfiguration will always succeed. If the user design supports recovery through logic-level reset, this method is also possible.
Uncorrectable Error Reported -- reconfigure the device before further injection attempts.
User design stops functioning -- reconfiguration always works, alternatively if correction is successful then maybe logic reset if supported by the design.
If the IP freezes, hangs or misbehaves, reconfigure the device and discard the previous injection or correction result.
Answer Number | 问答标题 | 问题版本 | 已解决问题的版本 |
---|---|---|---|
66570 | UltraScale Architecture Soft Error Mitigation Controller - Guidance for testing with error injection | N/A | N/A |