目录

集成电路版图设计实验(以运算放大器和带隙基准源为例)

本文根据 2017 年本科三年级的课程试验报告整理而来。当年采用的是 ICFB 软件,时至今日已广泛采用 IC617,但我认为这份材料依旧不乏可取之处,分享如下。

一、运算放大器

1.1 实验目的

  1. 熟悉 CentOS 下的 Cadence 集成开发环境;
  2. 掌握元件库的调用方法,并由此进行原理图绘制及版图设计;
  3. 掌握版图设计中对称性和紧凑性的要求,并能熟练运用;
  4. 掌握版图设计中的中心对称技术和屏蔽技术,并能熟练运用;
  5. 掌握 DRC(Design Rule Check,设计规则检验)和 LVS(Layout Versus Schematic,版图与电路一致性检验)操作,并能运用其对设计的版图进行检查;
  6. 掌握版图设计中相关错误的解决方法。

1.2 实验仪器

  1. 正确安装了 VMware Workstation 的计算机一台;
  2. CentOS 下的 Cadence 集成开发环境一套。

1.3 实验内容

首先根据给出的电路图及相关参数(如图 1 所示)在 Cadence 中绘制出原理图,并在此基础上设计与之相对应的版图。在设计版图的过程中,需要注意对称性以及紧凑型;此外,还需要运用屏蔽技术和叉指技术。对设计完的版图进行 DRC 以及 LVS 检查,通过上述检查后,方可确认版图设计完成且准确无误。

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/01.jpg
图 1:运算放大器电路图

1.4 操作说明

在 CentOS 下的 Cadence 集成开发环境中,快捷键的使用显得尤为重要。正确合理地使用快捷键能够极大的加快原理图及版图的绘制过程。现将常用的快捷键列出如下:

快捷键描述
F将当前视图设置为满屏显示
Shift+Z将当前视图缩小两倍
Ctrl+Z将当前视图放大两倍
↑ ↓ ← →对当前视图进行上下左右移动
I调用器件实例
P原理图中添加 Pin,版图中添加 Path
W原理图中添加 Wire
L版图中添加 Label
O版图中添加通孔
R版图中添加矩形
S版图中拉伸图形
K版图中添加标尺
Shift+K清除版图中所有标尺
Q查看当前选中器件的属性
M移动操作
U撤销操作
Ctrl+D取消当前器件的选择
F3调出位置排版工具栏,可进行器件上下、左右的反转
ESC取消操作
DELETE删除操作

1.5 电路绘制

我们需要首先创建一个 Library,其中 Name 为 Library 的名字,我们在此填入 lecture,如图 2 所示,我们接下来的所有操作都将在这个 Library 中进行。

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/02.png
图 2:Library 创建对话框

在绘制电路图之前,我们还需要创建一个 Cell View,其中 Cell Name 为 Cell View 的名字,我们在此填入 opamp,在 Tool 下拉框中选择 Composer-Schematic,可以看到 View Name 中的内容为 schematic 表示我们此次创建的文件为电路图,如图 3 所示。

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/03.png
图 3:Cell View 创建对话框

单击 OK 后,程序会弹出一个操作窗口用于绘制电路图。在这个界面下,我们可以使用上面提到过的快捷键操作进行原理图的绘制。此处我们使用快捷键 I 来添加一个元件实例,如图 4 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/04.png
图 4:Instance 创建对话框

单击“Browse”菜单,在弹出的“Library Browser”对话框中,勾选 Show Categories,表示将器件库中的器件按照类别分类后再进行显示。我们在从左到右四个栏目中依次选择 GSMC_R018S6D0 -> mos -> PCH(对应于 PMOS)或 NCH(对应于 NMOS)-> symbol,如图 5 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/05.png
图 5:Library Browser 对话框

再进行了上述选择后,图 4 的对话框会发生相应的变化,如图 6 所示。其中的 Multiplier、Total Width、Height 等均可根据电路图的不同参数进行设置。

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/06.png
图 6:Instance 设置对话框

