Adding Simulation Setups to an IFF File

This chapter describes the procedure for using the Agilent Library Translator to modify the LMS symbol IFF file so it will contain information that ADS needs in order to simulate the LMS components.

IFF File Settings for ADS

The IFF file format enables you to add user attributes onto every IFF directive. These user attributes can be interpreted differently by different IFF importers. There are some special user attribute settings that are used by the ADS IFF importer. Adding these special settings allows the IFF reader to set up simulation attributes and other component attributes during IFF import.

Why is this useful? IFF will overwrite all components that are imported into ADS. If you manually modify your component definition settings in ADS, and then do an import, you will lose your modifications. If the proper settings are in the IFF file when you perform your import, the component definition settings will be created correctly during the IFF import.

Special user attributes can be set on any IFF record, but ADS has special user attributes for a small subset of the IFF records. The special user attributes have been broken down by the IFF record that they are appropriate for in the following paragraphs.

CIRCUITPAGE

HPEESOF_DESIGN_CODE - This value should be set to an integer, currently either -1 or 1. The value 1 corresponds to the circuit being an Analog/RF design. In the future, a new value will be specified, that will designate that the circuit is a DSP design. The value -1 specifies that the design can be used in any type of ADS design, Analog/RF or DSP. Currently, the value is ignored by ADS. All circuits are imported and represented as Analog/RF designs.

Example:

CIRCUITPAGE|/amplifier_prj:file/PA:design|125|125|12.5|OFF|in/100| HPEESOF_DESIGN_CODE =-1

CON

CON_ID - This is actually a Cadence DFII property, not an ADS property. But it is a Cadence property that is used in conjunction with ADS. This is the net name that was used by the port instance in Cadence. ADS does not force the net name of ports to be identical to the name of the port. Additionally, ADS only has one node for ground (0), while Cadence allows multiple names (gnd!, agnd!, ...). The CON_ID value is interpreted by Cadence during IFF import, so that a ground CON record can be resolved to the original Cadence library component, and, more rarely, so that a port can have its name kept constant. ADS does not do anything with this value, it just stores it on the port records for later retransmission to Cadence.

CDSiotype - This is actually a Cadence DFII property, not an ADS property, but it is a Cadence property that is used in conjunction with ADS. ADS has only one type of port, and it is essentially an input/output port. Cadence has three standard ports (ipin, for input port, opin, for output port, and iopin, for input/output port). Because the symbol pins have their I/O direction on them, it is very important for the ports to be recreated with the correct I/O type when imported from ADS after a "round trip" from Cadence to ADS and back to Cadence. If the standard connectors are used, the I/O type would be lost, because multiple connectors get mapped to the single ADS connector. The CDSiotype is a property that is added, that gets interpreted when being read into Cadence. The value should either be ipin, opin, or iopin, and allows the Cadence IFF importer to change the ADS standard connector back into whatever was originally placed in Cadence. The value will be the name of the Cadence port type that was used (typically ipin, opin, or iopin, although it can be different from this if custom ports have been generated).

CDSiorot - This is actually a Cadence DFII property, not an ADS property, but it is a Cadence property that is used in conjunction with ADS. This property actually dates back to Series IV, and is not as important now, but still gets used. In Series IV, the port was symmetric for all rotations - it was a square, with the connection at the center. In ADS and Cadence, the port is not symmetrical. The goal of this property was to maintain the original Cadence rotation, so that when a design was returned from ADS, the non-symmetric ports could be returned to their original Cadence rotation. ADS causes additional problems, because now users may rotate their port after import if they don't like how the schematic appears after an import, and that new rotation may not correspond well to the Cadence port type. The value will be the Cadence rotation, which is one of R0, R90, R180, R270, M0, M90, M180, M270.

Example

CON|0|25|3|1|OTHER FONT|0|0|base|0|0|0|0|T|T|N| CON_ID =base| CDSiotype =iopin| CDSiorot =R90

SCIONPAGE

ADS_ITEM_ART_DATA - If ADS_ITEM_ART_TYPE is 2 or macro_artwork, this value should be set to the name of the AEL artwork function that renders the layout. If ADS_ITEM_ART_TYPE is set to 1, or fixed_artwork, this value should be set to the name of the design file that contains the layout definition for the component.

