通过复用缓冲内存提高关键配置码流可靠性的FPGA制造技术

技术编号:30702898 阅读:26 留言:0更新日期:2021-11-06 09:42
本发明专利技术公开了一种通过复用缓冲内存提高关键配置码流可靠性的FPGA,涉及FPGA技术领域,该FPGA利用配置缓存存储关键配置链,通过配置缓存的ECC校验功能保证关键配置链内容的正确,从而在FPGA在正常运行时,控制电路每隔预定时间将所述配置缓存中的关键配置链读出写入对应的配置区块对关键配置链进行更新,从而保证关键配置链内容的准确性,提高FPGA的运行可靠性。行可靠性。行可靠性。

【技术实现步骤摘要】
通过复用缓冲内存提高关键配置码流可靠性的FPGA


[0001]本专利技术涉及FPGA
,尤其是一种通过复用缓冲内存提高关键配置码流可靠性的FPGA。

技术介绍

[0002]随着超大规模集成电路技术的发展,FPGA芯片(Field Programmable Gate Array,现场可编程门阵列)依靠其优越的接口性能、丰富的逻辑和IP资源以及灵活方便的现场可编程能力得到了广泛的使用。
[0003]FPGA芯片内部具有可配置模块以及绕线资源,当用户设计映射到FPGA芯片时,用户设计可以通过定义配置内容(配置位的内容)来决定FPGA芯片内部可配置模块所实现的功能以及绕线资源所选择的绕线路径,从而定义FPGA芯片实现的功能。FPGA设计软件将用户设计输入经綜合、布局、布线处理,映射到FPGA芯片后,根据使用到可配置模块及绕线资源的配置内容,按预定的格式生成码流文件。码流经下载到FPGA器件,可正确的填写各配置内容,定义FPGA芯片功能,下载完成后,运行FPGA芯片即可实现用户设计功能。
[0004]FPGA芯片受供电、辐射、电磁、粒子等外在因素影响,容易出现单粒子翻转(SEU,Single Event Upset)问题,从而导致配置内容翻转出错,而使电路功能出现故障,因此在高可靠性FPGA应用领域,提高配置内容的可靠性是重要的课题。

技术实现思路

