• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. Get hierarchical net name of one terminal on all instances...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 15686
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Get hierarchical net name of one terminal on all instances of a particular cell

jorankin
jorankin over 14 years ago
Hello,

I am using Cadence IC6.1.4.500.5.

I have been tasked with the following:


1. Find all instances of a cell called, for example, "switch."

2. On each instantiation of "switch," do the following:

      a. find the terminal in<1>, measure the voltage on the net connected to that terminal

      b. save the net name (the hierarchical net name, not the name on that particular schematic ) of the net that is connected to that terminal in (a) above.

   I have tried to figure this out using the documentation for days, but I just can't seem to get anywhere. The following is what I've tried:

1. Use the schHiFind() function (and related settings) to select the cell. Then get information about the terminals to hopefully get the net information. The problem with this is that I can't seem to extract the net name the way that the calculator does. This is what I do:
_hiFormApplyCB(schSchFindForm) ; assuming form is setup correctly, tell the form to press ok

schFindSelectObject()   ;select the object as well as find it  geEnterAddInstProbe(hiGetCurrentWindow() )     ;probe the cell

OBJECT=geGetAllProbe(hiGetCurrentWindow())~>pathObjectName         ;tell me the instance of the probed cell

OBJECT=car(OBJECT)

PATH=geGetAllProbe(hiGetCurrentWindow())~>pathList              ;tell me the path to the probed cell

PATH=car(PATH)

NETS=css()~>terminals~>net~>name;    give me the net name of the nets connected to the cell I select   

ONOFF=nth(2 NETS)

PROBES=nth(1 NETS)

VEX=strcat("/" PATH "/" OBJECT "/" ONOFF)

VEX2=strcat("/" PATH "/" OBJECT "/" PROBES)

VDC(VEX); get voltage of switch terminal

Unfortunately, this doesn't work because what appears in the calculator isn't always what I get above. For example, above I might get "/I0/I2/I26" for PATH and "I105" for OBJECT. For PROBES I might get something like net061. Then if I do VEX=strcat("/" PATH "/" OBJECT "/" ONOFF), I get "/I0/I2/I26/I105/net061". Then, If I do VDC(VEX), I get VDC("/I0/I2/I26/I105/net061"). The problem with this is that when I use the calculator and probe the specific net of this specific instance, I get VDC("/I0/I2/net061") because net061 appears at upper levels of hierarchy. So my VDC(VEX) expression doesn't work...

So what I am wondering is if there is a way to get the net name and path at the highest level of hierarchy that it appears. My thought is that if the calculator can do it, I should be able to find a way to do it...

Another issue I have is that I am using the probe function and schFind-related functions to do my work. This is not optimal. The only reason I am doing this is because it has gotten me the farthest. If I want to do the above routine without a schematic opened (i.e., as a procedure in an OCEAN script), I am guessing that I'll be out of luck. So is there a different way to do the above?  

Thanks,

John
  • Cancel
Parents
  • markbeck
    markbeck over 14 years ago
    I think what you're looking for is: geGetAdjustedPath() This will allow you to feed it a lower level name and it will search for the top-most level name that should be probe-able. Mark
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • markbeck
    markbeck over 14 years ago
    I think what you're looking for is: geGetAdjustedPath() This will allow you to feed it a lower level name and it will search for the top-most level name that should be probe-able. Mark
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information