但有时我们不希望直接对 Total Width 进行设置,而希望通过修改 Finger Width 和 Fingers 对 MOS 的尺寸进行修改,此时我们只需要取消 Apply Threshold 的复选框即可实现这一目的。其次,我们还可以在 Names 编辑框中给 MOS 进行命名,以区分不同的 MOS,这在器件较多时能够更方便的对电路图中的器件进行定位,以方便后续的版图设计以及查错。剩余的选项,例如 GATE Connection、Switch S/D、Bodytie Type 等我们将在版图设计的过程中一一介绍它们的功能。

此处我们只需要根据设计要求给定的元器件参数对其进行修改后,在窗口中单击,即可创建一个元件实例。

除了晶体管之外,我们在这个电路图中还需要用到电容,需要在 Library Browser 对话框中选择 GSMC_R018S6D0 -> cap -> CMIM -> symbol 进行调用。需要注意的是这里的电容具有三个端子,其中两端为电容的正负极,另一端需要接地。

重复上一步的操作,按照图 1 的电路及参数进行设置和绘制,即可得到相应的电路图,如图 7 所示,可以观察到每个器件边上都有其对应的名称和参数,极大的方便了我们的工作。同时可以观察到电路图的左边是二级运算放大器电路,右边是共模负反馈结构。

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/07.png
图 7:运算放大器电路图绘制结果

1.6 版图设计

1.6.1 晶体管

如同绘制电路图一样,我们采用快捷键 I 来创建晶体管的版图,与之前不同的是,我们将选择 layout 而非 symbol,创建后的版图如图 8 所示(以 PCH 为例):

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/08.png
图 8:晶体管默认版图

接下来,我们需要像电路图中一样,对它的参数进行设置,选中晶体管,使用快捷键 Q 打开属性对话框,如图 9 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/09.png
图 9:晶体管属性对话框

可以看到,这里面同样有 Total Width、Length、Finger Width 和 Fingers 选项,这些设置和电路图中的设置是一样的。此处我们需要介绍的是参数为GATE Connection、Switch S/D、Bodytie Type。

其中 GATE Connection 用于设置晶体管中各个 finger 之间的栅极的了解情况,一般来说我们选择 Top 或 Bottom 即可,也就是说在晶体管的一侧将栅极都连接在一起。

接下来的 Switch S/D 用于交换源漏端子,由于 MOS 器件是一种对称器件,因此在连接之前交换源漏不影响晶体管的特性,但有时却可以方便我们版图的布线。

最后是 Bodytie Type 设置,这是用来设置衬底的,它一共有三种选项,分别为 None、Integrated 和 Detached。第一个选项表示无衬底,此时衬底需要我们自行绘制,故不推荐此选项;第二个选项表示衬底和 MOS 的源或漏连在一起,适用于 PMOS 源接高电平或 NMOS 漏接地这两种情况;第三个选项表示衬底与 MOS 器件是分离的,适用于源漏不在高低电平上的情况。

至此,我们对于晶体管的调用就完成了。

1.6.2 电容

我们同样采用快捷键 I 来创建一个电容的版图实例,如图 10 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/10.png
图 10:电容默认版图

可以发现,电容的版图相较于晶体管的版图显得尤为大。同样,我们选中电容,运用快捷键 Q 打开电容属性对话框,如图 11 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/11.png
图 11:电容属性对话框

由于在电路图绘制中没有解释过电容的相关参数,故在此处详细介绍一下电容的相关设置。首先看到有这些参数:Total Capacitance、Unit Capacitance、Unit Width、Unit Height、Capacitor Rows、Capacitor Columns。在这些参数中 Total Capacitance 可以通过 Unit Capacitance、Capacitor Rows、Capacitor Columns 计算得到。而 Unit Capacitance 又可以通过 Unit Width、Unit Height 计算得到。(可以观察 Area Capacitance 对话框显示为 $1~\mathrm{fF/um^2}$)

