用FPGA物理综合完成时序收敛
作者:Jeff Wilson 和 Tom Feist
过去的几年中,FPGA在性能和规模等方面取得了令人惊异的进步。这些进步对设计人员提出了新的挑战。为了使FPGA器件能发挥最大的效益,设计人员目前必须在传统的RTL综合产生的逻辑视图与设计的物理实现之间架起一座桥梁。为了使设计的性能得到最大限度的发挥,我们现在需要采用象物理综合这样的先进解决方案。

历史上,RTL综合工具是以扇出数为基础的线负载统计模型来估算互连线路的延迟。利用这种方法,可以根据每个驱动源所驱动的元件个数从查找表上得到延迟的估算值。例如把每个扇出数为 3 的网线的延迟都看作是相同的。 这种模型在器件较小的前提下,确实能很好地反映实际情况,但当器件规模较大时,这种统计模型就不准确了。

这个新的要求是由于片基的尺寸和工艺过程的改变造成的。在前几代可编程器件中,门延迟是产生信号传递延迟的最主要的原因。随着新一代0.13微米工艺的应用,很快又进入了90纳米工艺,封装的边长已经超过40毫米,门延迟已经不再是产生信号传递延迟的最主要的原因。在当今的器件中,逻辑门间互连线的延迟已经占到总延迟的75%以上。因此利用标准的查找表来估算延迟已经远远不够了。为了达到最佳的性能,必须利用布局布线数据来建立新的以互连线延迟为主的准确的延迟模型。

目前有几家公司提供“物理综合”工具,然而综合效率并不太理想。真正的物理综合工具必须既能理解设计的逻辑层面,又能理解设计的物理层面。此外ASIC和FPGA 设计需要不同的实现策略。

明导公司的PrecisionTM Physical Synthesis是该领域唯一的解决方案。该综合方法采用了许多来自于ASIC的物理综合技术,并且对这些技术做了必要的修改,显著地提高了 FPGA 设计的性能,能够帮助解决FPGA设计中出现的日益严重的时序收敛问题。此外PrecisionTM Physical Synthesis既能提供自动的物理综合流程,又能提供交互式的编辑解决方案,使用户可以自己来控制时序收敛的过程。

所谓物理优化也就是在综合的过程中利用了电路的物理信息。第一代综合工具试图利用来自布局布线系统的物理数据(即反馈的延迟信息)对设计进行再次优化。明导公司以LeonardoSpectrumTM TimeCloser TM流程倡导了这种方法。然而,这种方法也面临挑战,它有可能产生多种结果。这是因为该方法不能控制布局布线工具的每一次新的布局,虽然RTL综合看起来能提供更好的结果,然而布局布线工具会因为完全重新布局而抵消前面所做的任何改善。

第二代解决办法是根据时序报告,进行以逻辑单元分组(grouping of cells)为基础的布局规划,以达到改善时序的目的。然而这个办法仍缺少对于布线规则的理解,还缺少可利用的布局布线资源的知识,该知识是作为物理实现期间进行适当修改的依据,因此这种解决方法仍会产生多种结果。

为了得到有效的物理优化的布线资源,必须把延迟计算、布局规则、设计规则和逻辑资源等都考虑在内。Precision Physical Synthesis的模型中包括以上所有的知识,能很好地对设计进行优化。诸如时序调整(re-timing)、复制(replication)和重新综合等已证实的物理优化技术就是由这些精确的信息来指导的。

考虑了具体物理实现细节的时序调整(re-timing)可以平衡整个设计中时序的正余量和负余量。一旦节点的余量计算出来,寄存器就在组合逻辑之间移动,从正余量逻辑电路中扣除一部分转移到负余量逻辑电路中。

复制(Replication)在分解长的互连的延迟时特别有效。复制的时候,多个寄存器复制出来并根据余量的值来移动以平衡互连延迟,达到改进电路性能的目的。

重新综合(Re-synthesis)就是利用物理数据对关键路径进行局部优化。重新综合所用的技术包括为改进时序和布局布线所做的逻辑构造重建、重新聚集、替换、可能还有逻辑门和连线的删除等。其目标是把逻辑电路从关键路径转移到设计的非关键路径部分。

这些优化技术除了应用线路互连对总体延迟影响的知识之外,还应用了逻辑层面的知识。这些知识包括使用更精确的延迟模型、理解可以使用的资源,和考虑每次网表改进所产生的物理效果。由于考虑到了电路的物理实现,这些优化技术就能更深入地理解设计的规则,把网表的改动分配到合理的区域,这样做能减少设计的迭代次数,提高设计的性能。

改进设计性能的另一个要点是布局优化,或者说把电路元件移到一起,使其变得更加紧凑。事实上对某些设计进行布局改进所产生的性能改善效果远比网表的改进所产生的效果大。然而改进布局时,为了确保每一次改动都是合理可行的,并且不会引起最后的布线问题,理解来自于FPGA厂商的有关布局、时钟分配和封装等的规则是非常关键的。Precision Physical Synthesis在设计时考虑到了这些问题。

据估计,设计人员90%的时间和资源花在最后10%的工作中。提供尽可能多的自动化工具来解决最后的设计问题是非常重要的,但是有时候,光靠工具的自动化还不能完美地完成时序收敛的设计任务。为此Precision Physical Synthesis方法还提供了一个称为 PreciseView 的交互式编辑环境,该开发环境可以确确实实地帮助设计人员达到他们的时序设计目标。

PreciseView 交互式布线修改环境对任何电路的调试都是至关重要的。以前为了改善电路的性能,设计人员一直靠电路图来查找需要修改的地方。目前电路的总延迟大部分是由线路互连延迟造成的,所以元件之间的物理连接对电路性能的提高就变得非常重要了。 然而为了提高效率,就需要有一个交互式的和递增式的环境来实现布线编辑、时序分析、快速的图形浏览和直观的命令之间的衔接。

通过提供时序报告与物理数据之间的联系,PreciseView根据关键路径来显示它们的相关元件。设计人员可以很形象地看到通过移动元件(如查找表、寄存器、宏单元、RAM块、进位链等)的位置是否可以改进时序,这样时序的验证就变得既快速又精确。PreciseView 把时序问题和直观的解决方案结合起来,帮助设计人员不用经过多次设计迭代就能很快做出正确的修改。

PreciseView 采用了递增的时序分析机制,对修改后的布线进行验证。递增机制允许工具只对改动后受影响的逻辑重新计算时序,因此可以提供即时的验证,大大提高了设计验证的效率。传统的解决办法,如重新编写RTL级别的代码、加约束条件或做布局规划,虽然都有益于时序收敛的过程,但是Precision Physical Synthesis采用了智能综合算法能更加有效地利用物理数据,进行更合理的布线,帮助设计人员跟上技术前进的步伐。

综合工具最重要的目标是帮助设计人员更快地为市场提供新开发的产品。许多自动算法,诸如时序调整、复制、重新综合等,都能增加综合工具的价值,特别当这些算法能把布局优化的工作做得更快更好时更是如此。在自动工具把时序改进得尽可能好后,再添一个交互式的布局修改工具,如PreciseView,则可以把时序分析和设计工作做得更加完美,把那些边远的关键路径问题也一并解决。

若想要得到有关Precision产品系列的更多的信息,或者想学习怎样才能更好地完成最复杂的FPGA设计,请访问以下网址:www.mentor.com/precisionphysical