[0005]本专利技术人针对上述问题及技术需求,提出了一种通过复用缓冲内存提高关键配置码流可靠性的FPGA,本专利技术的技术方案如下:
>[0006]一种通过复用配置缓存提高关键配置码流可靠性的FPGA,该FPGA内部包括配置缓存、配置内存和控制电路,配置内存至少包括N个配置区块,配置缓存具有ECC校验功能,配置缓存连接各个配置区块的写入端;
[0007]FPGA以配置链为单位依次写入用户设计对应的配置码流,每个配置链包括配置码流中连续的具有预定位数的配置位,且配置码流中包含一个预设的关键配置链;每个配置链覆盖写入配置缓存进行缓存后,再写入配置内存中对应的一个配置区块内进行存储,所有配置码流写入完成后、FPGA正常运行用户设计之前,配置缓存中保存有关键配置链;
[0008]在FPGA正常运行用户设计过程中,配置缓存对保存的关键配置链进行ECC校验,控制电路每隔预定时间将配置缓存中的关键配置链读出写入对应的配置区块对关键配置链进行更新。
[0009]其进一步的技术方案为,FPGA在写入配置码流时,写入的最后一个配置链为关键配置链;
[0010]每个配置链在由配置缓存写入对应的配置区块时、配置缓存中保存配置链直至被写入的下一个配置链覆盖,则所有配置链写入完成后,配置缓存中保存最后一个配置链并直接作为关键配置链。
[0011]其进一步的技术方案为,配置缓存至少与存储关键配置链的配置区块的读出端相连;
[0012]每个配置链在由配置缓存写入对应的配置区块时、配置缓存中保存配置链直至被写入的下一个配置链覆盖,则所有配置链写入完成后,配置缓存中保存最后一个配置链;
[0013]所有配置码流写入完成后、FPGA正常运行用户设计之前,控制电路将关键配置链读出并写入配置缓存中覆盖最后一个配置链。
[0014]其进一步的技术方案为,配置缓存由ECC内存实现,ECC内存存储关键配置链及对应的校验码,并通过自带的ECC校验功能对关键配置链进行ECC校验。
[0015]其进一步的技术方案为,配置缓存由内存和ECC检纠错电路实现,内存用于存储关键配置链及对应的校验码,ECC检纠错电路从内存中读取关键配置链及其对应的校验码进行校验,并在检测到故障时纠错并覆盖写入至内存中。
[0016]其进一步的技术方案为,FPGA内部还包括与控制电路相连的定时器,控制电路根据定时器的延时时长对关键配置链进行更新,定时器的输入时钟来自于FPGA外部或者来自于FPGA内部。
[0017]其进一步的技术方案为,定时器接收到即时使能信号时立即触发控制电路对关键配置链进行更新,即时使能信号来自于FPGA外部或者来自于FPGA内部的用户设计。
[0018]其进一步的技术方案为,定时器的延时时长小于FPGA的设计指标参数,设计指标参数包括平均无故障工作时间MTBF和修复前平均时间MTTF中的至少一种。
[0019]其进一步的技术方案为,定时器的输入时钟来自于FPGA内部的环振器,且输入时钟的频率可调。
[0020]其进一步的技术方案为,控制电路与FPGA的内建边界扫描链相连,控制电路通过内建边界扫描链获取FPGA的外部控制信号并对关键配置链进行更新。
[0021]其进一步的技术方案为,配置缓存的ECC校验功能基于汉明码实现。
[0022]本专利技术的有益效果为:
[0023]本申请公开了一种通过复用缓冲内存提高关键配置码流可靠性的FPGA,该FPGA利用配置缓存存储关键配置链,通过配置缓存的ECC校验功能保证关键配置链内容的正确,从而在FPGA在正常运行时,可用于定期更新配置内存中的关键配置链的内容,从而保证关键配置链内容的准确性,提高FPGA的运行可靠性。
附图说明
[0024]图1是本申请的FPGA的一种内部结构部。
[0025]图2是本申请的FPGA的另一种内部结构部。
具体实施方式
[0026]下面结合附图对本专利技术的具体实施方式做进一步说明。
[0027]本申请公开了一种通过复用缓冲内存提高关键配置码流可靠性的FPGA,如图1,该FPGA内部包括配置缓存、配置内存和控制电路,配置内存包括N个配置区块,如图1以配置内存包括配置区块1~N为例,配置缓存连接各个配置区块的写入端。
[0028]FPGA以配置链为单位依次写入用户设计对应的配置码流,每个配置链包括配置码
流中连续的具有预定位数的配置位,比如1024位或2048位或任意自定义的位数。配置链的数量不超过配置区块的数量,本申请以配置链的数量扥估配置区块的数量为例。配置码流中包含一个预设的关键配置链,关键配置链即包含预设的关键配置码流的配置链,该关键配置链可以对应FPGA上的任意可配置模块/绕线资源。FPGA写入的配置码流主要包括两种封包,第一种封包指定对应存储的配置区块、起始配置位、长度以及其他相关控制指令,第二种封包包含实际的配置位内容。
[0029]每个配置链在写入FPGA内后,首先覆盖写入配置缓存进行缓存,再写入配置内存中对应的一个配置区块内进行存储,因此可选的,配置区块的宽度大于等于配置链的宽度,各个配置区块的宽度可以相同也可以不同,通常是相同的。每个配置链在由配置缓存写入对应的配置区块时、配置缓存中保存配置链直至被写入的下一个配置链覆盖,比如:配置链1写入配置缓存进行缓存,然后写入配置区块1内存储,此时配置缓存中保存配置链1。配置链2写入配置缓存替换配置链1进行缓存,然后写入配置区块2内存储,此时配置缓存中保存配置链2,以此类推,直至配置链N写入配置缓存进行缓存,继而写入本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种通过复用配置缓存提高关键配置码流可靠性的FPGA,其特征在于,所述FPGA内部包括配置缓存、配置内存和控制电路,所述配置内存至少包括N个配置区块,所述配置缓存具有ECC校验功能,所述配置缓存连接各个配置区块的写入端;所述FPGA以配置链为单位依次写入用户设计对应的配置码流,每个配置链包括所述配置码流中连续的具有预定位数的配置位,且所述配置码流中包含一个预设的关键配置链;每个配置链覆盖写入所述配置缓存进行缓存后,再写入所述配置内存中对应的一个配置区块内进行存储,所有配置码流写入完成后、所述FPGA正常运行用户设计之前,所述配置缓存中保存有所述关键配置链;在所述FPGA正常运行用户设计过程中,所述配置缓存对保存的所述关键配置链进行ECC校验,所述控制电路每隔预定时间将所述配置缓存中的所述关键配置链读出写入对应的配置区块对所述关键配置链进行更新。2.根据权利要求1所述的FPGA,其特征在于,所述FPGA在写入配置码流时,写入的最后一个配置链为所述关键配置链;每个配置链在由配置缓存写入对应的配置区块时、配置缓存中保存所述配置链直至被写入的下一个配置链覆盖,则所有配置链写入完成后,所述配置缓存中保存最后一个配置链并直接作为所述关键配置链。3.根据权利要求1所述的FPGA,其特征在于,所述配置缓存至少与存储所述关键配置链的配置区块的读出端相连;每个配置链在由配置缓存写入对应的配置区块时、配置缓存中保存所述配置链直至被写入的下一个配置链覆盖,则所有配置链写入完成后,所述配置缓存中保存最后一个配置链;所有配置码流写入完成后、所述FPGA正常运行用户设计之前,所述控制电路将所述关键配置链读出并写入所述配置缓存中覆盖最后一个配置链。4.根据权利要求1所述的FPGA,其特征在于,所述配置缓存由E...

【专利技术属性】
技术研发人员:单悦尔徐彦峰季振凯惠锋
申请(专利权)人:无锡中微亿芯有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1