印刷电路板(PCB)在当今的电子设备中起着至关重要的作用,主要用于为电路的电气组件提供电气连接和机械支撑。随着对新电源电子产品需求的增加、设计周期的缩短和产品寿命的缩短,以及PCB上集成电子元件数量的增加,缺乏合适的自动布局工具已成为PCB设计工具的一个瓶颈[1]。
布局是PCB设计过程中的一个早期但关键的步骤。它涉及将电子元件(如集成电路、电容器、电阻器等)放置在PCB的特定位置,以确保电路的正常运行。这一过程不仅仅是元件的机械排列;还需要考虑信号完整性、热管理、电路隔离、电磁兼容性(EMC)等因素。布局的质量显著影响PCB设计的结果质量(QoR)。如果算法提供的布局解决方案导致过长的布线或未能满足设计规则检查(DRC)要求,那么PCB设计可能无法满足性能要求或无法投入生产。图1展示了布局后的PCB布局。
传统的PCB布局方法可以分为三种主要类型:(1)基于分区的;(2)分析式的;(3)随机式的。基于分区的方法[2]是一种分而治之的方法,根据网表信息将PCB划分为不同的子模块。每个子模块可以独立进行布局和优化,然后在后续阶段进行集成。这种方法在快速解决布局问题方面很有效,但可能会忽略全局解决方案质量的问题,特别是 congestion(拥堵)问题。
分析方法利用数学和物理原理建立PCB布局模型,例如基于力的算法[3]、Ns-Place[4]和Cypress[5]。这些方法将布局任务近似为一个平滑函数,并在约束条件下寻找最小化该函数的布局解决方案。
随机方法通过随机性探索解决方案,包括遗传算法[6]、蚁群算法[7]、模拟退火(SA)算法[8]等。在PCB布局任务的背景下,SA有可能生成最佳解决方案,但这通常需要较长的运行时间[9]。
考虑到不同算法的优点和缺点,如图2所示,我们将PCB布局分为三个阶段:初始布局、详细布局和微调,以便充分利用每种算法的优势。
为了更好地测试MARS-Place的性能及其对后续布线的影响,我们使用最先进的PCBRouter[11]进行布线,将MARS-Place生成的布局与最先进的SA-PCB布局器[10]生成的布局进行了比较。评估指标包括线长、通孔数量和布线段数量,其中布线段数量部分反映了阻抗不连续性的存在,并作为信号完整性的指标。
在本文中,我们提出了MARS-Place,这是一种多阶段对齐优化策略,具有优化的初始解决方案和自适应探索半径,以提高SA的效率和稳定性。我们的贡献总结如下:
- 1.
PCB自动布局分为三个阶段:初始布局、详细布局和微调。每个阶段应用不同的优化方法来解决特定问题,从而提高布局解决方案的质量。
- 2.
引入了由布线算法确定的布线序列引导的对齐力和排斥力,在微调阶段实现高效的焊盘对齐。这避免了走线中的不必要的弯曲,减少了布线阶段的潜在阻抗不连续性和布线段数量,并确保了信号完整性。
- 3.
在初始化阶段应用基于分类的初始布局,以实现更高质量的布局结果。
- 4.
在详细布局阶段调整自适应探索半径,以提高收敛速度并改善最终解决方案的质量。
本文的其余部分组织如下。在下一节中,我们讨论了PCB布局与VLSI布局之间的差异,并提供了自动PCB布局的基本框架。第3节详细介绍了MARS-Place算法的对齐策略。第4节概述了MARS-Place的总体框架。第5节展示了我们的对比实验结果。最后,在第6节中,我们对整个手稿进行了全面总结。