分享

模拟集成电路设计流程(5)——版图验证

 金刚光 2023-07-15 发布于辽宁


模拟集成电路设计流程(5)——版图验证

版图设计过程需要遵循一定的规则,否则设计的版图代工厂不具有加工能力,那么芯片是无法被制造出来的。

版图设计中遵守的规则通常叫做设计规则(Design Rule), 在版图设计过程中需要不断进行设计规则检查,这个过程叫做DRC(Design Rule Check), 只有符合设计规则的版图,工艺厂才能保证芯片能被正确生产出来。

另外,版图完成之后如何确定版图中连线与原理图中的设计是一致呢?这一点早有考虑,版图设计完成之后有专门的工具进行这一项检查,设计中把这一流程叫做LVS(Layout Versus Schematic).

其次,版图后仿真需要工具将版图中的寄生参数提取出来,并生成相应的网表或者包含寄生参数的电路,供设计者仿真验证,这一流程叫做寄生参数提取(Parasitic Extraction).

集成电路版图设计正是由于以上验证流程和验证工具的存在才得以顺利进行,接下来小目同学和大家一起回顾模拟集成电路设计中版图验证的内容。

版图验证环境准备

版图验证包括DRC、LVS等流程是版图设计中重要的流程,需要软件支持,同时也需要代工厂提供的规则文件配合。

实现版图验证功能的软件有很多,常用的有Cadence公司的Assura套件,集成在Cadence版图设计软件中,调用简单方便,另一个是Mentor旗下的Calibre套件。

一般PDK内提供的规则文件也是会同时支持两家的工具,由于小目同学接触Calibre工具多一些,而且这也是被大部分公司认可的工具,所以后面的内容会以Calibre为例做一些内容回顾。

为了方便,可以在Cadence界面集成Calibre接口,实现这个功能的脚本在Calibre安装目录内提供。为了在Cadence启动的时候就加载Calibre工具,需要修改启动目录下的.cdsinit文件,不知道大家是否还记得这个文件,在介绍Cadence环境的时候有提到过,打开.cdsinit文件,在文件末尾添加一句话:

load("<Calibre install_dir>/lib/calibre.OA.skl")

对于版本比较低的Cadence环境,使用下面这句话:

load("<Calibre install_dir>/lib/calibre.4.3.skl")

其中<Calibre install_dir>表示Calibre安装目录。重新启动Cadence软件,打开反相器版图,可以看到软件工具栏会多出Calibre接口,通过这个可以直接启动Calibre. 用户也可以在Linux终端输入:calibre -gui, 启动Calibre图形界面。

配置好软件之后,再去PDK内找到需要用到的规则文件,不管是DRC、LVS还是PEX都需要代工厂提供的一套规则文件,小目同学需要使用的规则文件在PDK安装文件夹内:<PDK install_dir>/Calibre路径下,如下图所示,包含需要的所有规则文件。

Calibre DRC流程

DRC验证版图中层之间距离、线宽、过孔距离、过孔大小等与制造工艺相关的内容,一旦版图中有不符合规则的设计,DRC结果中就会显示出违反规则的具体内容,双击结果可以直接在版图中高亮出违反规则的区域

在版图设计界面,工具栏内选择:Calibre->Run nmDRC, 稍后会运行Calibre DRC工具。弹出Load Runset File界面时选择Cancel, 这个是软件要求载入设置,暂时不需要。

Calibre运行DRC前需要一些设置,包括规则文件、结果保存路径、如何输出信息等,小目同学的设置内容如下图所示。

DRC运行完查看结果,根据DRC结果修改版图。小目同学上面画的反相器版图DRC结果中只报出了关于密度的问题,这个是很多DRC都会检查的内容,因为在集成电路加工过程中密度问题会带来良率问题,在底层模块可以先忽略密度问题,修改其他DRC问题,直到完全满足DRC要求。

各位同学也可以在设计中尝试把金属靠近或者改变过孔大小,对照一下相应的DRC结果,熟悉设计工艺。

Calibre LVS流程

修改完DRC问题之后紧接着是LVS, 这项内容检查版图连线与原理图连线是否一致,确保版图设计中所有连接都与原理图一致。LVS也会检查一些版图内阱电位连接是否正确等人工不容易检查出来的连接错误。

在版图设计界面,工具栏内选择:Calibre->Run nmLVS, 稍后会运行Calibre LVS工具,弹出Load Runset File界面时选择Cancel。

Calibre运行LVS前需要设置规则文件电路网表输入结果保存路径如何输出信息等,小目同学的设置内容如下图所示。

运行LVS与DRC有一个地方不同,在运行LVS的时候输入文件中,除了选择版图输入之外,还需要选择网表输入,在LVS运行界面:Inputs->Netlist,网表格式选择SPICE,之后可以有不同选择:

  • Export from schematic viewer:表示网表内容直接从原理图提取,这是比较常用的方法。
  • 选择网表文件:也可以在下方对话框内选择准备好的网表文件,比如:HSPICE仿真时抽取的CDL网表,这种方法实现起来更加灵活。

