集成电路设计中的时序收敛一般指前后端设计时序一致。即前端给出的网表能运行在多少频率,后端完成布局后电路也能运行到该频率。主要原因是前端综合或时序分析时没有精确的线和CELL延迟信息,这样就容易造成和布局后的时序不收敛。随着工艺的进步,线延迟占主导地位,时序收敛问题越来越严重。根本的解决方法是前后端的设计流程整合起来,如PC(物理综合)等工具能较好解决此问题。
在过去几年,FPGAs在性能和容量方面都取得了令人吃惊的进展。因此,设计者就需要新的解决方案和技术以充分利用FPGAs,如:物理综合。考虑到FPGAs的发展和性能的大大改善,以前的技术综合出来的性能经常不能满足设计者的要求。在很多前沿的设计中,传统的综合技术已经不能满足设计的需求。因此,综合算法需要利用物理数据以改进综合结果。
这篇文章主要讨论当前综合工具的能力和进行成功的时序收敛设计之间的差距。利用物理数据的综合算法以改进时序收敛的结果,已成为当前综合技术发展的重点。
时序收敛实现起来并不简单,这种技术必须强健,容易使用,对FPGA设计者来说很好接受。虽然ASIC和FPGA要求不同的实现策略,但是在很多方面还是有很多共性。例如:二者都使用前沿的工艺,目前是0.13um;都使用VHDL或Verilog进行设计;都是在时序满足以后才正是发布;而且对设计者来说时序收敛都会遇到越来越多的挑战。
许多EDA厂商都在努力解决深亚微米ASIC设计中时序收敛的挑战。随着ASIC设计向FPGA转移以及FPGA结构的发展,促使FPGA工具厂商也遇到同样的挑战。特别是当前FPGA器件复杂度和性能的增长使FPGA设计也遇到时序收敛的挑战,这些复杂的器件一般都包含高级的内置模块,例如:DSP结构,高速I/O接口,专用存贮器和片内处理器等。要充分发挥这些器件的性能,设计者需要新的方法进行FPGA综合,一个重要的方面就是实现时序收敛。时序收敛的最大问题是怎么实现把物理布局布线和逻辑融合起来。因为性能的原因,当前的综合算法都是利用基于扇出的线负载模型进行内部走线互联延迟的估算。对于以前的可编程器件和设计,这种方法足够了因为器件内部延迟主要是门延迟。对于目前很多新的器件,情况已经发生改变,器件内部的走线延迟已经占总延迟的70%以上。为了实现最好的综合结果,内部走线延迟必须要精确的模型化。从而出现了物理综合的概念。为了使物理综合的效果更好,综合数据库必须无缝地包括逻辑数据和物理数据。
物理综合这个术语是随着市场的需求应运而生,通过使用物理数据改善综合结果目前还有很长的路要走。物理综合对不同的人和不同的公司意味这不同的事情。必须牢记综合是一个类术语,包括寄存器传输级(RTL)到逻辑的综合或转换以及逻辑的优化。物理综合结合布局和综合算法以产生一个高质量的结果(QoR),这在两个层次可以完成。第一个层次符合物理综合的根本定义,就是在综合期间使用来自布局布线的内部互联延迟实现结构上的改进,这个层次的改变经常和设计规划一起实现,优势是在工艺映射之前实现。第二个层次可以称为物理综合的的标志,可以说是真正意义上的物理综合,常常被称为物理优化,主要是利用物理数据改善优化策略。当前的FPGA物理综合工具能够满足大多数设计需求,但是随着复杂度的不断增加,设计者会逐渐从平面规划过渡到设计规划。
时序收敛有两个不变的特征:不同的设计将会面临不同的挑战,同时设计者希望用最少的工作能够尽快让自己的产品面市。
为了解决时序收敛问题,工具必须能提供一系列的解决方案。解决方案首先必须是自动化的方法,这是非常重要的;然而,对于极其困难的时序收敛问题,设计者必须能在逻辑和物理阶段干涉工具的使用和他们的设计,从而完成时序收敛,发布自己的产品。
在EDA厂商涉足物理综合以前,很多FPGA设计者很早就实现了时序收敛。比较普遍的方法是重新写RTL代码,设计叠代,单元分组以及加载时序约束。在大多数情况下这些方法工作的很好,因为整个芯片的延迟主要取决于单元的延迟而不是内部互联延迟。单元的分组用来辅助布局布线引擎,这个功能可以通过平面规划或者在RTL中应用属性来实现。单元分组的挑战在于这种方法过于美观而不科学,一个好的设计平面规划对布局布线来说并不意味着有效的分组。许多设计者在努力解决布线阻塞,同时还希望保持关键信号的收敛。
物理结果
当在综合过程中使用物理信息,就是我们常说的物理优化。利用物理数据的第一种方法是从布局布线系统反标延迟,并再次优化设计。但是这种方法缺少对器件的了解,以及在综合中资源发生改变后对可利用资源的了解。为了更加高效地综合,物理优化必须了解器件,了解走线资源,了解延迟计算,打包的规则,设计规则和逻辑资源。目前最常用的成功的物理优化技术包括时序调整,复制和重综合。
时序调整在设计中平衡发现的正负时间差。一旦一个节点的时间差被计算,寄存器将跨过逻辑进行移动。大多数时序调整是作为逻辑优化的一部分进行的,因为在很多FPGA器件中,寄存器资源很丰富,所以很容易通过时序调整来改善设计的性能,并且在很多情况下可以改善布通率。必须意识到时序调整代替了内部物理布线模型的不准确的线负载模型。因为内部互联延迟是总体延迟的一个最主要的因子,所以当时序调整时,考虑这些布线延迟是很重要的。
复制也是一个特别有效的改善设计性能的手段,可以在逻辑层次完成,但是这是基于不准确的线负载模型。当物理数据的准确度增加时,结果的性能可以进一步改进。因为它仅仅是回避这个问题,增加单元到高利用率的区域,复制算法必须了解器件中可以利用的资源以及判断哪些逻辑或寄存器进行复制。
重综合利用物理数据对关键路径进行优化,这个功能覆盖了从物理优化到物理综合领域,重综合使用的算法包括逻辑重构,逻辑重聚合,门和线的替换或删除等以改善时序和布通率。重综合能够把逻辑从关键路径移到非关键路径上,非常重要的是重综合和增量布局紧密结合,用以了解哪些资源可以利用,以及怎样改变能改进布线阻塞。
近似优化
减少长的内部互联延迟的常用的方法是复制逻辑,另外一个重要的方法是使单元尽可能的靠近在一起。在物理优化算法的发展中,优化布局越来说明显地成为一项改善性能的关键技术。事实上,在一些设计中利用布局对设计的性能改进的效果比逻辑网表改进地更明显。然而,为了利用增量布局技术解决时序收敛问题,必须充分利用逻辑优化。
在时序收敛能实现以前,设计必须是可布通的,因此就要求布局在时序和阻塞之间达到一个平衡。这里所讨论的布局改进不同于FPGA厂商所提供的初始布局。最近几年,利用FPGA厂商的技术对结果质量的改进是相当大的,但是他们的方法集中在平衡全局和局部视图,这种平衡是很困难的,因为没有利用物理数据优化设计。这样就增加了关键路径的数目,同时布局所要解决的问题也增加了。物理优化时,常常需要外部干预进行布局。而网表优化时,原始的布局会包括重叠。布局优化必须解决这些重叠,同时还要尽量减少对设计其他部分的影响。
物理综合基于物理数据对设计进行时序调整,复制和重综合。当改善时序减少阻塞时增量布局必须和网表的合并密切结合。布局优化对解决时序问题提供了另外一项重要的技术。据估计,一个设计的最后5%部分将消耗整个设计95%的时间和资源。物理综合应该提供一种尽可能自动化的方法解决这个问题,但是有时它是不够的。
要使设计达到最好的性能有时必须进行人工指导完成时序收敛,随着物理设计重要性的持续增加,一个物理信息观测器将成为电路调试的一个重要部分。在过去,设计者常用电路图视图改进性能;现在,可视化器件的内部以识别阻塞和时序问题变得越来越重要。对于大多数FPGA设计者,物理信息观测器并不是标准设计流程的一部分;但是随着设计复杂度的持续增加,它逐渐成为实现时序收敛的一个关键部分。重要的功能包括一个交互的增量的连接以进行时序分析,快速图形和直观的编辑命令。
物理信息观测器的目的使帮助设计者尽可能快速地简易地接近时序,完成时序报告必须基于物理数据。如果通过移动单元(例如:查找表,寄存器,块RAM和进位链)能够改进时序,设计者也必须能够手动改动设计,并且能快速地验证设计是正确地。如果工具直接和增量时序分析结合在一起,这就能快速地实现对改动部分的逻辑进行时序分析,提供几乎瞬间的反馈而改进生产率。
传统的方法象重写RTL,结合约束设计或者平面规划等还是很有价值的,但是设计者还是需要利用物理数据的智能综合算法,这样才能使设计者跟上工艺的发展,使他们的产品更快的面市。当自动化算法(例如:时序调整,复制和重综合等)结合布局优化时,这些算法就更有价值。在自动化算法做完尽可能多的工作,一个交互的环境允许设计者干预他们最后的相当少的关键信号。
转自:
http://cache.baidu.com/c?m=9d78d513d9d430dc4f9d97697b14c012194381132ba6a30209d3843990732b415321a3e52878564291d27d141cb21e0ab9a16a6537747ce0ddd5d81a9ca6d67378cd616e304bd51705d36eed910432c054d601bfb81891b9fb3797&p=8b2a951a8a934eac1aa9de315c&user=baidu
文章评论(0条评论)
登录后参与讨论