首页> 中国专利> 基于FPGA的DPR SoC自重构系统的耗时计算方法及应用

基于FPGA的DPR SoC自重构系统的耗时计算方法及应用

摘要

本发明公开了一种基于FPGA的DPR SoC自重构系统的耗时计算方法,在DPR SoC自重构系统进行动态实时重构过程中,依据数据的流向可分为三个互斥的耗时阶段,分别为DMEM-PRO阶段、PRO-ICAP阶段和ICAP-CM阶段,每个阶段对应的耗时分别为:RTDMEM-PRO,为处理器将部分配置数据从外部存储设备中读取到本地内存的时间;RTPRO-ICAP,为部分配置数据从处理器本地内存转移至重构控制器缓冲区的时间;RTICAP-CM,为部分配置数据从重构控制器的缓冲区域通过ICAP内部配置访问端口写入到FPGA配置空间的时间;得到DPR SoC自重构系统的全局耗时RT等于上述三个阶段的耗时之和。本发明还公开了一种基于耗时计算方法的性能评估方法。

著录项

  • 公开/公告号CN103455714A

    专利类型发明专利

  • 公开/公告日2013-12-18

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201310365661.X

  • 申请日2013-08-20

  • 分类号G06F19/00(20110101);

  • 代理机构33224 杭州天勤知识产权代理有限公司;

  • 代理人胡红娟

  • 地址 710071 陕西省西安市太白南路2号西安电子科技大学

  • 入库时间 2024-02-19 21:57:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-08

    授权

    授权

  • 2014-01-15

    实质审查的生效 IPC(主分类):G06F19/00 申请日:20130820

    实质审查的生效

  • 2013-12-18

    公开

    公开

说明书

技术领域

本发明涉及基于FPGA的DPR SoC自重构系统领域,尤其涉及一种 基于FPGA的DPR SoC自重构系统的耗时计算方法及应用。

背景技术

为了面向密集型计算任务和海量数据处理对计算加速日益增长的苛 刻需求,DPR动态部分可重构技术由于充分发挥了资源时分复用性,同时 合理解决了摩尔定律带来的挑战,逐渐成为目前最具活力和发展前途的一 项技术研究和解决策略。基于FPGA的DPR SoC自重构片上系统则充分利 用了可编程器件和集成芯片超大规模、超高密度、超低功耗和最优性能等 特性,近几年在大数运算、基因重组与匹配、数字图像处理、实时智能监 控、图像纹理填充、声纳波束合成、军事目标匹配以及集成电路的计算机 辅助设计等领域得以广泛应用。

相对于利用通用处理器进行数据处理算法,DPR SoC自重构系统通过 将纯粹的软件过渡为高速的硬件任务进行执行,从而提高了处理速度;相 对于ASIC专用集成电路进行计算任务的处理,DPR SoC自重构系统将其从 定制形式过渡为半定制形式,进一步节约了硬件成本,降低了开发周期。

虽然基于FPGA和总线通信架构的DPR SoC自重构系统利用模块实时 动态重载性质带来的优势以使得系统性能非线性增加,资源占用大幅降 低,但是同时也将性能优化和评估引入到该系统中,如何为其建模一套可 靠性的耗时评测嵌入式通用系统和高精度的计算公式成为当务之急。高效 通用的耗时测量系统和计算公式能够为设计人员构建最优的DPR SoC自 重构系统提供指导意义。

发明内容

本发明提供了一种基于FPGA的DPR SoC自重构系统耗时计算方法和 性能评估模型,解决了当前系统无法实现定量性能评估及优化的问题,为 性能与片上资源占用之间的权衡提供了评测指标。

基于FPGA的DPR SoC自重构系统,至少包括嵌入式软核、硬核处理 器、重构专用控制器、总线、部分配置比特流存储模块、内存访问控制器、 可重构动态IP核模块等,所有模块挂载在主从总线或独立的单总线上,共 享总线带宽的同时通过冲裁机制竞争总线的使用权。

所述耗时计算通用方法是在DPR SoC自重构系统的基础上引入并集 成自定义的定时测量IP核,用以分阶段对系统整体耗时进行有效测量和评 估,所述通用方法在进行测试数据整理和分析后,将依据数学方法进一步 推导出高可靠性的计算公式。

一种基于FPGA的DPR SoC自重构系统的耗时计算方法,在DPR SoC 自重构系统进行动态实时重构过程中,依据数据的流向可分为三个互斥的 耗时阶段,分别为DMEM-PRO阶段、PRO-ICAP阶段和ICAP-CM阶段, 每个阶段对应的耗时分别为:

