CN107168923A - 一种配置多个fpga的装置及方法 - Google Patents
一种配置多个fpga的装置及方法 Download PDFInfo
- Publication number
- CN107168923A CN107168923A CN201710192566.2A CN201710192566A CN107168923A CN 107168923 A CN107168923 A CN 107168923A CN 201710192566 A CN201710192566 A CN 201710192566A CN 107168923 A CN107168923 A CN 107168923A
- Authority
- CN
- China
- Prior art keywords
- fpga
- configuration
- control circuit
- external control
- pins
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7803—System on board, i.e. computer system on one or more PCB, e.g. motherboards, daughterboards or blades
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开一种配置多个FPGA的装置及方法,包括外部控制电路和多个FPGA,以及,S1:对每个FPGA配置接口进行初始化;S2:通过外部控制电路对每个FPGA的配置信号进行加载数据前的准备操作;S3:根据配置的顺序需要进行片选FPGA,并进行相应配置文件的加载;S4:任一FPGA配置文件加载完成后,根据需要配置FPGA的个数重复步骤S3;S5:所有FPGA均加载完相应的配置文件后,外部控制电路等待done信号变高,done信号变高后,配置完成。本发明避免了由于时延导致配置数据传输不正确的可能性,实现多FPGA的准确、高效配置。
Description
技术领域
本发明涉及数据通信领域,尤其涉及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均配置完成。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (9)
1.一种配置多个FPGA的装置,包括多个FPGA,其特征在于,还包括外部控制电路,外部控制电路分别与每个FPGA连接。
2.根据权利要求配置多个FPGA的装置,其特征在于,所述外部控制电路为微处理器或CPLD芯片。
3.根据权利要求1或2所述的配置多个FPGA的装置,其特征在于,所述外部控制电路的DATA[7:0]引脚、CLOCK引脚、READ/WRITE引脚、PROGARM_B引脚、INIT_B引脚、DONE引脚分别与每个FPGA的D[7:0]引脚、CCLK引脚、RDWR_B引脚、PROGARM_B引脚、INIT_B引脚、DONE引脚连接。
4.一种配置多个FPGA的方法,其特征在于,包括外部控制电路和多个FPGA;
还包括以下步骤:
S1:对每个FPGA配置接口进行初始化;
S2:通过外部控制电路对每个FPGA的配置信号进行加载数据前的准备操作;
S3:根据配置的顺序需要进行片选FPGA,并进行相应配置文件的加载;
S4:任一FPGA配置文件加载完成后,根据需要配置FPGA的个数重复步骤S3;
S5:所有FPGA均加载完相应的配置文件后,外部控制电路等待done信号变高,done信号变高后,配置完成。
5.根据权利要求4所述的配置多个FPGA的方法,其特征在于,步骤S1中,初始化包括对数据管脚、信号管脚的初始化操作。
6.根据权利要求4所述的配置多个FPGA的方法,其特征在于,步骤S2中,配置信号包括PROGARM_B信号、RDWR_B信号、INIT_B信号、CCLK信号。
7.根据权利要求6所述的配置多个FPGA的方法,其特征在于,步骤S2中进行加载数据前的准备操作具体包括以下步骤:
S2.1:通过外部控制电路给FPGA时钟信号,然后给PROGRAM_B信号一个周期的低电平,之后将其拉高,边给时钟信号边判断INIT_B信号是否为高,若为低则继续等待判断;
S2.2:INIT_B信号为高后,外部控制电路给FPGA一个周期的时钟信号,然后将RDWR_B信号拉低,使其写使能,至此完成配置数据加载前的准备工作。
8.根据权利要求4所述的配置多个FPGA的方法,其特征在于,步骤S3中进行相应配置文件的加载具体包括以下步骤:
S3.1:确定片选出的FPGA的配置文件的存储位置;
S3.2:将存储的配置文件数据根据具体情况进行字节顺序的转换操作后,将其赋值给数据线相应的GPIO寄存器,每赋值完一个字节,外部控制电路给FPGA一个周期的时钟信号。
9.根据权利要求4所述的配置多个FPGA的方法,其特征在于,步骤S5还包括:当所有FPGA完成配置数据加载后,外部控制电路边给时钟信号边判断done信号是否变高,当done信号变高后,说明多个FPGA均配置完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710192566.2A CN107168923A (zh) | 2017-03-28 | 2017-03-28 | 一种配置多个fpga的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710192566.2A CN107168923A (zh) | 2017-03-28 | 2017-03-28 | 一种配置多个fpga的装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107168923A true CN107168923A (zh) | 2017-09-15 |
Family
ID=59848779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710192566.2A Pending CN107168923A (zh) | 2017-03-28 | 2017-03-28 | 一种配置多个fpga的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107168923A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908823A (zh) * | 2017-10-23 | 2018-04-13 | 北京中电华大电子设计有限责任公司 | 一种存储多个fpga文件的装置及加载方法 |
CN114238207A (zh) * | 2021-12-09 | 2022-03-25 | 讯牧信息科技(上海)有限公司 | 多片fpga的配置方法和多片fpga系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593169A (zh) * | 2008-05-30 | 2009-12-02 | 国际商业机器公司 | 可配置逻辑阵列的配置管理器和配置方法 |
CN103927279A (zh) * | 2013-01-16 | 2014-07-16 | 京信通信系统(中国)有限公司 | Fpga配置方法及系统、处理器 |
CN106547716A (zh) * | 2016-11-01 | 2017-03-29 | 中国人民解放军国防科学技术大学 | 一种面向低管脚数的扩展总线配置系统及方法 |
-
2017
- 2017-03-28 CN CN201710192566.2A patent/CN107168923A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593169A (zh) * | 2008-05-30 | 2009-12-02 | 国际商业机器公司 | 可配置逻辑阵列的配置管理器和配置方法 |
CN103927279A (zh) * | 2013-01-16 | 2014-07-16 | 京信通信系统(中国)有限公司 | Fpga配置方法及系统、处理器 |
CN106547716A (zh) * | 2016-11-01 | 2017-03-29 | 中国人民解放军国防科学技术大学 | 一种面向低管脚数的扩展总线配置系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908823A (zh) * | 2017-10-23 | 2018-04-13 | 北京中电华大电子设计有限责任公司 | 一种存储多个fpga文件的装置及加载方法 |
CN114238207A (zh) * | 2021-12-09 | 2022-03-25 | 讯牧信息科技(上海)有限公司 | 多片fpga的配置方法和多片fpga系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273329B (zh) | 虚拟gpio | |
US8296469B2 (en) | Scalable method and apparatus for link with reconfigurable ports | |
CN105051706B (zh) | 用于具有pcie协议栈的低功率phy的操作的设备、方法和系统 | |
CN101627376B (zh) | 用于无需sas扩展器的改进的sata设备交互的装置和方法 | |
CN103454996A (zh) | 主从机系统及其控制方法 | |
US20210011875A1 (en) | Configuration via high speed serial link | |
CN103559152A (zh) | 基于pcie协议的cpu访问本地总线的装置及方法 | |
CN102262604B (zh) | 一种并发访问方法、系统及接口装置 | |
US9043528B2 (en) | Bridge between a peripheral component interconnect express interface and a universal serial bus 3.0 device | |
CN106250340A (zh) | 一种硬件控制电路及其控制方法 | |
CN107678988A (zh) | 一种多功能串口装置及实现方法 | |
CN107111564A (zh) | 用于对连接器进行串接的适配器 | |
CN102866979A (zh) | 一种同步串行接口信号传感器数据采集装置 | |
CN103098039A (zh) | 高速外围器件互连总线端口配置方法及设备 | |
CN107168923A (zh) | 一种配置多个fpga的装置及方法 | |
CN106302071A (zh) | 一种适配器、网络设备以及端口配置的方法 | |
US6459297B1 (en) | System for programming field programmable devices | |
CN117278890B (zh) | 光模块访问方法、装置、系统、电子设备及可读存储介质 | |
CN107506323A (zh) | 一种热插拔处理方法及装置 | |
CN113946480A (zh) | 一种i2c总线的检测装置和方法 | |
CN206757602U (zh) | 一种基于SoC支持多个SPI接口标准组的装置 | |
CN104050121A (zh) | 双收双发可编程arinc429通讯接口芯片 | |
Szecówka et al. | USB receiver/transmitter for FPGA implementation | |
CN103488601B (zh) | 一种时钟延时、数据访问方法、系统及设备 | |
CN102929828B (zh) | 同时支持标准和非标准i2c接口的数据传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170915 |
|
RJ01 | Rejection of invention patent application after publication |