一种对多片目标FPGA编程的方法和装置制造方法及图纸

技术编号:14120859 阅读:95 留言:0更新日期:2016-12-08 14:02
本发明专利技术属于FPGA的技术领域,涉及一种对多片目标FPGA编程的方法和装置;其中,所述方法包括:确定所述多片目标FPGA中需要编程的目标FPGA,通过计算机生成相应的编程文件;将所述需要编程的目标FPGA对应的编程文件发送至所述主FPGA;向所述主FPGA发送启动编程命令和与所述需要编程的目标FPGA对应的使能信号;分别对所述目标FPGA进行编程,并且所述多片目标FPGA与所述主FPGA之间的通信方式从多种通信方式中选择其中至少一种。因此,采用上述技术方案,可以通过主FPGA实现与目标FPGA之间采用不同的通信协议,即可完成对不同类型目标器件编程;提高产品的应用范围。

【技术实现步骤摘要】

本专利技术涉及FPGA的
,尤其涉及一种对多片目标FPGA编程的方法和装置
技术介绍
FPGA,英文全称为Field-Programmable Gate Array,中文全称为现场可编程门阵列,它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA凭借着速度快、灵活性高、资源丰富等优点,在嵌入式系统中得到了越来越广泛的应用。为了实现一个复杂的控制系统,往往需要多片目标FPGA来实现,而对于多片目标FPGA构成的系统,其程序更新一般采用菊花链连接起来串行下载。专利技术人在实现本专利技术的过程中发现,菊花链连接起来的多个FPGA构成的系统中,存在用时较长缺点,而且如果菊花链上有一片FPGA故障,可能会导致其他的FPGA也不能加载成功;并且在下载时一般还需要将拆卸板卡,费时费力,而且有的场合不适合工作人员就地对FPGA编程。例如,在中国专利申请号为CN200610113841.9的专利中,公开了一种用CPU同时加载多片目标FPGA的方法,用于包括单片或多片目标FPGA及CPU的系统,该方法包括:步骤一,通过对多片目标FPGA的加载比特流文件进行合并处理生成一FPGA加载文件;步骤二,对所述CPU的地址总线进行逻辑扩展得到加载所述多片目标FPGA所需的寄存器和锁存器;及步骤三,所述CPU读取所述FPGA加载文件到所述CPU的扩展内存并通过控制所述寄存器和所述锁存器产生加载时序对所述多片目标FPGA或所述多片目标FPGA中一片FPGA进行加载。但是上述专利中的技术方案虽然加快了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之间分别采用点对点通信,并且所述多种通信方式包括SPI和JTAG;并且对所述目标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之间分别采用点对点通信,并且所述多种通信方式包括SPI和JTAG;并且对所述目标FPGA进行编程可以采用单独编程或者同时编程的方式进行。进一步地,所述主FPGA接收到所述需要编程的目标FPGA对应的编程文件,所述命令解析模块先对所述编程文件进行解析,并将解析后的编程文件,按照不同目标FPGA对应的地址,分别存储在与所述主FPGA连接的外部存储器中的不同区域中;所述下装管理调度模块根据所述使能信号分别调用相应的编程文件,对需要编程的目标FPGA进行编程。采用本专利技术提供的上述优选技术方案,可以至少获得以下有益效果中的一种:1、可以通过主FPGA实现与目标FPGA之间采用不同的通信协议,即可完成对不同类型目标器件编程;提高产品的应用范围。2、采用上述进一步优选的技术方案,可以更好监控目标FPGA编程的状态,即使编程过程中出现异常状态,也能及时知晓;避免后续的误操作。3、所述主FPGA和所述目标FPGA之间分别采用点对点通信,并且所述多种通信方式包括SPI和JTAG;并且对所述目标FPGA进行编程可以采用单独编程或者同时编程的方式进行。4、可以使用高速存储器,并利用FPGA数据处理速度快、并行操作的优势,实现不同目标FPGA的高速并行编程;而且被加载的各片FPGA相互独立,即可单片编程又能多片同时加载,而且可以完成针对不同类型FPGA的并行编程,提高系统的灵活性。专利技术的其它特征和优点将在随后的说明书中阐述,并且本文档来自技高网
...
一种对多片目标FPGA编程的方法和装置

【技术保护点】
一种对多片目标FPGA编程的方法,其特征在于,所述多片目标FPGA分别与主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之间的通信方式从多种通信方式中选择其中至少一种。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:查询所述需要编程的目标FPGA的编程进度和/或状态,并将所述需要编程的目标FPGA的编程进度和/或状态反馈至所述计算机。3.根据权利要求1所述的方法,其特征在于,所述计算机通过以太网的通信方式,将所述需要编程的目标FPGA对应的编程文件发送至所述主FPGA。4.根据权利要求1所述的方法,其特征在于,所述主FPGA和所述目标FPGA之间分别采用点对点通信,并且所述多种通信方式包括SPI和JTAG;并且对所述目标FPGA进行编程可以采用单独编程或者同时编程的方式进行。5.根据权利要求1所述的方法,其特征在于,所述主FPGA接收到所述需要编程的目标FPGA对应的编程文件,先对所述编程文件进行解析,并将解析后的编程文件,按照不同目标FPGA对应的地址,分别存储在与所述主FPGA连接的外部存储器中的不同区域中;并根据所述使能信号分别调用相应的编程文件,对需要编程的目标FPGA进行编程。6.一种对多片目标FPGA编程的装置,其特征在于,所述装置...

【专利技术属性】
技术研发人员:史雄伟江国进白涛陈乃奎张峰王成陈银杰
申请(专利权)人:北京广利核系统工程有限公司中国广核集团有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1