有了上述的基础后,我们看到 Calculate Parameter 这个选项,由于这些参数并不是独立的,因此可以通过其中的某些参数计算得出其它的参数,这个 Calculate Parameter 就是用于选择需要计算的参数。此处我们已知了总电容的大小,因此将其选择为 width & length 表示宽度和高度均需要通过计算得出,这样我们只需要在 Total Capacitance 中填入我们电容的大小就可以完成电容量的设置了。

继续往下看,可以发现还有 PSUB Left Bar、PSUB Right Bar、PSUB Top Bar、PSUB Bottom Bar 这四个选项,这对应于电路图中的接地端子,一般我们只需要选择一侧即可。

此外,需要注意的是,电容的正极材料为 M6,负极材料为 M5,接地材料为 M1。

1.6.3 中心对称技术

电路图中存在着多个 MOS 差分对,我们选择其中的一对进行分析,如图 12 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/12.png
图 12:差分对实例

在实际流片过程中,芯片在晶圆上制作完成后需要切割成一块块的裸片,在切割过程中方向是不确定的,而且很可能出现切割失误。在最坏的情况下,其中一个晶体管被切割掉,从而导致整个电路无法政策工作。因此需要采用中心对称技术,如图 13 所示(其中 A、B 为差分对管)。这样不论如何切割,将同时切除差分对管相同的部分,从而对差分对管的功能影响并不是很大。

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/13.png
图 13:中心对称示意图

在绘制版图的过程中,将对应 MOS 管的长度不变,宽度变为一半,按照图 13 的布局要求,将差分对管进行布局,并将其对应的栅、源、漏三端相连,即可完成差分对管的版图设计,如图 14 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/14.png
图 14:差分对管版图设计

1.6.4 屏蔽技术

在集成电路中存在着很多的干扰,这就要求我们适当地运用一些屏蔽技术来改善这一问题。一般情况下,可以将差分对管放置在屏蔽环内,这样可以有效减少周围器件对差分对管的干扰。对于 PMOS 对管,我们可以将其放置在 NGR 组成的屏蔽环内;对于 NMOS 对管,我们可以将其放置在 PGR 组成的屏蔽环内。对于某些要求更为严格的电路,可能需要采用双屏蔽环结构来屏蔽干扰。在本实验中,我们仅采用单环屏蔽结构。

使用快捷键 O 打开 Contact 创建对话框,如图 15 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/15.png
图 15:Contact 创建对话框

在本例中 Contact Type 选择 NGR,并且根据晶体管的尺寸适当的调整 Rows、Columns 参数,使得 NGR 能够包围整个差分对管,设计完成后的结果如图 16 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/16.png
图 16:添加屏蔽环后的差分对管版图

1.6.5 底层设计

若差分对管的电流系数不对称,很有可能造成整个电路的“失调”,为了减小失调电压以及失调电流,在版图设计上需要遵循对称设计的原则。最常见的对称设计是“几何轴对称设计”。也就是说版图中的各个元器件布局需要尽可能的放在轴对称的位置上。

1.6.6 综合设计

综合上述各个模块,运用叉指技术、屏蔽技术,同时注意版图布局的对称性和紧凑型,最后我们设计出的版图如图 17 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/17.png
图 17:运算放大器版图

1.7 心得体会

1.7.1 常见错误

  1. 在 Cadence 环境下所有的单位都是默认的,不需要额外输入单位,否则容易造成错误;如果需要输入单位,必须使用小写英文字母。
  2. 在进行版图设计时,需要注意设计规则,例如 M1 之间的最小间距为 0.23μm,M2 之间的最小间距为 0.28μm,NW 之间的最小间距为 1.4μm 等,记住这些设计规则,能够极大地简化版图设计的过程,防止全部布局完成后 DRC 错误导致重新布局,从而影响整体设计。
  3. 在进行电容的连线时,需要注意 M6 是电容正极,M5 是电容负极,此外电容有源区需要接地。

1.7.2 电容网表加载

