在软件无线电调制解调器功能中使用硬件加速单元摘要.docVIP

在软件无线电调制解调器功能中使用硬件加速单元摘要.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文档。上传文档
查看更多
在软件无线电调制解调器功能中使用硬件加速单元 2005-05-29 ?? Joel A. Seely, 技术行销经理 ?? 汽车、工业、军事与航天事业部, Altera公司 ? 软件无线电 随着无线标准的快速发展,要求未来无线设备能够支持多个无线接口和调制格式。通过应用可重新配置的硬件平台,SDR技术跨越多种标准,支持无线设备中的这些功能。 ? SDR是在联合战术无线电系统(Joint Tactical Radio System, JTRS)基础上开发的技术,最初是为了开发软件可编程无线电系统,在美国军事服务范围内,与其它军事联盟和盟国来进行无缝实时通信。JTRS的功能与扩展性建立在称为软件通信体系的开放式体制基础之上。JTRS终端必须能够对超过25种特定无线接口或波形之一的动态负载提供支持,这比民用情况要复杂的多。要在合理的体积之内达到所有这些功能要求,需要不同的扩展处理能力。也正是这个原因,所以多数体系都采用GPP、DSP与FPGA。 ? SDR系统体系结构 通用处理资源GPP、DSP和FPGA可应用于整体SDR系统的不同部份。图 1显示了在这些器件中,每个均以SDR进行划分的典型功能体系结构实例。然而,在这些单元之间仍然有相当多的功能重叠。例如,在DSP上执行的算法可以用GPP来实现(虽然会变的慢一些),或是重新编写HDL,作为一个协处理器或硬件加速单元在FPGA上运行。 ??????????? 图 1.???????? SDR功能划分的GPP、DSP与FPGA实例体系结构 ? 硬件加速 多种方式可以使用FPGA资源实现硬件加速,可以归纳为三种基本体系结构:定制指令、定制外设做为协处理器,以及动态重新配置专用处理器。这些硬件加速方法具有不同的特性和独特的优势。掌握这些方面的使用以及在哪里使用,将有助于在系统体系结构中更好的使用FPGA资源,以便在SDR应用中卸载DSP和GPP。 ? 软核处理器与定制指令 随着大型FPGA的出现,可以被嵌入到FPGA中的小巧但功能强大的处理器也出现了,这些“软核”处理器是可配置的知识产权(IP)比特流,可以下载到FPGA之中,与任何其它的嵌入式微处理器一样使用。它们甚至具有业界标准的工具组,包括编译器、指令集仿真器、全套软件调试工具,以及集成开发环境。任何一位嵌入式软件工程师都非常熟悉这些工具组,因此将处理器做为比特流下载到FPGA中的操作比较简单。然而,这些软核处理器具有很大的灵活性。在下载处理器之前,设计人员可以平衡考虑尺寸大小和速度要求,以选择不同的配置选项。设计人员也可以增加多种外设来实现内存控制、通信、I/O等等。 ? 定制指令进一步提高了软核处理器的灵活性,可以当做软核微处理器算术逻辑单元(ALU)的硬件辅助专用算法。这些新的硬件指令替代算法中对时间要求高的部份,重新分配软件算法到硬件模块中。带有定制指令的RISC微处理器模糊了RISC与CISC之间的界线,因为定制指令单元可以是多周期的硬件模块,可配合嵌入在RISC处理器中采用单一周期的“标准指令”,共同执行复杂的算法。并且可以添加多个定制指令到ALU中,仅受FPGA资源以及在软核处理器开放代码表中开放位置数量的限制。图 2所示为使用定制指令来扩展Altera Nios? II软核微处理器ALU。 图 2.???????? ALU 何时需要使用定制指令?当需要加速的算法是被经常调用的相对基元运算,并对存储在本地寄存器中的数据进行操作时,使用定制指令将是最有效的方式。浮点运算指令便是一个很好的例子。浮点算术指令可以做为库子程序来运行,由编译器在处理器中自动调用,而不需要专用的浮点指令硬件。这些浮点算法需要多个时钟周期来运行。在通常采用这些算法的应用中,与其使用软件源代码实现,不如将其局部化为几个功能调用来实现。这些算法也可以由扩展软核微处理器ALU的定制指令来实现。表1 所示为几个软件库子程序与使用定制指令执行相同功能的比较。注意:即使在这种情况下,由于对定制指令的设计考虑不同,例如硬件实施中选择的流水线数量等,比较结果也会有较大的差异。 ? 在本段中将循环冗余校验(CRC)算法加到该表中,用于比较定制指令。虽然由定制指令实现CRC的确比仅采用软件来实现这一算法有一定的优势,当在大容量存储器块中运行该算法时,仍然会有其它效率更高、整体处理能力更强大的硬件加速单元实现方法。 ??? 表 1??????? ?? 硬件加速协处理器 由于定制指令是与软核微处理器相关的ALU扩展,因此可以在FPGA内部或外部采用硬件加速协处理器来加速处理器。图 3所示为采用协处理器的架构,在这个设计之中,处理器可以是FPGA外部GPP或DSP,也可以是FPGA内部的处理器(可以是硬核或软核处理器)。协处理器的一个关键优势是它可以包封在直接存储器

文档评论(0)

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

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

1亿VIP精品文档

相关文档