一种基于多种接口的FPGA重构方法和系统与流程

文档序号:18796555发布日期:2019-09-29 19:45阅读:592来源:国知局
一种基于多种接口的FPGA重构方法和系统与流程

本发明涉及电子技术领域,具体涉及一种基于多种接口的fpga重构方法和系统。



背景技术:

由于数字逻辑系统功能复杂化的需求,单片系统的芯片正朝着超大规模、高密度的方向发展。但是,系统中的各个功能模块并不是时刻都在工作,而是根据系统外部的整体要求,轮流或循环地被激活或工作。并且,随着数字逻辑规模的扩大,在相同速度条件下,在一定的时间区间,其功能模块的平均使用率将下降。因此,系统设计应该从传统追求大规模、高密度的方向,转向如何提高资源利用率,用有限的资源实现更大规模的逻辑设计上来。而可重构计算技术能够提高硬件的利用率和提供软件的可编程性,成为未来的发展趋势。计算机通过本地总线配置fpga称为本地重构,通过远程接口访问fpga并完成配置称为远程重构。按照是否在线重复配置又分为静态重构和动态重构。静态重构是指目标系统的逻辑功能(包括电路功能和电路逻辑)静态重载,只能在运行前配置。动态重构是指目标系统的逻辑功能(包括电路功能和电路逻辑)能在运行过程中实时配置。当前的静态重构方式一般使用专用下载器连接fpga的专用引脚进行程序下载,动态重构方式用专用下载器连接fpga或者使用本地pcie总线加载,此种加载方式单一,不灵活,因此寻找一种能基于多种接口的fpga重构方法和系统尤为重要。



技术实现要素:

本发明的目的在于提供一种基于多接口的fpga重构方法和系统,用于解决现有重构方式中加载方式单一的问题。

本发明的一种基于多接口的fpga重构方法,包括将fpga划分为静态区和动态区,静态区和动态区均可以进行静态重构,动态区还可以进行动态重构;静态区包括:pcie核、千兆网收发模块以及can总线收发模块;pcie核与切换器进行数据交互,判断pcie核传输的数据的类型,将动态配置文件传递给动态加载模块,其他数据传递给dma控制器;pcie核、千兆网收发模块和can总线收发模块分别接收输入数据,所述输入数据包括动态配置文件、全局静态配置数据和普通数据;分别提取经切换器和千兆网收发模块的动态配置文件,并配置到动态区;分别提取经dma控制器、千兆网收发模块和can总线收发模块的全局静态配置数据,写入flash,静态区逐一获取全局静态配置数据;经dma控制器、千兆网收发模块和can总线收发模块的普通数据传递给动态区。

根据本发明的基于多种接口的fpga重构方法的一实施例,其中,通过pcie核将串行数据转换为64位并行数据。

本发明的一种基于多接口的fpga重构系统,包括:pcie核、千兆网收发模块、can总线收发模块、切换器、dma控制器、动态加载模块、icap、flash读写模块以及用户逻辑模块;pcie核转换上位机的传输数据,传递给切换器;千兆网收发模块对上位机的以太网udp数据解包;can总线收发模块通过can总线协议提取上位机数据包,将全局静态配置数据发送flash读写模块,普通数据发送用户逻辑模块;切换器判断pcie核传输的数据的类型,将动态配置文件传递给动态加载模块,其他数据传递给dma控制器;dma控制器,对收到的数据组包和解包,判断数据类型,将全局静态配置数据传递发送给flash读写模块,将其他数据发送到用户逻辑模块;动态加载模块与切换器和千兆网收发模块相连,提取收到的数据包中的动态配置文件,并控制icap,动态加载模块通过控制icap将动态配置文件配置到动态区完成动态重构;flash读写模块将全局静态配置数据写入flash。

根据本发明的多种接口的fpga重构系统的一实施例,其中,pcie核将串行数据转换为64位并行数据传递给切换器。

本发明能基于多种接口实现fpga的静态重构和动态重构,加载方式更加灵活多样。

附图说明

图1为本发明的一种多接口的fpga重构系统的框图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

图1为本发明的一种多接口的fpga重构系统的框图,如图1所示,本发明的一种多接口的fpga重构系统包括:pcie核2,千兆网收发模块14,can总线收发模块13,切换器3,dma控制器4,动态加载模块5,icap6,flash读写模块7,用户逻辑模块12。同时fpga11还可划分为静态区和动态区,静态区和动态区均可以进行静态重构,动态区可以进行动态重构。静态区包括:pcie核2、切换器3、dma控制器4、动态加载模块5、icap6、flash读写模块7、千兆网收发模块14、can总线收发模块13;动态区包括:用户逻辑模块12。

