在40nm工艺节点的全定制版图设计过程中拿到PDK之后的第一件事往往不是急着画版图而是先把PDK提供的器件库、层次定义和参数化单元搞清楚。尤其是PMOS这类最常用的有源器件很多新手在打开PDK里的layout view后面对一层叠一层的层次经常不知道从哪里看起。本文以SMIC 40nm PDK为例完整拆解PMOS器件的识别方法从工艺层次、版图结构到仿真验证帮你建立一套“看到器件能认出结构、看到图层能对应物理含义”的分析思路。如果你是刚接触模拟版图的工程师或者正从电路设计转向版图设计这篇文章可以作为你的入门参考。文章会围绕PMOS展开同时对比NMOS的层次差异并把导通条件、电流方向、寄生二极管方向等高频概念串起来最后给出常见问题和工程建议。1. 为什么需要掌握PDK器件识别方法1.1 PDK在40nm工艺设计中的作用PDK的全称是Process Design Kit也就是工艺设计套件。它是晶圆厂提供给设计方的“官方工具箱”里面包含了器件模型、参数化单元、工艺文件、设计规则文件、仿真模型、物理验证规则等完整资料。对于SMIC 40nm工艺来说PDK通常覆盖数字标准单元库、IO库、模拟与射频器件库以及配套的DRC、LVS、PEX规则文件。在模拟版图设计中PDK提供的Pcell是最常用的器件来源。Pcell是参数化单元能够通过修改W、L、M、NF等参数自动生成符合设计规则的版图。使用PDK器件时工程师不需要手动逐层画晶体管但必须能够正确识别和分析Pcell内部的层次结构。很多场景需要你深入查看器件层次电路设计阶段需要确认器件类型和模型名称。版图阶段需要检查阱、注入、栅极、金属连线是否正确连接。后仿真阶段需要理解寄生参数从哪里产生。调试LVS报错时需要根据层次差异定位端口接反或缺失问题。如果对器件层次不熟悉碰到LVS报错、DRC违例、仿真不导通等问题时往往很难定位根因。1.2 PMOS与NMOS的基本区别PMOS和NMOS是CMOS工艺中最核心的两种晶体管。对很多刚开始接触版图的人来说最容易混淆的就是这两种器件的层次差异。从物理结构上看NMOS在P型衬底或P阱中形成源漏区域是N型注入栅极为多晶硅。PMOS在N阱中形成源漏区域是P型注入栅极同样是多晶硅。从工作特性上看NMOS的载流子是电子电子迁移率较高同等尺寸下导通能力更强。PMOS的载流子是空穴空穴迁移率较低所以相同尺寸时PMOS的导通电阻通常更大这也是某些电路里PMOS需要加大宽度的原因。从导通条件上看NMOS在栅源电压Vgs大于阈值电压Vth时导通。PMOS在栅源电压Vgs小于阈值电压Vth时导通也就是需要栅极电压低于源极电压形成负的Vgs。用一张表可以快速对比对比项PMOSNMOS所在的阱N阱P阱或P衬底源漏注入类型PN主要载流子空穴电子导通条件Vgs VthVgs Vth外部电流方向源极流向漏极漏极流向源极开关应用中常用位置高边开关、防反接低边开关、下拉驱动1.3 识别PMOS时要关注哪些特征在版图上识别一个PMOS器件本质上就是找一组“层次组合”。通常需要确认以下特征看阱层PMOS必须位于N阱区域内部这是最基础的特征。看注入层PMOS的源漏区域使用P型注入而NMOS使用N型注入。看栅极层多晶硅栅极横跨有源区将有源区分成源区和漏区。看孔和金属层源、漏、栅极通过接触孔连接到金属层最终引到器件端口。掌握了这些层次特征后续无论是查看PDK里的现成器件还是手动检查自定义版图都能有条不紊。2. Smic40nm PDK环境准备与目录结构2.1 PDK安装包的基本组成SMIC 40nm PDK的安装目录通常会按功能拆分为多个子目录。不同版本、不同客户定制版本会有所区别但大致会包含以下几类内容模型目录存放MOS、电阻、电容、二极管等器件的SPICE模型文件可能是Spectre格式或HSPICE格式。Pcell目录存放模拟器件和数字器件的参数化单元包括schematic、symbol、layout等视图。工艺文件目录包括tf文件和技术文件用于在版图编辑器中显示层名、层号和颜色。物理验证目录包含DRC规则文件、LVS规则文件、PEX寄生提取规则文件通常配合Calibre或PVS工具使用。文档目录包含PDK说明文档、设计规则文档和器件说明文档。以典型目录结构为例smic40llr/ ├── pcell/ │ ├── analog/ │ │ ├── pmos/ │ │ └── nmos/ │ └── digital/ ├── models/ │ ├── spectre/ │ └── hspice/ ├── pvs/ │ ├── drc/ │ ├── lvs/ │ └── pex/ ├── techfile/ └── doc/以上目录名称只是示例实际安装后请以你拿到的PDK版本为准。不同版本的PDK在库名、目录结构、层名定义上可能存在差异建议先阅读PDK自带的Release Note。2.2 加载PDK到Virtuoso环境在Cadence Virtuoso环境下使用PDK需要在启动前完成环境变量配置和技能库加载。常见的配置方式是在.cdsinit文件中添加PDK初始化脚本。例如# 加载PDK初始化文件 load(/path/to/smic40llr/init/init.ile)或者在使用“Virtuoso”工具的“Tools”菜单中选择“Technology”并加载对应的技术文件。加载完成后Library Manager中可以看到PDK提供的库。如果打开版图时发现层次颜色、层名不对通常是因为techfile或display resource file没有正确加载。此时可以在CIW窗口中重新加载技术文件CIW - Tools - Technology File Manager - Load这里要注意SMIC 40nm PDK的版本和代工厂流片版本密切相关产品线不同、金属层数不同Pcell和物理验证规则也会不同。不要直接照搬其他工艺或数据库的配置文件。2.3 建议的项目目录与数据管理使用PDK时建议不要直接修改PDK库中的内容。更好的做法是建立独立的Design Library将自建电路和版图放在Design Library中。通过attach方式将Design Library关联到PDK的techfile。所有仿真模型和验证规则通过绝对路径或固定环境变量引用。这样既保证了PDK库的完整性又方便在项目之间迁移数据。每次更新PDK版本时先做兼容性测试避免因Pcell版本变化导致已有设计出现尺寸或层次偏差。3. PMOS器件结构与核心原理3.1 PMOS的物理结构从剖面角度看PMOS是一个在N阱内部形成的P型沟道晶体管。N阱通常包含在P型衬底之上源极和漏极是重掺杂的P区域中间是P型沟道区沟道上方生长栅氧化层再覆盖多晶硅栅极。可以这样理解层次对应关系N阱相当于PMOS的“局部衬底”也就是bulk端。P注入形成源极和漏极。多晶硅栅极覆盖在沟道上方用于控制沟道导通。接触孔和金属层将源、漏、多晶硅栅分别连接到顶层端口。PMOS的bulk端通常连接到全芯片最高电位在芯片级就是VDD。3.2 PMOS的导通条件与电流方向PMOS的导通条件是栅极电位比源极电位低也就是Vgs为负值。举例来说如果源极接1.8V漏极接负载栅极接0V则Vgs等于-1.8VVgs的绝对值大于阈值电压的绝对值PMOS就处于导通状态。PMOS的电流方向是源极流向漏极。由于PMOS的载流子是空穴空穴从源极经过沟道向漏极移动因此传统的电流方向定义为从源到漏。实际使用中要注意PMOS的源极和漏极在物理结构对称时并不容易区分但在电路功能上源极通常是电位较高的一端漏极是电位较低的一端。版图中通过注入区和连接关系可以判断源漏位置。3.3 PMOS体二极管方向与防反接电路PMOS的寄生体二极管方向是很多电源电路中非常关键的信息。在标准CMOS工艺中PMOS内部天然存在一个从漏极指向源极的寄生二极管。如果源极和衬底短接则体二极管的方向是阳极漏极阴极源极也就是电流可以从漏极流向源极但不能从源极流向漏极除非外加电压使二极管正向导通。这个特性在电源防反接电路中被广泛使用。以PMOS防反接电路为例P管串联在输入电源和负载之间正常供电时Vgs为负PMOS导通负载获得电源当输入电源正负极接反时体二极管反向截止后级电路被保护。防倒灌电路也是类似的思路。当外部电源电压低于电池电压时如果PMOS连接方向不对电流可能通过体二极管从电池倒灌到外部电源。正确设计时要利用体二极管的反偏特性或者选择适当的PMOS放置方向尽量阻止倒灌电流。理解了寄生二极管的方向后再查看PDK器件的layout时你就能意识到某个孔、某段金属不仅仅是一条连线它可能会影响寄生二极管是否被短接进而影响整个电源链路的可靠性。4. 以PMOS为例的层次查看方法4.1 打开PMOS器件的多个视图在Virtuoso中PDK提供的器件一般会有多个view例如schematic、symbol、layout、abstract等。以PMOS为例你可以在Library Manager中找到PDK的模拟器件库展开器件单元然后双击对应view打开。推荐按以下顺序查看先看symbol确认端口名称比如D、G、S、B。再看schematic查看器件模型名、W/L参数。最后看layout重点分析版图的层次组合。很多初学者直接打开layout却不清楚哪一层代表什么结果越看越乱。正确的做法是在版图窗口中配合LSW图层开关将每一层单独显示逐个确认。版图窗口底部或侧边的LSW窗口里会列出当前工艺的所有层名。你可以在LSW中点击一个层再配合CtrlF等快捷键查看该层在版图中的具体图形。4.2 版图层次逐层拆解下面以PMOS版图为例把关键层次拆开来看。假设PDK中的层名定义如下不同PDK版本可能叫DIFF/OD/AA或者PO/GT这里为了说明思路先用常见命名层次名称物理含义PMOS中的作用NWN阱形成PMOS的衬底区域必须存在DIFF有源区定义晶体管和扩散区范围PO多晶硅栅形成栅极横跨有源区PPP型注入形成PMOS源漏极是PMOS标志NPN型注入用于NMOSPMOS中一般不存在CO接触孔连接有源区和金属1M1金属1引出源漏栅端口VIA1通孔1金属1与金属2之间的连接查看一个PMOS版图时可以按下面的步骤操作第一步单独显示NW层。你会看到版图中有一片N阱区域PMOS的所有有源区都在这个区域里面。第二步同时显示DIFF和PO层。PO层会以条状图形横跨DIFF把有源区分成左右两部分这两部分分别对应源极和漏极。第三步显示PP层。PP层覆盖在源漏区域上代表P型注入。这是识别PMOS最关键的层次之一。第四步显示CO和M1层。你会看到源极、漏极和栅极分别通过接触孔和金属线引出最终连到器件的端口。如果你看到某个晶体管位于N阱内源漏是P型注入栅极是PO那么基本可以确定这是一个PMOS。4.3 用剖面图理解PMOS纵向结构版图是二维平面视图但要真正理解器件原理还必须在脑海中还原纵向剖面。以PMOS为例纵向剖面从上到下大致是金属层用于连接外部端口。接触孔层连接金属与有源区/多晶硅。多晶硅栅极。栅氧化层。P源漏区和P型沟道。N阱。P型衬底。栅极电压通过改变栅氧化层下方的电场在P型沟道表面感应出空穴积累层或耗尽状态从而控制源漏之间是否导通。这种剖面结构决定了PMOS在版图上的层次特征也决定了阱和注入层的分布规律。4.4 对比NMOS的层次差异为了加深印象再对比一下NMOS的层次。找同一套PDK库中的NMOS器件打开layout后你通常会看到有源区位于P阱或P衬底区域没有大片的N阱围绕。源漏注入是N型注入层名通常是NP、NIMP等而不是PP。衬底端连接GND而不是VDD。因此在同时存在PMOS和NMOS的版图中可以先用“阱层注入层”快速判断器件类型。这也是进行LVS自查和DRC排查的有效方法。5. 完整实战在Smic40nm PDK中识别并验证PMOS5.1 建立测试环境为了验证PMOS器件是否被正确识别建议搭建一个简单的测试电路。这里不需要复杂的系统只需要一个PMOS和两个直流电源。在Virtuoso的Schematic Editor中从PDK库调用一个PMOS器件设置如下模型选择选择PDK中Core器件对应的PMOS模型比如pch类型。沟道长度可以设置为40nm或80nm具体看工艺节点和PDK支持范围。沟道宽度可以先设置为1um便于后续对比仿真。倍数M和指状NF先用默认值1。然后在source端连接一个1.8V直流电源drain端连接到地gate端连接一个可扫描电压源。如果是用网表方式可以写成类似下面的SPICE片段* PMOS DC characteristic test .option post accurate .global vdd gnd .temp 25 VDD vdd 0 1.8 VD vd 0 0 VG vg 0 1.8 * 这里pch为示例模型名实际需要替换为PDK中的模型名 MP1 vd vg vdd vdd pch w1u l40n m1 .dc vg 1.8 0 -0.01 .probe dc i(mp1) .end这个网表里VG从1.8V扫描到0V相当于Vgs从0V扫描到-1.8V。观察PMOS漏极电流从0开始变化就能确定器件的开启电压和基本特性。需要特别注意的是模型名pch只是一个示意写法SMIC 40nm PDK中不同阈值电压的PMOS会有不同模型名例如普通阈值、低阈值、高阈值等具体以PDK手册为准。5.2 查看器件CDF参数在Schematic Editor中选中PMOS按Q键打开Edit Object Properties窗口。你会看到器件的CDF参数包括Model nameTotal widthLengthNumber of FingersMultiplierDummy devicesVT type这些参数会直接决定生成的版图形状。CDF是Component Description Format也就是PDK中描述器件属性和参数界面的标准机制。在修改参数时建议先确认PDK的默认单位。有些参数使用um有些使用m切换单位时容易出错。5.3 运行DC仿真验证PMOS特性在测试平台搭好后可以运行DC扫描仿真。如果使用ADEL设置如下Design选择你建立的测试单元。Analysis选择DC扫描变量为VG。扫描范围从1.8V到0V步长10mV。仿真结束后画出沟道电流Id随Vgs变化的曲线。PMOS的特性曲线会出现在Vgs小于阈值电压的区域且Vgs绝对值越大电流越大。这也是PMOS和NMOS非常直观的区别。如果你发现仿真结果与预期不符首先检查PMOS的源极、漏极、衬底连接是否正确。PMOS的S端通常接高电位B端也接高电位D端接负载或低电位。5.4 参数同步到Symbol的调整方法在实际设计中很多人会遇到一个问题在schematic中修改了PMOS的W、L参数但是symbol上显示的内容没有更新或者希望把某些参数显示在symbol中方便后续调整。CAD工具中通常通过Display Template来控制symbol上显示哪些参数。以Virtuoso为例可以在Schematic Editor中选中器件按Q打开属性窗口查看“User Property”或“Display Template”相关内容或者在Symbol Editor中编辑symbol的显示模板将W、L、M等参数以w、l、m的格式添加到symbol文字中。比如symbol中原本可能只显示M0你可以将文本修改为MinstanceName Ww Ll Mm这样每次修改器件的CDF参数后symbol上会同步显示新的宽长比和倍数。需要指出的是具体菜单和变量名在不同版本中略有差异建议对照所使用工具版本的帮助文档操作。5.5 用LVS验证识别结果除了仿真还可以通过LVS验证来确认版图中的PMOS是否被正确识别。LVS的作用是检查版图和原理图是否一致如果版图里的PMOS层次填错LVS就会报“component mismatch”或“property mismatch”。在LVS报告中需要重点检查器件类型PMOS还是NMOS。器件数量是否与原理图一致。器件尺寸W、L是否一致。连接关系D、G、S、B四个端口是否对应。以PMOS为例如果LVS报告中出现了“NMOS found, PMOS expected”这类信息通常说明版图中的注入层使用错误比如把P型注入用成了N型注入。跑LVS之前先确认已经加载正确的技术文件和层次映射文件否则LVS工具可能无法识别你使用的层名。6. 常见问题与排查思路初学PDK器件分析时经常遇到各种现象下面整理一张排查表。问题现象常见原因解决思路打开PDK库后没有器件视图环境变量或技术文件未加载检查.cdsinit和PDK初始化脚本版图层次颜色不对techfile或display resource未加载重新加载技术文件和display文件版图中找不到PMOS的N阱打开了错误view或层次被隐藏在LSW中单独显示NW层PMOS仿真不导通Vgs方向给反检查栅极电压是否低于源极电压LVS报告NMOS和PMOS不匹配注入层用错检查PP和NP层的位置LVS报W、L不匹配CDF参数与版图不符对比原理图参数和Pcell参数Symbol参数不显示Display Template未设置在Symbol Editor中添加参数代参电源接反导致器件损坏未考虑体二极管方向按体二极管反向方向设计防反接电路下面展开几个典型的排查过程。第一个是PMOS仿真不导通。很多新手会以为PMOS和NMOS一样给栅极一个正压就能导通。但PMOS的导通条件是Vgs为负电压即栅极电压要低于源极电压。如果源极接1.8V栅极也接1.8V那么PMOS始终处于截止状态。第二个是LVS器件类型不匹配。出现这类问题时要优先检查注入层PMOS源漏必须使用P型注入NMOS源漏必须使用N型注入。如果使用自动化脚本生成版图尤其容易因为层次名写错导致器件类型识别错误。第三个是版图层次显示不完全。SMIC 40nm PDK的工艺层次很多LSW中默认只显示一部分如果不小心关闭了某些层次就可能看不清完整的器件结构。此时可以在LSW中点击“All On”或逐层打开需要查看的层次。第四个是CDF参数修改后没有生效。CDF参数修改后需要保存并重新生成Pcell。如果器件是从老版本PDK迁移过来的参数可能没有正确映射到新PDK的CDF变量上建议删除实例后重新从PDK库调用。7. 最佳实践与工程建议7.1 先看文档再动手拿到新的PDK之后不要急于在版图窗口里翻看各层优先阅读PDK自带的器件说明文档。文档中通常会明确说明每种器件的层次组合。推荐的最小尺寸和匹配规则。不同阈值电压器件如何选择。器件支持的参数和取值范围。阅读文档虽然是慢功夫却是避免走弯路最有效的方法。7.2 尽量使用Pcell而不是手动画器件在40nm工艺下由于设计规则非常复杂手动画PMOS很容易产生DRC违例。晶圆厂提供的Pcell已经预先处理好了有源区、阱、注入、栅极、接触孔和金属引线并且能根据W、L、NF等参数自动调整强烈建议优先使用PDK的Pcell。7.3 注意PMOS的体二极管方向在设计PMOS开关电路、防反接电路和防倒灌电路时要始终想到体二极管方向。PMOS体二极管从D指向S意味着漏极电位高于源极一定电压时这个二极管可能导通。尽量选择使正常工作状态下体二极管处于反偏的连接方式才能避免漏电和电流倒灌。在版图中如果需要减小体二极管的影响可以增加保护环或采用合理的端口布局但这需要结合具体电路的可靠性要求。7.4 在PMOS周围添加guard ring在混合信号或电源相关电路中PMOS周围的N阱容易受到闩锁效应影响。建议在PMOS版图外围加一圈连接到VDD的N型保护环并在N阱之外再加P型衬底接触环从而有效降低衬底噪声和闩锁风险。7.5 使用层次化查看方式分析复杂版图时可以按“阱层→注入层→栅极层→接触孔层→金属层”的顺序逐层显示每次只打开一个层次避免所有层次叠在一起造成的视觉干扰。这样也能快速建立对器件结构的系统认识而不是只靠“看起来像”来猜测器件类型。7.6 涉及安全与可靠性的设计建议对于电源端口、电池路径等可靠性要求较高的位置建议先做仿真验证和电路可靠性分析确认PMOS的等效串联电阻、体二极管方向、ESD防护能力都能满足要求。任何涉及高压、大电流或电源反向连接的改动都应该在充分测试后再进入流片阶段。在修改PDK器件参数或尝试写脚本批量生成器件时建议先在测试库中验证不要直接在正式设计库中批量修改避免不可逆的错误。8. 总结与下一步学习建议本文围绕SMIC 40nm PDK中的PMOS器件识别展开从PMOS和NMOS的区别、PMOS的结构与导通原理到版图层次逐层查看的方法再到实际的搭建测试电路、仿真验证和LVS检查基本覆盖了从原理到版图再到验证的完整链路。文中重点强调了几个容易被忽视的细节PMOS必须位于N阱内源漏注入必须为P型。PMOS的导通条件是Vgs为负电压。PMOS体二极管方向从D指向S电源类电路设计时一定要关注。PDK中的Pcell参数W、L、M、NF会直接影响版图和仿真结果。一旦遇到LVS器件类型不匹配优先检查注入层和阱层。如果你刚开始接触40nm工艺下一步可以尝试自己打开PDK中的NMOS和PMOS器件逐层显示并对比层次差异然后搭建一个反相器或传输门电路把PMOS和NMOS的参数、符号、版图联系起来。这个练习完成后你对PDK器件识别的掌握会扎实很多。再往后可以继续学习DRC规则文件的常见写法、LVS连接关系的检查方法以及PEX寄生参数提取的流程。这些都是模拟版图设计中必须掌握的核心技能。希望这篇文章能帮你少走一些弯路也欢迎在实际操作中反复对照验证。
