如何开启Versal的XilSEM功能

电子说

1.2w人已加入

描述

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:

寄存器

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

寄存器

寄存器

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

寄存器

寄存器

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

寄存器

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

寄存器

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

寄存器

寄存器

寄存器

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

寄存器

寄存器

寄存器

sem_cram_example,点击OK。

寄存器

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

寄存器

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

寄存器

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

寄存器

寄存器

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

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

寄存器

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

寄存器

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

审核编辑:汤梓红

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

全部0条评论

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

×
20
完善资料,
赚取积分