EDA365电子工程师网

标题: 怎样用skill获得每个pin的网络名呢? [打印本页]

作者: btgcht    时间: 2009-9-7 08:50
标题: 怎样用skill获得每个pin的网络名呢?
不知道这个怎么实现...要能把pin和网络名对应上..
作者: lc_kang    时间: 2009-9-7 10:08
1# btgcht

我這個模組是輸入Net name 得到該Net對應的pin

procedure( cGetRefnum_simplenet(Netname)
prog( ()

  ;;輸入參數: Net name => Output與這條Net有關的Pin接點的List. Ex:Input:"MA_MD0" Output"U10.AC4" "DIMM1.5" "DIMM2.5")
  ;;運作方式: 撈Net的DBID, Branch的DBID, Children的DBID

  DBID_Net = nil
  refTable=makeTable("refTable" nil)
      refnumTable=makeTable("refnumTable" nil)
                     
      DBID_Net = car(axlSelectByName("NET" list(Netname)))
      
      brnch_dbids = DBID_Net->branches         ;Get the DBIDs of "branches" of the Net
      
      ;println(brnch_dbids)
      
      cont=length(brnch_dbids)
      
      foreach(elm brnch_dbids
      
       ;println(elm->children)
      
       foreach(elmkid elm->children            
           op = elmkid->objType       ;Get the object Type of each "children"            
           when(op == "pin"              ;The condition of the chldren's objType is "IN"
                ref = elmkid->component->name       ;*****Get the reference name of the component which is connected to the net*****                    
                num = elmkid->number                ;*****Get the pin number which is connected to the Net*****            
            
                refnumTable[Netname]=nconc(refnumTable[Netname] list(strcat(ref "." num)))
               
            );when
         );foreach
      );foreach
      
      ;println(refnumTable[Netname])
      
      return(refnumTable[Netname])
      
   );prog
);procedure
作者: btgcht    时间: 2009-9-7 10:14
多谢楼上,这样也应该够用了!!




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2