把lib库下所有Schematic的oldcell的值赋给instance Name的完整skill脚本
时间: 2024-03-01 14:52:50 浏览: 153
以下是一个可能的完整的Skill脚本,可以实现将lib库下所有Schematic的oldcell的值赋给instance Name:
```
;打开库
(libcellview "lib")
;遍历库中的所有Schematic
(dolist (schem (cellviews "Schematic"))
;打开Schematic
(libcellview schem)
;遍历Schematic中的所有instance
(dolist (inst (instances))
;获取instance的oldcell值
(let ((oldcell (propval inst 'oldcell)))
;如果oldcell存在,则将其值赋给instance的Name属性
(when oldcell
(setprop inst 'Name oldcell))))
;保存并关闭Schematic
(savecell)
(closecellview))
```
上述脚本通过使用`dolist`函数遍历库中的所有Schematic,然后在每个Schematic中使用`dolist`函数遍历所有instance,并且获取每个instance的oldcell属性值。如果oldcell存在,则将其值赋给instance的Name属性。最后,通过使用`savecell`和`closecellview`函数保存并关闭Schematic。
相关问题
如何用skill脚本把lib库下所有Schematic的oldcell的值赋给instance Name
您好,可以使用以下的 Skill 脚本来实现您的需求:
```
// 获取所有的 Schematic
schematics = lib().schematics()
// 循环遍历每一个 Schematic
for schematic in schematics:
// 获取 Schematic 中的所有 Instance
instances = schematic.instances()
// 循环遍历每一个 Instance
for instance in instances:
// 获取 Instance 的 oldcell 值
oldcell = instance.cell("oldcell").value()
// 将 oldcell 值赋值给 Instance 的 Instance Name 属性
instance.set_name(oldcell)
// 保存修改后的 Schematic
lib().save()
```
这个脚本会遍历 lib 库下的所有 Schematic,然后将每个 Schematic 中的所有 Instance 的 oldcell 值赋值给 Instance 的 Instance Name 属性。最后,保存修改后的 Schematic。希望能够帮到您!
Schematic环境下如何用skill脚本把所有的oldcell的值赋给instance Name
在Schematic环境中用skill脚本将所有oldcell的值赋给instance Name,你可以使用以下代码:
```
; 获取所有的instance Name
(setq insts (cad::all-instances))
; 遍历所有的instance Name
(dolist (inst insts)
; 获取oldcell的值
(setq oldcell (getprop inst 'cell-name))
; 将oldcell的值赋给instance Name
(setprop inst 'cell-name oldcell)
)
```
上述代码会遍历所有的instance Name,将每个instance Name的cell-name属性值设置为对应的oldcell的值。请注意,上述代码假设你已经熟悉使用skill脚本和Cadence Virtuoso环境。如果你需要更具体的解答,请提供更多的上下文信息。
阅读全文