采用编译增强技术,提高高密度FPGA设计工作效率
扫描二维码
随时随地手机看文章
现场可编程门阵列(FPGA)体系创新以及向90nm工艺技术的过渡显著提高了FPGA的密度和性能。FPGA设计人员不仅需要更高的逻辑密度和更快的性能表现,还要求具有嵌入式处理器、数字信号处理(DSP)模块以及其他硬件IP结构等复杂的器件功能。但是,由于FPGA设计规模越来越大、越来越复杂,为了能够抓住稍纵即逝的市场机会,设计人员必需尽快完成其设计。
FPGA器件供应商一直努力提高编译时间效率,改善时序逼近流程,但是却无法满足设计人员更高效工作的要求。Altera Quartus? II软件5.0增强编译技术明显缩短设计迭代时间,在关键性能通路上进行设计优化,保持性能已达到要求的区域特性不变,该技术是前所未有的,极大的提高了设计效率。
编译增强优势
现在的一个高级FPGA标准编译流程包括RTL综合、布局布线等,高密度FPGA的每次设计编译在任何情况下都要耗费45分钟到4个多小时的时间,这显然限制了设计人员每天所能进行的迭代次数,可能会少至两次,明显减缓了设计过程。设计人员采用标准编译设计流程来优化部分设计时序性能时也会降低设计效率。这种优化通常不利于逻辑布局,影响设计中其他部分的性能,不得不进行额外的多次设计迭代。
对于当今的高密度、高性能FPGA设计,必需具有设计和调试阶段快速迭代的能力。Altera Quartus II软件5.0为高密度FPGA设计提供了最先进的技术,如以前只有专用集成电路(ASIC)才具有的增强设计和编译能力等。与相应的ASIC相比,FPGA编译效率更高,ASIC即使采用增强方法,仍需要几小时到几天的时间来完成编译,而FPGA编译只需要几分钟到几小时的时间。
设计人员采用Quartus II增强编译技术,可以逐步编译其设计分区,比进行全部设计的标准编译时间缩短近70%。性能保留是增强编译技术的另一个主要优势。通过只对设计中的一个分区进行编译,可以保持其他部分的性能和结果不变。这种性能保留特性使设计人员能够以更少的设计迭代,更高效的达到时序逼近。
编译增强使设计人员能够以逻辑和物理分区的形式组织设计,进行综合和适配。只针对特定设计分区进行新的编译,从而能够显著缩短设计迭代时间。编译增强特性有助于基于模块的设计,对没有修改的设计模块,保持其性能不变。设计人员还可以只对特定设计分区采用物理综合等优化技术,而不改动其他模块。
传统上,一个层次设计在进行逻辑综合和适配之前转换为单一的网表,每修改一次设计,就要对整个设计进行重新编译,减缓了设计过程。而编译增强特性使设计人员能够沿任意层次边界划分设计分区。采用Altera Quartus II软件,可分别对不同的层次设计分区进行综合和适配。分区可以组合、合并形成网表后,进入后面的Quartus II编译流程。重新编译设计时,设计人员可以为每个分区选择使用新的源代码、后综合结果以及后适配结果。
编译增强设计流程
Quartus II编译增强特性改善了标准Quartus II设计流程,使设计人员能够重新使用、保留前次编译结果,节省编译时间。在一个标准设计流程中,源代码完成后,如果修改设计中的任何部分,设计都要重新进行编译,处理源代码,布局所有逻辑。采用这种方法的原因之一在于能够得到质量最佳的结果。通过处理全部设计,编译器能够进行全局优化,改善面积大小,提高性能。但是,对于有些情况,需要采用增强编译设计流程。当选好设计中的一个分区,并在器件平面布置中进行布局后,设计人员可以加速其设计编译时间,而保持结果质量不变,甚至提高结果质量。
设计人员可能希望在设计主体完成后,在设计后期修改或优化一个特定模块时,采用编译增强技术。在这种情况下,他们可以保持没有改动的模块性能不变,缩短后面迭代的编译时间。编译增强特性在有些情况下,能够同时有利于缩短编译时间和达到时序逼近。设计中有些分区丢失或不完整时,该特性还可以用于对其他分区进行编译和优化。
设计分区和设计层次
通常的设计实践是生成模块化或层次化的设计,对实体分别进行设计,然后在高级工程中例化,形成一个完整的设计。编译增强技术对设计中的每个实体不自动处理为设计分区;设计人员必需在该工程顶层以下,指定一个或多个层次。生成分区使编译器不对整个分区边界进行优化,但仍可以通过对每个分区分别进行综合和布局,来实现编译增强技术。
由于分区必需由层次化的边界进行隔离,因此分区无法成为一个层次化实体中逻辑的一部分。形成一个分区后,该分区内的每个层次化实体成为同一分区的组成。设计人员能够在一个已有分区中,为该层次化实体生成新的分区,在这种情况下,新分区中的实体不再是更高级别分区的组成部分。
设计分区和物理区域
编译增强特性的设计分区为逻辑分区,有别于器件平面布置图中的物理区域,在平面布置图中,对大小和位置进行了规定。一个逻辑设计分区不是指器件的物理部分,不用于直接控制逻辑布局。
一个逻辑设计分区在设计层次之间建立一个虚拟边界,因此每个分区分别进行编译,彼此之间不会发生逻辑优化。在采用编译增强技术建立设计时,建议设计人员将每个设计分区分配给一个物理区域,来提高结果质量。
生成设计分区的建议
设计人员规划设计时,应牢记每个分区的大小和范围,以及设计中的不同部分在设计过程中会怎样变化。由于采用分区时,不会出现交叉边界优化,设计结果质量以及性能会随着分区数量的增加而下降。因此,尽管更多的分区能够更大的缩短编译时间,设计人员还是应该限制分区数量,防止结果质量下降。
在ASIC设计流程中,设计人员要记录每个分区的输入和输出端口,尽可能避免越过分区边界的任何时延。此外,设计人员应尽量减少越过分区边界的通路数量,以简化时序逼近处理,也应尽可能以时钟域来划分区域。
生成设计平面布置图
一旦完成设计分区后,设计人员应在器件中为每个分区分配一个物理位置。分区设计生成平面布置图的最简单办法是对每个分区(包括顶层分区)生成一个物理位置约束。
对于采用编译增强的设计而言,平面布置图位置规划非常重要,这是因为当器件中某个区域的多数资源已经占用时,它可以帮助避免适配器向该区域放置或替换部分设计。在这种情况下,其他分区的后适配网表布局迫使适配器在器件的空闲部分放置新的或修改后的分区。这样做会直接导致两个不利结果。第一,由于物理约束的数量增多,适配器必需全速运转,因此编译时间明显延长。第二,由于目标分区的布局分散在器件中,因此结果质量会下降,有时甚至非常显著。
利用Quartus II早期时序估算器的优势
早期时序估算器不必进行完整的设计编译,即可提供准确的设计时序估算。估算结果平均在实际设计性能的11%以内。设计人员可以采用时序逼近平面布置图编辑器来查看该功能生成的"布局估算",识别出关键通路,根据需要加入或修改平面布置图约束。然后,早期时序估算器能够迅速评估平面布置图位置分配或逻辑修改的效果,对设计变量进行快速迭代,帮助设计人员找到最佳方案。
分区和平面布置图方案成功的关键
设计人员在为结果生成平面布置图位置分配之前,应对结果进行比较,如果不能符合以下准则,应考虑采用其他方案:
在设计分区完成和生成平面布置图位置分配之后,不应观察到fMAX劣化。在许多情况下,允许fMAX略有增加。
在设计分区完成和生成平面布置图位置分配之后,面积增加不应超过5%。
布线阶段花费的时间不应明显增加。如果布线时间明显增加,平面布置图位置分配可能产生了大量的布线拥塞。
为帮助修改和优化每个分区的位置分配,设计人员可采用Quartus II软件的时序逼近平面布置图来确定布线拥塞的区域。
结论
Altera Quartus II编译增强技术显著缩短了设计迭代时间,其性能保留特性是前所未有的,极大的提高了设计人员工作效率。设计人员采用该技术每天能够进行4至5次的高密度FPGA设计迭代,而采用传统编译方法只能进行1至2次迭代,设计迭代时间减少近70%,明显缩短了全部开发时间。编译增强特性实现的性能保留功能使设计人员能够以更少的设计迭代,更高效的达到时序逼近。