放置与布线

放置与布线（，简称PnR或P&R），是印制电路板、集成电路和现场可编程逻辑门阵列设计中的一个阶段。顾名思义，它由两个步骤组成：放置（placement）和布线（routing）。第一步放置是决定在通常受限的空间内把所有電子元件、電子電路和逻辑单元放在哪里。随后进行布线，确定连接已放置元件所需的所有导线的精确设计。此步骤必须在满足制造工艺规则和限制的前提下实现所有所需连接。

放置与布线在几种场景中被使用：

 在印制电路板设计中，将電子元件以图形方式放置在电路板上并绘制它们之间的连线；
 在集成电路中，从较小子模块的版图创建较大模块或整个电路的集成电路版图；
 在现场可编程逻辑门阵列中，将逻辑单元放置并在FPGA的网格上互连。

这些过程在高层次上相似，但具体细节差别很大。由于现代设计规模巨大，这一操作通常由電子設計自動化（EDA）工具来执行。

在所有这些环境中，当放置与布线完成时的最终结果称为“布局”（或称“版图”）（layout），它是对每个部件的位置与旋转以及连接它们的每条导线的精确路径的几何描述。

偶尔有人也把整个放置与布线过程统称为“版图”（layout）。

 印刷电路板 
印刷电路板的设计是在原理图（schematic）生成并导出网表（netlist）之后进行的。生成的网表随后被读入布局工具，并与库中器件的占板面积（footprints）关联。此后就可以开始放置和布线工作。

放置与布线通常分两步进行：先放置元件，然后布线以连接各元件。在布线阶段，元件的放置并非绝对固定，仍可以通过移动和旋转来改变，尤其是当设计采用像FPGA或微处理器这样的复杂元件时。它们大量的信号线以及对信号完整性的需求，可能需要对放置进行优化。

最终的设计通常以RS-274X Gerber格式输出，以便加载到制造商的计算机辅助制造（CAM）系统中。与IC版图通常整个成品版图存储在一个图形文件中不同，PCB制造需要多个不同的文件和格式。制造数据由一组Gerber文件、钻孔文件以及包含器件位置与对准信息的贴装（pick-and-place）文件组成，这些用于在组装过程中自动放置器件。J. Lienig, J. Scheible (2020). "Chap. 1.3.3: Physical Design of Printed Circuit Boards". Fundamentals of Layout Design for Electronic Circuits . Springer. p. 26-27. doi:10.1007/978-3-030-39284-0. ISBN 978-3-030-39284-0. S2CID 215840278.

 现场可编程门阵列 
FPGA的放置与布线过程通常不是由人工手工完成，而是使用由FPGA厂商或其他软件厂商提供的工具来执行。需要软件工具的原因在于FPGA内部电路的复杂性以及设计者希望实现的功能。FPGA设计用包含数字逻辑的逻辑图以及诸如VHDL、Verilog等硬件描述语言来描述，然后通过自动放置与布线流程生成引脚分配（pinout），以便与FPGA外部的部件接口。"FPGA/PCB Co-Design Increases Fabrication Yields" . Printed Circuit Design and Fabrication. Retrieved 2008-07-24.

 集成电路 
IC的放置与布线阶段通常以一个或多个原理图、硬件描述语言（HDL）文件或预先布线的IP核（或三者的某种组合）开始。该阶段产生的IC版图会被自动转换为标准的掩膜数据，如GDSII流格式或OASIS格式的掩膜文件。A. Kahng, J. Lienig, I. Markov, J. Hu: "VLSI Physical Design: From Graph Partitioning to Timing Closure", Springer (2022), , , pp. 5-10.

 历史 
早期的IC和PCB的最终版图以在透明薄膜上用Rubylith（遮蔽膜）制作的“下線”（tape-out）形式保存。

随着时间推移，電子設計自動化越来越多地自动化了放置与布线的工作。起初，EDA 只是加速了对许多小改动的处理，而无需耗费大量时间去剥离和粘贴胶带。后来，设计规则检查加快了对常见错误的检测过程。随后自动布线器（autorouters）又加速了布线过程。

有人希望未来自动放置器（autoplacers）和自动布线器的进一步改进可以最终生成无需人工干预的优良布局。进一步的自动化引出了硅编译器的概念。

 参考 

Category:電子設計自動化