首页 > 其他分享 >[ Skill ] 如何获取库中的 top cell

[ Skill ] 如何获取库中的 top cell

时间:2022-08-13 20:15:45浏览次数:74  
标签:cvlist top cell 库中 cvtable cvId cv

https://www.cnblogs.com/yeungchie/

top cell 的一个特点就是没有被其他的单元所调用,下面举例获取某个库中的 top cell。

1. 获取库中所有单元的 cvId

结果赋值给 cvlist 变量

libName = "YOURLIB"
cvlist = nil
foreach(c ddGetObj(libName)~>cells
    foreach(v c~>views
        cvlist = cons(dbOpenCellViewByType(libName c~>name v~>name "" "r") cvlist)
    )
)

2. 记录有被调用的 cvId

用一个 cvtable 来记录 cvTable,key 为 cvId,被调用过的 value 值为 t

cvtable = makeTable("" nil)
foreach(cv cvlist
    foreach(i cv~>instances
        cvtable[i~>master] = t
    )
)

3. 查看 top cell

在 cvtable 中遍历 cvlist, value 值为 nil 的就是 topcell 的 cvId

setof(cv cvlist !cvtable[cv])~>cellName

标签:cvlist,top,cell,库中,cvtable,cvId,cv
From: https://www.cnblogs.com/yeungchie/p/16577981.html

相关文章