CN110989417B - 适应fpga局部重构的周期检测系统 - Google Patents
适应fpga局部重构的周期检测系统 Download PDFInfo
- Publication number
- CN110989417B CN110989417B CN201911033951.8A CN201911033951A CN110989417B CN 110989417 B CN110989417 B CN 110989417B CN 201911033951 A CN201911033951 A CN 201911033951A CN 110989417 B CN110989417 B CN 110989417B
- Authority
- CN
- China
- Prior art keywords
- function
- reconstruction
- fpga
- area
- priority
- 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
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24215—Scada supervisory control and data acquisition
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开的一种适应FPGA局部重构的周期检测系统,旨在提供一种便于功能移植并高效利用硬件资源的架构。本发明通过下述技术方案实现:平台控制管理模块通过通信中间件接收系统总线发来的控制信息,依据系统的需求对整个平台软件的运行进行实时监控,控制重构区的重构;把生成的全局和局部比特流文件等配置数据放在Flash存储器上,解析系统下发的控制信息,基于功能优先级的周期重构算法设置调度处理进程;重构时,在检测周期内依次读取相应局部重配置数据,将功能Bit运行体串行加载至FPGA的ICAP配置接口,加载完毕后,运行当前重构功能,实现功能在重构区的重构加载,满足功能在周期检测系统硬件平台上周期性时分复用的需求。
Description
技术领域
本发明涉及一种基于现场可编程门阵列FPGA局部重构(partial-reconfiguration)技术,按照周期检测系统设定的检测周期,在检测设备上周期性重构运行各待测功能的周期检测系统,尤其是能在可编程逻辑器件FPGA局部区域内分时运行的周期检测系统。
背景技术
目前针对可进化硬件技术的研究主要是面向电路以及容错设计。电路设计主要将进化算法有效解决系统最优化问题的思想应用于FPGA内,以内嵌处理器作为重构控制单元,在此基础上针对不同的应用,采用相应的进化模型和染色体编码方式,使得算法克服了进化硬件的缺点。除此之外,对传统遗传算法的改进以及新型算法的可重构实现还广泛应用于系统软硬件划分当中,为软硬件的协同工作奠定了基础。容错设计是将可重构器件中的配置信息充当进化算法中的染色体,然后通过进化算法对其进行进化计算,最终产生符合系统工作需要的硬件电路设计。可编程器件不同的电路功能需要不同的配置文件,但不同的配置文件却有可能对应相同的电路功能。这样在电路发生故障时,可进化硬件技术可以利用可编程器件内部预留的冗余资源通过进化找到实现相同功能而和故障前不同的配置信息,从而实现容错。但是,可进化硬件容错技术的发展目前也遇到一些问题,主要有:进化计算的速度问题、进化结果评价问题、可进化硬件的规模问题以及如何实现高效的编码策略和分区进化等等。航天电子系统设计是可重构技术应用最为广泛,也是技术应用相对成熟的领域。可重构技术在设计中具有的可靠性与灵活可用性优势,具体表现为:首先,在可靠性方面,飞行器发射后,可以利用FPGA可重构特性在轨重构硬件设计,以纠正软硬件错误。同时,在空间飞行时,航天电子系统往往会遇到单粒子效应等苛刻自然因素的挑战,此时便可以以容错为目的,采用冗余设计方法,以解决FPGA局部区域内的电路发生故障或是出现损坏等问题;其次,在灵活可用性方面,航天器可以根据实际需要在不同的阶段通过电路重构执行不同的任务,也可以通过在轨重构使同一个硬件应用于多个任务。除此之外,在航天电子设计中采用可重构设计,对长寿命任务的技术更新、航天器自适应控制、缩短研制时间、节省花费等也十分有益。星载计算平台研究将卫星中相关电子系统集成到FPGA中,地面人员通过计算机在不中断系统功能的情况下对其进行动态重配置,从而以较低成本完成对地观察卫星的在轨控制和数据处理。
周期检测系统是一种按照系统设定的检测周期,要求各待测功能在检测设备上周期性的重构运行,实现测试功能在系统硬件平台的时分复用,从而周期性获取各测试功能运行结果的系统。该系统能够提高硬件平台的资源利用率,提升系统设计的集成度。FPGA作为一款在线可编程逻辑器件,由于集成度高、并行性、体积小、功耗低、速度快等特点,已被各行业广泛的应用。但FPGA片内资源终究有限,片内资源成为了FPGA内部功能部署的瓶颈。传统的FPGA多重加载技术,通过对可编程逻辑器件的动态全部重构,在一定程度上提高了FPGA资源的利用率,但该技术须对FPGA的全部逻辑进行刷新,不够灵活。随着数字逻辑系统功能要求的不断提高,基于FPGA的系统设计朝着大规模和高逻辑密度的方向发展,但一些问题也随之出现,例如如何利用有限资源实现更高的利用效率,以及在复杂物理环境和外界因素作用下,如何提高系统工作稳定可靠等。在这种情况下,基于FPGA的局部可重构技术应运而生。FPGA的局部可重构技术的出现很好地解决了上述问题,对提高数字系统的实时处理能力、自适应能力、可靠性、降低硬件系统的规模和功耗具有重大的理论和实际意义,它将设计从一个纯空间的数字逻辑系统化解为在时间、空间混合构建的数字逻辑系统。实时电路重构是在电子系统的工作状态下,通过对系统中可编程器件进行重新配置来实现动态改变电路的结构。在可重构系统中,可编程器件硬件配置信息也可以像软件程序一样被动态调用或修改。这样电子系统就能在只增加少量硬件资源的情况下,兼顾硬件计算的性能,又兼具软件的灵活。可重构是指利用可编程器件在运行时根据需要重新配置逻辑状态,改变系统当前的电路结构。系统重构通常分为静态重构和动态重构两种,前者是指断开先前的电路功能后重新下载存储器中不同的目标数据来改变目标系统逻辑功能,后者则在改变电路的功能同时仍然保证电路的动态接续。动态重构是指在FPGA实际工作时,按照设计好的重构方案,实时的通过下载不同的比特流配置文件,对可重构逻辑单元进行功能的配置及更改。这种重构方法在一次FPGA配置完成后,整个电路工作时,仍可通过下载不同的比特流配置文件对电路的逻辑功能进行改变。动态可重构系统专指于时序变化的数字逻辑系统,其时序逻辑的发生,不是通过调用芯片内不同区域的逻辑资源来实现,而是通过对具有专门缓存逻辑资源的FPGA进行全局或局部的动态逻辑重构而快速实现。即在系统运行时对FPGA的逻辑功能实时地进行动态重配置,对需要修改的逻辑单元进行重新配置,没有被修改的逻辑单元将不受影响。动态重构技术可以提高FPGA中硬件逻辑资源的使用率,通过对某部分硬件逻辑资源的分时复用,达到减小整个电路使用面积的目的。但这种动态重构技术设计方法也更加复杂,如在设计中需要考虑动态可重构区域中配置数据内容更换后的时序同步等问题。FPGA芯片主要由6部分组成:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、内嵌的底层功能单元和内嵌专用硬件模块。根据对芯片逻辑实现重构的面积不同,可以分为全局重构和局部可重构。其中,全局重构是指对FPGA器件进行全部的重新配置,在配置过程中,中间结果必须放在额外的存储区域中,直到新的配置功能全部下载完为止,重构前后电路相互独立,没有关联;所有的用于重构的比特流配置文件可以保存在FPGA外部的EPROM存储器中,通过FPGA调用不同的比特流配置文件,现电路功能的改变。这种重构方法需要的比特流配置文件较大,每次重构过程所需的重构配置时间较长。局部动态重构是指对重构器件或系统的一部分进行重新配置,对于被规定为可重构区域内的硬件逻辑资源,可以进行实时的动态重构操作,而其他部分的电路逻辑功能不会受到影响。这种重构方法由于仅改变了整个电路中的某一部分,因而重构过程所需的重构配置时间将会极大的缩短。由于动态局部可重构只需对可重构器件的局部逻辑资源进行重新配置,减少了重配置数据规模,从而缩短了配置时间,提升了系统效率。可重构系统除了根据重构面积来划分以外,还有根据重构的粒度、方式来划分或根据系统结构来划分。前者主要分为模块级(粗粒度)和元件级(细粒度)可重构系统,后者则分为不规则型、流水线型以及处理器集成型可重构系统。可重构技术实现是以可编程器件为基础的可重构器件。目前常见的可重构器件有:现场可编程门阵列(FPGA)、现场可编程晶体管阵列(FPTA)、现场可编程模拟阵列(FPAA)、可重构天线阵列(RAA)、可重构多处理器(RMC)和微机电系统(MEMS)等。其中数字电路设计中使用FPGA来完成系统的重构,模拟电路设计中使用现场可编程模拟阵列FPAA完成系统重构,建立在晶体管级的现场可编程晶体管阵列FPTA为数字电路和模拟电路的混合设计提供了平台。可配置逻辑块(CLB)是FPGA具有可编程能力的主要承担者。CLB的实际数量和特性根据器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。动态局部可重构功能完成是由其芯片结构和配置特征决定的。目前国际上对于基于FPGA的可重构系统的研究广为开展,从狭义角度讲,可重构系统几乎等同于基于FPGA的可重构系统。目前市场上主要有基于SRAM工艺、基于反熔丝工艺和基于Flash工艺三种FPGA。其中,基于反熔丝的FPGA只具有一次性编程能力,写入后信息永远不丢失。因此,此类FPGA是不满足可重构要求的。常规SRAM工艺的FPGA都可以实现静态重构,但并非都能实现动态部分重构。在常规FPGA工程设计中,各个逻辑单元之间可以进行任意的逻辑布线,完成信号连线。但是在模块化的可重构系统中,整个FPGA被分多个区域,每个区域相对独立。
为了灵活的复用FPGA片内资源,引入了FPGA局部重构技术。目前于比特流的方法主要实现工具是Jbits,由于Jbits工具的运行必须是Java代码的编写,且布线情况也需要进行手工设计,这就给设计者无论从代码设计,还是从FPGA结构设计方面也都提出了很高的要求,增加了设计的难度。并且其设计偏向于底层,在软件设计上的局限性也是使支持的可重构器件十分有限。而基于差异的设计方法由于只是对原始设计做了细微改动,因此在配置速度上体现了一定的优势,但也在无形中约束了其适用范围:只能适用于改动较小的设计,对于功能结构变化较大的设计,使用此方法会使设计过程变的十分复杂。且该方法中的工程修改是基于FPGAEditor工具完成的。因此,当布线资源发生变化时,原先的时序分析无法相应改变,容易使信号发生冲突。为满足测试功能大量的可重构资源需求及大规模的布线要求,本设计基于模块化的局部可重构实现方法,也即在系统中划出单独的可重构分区,用于填充相应的重构模块,将其与静态分区划分开来。重构分区内的任意逻辑资源均可以进行重构,但是边界不能改变。在常规FPGA工程设计中,各个逻辑单元之间可以进行任意的逻辑布线,从而完成信号连线。但是在模块化的可重构系统中,整个FPGA被分多个区域,每个区域相对独立,模块内部的布线设计时无需考虑其它模块,因此模块之间通信时,必须借助总线宏。FPGA局部重构技术在芯片上划分若干个区域,用来部署需要重构的功能,这些区域被称为重构区。芯片上重构区以外的所有区域称为静态区。重构区按照时分复用的方式加载不同的功能,静态区程序一直运行。不同重构区中运行的功能,由于重构区之间时间和空间上的隔离,感知不到其他重构区中功能的存在。该技术仅对FPGA的部分逻辑资源进行在线刷新,可编程逻辑器件上的其他逻辑功能不受影响,实现功能在FPGA的部分逻辑资源上时分复用,提高FPGA片内资源的利用率。
FPGA可编程逻辑器件由于其并行处理等优点被广泛应用于周期检测系统。周期检测系统按照系统设定的周期进行相关功能的检测,但往往在系统设定的周期内,不能运行系统内所有的功能,这时就需要根据功能的优先级合理部署各功能的运行。若周期检测系统需要检测的功能较多,由于FPGA片内资源的瓶颈,将这些功能同时在一片FPGA内堆叠实现,难度较大,也不现实。就当前该技术的应用情况来看,目前周期检测系统尚存在一些不足:一、周期检测系统缺失一种便于功能移植并高效利用硬件资源的架构设计。
二、针对功能在检测周期内的部署,没有给出一种有效的功能分配方法。
发明内容
本发明的目的是针对目前现状的不足之处,给出一种便于功能移植并高效利用硬件资源的架构,同时,提出一种基于功能优先级,在检测周期内分时部署功能的方法,既满足周期检测系统的功能在检测周期内的正常工作,又有效提高硬件资源利用率,便于功能跨平台移植。
本发明的上述目的可通过以下措施来实现。一种适应FPGA局部重构的周期检测系统,包括:并行连接在系统总线上的至少两个FPGA测试功能部署平台,并且每个FPGA测试功能部署平台包含了连接系统总线的总线接口适配器,结合了重构区与接口复用组件在一起的通信中间件和平台控制管理模块,其特征在于:系统总线经通信中间件与重构区的功能进行通信,通信中间件为重构区功能提供标准的接口;重构区的功能经接口复用组件与外部的接口(如MGT高速收发接口、串口等)进行信号交互;平台控制管理模块通过通信中间件接收系统总线发来的控制信息,解析系统下发的控制信息,进行系统需求解析,基于功能优先级的周期重构算法设置调度处理进程,依据系统的需求对整个平台软件的运行进行实时监控,控制重构区的重构;平台控制管理模块把生成的全局和局部比特流文件等配置数据放在Flash存储器上,依据基于功能优先级的周期重构算法设置调度处理进程,在检测周期内依次从存储扇区读取功能运行体,通过ICAP端口对可重构操作进行控制;系统上电后,默认启动包含静态区逻辑的全局比特流文件,在重构时,分时完成各功能Bit文件加载,调度处理进程在检测周期内依次从Flash存储器的存储扇区上读取功能的Bit运行体,然后将读取的功能Bit运行体串行加载至FPGA内部的ICAP配置接口,加载完毕后,对应重构区开始运行当前的重构功能,实现功能在重构区的重构加载,完成系统自重构的功能。
本发明相比于现有技术具有如下有益效果:
本发明针对重构区功能需要频繁移植的特点,引入FPGA局部重构技术,将重构区、通信中间件、接口复用组件、平台控制管理模块结合,FPGA局部重构技术实现功能在FPGA芯片局部区域内的动态加载,实现了多个功能在芯片局部区域的分时运行。系统总线经通信中间件与重构区的功能进行通信,通信中间件为功能提供标准的接口,功能在不同平台实现时均使用相同的通信接口,避免了重复开发,提高了功能的可移植性;采用通信中间件与接口复用组件,通信中间件实现了功能间通信方式与具体硬件平台的分离,提高了功能应用的跨平台可移植性,接口复用组件的可复用性提高了跨平台开发效率,重构区的功能经接口复用组件与外部的接口(如MGT高速收发接口、串口等)进行信号交互,接口复用组件是一些可复用的接口组件,使得功能开发更加高效;在时序性能上得到了极大的提高,全局信号可以直接穿越重构区域,而不必像常规方法中利用总线宏进行间接传递,硬件通用性更高。
本发明采用重构区、通信中间件、接口复用组件、平台控制管理模块等,这些功能组件有机配合,实现了功能的高度集成,减小了设备体积和重量,降低设备功耗,增强了系统的集成度。通过基于FPGA局部重构技术的平台控制管理模块设计支持系统动态配置,有效实现功能在重构区的分时加载,使得周期检测系统有序运行,提高了硬件资源利用率与功能跨平台移植性。既满足周期检测系统的功能在检测周期内的正常工作,又有效提高硬件资源利用率,便于功能跨平台移植。
本发明分别在多个FPGA测试功能部署平台设置重构区A、重构区B、重构区C及重构区D等,通过对应重构区上部署的测试功能可以通过中间件提供的标准用户接口进行通信,不需要关心底层硬件设计的差异。另外,根据平台的需求,开发了一系列的接口可复用组件,包括MGT高速收发组件、串口组件、EMIF组件等,解决功能应用在系统中与前端交互的标准化问题。如此,各重构功能对外都是标准接口,极大地增强了功能跨平台的可移植性。在此架构下,测试功能部署平台1上部署的功能可以平滑地移植到测试功能部署平台2上。如此,通信中间件与接口复用组件结合在一起,解决了重构功能跨平台的通信与可移植性。可以定义芯片内局部可重构的空间,改变动态加载硬件插件模块的配置,将局部配置位流文件下载到指定空间,为FPGA的动态配置提供了高灵活性的解决方案。
本发明基于功能优先级的周期重构算法,将系统的每个检测周期划分成N个时隙,将高优先级的待测功能分配到固定时隙内,保证其在每个检测周期内均能运行,此外,将剩余的时隙分配给低优先级的待测功能,低优先级的待测功能占用的时隙不固定,平台控管模块通过公平地轮询方式为低优先级的待测功能提供尽力而为的服务,既兼顾了功能优先级的差异,又保证功能的完备性。
本发明利用FPGA局部重构技术的时分复用特点与周期检测系统相契合,将FPGA局部重构技术引入周期检测系统,依据系统的需求在可编程逻辑器件内设置若干个重构区,在检测周期内可以实现功能在这些重构区内的分时运行,避免了片内传统堆叠实现时资源不足的问题。将FPGA局部重构技术引入周期检测系统,可以较好地适应周期检测系统,有效复用系统资源,提高系统的集成度。
本发明可以将可重构逻辑器件用于加速汽车电子系统中一些核心算法的执行,从而高效地实现特定功能。不改变硬件的情况下实现同一车型不同版本的配置差异。
附图说明
图1是本发明适应FPGA局部重构的周期检测系统架构示意图。
图2是图1平台控制管理模块的处理流程图。
图3是本发明基于功能优先级的周期重构算法工作原理图。
下面结合附图对本发明作进一步说明。
具体实施方式
参阅图1、图2。在以下描述的实施例中,一种适应FPGA局部重构的周期检测系统,包括:并行连接在系统总线上的至少两个FPGA测试功能部署平台,并且每个FPGA测试功能部署平台包含了连接系统总线的总线接口适配器,结合了重构区与接口复用组件在一起的通信中间件和平台控制管理模块。系统总线经通信中间件与重构区的功能进行通信,通信中间件为重构区功能提供标准的接口,重构区的功能经接口复用组件与外部的接口(如MGT高速收发接口、串口等)进行信号交互,平台控制管理模块通过通信中间件接收系统总线发来的控制信息,解析系统下发的控制信息,进行系统需求解析,基于功能优先级的周期重构算法设置调度处理进程,依据系统的需求对整个平台软件的运行进行实时监控,控制重构区的重构;平台控制管理模块把生成的全局Bit文件以及功能A1、功能B1、功能C1、功能D1等这些功能的局部Bit文件存放在Flash存储器上,依据基于功能优先级的周期重构算法设置的调度处理进程,在检测周期内依次从存储扇区读取功能运行体,通过ICAP端口对可重构操作进行控制;系统上电后,默认启动包含静态区逻辑的全局Bit文件,在重构时,分时完成各功能Bit文件加载,调度处理进程在检测周期内依次从Flash存储器的存储扇区上读取功能的Bit运行体,然后将读取的功能Bit运行体串行加载至FPGA内部的ICAP配置接口,加载完毕后,对应重构区开始运行当前的重构功能,实现功能在重构区的重构加载,完成系统周期性自重构的功能。当前重构功能加载完毕后,判断系统控制信息是否更新,若平台控制管理模块收到新的控制信息,则依据周期重构算法迭代调度处理进程,采用迭代后的调度处理进程完成功能在检测周期内的重构,反之,平台控制管理模块采用当前的调度处理进程继续依次完成功能的周期重构。
重构区部署周期检测系统分配的待重构的功能,重构区的规模和数量依据系统需求规划,在FPGA局部重构技术下,重构区映射至FPGA芯片的局部物理区域,该局部区域的大小可根据系统的需求动态调整。
通信中间件在总线接口适配模块的协助下,完成重构的测试功能与周期检测系统的系统总线之间的数据交互,它通过屏蔽硬件平台相关的底层通信机制、封装标准的通信接口,实现功能间通信方式与具体硬件平台的分离。
参阅图2。平台控制管理模块通过通信中间件接收系统总线发来的控制信息,这些信息包括当前平台上各重构区部署的测试功能数量及对应优先级、各功能运行体在Flash存储器上的存储扇区等信息,开展系统需求解析。平台控制管理模块根据控制信息解析的结果,基于功能优先级的周期重构算法设置了调度处理进程,在检测周期内,调度处理进程依次从Flash存储器的存储扇区上读取功能的Bit运行体,然后将功能Bit运行体加载至FPGA内部的ICAP配置接口,由于功能比特Bit运行体里本身就包含对应重构区的位置信息,当功能Bit运行体通过ICAP配置接口加载完毕后,对应重构区就开始运行当前重构功能,这样,就实现了功能在重构区的重构加载。需要说明的是,每个FPGA的ICAP配置接口只有一个,重构功能只能排队串行加载。当前重构功能加载完毕后,判断系统控制信息是否更新,若平台控制管理模块收到新的控制信息,则依据周期重构算法迭代调度处理进程,采用迭代后的调度处理进程完成功能在检测周期内的重构,反之,平台控制管理模块采用当前的调度处理进程继续依次完成功能的周期重构。
参阅图3。在适应FPGA局部重构的周期检测系统架构下,平台控管需要完成各测试功能在重构区的重构控制。提出的基于测试功能的优先级,在周期检测系统的检测周期内分时部署功能的方法,是以时隙为单元进行功能分配的。在测试功能动态可重构实施过程中,FPGA每次只能允许一个功能加载,不支持多个功能同时加载重构。平台控制管理将周期检测系统设定的检测周期划分成N个时隙,要求在划分的时隙内能够完成周期检测系统内每个重构功能的测试。测试功能部署平台设置了重构区A与重构区B,重构区A需要部署重构的测试功能包括:高优先级测试功能A1~Ai,低优先级测试功能Ai+1~Ap,其中p>i;;重构区B需要部署重构的测试功能包括:高优先级测试功能B1~Bj,低优先级测试功能Bj+1~Bq,其中N>i+j,q>j;其中,i表示重构区A内高优先级测试功能的数量,j表示重构区B内高优先级测试功能的数量,p表示重构区A内所有测试功能的数量,q表示重构区B内所有测试功能的数量。平台控制管理将检测周期的前i+j个时隙分配给高优先级测试功能使用,实现时隙与高优先级测试功能的一一绑定,并按照公平性原则依次交替分配给重构区A的高优先级测试功能A1~Ai与重构区B的高优先级测试功能B1~Bj。每一个高优先级测试功能在检测周期内都有固定对应的运行时隙,如此,高优先级的功能在检测周期内都能够运行,保证了其运行的优先性。剩余的时隙为第i+j+1到第N个时隙,留给低优先级的测试功能分配,为低优先级的测试功能提供尽力而为的服务,同样采用公平性原则依次交替分配给重构区A的低优先级功能Ai+1~Ap与重构区B的低优先级功能Bj+1~Bq,例如重构区A的低优先级功能Ax分配至第i+j+1个时隙,为保证重构区之间低优先级功能分配的公平性,第i+j+2个时隙则交替分配给重构区B的低优先级功能By,而为了保证单个重构区内低优先级功能分配的公平性,第i+j+3个时隙按顺序依次分配给重构区A的低优先级功能Ax+1,同理,第i+j+4个时隙依次交替分配给重构区B的低优先级功能By+1,以此类推。若低优先级测试功能在当前循环检测周期M没有分配完,则在下一个循环检测周期M+1的第i+j+1到第N个时隙继续分配,如此,在循环检测周期的第i+j+1到第N个时隙,按照公平原则,依次交替循环分配重构区A与重构区B的低优先级功能,为其提供尽力而为的服务。
以上所述为本发明较佳实施例,应该注意的是上述实施例对本发明进行说明,然而本发明并不局限于此,并且本领域技术人员在脱离所附权利要求的范围情况下可设计出替换实施例。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (5)
1.一种适应 FPGA局部重构的周期检测系统,包括:并行连接在系统总线上的至少两个FPGA测试功能部署平台,并且每个 FPGA测试功能部署平台包含了连接系统总线的总线接口适配器,结合了重构区与接口复用组件在一起的通信中间件和平台控制管理模块,其特征在于:系统总线经通信中间件与重构区的功能进行通信,通信中间件为重构区功能提供标准的接口;重构区的功能经接口复用组件与外部的接口进行信号交互;平台控制管理模块通过通信中间件接收系统总线发来的控制信息,解析系统下发的控制信息,进行系统需求解析, 基于功能优先级的周期重构算法设置调度处理进程,依据系统的需求对整个平台软件的运行进行实时监控,控制重构区的重构;平台控制管理模块把生成的全局和局部比特流文件放在Flash存储器上,依据基于功能优先级的周期重构算法设置的调度处理进程,在检测周期内依次从存储扇区读取功能运行体,通过 ICAP端口对可重构操作进行控制;系统上电后,默认启动包含静态区逻辑的全局比特流文件,在重构时,分时完成各功能 Bit文件加载,调度处理进程在检测周期内依次从 Flash存储器的存储扇区上读取功能的 Bit运行体,然后将读取的功能 Bit运行体串行加载至 FPGA内部的 ICAP配置接口,加载完毕后,对应重构区开始运行当前的重构功能,实现功能在重构区的重构加载,完成系统周期性自重构的功能;
所述功能优先级的周期重构算法包括以下步骤:
S1:平台控制管理将周期检测系统设定的检测周期划分成 N 个时隙,要求在划分的时隙内能够完成周期检测系统内每个重构功能的测试,测试功能部署平台设置了重构区 A与重构区 B,重构区 A 需要部署重构的测试功能包括:高优先级测试功能 A1~Ai,低优先级测试功能 Ai+1~Ap,其中 p>i;重构区 B 需要部署重构的测试功能包括:高优先级测试功能B1~Bj, 低优先级测试功能 Bj+1~Bq,其中 N>i+j,q>j;i 表示重构区 A 内高优先级测试功能的数量,j 表示重构区 B 内高优先级测试功能的数量,p 表示重构区 A 内所有测试功能的数量,q 表示重构区 B 内所有测试功能的数量,N 表示每个检测周期内划分的时隙数量;
S2:平台控制管理将检测周期的前 i+j 个时隙分配给高优先级测试功能使用,实现时隙与高优先级测试功能的一一绑定,并按照公平性原则依次交替分配给重构区 A 的高优先级测试功能 A1~Ai与重构区 B 的高优先级测试功能 B1~Bj,每一个高优先级测试功能在检测周期内都有固定对应的运行时隙,高优先级的功能在检测周期内有其运行的优先性,检测周期内剩余的时隙为第 i+j+1 到第 N 个时隙,为低优先级的测试功能提供尽力而为的服务,同样采用公平性原则依次交替分配给重构区 A 的低优先级功能 Ai+1~Ap与重构区B 的低优先级功能Bj+1~Bq,若在当前循环检测周期 M 没有分配完,则在下一个循环检测周期 M+1 的第 i+j+1到第 N 个时隙继续分配,如此,在循环检测周期的第 i+j+1 到第 N个时隙,按照公平原则, 依次交替循环分配重构区 A 与重构区 B 的低优先级功能,为其提供尽力而为的服务。
2.如权利要求 1所述的适应 FPGA局部重构的周期检测系统,其特征在于:当前重构功能加载完毕后,判断系统控制信息是否更新,若平台控制管理模块收到新的控制信息,则依据周期重构算法迭代调度处理进程,采用迭代后的调度处理进程完成功能在检测周期内的重构,反之,平台控制管理模块采用当前的调度处理进程继续依次完成功能的周期性重构。
3.如权利要求 1所述的适应 FPGA局部重构的周期检测系统,其特征在于:重构区部署周期检测系统分配的待重构的功能,重构区的规模和数量依据系统需求规划,在 FPGA局部重构技术下,重构区映射至 FPGA芯片的局部物理区域,所述局部物理区域的大小根据系统的需求动态调整。
4.如权利要求 1所述的适应 FPGA局部重构的周期检测系统,其特征在于:通信中间件在总线接口适配模块的协助下,完成重构的测试功能与周期检测系统的系统总线之间的数据交互,它通过屏蔽硬件平台相关的底层通信机制、封装标准的通信接口,实现功能间通信方式与具体硬件平台的分离。
5.如权利要求 1所述的适应 FPGA局部重构的周期检测系统,其特征在于:平台控制管理模块通过通信中间件接收系统总线发来的控制信息,这些信息包括当前平台上各重构区部署的测试功能数量及对应优先级、各功能运行体在 Flash 存储器上的存储扇区信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033951.8A CN110989417B (zh) | 2019-10-29 | 2019-10-29 | 适应fpga局部重构的周期检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033951.8A CN110989417B (zh) | 2019-10-29 | 2019-10-29 | 适应fpga局部重构的周期检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110989417A CN110989417A (zh) | 2020-04-10 |
CN110989417B true CN110989417B (zh) | 2023-02-03 |
Family
ID=70082595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911033951.8A Active CN110989417B (zh) | 2019-10-29 | 2019-10-29 | 适应fpga局部重构的周期检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110989417B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291237A (zh) * | 2020-10-28 | 2021-01-29 | 山东超越数控电子股份有限公司 | 一种基于国产fpga实现软件定义的可重构对称加密方法 |
CN112527361B (zh) * | 2021-02-08 | 2021-05-11 | 鹏城实验室 | Fpga测试程序更新方法、装置、电子设备及存储介质 |
CN114003495A (zh) * | 2021-10-29 | 2022-02-01 | 四川虹美智能科技有限公司 | 无人售卖柜的安卓应用重构方法、装置及存储介质 |
CN113923205B (zh) * | 2021-11-03 | 2022-08-12 | 上海交通大学 | 一种物联网智能感知终端远程重构系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788931A (zh) * | 2010-01-29 | 2010-07-28 | 杭州电子科技大学 | 一种硬件实时容错的动态局部可重构系统 |
CN102298344A (zh) * | 2011-05-05 | 2011-12-28 | 杭州电子科技大学 | 一种基于fpga动态部分可重构技术的局部热点缓和系统 |
CN104572213A (zh) * | 2015-01-23 | 2015-04-29 | 北京控制工程研究所 | 一种星载控制计算机的重构方法 |
CN106886505A (zh) * | 2017-01-20 | 2017-06-23 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多波形运行的局部动态可重构系统 |
CN108228966A (zh) * | 2017-12-06 | 2018-06-29 | 复旦大学 | 基于fpga局部动态重构技术的异型流水线设计方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59231966A (ja) * | 1983-06-14 | 1984-12-26 | Tamura Electric Works Ltd | 公衆電話機の処理制御方式 |
CN104156266B (zh) * | 2014-08-14 | 2017-06-16 | 黑龙江大学 | 确定实时任务或事件可调度性测试最小区间的方法 |
JP6948622B2 (ja) * | 2016-03-04 | 2021-10-13 | パナソニックIpマネジメント株式会社 | アクセスポイント、通信方法および集積回路 |
-
2019
- 2019-10-29 CN CN201911033951.8A patent/CN110989417B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788931A (zh) * | 2010-01-29 | 2010-07-28 | 杭州电子科技大学 | 一种硬件实时容错的动态局部可重构系统 |
CN102298344A (zh) * | 2011-05-05 | 2011-12-28 | 杭州电子科技大学 | 一种基于fpga动态部分可重构技术的局部热点缓和系统 |
CN104572213A (zh) * | 2015-01-23 | 2015-04-29 | 北京控制工程研究所 | 一种星载控制计算机的重构方法 |
CN106886505A (zh) * | 2017-01-20 | 2017-06-23 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多波形运行的局部动态可重构系统 |
CN108228966A (zh) * | 2017-12-06 | 2018-06-29 | 复旦大学 | 基于fpga局部动态重构技术的异型流水线设计方法 |
Non-Patent Citations (2)
Title |
---|
基于FPGA 芯片的机载波形动态重构设计;路小超;《电讯技术》;20190331;第301-305页 * |
基于公平性的D2D时隙调度算法;詹金珍等;《计算机应用》;20170310(第03期);第711-716页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110989417A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110989417B (zh) | 适应fpga局部重构的周期检测系统 | |
Garcia et al. | An overview of reconfigurable hardware in embedded systems | |
Majer et al. | The Erlangen Slot Machine: A dynamically reconfigurable FPGA-based computer | |
CN110719206B (zh) | 天基fpga虚拟化计算服务系统、方法和可读存储介质 | |
US7017140B2 (en) | Common components in interface framework for developing field programmable based applications independent of target circuit board | |
KR101080465B1 (ko) | 데이터 처리 장치 | |
US5596742A (en) | Virtual interconnections for reconfigurable logic systems | |
US7902866B1 (en) | Wires on demand: run-time communication synthesis for reconfigurable computing | |
US5761484A (en) | Virtual interconnections for reconfigurable logic systems | |
US20100070671A1 (en) | Method and device for processing data | |
US20070113054A1 (en) | Component with a dynamically reconfigurable architecture | |
US10615800B1 (en) | Method and apparatus for implementing configurable streaming networks | |
US11782729B2 (en) | Runtime patching of configuration files | |
US7716458B2 (en) | Reconfigurable integrated circuit, system development method and data processing method | |
Hubner et al. | Parallel and flexible multiprocessor system-on-chip for adaptive automotive applications based on xilinx microblaze soft-cores | |
TW202217564A (zh) | 可重組態資料流資源的運行時間虛擬化 | |
Figuli et al. | A heterogeneous SoC architecture with embedded virtual FPGA cores and runtime Core Fusion | |
US9946551B2 (en) | System and method that generate reconfiguration information | |
He et al. | Fecaffe: Fpga-enabled caffe with opencl for deep learning training and inference on intel stratix 10 | |
Tan et al. | A multilayer framework supporting autonomous run-time partial reconfiguration | |
Hanafi et al. | FPGA-based secondary on-board computer system for low-earth-orbit nano-satellite | |
Navas et al. | The RecoBlock SoC platform: A flexible array of reusable run-time-reconfigurable IP-blocks | |
Lu et al. | Fpga based adaptive hardware acceleration for multiple deep learning tasks | |
Li et al. | Low power design methodology for signal processing systems using lightweight dataflow techniques | |
Shiyanovskii et al. | An adaptable task manager for reconfigurable architecture kernels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |