英特尔® arria® 10 fpga 性能指标 评测方法和结果 · • 添加 i/o...

8
白皮书 FPGA 英特尔® Arria® 10 FPGA 性能指标 评测方法和结果 英特尔 Arria 10 FPGA 能够为已发布的 OpenCore 设计带来速度提高一个等级的内 核性能和提升高达 20% 的 f MAX 优势。 作者 Martin S. Won 英特尔可编程解决方案事业部 高级技术人员 Madhu Monga 英特尔可编程解决方案事业部 应用工程师 简介 本文介绍了一种对英特尔® Arria® 10 FPGA 可编程逻辑产品家族进行评估和指标评测的 严格方法,旨在清晰地展示相关方法和数据,以便感兴趣的读者可以重新生成和分析这 些结果。 为实现这一目标,我们从已公开发布的 OpenCores 设计中选用了 10 项代表 性的函数,并将它们分别实施在采用英特尔 Arria 10 FPGA 产品家族及其最接近的竞争 产品 Xilinx* UltraScale* 产品家族的设备上。指标评测结果显示,英特尔 Arria 10 FPGA 可提供比 Xilinx UltraScale 设备高最多 20% 的性能,测量指标为在各种设备使用率下 在示例设计中所实现的最大时钟频率。 背景:评估英特尔 FPGA 和系统芯片(SoC)产品的性能 当前,可编程逻辑行业尚无标准的指标评测方法。为此,英特尔使用了严格的内部分 析,在分析中对客户和内部生成的设计进行了广泛的组合,以充分了解和量化可编程逻 辑产品相比前代英特尔产品和竞争产品的性能。这些设计从不同的细分市场收集而来, 包括高性能计算、图像和视频处理、有线和无线通信以及消费类产品等。此外,这些设 计还使用了多种实施技术,包括来自其他厂商的 ASIC 和 FPGA。通过使用广泛的设计 套件,英特尔致力于确保结果准确无误且能够代表客户设计与英特尔® Quartus® Prime Software Suite 等 FPGA 设计工具之间的复杂交互。为了使用客户设计,英特尔在转 换设计方面投资了大量资源,以便能够与广泛的合成工具和电子设计自动化(EDA)厂 商合作。英特尔还确保功能予以保留,并针对特定 FPGA 厂商进行了适当的代码优化 (这点是必需的,因为开发设计时通常会针对特定 FPGA 对设计进行优化)。 对于性能比较,英特尔使用了至少两种比较类型:受时序约束的和最大努力。努力程度 反映了为获取最终结果用户需要付出的努力(用户必须做多少工作)以及工具需要付出 的努力(总共需要多少编译时间)。受时序约束的比较旨在使用默认 EDA 工具设置, 但确保 EDA 工具针对性能进行了优化。最大努力比较旨在表明可实现的最好结果。这 类比较实验需要比默认按钮(push-button)编译更长的单独编译时间以及每项设计超 过一次的编译。 目录 简介 ....................................................... 1 背景:评估英特尔 FPGA 和 系统芯片(SoC)产品的性能 ............ 1 通过基于 OpenCore 的性能 比较提高透明度 ................................... 2 用于性能比较的目标设备家族 ............ 2 分析使用的 OpenCore 设计 .............. 2 OpenCores 标记方法 ......................... 2 OpenCore 标记和指标评测方法 ....... 2 软件工具、设置与约束........................ 4 单独的 OpenCore 设计编译结果 ...... 5 结论 ....................................................... 8 参考资料 ............................................... 8 了解更多信息 ....................................... 8

Upload: lylien

Post on 23-May-2018

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 英特尔® Arria® 10 FPGA 性能指标 评测方法和结果 · • 添加 I/O 包装程序逻辑以减少更大设计所需的 I/O ... 1 oc_avr_hp_cm4 AVR 处理器 avr_hp 1,269

白皮书FPGA

英特尔® Arria® 10 FPGA 性能指标 评测方法和结果

英特尔 Arria 10 FPGA 能够为已发布的 OpenCore 设计带来速度提高一个等级的内

核性能和提升高达 20% 的 fMAX 优势。†

作者

Martin S. Won英特尔可编程解决方案事业部

高级技术人员

Madhu Monga英特尔可编程解决方案事业部

应用工程师

简介

本文介绍了一种对英特尔® Arria® 10 FPGA 可编程逻辑产品家族进行评估和指标评测的

严格方法,旨在清晰地展示相关方法和数据,以便感兴趣的读者可以重新生成和分析这