在版图设计完成后,运行 LVS 时,提示“Error: No matching “.SUBCKT” statement for “cmim” at line xxx”,如图 18 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/18.png
图 18:LVS 错误信息

出现这个问题的原因时由于缺少电容的网表描述文件,具体的解决方法如下:切换到 Inputs 页面,选择 Netlist 板块,在 Files 选项中单击 … 按钮,打开浏览窗口,如图 19 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/19.png
图 19:文件浏览对话框

在对话框中切换到路径“/home/iclayout/projects/IC-gsmc180/pdk/GSMC180nm_v1p6/Net list”,选择其中的 subcircuit.cdl 文件,单击 Add 后系统会弹出如图 20 所示的对话框,选择 Add at end,即可完成电容的网表描述文件的添加。再添加完网表描述文件后即可正确进行 LVS 功能。

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/20.png
图 20:确认对话框

1.7.3 LVS 错误分析

在运行 LVS 后,可能会出现问题,常见的问题有以下几种,我们将一一对其进行分析。首先遇到的是寄生提取过程中的错误,其错误信息如图 21 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/21.png
图 21:LVS 错误一

出现这个问题的原因是由于引脚 Label 没有正确的打到对应的金属上,可能是位置没有放置正确,也可能是材料使用错误。

第二个问题也是较为常见的,它的错误信息如图 22 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/22.png
图 22:LVS 错误二

造成这个错误的原因主要是存在尚未正确连接到对应端口上的器件,此时我们可以单击上面的 16,系统会自动弹出对应的版图和电路图,如图 23 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/23.png
图 23:LVS 电路图版图对应图

该窗口会将存在问题的线路进行高亮显示,从而方便我们定位问题。再找到这些问题以后,将连接补上,即可通过 LVS 的验证,最终结果如图 24 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/24.png
图 24:LVS 最终结果

二、带隙基准源

2.1 实验目的

  1. 熟悉 CentOS 下的 Cadence 集成开发环境;
  2. 掌握元件库的调用方法,并由此进行原理图绘制及版图设计;
  3. 掌握版图设计中对称性和紧凑性的要求,并能熟练运用;
  4. 掌握版图设计中关于 Pad 的设置和摆放,并能熟练运用;
  5. 掌握版图设计中滤波电容的作用,并能熟练运用;
  6. 掌握 DRC(Design Rule Check,设计规则检验)和 LVS(Layout Versus Schematic,版图与电路一致性检验)操作,并能运用其对设计的版图进行检查;
  7. 掌握版图设计中相关错误的解决方法。

2.2 实验仪器

  1. 正确安装了 VMware Workstation 的计算机一台;
  2. CentOS 下的 Cadence 集成开发环境一套。

2.3 实验内容

首先根据给出的电路图及相关参数(如图 25 所示)在 Cadence 中绘制出原理图,考虑到后续版图中需要添加滤波电容,因此我们在电路图的绘制中需要提前加入滤波电容。在前面的基础上设计与之相对应的版图。在设计版图的过程中,需要注意对称性以及紧凑型;此外,还需要为引出的端点设置 Pad,以方便后续的封装和调试。对设计完的版图进行 DRC 以及 LVS 检查,通过上述检查后,方可确认版图设计完成且准确无误。

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/25.png
图 25:CMOS 带隙基准源电路图

2.4 操作说明

由于在上一部分已经提到了关于 CentOS 下 Cadence 开发环境中相关快捷键的功能,因此在此处略下不表。

2.5 电路绘制

本次的 CMOS 带隙基准源主要分为两部分,首先是预稳压电路,它的用途是为后级提供预稳压 Vpre,同时为本系统提供所需要的电压偏置。第二部分是基于 MOS 二极管钳位二极管的基准源,由钳位电路、二级运放、BGR 核心电路三个模块组成。考虑到后续需要引出相应的Pad,我们在此设置了四个需要引出的 Pin,包括 vdd、gnd、vpre 和 vout,绘制完成后的电路图如图 26 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/26.png
图 26:CMOS 带隙基准源电路图绘制结果

2.6 版图设计

考虑到在上一部分中已经介绍了相关版图模块的设计,此次版图设计的流程基本不变,故而与前述内容重复的部分,此处不在叙述,仅介绍一些新的需求。

2.6.1 电容

在此次实验中,我们仍然需要使用电容,但是按照前述的方法,我们仅能调用电容值为 750fF 的电容,但是我们却需要 3pF 的电容。我们使用快捷键 Q 打开属性设置对话框,将 Parameter 页面下的 Total Capacitance 直接修改为 3p,然后会发现系统自动将其设置成了 750f。如图 27 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/27.png
图 27:电容参数设置对话框

此时,我们观察到日志窗口(即系统刚启动时打开的窗口),会发现系统提示“calculated length of 33.0217m exceeds the upper limit of 29u!”,如图 28 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/28.png
图 28:系统日志对话框

此处的问题是在说我们需要的 3pF 的电容,这种情况下计算出来的电容宽度需要 33m,超过了电容宽度的最大值 29u。此时的解决方法是通过多了电容进行并联来获得较大的电容值。此时我们需要设置 Capacitor Rows 和 Capacitor Columns,此处我们设置成 3×3,然后再将 Total Capacitance 修改为 3p即可完成大电容的调用,修改后的参数设置对话框如图 29 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/29.png
图 29:修改后的电容设置对话框

调用出来的电容就是一个 3×3 的阵列电容,如图 30 所示,可以发现,系统已经自动将这 9 个单独的电容并联起来,这样极大的方便了我们的操作。

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/30.png
图 30:阵列电容示意图

2.6.2 电阻

电阻元件在第一次实验中并未接触,故在此对其进行详细的介绍。在我们所使用的工艺库有五种不同的电容,如图 31 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/31.png
图 31:电阻分类

它们分别是 diff(扩散区)、metal(金属)、nwell(N阱)、poly(多晶硅)、primitives。观察我们此次需要使用的电阻值的大小,它们都相对较大,考虑到 CMOS 课程中涉及的电阻制作方法,我们在此处采用多晶硅电阻,即 poly 类型,同时选择 HRPOLYU3 型号的电阻,调用出来的电阻如图 32 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/32.png
图 32:多晶硅电阻默认版图

我们发现,电阻具有三端结构,其中两端作为普通电阻的两端,剩下的一端为有源区需要进行接地。使用快捷键 Q 打开电阻的属性菜单,如图 33 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/33.png
图 33:电阻属性设置对话框

我们首先看到 Calculated Parameter 这一选项,这和我们在上一部分中电容的选项一样,用于选择需要计算得到的结果,我们选择 Length,然后将电阻值修改成我们所需要的大小,单击 OK 即可看到对应的电阻。

但是我们会发现,这样得到的电阻非常的长,因此需要对其继续修改,同样打开属性设置对话框,我们需要修改 Segments 这一选项,即设置电阻是通过多少段相同的电阻串联而成,这样可以有效的减少电阻的长度,此处我们将其设置为 8。此外,在进行布局时,可能会发现电阻的宽度不匹配,此时可以修改 Segment Width 参数来对齐进行调整,此处我们设置成 1.5u,得到的电阻如图 34 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/34.png
图 34:调整后的电阻版图

2.6.3 BJT

本次实验中出现的另一个未接触过的器件便是 BJT,我们选用 PNP2 型的 BJT 管。在实验要求中,需要我们对 BJT 中的参数 m 进行调整,但是当我们打开 BJT 的属性设置对话框后,发现其中的参数 m 无法修改,如图 35 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/35.png
图 35:BJT 属性设置对话框

单个 BJT 的版图如图 36 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/36.png
图 36:BJT 默认版图

可以观察到,BJT 版图中中心有一个金属,外面有两个金属环,它们依次对应了 BJT 的发射极(E)、集电极(C)和基极(B)。

考虑到我们需要调用一个 m=8 的 BJT 管,可以采用 8 个 BJT 管并联的方法来实现这一要求,具体的操作步骤是在创建实例的时修改 Rows 和 Columns,此处修改为 2×4,如图 37 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/37.png
图 37:BJT 实例创建对话框

在后续的版图设计中,我们还需要认为的将这些 BJT 管并联才能达到我们所要求的目的,这样就解决了参数 m 无法修改的问题。这样就能够得到 m=8 的 BJT 的版图如图 38 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/38.png
图 38:BJT 版图(m=8)

2.6.4 Pad

为了使得芯片内引线与管芯相连,需要在芯片的四周放置比较大的压焊块(Pad),将它们与电路中相应的结点相连,如图 39 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/39.png
图 39:芯片上的键合压焊盘

压焊块的主要结构有:①最上层金属;②最上两层金属,金属间由通孔相连。如图 40 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/40.png
图 40:压焊块结构

同时,为了防止压焊过程中出现串通,有时需要在压焊块的金属下面加入 N 阱和多晶硅等层,以防止串通。如图 41 所示(用于除 GND 以外的电极,GND 压焊块上没有多晶硅和 N 阱层):

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/41.png
图 41:压焊块实例

在本次实验中,为了方便后续测试,我们需要在测试点加上 Pad,有些工艺将 Pad 看作一个单独的器件,其有自己独有的 DRC 规则,但是我们此处只是把 Pad 当作金属来处理,因此我们的 Pad 需要使用六层金属(M1、M2、M3、M4、M5、M6)堆叠起来,并通过通孔相连。

关于 Pad 的尺寸要求是 75μm×75μm,但是考虑到金属 DRC 中的一条规则:金属的最大宽度不得超过 35μm,因此我们需要对 Pad 进行切割,即将 75μm 宽的 Pad 切割成 3 个 24μm 宽的条状金属加上 3μm 的空隙。对于 M6、M4、M2 我们采用垂直切割法,对于 M5、M3、M1 我们采用水平切割法,并且在对应的地方放置通孔,使得六层金属全部连通起来。最后得到的 Pad 版图如图 42 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/42.png
图 42:Pad 版图

2.6.5 滤波电容

滤波电容的本质是对于电容的运用,从上述 Pad 模块的版图我们可以发现 Pad 的面积较大,因此版图中可能会有很多空出来的区域,为了版图的完整性和填充度,并且考虑到信号的抗干扰能力,我们需要在空出的区域内加上滤波电容。滤波电容跨接在 vdd 和 gnd 之间,当电源信号有一个微小波动时,我们可以将其等效为在直流信号上叠加了一个微变的交流信号,那么这个交流信号就能够通过滤波电容流到地上,从而消除了对系统的影响。

在集成电路的设计过程中,适当的添加滤波电容是非常有必要的,本实验中我们在原理图中添加了滤波电容,故而在版图中也需要添加滤波电容。与之前添加电容的方式不同,此次添加的电容大小并没有要求,但是由于需要将其铺满版图中的空闲区域,因此对于它的尺寸有了要求,我们可以在参数设置对话框中将 Calculated Parameter 选择为 capacitance,这样我们就可以自由地调节电容的尺寸以填满版图的空隙,此处我们将 Unit Width 和 Unit Height 设置成 7.5μm×7.5μm。

但是电容具有最小的面积——$25~\mathrm{\mu m^2},因此,如果需要设置面积更小的电容,我们可以在电容设置对话框中去除 Apply Ring MCT 的复选框,这样最终的电容参数设置对话框中内容如图 43 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/43.png
图 43:滤波电容参数设置

2.6.6 综合布局

综合上述各个模块,在保证版图对称性和紧凑性的前提下,为版图添加 Pad 以及滤波电容,合理布局后,最终设计出的版图如图 44 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/44.png
图 44:CMOS 带隙基准源版图

2.7 心得体会

2.7.1 布局思路

