实操1 设计工具的使用(下) – 物理验证
设计工具使用的前两部分主要介绍了Virtuoso模拟设计平台中的电路原理图制作工具 Composer, 用测试台模拟验证的工具 Spectre;以及绘制和编辑版图的工具 Virtuoso; 这一部分主要介绍平台中的设计验证工具Calibre,包括设计规则检查 DRC ( Design Rule Check),版图和电路原理图对比 LVS ( Layout Vs Schematic), 寄生参数提取 (RCxt),后仿真等;Calibre是另一家EDA 公司Mentor 的工具,作为事实上的业界标准,在这里嵌入到Virtuoso模拟设计平台中,因此这种组合可以认为是模拟设计工具的最佳组合;事实上,Cadence也有自己的设计验证工具,Dracula 和 Diva,也可以用在该设计平台中,但这种组合的频率远远低于和Calibre的组合。 大家从具体的操作演示中可以看到,即使是不同公司的工具,它们在该平台上也实现了无缝连接,随时切换的,并且你感受不到工具之间的切换。
- 设计规则验证 ( Design Rule Check)
首先进入 icfb,打开 “Tools” 的下拉式菜单, 点击 “Library Manager”, 选择各器件 (Instance) 的窗口打开,如图2。
图 1 打开 “Library Manager”
找到版图设计文件所储存的路径,在 “View” 栏目,显示同一个文件名有两种格式:“layout” 和 “Schematic”, 前者是版图文件,后者是电路原理图文件,选择版图文件。
图 2 打开一个已储存的版图设计文件
首先显示出来的是符号图,如图3,其中有些连线及管脚名称也直接显示出来;按键盘上的快捷键 “Shift” + “f”,显示出设计好的版图,如图4。
图 3 打开的版图符号图
图 4 切换到版图形式
点选上方工具栏的 “Calibdre” 显示出下拉式菜单,该菜单所有命令都是与设计验证有关的。点击 “Run DRC”,新的窗口弹出,如图6。
图 5 验证工具 Calibre相关的命令
图 6 Calibre运行集 (Runset) 所在的位置 ( 或加载Calibre运行集)
接下来看看 DRC 验证输入文件来源,是从版图阅读器导出, 其数据格式是“ db”, 该文件名是 “ INV_1115.calibre.db”, 这些都是工具自己完成的,如图 7.
图 7 DRC 验证输入文件来源
下面是输出 “Output”,显示DRC 验证输出文件名称和所在位置;
图 8 DRC 验证输出文件名称和所在位置
下面是 Calibre DRC 运行相关的配置,环境等选项 “Run Control”
图 9 DRC 运行相关的配置,环境等选项
接下来的 “Transcript” 是工具运行时相关命令集,过程等的显示窗口;接下来启动 Calibre,点击 “Run DRC”, 弹出提示窗口问是否覆盖掉以前运行的文件,点击 “OK”开始 DRC 检测, 如图10。
图 10 运行DRC 检测
DRC 运行完毕后,工具自动显示出运行结果,包括检测了哪些DRC 项目,该项目的检测结果是通过 ( 绿色的勾 ) 还是没通过 ( 红色的叉)。
图 11 显示DRC运行结果
2. 根据DRC报告结果修正版图
我们关注的是没通过设计规则检测的项目,没通过的原因,以及在版图中的具体位置,这样方便我们修改,因为所有 DRC 检测项目必须都通过,代工才能接收这个设计,除非是代工的相关工程师 ( 对应工艺线PIE,Process Integration Engineer ) 同意豁免该项目 (Waive)。
因此我们接下来只显示没通过设计规则检测的项目:点击图 12 的筛选键 (漏斗型图标 Filter),出现一个下拉式选项,选择 “Not Fixed”(没有修好的) 并单击。
图 12 只显示没通过设计规则检测的项目
图 13显示出所有没通过设计规则检测的项目,右边窗口显示有几个这样的错误,窗口最下方显示对应的设计规则;
图 13 没通过设计规则检测的项目
点击右侧窗口红色数字标号 (表示第几个这样的错误),右下测又分出一个窗口,显示该错误的坐标,如图14,这时如果切换到版图窗口,工具自动放大该位置,并有相关提示。
图 14 没通过检测项目在版图上的位置
点住某个点 ( 对应的数字,如图13 的 “1” ) 双击,回到版图窗口,该点对应 DRC 报错的位置已显示出来,如图 14,接下来修正DRC 错误;
图 15 放大并显示DRC错误在版图上的位置
图 16 DRC检测汇总报告
图 17 DRC检测脚本
3. 版图和原理图对比检查 ( LVS, Layout vs Schematic)
接下来做版图和原理图对比检查 (LVS, Layout vs Schematic),其目的是检查电路原理图和画出来版图的一致性,各端点,引线命名的一致性 ( 工具默认相同名称的引线在物理上是相连的,即使在原理图或版图上没有连接),还有短路,断路等电气检查,这些问题在 DRC 检查是发现不了的。
操作过程和 DRC 检测一样,首先在版图编辑窗口下点开 ” Calibre” 下拉式菜单,点击 ” Run LVS”,出现如图18 的窗口,并自动弹出指令集所在的位置。
图 18 版图和原理图对比检查窗口
确认指令集所在的位置无误后点击 “OK”,该窗口消失;接下来检测输入文件,确认版图和原理图文件名,所在目录是正确的;版图和原理图文件名不一定要完全一致,有时候一个原理图画出数个不同版本的版图,这样两者的名字就不相同;如图19.
图 19 版图和原理图对比检查输入部分
注意网表的格式为 Spice, 该网表是直接从原理图编辑器提取的,如图 20.
图 20 版图和原理图对比检查输入部分
检查输出报告的名称和所在目录,如图21;实际上检测结果是在 LVS 完成后自动打开的,因此这一步骤可以忽略。
图 21 版图和原理图对比检查输出部分
LVS 选项部分可以将电源,地的名称输进去,也可以定义 LVS 在遇到什么问题时自动终止;对于一个实际的设计,电路都很大,LVS 运行时间很长,遇到某些致命问题,如电源,地网络错误,LVS 一定通过不了,为了节省时间,让 LVS 运行终止,先把致命问题解决,然后再运行,如图22 的选择;Avort LVS on power/ground net errors 遇到电源,地网络错误运行终止。
图 22 版图和原理图对比检查的选项
在 ” Gate” 这一栏目,勾选一些选项,指引工具在遇到 虚拟器件 ( dummy device) 时不检查,如图 23.
图 23 版图和原理图对比检查的选项
ERC 属于电气检查,查看版图有没有断路,短路等,其检测报告随 LVS 的报告一起在运行结束后自动弹出。
图 24 版图和原理图对比检查的选项 – 电气规则检测
” Transcript” 窗口显示运行过程,结果等信息。点击 ” Run LVS” 启动运行,工具弹出一个窗口问是否覆盖上一次运行的结果,一般选择 ” OK”,不需要保留上一次运行的结果,如图 25.
图 25 运行版图和原理图对比检查
运行结束后, 工具自动弹出检测报告,如图26。
图 26 版图和原理图对比检查报告
如果检测通过,会给出一个笑脸,没通过会给出相应的提示,如图27,如错误原语,发生位置,个数等,接下来就要根据提示找到对应的错误并修复,直到通过,
图 27 ERC 检测错误提示
4. 寄生参数提取 (RC Extraction)
之前电路原理图的仿真只考虑了器件本身,并没考虑器件和连线本身的寄生电容和电阻,以及电感对设计的影响,因此在设计的最后一步,要把所有的影响都考虑进去,做一次仿真,如果通过了该设计才算通过,没通过就要回过头来找原因,修改设计直到通过;寄生参数提取就是利用工具把寄生电容和电阻等计算出来的过程。
操作过程和 DRC 检测类似,首先在版图编辑窗口下点开 ” Calibre” 下拉式菜单,点击 ” Run PEX”,出现如图28 的窗口,并自动弹出指令集所在的位置。
图 28 寄生参数提取的窗口
寄生参数提取规则文件,和 LVS 的规则文件类似,只是把参数提取的选项开关打开了,增加了一些寄生电容电阻的库。
在输出部分有一些选项,其中 ” R+C+CC” 是指提取的项目,如只提取电容电阻,或提取电容电阻和寄生电容等;对于速度不是很高的电路,电感的影响很小,一般不提取以提高运行速度,如图29.
图 29 寄生参数提取的选项
点击 “Run PEX”, 工具弹出如图30的对话框
寄生参数提取完毕后,弹出一个保存Calibre View的窗口 (对话框),如图30;
“Cellmap File” 中的 “Calview.cellmap” 是库文件提供的,提供各种器件的映射;
文件名称 “Calibre View name” 默认是 “Calibre”,可以做任意修改。
通常选择原理图的类型来查看,比版图类型查看要方便一些,因此这里的 “Calibre View Type” 选择 “Schematic”;
其余的都选用默认值。
点击 “OK” 后 Calibre View 就会按照上述的选项保存下来;
图 30 寄生参数提取的窗口
Calibre View 保存下来后,弹出如图 31 的对话框,告诉你有几个错误 ( Error), 几个警告( Warning);通常Warning 不用管,但Error 一定要解决,可以在 Transcripts 中查看错误的原因和相关位置,如图32;修正后再从头来过。
图 31 寄生参数提取完成后的对话框
图 32 Transcripts窗口Warning 和Error 的提示
在 ” Librarey Manager” 中就可以查看到带有寄生参数的设计文件,其视图格式 View 是 “Calibre”;如图33.
图 33 带寄生参数的设计文件
点击打开该文件,显示如图 35 的图像;
图 34 打开带寄生参数的设计文件
该文件 (以电路原理图的形式) 分为两部分,上半部分就是原来的电路原理图,下半部分是提取出来的寄生电容电阻,如图35;
图 35 寄生参数提取完成后的原理图窗口 (带寄生参数的设计文件)
将寄生电容电阻图放大,可以看出这些都是单个的电容或电阻,如图36; 到了这里,寄生电容电阻的提取就完成了,接下来是把这些寄生电容电阻带入设计中做仿真验证。
图 36 提取到的寄生电容,寄生电阻放大
4. 后仿真
后仿真和前仿真在原理上和运行方式上都是一样的,只不过前仿真没有考虑寄生电容,寄生电阻,而后仿真寄生电容,寄生电阻等带入到设计中,以检验在该情况下设计是不是还能通过仿真;
在测试环境下,打开 ” Setup” 下拉式菜单,点击 ” Environment”, 如图37.
图 37 修改验证环境
修改验证环境,如图38所示,将 Calibre 加在 sch 和 schematic 两个词之间,这样在运行验证时,集成环境就会调用 Calibre生成的子电路。利用带有寄生电容,寄生电阻信息的子电路图进行仿真验证,就是所谓的后仿真,如图37。
图 38 修改验证环境,将 Calibre 加在 sch 和 schematic两个词之间
之后的操作过程以及查验等和之前的仿真 ( 前仿真) 完全一样,这里就不重复了。
后仿真的操作,仿真报告,图示的解读分析和之前电路原理图的完全一样,区别只在于后仿真的对象,原理图或版图已经添加了寄生电容电阻,把它们对电路的影响考虑进去;
对于像我们这里举例的反向器这个简单的电路,寄生电容电阻的影响极小,前仿后仿基本看不出变化,因此这里只是把后仿的方法和原理介绍一下;实际设计的电路都是复杂的电路,并且线宽越来越窄,这样才能有市场竞争力,寄生电容电阻的影响很大,前仿后仿的差别也很大,在后续课程中,我们会结合合适的设计案例对这部分内容进行详细讲解。
注意前仿通过的设计后仿不一定通的过,只有后仿通过了,这一设计才算完成。