些结果。† 为实现这一目标,我们从已公开发布的 OpenCores 设计中选用了 10 项代表

性的函数,并将它们分别实施在采用英特尔 Arria 10 FPGA 产品家族及其最接近的竞争

产品 Xilinx* UltraScale* 产品家族的设备上。指标评测结果显示,英特尔 Arria 10 FPGA

可提供比 Xilinx UltraScale 设备高最多 20% 的性能,测量指标为在各种设备使用率下

在示例设计中所实现的最大时钟频率。†

背景:评估英特尔 FPGA 和系统芯片(SoC)产品的性能

当前,可编程逻辑行业尚无标准的指标评测方法。为此,英特尔使用了严格的内部分

析,在分析中对客户和内部生成的设计进行了广泛的组合,以充分了解和量化可编程逻

辑产品相比前代英特尔产品和竞争产品的性能。这些设计从不同的细分市场收集而来,

包括高性能计算、图像和视频处理、有线和无线通信以及消费类产品等。此外,这些设

计还使用了多种实施技术,包括来自其他厂商的 ASIC 和 FPGA。通过使用广泛的设计

套件,英特尔致力于确保结果准确无误且能够代表客户设计与英特尔® Quartus® Prime

Software Suite 等 FPGA 设计工具之间的复杂交互。为了使用客户设计,英特尔在转

换设计方面投资了大量资源,以便能够与广泛的合成工具和电子设计自动化(EDA)厂

商合作。英特尔还确保功能予以保留,并针对特定 FPGA 厂商进行了适当的代码优化

(这点是必需的,因为开发设计时通常会针对特定 FPGA 对设计进行优化)。

对于性能比较,英特尔使用了至少两种比较类型:受时序约束的和最大努力。努力程度

反映了为获取最终结果用户需要付出的努力(用户必须做多少工作)以及工具需要付出

的努力(总共需要多少编译时间)。受时序约束的比较旨在使用默认 EDA 工具设置,

但确保 EDA 工具针对性能进行了优化。最大努力比较旨在表明可实现的最好结果。这

类比较实验需要比默认按钮(push-button)编译更长的单独编译时间以及每项设计超

过一次的编译。

目录

简介 .......................................................1

背景:评估英特尔 FPGA 和 系统芯片(SoC)产品的性能 ............1

通过基于 OpenCore 的性能 比较提高透明度 ...................................2

用于性能比较的目标设备家族 ............2

分析使用的 OpenCore 设计 ..............2

OpenCores 标记方法 .........................2

OpenCore 标记和指标评测方法 .......2

软件工具、设置与约束 ........................4

单独的 OpenCore 设计编译结果 ......5

结论 .......................................................8

参考资料 ...............................................8

了解更多信息 .......................................8

Page 2: 英特尔® Arria® 10 FPGA 性能指标 评测方法和结果 · • 添加 I/O 包装程序逻辑以减少更大设计所需的 I/O ... 1 oc_avr_hp_cm4 AVR 处理器 avr_hp 1,269

白皮书 | 英特尔 Arria 10 FPGA 性能指标评测方法和结果

借助这种方法,英特尔确定英特尔 Arria 10 FPGA 和系统芯片可

提供比 20 纳米 FPGA 竞争产品更高的内核性能,测量指标为在

设计套件的每项设计中,针对速度关键型时钟路径所能实现的最

大 fMAX。该性能差异在 10% - 20% 左右,具体取决于设计,大

约相当于一个或两个速度等级优势,一个速度等级通常被定义为

10% - 15% 的性能差异。† 这些结果有力证明了英特尔 Arria 10

FPGA 作为最高性能的 20 纳米 FPGA 产品家族的地位。然而,

由于这些结果是使用客户和英特尔专有设计获得的,所以英特尔

只能就这项分析分享有限的详情,这最终会限制这些信息对可编

程逻辑用户的有用性。

通过基于 OpenCore 的性能比较提高透明度

为了克服在理解可编程逻辑性能方面的挑战,英特尔使用已发

布的 OpenCores(www.opencores.org)设计进行指标评测。

OpenCores 提供了开源硬件知识产权(IP)内核。这项指标评

测旨在帮助可编程逻辑用户:

• 了解性能评估过程中使用的具体设计,包括这些设计具体到寄

存器传输级别(RTL)描述的详细信息。

• 自己重新生成分析结果。

• 仔细查看分析结果以更好地了解英特尔 Arria 10 FPGA 性能优

势对特定设计的适用性。

