Creating Designs

This chapter describes creating designs in the Advanced Design System environment. The starting point of this chapter assumes you have started the program, as described in Program Basics, and that you are familiar with the project directory concept and design file management, as described in Managing Projects and Designs.

Although you can perform a wide variety of editing operations on your design as you create it or once the design is complete, you can set numerous options before you begin your design work to minimize the need for editing. These options can be set through the Preferences dialog box (Options > Preferences) from a design window. For more information, refer to Setting Design Environment Preferences in the Customization and Configuration documentation.

For details on adding a drawing sheet to the design window, refer to the section on Adding a Drawing Sheet under Annotating Designs.

Defining Units for a Design

The design environment uses Units in a number of ways, differentiated as follows:

Placing Components

You create designs by placing items (such as, components, data items, measurements, sources, simulation controls, etc.) in a design window. There are several ways to access these items:

Although there are several methods of access, the basic steps for placing a component are the same.

To place a component in the design window:

  1. Locate and click to select the component.
  2. Move the pointer into the drawing area and click the orientation button to rotate the symbol as necessary.
  3. Click to place the symbol in the desired location.
    Note
    If you click more than once, in a single spot in a design, ADS will cycle through selecting items that are selectable from the original clicked spot. Once you click away from that spot, cycle select will stop.

Browsing for Components

You can view the components that make up any individual library by selecting the library name in the Component Library window. The libraries listed vary with the current design type - Analog/RF versus Digital Signal Processing.
In the following figure, the left side shows the top-level libraries (for the Analog/RF design type) collapsed; the right side shows a partial listing of the Analog/RF sub-libraries as it appears expanded.

To browse for a component:

  1. From any design window, click the Library button on the toolbar (or choose Insert > Component > Component Library).
  2. Click the plus sign (+) in front of a library name to expand it and view its sub-libraries.
    In addition to these libraries, a library named Frequently Used Components is filled, as you work, with the components you place, enabling you to quickly place additional instances of those components. Note that the Frequently Used Components library is project-specific; the library that is created in any given project directory will remain until you explicitly clear it.
    The Subnetworks library provides access to all the designs in the current project for use as subnetworks in other designs in that project. To enable access to designs in other projects, create a hierarchical project as described in the section Creating a Hierarchical Project under Managing Projects and Designs in the Schematic Capture and Layout documentation.
  3. Select a sub-library and its components are displayed in the Components section of the window. By default, a brief description for each component is also displayed.

    Additional component information is available once you select a library. For details, refer to the section, Customizing the Component Library Display.

To place components from any library:

  1. Select the library to display the list of components.
  2. Select the component you want to place, move the pointer into the drawing area, and click to place it.
    Hint
    To clear the current list of frequently used components, select the Frequently Used Components library and choose Edit > Clear Frequently Used Components.

Searching for Components

You can search for a component (or group of components with something in common) based upon text that is part of the component name or description.


To search for a component:

  1. From any design window, click the Library button on the toolbar (or choose Insert > Component > Component Library).
  2. In the Component Library window, choose Tools > Find.
  3. Type the word or phrase you want to search for.

    Note
    Only the library currently highlighted in the Libraries pane will be searched. By default, All libraries are searched. To narrow the search, select a specific library or sub-library. Your choice is reflected in the Look in field.
    When the search is complete, the components and/or descriptions matching the search criteria are displayed.
    The following figure shows the results of a search for the word pulse in all libraries.

To limit your initial search using case sensitivity:

  1. Select the Case Sensitive option.
  2. Type the search text matching the case of the component name(s) as it appears in the program.
    Example: The component you are looking for contains the word BEND (as part of its name) in uppercase and you want to search for all components that include BEND as part of their names, but exclude components whose descriptions contain the word Bend (mixed case).

To perform a secondary search on your initial search results to view some subset of those results:

  1. Select the Refine Search option.
  2. Change the search text in the Find field as needed and click Apply. The initial results are searched for anything meeting the revised search criteria.
    Example: Initiate a search through all libraries on the word amplifier. As you scan the resulting list, you notice several amplifiers with drain current of 17mA scattered throughout. To view only those amplifiers, type id=17ma in the Find field, select the Refine Search option, and click Apply. The resulting subset of amplifiers is displayed.

Customizing the Component Library Display

Several features are provided to enable you to customize the Component Library display. You can:

Once you customize the display to meet your needs, you can save the settings to file and use those settings in any subsequent session. For details refer to, Saving Customized Library Displays.

Note
Several aspects of the browser display can be set for all projects (user) or on a site-wide basis. For details, refer to the Variables in the File hpeesofbrowser.cfg described under the section on Customizing the ADS Environment in the Customization and Configuration documentation.

To expand a library so that its sub-libraries are displayed:
Click the plus sign in front of the library name. To collapse the library, click the minus sign.
The expanding and collapsing of libraries can also be accomplished via toolbar buttons or the View menu (View > Libraries).


