Setting Up Design Kit Software and Menus

This topic describes the details of configuration files and variables which are used to enable and disable the common design kit software. This includes software for installing design kits, as well as the software to control the menus and dialog boxes that are shipped with Advanced Design System for use with all design kits. This information is included for advanced users or users of old design kits who experience problems between the new software and an old design kit.

Configuration Files

Each individual ADS tool has its own unique configuration file. These configuration files contain information required by the software to install and enable the tools.

If you are an advanced design kit user, there are two configuration files that you should be aware of:

The configuration files in ADS are read from four locations:

If a variable is defined in more than one location, the last value read is the one that will be recognized by the system.

Note
Any customization set up in $HPEESOF_DIR (software installation directory) should be confined to the custom subdirectory. This is because anything outside of the custom subdirectory may be overwritten by a subsequent update to the software.

The design_kit.cfg file is read in two different ways. It is read in conjunction with de_sim.cfg at ADS startup to add the design kit user interface to ADS. Then when specific design kits get loaded or when the Design Kit Setup dialog is used, the file is read directly to resolve other variables defined in the file.

The de_sim.cfg file is read from all four locations in the order listed above. The design_kit.cfg file is included by adding the following line to the de_sim.cfg file:

+ design_kit

When + design_kit is encountered in a de_sim.cfg file, the design_kit.cfg file is only read from one location, as opposed to the four locations described above. This single location is the same directory that contains the de_sim.cfg file currently being read.

This is the mechanism that is used to resolve the design kit variables that are used in other variables. First de_sim.cfg includes design_kit.cfg to get the value of variables such as DESIGN_KIT_UI_AEL. Then de_sim.cfg includes de.cfg, where a variable named PDE_AEL is set. PDE_AEL includes a reference to DESIGN_KIT_UI_AEL. This is how the user interface and internal AEL code for the design kit infrastructure gets added to ADS. The variables DK_AEL_PATH, DESIGN_KIT_UI_AEL, DESIGN_KIT_STARTUP_AEL and DESIGN_KIT_PROJECT_AEL are all used in this manner.

Additional design kit variables are used to manage the design kit setup or when individual design kits are enabled. When such a variable is needed, the system reads the design_kit.cfg file from the three locations defined above. Variables such as DESIGN_KIT_LEVELS_ENABLED, DESIGN_KIT_SITE_PATH and DESIGN_KIT_TECHNOLOGY_NAME are resolved in this manner. Descriptions of how these variables are used is given in the table below.

Additionally, some other design kit variables are set in files such as hpeesofbrowser.cfg, hptolemy.cfg and hpeesofsim.cfg. These variables extend certain paths so that the system can find files that are in a design kit. These variables are described below as well.

Current Configuration Variables

The information described in the table ADS_Design_Kit_Variables_is_a_list_of_configuration_variables_used_by_the_current_design_kit_infrastructure_software_beginning_with_ADS2001._This_is_the_general_code_that_installs_and_enables_design_kits,_as_well_as_the_user_interface_code_such_as_menus_and_dialog_boxes_common_to_all_design_kits._This_code_should_be_differentiated_from_any_software_or_code_that_is_specific_to_a_particular_design_kit._Any_code_referred_to_in_this_section_is_application_extension_language_(AEL)_code._For_more_information_on_AEL_code,_refer_to_the_Advanced_Design_System_AEL documentation.

If you are a general user of new ADS design kits, it is not important to understand the information provided in this section. This information is provided for CAD administrators, design kit developers or anyone who has worked with design kits in ADS prior to ADS2001, when the design kit infrastructure code had to be manually configured. These variables are now all set automatically in ADS.

