CN113157633A - 一种在sec校验中启动重配置的方法、装置及fpga - Google Patents

一种在sec校验中启动重配置的方法、装置及fpga Download PDF

Info

Publication number
CN113157633A
CN113157633A CN202110119795.8A CN202110119795A CN113157633A CN 113157633 A CN113157633 A CN 113157633A CN 202110119795 A CN202110119795 A CN 202110119795A CN 113157633 A CN113157633 A CN 113157633A
Authority
CN
China
Prior art keywords
configuration
data file
fpga
initial address
configuration data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110119795.8A
Other languages
English (en)
Other versions
CN113157633B (zh
Inventor
张亭亭
蔡旭伟
王黎明
王兴兴
贾红
陈维新
韦嶔
程显志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Zhipolycrystalline Technology Co ltd
Original Assignee
Xiamen Zhipolycrystalline Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Zhipolycrystalline Technology Co ltd filed Critical Xiamen Zhipolycrystalline Technology Co ltd
Priority to CN202110119795.8A priority Critical patent/CN113157633B/zh
Publication of CN113157633A publication Critical patent/CN113157633A/zh
Application granted granted Critical
Publication of CN113157633B publication Critical patent/CN113157633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Abstract

本发明公开了一种在SEC校验中启动重配置的方法、装置及FPGA;该方法包括:在FPGA执行主动配置的过程中,使用寄存器记录本次配置所选择的第一配置数据文件的初始地址以及是否为用户重配置的标记信息;当FPGA进入用户模式后,响应于SEC校验结果不通过,在重新配置FPGA时,基于寄存器中记录的标记信息确定第二配置数据文件的初始地址;其中,当标记信息表示上一次配置为用户重配置时,第二配置数据文件的初始地址为寄存器中记录的第一配置数据文件的初始地址;从第二配置数据文件的初始地址获取第二配置数据文件重新配置FPGA。本发明解决了SEC校验失败后重新配置的FPGA功能有时会与重新配置前的FPGA功能不相同的问题。

Description

一种在SEC校验中启动重配置的方法、装置及FPGA
技术领域
本发明属于FPGA(Field-Programmable Gate Array,现场可编程门阵列)技术领域,具体涉及一种在SEC(Soft Error Correcting)校验中启动重配置的方法、装置及FPGA。
背景技术
FPGA配置存储器分布贯穿于整个FPGA芯片,是FPGA芯片内部数量最多的存储单元。其中,FPGA配置存储器中存储的数据控制着FPGA的布线资源、查找表等可配置逻辑资源,决定了用户电路的行为,一旦配置的数据出错,将导致FPGA无法实现设计的功能。
对FPGA进行配置有主动配置模式、JTAG配置模式以及被动串行配置模式等多种配置模式。其中,对于主动配置模式而言,FPGA上电后会自动向外部存储器发送获取配置数据文件的命令和初始地址,进而从初始地址处开始读取配置数据文件写入到FPGA配置存储器中。待主动配置完成后,FPGA可以进入用户模式,此时可以通过设计中调用的用户重配置模块的接口发送一组特定的数据启动用户重配置;用户重配置可指定任意地址作为读取配置数据的初始地址,即选择读取任意一个配置数据文件来进行主动配置。另外,FPGA在进入用户模式后,还可以通过SEC校验功能对配置数据进行检测和校验;当SEC校验失败,也可以启动FPGA重配置。
然而,发明人在实现本发明的过程中发现,SEC校验失败后重新配置的FPGA功能有时会与重新配置前的FPGA功能不相同。
发明内容
为了解决现有技术中所存在的上述问题,本发明提供了一种在SEC校验中启动重配置的方法、装置及FPGA。
本发明要解决的技术问题通过以下技术方案实现:
第一方面,本发明提供了一种在SEC校验中启动重配置的方法,应用于FPGA,所述方法包括:
在FPGA执行主动配置的过程中,使用寄存器记录本次配置所选择的第一配置数据文件的初始地址以及本次配置是否为用户重配置的标记信息;
当FPGA进入用户模式后,响应于SEC校验结果不通过,在重新配置FPGA时,基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址;其中,当所述寄存器中记录的标记信息表示上一次配置为用户重配置时,所述第二配置数据文件的初始地址为所述寄存器中记录的第一配置数据文件的初始地址;
从所述第二配置数据文件的初始地址获取所述第二配置数据文件重新配置FPGA。
可选地,所述在FPGA执行主动配置的过程中,使用寄存器记录本次配置所选择的第一配置数据文件的初始地址以及本次配置是否为用户重配置的标记信息,包括:
如果本次主动配置是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置为用户重配置的标记信息记录到寄存器中;如果本次主动配置不是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置非用户重配置的标记信息记录到寄存器中。
可选地,所述基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,包括:
读取所述寄存器中记录的标记信息;
当读取的标记信息表示上一次配置为用户重配置时,读取所述寄存器中记录的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
可选地,所述基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,包括:
读取所述寄存器中记录的标记信息和第一配置数据文件的初始地址;
当读取的标记信息表示上一次配置为用户重配置时,将读取的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
可选地,所述主动配置包括多个可选配置模式;所述当前配置模式为预先选定的、属于所述多个可选配置模式中的一个配置模式。
第二方面,本发明提供了一种在SEC校验中启动重配置的装置,应用于FPGA,所述装置包括:
记录模块,用于在FPGA执行主动配置的过程中,使用寄存器记录本次配置所选择的第一配置数据文件的初始地址以及本次配置是否为用户重配置的标记信息;
地址选择模块,用于当FPGA进入用户模式后,响应于SEC校验结果不通过,在重新配置FPGA时,基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址;其中,当所述寄存器中记录的标记信息表示上一次配置为用户重配置时,所述第二配置数据文件的初始地址为所述寄存器中记录的第一配置数据文件的初始地址;
重配启动模块,用于从所述第二配置数据文件的初始地址获取所述第二配置数据文件重新配置FPGA。
可选地,所述记录模块,具体用于:
如果本次主动配置是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置为用户重配置的标记信息记录到寄存器中;如果本次主动配置不是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置非用户重配置的标记信息记录到寄存器中。
可选地,所述地址选择模块,基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,包括:
读取所述寄存器中记录的标记信息;
当读取的标记信息表示上一次配置为用户重配置时,读取所述寄存器中记录的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
可选地,所述地址选择模块,基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,包括:
读取所述寄存器中记录的标记信息和第一配置数据文件的初始地址;
当读取的标记信息表示上一次配置为用户重配置时,将读取的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
第三方面,本发明提供一种FPGA,包括上述的任一种在SEC校验中启动重配置的装置。
本发明提供的在SEC校验中启动重配置的方法中,在FPGA执行主动配置的过程中使用寄存器记录了本次配置所选择的第一配置数据文件的初始地址,并记录了本次配置是否为用户重配置的标记信息;当SEC校验结果不通过重新配置FPGA时,基于寄存器中存储的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,进而从该初始地址获取第二配置数据文件重新配置FPGA。这样,即使重新配置前的FPGA功能是由用户重配置选择的配置数据来控制的,重新配置后的FPGA功能也可以与重新配置前保持一致;由此,本发明解决了SEC校验失败后重新配置的FPGA功能有时会与重新配置前的FPGA功能不相同的问题。
以下将结合附图及对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种在SEC校验中启动重配置的方法的流程图;
图2是外部存储器存储多个配置数据文件的示意图;
图3示例性的示出了在未进行过用户重配置的情况下,在SEC校验中启动重配置的流程图;
图4示例性的示出了在进行了用户重配置的情况下,在SEC校验中启动重配置的流程图;
图5是本发明实施例提供的一种在SEC校验中启动重配置的装置的结构示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
现有技术中,SEC校验失败后重新配置的FPGA功能有时会与重新配置前的FPGA功能不相同,发明人在实现本发明的过程中发现,存在上述问题的原因是现有技术在SEC校验失败后,默认根据用户选定的配置模式获取配置数据文件执行重新配置;也就是说,如果FPGA之前进行了用户重配置,那么在SEC校验失败后,现有技术进行重配置所使用的配置数据文件不是用户模式下用户重配置时所另行指定的配置数据文件,而是用户选定的配置模式下默认的配置数据文件。
有鉴于此,本发明实施例提供了一种在SEC校验中启动重配置的方法、装置以及FPGA。其中,该方法的执行主体为该装置,该装置应用于FPGA中。
首先,对本发明实施例提供的一种在SEC校验中启动重配置的方法进行详细说明。如图1所示,该方法可以包括以下步骤:
S10:在FPGA执行主动配置的过程中,使用寄存器记录本次配置所选择的第一配置数据文件的初始地址以及本次配置是否为用户重配置的标记信息。
其中,FPGA执行主动配置指的是FPGA主动向外部存储器发送获取配置数据文件的命令和初始地址,从而将获取的配置数据文件写入到FPGA配置存储器中的过程。该步骤中所说的第一配置数据文件,即指的是在每次配置FPGA的过程中所使用的配置数据文件。
如果FPGA在进入到用户模式后收到了用户重配置指令并启动了重配置过程,则可以确定本次配置为用户重配置,从而记录本次配置为用户重配置的标记信息;反之,如果在用户模式下启动的FPGA主动配置不是由用户重配置指令启动的,则可以确定本次重配置非用户重配置,从而可以记录本次配置非用户重配置的标记信息。
S20:当FPGA进入用户模式后,响应于SEC校验结果不通过,在重新配置FPGA时,基于寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址。
其中,当寄存器中记录的标记信息表示上一次配置为用户重配置时,该第二配置数据文件的初始地址为寄存器中记录的第一配置数据文件的初始地址。
可以理解的是,FPGA每次配置完成后,寄存器之前记录的初始地址和标记信息即被该次配置的初始地址的标记信息所覆盖。因此,当标记信息表征上一次配置为用户重配置时,本次配置可以直接将寄存器中第一配置数据文件的初始地址确定为第二配置数据文件的初始地址。
在实际应用中,FPGA正常工作时,配置数据存储在FPGA配置存储器中。由于FPGA配置存储器是易失性存储器,因此在FPGA上电之后,FPGA会从外部存储区获取配置数据文件重新载入到FPGA配置存储器中。在FPGA配置存储器配置完成之后,芯片才会按照用户设计的功能正常工作,FPGA即进入用户模式;进入用户模式后,FPGA便可以按照用户设计的功能进行工作。并且,在用户模式下,FPGA还可以通过执行SEC校验来对配置数据进行检测和校验。SEC校验可以仅校正并重写一帧配置数据,也可启动重配置。启动重配置时,FPGA会向外部存储器发送获取配置数据文件的命令和初始地址,读取配置数据文件,从而更新所有的配置数据。
因此,该步骤S20中的执行时机,是在FPGA即进入了用户模式、执行了SEC校验,且因SEC校验不通过而启动重配置时。相应的,所谓的第二配置数据文件便指的是因SEC校验不通过而需要重新配置FPGA时所要使用的配置数据文件。
S30:从第二配置数据文件的初始地址获取第二配置数据文件重新配置FPGA。
具体的,将第二配置数据文件的初始地址发给外部存储器,以使外部存储器发送该第二配置数据文件;在收到该第二配置数据文件后,由FPGA的配置模块控制,将该第二配置数据文件写入到FPGA配置存储器中。
本发明实施例提供的在SEC校验中启动重配置的方法中,在FPGA执行主动配置的过程中使用寄存器记录了本次配置所选择的第一配置数据文件的初始地址,并记录了本次配置是否为用户重配置的标记信息;当SEC校验结果不通过重新配置FPGA时,基于寄存器中存储的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,进而从该初始地址获取第二配置数据文件重新配置FPGA。这样,即使重新配置前的FPGA功能是由用户重配置选择的配置数据来控制的,重新配置后的FPGA功能也可以与重新配置前保持一致;由此,本发明解决了SEC校验失败后重新配置的FPGA功能有时会与重新配置前的FPGA功能不相同的问题。
可选地,在一种实现方式中,步骤S10可以具体包括:
如果本次主动配置是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置为用户重配置的标记信息记录到寄存器中;如果本次主动配置不是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置非用户重配置的标记信息记录到寄存器中。
其中,用户重配置指令是FPGA使用用户重配置模块的接口发送给用户重配置模块的一组特定的数据。该用户重配指令可以是用户预先固化到FPGA中的。
另外,在步骤S20中,基于寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址的具体实现方式存在多种。示例性的,在一种实现方式中,基于寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,可以包括:
读取寄存器中记录的标记信息;
当读取的标记信息表示上一次配置为用户重配置时,读取寄存器中记录的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
该实现方式中,如果标记信息表示为用户重配置,则对寄存器进行二次读取;如果标记信息表示非用户重配置,则只对寄存器进行了一次读取。
在另一种实现方式中,基于寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,可以包括:
读取所述寄存器中记录的标记信息和第一配置数据文件的初始地址;
当读取的标记信息表示上一次配置为用户重配置时,将读取的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
该种实现方式中,仅对寄存器进行了一次读取。当读取的标记信息表示非用户重配置时,FPGA忽略读取的第一配置数据文件的初始地址即可。
另外,主动配置可以包括多个可选配置模式,不同配置模式可以使用不同的配置数据文件;因此,步骤S30中当读取的标记信息表示上一次配置非用户重配置时,获取的当前配置模式对应的初始地址,具体是指获取由用户预先选定并固化到FPGA中的、属于这些可选配置模式中的一个配置模式。图2示例性的示出了一个外部存储器所存储的多个配置数据文件的示意图。从图2中可以看到,外部存储器中可以存储有多个配置数据文件,这些配置数据文件可以分别对应的不同的可选配置模式。用户模式下的用户重配置可以选定其中的任意一个配置数据文件来执行配置。
为了方案清楚,图3和图4分别示例性的示出了本发明实施例中FPGA的工作流程示意图。其中,图3代表的是未进行过用户重配置的情况下,在SEC校验中启动重配置的流程;图4代表的是在进行了用户重配置的情况下,在SEC校验中启动重配置的流程。
参见图3所示,在未进行过用户重配置的情况下,FPGA在SEC校验中启动重配置的流程可以包括下几个步骤:
步骤301:FPGA上电。
步骤302:向外部存储器发送获取配置数据文件的命令以及第一配置数据文件的初始地址1。
步骤303:接收外部存储器发来的第一配置数据文件A。
步骤304:将第一配置数据文件A存储到FPGA配置存储器中。
步骤305:将本次配置非用户重配置的标记信息以及初始地址1记录到寄存器中。
步骤306:进入用户模式。
步骤307:执行SEC校验。
这里,假设因校验不通过而开启重配置,进入步骤308。
步骤308:读取寄存器中存储的标记信息,确定本次配置非用户重配置。
步骤309:获取当前配置模式对应的初始地址1。
步骤310:向外部存储器发送获取配置数据文件的命令以及所获取的初始地址1。
步骤311:接收外部存储器发来的第二配置数据文件A,该第二配置数据文件A即第一配置数据文件A。
步骤312:将第二配置数据文件A存储到FPGA配置存储器中。
参见图4所示,在进行了用户重配置的情况下,在SEC校验中启动重配置的流程可以包括下几个步骤:
步骤401:FPGA上电。
步骤402:向外部存储器发送获取配置数据文件的命令以及第一配置数据文件A的初始地址1。
步骤403:接收外部存储器发来的第一配置数据文件A。
步骤404:将第一配置数据文件A存储到FPGA配置存储器中。
步骤405:将本次配置非用户重配置的标记信息以及初始地址1记录到寄存器中。
步骤406:进入用户模式。
此时,假设FPGA收到了用户重配置指令,进入步骤407。
步骤407:向外部存储器发送获取配置数据文件的命令以及第一配置数据文件B的初始地址2。
步骤408:接收外部存储器发来的第一配置数据文件B。
步骤409:将第一配置数据文件B存储到FPGA配置存储器中。
步骤410:将本次配置为用户重配置的标记信息以及初始地址2记录到寄存器中,寄存器中先前存储的内容被覆盖。
步骤411:执行SEC校验。
此时,假设校验不通过需要开启重配置,进入步骤412。
步骤412:读取寄存器中存储的标记信息,确定本次配置为用户重配置。
步骤413:从寄存器中读取初始地址2。
步骤414:向外部存储器发送获取配置数据文件的命令以及所读取的初始地址2。
步骤415:接收外部存储器发来的第二配置数据文件A,该第二配置数据文件A即第一配置数据文件B
步骤416:将第二配置数据文件A存储到FPGA配置存储器中。
基于图3和图4可见,本发明实施例提供的在SEC校验中启动重配置的方法,可以确保SEC校验失败后重新配置的配置数据文件与重新配置前的保持一致,从而确保SEC校验失败后重新配置的FPGA功能与重新配置前的FPGA功能保持一致。
相应于上述的在SEC校验中启动重配置的方法,本发明实施例还提供了一种在SEC校验中启动重配置的装置,该装置应用于FPGA中。如图5所示,该装置包括:
记录模块501,用于在FPGA执行主动配置的过程中,使用寄存器记录本次配置所选择的第一配置数据文件的初始地址以及本次配置是否为用户重配置的标记信息。
地址选择模块502,用于当FPGA进入用户模式后,响应于SEC校验结果不通过,在重新配置FPGA时,基于寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址;其中,当寄存器中记录的标记信息表示上一次配置为用户重配置时,第二配置数据文件的初始地址为寄存器中记录的第一配置数据文件的初始地址。
重配启动模块503,用于从第二配置数据文件的初始地址获取第二配置数据文件重新配置FPGA。
可选地,记录模块501,具体用于:
如果本次主动配置是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置为用户重配置的标记信息记录到寄存器中;如果本次主动配置不是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置非用户重配置的标记信息记录到寄存器中。
可选地,地址选择模块502,基于寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,包括:
读取寄存器中记录的标记信息;
当读取的标记信息表示上一次配置为用户重配置时,读取寄存器中记录的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
可选地,地址选择模块502,基于寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,包括:
读取寄存器中记录的标记信息和第一配置数据文件的初始地址;
当读取的标记信息表示上一次配置为用户重配置时,将读取的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
可选地,主动配置包括多个可选配置模式;上述的当前配置模式为用户预先选定的、属于多个可选配置模式中的一个配置模式。
本发明提供的在SEC校验中启动重配置的装置,在FPGA执行主动配置的过程中使用寄存器记录了本次配置所选择的第一配置数据文件的初始地址,并记录了本次配置是否为用户重配置的标记信息;当SEC校验结果不通过重新配置FPGA时,基于寄存器中存储的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,进而从该初始地址获取第二配置数据文件重新配置FPGA。这样,即使重新配置前的FPGA功能是由用户重配置选择的配置数据来控制的,重新配置后的FPGA功能也可以与重新配置前保持一致;由此,本发明提供的装置解决了SEC校验失败后重新配置的FPGA功能有时会与重新配置前的FPGA功能不相同的问题。
基于本发明实施例提供的在SEC校验中启动重配置的装置,本发明实施例还提供了一种FPGA,该FPGA包含有上述的人一种在SEC校验中启动重配置的装置。
关于FPGA所包含的其他模块或装置,非本发明实施例的发明点,可以与现有技术相同或相似,本发明实施例不做赘述。
需要说明的是,对于装置/FPGA实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种在SEC校验中启动重配置的方法,其特征在于,应用于FPGA,所述方法包括:
在FPGA执行主动配置的过程中,使用寄存器记录本次配置所选择的第一配置数据文件的初始地址以及本次配置是否为用户重配置的标记信息;
当FPGA进入用户模式后,响应于SEC校验结果不通过,在重新配置FPGA时,基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址;其中,当所述寄存器中记录的标记信息表示上一次配置为用户重配置时,所述第二配置数据文件的初始地址为所述寄存器中记录的第一配置数据文件的初始地址;
从所述第二配置数据文件的初始地址获取所述第二配置数据文件重新配置FPGA。
2.根据权利要求1所述的方法,其特征在于,所述在FPGA执行主动配置的过程中,使用寄存器记录本次配置所选择的第一配置数据文件的初始地址以及本次配置是否为用户重配置的标记信息,包括:
如果本次主动配置是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置为用户重配置的标记信息记录到寄存器中;如果本次主动配置不是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置非用户重配置的标记信息记录到寄存器中。
3.根据权利要求1所述的方法,其特征在于,所述基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,包括:
读取所述寄存器中记录的标记信息;
当读取的标记信息表示上一次配置为用户重配置时,读取所述寄存器中记录的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
4.根据权利要求1所述的方法,其特征在于,所述基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,包括:
读取所述寄存器中记录的标记信息和第一配置数据文件的初始地址;
当读取的标记信息表示上一次配置为用户重配置时,将读取的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
5.根据权利要求2或3所述的方法,其特征在于,所述主动配置包括多个可选配置模式;所述当前配置模式为预先选定的、属于所述多个可选配置模式中的一个配置模式。
6.一种在SEC校验中启动重配置的装置,其特征在于,应用于FPGA,所述装置包括:
记录模块,用于在FPGA执行主动配置的过程中,使用寄存器记录本次配置所选择的第一配置数据文件的初始地址以及本次配置是否为用户重配置的标记信息;
地址选择模块,用于当FPGA进入用户模式后,响应于SEC校验结果不通过,在重新配置FPGA时,基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址;其中,当所述寄存器中记录的标记信息表示上一次配置为用户重配置时,所述第二配置数据文件的初始地址为所述寄存器中记录的第一配置数据文件的初始地址;
重配启动模块,用于从所述第二配置数据文件的初始地址获取所述第二配置数据文件重新配置FPGA。
7.根据权利要求6所述的装置,其特征在于,所述记录模块,具体用于:
如果本次主动配置是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置为用户重配置的标记信息记录到寄存器中;如果本次主动配置不是由用户重配置指令启动的,则将本次配置所选择的第一配置数据文件的初始地址以及本次配置非用户重配置的标记信息记录到寄存器中。
8.根据权利要求6所述的装置,其特征在于,所述地址选择模块,基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,包括:
读取所述寄存器中记录的标记信息;
当读取的标记信息表示上一次配置为用户重配置时,读取所述寄存器中记录的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
9.根据权利要求6所述的装置,其特征在于,所述地址选择模块,基于所述寄存器中记录的标记信息确定重新配置FPGA所需的第二配置数据文件的初始地址,包括:
读取所述寄存器中记录的标记信息和第一配置数据文件的初始地址;
当读取的标记信息表示上一次配置为用户重配置时,将读取的第一配置数据文件的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址;
当读取的标记信息表示上一次配置非用户重配置时,获取当前配置模式对应的初始地址作为重新配置FPGA所需的第二配置数据文件的初始地址。
10.一种FPGA,其特征在于,包括如权利要求6-9任一项所述的在SEC校验中启动重配置的装置。
CN202110119795.8A 2021-01-28 2021-01-28 一种在sec校验中启动重配置的方法、装置及fpga Active CN113157633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110119795.8A CN113157633B (zh) 2021-01-28 2021-01-28 一种在sec校验中启动重配置的方法、装置及fpga

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110119795.8A CN113157633B (zh) 2021-01-28 2021-01-28 一种在sec校验中启动重配置的方法、装置及fpga

Publications (2)

Publication Number Publication Date
CN113157633A true CN113157633A (zh) 2021-07-23
CN113157633B CN113157633B (zh) 2023-05-26

Family

ID=76879004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110119795.8A Active CN113157633B (zh) 2021-01-28 2021-01-28 一种在sec校验中启动重配置的方法、装置及fpga

Country Status (1)

Country Link
CN (1) CN113157633B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377749A (zh) * 2007-08-31 2009-03-04 华为技术有限公司 存储器数据校验方法、装置、可编程逻辑器件及系统
CN102495740A (zh) * 2011-11-16 2012-06-13 康佳集团股份有限公司 利用移动存储设备升级mac地址、hdcpkey、电视机id的方法
CN111176884A (zh) * 2019-12-30 2020-05-19 西安智多晶微电子有限公司 用于fpga配置存储器的sec校验方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377749A (zh) * 2007-08-31 2009-03-04 华为技术有限公司 存储器数据校验方法、装置、可编程逻辑器件及系统
CN102495740A (zh) * 2011-11-16 2012-06-13 康佳集团股份有限公司 利用移动存储设备升级mac地址、hdcpkey、电视机id的方法
CN111176884A (zh) * 2019-12-30 2020-05-19 西安智多晶微电子有限公司 用于fpga配置存储器的sec校验方法和装置

Also Published As

Publication number Publication date
CN113157633B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
US7774382B2 (en) Method and apparatus for configuring a control device, and corresponding control device
US20050177709A1 (en) Apparatus and method for updating firmware
JP2990181B1 (ja) フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法
CN106776122A (zh) 一种基于Flash启动过程中主备保护的方法
US20130293559A1 (en) Method for setting panel parameter and associated controller
JP2012198876A (ja) メモリデバイスにおける読み出し不可状態を解決するための装置及び方法
CN109189485A (zh) 一种嵌入式设备的系统启动管理、操作系统配置方法
JP5293062B2 (ja) コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
US9786373B2 (en) EEPROM backup method and device
JP4311067B2 (ja) データ書換方法及び電子制御装置
CN113157633B (zh) 一种在sec校验中启动重配置的方法、装置及fpga
RU99110389A (ru) Способ автоматического тестирования базовой приемопередающей станции в подвижной телекоммуникационной системе
US20060153615A1 (en) Print control device and print control method
CN106250193B (zh) 一种基于nand存储器的系统启动方法及系统
CN110196730B (zh) 应用程序的热补丁管理方法、装置和存储介质
WO2021012170A1 (zh) 固件启动方法、设备及计算机可读存储介质
CN109101279A (zh) 一种多版本系统的兼容性启动方法
CN105376481B (zh) 摄像装置驱动方法及摄像装置的驱动装置
CN115408066A (zh) 一种芯片的初始化方法、系统、芯片及可读存储介质
CN109814888B (zh) NandFlash控制器EFUSE代替方法及装置
CN112463042A (zh) 一种数据卷导入数据校验方法、装置、终端及存储介质
JP2004145964A (ja) 半導体メモリ、半導体メモリ製造方法、メモリカードおよび半導体メモリ制御方法
CN114237377B (zh) 一种显示面板的电源管理集成芯片的控制方法和系统
CN106528440B (zh) 一种基于嵌入式系统的闪存操作方法及装置
CN110795297B (zh) 一种电子设备的测试方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant