FPGA抗软错误的方法及装置与流程

xiaoxiao16天前  16


本发明涉及fpga(field programmable gate array,现场可编程门阵列)检测,具体地涉及一种fpga抗软错误的方法及装置。


背景技术:

1、fpga是专用集成电路中的一种半定制电路,fpga由逻辑单元、ram(random accessmemory,随机存取存储器)、乘法器等硬件资源组成,通过将这些硬件资源合理组织,可实现乘法器、寄存器、地址发生器等硬件电路。由于fpga具有布线资源丰富,可重复编程和集成度高,投资较低的特点,在数字电路设计领域得到了广泛的应用。

2、fpga的设计流程包括算法设计、代码仿真以及设计、板机调试。位流生成是fpga设计流程中的步骤,该步骤会生成能下载到fpga芯片中的位流,这样fpga芯片中即能形成相应的电路结构以实现预期的电路功能。fpga在下载位流后,由于应用环境中的辐射、fpga受到特定干扰、封装材料等诱因,可能会发生软错误,即位流中某些比特位翻转,从而会导致fpga功能发生错误。因此,准确发现位流中的软错误并对其进行纠正是保证fpga功能的关键。


技术实现思路

1、本发明实施例提供一种fpga抗软错误的方法及装置,可以有效地实现对fpga软错误的检测和纠错。

2、为此,本发明实施例提供如下技术方案:

3、一方面,本发明实施例提供一种fpga抗软错误的方法,所述方法包括:

4、在fpga加载完成后,回读fpga的加载数据;

5、对所述加载数据进行回读校验,所述回读校验包括ecc校验和crc校验;

6、在回读校验过程中,对于检测到的多比特错误,通过触发重新加载事件进行纠错。

7、可选地,所述对于检测到的多比特错误,通过触发重新加载事件进行纠错包括:

8、在每次检测到多比特错误时,累计出现多比特错误的次数,得到累计值;

9、在所述累计值达到设定阈值时,触发重新加载事件。

10、可选地,所述方法还包括:预先设置上电模式,所述上电模式包括:上电禁止操作模式、上电允许操作模式;

11、所述在fpga加载完成后,回读fpga的加载数据包括:

12、在上电禁止操作模式,在fpga加载完成后,等待用户指令,并在接收到用户的校验指令后回读fpga的加载数据;

13、在上电允许操作模式,在fpga加载完成后,立即回读fpga的加载数据。

14、可选地,所述方法还包括:配置纠错模式;

15、在回读校验过程中,根据当前纠错模式进行纠错操作。

16、可选地,所述配置纠错模式包括:将用于指示所述纠错模式的数据写入控制寄存器;

17、所述方法还包括:通过读取所述控制寄存器确定当前纠错模式。

18、可选地,所述纠错模式包括以下任意一种或多种:停止、继续、纠错并停止、纠错并继续;

19、所述根据当前纠错模式进行纠错操作包括:

20、如果当前纠错模式为停止模式,则在检测到当前帧数据错误时,停止回读校验进入等待状态直至触发复位事件;

21、如果当前纠错模式为继续模式,则在检测到当前帧数据错误为1比特错误时,继续进行回读校验,直至触发复位事件或者重新加载事件;

22、如果当前纠错模式为纠错并停止,则在检测到当前帧数据错误为1比特错误时,进行纠错回写,并在当前纠错回写完成后进入等待状态直至触发复位事件;在检测到当前帧数据错误为多比特错误时,进入等待状态直至触发复位事件;

23、如果当前纠错模式为纠错并继续,则在检测到当前帧数据错误为1比特错误时,进行纠错回写,并在当前纠错回写完成后继续进行回读校验,直至触发复位事件或者重新加载事件。

24、可选地,所述方法还包括:在检测到当前帧位流错误时,进行错误提示。

25、可选地,在fpga加载完成后,回读fpga的加载数据包括:在fpga加载并完成用户配置后,回读fpga的加载数据。

26、可选地,所述方法还包括:在完成用户配置后,定时触发刷新事件。

27、可选地,触发重新加载事件后,重新进行fpga加载;触发复位事件后,新开始回读fpga的加载数据;触发刷新事件后,刷新fpga的加载数据。

28、可选地,所述方法还包括:接收到用户的重启指令后,触发重新加载事件。

29、另一方面,本发明实施例还提供一种fpga抗软错误的装置,所述装置包括:

30、内存模块,用于存储fpga的加载数据;

31、回读模块,用于在fpga加载完成后,从所述内存模块中回读fpga的加载数据;

32、校验模块,用于对所述加载数据进行回读校验,所述回读校验包括ecc校验和crc校验;在回读校验过程中,对于检测到的多比特错误,通过触发重新加载事件进行纠错;

33、加载模块,用于在所述校验模块触发重新加载事件后,重新进行fpga加载。

34、可选地,所述校验模块在每次检测到多比特错误时,累计出现多比特错误的次数,得到累计值,在所述累计值达到设定阈值时,触发重新加载事件。

35、可选地,所述装置还包括:寄存器,用于存储配置信息,所述配置信息包括:上电模式、和/或纠错模式;

36、所述回读模块,用于在fpga加载完成并完成用户配置后,读取所述寄存器,确定当前上电模式,并根据当前上电模式进行回读操作;

37、所述校验模块,用于在fpga加载完成并完成用户配置后,读取所述寄存器,确定当前纠错模式,并根据当前纠错模式进行纠错操作。

38、可选地,所述装置还包括:刷新模块,用于定时刷新所述内存模块中fpga的加载数据。

39、另一方面,本发明实施例还提供一种fpga芯片,所述芯片在加载完成后,执行前面所述的fpga抗软错误的方法。

40、本发明实施例提供的fpga抗软错误的方法及装置,在fpga加载完成后,通过回读fpga的加载数据,对加载数据进行ecc校验和crc校验,实现任意错误的检测和1比特错误的纠错。在回读校验过程中,对于检测到的1比特错误,可以直接在内存中纠正,而对于检测到的多比特错误,通过触发重新加载事件实现对多比特错误的纠正,从而有效提升了fpga抗软错误的能力,保证了fpga功能的有效性和准确性,为fpga在各种干扰环境中的应用提供强有力的技术支持。

41、进一步地,对于回读校验中检测到的多比特错误,可以在累计出现多比特错误的次数达到设定阈值时,再触发重新加载事件,可以进一步提高效率。

42、进一步地,通过设置不同的纠错模式、上电模式,可以使用户根据需要,灵活方便地应用各种不同功能,增强了方案的灵活性。

43、进一步地,通过定时刷新功能,可以实现多种不同层次的回读校验和纠错,更好地保证了fpga功能的有效性和准确性。



技术特征:

1.一种fpga抗软错误的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对于检测到的多比特错误,通过触发重新加载事件进行纠错包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:预先设置上电模式,所述上电模式包括:上电禁止操作模式、上电允许操作模式;

4.根据权利要求2所述的方法,其特征在于,所述方法还包括:配置纠错模式;

5.根据权利要求4所述的方法,其特征在于,所述配置纠错模式包括:

6.根据权利要求4所述的方法,其特征在于,所述纠错模式包括以下任意一种或多种:停止、继续、纠错并停止、纠错并继续;

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:在检测到当前帧位流错误时,进行错误提示。

8.根据权利要求1所述的方法,其特征在于,在fpga加载完成后,回读fpga的加载数据包括:

9.根据权利要求8所述的方法,其特征在于,所述方法还包括:

10.根据权利要求9所述的方法,其特征在于,

11.根据权利要求1至10任一项所述的方法,其特征在于,所述方法还包括:

12.一种fpga抗软错误的装置,其特征在于,所述装置包括:

13.根据权利要求12所述的装置,其特征在于,

14.根据权利要求12所述的装置,其特征在于,所述装置还包括:

15.根据权利要求12至14任一项所述的装置,其特征在于,所述装置还包括:

16.一种fpga芯片,其特征在于,所述芯片在加载完成后,执行权利要求1至11任一项所述的fpga抗软错误的方法。


技术总结
一种FPGA抗软错误的方法及装置,该方法包括:在FPGA加载完成后,回读FPGA的加载数据;对所述加载数据进行回读校验,所述回读校验包括ECC校验和CRC校验;在回读校验过程中,对于检测到的多比特错误,通过触发重新加载事件进行纠错。利用本发明方案,可以有效地实现对FPGA软错误的检测和纠错。

技术研发人员:何小初,俞剑,潘青彪,陈宁
受保护的技术使用者:上海复旦微电子集团股份有限公司
技术研发日:
技术公布日:2024/9/23

最新回复(0)