ADS_ITEM_ART_TYPE - This is an integer value that tells ADS what the artwork (layout) type for a component is. It should be set to one of the following three values: The value fixed_artwork, or 1, means that there is a design file that contains a non-varying layout definition for the component. The value macro_artwork, or 2, means that the layout is defined parametrically by an AEL function. The value no_artwork, or 3, means that there is no layout definition for the component. You should not normally set the value to 0 for IFF imports.

ADS_ITEM_ATTR - This is a bit-interpreted long integer that tells ADS what attributes a component has. Each of the 32 bits in the integer corresponds to a single attribute. Setting multiple bits to 1 will set multiple attributes. Typical values would be 0, corresponding to no attributes (a primitive), and 16, corresponding to a hierarchical component (i.e. it has a schematic and/or layout). There is no listing of the bit attributes at present, and they can change with each release. To find out what the attributes of certain items are, you should export those components to IFF, and see what the value of ADS_ITEM_ATTR is for any given component.

ADS_ITEM_ATTR_EX - As of ADS 1.1, there were not enough bits available to define the necessary attributes for components. So, another long integer was added to the ADS component definition that could contain an additional 32 bits of attributes. As with ADS_ITEM_ATTR, multiple attributes may be set by setting multiple bits to 1 simultaneously. This value will usually be one of two values, 0 (if you have a schematic), or 32 (if you have a primitive, setting this value to 32 will prevent the schematic environment from allowing a user to push into the component). There is no listing of the extra attributes at present, and they can change with each release. To find out what the attributes of certain items are, you should export those components to IFF, and see what the value of ADS_ITEM_ATTR_EX is for any given component.

ADS_ITEM_DATE - This should not be set via IFF. It represents the last modification time for the component. Setting this value will make no difference, because the value will be changed when the new component is saved. It can be useful for doing time stamp checks.

ADS_ITEM_DIALOG_DATA - This value should not be used. Unless you use something other than "Component Dialog" for the component edit dialog, it is ignored.

ADS_ITEM_ICON - The "icon" is the name of the bitmap file that is used for a palette group. In the latest code, this will not normally matter (the palettes are now generated with independent AEL code, not the palette_group function call).

ADS_ITEM_LABEL - The label is the text that is displayed in the window header of the AEL component edit dialog. The value can have as many spaces as you wish. You should not use quotes in your label.

ADS_ITEM_NET_DATA - This value allows you to specify what simulator component will represent the component when netlisted. For example, if your component is res , and this value is set to R , the simulator component used for ADS will be R . If the value is not set, ADS will automatically set the item definition to use the name of the component for this value. This value is ignored if a custom netlisting function is used.

ADS_ITEM_NET_FORMAT - This is a string value that is interpreted by ADS for netlisting. For definitions of the percent language interpretations, consult the AEL programmer's reference. Unless you really know what you're doing, it is recommended that you not set this value, so that ComponentNetlistFmt will be used automatically. For more advanced netlisting, a netlist callback function should be written.

ADS_ITEM_NETLIST_CB - This property allows you to specify a custom AEL function that is used for each instance during netlisting. It is not necessary to specify a custom function, and for schematic instances, it is not recommended that they be used. The value is the name of the AEL function to use (e.g. ADS_ITEM_NETLIST_CB=generic_netlist_cb).

ADS_ITEM_NETLIST_ARG - If a custom AEL netlisting function has been specified for a component, this property allows you to specify the user arguments that will be passed to that function. The instance handle will always be passed as the first argument, the second field is an optional user specified argument, and the third argument is a handle to the callback definition. To pass multiple arguments, you must specify a list that is passed, instead of a single argument.

ADS_ITEM_PREFIX - This property allows you to specify how you wish to have instance names prefixed. For example, if you have a resistor, and wish all instance names to begin with R , you would specify ADS_ITEM_PREFIX=R.

ADS_ITEM_PRIORITY - This property allows you to specify the netlisting priority of a component. Unless you want something to always print at the top of the netlist, this value should always be set to -1. If the value is not -1, and you place a component in a subcircuit, the component will not print at the top of the subcircuit definition, it will print at the top of the netlist (i.e. outside of the subcircuit definition).

