本文始于2024年3月,以Virtuoso 6.1.8-64b版本讲解"Copy"功能中各个设置项的作用,旨在让读者理解怎么合理并正确快速的进行Copy,并以范例进行演示。
先说重点:进行库或复杂较大模块的Hierarchy copy时,请先关闭所有打开的schematic和layout。
1. 不同Copy界面设置介绍
1.1 Library copy相关界面说明,如下图;
a:原始库
b:目标库
c:
Of New Copies Only:表示原始库中cell的库名称将更改为目标库的名称;
tips:如果原始库中的cell有隔库的调用情况,那么在使用Of New Copies Only方式时,不在原始库中的cell的库名称在copy到目标库中时还是维持之前库名称。
Of Entire Library:表示原始库中cell的库名称将更改为目标库名称;
按help文档中说,"Of Entire Library"也会同时更改隔库的cell中的库名称。但笔者目前测试发现与"Of New Copies Only"copy 方式效果一样。
如果不勾选,那么目标库中cell的库名称将维持和原始库的库名称一致。
d:表示检查数据库的相关设置,默认不勾选。
1.2 Cell copy相关界面说明,如下图;
a:原始库
b:目标库
c:框中相关功能解释
tips2:此项只有在Copy Hierarchical勾选时才起作用。
d:参考"Library copy相关界面说明"
另:笔者测试过程中发现在Library copy界面中的"Of Entire Library"功能没起作用,但在Cell copy界面中却起到了作用。蛮奇怪的
2. 范例演示
2.1 范例调用关系展示
创建2个库,调用关系如下图所示,通过不同的copy设置方式来观察对应的结果。
2.2 Library copy演示
分别使用"New Copies"和"Entire"方式Copy "KUAILE" 库,并观察"KUAILE_TOP"中调用cell的库名称的更改情况。
2.2.1 使用"New Copies"方式copy
可以看到当前库中的cell 的库名称已更改为新的目标库名,而隔库的cell "nor1" 的库名称未更改。
2.2.2 使用"Entire"方式copy
可以看到当前库中的cell 的库名称已更改为新的目标库名,而隔库的cell "nor1" 的库名称同样也没有更改。
当然要实现隔库cell的库名称更改,可以使用Change Library References...功能,见问题与讨论1。
2.3 Cell/View Copy
2.3.1 要copy的cell 只在当前库中进行copy
这个不多说,建议按如下方式设置copy即可
2.3.2 Copy cell 到一个新的库中,并将该cell中调用的所有cell一并copy到新的库中。
哇,可以看到真的只有"KUAILE_TOP"中所调用的cell被copy到新的库中了,并且新库中的各个cell的库名称都被自动更改为新的库名称了。此处应有掌声
如果还是按"XXX"场景中的相关设置,会发现所有view中调用的cell,都会被copy到新的库中。然而大多数的时候我们只想copy某个特定view下的cell。此时我们就需要用到更高级的Exact Hierarchy功能了。
故事还在继续...
让我们在"KUAILE_TOP"下再创建一个新的View-"layout_bk1",相关调用关系如下图:(注意看紫色字体增加的cell)
我们再来验证下,如果还是按"XXX"场景所示的设置进行copy,会出现什么情况。
可以看到"layout_bk1"中调用的"nandx2_new"和"nandx2_old",也一同被copy到新的库中了;并且在"layout"这个view中的"nor1"也被copy到新库中了。显然这不是我们想要的结果。
2.3.3 使用Exact Hierarchy功能进行copy
可以看到只有"layout" view下调用的cell被copy到新的库中了。
可以看到只有"layout_bk1" view下调用的cell被copy到新的库中了。
至此本文重点出现了:在整理库时,请使用Exact Hierarchy功能进行copy。
3. 问题与讨论
问题1:在LIB copy中,"Of Entire Library"并不能更改隔库cell库名称,那么有什么办法可以实现此功能呢?
Ans:请使用Change Library References...功能即可;
问题2:在"XXX"场景的设置中,如果Skip栏中的基础库不被跳过,那copy出来的又是什么样的呢?请读者自行尝试。
Ans:很显然基础库中的cell将被copy,大多数是最基本的器件,mos,mom等,这也不是我们想要的结果吧。
问题3:在Exact Hierarchy copy cell 界面中的Extra View一栏有什么其他作用吗?
Ans:Names 一栏所填信息和Types功能相同,两者二选一即可。
问题4:为什么在cell栏中启动的copy cell界面中,选择Exact Hierarchy进行copy时,却起不到和Copy Wizard界面中Exact Hierarchy同样的效果呢?(把下面答案栏选中即可见)
Ans:因为Exact Hierarchy是针对View来进行copy的,所以你需要在Copy view界面中,选择Exact Hierarchy才会有效果。
另外:推荐大家使用Copy Wizard进行复杂的cell,进行copy,因为它可以实时的看到具体copy的cell;而且在"To Cell" 栏中双击对应cell,它还能修改cell的名称,例如,后缀删除等,以便获得更清晰的cell名。(真的是太方便了!)
问题5:在2.2节"Cell Copy相关界面说明"中,有说"笔者测试过程中发现在Library copy界面中的Of Entire Library功能没起作用,但在Cell copy界面中却起到了作用。蛮奇怪的
",具体是怎么在Cell copy中起作用的,能举例说明下吗?
Ans:库a中有2个cell分别为b和c,其中c被b调用;如果c以"Of Entire Library"方式copy为c_1后,b中之前调用的c,也同时会被更改为c_1。
4. 参考
【1】Cadence Help.
*以上内容仅供个人学习,切勿用于商业!!!