一种被动SelectMAP模式下动态配置FPGA的系统及其方法与流程

文档序号:25543072发布日期:2021-06-18 20:39阅读:452来源:国知局
一种被动SelectMAP模式下动态配置FPGA的系统及其方法与流程

本发明涉及通信技术领域,具体涉及一种被动selectmap模式下动态配置fpga的系统及其方法。



背景技术:

现场可编程逻辑门阵列(fpga)芯片目前在通信设备中大量应用,用户可编写程序对其内部的逻辑模块和i/o模块重新配置,以快速灵活实现逻辑功能。通常情况下,fpga根据采用工艺的不同分为一次性编程otp型和多次编程型。前者采用不可重复烧写技术,如反熔丝技术,将配置数据一次性加载到fpga内部的配置存储器中。该类型fpga可以通过设置保密位提高器件的安全性,但是在调试过程中缺乏灵活性,并且需要专门的软硬件下载环境。后者采用动态重构技术,主要有主动配置和被动配置两种方法,与反熔丝技术相比,这两种方法更为灵活,在工程中应用较为广泛。

传统的fpga动态重构技术主要分为主动配置和被动配置两类。主动配置方法采用fpga外挂flash存储芯片的方式,上电后主动从flash芯片读取配置信息并加载,存在往flash芯片烧写程序缓慢、更新程序工序繁琐、flash读写寿命有限等弊端。被动配置方法采用fpga外挂cpu/dsp的方式,上电后cpu/dsp主动向fpga加载配置文件,程序加载完毕后fpga开始正常工作,该方法的优点是程序加载速度快,但存在占用更新程序流程繁琐且占用cpu/dsp管脚数量较多的问题。

综上所述,传统的动态配置fpga的系统存在更新流程繁琐、占用系统资源较高的问题。



技术实现要素:

有鉴于此,本发明提供一种被动selectmap模式下动态配置fpga的系统及其方法,通过改进系统构成及更新方法,解决了传统的动态配置fpga的系统存在的更新流程繁琐、占用系统资源较高的问题。

为解决以上问题,本发明的技术方案为采用一种被动selectmap模式下动态配置fpga的系统,其特征在于,包括上位机、dsp处理单元、flash芯片和fpga芯片,所述上位机通过网口与所述dsp处理单元电气连接,所述dsp处理单元通过串行总线与所述flash芯片电气连接,所述dsp处理单元通过并行总线与所述fpga芯片电气连接。

可选地,所述dsp处理单元的upp接口通过并行总线与所述fpga芯片电气连接,其中,在系统上电的初始时刻,所述dsp将所述upp接口的引脚配置为gpio功能,用于实现在被动selectmap模式下对所述fpga芯片进行动态配置;在所述fpga芯片配置完成后,所述dsp处理单元将所述upp接口的引脚配置为upp总线功能,用于实现所述dsp处理单元与所述fpga芯片之间的高速数据传输。

可选地,所述上位机的控制模块生成的配置文件通过所述网口传输至所述dsp处理单元;所述dsp处理单元基于crc校验算法对所述配置文件进行crc校验;在所述crc校验通过的情况下,所述dsp处理单元将所述配置文件传输至所述flash芯片存储的同时,所述dsp处理单元基于所述配置文件对所述fpga芯片进行动态配置。

可选地,在所述系统断电重启后,若所述上位机断开与所述dsp处理单元的电气连接或所述上位机未传输更新后的所述配置文件至所述dsp处理单元,所述dsp处理单元通过调用存储于所述flash芯片的所述配置文件对所述fpga芯片进行动态配置。

可选地,所述上位机的控制模块生成配置文件的方法包括:配置所述fpga芯片的参数,基于所述参数调用对应的所述配置文件。

相应地,本发明提供,一种被动selectmap模式下动态配置fpga的方法,包括:s1:上位机将配置文件通过网口传输至dsp处理单元;s2:所述dsp处理单元将所述配置文件传输至flash芯片存储;s3:所述dsp处理单元基于所述配置文件对fpga芯片进行动态配置;s4:在所述fpga芯片配置完成后,所述dsp处理单元将upp接口的引脚配置为upp总线功能,从而实现所述dsp处理单元与所述fpga芯片之间的高速数据传输。

可选地,所述s1还包括:在所述dsp处理单元完成接收所述配置文件的情况下,所述dsp处理单元基于crc校验算法对所述配置文件进行crc校验。

可选地,所述动态配置fpga的方法还包括:在系统断电重启后,若所述上位机断开与所述dsp处理单元的电气连接或所述上位机未传输更新后的所述配置文件至所述dsp处理单元,所述dsp处理单元通过调用存储于所述flash芯片的所述配置文件对所述fpga芯片进行动态配置。

可选地,所述s1还包括:基于控制模块配置所述fpga芯片的参数;基于所述参数调用对应的所述配置文件。

本发明的首要改进之处为提供的被动selectmap模式下动态配置fpga的系统,通过设置上位机、dsp处理单元和flash芯片相配合,实现了无论是系统初始上电还是系统断电重启后,均能够快速的完成对fpga芯片的动态配置。同时,通过利用dsp处理单元管脚的多功能特性,通过所述dsp处理单元对upp接口进行管脚复用,实现了同一接口在不同阶段实现多种功能,缩小了系统的pcb布线占用空间并降低了dsp处理单元的资源开销,解决了传统的动态配置fpga的系统存在的更新流程繁琐、占用系统资源较高的问题。

附图说明

图1是本发明的被动selectmap模式下动态配置fpga的系统的简化模块连接图;

图2是本发明的fpga芯片进行动态配置的时序图;