ADS_ITEM_SCHEM_NAME - This is the name of the design file that the component came from. It is not used during IFF import.

ADS_ITEM_SIMTYPE - This specifies what type of component this is. A value of 1 means Analog/RF, a value of -1 means the component is valid for Analog/RF or DSP. DSP only is currently undefined.

ADS_ITEM_SYMBOL_NAME - This property allows you to specify an alternate design file that will contain the symbol graphics for the component. This allows a single symbol to be shared amongst several component definitions. For IFF transfers, it is not recommended that this be done, because the IFF code places properties on the symbols that allow designs to reuse the proper symbols in remote environments.

Example

SCIONPAGE|/hpeesoflib:file/R:design| ADS_ITEM_NAME =R| ADS_ITEM_LABEL = Resistor| ADS_ITEM_ATTR =0| ADS_ITEM_ATTR_EX =32| ADS_ITEM_DIALOG_NAME = Component Parameter| ADS_ITEM_PRIORITY =-1| ADS_ITEM_PREFIX =R| ADS_ITEM_DIALOG_DATA =*| ADS_ITEM_NET_FORMAT =%8b%29?R%:"%p"%;%9e:%t %# %44?0%:%31?%C%:_net%c%;%;%e %0b%r%8?%29?%:%30?%p %:%k%?[%1i]%;=%p %;%;%e%8e %9b%r%8?%29?%:%30?%p %:%k%?[%1i]%;=%p %;%;%e%e| ADS_ITEM_NET_DATA =R| ADS_ITEM_SCHEM_NAME =SYM_R| ADS_ITEM_ART_TYPE =0| ADS_ITEM_ICON =R| ADS_ITEM_DATE =976770674| ADS_ITEM_SIMTYPE =-1

Note
The above example will be a single line in an IFF file.

SCIONOBJ

IFF_PROPERTY_MAPPING = <name> | <mapped name> | <position> | <case code> , <name 2> | <mapped 2> |...

This property sets up three distinctly different things. First, it allows for a property with a name in the IFF file to be mapped to a new name in the ADS item definition. This should only be used to rename property names that are illegal in ADS, and generally, shouldn't be used at all. To set the position code without name mapping, set name and mapped name to be identical.

Secondly, it allows a specific parameter order to be set. For example, if you wish the parameter "R" to be the first parameter, the position code would be set to 1. If the value is 0, it will be ignored. If multiple parameters have the same position code, only the first one will be used, the remainder will be placed in the order that they are encountered. The position of a parameter can also be set by specifying the ADS_INDEX parameter modifier.

Third, it allows for case mapping. The value should be set to "yes" if a value is meant to be case sensitive, or no if it is meant to be case insensitive. This is important if a non-case sensitive environment is used, and the IFF exporter for that tool does not force the case of its parameters and values to one particular case.

SCIONOBJ Property Modifiers

The following properties modify a single property in the SCIONOBJ record. To generate a property modifier, the parameter name should be suffixed with the tool code, and the attribute code. For ADS, the tool code is ADS. The property modifiers have an additional purpose. If a property modifier is encountered, the property will be imported into ADS as a parameter (i.e. it gets a create_parm entry for it in the item definition file). If no property modifiers are encountered, the property will become a symbol property.

<param>_ADS_ATTR - This is a bit-interpreted long integer. Each bit of the integer represents a different parameter attribute. Currently, there is no list of the attribute values, and the values can change with each ADS release.

<param>ADS_FORM_NAME - This property specifies what the default form name for the parameter will be. For editable fields, this will normally be _StdForm (which corresponds to an edit text box). If a drop-down list of fields is intended, the value of ADS_FORM_NAME should correspond to the value of the parameter. For more information on forms and form sets, consult the ADS AEL reference manual.

<param>_ADS_FORMSET - This property specifies what the formset for the parameter will be. For parameters consisting of a single editable field, the form set will consist of a single form, StdForm. However, if a dropdown list of selectable values is desired, the formset will consist of a list of many different forms. This value should be the name of the formset itself, not the label of the formset. For more information on forms and form sets, consult the ADS AEL reference manual.

