[发明专利]一种多片FPGA程序网络化快速批加载方法在审
| 申请号: | 201410705542.9 | 申请日: | 2014-11-27 |
| 公开(公告)号: | CN104360886A | 公开(公告)日: | 2015-02-18 |
| 发明(设计)人: | 申辰;黄镠;张晗 | 申请(专利权)人: | 中国船舶重工集团公司第七二四研究所 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F15/76 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 210003 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 fpga 程序 网络化 快速 加载 方法 | ||
技术领域
本发明涉及一种多片FPGA程序网络化快速批加载方法。尤其涉及多个FPGA板卡多个程序版本的同时批量网络加载方法。
背景技术
随着科技的不断发展,为了降低硬件的设计成本,缩短设计周期,系统设计逐渐趋于模块化。设计者通过在统一的硬件平台上(如FPGA板卡)加载不同的加载程序实现不同的处理功能。
传统的JTAG烧写方式耗时巨大,大大增加了设计周期。同时现有的网络加载方式虽然可以减少烧写时间,但是未考虑多版本及多个FPGA板卡的批量加载功能,往往只能一个一个的进行烧写,只能适应较简单的系统。在大规模相控阵体制雷达中,需大量采用相同型号的FPGA板卡,因此就需要一种可以支持多板卡、多版本的同时批量网络加载方法。
发明内容
本发明的目的在于提供一种多片FPGA程序网络化快速批加载方法。
实现本发明目的的技术解决方案为:控制计算机通过网络同时对多片FPGA板卡同时进行程序加载;控制计算机先将FPGA加载程序bin文件,按照每个程序所对应的槽位号,即需加载该程序的板卡的位置号进行分块打包,再根据既定的协议广播发送给网络内的所有FPGA板卡上的ARM节点;网络内的各ARM节点在收到每个数据包后即向控制计算机回复确认包,并将接收到的数据存储在本FPGA板卡上ROM的对应地址内;当控制计算机接收到网络内所有ARM节点回复的确认包后再继续发送下一个数据包;一旦网络内各ARM节点接收完所有数据后, ARM会根据板卡对应的槽位号读取ROM上相应的FPGA程序,将其写入Flash,Flash将会自动将程序加载至FPGA。当板卡的槽位发生改变时,ARM会自动根据新槽位号从ROM中读取相应的FPGA程序,写入Flash,Flash再自动将程序加载至FPGA。
附图说明
图1 本发明控制计算机与FPGA板卡连接图。
图2 控制计算机程序工作流程图。
图3 ARM工作流程图。
具体实施方式
控制计算机与各待加载板卡之间的连接关系如图1所示。本发明所支持的FPGA板卡上需配有相应的ARM芯片以作为板卡的网络处理接口,同时也应配有一个可以支持多版本程序大小的铁电存储器(简称ROM)。控制计算机通过网络与各板卡上的ARM芯片相连,通过制定控制计算机与ARM芯片之间的网络协议完成多板卡、多版本批量网络加载功能。
控制计算机通过网线连接各FPGA板卡,控制计算机首先将所有程序根据其对应的槽位号排序后进行打包。之后会发出广播询问包,呼叫个FPGA模块。各FPGA模块的ARM芯片在收到呼叫后,会回应呼叫,并且将本地IP地址和MAC地址发送给控制计算机。控制计算机再根据网络协议将所有数据封装成一个完整的数据包。
封装完成之后,控制程序通过广播形式向各板卡发送数据。控制程序会将完整的程序包分段成若干网络分段数据包,在发送完每个网络分段数据包后,都将等待若干时间,等待各板卡上的ARM芯片发送确认包。如果控制计算机在等待时间内,未能收到某些地址回复的确认包,计算机就会将该地址从发送的目标地址中删除,并在后台进行记录,提示用户该节点程序未能成功加载,并且在下一次发送网络分段数据包之后将不再等待该地址回复的确认包。控制计算机在收到所有节点的确认包后,会继续分段发送打包数据。在所有数据发送完毕之后,控制计算机将广播发送结束包。控制计算机的工作流程图如图2所示。
板卡上ARM芯片的工作流程图如图3所示。板卡通电之后,ARM芯片将判断收到的网络包是否为广播询问包,如果是广播询问包,即将本地的IP地址与MAC地址打包为应答包回复给控制计算机。否则即为控制计算机发送的网络分段数据包,ARM芯片在收到网络分段数据包后将会立即给控制计算机回复确认包,表示已收到分段网络数据包,并将接收到的数据存入板载ROM内。控制计算机在发送数据包完成之后会发送结束包,ARM芯片收到该结束包之后,会从硬件读取本节点槽位号,并根据该槽位号将ROM上对应的数据,即本槽位的程序发送给FLASH,并且将本次的槽位号存储至ROM。如系统加电时从硬件读取的本节点槽位号与ROM中上次存储的槽位号相同,则ARM不会作出响应,如果不同,ARM则会根据本节点槽位号将ROM上对应的数据,即本槽位的程序发送给FLASH,并将本次槽位号储存至ROM。最终FLASH将自动把程序加载至FPGA上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七二四研究所,未经中国船舶重工集团公司第七二四研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410705542.9/2.html,转载请声明来源钻瓜专利网。





