• 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. Regarding Close & Purge Data using Skill

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 3322
  • 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

Regarding Close & Purge Data using Skill

fazul
fazul over 13 years ago

Hi ,

Please advice me if you know how to do this.

I am using IC615, where in GUI of Virtuoso  we do File -> Close Data to close and purge data from the virtual memory.

I am trying to do this in my skill code. I suppose i have to use dbPurge() function.

My Question is how can i get the list of open data as show in the Close & Purge Data Form

Looking forward to any suggestions.

Thank you & Best Regards,

Fazul  

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    Fazul,

    dbGetOpenCellViews() and dbGetOpenBags() - also techGetOpenTechFiles() for completeness. Here's a rather elderly example:

    /* abPurgeLib.il
    
    Author     A.D.Beckett
    Group      Structured Custom, Cadence Design Systems Ltd.
    Machine    SUN
    Date       May 16, 1996 
    Modified   
    By         
    
    A method of implementing the equivalent of dmPurgeLib in 4.4
    
    Two entry points:
    
    abPurgeLib(libName)
    abHiPurgeLib()
    
    ***************************************************
    
    SCCS Info: @(#) abPurgeLib.il 11/20/08.15:26:19 1.3
    
    */
    
    /***************************************************************
    *                                                              *
    *                     (abPurgeLib libName)                     *
    *                                                              *
    *            Purge everything to do with a library             *
    *                                                              *
    ***************************************************************/
    
    (procedure (abPurgeLib libName)
      /* close all the cellViews from this library name */
      (foreach cellView (dbGetOpenCellViews)
    	   (when (equal (dbGetq cellView libName) libName)
    		 (dbPurge cellView)))
      /* close any (?) tech files associated with the library */
      (foreach techFile (techGetOpenTechFiles)
    	   (when (equal (dbGetq techFile libName) libName)
    		 (techPurgeTechFile techFile)))
      /* close any property bags associated with the library */
      (foreach bag (dbGetOpenBags)
    	   (when (equal (dbGetq (dbGetq (dbGetq bag ownerObj) lib) name)
    			libName)
    		 (dbPurgeBag bag)))
      t)
    
    /***************************************************************
    *                                                              *
    *                (abCreatePurgeLibForm choices)                *
    *                                                              *
    *                       Create the form                        *
    *                                                              *
    ***************************************************************/
    
    (procedure (abCreatePurgeLibForm choices)
      (let (libName)
           (setq libName (hiCreateCyclicField
    		      ?name 'libName
    		      ?choices choices
    		      ?prompt "Library Name"
    		      ?value (car choices)
    		      ))
           (setq abPurgeLibForm 
    	     (hiCreateAppForm
    	      ?formTitle "Purge Library"
    	      ?name 'abPurgeLibForm
    	      ?fields (list (list libName 0:0 350:35 105))
    	      ?callback 'abPurgeLibCB
    	      ))
           ))
    
    /***************************************************************
    *                                                              *
    *                        (abHiPurgeLib)                        *
    *                                                              *
    *        Human interface version of the library purger         *
    *                                                              *
    ***************************************************************/
    
    (procedure (abHiPurgeLib)
      (let (choices)
           (setq choices (dbGetq (ddGetLibList) name))
      (unless (boundp 'abPurgeLibForm) (abCreatePurgeLibForm choices))
      (putpropq (getq abPurgeLibForm libName) choices choices)
      (hiDisplayForm abPurgeLibForm)
      t))
    
    /***************************************************************
    *                                                              *
    *                     (abPurgeLibCB form)                      *
    *                                                              *
    *            Interface from the form to abPurgeLib             *
    *                                                              *
    ***************************************************************/
    
    (procedure (abPurgeLibCB form)
      (abPurgeLib (getq (getq abPurgeLibForm libName) value))) 
    
    Regards,

     

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • fazul
    fazul over 13 years ago

    Thanks Adrew for your quick response always.

    This should be enough :)  

    Regards,

    Fazul 

     

    • 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