新闻中心

EEPW首页>嵌入式系统>设计应用> 浮点:用 FPGA 嵌入式处理器实现您的构想

浮点:用 FPGA 嵌入式处理器实现您的构想

作者:Glenn Steiner, 赛灵思公司高级经理 Ben Jones,赛灵思公司高级DSP设计工程师 Peter Alfke,赛灵思公司杰出工程师 时间:2009-10-23 来源:电子产品世界 收藏

  让浮点尽在掌握之中

本文引用地址://m.amcfsurvey.com/article/99212.htm

-5 APU-FPU 提供免费的 Platform Studio,支持浮点定制。您可分别采用约 2500 个或约 4900 个 LUT 寄存器对来实现单或双精度 FPU,也可在无需添加逻辑的情况下运行具有浮点仿真功能的软件应用。

  性能水平可预先选择:选择适当的 FPU,或实施设计并确定软件仿真是否满足要求;如未满足,可升级软 FPU。

  显而易见,如果能从软件仿真中获得足够的性能,则无需 FPU。但如果需要更高的性能,可使用 APU-FPU。如果应用需要 FPU 或正在使用与之配套的编译器,可选择双精度 FPU。如果应用仅需单精度运算且您正在使用赛灵思 GNU 编译器,则单精度 FPU 会降低逻辑要求。谨记,如果选择双精度 FPU,它将执行单精度运算,然后将运算结果进行四舍五入,以提供单精度 FPU 的精确度。

  典型性能增益

  当您在评估是需要硬 FPU 还是软 FPU 时,应首先确定代码的浮点密集程度。代码通常包括不同浮点、整数、存储器以及逻辑运算等。因此,尽管基准可作为潜在性能提升的指示器,但运行您自己的代码会更好。

  表 1 列出了 400 MHz-5 FXT440 处理器、软件仿真以及与该处理器相连的 200 MHz 双精度 APU-FPU 的基准数据,透过该表可清晰了解 APU-FPU 执行浮点密集代代码的性能表现。

  表中所列数据是赛灵思用于评估处理器浮点单元性能的一组基准数据的子集。平均而言,软 FPU 可比软件仿真快 6 倍,而单精度 FPU 可比双精度 FPU 快 13%。

  在浮点占主导地位的情况下,可通过优化代码来提高软 FPU 的性能,以充分利用 FPU 管线。FIR 滤波器基准就是一例很好的潜在性能增益。未经优化的代码是典型的“教科书代码”,虽便于阅读,但大多数 FPU 执行时往往效率低下。然而,通过实施循环展开、最大限度地延长 FPU 寄存器中常数的保留时间,以及交叉存取其他代码与浮点指令,设计方案的性能可得到显著提高。在本例中,优化滤波器代码比未经优化的代码快 3.8 倍,比软件仿真快 30 倍。

  总之,-5 FXT 借助其440 处理器可为嵌入式应用提供众多选择。您可在有无 FPU 的情况下执行设计方案、用性能较高的 FPU来替代软件仿真技术、为 Virtex-5 FXT 量身定制处理能力资源,所有这些都是为了满足您的最佳设计需求,让“一切尽在您的掌握之中” 。

  * EDK 10.1 SP2 GNU 带标志的编译器:-O3 -funroll-循环

  表 1——400 MHz 处理器与 200-MHz FPU 的典型浮点性能


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