新闻中心

EEPW首页>模拟技术>设计应用> SoC FPGA提升蜂巢网络设备整合度

SoC FPGA提升蜂巢网络设备整合度

作者: 时间:2013-09-28 来源:网络 收藏
0px">  当然,这些功能可以透过许多不同的方法建立。有些比较适合用软件的方法,而有些则适用硬件,同时也有是软硬件皆适用;然而,最终还是要以所需的效能决定建置的方法。采用完全可编程元件可让系统设计人员自由支配硬件和软件的最适度使用情况。就数字预失真的情况而言,由于需要非常高的采样率,因此内含高速过滤功能的资料路径预失真器通常会建置在可编程逻辑中,而产生数字预失真系数的校准和估算引擎则可于硬件处理子系统中的ARM Cortex-A9处理器中执行。

  为决定什么须要采用硬件或软件建置方法,首先必须设定哪些部分需要软件。图3展示数字预失真演算法中设定需要软件的部分,以期达到图2所示的三种功能。根据图3设定,不难理解数字预失真演算法有97%的时间用在执行自动相关矩阵运算,所以很自然地加速这项过程成为首要任务。

SoC FPGA提升蜂巢网络设备整合度

  图2 细分成不同功能区间的数字预失真系统

SoC FPGA提升蜂巢网络设备整合度

  图3 数字预失真处理当中的指定软件运算作业之软件设定

  ARM Cortex-A9处理器藉由丰富的运算资源可执行更多功能,而这些资源有助提升效能。举例而言,在硬件处理子系统中,每个ARM Cortex-A9处理器都内含一个浮点运算单元和一个NEON多媒体加速器。NEON单元是一个128位元的单一指令多重资料(SIMD)向量协同处理器,可同时执行两个32×32b乘法指令;由于NEON单元皆用于乘法累积(MAC)运算,因此非常符合自动相关矩阵运算功能所需。透过NEON模组可运用软件Intrinsics,这可以在系统组装时免除编写低阶程式的需求。因此,运用硬件处理子系统中更多的功能,可以比Microblaze等软件处理器或外接式DSP处理器大幅提升效能。

为提升数字预失真效能,设计人员须进一步利用可编程逻辑将这些功能移到硬件上。然而,由于软件是以C/C++编写,工程师需要一些时间将C/C++语言转换成可在可编程逻辑中运用VHDL或Verilog执行的硬件。

  这个问题现在已可藉由各种高阶合成(HLS)工具(例如C语言至暂存器转移层级工具,C-to-RTL工具)得以解决。这些工具让具备C/C++程式经验的程式设计人员透过现场可编程门阵列()拥有硬件能力。业界高阶合成工具可让软件和系统设计人员更容易将C/C++程式码对应到可编程逻辑,让程式码得以重用,并提供最佳可携性和自由设计空间,最终达成最高生产力。

  图4展示运用高阶合成工具的典型C/C++设计流程。这工具的输出是暂存器转移层级(RTL),可轻松与资料路径预失真器或上游制程等既有的硬件设计进行整合,当然也可连至资料转换器。运用这项工具,演算法可快速转移至硬件,其中这项工具会使用AXI界面连至硬件处理子系统,如图5所示。

SoC FPGA提升蜂巢网络设备整合度

  图4 高阶合成设计流程

  在可编程逻辑中以高时脉执行自动相关矩阵运算演算法,可对效能产生重大的效益,仅针对这项功能而言,其效能增益就可比软件建置的功能多七十倍,而且仅用完全可编程元件中3%的逻辑。

  从原来参考的C/C++程式码进行基本最佳化,并运用ARM Cortex-A9处理器更有效地执行运算,结果显示仅用软件进行最佳化所得的效能则比没有变动的程式码高出二至三倍。再使用NEON多媒体协同处理器就能产生更多的效能增益。图5为自动相关矩阵运算架构。其中针对相关矩阵运算功能,其整体效能增益比软件建置的功能多七十倍。

<a class=SoC提升度" src="http://www.elecfans.com/uploads/allimg/13



评论


相关推荐

技术专区

关闭