To add a new library:

  1. Choose File > New > Library.
  2. Supply a library name and click Apply (or OK if only creating one library at this time). The new library is added to the bottom of the current list of libraries.


To add a new sub-library:

  1. Choose File > New > Sub-Library.
  2. Select, from the drop-down list, the library that you want the new sub-library to be a part of.
  3. Supply a sub-library name and click Apply (or OK if only creating one sub-library at this time). The new sub-library is added to the bottom of the current list of sub-libraries.

Rearranging Libraries

You can rearrange and delete libraries to make the library display better meet your design needs:

You can also turn a sub-library into a library by pasting it at the library level-highlight All and paste.


To rearrange or delete libraries using Cut/Copy/Paste:

  1. Highlight the library you want to move (or delete) and choose Edit > Cut.
  2. To paste it at the bottom of the list of All libraries, highlight All and choose Edit > Paste.

To rearrange sub-libraries using Cut/Copy/Paste:

  1. Highlight the sub-library you want to move, copy, or delete.
    Note
    Sub-libraries cannot be pasted within another sub-library.
  2. Choose Edit > Cut (or Copy), and:
    • To paste the sub-library at the bottom of an existing library, highlight that library.
    • To paste the sub-library as a library (at the bottom of the list of all libraries), highlight All.
  3. Choose Edit > Paste.

Setting Display Preferences

Several aspects of the Component Library display can be customized through Options > Preferences.

Component Tree Width

To modify the width of the tree in the Library pane:
Enter the desired value (in characters). Note that the change will not take effect until your next session of ADS.

Field Width

To set default widths (in characters) for the columns of component information:
In the Field Width section, set each field as desired. Note that these settings serve as defaults, but the columns can be resized manually by dragging the cell border one direction or the other. Setting the Field Width has no effect if the column status is hidden (deselected). To make it visible, select it in the Show Columns section of the dialog box.

Show Columns

The Component column is always visible. The Description column is the only optional column that is visible by default.

To show or hide optional columns of component information:

  1. In the Show Columns section select or deselect any of the following:
    • Vendor - Displays the name of the manufacturer for the vendor parts in the selected sub-library.
    • Description - Provides a brief description of each component.
    • Library Name - Lists the name of the library for each component listed. This can be helpful if you find a component by searching, and want to know which library it is from.
    • Placement Status - Identifies for each component listed whether or not it is used in layout
    • Availability (Available/Obsolete) - Reserved for future use.
    • Web-site Address - Reserved for future use.
    • License Information - Reserved for future use.
  2. Click Apply.

Show Components

To change the Show/Hide status of obsolete or unlicensed components:

  1. In the Show Components section of the dialog box, set these options as desired:
    • Hide Obsolete Components
    • Hide Unlicensed Components
  2. Click Apply.

Sorting Libraries and Components

To alphabetically sort the list of libraries:

  1. Highlight any library under All.
  2. In the Library Sort section of the Preferences dialog box, select the desired sorting method-Ascending or Descending (Unsorted is the default state) and click Apply.

To alphabetically sort the list of components for a specific sub-library:

  1. Highlight the sub-library whose components you want to sort.
  2. In the Component Sort section of the Preferences dialog box, select the desired sorting method-Ascending or Descending (Unsorted is the default state) and click Apply.

Saving Customized Library Displays

When you first open the Component Library – in any given session of ADS – the view of libraries is the Default view. This is the complete set of libraries as shipped. Changes you make to this view will persist during the current session; however, the next time you restart ADS, the Default view is restored. You can save any number of customized views and restore them later. By default, customized view files are saved to the current project directory, but you can save them in and restore them from any other project directory.


To save a customized view in the component library:
Choose View > Save View As. Supply a filename and click Save.


To open a previously saved customized view:
Choose View > Open View. Select the filename of the view you want to restore and click Open.


To close any currently open customized view:
Choose View > Close View. If no other customized views are open, the Default view is restored.

Resetting and Updating the Library Display

If during any given session, you cut libraries from the Default view and you want to restore them (without exiting and restarting ADS), you can do so with the Reset/Update command. This command will also update the library display with any libraries that were created through AEL.

To restore libraries cut from the Default view and/or update the display with new libraries:
Choose View > Reset/Update.

Displaying Library Properties

The Library Browser displays information on the properties of a Library. You can use this information to take stock of the number of components, find their record files, and access license details.

To display the Library Properties dialog box, click a library in the Library Browser window and then choose Edit > Library Properties.


Displaying Component Properties

The Library Browser displays information on the properties of each Component. You can use this information to find vendor information, if available, and access license details.

To display the Component Properties dialog box, click a library in the Library Browser window, click a component, and then choose Edit > Component Properties.

Using the Component Palette

The palette, on the left side of each design window, is a quick method of placing components if you know the name of the library containing the component. To change the library of components on the palette, select a new one from the drop-down Palette List.

