Configuration Files

There are several text configuration files that define variables for the default Front End Flow netlister and variables for specific tools. This chapter covers the location of configuration files and which variables can be set for Front End Flow.

Configuration Files Used with Front End Flow

The following four configuration files contain pertinent Front End Flow information:

de_sim.cfg The de_sim.cfg file is the PDE configuration file. This file is used to load Front End Flow.
CNEX.cfg The CNEX.cfg file is the Front End Flow configuration file. This file contains information used by the core functions of the Front End Flow netlister.
<tool>.cfg The <tool>.cfg configuration file contains specific data for a tool. The configuration data consists of options that are output into netlists for a particular tool.
CNEX_config.<tool> The CNEX_config.<tool> configuration file contains variables that define certain global variables that are used to create netlists for a particular tool's format.

Configuration File Locations

The configuration files can be located at the following locations:

de_sim.cfg

This file can be located in one or more of the following locations (high to low priority):

CNEX.cfg

This file can be located in one or more of the following locations:

Note
Do not modify variable values within the project directory CNEX.cfg file. The project directory CNEX.cfg will be updated with values automatically. User modifications may be overridden.

<tool>.cfg

This file can be located in one or more of the following locations:

CNEX_config.<tool>

This file can be located under any of the netlist_exp directories defined in the CNEX.cfg directory. Therefore, files can be in {%CNEX_INSTALL_DIR}/config , {%CNEX_CUSTOM_DIR}/config , or {%CNEX_HOME_DIR}/config . In addition, design kit directories are checked for a netlist_exp/config directory; therefore, you can place a CNEX_config.<tool> configuration file in a design kit.

Configuration File Descriptions

The configuration files are defined as follows:

de_sim.cfg

Modify only the USER_MENU_FUNCTION_LIST configuration variable within de_sim.cfg . This variable defines the custom menus within the ADS product. To add the Front End Flow menu, the following line should be added to de_sim.cfg if it does not already exist:

USER_MENU_FUNCTION_LIST=app_add_user_menus;app_add_cnex_menus

The function app_add_user_menus is a default function which you can create. Call this function first in the list to maintain the default ADS operability. The function app_add_cnex_menus will add the ADS Front End menu to the schematic tools menu.
If the value USER_MENU_FUNCTION_LIST is already set, add app_add_cnex_menus to the existing list (if not already present). The list is delimited by semicolons.

Note
If you add app_add_cnex_menus to the USER_MENU_FUNCTION_LIST , and you do not get the Front End Flow menu, make sure that USER_MENU_FUNCTION_LIST is not defined in a higher priority de_sim.cfg file without the app_add_cnex_menus function call.

Priority Override Example

If you have USER_MENU_FUNCTION_LIST=app_add_user_menus in the file $HOME/hpeesof/config/de_sim.cfg , and USER_MENU_FUNCTION_LIST=app_add_user_menus;app_add_cnex_menus in the file $HPEESOF_DIR/custom/config/de_sim.cfg , you will not see the menu. The value in the home directory de_sim.cfg file will take priority over the value set in the custom directory de_sim.cfg file.

CNEX.cfg file

The CNEX.cfg file contains all of the configuration variables for starting Front End Flow, and for specifying paths where component definitions and AEL can be found for different tools. The following variables can be set in CNEX.cfg :

CNEX_TOOL

The CNEX_TOOL configuration variable specifies which netlist format will be created. It is normally set by the Front End Flow dialogs, and stored within the CNEX.cfg file that is generated in the current project directory. Setting it in the default configuration file in $HPEESOF_DIR/config will set a default value for the initial tool to use with Front End Flow.

CNEX_CUSTOM_DIR, CNEX_HOME_DIR, CNEX_INSTALL_DIR

ADS files are ordinarily stored in the following locations:

CNEX_EXPORT_FILES

The CNEX_EXPORT_FILES configuration variable specifies the location of the AEL files nexGlobals and cnexNetlistFunctions . The default value, {%CNEX_INSTALL_DIR}/ae l, is the installation directory defined by the CNEX_INSTALL_DIR variable.

Note
Do not modify the default value of CNEX_EXPORT_FILES .

CNEX_STARTUP_AEL

The CNEX_STARTUP_AEL configuration variable specifies the AEL file name to load during ADS boot-up. The default value is {%CNEX_EXPORT_FILES}/cnexexport .

