您可以添加到网摘 让更多人关注此文章:
一套公正、有效的标准检查程序,能够真正比较主要FPGA生产商的产品硬件结构和软件设计工具包的优劣。
作为一名使用FPGA的设计工程师,你怎样选择最适用的FPGA?每个工程师都会碰到这个问题并且面对数量众多且都带有无休止自我宣传的,令人半信半疑的同类产品。每个FPGA生产商都宣称其产品更快,编译时间大幅降低,并且能耗更低,还有其他很多的技术特性。然而,任何公司都可以人为编制标准检查程序使其FPGA产品与竞争产品相比更有优势。因此问题是:哪些检查程序的结论是精确的,哪些又是市场宣传手段。
Altera使用其开发的Quartus II软件在一套全面和典型的客户设计方案的每个过程节点上评估和检查它的FPGA。这些客户设计方案(被保存在一个安全的数据库中)用来找出真实的客户设计与目前本公司产品以及竞争产品的结构不一致的地方。那些使用Altera FPGA结构无法优化的设计方案将以超过150,000个实验进行评估;根据评估的结果确定如何增强FPGA结构或设计工具未来的功能。
以上述的评估和标准检查程序为基础-认识到一个事实,即不存在标准化的FPGA检查程序过程-Altera 已经创造出一种被认为是“公平和公正”标准检查程序方法学,它以一系列真实的客户设计方案为基础并且得到专业人士的认同。不过还有一个问题:既然现行的设计方案对我们的客户来说是具有专利权的,那么我们不能向新的或其他的客户提供这些方案用于评估Altera的FPGA。尽管每个人都知道这层原因,但仍通过这种方式来扩大终端用户的范围。如过我是Altera的一个潜在用户,并得知Stratix III FPGAs比Virtex-5 FPGAs的运行速度平均快35%,编译速度比其快3倍,并且提供平均95%的使用效率,那么如果自己不去验证的话,作为一个工程师我将对此非常怀疑。
为了消除客户对于标准检查程序宣传内容的怀疑,我们可以轻易得到现成的设计方案并与客户共享用以评估和支持下表中关于Stratix III FPGAs和Virtex-5 FPGAs在设计规模增大时的核心性能、使用效率、编译次数方面的比较结论。
为此,我们挑选出OpenCores.org网站上发布的7个最受欢迎和最大的设计方案列在表1中。选择是根据该网站最“受欢迎设计”栏目的排名进行的。
 Table 1. OpenCore Designs.
表1. 开放源代码设计方案
注释:
(1)点击此处可在Altera的网站上获得用于评估的设计方案
For the purposes of these OpenCore-based benchmarks, the largest comparable parts from Altera and Xilinx were used. Table 2 shows the devices used for benchmarking along with the latest available software.
为了这些开放源代码-基础上的标准检查程序,对Altera 和Xilinx的可比较部分进行了最大程度的对比。表2将这些用于标准检查的设备与最新的现成软件一起进行展示。
 Table 2. Device, Software, and. Speed Grade
表2. 设备,软件。和速度等级。
注释:
(1) 较小部分比较的结果相近。
(2) 使用比Quartus II v.7.2 SP3更好的Quartus II v8.0, 得到的ISE 10.1 的初步结果没有显示出Virtex-5 FPGAs性能和使用效率方面的提高. 与ISE 9.2i SP4相比编译次数有所提高,但是Quartus II v8.0软件比ISE 10.1的速度平均快3倍.
(3) 中等的速度等级是这些设备所运行软件达到的最快速度。
如果被设计在大的FPGA中那么单独的开放源代码设计方案是非常小的(也就是Altera的 EP3S340 和Xilinx的 XCV5LX330)。为了填充FPGA并且模拟设计规模增大时其性能、使用效率和编译次数的效果,每个开放源代码的多个例子被应用在FPGA上(多次复制同样的代码直到填充满设备并且软件不能执行更多FPGA里的开放源代码命令为止)。图1 展示了四个oc_aquarius 设计方案的实例)。在进行标准检查程序和使用复制方法时应注意要保证以下四点:
- 平行执行每个复制项
- 附加的输入输出的 wrapper逻辑用于减少较大设计方案需要的输入输出引脚数量
- 在代码和wrapper逻辑之间不存在时序关键路径
- wrapper逻辑提供很小的开销(< 3%),它被平行的执行,并且在代码和wrapper逻辑之间不存在时序关键路径

要得到完整详细的执行过程, Click Here查看开放源代码复制和标准检查方法技术摘要
开放源代码被设备和软件执行很多次直到不再有编译错误出现。每个FPGA的性能、使用效率和编译次数每间隔5个复制点被比较一次。
[NextPage]
性能优势随着设计规模的增大而提高
在图2中,Y轴表示在Stratix III FPGAs 和 Virtex-5 FPGAs.达到的fMAX 比率。X轴表示7个开放源代码设计方案中每一个方案被复制的代码数量。每个1.0线上方的数据点表示一个Stratix III FPGA 的性能优势。为了增大设计规模(增强使用效率),复制在FPGA上每个中心的数量也增加了,其结果是:
- fMAX 比率提高了,由于其临近的竞争设备产品的性能退化更加迅速。Stratix III FPGA的性能优势增加到50%。
- Quartus II 软件开发出了Stratix III FPGA的高效的架构和出色的路径之间的相互关联性,实现了利用最少的跳数达到最多的逻辑元素进行高性能运行(点击这里获得关于Stratix III设备系列结构的更详细信息)。

2. Stratix III performance advantage increases with design size (utilization). 图2. Stratix III 性能优势随着设计规模的增大而提高(使用效率)
Click this image to view a larger, more detailed version
使用效率优势
图3和表3展示了可以复制在FPGA核心上源代码的最大数量,结果如下:
- Stratix III FPGA比临近的竞争设备具有平均46%的使用效率优势
- Quartus II软件借助与自适应逻辑模块(ALM)将执行逻辑功能的使用效率最大化,由于ALM的可分割性这是极其高效的。
-
 3. Stratix III FPGAs fit more logic on comparable devices.
-
图3. Stratix III FPGA比同类设备适应更多的逻辑
(Click this image to view a larger, more detailed version)
 Table 3. Maximum number of stamps instantiated and utilization.
-
表3. 复制数量和使用效率最大化
表4展示了增加设计方案规模时当复制数量超过上表中所示数量所收到的错误代码。可以看到临近的竞争设备经常以过早的“无路径”错误显示编译失败。
 Table 4. Error code for next core stamp.
表4. 下一个核心复制的错误代码.
注释: (1) LABs = Logic Array Blocks. 编译时间优势
图4和表5展示了根据临近竞争设备能达到的代码最大数量进行的编译次数的比较。
 4. Compile time comparison. (Click this image to view a larger, more detailed version)
 Table 5. Compile time comparison.
Altera 还有一种第三方的,得到工业专家认可性能标准检查方法,这种方法可以比较单独FPGA生产商提供的和竞争者提供的解决方案的FPGA的性能。这样可以保证一个一致的标准检查程序环境来测试Altera FPGA和与竞争FPGA产品进行比较。
Click Here 获得这种标准检查程序方法的详细信息。
Click Here 查看Altera FPGA性能标准检查程序方法(白皮书)。
Click Here 查看精确的FPGA标准检查程序指导(白皮书)。
英文原文:http://www.icembed.com/info-28441.htm
|