• 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. Automatic loading of SKILL code into Composer or Virtuo...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 16508
  • 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

Automatic loading of SKILL code into Composer or Virtuoso

1960CadGuy
1960CadGuy over 16 years ago

I am a new Cadence user who is very (probably too) familiar with the Mentor tool set and the way in which AMPLE code gets automatically loaded into Mentor's schematic or layout windows.  Now that I am transitioning to Cadence 6.1.X and SKILL, I am trying to familiarize myself with how SKILL gets loaded into the various windows.  Although I do have SKILL class in my future, I am trying to jumpstart things by learning various aspects of SKILL in advance of such a class.  I am trying to go through the Cadence documentation to discern the mechanism by which userware is automatically loaded for the tool in which it is intended. In Mentor-land, for example, userware locations are defined by the AMPLE_PATH environemental variable and files are loaded into the appropriate tool by filename, for example $AMPLE_PATH/da_ic/schematic.ample when a schematic window is opened.  Is there a Cadence equivalent? 

  • Cancel
  • aplumb
    aplumb over 16 years ago
    A good place to start is read up on how $CDS_SITE works, the various places the '.cdsinit' file can be located, and how libInit.il files work.

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 16 years ago

    Hi,

    As Andrew pointed out, the main user customization SKILL syntax file that is automatically loaded is the .cdsinit file which typically can reside in your current, home or <cds_install_dir>/tools/dfII/local directory - the latter location does not exist by default, but if the .cdsinit file is found there then the search mechanism stops (although the .cdsinit file itself can load other SKILL syntax files, including $HOME/.cdsinit or from the current directory). There is a Cadence Search File mechanism (CSF) which is worth reading about in the documentation, the search mentioned above is a default, but the CSF can be customized to search in a different order or in different locations.  In addition to this, if a file named libInit.il exists in a library, when the library is first accessed this file will be automatically loaded. Typically this is used as part of a PDK, e.g. the library initialization may load PCell SKILL code etc.

    For doing something specific to a schematic window, the easiest way to do this is to define a SKILL trigger such that when a schematic view is opened, the code specified by the trigger is loaded. For example:

    deRegUserTriggers("schematic" nil nil 'CADCustomizationFunction)

    If you just want to modify the menus in the schematic, then another way to do this is to use the menus files mechanism. Here are a few solutions related to the menus file approach:
    Solution 11182358

    Solution 11208974

    Solution 11536610

    Hope this helps you!

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • 1960CadGuy
    1960CadGuy over 16 years ago

    Thank you Andrew and Lawrence for your help on this -- given the nearly 27 years I have had my mind in Mentor Graphics-mode, I suppose I could be forgiven a bit of denseness (or mental-inertia if you want to be nice) on my part.  It appears that Cadence chose to implement all this in what seems to be a far simpler scheme than Mentor does things.  Thank you once again.

     Regards,

     Paul

    • 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