模拟集成电路版图布局教程-颜鹏飞约束布局法

当前版本 v1 · 2026-08-04

目录

背景

很多新人在开始模拟集成电路版图设计时,调出所有器件后,不知道该用什么思路开始布局,普遍存在困惑。本教程针对该问题,尝试提出清晰的布局思路,解决新人的困惑。


解题核心

啥叫没有思路?怎么样才叫有思路?

不知道先做什么后做什么就是没有思路,知道了先做什么后做什么就有了思路!


核心心法与底层认知

  1. 布局不是先想清楚再摆,而是摆着摆着思路就清晰了。 不存在拿到任何电路都能直接完成布局的万能绝招。器件布局是逐步摆出来的,所谓"思路"本质上是工作顺序——先做什么、后做什么。
  2. 布局的本质 = 找出所有约束,再按先后顺序,逐一满足约束。 随着约束被满足,版图的确定性逐步提高,模块逐渐成型,走线方式也逐渐显现。

两个层次:顶层布局 vs 模块级布局

布局要分两个层次看待,学习要点不同:

层次学习要点
顶层布局(top level)要点在于"全"——完整齐全地搞清楚顶层都有哪些东西
模块级布局(block level)要点在于"主次先后"——提取版图的约束条件,按优先级排序,逐个满足

核心布局思路——约束布局法

从“需求”到“约束”

版图设计本质存在翻译工作,输入是电路设计师提供的电路图,需要版图工程师从电路图中识别出具体设计需求。

单纯的电路图其实不算是完整的需求清单。和产品设计一样,明确的需求清单对版图设计非常重要。集成电路设计行业很少提需求这个词,但需求的内涵实际是存在的。电路设计师是版图工程师的甲方,版图工程师需要满足甲方提出的设计需求。

需求有多种常见呈现形式:

  1. 电路设计师直接在电路图上标注设计注意点,比如器件匹配要求、电流大小要求等
  2. 部分电路设计师会附加说明文档,标注设计注意事项
  3. 还有部分会通过口头沟通传递设计要求

不管需求采用哪种形式呈现,版图开始设计前,提取需求这一步必不可少,最好将需求显性化呈现。很多设计团队中,电路设计师不会主动完成显性化提取需求的工作。从版图工程师自身角度,主动在一开始提取出所有需求,一次性满足所有设计要求,可以减少后续返工和重画,对个人工作的收益非常大。

需求从电路图提取后,就形成了版图设计的约束条件,满足这些约束,就完成了版图设计。若一次性满足,就不需要返工修改;否则,多次补充满足,就是返工迭代。

所以版图布局的方法就是梳理出所有的约束条件。


梳理约束条件

顶层布局(Floorplan)

追求考虑全面,不同产品需要考虑的内容差异可能很大,在此不做罗列。

重要提醒:要舍得在floorplan上花时间,可有效减少返工,提高整体效率和质量

我的项目经验主要集中在电源产品,给一个基本符合我的Floorplan考虑的约束条件以及执行顺序的参考:

  1. 估算版图总面积:从电路图中导入所有器件,进行预布局
  2. 根据封装打线要求,确认PAD位置和形式,预定芯片形状和大小
  3. 确认ESD,放置ESD
  4. 确认trim形式,预留面积
  5. 安排模块位置,预定模块的形状和大小
  6. 预设走线方式,包括电源地线和顶层互连的线道

模块级布局

主要考虑以下两方面:

  1. 顶层floorplan带来的约束:前面的floorplan若做到位,进行模块级版图设计时,许多约束信息已基本确定:模块位置、形状、大小、布局形式、走线方式、出PIN位置等信息。
  2. 模块电路带来的约束:了解电路图,抽取出版图要点:重点器件,匹配器件,重要信号……

