CN103455714A - 基于FPGA的DPR SoC自重构系统的耗时计算方法及应用 - Google Patents
基于FPGA的DPR SoC自重构系统的耗时计算方法及应用 Download PDFInfo
- Publication number
- CN103455714A CN103455714A CN201310365661XA CN201310365661A CN103455714A CN 103455714 A CN103455714 A CN 103455714A CN 201310365661X A CN201310365661X A CN 201310365661XA CN 201310365661 A CN201310365661 A CN 201310365661A CN 103455714 A CN103455714 A CN 103455714A
- Authority
- CN
- China
- Prior art keywords
- icap
- pro
- time
- data
- dpr
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种基于FPGA的DPR SoC自重构系统的耗时计算方法,在DPR SoC自重构系统进行动态实时重构过程中,依据数据的流向可分为三个互斥的耗时阶段,分别为DMEM-PRO阶段、PRO-ICAP阶段和ICAP-CM阶段,每个阶段对应的耗时分别为:RTDMEM-PRO,为处理器将部分配置数据从外部存储设备中读取到本地内存的时间;RTPRO-ICAP,为部分配置数据从处理器本地内存转移至重构控制器缓冲区的时间;RTICAP-CM,为部分配置数据从重构控制器的缓冲区域通过ICAP内部配置访问端口写入到FPGA配置空间的时间;得到DPR SoC自重构系统的全局耗时RT等于上述三个阶段的耗时之和。本发明还公开了一种基于耗时计算方法的性能评估方法。
Description
技术领域
本发明涉及基于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,该阶段的耗时计算公式为
式中,L为部分配置数据的大小,以字节为单位,Dtype为外部存储设备访问控制器的类型因子,Pfre为处理器工作频率系数因子,Pdata为处理数据带宽,RTDMEM-PRO以ms作为度量单位。
本发明中,所述第二阶段RTPRO-ICAP的耗时,即部分配置数据从处理器本地内存转移至专用重构控制器缓冲区的时间,该阶段耗时主要取决于专用重构控制器的硬件参数配置和软件驱动设置。硬件参数配置包括专用重构控制器的带宽、工作频率、内部缓冲区FIFO的分配空间以及控制器所基于的总线类型;软件驱动设置主要指其API驱动设计中单次传送数据量的大小。本发明中以基于PLB总线的XPSHWICAP专用控制器作为基准,工作频率为100MHz,数据端口为32bit,单次传输数据量为N,测试用例的配置文件参考规模为24576Bytes,则RTPRO-ICAP阶段的耗时获取公式为
式中,L为部分配置数据的大小,以字节为单位,N为单次传输数据量,Ffre为重构控制器的工作频率,Wdata为重构控制器内部配置端口的数据位宽,Pfre为处理器工作频率系数因子,Pdata为处理器处理数据带宽,RTPRO-ICAP以ms作为度量单位。
本发明中,所述第三阶段RTICAP-CM的耗时,即部分配置数据从专用重构控制器的缓冲区域通过ICAP内部配置访问端口真正写入到FPGA配置空间的时间,该时间主要取决于器件类型,一般以厂商经验数据为准。本发明以Xilinx Virtex系列FPGA作为参考器件,该系列要求必须向专用控制器的缓存区域写满2KB数据才能触发ICAP内部端口对FPGA的配置操作,从而对于规模为L字节的配置数据和配置系数为Cspeed的器件类型而言,RTICAP-CM的耗时计算公式为
式中,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(即重构数据吞吐量)为
式中,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桥设备,用于访问CompactFlash设备的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。
Claims (6)
1.一种基于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。
2.如权利要求1所述的基于FPGA的DPR SoC自重构系统的耗时计算方法,其特征在于,所述DMEM-PRO阶段的耗时为
式中,L为部分配置数据的大小,以字节为单位,Dtype为外部存储设备访问控制器的类型因子,Pfre为处理器工作频率系数因子,Pdata为处理数据带宽,RTDMEM-PRO以ms作为度量单位。
3.如权利要求1所述的基于FPGA的DPR SoC自重构系统的耗时计算方法,其特征在于,所述PRO-ICAP阶段的耗时为
式中,L为部分配置数据的大小,以字节为单位,N为单次传输数据量,Ffre为重构控制器的工作频率,Wdata为重构控制器内部配置端口的数据位宽,Pfre为处理器工作频率系数因子,Pdata为处理器处理数据带宽,RTPRO-ICAP以ms作为度量单位。
4.如权利要求1所述的基于FPGA的DPR SoC自重构系统的耗时计算方法,其特征在于,所述ICAP-CM阶段的耗时为
式中,L为部分配置数据的大小,以字节为单位,Cspeed为器件的配置系数,RTICAP-CM以ms为度量单位。
5.如权利要求1所述的基于FPGA的DPR SoC自重构系统的耗时计算方法,其特征在于,所述的DPR SoC自重构系统的全局耗时RT还包括额外的耗时开销RTaddition,则
RT=RTDMEM-PRO+RTPRO-ICAP+RTICAP-CM+RTaddition
其中,RTaddition为常量,包括确保安全性的配置代码分析时间,可重构器件的初始化和启动时间,处理器向重构控制器发送合适指令的时间,配置数据从用户空间到Linux内核的拷贝时间。
6.一种基于权利要求1~5任一项所述的耗时计算方法的性能评估方法,其特征在于,用于性能评估的指标向量ARPT为
式中,BS为Bitstream Size。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310365661.XA CN103455714B (zh) | 2013-08-20 | 2013-08-20 | 基于FPGA的DPR SoC自重构系统的耗时计算方法及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310365661.XA CN103455714B (zh) | 2013-08-20 | 2013-08-20 | 基于FPGA的DPR SoC自重构系统的耗时计算方法及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103455714A true CN103455714A (zh) | 2013-12-18 |
CN103455714B CN103455714B (zh) | 2017-02-08 |
Family
ID=49738068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310365661.XA Active CN103455714B (zh) | 2013-08-20 | 2013-08-20 | 基于FPGA的DPR SoC自重构系统的耗时计算方法及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103455714B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445863A (zh) * | 2018-11-01 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种基于fpga的数据处理方法、装置、设备及介质 |
CN111611199A (zh) * | 2020-04-16 | 2020-09-01 | 福州瑞芯微电子股份有限公司 | 一种Soc芯片性能和功耗的优化方法、装置、设备和介质 |
CN112131176A (zh) * | 2020-09-29 | 2020-12-25 | 中国船舶重工集团公司第七二四研究所 | 一种基于pcie的fpga快速局部重构方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668237B1 (en) * | 2002-01-17 | 2003-12-23 | Xilinx, Inc. | Run-time reconfigurable testing of programmable logic devices |
CN101441674A (zh) * | 2008-12-15 | 2009-05-27 | 浙江大学 | 基于fpga的动态可重构系统的分片配置方法 |
CN102135951A (zh) * | 2011-03-07 | 2011-07-27 | 哈尔滨工业大学 | 基于运行时重构的ls-svm算法fpga实现方法 |
-
2013
- 2013-08-20 CN CN201310365661.XA patent/CN103455714B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668237B1 (en) * | 2002-01-17 | 2003-12-23 | Xilinx, Inc. | Run-time reconfigurable testing of programmable logic devices |
CN101441674A (zh) * | 2008-12-15 | 2009-05-27 | 浙江大学 | 基于fpga的动态可重构系统的分片配置方法 |
CN102135951A (zh) * | 2011-03-07 | 2011-07-27 | 哈尔滨工业大学 | 基于运行时重构的ls-svm算法fpga实现方法 |
Non-Patent Citations (3)
Title |
---|
KYPRIANOS PAPADIMITRIOU: "Performance of Partial Reconfiguration in FPGA systems:A survey and a cost model", 《ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS》 * |
谭翔,吴宁,施峻武: "基于SCA的软件无线电SoPC设计", 《现代电子技术》 * |
赵佳,黄新栋,张涌: "基于System ACE的FPGA全局动态可重配置的研究", 《电子设计工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445863A (zh) * | 2018-11-01 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种基于fpga的数据处理方法、装置、设备及介质 |
CN111611199A (zh) * | 2020-04-16 | 2020-09-01 | 福州瑞芯微电子股份有限公司 | 一种Soc芯片性能和功耗的优化方法、装置、设备和介质 |
CN111611199B (zh) * | 2020-04-16 | 2023-04-11 | 瑞芯微电子股份有限公司 | 一种Soc芯片性能和功耗的优化方法、装置、设备和介质 |
CN112131176A (zh) * | 2020-09-29 | 2020-12-25 | 中国船舶重工集团公司第七二四研究所 | 一种基于pcie的fpga快速局部重构方法 |
CN112131176B (zh) * | 2020-09-29 | 2023-12-12 | 中国船舶集团有限公司第七二四研究所 | 一种基于pcie的fpga快速局部重构方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103455714B (zh) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678257B (zh) | 基于fpga的正定矩阵浮点求逆器及其求逆方法 | |
Zhang et al. | A multiwindow partial buffering scheme for FPGA-based 2-D convolvers | |
CN105808795A (zh) | 基于时序约束的fpga芯片全局布局优化方法 | |
CN110245366A (zh) | 动态功耗估计方法、装置及系统 | |
US9846587B1 (en) | Performance analysis using configurable hardware emulation within an integrated circuit | |
Duhem et al. | Reconfiguration time overhead on field programmable gate arrays: reduction and cost model | |
CN103455714B (zh) | 基于FPGA的DPR SoC自重构系统的耗时计算方法及应用 | |
Gookyi et al. | Selecting a synthesizable RISC-V processor core for low-cost hardware devices | |
Shannon et al. | Maximizing system performance: Using reconfigurability to monitor system communications | |
Li et al. | Hardware reconfigurable wireless sensor network node with power and area efficiency | |
Anumandla et al. | Field programmable gate arrays‐based differential evolution coprocessor: a case study of spectrum allocation in cognitive radio network | |
Bertazzoni et al. | Design Space Exploration for Edge Machine Learning featured by MathWorks FPGA DL Processor: A Survey | |
Goehringer et al. | Impact of Task Distribution, Processor Configurations and Dynamic Clock Frequency Scaling on the Power Consumption of FPGA-based Multiprocessors. | |
Patrigeon et al. | FlexNode: a reconfigurable Internet of Things node for design evaluation | |
CN204808309U (zh) | 基于apb接口的看门狗模块ip核 | |
De Dinechin et al. | An FPGA architecture for solving the Table Maker's Dilemma | |
Daigneault et al. | Fast description and synthesis of control-dominant circuits | |
Wang et al. | High-level power estimation model for SOC with FPGA prototyping | |
Zhang et al. | ARM and FPGA heterogeneous accelerated processing system based on HLS and PCIe | |
Hahanov et al. | «Quantum» processor for digital systems analysis | |
Wang et al. | An implementation architecture design of LU decomposition in resource-limited system | |
Allugundu et al. | Acceleration of distance-to-default with hardware-software co-design | |
Akella et al. | Sparse matrix-vector multiplication kernel on a reconfigurable computer | |
Pitkänen et al. | Power consumption benchmarking for reconfigurable platforms | |
Palangpour | FPGA implementation of PSO algorithm and neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210126 Address after: 311200 room b1-3-034, No. 198, Qidi Road, economic and Technological Development Zone, Xiaoshan District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou purevision Technology Co.,Ltd. Address before: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an Patentee before: XIDIAN University |