这项基于 OpenCores 的性能分析的范围小于英特尔使用的内

部分析,因为前者专注于受时序约束的比较。此次分析并非对主

题的全面处理,但分析结果和结论说明了当实施相似设计或包含

与设计示例套件所用函数相似的函数的设计时,英特尔 Arria 10

FPGA 相比竞争设备的相对性能。

用于性能比较的目标设备家族

英特尔选用了英特尔 Arria 10 FPGA 产品家族和 Xilinx UltraScale

产品家族进行性能分析。这些产品均基于 20 纳米 TSMC 制程构

建。英特尔选用了拥有最快速度等级的尺寸相当的最大设计:

• 英特尔 Arria 10 设备:10AX115U1F45E1SG

• Xilinx UltraScale 设备:XCKU115FLVF19243E

注:产品家族内更小的设备取得了相似的性能结果。根据英特尔

内部测试,相同速度等级的 Kintex* UltraScale 和 Virtex*

UltraScale 设备展示出相似的性能水平,因此这两个产品家族的

最快速度等级的设备可以代表整个 UltraScale 产品家族。

分析使用的 OpenCore 设计

英特尔基于设计尺寸和复杂性选择 OpenCores,旨在代表混合

使用不同设备资源类型(例如逻辑、RAM 和 DSP)的广泛函数

类型。图 1 列出了性能比较中使用的 OpenCore 设计以及可供

用户详细了解每项设计并进行下载的 www.opencores.org 网页

链接。该表还说明了每种 OpenCore 设计所使用的平均逻辑量,

测量时使用:

• 面向英特尔 Arria 10 FPGA 的自适应逻辑模块(ALM)

• 面向 UltraScale FPGA 的可配置逻辑块查找表(CLB LUT)

注:ALM 和 CLB LUT 在架构上存在差异(ALM 使用包含 8 项

输入的查找表,CLB 使用包含 6 项输入的查找表),因此预计

设备针对某项特定设计的使用率会不同。

OpenCores 标记方法

OpenCores 设计只使用了目标设备中的一小部分资源。只使用

全部设备资源中的一小部分资源并非可编程逻辑用户的惯例或期

望的目标。此外,随着设备资源逐渐被耗尽以及设计变得更难以

放置和路由,不断增加的利用率通常会对可实现的最高 fMAX 产生

不利影响。为了模拟设备利用率对可编程逻辑性能的影响,英特

尔执行了大量编译,而且每次都会在前一次编译的基础上添加一

个 OpenCore 实例。为了增加可编程逻辑设备的设计尺寸,每项

OpenCore 设计都在 FPGA 中重复进行了实例化(对同一内核进

行多次标记):

• 每次标记都并行实施。

• 添加 I/O 包装程序逻辑以减少更大设计所需的 I/O 引脚数。

• 内核与包装程序逻辑之间不存在时间关键路径。

• 包装程序逻辑提供了尽可能少的开销。

图 1 显示了标记过程。

OpenCore 标记和指标评测方法

随着 OpenCore 设计实例化次数增加(因此设计尺寸不断增

加),I/O 引脚和全局时钟等资源变得有限。为了避免引脚用尽,

每个 OpenCore 都包裹在移位寄存器中,以便一个物理引脚能够

为内核的所有输入引脚提供信息,以及内核的所有输出引脚都将

信息输入到可加载的移位寄存器中。图 2 和图 3 分别显示了输

入和输出移位寄存器。移位寄存器尺寸取决于 I/O 引脚数量,移

位寄存器的数量取决于 FPGA 中实施的 OpenCores 数量。

Page 3: 英特尔® Arria® 10 FPGA 性能指标 评测方法和结果 · • 添加 I/O 包装程序逻辑以减少更大设计所需的 I/O ... 1 oc_avr_hp_cm4 AVR 处理器 avr_hp 1,269

白皮书 | 英特尔 Arria 10 FPGA 性能指标评测方法和结果

编号

OpenCore 设计名称

设计函数 网页

设备使用率(单个实例)

使用的英特尔 Arria 10 FPGA ALM

使用的 UltraScale CLB LUT

1 oc_avr_hp_cm4 AVR 处理器 https://opencores.org/project, avr_hp 1,269 1,706

2 oc_warp_tmu 图像处理 https://opencores.org/project, warp 2,100 2,417

3 oc_reed_solomon_decoder

纠错码 https://opencores.org/project, reed_solomon_decoder

2,208 3,299

4 oc_usbhostslave USB 1.1 控制器 http://opencores.org/project, usbhostslave 1,228 1,701