<param>_ADS_INDEX - This property specifies when a parameter should appear in the parameter list. As an example, if you have a parameter Model, and wish it to be the first parameter in the parameter list, you would specify Model_ADS_INDEX=1. It will then show up as the first parameter in the edit dialog box, and potentially more important, be the first parameter encountered by the netlister.

<param>_ADS_LABEL - This property allows you to specify a label for a parameter. In the standard edit component dialog, when a parameter is selected in the parameter listbox, the status window at the bottom of the edit dialog box will be updated to contain the label.

<param>_ADS_MODIFIED_CB - This property allows you to specify the name of a custom AEL function that will be called any time the value of the parameter is modified.

<param>_ADS_MODIFIED_CB_ARGS - This property allows you to specify a value that will be passed in as the second parameter to the parameter modification callback that was specified in <param>_ADS_MODIFIED_CB. If <param>_ADS_MODIFIED_CB is not specified, the property is ignored.

<param>_ADS_UNIT - This is an integer value between -2 and 11, which specifies what the parameter unit type is for the specified parameter. For example, a value of -1 means unitless_units (i.e. the value does not have a unit), 1 corresponds to resistance as the unit type, etc. For a list of the available unit types, consult the ADS AEL reference manual.

Example

SCIONOBJ|M|R|R=50Ohm| R_ADS_UNIT =1| R_ADS_LABEL =Resistance| R_ADS_ATTR =3072| R_ADS_FORMSET =StdFileFormSet| R_ADS_INDEX =1| R_ADS_FORM_NAME =StdForm| IFF_PROPERTY_MAPPING_ADS =R|R|1

Note
The above example will all be on a single IFF line.

SYMBOLPAGE

HPEESOF_DESIGN_CODE - This value should be set to an integer, currently either -1 or 1. The value 1 corresponds to the circuit being an Analog/RF design. In the future, a new value will be specified that will designate that the circuit is a DSP design. The value -1 specifies that the design can be used in any type of ADS design, Analog/RF or DSP. Currently, the value is ignored by ADS. All circuits are imported and represented as Analog/RF designs.

Example:

SYMBOLPAGE|/amplifier_prj:file/PA:design|0|0|125|125|12.5|OFF|in/100| HPEESOF_DESIGN_CODE =-1

SYMPIN

IFF_PIN_MAPPING = <iff name> | <ads name>

This property contains the name of the symbol pin in ADS, if it was different from the symbol pin name in the IFF file. For the most part, ADS allows any string pin name, so this is almost always going to be blank.

IFF_SYMPIN_DIRECTION = input|output|inputOutput

This property is used by Cadence DFII and ADS so that the correct I/O direction will be set up for the symbol pins when a symbol is imported into Cadence or ADS. Note that ADS does not have a corresponding I/O direction property for the standard ADS port, so setting this value does not allow for any extra checking to happen between the schematics and the symbol pins, as is done in Cadence DFII.

Example:

SYMPIN:0:0:50:0:OTHERFONT:0:0:out:0:0:F:T:1:F:0:0:ORIGINAL: IFF_SYMPIN_DIRECTION =output: IFF_PIN_MAPPING =out|adsout

When ADS imports the symbol pin, it will get an I/O direction of output, and will be named adsout because of the pin mapping.

Note
The above example will be a single line in an IFF file.

The Library Translator

The Library Translator is a product provided with ADS that enables you to modify IFF files prior to importing them into ADS. The tool provides a graphical user interface, that contains all of the available component settings for an ADS component.

Why Use the Library Translator?

As was noted inIFF File Settings for ADS, there are special user attributes that can be added in to an IFF file, so that components will not need to have component settings set up after the files have been imported. The Library Translator has all of the settings that are available for IFF files built in to its user interface. This means that, instead of having to write your own special scripts to add the settings you want into IFF files, you can use a pre-made program that will do it for you.

The Library Translator is also set up to understand how Mentor Graphics will be sending its data to ADS. Mentor Graphics will send each individual part number as a separate symbol, and can send multiple symbols for each part number. Generally, each part number does not need to be modeled individually; the parts are generally part of a family of components, that will all behave similarly, albeit with slight differences based on the properties of a particular part (e.g. a family of resistors will have identical parasitics because the footprint is the same, but each part number in the family will have a different inherent resistance).

