FPGA配置方法、装置以及FPGA器件与流程

文档序号:20511399发布日期:2020-04-24 18:34阅读:177来源:国知局
FPGA配置方法、装置以及FPGA器件与流程

本公开涉及fpga配置技术领域,具体涉及一种fpga配置方法、装置以及fpga器件。



背景技术:

fpga(field-programmablegatearray,现场可编程门阵列),它是在pal、gal、epld等可编程器件的基础上进一步发展的产物。fpga的使用非常灵活,内部可利用资源丰富,同一片fpga通过不同的设计可以产生不同的电路功能。fpga在通信、数据处理、网络、仪器、工业控制、led、军事和航空航天等众多领域得到了广泛应用。

fpga是基于sram的应用技术,程序不能保存,需在板卡上电时对fpga进行配置。fpga的配置方式一般可以分为两类:主动配置和被动配置。

主动配置即外挂一个专用的存储器,fpga主动读取存储器中的配置文件。这种配置方式虽然简单直接,但是由于存储器中的配置文件通过烧片机烧片的方式录入存储器芯片中,如果需要改变配置文件,就需要对存储器取下重新烧写,使用不够灵活。更重要的是,对于包含多个板卡的框式设备来说,需要对每一个单板的fpga重新烧写,该方式难以适用。

被动配置即为外部的控制器,例如中央处理器(cpu),微处理器(mcu)或者模拟配置时序的cpld等,通过控制fpga的配置管脚,以满足fpga时序的方式进行配置。但是在这种方式下,当无cpu或者cpu加载出错的时候,fpga就无法自主启动。并且对于框式设备而言,主控制器负责对所有板卡进行初始化,在配置时,主控制器需要依次对每个板卡的fpga进行初始化配置,当需要调试特定单板上fpga时,每次都要依次初始化所有板卡,无法对特定fpga进行单独调试,造成调试不便。由此可见,现有的fpga配置方式难以满足使用。



技术实现要素:

为解决fpga配置方式较为单一的技术问题,本公开提供了一种fpga配置方法、装置以及fpga器件。

第一方面,本公开提供了一种fpga配置方法,应用于fpga器件,所述fpga器件包括fpga板卡和存储器,所述存储器与所述fpga板卡可拆卸安装,其存储有所述fpga板卡的配置文件,所述方法包括:

检测所述存储器在所述fpga板卡上的在位状态;

当检测到所述存储器在位时,将所述fpga板卡配置为主动配置模式,以使所述fpga板卡可获取所述存储器中的配置文件;

当检测到所述存储器不在位时,将所述fpga板卡配置为被动配置模式,以使所述fpga板卡与外部控制器连接。

在一些实施方式中,所述检测所述存储器在所述fpga板卡上的在位状态,包括:

获取所述fpga板卡上检测位的电平信号,根据所述电平信号确定所述存储器是否在位;所述检测位是所述存储器与所述fpga板卡可拆卸安装的连接位置。

在一些实施方式中,所述根据所述电平信号确定所述存储器是否在位,包括:

当检测到所述fpga板卡上所述检测位的电平信号为高电平时,确定所述存储器在位;

当检测到所述fpga板卡上所述检测位的电平信号为低电平时,确定所述存储器不在位。

第二方面,本公开提供了一种fpga器件,包括:

fpga板卡;

存储器,与所述fpga板卡可拆卸安装,其存储有所述fpga板卡的配置文件;

控制器,包括可通信连接的处理单元和存储单元,所述存储单元存储有可被所述处理单元读取的计算机可读指令,在计算机可读指令被读取时,所述处理单元执行根据第一方面任一实施方式中所述方法,

在一些实施方式中,所述的fpga器件,还包括:

在位检测电路,包括分别设于所述fpga板卡和所述存储器上的检测电触片,当所述存储器与所述fpga板卡连接时,所述在位检测电路连通。

在一些实施方式中,所述存储器与所述fpga板卡可拔插连接。

在一些实施方式中,所述存储器为sd存储卡。

第三方面,本公开提供了一种电子设备,包括:

至少一个根据第二方面任一实施方式中所述的fpga器件;

主控制器,连接各所述fpga器件,以在被动配置模式下,对所述fpga器件进行配置。

第四方面,本公开提供了一种fpga配置装置,应用于fpga器件,所述fpga器件包括fpga板卡和存储器,所述存储器与所述fpga板卡可拆卸安装,其存储有所述fpga板卡的配置文件,所述装置包括:

检测模块,用于检测所述存储器在所述fpga板卡上的在位状态;

配置模块,用于当检测到所述存储器在位时,将所述fpga板卡配置为主动配置模式,以使所述fpga板卡可获取所述存储器中的配置文件;当检测到所述存储器不在位时,将所述fpga板卡配置为被动配置模式,以使所述fpga板卡与外部控制器连接。

