你的位置:电感厂 > 基础知识功率电感

FPGA协处理器实现代码加速的设计

2015-10-06 15:52:49      点击次数:
上一篇:透过 Linux 内核看无锁编程 贴片电感

FPGA作为一种可重复编程的单元,允许你在设计过程中进行编程并对其进行测试。如果你发现了一个设计缺陷,你可以立即对其进行重新编程设计。FPGA还允许你实现硬件运算功能,而这在以前的实现成本是很高的。CPU流水线与FPGA逻辑之间紧密结合,这样就可以创建高性能软件加速器。

图1的模块框图显示了PowerPC、集成的APU控制器以及一个与之相连的协处理器。来自高速缓存或存储器中的指令可以立即出现在CPU解码器和APU控制器上,如果CPU能识别指令,则运行这些指令。否则,APU控制器或用户创建的协处理器可以对指令做出应答并执行指令。一个或者两个操作数被传递到协处理器,并返回一个结果或状态。APU接口还支持用一个指令发送一个数据单元。数据单元的大小范围从一个字节到4个32位的字。

图1:PowerPC、集成的APU控制器和协处理器

通过一个结构协处理器总线(FCB),可以将一个或多个协处理器连接到APU接口。连接到总线的协处理器范围包括现存的内核(例如FPU)到用户创建的协处理器。一个协处理器可以连接到FCB用于控制和状态运算,并连接到一个处理器总线,实现直接存储器数据块访问以及DMA数据传递。一种简化的连接方案,例如FSL,也可以在FCB和协处理器之间使用,在牺牲一定性能的条件下实现FIFO数据和控制通信。

为展示指令流水线连接加速器的性能优势,我们采用一个处理器总线连接FPU首先实现了一个设计,然后采用APU/FCB连接的FPU实现设计。表1总结了两种实现方式下有限脉冲响应(FIR)滤波器的性能。如表1中所反映的一样,连接到一个指令流水线的FPU使软件浮点运算速度增加30倍,而APU接口相比于总线连接FPU来说改善了近4倍。

表1:未加速与加速的浮点性能

C代码转换到HDL

采用C到HDL的转换工具将C代码转换到HDL加速器是一种创建硬件协处理器的高效方法。图2所示以及下面详述的步骤总结了C到HDL转换的过程:

图2:C-HDL设计流程

1. 使用标准C工具实现应用程序或算法。开发一种软件测试向量(test bench)用于基线性能和正确性(主机或台式电脑仿真)测试。使用一种编译器(例如gprof)来开始确定关键的函数。

2. 确定是否浮点到定点转换适当。使用库或宏来辅助这种转换,使用一个基线测试向量来分析性能和准确性。使用编译器来重新评估关键函数。

3. 使用C到HDL转换工具(如Impulse C),在每个关键功能上重复,以实现:将算法分割成并行的进程;创建硬件/软件进程接口(流、共享存储器、信号);对关键的代码段(例如内部代码循环)进行自动优化和并行化;使用桌面电脑仿真、周期准确的C仿真以及实际的在系统测试对得到的并行算法进行测试和验证。

4. 使用C到HDL转换工具将关键的代码段转换到HDL协处理器。

5. 将协处理器连接到APU接口用于最终的测试。

Impulse:C到HDL转换工具

如图3所示的Impulse C通过结合使用C兼容库函数与Impulse CoDeveloper C代码到硬件的编译器,使嵌入式系统设计工程师能创建高度并行的、FPGA加速的应用。Impulse C通过使用定义完好的数据通信、消息传递和同步处理机制,简化了硬件/软件混合应用设计。Impulse C提供了C代码(例如循环流水线处理、展开和运算符调度)的自动优化以及交互式工具,允许你对每个周期的硬件行为进行分析。

图3. Impulse C

Impulse C设计用于面向数据流的应用,但是它也具有足够的灵活性来支持其他的编程模型,包括使用共享存储器。这一点很重要,因为基于FPGA不同的应用具有不同的性能和数据要求。在一些应用中,通过块存储器读和写在嵌入式处理器和FPGA之间转移数据是有意义的;在其它的情况下,流传数通信信道可能提供更高的性能。可以快速建模、编译和评估可选的算法的能力对于实现某个应用最佳的结果来说,非常重要。

到目前为止,Impulse C库包含以新数据类型和预定义的函数调用形式的最少C语言扩展。使用Impulse C函数调用,你可以定义多个并行程序段(调用进程),并使用流、信号和其他机制描述它们的互连。Impulse C编译器将这些C语言进程转换并优化成:可以综合到FPGA的较低级HDL,或可以通过广泛存在的C交叉编译器编译到支持的微处理器上标准C(带相关的库调用)。大电流电感
  • 寻可靠性价比高的恒压源方案手头上接了个单,需求45W恒压源方案,要求输出220-240V 50HZ 输出:24V 1.87A ,要求空载不超过25V ,带重载24V ,无过冲,低PF,原边反馈,整体价格便宜,质量稳定,最好带过温将功率保护,短

  • MWCT1x1x: 15 W无线充电发射器IC 单线圈无线充电发送器IC可提供实施无线充电发射器解决方案所需的全部控制器功能。借助优化的硬件和软件平台,飞思卡尔发送器IC能够实施和控制功率传输,监控和管理系统整

  • UCC28019A LED照明应用负载动态性能优化解决方  

    作者:Richard Yang 德州仪器 (TI)

    摘要
    用于高功率PWM调光LED街道照明的90Vac到305Vac宽输入范围应用越来越多,而UCC28019A控制器非常适合于这种应用。但是,输出负

  • [逆变器]阳*电源等企业500KW并网逆变器源码加注
  • [逆变器]发电并网就这样简单
  • 平面变压器扁平线圈
  • 保持电源/负载电路组合稳定的推荐方案序列
  • 电流型开关电源中的UC3842电压反馈电路
  • 宽带阻抗测量仪的设计——阻抗测量理论及其方法
  • 步进电机和驱动器的选择方法
  • 防孤岛和智能电网保护
  • 升压BOOST关断电流大的问题
  • 一种适用于锂电池的电流监测电路设计