在我的设计中,我也使用错误注入接口来实际控制SEM IP并注入错误,但是除了观察状态信号之外,我还监视SEM IP生成的消息,因为它们提供了更多信息。
您说您正在使用“修复”模式,这样只会纠正配置框架中的单个位翻转。
然而,这仍然意味着将校正相邻帧双位错误,因为它们将采用两个帧的形式,每个帧包含单个位错误。
相邻帧双位翻转将导致两个快速检测和校正周期;
每帧每个单个位错误一个。
顺便说一下,在7系列和UltraScale器件中,Xilinx已经对帧的配置存储单元进行了物理交织,这意味着双位翻转导致相邻帧单比特错误对而不是同帧双重错误的概率更高。
误码。
因此,“修复”模式意味着即使罕见的双位错误也经常被纠正(作为两个单身)。
事实上,UltraScale器件具有有效的8路存储器单元交错,因此我们只需要“修复”模式,因为它将覆盖8位相邻的镦粗。
要模拟不可纠正的双位错误,您需要将SEM IP置于“空闲状态”并将其保持在“空闲状态”,并在同一帧中注入两个相邻错误(显然,注入的行为将导致
临时更改为“注射状态”但每次都会返回“空闲状态”。
在注入两个错误之前,请勿更改为“观察状态”。
请注意,处于“空闲”状态时,“status_heartbeat”不会跳动。
这可以防止SEM IP在注入第二个错误之前检测到第一个错误。
然后,当您切换到“观察状态”时,将开始扫描并检测到错误。
由于无法纠正,SEM IP将最终处于“空闲状态”,但“status_uncorrectable”输出处于活动状态。
我刚用自己的Spartan-6设计证实了这种行为。
Ken Chapman英国Xilinx主要工程师
在原帖中查看解决方案
在我的设计中,我也使用错误注入接口来实际控制SEM IP并注入错误,但是除了观察状态信号之外,我还监视SEM IP生成的消息,因为它们提供了更多信息。
您说您正在使用“修复”模式,这样只会纠正配置框架中的单个位翻转。
然而,这仍然意味着将校正相邻帧双位错误,因为它们将采用两个帧的形式,每个帧包含单个位错误。
相邻帧双位翻转将导致两个快速检测和校正周期;
每帧每个单个位错误一个。
顺便说一下,在7系列和UltraScale器件中,Xilinx已经对帧的配置存储单元进行了物理交织,这意味着双位翻转导致相邻帧单比特错误对而不是同帧双重错误的概率更高。
误码。
因此,“修复”模式意味着即使罕见的双位错误也经常被纠正(作为两个单身)。
事实上,UltraScale器件具有有效的8路存储器单元交错,因此我们只需要“修复”模式,因为它将覆盖8位相邻的镦粗。
要模拟不可纠正的双位错误,您需要将SEM IP置于“空闲状态”并将其保持在“空闲状态”,并在同一帧中注入两个相邻错误(显然,注入的行为将导致
临时更改为“注射状态”但每次都会返回“空闲状态”。
在注入两个错误之前,请勿更改为“观察状态”。
请注意,处于“空闲”状态时,“status_heartbeat”不会跳动。
这可以防止SEM IP在注入第二个错误之前检测到第一个错误。
然后,当您切换到“观察状态”时,将开始扫描并检测到错误。
由于无法纠正,SEM IP将最终处于“空闲状态”,但“status_uncorrectable”输出处于活动状态。
我刚用自己的Spartan-6设计证实了这种行为。
Ken Chapman英国Xilinx主要工程师
在原帖中查看解决方案
举报