• 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 Design
  3. Technology hierarchy error that causes objects can't be...

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 125
  • Views 4781
  • 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

Technology hierarchy error that causes objects can't be selected.

LoTJF
LoTJF over 10 years ago

Hi experts,

    The following warning messages lead to no objects are selectable, how can I solve this issue? Thank you in advance.

*WARNING* (TECH-2000178): A User Units conflict has been detected in the technology hierarchy.
It is caused by the following list of Libraries: gpdk090; cdsDefTechLib;
*WARNING* (TECH-2000178): A DBU per UU conflict has been detected in the technology hierarchy.
It is caused by the following list of Libraries: gpdk090; cdsDefTechLib;
*WARNING* (TECH-2000178): A User Units conflict has been detected in the technology hierarchy.
It is caused by the following list of Libraries: gpdk090; cdsDefTechLib;
*WARNING* (TECH-2000178): A Layer Number conflict has been detected in the technology hierarchy.
It is caused by the following list of layers: gpdk090/Nimp (#12); cdsDefTechLib/L12 (#12);
*WARNING* Technology database conflict: There are layer numbers which conflict in the incremental techlibs
*WARNING* (LE-104271): Assura is not available.

  • Cancel
  • LoTJF
    LoTJF over 10 years ago
    It's pretty strange, if I run techDB Checker at first, then it could be loaded normally.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    The fact that it thinks that cdsDefTechLib has a layer called L12 is a bit strange. I'm wondering if you've somehow ended up with a local definition of cdsDefTechLib which was used in a stream in operation (and hence layers have been created by that), or maybe that you've somehow overwritten the installation definition of cdsDefTechLib from whichever stream it is coming from.

    So check your cds.lib file to see if it is locally defined, and have a look in <ICinstDir>/tools/dfII/etc/cdsDefTechLib (you might want to check the similar location in the ASSURA installation too) to see if files have been modified there recently... at least more  recently than the other files in the installation.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • LoTJF
    LoTJF over 10 years ago

    Hi Andrew,

        Thank you for the help, I've fixed the L12 problem but there are still some problems going on here.

    I've re-decompress the gpdk045 tar ball it still shows some warning messages as below and once again if I use TechDB checker to check gpdk045 then it will work.

    *WARNING* (TECH-2000178): A DBU per UU conflict has been detected in the technology hierarchy.
    It is caused by the following list of Libraries: gpdk045; cdsDefTechLib;
    *WARNING* (TECH-2000178): A User Units conflict has been detected in the technology hierarchy.
    It is caused by the following list of Libraries: gpdk045; cdsDefTechLib;
    *WARNING* (TECH-2000178): A User Units conflict has been detected in the technology hierarchy.
    It is caused by the following list of Libraries: gpdk045; cdsDefTechLib;
    *WARNING* (TECH-2000050): Unable to set references on tech because conflicts would result in tech gpdk045.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • LoTJF
    LoTJF over 10 years ago
    It's so weird that if I use IC616_ISR8 then no gpdk complain but if I use IC616_ISR9 then there will be a lot of complaining.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    I still suspect that your cdsDefTechLib has got messed up somehow. Can you check:

    techIsDBUPerUUSet(techGetTechFile(ddGetObj("cdsDefTechLib")) "maskLayout")
    techIsDBUPerUUSet(techGetTechFile(ddGetObj("gpdk045")) "maskLayout")
    techGetDBUPerUU(techGetTechFile(ddGetObj("cdsDefTechLib")) "maskLayout")
    techGetDBUPerUU(techGetTechFile(ddGetObj("gpdk045")) "maskLayout")
    techGetViewTypeUnits(techGetTechFile(ddGetObj("cdsDefTechLib")))
    techGetViewTypeUnits(techGetTechFile(ddGetObj("gpdk045")))

    I'd like to see what they all report.

    Thanks,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • LoTJF
    LoTJF over 10 years ago

    techIsDBUPerUUSet(techGetTechFile(ddGetObj("cdsDefTechLib")) "maskLayout")
    t
    >
    techIsDBUPerUUSet(techGetTechFile(ddGetObj("gpdk045")) "maskLayout")
    t
    > techGetDBUPerUU(techGetTechFile(ddGetObj("cdsDefTechLib")) "maskLayout")
    160.0
    > techGetDBUPerUU(techGetTechFile(ddGetObj("gpdk045")) "maskLayout")
    2000.0
    >
    techGetViewTypeUnits(techGetTechFile(ddGetObj("cdsDefTechLib")))
    (("maskLayout" "micron" 160)
    ("schematic" "millimeter" "_def_")
    )
    >

    techGetViewTypeUnits(techGetTechFile(ddGetObj("gpdk045")))

    (("maskLayout" "micron" 2000)
    ("schematic" "inch" 160)
    ("schematicSymbol" "inch" 160)
    ("netlist" "inch" 160)
    ("hierDesign" "_def_" 2000)
    )

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Your cdsDefTechLib has had its tech.db overwritten somehow, so your installation is broken. It should return:

    techIsDBUPerUUSet(techGetTechFile(ddGetObj("cdsDefTechLib")) "maskLayout")
    nil
    techGetDBUPerUU(techGetTechFile(ddGetObj("cdsDefTechLib")) "maskLayout")
    1000.0
    techGetViewTypeUnits(techGetTechFile(ddGetObj("cdsDefTechLib")))
    nil

    It certainly shouldn't be returning 160 DBU per user unit for maskLayout.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • LoTJF
    LoTJF over 10 years ago
    Andrew, Thank you for prompt help. It does help. Wish you all the best.
    • 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