一种基于以太网的FPGA程序固化系统技术方案

技术编号:35655716 阅读:15 留言:0更新日期:2022-11-19 16:52
本发明专利技术涉及一种基于以太网的FPGA程序固化系统,属于FPGA开发设计技术领域。本发明专利技术在FPGA芯片中设计处理器模块、存储模块、网络控制器模块和FLASH控制器模块四种模块并编写处理器模块程序,实现了通过通用的以太网远程固化FPGA程序的功能,该系统解决了传统的FPGA程序固化中需要现场拆解设备并连接烧写器才能固化程序的问题。固化程序的问题。固化程序的问题。

【技术实现步骤摘要】
一种基于以太网的FPGA程序固化系统


[0001]本专利技术属于FPGA开发设计
,具体涉及一种基于以太网的FPGA程序固化系统。

技术介绍

[0002]ASIC(专用集成电路)是一种为了特定目的设计实现的集成电路,比如CPU,GPU等就属于ASIC。FPGA(Field Programmable Gate Array)芯片即可编程门阵列芯片,是ASIC领域中出现的一种半定制电路。FPGA与ASIC不同,FPGA芯片可以通过编程定制实现各种特定的硬件电路,更改程序即可更改硬件电路结构从而实现芯片功能的改变,而ASIC出厂后硬件电路是固定的,无法改变的。
[0003]FPGA芯片的程序存储在外部的FLASH芯片中,常规的FPGA程序固化需要使用专用的烧写器连接FPGA芯片的JTAG接口,并在上位机运行专用的开发软件。这种方式主要有两个问题:
[0004]1.当FPGA设备量产交付客户使用后,如果要升级FPGA程序,需要先对设备拆解,将烧写器与FPGA芯片的JTAG接口连接,再进行程序固化,操作过程复杂且难度较大。
[0005]2.传统的烧写器通常程序固化速度只有10Mbit,并且专用软件的程序固化流程效率很低,导致每次固化程序需要几分钟甚至几十分钟,速度很慢。

技术实现思路

