一种嵌入式系统中多FPGA逻辑加载的方法转让专利

申请号 : CN200710187675.1

文献号 : CN101441574B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张小超邓兵

申请人 : 中兴通讯股份有限公司

摘要 :

本发明公开了一种嵌入式系统中多FPGA逻辑加载的方法,所述方法包括,步骤1、目标装置上电复位,加载一FPGA逻辑;步骤2、判断从外存中读取的目标装置当前的功能配置与当前加载的FPGA逻辑支持的功能配置是否匹配,若匹配,则FPGA逻辑加载结束;否则,不匹配,转入步骤3;步骤3、加载与目标装置当前功能配置对应的FPGA逻辑。本发明方法,根据目标装置需要实现的各种功能,将不同功能配置进行分解,编译多个FPGA逻辑,降低了FPGA逻辑开发的难度系数;通过对多个FPGA逻辑的选择判断,达到对FPGA逻辑的自适应加载,实现目标装置的各种功能配置,同时降低了成本。

权利要求 :

1.一种嵌入式系统中多FPGA逻辑加载的方法,其特征在于,对FPGA进行封装处理时,将每一个FPGA逻辑与目标装置的功能配置一一对应;所述方法包括如下步骤:步骤1、目标装置上电复位,加载一FPGA逻辑;

步骤2、判断从外存中读取的目标装置当前的功能配置与当前加载的FPGA逻辑支持的功能配置是否匹配,若匹配,则FPGA逻辑加载结束;否则,不匹配,转入步骤3;

步骤3、加载与目标装置当前功能配置对应的FPGA逻辑。

2.如权利要求1所述的嵌入式系统中多FPGA逻辑加载的方法,其特征在于,所述步骤

1中加载FPGA逻辑后,还包括如下步骤:

判断所述FPGA逻辑加载是否成功,若成功,则执行步骤2,否则,执行FPGA逻辑加载失败处理。

3.如权利要求1所述的嵌入式系统中多FPGA逻辑加载的方法,其特征在于,所述步骤

3中加载FPGA逻辑后,还包括如下步骤:

判断所述FPGA逻辑加载是否成功,若成功,则FPGA逻辑加载结束,否则,执行FPGA逻辑加载失败处理。

说明书 :

一种嵌入式系统中多FPGA逻辑加载的方法

技术领域

[0001] 本发明涉及数据处理领域,具体涉及嵌入式系统中多FPGA逻辑加载的方法。

背景技术

[0002] FPGA(Field Programmable Gate Array,现场可编程门阵列)作为ASIC(专用集成电路)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA在上电时将外存中的FPGA逻辑读入片内RAM中,配置完成后,FPGA进入工作状态;掉电后,FPGA内部逻辑消失。当需要修改FPGA的功能时,只需更改外存中的FPGA逻辑即可,由于FPGA的灵活性,在嵌入式开发系统中得到了广泛应用。
[0003] 在嵌入式系统中,目标装置功能的实现多数需要借助FPGA芯片来实现。当目标装置需要实现的功能单一时,FPGA逻辑也相对简单,程序相对较小,在一片FPGA芯片内即可实现,当目标装置的功能配置较多时,若采用一个FPGA逻辑来实现所有的功能配置,则FPGA逻辑会非常复杂,程序也相应的变的很大,由于FPGA芯片中RAM大小的限制,这样FPGA逻辑就无法正常加载到FPGA芯片的RAM中。
[0004] 为了解决上述技术问题,现有技术中提出对应的解决方案,具体是,根据目标装置功能配置不同,编译相应的FPGA逻辑程序,实现逻辑程序与功能配置的一一对应,大大简化了FPGA逻辑的复杂度。这种用多个FPGA逻辑程序实现不同功能配置的方法,解决了FPGA芯片RAM容量不足的问题,但是也带来了新的问题——根据功能配置,怎么才能实现FPGA逻辑的正确加载呢?
[0005] 为了解决FPGA逻辑的正确加载,现有技术中一般采用的解决方案是,APP(应用程序)对应不同功能的多个FPGA逻辑,通过多次手动尝试实现FPGA逻辑的正确加载。该方案,需要对多个不同功能的FPGA逻辑版本进行维护,这样不但浪费时间,且不利于FPGA逻辑版本的维护。

发明内容

