• 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. Cadence Virtuoso try to compile every layout to pcell

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 124
  • Views 5823
  • 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

Cadence Virtuoso try to compile every layout to pcell

mad monster
mad monster over 10 years ago

Virtuoso try to do this during design saving.
But it occur not for all libraries. In what there can be a problem?

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    That's rather surprising. Generally speaking this would only happen if somebody has done Launch->Plugins->PCell (in IC616 at least - you didn't provide the rather important information as to which version you're using) and then once compiled to pcell. Once that's been done, the viewSubType property gets stored which tells it to keep adding the PCell menus each time and compile each time you save.

    If you open the affected layout and do geGetEditCellView()~>viewSubType what does it return?

    The SKILL code below can be used to reset the viewSubType - but I would expect this to be on certain cellViews, not on everything in an entire library. You might want to talk to customer support so that we can look at your data together.

    Regards,

    Andrew.

    /* abResetViewType.il
    
    Author     A.D.Beckett
    Group      Structured Custom, Cadence Design Systems Ltd.
    Machine    SUN
    Date       Jan 14, 1997 
    Modified   
    By         
    
    Main entry points are abResetViewType or abHiResetViewType
    
    These allow easy removal of the viewSubType cellView property
    which controls which application is used (e.g. cell3 or virtuoso).
    
    This code is for 4.4 and onwards
    
    ***************************************************
    
    SCCS Info: @(#) abResetViewType.il 11/20/08.15:26:19 1.2
    
    */
    
    /***************************************************************
    *                                                              *
    *         (abResetViewType libName cellName viewName)          *
    *                                                              *
    *  Reset the viewType by removing the viewSubType property on  *
    *                         a cellView.                          *
    *                                                              *
    ***************************************************************/
    
    (procedure (abResetViewType libName cellName viewName)
      (let (cv)
           (setq cv (dbOpenCellViewByType libName cellName viewName "" "a"))
           (when cv
                 (dbDeletePropByName cv "viewSubType")
                 (dbSave cv)
                 (dbClose cv)
                 )))
    
    /***************************************************************
    *                                                              *
    *                 (abCreateResetViewTypeForm)                  *
    *                                                              *
    *    Create the form for the HI version of abResetViewType     *
    *                                                              *
    ***************************************************************/
    
    (procedure (abCreateResetViewTypeForm)
      (let (libName cellName viewName browse)
           (setq libName 
                 (hiCreateStringField 
                  ?name 'libName 
                  ?prompt "Library Name"
                  ?callback "ddsUpdateSyncWithForm()"))
           (setq cellName 
                 (hiCreateStringField
                  ?name 'cellName
                  ?prompt "Cell Name"
                  ?callback "ddsUpdateSyncWithForm()"))
           (setq viewName 
                 (hiCreateStringField
                  ?name 'viewName 
                  ?prompt "View Name"
                  ?callback "ddsUpdateSyncWithForm()"))
           /* create browser button */
           (setq browse 
                 (hiCreateButton 
                  ?name 'browse 
                  ?buttonText "Browse" 
                  ?callback "abResetViewTypeSyncWithForm()"))
           /* build the form */
           (setq abResetViewTypeForm 
                 (hiCreateAppForm 
                  ?name 'abResetViewTypeForm 
                  ?fields (list
                           (list libName 0:0 400:35 105)
                           (list cellName 0:35 400:35 105)
                           (list viewName 0:70 400:35 105)
                           (list browse 105:105 90:30)
                           )
                  ?formTitle "Reset View Type"
                  /* cancel callback is to break the link with the browser */
                  ?callback '(abResetViewTypeCB "ddsEndSyncWithForm()")))
           ))
    
    /***************************************************************
    *                                                              *
    *                (abResetViewTypeSyncWithForm)                 *
    *                                                              *
    *            Sync the form with the library browser            *
    *                                                              *
    ***************************************************************/
    
    (procedure (abResetViewTypeSyncWithForm)
      (ddsSyncWithForm abResetViewTypeForm
                       'browse
                       'libName 'cellName 'viewName))
    
    /***************************************************************
    *                                                              *
    *                   (abResetViewTypeCB form)                   *
    *                                                              *
    *      OK callback for the form. This resets the viewType      *
    *                  on the specified cellView.                  *
    *                                                              *
    ***************************************************************/
    
    (procedure (abResetViewTypeCB form)
      /* break the link to the browser */
      (ddsEndSyncWithForm)
      (abResetViewType 
       (getq (getq form libName) value)
       (getq (getq form cellName) value)
       (getq (getq form viewName) value)
       ))
    
    /***************************************************************
    *                                                              *
    *                     (abHiResetViewType)                      *
    *                                                              *
    *            Main entry point - brings up the form             *
    *                                                              *
    ***************************************************************/
    
    (procedure (abHiResetViewType)
      (unless (boundp 'abResetViewTypeForm)
              (abCreateResetViewTypeForm))
      (hiDisplayForm abResetViewTypeForm))

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mad monster
    mad monster over 10 years ago
    Hello, Andrew!Thank you for your reply.
    geGetEditCellView() partially helps to resolve my problem (for certain cellViews, not for entire library).
    When I typed geGetEditCellView()~>viewSubType it returned its value (not nil, I forgot value).
    Then I typed geGetEditCellView()~>viewSubType = nil and exited from Virtuoso (with saving).
    In the next time this layout was repaired and there were no Pells properties.
    Good day to you,Yuriy.
    • 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