CN208589013U - 一种基于cpu通过jtag方式远程更新fpga的装置 - Google Patents
一种基于cpu通过jtag方式远程更新fpga的装置 Download PDFInfo
- Publication number
- CN208589013U CN208589013U CN201821323891.4U CN201821323891U CN208589013U CN 208589013 U CN208589013 U CN 208589013U CN 201821323891 U CN201821323891 U CN 201821323891U CN 208589013 U CN208589013 U CN 208589013U
- Authority
- CN
- China
- Prior art keywords
- fpga
- cpu
- interface
- jtag
- bridge
- 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.)
- Active
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本实用新型涉及一种基于CPU通过JTAG方式远程更新FPGA的装置,包括FPGA设备、控制主板及远程终端机,FPGA设备包括相互连接的FPGA和FLASH,控制主板包括CPU、PCIE桥、硬盘和South Bridge,PCIE桥分别与CPU、硬盘和South Bridge连接,远程终端机包括相互连接的上位主机和输入显示器,上位主机通过以太网与CPU通信连接以将更新文件传输至CPU,South Bridge引出GPIO接口,FPGA引出JTAG接口,GPIO接口与JTAG接口相连,使得FPGA与CPU通信连接以接收CPU的更新文件并进行更新。本实用新型通过CPU的PCIe接口扩展引出外围PCIe和PCI桥设备,并利用该桥设备的GPIO接口模拟实现FPGA的JTAG时序,如此就可以借助网络接口将更新文件传给申威处理器平台,然后通过JTAG接口将更新文件烧写进FPGA中,进而实现FPGA代码的远程更新。
Description
技术领域
本实用新型涉及可编辑片上系统配置技术领域,特别是涉及一种基于CPU通过JTAG方式远程更新FPGA的装置。
背景技术
目前,市面上随着FPGA的用量需求越来越大,应用范围越来越广,一般的更新及调试方式已经不能满足客户需求。
传统的更新FPGA代码的方式是借助各FPGA厂家的JTAG烧写器连接FPGA的JTAG接口,再借助各FPGA厂家提供的专用烧写软件将所需更新的FPGA逻辑代码烧写进FPGA当中,这样的烧写过程繁琐且依赖于烧写器和专用烧写软件而无法远程更新FPGA程序。
基于上述传统烧写FPGA方式,有些FPGA设备已安装在用户的整机内部或者在密闭环境中不便打开设备进行FPGA更新,此时一旦遇到为解决或调试某问题而需要更新FPGA程序时,如果采用传统烧写方式会遇到较大困难且费时费力。因此,用户对FPGA的远程更新需求也日益迫切。
而且,相当一部分用户所用FPGA开发的设备结构和设计已定型,而最初设计只预留了FPGA的JTAG接口供外部烧写更新用,因此,FPGA的远程烧写更新只能采用JTAG接口的方式,迫切需要一种采用JTAG接口的方式实现的FPGA的更新方案,以兼容用户的原有方案设计。
为此,研究人员提供了以下设计方案:
将FPGA和CPU通过多路选择开关(或缓冲器模块)一起与FPGA外接的Flash存储器连接,可以通过CPU操作多路选择开关来控制存储器与FPGA还是与CPU相连;当需要远程更新FPGA程序时,CPU通过选择开关与存储器相连,进而更新存储器中的FPGA烧写文件;更新完成后,CPU通过操作多路选择开关断开CPU与存储器的连接,并将存储器与FPGA连接,CPU在通知FPGA从外接存储器中加载更新后的烧写文件,进而实现FPGA的远程升级更新。
但是,这种解决方案需要在CPU和FPGA之间增加额外的多路选择开关和相应电路。这样才能实现在更新FPGA程序时,可借助多路选择开关将CPU与FPGA外接的存储器连接更新程序,在程序更新完成之后,需要控制多路选择开关断开CPU与存储器的连接,而将FPGA与存储器直接相连,最后控制FPGA加载存储器中更新的FPGA程序,因此实现逻辑比较繁琐,在频繁更新FPGA程序时,且多路选择开关的转换实现容易出错,增加了不稳定因素。目前很多用户已定型的FPGA外设卡等设备没有考虑多路选择开关等电路,只保留了更新FPGA所需的JTAG调试接口,因此如果用现有技术则必然导致用户FPGA外设卡的改版,需重新改版来额外增加相应开关电路,进而导致实现成本高且实现的时间周期较长,影响了用户将产品快速推向市场的时间进度。
实用新型内容
本实用新型的目的在于提供一种基于CPU通过JTAG方式远程更新FPGA的装置,基于CPU通过JTAG接口远程更新FPGA逻辑代码,确保在不改动用户定型产品设计的前提下实现FPGA程序的无缝升级更新。
为了实现上述目的,本实用新型提供了以下技术方案:
本实用新型提供的一种基于CPU通过JTAG方式远程更新FPGA的装置,包括FPGA设备、控制主板及远程终端机,FPGA设备包括相互连接的FPGA和FLASH,控制主板包括CPU、PCIE桥和South Bridge,PCIE桥分别与CPU和South Bridge连接,远程终端机包括相互连接的上位主机和输入显示器,上位主机通过以太网与CPU通信连接以将更新文件传输至CPU,South Bridge引出GPIO接口,FPGA引出JTAG接口,GPIO接口与JTAG接口相连,使得FPGA与CPU通信连接以接收CPU的更新文件并进行更新。
其中,CPU操作GPIO接口的控制时序以模拟标准JTAG接口,使得GPIO接口与JTAG接口相连通以传输数据。
进一步地,CPU引出网络接口以通过以太网连接上位主机。
进一步地,CPU引出PCIEx8接口以连接PCIE桥。
进一步地,PCIE桥扩展引出多路PCIEx1接口。
进一步地,控制主板配置有SATA控制芯片,PCIE桥通过PCIEx1接口引出SATA控制芯片。
作为一选项,控制主板还包括硬盘,PCIE桥通过PCIEx1接口引出硬盘。
进一步地,PCIE桥通过一路PCIEx1接口引出South Bridge。
进一步地,FPGA设备、控制主板及远程终端机分别配置有供电电源。
进一步地,该装置中,CPU为申威CPU,上位主机为PC上位主机或移动终端上位主机。
该装置中,CPU接收需要烧写的更新文件,将更新文件经PCIE桥传输至SouthBridge;CPU控制操作GPIO接口的控制时序形成模拟JTAG接口,South Bridge将更新文件及控制指令经模拟JTAG接口传输至FPGA;FPGA接收更新文件及控制指令,按控制指令运行更新,并返回反馈数据。
该装置中,CPU根据JTAG协议标准控制操作南桥的GPIO接口来模拟出标准JTAG的控制时序输出,然后,先软复位FPGA的TAP控制器接口,TAP复位之后模拟标准JTAG操作GPIO的控制时序,以发出更新文件及控制指令到FPGA及接收FPGA的反馈数据。
与现有技术相比,本实用新型具有以下优点:
本实用新型的一种基于CPU通过JTAG方式远程更新FPGA的装置,通过CPU的PCIe接口扩展引出外围PCIe和PCI桥设备,并利用该桥设备的GPIO接口模拟实现FPGA的JTAG时序,如此远程PC等调试设备就可以借助网络接口将所需更新的FPGA文件传给申威处理器平台,然后通过JTAG接口将FPGA文件烧写进FPGA中,进而实现FPGA代码的远程更新;解决了现有FPGA代码的远程更新所遇到的接口复杂、实现逻辑复杂、实现成本高和实现周期长的问题。
下面通过附图和实施例,对本实用新型的技术方案做进一步的详细描述。
附图说明
图1为本实用新型的硬件原理框图;
图2为本实用新型的方法流程图;
图3为本实用新型的FPGA配置逻辑框图。
具体实施方式
以下结合附图对本实用新型的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本实用新型,并不用于限定本实用新型。
实施例1
如图1所示,本实施例提供的一种基于CPU通过JTAG方式远程更新FPGA的装置,包括FPGA设备、控制主板及远程终端机,FPGA设备包括相互连接的FPGA和FLASH,控制主板包括CPU、PCIE桥和South Bridge,PCIE桥分别与CPU和South Bridge连接,远程终端机包括相互连接的上位主机和输入显示器,上位主机通过以太网与CPU通信连接以将更新文件传输至CPU,South Bridge引出GPIO接口,FPGA引出JTAG接口,GPIO接口与JTAG接口相连,使得FPGA与CPU通信连接以接收CPU的更新文件并进行更新。
其中,CPU操作GPIO接口的控制时序以模拟标准JTAG接口,使得GPIO接口与JTAG接口相连通以传输数据。
CPU引出网络接口以通过以太网连接上位主机。
CPU引出PCIEx8接口以连接PCIE桥。
PCIE桥扩展引出多路PCIEx1接口。
控制主板配置有SATA控制芯片,PCIE桥通过PCIEx1接口引出SATA控制芯片。
PCIE桥通过一路PCIEx1接口引出South Bridge。
FPGA设备、控制主板及远程终端机分别配置有供电电源。
该装置中,CPU为申威CPU;上位主机为PC上位主机,此时输入显示器为显示屏、键盘及鼠标等输入输出设备。
如上述,通过CPU的PCIe接口扩展引出外围PCIe和PCI桥设备,并利用该桥设备的GPIO接口模拟实现FPGA的JTAG时序,如此远程PC等调试设备就可以借助网络接口将所需更新的FPGA文件传给申威处理器平台,然后通过JTAG接口将FPGA文件烧写进FPGA中,进而实现FPGA代码的远程更新。
实施例2
如图1所示,本实施例提供的一种基于CPU通过JTAG方式远程更新FPGA的装置,包括FPGA设备、控制主板及远程终端机,FPGA设备包括相互连接的FPGA和FLASH,控制主板包括CPU、PCIE桥和South Bridge,PCIE桥分别与CPU和South Bridge连接,远程终端机包括相互连接的上位主机和输入显示器,上位主机通过以太网与CPU通信连接以将更新文件传输至CPU,South Bridge引出GPIO接口,FPGA引出JTAG接口,GPIO接口与JTAG接口相连,使得FPGA与CPU通信连接以接收CPU的更新文件并进行更新。
其中,CPU操作GPIO接口的控制时序以模拟标准JTAG接口,使得GPIO接口与JTAG接口相连通以传输数据。
CPU引出网络接口以通过以太网连接上位主机。
CPU引出PCIEx8接口以连接PCIE桥。
PCIE桥扩展引出多路PCIEx1接口。
控制主板配置有SATA控制芯片,PCIE桥通过PCIEx1接口引出SATA控制芯片。
控制主板还包括硬盘,PCIE桥通过PCIEx1接口引出硬盘,可将更新文件存放在该外扩的硬盘中存储。
PCIE桥通过一路PCIEx1接口引出South Bridge。
FPGA设备、控制主板及远程终端机分别配置有供电电源。
该装置中,CPU为申威CPU;上位主机为PC上位主机,此时输入显示器为显示屏、键盘及鼠标等输入输出设备。
如上述,通过CPU的PCIe接口扩展引出外围PCIe和PCI桥设备,并利用该桥设备的GPIO接口模拟实现FPGA的JTAG时序,如此远程PC等调试设备就可以借助网络接口将所需更新的FPGA文件传给申威处理器平台,然后通过JTAG接口将FPGA文件烧写进FPGA中,进而实现FPGA代码的远程更新。
实施例3
如图2所示,本实施例提供的一种基于CPU通过JTAG方式远程更新FPGA的装置,包括FPGA设备、控制主板及远程终端机,FPGA设备包括相互连接的FPGA和FLASH,控制主板包括CPU、PCIE桥和South Bridge,PCIE桥分别与CPU和South Bridge连接,远程终端机包括相互连接的上位主机和输入显示器,上位主机通过以太网与CPU通信连接以将更新文件传输至CPU,South Bridge引出GPIO接口,FPGA引出JTAG接口,GPIO接口与JTAG接口相连,使得FPGA与CPU通信连接以接收CPU的更新文件并进行更新。
其中,CPU操作GPIO接口的控制时序以模拟标准JTAG接口,使得GPIO接口与JTAG接口相连通以传输数据。
CPU引出网络接口以通过以太网连接上位主机。
CPU引出PCIEx8接口以连接PCIE桥。
PCIE桥扩展引出多路PCIEx1接口。
控制主板配置有SATA控制芯片,PCIE桥通过PCIEx1接口引出SATA控制芯片。
PCIE桥通过一路PCIEx1接口引出South Bridge。
FPGA设备、控制主板及远程终端机分别配置有供电电源。
该装置中,CPU为申威CPU;上位主机为手机、平板电脑等移动终端上位主机,此时输入显示屏为触摸屏或配套的显示屏、键盘及鼠标等输入输出设备。
如上述,通过CPU的PCIe接口扩展引出外围PCIe和PCI桥设备,并利用该桥设备的GPIO接口模拟实现FPGA的JTAG时序,如此远程PC等调试设备就可以借助网络接口将所需更新的FPGA文件传给申威处理器平台,然后通过JTAG接口将FPGA文件烧写进FPGA中,进而实现FPGA代码的远程更新。
实施例4
在实施例3的基础上,控制主板还包括硬盘,PCIE桥通过PCIEx1接口引出硬盘,可将更新文件存放在该外扩的硬盘中存储。
下述将对上述实施例1-4进行具体说明。
参见图1、2,该装置可分为:远程终端机、控制主板、FPGA(Field ProgrammableGate Array,现场可编程门阵列)设备三大部分,各部分的功能说明如下:
1)远程终端机主要是用户可直接操作的PC上位机(该PC上位机包括主机及配置的显示屏、键盘及鼠标等)或手机及平板电脑等移动终端,借助该上位机通过以太网与控制主板相连,进而实现对控制主板的远程控制和远程更新数据的传输;
2)控制主板由申威CPU、PCIE switch桥芯片、硬盘和South Bridge(南桥芯片)组成,因为申威CPU只引出了PCIEx8的接口,所以需要通过PCIE switch桥芯片来扩展多路外部PCIEx1接口,扩展出来的PCIEx1引出相应SATA控制芯片和SATA硬盘,也可以将其中的一路PCIEx1引出南桥芯片,进一步扩展相应的外围和GPIO接口,进而CPU可以操作该GPIO口的控制时序来模拟标准JTAG(Joint Test Action Group,联合测试行动组,一种规范的硬件调试接口)接口, 该JTAG接口与FPGA设备的JTAG接口相连;
3)FPGA设备作为远程更新FPGA程序的目标板,主要由FPGA组成,其中FPGA的JTAG与控制主板的南桥模拟的JTAG接口连接,进而通过控制主板来实现FPGA程序的远程更新。
参见图3,FPGA配置逻辑由JTAG接口、SPI接口、缓存和配置控制器组成。
如上述,由远程终端机通过以太网实现对控制主板的远程控制和远程数据传输,将需要更新烧写的FPGA文件传输给控制主板,然后控制主板中的申威CPU将接收到该FPGA烧写文件,一方面将该文件存放在申威CPU外扩的硬盘中存储,也便于后续FPGA程序的本地更新;另一方面将该文件经由PCIE桥传输到南桥,南桥的GPIO口与FPGA设备的JTAG口相连,并由CPU通过PCIE桥操作南桥芯片上的GPIO引脚来模拟JTAG控制时序控制和升级FPGA。
控制主板软件处理流程,可分两个步,第一步下载配置逻辑到FPGA;第二步启动配置逻辑后把升级程序通过JTAG传送到FPGA,再由配置逻辑把升级程序写入FLASH。
根据JTAG协议标准的协议规范,CPU操作南桥的GPIO口来模拟出标准JTAG的控制时序输出,遵循首先软复位FPGA的TAP控制器接口,TAP复位后模拟JTAG操作GPIO时序可发出控制命令到FPGA和收到FPGA的数据。
如上述,本实用新型根据申威处理器的架构特点,通过申威CPU的PCIe接口扩展引出外围PCIe和PCI桥设备,并利用该桥设备的GPIO接口模拟实现FPGA的JTAG时序,如此远程PC等调试设备就可以借助网络接口将所需更新的FPGA文件传给申威处理器平台,然后通过JTAG接口将FPGA文件烧写进FPGA中,进而实现FPGA代码的远程更新。
本实用新型基于CPU通过JTAG远程更新FPGA逻辑代码,解决现有FPGA代码的远程更新所遇到的接口复杂、实现逻辑复杂、实现成本高、实现周期长和方法不通用的技术问题。
本实用新型解决了用户已定型FPGA设备的远程更新的难题,在只保留了JTAG调试接口的FPGA设备中实现FPGA程序的远程更新,只需要通过JTAG接口就可以实现FPGA烧写程序的更新,实现电路简单,且没有增加额外电路。可以实现FPGA程序的烧写,大大简化了实现方法和步骤,减少了用户电路实现的复杂度,降低FPGA远程更新的成本和产品周期,便于FPGA设备向智能化和小型化方向发展。也可以摆脱需由FPGA厂家提供的专用烧写软件进行烧写的束缚,如FPGA烧写软件支持的FLASH型号有限,本实用新型可以突破这种限制,扩展更多型号的FLASH。
应当理解,本实用新型上述实施例及实例,是出于说明和解释目的,并非因此限制本实用新型的范围。本实用新型的范围由权利要求项定义,而不是由上述实施例及实例定义。
Claims (10)
1.一种基于CPU通过JTAG方式远程更新FPGA的装置,其特征在于,包括FPGA设备、控制主板及远程终端机,所述FPGA设备包括相互连接的FPGA和FLASH,所述控制主板包括CPU、PCIE桥和South Bridge,所述PCIE桥分别与CPU和South Bridge连接,所述远程终端机包括相互连接的上位主机和输入显示器,所述上位主机通过以太网与CPU通信连接以将更新文件传输至CPU,所述South Bridge引出GPIO接口,所述FPGA引出JTAG接口,所述GPIO接口与JTAG接口相连,使得FPGA与CPU通信连接以接收CPU的更新文件并进行更新。
2.根据权利要求1所述一种基于CPU通过JTAG方式远程更新FPGA的装置,其特征在于,所述CPU操作GPIO接口的控制时序以模拟标准JTAG接口,使得GPIO接口与JTAG接口相连通以传输数据。
3.根据权利要求1所述一种基于CPU通过JTAG方式远程更新FPGA的装置,其特征在于,所述CPU引出网络接口以通过以太网连接上位主机。
4.根据权利要求1所述一种基于CPU通过JTAG方式远程更新FPGA的装置,其特征在于,所述CPU引出PCIEx8接口以连接PCIE桥。
5.根据权利要求4所述一种基于CPU通过JTAG方式远程更新FPGA的装置,其特征在于,所述PCIE桥扩展引出多路PCIEx1接口。
6.根据权利要求5所述一种基于CPU通过JTAG方式远程更新FPGA的装置,其特征在于,所述控制主板配置有SATA控制芯片,PCIE桥通过PCIEx1接口引出SATA控制芯片。
7.根据权利要求5所述一种基于CPU通过JTAG方式远程更新FPGA的装置,其特征在于,所述控制主板还包括硬盘,PCIE桥通过PCIEx1接口引出硬盘。
8.根据权利要求5所述一种基于CPU通过JTAG方式远程更新FPGA的装置,其特征在于,所述PCIE桥通过一路PCIEx1接口引出South Bridge。
9.根据权利要求1-8任一项权利要求所述一种基于CPU通过JTAG方式远程更新FPGA的装置,其特征在于,所述FPGA设备、控制主板及远程终端机分别配置有供电电源。
10.根据权利要求9所述一种基于CPU通过JTAG方式远程更新FPGA的装置,其特征在于,该装置中,CPU为申威CPU,上位主机为PC上位主机或移动终端上位主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201821323891.4U CN208589013U (zh) | 2018-08-16 | 2018-08-16 | 一种基于cpu通过jtag方式远程更新fpga的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201821323891.4U CN208589013U (zh) | 2018-08-16 | 2018-08-16 | 一种基于cpu通过jtag方式远程更新fpga的装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN208589013U true CN208589013U (zh) | 2019-03-08 |
Family
ID=65543743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201821323891.4U Active CN208589013U (zh) | 2018-08-16 | 2018-08-16 | 一种基于cpu通过jtag方式远程更新fpga的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN208589013U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527362A (zh) * | 2021-02-08 | 2021-03-19 | 鹏城实验室 | Fpga测试程序更新方法、装置、电子设备及存储介质 |
-
2018
- 2018-08-16 CN CN201821323891.4U patent/CN208589013U/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527362A (zh) * | 2021-02-08 | 2021-03-19 | 鹏城实验室 | Fpga测试程序更新方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108664264A (zh) | 一种基于cpu通过jtag方式远程更新fpga的装置和方法 | |
CN102609286B (zh) | 一种基于处理器控制的fpga配置程序远程更新系统及其方法 | |
CN104620564B (zh) | 用于经由利用数据隧道的接口的多协议数据元素的传输的装置和方法 | |
CN105718339B (zh) | 一种fpga/cpld 远程调试系统及方法 | |
CN107704346B (zh) | Soc芯片调试方法及调试系统 | |
CN105279127A (zh) | 一种基于PCI或PCIe总线的FPGA程序下载系统及方法 | |
CN103327083A (zh) | 一种基于异构网络Android平台的嵌入式家庭监测系统 | |
CN103198042A (zh) | Pci航空串行总线板卡及实现动态加载数据处理方法 | |
CN204537117U (zh) | 一种基于微处理器的fpga远程在线升级系统 | |
CN102130951A (zh) | 一种服务器及其可编程逻辑器件的远程升级方法 | |
CN102736938A (zh) | Fpga配置程序的烧写方法 | |
US20140266592A1 (en) | Network gateway system and method | |
CN107907814B (zh) | 一种提高芯片量产测试效率的方法 | |
CN102436385A (zh) | 一种可编程逻辑器件配置文件在线更新装置 | |
CN101359303B (zh) | 一种在线调试微控制器及其外设器件的装置及调试方法 | |
US11074157B2 (en) | Splicing screen debugging method, splicing screen and splicing wall | |
CN104077204A (zh) | 可重构的8位rsic单片机仿真器 | |
CN107526614B (zh) | Fpga开发板的通信方法 | |
CN109032860A (zh) | 一种arinc429总线通用仿真系统及仿真方法 | |
CN208589013U (zh) | 一种基于cpu通过jtag方式远程更新fpga的装置 | |
CN103019990A (zh) | 一种采集端启动pci-e总线dma上传数据的方法 | |
CN110046119A (zh) | 多控间串口管理方法、系统及多控间串口结构和存储介质 | |
CN112306937B (zh) | 服务器中主板器件的设定选择电路、方法、设备及介质 | |
CN103376777A (zh) | 控制器的Modbus通讯接口的测试方法及上位机 | |
CN106569972A (zh) | 基于usb接口的jtag单片机无线仿真器和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |