多维度分析布局器
扫描二维码
随时随地手机看文章
Feist解释说,上一代FPGA设计套件采用单维基于时序的布局布线引擎,通过模拟退火算法随机确定工具应在什么地方布置逻辑单元。使用这类工具时,用户先输入时序,模拟退火算法根据时序先从随机初始布局种子开始,然后在本地移动单元,“尽量”与时序要求吻合。Feist说:“在当时这种方法是可行的,因为设计规模非常小,逻辑单元是造成延迟的主要原因。但今天随着设计的日趋复杂化和芯片工艺的进步,互联和设计拥塞一跃成为延迟的主因。采用模拟退火算法的布局布线引擎对低于100万门的FPGA来说是完全可以胜任的,但对超过这个水平的设计,引擎便不堪重负。不仅仅有拥塞的原因,随着设计的规模超过100万门,设计的结果也开始变得更加不可预测。”
着眼于未来,赛灵思为Vivado设计套件开发了新型多维分析布局引擎,其可与当代价值百万美元的ASIC布局布线工具中所采用的引擎相媲美。该新型引擎通过分析可以找到从根本上能够最小化设计三维(时序、拥塞和走线长度)的解决方案。Feist表示:“Vivado设计套件的算法从全局进行优化,同时实现了最佳时序、拥塞和走线长度,它对整个设计进行通盘考虑,不像模拟退火算法只着眼于局部调整。这样该工具能够迅速、决定性地完成上千万门的布局布线,同时保持始终如一的高结果质量(见图1)。由于它能够同时处理三大要素,也意味着可以减少重复运行流程的次数。”
图1
图1:与其它FPGA工具相比,Vivado设计套件能够以更快的速度、更优异的质量完成各种规模的设计
为展现这种优势,赛灵思在ISE设计套件和Vivado设计套件中用按键式流程方式同时运行针对赛灵思Zynq-7000EPP仿真平台开发的原始RTL,同时将每种工具指向赛灵思世界最大容量的FPGA器件——采用堆叠硅片互联技术的Virtex-72000TFPGA。这样Vivado设计套件的布局布线引擎仅耗时5个小时就完成了120万逻辑单元的布局,而ISE设计套件则耗时长达13个小时(图2)。而且采用Vivado设计套件实现的设计拥塞明显降低(设计中显示为灰色和黄色的部分),器件占用面积较小,这说明总体走线长度缩短。Vivado设计套件实现方案还体现出更出色的内存编译效率,仅用9GB就实现设计要求的内存,而ISE设计套件则用了16GB。
Feist表示:“从本质上来说,你看到的就是Vivado设计套件在满足所有约束条件下,实现整个设计只需占用3/4的器件资源。这意味着用户可以为自己的设计添加更多的逻辑功能和片上存储器,甚至可以采用更小型的器件。”
图2:Vivado设计套件的多维分析算法可创建专门针对最佳时序、拥塞和走线长度(而不仅仅只是针对最佳时序)优化的布局。