Hint
You can also bring the palette selection list up as a dialog box by selecting View > Component > Select Component Palette. Leave it on the screen if you want to change the palette frequently.

To use the Palette to place items:

  1. Display the desired library on the palette by selecting it from the drop-down list (in this example, TLines-Printed Circuit Board).
  2. If necessary, scroll the new palette to locate the button representing the component you want to place.

Using Component History

As you place components in your design, a history of these components is created. This dynamically-created history enables you to quickly place additional instances of components placed in the current session.

Hint
This history serves as the starting point for creating a custom component palette. For more information, refer to Creating a Custom Component Palette under the Setting Design Environment Preferences section of the Customization and Configuration documentation.

To place items from Component History:

  1. Click to access the drop-down Component History list or bring up the dialog box (View > Component > Component History).
  2. If necessary, scroll the list to locate the component you want to place.
    Hint
    Once vendor components are placed, they are part of Component History which can be used to create a custom palette containing these vendor parts.

Using Hot Keys to Place Components

You can place frequently used components via hot keys, by adding them to the Component submenu (Insert > Component) and then assigning hot keys to them. Components added to the menu in this manner apply to all projects. Customization of this Component menu is done separately for the Schematic and Layout windows.

To add components to the Component submenu:

  1. Choose Tools > Hot Key/Toolbar Configuration and in the dialog box that appears, select the Component Menu/Hot Key tab.
  2. Select the components you want to add to the Component submenu from any of the following lists:
    • Available Components displays all the components contained in the current design.
    • Select any of the standard component libraries from the drop-down list.
    • Select History (for a list of components placed in the current session) or Selected Design Components (for a list of all currently selected components in the active design).
      Hint
      You can use the PC method of Shift+click to select a contiguous group of components, or Ctrl+click to select components that are not contiguous.
  3. Click Add to add the selected component(s) to the Component Menu/Hot Key list box.
    Alternatively, you can select one or more components currently placed in the drawing area of the desired (Schematic or Layout) window and choose Insert > Component > Add Selected to Component Menu. All selected components are added to the Component submenu.

To create hot keys for the menu-based components:

  1. Choose Tools > Hot Key/Toolbar Configuration and in the dialog box that appears, select the Component Menu/Hot Key tab.
  2. Select a component from the Component Menu/Hot Key list box.
  3. Select the modifier key(s)-Ctrl, Alt, Shift-and type the letter(s) you want to use in the Key field (UNIX is case-sensitive; the PC is not). If the combination you choose is currently assigned to another command sequence or component, you are warned and given the choice to proceed or to select another key sequence.
    Note
    If you use Alt as the modifier key, and a letter that is already assigned as an accelerator for a menu (see the underscored letters on the menu bar), the menu accelerator is replaced by your custom shortcut (with no warning).
  4. Click Apply. The shortcut appears next to the component.
  5. Repeat as needed for each component.

To remove components from the Component submenu:

  1. Choose Tools > Hot Key/Toolbar Configuration.
  2. In the dialog box that appears, select the Component Menu/Hot Key tab.
  3. Select any component you want to delete from the Component submenu and click Delete. To delete all but the standard components – Port, GROUND, VAR – click Delete All.
    Hint
    To remove a shortcut for a given component, select that component and de-select the modifier key(s) and erase the letter(s), then click Apply.

Placing Components at Specific Coordinates

The Coordinate Entry command enables you to place a component at specific coordinates using Cartesian or Polar coordinates specified in absolute or relative numbers.

To use the coordinate entry method for placing components:

  1. Choose Insert > Coordinate Entry and a dialog box appears. Move the dialog box so that the desired design window is visible.
  2. Select the component you want to place.
  3. Select the desired orientation for this component.
  4. Select the coordinate type: Cartesian or Polar and Absolute or Relative.
  5. Enter the desired X and Y coordinates by typing them in the fields labeled X and Y. The coordinate values you enter are plotted in the Coordinate Plotted field.
  6. Coordinate entry will modify the coordinates entered ignoring the current snapping rules if the Use Snapping checkbox is inactive. To apply the current snapping rules to snap your entered coordinates, activate the Use Snapping checkbox.
  7. Click Apply and the component appears in the drawing area at the specified location.

Drag and Drop Placement of Project Designs

Drag and drop component placement enables you to quickly move a design from your project into your schematic or layout design window. This creates a component in your schematic or layout window design.

From the ADS Main window,

  1. Select the Project View tab.
  2. Locate, left click and drag the design that you want to place in your schematic or layout window.
  3. Release the mouse over the schematic or layout window. A ghost image of the design will appear as you move your mouse.
  4. Move your cursor to the location on the schematic or layout window where you want to place your design.
  5. Click to place your design.

Rotating Components

You can specify the orientation, or rotation, of components in a number of ways. To change the orientation during or after placing it in the drawing area, use any of the following methods.

In addition to the above methods of rotation, you can rotate a component during the insertion process using any of the following commands:

Defining Parameters