Anyone who used design kits prior to ADS 2001 should check their de_sim.cfg files in all user configurable locations and remove (or preferably comment out with a # sign in column one) any configuration variables used for general design kit configuration in the past. The last section, Accessing Both Old and New Design Kit Menus Simultaneously, will help you reset the necessary variables if you have an ongoing need for access to the old design kit software.

A description of each design kit variable required for current ADS design kit infrastructure software is provided in the table ADS Design Kit Variables.

ADS Design Kit Variables
DK_AEL_PATH
This variable is set in the $HPEESOF_DIR/config/design_kit.cfg file. The DK_AEL_PATH variable is set to the directory where the common design kit AEL code resides. This variable is used by the next few variables in the file.
DK_AEL_PATH={$HPEESOF_DIR}/design_kit/ael
DKIT_ADSLIBCONFIG_PATH
When a design kit with encoded models is enabled, the following steps are taken by the design kit infrastructure to ensure that the encoded models are automatically loaded when the simulator is run.
  1. The <design kit>/circuit/config directory is searched for a file named ADSlibconfig.
  2. The contents of the ADSlibconfig file are merged into the master file $HOME/hpeesof/design_kit/circuit/config/ADSlibconfig.
  3. In $HOME/hpeesof/config/hpeesofsim.cfg, DKIT_ADSLIBCONFIG_PATH is set to $HOME/hpeesof/design_kit/circuit/config.
  4. When the simulator is invoked, the variable ADSLIBCONFIG_PATH is read from $HPEESOF_DIR/config/hpeesofsim.cfg. This path contains a reference to DKIT_ADSLIBCONFIG_PATH, so any ADSlibconfig files in DKIT_ADSLIBCONFIG_PATH will be appended to ADSLIBCONFIG_PATH and used to find encoded models during simulation.
    The file $HOME/hpeesof/design_kit/circuit/config/ADSlibconfig is managed by the design kit infrastructure and should never be edited manually. Also, DKIT_ADSLIBCONFIG_PATH cannot be removed from ADSLIBCONFIG_PATH. ADSLIBCONFIG_PATH can be defined in hpeesofsim.cfg in $HOME/hpeesof/config, $HOME/hpeesof/custom/config or $HPEESOF_DIR/config.
    DKIT_ADSLIBCONFIG_PATH=$HOME/hpeesof/design_kit/circuit/config
DESIGN_KIT_UI_AEL
This is the AEL code related to the Design Kit menu in the Main ADS window. It is read very early during boot-up.
DESIGN_KIT_UI_AEL={%DK_AEL_PATH}/dk_menu
DESIGN_KIT_STARTUP_AEL
This is a list of AEL files read later during boot-up. dk_startup contains code to load the specific design kits which are currently configured. The other files contain code related to the common design kit menus and dialog boxes.
DESIGN_KIT_STARTUP_AEL={%DK_AEL_PATH}/dk_startup:{%DK_AEL_PATH}/dk_explorer
DESIGN_KIT_PROJECT_AEL
This AEL file contains code that is invoked every time a user opens a project.
DESIGN_KIT_PROJECT_AEL={%DK_AEL_PATH}/dk_project_attach
DESIGN_KIT_PROJECT_OPEN_AEL
This AEL file contains code that is invoked every time after a user opens a project.
DESIGN_KIT_PROJECT_OPEN_AEL={%DK_AEL_PATH}/dk_open_project_attach
DESIGN_KIT_LEVELS_ENABLED
This variable refers to the ads.lib files that will be read to load design kits. This is similar to the obsolete variable DESIGN_KIT_LOCAL_OVERRIDE, but is less ambiguous and gives the user more flexibility and control. There is a design kit menu pick that opens a dialog to control this variable.
To manually change it to suppress the reading of the ads.lib file at the specified level, remove the name of the level from the list. Order of the list is not important and colons do not need to be retained. PROJECT:SITE is a valid value instructing the system to read ads.lib from the current project and the site locations only. Locations are as follows:
SITE: $HPEESOF_DIR/custom/design_kit/ads.lib
USER: $HOME/hpeesof/design_kit/ads.lib
STARTUP: The directory from which ADS is invoked on unix. This can be set as a short-cut property for PC systems.
PROJECT: If the project level is enabled, the ads.lib file will be read if available any time a project is opened, and design kits specified in that ads.lib file will be loaded. Note that leaving a project will not unload any design kits as the ADS system does not currently have the capability to remove the system components once they are loaded.
For more information on the ads.lib file, refer to the "Design Kit Development Guide".
DESIGN_KIT_LEVELS_ENABLED=USER:PROJECT
DESIGN_KIT_SITE_PATH
This variable is used to tell the system where to read the SITE LEVEL ads.lib file. The default value for this variable is $HPEESOF_DIR/custom/design_kit/ads.lib. For a PC network, where ADS is installed directly on an end user's PC, $HPEESOF_DIR is on that PC, not on the network like it is with a unix network installation. However, a CAD manager might still want to maintain the master list of installed design kits (ads.lib) on a networked site. In that case, set this variable to the network directory where the file is located. Define the variable in design_kit.cfg in $HPEESOF_DIR/custom/config or $HOME/hpeesof/config.
DESIGN_KIT_SITE_PATH=F:\ADS_FILES
DESIGN_KIT_TECHNOLOGY_NAME (valid for ADS2002C only)
This variable indicates which design kit is to be used as the source for process technology files. If specified, the user will be prompted to select layers and preferences and momentum substrate files to copy from this design kit. For more information, see "Set the default design kit for new projects" in Setup ADS Design Kits.
This variable is set in the design_kit.cfg file. It can be defined at any LEVEL. If it is defined at the STARTUP level, there may be multiple startup directories and each one can be set to a different process by naming a different design kit as the source for technology files. If it is not defined at the STARTUP level, it can be defined at the USER ($HOME/hpeesof/config/design_kit.cfg) or SITE ($HPEESOF_DIR/custom/config/design_kit.cfg) level. In this case, the value at the USER level will take precedence if defined.
DESIGN_KIT_TECHNOLOGY_NAME=<kit name>
DESIGN_KIT_CIRCUIT_TEMPLATE_PATH
This variable is used to extend the search path for the circuit schematic templates. If a design kit contains schematic templates, this variable is set to <design_kit_path>/circuit/templates in $HOME/hpeesof/config/de_sim.cfg when the design kit is enabled. This variable is referenced by CIRCUIT_TEMPLATE_PATH in de_sim.cfg.
DESIGN_KIT_CIRCUIT_TEMPLATE_PATH = <design_kit_path>/circuit/templates
DESIGN_KIT_HPTOLEMY_TEMPLATE_PATH
This variable is used to extend the search path for the adsptolemy schematic templates. If a design kit contains adsptolemy schematic templates, this variable is set to <design_kit_path>/adsptolemy/templates in $HOME/hpeesof/config/hptolemy.cfg when the design kit is enabled. This variable is referenced by HPTOLEMY_TEMPLATE_PATH in hptolemy.cfg.
DESIGN_KIT_HPTOLEMY_TEMPLATE_PATH = <design_kit_path>/adsptolemy/templates
DESIGN_KIT_BROWSER_PATH
This variable is used to extend the search path for the library browser. The common design kit software automatically appends "<design_kit_path>/circuit/records" to this path whenever a design kit is loaded. All the control files and the .idf files in these directories are read by the library browser to create the Analog/RF related libraries/sub-libraries. The library browser is a separate executable program, which is closed and restarted to pick up the new path. This variable is referenced by HPANALOGRF_BROWSER_PATH in $HPEESOF_DIR/config/hpeesofbrowser.cfg.
DESIGN_KIT_BROWSER_PATH = <design_kit_path>/circuit/records
DESIGN_KIT_TEMPLATE_BROWSER_PATH
This variable is used to extend the search path for the template browser. The common design kit software automatically appends "<design_kit_name>|<design_kit_path>/circuit/templates" to this path whenever a design kit is loaded. Each entry is in the form of <name>|<path> where <name> is the top level node displayed in the browser and <path> is the path to the directory containing the templates. The template browser is a separate executable program, which is closed and restarted to pick up the new path. This variable is referenced by HP_TEMPLATE_BROWSER_PATH in $HPEESOF_DIR/config/hpeesofbrowser.cfg.
DESIGN_KIT_TEMPLATE_BROWSER_PATH = <design_kit_name>|<design_kit_path>/circuit/templates
DESIGN_KIT_MODEL_PATH
This variable is used by the simulator to locate user-compiled models saved as dynamically linked libraries. These are also known as shared libraries. The file extensions are .dll, .sl or .so depending on the platform. When a design kit with a user-compiled model is enabled, the variable DESIGN_KIT_MODEL_PATH is set to <design_kit_path>/bin/$ARCH, where $ARCH is determined by running $HPEESOF_DIR/bin/hpeesofarch. DESIGN_KIT_MODEL_PATH is set in hpeesofsim.cfg in the project directory and is referenced by the variable EESOF_MODEL_PATH.
DESIGN_KIT_MODEL_PATH = <design_kit_path>/bin/$ARCH
DESIGN_KIT_SIM_FILE_PATH
This variable is used by the simulator to locate data files listed on data file components such as SnP and MDIF components. When a design kit with files in the circuit/data directory is enabled, the variable DESIGN_KIT_SIM_FILE_PATH is set to <design_kit_path>/circuit/data. DESIGN_KIT_SIM_FILE_PATH is set in hpeesofsim.cfg in the project directory and is referenced by the variable USER_SIM_FILE_PATH.
DESIGN_KIT_SIM_FILE_PATH = <design_kit_path>/circuit/data
DESIGN_KIT_NO_MENU (Obsolete)
Obsolete variable used by design kit code prior to ADS 2001. Design kit menus are now available full-time for all users.
DESIGN_KIT_NO_MENU=TRUE
DESIGN_KIT_LOCAL_OVERRIDE (Obsolete)
Obsolete variable used by design kit code prior to ADS 2001 to suppress reading of the design kit configuration file ads.lib from system-wide location. This functionality is now provided in a more flexible manner from the design kit software and the configuration variable DESIGN_KIT_LEVELS_ENABLED.
DESIGN_KIT_LOCAL_OVERRIDE=FALSE

Accessing Both Old and New Design Kit Menus Simultaneously

In an Add-on release to ADS 2001, new design kit software was provided. The old functionality was retained where needed to support existing design kits, but completely new menus are provided and turned on automatically without user intervention.
With the new configuration variables, the old design kit menu in the ADS Main window is no longer readily accessible. All design kit related activities should be performed through the new menus. The only reason to access the old menu is for other utilities that were historically on the same menu. If access to the old menu is required, the following steps should be taken:

  1. Remove or comment out general design kit configuration variables (listed in this chapter) from any user configurable location. These will interfere with the new software. If a design kit configuration variable is not discussed in this chapter but is in your system configuration, perhaps it applies to a specific design kit. These can remain as they are.
  2. After removing old variables, restart ADS and verify that only the new design kit menu is visible. After this has been verified, close ADS. [need a link to a screen dump so user knows what new menu looks like]
  3. To gain access to the old software without disabling the new software, perform the following steps:
    1. Copy $HPEESOF_DIR/config/design_kit_old.cfg.unix
      or
      $HPEESOF_DIR/config/design_kit_old.cfg.win32
      to
      $HOME/hpeesof/config/design_kit_old.cfg
    2. Add the following line to $HOME/hpeesof/config/de_sim.cfg
      + design_kit_old.cfg
    3. Follow the directions in the design_kit_old.cfg file or read the information below and modify design_kit_old.cfg as needed.

Remember that the value of a variable in $HOME/hpeesof/config will take precedence over one set in $HPEESOF_DIR/custom/config or $HPEESOF_DIR/config (see Configuration Files). Use the Configuration Explorer from the options menu in the ADS Main window to check for conflicts. Other tools may have set these variables to different values. Resetting them here may disable other tools. This can be fixed by combining all needed values together, separated by a colon (:).

Example:

USER_MENU_FUNCTION_LIST=app_add_user_menus:app_add_design_kit_menus

Note
To enable better comparisons within the Configuration Explorer, set CONFIG_EXPLORER_CMP_VARS in de_sim.cfg, but beware that this makes the Explorer run very slow on networked systems. It works best on a stand-alone PC installation.

To make the old design kit menu visible in the main ADS window, change this value to FALSE and restart ADS. You may need to iconize and restore the window once if the menu pick isn't visible immediately.

DESIGN_KIT_NO_MENU=TRUE

These reset the USER_AEL and LOCAL_AEL path to load the software. Definitely check for conflicts with these AEL variables.

DESIGN_KIT_OLD_DIRECTORY={$HPEESOF_DIR}/design_kit

USER_AEL={%DESIGN_KIT_OLD_DIRECTORY}/design_kit_startup

LOCAL_AEL={%DESIGN_KIT_OLD_DIRECTORY}/design_kit_project_attach

Uncomment this variable to turn on the old design kit menu in schematic or layout windows.

USER_MENU_FUNCTION_LIST=app_add_design_kit_menus

This is an obsolete variable that formerly controlled the scope of ads.lib files. For information on using the new method of controlling the scope of the ads.lib files, refer to DESIGN_KIT_LEVELS under Current Configuration Variables.

DESIGN_KIT_LOCAL_OVERRIDE=TRUE

Viewing Configuration Files and Variables

A useful tool for viewing configuration files and variables within Advanced Design System is the ADS Configuration Explorer.

To launch the Configuration Explorer:

From the ADS Main window, choose Tools > Configuration Explorer. The ADS Configuration Explorer dialog box appears.

For more information on the ADS Configuration Explorer, see Viewing Details of the Current Configuration.

For more information on configuration files and configuration variables in ADS, see Customizing the ADS Environment and Using AEL with Component Libraries.

Disabling the Design Kit Software

The new ADS design kit software is designed to be 100% compatible with the old design kit software as it was shipped from the factory. However, there are some extreme cases where an old design kit created outside of the factory may not operate with the new software loaded. This is apparently due to the fact that the old factory software was modified for a customer or by a customer, without making the names of the AEL functions unique. Since all AEL functions are global in scope, any custom AEL code has the potential to overwrite an existing AEL function, if the custom code does not have a unique prefix on all functions and global variables.

Any design kits with the problem described above will also not be able to co-exist with other design kits which follow the design kit standard structure and use the standard method to enable the design kit. These design kits should be upgraded to follow the standard structure and use the standard software. Until they are upgraded, the following steps can be taken to disable the new design kit software. This can be done at the user or system level.

  1. Copy $HPEESOF_DIR/config/design_kit.cfg to $HPEESOF_DIR/custom/config or $HOME/hpeesof/config.
  2. Edit design_kit.cfg file as follows to undefine the variables that load the design kit AEL files.
    DESIGN_KIT_UI_AEL=
    DESIGN_KIT_STARTUP_AEL=
    DESIGN_KIT_PROJECT_AEL=
    DESIGN_KIT_PROJECT_OPEN_AEL=
  3. Add +design_kit anywhere in the de_sim.cfg file which resides in the same directory where you edited design_kit.cfg. If the de_sim.cfg file doesn't exist, create a new file.
 

Privacy Statement  | Terms of Use  | Legal | Contact Us  | © Agilent 2000-2008 

Contents
Additional Resources