[0006](一)要解决的技术问题
[0007]本专利技术要解决的技术问题是:实现通过通用的以太网远程固化FPGA程序的功能,解决传统的FPGA程序固化中需要现场拆解设备并连接烧写器才能固化程序的问题。
[0008](二)技术方案
[0009]为了解决上述技术问题,本专利技术提供了一种基于以太网的FPGA程序固化系统,包括包括用户设备、路由器和远程主机;其中,所述用户设备是用FPGA实现特定功能的最终产品;所述远程主机是一台计算机,用于运行FPGA固化软件对用户设备的FPGA芯片进行程序固化;所述远程主机通过路由器和网线连接用户设备;
[0010]所述用户设备包括FPGA芯片、PHY芯片、FLASH芯片、变压器;其中,所述FPGA芯片包括处理器模块、存储模块、FLASH控制器模块、以太网控制器模块以及用户模块;FPGA芯片中的处理器模块、存储模块、以太网控制器模块和FLASH控制器模块四种模块用于实现通过以太网固化FPGA程序的功能;所述用户模块是FPGA芯片程序的一部分,是用于实现用户设备功能的程序模块;
[0011]所述处理器模块可运行主程序完成以太网固化FPGA程序的功能;
[0012]所述存储模块用于存储FPGA芯片从以太网接收到的待固化的程序,同时也作为处理器模块中软件运行的缓存;
[0013]所述以太网控制器模块用于实现以太网协议的MAC层功能,同时实现FPGA芯片与
PHY芯片的数据传输;
[0014]所述FLASH芯片用于存储FPGA芯片的程序;所述FLASH控制器模块用于操作FLASH芯片,包括FLASH芯片的擦除、读写操作,以及实现FPGA芯片与FLASH芯片的数据传输控制;
[0015]所述远程主机的以太网接口通过路由器和网线连接到用户设备的变压器的一端,变压器完成以太网信号的电平转换,变压器的另一端与PHY芯片连接,PHY芯片用于完成以太网的物理层协议,以太网的物理层协议用于实现FPGA芯片中的以太网控制器模块与网线上传输的以太网信号的转换。
[0016]优选地,所述用户设备中与远程主机通信的网络接口包括物理层和MAC层,物理层用于实现MAC层和网线上传输的以太网信号的转换,由PHY芯片和变压器完成;MAC层由FPGA芯片中的以太网控制器模块完成。
[0017]优选地,所述处理器模块运行主程序完成的以太网固化FPGA程序的功能包括FLASH芯片和PHY芯片初始化配置、网络协议栈实现、程序固化流程这些功能。
[0018]本专利技术还提供了一种所述FPGA程序固化系统的工作方法,包括以下步骤:远程主机运行FPGA固化软件,用户通过FPGA固化软件加载待固化的FPGA程序,并将FPGA程序通过网线传送到FPGA芯片中;FPGA芯片运行后,其中的处理器模块通过以太网控制器模块接收到FPGA程序并将其存储到存储模块中;待FPGA芯片中的处理器模块收到远程主机通过以太网发送的固化程序指令后,处理器模块将存储模块中的FPGA程序通过FLASH控制器模块烧写到FLASH芯片中,完成后通过以太网向远程主机发送烧写完成提示,从而完成FPGA程序固化过程。
[0019]优选地,其中,FPGA芯片启动后首先运行处理器模块,待处理器模块加载运行主程序,主程序执行以下流程:初始化时钟及中断,时钟用于定时,中断用于以太网数据的接收;初始化IP协议栈,包括缓存设置、接口设置、模式设置;等待DHCP连接,如果20秒内没有DHCP连接,则使用默认的IP地址,如果20秒内检测到DHCP连接,则使用DHCP服务器分配的IP地址;初始化FLASH芯片,包括设置FLASH读写模式、读写速率;建立并启动TCP服务器;等待接收网络数据,如果收到网络数据会触发中断,主程序跳转到网络接收函数接收网络数据;如果接收到的网络数据不是固化程序指令,则继续等待网络数据,如果是固化程序指令,则调用固化程序函数将FPGA程序固化到FLASH芯片中,所述固化程序函数、网络接收函数均在处理器模块中运行。
[0020]优选地,其中,当用户设备通过路由器连接到远程主机时,使用DHCP功能,程序等待路由器自动分配一个IP地址给用户设备;当用户设备没有连接路由器而直接连接远程主机时,此时程序启动后如果20秒内未收到DHCP主机分配的IP地址,则判定远程主机无DHCP功能,程序自动使用默认的IP地址。
[0021]优选地,所述网络接收函数通过中断调用,用于接收并解析网络数据,网络数据包括指令和FPGA程序,指令包括固化指令、清除存储模块指令、擦除FLASH指令;
[0022]如果网络接收函数解析出来的网络数据是固化程序指令,则设置固化程序标志位为1;如果是清除存储模块指令,则清除存储模块中的数据,并通过网络向远程主机发送清除完成提示;如果是擦除FLASH芯片指令,则擦除FLASH芯片,并通过网络向远程主机发送擦除完成提示;如果不是以上三种数据,则认为是FPGA待固化的程序,将其写入存储模块并通过网络向远程主机发送写入完成提示。
[0023]优选地,所述固化程序函数由主程序调用,主程序根据固化程序标志位判断是否要调用固化程序函数,如果固化程序标志位为1则调用,为0则不调用,实现将FPGA待固化的程序写入到FLASH芯片中并校验烧写的正确性,清除固化程序标志位,完成后通过网络向远程主机发送固化完成提示。
[0024]优选地,用户可通过FPGA固化软件的软件界面完成各种指令的发送和数据的录入,FPGA固化软件将指令与录入数据通过以太网传送到FPGA芯片中,并将各种操作的结果和网络提示信息显示在界面上;用户可通过FPGA固化软件完成固化FLASH程序、清除存储模本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于以太网的FPGA程序固化系统,其特征在于,包括包括用户设备、路由器和远程主机;其中,所述用户设备是用FPGA实现特定功能的最终产品;所述远程主机是一台计算机,用于运行FPGA固化软件对用户设备的FPGA芯片进行程序固化;所述远程主机通过路由器和网线连接用户设备;所述用户设备包括FPGA芯片、PHY芯片、FLASH芯片、变压器;其中,所述FPGA芯片包括处理器模块、存储模块、FLASH控制器模块、以太网控制器模块以及用户模块;FPGA芯片中的处理器模块、存储模块、以太网控制器模块和FLASH控制器模块四种模块用于实现通过以太网固化FPGA程序的功能;所述用户模块是FPGA芯片程序的一部分,是用于实现用户设备功能的程序模块;所述处理器模块可运行主程序完成以太网固化FPGA程序的功能;所述存储模块用于存储FPGA芯片从以太网接收到的待固化的程序,同时也作为处理器模块中软件运行的缓存;所述以太网控制器模块用于实现以太网协议的MAC层功能,同时实现FPGA芯片与PHY芯片的数据传输;所述FLASH芯片用于存储FPGA芯片的程序;所述FLASH控制器模块用于操作FLASH芯片,包括FLASH芯片的擦除、读写操作,以及实现FPGA芯片与FLASH芯片的数据传输控制;所述远程主机的以太网接口通过路由器和网线连接到用户设备的变压器的一端,变压器完成以太网信号的电平转换,变压器的另一端与PHY芯片连接,PHY芯片用于完成以太网的物理层协议,以太网的物理层协议用于实现FPGA芯片中的以太网控制器模块与网线上传输的以太网信号的转换。2.如权利要求1所述的系统,其特征在于,所述用户设备中与远程主机通信的网络接口包括物理层和MAC层,物理层用于实现MAC层和网线上传输的以太网信号的转换,由PHY芯片和变压器完成;MAC层由FPGA芯片中的以太网控制器模块完成。3.如权利要求1所述的系统,其特征在于,所述处理器模块运行主程序完成的以太网固化FPGA程序的功能包括FLASH芯片和PHY芯片初始化配置、网络协议栈实现、程序固化流程这些功能。4.一种如权利要求1或2或3所述FPGA程序固化系统的工作方法,其特征在于,包括以下步骤:远程主机运行FPGA固化软件,用户通过FPGA固化软件加载待固化的FPGA程序,并将FPGA程序通过网线传送到FPGA芯片中;FPGA芯片运行后,其中的处理器模块通过以太网控制器模块接收到FPGA程序并将其存储到存储模块中;待FPGA芯片中的处理器模块收到远程主机通过以太网发送的固化程序指令后,处理器模块将存储模块中的FPGA程序通过FLASH控制器模块烧写到FLASH芯片中,完成后通过以太网向远程主机发送烧写完成提示,从而完成FPGA程序固化过程。...

【专利技术属性】
技术研发人员:汤晓磊胡亮
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:

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

1