SEM IP多种工作模式的区别和选择指导

描述

UltraScale / UlraScale+系列的SEM IP一共有6种工作模式,分别是:

• Mitigation and Testing
• Mitigation only
• Detect and Testing
• Detect only
• Emulation
• Monitoring only

实际中应该选择什么模式工作呢?我们先从字面的定义看:

Mitigation: 包含SEU错误的检测,纠正以及错误分类功能。这是SEM IP的最初被设计出来时定义的基本功能。

Testing: 指错误插入功能。

Detect: 错误的检测功能。

Emulation:没有检错,纠错以及错误分类功能。只支持插错和调试时需要的一些指令。

Monitoring:在Emulation的基础上进一步精简,去掉了插错。

在我们选择SEM IP配置生成的时候,可以看到有一个表格;这个表格非常直观地表明了各个模式的区别。

crc

Fig 1

依据这个表格,我们再进一步详细看6个模式的特点。

1

Mitigation and Testing

这是最常见、最基本的模式,也是初学者入手的建议和默认模式。Mitigation实现了最基本的SEU事件检、纠、分类,Testing使能了插错。这个模式可以理解为‘正统‘ SEM IP的功能集合。

开启此模式的IP,在初始化完成以后就直接进入了工作模式OBSV (Observation),开始持续不断的进行SEU事件的检测,纠正和上报(按需开启错误分类)。

开启Testing功能后,正常工作的IP也可以通过指令进入到IDLE状态,通过插错指令开始一系列的测试,这是实验室观测调试IP的必要手段。插错指令可以模拟自然界的SEU事件,往CRAM内存注入一个错误。等IP回到正常工作状态OBSV后,就会在例行检查中探测到这个错误,纠正然后上报。分析这一阶段的Uart log,可以让你了解到FPGA实际探测到SEU事件后的种种信号行为和打印信息。

通过Fig 1,可以看到:

该模式初始化完成后即进入OBSV,同时开启了纠错功能和插错功能。

错误分类功能是可以选择的。根据系统是否有要求,是否有内存存储正确数据来自行开启。

该模式支持的主要调试指令有 (以Uart指令为例):

I: 进入IDLE状态

Q/P: 读取某一特定帧和寄存器的值

X: 读外部存储器的内容(这个主要是做错误分类时用的)

T: 转换物理地址和线性地址

当然其他的Uart指令和Command口指令也都支持。

2

Mitigation Only

这个模式是实际大多数普通产品开启的模式。同上述Mitigation and Testing相比,就是把多用于实验室调试的插错功能关闭了。

当然,也有客户会选择保留插错功能,即开启Mitigation and Testing。一个常见考虑是:现场的产品发生了疑似SEU事件,现场记录未保存或不足以分析事件始末。或者 IP本身也受到SEU攻击了(概率极低)。为了验证IP是否还在正常工作,可以插一个错误试试看是否还有纠错、分类、上报等动作,是否符合预期。当然发生此类事件时一定注意保护现场,在专家指导下再继续log读取,插错等后续分析工作。

3

Detect and Testing 和 Detect Only

IP在初始化完成以后直接进入Detect模式。Detect是SEM IP的一个特殊模式,即 ‘只检不纠 ‘。 检测直至有错误,上报错误状态后直接进入IDLE模式,可以理解为开始休眠。

为什么有这种模式呢?因为IP的纠错必然是有时延的(Table 2-9,https://docs.xilinx.com/r/en-US/pg187-ultrascale-sem )。这个时延对绝大多数设计是足够了,但是一些要求特别高的应用或产品,比如航空航天级,一旦检测到了SEU事件,不管这个事件是否真的对系统功能有影响,一律按照最高影响处理:即停掉工作的FPGA,启动备用芯片。此时纠错功能就不需要了。

根据表格可以看到,IP的纠错、分类功能都被禁掉了。只能接收用于调式的一些指令。

Testing,即在这种模式下加入调试插错功能。可以根据需要选择是否开启。

4

Emulation 和 Monitoring

这是根据客户应用所设计的一种特殊状态,它并不使能最基本的错误检、纠、分类等功能。IP初始化完成后直接进入IDLE状态,但是可以接收一些指令。主要是查看错误发生在不同位置后特定设计的状态。

从Fig1还可以看到独立于模式的两种错误检测方式:

Detect Only (D):

重点是:检到即停。通过在IDLE状态下的命令启动, SEM IP开始持续扫描直到检测到了ECC或者CRC错误。不纠正。汇报状态并停在IDLE模式。

Diagnostic Scan (U):

重点是:只检一轮。命令启动后,IP会把整个CRAM扫描一遍且只扫描一遍,并且只检测ECC错误。然后不管错误是0个还是多个,均会汇报上去。随后停止在IDLE模式。

两种错误检测方式一般也是用于实验室调试研究的。

总结,Mitigation and Testing和Mitigation Only模式是SEM IP的常规用法。其他的模式或者检测方式,多用于实验室调试验证,一般不适用于正式产品。当然,在清楚了解其他各模式和扫描方式的性能和特点后,也可以根据自己系统设计的具体要求来选用。






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分