模块级约束举例:

  1. 模块形状和大小的约束
  2. 出pin位置的约束
  3. 走线方向的约束
  4. 特殊器件的约束(三极管、电容、数字逻辑)
  5. 器件匹配的约束
  6. 阱和器件的合并带来的约束
  7. 连接关系的约束:考虑信号流顺畅,兼顾连线便利性,大多可按电路中器件的相对位置对版图进行布局
  8. 关键信号

对以上步骤进行口语化解释:

拿到一个模块,所有器件都通过 Layout XL 调出来了,呈现出一盘散沙。

因为是在进行模块级设计,主流设计团队通常会先做顶层 FloorPlan,有了顶层规划再进行模块级设计。所以在做模块时,应该知道模块的大致形状、能画多大、在顶层的位置。以此为起点进行考虑:

  1. 确定 Pin 的位置、朝向和层次。根据顶层给出的走线方向、层次和出Pin位置,明确模块内 Pin 的放置。
  2. 确定模块内走线层数和方向。
  3. 特殊器件优先处理。比如衬底电位不同的需要特殊隔离结构的器件。
  4. 器件匹配。将匹配的器件放一起,形成分布式的“锚点”。这一堆差分对,那一堆电流镜,那一堆匹配电阻……
  5. 可能阱合并。PMOS 尽量放一起以共用 N 阱,NMOS 尽量放一起。
    进行到这一步,版图上的形势就变了,器件变成了一堆一堆的了。
  6. 考虑连接关系。包括电源连接和信号走向。通常参照电路的信号流来画版图,保证信号流畅。
    那在这一步之前,一堆一堆的器件都隔得比较远。这时候考虑了信号走向,就把这些器件靠近了。这堆器件和这堆器件靠近,这堆器件在另一堆器件上面,这堆器件在另一堆器件左边。他们就根据这种连接关系,获得了这些器件的位置。此时,正常情况下,整个模块它的主体的器件布局应该就已经完成了。
  7. 最后,次要器件填充。通常此时的模块,它的形状不会很规整,把滤波电容、普通电容、小开关等不重要的器件放在最后,填充边边角角,以提高面积利用率,且基本上能够得到比较规整的模块形状了(有的设计里可以结合一些不重要的器件的变形)。

至此,所有器件都有了位置,且在此过程中是提前考虑了连线的,预留了线道,器件布局完成,接下来即可顺畅地进行连线。

满足约束的执行策略

按先后顺序,逐一满足约束。

不同产品不同项目里,顺序可能是不同的。


练习建议

  1. 提取约束可先找人协助:刚开始提取版图约束条件时,先请版图负责人或电路设计师协助,熟练后自己进行。
  2. 练习期用笨办法可能是快办法:不论大大小小的,先在“纸上”,列出能想到的所有约束条件,再分类和排序。按照分类和排序的结果,在版图上实际操作,对比。再调整分类和排序,重新布局,反复迭代。

强调句

1.布局不是先想清楚再摆,而是摆着摆着思路就清晰了。

2.布局的本质 = 找出所有约束,再逐一满足约束。

3.版图设计是一项翻译工作。

4.最重要的约束最先满足。

5.先布局,再连线;先整体,再局部。


参考

附上简单论述的设计流程,系统性的完整的认识,有助于完成局部的工作。

名词

版图排版/版图布局/版图规划/layout floorplan

版图设计流程参考

立项启动

  1. 了解项目背景(产品概况、工艺概况、难度……)
  2. 了解资源分配情况(版图负责人、人手、时间……)
  3. 确认项目各个时间节点,预计tapeout时间
  4. 准备设计环境(PDK安装、软件配置……)
  5. 可能的成本评估(粗略floorplan -> 预估芯片面积、device list+工艺option ->mask layers……)
  6. 其他事项

Floorplan(顶层规划)

有些场合,以floorplan特指顶层布局/规划,我沿用此习惯

模块级版图设计

顶层互连

顶层验证

检查优化

人工检查优化+后仿真

Tapeout

1


修订记录

版本日期说明
v12026-08-04新增文章:模拟集成电路版图布局教程-颜鹏飞约束布局法