[0006] 本发明的目的是提出一种嵌入式系统中多FPGA逻辑加载的方法,用以克服现有技术中存在的对多个不同功能的FPGA逻辑进行加载时,FPGA芯片RAM容量不足以及多FPGA逻辑版本维护的问题。
[0007] 为了实现上述发明目的,本发明具体是这样实现的:
[0008] 一种嵌入式系统中多FPGA逻辑加载的方法,包括如下步骤:
[0009] 步骤1、目标装置上电复位,加载一FPGA逻辑;
[0010] 步骤2、判断从外存中读取的目标装置当前的功能配置与当前加载的FPGA逻辑支持的功能配置是否匹配,若匹配,则FPGA逻辑加载结束;否则,不匹配,转入步骤3;
[0011] 步骤3、加载与目标装置当前功能配置对应的FPGA逻辑。
[0012] 在所述的嵌入式系统中多FPGA逻辑加载的方法中,所述步骤1之前还包括:
[0013] 对FPGA进行封装处理;
[0014] 所述封装处理时,将每一个FPGA逻辑与目标装置的功能配置一一对应。
[0015] 在所述的嵌入式系统中多FPGA逻辑加载的方法中,所述步骤1中加载FPGA逻辑后,还包括如下步骤:
[0016] 判断所述FPGA逻辑加载是否成功,若成功,则执行步骤2,否则,执行FPGA逻辑加载失败处理。
[0017] 在所述的嵌入式系统中多FPGA逻辑加载的方法中,所述步骤3中加载FPGA逻辑后,还包括如下步骤:
[0018] 判断所述FPGA逻辑加载是否成功,若成功,则FPGA逻辑加载结束,否则,执行FPGA逻辑加载失败处理。
[0019] 与现有的FPGA加载方式相比:本发明方法,根据目标装置需要实现的各种功能,将不同功能配置进行分解,编译多个FPGA逻辑,降低了FPGA逻辑开发的难度系数;通过对多个FPGA逻辑的选择判断,达到对FPGA逻辑的自适应加载,实现目标装置的各种功能配置,同时降低了成本。
[0020] 本发明方法,只需对一个封装以后的FPGA逻辑进行操作,不但有利于文档的管理和维护、方便操作,而且更智能化。
[0021] 本发明方法,在上电复位过程中,FPGA逻辑自适应加载,减少了手动加载带来的麻烦,方便操作。

附图说明

[0022] 图1是本发明实施例所述的多FPGA逻辑加载的流程图。

具体实施方式

[0023] 本发明方法在实现前,需要事先对多个FPGA逻辑按功能配置与具体FPGA逻辑一一映射,然后进行封装和合成处理。
[0024] 目标装置上电复位,开始进行多FPGA逻辑的自适应加载:首先从外存中默认加载一FPGA逻辑,该FPGA逻辑配置完成;然后将从外存中读取的目标装置当前的功能配置与当前加载的FPGA逻辑支持的功能配置进行匹配判断,如果匹配,则加载成功,退出FPGA逻辑加载结束,否则,匹配不成功,根据功能配置和FPGA逻辑的位置映射关系,重新加载与当前功能配置对应的FPGA逻辑。
[0025] 在每次FPGA逻辑加载过程,本发明所述方法对加载是否成功进行判断,并针对加载失败给出相应的异常处理。
[0026] 以下结合附图对本发明所述方法的具体实施例进行详细描述。
[0027] 在多个FPGA逻辑的封装合成处理过程中,需要将每一个FPGA逻辑同目标装置的功能配置一一对应,在读取到目标装置当前的功能配置,可以直接映射到相应的FPGA逻辑,以实现FPGA逻辑的自适应加载。
[0028] 如图1所示,对于支持多个功能配置的目标装置,实现多FPGA逻辑加载的具体处理步骤如下:
[0029] 步骤1,上电复位,默认加载FPGA逻辑1;
[0030] 步骤2,判断所述FPGA逻辑1加载是否成功,若成功,则执行步骤3,否则,执行步骤8;
[0031] 步骤3,从外存中读取当前目标装置的功能配置;
[0032] 步骤4,读取所述FPGA逻辑1所支持的功能配置;
[0033] 步骤5,判断当前目标装置的功能配置和所述FPGA逻辑1所支持的功能配置是否匹配,若匹配,则执行步骤9,否则,执行步骤6;
[0034] 步骤6,加载外存中与当前目标装置功能配置对应的FPGA逻辑;
[0035] 步骤7,判断FPGA逻辑是否加载成功,若是,则转入步骤9,否则,转入步骤8;
[0036] 步骤8,当前FPGA逻辑加载失败处理;
[0037] 步骤9,FPGA逻辑加载结束。
[0038] 所述步骤8中,当FPGA逻辑加载失败处理,可以通过一具体操作发出告警,告知用户当前FPGA的加载失败,比如指示灯的闪烁状态等。
[0039] 在上面的FPGA逻辑自适应的加载过程中,由于目标装置的功能配置一般都保存在外存(例如,Flash芯片)中,上位机对外存的正常操作必须在FPGA逻辑加载之后才能实现。因此在目标装置上电复位时,需要默认加载一个FPGA逻辑,配置完成后,上位机才可以正常操作外存,读取到上一次掉电前目标装置的功能配置。
[0040] 对于仅有一个功能配置的目标装置,若已加载的FPGA逻辑1所支持的功能配置与保存在外存中的功能配置一致,FPGA逻辑加载过程结束。
[0041] 综上所述,本发明方法通过FPGA逻辑的自动加载,即,可达到多个FPGA逻辑自适应加载的目的,实现目标装置支持多功能配置的功能。
[0042] 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。