CN107255975A - 一种利用高速总线实现fpga程序快速加载的装置及方法 - Google Patents

一种利用高速总线实现fpga程序快速加载的装置及方法 Download PDF

Info

Publication number
CN107255975A
CN107255975A CN201710600888.6A CN201710600888A CN107255975A CN 107255975 A CN107255975 A CN 107255975A CN 201710600888 A CN201710600888 A CN 201710600888A CN 107255975 A CN107255975 A CN 107255975A
Authority
CN
China
Prior art keywords
loaded
fpga
module
interface
speed bus
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
Application number
CN201710600888.6A
Other languages
English (en)
Other versions
CN107255975B (zh
Inventor
罗李焱
苏敏
舒鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 2 Research Institute
Southwest China Research Institute Electronic Equipment
Original Assignee
CETC 2 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 2 Research Institute filed Critical CETC 2 Research Institute
Priority to CN201710600888.6A priority Critical patent/CN107255975B/zh
Publication of CN107255975A publication Critical patent/CN107255975A/zh
Application granted granted Critical
Publication of CN107255975B publication Critical patent/CN107255975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种利用高速总线实现FPGA程序快速加载的装置及方法,涉及FPGA动态加载与远程配置领域。本发明技术要点:包括上位机、电源、母板、FPGA下载器、控制器模块以及待加载模块;所述待加载模块中包含至少一个FPGA;所述电源通过电源供电线与母板上的电源连接器连接;上位机的网口、串口分别与母板上的信号连接器连接;控制器模块与母板上的控制器模块接口连接,待加载模块与母板上的待加载模块接口连接;上位机的USB接口通过FPGA下载器与待加载模块的JTAG接口连接等。

Description

一种利用高速总线实现FPGA程序快速加载的装置及方法
技术领域
本发明涉及FPGA动态加载与远程配置领域,尤其是一种利用高速总线实现FPGA程序快速加载的方法。
背景技术
FPGA(Field Programmable Gate Array)是基于SRAM的现场可编程逻辑器件,作为现代电子系统的核心,已广泛应用于电子技术的各个领域,特别是数字通讯、数据处理、自动控制、精密仪器仪表等实时性要求高的应用领域。伴随着现代化通信系统复杂程度的不断提升,FPGA配置处理文件愈来愈大,相应的加载时间愈来愈长,直接影响到系统的开启时间。
然而,传统的FPGA程序加载方法是采用JTAG模式,将配置数据下载至FPGA对应的FLASH存储芯片中。JTAG(IEEE1149.1标准)是为了解决复杂电路难于整板测试以及表面贴装技术带来的有限测试引脚等问题而提出的一种标准。JTAG边界扫描测试系统的体系结构包括4个外部测试访问端口:测试数据输入端口TDI、测试数据输出端口TDO、测试时钟TCK、测试方式选择TMS。JTAG时钟TCK的频率最高可设置为12Mbps,这种方式加载一个30MB大小的配置文件至1片FLASH中,需要30min左右,如果加载4个或更多FPGA,则至少需要花费2h,这种加载模式严重制约柔性生产线模块的生产效率。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供一种利用高速总线实现FPGA程序快速加载的装置及方法,操作方便,加载一个30MB大小的配置文件大约需要3min,极大的提升了FPGA程序加载效率。
本发明提供的一种利用高速总线实现FPGA程序快速加载的装置,包括:上位机、电源、母板、FPGA下载器、控制器模块以及待加载模块;
所述待加载模块中包含至少一个FPGA;
母板上设置有电源连接器、信号连接器、控制器模块接口以及待加载模块接口;控制器模块接口与待加载模块接口之间具有第一类高速总线连接;信号连接器与控制器模块接口具有信号连接;电源连接器与控制器模块接口及待加载模块接口均具有电源线连接;
所述电源通过电源供电线与母板上的电源连接器连接;上位机的网口、串口分别与母板上的信号连接器连接;
控制器模块与母板上的控制器模块接口连接,待加载模块与母板上的待加载模块接口连接;
上位机的USB接口通过FPGA下载器与待加载模块的JTAG接口连接。
进一步,所述待加载模块包括多个FPGA,其中第一FPGA通过所述第一类高速总线与控制器模块连接;第一FPGA分别通过第二类高速总线与其余FPGA连接。
进一步,所述第一类高速总线为SRIO总线。
进一步,所述控制器模块为PowerPC模块。
进一步,所述第二类高速总线为LVDS总线;在第一FPGA与其余任意一个FPGA之间的LVDS总线均包括上行LVDS总线与下行LVDS总线。
进一步,所述串口RS232口。
本发明还提供了一种基于前述装置的方法,包括:
步骤1:上位机通过网口、母板上的信号连接器将待加载文件存储到所述控制器模块中;
步骤2:上位机通过USB接口、FPGA下载器、JTAG接口向待加载模块下发用于配置传输通道的.bit文件,从而建立快速加载文件传输通道;
步骤3:上位机通过串口、母板上的信号连接器向控制器模块发送加载指令;
步骤4:控制器模块将所述待加载文件通过第一类高速总线传输给待加载模块中的FPGA。
待加载模块中包括多个FPGA;步骤2进一步包括:上位机通过USB接口、FPGA下载器、JTAG接口向待加载模块以批处理命令的方式下发多个用于配置传输通道的.bit文件,将多个.bit文件分别加载至待加载模块的各FPGA内部,从而建立快速加载文件传输通道。
步骤4进一步包括:
步骤41:控制器模块将多个待加载文件通过第一类高速总线传输给待加载模块中的第一FPGA;
步骤42:所述第一FPGA通过第二类高速总线将其余FPGA的待加载文件传输给对应的FPGA。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明通过网口,控制器模块及待加载模块之间的高速总线实现了FPGA配置文件的高效快速加载,克服了通过JTAG口进行FPGA配置文件加载速率极慢的弊端。
本发明中的待加载模块中的多个FPGA采用星型总线拓扑结果,进一步提高了加载多个FPGA的速度。
本发明操作简单方便,极大的提高了FPGA的程序加载效率,对柔性生产线而言,产生了可观的社会经济效益。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为本发明一种利用高速总线实现FPGA程序快速加载的方法硬件实现示意图。
图2为本发明FPGA程序快速加载星型总线拓扑结构图。
图中标记:上位机1、PowerPC模块2、待加载模块3、母板4、信号连接器5、电源连接器6、电源供电线7、电源8、RS232控制线9、网线10、网口11、RS232口12、USB口13、FPGA下载器14、JTAG接口15。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
如图1所示,本发明的一个具体实施系统包括:上位机1、PowerPC模块2、待加载模块3、母板4、电源供电线7、电源8、RS232控制线9、网线10、网口11、RS232口12、USB口13。
在母板4上,母板上设置有电源连接器6、信号连接器5、控制器模块接口以及待加载模块接口。控制器模块接口与待加载模块接口之间具有第一类高速总线连接;信号连接器与控制器模块接口具有信号连接;电源连接器与控制器模块接口及待加载模块接口均具有电源线连接。
所述待加载模块3插入母板4的待加载模块接口中,PowerPC模块2插入母板4的控制模块接口中。电源8通过电源供电线7连接至电源连接器6,网口11通过网线10连接至信号连接器5,RS232口12通过RS232控制线9连接至信号连接器5,FPGA下载器14一端连接至上位机的USB口13,另一端连接至待加载模块3的JTAG接口15。
在其他实施例中,RS232口可以替换为其他类型的串口。PowerPC模块可替换为其他控制器模块。
待加载模块3中的FPGA数量可以是单个也可以是多个,这个根据用户的需求而定。
本实施例中的待加载模块3为高速数字电路板,内部包含4片Xilinx公司的V6系列FPGA,每片FPGA挂载分别挂载一片512M的FLASH;4片FPGA的连接关系参见图2,其中一片FPGA通过所述第一类高速总线与PowerPC模块2连接;该FPGA再分别通过第二类高速总线与其余FPGA连接。优选的,第一类高速总线为SRIO总线。第二类高速总线为LVDS总线。在所述一片FPGA与其余任意一个FPGA之间的LVDS总线均包括2对上行LVDS总线与2对下行LVDS总线,分别用于传输下行时钟、下行数据、上行时钟和上行数据。
所述PowerPC模块2内部包括2个处理器,处理器之间采用速率为3.125Gbps的SRIO总线通信,每个处理器分别配置容量为1G的双通道DDR2 SDRM。
本发明提供的基于上述硬件结构的加载方法包括以下步骤:
步骤S1:上位机通过网口、母板上的信号连接器将待加载文件存储到所述控制器模块中。
具体的为,打开上位机的FTP软件,设置PowerPC模块2的IP地址,使用FTP登陆PowerPC模块2,通过FTP工具将4个待加载的.bin文件写入PowerPC模块2的DDR2存储器中。
步骤S2:上位机通过USB接口、FPGA下载器、JTAG接口向待加载模块3下发用于配置传输通道的.bit文件,从而建立快速加载文件传输通道。
在单片FPGA的实施例中,快速加载文件传输通道由PowerPC模块2和待加载模块3快速加载通道利用1组SRIO来实现。具体的在多片FPGA的实施例中,将4个.bit文件以批处理指令的方式传输到待加载模块3中,分别加载至4片FPGA内部,建立快速加载文件传输通道。其中,PowerPC模块2和待加载模块3快速加载通道利用1组SRIO来实现;待加载模块3内部4个FPGA之间的快速加载通道采用4对LVDS总线来实现。
第一片FPGA传输通道的建立是利用硬件设计语言实现与PowerPC模块2的SRIO数据的接收,SRIO内核接收到.bin数据后,通过LVDS传输模块,将数据分别传输到其余的FPGA内部的LVDS传输模块;第一片FPGA接收到该加载至自身FLASH的.bin文件,通过其内部FLASH配置内核将.bin文件固化至与其连接的FLASH中,同理,其他FPGA接收到自身的.bin文件,也将通过其内部的FLASH内核将.bin文件固化至与其连接的FLASH中。
.bin文件的作用是配置各个FPGA,使其能按照一定的传输协议及数据发送方向传输待加载文件。
步骤S3:上位机通过串口、母板上的信号连接器向PowerPC模块2发送加载指令。
步骤S4:PowerPC模块2将所述待加载文件通过第一类高速总线传输给待加载模块中的FPGA。
具体的,先将PowerPC模块2保存的.bin文件写入到待加载模块3的一片FPGA对应的FLASH存储器中,该FPGA再根据待加载文件的FPGA号通过LVDS总线加载到对应的FPGA的FLASH存储器中。
所述加载至待加载模块3内部4片FLASH芯片中的配置文件格式为.bin文件,由ISE软件自动生成,每片FLASH加载的.bin文件不相同。
为了验证本发明能够利用高速总线实现FPGA程序快速加载,克服传统通过JTAG接口15进行加载速率慢的弊端。
首先按照利本发明方法对待加载模块3进行加载操作后,手动关闭电源8,然后再打开电源8,系统上电后,FPGA自动从FLASH中读取配置数据完成配置。
然后打开Xilinx公司的ChipScope软件,利用JTAG扫链的方式查看到FPGA已经完成系统配置,处在正常工作状态。上述校验结果,验证了本发明利用高速总线实现FPGA程序快速加载高效性、正确性、有效性。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

Claims (9)

1.一种利用高速总线实现FPGA程序快速加载的装置,其特征在于,包括:上位机、电源、母板、FPGA下载器、控制器模块以及待加载模块;
所述待加载模块中包含至少一个FPGA;
母板上设置有电源连接器、信号连接器、控制器模块接口以及待加载模块接口;控制器模块接口与待加载模块接口之间具有第一类高速总线连接;信号连接器与控制器模块接口具有信号连接;电源连接器与控制器模块接口及待加载模块接口均具有电源线连接;
所述电源通过电源供电线与母板上的电源连接器连接;上位机的网口、串口分别与母板上的信号连接器连接;
控制器模块与母板上的控制器模块接口连接,待加载模块与母板上的待加载模块接口连接;
上位机的USB接口通过FPGA下载器与待加载模块的JTAG接口连接。
2.根据权利要求1所述的一种利用高速总线实现FPGA程序快速加载的装置,其特征在于,所述待加载模块包括多个FPGA,其中第一FPGA通过所述第一类高速总线与控制器模块连接;第一FPGA分别通过第二类高速总线与其余FPGA连接。
3.根据权利要求1所述的一种利用高速总线实现FPGA程序快速加载的装置,其特征在于,所述第一类高速总线为SRIO总线。
4.根据权利要求1所述的一种利用高速总线实现FPGA程序快速加载的装置,其特征在于,所述控制器模块为PowerPC模块。
5.根据权利要求1所述的一种利用高速总线实现FPGA程序快速加载的装置,其特征在于,所述第二类高速总线为LVDS总线;在第一FPGA与其余任意一个FPGA之间的LVDS总线均包括上行LVDS总线与下行LVDS总线。
6.根据权利要求1所述的一种利用高速总线实现FPGA程序快速加载的装置,其特征在于,所述串口RS232口。
7.一种基于权利要求1~6中任意一项装置的方法,其特征在于,包括:
步骤1:上位机通过网口、母板上的信号连接器将待加载文件存储到所述控制器模块中;
步骤2:上位机通过USB接口、FPGA下载器、JTAG接口向待加载模块下发用于配置传输通道的.bit文件,从而建立快速加载文件传输通道;
步骤3:上位机通过串口、母板上的信号连接器向控制器模块发送加载指令;
步骤4:控制器模块将所述待加载文件通过第一类高速总线传输给待加载模块中的FPGA。
8.根据权利要求7所述的方法,其特征在于,待加载模块中包括多个FPGA;
步骤2进一步包括:上位机通过USB接口、FPGA下载器、JTAG接口向待加载模块以批处理命令的方式下发多个用于配置传输通道的.bit文件,将多个.bit文件分别加载至待加载模块内部的各FPGA内部,从而建立快速加载文件传输通道。
9.根据权利要求8所述的方法,其特征在于,步骤4进一步包括:
步骤41:控制器模块将多个待加载文件通过第一类高速总线传输给待加载模块中的第一FPGA;
步骤42:所述第一FPGA通过第二类高速总线将其余FPGA的待加载文件传输给对应的FPGA。
CN201710600888.6A 2017-07-21 2017-07-21 一种利用高速总线实现fpga程序快速加载的装置及方法 Active CN107255975B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710600888.6A CN107255975B (zh) 2017-07-21 2017-07-21 一种利用高速总线实现fpga程序快速加载的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710600888.6A CN107255975B (zh) 2017-07-21 2017-07-21 一种利用高速总线实现fpga程序快速加载的装置及方法

Publications (2)

Publication Number Publication Date
CN107255975A true CN107255975A (zh) 2017-10-17
CN107255975B CN107255975B (zh) 2020-03-27

Family

ID=60026474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710600888.6A Active CN107255975B (zh) 2017-07-21 2017-07-21 一种利用高速总线实现fpga程序快速加载的装置及方法

Country Status (1)

Country Link
CN (1) CN107255975B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669704A (zh) * 2018-12-17 2019-04-23 西南电子技术研究所(中国电子科技集团公司第十研究所) 远程传输加载多节点fpga程序加载管理电路
CN113312098A (zh) * 2020-04-01 2021-08-27 阿里巴巴集团控股有限公司 程序加载方法、设备、系统及存储介质
CN114924808A (zh) * 2022-05-12 2022-08-19 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880573A (zh) * 2012-09-04 2013-01-16 武汉邮电科学研究院 一种基于Linux系统的串行RapidIo数据传输方法
CN103729222A (zh) * 2013-12-30 2014-04-16 大唐移动通信设备有限公司 一种配置文件的加载装置与方法
CN104133705A (zh) * 2014-07-31 2014-11-05 武汉邮电科学研究院 一种串口加载PowerPC系统引导文件的系统及方法
CN104243174A (zh) * 2014-10-10 2014-12-24 沈辉 基于vpx总线的网络和srio数据交换板及控制方法
CN104363169A (zh) * 2014-11-24 2015-02-18 中国电子科技集团公司第二十九研究所 一种基于RapidIO消息模式的数据动态路由系统及方法
US20160210138A1 (en) * 2013-06-27 2016-07-21 Raytheon Company Runtime creation, assignment, deployment and updating of arbitrary radio waveform techniques for a radio waveform generation device
CN106201629A (zh) * 2016-07-22 2016-12-07 北京广利核系统工程有限公司 一种对多片目标fpga编程的方法和装置
WO2017041567A1 (zh) * 2015-09-07 2017-03-16 武汉精测电子技术股份有限公司 基于软核处理器的fpga多镜像升级加载方法及装置
CN106557447A (zh) * 2016-11-29 2017-04-05 中国电子科技集团公司第二十九研究所 一种通用总线接口转换与预处理装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880573A (zh) * 2012-09-04 2013-01-16 武汉邮电科学研究院 一种基于Linux系统的串行RapidIo数据传输方法
US20160210138A1 (en) * 2013-06-27 2016-07-21 Raytheon Company Runtime creation, assignment, deployment and updating of arbitrary radio waveform techniques for a radio waveform generation device
CN103729222A (zh) * 2013-12-30 2014-04-16 大唐移动通信设备有限公司 一种配置文件的加载装置与方法
CN104133705A (zh) * 2014-07-31 2014-11-05 武汉邮电科学研究院 一种串口加载PowerPC系统引导文件的系统及方法
CN104243174A (zh) * 2014-10-10 2014-12-24 沈辉 基于vpx总线的网络和srio数据交换板及控制方法
CN104363169A (zh) * 2014-11-24 2015-02-18 中国电子科技集团公司第二十九研究所 一种基于RapidIO消息模式的数据动态路由系统及方法
WO2017041567A1 (zh) * 2015-09-07 2017-03-16 武汉精测电子技术股份有限公司 基于软核处理器的fpga多镜像升级加载方法及装置
CN106201629A (zh) * 2016-07-22 2016-12-07 北京广利核系统工程有限公司 一种对多片目标fpga编程的方法和装置
CN106557447A (zh) * 2016-11-29 2017-04-05 中国电子科技集团公司第二十九研究所 一种通用总线接口转换与预处理装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
季磊: "一种SRIO多接口互联系统的FPGA实现方法", 《电子技术》 *
张玄: "利用CPLD实现FPGA的快速加载", 《现代电子技术》 *
彭冰: "基于共用总线的多片FPGA配置电路的设计与实现", 《中国新通信》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669704A (zh) * 2018-12-17 2019-04-23 西南电子技术研究所(中国电子科技集团公司第十研究所) 远程传输加载多节点fpga程序加载管理电路
CN113312098A (zh) * 2020-04-01 2021-08-27 阿里巴巴集团控股有限公司 程序加载方法、设备、系统及存储介质
CN113312098B (zh) * 2020-04-01 2022-08-12 阿里巴巴集团控股有限公司 程序加载方法、设备、系统及存储介质
CN114924808A (zh) * 2022-05-12 2022-08-19 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法

Also Published As

Publication number Publication date
CN107255975B (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
CN202870808U (zh) 一种spi串口模块的fpga实现装置
US8386980B2 (en) Integrated circuits design
CN102222032B (zh) 一种1394总线的故障注入装置的故障注入方法
US8281280B2 (en) Method and apparatus for versatile controllability and observability in prototype system
CN101770417B (zh) 基于jtag的硬件故障注入系统及故障注入方法
CN107255975A (zh) 一种利用高速总线实现fpga程序快速加载的装置及方法
US7647476B2 (en) Common analog interface for multiple processor cores
KR20170133393A (ko) 멀티-다이 패키지들에서의 통신을 위한 방법 및 회로들
US9971644B2 (en) Serial I/O functional tester
CN107194257A (zh) 一种基于国产tcm芯片的可信系统
CN109656856A (zh) 利用fpga实现非复用总线与复用总线互联装置及方法
CN105892359A (zh) 一种多dsp并行处理系统及其处理方法
CN110515879B (zh) 一种异步传输装置及其传输方法
CN116930730B (zh) 一种灵活配置片内扫描链的互连测试结构
CN104461796B (zh) 用于嵌入式8051cpu的jtag调试模块及调试方法
CN101976216B (zh) 基于ieee 1500标准的ip核测试结构及测试方法
CN204376929U (zh) 基于以太网总线的多异步数据口并行测试卡
WO2022266959A1 (zh) 一种芯片测试电路和方法
US11092647B2 (en) Programmable integrated circuit with internal diagnostic hardware
CN107577216A (zh) 一种在fpga平台上片外抓取调试信号的方法
CN100518436C (zh) 高速印刷电路板中传输线的布线架构
KR20230086687A (ko) 고속 기능 프로토콜 기반 테스트 및 디버그
WO2014059616A1 (zh) 加载方法、装置和系统
US20050283693A1 (en) Multi-chip digital system signal identification method and apparatus
CN113033134A (zh) 多业务板间触发信号同步系统、同步方法及半导体测试设备

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
GR01 Patent grant
GR01 Patent grant