基于FPGA的硬件加速器设计的研究与应用.docVIP

基于FPGA的硬件加速器设计的研究与应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的硬件加速器设计的研究与应用.doc

基于FPGA的硬件加速器设计的研究与应用   摘 要:通过对硬件加速器的目的和原理作详细介绍,以sobel硬件加速器的设计为研究内容,设计硬件加速器由计算单元、地址产生器、从机接口和控制状态机等构成,将各模块连接验证进行测试。系统连接通过对图像进行边缘检测处理,使系统总处理时间降低,从而优化复杂系统设计。   关键词:sobel硬件加速器;研究;验证;优化   中图分类号:TP332.2   1 硬件加速器的目的   随着待处理信息量和算法复杂度的日益剧增,单核处理器已经不能胜任某些实时系统的需求。例如处理高清视频是需要采用DSP+FPGA的系统策略,将视频压缩标准H.264压缩算法中耗时大的部分交给FPGA处理,以达到硬件加速的目的。不仅视频图像,在许多其它系统中,对处理器要求高的,需编写专用的嵌入式软件,采用高档的处理器芯片有时无法达到系统对算法运算速度的要求,即使能达到,性能比较差,因此需要设计专用硬件。   2 硬件加速器器的基本原理   硬件加速的实质是通过增加运算并行性达到加速目的。常采用硬件复制和流水线的方法。将设计的处理流程分为若干步骤,整个数据处理是“单流向”的,前一个步骤的输出是下一个步骤的输入,采用流水线设计方法来提高系统的工作频率,如图1所示。流水线各步骤的处理由各单元完成,当数据沿流水线方向依次通过所有功能单元时,即完成了所有数据处理并输出到寄存器。由于流水线上各功能单元能够并行工作,因此只要保证下一功能单元的输入是上一功能单元的输出,则所有功能单元并行工作可以保证整个流水线正常工作,而无须等到整个流水线处理结束后才开始下一份数据的处理,从而保证数据充满所有功能单元,提高处理速率。   图1 流水线处理步骤   在应用中,选取硬件加速对象时,应该对耗时大的算法进行加速,从而降低其它处理器的负担。   假设执行算法核心所占的时间比例为 f,则执行非算法核心的时间为(1- f ),因此有: (1)   加速器能把算法核心的处理速度提高到原来的s倍,则算法核心的处理时间就缩短到原来的1/s,总的运行时间为: (2)   总体性能的提高比例是原来的处理时间除以加速后的处理时间:   (3)   这个公式表明,加速处理核心算法所带来的整体性能的提高,在很大程度上依赖于算法核心在整个算法执行时间中所占的比例。   3 基于FPGA的Sobel硬件加速器设计   当系统引入硬件加速器之后,需要对内存等共享资源进行访问。由I/O控制器完成外部设备和系统之间的高速传输数据,数据从外部设备读入内存,通过加速器处理,处理后的数据被写到内存。由此可见:处理器、加速器和I/O控制器都可能访问内存,这样数据传输速度会很慢,如果让I/O控制器和加速器直接对内存访问而不通过处理器,作为主设备给出读写内存的地址和控制信号,可大大加快访问内存的速度。   在共同访问内存时,须避免由于多个主设备同时访问内存而引起的冲突。在系统中引入仲裁器,系统中的主设备在访问内存之前,须给仲裁器发出请求信号,仲裁器根据预先确定的仲裁策略,决定发出访问内存的准许信号。当该设备完成对内存的访问后,便撤消请求信号,仲裁器进入新一轮的仲裁。   基于这一设计思想设计出图像边缘检测系统:CPU初始化加速器和硬件加速器存取RAM均需占用数据线、地址线和控制线。这三总线作为共享资源被 CPU 和硬件加速器竞争访问,故引入仲裁器进行仲裁。   Sobel硬件加速器功能模块可划分为:计算单元、地址产生器、从机接口和控制状态机。其总体框图如图2所示。   图2 加速器总体结构设计图   总线数据在Sobel加速器作为主从设备时均可访问,CPU通过从机接口先对地址发生器进行设置,再启动控制状态机跳出空闲状态,控制计算单元和地址发生器,依次从存储器中读取原图像素、sobel边缘检测和导数图像存储。   构建完Sobel加速器硬件后,要对其进行验证。为简化验证,采用逐个验证Sobel加速器各子功能:从机总线操作、主机总线操作、地址产生和像素计算等。下面是验证步骤:(1)验证从机总线所有操作正常;(2)在步骤(1)验证通过的基础上,利用从机接口启动计算过程,检查计算单元能否按正确的时序完成计算、主机总线能否配合无误地产生读写存储器时序、地址发生器能否生成正确的地址、最后检查像素值的计算是否正确等。   构建一个测试平台,该平台用以模拟外挂加速器的嵌入式系统。该测试平台包括:处理器CPU、存储器和总线仲裁器。   处理器CPU完成的功能包括:(1)设置加速器原始图像和导数图像的起始存储地址。本设计将这两个起始地址分别选为0x008000和0x060000;(2)设置加速器中断使能寄存器。(3)写加速器启动寄存器,启动加速器开始边

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档