一种低功耗的FPGA部分可重构方法和装置制造方法及图纸

技术编号:27935170 阅读:20 留言:0更新日期:2021-04-02 14:15
本发明专利技术提出一种低功耗的FPGA部分可重构方法和装置。本发明专利技术方案所述的系统装置通过结合FPGA静态区逻辑的裁剪及重构切换技术、存储器控制接口休眠与动态时钟管理单元的时钟频率实时调整机制,有效地降低了FPGA静态逻辑区的无效功耗,同时也进一步避免了静态逻辑区长期工作在高频率状态所带来的散热与稳定性问题。

【技术实现步骤摘要】
一种低功耗的FPGA部分可重构方法和装置
本专利技术涉及可重构计算领域,并特别涉及一种低功耗的FPGA部分可重构方法和装置。
技术介绍
计算机的系统结构对于其信息处理能力有着至关重要的影响。然而,很难存在一种对所有运算任务都是最优解的通用计算架构。例如,在机器学习、数据库、图像处理、通信和金融运算等场景领域,不同属性的计算任务有其相适应的计算架构,这往往需要设计专用的定制芯片架构以获取最佳性能。由于专用计算芯片的研发成本高、生产周期长,业界近年来一直在探索如何使用更为灵活的方案解决此问题。可重构计算的思想源于上世纪60年代,最初由UCLA的GeraldEstrin提出。Estrin团队的Fixed-Plus-Variable系统被业界认为是可重构计算的原型机。在Estrin最初的设想中,可重构计算包括一个作为中央控制单元的标准CPU,以及众多可重构的运算单元。这些可重构计算单元由中央CPU控制,在执行相应任务(如图像处理,模式识别,科学运算等等)时配置成对应的最优架构(即硬件编程)。然而受限于当时的电子技术水平,直到数十年后,这种设计思想才伴随以FPGA为代表的可编程器件的发展得以真正实现。到2001年,虽然可重构计算使用的运算单元(FPGA)时钟频率远低于同期的CPU,但是可重构计算的综合运算能力却可以超越CPU数倍,而功耗也远小于CPU。FPGA(FieldProgrammableGateArrays,现场可编程门阵列)是基于通过可编程互连连接的可配置逻辑块矩阵的半导体器件。此类芯片在制造完成后,依旧可以被重新编程,从而满足用户所需的应用程序或功能要求。此特性使得FPGA与专用集成电路(ASIC)区别开来,后者是为特定设计任务而定制生产的。目前主流的FPGA主要基于SRAM技术工艺,开发者可以根据设计需求的变化,对其进行重新编程。PR(PartialReconfiguration,部分可重构)允许开发人员动态地重构FPGA的特定区域部分,而其余的FPGA设计继续正常运行。这种方法在具有多个功能、并且各个功能模块可以时分复用的系统中非常有效。这些功能模块可以分时共享相同的FPGA器件资源,并根据场景需求动态实时切换。很多FPGA厂商已经可以提供较为完整的部分可重构解决方案。PR使实现更复杂、更加弹性灵活的FPGA系统成为了可能。部分可重构的方案需要将FPGA的逻辑资源划分为静态逻辑区和动态逻辑区两个区域。借助于部分可重构的技术框架,FPGA系统可根据设计者的需要,对动态逻辑区域进行调整、划分,并在系统运行过程中实时切换动态区的逻辑模块,动态地调整系统自身的硬件架构,从而实现了可重构计算的构想。目前主流的云服务提供商借助部分可重构等相关技术,通过将其自研的静态逻辑区框架与整体的云平台框架进行有效整合,向外部用户开放FPGA的动态逻辑区。在这种使用模式中,FPGA部署于服务器端,作为加速设备对外提供服务;用户借助网络远程上传自己设计的逻辑模块,并在云服务器端的FPGA设备中直接运行并进行相关测试。部分可重构的方案需要将FPGA的逻辑资源划分为静态逻辑区和动态逻辑区两个区域,其中静态逻辑区将提供对外通信接口、板载DDR3/DDR4/HBM等存储器的控制器接口、动态重构控制CPU等必要模块,动态逻辑区则预留出各项逻辑资源向用户提供服务。静态逻辑区与动态逻辑区通过片内配置通道接口(例如XilinxFPGA的ICAP/PCAP等原语模块)连接。这些原语模块是部分可重构比特流由静态区向动态区进行配置的通道。在业界现有的FPGA部分可重构方案中,静态区逻辑,尤其是静态区逻辑的控制CPU往往仅需要在动态区的部分可重构期间工作,而在其他时间往往处于闲置状态。考虑到FPGA系统的绝大部分时间均工作在动态区稳定运行阶段而非部分可重构阶段,因此大部分时间,静态区CPU功耗可以认为是浪费的。此外,考虑到动态区逻辑所有可能的需求,静态区逻辑往往需要尽可能实现并提供所有的外部接口,包括FPGA片外板载DDR的访问控制模块,高速以太网模块,PCIe、SRIO、Aurora等各类高速总线接口。以DDR4存储器控制模块接口为例,由于需要以高频率重复对DRAM单位进行刷新,因此一旦开启不得不维持在较高能耗的状态。持续工作于较高时钟频率下的静态逻辑区,同样也加重了设备散热的负担,长期过高的工作温度也必然影响FPGA器件及其周边电子元件的稳定性与寿命。现有技术只考虑了动态区逻辑配置的性能,忽略了功耗平衡,因而未对静态逻辑区进行灵活调整。至目前为止,国内外相关研究机构和企业均没有提出完整的降低FPGA部分可重构系统功耗的可行方案。综上所述,业界目前的FPGA部分可重构系统的功耗设计,尤其是静态区功耗设计,仍存在改进空间。
技术实现思路
专利技术人在进行FPGA部分可重构设计的研究中,发现现有技术只考虑了动态区逻辑配置的性能,忽略了功耗平衡,因而未对静态逻辑区进行灵活调整。本专利技术的目的是解决现有技术中存在的FPGA部分可重构无效功耗过多的问题。本专利技术基于静态区逻辑的裁剪及重构切换技术与动态时钟管理调控技术,设计了一种在不影响功能,不降低性能的前提下节省功耗的FPGA部分可重构系统装置。具体来说本专利技术提供了一种低功耗的FPGA部分可重构方法,其中包括:步骤1、根据预设的接口类别,裁剪对外接口逻辑的完整静态区框架,得到多个分别对应特定接口类别的静态区逻辑,并将所有该静态区逻辑以FPGA静态区逻辑配置文件的形式放置于FPGA片外用于上电启动配置的非易失闪存中;步骤2、根据用户动态重构指令中动态区逻辑特性,得到用户逻辑运行所需接口,并根据该用户逻辑运行所需接口所属的接口类别,选择该非易失闪存中包含有相应接口的FPGA静态区逻辑配置文件,再根据该用户动态重构指令进行FPGA片内动态区配置。所述的低功耗的FPGA部分可重构方法,其中该步骤2包括:在完成FPGA片内动态区配置后,设置重构的动态时钟单元用于对该FPGA片内静态逻辑区的CPU软核及相关逻辑模块进行动态时钟调整。所述的低功耗的FPGA部分可重构方法,其中该步骤2包括:根据该FPGA片内动态逻辑区对各外部存储器的使用状态,向外部存储器的控制器接口模块发送控制指令,使得指定存储系统工作在自刷新状态或掉电休眠状态。所述的低功耗的FPGA部分可重构方法,其中该步骤2包括:选择该非易失闪存中静态区逻辑的初始缺省镜像,在该初始缺省镜像的引导下进行二次重构以引导FPGA进入多重启动镜像切换状态,对FPGA片内静态区的逻辑进行重构,若重构失败中断,将自动回退到初始状态。本专利技术还提出了一种低功耗的FPGA部分可重构系统,其中包括:模块1、用于根据预设的接口类别,裁剪对外接口逻辑的完整静态区框架,得到多个分别对应特定接口类别的静态区逻辑,并将所有该静态区逻辑以FPGA静态区逻辑配置文件的形式放置于FPGA片外用于上电启动配置的非易失闪存中;模块2、用于根据用户动态重构指令中动态区逻辑特性,得到用户逻辑运行所需接口本文档来自技高网
...

