• 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. CDF issues

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 126
  • Views 16417
  • 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

CDF issues

Arafat01
Arafat01 over 9 years ago

Hey,

I have a Library with several cells.

Some of these cells have different ports in the symbols and different ports in the CDF port list.

So when I perform a CDL out the portlist is diff from CDF port list.

The LVS is not clean because of this.

These symbols where not freshly created when a modification was made to the schematic but were just modified dueto this CDF did not get updated.

Is there any possible way to update the CDF portlist directly from the existing symbols.

Thank You

  • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 9 years ago

    Take a look at http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=11123666.

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

    Whilst Frank's pointer to the solution is a good answer and a pointer I would have provided if he'd not beaten me to it (!), I am rather surprised that the CDL netlist you get is incorrect.

    If it is a hierarchical block, the CDF termOrder will be used, unless it's incorrect... in other words, if there are additional terminals or terminals missing. If that happens, it should revert to the built-in order based on the terminals that are actually in the schematic. I've tried this, and this is indeed the case.

    The one exception is (of course) if you've configured it to stop at the cell - in which case the only information it can use is the CDF because there is no corresponding schematic to switch into - so in that case the termOrder has to be used in order to be consistent with any external files.

    If you have a hierarchical netlist where the non-stopping cells are mis-netlisted due to errors in the CDF, this needs to be reported to Cadence Customer Support (of course, if you're using some old version, you may want to check with a recent version first, but I'm not aware of any such issues for a long time now - perhaps you can give the version number you're using from Help->About in the CIW?)

    Regards

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Arafat01
    Arafat01 over 9 years ago
    Thanks for responding. The thing is I am an intern so do not have the support account. Is there any other way to access this?
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Arafat01
    Arafat01 over 9 years ago

    Hey Andrew,

    Thanks for responding.

    Well thats the scenario with me. The actual symbol has more terminals compared to the CDF. So the CDL reverts to the built-in order and generates a port list based on the schematic. The CDL does has all the ports from schematic.

    I did an LVS on a top cell which has all the cells from this library as instantiations.

    For cadence version 6.1.5-64b.500.16.2. The additional ports (the ones not in CDF list)  were listed in the end of CDL portlist. This did not caused any issue with LVS. It was clean.

    Now for cadence version 6.1.1-64b.500.10. The CDL has a the additional ports (the ones not in CDF list) listed anywhere in the list. Due to this the LVS is not clean for same CDL. As the port is diiferent.

    So, i thought a solution to this can be updating the CDF from the symbol to that everywhere the port list is same.

    Is this the right way to proceed?

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

    If you're really using a 6.1.1 subversion, then that is over 7 years old (maybe 8) and is long unsupported. If using a later version that solves the problem, then there's little point in contacting customer support (even the IC615 version you mentioned is getting on for 2.5 years old, and is also unsupported). This may have been a bug in IC6.1.1 but I can't be certain as I don't have access to that subversion as it's so on. 

    If you are an intern at a customer with maintenance, there's no reason why you can't get a support account. If you're at an academic institution, then the process is a little different, and it may depend on whether you're part of the Europractice scheme.

    However, the solution that Frank mentioned essentially suggests that you set:

    envSetVal("auCore.misc" "updateCDFtermOrder" 'boolean t)

    in your .cdsinit which will mean that it will update the CDF terminal order any time the symbol pins are changed.

    To fix immediately, you can open the schematic for the cell with the problem and type in the CIW:

    artGenerateHierSymbolCDF(geGetEditCellView())

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Arafat01
    Arafat01 over 9 years ago
    It was typing mistake its is 6.1.6.. But i think the solution you suggested should work here as well. I appreciate that
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    I am a bit surprised that this was happening in IC6.1.6.500.10 - I can't test that right now as I'm not at work and have less access to various versions. However, I can say that it was IC6.1.6.500.13 that I was testing and that was fine.

    Anyway, glad you have a solution.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Arafat01
    Arafat01 over 9 years ago

    Hey Andrew,

    The command artGenerateHierSymbolCDF(geGetEditCellView()) does works.

    The draw back is it demands that we open a schematic graphically.

    I tried doing it in CIW by opening the schematic as a db object and then running this command. 

    Is there a way to open a graphic window from CIW using a skill command or using the above mentioned command

    without having to open each cell in a graphic window.

    Please let me know if there is a way.

    I really appreciate your constant help

    Thank You

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

    cv=dbOpenCellViewByType("libName" "cellName" "schematic")
    artGenerateHierSymbolCDF(cv)
    dbClose(cv)

    You can't use geGetEditCellView() because that requires a graphical window to be open, but all that's doing is retrieving the dbId of the cellView in the current window - you can just as easily pass artGenerateHierSymbolCDF the dbId retrieved some other way.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Arafat01
    Arafat01 over 9 years ago
    Hey, Thanks for your help. I added couple of things more and this sollution worked out. I appreciated your help.
    • 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