5 oc_dma_axi64 单通道 64 位 AXI* 主 DMA https://opencores.org/project, dma_axi 1,817 2,582

6 oc_256_aes 高级加密标准(AES) 注 1 1,101 2,220

7 oc_m1_core 32 位 RISC 处理器 http://opencores.org/project, m1_core,overview

1,797 2,617

8 oc_aquarius RISC SuperH 处理器 https://opencores.org/project, aquarius 2,703 3,457

9 oc_des_des3perf 三重数据加密标准(DES) https://opencores.org/project, des 3,574 5,618

10 oc_fpu100 32 位浮点单元 https://opencores.org/project, fpu100 1,827 2,700

表 1. 性能比较使用的 10 项 OpenCore 设计1 性能比较项目开始时,来自 OpenCores 的 oc_256_aes 设计可用,但现在不可用。借助英特尔提供的开源许可证,此设计仍可使用,本文末尾部分提供了许可证获取链接。

输入包装程序逻辑 并行 OpenCore 块 输出包装程序逻辑

LFSRoc_aquarius 减速器

LFSRoc_aquarius 减速器

LFSRoc_aquarius 减速器

LFSR

oc_aquarius 减速器

时钟

重置

图 1. 在 FPGA 中对 oc_aquarius 设计进行了四次实例化

Page 4: 英特尔® Arria® 10 FPGA 性能指标 评测方法和结果 · • 添加 I/O 包装程序逻辑以减少更大设计所需的 I/O ... 1 oc_avr_hp_cm4 AVR 处理器 avr_hp 1,269

白皮书 | 英特尔 Arria 10 FPGA 性能指标评测方法和结果

内核

移位寄存器时钟

core_datain

core_input[3]core_input[0]

图 2. 输入移位寄存器实施

图 3. 输出移位寄存器实施

图 4. 共享时钟和重置信号的双核实施

内核

移位寄存器时钟

core_dataout

core_input[3]core_input[0]

移位寄存器负载

0

为了避免全局时钟资源耗尽,一个引脚直接为所有 OpenCore 提

供全局时钟和重置信号。例如,如果一个内核需要两个时钟(内

核时钟 1 与内核时钟 2)以及一个重置信号,内核时钟 1 的所有

实例由一个引脚提供,内核时钟 2 的所有实例由另一个不同的引

脚提供,重置信号的所有实例由第三个引脚提供。借助该方法,

所有 OpenCore 都拥有相同的时钟和重置信号(请参见图 4)。

内核 0

内核

0 移

位寄

存器

内核

0 移

位寄

存器

core0_datain core0_dataout

内核 1

内核

1 移

位寄

存器

内核

1 移

位寄

存器

core1_datain core1_dataout

移位寄存器时钟内核时钟 1内核时钟 2

内核重置移位寄存器负载

在 FPGA 中包装程序逻辑将所有 OpenCore 相连接后,英特尔确

保包装程序(移位寄存器)和 OpenCore 之间不存在关键路径。

为了实现这一目标,英特尔创建了错误的路径,同时通过为内核

时钟和包装程序逻辑时钟设置不同的无关时钟域,消除了时间路

径。然后,这些设计工具可将内核和移位寄存器分开优化。在设

备和设计工具允许的情况下,英特尔对 OpenCore 进行了尽可能

多的实例化,且无编译错误。

软件工具、设置与约束

为了开展这项研究,英特尔使用了分析时可用的所需 FPGA 开发

工具的最新版本:

• 英特尔 Quartus Prime Software Suite 版本 16.1 B189

• Xilinx Vivado* 软件版本 2016.3

两种工具都安装并运行于 Linux64 设备之上。

这些可编程逻辑工具提供的设置在设计性能、逻辑资源使用、编

译时间和内存使用之间进行了折中。可确保某项设计生成最佳结

果的设置可能并不适用于另一项设计。此外,用于指引 EDA 工

具的用户约束可改善结果。即便使用代表客户设计的设计集,指

标评测结果也会因软件设计和应用约束的不同而存在显著差异。

对于本文介绍的性能比较,英特尔使用了默认 EDA 设置,但设

置了较为严格的时序约束。为了确定每项设计的严格时间限制,

英特尔对每个 OpenCore 设计时钟应用了频率(fMAX)限制,以

确定每个时钟刚刚无法满足的约束。通过不断增加约束直至无法

满足,英特尔确定了基础约束。然后,英特尔通过将基础约束值

