大概回顾一下 目前的工作 是更改一版 lvs rule 用来识别我们自己设计的器件,目的是可以替换pdk中的某个器件。
例如我的pdk中给了 A 器件 ,我想用手里的 1 的layout去替换 A的layout ,前提是 1和A 两个器件是有关联的 不能差别太大,要不然没有参考的东西我也没试过。
好啦 进入正题 可能是太闷了 总是想说说废话。
- 看A 里面的信息。
习惯使我先看已知的东西,所以create 一个testBench 库 里面调用 A 的cell 做一个schematic 以及layout 先过一遍 lvs 看会报什么。





OK A 器件 过程很顺利 基本上没有问题。
当然了 之前会报

纯属是因为 我懒 没有将label 放到 对应的层上面,
怎么确定label 用的哪层,又打到那层呢? 很简单 他自己生成的layout 时候 会产生label ,以及PIN ,你对应放进版图中 且 Q 一下 就知道用的什么层 打的label 放到哪层了。

比如我这个 label 那么就是 可以看到是 用 MET1 text 层打的 。
后面添加的器件 1 中 也要对应的label 层打。
2.开始了 添加器件 1
目前给我一份 GDS ,我可以生成1 的layout;
这个原始1 器件 cell 保存。
1.避免有错误 我新建一个cell 调用两个 A 的symbol 打Pin ,用这个schematic 生成layout 因为会生成两个 A 的layout 所以我将其中一个A删掉, 换成1 的layout 并添加好label Pin .
2.后面再说怎么改的lvs rule,先说一下页面 简单的东西。
3.修改后好 lvs rule 打开 calibre run lvs 看结果



注意 :会导出两个 A 那么我们需要将其中一个 A 的名字换成 1 的名字。


虚拟连接 连接一下。

剩下的 应该是面积的问题了 ,但是不在我替换的考虑范围内,因为我只想让 lvs 能够识别1 且替代 A 就可以了。
- 更改rule
一直不想动手 太多 又简单又麻烦。
首先 将A 1 两个layout 放在一起 ,便于比较
其次打开 LVS rule找到 ERC rule 的地方 可以用ERC 便于我们对比(在 LVS 验证中,ERC 用于补充设计规则检查(DRC),确保电路不仅几何正确,电气上也合理。)
添加两句 :框住的地方

在 lvs rule 找到 A器件的定义
因为1 器件是与A 有联系且准备替换成A 的 所以我将A 器件的层次 与1 器件进行比对,删减更改
更改好后去
为了直观看到我们更改的是否有问题,在下一行加入
copy_xx { copy xx}
接着
run lvs > ERC Results 查看 如果带有 x 说明已经被识别; ✔则是没有被抓到 在进行Highlight
如果直接点击 右键 highlight 则 layout 可能只放大局部
所以要点击 菜单栏上的 Highlight > No View Change


如果抓取正确 那么可以继续按照这个思路进行更改。
