[发明专利]SRAM型FPGA片上刷新和纠错的装置、实现方法及FPGA芯片在审
申请号: | 201711219884.X | 申请日: | 2017-11-28 |
公开(公告)号: | CN107894898A | 公开(公告)日: | 2018-04-10 |
发明(设计)人: | 蔡刚;乔亮;暴雨;董庭勋;高同强;李天文 | 申请(专利权)人: | 中科亿海微电子科技(苏州)有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F11/10;G06F9/445 |
代理公司: | 中科专利商标代理有限责任公司11021 | 代理人: | 曹玲柱 |
地址: | 215028 江苏省苏州市工业园*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sram fpga 刷新 纠错 装置 实现 方法 芯片 | ||
1.一种SRAM型FPGA片上刷新和纠错的装置,包括:
CRAM,用于存储有效的配置码流信息;
冗余CRAM,用于存储校验位信息;
读写控制电路,分别与CRAM、冗余CRAM相连接,用于对CRAM和冗余CRAM的地址进行译码;
专用配置回读IO,为FPGA的配置和回读提供的专用接口;
片上刷新纠错电路,对发生单粒子翻转的数据实现定位、纠错以及进行ECC编码后重新写入正确数据;以及
选择器,一端与读写控制电路相连接,另一端分别与专用配置回读IO、片上刷新纠错电路选择性连接,根据需要实现的操作模式为片上刷新纠错还是配置回读对读写控制电路的连接方式进行选择。
2.根据权利要求1所述的装置,其中,当采用片上刷新纠错模式时,将读写控制电路与片上刷新纠错电路连接起来;当采用配置回读模式时,将读写控制电路与专用配置回读IO连接起来。
3.根据权利要求1所述的装置,其中,所述片上刷新纠错电路包括:
翻转定位电路,确定发生单粒子翻转的CRAM或冗余CRAM的位置;
纠错电路,对确定的发生单粒子翻转的CRAM或冗余CRAM位置进行反转操作,实现纠错;
ECC编码电路,确定纠错后的单帧CRAM存储值对应的校验值;以及
帧地址生成电路,遍历生成CRAM和冗余CRAM对应的帧地址。
4.根据权利要求3所述的装置,其中:
所述翻转定位电路为一ECC算法计算电路,根据单帧中的CRAM存储值计算确定校验位数值,并与冗余CRAM中存储的校验位数值进行比对,从而根据比对结果确定发生单粒子翻转的CRAM或冗余CRAM的位置;和/或
所述纠错电路为一系列的异或组合逻辑,根据确定的发生单粒子翻转的CRAM或冗余CRAM的位置,对该位置存储的数据进行反转操作,实现纠错;和/或
所述ECC编码电路为一ECC算法计算电路,重新计算纠错后的单帧CRAM存储值对应的校验值,并将重新得到的纠错后的数据和校验值通过选择器和读写控制电路分别写入CRAM和冗余CRAM。
5.根据权利要求1所述的装置,还包括:
片上刷新控制器,与读写控制电路相连接,用于控制实现片上刷新纠错和配置回读两种操作模式。
6.根据权利要求5所述的装置,所述片上刷新控制器为一状态机,当片上刷新控制器用于实现片上刷新纠错操作时,会将CRAM和冗余CRAM中存储的值读出来,进行翻转定位和纠错,并重新计算纠错后的存储数据的校验值,并将纠错后的存储值和重新计算出的校验值分别写入CRAM和冗余CRAM;当片上刷新控制器用于实现普通配置回读操作时,通过专用配置回读IO将码流写入CRAM和冗余CRAM,从而实现用户所需的电路功能。
7.一种FPGA芯片,包括权利要求1至6任一项所述的SRAM型FPGA片上刷新和纠错的装置。
8.一种利用如权利要求1至6任一项所述的SRAM型FPGA片上刷新和纠错的装置进行片上刷新和纠错的实现方法,包括:
对FPGA器件进行配置过程;以及
待配置过程完成后,自动启动片上刷新和纠错电路的功能,选择器将读写控制电路与片上刷新纠错电路连接起来,遍历所有帧的CRAM数据,利用翻转定位电路确定存在错误的CRAM或冗余CRAM的位置,并对确定的存在错误的CRAM或冗余CRAM位置利用纠错电路进行反转操作,实现纠错,将纠错后的数据通过ECC编码电路重新写入该存在错误的CRAM或冗余CRAM的位置,完成片上刷新和纠错。
9.根据权利要求8所述的实现方法,其中,所述对FPGA器件进行配置过程包括:
FPGA器件进入配置回读模式,选择器将读写控制电路与专用配置回读IO相连接;以及
待配置完成后,进入用户模式,片上刷新控制器通过专用配置回读IO将码流写入CRAM和冗余CRAM,使FPGA器件产生用户所需的电路功能。
10.根据权利要求8或9所述的实现方法,其中,所述遍历所有帧的CRAM数据,利用翻转定位电路确定存在错误的CRAM或冗余CRAM的位置,并对确定的存在错误的CRAM或冗余CRAM位置利用纠错电路进行反转操作,实现纠错,将纠错后的数据通过ECC编码电路重新写入该存在错误的CRAM或冗余CRAM的位置,包括:
选定某一帧的CRAM进行判断,根据单帧中的CRAM存储值计算对应的校验位数值,并与冗余CRAM中存储的校验位数值进行比对,根据比对结果判断该帧的CRAM存储值是否正确;以及
对于判断正确的数据,使帧地址增加1并读出新一帧CRAM数据并继续判断是否存在错误;对于判断错误的数据,利用翻转定位电路确定存在错误的CRAM或冗余CRAM的位置,并对确定的存在错误的CRAM或冗余CRAM位置利用纠错电路进行反转操作,实现纠错,将纠错后的数据通过ECC编码电路重新写入该存在错误的CRAM或冗余CRAM的位置;遍历所有帧的CRAM,找到所有存在错误的CRAM或冗余CRAM的位置并进行纠错,并以预定频率不断重复进行所述的遍历操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科亿海微电子科技(苏州)有限公司,未经中科亿海微电子科技(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711219884.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种能耗采集器远程实时升级和配置方法
- 下一篇:ROM程序升级系统及升级方法