leilei4908 发表于 2015-9-7 15:17:16

请问怎么获取到所有diff_pair的vias

本帖最后由 leilei4908 于 2015-9-8 17:15 编辑

目的是检查同一位置diffpair的via是不是同一种(根据via的名字)


DiffPairs = axlDBGetDesign()->diffpair
foreach(DiffPair DiffPairs
    XNets = DiffPair->groupMembers
    foreach(XNet XNets
      if(XNet->type then    ;如果是XNets
            Nets = nconc(Nets XNet->groupMembers)
      else                           ;如果是Nets(Nets的type是nil)
            Nets = append1(Nets XNet)
      )
    )
    ......
)
详细内容就不展开了
注意如果DiffPair不含XNets,那么groupMembers指向的是Nets

vivienluo 发表于 2015-9-7 17:54:13

你要获取到差分的网络,然后获取网络上的VIA,再判断过孔是不是一致。

leilei4908 发表于 2015-9-7 18:21:09

vivienluo 发表于 2015-9-7 17:54
你要获取到差分的网络,然后获取网络上的VIA,再判断过孔是不是一致。

这样判断的话,数据处理量会很大
关键就是网络上的via怎么获取
首先获取所有DiffPair,然后依次获取XNet,Net,branch,children,最后根据children的objType是否是via获得所有的DiffPair的via
是不是这样的思路?
DiffPairs = axlDBGetDesign()->diffpair
XNets = car(DiffPairs)->groupMembers
Nets = car(XNets)->groupMembers
branches = car(Nets)->branches
children= car(branches)->children
objType = car(children)->objType
页: [1]
查看完整版本: 请问怎么获取到所有diff_pair的vias