As you place components in the drawing area, you will notice that some parameters have default values and that other parameters are followed by an equal sign (=) and nothing else. The lone equal sign indicates that a default value is defined elsewhere for this parameter. Some of these parameter values are defined by the simulator, while others are defined in various Simulation Control items. For details on where the default value is defined and to review the guidelines for choosing other values for that parameter, refer to the Introduction to Circuit Components documentation or the Signal Processing Components documentation.

Note
The at symbol (@) must be used to suppress quotes when specifying a variable as a parameter value, for example, use @freq1, where freq1 is a variable declared in a VAR item.

You can change parameter values using the on-screen editor or through the Component Parameters dialog box. To display the Component Parameters dialog box for editing parameters after placing components:

Units/Scale Factors

The fundamental units for ADS are shown in the table below. An ADS parameter with a given dimension is evaluated based on the corresponding units. For example, for a resistance R=10, 10 is assumed to be 10 Ohms.

Fundamental units in ADS
Dimension Fundamental unit
Frequency Hertz
Resistance Ohms
Conductance Siemens
Capacitance Farads
Inductance Henries
Length meters
Time seconds
Voltage Volts
Current Amperes
Power Watts
Distance meters
Temperature Celsius

Variations on these fundamental units are referred to as scale factors. A scale factor is a single word/abbreviation that begins with a letter or an underscore character ( _ ). The remaining characters, if any, consist of letters, digits, and underscores. The value of a given scale factor is resolved using the following rules, in the order shown:

  1. If the scale factor exactly matches one of the predefined scale-factor words (see Predefined scale-factor words), then use its numerical equivalent
    else
  2. If a scale factor exactly matches one of the scale-factor units (see Scale-factor units) with the exception of m, then use its numerical equivalent
    else
  3. If the first character of the scale factor is one of the scale-factor prefixes (see ADS scale-factor prefixes), then use its numerical equivalent
    else
  4. The scale factor is not recognized. When ADS does not recognize a scale factor it issues a warning and uses a scale-factor value of 1.0.

The table below list the ADS scale-factor words and their numerical equivalents.

Predefined scale-factor words
Scale Factor Words Numerical Equivalent
mil 2.54e-5
mils 2.54e-5
cm 1.0e-2
in 2.54e-2
ft 12*2.54e-2
mi 5280*12*2.54e-2
nmi 1852
PHz 1.0e15
dB 1.0

The table below lists the ADS scale-factor units and their numerical equivalents.

Scale-factor units
Scale Factor Unit Meaning Numerical Equivalent
A Amperes 1.0
F Farads 1.0
H Henries 1.0
Hz Hertz 1.0
meter meters 1.0
meters

metre

metres

Ohm Ohms 1.0
Ohms

S Siemens 1.0
sec seconds 1.0
V Volts 1.0
W Watts 1.0

The table below lists the ADS scale-factor prefixes and their numerical equivalents.

ADS scale-factor prefixes
Scale Factor Prefixes Meaning Numerical Equivalent
a atto 1e-18
f femto 1e-15
p pico 1e-12
n nano 1e-9
u micro 1e-6
m milli 1e-3
_ (underscore) no scale 1
k, K kilo 1e3
M Mega 1e6
G Giga 1e9
T Tera 1e12
Note
  • Scale factors are case sensitive. Note the different meanings for f and F, and a and A in the preceding tables.
  • The imperial units (mils, in, ft, mi, nmi) do not accept prefixes.
  • Scale factors can be used anywhere in an expression (e.g., 1 GHz + 1 MHz).
    When you select a parameter-with which a fundamental unit is associated-in the Component Parameter dialog box, a drop-down list appears containing all available scale factors for that particular parameter.

The table below lists the available scale factors for parameters with which a fundamental unit is associated.

Available Scale Factors
Frequency none Hz kHz MHz GHz THz


Resistance none mOhm Ohm kOhm MOhm GOhm TOhm

Conductance none pS nS uS mS S


Capacitance none fF pF nF uF mF F

Inductance none fH pH nH uH mH H
Voltage none fV pV nV uV mV V kV
Current none fA pA nA uA mA A kA
Time none fsec psec nsec usec msec sec

Length none um mm cm meter mil in ft
Distance none meter km ft mi nmi


Power none pW nW uW mW W kW dBm dBW
Note
  • The option none means no scale factor is applied to the value.
  • Although dBm and dBW appear on the drop-down lists, they are not valid scale factors; built-in functions convert these values to Watts and Celsius.
  • There is no scale-factor option for temperature.

This same set of scale factors (with the exception of none) appears in the Preferences dialog box (Options > Preferences > Units/Scale). Note that these default settings are only used in the following situations:

Measuring Distance and Angle

The Measure command produces a dialog box that displays the cumulative distance between points you specify in the design window. In addition, it displays the angle from the first point to the current point.