RTDMEM-PRO,为处理器将部分配置数据从外部存储设备中读取到本地内 存的时间;

RTPRO-ICAP,为部分配置数据从处理器本地内存转移至重构控制器缓冲 区的时间;

RTICAP-CM,为部分配置数据从重构控制器的缓冲区域通过ICAP内部配 置访问端口写入到FPGA配置空间的时间;

算得DPR SoC自重构系统的全局耗时RT

RT=RTDMEM-PRO+RTPRO-ICAP+RTICAP-CM

本发明中,第一阶段RTDMEM-PRO的耗时,即嵌入式处理器将部分可配置 数据从外部存储设备中读取到本地内存的时间,主要取决于内存访问控制 器的读取带宽。外部存储设备类型以Compact Flash设备作为基准,嵌入式 处理器以Microblaze作为基准,通过测量系统可测试并计算出SysACE控制 器(用于访问Compact Flash设备)的带宽为0.63418MByte/s,同时Microblaze 处理器的工作频率为100MHz,处理的数据位宽为32bit。将外部存储设备 访问控制器的类型因子(带宽系数)定义为Dtype,不同嵌入式处理器工作频 率系数因子定义为Pfre,处理数据带宽定义为Pdata,该阶段的耗时计算公式 为

RTDMEM-PRO=L*Dtype0.63418*Pfre100*Pdata32*10-3

式中,L为部分配置数据的大小,以字节为单位,Dtype为外部存储设 备访问控制器的类型因子,Pfre为处理器工作频率系数因子,Pdata为处理数 据带宽,RTDMEM-PRO以ms作为度量单位。

本发明中,所述第二阶段RTPRO-ICAP的耗时,即部分配置数据从处理器 本地内存转移至专用重构控制器缓冲区的时间,该阶段耗时主要取决于专 用重构控制器的硬件参数配置和软件驱动设置。硬件参数配置包括专用重 构控制器的带宽、工作频率、内部缓冲区FIFO的分配空间以及控制器所 基于的总线类型;软件驱动设置主要指其API驱动设计中单次传送数据量 的大小。本发明中以基于PLB总线的XPSHWICAP专用控制器作为基准, 工作频率为100MHz,数据端口为32bit,单次传输数据量为N,测试用例 的配置文件参考规模为24576Bytes,则RTPRO-ICAP阶段的耗时获取公式为

RTPRO-ICAP=L*{8.398*exp(-0.3195*N)+1.47*exp(-0.0001801*N)}24567

*Ffre100*Wdata32*Pfre100*Pdata32

式中,L为部分配置数据的大小,以字节为单位,N为单次传输数据 量,Ffre为重构控制器的工作频率,Wdata为重构控制器内部配置端口的数据 位宽,Pfre为处理器工作频率系数因子,Pdata为处理器处理数据带宽, RTPRO-ICAP以ms作为度量单位。

本发明中,所述第三阶段RTICAP-CM的耗时,即部分配置数据从专用重 构控制器的缓冲区域通过ICAP内部配置访问端口真正写入到FPGA配置 空间的时间,该时间主要取决于器件类型,一般以厂商经验数据为准。本 发明以Xilinx Virtex系列FPGA作为参考器件,该系列要求必须向专用控 制器的缓存区域写满2KB数据才能触发ICAP内部端口对FPGA的配置操 作,从而对于规模为L字节的配置数据和配置系数为Cspeed的器件类型而 言,RTICAP-CM的耗时计算公式为

PTICAP-CM=0.02526*L2048*Cspeed

式中,L为部分配置数据的大小,以字节为单位,Cspeed为器件的配置 系数,RTICAP-CM以ms为度量单位。

本发明中,还需考虑到一些特殊应用场景的DPR SoC系统存在另外不 可忽略的耗时开销,如确保安全性的配置代码分析时间,可重构器件的初 始化和启动时间,处理器向XPSHWICAP等专用重构控制器发送合适指令 的时间,配置数据从用户空间到Linux内核的拷贝时间等,为扩展耗时模 型的通用性,将以上特殊选归类项标记为额外的耗时开销RTaddition,同时作 为常量处理。因此,本发明提出DPR SoC自重构系统的全局耗时RT的通 用计算公式为

RT=RTDMEM-PRO+RTPRO-ICAP+RTICAP-CM+RTaddition

其中,RTaddition为常量,包括确保安全性的配置代码分析时间,可重构 器件的初始化和启动时间,处理器向重构控制器发送合适指令的时间,配 置数据从用户空间到Linux内核的拷贝时间。