The Library Translator is able to store settings for future re-use. When new part numbers are added to a family, it is not necessary to recreate the exact settings for the new part; the existing family settings can be applied to the IFF file, and the new part will import and act like all the other members of its family.

Starting the Library Translator

The Library Translator is started by typing in the command hplt in a Unix terminal window. On a PC, it can be started by typing in the command libtrans , or selecting the Library Translator menu option on the ADS Tools submenu. When the Library Translator is started, you should get a window that looks like Library Translator at startup. The Library Translator will not work without having data available, so it forces you to specify a file that contains component data when the program is launched.

Library Translator at startup

Opening an IFF File for Modification

When the Library Translator is first launched, you are forced to select a file that contains data. If you start the Library Translator from ADS, you can choose to read data from a project, or from dsn files. For the purposes of translating IFF files from Mentor Graphics, these options will not be discussed. It is assumed for the time being that you will always be reading data from an IFF file.
To get to the Open IFF file dialog, either start the Library Translator (which will automatically bring up the file select dialog), or select File > Open > IFF File if you wish to open a new IFF file. If you open a new IFF file after working on data, you will be prompted to save your settings before the new file is read in. The components that you were working on will then be purged from memory, so that only the components in the specified IFF file will be available for modification.

Open IFF File Dialog

In Exporting Library Parts from Mentor Graphics, it was explained that Mentor Graphics will create three files during an IFF file export, LMSsymbols.iff , LMSgeoms.iff , and parts_mapping_file.txt . These files are created in a directory, hpxfer.ltk , in a user specified location. For the Library Translator, you should now select the LMSsymbols.iff file. You cannot use the LMSgeoms.iff file. It does not contain the appropriate data, and parts_mapping_file.txt is not an IFF file and cannot be used by the Library Translator. Continuing with what was started in Exporting Library Parts from Mentor Graphics, the LMSsymbols.iff file is selected. That file was generated from the sample LMS library provided by Mentor Graphics, and the capacitor family of parts was selected for export. After selecting the LMSsymbols.iff file, and pressing the OK button, the Library Translator reads in the parts available in the file, and updates its interface to show the families of parts that have not been set up. This is shown in Library Translator after reading in LMSsymbols.iff. Notice that the Untranslated Components section now has a single list entry, capacitor, which was the Mentor Graphics category name for the capacitor part numbers that were exported.

Library Translator after reading in LMSsymbols.iff

Setting Up Component Families

Once the IFF file has been read in, it is now necessary to create settings for the component that are appropriate for ADS simulation. Regrettably, Mentor Graphics will most likely have nothing set up that is usable for ADS simulation. This has more to do with Mentor Graphics not being an RF environment than with Mentor Graphics not being capable of creating simulation settings. It is very important to keep in mind that, whatever was set up in Mentor Graphics for simulation will not be appropriate for ADS, and should probably be ignored.

Looking at the Library Translator interface displayed in Library Translator after reading in LMSsymbols.iff, you can see that the interface is divided into two major segments. The left side shows the components that have not been set up (Untranslated Components), and the components that have been set up (Components Translated for ADS). The right hand side contains a single tabbed dialog, specifying ADS. This tab contains many elements that allow you to do all of the component setups.

Note
The Library Translator is set up to potentially allow for multiple tools to be set up simultaneously - that will not be discussed in this document. This document assumes that you will only create simulation setups for ADS.

The ADS tab is broken down into 5 areas: component simulation settings, pin attributes, parameter attributes, artwork attributes, and component attributes. Each of these areas will be discussed individually, as they apply to a Mentor Graphics library setup.

Note
The following descriptions are tailored to Mentor Graphics only. While the descriptions may, in some cases, be appropriate to setting up IFF files from other tools, it is not recommended that you follow the advice in this manual if you are not setting up a Mentor Graphics library.

Component Simulation Settings

The first, and most critical, part of setting up the component is to specify what type of device your component will simulate in ADS. This is done via the ADS Part option. The ADS Part option enables you to choose from a number of pre-defined ADS simulator primitives. It also allows you to choose some specialized component types that will define the component as a special device in ADS.

Component Simulation Settings Area