乘以最少 1.3 的系数,确定了严格约束。下面部分介绍了为每项

设计应用的约束。

Page 5: 英特尔® Arria® 10 FPGA 性能指标 评测方法和结果 · • 添加 I/O 包装程序逻辑以减少更大设计所需的 I/O ... 1 oc_avr_hp_cm4 AVR 处理器 avr_hp 1,269

白皮书 | 英特尔 Arria 10 FPGA 性能指标评测方法和结果

单独的 OpenCore 设计编译结果

这部分提供了每项 OpenCore 设计的详细编译结果。在每个例

子中,都提供了每次设计编辑所实现的 fMAX 图表。

• 纵轴测量编译的 fMAX。

• 横轴测量设备使用率,测量指标为逻辑使用率(英特尔 Arria

10 FPGA ALM 和 Ultrascale CLB)。

• 蓝点显示了英特尔 Arria 10 FPGA 编译的 fMAX 值。

• 红点显示了 UltraScale 编译的 fMAX 值。

• 图表还显示了每组数据点的几何平均值(蓝线代表英特尔 Arria

10 FPGA,红线代表 UltraScale),提供了数据点总体趋势的

数值。

最左侧边缘的数据点是从 40% 开始的设备利用率所对应的编

译结果,测量指标为逻辑使用量。这项分析的使用率为 40%,

因为大多数可编程逻辑用户希望使用大约一半或更多的设备资

源,或选择使用更小的设备以降低成本。此外,如大多数图表

所示,对于大多数设备使用率而言,fMAX 值十分稳定,只会在

其中一种资源(逻辑、内存、DSP、路由等)变得有限时,才

会表现出下降的趋势。几何平均值计算中不显示也不包含每组

的最后一个数据点(最后一个成功的编译)。在分析中不考虑

这一数值,因为最后一个数据点通常代表已将其中一种设备资

源完全耗尽的编译,同时这种设计情况在实际情况中也不被用

户使用或接受。

OC_AVR_HP_CM4 内核

该图表显示了 AVR 处理器内核 OC_AVR 编译的 fMAX 结果。利用

率达到 90% 左右后,英特尔 Arria 10 FPGA fMAX 值下降一点,

生成了 320 MHz 的几何平均值 fMAX。逻辑利用率约为 97% 时,

英特尔 Arria 10 FPGA 编译因路由拥塞而失败。利用率约为 90%

时,UltraScale fMAX 值也出现了下降,生成了 267 MHz 的几何平

均值 fMAX。最后一次编译是在逻辑利用率约为 97% 时,之后因

SSI 分区失败而停止。

OC_Warp_TMU 内核

该图表显示了 OC_Warp_TMU 图像处理设计编译的 fMAX 结果。

英特尔 Arria 10 FPGA fMAX 值稳定在 250 MHz 左右,只是在逻

辑利用率达到 90% 后略有下降,生成了 248 MHz 的几何平

均值 fMAX。利用率约为 97% 时,英特尔 Arria 10 FPGA 编

译成功,之后因路由拥塞而失败。设备利用率约为 75% 时,

UltraScale fMAX 值开始下降;利用率约为 87% 时,设计因路由

拥塞而停止编译,生成了 225 MHz 的几何平均值 fMAX。

OC_Reed-Solomon-Decoder 内核

该图表显示了 OC_Reed-Solomon_Decoder 编译的 fMAX 结果,

该函数通常被用于纠正错误。英特尔 Arria 10 FPGA fMAX 值

f MA

X(

MH

z)

设计:oc_avr_hp_cm4约束:443 MHz

设备利用率 %

英特尔 Arria 10 FPGA fMAX

UltraScale fMAX

英特尔 Arria 10 FPGA fMAX 几何平均值

UltraScale fMAX 几何平均值

f MA

X(

MH

z)

设计:oc_warp_tmu约束:466 MHz

设备利用率 %

英特尔 Arria 10 FPGA fMAX

UltraScale fMAX

英特尔 Arria 10 FPGA fMAX 几何平均值

UltraScale fMAX 几何平均值

f MA

X(

MH

z)

设计:oc_read_solomon_decoder约束:611 MH

设备利用率 %

英特尔 Arria 10 FPGA fMAX

UltraScale fMAX

英特尔 Arria 10 FPGA fMAX 几何平均值

UltraScale fMAX 几何平均值

图 5. OC_AVR_HP_CM4 结果

图 6. OC_Warp_TMU 结果

图 7. Reed-Solomon 解码器结果