【技术保护点】
1.一种低功耗的FPGA部分可重构方法,其特征在于,包括:/n步骤1、根据预设的接口类别,裁剪对外接口逻辑的完整静态区框架,得到多个分别对应特定接口类别的静态区逻辑,并将所有该静态区逻辑以FPGA静态区逻辑配置文件的形式放置于FPGA片外用于上电启动配置的非易失闪存中;/n步骤2、根据用户动态重构指令中动态区逻辑特性,得到用户逻辑运行所需接口,并根据该用户逻辑运行所需接口所属的接口类别,选择该非易失闪存中包含有相应接口的FPGA静态区逻辑配置文件,再根据该用户动态重构指令进行FPGA片内动态区配置。/n

【技术特征摘要】
1.一种低功耗的FPGA部分可重构方法,其特征在于,包括:
步骤1、根据预设的接口类别,裁剪对外接口逻辑的完整静态区框架,得到多个分别对应特定接口类别的静态区逻辑,并将所有该静态区逻辑以FPGA静态区逻辑配置文件的形式放置于FPGA片外用于上电启动配置的非易失闪存中;
步骤2、根据用户动态重构指令中动态区逻辑特性,得到用户逻辑运行所需接口,并根据该用户逻辑运行所需接口所属的接口类别,选择该非易失闪存中包含有相应接口的FPGA静态区逻辑配置文件,再根据该用户动态重构指令进行FPGA片内动态区配置。


2.如权利要求1所述的低功耗的FPGA部分可重构方法,其特征在于,该步骤2包括:
在完成FPGA片内动态区配置后,设置重构的动态时钟单元用于对该FPGA片内静态逻辑区的CPU软核及相关逻辑模块进行动态时钟调整。


3.如权利要求1所述的低功耗的FPGA部分可重构方法,其特征在于,该步骤2包括:
根据该FPGA片内动态逻辑区对各外部存储器的使用状态,向外部存储器的控制器接口模块发送控制指令使得指定存储系统工作在自刷新状态或掉电休眠状态。


4.如权利要求1所述的低功耗的FPGA部分可重构方法,其特征在于,该步骤2包括:选择该非易失闪存中静态区逻辑的初始缺省镜像,在该初始缺省镜像的引导下进行二次重构以引导FPGA进入多重启动镜像切换状态,对FPGA片内静态区的逻辑进行重构,若重构失败中断,将自动回退到初始状态。

...

【专利技术属性】
技术研发人员:张科齐乐陈明宇
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

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

1