• 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. hdbTraverse.il does not follow the TOP config view fields...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 143
  • Views 13891
  • 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

hdbTraverse.il does not follow the TOP config view fields.

iguerra
iguerra over 6 years ago

Hi,

I am using the hdbTraverse.il example in order to traverse a config view. However it seems that it always traverses the config view based on the "schematic" view and for the same cell to belong the config to. I mean, it waives the TOP library/cell/view fields of the config file.

Example 1: When I try to traverse mylib->mycell_1->config view by setting TOP fields as "mylib", "mycell_1", "schematic_2", the hdbTraverse.il always traverses "myilb", "mycell_1" and "schematic" (instead of schematic_2).

Example 2: When I try to traverse mylib->mycell_1->config view by setting TOP fields as  "mylib", "mycell_2", "schematic", the hdbTraverse.il always traverses "myilb", "mycell_1" (instead of mycell_2) and "schematic".

I have tried to debug a little more on hdbTraverse.il and I have the feeling that the line "hdbCreatePathVector(config)" is the one responsible of waiving the TOP fields, however I am not sure. Could you please provide some feedback about if is possible to traverse a config file by following the TOP config view fields?

Thanks and regards,

Ivick.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    Hi Ivick,

    This sounds a bit odd. It works fine for me - it's picking the correct library and view (I didn't bother testing the cell) - my config is in a different library, and I have two configs, one with schematic and one with schematic2 as the top cell, and both behave correctly when I run either:

    hdbtTraverseConfigStart("" " " "lib1" "top" "config" "Full" "yes" "CDBA")

    hdbtTraverseConfigStart("" " " "lib1" "top" "config2" "Full" "yes" "CDBA")

    The function hdbtTraverseConfig does look up the top lib/cell/view name:

    topLib = hdbGetTopLibName(config)
    topCell = hdbGetTopCellName(config)
    topView = hdbGetTopViewName(config)

    So I don't see why this wouldn't work. 

    Which IC subversion are you using? Are you directly using the hdbTraverse.il code from the tools.lnx86/hdb/examples/hdbTraverse.il dir in the installation (the code hasn't changed in a very long time - the code in the final ISR of IC5141 is the same as it is now in IC617 or IC618, but it did change some time during IC5141 - USR6 is the same, but USR1 is different - I don't have the intervening versions lying around).

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iguerra
    iguerra over 6 years ago in reply to Andrew Beckett

    Hi Andrew,

    I agree that the functions hdbGetTopLibName(config),  hdbGetTopCellName(config) and hdbGetTopViewName(config) provide the correct TOP values, however the traverse on the config file is always performed on the non-TOP values (I mean based on the config view lib/cell). Basically the following code is the one is not working on my side:

    hdbtTraverseConfigStart("" "  " libName cellName configName  "Min" "1" "CDBA");

    ...

    topLib = hdbGetTopLibName(config)
    topCell = hdbGetTopCellName(config)
    topView = hdbGetTopViewName(config)

    pathVect = hdbCreatePathVector(config)

    hdbPushPathVect(pathVectStack pathVect)

    rtn = hdbtTraverseView(newIndent step pathVectStack
    topLib topCell topView
    travType doOutput nameSpace)

    Even when the TOP values are being provided as arguments to the hdbtTraverseView procedure, at the end the result of the traverse procedure (rtn) is performed on the config view lib/cell data instead on the TOP lib/cell values of the config view. Please let me know if you think I am missing something.

    Thanks and regards,

    Ivick.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to iguerra

    Hi Ivick,

    Well, it works for me. I checked again using the same arguments you did ("Min" and "1" as opposed to "Full" and "yes" that I'd used), and it worked fine - in both cases I tried it with it was correctly traversing the lib/cell/view specified as the top cell in the config.

    You didn't answer my earlier questions:

    Andrew Beckett said:
    Which IC subversion are you using? Are you directly using the hdbTraverse.il code from the tools.lnx86/hdb/examples/hdbTraverse.il dir in the installation

    Maybe you should contact customer support - I can't see anything wrong here and have not come across anyone else reporting a similar issue.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iguerra
    iguerra over 6 years ago in reply to Andrew Beckett

    Hi Andrew, 

    My IC subversion is ICADV12.3-64b.500.19 and I am using the code from the examples directory.

    Thanks and best regards,

    Ivick.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to iguerra

    Hi Ivick,

    I cannot explain why (or how) this can behave as you say it does, so the best option would be for you to contact customer support as I suggested earlier. That way an application engineer can take a look at what you're doing and hopefully see and explain what is wrong.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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