十分稳定地保持在 330 MHz 左右,当逻辑利用率达到 90% 左

右时,由于 M20K 内存资源耗尽,该值开始下降,从而生成了

325 MHz 的几何平均值 fMAX。由于 M20K 内存资源耗尽,fMAX

下降,这点可通过英特尔 Quartus Prime Software Suite 默认

Page 6: 英特尔® Arria® 10 FPGA 性能指标 评测方法和结果 · • 添加 I/O 包装程序逻辑以减少更大设计所需的 I/O ... 1 oc_avr_hp_cm4 AVR 处理器 avr_hp 1,269

白皮书 | 英特尔 Arria 10 FPGA 性能指标评测方法和结果

编译设置预测到,该设置不支持推断 MLAB 内存资源。在这种

模式下,M20K 资源可用于所有内存需求,即便当 MLAB 资源

可能足够时;逻辑利用率约为 94% 时,M20K 资源完全耗尽。

UltraScale fMAX 值稳定在 340 MHz 左右,生成了 335 MHz 的

几何平均值 fMAX。最后成功的编译是在利用率约为 96% 时,之

后因逻辑不足而失败。

OC_USBHostSlave 内核

该图表显示了 OC_USBHostSlave(USB 1.1 控制器)编译的

fMAX 结果。英特尔 Arria 10 FPGA fMAX 值相当稳定,生成了 480

MHZ 的几何平均值 fMAX。逻辑利用率约为 78% 时,英特尔

Arria 10 FPGA 编译再次因 M20 资源耗尽而失败,这与 Reed-

Solomon 的情况相似。UltraScale fMAX 值稳定在 425 MHz 左

右,生成了 425 MHz 的几何平均值 fMAX。最后一次编译是在逻

辑利用率约为 96% 时,之后因 SSI 分区失败而停止。

OC_DMA_AXI64 内核

该图表显示了单通道 64 位 AXI 总直接内存访问函数 OC_DMA_

AXI64 编译的 fMAX 结果。英特尔 Arria 10 FPGA fMAX 值十分稳

定,当利用率超过 90% 时,该值开始下降一点,生成了 331

MHz 的几何平均值 fMAX。逻辑利用率接近 100% 时,英特尔

Arria 10 FPGA 编译因路由拥塞而失败。UltraScale fMAX 值也

十分稳定,只是在利用率超过 90% 时有所下降,生成了 283

MHz 的几何平均值 fMAX。最后一次编译是在逻辑利用率约为

95% 时,之后因 SSI 分区失败而停止。

OC_256_AES 内核

该图标显示了高级加密标准(AES)函数 OC_256_AES 编译的

fMAX 结果。利用率达到 70% 时,英特尔 Arria 10 FPGA fMAX 值

下降一点,生成了 242 MHz 的几何平均值 fMAX。逻辑利用率接

近 100% 时,英特尔 Arria 10 FPGA 编译因路由拥塞而失败。

UltraScale fMAX 值也十分稳定,生成了 209 MHz 的几何平均值

fMAX。最后一次编译是在逻辑利用率接近 100% 时,之后因 LUT

不足而停止。

OC_M1 内核

该图表显示了 32 位处理器内核 OC_M1 编译的 fMAX 结果。英特

尔 Arria 10 FPGA fMAX 值十分稳定,当利用率达到 90% 左右

时,该值开始下降一点,生成了 277 MHz 的几何平均值 fMAX。

逻辑利用率约为 99% 时,英特尔 Arria 10 FPGA 编译因 LAB

资源不足失败。利用率约为 90% 时,UltraScale fMAX 值也出现

了下降,生成了 258 MHz 的几何平均值 fMAX。最后一次编译是

在逻辑利用率约为 98% 时,之后因 CLB 不足而停止。

f MA

X(

MH

z)

设计:oc_usbhostslave约束:684 MHz

设备利用率 %

英特尔 Arria 10 FPGA fMAX

UltraScale fMAX

英特尔 Arria 10 FPGA fMAX 几何平均值

UltraScale fMAX 几何平均值

f MA

X(

MH

z)设计:oc_dma_axi64约束:558 MHz

设备利用率 %

英特尔 Arria 10 FPGA fMAX

UltraScale fMAX

英特尔 Arria 10 FPGA fMAX 几何平均值

UltraScale fMAX 几何平均值

f MA

X(

MH

z)

设计:oc_256_aes约束:379 MHz

设备利用率 %

英特尔 Arria 10 FPGA fMAX

UltraScale fMAX