To use the Measure command:

  1. Choose Measure from the Insert menu or the pop-up menu and a dialog box appears.
  2. Click on the desired points in the design window and observe the information displayed in the dialog box.
    • To clear the information but keep the command active, click Clear or double click in the design window.
    • To stop the command and dismiss the dialog box, click Cancel.
      Note
      The Clear command can also be activated by pressing the space bar.

Connecting Components

When you place a component in the design area, you will notice that each of the pins is highlighted by a diamond-shaped outline. This shape identifies unconnected pins, and disappears when a connection is made.

There are three ways to connect components:

Connecting Components Directly

To connect components directly:

  1. Select the desired rotation for the component you are about to connect.
  2. Position the pointer directly over the pin of the component you are connecting to, and click.

Connecting Components with Wires


To connect components with wires:

  1. Click the Insert Wire button or choose Wire from the Insert menu. You are prompted to enter the starting point.
  2. Position the pointer at the desired location and click. You are prompted to enter the next point.
  3. Position the pointer at the desired location and click. A wire is drawn between the specified points.
    Tip
    • To specify an endpoint of an unconnected wire, double-click or press the space bar.
    • To move an unconnected endpoint of a wire, use Edit > Move > Move Wire Endpoint.
    • Wires are always routed on the grid unless items connected to them were placed or moved off the grid. In this case, the shortest wire segment needed to make the connection is drawn off the grid as required. This means the maximum number of wires that connect to a single point is four.
      This is especially important to understand when using multiple input components (such as Add and Mpy) in Signal Processing designs, because to connect more than four wires to the input, you will need to connect additional wires to one of the existing wires rather than to the input pin itself.
    • Context-sensitive editing is available for wires with respect to changing the layer on which the wire is drawn. Position the pointer over the wire, right click, and select Wire Layer from the pop-up menu.
    • If moving a component causes wires to be re-routed incorrectly, undo the move, deselect the re-route entire wire option (Options > Reroute entire wire attached to moved component), and try the move again.
    If the wire is still rerouted incorrectly, undo the move, disconnect the wire ( Edit > Move > Move and Disconnect), move the component, and reroute the wire manually.

Connecting Components Without Wires

Connecting components without wires is accomplished by adding wire labels. Adding wire labels to your schematic enables you to:

For information on naming conventions, refer to Naming Conventions under the Program Basics section of the Schematic Capture and Layout documentation.


Hint
Using the same node name in nodes across subnetworks does not result in connectivity unless a Global Node data item is placed in the design declaring that node name global. A Global Node data item with the specified node name will connect all nodes with that name across all subnetworks. This is useful for distribution of signals such as supply voltages and clocks.

To connect without wires or identify a node voltage for output:

  1. Choose Insert > Wire/Pin Label and a dialog box appears.
  2. Enter a name and click all pins you want to connect with this name. As you click each pin, the name you have supplied appears near the pin.
    To produce output from a single pin, assign a unique node name to that pin.
  3. To name another node, supply a different name, and click each pin, as described above. To dismiss the dialog box, click Close.
  4. To clear a node name:
    Choose Edit > Wire/Pin Label > Remove Wire/Pin Label.
  5. Click each pin or wire whose name you want to remove.
    Alternatively, you can use the on-screen editor and the Backspace key.
    Note
    To clear a node name you may also select Insert > Wire/Pin Label, leaving the label field blank in the dialog box. Select a named node, and the node name will vanish.

Creating Buses

Using buses and iterated instances can greatly simplify the schematic representation of your design. The following terms are used in describing how to create buses in ADS:

To represent a bus on an ADS schematic, add a vectorized wire label by supplying a base name and vectors that identify the bus width.

To tap the individual bus wires, use the bus base name and an index.

To iterate an instance (connected to the bus), modify the Instance Name by adding the vectorized portion of the bus wire label.

In the following illustration, the bus and iterated instance on the right are equivalent to the four grounded sources connected to individual wires on the left.

The labels you use to identify the bus and everything connected to it must be added using the appropriate syntax. The terminology shown in the following illustration identifies the terms used to define this syntax.

Syntax:

Bus
base name<start:stop>
Example: InBus<1:4>
or
base name<start:stop:increment> for an increment other than 1. Use this to create patterns such as {2,4,6,8} and {1,3,5,7}.
Example: InBus<2:8:2>

Tapped Wires
base name<index>
Example: InBus<1>

Iterated Instance
instance_name<start:stop>
where instance_name is the actual instance name you are using for this component, and the vector information tracks with the bus vectors, including an increment, where applicable.
Example: SRC1<1:4>
Note that pins and ports can be iterated in the same manner. For details refer to, Bus Pins and Iterated Ports.

Important
Be sure to use the correct syntax for all related parts of a bus; syntax errors produce connectivity errors.

The following illustration is a simple example using input and output buses consisting of four wires each.

The basic steps to include this type of bus in your schematic are as follows:

To create a bus or bundle:

  1. Draw the wire and choose Insert > Wire/Pin Label and a dialog box appears.
    • Bus - Enter the bus base name using the appropriate syntax and click the wire that you want to designate as a bus.
    • Bundle - Enter the names of the wires (or buses) that should be part of the bundle and click the wire that you want to designate as a bundle.
  2. The label appears and the rendering of the wire changes to a thicker line indicating that the wire now represents a bus/bundle. Click Close.

To tap wires off the bus:

  1. Draw the bus tap wire, choose Insert > Wire/Pin Label and a dialog box appears.
  2. Enter the bus base name and the index for the bus wire you want to tap, and click that wire. Increment the index in the dialog box as needed and click the next wire. Continue in the same manner until you have tapped all desired wires of the bus, then click Close.

To iterate an instance of a component/port or a symbol pin:

  1. Double-click the instance or pin to display the dialog box for editing that item.
  2. Add the appropriate iteration syntax to the instance name and click OK.
    For components and ports, you can add labels using the on-screen editor; for pins you must use the Edit > Symbol Pin dialog box (View > Create/Edit Schematic Symbol).

Wire labels can be edited in the following ways:

Creating Bundles

A bundle is a collection of wires or buses that do not share the same base name. To indicate a bundle on your schematic, add a wire label consisting of a list of the wire labels and/or buses to be included in the bundle, separated by commas.

Syntax:
<wire_label/bus>, <wire_label/bus>, ...

Any wire/bus in the bundle can be accessed by name. In the following example, if you want to access A<4:5>, you can name a net A<4:5>.

Bus Pins and Iterated Ports

A bus pin enables you to connect a bus or bundle to it. If you generate a symbol for a design containing iterated ports, the symbol generator will create bus pins for you. If you create a custom symbol for a design containing iterated ports, you must explicitly assign an iteration to the symbol pins on your custom symbol. If you opt to use a supplied symbol for a design containing iterated ports, you must explicitly assign an iteration to the symbol pins on the supplied symbol. Note that you will be warned when you select a supplied symbol if the number of pins on the symbol does not match the number of (iterated) ports. Default symbols (which appear when you place an instance of a design with no symbol assigned to it) are not allowed because they do not contain iterated pins.

Creating a Bus Pin via Iterated Ports and a Generated Symbol

When you iterate one or more ports on your schematic (by modifying the Instance Name), then generate a symbol for it, the generated symbol is created with bus pins.

Creating a Bus Pin on a Custom Symbol

To explicitly create bus pins for a custom symbol representing a design containing iterated ports, modify the pin name (Edit > Symbol Pin), using the same syntax as for a bus or bundle (e.g., P1<1:4> or A,B) in symbol view (View > Create/Edit Schematic Symbol). The number of iterated ports in the schematic must always equal the number of symbol pins. This equivalence can be checked using Tools > Check Representation > Rep port vs Symbol port mismatch.

Buses in ADS Ptolemy

ADS Ptolemy provides a different use model for buses, and there are two types: MultiPortHoles and the fixed-point data type (which uses components-not wires-for bus manipulations).
A MultiPortHole is an ordered set of PortHoles that can be expanded dynamically. A PortHole is equivalent to a pin in ADS. Pins that have double arrows are MultiPortHoles that initially have zero PortHoles. As each connection is made on the bus, a new PortHole is added to the MultiPortHole. Thus in this configuration, the MultiPortHole pin represents a bus input.
A MultiPortHole can also be expanded (using netlist syntax) to a predefined size. These MultiPortHoles are represented in the design environment as n separate pins where n is the number of PortHoles in the MultiPortHole. All of the current PortHoles and MultiPortHoles are directional, in contrast to the non-directional pins of analog components. The following illustration shows the ADS Ptolemy multiplier components.

A MultiPortHole that is represented as a double arrow is equivalent to a bus pin with unspecified size. To fix the size, add wire labels (in the schematic) just as you would for an Analog/RF design, generate a symbol for it, and place it as a subnetwork, as shown next.

Checking Connectivity

Although a number of operations automatically perform a connection check, you can explicitly test the bus-to-instance connections in a schematic through Tools > Check Representation > Bus Connectivity. The connection check attempts to resolve all bus-instance connections, and highlights (on the schematic) any connections it is unable to resolve. Connections that are part of a bus or bundle are verified using a set of rules. The following terms are used in describing these rules:

Resolving Connections Related to Names

When a net includes both named and unnamed wire segments, the unnamed segments are considered to include every name that appears on all named segments. In other words, the name implicitly assigned to an unnamed segment is the intersection of all names on named segments.
In the following illustration, the segments 3, 5, and 7 are unnamed. A, B, C, D is the union of all names on this net, and this is the name that is used for all three unnamed segments.

In an unnamed net (one with no named wires at all):

Resolving Connections Related to Widths

