如何开启Versal的XilSEM功能

作者:Ivy Guo,AMD赛灵思工程师

Versal器件不再有传统的SEM IP;Soft  Error Mitigation功能在Vitis套件中以library形式出现,称为XilSEM。XilSEM基本功能和之前的SEM IP类似:通过不断地扫描,检测出PL CRAM中出现的SEU翻转,上报,再根据系统需要决定是否做纠正或者重新配置PL。根据Versal器件的特点,XilSEM的扫描范围进一步扩大,还可选择是否扫描NPI寄存器,对PL之外的其他功能模块的配置数据做监测。

这篇文章介绍了如何开启Versal最基本的XilSEM功能。

Vivado/Vitis 2022.1
Board used: VCK190

1. 首先基于VCK190开发板,建立一个project. 创建Block Design并添加CIPS IP:

1.png

按照下图配置PS PMC,使能串口以输出XilSEM的log:

2.png

3.png

从左侧选项中找到并使能XilSEM库,并添加中断:

4.png

5.png

生成HDL Wrapper以及pdi文件,并将设计导出到Vitis中。导出时,选择‘Pre-synthesis’或‘Include device image’均可。

6.png

2. 打开Vitis,基于之前生成的.xsa,建立一个新的application工程:

7.png

基于R5,建立一个空白Application:

8.png

9.png

10.png

修改BSP设置,找到XilSEM库,点击 ’Import Examples’, 导入其example:

11.png

12.png

13.png

sem_cram_example,点击OK。

14.png

编译新建的xsem_cram_example_1工程,生成elf文件。

15.png

可以重复一样的步骤,再次选择xsem_npi_example, 则可以生成NPI扫描的elf文件。

16.png

3. 连接VCK190开发板,打开串口显示窗。下载pdi文件。可以看到输出log如下:

17.png

18.png

执行如下指令序列进行cram elf文件的下载:
ta
ta 3
rst -proc
dow -force <.elf>
con

可观测到串口输出如下。此时XilSEM已经开启并运行了。注意example程序进行了一次插错测试。

19.png

同样方式,下载NPI elf,log打印信息如下:

20.png

这篇文章介绍了在工程中如何开启最基本的XilSEM功能,可以添加任意自己的设计。但是对于某些高级功能比如DFX,还需要在将来版本中完成兼容。

最新文章