版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1Calibre验证文件2提纲VirtuosoTechfileVirtuosoLayerMapVirtuosoSymbolCDFSVRF语言DRC规则LVS(PEX)规则3Calibre概述在20世纪60年代,工程师使用手工的方式设计版图,物理验证也是通过手工的方式进行。当时的检查方式是工程师肉眼检查晶体管的各端口连接,待结果确认无误后,再用手工的方式将图形绘制到胶片上进行后续步骤。完成检查时长可能需要几天或者几周,效率低且出错几率较大。早期的验证软件有Silvar-Lisco的GARDS和ECAD公司的Dracula。这些软件都是基于平面化(Flatten)的数据验证工具,输入文件格式均为GDS。由于平面化的验证方式需要逐层检查的方式来进行验证,所以极为消耗服务器内存,且验证时间较长。在20世纪90年代早期,在设计规则越来越复杂、数据量越来越大、工艺越来越先进的情况下,基于平面化的验证工具逐渐力不从心,层次化处理技术(Hierarchicalprocess)则在物理验证中越来越多地被提及。Calibre、Assura、Diva等均为这个时代出现的产品。4Calibre概述到了现代,在芯片最终投片(Tape-out)前的验证过程中,物理验证(PhysicalVerification)已是必不可少的一个关键步骤。目前,物理验证的主流工具是Mentor的Calibre,它占有绝大部分物理验证市场。Calibre作为一款功能强大的IC设计物理验证软件,包括了设计规则检查(DRC)、版图与原理图一致性检查(LVS)、电学规则检查(ERC)、版图寄生提取(PEX)等诸多验证功能。因此,合理使用Calibre,可以完成大量重复性强,且易出错的人工检查内容,提高工程师进行物理验证的效率。故此对Calibre进行专门的学习也是尤为必要的。5VirtuosoTechfile
Techfile一般包含的类别:controls,定义了工艺的方阻、Techfile单位等可在techfile中使用的数据信息。LayerDefinitions,定义了techfile中使用的物理层信息。LayerRules,定义了techfile中层的基本属性,电流密度等信息。Devices,定义了Via孔的Device信息(如M1-Poly等),MPP(MultiplePathTemplates)等方面的信息。
本章将首先基于CMOS55nm工艺使用Virtuoso构建一个新器件(二极管)平台,在此基础上,对相应Calibre文件进行修改,使得验证文件可以对新增器件进行相关验证。构建新器件,需要从VirtuosoTechfile文件入手。VirtuosoTechfile是Virtuoso软件的工艺技术文件,它是Virtuoso软件的重要输入文件之一,也是Calibre验证文件重要参考文件6VirtuosoTechfile实例(1)
假定需要加入新器件二极管pdio18e2r,其seedlayer定义为DIO_DEF*P注入*有源区*N阱。可见需要添加新的器件定义层来进行器件识别。拟添加的层为该二极管识别层DIO_DEF层。在Techfile找到techlayer,使用还未使用的层号进行layer添加(下图展示了DIO_DEF的添加结果,层号为138:0。)
techfile中DIO_DEF添加7VirtuosoTechfile实例(2)
techLayerPurposePriorities修改在Techfile中找到techLayerPurposePriorities,添加新增层信息在techDisplays添加显示相关信息
techDisplays修改8VirtuosoTechfile实例(3)
找到streamLayers,补充层号信息。注意这里的层号需要与LayerMap及DRCLVS等rule中的层号保持一致。
streamLayers修改完成以上操作后,保存文件并退出。在Viruotuo中进行如下操作:Tools–TechnologyFileManager–LoadTechnologyFile,弹出如下图5.6窗口。在窗口中点选classes:selectAll。同时选择需要更新的Techlibrary,并点选Merge。9VirtuosoTechfile实例(4)
最后在VirtuosoLSW窗口中检查,DIO_DEF层已添加成功。下图为添加Layer成功的LSW窗口10VirtuosoLayerMap
VirtuosolayerMap是Virtuoso软件工艺层映射文件,它是Virtuoso软件的重要输入文件之一。完成Techfile文件修改后,添加新器件还需要修改layermap文件。VirtuosoLayerMapVituosoLayerMap作为Layout数据streamin和streamout的中介文件之一,部分文件于右图其内容可为:1、GDSII格式文件中的Layernumber2、TechnologyFile中的Layername3、Layer的purpose及Datatype。在VirtuosoLayerMap的最后加入如下内容,即可完成修改。11
VirtuosoSymbolCDF(1)
为了在schematic中进行电路搭建,需要新建器件Symbol并进行CDF调节。调节CDF后,即可导出网表进行仿真或者进行LVS验证。(器件没有Symbol,所以是无法自Virtuoso直接streamoutspice格式或者spectre格式网表的)VirtuosoSymbolCDF(ComponentDescriptionFormat)文件描述了Virtuoso器件库中独立器件的参数及相关特殊属性;CDF可以定义如下参数1、一个器件的参数名称及其默认赋值;2、默认器件参数单位;3、依据某些事先确定好的条件动态变化的参数;4、特定条件下可以按设置执行skill语句(Callbacks)。12
VirtuosoSymbolCDF(2)
VirtuosoCDF一般包含Componentparameter、Simulationinformation等几方面内容。Componentparameter中显示当前选中器件中所有已定义的参数(参数名称、参数数据类型等等),如左图。SimulationFormation中定义了在多种仿真器条件下,器件输出网表格式及参数,如右图。Componentparameter页Simulationinformation页13Virtuoso参数修改方法(1)
因为器件的参数和其默认赋值,在Foundry给出的PDK中均已定义清楚,一般不修改,所以对CDF的修改务必要做到验证充分。以下介绍添加器件pdio18e2r中area参数的方法。首先在Viruotuo中进行如下操作:Tools–CDF–Edit,打开EditCDF窗口。Scope选择cell,CDFlayer选择Base。之后在LibraryName和CellName中选择预期要修改的单元名称。EditCDFParameter修改方法14Virtuoso参数修改方法(2)
在页面中右键选择插入新参数。Name与prompt可以随意填写,注意Name要保持一致。本章节中分别填入“area”与“Devicearea”。type选择“string”,units选择“don’tuse”,parseasCEL选择“yes”,parseasNumber选择“yes”。之后在defaultvalue中填入“iPar("w")*iPar("l")”。点击Apply,则参数的建立就完成了。其效果为将二极管的L与W的乘积赋值给参数area。之后在Simulationinformation页面中simulator中选择aucdl,在原有的propmapping中添加area,则修改完毕。
EditcomponentCDF页修改方法15SVRF语言
SVRF基本符号使用SVRF基本mathfunction
SVRF基本格式Layeroperations运算输出
Calibre所有验证文件均基于SVRF(StandardVerificationRuleFormat)语言编写,了解SVRF语法对于深入理解rulefile内容,以及对rulefile进行定制化修改都是必要的。
从以下四个方面进一步了解SVRF.16SVRF基本符号使用SVRF常用的注释方式为//@/**/三种,可以根据实际需求合理选择注释方式。尤其需要注意的是#在SVRF中是作为statementdefinition使用的。例如常用的#DEFINE,并非是注释。17SVRF基本mathfunction使用SVRF提供的所有数学公式见下图所示。其中的部分公式如SQRT及ABS是在rule中被广泛使用的。但是请注意的是,并非所有验证环境均支持这些数学公式,具体情况以rule的compile结果是否通过为准。18SVRF基本格式(1)一个基于SVRF的rule文件需要包含如下内容:layerassignment、definitions、rulechecks、comments、specificationstatements、devicerecognitionstatements、conditionals、macros。SVRF的rule基本格式19SVRF基本格式(2)layerassignment:是指使用layer语句进行工艺下所有使用的层名和层号的说明。需要注意的是,层号需要与VirtuosoTechfile中stream部分及VirtuosoLayerMap中的层号完全对应,否则就会导致错误产生。Definitions:是指基于assignment中已定义的层进行中间层的运算,分为Global和Local两类。其中Global部分在rule中定义在assignment之后,对于rule文件全局起作用。Local定义在RuleCheckstatements部分,只对应特定场景起作用,在定义的特定场景以外不生效。RuleCheckstatements:rule文件的核心部分。通过进行Layeroperations进行目标检查项的筛选和运算。同时,请注意,RuleCheck必须至少有一层独立生成的Layer(不是layerassignment出来的层,而是经Layeroperations运算出的层)可以被写到结果输出的数据中。如果RuleCheck在任意情况下均无法对于DRC结果数据进行输出,则该部分Rule无法通过Compile。20Layeroperations运算输出
SVRF语言是基于输出错误的一个描述。而所有SVRF语言的Layeroperations输出均基于三种数据类型输出导向:基于error导向,基于edge导向以及基于polygon导向。基于error导向:CalibreDRC并不会生成特定的生成层而是直接写入DRC结果的database。常见的error导向有锐角问题(Drawnacute、DrawnAngled),以及格点违反(Offgrid),这些会导致加工时制版错误,必须在Tape-out前予以修正。基于edge导向:输出结果为边(edge)的情况,常用来进行区域width、space等检查项的检查。需要注意的是SVRF的数据量最小原则。由于SVRF描述结果只是有无ERROR。常见的rule均是描述的ERROR发生的情况,比如验证Metal最小线宽的rule其核心语句为:INTA<width_b
,而并非实际满足约束的情况INTA>width_b。基于polygon导向:输出结果为多边形的情况,常用来进行区域面积、density等检查项的检查。21DRC规则
设计规则检查(DRC)是集成电路设计物理验证(PV)的一个重要组成。由Foundry基于不同工艺参数优化制定出满足芯片制造良率的、在同一工艺layer或者不同工艺layer之间的几何尺寸约束。这些约束的集合就是版图设计规则。DRC目的:检查GDS中所有因为违反设计规则而引起潜在短路、断路或可以产生其它不良后果的缺陷。当然,设计规则也并不是芯片制造成功与失败的分界。或许一颗芯片可以正常工作,但却违反了若干设计规则;也有可能一个满足所有设计规则的芯片版图在流片后却不一定能够正确工作。CalibreDRC验证Flow22DRCrule内容DRCrule首先应该遵循SVRF基本格式,其次遵循下图结构。其中name为DRCrule名称,任意两条Rulecheck的name不可完全一致。@后为rule的注释,一般会有该rule的一个简单文字描述。而Rulecheck的主体一般为中间的layeroperations,通过各种复杂的运算,实际工程中输出到datebase中的一般为最后一条或者几条operation。CalibreDRCrule结构23DRCrule主要operationDRCrule文件中起效果的一般为最后一条operation。所以适当了解DRC的核心运算对于了解DRCrule文件,分析其作用机理是有极大作用的。以下介绍四种常见的operation定义及效果。Internal(Int)两个内边之间的距离多层之间进行Int操作External(Ext)两个外边之间的距离Enclosure(Enc)LayerA外边与LayerB内边之间的距离24常见的operation定义及效果(1)Internal(Int):其定义为计算两个内边之间的距离。这两个内边可以是同层也可以是不同层。其中,单层运算下其定义图如下所示。为了便于理解外边用实线表示,内边用虚线表示(后同)。由定义可见,其一般适用于DRCrule中对于线宽进行检查的情况。
单层Int运算效果25常见的operation定义及效果(2)多层之间进行Int操作,其运算是检测层A伸入B层的距离,其定义如下图。
双层Int运算效果26常见的operation定义及效果(3)External(Ext):其定义为计算两个外边之间的距离。这两个内边可以是同层也可以是不同层。该运算特点与Int有一些类似。其中双层运算下,其定义如下图。可见其一般适用于DRCrule中对于线间距进行检查的情况。由于其定义的特殊性,在某些特殊情况下需要加入控制语句MeasureAll,可以在使用Ext时针对非外边进行检查。Ext运算效果27常见的operation定义及效果(4)Enclosure(Enc):其定义为计算LayerA外边与LayerB内边之间的距离。内边与外边具有差异性,如果交换LayerA和LayerB,会得到完全不一样的结果。下图是EncAB与EncBA的结果比较。Rule_b这种情况一般使用来分析Poly在有源区出头的情况。请注意在此情况下,ABUT需要分析ABUT<90,而非ABUT>0<90。在第二种情况下,分析会遗漏掉A与B边重合的情况不进行分析。Enc运算效果28DRCrule验证方法DRCrule的验证,遵循DRC检查项与Designrule相匹配原则。即为SMIC提供的纸质设计规则。所以为了验证这一点,就需要一个特殊的版图组合覆盖所有可能的版图情况来验证其匹配性,这个版图组合被称做测试组合(testpattern)。需要注意的是,Designrule出于其简洁性,所以很多业界共识并不会特意写到Designrule中。如在介绍operationEnc时提到的Poly出头问题,Foundry默认出头不能等于0,在Designrule中也不会提及这一点,但是在DRCrule书写时则需要注意。版图在特殊情况下会产生诸如锐角等error导向的DRC问题,需要在rule中加以完善,同时在testpattern中加以补充。如果缺乏上述内容,就可能会因为设计规则违反导致Tape-out失败。29修改示例:DRCrule添加方法(1)
以pdio18e2r器件为例,讲述DRCrule添加方法。第一步先对纸质Designrule进行分析,常见关于P注入区域检查如下面CK_A\CK_B所示。其中CK_A为P注入区域包裹有源区不得少于某固定距离,假定其为0.1um。CK_B为P注入到N注入有源区不得少于某固定距离,假定其为0.2um。
CK_A与CK_B具体含义30修改示例:DRCrule添加方法(2)
第二步对两条检查进行分析,应注意到CK_A和CK_B具有以下特点CK_A具有如下特点:1、CK_A为P+有源区外边到P注入内边的检查,所以适用检查语句为Enclosure(Enc)。2、P+有源区不能简单使用原始层,否则会和其它二极管或者MOS管混淆,需要在其中加入识别层DIO_DEF进行分支处理。CK_B具有如下特点:1、CK_B为N+有源区外边到P注入外边的检查,适用检查语句为External(Ext)。2、P+有源区不能简单适用原始层,否则会和其它二极管或者MOS管混淆,需要在其中加入识别层DIO_DEF进行分支处理。31修改示例:DRCrule添加方法(3)LAYERDIO_DEF138//MarkinglayerforDiodebyzincPACT=SPANDAADIOP=PACTANDNWCK_A{@thisisatempruleforDiodeAX=DIOPINSIDEDIO_DEFENCXSP<0.1ABUT<90REGION}
NACT=SNANDAANTAP=NACTANDNWCK_B{@thisisatempruleforDiodeBX=SPINSIDEDIO_DEF(注意此处的X类型为Local,并非Global。所以它不会对于CK_A产生影响)EXTXNTAP<0.2ABUT<90REGION}基于以上分析,初步完成验证语句如下:32修改示例:DRCrule添加方法(4)刻意制造以上距离的违反,使用完成的语句进行检查,得到结果如下,可见语句无问题。CK_A完成效果CK_B完成效果33LVS(PEX)规则Layoutversusschmatic(LVS)是集成电路设计物理验证(PV)的一个重要组成。其原理是针对于Layout版图进行器件提取,并将提取后的电路网表与原理图中的器件连接进行比较。如两者完全一致,则认为设计使用了正确的电路版本进行了Tape-out。只有通过LVS的layout才可保证与电路设计的初始功能相一致,LVS有问题的layout是无法判断其实际的电路逻辑功能和电学参数的。因为LVS工具的特性,所以也可以使用其进行节点寄生参数抽取PEX(Parasiticextraction)。一般PEX与LVS均使用同一版本的rule文件,PEX相对于LVSrule文件多了对于寄生电容电阻的定义。CalibreLVS验证Flow34LVSrule内容
LVSrule首先需要符合SVRF基本格式。所以layerassignment、Definitions也需要按照基本格式进行定义。如果是具体到LVS风格的Rule文件,还有LVSrule中特有的部分ConnectivityExtraction、Devicerecognition等。ConnectivityExtraction:ConnectivityExtraction定义了LVS中的电学连接关系和器件的netname。常用operation如attach、connect等。Devicerecognition:Devicerecognition定义了LVS中器件各端口使用层次,以及器件中各个参数的提取方法。35LVSrule器件定义器件定义是LVSrule的核心器件定义的核心语句为DEVICE。下图为一个DEVICE的示例,注意DEVICE后需要说明Modelname,此name需要与原理图中Modelname以及SpiceModel中的Modelname一致。后面是器件各端口使用层的声明,其中关键的seedlayer是此器件区别于其它器件的标示。一般情况下,两个不同类型器件须使用不同的seedlayer进行区分。property的提取,需要注意使用AREA等polygon语句获取seedlayer在不同方向的边长,并通过使用ABSSQRT等数学公式的方式进行数字处理。CalibreLVS中的器件定义36LVSrule验证方法LVSrule验证的基本流程遵循如下步骤:1、完成layerassignment、Definitions定义,看定义后LVSrule是否有编译问题。2、完成DEVICE定义(无property),之所以不加property,是为了通过打印的方式获取seedlayer区域,以及避免property带来的伪错干扰。3、增加traceproperty,将其设置为0,同时调节Device中property,使得LVS结果中Layout抽取的电路参数与实际一致。4、分析器件是否有对称性要求(特别是MOS管),并在设置中加以设置。37Pdio18e2rLVSrule添加方法(1)首先,分析器件的seedlayer,并出于易读性考虑,在rulefile开头进行seedlayer说明如下所示。其中有源区=AA,P注入=SP,N注入=SN,N阱=nwell。
pdio18e2r器件38Pdio18e2rLVSrule添加方法(2)进行相关层定义(如果以pdio18作为seedlayer,则必须使用DIO_DEF进行分支区分)书写相关layerassignment如下所示。Pdif=AAANDSP(有源区与P注入运算,生成中间层Pdif)Pdiff=pdifANDnwell
(Pdif与N阱运算,生成Seedlayer的雏形)Psd=pdiffNOTpgate
(排除MOS类型器件对于器件的影响)Pdio18=psdINSIDEDIO_DEF(通过DIO_DEF指定特殊类型的二极管,seedlayer完成)注意到pdio18e2r的两端分别为pdio18与nwell,seedlayer为pdio18。其有效参数不妨定义为面积area_dio,计算方法为计算单个pdio18区域的面积。根据以上思路,完成Devicerecognition如下所示。pdio18e2r器件定义39Pdio18e2rLVSrule添加方法(3)最终加入Traceproperty,由于网表中定义面积为A(area),Devicerecognition中定义器件版图面积为area_dio,则书写该部分为下述内容。初始定义偏差允许范围为5%,此数值在实际设计中根据需求可以灵活调整
pdio18e2r器件traceproperty定义完成修改后,LVSrunset可正常进行版图验证。所有器件均可正确提取和比对,若没有报错情况出现。则LVSrunset修改成功。40
CMOS模拟集成电路版图设计与验证流程
41提纲设计环境准备单级跨导放大器电路的建立和前仿真跨导放大器版图设计跨导放大器版图验证与参数提取跨导放大器电路后仿真输入输出单元环设计主体电路版图与输入输出单元环的连接导出GDSII文件42工艺库准备在进行设计之前,电路和版图工程师需要从工艺厂商那获得进行设计的工艺库设计包,即通常所说的PDK(ProcessDesignKit)文件包。这个设计包中主要包含六方面内容:进行设计所需要的晶体管、电阻、电容等元件模型库(包括支持Spectre、Hpsice、ADS多种仿真工具的电路图模型、版图模型和VerilogA行为级模型等)、进行仿真调用的库文件(分别支持spectre和hspice的.lib文件)、验证和反提规则文件(DRC、LVS、ANT和PEX等规则文件以及相应的说明文档)、输入/输出单元的网表和版图模型、display.drf文件(显示版图层信息所必须的文件,放置于icfb的启动目录之下)、techfile.tf文件(定义该工艺库相应的设计规则,在建立设计库时需要编译该文件或者直接将设计库关联至模型库)。最后将设计包中的元件模型库放置在一个固定目录下,方便启动CadenceIC617软件时进行库文件的添加。与IC5141中PDK为CDB格式不同,IC617中使用的PDK数据为OA格式。43模型工艺库添加(1)在命令行输入“virtuoso&”,运行CadenceIC617,弹出CIW主窗口,如下图所示模型工艺库添加(2)在CIW窗口中选择[Tools]→[Librarymanager]命令,如图6.2所示;弹出“Librarymanager”对话框如下图所示,这时对话框中有CadenceIC617自带的几个库,如“analogLib”、“basic”、“function”等。44模型工艺库添加(3)在“Librarymanager”窗口中选择[Edit]→[LibraryPath]命令,如图所示;弹出“LibraryPathEditor”对话框,该对话框中显示CadenceIC617中已经存在的几个工艺库。45模型工艺库添加(4)在“LibraryPathEditor”对话框中“Library”栏的下侧空框处单击鼠标右键,弹出“AddLibrary”选项,如图所示。46模型工艺库添加(5)选中“AddLibrary”选项,弹出“AddLibrary”对话框,在左侧的“Directory”栏中选择跳转到存在工艺库模型的路径下,在右侧“Library”栏中选中使用的工艺库,这里为smic18mmrf工艺库,如图所示,最后单击“OK”按键,回到“LibraryPathEditor”对话框中。47模型工艺库添加(6)在工具栏中选择[File]→[Savaas]命令,弹出“SaveAs”对话框,如图所示。这时默认在“cds.lib”前勾选,单击“OK”按键,覆盖原来的cds.lib,完成对工艺库模型的添加。48模型工艺库添加(7)这样就完成了工艺库模型的添加,此时在“Librarymanager”对话框的“Library”栏中就出现了smic18mmrf工艺库,如图所示。49单级跨导放大器电路的建立和前仿真(1)在命令行输入“virtuoso&”,运行CadenceIC617,弹出CIW主窗口,然后建立库,选择[File]→[New]→[Library]命令,弹出“NewLibrary”对话框,输入“EDA_test”,并选择“Attachtoanexistingtechnologylibrary”,选择并关联至SMIC18mmrf工艺库文件,如图所示。最后单击[OK]按键,完成设计库的建立。50单级跨导放大器电路的建立和前仿真(2)选择[File]→[New]→[Cellview]命令,弹出“NewFile”对话框,在“Library”栏中选择已经建立好的“EDA_test”库,接着在“Cell”栏输入“OTA”,在“Openwith”栏中选择“SchematicsL”,单击[OK]按钮,如图所示51单级跨导放大器电路的建立和前仿真(3)选择上侧工具栏中的[Create]→[Instance]或者单击键盘“i”键,从工艺库“simc18mmrf”中调用NMOS晶体管n33,在右侧“view”类型中选择“Symbol”,52单级跨导放大器电路的建立和前仿真(4)单击“close”,弹出“EditObjectProperties”对话框,分配宽长比10u/1u。这里将NMOS设置为叉指晶体管,即意味着将单个晶体管拆分叉指状(finger),每个finger为5u,一共5个finger,总宽度为5x5=25u,如图所示。同样设置PMOS晶体管尺寸。53单级跨导放大器电路的建立和前仿真(5)从工具栏选择[Create]→[Pin]或者单击键盘“p”键设置电源管脚vdda,地管脚gnda,差分输入管脚vin和vip,输出管脚vout;再选择[Create]→[Wire(narrow)]或者单击键盘“w”键进行连接最终建立单级跨导放大器电路54单级跨导放大器电路的建立和前仿真(6)完成电路图建立后,先为跨导放大器建立一个电路符号(symbol)方便后续进行仿真调用,具体方法为在schematic窗口工具栏中选择[Create]→[CreateCellview]→[FromCellview]命令,弹出“”CellviewFromCellview”对话框,单击[OK],在跳出窗口“SymbolgenerationOption”对话框的各栏中分配端口位置。55单级跨导放大器电路的建立和前仿真(7)进行跨导放大器的交流小信号仿真,首先需要建立测试电路图。从设计库“EDA_test”中调用建立好的跨导放大器Symbol,再从analogLib中调用“ideal_bulan”(变压器),作为单端转差分的转换器使用。并为各个端口分配同样名称的pin名,并从“analogLib”库中调用一个1uF的电容“cap”作为负载电容。电容连接地电位的端口,可以点击键盘上“l”键,输入“gnda”,即可完成物理上的连接。56单级跨导放大器电路的建立和前仿真(8)之后在工具栏中选择[Launch]→[ADEL]命令,弹出“ADEL”对话框如图所示。在这个对话框中我们需要设置电路的激励源、调用的工艺库、仿真类型以及观察输出波形。57单级跨导放大器电路的建立和前仿真(9)首先为电路设置输入激励,在工具栏中选择[Setup]→[Stimuli],弹出对话框,首先设置电流源“Iin_10u”。将“Function”类型修改为“dc”,表示为直流信号;再将“type”类型修改为“Current”。电流设为“-10u”,并勾选"Enabled"按键,最后点击下侧的“Apply”按键,完成输入。58单级跨导放大器电路的建立和前仿真(10)之后继续设置电源电压“vdda”为“3.3V”,地“gnda”为“0”,设置输入“in”为交流源“sin”,交流幅度为“1”,相位为“0”。共模输入电压“vcm”为1.65V59单级跨导放大器电路的建立和前仿真(11)之后在工具栏中选择[Setup]→[ModelLibraries],设置工艺库模型信息和工艺角,在”Section”栏中填入工艺角信息,如本例中晶体管工艺角为”tt”,电阻为“res_tt”等。每完成一个工艺文件添加,需要单击下方的“Apply”按键完成操作。60单级跨导放大器电路的建立和前仿真(12)弹出对话框在工具栏选择[Analyses]→[Choose]命令,,选择“ac”进行交流小信号仿真,在“start”栏中输入开始频率“1”,在“stop”中输入截止频率“1G”,最后勾上“Enabled”选项61单级跨导放大器电路的建立和前仿真(13)弹出对话框在工具栏选择[Analyses]→[Choose]命令,,选择“ac”进行交流小信号仿真,在“start”栏中输入开始频率“1”,在“stop”中输入截止频率“1G”,最后勾上“Enabled”选项62单级跨导放大器电路的建立和前仿真(14)在工具栏选择[Stimulation]→[NetlistandRun]命令,开始仿真。仿真结束后,在工具栏选择[Result]→[Direct]→[MainFrom],弹出“DirectPlotFrom”对话框。在该对话框中“Modifier”子栏中选择“dB20”63单级跨导放大器电路的建立和前仿真(15)然后在电路图中单击输出端口连线“vout”,输出增益波形,再选择“Phase”,单击“Replot”,输出相位波形。64单级跨导放大器电路的建立和前仿真(16)将两个波形分栏显示。再在工具栏中选择[Marker]→[CreateMarker],弹出“CreateGraphMarker”对话框,选择“vertical”,单击“Ok”,最后在波形中拉出纵向标注轴。65跨导放大器版图设计(1)在CIW主窗口中选择[File]→[New]→[Cellview]命令,弹出“NewCellview”对话框,在LibraryName中选择已经建好的库“EDA_test”,在“CellName”中输入“OTA”,在“Type”中选择“layout”,并在“Openwith”中选择“LayoutL”66跨导放大器版图设计(2)在工具栏中选择[Options]→[Display],弹出“DisplayOption”对话框。在“Xsnapspacing”和“Ysnapspacing”分别修改为“0.005”,表示间距为0.005um。67跨导放大器版图设计(3)通过快捷键[i]启动创建器件,在“View”栏中选择“layout”进行调用,选中晶体管,单击键盘“q”键,在晶体管属性中填入Length、TotalWidth、FingerWidth、Fingers等信息。之后同样对PMOS晶体管进行设置。68跨导放大器版图设计(4)然后进行版图布局,首先进行的是版图布局,将所有晶体管调用放置在版图窗口中。按照NMOS同行、PMOS同行的方式进行摆放,尽量将整体版图布局成规则的长方形69跨导放大器版图设计(5)首先进行NMOS晶体管栅极的连接,由于要对漏极进行连接,且NMOS的栅极较短,且多晶硅的电阻较大,需要将栅极的多晶硅适当延长留出漏极的布线通道,并打上多晶硅到一层金属的接触孔,通过一层金属进行连接。首先在LSW层选择栏中选择“GT”层,然后在键盘上单击[r]按键,为栅极添加矩形70跨导放大器版图设计(6)在键盘上单击[o],弹出“CreateVia”对话框,在“ViaDefinition”栏中选择“M1_GT”,表示选择多晶硅到一层的通孔,在“Columns”栏中填入“2”,表示横向通孔数目为2。71跨导放大器版图设计(7)单击鼠标左键,选中延长的多晶硅和通孔,单击[c]按键进行复制,为每一个叉指的多晶硅栅分配延长线和通孔。注意这里延长的多晶硅要与原始的栅严丝合缝的对齐,否则会造成DRC错误。72跨导放大器版图设计(8)继续在LSW层选择一层金属,单击[r]键,画矩形连线,将NMOS的漏极和源极拉出(源极和漏极交替出现,图中最左侧和最右侧为漏极,中间为源极;也可将最左侧和最右侧作为源极,中间作为漏极),方便后续进行连接。同样进行其他NMOS管的栅极、漏极和源极连接。73跨导放大器版图设计(9)接下来进行NMOS源极和衬底(地)连接,单击“o”键,弹出“CreateVia”对话框,如图6.42所示。在“ViaDefinition”栏中选择“M1_SP”,表示选择P注入到一层的通孔,在“Columns”栏中填入“66”,表示横向通孔数目为66,横向长度以覆盖全部NMOS为准。衬底既作为电路的地电位,也作为保护环使用。74跨导放大器版图设计(10)参考之前的步骤,对照电路图,完成整体版图的连接。PMOS应该放置在N阱中,在LSW中选择“NW”层,再单击“r”键,绘制矩形将N衬底和PMOS都包括在N阱中,如图所示。75跨导放大器版图设计(11)空余的空间可以添加虚拟器件(dummy)进行填充,如右下侧的空间,可以将NMOS的漏、栅、源连接到地电位,作为无效器件。76跨导放大器版图设计(12)最后还需要在版图的外围添加电源环和地环,这样就容易与输入输出单元进行相连,同时形成电源与地的网格状,减小走线上产生的电压降。在LSW窗口中选择一层金属,单击“r”键,绘制矩形,这里设置为3u宽度。之后将N衬底和P衬底分别与电源和地相连77跨导放大器版图设计(13)对电路版图完成连线后,需要对电路的输入输出进行标识。鼠标在LSW窗口层中左键点击M1_TXT,然后在版图设计区域点击键盘快捷键[l],将鼠标左键点击在相应的版图层上即可(如采用一层金属绘制图形,则采用一层金属标识;如采用二层金属绘制图形,则采用二层金属标识(M2_TXT);标识层需要与绘图层匹配才能生效),如图所示,首先添加电源“vdda”的标识;78跨导放大器版图设计(14)之后继续完成“gnda”、“vin”、“vip”、“vout”和“Iin_10u”的标识,全部标识完成后,保存版图79跨导放大器版图验证与参数提取首先进行DRC验证,在版图视图工具菜单中选择[Calibre]→[RunnmDRC]命令,如图6.51所示。之后弹出DRC工具对话框。80DRC验证(1)选择左侧菜单中的“Rules”,并在对话框右侧“DRCRulesFile”点击[...]选择设计规则文件,并在“DRCRunDirectory”右侧选择[...]选择运行目录81DRC验证(2)选择左侧菜单中的“Inputs”,并在“Layout”选项中选择“Exportfromlayoutviewer”高亮,表示从版图视窗中提取版图数据,选择左侧菜单中的“Outputs”,可以选择默认的设置,同时也可以改变相应输出文件的名称。82DRC验证(3)左侧的“RunControl”菜单可以选择默认设置,最后点击“RunDRC”,Calibre开始导出版图文件并对其进行DRC检查。CalibreDRC完成后,软件会自动弹出输出结果,包括一个图形界面的错误文件查看器和一个文本格式文件83DRC验证(4)在版图中存在8个DRC错误,分别为M1_1(一层金属宽度小于0.23um)和7个密度的错误,其中密度的错误在小模块设计时可以忽略。在最终流片模块中,如密度不够,可填充各层金属增加密度,保证芯片良率。所以目前只需要修改一层金属的宽度小于0.23um的问题。84DRC验证(5)85DRC错误修改完毕后,在DRC工具对话框中单击[RunDRC],再次进行DRC检查,这时弹出如图所示的界面,除了密度的错误以外没有其他的错误显示,这表明DRC已经通过。
LVS验证(1)选择左侧菜单中的“Rules”,并在对话框右侧“LVSRulesFile”点击[...]选择LVS规则文件,并在“LVSRunDirectory”右侧选择[...]选择运行目录86LVS验证(2)选择左侧菜单中的“Inputs”,并在“Layout”选项中选择“Exportfromlayoutviewer”高亮,表示从版图视窗中提取版图数据,选择左侧菜单中的“Outputs”,可以选择默认的设置,同时也可以改变相应输出文件的名称。87LVS验证(3)左侧“RunControl”菜单里可以选择默认设置,点击“RunLVS”,Calibre开始导出版图文件并对其进行LVS检查。CalibreLVS完成后,软件会自动弹出输出结果并弹出图形界面88LVS验证(4)对话框中的信息表明在版图与电路图存在一项器件不匹配错误。其中左侧“LAYOUTNAME”表示版图信息,右侧“SOURCENAME”表示电路图信息。从信息中可以看出,版图上存在一个N33晶体管,而电路图上则没有这个器件。89LVS验证(5)修改方式为,首先在工具栏中选择[Setup]→[LVSOptions],调出LVS选项出现在左侧工具栏中;再选择[LVSOptions]→[Gates],在下侧的选项中勾选“MOSdeviceswithallpinstiedtogether,includingbulkandoptionalpins”。这表示当MOS器件所有端口连接在一起时,忽略版图中的该器件。LVS选项修改完毕后,再次做LVS,自动弹出窗口如图,表明LVS已经通过。90PEX参数提取(1)选择左侧菜单中的“Rules”,并在对话框右侧“PEXRulesFile”点击[...]选择提取规则文件,并在“PEXRunDirectory”右侧选择[...]选择运行目录91PEX参数提取(2)选择左侧菜单中的“Inputs”,选择“Netlist”选项,查看是否需要将“Exportfromschematicviewer”高亮。选择左侧菜单中的“Outputs”选项,将“ExtractionType”选项修改为“TransistorLevel-R+C-NoInductance”;将“Netlist
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建漳州市交发工贸集团有限公司所属凯业公司市场化用工人员招聘4人考试备考题库及答案解析
- 2026财达证券投资银行业务委员会社会招聘1人考试备考试题及答案解析
- 2026安徽亳州市利辛县紧急救援中心选调4人考试参考试题及答案解析
- 2026辽宁沈阳新华购书中心有限责任公司招聘图书管理员2人笔试参考题库及答案解析
- 2026河南安阳殷都初级中学教师招聘考试参考试题及答案解析
- 2025-2026江苏盐城市射阳县陈洋实验初级中学春学期学科教师和管理人员招聘13人考试备考试题及答案解析
- 2026中智江西高安市项目综合业务岗招聘1人笔试参考题库及答案解析
- 2026年国税总局陕西省税务局事业单位招聘(20人)考试备考题库及答案解析
- 2026吉林通化市公益性岗位招聘4人考试参考试题及答案解析
- 2026浙江丽水市缙云县卫生健康系统面向全国引进高层次人才和紧缺人才10人考试备考题库及答案解析
- GB/T 4772.1-2025旋转电机尺寸和输出功率等级第1部分:机座号56~400和凸缘号55~1 080
- GB/T 29911-2025汽车租赁服务规范
- 微生物培养基知识培训课件
- (正式版)DB42∕T 609-2010 《湖北省主要造林树种苗木质量分级》
- 保安机具管理办法
- 汽车零部件企业质量控制培训大纲
- 维修工突发故障应对心理
- 2024-2025学年湖北省武汉市江岸区五年级(上)期末数学试卷
- 物理化学下册全册配套完整课件
- 个人承包土地合同书
- 一元二次方程综合测试(中考真题)(含答案)
评论
0/150
提交评论