To verify a connection, the net width of the bus is checked against the pin width of the component, the instance width, and the connection width (where the connection width represents the total number of pins: connection width = pin width × instance width).
ADS Ptolemy incorporates the concept of pins that can accept buses as inputs. These pins are of arbitrary size and are annotated by double arrows on the pin stem. For the ADS Ptolemy MultiPortHole examples:

If none of the conditions above apply, then the connection is not valid, and will be flagged as an error. When an invalid connection is found during connection checking, that invalid connection will be highlighted on the schematic.

Unspecified net width, multiple input or multiple output connections (DSP only)

ADS Ptolemy currently supports this connection type for instance widths equal to one. Only the following two cases are supported: multiple outputs feeding a multiport input and a single output feeding multiple inputs.

To specify the exact ordering of the net, you must add wire labels or use the BusSplit or BusMerge operators.

Unspecified input or output pin width, specified net width (DSP only)

If the pin width is unspecified and the net width is an integer multiple of the instance width then:

Unspecified pin width, unspecified net width, specified instance width

Pin width is set to 1 and net width is set to the instance width.

Unspecified net width, pin width specified, instance width specified

Net width inherits connection width (pin width × instance width).

For the next three cases, everything (pin, instance and net width) is specified. The first case that applies (based on the order shown next) is the correct case.

Net width = connection width

The net width of the bus/bundle is the same as the connection width. This connection is resolved and verified because the total number of pins (connection width) matches the individual wires available.

Net width = pin width

If the net width and the pin width are the same, but the connection width is different, then the connection is valid, but the wires making up the bus/bundle must be repeated M times, where M is the instance width.

Net width = 1

If the net width is 1, and does not satisfy the previous two conditions, then the bus (really a single wire) is repeated M times, where M is the connection width. Thus this is the case when the pin width is greater than 1 and the net width is 1. This case will issue a warning because although this is valid, we assume that a pin with width connected to a single wire (shorted) may not be what the user intended.

The following figure illustrates how the connections of a six-bit bus are mapped to which pin of which instance, where there are-in essence-two instances, each with three pins.

The next figure illustrates how the connections are made if you connect the aforementioned instance to a three-bit bus instead, which is allowed because the iterated instance has a three-bit pin.

Adding Ports to a Design

  1. Click the port symbol on the toolbar (or choose Insert > Port).
  2. Select the appropriate rotation by clicking the toolbar button (Rotate By -90) as needed.
  3. Move the pointer into the drawing area, position the symbol as needed, and click to place it there.
    Hint
    Do not use the Move To Layer command to move ports to a different layer; set the Layer parameter of the port to the desired layer.

Using Special Components

There are a number of commonly used components in ADS whose special features must be understood to be used successfully. Please review the following topics, and where applicable, the additional referenced topics:

Using Substrates

Substrates (such as microstrip, stripline, etc.) are specified by placing the required substrate component in your design and then setting the substrate parameter (Subst) of the associated circuit component(s) equal to the instance name of the substrate component.
In the following example, the substrate parameters of the MSub1 instance are associated with the Bend1 instance by assigning the instance name "MSub1" (of the MSUB substrate component) to the Subst parameter of the MBEND2 component.

Note that the default value of the substrate parameter Subst, as well as the default substrate instance name (in this example, MSub1), can be edited.

Using Nonlinear Models

A nonlinear model can be associated with a nonlinear device instance by placing the required nonlinear model item in your design and then setting the parameter Model of the nonlinear device equal to the instance name of the nonlinear model item. This is especially useful in a hierarchical design that contains multiple subnetworks, each of which should reference the same model. In this case, place the _Model item in the top-level design, and place an instance of the device in each of the subnetworks, setting their Model parameter equal to the Instance Name of the _Model item.
In the following example, the model parameters of the BJTM1 instance are associated with the BJT1 instance by assigning the instance name "BJTM1" (of the BJT_Model item) to the parameter Model of the BJT4_PNP device.

Note
The default value of the Model parameter – for any given device – is the same as the default Instance Name of the related model (in this example, BJTM1). The Instance Name of the model can be changed, like any other Instance Name. If you do, be sure to change the Model parameter (of instances referencing that model) accordingly.

Components that Allow File-Based Parameters

Several components, such as DataAccessComponent (DAC), Deembed, and the SnP components, enable you to set a parameter to reference a file-based set of values. For details on the file formats of the data file types, refer to Working with Data Files, in the Using Circuit Simulators documentation.

To specify file-based parameters for these components:

  1. Select the File parameter.
  2. Select the appropriate Parameter Entry Mode: Data filename (DAC) or Network parameter filename (SnP, Deembed1, Deembed2).
  3. Type the data filename, or Browse to select it. By default, only the files listed in the current /data directory are displayed.
    Alternatively, click Data files list to select a data file. The files listed are the files found in the set of search paths assigned to the DATA_FILES variable (in de_sim.cfg). The data directory of the current project is usually the first path. For more information on setting variables, refer to Variables in de.cfg, de_sim.cfg under the section on Customizing the ADS Environment in the Customization and Configuration documentation.
  4. Optionally, click Edit to display the file (in your default text editor) for modification.
  5. Optionally, click Copy Template to copy a data file of a specific format for use as a template. This template can be a supplied template or one you have created. By default, the program looks in the following location:
    $HPEESOF_DIR/circuit/templates (Analog/RF designs)

    or

    $HPEESOF_DIR/adsptolemy/templates (Digital Signal Processing designs)

