• 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. check the instance symbol change in schematic

Stats

  • Locked Locked
  • Replies 13
  • Subscribers 128
  • Views 20618
  • 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

check the instance symbol change in schematic

lzyc
lzyc over 12 years ago

Andrew (or anybody),

If an instance symbol is modified after the schematic last modification, cadence will give you warning in CIW when you open the schematic. I want to write a skill code to check the schematic for the same purpose?  Initially I thougt cadence only compare the timeStamp of the schematic and the instance symbol. But I found cadence does more than that. They can capture the symbol change even if I rollback to a old sybmol version (with earlier timestamp). Can you tell me how Cadence capture the instance symbol change when you open the schematic?

  • Cancel
  • theopaone
    theopaone over 12 years ago

    In IC6.1.x you can check if the schematic needs re-extraction by using dbIsConnCurrent, the view does not have to be opened for edit. If you have write permission to the cellView you can run schCheck on the cell and it should correct the issues. I'm not sure what the database is checking but there is a edit counter on the master that is whose value is also associated with the instance, possibly on the instHeader. These numbers have to be in sync.

     Ted

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • lzyc
    lzyc over 12 years ago

    Ted,

    Thank you for your reply. I tried dbIsConnCurrent. It checks different thing. My current schematic has one instance symbol changed. When I open it ready-only. CIW shows a warning said symbol changed after last schematic save. But  dbIsConnCurrent still give me 't'.  I also checked the instHeaders for glues, but have not found anything related. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • theopaone
    theopaone over 12 years ago

     I don't have access to Virtuoso right now so I can't track down where the data would be found. I don't think you can eliminate that error as once the error has been marked, it must be cleared by the tool and is not "fixable" by the user.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • phill1127
    phill1127 over 7 years ago

    I realize this topic is quite old but I'm trying to do the same thing. I open a cellview for read and need a skill function to determine if it requires check & save for any reason. Has anyone figured this out and care to share?

    Thanks,
    - Phill

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to phill1127

    Hi Phill,

    Well, dbIsConnCurrent() will tell you if the cellView has been modified since it was last "extracted" (i.e. the last check). To see if there are any symbols which have been modified since the last time it was checked, use:

    modifiedInstHeaders=setof(instHeader cv~>instHeaders instHeader~>masterChangeCount!=instHeader~>master~>modifiedCounter)

    From this you can glean the libName/cellName (and instances) which would give you a warning in the CIW or show with markers had you opened the schematic in edit mode. What the incantation above does is check if the record of the last modifiedCounter on this schematic for each master instantiated matches the current state of that master.

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • phill1127
    phill1127 over 7 years ago in reply to Andrew Beckett

    This worked perfectly for me. Thank you for the quick help!

    - Phill

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

    Hi Andrew,

    I was trying to get a notification email  about the symbols updated since last time it was checked, For that i was first checking which all symbols was updated using

    modifiedInstHeaders=setof(instHeader cv~>instHeaders instHeader~>masterChangeCount!=instHeader~>master~>modifiedCounter). 

    I got an error - *Error* eval: unbound variable - cv

    Please help me how to proceed.

    Regards,
    Amul

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RiadKaced
    RiadKaced over 6 years ago in reply to Amul

    Hi Amlu,

    cv is the variable that stores the CellView database ID, so you need to have defined it earlier, the above is just a snippet. example:

    cv=dbOpenCellViewByType("libName" "cellName" "viewNamw")

    modifiedInstHeaders=setof(instHeader cv~>instHeaders instHeader~>masterChangeCount!=instHeader~>master~>modifiedCounter). 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Amul
    Amul over 6 years ago in reply to RiadKaced

    Hi,

    I tried using below lines:

    cv=dbOpenCellViewByType("libraryName" "cellName" "viewName")
    modifiedInstHeaders=setof(instHeader cv~>instHeaders instHeader~>masterChangeCount!=instHeader~>master~>modifiedCounter)

    I get  'nil' all the time, even if there is updated version of the symbol have been checked in.

    Regards,
    Amul

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

    Is the libraryName cellName and viewName  on the first line for the schematic view that contains the symbols? The idea is that it will check if any of the symbols used in that schematic have been changed since the last time the schematic was "checked". 

    You can't just give it the lib/cell/view of a symbol view - that makes no sense.

    I'm trying to guess what you might have done wrong...

    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