Note
Do not modify the default value of CNEX_STARTUP_AEL . If the variable does not point to a valid file named cnex_export , Front End Flow will not be loaded.

CNEX_DESIGN_KIT_PATH

The CNEX_DESIGN_KIT_PATH variable will be updated within the current project directory's CNEX.cfg file when design kit software is installed. The path variable will define only the paths to kits that contain a netlist_exp directory with a components subdirectory for the currently active tool.

Note
The value of this variable within the current project directory's CNEX.cfg file will overwrite the variable value in any other CNEX.cfg files.

CNEX_DESIGN_KIT_AEL_PATH

The CNEX_DESIGN_KIT_AEL_PATH configuration variable will be updated within the current project directory's CNEX.cfg file when design kit software is installed. The path variable will define only the paths to kits that contain a netlist_exp directory with an ael subdirectory for the currently active tool.

Note
The value of this variable within the current project directory's CNEX.cfg file will overwrite the variable value in any other CNEX.cfg files.

CNEX_EXPORT_FILE_PATH

The CNEX_EXPORT_FILE_PATH configuration variable specifies the locations that will be searched for Front End Flow AEL files. During netlist exporting, ADS will search the path and load files with the names cnexGlobals and cnexNetlistFunctions .

AEL has a single name space for all of its variables and functions. When a duplicate function or global variable is found in a file, it will overwrite the value that is currently in memory. This allows customizations to be done by creating new functions or global variables in a cnexGlobals file or cnexNetlistFunctions file. It is not necessary to duplicate all of the code in the earlier files, only the code that requires modification. It is also possible to add new functions or variables in the leaf files. This code will go into the single name space for AEL, and can be accessed globally in the same manner that the core Front End Flow API functions can be accessed.

Note
The path order determines the priority. Place the paths with the lowest priority first in the list. Files that are located later in the path will then be able to overwrite the settings that exist in the earlier files.

The default value of CNEX_EXPORT_FILE_PATH includes the definition for CNEX_DESIGN_KIT_AEL_PATH . It is not necessary to update this value to hard code the design kit locations.
This variable will also be used to load the GUI options file, cnexOptions .

CNEX_COMPONENT_PATH

The CNEX_COMPONENT_PATH configuration variable specifies the locations that will be searched for Front End Flow component definition files. When a component definition file is encountered during netlist exporting, a name will be constructed consisting of the component design name, with a suffix of .cnex .

The component path will be searched, until the first instance of a file with the name <component>.cnex is found. That component definition file will then be read and used to format the instance for the netlist.

Note
The path order determines the priority. Place the paths with the highest priority first in the list.

The default value of CNEX_COMPONENT_PATH includes the definition for CNEX_DESIGN_KIT_AEL_PATH . It is not necessary to update this value to hard code the design kit locations.

Tool

Tool Configuration Files

Every tool that is used with Front End Flow can potentially have its own netlist exporting options and netlist exporting options dialog. Because the options dialogs will be custom written, there is no set format for these configuration files. The following are some recommendations for the files:

CNEX_config Configuration File

Every tool supported by Front End Flow should have an CNEX_config.<tool> file created for it. This file should be placed in the config directory of %CNEX_INSTALL_DIR . The settings in the CNEX_config file specify certain global variables that are used by the Front End Flow netlister. The following are the valid CNEX_config variables:

CASE_INSENSITIVE_OUTPUT = TRUE | FALSE

The ADS schematic environment is case sensitive. Most Spice formats are not case sensitive. If CASE_INSENSITIVE_OUTPUT is set to TRUE , the netlister will map all netlist node names and instance names to lower case. The netlister will then check for conflicting names when the final netlist is created. If conflicts are found, a warning will be displayed that indicates the conflicting names.

The CASE_INSENSITIVE_OUTPUT default value is TRUE .

Note
Additional name mapping will not be performed to resolve name conflicts. Case sensitivity issues (name conflicts) will require manual name edits within schematics.

COMPONENT_INSTANCE_SEPARATOR

The COMPONENT_INSTANCE_SEPARATOR configuration variable specifies a separation charter to be inserted in between the Spice component type character and the ADS instance name. This can be used to increase readability of the final netlist (some Spice dialects use a leading character to designate the component type. For example R designates a resistor).
For example, specifying the underscore character, _ , would generate a Spice netlist instance name of _R_R1_ for an ADS resister component with the name R1 .
The COMPONENT_INSTANCE_SEPARATOR default value is null.

