CN101441574A - 一种嵌入式系统中多fpga逻辑加载的方法 - Google Patents
一种嵌入式系统中多fpga逻辑加载的方法 Download PDFInfo
- Publication number
- CN101441574A CN101441574A CNA2007101876751A CN200710187675A CN101441574A CN 101441574 A CN101441574 A CN 101441574A CN A2007101876751 A CNA2007101876751 A CN A2007101876751A CN 200710187675 A CN200710187675 A CN 200710187675A CN 101441574 A CN101441574 A CN 101441574A
- Authority
- CN
- China
- Prior art keywords
- fpga
- fpga logic
- loading
- logic
- functional configuration
- 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
Links
Images
Abstract
本发明公开了一种嵌入式系统中多FPGA逻辑加载的方法,所述方法包括,步骤1.目标装置上电复位,加载一FPGA逻辑;步骤2.判断从外存中读取的目标装置当前的功能配置与当前加载的FPGA逻辑支持的功能配置是否匹配,若匹配,则FPGA逻辑加载结束;否则,不匹配,转入步骤3;步骤3.加载与目标装置当前功能配置对应的FPGA逻辑。本发明方法,根据目标装置需要实现的各种功能,将不同功能配置进行分解,编译多个FPGA逻辑,降低了FPGA逻辑开发的难度系数;通过对多个FPGA逻辑的选择判断,达到对FPGA逻辑的自适应加载,实现目标装置的各种功能配置,同时降低了成本。
Description
技术领域
本发明涉及数据处理领域,具体涉及嵌入式系统中多FPGA逻辑加载的方法。
背景技术
FPGA(Field Programmable Gate Array,现场可编程门阵列)作为ASIC(专用集成电路)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA在上电时将外存中的FPGA逻辑读入片内RAM中,配置完成后,FPGA进入工作状态;掉电后,FPGA内部逻辑消失。当需要修改FPGA的功能时,只需更改外存中的FPGA逻辑即可,由于FPGA的灵活性,在嵌入式开发系统中得到了广泛应用。
在嵌入式系统中,目标装置功能的实现多数需要借助FPGA芯片来实现。当目标装置需要实现的功能单一时,FPGA逻辑也相对简单,程序相对较小,在一片FPGA芯片内即可实现,当目标装置的功能配置较多时,若采用一个FPGA逻辑来实现所有的功能配置,则FPGA逻辑会非常复杂,程序也相应的变的很大,由于FPGA芯片中RAM大小的限制,这样FPGA逻辑就无法正常加载到FPGA芯片的RAM中。
为了解决上述技术问题,现有技术中提出对应的解决方案,具体是,根据目标装置功能配置不同,编译相应的FPGA逻辑程序,实现逻辑程序与功能配置的一一对应,大大简化了FPGA逻辑的复杂度。这种用多个FPGA逻辑程序实现不同功能配置的方法,解决了FPGA芯片RAM容量不足的问题,但是也带来了新的问题——根据功能配置,怎么才能实现FPGA逻辑的正确加载呢?
为了解决FPGA逻辑的正确加载,现有技术中一般采用的解决方案是,APP(应用程序)对应不同功能的多个FPGA逻辑,通过多次手动尝试实现FPGA逻辑的正确加载。该方案,需要对多个不同功能的FPGA逻辑版本进行维护,这样不但浪费时间,且不利于FPGA逻辑版本的维护。
发明内容
本发明的目的是提出一种嵌入式系统中多FPGA逻辑加载的方法,用以克服现有技术中存在的对多个不同功能的FPGA逻辑进行加载时,FPGA芯片RAM容量不足以及多FPGA逻辑版本维护的问题。
为了实现上述发明目的,本发明具体是这样实现的:
一种嵌入式系统中多FPGA逻辑加载的方法,包括如下步骤:
步骤1、目标装置上电复位,加载一FPGA逻辑;
步骤2、判断从外存中读取的目标装置当前的功能配置与当前加载的FPGA逻辑支持的功能配置是否匹配,若匹配,则FPGA逻辑加载结束;否则,不匹配,转入步骤3;
步骤3、加载与目标装置当前功能配置对应的FPGA逻辑。
在所述的嵌入式系统中多FPGA逻辑加载的方法中,所述步骤1之前还包括:
对FPGA进行封装处理;
所述封装处理时,将每一个FPGA逻辑与目标装置的功能配置一一对应。
在所述的嵌入式系统中多FPGA逻辑加载的方法中,所述步骤1中加载FPGA逻辑后,还包括如下步骤:
判断所述FPGA逻辑加载是否成功,若成功,则执行步骤2,否则,执行FPGA逻辑加载失败处理。
在所述的嵌入式系统中多FPGA逻辑加载的方法中,所述步骤3中加载FPGA逻辑后,还包括如下步骤:
判断所述FPGA逻辑加载是否成功,若成功,则FPGA逻辑加载结束,否则,执行FPGA逻辑加载失败处理。
与现有的FPGA加载方式相比:本发明方法,根据目标装置需要实现的各种功能,将不同功能配置进行分解,编译多个FPGA逻辑,降低了FPGA逻辑开发的难度系数;通过对多个FPGA逻辑的选择判断,达到对FPGA逻辑的自适应加载,实现目标装置的各种功能配置,同时降低了成本。
本发明方法,只需对一个封装以后的FPGA逻辑进行操作,不但有利于文档的管理和维护、方便操作,而且更智能化。
本发明方法,在上电复位过程中,FPGA逻辑自适应加载,减少了手动加载带来的麻烦,方便操作。
附图说明
图1是本发明实施例所述的多FPGA逻辑加载的流程图。
具体实施方式
本发明方法在实现前,需要事先对多个FPGA逻辑按功能配置与具体FPGA逻辑一一映射,然后进行封装和合成处理。
目标装置上电复位,开始进行多FPGA逻辑的自适应加载:首先从外存中默认加载一FPGA逻辑,该FPGA逻辑配置完成;然后将从外存中读取的目标装置当前的功能配置与当前加载的FPGA逻辑支持的功能配置进行匹配判断,如果匹配,则加载成功,退出FPGA逻辑加载结束,否则,匹配不成功,根据功能配置和FPGA逻辑的位置映射关系,重新加载与当前功能配置对应的FPGA逻辑。
在每次FPGA逻辑加载过程,本发明所述方法对加载是否成功进行判断,并针对加载失败给出相应的异常处理。
以下结合附图对本发明所述方法的具体实施例进行详细描述。
在多个FPGA逻辑的封装合成处理过程中,需要将每一个FPGA逻辑同目标装置的功能配置一一对应,在读取到目标装置当前的功能配置,可以直接映射到相应的FPGA逻辑,以实现FPGA逻辑的自适应加载。
如图1所示,对于支持多个功能配置的目标装置,实现多FPGA逻辑加载的具体处理步骤如下:
步骤1,上电复位,默认加载FPGA逻辑1;
步骤2,判断所述FPGA逻辑1加载是否成功,若成功,则执行步骤3,否则,执行步骤8;
步骤3,从外存中读取当前目标装置的功能配置;
步骤4,读取所述FPGA逻辑1所支持的功能配置;
步骤5,判断当前目标装置的功能配置和所述FPGA逻辑1所支持的功能配置是否匹配,若匹配,则执行步骤9,否则,执行步骤6;
步骤6,加载外存中与当前目标装置功能配置对应的FPGA逻辑;
步骤7,判断FPGA逻辑是否加载成功,若是,则转入步骤9,否则,转入步骤8;
步骤8,当前FPGA逻辑加载失败处理;
步骤9,FPGA逻辑加载结束。
所述步骤8中,当FPGA逻辑加载失败处理,可以通过一具体操作发出告警,告知用户当前FPGA的加载失败,比如指示灯的闪烁状态等。
在上面的FPGA逻辑自适应的加载过程中,由于目标装置的功能配置一般都保存在外存(例如,Flash芯片)中,上位机对外存的正常操作必须在FPGA逻辑加载之后才能实现。因此在目标装置上电复位时,需要默认加载一个FPGA逻辑,配置完成后,上位机才可以正常操作外存,读取到上一次掉电前目标装置的功能配置。
对于仅有一个功能配置的目标装置,若已加载的FPGA逻辑1所支持的功能配置与保存在外存中的功能配置一致,FPGA逻辑加载过程结束。
综上所述,本发明方法通过FPGA逻辑的自动加载,即,可达到多个FPGA逻辑自适应加载的目的,实现目标装置支持多功能配置的功能。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (5)
1、一种嵌入式系统中多FPGA逻辑加载的方法,其特征在于,包括如下步骤:
步骤1、目标装置上电复位,加载一FPGA逻辑;
步骤2、判断从外存中读取的目标装置当前的功能配置与当前加载的FPGA逻辑支持的功能配置是否匹配,若匹配,则FPGA逻辑加载结束;否则,不匹配,转入步骤3;
步骤3、加载与目标装置当前功能配置对应的FPGA逻辑。
2、如权利要求1所述的嵌入式系统中多FPGA逻辑加载的方法,其特征在于,所述步骤1之前还包括:
对FPGA进行封装处理;
所述封装处理时,将每一个FPGA逻辑与目标装置的功能配置一一对应。
3、如权利要求1或2所述的嵌入式系统中多FPGA逻辑加载的方法,其特征在于,所述步骤1中加载FPGA逻辑后,还包括如下步骤:
判断所述FPGA逻辑加载是否成功,若成功,则执行步骤2,否则,执行FPGA逻辑加载失败处理。
4、如权利要求1或2所述的嵌入式系统中多FPGA逻辑加载的方法,其特征在于,所述步骤3中加载FPGA逻辑后,还包括如下步骤:
判断所述FPGA逻辑加载是否成功,若成功,则FPGA逻辑加载结束,否则,执行FPGA逻辑加载失败处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101876751A CN101441574B (zh) | 2007-11-20 | 2007-11-20 | 一种嵌入式系统中多fpga逻辑加载的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101876751A CN101441574B (zh) | 2007-11-20 | 2007-11-20 | 一种嵌入式系统中多fpga逻辑加载的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101441574A true CN101441574A (zh) | 2009-05-27 |
CN101441574B CN101441574B (zh) | 2011-10-26 |
Family
ID=40726022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101876751A Active CN101441574B (zh) | 2007-11-20 | 2007-11-20 | 一种嵌入式系统中多fpga逻辑加载的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101441574B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697129A (zh) * | 2009-10-27 | 2010-04-21 | 中兴通讯股份有限公司 | 嵌入式系统现场可编程门阵列逻辑自加载方法及系统 |
CN102147735A (zh) * | 2010-02-10 | 2011-08-10 | 华为技术有限公司 | 接口单板和业务逻辑加载的方法 |
CN102662686A (zh) * | 2012-03-09 | 2012-09-12 | 中国科学院微电子研究所 | Fpga的加载方法及其装置 |
CN103399758A (zh) * | 2011-12-31 | 2013-11-20 | 华为数字技术(成都)有限公司 | 硬件加速方法、装置和系统 |
CN106325941A (zh) * | 2016-08-25 | 2017-01-11 | 许继集团有限公司 | 一种嵌入式设备的fpga动态功能切换方法及装置 |
CN107766251A (zh) * | 2017-11-08 | 2018-03-06 | 郑州云海信息技术有限公司 | 加载image的检测方法、系统、设备及可读存储介质 |
CN109558177A (zh) * | 2018-12-07 | 2019-04-02 | 天津光电通信技术有限公司 | 一种多制式译码设备中输入信号自动匹配解码方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5640106A (en) * | 1995-05-26 | 1997-06-17 | Xilinx, Inc. | Method and structure for loading data into several IC devices |
CN100342335C (zh) * | 2004-09-23 | 2007-10-10 | 华为技术有限公司 | 芯片程序加载方法 |
CN100432936C (zh) * | 2006-09-20 | 2008-11-12 | 华为技术有限公司 | 一种加载fpga目标程序的方法及系统 |
-
2007
- 2007-11-20 CN CN2007101876751A patent/CN101441574B/zh active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697129A (zh) * | 2009-10-27 | 2010-04-21 | 中兴通讯股份有限公司 | 嵌入式系统现场可编程门阵列逻辑自加载方法及系统 |
CN101697129B (zh) * | 2009-10-27 | 2014-06-04 | 中兴通讯股份有限公司 | 嵌入式系统现场可编程门阵列逻辑自加载方法及系统 |
CN102147735A (zh) * | 2010-02-10 | 2011-08-10 | 华为技术有限公司 | 接口单板和业务逻辑加载的方法 |
CN102147735B (zh) * | 2010-02-10 | 2014-06-04 | 华为技术有限公司 | 接口单板和业务逻辑加载的方法 |
CN103399758A (zh) * | 2011-12-31 | 2013-11-20 | 华为数字技术(成都)有限公司 | 硬件加速方法、装置和系统 |
CN103399758B (zh) * | 2011-12-31 | 2016-11-23 | 华为数字技术(成都)有限公司 | 硬件加速方法、装置和系统 |
CN102662686A (zh) * | 2012-03-09 | 2012-09-12 | 中国科学院微电子研究所 | Fpga的加载方法及其装置 |
CN102662686B (zh) * | 2012-03-09 | 2015-05-13 | 中国科学院微电子研究所 | Fpga的加载方法及其装置 |
CN106325941A (zh) * | 2016-08-25 | 2017-01-11 | 许继集团有限公司 | 一种嵌入式设备的fpga动态功能切换方法及装置 |
CN107766251A (zh) * | 2017-11-08 | 2018-03-06 | 郑州云海信息技术有限公司 | 加载image的检测方法、系统、设备及可读存储介质 |
CN107766251B (zh) * | 2017-11-08 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 加载image的检测方法、系统、设备及可读存储介质 |
CN109558177A (zh) * | 2018-12-07 | 2019-04-02 | 天津光电通信技术有限公司 | 一种多制式译码设备中输入信号自动匹配解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101441574B (zh) | 2011-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101441574B (zh) | 一种嵌入式系统中多fpga逻辑加载的方法 | |
CN102945173B (zh) | 用户程序在线升级系统和升级方法 | |
CN100383737C (zh) | 单片机在线加载升级方法及系统 | |
CN104579719B (zh) | 一种固件的升级方法和系统、上位机和光模块 | |
US20120079260A1 (en) | Basic input-output system circuit and method for using the same | |
CN100458675C (zh) | 具多重操作电压的闪存控制器及其使用方法 | |
CN103777972A (zh) | 基于现场可编程门阵列的系统、配置方法以及升级方法 | |
CN104657161A (zh) | 移动终端固件更新方法及装置 | |
CN101286738A (zh) | 一种根据设备信息加载逻辑文件的方法、装置和系统 | |
CN100590599C (zh) | 一种flash的写操作处理方法、系统及设备 | |
CN103677862A (zh) | Epld程序的升级方法及装置 | |
CN104503814A (zh) | 一种usb3.0数据采集模块自动下载固件程序的方法 | |
CN103676911A (zh) | 一种设备控制系统及控制方法 | |
CN106775674A (zh) | 一种基于通用引导加载程序的设备及其启动方法 | |
US6301656B1 (en) | Method and apparatus for initial programming of flash based firmware | |
CN102053684A (zh) | 一种复位管理系统及其复位信号的处理方法 | |
CN101753672A (zh) | 一种对无线终端快速修复的系统和方法 | |
CN202331426U (zh) | 现场可编程门阵列的动态加载系统 | |
CN104615387A (zh) | 基于xpe系统的车载设备及其设计方法 | |
CN101697129A (zh) | 嵌入式系统现场可编程门阵列逻辑自加载方法及系统 | |
CN112395224B (zh) | 数据处理方法、系统、串接装置及电子设备 | |
CN202093503U (zh) | 一种在线升级fpga逻辑的装置 | |
CN107850890A (zh) | 基于sd卡的rtu | |
CN201897784U (zh) | 一种电子设备的升级控制装置 | |
CN105868042A (zh) | 一种看门狗电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |