当今设计的复杂性、丰富的FPGA资源以及计算机辅助设计(CAD)工具使得基准测试成为有一定难度而又耗费时间和成本的工作。深入了解用于比较的设计,并且熟悉FPGA功能和CAD工具将非常有利于获得令人信服的基准测试结果。过于简单的基准测试方法很容易导致不具有说服力甚至是不正确的结果。
Altera基准测试方法经过了第三方业内专家的认可。以下引用了两个专家的评论:
- 为了评估其FPGA,Altera建立的基准测试方法公平的考虑到自己和竞争者在工具和器件上的复杂性,并对工具和器件进行优化处理。实验考虑了不同终端用户的工作条件,运行在一组业界基准测试电路上。这些实验结果着重分析实验差异,清楚的确定出结果趋势。我相信,在面积利用和速度上,Altera及其竞争器件采用的实验方法公正的体现了用户期望。
- Russell Tessier 副教授, University of Massachusetts, Amherst - Altera建立了令人印象深刻的方法,用于测量、监控自己和竞争器件以及工具的关键性能特性。设计公平合理、准确的测试方法是难度较大的工作,而Altera在这方面的投入显然得到了回报。他们的系统包括完整的具有代表性的测试套件,自动补偿不同FPGA系列的技术和IP差异,自动生成设计约束,得到综合和布局工具的最佳结果。
- Kevin Morris,《FPGA和可编程逻辑杂志》编辑
以下因素影响基准测试结果:
- 基准测试设计选择
- HDL优化
- 软件工具设置和用户约束
- 时序分析方法
- 基准测试结果报告
FPGA Performance Benchmark Methodology白皮书含有以上因素的详细讨论。
基准测试设计选择
Altera采用真实的客户设计进行基准测试,而不是生成人为的电路或者孤立的采用知识产权(IP)内核。通过在各种市场领域(例如,电信、联网、存储、无线和医疗应用)采用多种客户设计,Altera保证设计中逻辑和连通的真实性,因此能够表征大型电路和FPGA CAD工具之间复杂的相互作用。
HDL 优化
Altera使用的客户设计最初定位于Altera和Xilinx FPGA、ASIC以及门阵列等技术。将设计中针对特定技术进行优化的HDL源代码盲目的在另一技术上进行基准测试将产生令人误解的结果。因此,Altera专门组成一个工程师团队对每个设计进行性能优化,将其转换为这些基准测试中采用的目标体系结构。对于每个设计,耗费数个星期完成转换和性能优化过程,因此,每个设计能够充分利用其体系结构中的特有功能。
软件设置和约束
所有CAD工具都要在逻辑区域的设计性能、编译时间和存储器使用上进行取舍。基准测试结果取决于编译FPGA设计工具的多种设置。基准测试结果受软件设置和约束的影响很大。
进行基准测试时,必须考虑以下两种情况:
Least-Effort Results. 这涉及到采用Altera Quartus® II 软件或者Xilinx ISE软件等FPGA CAD工具进行性能优化,而用户的干预很少。Least-effort results 对性能和资源使用进行初步估算。
Best-Effort Results. Best-effort results 基于用户的大量干预,以获得尽可能的最佳结果。Best-effort results 通常需要对每个设计进行恰当的软件设置和时序约束,也涉及到多次编译和迭代。
图1和图2显示了在基准测试中采用最小或最大努力设置时,平均结果是如何变化的。
图 1. 最大努力设置性能对比(注释1)

图 2. 最小努力设置性能对比(注释1)

图1和图2的注释:
- 基准测试数据基于对Altera器件和相当的Xilinx器件的比较,基于Quartus II 最新版本和ISE软件分析的结果。
Quartus II设计软件提供的设计空间管理器(DSE)功能能够自动确定每个特定设计的最佳设置。Quartus II软件还为物理综合提供高级算法。DSE和物理综合功能具有方便的按键式流程,能够获得较大的性能增益。Xilinx ISE软件目前提供的类似工具称为Xplorer。
基准测试结果报告
选择不同的基准测试电路将显著的影响结果。通常由于采用不同的FPGA体系结构和启发式的CAD工具,结果会分配在一定范围内。有些设计能够在特定体系结构和CAD工具中很好的实现,而其他的设计则根本无法运转。采用设计的部分设置会得到许多不同的结论。
图3显示仅选择顶层电路时,与选择全部设置相比,将产生不同的平均结果。必须采用大量设计来掌握器件和CAD工具的整体性能。
图 3. 电路选择对基准测试结果的影响(注释1)

对图3的注释: 基准测试数据基于对Altera器件和相当的Xilinx器件的比较,基于Quartus II 最新版本和ISE软件分析的结果。
结论
采用过于简单的基准测试方法得到的结果会导致令人误解的结论。因此,必须遵循最佳基准测试方法,并且对方法的沟通也非常重要。
关于Altera严格测试方法的详细信息,请参考FPGA Performance Benchmarking Methodology白皮书。
