Home > Community > Forums > Custom IC SKILL > How to find instances connected to specific pin

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 How to find instances connected to specific pin 

Last post Mon, Jul 1 2013 10:27 PM by narendra046. 3 replies.
Started by narendra046 01 Jul 2013 05:13 AM. Topic has 3 replies and 503 views
Page 1 of 1 (4 items)
Sort Posts:
  • Mon, Jul 1 2013 5:13 AM

    How to find instances connected to specific pin Reply

    Hi All,

    In my schematic, test<0:10> pin is there. I need which instances(instance id's) connected to test<3> net. 

    It will be useful me in some other scricpts. Please help me on this by skill code.

     

    Thanks in Advance,

    Narendra 

     

    • Post Points: 20
  • Mon, Jul 1 2013 5:47 AM

    Re: How to find instances connected to specific pin Reply

    Navendra,

    I don't have any code to do this to hand, but if you can use IC616, you can probe the net using the probe command in the schematic editor, and then use the probes assistant to see what it is connected to. The Probes Assistant is new in IC616. You can also export a CSV file of everything that it is connected to.

    Probing you can do in any release though.

    Andrew.

    • Post Points: 20
  • Mon, Jul 1 2013 8:33 AM

    Re: How to find instances connected to specific pin Reply

     Hi Navendra,

     

    You could try something like this:

     

    targetPinName = "test<3>"

    cvId = geGetEditCellView()
    list_instId = list()

    foreach( instId cvId~>instances
      if( instId~>objType=="inst" && instId~>purpose=="cell" then
        connectionFound = 0
        foreach( connId instId~>conns
          if( connId~>net~>name==targetPinName then
            connectionFound = 1
          )
        )
        if( connectionFound==1 then list_instId=append(list_instId list(instId)) )
      )
    )

    • Post Points: 20
  • Mon, Jul 1 2013 10:27 PM

    Re: How to find instances connected to specific pin Reply

    Hi NiallDuncan,

    Thanks for your response. 

    If schematic have pins like, POR, EN, Edge, OT<3> , Test<0:5>.

    Your scricpt will works for only to find instances for POR, EN, Edge, OT<3>. This can't find for Test<3> or Test<2> etc.

    As per your basic thought, I modified this to work perfectly is--

    :***********************************************

    reqinstlist=nil

    targetpinname="Test<3>"

    cvId=geGetEditCellView()

    foreach(instId cvId~>instances

    if(instId~>objType=="inst" && instId~>purpose=="cell" then
    kk = nil
    kk1 = nil
    conn_names=nil
    conn_names = instId~>conns~>net~>name
    foreach(conn_name conn_names
    index= length(parseString(conn_name "<"))
    if(index >= 2 then
    kk = dbProduceMemName(conn_name)
    kk1=append(kk kk1)
    conn_names = remove(conn_name conn_names)
    ))
    conn_names = append(conn_names kk1)

    foreach(conn_name conn_names
    when(conn_name==targetpinname

    reqinstlist=cons(instId reqinstlist)
    )
    )
    )
    )
     

    ;**********************************************************

    Thank you 

    Narendra

    • Post Points: 5
Page 1 of 1 (4 items)
Sort Posts:
Started by narendra046 at 01 Jul 2013 05:13 AM. Topic has 3 replies.