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):
- The project directory
- $HOME/hpeesof/config
- $HPEESOF_DIR/custom/config
- $HPEESOF_DIR/config
Front End Flow will follow the above priority, for example a variable in the project directory de_sim.cfg overwrites the value that is defined in $HPEESOF_DIR/config/de_sim.cfg .
CNEX.cfg
This file can be located in one or more of the following locations:
- The project directory
- $HOME/hpeesof/config
- $HPEESOF_DIR/custom/config
- $HPEESOF_DIR/config
| 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:
- Design kit directories
- $HOME/hpeesof/netlist_exp/config
- $HPEESOF_DIR/custom/netlist_exp/config
- $HPEESOF_DIR/netlist_exp/config

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 overwritten.
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:
- $HPEESOF_DIR
The $HPEESOF_DIR directory contains the ADS program as it was installed from the CD packages.
Note
Do not modify the contents of $HPEESOF_DIR . Patches will always install to $HPEESOF_DIR , overwriting any customizations.The CNEX_INSTALL_DIR configuration variable specifies the location of the installation files. The Front End Flow installer will always install the Front End Flow code to $HPEESOF_DIR/netlist_exp . To move the files from that location to a directory that is not in the ADS main directory tree, modify CNEX_INSTALL_DIR accordingly. This may be necessary if you wish to maintain multiple versions of Front End Flow simultaneously without using multiple ADS installations.
- Custom directory under $HPEESOF_DIR
The custom directory facilitates site wide customizations and settings. The custom directory contents are not overwritten when code patches are installed.
The CNEX_CUSTOM_DIR configuration variable specifies the location of the custom directory storage for the Front End Flow product. It can be set to point at any directory location. The value defaults to $HPEESOF_DIR/custom/netlist_exp . - $HOME/hpeesof
The hpeesof directory in the user's home directory facilitates user specific customizations and settings. The custom directory contents are not overwritten when code patches are installed.
The CNEX_HOME_DIR configuration variable specifies the location of the home directory storage for the Front End Flow product. It can be set to point at any directory location. The value defaults to $HOME/hpeesof/netlist_exp .
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 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:
- Make the option configuration variable match the option name.
- Booleans should be output as 0 and 1.
- Lists must be converted into strings with a delimiter.

Note
Do not output the values using the identify_value function This will make it difficult to interpret lists in the configuration file.
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:
- Wire label
The node names are explicitly defined by the user. The NUMERIC_NODE_PREFIX function ignores these node names. - System node name
Node names are system generated for any net that does not have an explicit label, or is not attached to ground. The system node names are numbers only. If you are using a tool that does not support numeric node names, use the NUMERIC_NODE_PREFIX function to add a prefix to all system defined node names.
The default value for the node prefix is _net .
Note
In ADS netlists, the _net prefix designates that the node name will not be saved to a dataset.For example, if the NUMERIC_NODE_PREFIX is set to _net , and a node is encountered in ADS with the system defined node name 27 , the netlister will output the value _net27 for the new node name.
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:
- Place one line into the file for each scalar that is to be mapped.
- Include units and scaling value (for example, MHz) for the ADS scalar quantity, <ADS Scalar> .
- If you want nothing output for the scalar, leave the second field blank (for example, SCALAR_UNIT_MAPPING = A ).
When the value is output to the netlist, any occurrences of the ADS scalar/unit will be replaced with the netlist equivalent.
Privacy
Statement
|
Terms of Use
|
Legal |
Contact Us
|
© Agilent 2000-2008 ![]()