Using the DataAccessComponent

Many component parameters, as well as variables, can be assigned a value from a data file by using the DataAccessComponent (DAC). The basics of accessing file-based parameters are as follows:

Using Macros to Automate Tasks

You can record a macro (a series of AEL commands) by performing a sequence of commands using the mouse, and then play it back later to repeat the sequence.

Note
Not all commands/actions are supported in macro recording; therefore, Agilent Technologies does not recommend relying on this for recording complicated command sequences, but rather as a tool for learning how to use AEL.

To record a macro:

  1. From the Main window, choose Tools > Start Recording Macro and a dialog box appears.
  2. Enter a name for your macro – the file extension .dem will be added automatically – and click OK.
  3. Perform the desired sequence of commands.
  4. When you are finished with the desired sequence, choose Tools > Stop Recording Macro. The file is saved to your current project directory.


To play back a macro:

  1. Choose Tools > Playback Macro and a dialog box appears displaying the macro files in the current project directory (that match the filter).
  2. Select the desired macro and click OK (To run a macro stored in another project directory, adjust the path as necessary, select the macro from the list, and click OK). The selected macro is executed.

Viewing and Entering AEL Commands

The AEL commands that are issued in response to your activity in the Main window and the design windows are displayed in the Command Line dialog box. This command summary is updated continuously as you work. You can view this summary any time and you can issue previously executed commands from this list.


To view the command summary:
Choose Tools > Command Line in the Main window and the dialog box appears. As you execute commands, the corresponding AEL functions are displayed.

To execute AEL commands from this command summary:

Creating a Netlist

By default, every time you simulate a design, you generate a netlist file, netlist.log, in the current project directory, but it is possible to generate the netlist file without simulating the design.

To generate a netlist without simulating:

  1. Open the desired Schematic.
  2. Choose Tools > Command Line in the Main window and the Command Line dialog box appears.
    Hint
    Replace the number 1, shown in parentheses in the next step, with the number of the window from which you want to generate a netlist. The number of the window is displayed in the title bar.
  3. Click in the Command >> field and type de_set_window(1); and press Return. Notice that what you type is echoed in the list above.
  4. Click in the Command >> field and type de_netlist( ); and press Return or click Apply. After a short time, the netlist.log file is written to the project directory.

To use a different filename for any given project, you can insert the following line in the de_sim.cfg file in that project directory and specify a filename other than netlist.log.

NETLIST_FILE_NAME=netlist.log

Important
If you edit your schematic after generating a netlist, you will need to generate the netlist again, since nodes may be renumbered as you edit.

Generating Reports

The Reports command enables you to generate a Bill of Materials (BOM) and a Parts List. Examples of a BOM and a Parts List are shown below.

Note
By default, you are supplied with one format for the BOM and two for the Parts List, but these formats can be customized, and additional formats added, through AEL. For details, refer to the AEL documentation.

To generate a Bill of Materials:

  1. Choose File > Reports > Bill of Materials.
  2. By default, the design name and a .bom extension appear as the filename for the generated file. Accept this name or supply another and click OK. The file is displayed in a window on the screen.
    Bill of Materials Example

  1. To save it to file with the default filename, click OK; to save it to file with a filename of your choosing, click Print. Supply a filename and click OK.
    Note
    Components included in the Bill of Materials are physical parts only (concrete items that can be touched). Examples of physical parts are vendor parts, SMT components, and packaged components. Components that are not physical parts, like distributed components, are not included in the Bill of Materials.
    The ITEM_BOM_ITEM attribute in create_item() is what triggers a component to be listed in the Bill of Materials. If you have created a library part, representing a physical part, then you can set the ITEM_BOM_ITEM attribute by selecting File > Design Parameters > Parameters tab > Include in BOM checkbox.


To generate a Parts List:

  1. Choose File > Reports > Parts List.
  2. Choose the desired Report Type.
    • EEsof (EEsof PL format) - component name, ID, coordinates, angle, and side
    • EEsof (netlist format) - component names and parameters
  3. By default, a .pl (parts list) or .net (netlist) extension is automatically added to the filename. Accept this name or supply another and click OK. The file is displayed in a window on the screen. The box below shows an example of the parts list format.
    Parts List Format Example


The box below shows an example of the netlist format.

Netlist Format Example

  1. Click OK to save it to file with the default filename. Click Print to print to file or to the printer, based on your current Print Setup. If the current Print Setup is set to print to file, a dialog box appears prompting you for a filename. Supply a filename and click OK.
 

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

Contents
Additional Resources