CN108021413B - 一种fpga在线升级方法及设备 - Google Patents
一种fpga在线升级方法及设备 Download PDFInfo
- Publication number
- CN108021413B CN108021413B CN201711458972.5A CN201711458972A CN108021413B CN 108021413 B CN108021413 B CN 108021413B CN 201711458972 A CN201711458972 A CN 201711458972A CN 108021413 B CN108021413 B CN 108021413B
- Authority
- CN
- China
- Prior art keywords
- fpga
- configuration data
- reset
- upgrading
- fifo
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种FPGA在线升级方法及设备,在不增加额外的逻辑器件的前提下,实现FPGA配置文件的在线升级。其中的FPGA在线升级方法包括:FPGA接收配置文件升级数据包,并解析接收的配置文件升级数据包,获得配置数据;所述FPGA将获得的配置数据存储到先入先出队列FIFO;所述FPGA从所述FIFO读取所述配置数据,并将读取的配置数据存储至非易失性存储器中;所述FPGA重新载入所述非易失性存储器读取配置数据,对所述FPGA进行配置,完成升级。
Description
技术领域
本发明涉及现场可编程门阵列(Field-Programmable Gate Array,FPGA)技术领域,特别涉及一种FPGA在线升级方法及设备。
背景技术
FPGA是常用的逻辑器件之一,通常通过对应的综合工具的编译生成配置文件,当FPGA载入配置文件后,即可使得FPGA实现设计需要的逻辑功能。而当FPGA的随机存取存储器(Random Access Memory,RAM)掉电时,由于RAM的掉电数据丢失特性,使得通过配置文件形成的逻辑功能无法保存,所以FPGA在使用前均有一个配置的过程,使用FPGA的电子设备在上电后,会首先进行配置文件的载入。
现有技术中,FPGA载入配置文件分为主动配置方式和被动配置方式。主动配置方式即为FPGA主动读取存储器中的配置文件,其中存储器是非易失性存储器,例如Flash完成配置过程。被动配置方式即为外部的控制器件,例如中央处理器(Central ProcessingUnit,CPU)读取非易失性存储器中的配置文件,通过控制FPGA的配置管脚,以满足FPGA时序的方式进行配置,完成配置过程。
当FPGA的电子设备做好以后,其配置文件就固定了。如果需要改变或者增加FPGA的逻辑功能,就需要改变FPGA的配置文件。现有技术中,主要通过下载器,例如通用串行总线(Universal Serial Bus,USB)下载器或联合测试工作组(Joint Test Action Group,JTAG)下载器连接PC和FPGA重新写入配置文件。可见,现有技术中,对FPGA进行升级都需要借助额外的逻辑器件,例如USB下载器或JTAG下载器,或者CPU。
发明内容
本发明实施例提供一种FPGA在线升级方法及设备,在不增加额外的逻辑器件的前提下,实现FPGA配置文件的在线升级。
第一方面,提供了一种FPGA在线升级方法,该升级方法包括:
FPGA接收配置文件升级数据包,并解析接收的配置文件升级数据包,获得配置数据;
所述FPGA将获得的配置数据存储到先入先出队列FIFO;
所述FPGA从所述FIFO读取所述配置数据,并将读取的配置数据存储至非易失性存储器中;
所述FPGA重新载入所述非易失性存储器读取配置数据,对所述FPGA进行升级。
可选的,所述FPGA将获得的配置数据存储到先入先出队列FIFO,包括:
所述FPGA验证所述获得的配置数据是否正确;
若验证正确,则所述FPGA将所述获得的配置数据存储到所述FIFO。
可选的,在所述FPGA将获得的配置数据存储到先入先出队列FIFO之前,还包括:
所述FPGA根据所述FIFO的存储空间的大小,及存储空间的大小与数据传输率的映射关系,确定传输所述获得的配置数据的传输速率。
可选的,所述FPGA重新载入所述非易失性存储器读取配置数据,对所述FPGA进行升级,包括:
所述FPGA确定所述配置数据是否已存储完;
若所述FPGA确定存储完所述配置数据,则所述FPGA发送触发信号到复位电路,所述触发信号用于触发所述复位电路对所述FPGA进行复位;
在所述FPGA进行复位时,所述FPGA重新载入所述配置数据,对所述FPGA进行配置。
第二方面,提供了一种FPGA在线升级设备,该升级设备包括:
解析单元,用于接收配置文件升级数据包,并解析接收的配置文件升级数据包,获得配置数据;
第一存储单元,用于将获得的配置数据存储到先入先出队列FIFO;
第二存储单元,用于从所述FIFO读取所述配置数据,并将读取的配置数据存储至非易失性存储器中;
升级单元,用于重新载入所述非易失性存储器读取配置数据,对所述FPGA进行升级。
可选的,所述第一存储单元具体用于:
验证所述获得的配置数据是否正确;
若验证正确,则将所述获得的配置数据存储到所述FIFO。
可选的,所述设备还包括确定单元,用于:
在将获得的配置数据存储到先入先出队列FIFO之前,根据所述FIFO的存储空间的大小,及存储空间的大小与数据传输率的映射关系,确定传输所述获得的配置数据的传输速率。
可选的,所述升级单元具体用于:
确定所述配置数据是否已存储完;
若确定存储完所述配置数据,则发送触发信号到复位电路,所述触发信号用于触发所述复位电路对所述FPGA进行复位;
在进行复位时,重新载入所述配置数据,对所述FPGA进行配置。
第三方面,提供了一种FPGA在线升级设备,该升级设备包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面任一所述的方法。
第四方面,提供了一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。
本发明实施例提供一种新的FPGA在线升级方法及设备,FPGA获取了外部设备传输的配置数据后,可以先存入先出队列(First Input First Output,FIFO),再转存到非易失性存储器中。这样FPGA在需要升级时可以直接从非易失性存储器读取配置数据,完成升级。由于配置数据是存储在非易失性存储器,因此不需要掉电,可以实现在线升级。同时本发明实施例中的FPGA在线升级方法不需要增加额外的外部设备就能够实现FPGA在线升级。
附图说明
图1是本发明实施例提供的FPGA在线升级方法的流程图;
图2为本发明实施例提供的FPGA的一种工作状态机的示意图;
图3为本发明实施例提供的复位电路的结构示意图;
图4为本发明实施例提供的复位电路的控制时序示意图;
图5为本发明实施例提供的FPGA在线升级设备的一种结构示意图;
图6为本发明实施例提供的FPGA在线升级设备的一种结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
现有技术可以通过USB下载器实现FPGA的升级,但是USB下载器驱动能力较弱,无法实现远程升级。或者通过JTAG下载器实现FPGA的升级,但是JTAG下载器的JTAG接口不支持长距离传输数据,不适合长距离应用场景。又或者,现有技术可以利用外部的CPU资源实现FPGA的升级,但如果只有一个CPU时是无法同时对多个FPGA实现在线升级。
鉴于此,本发明实施例提供一种新的FPGA在线升级方法,FPGA获取了外部设备传输的配置数据后,可以先存入先出队列(First Input First Output,FIFO),再转存到非易失性存储器中。这样FPGA在需要升级时可以直接从非易失性存储器读取配置数据,完成升级。由于配置数据是存储在非易失性存储器,因此不需要掉电,可以实现在线升级。本发明实施例中的FPGA在线升级方法不需要增加额外的外部设备就能够实现FPGA在线升级。
下面结合说明书附图介绍本发明实施例提供的技术方案。
请参见图1,本发明实施例提供一种FPGA在线升级方法,该在线升级方法可以由FPGA执行,该方法的流程描述如下:
S101:FPGA接收配置文件升级数据包,并解析接收的配置文件升级数据包,获得配置数据;
S102:FPGA将获得的配置数据存储到FIFO;
S103:FPGA从FIFO读取配置数据,并将读取的配置数据存储至非易失性存储器中;
S104:FPGA重新载入非易失性存储器读取配置数据,对FPGA进行配置,完成升级。
本发明实施例中,当需要对FPGA的逻辑功能重新设置,即对FPGA进行升级时,外部设备,例如终端可以向FPGA发送是否进行升级的请求升级指令。当FPGA接收到终端发送的请求升级指令后,可以向终端反馈确定升级的指令。若终端接收到FPGA发送的确定升级的指令,终端可以读取格式为.rpd的配置文件中的配置数据,并将读取的配置数据分割成若干配置子数据,再对各个配置子数据进行打包,生成若干配置文件升级数据包。每个配置文件升级数据包包括循环冗余校验码(Cyclic Redundancy Check,CRC),以便于FPGA通过CRC校验码确定所接收的配置数据是否是正确的。
终端可以将生成的每个配置文件升级数据包通过无线方式或有线方式发送给FPGA,FPGA接收到配置文件升级数据包后,对配置文件升级数据包进行解析,从解析结果中可以获得配置数据。其中,无线方式可以包括红外通信方式,蓝牙通信方式或者无线局域网(Wireless Fidelity,Wi-Fi)方式等,本发明实施例不限制无线方式的类型。
FPGA获得配置数据后,可以验证获得的配置数据是否正确,若验证确定获得的配置数据是正确的,那么FPGA可以将获得的配置数据存储到FPGA的FIFO。由于配置数据形成的整个文件的数据量较大,无法存储在FIFO里,因此,终端可以将获得的每一帧配置数据存储在FIFO,由FIFO将存储的每一帧配置数据转存到外部的Flash,如此循环,以实现存储全部的配置数据。相反,如果验证确定获得的配置数据是不正确的,那么FPGA可以向外部设备,例如终端发送配置数据错误的消息,以向终端请求发送正确的配置数据。或者FPGA可以输出配置数据错误的消息,以提示用户通过终端发送正确的配置数据。可能的实施方式中,配置数据错误的消息可以携带FPGA获得的配置数据中的异常数据,以告知终端FPGA所接收的错误的配置数据。
FPGA将获得的配置数据存储到FPGA的FIFO之后,可以向FPGA的内核(Intellectual Property,IP)模块发送读取配置数据的消息,IP模块可以从FIFO中读取配置数据,并将读取的配置数据转存至外部的非易失性存储器,例如Flash存储器。由于IP模块从FIFO读取数据的速率与配置数据写入FIFO的速率可能不同,如果配置数据写入FIFO的速率较快,而IP模块从FIFO读取数据的速率较慢,那么就可能导致FIFO已经存满数据了,而后续的配置数据还在往FIFO传输,此时显然是写不进去的,容易发生数据堵塞。而如果配置数据写入FIFO的速率较慢,而IP模块从FIFO读取数据的速率较快,那么就可能导致IP模块一次从FIFO中读取的配置数据的数据量较少,而FIFO基本每次都没写满,浪费FIFO的资源。
鉴于此,FGPA在将获得的配置数据存储到FIFO之前,还可以根据FIFO的存储空间的大小,及存储空间的大小与数据传输率的映射关系,确定传输获得的配置数据的传输速率。在本发明实施例中,可以预先建立存储空间的大小与数据传输率的映射关系,当FIFO的存储空间较大,可以认为是IP模块读取数据的速率较大,这时候为了提高FIFO的利用率,可以适当提高数据存入FIFO的速率。相反,若当FIFO的存储空间较小,可以认为是IP模块读取数据的速率较小,这时候为了防止数据的堵塞,可以适当降低数据存入FIFO的速率。本发明实施例根据FIFO的存储空间的大小,及存储空间的大小与数据传输率的映射关系,确定传输获得的配置数据的传输速率,从而兼容IP模块读取数据的速率。
由于配置数据是分成几部分存储至FIFO,进而存储至非易失性存储器,因此,FPGA并不知道是不是已经获取了全部的配置数据。因此,FPGA在升级完成之前,需要确定全部的配置数据是否已存储完,如果确定了存储完全部的配置数据,则可以发送升级完成指令,再发送触发复位电路的触发信号到复位电路,以通过复位电路对FPGA进行复位。复位电路是连接FPGA的电路,用于对FPGA实现复位。复位电路接收到触发信号,触发FPGA复位,在FPGA进行复位时,FPGA可以重新载入非易失性存储器中的配置数据。FPGA对所述FPGA进行升级。
为了便于理解,请参见图2,图2是FPGA的一种工作状态机示意图。图2示出了FPGA配合终端进行工作的状态机转换图。
终端首先向FPGA发送请求升级指令,向FPGA询问是否允许升级。FPGA接收到该请求升级指令后向终端发送应答消息,该应答消息可以指示FPGA允许升级。终端接收应答消息后,可以把.rpd配置文件读到终端的存储空间,并分割成若干数据块。然后为每块数据增加数据包包头、数据长度、计算的CRC校验信息等信息,生成新的数据包后发送给FPGA。FPGA接收到数据包后,可以将数据包解析,把配置数据存储至FIFO里,并用“数据有效”信号的状态通知FPGA的IP模块。IP模块可以从FIFO读取配置数据,并更新至非易失性存储器如Flash的数据配置区。FPGA接收完配置数据后计算的CRC校验码与接收的CRC码比较,如果校验失败则反馈给终端相应的异常数据。如果检验通过则可以由FPGA主动触发信号,以触发复位电路对FPGA复位。以实现FPGA在复位过程中,重新加载非易失性存储器上的配置数据,实现FPGA的升级。
本发明实施例中,FPGA触发升级,也可以通过下次重新上电时,重新加载非易失性存储上的配置数据,实现FPGA的升级。因此,在图2中,状态①不是必不可少的,用虚线进行示意。
可能的实施方式中,请参见图3及图4,图3是本发明实施例提供的复位电路的一种结构示意图。图4是图3的控制时序图。如图3所示,图3中触发信号输入比较器U2的输入端,比较器U2的输出端与复位芯片U1的输入端连接,复位芯片U1的输出端与FPGA的复位管脚连接。比较器U2接收到触发信号后,与比较器U2的基准电压作比较,输出的电压为FPGA的复位管脚提供电压。
在图3中,输入信号是触发信号,从电阻R1的输入端输入,从复位芯片U1的输出端输出,复位芯片U1的输出端连接FPGA的复位管脚,从而实现控制FPGA的复位。下面结合图4介绍触发信号通过复位电路如果实现对FPGA的复位。本发明实施例中,以脉冲方式触发,触发条件是复位芯片的输出需要达到一定时间条件的低电平脉冲宽度。这种触发方式具有很强的抗干扰能力,避免了电路干扰噪声导致的FPGA升级配置出现故障,从而不能够成功实现FPGA的升级配置。其中,nCONFIG是FPGA配置专用的管脚,当其为低电平的时候,会强制将FPGA所有的输入输出IO接口变为“Z”高阻态。正常工作时,电容C1的电压大于参考电压Vref,比较器U2持续为nCONFIG提供高电平,当发起触发信号后输入低电平后,电容C1电压通过电阻R1、R2放电经过t1~t2时间,电容C1电压小于参考电压Vref时,比较器U2输出低电平,此时触发信号的IO变为“Z”状态,经过t2~t3时间,电容C1通过电阻R2充电,使电容C1电压大于参考电压Vref,比较器U2通过电阻R3输出高电平,通过电阻R4给复位芯片U1一个高电平,在t3上升沿时刻触发FPGA升级配置。t3~t4为FPGA配置的过程时间,t2~t5由复位芯片U1决定的一个复位时间,选择复位芯片U1时,应该要求复位结束时间t5应该大于配置结束时间t4。
综上所述,本发明实施例的FPGA在线升级方法及设备,获取了外部终端传输的配置数据后,可以先存入FIFO,再转存到非易失性存储器中。这样FPGA在需要升级时可以直接从非易失性存储器读取配置数据,完成升级。由于配置数据是存储在非易失性存储器,因此不需要掉电,可以实现在线升级。本发明实施例中的FPGA在线升级方法不需要增加额外的外部设备就能够实现FPGA在线升级。
本发明实施例中的FPGA可以接收终端通过无线方式发送的配置数据,从而可以实现远程升级。且本发明实施例中,FPGA升级是通过FPGA和非易失性存储器连接的专用接口实现的,对FPGA的IO资源不会造成负担。
下面结合说明书附图介绍本发明实施例提供的设备。
请参见图5,基于同一发明构思,本发明一实施例提供了一种FPGA升级设备,该FPGA升级设备可以包括解析单元501、第一存储单元502、第二存储单元503和升级单元504。其中:
解析单元501可以用于接收配置文件升级数据包,并解析接收的配置文件升级数据包,获得配置数据。
第一存储单元502可以用于将获得的配置数据存储到先入先出队列FIFO。
第二存储单元503可以用于从FIFO读取配置数据,并将读取的配置数据存储至非易失性存储器中。
升级单元504可以用于重新载入非易失性存储器读取配置数据,对FPGA进行升级。
可选的,第一存储单元502具体用于:
验证获得的配置数据是否正确;
若验证正确,则将获得的配置数据存储到FIFO。
可选的,设备还包括确定单元,用于:
在将获得的配置数据存储到先入先出队列FIFO之前,根据FIFO的存储空间的大小,及存储空间的大小与数据传输率的映射关系,确定传输获得的配置数据的传输速率。
可选的,升级单元504具体用于:
确定配置数据是否已存储完;
若确定存储完配置数据,则发送触发信号到复位电路,触发信号用于触发复位电路对FPGA进行复位;
在进行复位时,重新载入配置数据,对FPGA进行配置。
请参见图6,基于同一发明构思,本发明一实施例提供一种FPGA升级设备,该FPGA升级设备可以包括:至少一个处理器601,处理器601用于执行存储器中存储的计算机程序时实现本发明实施例提供的如图1所示的FPGA升级方法的步骤。
可选的,处理器601具体可以是中央处理器、特定应用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路。
可选的,该FPGA升级设备还包括与至少一个处理器连接的存储器602,存储器602可以包括只读存储器(英文:Read Only Memory,简称:ROM)、随机存取存储器(英文:RandomAccess Memory,简称:RAM)和磁盘存储器。存储器602用于存储处理器601运行时所需的数据,即存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602存储的指令,执行如图1所示的方法。其中,存储器602的数量为一个或多个。其中,存储器602在图6中一并示出,但需要知道的是存储器602不是必选的功能模块,因此在图6中以虚线示出。
其中,解析单元501、第一存储单元502、第二存储单元503和升级单元504所对应的实体设备均可以是前述的处理器601。该FPGA升级设备可以用于执行图1所示的实施例所提供的方法。因此关于该设备中各功能模块所能够实现的功能,可参考图1所示的实施例中的相应描述,不多赘述。
本发明实施例还提供一种计算机存储介质,其中,计算机存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如图1所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(Universal Serial Bus flash disk)、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种现场可编程门阵列FPGA在线升级方法,其特征在于,所述方法适用于FPGA,所述FPGA与复位电路连接,所述复位电路包括复位芯片U1、比较器U2,所述比较器U2的输入端用于接收触发信号,所述比较器U2的输出端与所述复位芯片U1的输入端连接,所述复位芯片U1的输出端与所述FPGA的复位管脚连接,所述比较器U2接收到触发信号后,与所述比较器U2的基准电压作比较,输出的电压为FPGA的复位管脚提供电压,所述方法包括:
所述FPGA接收配置文件升级数据包,并解析接收的配置文件升级数据包,获得配置数据;
所述FPGA根据先入先出队列FIFO的存储空间的大小,及存储空间的大小与数据传输率的映射关系,确定传输所述获得的配置数据的传输速率;
所述FPGA将获得的配置数据存储到所述FIFO;
所述FPGA从所述FIFO读取所述配置数据,并将读取的配置数据存储至非易失性存储器中;
所述FPGA的复位管脚接收到所述比较器U2提供的输出电压时,启动复位;
所述FPGA在复位过程中重新载入所述非易失性存储器读取配置数据,对所述FPGA进行升级。
2.如权利要求1所述的方法,其特征在于,所述FPGA将获得的配置数据存储到所述FIFO,包括:
所述FPGA验证所述获得的配置数据是否正确;
若验证正确,则所述FPGA将所述获得的配置数据存储到所述FIFO。
3.如权利要求1-2任一所述的方法,其特征在于,所述FPGA重新载入所述非易失性存储器读取配置数据,对所述FPGA进行升级,包括:
所述FPGA确定所述配置数据是否已存储完;
若所述FPGA确定存储完所述配置数据,则所述FPGA发送触发信号到复位电路,所述触发信号用于触发所述复位电路对所述FPGA进行复位;
在所述FPGA进行复位时,所述FPGA重新载入所述配置数据,对所述FPGA进行配置。
4.一种现场可编程门阵列FPGA在线升级设备,其特征在于,所述FPGA在线升级设备与复位电路连接,所述复位电路包括复位芯片U1、比较器U2,所述比较器U2的输入端用于接收触发信号,所述比较器U2的输出端与所述复位芯片U1的输入端连接,所述复位芯片U1的输出端与所述FPGA的复位管脚连接,所述比较器U2接收到触发信号后,与所述比较器U2的基准电压作比较,输出的电压为FPGA的复位管脚提供电压,包括:
解析单元,用于接收配置文件升级数据包,并解析接收的配置文件升级数据包,获得配置数据;
确定单元,用于根据先入先出FIFO的存储空间的大小,及存储空间的大小与数据传输率的映射关系,确定传输所述获得的配置数据的传输速率;
第一存储单元,用于将获得的配置数据存储到所述FIFO;
第二存储单元,用于从所述FIFO读取所述配置数据,并将读取的配置数据存储至非易失性存储器中;
升级单元,用于接收到所述比较器U2提供的输出电压时,启动复位;
所述升级单元还用于重新载入所述非易失性存储器读取配置数据,对所述FPGA进行升级。
5.如权利要求4所述的设备,其特征在于,所述第一存储单元具体用于:
验证所述获得的配置数据是否正确;
若验证正确,则将所述获得的配置数据存储到所述FIFO。
6.如权利要求4-5任一所述的设备,其特征在于,所述升级单元具体用于:
确定所述配置数据是否已存储完;
若确定存储完所述配置数据,则发送触发信号到复位电路,所述触发信号用于触发所述复位电路对所述FPGA进行复位;
在进行复位时,重新载入所述配置数据,对所述FPGA进行配置。
7.一种现场可编程门阵列FPGA在线升级设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-3任一项所述的方法。
8.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711458972.5A CN108021413B (zh) | 2017-12-28 | 2017-12-28 | 一种fpga在线升级方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711458972.5A CN108021413B (zh) | 2017-12-28 | 2017-12-28 | 一种fpga在线升级方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108021413A CN108021413A (zh) | 2018-05-11 |
CN108021413B true CN108021413B (zh) | 2021-08-27 |
Family
ID=62072057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711458972.5A Active CN108021413B (zh) | 2017-12-28 | 2017-12-28 | 一种fpga在线升级方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108021413B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399719A (zh) * | 2019-06-28 | 2019-11-01 | 苏州浪潮智能科技有限公司 | Bit文件加载方法、装置、设备及计算机可读存储介质 |
CN110413299A (zh) * | 2019-07-26 | 2019-11-05 | 成都天锐星通科技有限公司 | 一种fpga内置代码版本加载方法及电子设备 |
CN111538260A (zh) * | 2020-04-01 | 2020-08-14 | 深圳市汇顶科技股份有限公司 | 引脚配置方法及装置、多引脚互连互通系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677916A (zh) * | 2013-12-10 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | 一种基于fpga的在线重配置系统及方法 |
CN104570846A (zh) * | 2014-12-04 | 2015-04-29 | 中国航空工业集团公司第六三一研究所 | Fpga重配置控制器及其控制方法 |
CN105573798A (zh) * | 2015-12-22 | 2016-05-11 | 北京华峰测控技术有限公司 | 一种可快速重新配置fpga的方法及电路 |
US20170024298A1 (en) * | 2015-07-24 | 2017-01-26 | U.S.A. As Represented By The Administrator Of The National Aeronautics And Space Administration | In-system prom emulator board |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5914906A (en) * | 1995-12-20 | 1999-06-22 | International Business Machines Corporation | Field programmable memory array |
CN102749137A (zh) * | 2011-04-21 | 2012-10-24 | 王伟兰 | 一种基于fpga和usb2.0协议接口的ccd光谱信号通用采集系统设计 |
-
2017
- 2017-12-28 CN CN201711458972.5A patent/CN108021413B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677916A (zh) * | 2013-12-10 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | 一种基于fpga的在线重配置系统及方法 |
CN104570846A (zh) * | 2014-12-04 | 2015-04-29 | 中国航空工业集团公司第六三一研究所 | Fpga重配置控制器及其控制方法 |
US20170024298A1 (en) * | 2015-07-24 | 2017-01-26 | U.S.A. As Represented By The Administrator Of The National Aeronautics And Space Administration | In-system prom emulator board |
CN105573798A (zh) * | 2015-12-22 | 2016-05-11 | 北京华峰测控技术有限公司 | 一种可快速重新配置fpga的方法及电路 |
Also Published As
Publication number | Publication date |
---|---|
CN108021413A (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108021413B (zh) | 一种fpga在线升级方法及设备 | |
EP3091434B1 (en) | Chip starting method, multi-core processor chip and storage medium | |
CN110618903A (zh) | 电子设备测试方法与装置 | |
CN111142914B (zh) | 一种基于zynq固件升级的方法及计算机可读存储介质 | |
US9336022B2 (en) | Universal serial bus (USB) device and a USB system including the same | |
CN102750249B (zh) | 上位机与下位机通信的方法、装置及系统 | |
CN103365701A (zh) | 一种模拟读卡器的工作方法和模拟通信系统 | |
US20180357193A1 (en) | Computing device and operation method | |
CN112231228A (zh) | 一种固件升级测试方法、装置、平台、设备及存储介质 | |
CN103106095A (zh) | 一种工业照相机远程升级的方法及照相机 | |
CN111538515A (zh) | 一种电能表程序的升级方法、装置和设备 | |
CN115840579A (zh) | Fpga远程更新方法、系统、贴片机及存储介质 | |
CN109240130B (zh) | 可程序化接脚位准的控制电路 | |
CN112463067A (zh) | 一种NVMe-oF场景下的数据保护方法及设备 | |
CN116909767A (zh) | 一种通道可扩展的流程消息处理方法 | |
US20040019825A1 (en) | Method and apparatus for debugging a data processing system | |
CN116560678A (zh) | 固件更新方法、装置、存储介质及电子装置 | |
CN112702751A (zh) | 无线通信模型的训练和升级方法、网络设备及存储介质 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
US20040019828A1 (en) | Method and apparatus for debugging a data processing system | |
CN115098123A (zh) | 毫米波终端设备及其单板、操作方法 | |
CN113032054A (zh) | 一种服务执行方法、装置、存储介质及电子装置 | |
CN102455970B (zh) | 带可靠性检测功能的多外设boot实现方法、设备及系统 | |
CN112445659B (zh) | 一种多协议高速serdes测试实现方法及系统 | |
WO2023125219A1 (en) | Debugging method, iot device, debugging server and debugging system |
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 |