2.3 CMOS模拟集成电路版图设计流程
图2.2中展示了进行CMOS模拟集成电路版图设计的通用流程,主要分为版图规划、设计实现、版图验证和版图完成四个步骤。
●版图规划
该步骤是进行版图设计的第一步,在该步骤中设计者必须尽可能地储备有关版图设计的基本知识,并考虑到后续三个步骤中需要准备的材料以及记录的文档。准备的材料通常包括工艺厂提供的版图设计规则、验证文件、版图设计工具包,以及软件准备等,需要记录的文档包括模块电路清单、版图布局规划方案、设计规则、验证检查报告等。
●设计实现
这一步骤是版图设计最为重要的一步,设计者依据电路图对版图进行规划、布局、元件/模块摆放,以及连线设计。这一过程又可以细分为“自顶向下规划”和“自底向上实现”两个步骤。概括地说,设计者首先会对模块位置和布线通道进行规划和考虑;之后,设计者就可以从底层模块开始,将其一一放入规划好的区域内,进行连线设计,从而实现整体版图。相比于顶层规划布局,底层的模块设计任务要容易一些,因为一个合理的规划会使底层连线变得轻而易举。
图2.2 版图设计通用流程图
●版图验证
版图验证主要包括设计规则检查(Design Rule Check,DRC)、电路与版图一致性检查(Layout Vs Schematic,LVS)、电学规则检查(Electrical Rule Check,ERC)和天线规则检查(Antenna Rule Check,ARC)四个方面。这些检查主要依靠工艺厂提供的规则文件,在计算机中通过验证工具来完成检查。但一些匹配性设计检查、虚拟管设计检查等方面还需要设计者进行人工检查。
●版图完成
在该步骤中首先是将版图提取成可供后仿真的电路网表,并进行电路后仿真验证,以保证电路的功能和性能。最后再导出可供工艺厂进行生产的数据文件,同时设计者还需要提供相应的文档记录和验证检查报告,并最终确定所有的设计要求和文档都没有遗漏。
以上四个步骤并不是以固定顺序进行实现的,就像流程图中右侧向上的箭头,任何一个步骤的修改都需要返回上一步骤重新进行。一个完整的设计往往需要以上步骤的多次反复才能完成,以下分小节对这四个步骤进行详细介绍。
2.3.1 版图规划
图2.3展示了版图规划中往下细分的五个子步骤:确定电源网格和全局信号、定义输入和输出信号、特殊设计考虑、模块层次划分和尺寸估计,以及版图设计完整性检查。就实际工程考虑,在这五个子步骤之前,还有一个隐含步骤,就是设计者应当熟悉所要设计版图所对应的电路结构,并尽可能参考现有的、成熟的版图设计,这样才可以使设计更加优化。
图2.3 版图规划的步骤
●确定电源网格和全局信号
版图中电源连线往往纵横交错,所以被称为电源网格。规划中必须考虑到从接口到该设计的各子电路模块之间的电源电阻,特别要注意电源线的宽度。同时,也应该注意阱接触孔和衬底接触孔通常都是连接到电源上的,因此与其相关的版图设计策略也必须加以考虑。
●定义输入和输出信号
设计者必须列出所有的输入和输出信号,并在该设计与相邻设计之间的接口处为每个信号指定版图位置并分配连接线宽。同时设计者还需要对时钟信号、信号总线、关键路径信号以及屏蔽信号进行特殊考虑。
●特殊设计考虑
在设计中我们往往需要处理一些特殊的设计要求,例如,版图对称性、闩锁保护、防天线效应等,尤其是对关键信号的布线和线宽要着重考虑。
●模块层次划分和尺寸估计
该子步骤中设计者可以依据工艺条件和设计经验,对整体版图进行子电路模块划分和尺寸估算,这样有助于确定最终版图所占据的芯片面积。在这个过程中还需要预留一些可能添加的信号和布线通道面积。
●版图设计完整性检查
该子步骤的目的是确定版图设计中所有流程中的要求都得到了很好的满足,这些要求中包括与电路设计、版图设计准则以及工艺条件相关所带来的设计约束。当所有这些要求或者约束被满足时,那么最终对版图进行生产、封装和测试的步骤才可以顺利地进行。
2.3.2 版图设计实现
图2.4展示了版图设计实现往下细分的三个子步骤:包括设计子模块单元并对其进行布局、考虑特殊的设计要求,以及完成子模块间的互连。
图2.4 版图设计实现步骤
●设计子模块单元并对其进行布局
在子步骤2.1中,设计者首先要完成子电路模块内晶体管的布局和互连,这一过程是版图设计最底层的一步。在完成该子步骤的基础上,设计者就可以考虑整体版图的布局设计了。因为整个芯片版图能否顺利完成很大程度上受限于各个子模块单元的布局情况,这些子模块单元不仅包括设计好的子电路模块,还包括接触孔、电源线和一些信号接口的位置。一个良好的布局既有利于整体的布线设计,也有利于串扰、噪声信号的消除。
●考虑特殊的设计要求
在子步骤2.1的基础上,子步骤2.2可以看作是更精细化的布局设计。设计者在该子步骤中主要考虑诸如关键信号走线、衬底接触、版图对称性、闩锁效应消除,以及减小噪声等特殊的设计要求,对重要信号和复杂信号进行布线操作。最后为了考虑可能新增加的设计要求,也需要留出一些预备的布局空间和布线通道。
●完成子模块间的互连
在完成子步骤2.1和子步骤2.2的情况下,子步骤2.3将变得较为容易。设计者只需要考虑布线层、布线方向,以及布线间距等问题,就可以简单地完成该步骤,实现芯片全部的版图设计。
2.3.3. 版图验证
图2.5展示了版图验证步骤中的四个子步骤:设计规则检查、版图与电路图一致性检查、电学规则检查和人工检查。版图验证是在版图设计实现完成后最重要的一步。虽然芯片生产完成后的故障仍可以通过聚焦粒子束(Focused-Ion-Beam,FIB)等手段进行人工修复,但代价却非常高。因此,设计者需要在计算机设计阶段对集成电路芯片进行早期的验证检查,保证芯片功能和性能的完好。
图2.5 版图验证步骤
●设计规则检查(Design Rule Check,DRC)
设计规则检查会检查版图设计中的多边形、分层、线宽、线间距等是否符合工艺生产规则。因为DRC检查是版图实现后的第一步验证,所以也会对元器件之间的连接关系以及指导性规则进行检查,比如层的非法使用、非法的元器件或连接都属于这个范畴。
●版图与电路图一致性检查(Layout Vs Schematic,LVS)
版图与电路图一致性检查主要用于检查版图是否进行了正确连接。这时电路图(Schematic)作为参照物,版图必须和电路图完全一致。在进行该检查时主要对以下几方面进行验证:
(1)包括输入、输出、电源/地信号,以及元器件之间的连接关系是否与电路图一致。
(2)所有元器件的尺寸是否与电路图一致:包括晶体管的长度和宽度,电阻、电感、电容,以及二极管的大小。
(3)识别在电路图中没有出现的元器件和信号,如误添加的晶体管或者悬空节点等。
●电学规则检查(Electrical Rule Check,ERC)
在计算机执行的验证中,电学规则检查一般不作为单独的验证步骤,而是在进行LVS检查时同时进行。但天线规则检查需要设计者单独进行一步DRC检查才能执行,前提是这里将天线规则检查也归于电学规则检查的范畴内。电学规则检查主要包括以下几方面检查:
(1)未连接或者部分连接的元器件。
(2)误添加的多余的晶体管、电阻、电容等元器件。
(3)悬空的节点。
(4)元器件或者连线的短路情况。
(5)进行单独的天线规则检查。
●人工检查
该子步骤可以理解为是对版图的优化设计,在这个过程中会检查版图的匹配设计、电源线宽、布局是否合理等这些无法通过计算机验证过程解决的问题,也需要设计者利用长期经验的积累才能做到更优。
2.3.4 版图完成
在这个步骤中,版图工程师首先应该检查版图的设计要求是否都被满足,需要提交的文档是否已经准备充分。同时还需要记录出现的问题,与电路工程师一起讨论并提出解决方案。
之后,版图工程师就可以对版图进行参数提取(也称为反提),形成可进行后仿真的网表文件,将其提交给电路设计工程师进行后仿真。这个过程需要版图工程师和电路设计工程师相互配合,因为在后仿真之后,电路功能和性能可能会发生一些变化,这就需要版图工程师对版图设计进行调整。反提出来的电路网表是版图工程师与电路工程师之间的交流工具,这一网表表明版图设计已经完成,还需要等待最终的仿真结果。
当完成后仿真确认之后,版图工程师就可以按照工艺厂的要求,导出GDSII文件进行提交,同时还应该提供LVS、DRC和天线规则的验证报告,需要进行生产的掩模层信息文件,以及所有使用到的元器件清单。最后为了“冻结”GD-SII文件,还必须提供GDSII数据的详细大小和唯一标识号,从而保证了数据的唯一性。