在布局的时候,可以首先确定一些较大的元器件的位置,然后将相同特征的元器件按照上一步确定的位置进行轴对称布局。在这一过程中,除了差分对管需要考虑将其放在一起并且对称外,其余的晶体管可以先不考虑其在电路图中的相对位置,首先将对称的布局做出来。

其次,在元器件布局完成后,可以在周围放置一圈 vdd 和 gnd,而不是仅在上方放置 vdd,在下方放置 gnd,相较于后一种方式,放置一圈电源线对于后期的布局更为有利。

在布局过程中,可能会出现某个地方放置一个元器件显得空闲区域太多,此时我们可以将其分成两个元器件,并将其并联起来以达到扩大区域的目的。

最后,对于版图中存在的较大的空闲区域,我们可以添加滤波电容,合理的调节滤波电容的大小,使得它能够填满整个空闲区域,从而完成版图填充度的要求。

按照上述的步骤进行布局,一般来说可以在保证版图对称性的前提下进一步提高版图的紧凑性,以解决版图中空隙较大的问题。

2.7.2 布线思路

布局完成后就需要进行布线了,在布线的过程中,发现了一种较为方便且快速的布线方法,叙述如下。

首先,在版图布局的时候将各个元器件进行命名,使得其具有和电路图一样的标识(例如 M1、R1、C1、Q1 等),以方便后续的操作。

其次,在布线的时候,参照电路图,从上到下,从左到右,对每一个晶体管进行布线,连线的时候综合考虑元器件之间的位置,途径的元器件,采用合适的金属将其连接起来。当从某个元器件出发的所有导线都布局完成后,在电路图上用笔做一个标记。

重复上一过程,即可在较短的时间内,较为合理的将所有的导线布局完成。

2.7.3 布线错误

最后需要讲到的一个问题是 LVS 时经常遇到的一个错误,它的错误信息通常非常简单,和上一部分给出的图例类似,故在此不再展示。它所描述的错误依旧是连接问题,但是简单的从电路图上无法看出任何的问题。

此时就需要介绍到一个用于查看单层材料布局的方法,首先打开 LSW 窗口,如图 45 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/45.png
图 45:LSW 窗口

可以发现,上面有各种布局所用到的材料,我们选择 M1,然后单击上方的 NV 按钮,即可仅查看 M1 连接,可以看到如图 46 所示的结果:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/46.png
图 46:单层材料布局查看

然后我们回到 LSW 窗口,再点击 M2,即可在查看 M1 的基础上再查看 M2 金属的布局。这样一层一层的往上查看时,会发现出错的布线在同一层与其它同种类型的金属线交叉从而造成了短路,形成了 LVS 错误。这种错误通常非常隐蔽,因此需要通过上面介绍到的单层材料布局查看法来进行检查。

至此,整个版图的设计以及检查就完成了,最终成功通过了 LVS 验证,结果如图 47 所示:

/images/2022/集成电路版图设计实验(以运算放大器和带隙基准源为例)/47.png
图 47:LVS 最终结果

三、疑问

通过这两个版图的实验,学习到了狠多版图方面的知识,同时也产生了一些疑惑,以及一些相关的思考,现列举如下。

在布局的时候发现电容是一个较大的器件,而且电容仅包含 M5 和 M6,在版图设计的过程中,以及尝试过在电容下面走线的布线方式,现在考虑能否将晶体管也放置在电容下方,因为电容与晶体管不在同一层上,故而可以更大程度上的利用面积,从而减小系统的体积,增大集成度。

此外,考虑到 Pad 的面积也较为庞大,因此,能否将一些其它的器件布置于 Pad 下方,例如电阻等。

最后,Cadence 版图设计系统是否可以开发出一种三维视图的功能,这样在布局不限的时候能够非常清楚各个层中的材料位置,更大的方便了布线的过程,减少了短路的可能。

整理至此,方觉当年之愚钝,姑且当做是一种留念吧;各位看官也请有针对性的参考其中的内容。