本人实际测试了Cadence Virtuoso 6.1.7, 经历过DRC报错率高达40%的那般具体实际操作时所碰到的难点, 新手依照步骤逐个去操作, 便能够轻松地躲开这类常见的问题。进行版图……
本人实际测试了Cadence Virtuoso 6.1.7, 经历过DRC报错率高达40%的那般具体实际操作时所碰到的难点, 新手依照步骤逐个去操作, 便能够轻松地躲开这类常见的问题。进行版图绘制可不是像画画那样, 每一条线都具备电气属性, 要是参数设置错误, 流片回来得到的就是废掉的硅片。好多初学者认为只要画得好看就可以了, 实际上寄生参数提取的精确性才是决定芯片性能的关键所在。今日不谈虚幻不实的内容, 直接呈上实用的干货, 将我于流片线上历经摸爬滚打所总结出的经验, 细化剖析后讲予你听。
Cadence版图DRC报错太多怎么办
DRC也就是设计规则检查, 它是版图的生死攸关界限, 其中报错数量多并不意味着你绘制版图时出现了错误, 常常是由于环境配置没有弄好或者层叠定义不够清晰所导致的, 新手最容易犯下的错误是盲目去修改报错提示, 却不去查看底层规则, 我们需要构建起一套标准格式的检查流程, 而并非被动地遭受挫折。
把第一步设定为, 去配置LVS与DRC规则文件, 将Virtuoso界面打开, 点选File再点Design Libraries, 随后进入Library Manager;创建一个名为“my_rules”的Library, 类型选Technology File;在Technology File编辑器里, 把Foundry所提供的*.rdb文件导入进去。关键动作是, 于Rule Editor当中, 把Design Rule Check选项卡之下的全部Layer的Width参数查看核对一番, 确保跟工艺库文档全然一致, 并且将Design Rule Check选项卡之下的所有Layer的Spacing参数查看核对一遍,确保与工艺库文档完全相同, 不要去信赖默认值, 一定得手动把它覆盖成为Foundry最新手册的数值。
【新手需防伪】常见报错情形: DRC运行完毕后即刻跳出数量众多的错误, 甚而致使软件出现卡顿情况。核心出错缘由: 规则文件里涵盖了无效层或者已被废弃的工艺层, 而且没有进行屏蔽操作。快速解决方式: 在Rule Editor内, 找到Status那一列, 把非关键层的Status改成“Don’t Care”, 仅仅保留核心金属以及通孔的规则, 大幅度削减无效报错, 提高运行速度。
第二步, 将标准单元区域予以划分然后进行布线操作。运用Box工具把核心电路区域绘制出来。对于金属连线而言, 在务必使用Route -> Automatic命令之前, 要先对Layer Stack进行设置。在Setup -> User Preferences -> Routing当中, 把Preferred Layer设置成Metal1, 将Jump Over via设置为Yes。起关键作用的参数的最佳推荐数值是: Via Enclosure设置成为0.03um , 原因在于: 这个数值是工艺所允许的最小的且具有安全性的余量, 它并不仅仅能够保障接触时的可靠性, 还能够使其所占据的空间达到最大化的被利用状态, 要是小于这个数值的话极容易致使接触电阻变得过大, 而要是大于这个数值的话就会造成面积的浪费。
第三步, 去执行DRC检查, 点击Tools, 接着点击 -> DRC, 然后选择刚才配置好的“my_rules”文件, 运行之后, 查看Summary窗口, 要是有Error出现, 双击错误位置, 软件就会自动高亮显示违规区域, 在这时不要急着去改形状, 先看报错代码, 要是是Min Width报错, 那就表明线太细, 要是是Spacing报错, 那就表明间距不够。
【新手需防】常见报错情形: 修改过后再度运行DRC, 错误数量不但没减少, 反而增多了。核心出错缘由: 局部的修改引发了一系列连带反应, 像是移动了一根线致使相邻线的间距不够。快速解决方式: 运用DRC报告里的“Find Next”功能, 依照顺序依次修复, 每修复一处便保存一回, 防止累积错误而无法回溯标点符号。
Cadence版图与原理图不一致怎么解
对版图与原理图一致性进行检查的LVS, 属于验证版图是不是忠实还原电路设计的最后一道防线, 好多人觉得画完图就结束了, 事实上LVS失败才是常见的状态。
这里给出两种实操方案的对比: 方案A称作“逐层比对法”, 也就是手动于原理图与版图之间进行切换, 进而核对节点连接;方案B是“自动LVS法”, 借助Cadence LVS引擎实现自动匹配。不同场景下方案的取舍逻辑为: 针对简单的小模块(像反相器), 能够采用方案A快速验证, 以此节省时间;对于复杂的大模块或者混合信号电路, 必定要使用方案B, 这是由于人工比对极容易遗漏隐秘的连接错误, 自动化引擎能够发觉人眼看不到的拓扑差异。
高频率下, 完整地出现报错了, 情况是, LVS返回了“Net Mismatch”这个内容, 或者, 返回了“Device Mismatch”这个情况。一站搞定流程如下: 其一, 查看原理图里器件的模型名称, 看其与版图当中的Device Name是不是绝对完全一样(严格区分大写与小写喔);其二, 证实版图里边的Substrate接触连接情况, 是不是已连到准确无误的电位(一般来说是GND或者VDD这个电位);其三, 如果使用了IPCore, 要保证其Wrapper层的引脚定义, 与原理图是相互呼应对应的;其四, 再次运行LVS, 并且在Report里把预期出现的差异项目过滤掉(就像是保护环一类的)。
针对新手需避开的坑, 存在这样常见的报错显现情况, 即LVS通过了, 然而仿真得出的结果却是异常的。其核心出现错误的缘由在于, 尽管拓扑是正确的, 可是寄生电容却没有被提取, 或者是没有在后仿真当中加入进去。而快速的解决办法是, 一定要进行PEX也就是寄生参数提取, 把提取之后的网表运用到后仿真里, 以此来确保时序以及功耗评估是准确的。
用在标准CMOS工艺的模拟电路版图设计时存在适用之处的这种方法, 对于RF电路或者特殊工艺节点而言, 或许得引入电磁场仿真工具来开展额外验证, 要是碰到因多层厚金属引发的电流密度问题, 提议转而运用专用IR Drop分析工具去做补充检查。
微信扫一扫
还没有评论呢,快来抢沙发~