In Component Simulation Settings Area, the ADS Part is currently set up as a type of NETWORK. This is the default setting, and is most likely how you will want to set up your device. When ADS Part is set to NETWORK, it means that the component is expected to be hierarchical, and will have a schematic network made up of other ADS primitive devices to represent an appropriate simulation model for the component.

It is possible to choose other ADS parts by selecting the dropdown box, and picking what seems like an appropriate component. As an example, by selecting the "C" component for the ADS part, you would be designating that you want the capacitor to simulate as an Ideal capacitor.

Why not make your device an Ideal component? Generally, its not an accurate portrayal of the device in a high frequency environment. The capacitor has a decidedly non-ideal physical representation, which can be seen by viewing its footprint in Mentor Graphics. It has very large pads for connecting to the metal lines of the PC board. Internally, it may have contact resistances, bondwire inductances, bondwire capacitances, or any number of other package parasitics. Additionally, the device itself may have parasitic effects that will show up as the frequency goes up high enough (a parallel parasitic resistance with the main capacitor, for example). At low frequencies, these parasitics are insignificant and can be ignored. At RF frequency, the parasitics can have an effect on the circuit, and should not be ignored.

Accounting for parasitics can basically be done in one of two ways. The first, and much simpler, way is to use test equipment to generate an S-Parameter file for the component, and then choose the S2P primitive for the device type. If you have a component that would require more than 2 ports plus a common port, though, the Library Translator does not have a device that you could specify, so that won't work.

The more general solution, that should work in all cases, is to specify that the device is a NETWORK, and to then use the ADS environment to generate a schematic that, when simulated, gives accurate results versus what the test equipment shows. Creating such a network is beyond the scope of this manual, but Setting Up Components for Simulation in ADS, does have a brief discussion of what your circuit will need to have.

The important consideration at this point is not exactly what your schematic will be when you're finished. All that's important is that you realize that you are going to make a schematic to model your component in ADS. So first, you select that ADS part will be NETWORK. Next, you have to remember, you want a schematic that will be shared by all of the part numbers that are a member of your family of parts.

In Importing Library Parts from Mentor Graphics into ADS, it is shown that, after your import is complete, you will get component names that are a combination of the category name, the symbol name, and the part number. When a device is specified as a network, it will netlist and use the final ADS component name. That means that, for each device to use the same schematic, the same schematic would have to be copied into each ADS component. That would be pretty clunky. Fortunately, there is a better way. Below the ADS Part dropdown box are two check boxes.

The first check box is "Component is a primitive". This would be what you'd want if you were going to create a series of pre-made ADS netlists. For Mentor Graphics, that isn't what is recommended; leave that check box unchecked.

The second checkbox is "Use alternate design file". When the box is checked, the edit box next to the checkbox becomes enabled. What you should do is, check the "Use alternate design file", and then choose a name that will be your final schematic name that will model the whole family of components in ADS. For example, the capacitor components all came from the Mentor library bpl_rls_lib. So, in order to ensure a unique name, and to have a single schematic for all of the capacitor part numbers, the "Use alternate design file" checkbox is selected, and the name "bpl_rls_lib_capacitors" is entered as the design name to use. When netlisted, all of the parts in the capacitor family would now use bpl_rls_lib_capacitors as their schematic when they are traversed hierarchically. This does not mean that schematic will be created when the IFF file is finally imported - that must be done manually, either before or after the IFF file is imported.

One final thing that can be set up is the Component description. This is simply the label that will be shown on the edit dialogs, and does not need to be changed. By default, it will be the same as the component name.

Pin Attributes

Once the component simulation settings have been completed, the next step is to set up the pin attributes. This is done by selecting the Pins tab, so that the pin attribute elements will be shown.
On the left hand side of the pin tab, you can see the currently available pins. For the capacitor family, this turns out to be two pins, named NEG and POS. Notice that it is not possible to Cut NEG and POS. It is only possible to Add new pins at this point.

On the right hand side of the pin tab, the attributes for the currently selected pin are displayed.

There are two purposes to the pin attribute setup. One is layout synchronization setup. The other is simulation setup. A new capability (power pins) has been added, but this still will not alleviate the issues involved for all cases.

Pin Attribute Setup