如果版图和原理图信息不一致,可以根据LVS结果提示修改连线,比如版图中器件尺寸和端口信息与原理图中不一致时:

有一点需要提示刚接触版图设计的同学,LVS中会有ERC的结果,在LVS通过之后,也需要留意ERC是否满足规则

Calibre PEX流程

版图通过所有的DRC和LVS之后,下一步的工作是版图后仿真内容,版图后仿真与实际电路表现更加接近,通过版图后仿真与原理图仿真结果的对比可以发现版图设计中存在的一些问题,及时修改版图,保证流片结果正确。

寄生参数提取可以将版图中寄生参数提取成对应网表或者其他CellView供设计人员仿真使用,从工具中也可以直接看到版图中节点的寄生参数,以便及时修改版图设计中不合理的地方。

在版图设计界面,工具栏内选择:Calibre->Run PEX, 稍后会运行Calibre PEX工具,弹出Load Runset File界面时选择Cancel。

一般设计规则都要求运行PEX时首先运行LVS, 因为只有电路连线与原理图一致之后提取出来的后仿文件才有意义,否则对电路仿真没有任何用处。当然,在代工厂提供的设计规则文件中也有相应的选项,用户可以选择不运行LVS,直接运行PEX.

Calibre运行PEX前需要的设置有很大一部分与LVS设置相同,只是在输出文件类型上用户可以根据自己的需要灵活选择,方便自己的仿真即可,小目同学的设置内容如下图所示。

在运行PEX的时候常常需要选择抽取寄生参数的类型,到底是该选择R+C还是选择R+C+CC呢?不同类型表示抽取不同的寄生参数,可以根据电路特性选择:

  • 带R的类型:表示抽取的寄生信息中包含连线的电阻信息,通常对电阻敏感的电路在抽取寄生参数类型时需要包含R参数。
  • 带C的类型:表示抽取的寄生信息中包含节点的本征电容信息,对电容敏感的电路在抽取寄生参数类型时需要包含C参数。
  • 带CC的类型:表示抽取的寄生信息中包含节点之间的耦合电容,对电容敏感的电路在抽取寄生参数类型时需要包含CC参数。

一般认为包含越多的信息预示着与实际电路更接近,但是同时也需要更多的仿真资源和更久的后仿真时间(注意:R+C的类型也还是抽取节点间的耦合电容的,只是通过换算将耦合电容等效在本征电容上

有经验的设计者会根据电路的特性选择抽取不同的寄生参数类型,当然对于规模很小的电路直接选择R+C+CC的类型免除其他考虑。

除了注意选择不同的寄生参数提取类型外,在使用Calibre PEX工具的时候还可以根据后仿的需要选择不同的文件输出类型

  • CALIBREVIEW:Calibre抽取网表后反标到生成的view中去,之后调用生成的view进行后仿。这个是使用spectre仿真器最常用的方法之一。用这种方法进行后仿可以与前仿一样在原理图中进行电路分析。
  • HSPICE:抽取HSPICE格式的后仿网表,可以使用HSPICE仿真器仿真。
  • SPECTRE:抽取SPECTRE格式的后仿网表,可以使用spectre仿真器仿真。

其他格式的后仿文件小目同学没有接触过,所以不是很清楚。在实际使用中只需要抽取一种格式的文件进行版图后仿真即可。

不同格式的后仿文件如何实现仿真在后续的内容里会介绍,这里首先介绍如何抽取上述三个格式的后仿文件

生成CALIBREVIEW格式:设置完成规则文件和输入、输出文件等,选择网表格式为:CALIBREVIEW, 然后运行PEX.

之后会弹出Calibre View Setup界面, 在其中选择PDK中提供的calview.cellmap文件,确定即可生成相应的后仿文件,在Library Manager中可以查看到生成的cellview。

设置生成SPECTRE格式的后仿文件
选择PDK内提供的calview.cellmap文件
设置生成SPECTRE格式的后仿文件

生成HSPICE格式: 设置完成规则文件和输入、输出文件等,选择网表格式为:HSPICE,然后运行PEX.

设置生成HSPICE格式的后仿文件
查看生成HSPICE格式的后仿文件

运行完PEX后会生成三个文件,其中以netlist为后缀的文件是主网表,描述器件连接关系;以pex为后缀的文件包含连线电阻以及节点的对地电容;以pxi为后缀的文件包含不同连线之间耦合电容。

生成SPECTRE格式: 设置完规则文件和输入、输出文件等,选择网表格式为:SPECTRE, 然后运行PEX.

设置生成SPECTRE格式的后仿文件
查看生成SPECTRE格式的后仿文件

运行完PEX后同样会生成三个文件,内容与前面的文件一致。可以把不同格式的文件保存为不同文件名,后仿中不同的仿真器需要调用不同的后仿文件

简介

作者:小目(wx:student_xiaomu)

微信公众号:ICSkillSharing,是一个共同学习的平台,分享最新IT类资讯、原创内容、IC中脚本语言的教程与使用心得、模拟IC新手在学习过程中遇到的问题等,与大家一起成长进步!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多