如图1所示,可通过pcie、千兆网、can总线三种接口灵活实现fpga的本地或远程的静态和动态重构。该系统的各组件、连接关系和功能如下:pcie核2用于转换上位机1的传输数据,连接切换器3;千兆网收发模块完成以太网udp数据的解包,连接动态加载模块5、flash读写模块7和用户逻辑模块12;can总线收发模块13完成can总线协议处理和提取数据包,连接flash读写模块7和用户逻辑模块12;切换器3判断数据类型,连接动态加载模块5和dma控制器4;dma控制器4用于pcie接口数据的组包和解包,判断数据类型,连接flash读写模块7和用户逻辑模块12;动态加载模块5控制icap6;flash读写模块7将数据写入flash8。

如图1所示,进一步地说明本发明的一种多接口的fpga重构系统的工作过程。上位机1数据通过pcie接口,千兆网和can总线分别传递给pcie核2、千兆网收发模块14和can总线收发模块13,其中上位机输入数据包括动态配置文件、全局静态配置数据和普通数据。

pcie核2完成pcie物理链路的管理控制,数据转换后传递给切换器3。切换器3判断数据类型,如果是动态重构配置文件,则发送给动态加载模块5,动态加载模块5提取数据包中的动态配置文件,并传递给icap6,icap6是进行fpga配置的ip核,动态加载模块5通过控制该ip核将动态配置文件配置到动态区10完成动态重构;如果是其他数据则传递给dma控制器4,dma控制器4完成pcie接口数据的组包和解包,并判断数据是全局静态配置数据还是普通数据,如果是全局静态配置数据则传递给flash读写模块7写入flash8,静态区逐一获取flash8内的全局静态配置数据完成静态重构,如果是普通数据则发送给用户逻辑模块12,实现上位机1与用户逻辑模块12的通信。

在一些可选的实施方式中,pcie核2将串行数据转换为64位并行数据。

如图1所示,千兆网收发模块14完成千兆以太网phy芯片的管理控制和以太网udp数据的解包,根据数据类型分为三种情况:如果是动态重构配置文件,则发送给动态加载模块5,动态加载模块5提取数据包中的动态配置文件,并传递给icap6模块,icap6模块是进行fpga配置的ip核,动态加载模块5通过控制该ip核将动态配置文件写入动态区10完成动态重构;如果是全局静态配置数据则传递给flash读写模块7写入flash8,静态区逐一获取flash8内的全局静态配置数据完成静态重构;如果是普通数据则发送给用户逻辑模块12,实现上位机1与用户逻辑模块12的通信。

如图1所示,can总线收发模块13完成can总线协议处理,提取数据包,根据数据类型分为两种情况:如果是全局静态配置数据则传递给flash读写模块7写入flash8,静态区逐一获取flash8内的全局静态配置数据完成静态重构;如果是普通数据则发送给用户逻辑模块12,实现上位机1与用户逻辑模块12的通信。

在一些可选的实施方式中,所述pcie核2将串行数据转换为64位并行数据。

本发明还包括一种基于多接口的fpga重构方法,包括将fpga划分为静态区和动态区,静态区和动态区均可以进行静态重构,动态区还可以进行动态重构;静态区包括:pcie核、千兆网收发模块以及can总线收发模块;pcie核与切换器进行数据交互,判断pcie核传输的数据的类型,将动态配置文件传递给动态加载模块,其他数据传递给dma控制器;pcie核、千兆网收发模块和can总线收发模块分别接收输入数据,所述输入数据包括动态配置文件、全局静态配置数据和普通数据;分别提取经切换器和千兆网收发模块的动态配置文件,并配置到动态区;分别提取经dma控制器、千兆网收发模块和can总线收发模块的全局静态配置数据,写入flash,静态区逐一获取全局静态配置数据;经dma控制器、千兆网收发模块和can总线收发模块的普通数据传递给动态区。

在一些可选的实施方式中,所述pcie核2将串行数据转换为64位并行数据。

一般的可重构系统只有一种重构接口,本发明可使用pcie、千兆网、can总线三种方式进行静态重构,同时可使用pcie、千兆网进行动态局部重构,并且用于重构的接口可以和用户逻辑模块复用,在不过分增加资源消耗的前提下大大增加了系统重构的灵活性。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1