The critical thing to remember about layout synchronization setup is the following. The special LMS import procedure, which is described in Importing Library Parts from Mentor Graphics into ADS, eliminates the need for any layout setups to be done in the Library Translator. All layout setup is handled during the special LMS import procedure. All you need to deal with in the Library Translator is the simulation setup.

As it happens, this means that, for Mentor Graphics, there is actually only one attribute that should be changed. This is the checkbox at the bottom, which says "Specify special netlisting order".
The special netlisting order should always be set for a Mentor Graphics library component. This is because, generally, until you have imported the component, you will not know what the layout pin order is supposed to be. If you follow the advice specified in Component Simulation Settings, you will be generating a schematic, which can have any port order that you want. All you have to do is make sure that the port order that you specify in the Modify custom netlisting order dialog matches the port order that you specify in the schematic.

Modify custom netlisting order dialog

By default, the netlisting order will match the pin numbering sequence. In the capacitor family, the symbols have specified that NEG is pin 1, and POS is pin 2. After the IFF import is finished, it may turn out that this will change because of what the layout file specifies that the pin numbers should be. Note that the layout file is the ultimate arbiter of the pin numbers because it gets its numbers from the mapping file used by Mentor Graphics to do layout in Boardstation, and it is necessary to make sure the pin numbers of ADS match up with what Boardstation will use.

The capacitor example does not have this, but it is also possible that the layout footprint can have more pins than the symbol has pins. This means that the pin sequence may not start with pin 1, and may not increment sequentially. The ADS standard netlister gets very confused if this is not the case; the custom netlisting can handle this without a problem, and guarantees that the component pin ordering will match whatever you specify.

The netlisting order dialog allows you to change the order of the pins, as well as to add or remove pins. If you wish to netlist the POS pin more than once, it just needs to be added. If you do not want to netlist the NEG pin, it can be removed. All that matters is that whatever order is specified matches the expected pin order for whatever is specified as the ADS part.
When the order is updated, the current netlisting order will be displayed in the section labeled "Current netlist output order" at the bottom of the pin attributes tab.

It is also possible to add in new pins. Generally, this would be done if it is necessary to have node information passed into a subcircuit, and the symbol does not have an available pin for it. For Mentor Graphics, it is recommended that global nodes be used to represent the extra information in the schematic. Because of this, the add pin dialog will not be discussed in this document.

Parameter Attributes

After the pin attributes have been set, the next step is to set up the parameter attributes. This is done by selecting the Parameters tab, so that the parameter attribute dialog elements are displayed. This is shown in Parameter Attribute Tab.

Parameter Attribute Tab

Note that for Mentor Graphics, you are not supposed to modify the values that are associated with a part number. Mentor Graphics parts are essentially not parametric, although certain cases exist (e.g. a potentiometer), where it might be desirable to allow for parameterization on the component.

Because there is generally no parameterization, you should not have to set up more than two parameters in this dialog. In Parameter Attribute Tab, the tab is seen to follow the typical dialog layout for the Library Translator - the attribute modifiers are on the right side of the tab, and the left side of the tab has a list of the available parameters. The right side dialog elements are updated to represent whichever parameter is currently selected.

For a Mentor Graphics component, you will usually only want to have two parameters available after the component has been imported via IFF. These parameters are GEOM and PART_NO.
The GEOM parameter is used in both Mentor Graphics and ADS to determine which footprint to use to draw the component in the layout. Some components have multiple footprints allowed, some have only one. In ADS, there is a special artwork macro function, that reads the value of GEOM, and draws the layout representation based on what is in the layout design file.

As an example, if the GEOM parameter is selected it will have the option Import as an instance property , set to true. Instance properties are stored on the symbol itself, do not show up in the edit parameter dialog, and are ignored by the synchronizer and the netlister. For Mentor Graphics parts, that is not what is wanted; instead, the GEOM property needs to be a parameter. This is done by simply unchecking the Import as an instance property checkbox. After this is done, the other tab elements will be enabled.
For the GEOM parameter, this is all that needs to be set. The LMS Import will override any other settings. Additionally, if the GEOM property is left as a property, the LMS import will automatically create a GEOM parameter.

What will not be changed is the parameter number, which is the first parameter tab element. The parameter number allows you to reorder all of the things you want to be a parameter, so they will show up in a particular way in the edit parameters dialog in ADS.

