Cadence版图小技巧


写在前面

版图是一个非常吃经验的工作,如果一段时间不画版图,那么这个人的版图能力也会退化,并且由于先前绘制版图时那些不太好的回忆,会导致这个人对版图产生惧怕心理,不敢再涉足版图的工作,这里我就将我的一些经验的东西写在这里,供以后的我参考。

版图设计的小技巧

自动去除线头

这个功能我以前曾经再eetop上看到过,有人用skill脚本实现过,skill脚本通常来说会有一定的bug。但是我最近在画图的过程中,发现不用skill脚本也可以实现这一功能的办法,这里记录下来,以备之后绘制版图的过程中予以参考。

具体方法:

  • 先使用s快捷键进入拉伸模式
  • 再使用鼠标左键进行批量选择
  • 最后使用鼠标左键进行拉伸即可去除线头。

仅选中Selectability中生效的层的Via

这里问题主要存在Cadence中的一个可选项不可视的问题,这个问题我搜索了一下,最后找到了一篇对应的Cadence的帖子,链接如下,

https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/36593/selection-of-non-visible-object

其中,作者将问题描述为如下所示,

最终支持人员给出的解决方案如下,

简单来说,如果要实现我们想要的那个不选择看不见或者没选中的器件,需要使用下面的语句,

envSetVal("layout" "viaSelectionMode" 'cyclic "useCutLayers")

经过我实验过后,发现是可行的,只不过退出Cadence环境后,都需要重新进行输入操作,这样有些麻烦,应该可以在cadence中进行预先设置。本人修改了位于home下的文件.cdsenv,在其中加入了如下的条目

layout  viaSelectionMode    cyclic  useCutLayers

这样一来每次打开virtuoso的时候,就会自动将该环境变量进行赋值,就不需要每次都进行更改了。

自动添加pin与label

每次手动添加label与pin非常费力费时,这时可以考虑将这一部分操作进行自动化。

具体方法:

  • 点选Create栏目;
  • 点击Pin
  • 选择Auto
  • Pin Layer/Purpose一栏中,选择Use same layer as shape, select purpose中的复选框,将Purpose设置为pin
  • 选择Create Label,将复选框选为auto
  • 点选Option进行Label属性的设置;
  • 设置Height & Font为你想要的大小;
  • Text Options栏目中,选择Create As Label
  • Layer Name栏目中,选择Same As Pin;
  • Layer Purpose栏目中,选择Same As Pin

设置完以上之后,每次点击Create->Pin之后,再点击想要设置的线网形状即可,非常方便。

自动打过孔Via

这个功能在铺设地网和Power网的时候非常好用,基本上就是直接使用即可,一般来说我们在设计过程中一定会需要打过孔的情况,这时如果采用手动打过孔的方式,那么就会非常复杂和麻烦,这时候可以采用借助工具的方法。在这里不禁感叹一句,”懒惰就是发明工具的第一源动力”。Anyway,我在这里采用o快捷键进行过孔的添加。

具体方法:

  • 点击快捷键o后,点击Auto,进入过孔自动编辑页面;
  • Cut Class中,设置你想要的过孔形状,在Options中最好也设置成对应的;
  • 点选Prevent DRC Violations With Neighbors;
  • 点选Prevent Via Larger Than Overlap
  • 在你确定线网名称后,可以使用Connect Shapes On The Same Net选项,并输入你的网表名称,这样可以只打一种过孔。在铺设地网和Power网的时候非常好用,并且在后期打过孔时也非常好用。

以上过孔方法可以配合自动去线头的方法一起使用,效果极佳。

检查Marker报错的原因

有的时候,Marker会报错,这是由于ADEXL内部自动带的检查规则导致的,这时,你可能不知道怎么去看Marker报错的原因。你可以使用如下方法检查Marker报错的原因。

具体方法:

  • Verify -> Marker -> Explain

即可查看Marker报错的原因了,非常简单方便。

仅仅选择指定类型的对象

在Cadence中进行选择的时候,我们常常会发现选中的内容中包含了instances,往往这是我们不希望使用的,可以在Pallete中的Objects窗口中选择Objects。其中有不同对象的Visibility以及Selectability,读者可以通过这些设置进行选择对象的Filtering,如下所示

绘制地网&Power网

一块一块绘制的方法肯定是不可行的,非常浪费时间,我们这里采用Create -> Wiring -> Stranded Wire的方法,便可以快速绘图了。

以下表格给出了具体的线宽和线间距设置,按照此规定设置可以保证最终结果满足要求,并且在打过孔的时候不会出现问题。

Layer Name 线宽 线间距
M9 0.468 1.188
M10 1.8 3.6

拉伸到指定位置

我们在做拉伸的时候,经常会发现拉伸到指定位置比较困难,因为你要去对准某一个特定的位置,这时候需要放大仔细对准,这是非常不方便的。我们可以使用标尺先测量距离,再进行精确拉伸即可达到目的。

具体方法:

  • 使用s进入拉伸操作;
  • 使用k进行距离测量;
  • 使用TAB切换到dx或dy输入框;
  • 输入测量得到的距离,按回车之后即可;

文章作者: 南航古惑仔
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 南航古惑仔 !
  目录