Using AEL with Component Libraries
Each design type comes with a pre-defined component set. The set includes all the basic components that a simulator understands, such as transmission line components, lumped components, filters, active devices, etc. For each component, an AEL description exists which describes the component to the design environment and defines the component's interface to the simulator.
In the design environment, the simulator and the front-end schematic and layout capabilities are separate programs which communicate by sending data back and forth through an Interprocess Process Communication (IPC) protocol. The data that is simulated by the simulator is sent as a netlist. A netlist describes the schematic and its simulation controls in a form understood by the simulator. When you create new parts, you must create a netlist format string for the component that corresponds to the syntax expected by the simulator. This syntax is described in Format Strings.
Some of the new parts that you can create are:
- Components linked to the simulator using the user-compiled model feature of the simulator.
- Components that reference specific measured data files, such as in-house or custom active devices.
- Components with specific artwork requirements, such as chip capacitors, printed resistors and etched inductors.
- Parametric subnetworks, which model commonly-used devices.
In order to access the new components through the program, you must add the components to an existing library or create a new library. The design environment becomes aware of new parts through a combination of configuration file changes.
| Note For details, refer to the section "Building User-Compiled Models" in the Circuit Simulation manual. |
Using AEL for Library Definition
The libraries of simulation components are defined for the program through AEL. Adding new libraries to the program requires creating or changing AEL files. AEL definition files are interpreted when the program is invoked or after attaching to a project. The AEL files contain the definitions for the new library parts and for the groups used to present the parts through the palettes and library lists.
The design environment refers to parts as components. The definition for a new component specifies information such as:
- Component name
- Descriptive label
- Component parameters
- Symbol used to represent the component in the schematic
- Artwork used to represent the component in the layout
- Syntax used to represent the component in the netlist
- How the components parameters are displayed in the schematic
- Image (icon) used to represent the component in a palette (if the part is used in a palette)
The program refers to libraries or palettes as groups. The definition of a group specifies:
- Group name
- Descriptive label
- List of components in the group
The AEL definitions for components and groups take the form of function calls that are interpreted sequentially from the AEL file. The AEL functions required to define the program components and groups are described in a later section.
You should not modify the AEL files that are shipped with your product. Instead, create new AEL files to hold the AEL definitions for new or altered parts and libraries. You can use any text editor to create and modify the AEL files. New files can have any name you choose, but you must use the extension ael; for example steves.ael is an appropriate name for a new AEL file.
| Note If you do modify the shipped AEL files, create backups of the original files first, in case you need to restore them. |
Although AEL files can be located anywhere in the file system, usually these files are located in a directory convenient to all users. Since the $HPEESOF_DIR/custom directory is not modified by a new release installation, all system-wide customized component definitions can be stored there. You can locate the files in an application-specific sub-directory, such as $HPEESOF_DIR/custom/circuit/ael, $HPEESOF_DIR/custom/adsptolemy/ael, or $HPEESOF_DIR/custom/de/ael.
If the files are used by a particular user (or all users of a particular project), locate the files in the $HOME/hpeesof/circuit/ael, $HOME/hpeesof/adsptolemy/ael, or $HOME/hpeesof/de/ael directory. For a particular project, locate the files in the project's networks directory.
The environment variables must be set properly to allow the program to find and read the new AEL files. For details on the environment variables that are used, refer to the section, Environment Configuration Directories.
When adding parametric subnetworks as new parts, the design environment does much of the AEL work for you. The program creates an AEL definition file in the current project when a network design is saved. This file defines the parametric subnetwork component and assigns it to a library. New parametric subnetworks automatically become part of the current working project. Assignment of the symbol, artwork, and library list group can be made from within the program before the network is saved. Parameters can be added to a network from within the program. However, you can not define palettes for parametric subnetworks from within the program. If you want to add your parametric subnetworks to a palette, you must alter the AEL files created by the program or create your own AEL definition file.
Environment Configuration Directories
The environment configuration file, de_sim.cfg, contains many definitions required by the program. Directories that contain the environment file are:
$HPEESOF_DIR/config Environment variables defined at this level are effective for all sessions unless overridden by custom, user or project definitions.
$HPEESOF_DIR/custom/config Environment variables defined at this level are effective for all sessions unless overridden by user or project definitions. This directory allows site-wide modifications without changing the installation directory $HPEESOF_DIR/config.
$HOME/hpeesof/config Environment variables defined at this level override those defined in the system environment variable files, but only for the current user.
Project Environment variables defined at this level override those defined in the both the user and system environment variable files.
Using Environment Variables
Environment variables tell the program which AEL files to read, the directories where they are located, and directories where associated design files are located.
AEL files are located and read by the program according to the values of environment variables that are defined in environment file, de_sim.cfg. The names of new AEL files must be added to the definitions in de_sim.cfg for the program to know about them and read them. These environment variable definitions can be changed by editing the de_sim.cfg file.
Each definition has the form of a variable name followed by an equal sign and a value (MY_NAME=my_value). The value is text, possibly a single name or a list of names separated by colons or semi-colons. Values should not have any embedded spaces.
The important configuration variables are: SIMULATOR_AEL, AEL_PATH, USER_AEL, LOCAL_AEL, USER_DSN_PATH, and SITE_AEL. For detailed information on these variables, refer to Customizing Configuration Variables in the Customization and Configuration manual.
Privacy
Statement
|
Terms of Use
|
Legal |
Contact Us
|
© Agilent 2000-2008 ![]()