The PART_NO property should also normally be set up to import as a parameter, not a property. The parameter number can be set to whatever you want. The parameter label will be shown in the status bar of the ADS edit dialog, and can be set to whatever you want (avoid using commas and quotes in the value). In order to netlist properly, the unit type should be set to String. The Editable checkbox should be turned off (the part number is fixed for a specific Mentor Graphics part). Unlike the GEOM parameter, you will generally want to netlist the property number. This is done by activating the Property is netlisted checkbox. Everything else should be left as its default. What will happen here is that there will be a special component (Data Access Component, or DAC) in the schematic that will be set up for the part. The part number will be used as a unique index into a file that will contain all of the other parameters for the part number. This is described further in Setting Up Components for Simulation in ADS. Keep in mind that, while this will most likely work, it has been discovered that the PART_NO property does not necessarily give enough information, and that it may be necessary to create custom functions that will derive a property that can be used as an index. Writing the custom functions is beyond the scope of this manual - if you require this, you must contact Agilent Technologies for a services contract, or for special training related to your particular library.

There is one other setting you may wish to make. The REF property in Mentor Graphics creates an instance prefix for Boardstation. This does not correspond exactly with the ADS instance prefix, but it is close enough. To have the REF property value used as the instance prefix, select the REF property, and activate the checkbox labeled "Use this property's value as the component prefix".

The rest of the properties can be ignored or deleted, although you may wish to set some of them up as non-netlisting parameters for annotation purposes. A property will default to being a property, so by doing nothing, the property will not become a parameter. If you do not wish to have the properties cluttering up the symbol, you can also select a property, and click the cut button. This will cause the property to be removed from the IFF file.

It is not recommended that parameters be added to a Mentor Graphics component. LMS will not maintain any user defined properties, so any data that is put onto a parameter that is added to the part will be lost when schematics are transferred from ADS to Mentor Graphics and then back to ADS.

Note
There is a lot of capability for parameter setup that has not been described here since it is not applicable for Mentor Graphics LMS parts.

Artwork Attributes

Artwork attributes can be set by selecting the artwork tab. This will bring the artwork attribute dialog elements to the front. There is one consideration. As was already mentioned in Pin Attributes, the special LMS tool kit IFF import will automatically set up the layout attributes for your parts. Any settings that are made in the Library Translator related to artwork will be overridden by the LMS tool kit import.

Component Attributes

The final step in setting up a component is to select the Component tab, which allows you to specify attributes that apply to the component in general. For a Mentor Graphics library, it is recommended that none of the default settings be changed.

Saving Component Family Settings

Once the component setup has been completed, it is a good idea to store the settings. There are two parts to storing a setting. First, the component settings should be made final, by selecting the component, and hitting the Translate Component button. This will move the component from the Untranslated Components list to the Components Translated for ADS list.

Next, the File > Save > Component Translation Table menu option should be selected. This will bring up a file dialog, that will allow you to specify which file to save the settings in (ctt is the recommended extension). The settings for all of the components that are in the Components Translated for ADS listing will be saved into the file.

Reusing Component Family Settings

After opening an IFF file in the Library Translator, you can re-read a previously saved Component Translation Table to re-use settings that were created in a prior Library Translator session. This is done by selecting File > Open > Component Translation Table . All of the components from the IFF file will be checked against the translation table. If the names match, the component translation will be applied to the component.
Note that the Component Translation Table only contains the component name. If you have multiple components from different libraries, which have the same component name, the Component Translation Table settings will be applied to both components, even though the translation may not be appropriate to both components.

Saving an IFF File with ADS User Attribute Settings

After all of the components have been translated, it is necessary to write out a new IFF file that will contain the user attributes. Because the program is written in AEL, it is not possible to simply add the new attributes into the existing file. You must select a new IFF file name. Note that the file functions provided by AEL will not always return the same full path for files in the same directory, so even though there is logic in the program to prevent you from overwriting the original file, it is still possible to overwrite your original.

Make sure to keep track of your new IFF file. When you import your design, you must make sure to specify the new IFF file, or you will not get components that have your settings attached to them.

 

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

Contents
Additional Resources