图3是本发明的被动selectmap模式下动态配置fpga的系统的简化流程图。

具体实施方式

为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。

如图1所示,一种被动selectmap模式下动态配置fpga的系统,其特征在于,包括上位机1、dsp处理单元2、flash芯片3和fpga芯片4,所述上位机1通过网口与所述dsp处理单元2电气连接,所述dsp处理单元2通过串行总线与所述flash芯片3电气连接,所述dsp处理单元2通过并行总线与所述fpga芯片4电气连接。其中,所述上位机1可以是pc/hostcomputer/mastercomputer/uppercomputer等能够直接发出操控命令的计算机。

进一步的,所述上位机1的控制模块生成的配置文件通过所述网口传输至所述dsp处理单元2;所述dsp处理单元2基于crc校验算法对所述配置文件进行crc校验;在所述crc校验通过的情况下,所述dsp处理单元2将所述配置文件传输至所述flash芯片3存储的同时,所述dsp处理单元2基于所述配置文件对所述fpga芯片4进行动态配置。其中,如图2所示,动态配置方法可以是:dsp处理单元2通过gpio线将program_b信号拉低再释放,fpga芯片4清除当前配置内容,dsp处理单元2等待init_b信号拉高后将csi_b信号拉低,开始对fpga芯片4进行程序配置,其中,若未检测到init_b拉低,延迟一段时间后重新将program_b信号拉低并释放。fpga芯片4在cclk信号的上升沿对总线数据进行采样并自动识别总线位宽,然后将采集到的配置内容进行内部处理,等到程序完全配置完毕后done信号拉高,通知dsp处理单元2配置过程结束,最后dsp处理单元2将csi_b信号拉高,至此完成整个程序的动态配置。其中,由于加载程序时,本系统只对fpga芯片4进行写操作,不进行读操作,因此rdwr_b信号接地。

更进一步的,所述上位机1的控制模块生成配置文件的方法包括:配置所述fpga芯片4的参数,基于所述参数调用对应的所述配置文件。其中,用户配置dsp处理单元1的ip地址和fpga芯片4的端口号后,所述控制模块获取所述fpga4芯片4的当前程序版本及相应的版本编号等信息以供用户查询,并调用与所述参数对应的所述配置文件及相应的文件路径和文件日期等信息,实现了新旧版本比对,避免配置文件下发错误。进一步的,所述上位机1的控制模块可以作为软件模块存储于随机存储器ram、内存、只读存储器rom、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

更进一步的,所述dsp处理单元2的upp接口通过并行总线与所述fpga芯片4电气连接,其中,在系统上电的初始时刻,所述dsp处理单元将所述upp接口的引脚配置为gpio功能,用于实现在被动selectmap模式下对所述fpga芯片4进行动态配置;在所述fpga芯片4配置完成后,所述dsp处理单元2将所述upp接口的引脚配置为upp总线功能,用于实现所述dsp处理单元2与所述fpga芯片4之间的高速数据传输。本发明通过利用dsp处理单元2管脚的多功能特性,通过所述dsp处理单元对upp接口进行管脚复用,实现了同一接口在不同阶段实现多种功能,至少节省了10根gpio管脚,缩小了系统的pcb布线占用空间并降低了dsp处理单元的资源开销。

更进一步的,在所述系统断电重启后,若所述上位机1断开与所述dsp处理单元2的电气连接或所述上位机1未传输更新后的所述配置文件至所述dsp处理单元2,所述dsp处理单元2通过调用存储于所述flash芯片3的所述配置文件对所述fpga芯片4进行动态配置。本发明通过设置flash芯片3存储所述配置文件,实现了在系统断电重新后,用户能够通过dsp处理单元2灵活、快速的对所述fpga芯片4进行动态配置。

本发明通过设置上位机、dsp处理单元和flash芯片相配合,实现了无论是系统初始上电还是系统断电重启后,均能够快速的完成对fpga芯片的动态配置。同时,通过利用dsp处理单元管脚的多功能特性,通过所述dsp处理单元对upp接口进行管脚复用,实现了同一接口在不同阶段实现多种功能,缩小了系统的pcb布线占用空间并降低了dsp处理单元的资源开销,解决了传统的动态配置fpga的系统存在的更新流程繁琐、占用系统资源较高的问题。

相应的,如图3所示,本发明提供,一种被动selectmap模式下动态配置fpga的方法,包括:s1:上位机1将配置文件通过网口传输至dsp处理单元2;s2:所述dsp处理单元2将所述配置文件传输至flash芯片3存储;s3:所述dsp处理单元2基于所述配置文件对fpga芯片4进行动态配置;s4:在所述fpga芯片4配置完成后,所述dsp处理单元2将upp接口的引脚配置为upp总线功能,从而实现所述dsp处理单元2与所述fpga芯片4之间的高速数据传输。其中,所述s1还包括:在所述dsp处理单元2完成接收所述配置文件的情况下,所述dsp处理单元2基于crc校验算法对所述配置文件进行crc校验。

进一步的,所述s1还包括:基于控制模块配置所述fpga芯片4的参数;基于所述参数调用对应的所述配置文件。其中,参数包括dsp处理单元1的ip地址和fpga芯片4的端口号等。

更进一步的,所述动态配置fpga的方法还包括:在系统断电重启后,若所述上位机1断开与所述dsp处理单元2的电气连接或所述上位机1未传输更新后的所述配置文件至所述dsp处理单元2,所述dsp处理单元2通过调用存储于所述flash芯片3的所述配置文件对所述fpga芯片4进行动态配置。

以上对本发明实施例所提供的被动selectmap模式下动态配置fpga的系统及其方法进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

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