EQUIV = <node1> <node 2>

The EQUIV configuration function combines two nodes, <node1> and <node2> together into <node1> . This function is useful for nodes that are connected (common) on the schematic.
As many EQUIV lines can be placed in the configuration file as are necessary to define all of the equivalent node names. During netlist exporting, any time <node 2> is encountered, it will be renamed to <node 1> . In addition, this list is built internally by the ignore instance netlist exporting functions.

EXPRESSION_MAPPING = <ADS name> <netlist name>

The EXPRESSION_MAPPING configuration function maps ADS expressions, <ADS name> , to a user defined expression name, <netlist name> .
When a parameter value is encountered, it will be searched for expressions. Any expression that is found in the expression mapping list will be converted from the ADS expression name, <ADS name>, to the target netlist expression name, <netlist name> .

For example, in HSpice, the natural logarithm function is log , in ADS it is ln . To have the netlister change all instances of ln to log , add an expression mapping line of EXPRESSION_MAPPING = ln log in the CNEX_Config.hspice configuration file.
Place one EXPRESSION_MAPPING line for each expression to be mapped within the configuration file.

EXPRESSION_START, EXPRESSION_END

The EXPRESSION_START configuration variable specifies a expression start character and the EXPRESSION_END configuration variable specifies the expression end charter to be used for HSpice and PSpice netlist generation. (HSpice and PSpice require special characters to designate the start and end of an expression.)

ADS allows expressions in its parameter values, it may be necessary to have those expressions prefixed with the expression start designator, and suffixed with the expression end designator.
For example, if EXPRESSION_START is set to ` and EXPRESSION_END is also set to ` , and an instance value of R=RVal1+RVal2 is specified on an ADS resistor, the value output to the netlist would be R='RVal1+RVal2' .
The default is to have no expression start or end designators.

GROUND

The GROUND configuration variable specifies the global ground node name.
In ADS, node 0 is the global ground node. All instances of node 0 are mapped to the value of the value of GROUND .

For example, if it is known that the layout uses GND as the ground node, set the GROUND value to GND . All nodes named 0 will be output as GND .
The default is no node 0 name mapping.

LINE_COMMENT

The LINE_COMMENT configuration variable specifies the character to output at the beginning of comment lines. The default value is *.

LINE_CONTINUATION_CHARACTER

The LINE_CONTINUATION_CHARACTER configuration variable specifies the character used to declare a line continuation.

If the maximum line length for the netlist is exceeded, a line continuation will be output. Different tools support different methods for declaring a line continuation. This will either be output at the end of the current line, or at the beginning of the next line, depending on the LINE_CONTINUATION_MODE variable.

The default LINE_CONTINUATION_CHARACTER value is + .

LINE_CONTINUATION_MODE

The LINE_CONTINUTATION_MODE configuration variable specifies how the continuation character will be output when a continuation line is required. A value of 0 will be output the continuation character at beginning of the next line. A value of 1 will be output the continuation character at the end of the current line. Values above 1 are reserved for future use.

The default LINE_CONTINUTATION_MODE value is 0 .

MAX_LINE_LENGTH

The MAX_LINE _LENGTH configuration variable specifies the maximum line length that will be output before a line continuation character is output.

The default MAX_LINE _LENGTH value is 1024 characters.

NUMERIC_NODE_PREFIX

The NUMERIC_NODE_PREFIX function adds a specified prefix to system defined node names.

ADS supports the following two type of node names:

SCALAR_TO_SCIENTIFIC = FALSE | TRUE

The SCALAR_TO_SCIENTIC function maps scalar quantities into scientific notation.
The SCALAR_TO_SCIENTIC function is useful if your tool's netlist format does not support scalars. See SCALAR_UNIT_MAPPING for information on customizing scaler mapping.
The SCALAR_TO_SCIENTIC default value is FALSE . (No function line present equals FALSE .)
For example, if SCALAR_TO_SCIENTIC is set to TRUE , 1n would be output as 1e-9 .

SCALAR_UNIT_MAPPING = <ADS Scalar> <netlist scalar>

The SCALAR_UNIT_MAPPING function maps specified scalar quantities, <ADS Scalar> , into the specified representation, <netlist scalar> .
Use the following mapping guidelines:

 

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

Contents
Additional Resources