第五方面,本公开提供了一种存储介质,存储有计算机指令,所述计算机指令用于使计算机执行根据第一方面任一实施方式中所述的方法。

本公开实施方式中提供的fpga配置方法,应用于fpga器件,fpga器件包括fpga板卡和存储器,存储器与fpga板卡可拆卸安装,其存储有fpga板卡的配置文件,该方法包括检测存储器在fpga板卡上的在位状态,当检测到存储器在位时,将fpga板卡配置为主动配置模块,以使fpga板卡可获取存储器中的配置文件,当检测到存储器不在位时,将fpga板卡配置为被动配置模块,以使fpga板卡可与外部控制器连接。通过对存储器的检测,可对fpga板卡进行配置模式切换,满足fpga板卡的多种使用模式。并且本公开方法通过对fpga板卡进行模式切换,对于包含多个fpga板卡的框式设备而言,无需依赖主控制器,当对特定板卡进行调试时,只需更改特定板卡的存储器配置文件即可,无需对所有板卡进行初始调试,使用更加方便。

附图说明

为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本公开一些实施方式中fpga器件的结构示意图。

图2是根据本公开一些实施方式中fpga配置方法的流程图。

图3是根据本公开一些实施方式中fpga配置装置的结构框图。

图4是适于实现本公开方法的计算机系统结构示意图。

具体实施方式

下面将结合附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。此外,下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

本公开提供的fpga配置方法,可应用于fpga器件,从而对fpga器件进行配置模式的切换,fpga器件的配置模式,可分为主动配置模式和被动配置模式。

需要说明的是,对于框式设备而言,由于其包含多个fpga器件,出于成本和使用场景的考虑,采用被动配置模式,利用主控制器对所有板卡进行初始化配置最为方便,并且主控制器可以做到在线升级,实现真正意义上的“现场可编程”。

但是,在这种设备中,每次上电后,主控制器需要依次对每个fpga器件进行初始化配置,当需要调试特定单板上的fpga时,依旧需要对所有fpga器件进行配置,无法对某一或某些特定的板卡进行调试,造成设备调试十分不便。由于主控制器对所有板卡进行配置,因此对于某一单板而言,在无主控制器的情况下,该fpga器件即无法进行配置。由此可知,对于框式设备而言,这种配置模式较为单一,难以满足使用。

正是基于上述现有技术中存在的缺陷,本公开提供了一种fpga器件,图1中示出了本公开一些实施方式中的fpga器件。

如图1所示,在一些实施方式中,本公开提供的fpga器件,可包括:fpga板卡110、存储器120、以及控制器130,控制器130包括处理单元和存储单元。

fpga板卡110采用相关技术中实现fpga功能的板卡即可,本公开对此不再赘述。存储器120可拆卸安装在fpga板卡110的接口上,例如fpga板卡110上设置存储器接口,存储器120通过该存储器接口可拔插设置在fpga板卡110上。

控制器130集成在fpga板卡110上,其具有处理单元和存储单元,处理单元可以为任何类型,具备一个或者多个处理核心的处理器。其可以执行单线程或者多线程的操作,用于解析指令以执行获取数据、执行逻辑运算功能以及下发运算处理结果等操作。例如cpu、mcu等处理器。

存储单元可包括非易失性计算机可读存储介质,例如至少一个磁盘存储器件、闪存器件、相对于处理单元远程设置的分布式存储设备或者其他非易失性固态存储器件。存储单元可以具有程序存储区,用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,供处理单元调用以使处理单元执行一个或者多个下述方法步骤。存储单元还可以包括易失性随机存储介质、或者硬盘等存储部分,作为数据存储区,用以存储处理单元下发输出的运算处理结果及数据。

fpga板卡110上的存储器接口通过总线与控制器130建立连接,从而使得存储器120插接在存储器接口上时,控制器130可与存储器120建立可通信连接,获取存储器120内储存的配置文件。

存储器120为非易失性计算机可读存储介质,其内部存储有fpga板卡110的配置文件,从而fpga板卡110在主动配置模式下可从存储器120中读取配置文件。存储器120可以为例如sd存储卡等通用存储介质,也可以为例如eprom等fpga板卡专用存储器,本公开对此不作限制。

在一个示例性的实施中,存储器120为sd存储卡,sd存储卡为通用存储器件,便于拔插和读取写入等操作,如果sd卡损坏,也可以很方便更换,不需要复杂的维修,并且sd存储卡相较专用存储器成本更低,节省成本。