英特尔 Arria 10 FPGA fMAX 几何平均值

UltraScale fMAX 几何平均值

图 8. 主从 USB 结果

图 9. DMA AXI64 结果

图 10. 256 AES 结果

Page 7: 英特尔® Arria® 10 FPGA 性能指标 评测方法和结果 · • 添加 I/O 包装程序逻辑以减少更大设计所需的 I/O ... 1 oc_avr_hp_cm4 AVR 处理器 avr_hp 1,269

白皮书 | 英特尔 Arria 10 FPGA 性能指标评测方法和结果f M

AX(

MH

z)

设计:oc_m1_core约束:465 MHz

设备利用率 %

英特尔 Arria 10 FPGA fMAX

UltraScale fMAX

英特尔 Arria 10 FPGA fMAX 几何平均值

UltraScale fMAX 几何平均值

f MA

X(

MH

z)

设计:oc_aquarius约束:139 MHz

设备利用率 %

英特尔 Arria 10 FPGA fMAX

UltraScale fMAX

英特尔 Arria 10 FPGA fMAX 几何平均值

UltraScale fMAX 几何平均值

f MA

X(

MH

z)

设计:oc_des_des3perf约束:700 MHz

设备利用率 %

英特尔 Arria 10 FPGA fMAX

UltraScale fMAX

英特尔 Arria 10 FPGA fMAX 几何平均值

UltraScale fMAX 几何平均值

f MA

X(

MH

z)

设计:oc_fpu100约束:380 MHz

设备利用率 %

英特尔 Arria 10 FPGA fMAX

UltraScale fMAX

英特尔 Arria 10 FPGA fMAX 几何平均值

UltraScale fMAX 几何平均值

图 11. M1(32 位处理器)结果

图 12. Aquarius 结果

图 13. DES DES3Perf 结果 图 14. FPU100 结果

OC_Aquarius 内核

该图表显示了 RISC SuperH 处理器内核 OC_Aquarius 编译的

fMAX 结果。利用率超过 50% 时,英特尔 Arria 10 FPGA fMAX 值下

降,生成了 103 MHz 的几何平均值 fMAX。由于默认编译器设置

耗尽了 M20K 资源,英特尔 Arria 10 FPGA 编译下降,这类似于

Reed-Solomon 的情况,而且所有 M20K 资源都是在最后显示的

一次编译时耗尽,当时逻辑利用率约为 70%。UltraScale fMAX 值

下降一点,生成了 106 MHz 的几何平均值 fMAX。最后一次编译是

在逻辑利用率约为 99% 时,之后因 CLB 不足而停止。

OC_DES_DES3Perf 内核

该图表显示了三重数据加密标准(DES)函数 OC_DES_DES3Perf

编译的 fMAX 结果。英特尔 Arria 10 FPGA fMAX 值保持稳定,当利

用率超过 80% 时,该值开始下降,生成了 528 MHz 的几何平均

值 fMAX。逻辑利用率约为 98% 时,英特尔 Arria 10 FPGA 编译因

路由拥塞而失败。UltraScale fMAX 值也十分稳定,只是在利用率

超过 90% 时有所下降,生成了 492 MHz 的几何平均值 fMAX。最后

一次编译是在逻辑利用率约为 98% 时,之后因 CLB 不足而停止。

OC_FPU100 内核

该图表显示了浮点单位函数 OC_FPU100 编译的 fMAX 结果。英特

尔 Arria 10 FPGA fMAX 值保持稳定,当利用率超过 92% 时,该

值开始下降一点,生成了 254 MHz 的几何平均值 fMAX。逻辑利用

率接近 100% 时,英特尔 Arria 10 FPGA 编译因 LAB 资源不足

而失败。UltraScale fMAX 值也十分稳定,生成了 232 MHz 的几何

平均值 fMAX。最后一次编译是在逻辑利用率约为 94% 时,之后因

SSI 分区失败而停止。

Page 8: 英特尔® Arria® 10 FPGA 性能指标 评测方法和结果 · • 添加 I/O 包装程序逻辑以减少更大设计所需的 I/O ... 1 oc_avr_hp_cm4 AVR 处理器 avr_hp 1,269

白皮书 | 英特尔 Arria 10 FPGA 性能指标评测方法和结果

英特尔公司 © 2017 年版权所有。所有权保留。英特尔、Intel 标识、Intel Inside 标志和标识、Altera、Arria、Cyclone、Enpirion,Experience What’s Inside、Intel Atom、英特尔凌动、Intel Core、

