一种配置多个FPGA的装置及方法与流程

文档序号:11250841阅读:2225来源:国知局
一种配置多个FPGA的装置及方法与流程

本发明涉及数据通信领域,尤其涉及fpga配置,具体涉及一种采用并行被动模式以不同配置文件分别配置多个fpga的装置及方法。



背景技术:

随着对数据处理的功能复杂度要求日益提高,多fpga的应用日益广泛。当多个fpga分别实现不同的功能时,各fpga的配置文件也不同。在配置效率方面,若要采用串行的方式实现多个fpga的不同配置,配置效率低,而较常用的配置多fpga的方法,由于过多的指令周期所带来的时延可能会导致配置数据传输不正确。



技术实现要素:

为解决上述问题,本发明提供一种采用并行被动模式以不同配置文件配置多个fpga的方法,能够实现不同配置文件的高效、准确、灵活加载。

本发明的技术方案是:一种配置多个fpga的装置,包括多个fpga,还包括外部控制电路,外部控制电路分别与每个fpga连接。

进一步地,所述外部控制电路为微处理器或cpld芯片。

进一步地,所述外部控制电路的data[7:0]引脚、clock引脚、read/write引脚、progarm_b引脚、init_b引脚、done引脚分别与每个fpga的d[7:0]引脚、cclk引脚、rdwr_b引脚、progarm_b引脚、init_b引脚、done引脚连接。

一种配置多个fpga的方法,包括外部控制电路和多个fpga;

还包括以下步骤:

s1:对每个fpga配置接口进行初始化;

s2:通过外部控制电路对每个fpga的配置信号进行加载数据前的准备操作;

s3:根据配置的顺序需要进行片选fpga,并进行相应配置文件的加载;

s4:任一fpga配置文件加载完成后,根据需要配置fpga的个数重复步骤s3;

s5:所有fpga均加载完相应的配置文件后,外部控制电路等待done信号变高,done信号变高后,配置完成。

进一步地,步骤s1中,初始化包括对数据管脚、信号管脚的初始化操作。

进一步地,步骤s2中,配置信号包括progarm_b信号、rdwr_b信号、init_b信号、cclk信号。

进一步地,步骤s2中进行加载数据前的准备操作具体包括以下步骤:

s2.1:通过外部控制电路给fpga时钟信号,然后给program_b信号一个周期的低电平,之后将其拉高,边给时钟信号边判断init_b信号是否为高,若为低则继续等待判断;

s2.2:init_b信号为高后,外部控制电路给fpga一个周期的时钟信号,然后将rdwr_b信号拉低,使其写使能,至此完成配置数据加载前的准备工作。

进一步地,步骤s3中进行相应配置文件的加载具体包括以下步骤:

s3.1:确定片选出的fpga的配置文件的存储位置;

s3.2:将存储的配置文件数据根据具体情况进行字节顺序的转换操作后,将其赋值给数据线相应的gpio寄存器,每赋值完一个字节,外部控制电路给fpga一个周期的时钟信号。

进一步地,步骤s5还包括:当所有fpga完成配置数据加载后,外部控制电路边给时钟信号边判断done信号是否变高,当done信号变高后,说明多个fpga均配置完成。

本发明提供的配置多个fpga的装置及方法,在数据加载方面,并非像传统方法一样对每个数据管脚进行依次赋值,而是直接向数据线相应的gpio寄存器进行赋值操作,这样不仅可以大大减少指令周期,而且避免了由于时延导致配置数据传输不正确的可能性,从而实现多fpga的准确、高效配置。且本发明可对多个fpga配置顺序进行灵活选择,从而实现多fpga的灵活配置。

附图说明

图1是本发明具体实施例配置多个fpga信号连接示意图。

图2是本发明具体实施例配置多个fpga的方法流程图。

具体实施方式

下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。

如图1所示,本发明提供的配置多个fpga的装置,包括多个fpga,还包括外部控制电路,外部控制电路分别与每个fpga连接,外部控制电路为微处理器或cpld芯片。外部控制电路的data[7:0]引脚、clock引脚、read/write引脚、progarm_b引脚、init_b引脚、done引脚分别与每个fpga的d[7:0]引脚、cclk引脚、rdwr_b引脚、progarm_b引脚、init_b引脚、done引脚连接。

如图2所示,本实施例以8位传输数据位宽,配置三个fpga为例对配置多个fpga的方法进一步说明。

本方法包括以下步骤:

s1:对每个fpga配置接口进行初始化;初始化包括对数据管脚、信号管脚的初始化操作;

s2:通过外部控制电路对每个fpga的配置信号进行加载数据前的准备操作;配置信号包括progarm_b信号、rdwr_b信号、init_b信号、cclk信号;

进行加载数据前的准备操作具体包括:

s2.1:通过外部控制电路给fpga时钟信号,然后给program_b信号一个周期的低电平,之后将其拉高,边给时钟信号边判断init_b信号是否为高,若为低则继续等待判断;

s2.2:init_b信号为高后,外部控制电路给fpga一个周期的时钟信号,然后将rdwr_b信号拉低,使其写使能,至此完成配置数据加载前的准备工作;

s3:根据配置的顺序需要进行片选fpga,并进行相应配置文件的加载;

进行相应配置文件的加载具体包括:

s3.1:确定片选出的fpga的配置文件的存储位置;

s3.2:将存储的配置文件数据根据具体情况进行字节顺序的转换操作后,将其赋值给数据线相应的gpio寄存器,每赋值完一个字节,外部控制电路给fpga一个周期的时钟信号;

s4:任一fpga配置文件加载完成后,根据需要配置fpga的个数重复步骤s3;

s5:所有fpga均加载完相应的配置文件后,外部控制电路等待done信号变高,done信号变高后,配置完成;在该步骤中,当所有fpga完成配置数据加载后,外部控制电路边给时钟信号边判断done信号是否变高,当done信号变高后,说明多个fpga均配置完成。

以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。



技术特征:

技术总结
本发明公开一种配置多个FPGA的装置及方法,包括外部控制电路和多个FPGA,以及,S1:对每个FPGA配置接口进行初始化;S2:通过外部控制电路对每个FPGA的配置信号进行加载数据前的准备操作;S3:根据配置的顺序需要进行片选FPGA,并进行相应配置文件的加载;S4:任一FPGA配置文件加载完成后,根据需要配置FPGA的个数重复步骤S3;S5:所有FPGA均加载完相应的配置文件后,外部控制电路等待done信号变高,done信号变高后,配置完成。本发明避免了由于时延导致配置数据传输不正确的可能性,实现多FPGA的准确、高效配置。

技术研发人员:朱书杉;杨树慧;李传忠;冯磊
受保护的技术使用者:山东超越数控电子有限公司
技术研发日:2017.03.28
技术公布日:2017.09.15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1