继续参照图1,本公开的fpga器件还包括在位检测电路140,在位检测电路140设置在fpga板卡11上,其检测位设于存储器接口位置。其包括分别设于存储器接口位置和存储器120上的检测电触片150,从而当存储器120插接在存储器接口上时,两个检测电触片150接触,使得在位检测电路连通,进而检测电路的输出端向控制器130发送高电平信号,反之则发送低电平信号。控制器130根据在位检测电路发送的电平信号,即可判断存储器120是否在位。

可以理解的是,本公开提供的在位检测电路140不局限与上述实施方式,还可以是其他任何适于实施的在位检测方法,本公开对此不作限制。

图2中示出了本公开fpga配置方法的一些实施方式,该方法应用于图1所示的fpga器件。如图2所示,在一些实施方式中,fpga配置方法包括:

s10、fpga器件上电启动。

s20、检测存储器在fpga板卡上是否在位。若是,则执行步骤s30。若否,则执行步骤s40。

s30、将fpga板卡配置为主动配置模式。

s40、将fpga板卡配置为被动配置模式。

具体而言,在步骤s10~s40中,板卡在上电启动时,控制器首先检测存储器是否在位。

例如,在图1所示的实施方式中,fpga板卡在上电后,控制器可接收在位检测电路检测fpga板卡上存储器接口位置的电平信号。

若为低电平信号,则说明在位检测电路没有连通,即存储器上的检测电触片和存储器接口上的检测电触片没有接触,表示存储器未插接在fpga板卡上,即存储器不在位。存储器不在位,则fpga板卡无法从存储器中获取配置文件,即将fpga板卡配置为被动配置模式,以使得fpga板卡可以与外部控制器连接,例如与外部的主控制器连接。

若为高电平信号,则说明在位检测电路连通,即存储器上的检测电触片和存储器接口上的检测电触片接触,表示存储器插接在fpga板卡上,即存储器在位。存储器在位时,则fpga板卡可以从存储器中获取配置文件进行主动配置,即将fpga板卡配置为主动配置模式,以使得fpga板卡可以从存储器中获取配置文件。

由此可知,本公开实施方式中提供的配置方法,可以实现fpga板卡的灵活配置,实现不同启动方式的智能切换,满足更多的配置场景使用。

在一些实施方式中,存储器120采用sd存储卡,sd存储卡为通用存储器件,便于拔插和读取写入等操作,如果sd卡损坏,也可以很方便更换,不需要复杂的维修,并且sd存储卡相较专用存储器成本更低,读取速度更快,使用更方便。

另一方面,本公开还提供了一种电子设备,在一些实施方式中,该设备例如为前述的框式设备,其包括:至少一个上述的fpga器件和主控制器,主控制器连接各fpga器件,从而在被动配置模式下,主控制器对各fpga器件进行配置。

结合上述,在电子设备使用时,在各fpga板卡开机上电之后,各个板卡的控制器首先检测该fpga板卡上存储器是否在位,若存储器不在位,则将该板卡配置为被动配置模式,即由主控制器对所有板卡进行初始化配置。然而在需要调试特定的某一或某些fpga板卡时,只需要将该板卡的存储器插接在板卡上,在设备上电之后,板卡的控制器检测到该fpga板卡上存储器在位,则将该板卡配置为主动配置模式,即板卡从存储器中获取配置文件,实现对该板卡的单独调试配置,而无需对所有板卡依次进行配置,大大提高了便利性。当需要所有板卡均采用被动配置模式时,只需要在此拔下板卡的存储器即可,实现配置模式的智能切换。

再一方面,本公开还提供了一种fpga配置装置,如图3所示,在一些实施方式中,该装置包括:

检测模块10,用于检测存储器在fpga板卡上的在位状态;

配置模块20,用于当检测到存储器在位时,将fpga板卡配置为主动配置模式,以使fpga板卡可获取存储器中的配置文件;当检测到存储器不在位时,将fpga板卡配置为被动配置模式,以使fpga板卡与外部控制器连接。

本公开实施方式中提供的配置装置,可以实现fpga板卡的灵活配置,实现不同启动方式的智能切换,满足更多的配置场景使用。并且本公开装置通过对fpga板卡进行模式切换,对于包含多个fpga板卡的框式设备而言,无需依赖主控制器,当对特定板卡进行调试时,只需更改特定板卡的存储器配置文件即可,无需对所有板卡进行初始调试,使用更加方便。

本公开还提供了一种存储介质,存储有计算机指令,计算机指令用于使计算机执行上述任一实施方式中所述的方法。

具体而言,图4示出了适于用来实现本公开方法或控制器的计算机系统600的结构示意图,通过图4所示系统,实现前述控制器、fpga配置装置及存储介质相应功能。

如图4所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

特别地,根据本公开的实施方式,上文方法过程可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。

附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

显然,上述实施方式仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本公开创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1