根据上述的耗时计算方法,设计人员可以根据当前计算获取的重构数 据吞吐量ARTP对DPR SoC系统性能进行全面定量的评估,因此,本发 明还提供了一种基于耗时计算方法的性能评估模型,用于性能评估的指标 向量ARPT(即重构数据吞吐量)为

ARTP=BSRT=BSRTDMEM-PRO+RTPRO-ICAP+RTICAP-CM+RTaddition

式中,BS为Bitstream Size。

由于耗时计算方法中兼顾了影响系统性能的关键因素,如处理器工作 频率及处理数据位宽、外部存储设备访问控制器带宽、FPGA器件类型、 专用重构控制器硬件参数配置及API驱动软件设计等,可进一步具有针对 性地对系统实行优化策略。

附图说明

图1为本发明基于FPGA的DPR SoC自重构系统架构图;

图2为基于分阶段的耗时模型示意图;

图3为本发明耗时测量系统的架构图;

图4为本发明自定义计时器的逻辑设计流程图。

具体实施方式

如图1所示,一种基于FPGA的DPR SoC自重构系统,包括Microblaze 软核处理器(MicroBlaze嵌入式软核是一个被Xilinx公司优化过的可以嵌 入在FPGA中的RISC处理器软核),xps_hwicap专用重构控制器,PLB 主从总线,用于连接主从总线的plb_plb_bridge桥设备,用于访问Compact  Flash设备的xps_sysace访问控制器,用于人机交互的xps_uartlite串口设 备,具备可重构特性的math_0计算模块等。所有IP核模块均挂载在总线 上,系统同样支持单总线架构,在共享总线带宽资源的前提下,不同的工 作IP核通过冲裁机制获取总线当前的使用权。

如图2所示,基于分阶段的耗时模型示意图,将DPR SoC自重构系 统的整体耗时划分为三个互斥的阶段,分别为DMEM-PRO阶段、 PRO-ICAP阶段和ICAP-CM阶段。

DMEM-PRO阶段的耗时主要是部分配置数据从Compact Flash设备 中通过SYSACE访问控制器读取到Microblaze的本地BRAM内存中的时 间,其速度取决于处理器和内存访问控制器的性能。PRO-ICAP阶段的耗 时主要是部分配置数据从Microblaze处理器的BRAM内存中转移到 XPSHWICAP模块的内部FIFO缓冲区的时间,其速度取决于处理器性能 以及XPSHWICAP IP核的软硬件设计。ICAP-CM阶段的耗时主要是 XPSHWICAP内部FIFO中存放的部分配置通过ICAP内部访问配置端口 写入到FPGA配置空间的时间,其速度取决于FPGA的器件特性和性能。

如图3所示,耗时测量系统的架构图,以单总线架构为例,DPR SoC 系统中包括待测量的IP核SYSACE控制器核XPSHWICAP专用重构控制 器,包括用以计时的自定义计时器my_counter。测量过程主要通过基于硬 件的软件时间戳策略完成,修改待测量IP核的驱动设计文件,即在调用 待测量IP核的前后引入计时器,通过累计计时获取各阶段的主要耗时。

如图4所示,自定义计时器的逻辑设计流程图,该计时器的复位信号 和时钟信号均采用全局资源信号,计时操作由总线时钟Bus2IP_Clk信号 的上升沿触发。利用全局复位信号和模块局部清零信号来对存放计时数据 的寄存器进行全局管理和控制,寄存器的每次累计计时需要判断是否产生 数据溢出现象,即到达"X''FFFF_FFFF'"最大计数值,若有超过应向级联的 前一个计数器发出进位信号,自身进行数值置'0'操作并重新计时。

自定义计时器中用于存放计时数据的寄存器总共有3个,即slv_reg0、 slv_reg1和slv_reg2。设计中主要根据counterID的取值来判断当前的有效 计时数据,如果counterID==0x00成立,则输出寄存器slv_reg0(counter0) 中记录的时间即可,这也是真实的有效测量时间;如果counterID==0x01 成立,则输出slv_reg1(counter1)中记录的值,此时真实的有效测量时间是 以42.9ms为单位进制的数值计算,且slv_reg0和slv_reg1联合使用的最 大计时为42.9*232ms,而slv_reg1的独立有效计时区间为 42.9ms~42.9*232ms;如果counterID==0x02,则输出slv_reg2(counter2)记录 的值,该值可真实反映的独立有效计区间时为42.9*232ms~42.9*264ms。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号