第二,这项工作表明,每个节点的时序裕量(timing slack)不需要随着逻辑单元的移动而不断更新。只需要在对每个温度进行的迭代完成之后,再进行精确的基于路径的时序分析即可。使用未更新的时序裕量通常并不会对时序优化造成影响,反而会大幅提升 T-VPlace 算法的性能和效率。不过,后来的工作也表明,在高度流水线化的设计中,如果使用未更新的时序裕量会对性能造成负面影响。
第三,在一个给定的分段可编程互联架构中,在源 - 汇节点间的延时不能简单的通过其曼哈顿距离来估计。然而,如果在布局期间使用一个布线器来计算每个源 - 汇节点之间的延时也是非常不现实的。因此,通过利用 FPGA 架构中的对称性,T-VPlace 算法使用了一个预先计算的延时查找表,根据水平和垂直方向的距离作为索引,从而实现对延时的快速查找。
通过以上三种技术,使得 T-VPlace 可以高效的产生高质量的时序优化结果。事实上,前两种技术同样可以被应用于集成电路设计中的标准单元布局。可以说,T-VPlace 算法是现代 FPGA 布局布线算法的基石。作者所在的 RightTrack 公司在 2000 年被 Altera 收购后,T-VPlace 及其优化技术就被整合进 Altera 的 Quartus 设计软件中,并被世界上成千上万的 FPGA 设计者所使用至今。
05
在商用计算机上的高质量、确定性的 FPGA 并行布局算法
一句话总结:利用多核处理器显著降低 FPGA 项目编译时间的标志性工作
英文名:High-Quality, Deterministic Parallel Placement for FPGAs on Commodity Hardware
作者:Adrian Ludwin, Vaughn Betz, Ketan Padalia
发表时间:2008 年
推介人:Jonathan Rose
FPGA 业界当前面临的最关键的问题之一是设计工具编译的时间过长,这一方面是由于计算机处理器的性能并没有质的飞跃,另外一方面是由于 FPGA 的大小随着半导体制造工艺的发展而不断增加。为了应对这个问题,一个有效的方法是使用多个处理器核心进行并行编译。
这项成果旨在应对 FPGA CAD 流程中最慢的部分之一,即布局的并行化问题。在这个工作中,采用了几项非常独特而重要的方法。例如,这是目前首个,也是唯一一个尝试对工业级布局软件进行并行化的工作,并最终将成果转化为成功的商用软件。在此之前,尽管有很多工作试图对布局算法做并行化处理,它们其实都是基于学术版本的算法,也就是说,这些工作并不需要应对海量的器件数据库、复杂的时序分析、以及在商业版软件中会遇到的各种细节问题。
此外,这项工作对算法的确定性(determinism)做了重要阐述。算法的确定性指,不管使用多少个处理器运行算法,它的结果都会是完全相同的。尽管在学术界中存在争议,但在商业软件中确定性对于复现结果以及调试都是不可或缺的。这项成果表明,需要做一系列细致的工作以保证算法的确定性。此外,这项成果也证明了这些工作对性能的损失很小。