英特尔酷睿、Intel Xeon、英特尔至强、MAX、Nios、Quartus 和 Stratix 字样和标识是英特尔在美国和/或其他国家的商标。其他的商标和品牌可能是其他所有者的资产。英特尔保留随时更改任何产

品和服务的权利,恕不另行通知。英特尔不承担因应用或使用本文所介绍的任何信息、产品或服务而产生的任何责任或义务,除非英特尔以书面形式明确同意。建议英特尔客户在使用任何发布信息以

及下单购买产品或服务前,先获取设备说明书的最新版本。

* 其他的商标和品牌可能是其他所有者的资产。 C 请注意环保 WP-01271-1.0CN

结论

表 2 汇总了每次 OpenCore 比较得出的 fMAX 值以及英特尔 Arria

10 FPGA 产品家族相比 UltraScale 产品家族的相对性能。

在 10 项指标评测设计中,英特尔 Arria 10 FPGA 产品家族在 8

项设计中取得了更高的 fMAX 值,高出 7% - 20%。测量指标为

设备速度等级,通常被定义为 10%-15% 的差异,上述性能优

势代表一到两个速度等级。† 在竞争产品家族中,这两项指标评

测设计都实现了略微更高的性能(3%)。在这两项设计中,随

着设备利用率不断增加,英特尔 Arria 10 FPGA 中的 M20K 内

存块先于逻辑资源耗尽,这对 fMAX 产生了不利影响。由于使用

了默认编译设置,所以就设计需要的内存资源而言,只使用了

M20K 内存块。在允许使用 MLAB 内存资源的不同编译设置下,

英特尔 Arria 10 FPGA 编译得出的 fMAX 可能会有所改进。英特尔

Quartus Prime Software Suite 的未来版本可能会采用不同的默

认编译设置,前提是确定它们能够改善 fMAX 性能,同时维持其他

编译性能指标。

英特尔为这项分析提供了数据和设计,旨在提高透明度,改进可

编程逻辑用户对英特尔 Arria 10 FPGA 性能的理解。英特尔 Arria

10 FPGA 和系统芯片旨在成为同类中最高性能的产品,这项使用

已发布设计的分析在比较中借助 OpenCores 设计,突出并巩固

了其作为可编程逻辑行业最高性能 20 纳米 FPGA 和系统芯片的

地位。

参考资料1 http://www.opencores.org2 http://www.altera.com/arriaperformance

了解更多信息

如欲获取有关英特尔和英特尔 Arria 10 FPGA 的更多信息,请

访问:https://www.altera.com/products/fpga/arria-series/arria-10/overview.html

如欲获取有关英特尔和英特尔 Stratix 10 FPGA 的更多信息,请

访问:https://www.altera.com/products/fpga/stratix-series/stratix-10/overview.html

如欲详细了解英特尔 Arria 10 设备的高性能架构,请参阅文章:

https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/wp/wp-01200-power-performance-zettabyte-generation-10.pdf

† 在特定系统中对组件性能进行特定测试。硬件、软件或配置的任何差异都可能影响实际性能。

请进行多方咨询,以评估您考虑购买的系统或组件的性能。如欲了解有关性能及性能指标评

测结果的更完整信息,请访问:http://www.intel.com/content/www/cn/zh/benchmarks/

benchmark.html

编号 OpenCore 设计名称 设计函数 英特尔 Arria 10 FPGA fMAX(几何平均值)

UltraScale fMAX

(几何平均值)英特尔 Arria 10 FPGA fMAX/UltraScale fMAX

1 oc_avr_hp_cm4 AVR 处理器 320 MHz 267 MHz +20%

2 oc_warp_tmu 图像处理 248 MHz 225 MHz +10%

3 oc_reed_solomon_ decoder

纠错码 325 MHz 335 MHz -3%

4 oc_usbhostslave USB 1.1 控制器 480 MHz 424 MHz +13%

5 oc_dma_axi64 单通道 64 位 AXI 主 DMA 331 MHz 283 MHz +17%

6 oc_256_aes 高级加密标准(AES) 242 MHz 209 MHz +16%

7 oc_m1_core 32 位 RISC 处理器 277 MHz 258 MHz +7%

8 oc_aquarius RISC SuperH 处理器 103 MHz 106 MHz -3%

9 oc_des_des3perf 三重 DES(数据加密标准) 528 MHz 492 MHz +7%

10 oc_fpu100 32 位浮点单元 254 MHz 232 MHz +10%

表 2. OpenCore 结果汇总