当前位置:首页 >> 信息与通信 >>

ADS Momentum仿真 2

Radiation Patterns and Antenna Characteristics

Planar (Vertical) Cut
For the planar cut, the angle phi, which is relative to the x-axis, is kept constant. The angle theta, which is relative to the z-axis, is swept to create a planar cut. Theta is swept from 0 to 360 degrees. This produces a view that is perpendicular to the circuit layout plane. Figure 8-2 illustrates a planar cut.
Z axis

theta Y phi X

Figure 8-2. Planar (vertical) cut

Conical Cut
For a conical cut, the angle theta, which is relative to the z-axis, is kept constant. Phi, which is relative to the x-axis, is swept to create a conical cut. Phi is swept from 0 to 360 degrees. This produces a view that is parallel to the circuit layout plane. Figure 8-3 illustrates a conical cut.
Z axis

phi theta (half angle opening) X Y

Figure 8-3. Conical cut

8-8

Calculating Radiation Patterns

Viewing Results Automatically in Data Display
If you choose to view results immediately after the far-?eld computation is complete, enable Open display when computation completed. When Data Display is used for viewing the far-?eld data, a data display window containing default plot types of the data display template of your choice will be automatically opened when the computation is ?nished. The default template, called FarFields, bundles four groups of plots: ? Linear Polarization with Eco, Ecross, ARlp. ? Circular Polarization with Elhp, Erhp, ARcp. ? Absolute Fields with E θ , E ? , H θ , H ? . ? Power with Gain, Directivity, Radiation Intensity, Ef?ciency. For more information, please refer to “About Antenna Characteristics” on page 8-2.

Exporting Far-Field Data
If 3D Visualization is selected in the Radiation Pattern dialog, the normalized electric far-?eld components for the complete hemisphere are saved in ASCII format in the ?le <project_dir>/mom_dsn/<design_name>/proj.fff. The data is saved in the following format:
#Frequency <f> GHz /* loop over <f> */ #Excitation #<i> /* loop over <i> */ #Begin cut /* loop over phi */ <theta> <phi_0> <real(E_theta)> <imag(E_theta)> <real(E_phi)> <imag(E_phi)> /* loop over <theta> */ #End cut #Begin cut <theta> <phi_1> <real(E_theta)> <imag(E_theta)> <real(E_phi)> <imag(E_phi)> /* loop over <theta> */ #End cut : : #Begin cut <theta> <phi_n> <real(E_theta)> <imag(E_theta)> <real(E_phi)> <imag(E_phi)> /* loop over <theta> */ #End cut

Viewing Results Automatically in Data Display

8-9

Radiation Patterns and Antenna Characteristics

In the proj.fff ?le, E_theta and E_phi represent the theta and phi components, respectively, of the far-?eld values of the electric ?eld. Note that the ?elds are described in the spherical co-ordinate system (r, theta, phi) and are normalized. The normalization constant for the ?elds can be derived from the values found in the proj.ant ?le and equals
? E_theta_max? + ? E_phi_max?
2 2

The proj.ant ?le, stored in the same directory, contains the antenna characteristics. The data is saved in the following format:
Excitation <i> /* loop over <i> */ Frequency <f> GHz /* loop over <f> */ Maximum radiation intensity <U> /* in Watts/steradian */ Angle of U_max <theta> <phi> /* both in deg */ E_theta_max <mag(E_theta_max)> ; E_phi_max <mag(E_phi_max)> E_theta_max <real(E_theta_max)> <imag(E_theta_max)> E_phi_max <real(E_phi_max)> <imag(E_phi_max)> Ex_max <real(Ex_max)> <imag(Ex_max)> Ey_max <real(Ey_max)> <imag(Ey_max)> Ez_max <real(Ez_max)> <imag(Ez_max)> Power radiated <excitation #i> <prad> /* in Watts */ Effective angle <eff_angle_st> steradians <eff_angle_deg> degrees Directivity <dir> dB /* in dB */ Gain <gain> dB /* in dB */

The maximum electric ?eld components (E_theta_max, E_phi_max, etc.) are those found at the angular position where the radiation intensity is maximal. They are all in volts.

8-10

Exporting Far-Field Data

Chapter 9: Viewing Results Using the Data Display
You have two tools available for displaying the results of an Momentum simulation: the Data Display, and Momentum Visualization. The visualization tool requires a separate codeword and is described in following chapters. This chapter describes how to use the Data Display. You can display the following types of results from an Momentum simulation: ? S-parameters ? Radiation patterns (far-?eld plots) and derived antenna parameters Additional data is calculated during a simulation and saved in the dataset, and can also be viewed or used in calculations: ? Propagation constant (gamma) for each port in the circuit ? Characteristic impedance of each port ? AFS convergence data This chapter shows how to display Momentum results. For detailed information on how to use the Data Display, refer the Data Display manual.

Opening a Data Display Window
You view simulation results using the Data Display. You can open a Data Display window using different methods: ? Open a Data Display window automatically when a simulation is complete. For steps on how to do this, refer to “Viewing Results Automatically” on page 7-6. ? Open a new Data Display by choosing Window > New Data Display from the Layout Window menu bar. ? Open a saved Data Display by choosing Window > Open Data Display and selecting a Data Display in the current project. Data Display ?les end in the extension .dds.

Opening a Data Display Window

9-1

Viewing Results Using the Data Display

Viewing Momentum Data
Simulated Momentum data is saved in one or more datasets: ? Data collected at the frequency points computed by the simulator are stored in <design_name>.ds. It is the standard dataset created from any simulation. ? If the Adaptive sweep type is used for simulation, densely resampled data, computed by AFS at each sampled frequency point, are stored in the dataset <design_name>_a.ds. ? If the radiation patterns are calculated and the visualization type selected is “2D Data Display”, the results are stored in the dataset <design_name>_f.ds. The datasets for the current project are displayed in the dataset listbox.

Datasets in the current project. The one in the menu bar is the default.

You can view Momentum data using any plot type:
Rectangular Polar Smith chart Stacked List

To view Momentum data: 1. Select the plot type by clicking the appropriate plot icon, dragging the mouse into the window, then clicking to place the plot. 2. The variables in the default dataset are displayed. Select a different dataset from the list, if desired.
9-2 Viewing Momentum Data

3. Select the variables containing the data that you want to add to the plot, then click Add.
Note Most of the simulation data is in complex format. If you are adding data to a rectangular plot, you must choose to display the data in one of several scalar formats.

4. You can add data from different datasets to the same plot. Repeat steps two and three to add more data to the plot. 5. Click OK to view the data.

1. Select a dataset.

2. Select a variable.

3. Click Add.

4. Selected variables appear here.

Viewing Momentum Data

9-3

Viewing Results Using the Data Display

Note Multiple graphs within the same view will overlay one another. To view multiple

graphs simultaneously, assign each graph to a separate view.

Viewing S-parameters
Speci?c information about the data available in the S-parameter datasets is given in the following sections.

Variables in the Standard and AFS Dataset
A dataset generated from an Momentum simulation contains many variables. Below are the names of common variables that appear in a Momentum dataset and a description of the variable.
Variable freq Description The independent variable frequency, which was speci?ed during the simulation setup. The number of data points is based on the sweep type and frequency plans speci?ed during simulation. The (modal) propagation constant of Port n. It is used in de-embedding, and is calculated for single, differential, and coplanar ports only. The impedance of Port n as de?ned in the Impedance ?elds of the Port Editor dialog box. If an impedance is not speci?ed, 50 ohms is assumed. S matrix, normalized to PORTZn. S-parameters for each pairing of ports in the circuit, normalized to PORTZn. S-matrix, normalized to 50 ohms. S-parameters for each pairing of ports in the circuit, normalized to 50 ohms. Boolean results indicating AFS convergence occurred (1) or failed (0) at a given frequency. Available in datasets from simulations using Adaptive sweep type.

GAMMAn

PORTZn

S S(i,j) S_50 S_50(i,j) S_CONV and S_CONV(i,j)

9-4

Viewing S-parameters

S_ERROR and S_ERROR(i,j)

Estimated error for a given frequency. For frequency points that converged, the value is below -60 dB. Points that fail to converge will be greater than -60 dB. Available in datasets from simulations using Adaptive sweep type. S matrix, normalized to Z0. S-parameters for each pairing of ports in the circuit, normalized to Z0 of each port. Characteristic impedance of Port n. It is not calculated for all port types, in which case 50 ohms is substituted.

S_Z0 S_Z0(i,j) Z0n

Note Refer to Chapter 4, Ports, for an explanation of the S-parameters for layouts that
use differential, coplanar, and common mode ports.

Standard and AFS Datasets
If the Adaptive sweep type is used for a simulation, two datasets are created for storing data. The ?rst one contains data computed by the simulator at the frequency points determined during the simulation. (This dataset is the standard one produced by any simulation.) The second contains data computed by AFS, resampled with a very dense frequency distribution. This “adaptive” dataset is denoted by _a appended to the dataset name. The adaptive dataset contains the same variables as the standard dataset, but data is calculated for a signi?cantly greater number of frequency points. Typically, when viewing data in the _a dataset, you should see very smooth results, which re?ect the behavior of the circuit. Viewing the standard dataset on the same plot will show the frequency points for which the simulator was invoked, superimposed on the smooth curve. Those frequency points will be scattered over the whole range, with relatively more points grouped in areas where the S-parameters show more variation. Viewing both datasets can help you determine the quality of the AFS process on your simulation. For more information on AFS, refer to “About Adaptive Frequency Sampling” on page 7-20.

Viewing Convergence Data
Viewing convergence data can be helpful if a simulation using the Adaptive sweep type has failed. You can view where convergence has been achieved, and evaluate the quality of unconverged ?tting models. For information on the AFS process, refer to “About Adaptive Frequency Sampling” on page 7-20.

Viewing S-parameters

9-5

Viewing Results Using the Data Display

The sections that follow describe how to view convergence data. This requires being familiar with using the Data Display and Equations. For more information on these topics, refer to the Data Display manual.

Data Overview
There are two variables in the adaptive dataset (named <project_name>_a) that contain convergence data: S_CONV and S_ERROR. ? S_CONV contains boolean values indicating where convergence has been achieved (1) or has failed (0) for the entire S matrix. S_CONV(i,j) contains boolean values indicating the convergence for S(i,j). ? S_ERROR contains the estimated magnitude and phase ?tting error for the entire S matrix. S_ERROR(i,j) contains the ?tting error for S(i,j). The error will be less than -60 dB if convergence is achieved. You can view S_ERROR data in dB by adding the data to a rectangular plot.

Viewing the Data
There are two suggested methods for viewing convergence. One is to simply plot S_ERROR(i,j) in dB on a rectangular plot and evaluate the quality of the AFS ?t. In this example, the Low_pass_?lter example is simulated with a Sample Points Limit of 19. The error for S2,1 is plotted. Convergence has been achieved over much of the frequency span, but not all of it, so the simulation has failed. This indicates the quality of the simulation over the entire frequency span that was simulated.

Several frequencies between 8 and 11 GHz fail to achieve convergence.

9-6

Viewing S-parameters

A second way to assess the simulation is to use S_CONV to separate converged and unconverged data for a set of S-parameters and view it on a plot. To view convergence data: 1. Open a Data Display window and select the adaptive dataset <?lename>_a containing the convergence data as the default dataset. 2. Choose Insert > Equation. Position the equation line in the display area and Click. Enter the following equation:
Converged_Sij=S(i,j)*S_CONV(i,j)

i,j must refer to the same sets of ports throughout the equation. This equation will return the converged data, and zero otherwise. 3. Click OK to add the equation to the display area. 4. Choose Insert > Equation and add the following equation:
Not_Converged_Sij=S(i,j)*(1-S_CONV(i,j))

Use the same i,j as in the previous equation. This equation returns the results where convergence was not achieved. 5. Click OK to add the equation to the display area. 6. Insert a rectangular plot in the display area. 7. The Insert Plot dialog box opens. Under the Datasets and Equations listbox, scroll to the bottom of the list and select Equation. 8. The variables Converged_S(i,j) and Not_Converged_S(i,j) appear in the variables list. Select one variable and add it to the plot, in dB. 9. Click OK to view the results on the plot. 10. Insert a second rectangular plot and add the second variable to it. In the illustration below, the S2,1 convergence results for the low-pass ?lter, simulated with the samples limit set to 19, is displayed. Note that because the AFS process breaks up the entire frequency span into smaller subsections, the variable S_CONV will be 1 for the points that achieve convergence over an entire subsection. So, even though the data in S_ERROR indicates almost the

Viewing S-parameters

9-7

Viewing Results Using the Data Display

entire simulation converged, the plots below indicate the frequency ranges that converged or failed.

Considerations
For ef?ciency purposes, the Adaptive Frequency Sampling process splits a simulation frequency range into smaller subranges that contain a maximum of 16 samples, and performs calculations on these smaller frequency ranges. The convergence factor (1 or 0) will be the same for all frequencies in a subrange. If convergence is achieved for

9-8

Viewing S-parameters

some subranges and not others, this will be apparent. Note that for simulations that have less than 16 samples, the entire frequency range is treated as one internal subrange, so the convergence data will be all zeros if convergence was not achieved.

Viewing Radiation Patterns
Speci?c information about the data available in the far-?eld dataset is given in this section.

Variables in the Far-?eld Dataset
When a radiation pattern is calculated, the following variables are generated for storing data:
Variable THETA Description The swept parameter of a planar cut. When THETA is swept, PHI is at a ?xed angle speci?ed in the Cut Angle ?eld and is not returned to the dataset. The swept parameter of a conical cut. When PHI is swept, THETA is at a ?xed angle speci?ed in the Cut Angle ?eld and is not returned to the dataset. Absolute ?eld strength (in volts) of the theta and phi electric far-?eld components. Absolute ?eld strength (in amperes) of the theta and phi magnetic far-?eld components. Normalized ?eld strength of respectively left-hand and right-hand circular polarized electric far-?eld component. Axial ratio, derived from left-hand and right-hand circular polarized far-?eld components. Normalized ?eld strength of co and cross polarized electric far-?eld components. Linear polarization axial ratio, derived from co and cross polarized far-?eld components. Gain, Directivity, Ef?ciency (in percent), Effective area (in m2).

PHI

Etheta and Ephi Htheta and Hphi Elhp and Erhp ARcp Eco and Ecross ARlp Gain, Directivity, Ef?ciency, EffectiveArea Power

Radiation intensity (in watts/steradian).

Viewing Radiation Patterns

9-9

Viewing Results Using the Data Display

Details about each of these parameters can be found in “About Antenna Characteristics” on page 8-2.
Note

The normalized far-?eld components (Elhp, Erhp, Eco, and Ecross) are
max( E θ ( θ, ? ) + E ? ( θ, ? ) ) .
2 2

normalized with respect to

9-10

Viewing Radiation Patterns

Chapter 10: Momentum Visualization Basics
Momentum Visualization enables you to view and analyze these types of simulation data: ? S-parameters ? Currents ? far-?elds ? Antenna parameters ? Transmission line data Data can be analyzed in a variety of 2D and 3D plot formats. Some types of data are displayed in tabular form. You can view the simulation results from any Momentum or Agilent HFSS project. This chapter gives an overview on how to use the Momentum Visualization. Subsequent chapters describe in detail how to use Momentum Visualization for viewing speci?c types of data, such as S-parameters or currents.

Starting Momentum Visualization
To start Momentum Visualization choose Momentum > Post-Processing > Visualization. The current project must run through a complete simulation use Visualization to view data. If simulation has been previously completed for a project, you can start Visualization directly to view the existing data.

Starting Momentum Visualization

10-1

Momentum Visualization Basics

Working with Momentum Visualization Windows
The following ?gure highlights the basic elements of the Momentum Visualization window. For an overview of Momentum, refer to “Momentum Overview” on page 1-2.
Menu bar

View screen
Data editing controls Data on the plot

Selected plot

Plot editing controls

10-2

Working with Momentum Visualization Windows

Selecting the Number of Views
By default, the view screen displays a single view. You can optionally display four views. By using four views, you can display up to four different plots at one time. To display four views: ? Choose Window > Tile.

View 1 View 3

View 2 View 4

Tip

You can enlarge the viewing area by clicking Hide Controls.

To display a single view: ? Choose Window > Full Window. The currently-selected view ?lls the view screen.

Working with Momentum Visualization Windows

10-3

Momentum Visualization Basics

Selecting a View to Work in
You must choose from one of the four views to work in. You can change to a different view at any time. To select a view: 1. Position the mouse in the view and click. To identify the selected view, note the title of the Plot Type - View list. This will change to identify the selected view. For example, if you choose View 3, the title will appear as Plot Type - View_3.
identi?es the selected view

To select a view and enlarge it to a single view: 1. Choose Window > Select View. 2. Select a view from the View list. 3. Click OK. The view screen displays the new view.

10-4

Working with Momentum Visualization Windows

Setting Preferences for a View
You can set the color preferences for a view, including the background, grid lines, and text along the plot axes.

background major axis minor axis Axis Label

Axis Label

To set preferences: 1. Choose Window > Preferences. 2. Select a color for the background, the text that labels plot axes, and colors of the major and minor axes. The major axis includes the grid lines with numbers, the minor axis consists of grid lines that appear in between the numbered ones.

one line of the major axis

one line of the minor axis

3. Click Done to dismiss the dialog box.

Working with Momentum Visualization Windows

10-5

Momentum Visualization Basics

Working with Annotation in a View
You can add text to a view, and edit the position and color of the text, by choosing Display > Annotation. You can save your settings so that they can be reused.
you can add text and position it anywhere in a view

Adding Text
To add text to a view: 1. Select the view where you want to add text. 2. Choose Display > Annotation. Drag the Annotation dialog box so that any existing text is in view. 3. Click New Annotation. 4. Type your text into the Annotation Label ?eld. If text already appears in this ?eld, you can delete it and then type in your text. When you are ?nished, press the Enter key. 5. Use the X Location and Y Location scroll tools to position the text on the display. 6. Click Done to dismiss the dialog box and view the new text.

Adding Variables
There are three variables that can be added to the annotation: %project%, %view%, and %date%. These variables can be displayed automatically whenever Momentum Visualization is in use.

10-6

Working with Momentum Visualization Windows

Editing Text
To edit text: 1. Select the view where you want to edit text. 2. Choose Display > Annotation. Drag the annotation dialog box so that any existing text is in view. 3. Select the text that you want to edit from the Annotations ?eld. 4. To adjust the position of the text in the view, use the X Location and Y Location scroll tools. 5. To change the size of the text, use the Annotation Size scroll tool to increase or decrease the font size. 6. To change the thickness of the text characters, use the Annotation Thickness scroll tool to make ?ne, normal, or bold-faced characters. 7. To change the color of the text, select one of the colors listed under Annotation Color. 8. To change the orientation of the text, Horizontal or Vertical under Orientation. 9. To change the text, make your changes in the Annotation Label ?eld. 10. To make changes to other lines of text, select the text from the Annotation ?eld and edit as desired. 11. When you are ?nished, click Done to dismiss the dialog box.

Deleting Text
To delete text: 1. Select the view that you want to add text to or edit text. 2. Choose Display > Annotation. Drag the annotation dialog box so that any existing text is in view. 3. Select the text that you want to delete from the Annotations ?eld. 4. Click Delete Annotation. 5. Click Done to dismiss the dialog box.

Working with Momentum Visualization Windows

10-7

Momentum Visualization Basics

Retrieving Plots in a View
Multiple plot types can be stored under a single view. Only one plot at a time can be displayed in a view, but any other plots that you worked with in the view will be saved so that you can view them again. To retrieve a plot from a view: ? Select a view and either: ? Use the arrows keys on the keyboard to scroll through plots. ? From the Plot Type - View list, select a plot type that you worked with. The plot and all graphical information that was added to the plot is displayed.
Select the plot that you want to view from this list.

Refreshing the Window
Choose Window > Refresh at any time to update the displayed views. Typically, the window refreshes automatically after a command is completed.

Data Overview
You can display these types of data in Momentum Visualization: ? S-parameters ? Currents ? far-?elds ? Antenna parameters ? Transmission line data (gamma and characteristic impedance)

10-8

Data Overview

The plots and tables that are available for viewing this data can be found under these menus.
Display surface currents

Display Gamma, characteristic impedance, S-, Y-, Z-parameters

Display far-?elds and antenna parameters

The chapters that appear later in this manual describe in detail how to work with these different types of data.

Working with Plots and Data
There are many plot types available, plus many types of data to display. This section describes how to work with plots, such as adding a plot to a view, adding data to a plot, and editing a plot.

Displaying a Plot
Momentum Visualization is designed so that for each basic type of data, such as S-parameters or currents, there is a set of plots available for displaying the data. The details for working with each basic data type and the available plots are in later chapters in this manual.
S-parameter plots are under the Plot menu

This will plot magnitude versus frequency

Working with Plots and Data

10-9

Momentum Visualization Basics

As an example, to display an S-parameter magnitude plot: 1. Choose Plot > Mag Plot. 2. Select a matrix and set of S-parameters from the Matrix and S-parameters list. Details about these lists appear in Chapter 10, Momentum Visualization Basics. 3. Select a view from the View list. The plot will appear in this view. 4. Click Apply.

Adding Data to a Displayed Plot
Multiple sets of data can be added to a plot: ? For most rectangular plots, you simply repeat the steps that you took to add the plot to the view and choose a different set of data from the dialog box. If you want to use data from a different project, select the project from the Projects menu ?rst, then repeat the steps. ? For current plots, you can add items that are listed under the Display menu. The dialog box below illustrates how to add a second set of S-parameters to an S-parameter magnitude plot.

select the same view that the plot is displayed in use the same project data or load data from a different project ?rst

select new data to add to the plot

10-10

Working with Plots and Data

Working with Data Controls
Data controls are available for editing the appearance of the following items: ? S-parameters ? The mesh ? Currents ? Far-?elds To access data controls, select the data from the Graphs list. Click the button that appears above the Graphs list. The illustration here is an example for S-parameter data or other data that appears on a rectangular plot.
plot type information about the selected data is displayed click to edit the appearance of the data

select data from the Graphs list

Data controls include: ? For rectangular plots, you can change the name of the data, the line color, and the line type used to display the data. ? For current plots, you can alter the appearance of the mesh, or animate currents. ? For far-?eld plots, you can set the translucency or constant Phi.

Working with Plots and Data

10-11

Momentum Visualization Basics

Viewing Data from Another Project
The data from any Momentum or Agilent HFSS project can be added to a plot. After you load new projects, you can select among any of the projects for data to display. To load an Momentum project: 1. Choose Projects > Read Momentum Project. 2. Navigate to the folder where the project is saved (project folder) and open the folder. 3. Under the project folder is another folder named mom_dsn. Open this folder. 4. Open the folder that contains your speci?c design. 5. Double-click on any ?le within this folder. To load a new Agilent HFSS project: 1. Choose Projects > Read Agilent HFSS Project. 2. Select the project directory containing the project. 3. Select the project from the Projects list. Note the annotation at the bottom of the list, it will indicate if the selected project has saved solutions or not. 4. Click OK. To change to a different project: 1. Choose Projects > Select Project. 2. Select a project from the list of Momentum or Agilent HFSS projects. 3. Click Select Momentum or Select Agilent HFSS. The title bar of the Momentum window will display the name of the currently selected project. Data will be retrieved from this project.
Note

10-12

Working with Plots and Data

Erasing Data from a Plot
Choose Window > Erase to delete part or all of the data from a plot. When the data is deleted, it is also removed from the Graph list. 1. Select the plot from which you want to erase the displayed data. 2. Choose Window > Erase Plot. 3. Select the data to be erased. 4. Click Apply. 5. Continue to select data and use Apply as needed. 6. Click Done to dismiss the dialog box.

Reading Data Values from a Plot
Data for a single point can be retrieved from any plot. The values are displayed near the bottom of the Momentum window. The type of data that is returned is based on the plot type. Data is not retrieved from far-?eld plots. To read the values of a single data point: ? Position the mouse on the data point of interest and click. For rectangular plots and Smith charts, the returned values include the data name, and the values along the X and Y axes of the plot. In some cases, values may be rounded.
S-parameters displayed on a magnitude vs. frequency plot

frequency, in GHz

magnitude, in dB

Working with Plots and Data

10-13

Momentum Visualization Basics

On current plots, you can return values selected on Objects added from the Display menu. These are the x, y, and z drawing coordinates of the layout.
The layout is displayed Returns the x, y, and z drawing coordinates

Working with Plot Controls
You can use the plot editing controls at the bottom of the Momentum window to rotate, resize, and move plots to optimize the view of your data. When you are working with rectangular plots, you can adjust the scale of the plot.

Rotating a Plot
The Rotate command moves a 3D plot in the X, Y, or Z direction. You can rotate Objects and 3D far-?eld plots only. To rotate a plot: 1. Click Rotate. 2. Rotate the plot using one of the following methods: ? Position the mouse anywhere on the plot, then drag the mouse up, down, or diagonally to rotate. To ?x the plot position, release the mouse button. ? Click Rotation to set X Rotation, Y Rotation, and Z Rotation values using scroll bars. Values range from -180 to 180 degrees. ? Click Views to select a prede?ned view. Choices are Front Angle, Back Angle, Top, Side, or Front.

10-14

Working with Plots and Data

Scaling a Plot
The Scale command enlarges or shrinks the size of a plot. To scale a plot: 1. Click Scale. 2. To enlarge the plot, click anywhere on the plot and drag the mouse up or to the right. 3. To make the plot smaller, drag the mouse down or to the left.

Moving the Centerpoint of a Plot
The Pan command moves a plot in the horizontal or vertical direction. To move a plot: 1. Click Pan. 2. Click anywhere on the plot and drag the mouse to move the plot up, down, left, or right.

Working with Rectangular-plot Editing Controls
Rectangular plots have additional plot controls for: ? Adjusting the x and y axes of the plot ? Adjusting the data legend on a plot

Editing the Axes on a Plot
The options in the Graph Properties dialog box enable you to change the range of data that is displayed on a plot, to increase or decrease the number of lines in the plot grid, and to change the text that appears along each axis. To change the data range on a plot: 1. Click Graph Properties. 2. The current boundaries are displayed in the X Axis and Y Axis Min and Max ?elds. To change the range of displayed data, type new values into the Min and Max ?elds for each axis. 3. Press Enter as you make each entry to view its effect on the plot.

Working with Plots and Data

10-15

Momentum Visualization Basics

To manually scale x, y axes: 1. Click Graph Properties. 2. Enter the number of units per division in the Div ?eld. For example, if Div is set to 20 when Min is 0 and Max is 100, you would see 5 major divisions along the axis.

3. Enter the number of grid lines in each division in the Ticks ?eld. In the ?gure above, Ticks is set to 1, so one line appears in each division. 4. Press Enter as you make each entry to view its effect on the plot. To automatically scale the axes of a plot: 1. Click Graph Properties. 2. Click Auto Scale to automatically scale the x and y axes of a plot. To change the text on each axis: 1. Click Graph Properties. 2. Type new text into the X Legend and Y Legend ?elds. 3. Press Enter as you make each entry to view its effect on the plot.

10-16

Working with Plots and Data

Editing the Legend
When several sets of data are on a single plot, the legend can help to distinguish the data. The legend displays the colors used to display the data and the names of the data. You can move and resize the legend, or erase it. You can also change the name of the data.
colors of plotted data

names of plotted data

Working with Plots and Data

10-17

Momentum Visualization Basics

To edit the legend: 1. Click Legend Properties. 2. If the dialog box appears to be empty, enable Visible. 3. Use the X Location and Y Location scroll bars to adjust the position of the legend in the view. 4. Adjust the font size if the title using Legend Title Size. 5. Adjust the font size of the data names using Legend Entries Size. 6. To change the title above the data names, enter a different title in the Legend Title ?eld. 7. Click Done to dismiss the dialog box. To edit the name of the data: 1. Select the data from the Graphs list. 2. Click Line Properties. 3. Under Line Legend, enter a new name for the data. 4. Click Done to dismiss the dialog box.

Saving a Plot
You can save plotted data and the plot type to a ?le. The data types include: ? S-parameter magnitude or phase ? Impedance ? Transmission data ? Far-?eld cuts The ?le is in ASCII format, so you can use the data in other applications. You can also import these ?les directly into Momentum Visualization. This eliminates the need to read in a project and then select the project in order to view the data.

10-18

Saving a Plot

To export plotted S-parameters: 1. Choose File > Export Plot Data. 2. Select the type of plot you want to export. 3. Under Plots, select the S-parameters that you want to apply to the plot. 4. Click Browse. Navigate to where you want to save the ?le and enter a ?le name. An extension (.hfd) will be automatically appended to the ?le name. Click OK. 5. If you are satis?ed with your selections, click Apply. The calculated S-parameters and plot type are written to the ?le. 6. Continue to save other sets of S-parameters with other plot types, as desired. Be sure to click Apply so that the ?le is generated. 7. When you are ?nished, click Done to dismiss the dialog box. 8. The ?le is saved in ASCII format. You can view the ?le in any text editor.

Saving a Plot

10-19

Momentum Visualization Basics

Importing a Plot
Plots that have been saved to a ?le in .hfd format can be imported. This eliminates the need to read in a project and then select the project in order to view the data. To import a ?le: 1. Choose File > Import Plot Data. 2. Click Browse and select the ?le of interest. 3. The dialog box will display the following information: ? File Name—the full path and name of the ?le ? Plot Type Label—the type of plot that is saved in the ?le ? Plot Name Label—the S-parameters that are saved in the ?le ? Import Name—the name that is assigned by the post processor to the S-parameter plot. This is the name you will choose when you go to display the plot. 4. Click Apply. Continue importing S-parameter plots as desired. 5. When you are ?nished loading plot ?les, click Done. To view an imported plot: 1. Choose Plot > Plot Import Data. 2. Select a plot type. A list of available plots is displayed. 3. Select the name of the plot that you want to view. 4. Select a view. 5. Click Apply. Continue adding plots to views as desired. 6. Click Done to dismiss the dialog box.

10-20

Importing a Plot

Chapter 11: Displaying S-parameters
In Momentum Visualization, you can display S-parameters in tabular or plotted formats. This chapter describes how to view and work with S-parameters. It also gives general information about S-parameters.

S-parameter Overview
When viewing and working with S-parameters, you should be aware how impedance is speci?ed and what naming convention is used. These are described in the following sections.

Normalization Impedance
The S-parameters that you can display are S-parameters with respect to a normalization impedance as de?ned in the Impedance ?elds of the Port Editor dialog box. If an impedance is not speci?ed, 50 ? is assumed.

Naming Convention
The S-parameter naming convention, which is based on the name of the project, indicates which set of S-parameters you are viewing or working with. There are only two data sets available for a project. One is named design_name which contains the discrete frequencies that were actually simulated. The second is design_name(afs) is available only when an adaptive frequency sweep is speci?ed in the simulation setup. An adaptive frequency sweep data set contains a high resolution sampling based on the pole-zero model ?tted on the simulated frequencies.

Viewing S-parameters in Tabular Format
You can view S-parameters in tabular format. The table displays S-parameter values for each port in these formats: ? Magnitude ? Real and imaginary components ? Magnitude and phase The table is for viewing data only, you cannot plot data from this table.

S-parameter Overview

11-1

Displaying S-parameters

S-parameters are displayed as shown here.
Port number

Results in magnitude and phase

Results displayed at selected frequency

Results displayed in the selected format

To view S-parameters: 1. Choose Plot > Matrix. 2. Select the data you want to view from the S Parameters list. 3. Select the frequency of interest from the Frequencies list. Some S matrices have data at only one frequency. 4. Select the data format: ? Magnitude Displays the magnitude of the S-parameters ? Real/Imag Displays the S-parameters as complex numbers ? Mag/Phase Displays the magnitude and phase of the S-parameters 5. Use the scroll bars to view large matrices. 6. Click OK to dismiss the dialog box.

11-2

Viewing S-parameters in Tabular Format

Plotting S-parameter Magnitude
The S-parameter magnitude plot displays magnitude in dB with respect to frequency.

To display an S-parameter magnitude plot: 1. Choose Plot > Mag Plot. 2. Select an S matrix from the Matrix List. 3. Select the S-parameters. The combinations are based on ports. 4. Select the view where you want to display the plot. 5. Click Apply. 6. You can add other S-parameters to the plot, or click Done to dismiss the dialog box.

Plotting S-parameter Phase
The S-parameter phase plot displays phase in degrees with respect to frequency. Note that when viewing S-parameter phase, in some cases the phase delay is plotted. For example, a layout of an electrical length with a phase of 60 degrees, S21 represents a phase delay, and appears as -60 degrees. For phases greater than 180 degrees, it may

Plotting S-parameter Magnitude

11-3

Displaying S-parameters

appear that the phase predicted from Gamma compared to S21 is incorrect, but this is not so if delay is taken into account.

To display an S-parameter phase plot: 1. Choose Plot > Phase Plot. 2. Select an S matrix from the Matrix List. 3. Select the S-parameters. The combinations are based on ports. 4. Select the view where you want to display the plot. 5. Click Apply. 6. You can add other S-parameters to the plot, or click Done to dismiss the dialog box.

11-4

Plotting S-parameter Phase

Plotting S-parameters on a Smith Chart
The Smith chart displays real and imaginary components of S-parameters.

To display a Smith chart: 1. Choose Plot > Smith Plot. 2. Select an S matrix from the Matrix List. 3. Select the S-parameters. 4. Select the view where you want to display the plot. 5. Click Apply. 6. You can add other S-parameters to the Smith chart, or click Done to dismiss the dialog box.

Plotting S-parameters on a Smith Chart

11-5

Displaying S-parameters

Exporting S-parameters
S-parameters can be exported to a ?le, in either Touchstone or CITI?le format. You can export S-parameters to use with other tools. To export S-parameters: 1. Choose File > Export S Matrix. 2. Select the set of S-parameters to be exported from the Matrix list. 3. Select the ?le format, CITI?le or Touchstone. 4. Specify the ?le name either by typing the full ?le path into the File Name ?eld or click Browse. 5. Click OK to complete the command.

11-6

Exporting S-parameters

Chapter 12: Displaying Surface Currents
In Momentum Visualization, you can display electric surface currents on ?nite conducting objects, and magnetic surface currents on apertures in in?nite ground planes. This chapter describes how to view currents.

Setting Port Solution Weights
Before displaying a current plot, select a frequency and set the port solution weights for that frequency. Weighting port solutions enables you to specify the amount that any one port solution contributes to the solution at a given frequency. The weighting will be re?ected in the current plots. A Thevenin voltage source (voltage source + source impedance in series) is attached to each circuit port. The source impedance is either the characteristic impedance for single, differential, and coplanar ports; or 50 ohms for all other port types. The voltage source amplitude for each port is set to its corresponding solution weight (magnitude + phase). The displayed currents are those that correspond with this excitation state. To set port solution weights: 1. Choose Current > Set Port Solution Weights. 2. Select a frequency. 3. Select a port, and enter the magnitude in the Solution Weight ?eld, and enter the phase in the Solution Phase ?eld. 4. Repeat the previous step for other ports, as necessary for the same frequency. 5. Click OK to complete the command.

Displaying the Layout
An outline of the layout is loaded into a view (if it is missing) when the current plots are displayed. If a layout is not loaded or if it was deleted, choose Display > Objects to display the layout.

Setting Port Solution Weights

12-1

Displaying Surface Currents

Displaying a Current Plot
The current plot displays surface currents on all objects of the simulated layout. The plot can be animated to illustrate the currents propagating through the circuit. Make sure the layout is loaded into the view. Choose Display > Objects to load the layout if it is missing.
Note

To display a current plot: 1. Choose Current > Plot Currents. 2. Select the graphical format: ? Arrow Plots a vector current quantity using arrows to indicate direction and magnitude. ? Contour Displays the “equal magnitude” contours of the vector current. ? Shaded Displays a shaded plot of a magnitude of the vector current. The magnitude being plotted is represented by a range of colors. A color scale showing the range of values also appears on the screen. 3. Select the view that you want to use to display the plot. 4. Click OK.

12-2

Displaying a Current Plot

Animating Plotted Currents
The currents have a sinusoidal, or harmonic, time dependence, with steady-state conditions assumed. There is an implied e j ω t time dependence. Animation enables you to visualize the surface currents in the time domain, illustrating the propagation through a circuit. Changing time corresponds with changing the additional phase introduced by the e j ω t factor. You can change this phase continuously or you can step through the phase changes manually. To change the phase manually: ? Use the scroll bar. This enables you to freeze the phase in the layout. To automate the animation: 1. Click Display Properties. 2. Enable Animate. 3. The currents are animated in time. The animation repeats automatically until Animate is disabled. The speed of the animation can be changed by editing the Increment ?eld. A larger value speeds the animation, smaller values slow it down. 4. You can change the maximum value of the color scale. Depending on the selected graphical format, you can change other options: ? For the shade and contour plots, you can set the translucency, and color of the current. ? For the arrow plot, you can change the length of the arrow vector.

Displaying a Current Plot

12-3

Displaying Surface Currents

Displaying the Mesh on a Current Plot
Choose Display > Mesh to add the mesh to a current plot. To display a mesh: 1. Choose Display > Mesh. 2. Select the view displaying the plot to which you want to add the mesh. Meshes can be displayed in Objects only. 3. Click OK to complete the command. Depending on the drawing order, the mesh may be under the shaded current plot, and not visible. To see the mesh, lower the translucency of the shaded plot.
Tip

12-4

Displaying the Mesh on a Current Plot

Chapter 13: Displaying Radiation Results
In Momentum Visualization, you can view the following radiation data: ? Far-?elds including E ?elds for different polarizations and axial ratio in 3D and 2D formats ? Antenna parameters such as gain, directivity, and direction of main radiation in tabular format This chapter describes how to view the data. In Momentum RF mode, radiation results are not available for display. For general information about radiation patterns and antenna parameters, refer to Chapter 8, Radiation Patterns and Antenna Characteristics.

Loading Radiation Results
In Momentum, computing the radiation results is included as a post processing step. The Far Field menu item appears in the main menu bar only if radiation results are available. If a radiation results ?le is available, it is loaded automatically. The radiation results ?le contains only the radiation results for a single frequency (the one that was last calculated). Since this ?le is loaded only when a new Momentum project is opened, you must reopen the project to load radiation results calculated at another frequency. The command Set Port Solution Weights (in the Current menu) has no effect on the radiation results. The excitation state for the far-?elds is speci?ed in the radiation pattern dialog box before computation.
Note

You can also read in far-?eld data from other projects. First, select the project containing the far-?eld data that you want to view, then load the data: 1. Choose Projects > Select Project. 2. Select the name of the Momentum or Agilent HFSS project that you want to use. 3. Click Select Agilent HFSS or Select Momentum. 4. Choose Projects > Read Field Solution.

Loading Radiation Results

13-1

Displaying Radiation Results

5. When the data is ?nished loading, it can be viewed in far-?eld plots and as antenna parameters.

Displaying Far-?elds in 3D
The 3D far-?eld plot displays far-?eld results in 3D. To display a 3D far-?eld plot: 1. Choose Far Field > Far Field Plot. 2. Select the view in which you want to insert the plot. 3. Select the E Field format: ? E = sqrt(mag(E Theta)2 + mag(E Phi)2) ? E Theta ? E Phi ? E Left ? E Right ? Circular Axial Ratio ? E Co ? E Cross ? Linear Axial Ratio 4. If you want the data normalized to a value of one, enable Normalize. For Circular and Linear Axial Ratio choices, set the Minimum dB. Also set the Polarization Angle for E Co, E Cross, and Linear Axial Ratio. 5. By default, a linear scale is used to display the plot. If you want to use a logarithmic scale, enable Log Scale. Set the minimum magnitude that you want to display, in dB. 6. Click OK.

13-2

Displaying Far-?elds in 3D

Selecting Far-?eld Display Options
You can change the translucency of the far-?eld and set a constant phi angle: 1. Click Display Options. 2. A white, dashed line appears lengthwise on the far-?eld. You can adjust the position of the line by setting the Constant Phi Value, in degrees, using the scroll bar. 3. Adjust the translucency of the far-?eld by using the scroll bar under Translucency. 4. Click Done.

De?ning a 2D Cross Section of a Far-?eld
You can take a 2D cross section of the far-?eld and display it on a polar or rectangular plot. The cut type can be either planar (phi is ?xed, theta is swept) or conical (theta is ?xed, phi is swept). The ?gure below illustrates a planar cut (or phi cut) and a conical cut (or theta cut), and the resulting 2D cross section as it would appear on a polar plot.

De?ning a 2D Cross Section of a Far-?eld

13-3

Displaying Radiation Results

The procedure that follows describes how to de?ne the 2D cross section.

planar cut at phi = 0o

conical cut at theta = 90o

To de?ne a cross section of the 3D far-?eld: 1. Choose Far Field > Cut 3D Far Field. 2. If you want a conical cut, choose Theta Cut. If you want a planar cut, choose Phi Cut. 3. Set the angle of the conical cut using the Constant Theta Value scroll bar or set the angle of the planar cut using the Constant Phi Value scroll bar. 4. Click Apply to accept the setting. The cross section is added to the Cut Plots list. 5. Repeat these steps to de?ne any other cross sections. 6. Click Done to dismiss the dialog box

13-4

De?ning a 2D Cross Section of a Far-?eld

Displaying Far-?elds in 2D
Once you have de?ned a 2D cross section of the 3D far-?eld plot, you can display the cross section on one of these plot types: ? On a polar plot ? On a rectangular plot, in magnitude versus angle In the ?gure below, a cross section is displayed on a polar and rectangular plot.

To display a 2D far-?eld plot: 1. Choose Far Field > Plot Far Field Cut. 2. Select a 2D cross section from the 2D Far Field Plots list. The type of cut (phi or theta) and the angle identi?es each cross section. 3. Select the view that you want to use to display the plot. 4. Select the E-?eld format. 5. Select the plot type, either Cartesian or Polar. 6. If you want the data normalized to a value of one, enable Normalize. 7. By default, a linear scale is used to display the plot. If you want to use a logarithmic scale, enable Log Scale. If available, set the minimum magnitude that you want to display, in dB; also, set the polarization angle. 8. Click OK.

Displaying Far-?elds in 2D

13-5

Displaying Radiation Results

Displaying Antenna Parameters
Choose Far Field > Antenna Parameters to view gain, directivity, radiated power, maximum E-?eld, and direction of maximum radiation. The data is based on the frequency and excitation state as speci?ed in the radiation pattern dialog. The parameters include: ? Radiated power, in watts ? Effective angle, in degrees ? Directivity, in dB ? Gain, in dB ? Maximum radiation intensity, in watts per steradian ? Direction of maximum radiation intensity, theta and phi, both in degrees ? E_theta, in magnitude and phase, in this direction ? E_phi, in magnitude and phase, in this direction ? E_x, in magnitude and phase, in this direction ? E_y, in magnitude and phase, in this direction ? E_z, in magnitude and phase, in this direction Details about each of these parameters can be found in “About Antenna Characteristics” on page 8-2.
Note

In the antenna parameters, the magnitude of the E-?elds is in volts.

13-6

Displaying Antenna Parameters

Chapter 14: Displaying Transmission Line Data
In Momentum Visualization, you can display the following transmission line data for all calibrated ports, except coupled ports: ? Propagation constant ? Characteristic impedance The following port types are calibrated: ? Single ? Differential ? Coupled ? Coplanar For each calibrated port, an in?nitely long (coupled) transmission line with the same cross section as the port is solved using a cross section solver. For single ports, the propagation constant and characteristic impedance is a complex but scalar quantity. For differential, coupled, and coplanar ports, those are both matrices with a dimension equal to the number of ports involved (nodal representation). For differential and coplanar ports, the modal gamma and characteristic impedance for the differential or coplanar waveguide mode are calculated, too. Those are scalar quantities again and can be visualized by Momentum Visualization. The characteristic impedance, Z0, at each port is computed from power and current using the relationship Z0 = 2 P / (I.I*). You can view the data either in a table or on plots. In Momentum RF mode, transmission line data are not available for display. This chapter describes how to view the data. It also provides general information about gamma and characteristic impedance.

14-1

Displaying Transmission Line Data

Viewing Transmission Data
You can review gamma and characteristic impedance in a tabular format. The table displays gamma and the characteristic impedance for all single, differential, and coplanar ports present in the circuit. For all other ports, gamma is set to 0 [1/m], and the characteristic impedance is set to 50 [ohm]. The table is for viewing data only; you cannot plot data from this table. To view transmission data: 1. Choose Plot > Transmission Data. 2. Select the matrix containing the data that you want to view. 3. Use the scroll bars to view large matrixes. 4. Click OK to dismiss the dialog box.

Displaying Gamma on a Plot
The gamma plot displays the magnitude, real or imaginary components of the propagation constant gamma. Real values indicate the decay of a wave; imaginary values indicate the phase velocity through the media. To display a gamma plot: 1. Choose Plot > Gamma Plot. 2. Select a matrix from the matrix list. 3. Select the port for which you want to view gamma. 4. Select the view where you want to display the plot. 5. Click Apply. To select the component that you want to display: 1. Select the data that you just plotted from the Graphs list. 2. Click Line Properties. 3. Under Plot Type, select the component you want to display: magnitude, real, or imaginary. 4. Click Done.

14-2

Viewing Transmission Data

Displaying an Impedance Plot
The impedance plot displays the characteristic impedance of a port. The value represents the characteristic impedance of a transmission line extending from the port and having the same cross section as the port. To display an impedance plot: 1. Choose Plot > Impedance Plot. 2. Select a matrix from the matrix list. 3. Select the port from the Impedance list. 4. Select the view where you want to display the plot. 5. Click Apply.

Displaying an Impedance Plot

14-3

Displaying Transmission Line Data

14-4

Displaying an Impedance Plot

Chapter 15: Momentum Optimization
Momentum Optimization, in combination with Momentum, is an effective software tool for automated electromagnetic (EM) design optimization of planar structures. Momentum Optimization automatically adjusts the layout in order to improve the circuit performance according to your design goals, and supports designs developed using the Momentum microwave or Momentum RF mode. Momentum is invoked directly by the optimizer for accurate EM simulations of various layout instances. This provides the optimizer with information with which it makes decisions on how to modify the layout. Momentum is an analysis tool that can be used to accurately account for various EM effects such as couplings or radiation. It is extremely valuable for design veri?cation, but cannot, by itself, determine the layout that meets your design goals. Physical design is usually a trial and error process in which the designer uses Momentum to achieve the goals. By automating this process, Momentum Optimization saves valuable engineering time. It can signi?cantly shorten the design cycle, facilitating faster time-to-market, and for more complex structures, it can usually ?nd better designs than those found manually.
Note You may want to refer to the examples at the end of this chapter to become familiar with terminology and basic procedures in using Momentum Optimization.

“Example - Optimizing a Microstrip Line” on page 15-23 “Example - Optimizing a Filter” on page 15-33

What can be optimized by Momentum Optimization?
Momentum Optimization enables you to optimize geometrical dimensions of 2D layout objects (shape optimization). This includes optimizing: ? Typical dimensions such as lengths, widths, gaps, spacing, or diameters ? Interdependent layout modi?cations such as length and width varying simultaneously ? Many unconventional layout modi?cations

What can be optimized by Momentum Optimization?

15-1

Momentum Optimization

The objects can be metal strips, slots or vias. The underlining technology of object parameterization provides for signi?cant ?exibility in layout modi?cation. The parameterization process is intuitive and is carried out within the ADS layout drawing environment.

What cannot be optimized by Momentum Optimization?
This version of Momentum Optimization does not accommodate optimization of ? Material parameters such as the dielectric constant ? Layout cross-section parameters such as the substrate thickness ? Discrete parameters such as the number of turns of a spiral inductor ? Parameters changing layout topology (including changing the number of object vertices)

What responses can be optimized by Momentum Optimization?
Momentum Optimization allows you to set design goals for the S-parameters in any of the following forms: ? Magnitude in dB ? Magnitude ? Phase (in degrees) ? Real part ? Imaginary part Any combination of the above forms for any selection of port indices can be optimized simultaneously. The S-parameters available for optimization are with respect to 50 ? reference impedance.

Typical steps in using Momentum Optimization
In general, a typical Momentum Optimization session would take place as follows: 1. Create an ADS layout to the best of your design experience. Draw it as close as possible to what you expect the ?nal design to be. You do not need, however, to

15-2

Typical steps in using Momentum Optimization

spend a lot of time selecting exact dimensions. Rather, take advantage of drawing convenience to save time. 2. Setup an Momentum simulation: substrate, metallization, port, meshing, etc. 3. Simulate your design using the Momentum > Simulation menu option. View the responses of interest. If you are satis?ed with the circuit performances you do not need to run Momentum Optimization. 4. Make as good a guess as possible whether some adjustments to layout dimensions could improve your circuit performance. Consider how the layout should be modi?ed to achieve the desired improvement. If a fundamental change to the layout topology is needed, do it now and repeat the simulation. 5. De?ne conceptually as few independent parameters as possible that could facilitate the desired layout modi?cations (see Appendix F, Momentum Optimization - Layout Parameterization for more details and hints). 6. Decide on how the circuit performance can be formally expressed by design goals in terms of frequency points, S-parameters, and upper, lower, equality or window speci?cations. 7. Save your design and invoke Momentum > Optimization menu option.

The Optimization Process
After choosing Momentum > Optimization you need to sequentially step through the three submenu options:
1. Parameters 2. Goals 3. Run

It is recommended that you initially accept as many default settings as possible. The necessary actions for each step are outlined as follows. ? Layout Parameterization You need to de?ne at least one parameter to be able to perform an optimization. Momentum Optimization allows you to de?ne geometrical parameters in an intuitive manner within the layout drawing environment of ADS. ? To de?ne a parameter you need to provide a separate design to show the program how an incremental change in that parameter value affects your original layout. The original layout is referred to as the “nominal design” and

Typical steps in using Momentum Optimization

15-3

Momentum Optimization

the new one is called a “perturbed design”. The program will conveniently guide you through this process. When you add a new parameter a separate design containing a copy of the nominal design is created. You should make your changes in this design. The modi?ed copy is then saved as the perturbed design. ? You need to de?ne a separate perturbed design for each parameter. ? Design Goals You need to de?ne at least one design goal to be able to perform an optimization. A single design goal consists of a frequency plan (a single point or a linear sweep), a response of interest (e.g., the magnitude of S21), the speci?cation type, and a numeric value that the response should either exceed or achieve. ? For multiple design goals you can emphasize/de-emphasize their relative importance using weights associated with each goal. ? Optimization Run In most situations you should be able to accept all default settings in the corresponding dialog box (Optimization Control window). ? Once at least one parameter and one goal are de?ned you can click Start to invoke the optimizer. The optimization progress is displayed in the Momentum Optimization window. The log ?le of the optimization progress is available for viewing and/or printing at any time at the menu option Momentum > Optimization > Summary.
Note A working design is created during the optimization process with the name designName_work (the original design ?le name is appended with “_work”).

When Optimization is Finished
Once the optimization process is ?nished the best (optimal) layout is shown in a separate window and saved as a separate design. Furthermore, the results of all Momentum simulations carried out during the optimization are saved in a database. This can signi?cantly save time in future optimization runs. In order to assess the circuit performance after optimization is ?nished you need to view the responses corresponding to the best layout found by the optimizer. You can do it in one of the following two ways. ? Use the Display menu in the Momentum Optimization window, or

15-4

Typical steps in using Momentum Optimization

? Invoke the Momentum > Simulation menu option from within the optimal design layout window, perform simulation and use the Data Display Server.

Restarting Optimization
You can always go back to Momentum > Optimization > Run and restart optimization. If you do it keeping the same starting point (the Starting Value ?eld) as in the previous run, the Momentum results will be quickly retrieved from the database, and the optimization will run very quickly. If you start from a different point, some additional Momentum simulations may be performed. The results of those simulations will be added to the database. Caution needs to be exercised when you want to restart optimization after making modi?cations to the optimization setup (see “Removing Obsolete Databases” on page E-3).

Working with Optimization Parameters
The geometric parameters that can vary during optimization are de?ned in the Optimization Parameters Editor. Choose Momentum > Optimization > Parameters to open the dialog box:

Parameters List

Name and values of selected parameter. Displayed for editing Button to view/de?ne a perturbation Close dialog and save changes Save changes without closing dialog Close dialog without saving changes Buttons to view/control the start design

Buttons to add or edit parameters

Working with Optimization Parameters

15-5

Momentum Optimization

Parameters (list)
This box contains the list of parameters for optimization. Three parameter attributes are displayed in the list:
Starting point for the optimization Optimization result

Indicates if the parameter will be considered as variable by the optimizer (yes), or its value is to remain ?xed (no) during optimization.

Parameter De?nition
This box contains edit ?elds and buttons to de?ne a parameter:
An ASCII string to identify the parameter. Only alphanumeric characters and the underscore are allowed. The ?rst character must be alphabetic. The value of the parameter corresponding to the nominal project Changing the unit will not rescale the layout The value of the parameter corresponding to the perturbed design The current value of the parameter. In optimization, this value is used as the starting point. By default, the starting values are set to the nominal parameter values. You may also enter any meaningful value that is different from both the nominal and perturbed values.

The values do not have to be true geometrical dimensions. But it is recommended that you use meaningful values.

15-6

Working with Optimization Parameters

On Windows platforms (Win95, Win98, NT), parameter names are case insensitive. They must be distinguished by some means other than case (for example, width and Width are considered as the same name).
Note

In general, all the de?ned parameters are listed in the window as candidates for optimization variables. You can select an individual parameter as a variable by clicking the check mark box associated with that parameter. To undo the selection, click the check mark box again. In this way, you can select any subset of the parameters de?ned as variables while the others are kept ?xed at the values speci?ed as Starting Values. Two buttons are available to access more settings, and to view a perturbed design. If you click More, see “Using Advanced Parameter Settings” on page 15-8 for more details.

Click to access a dialog for more settings. Click this button to display the perturbed design associated with the selected parameter

Two buttons are provided to view and control the start design:

Click this button to display the starting design for optimization

Click this button after optimization is ?nished to update the starting values with the optimal values

Working with Optimization Parameters

15-7

Momentum Optimization

Using Advanced Parameter Settings
Clicking More in the Optimization Parameters Editor enables to access advanced settings. These settings apply individually to the parameter currently highlighted in the Parameters Editor.

Lower and Upper Bounds - You may enter a lower and an upper bound for the parameter. This forces the parameter value to stay within these bounds during optimization. Although the bounds are optional, they are useful for preventing the optimizer from producing invalid layouts (for example, due to overlapping objects). If you choose not to specify explicit bounds, the default bounds are de?ned to ensure that the parameter values do not change signs during optimization: ? If both the nominal and perturbed parameter values are greater than or equal to zero, then the default lower bound is zero and the upper bound is the layout limit. ? If both the nominal and perturbed parameter values are lower than or equal to zero, then the default lower bound is the layout limit and the upper bound is zero. ? If the nominal and perturbed values have opposite signs, then the default lower and upper bounds are the layout limit. The layout limit is controlled by the design precision. You can increase the limit by reducing the design precision in the Layout/Units tab of the Option/Preferences dialog.
Note

15-8

Using Advanced Parameter Settings

Interpolation Resolution - The number of interpolation intervals between the nominal and the perturbed values. Momentum Optimization employs interpolation to signi?cantly enhance its ef?ciency. The optimizer invokes Momentum for EM simulation only if the parameter value is moved across an interpolation interval. For small changes in parameter values, interpolation is applied instead of EM analysis to obtain the S-parameters. This can substantially reduce the number of Momentum calls required for optimization. See Appendix E, Momentum Optimization - Response Interpolation for further discussion on interpolation.

Using Advanced Parameter Settings

15-9

Momentum Optimization

Adding Parameters to Designs
The basic steps required for adding a parameter through the Optimization Parameter Editor are depicted in the following ?gure:

6. New parameter appears here and a new layout window opens

1. Enter a name 2. Specify the nominal and perturbed values 3. Optionally, specify a starting value, bounds and the interpolation resolution 5. Click Add 4. Make sure this box is checked

7. An information dialog explains how you can modify the design to describe the direction of change for the parameter.

9. Draw the changes resulting from a variation in the parameter value

8. Check this box if you do not want to see this dialog again

A copy of the original (nominal) design is shown in the new layout window. This copy is named <dsnName>_<paramName>.dsn, where <dsnName> is the name of your

15-10

Adding Parameters to Designs

nominal Momentum design and <paramName> is the name of the parameter. This layout is referred to as the “perturbed design” for the parameter <paramName>. Edit the perturbed design to re?ect the changes to the structure resulting from a variation in the parameter value. By comparing the nominal and perturbed designs, the optimizer will automatically extract the information needed for translating a parameter value into the corresponding geometrical coordinates. Repeat this stepped procedure to de?ne more parameters. When you have ?nished, click OK to close the dialog and the perturbed design window. The perturbed designs are saved automatically at that time. Once you have created the perturbed designs, you should not alter the original design.
Note

Editing Parameters
To edit one or more parameters:

1. Choose a parameter

2. The parameter de?nition is displayed here. Edit name and values

4. Click to close dialog and save changes.

3. Click Update or press Return to apply changes.

If you have changed the parameter’s name, the perturbed design is renamed automatically when you click Update. This operation cannot be undone.
Important

To delete a parameter:

Adding Parameters to Designs

15-11

Momentum Optimization

1. Highlight the parameter in the Parameters list box. 2. Click Delete. The entry for the parameter is deleted from the list. 3. Use Undelete to add the parameter back if you change your mind.
Note The perturbed design associated to the parameter removed from the list is not deleted by the program. Therefore, it can be reused if you decide to add the parameter back after closing the dialog.

Verifying Your Changes
To verify that the incremental changes are correctly interpreted, you can have Momentum Optimization generate the starting design, and then visually inspect the results. To generate the starting design: 1. Click View Start Design in the Optimization Parameters Editor. 2. A Simulation/Synthesis Message window appears. The relevant differences between the nominal and perturbed designs are extracted to establish the dependency of the design layout on the parameters. 3. When the comparison process is ?nished, the starting design for optimization is displayed in a new layout window. It is named <dsnName>_work where <dsnName> is the name of the nominal Momentum design. If parameterization fails, watch for a message describing the problem in the Simulation/Synthesis Message window:

15-12

Adding Parameters to Designs

If an incremental change cannot be parameterized, Momentum Optimization might open two error layout windows. The nominal design is displayed in the window <dsnName>_errNom, while the perturbed design is displayed in the window <dsnName>_errPer. The name of the perturbed design displayed in <dsnName>_errPer is displayed in the Simulation/Synthesis Message window. Shapes for which the mapping cannot be found are highlighted in these windows. Their number can be different if connectivity problems occur or if the number of vertices differs. For instance, if the nominal design has two rectangles and the perturbed design one triangle and one rectangle, then only the triangle in the perturbed design will be highlighted. After all, the one rectangle in the perturbed design might be a valid mapping for each rectangle in the nominal design.

Viewing and Editing Your Design
You can view and edit a perturbed design by clicking View/Modify Perturbed Design:

1. Choose a parameter

2. The parameter de?nition is shown here 3. Click to view or edit the perturbed design. A layout window opens

4. After editing, click to close dialog and save changes in perturbed designs

After viewing or editing a perturbed design, you can select another parameter. The corresponding perturbed design is then shown automatically. Clicking OK in the dialog will close and save all perturbed designs opened for editing.

Adding Parameters to Designs

15-13

Momentum Optimization

Working with Optimization Goals
Optimization goals express the objectives you wish to achieve through optimization. They are de?ned in the Design Goals Editor. Select Momentum > Optimization > Goals to open the dialog:

Values of selected goal. Displayed for editing

List of goals Buttons to add or edit goals Close dialog and save changes Save changes without closing dialog Close dialog without saving changes

Edit/De?ne Goal box
The ?rst line in the Edit/De?ne box enables you to specify the frequency range:

A change in one of these ?elds causes the remaining ?eld to be calculated automatically

15-14

Working with Optimization Goals

The second line enables you to express the goal:

Recognized S-parameter responses include the magnitude, the magnitude evaluated in dB, the phase evaluated in degrees, the real part, and the imaginary part

Optional weighting factor. The default value is 1. If given, the weighting factor must be a positive number.

The Activated check box controls whether or not the selected goal is considered during optimization. By default this option is on. If you turn it off, the frequency plan will be calculated and saved in the database, but a weighting factor of zero will be assigned to the goal. Thus, deactivating does not obsolete the database.

See “Design Goals/Speci?cations” on page D-2 for further information on design goals.

De?ning a Goal
In general, the de?nition of a goal involves the following steps:
1. De?ne the frequency range: enter the start and end frequencies. Enter also a frequency step or a number of points. 2. De?ne a goal for an S-parameter response 4. Make sure this box is checked 3. Optionally, enter a numerical value for the weighting factor 6. New goal appears here

5. Click Add

Working with Optimization Goals

15-15

Momentum Optimization

Repeat this stepped procedure for all goals you want to add. When you are through adding goals, click OK to dismiss the dialog box. To edit one or more parameters for a goal: 1. Highlight the goal to edit in the Goal list box. 2. The dialog box displays the parameters of the selected goal. 3. Type the new values in the parameter value editing ?eld. 4. Click Update. The Goal list box is updated to re?ect the new values. To delete a goal: 1. Highlight the goal to delete in the Goal list box. 2. Click Delete. The entry for the goal is deleted from the list. 3. Use Undelete to add the goal back if you change your mind.

Performing an Optimization
Before performing an optimization, you have the opportunity to set several options that control the optimization. After setting the options, you can start the optimization and monitor its progress. The following sections describe these topics in detail.

15-16

Performing an Optimization

Setting Optimization Controls
A variety of optimization options are available from the Optimization Control Editor. Choose Run in the Momentum > Optimization menu to bring up this dialog:

Toggle button to Start and Stop optimization

Save changes without closing dialog

Close dialog without saving changes

The Optimization Control Editor provides the following options:
Optimization Type Choice of the optimization type (algorithm and/or objective function). You can select a speci?c optimization type from this list: Minimax, L1, L2, Quasi-Newton, Random, and Simulated Annealing. See “Optimization Algorithms” on page D-6 for further discussion on optimization types. Interpolation Type Choice of the interpolation type. Momentum Optimization utilizes response interpolation in order to signi?cantly speed up the optimization process. Circuit responses corresponding to parameter values that do not fall on a user-de?ned grid are approximated by interpolating Momentum responses calculated at the neighboring on-grid values. See Appendix E, Momentum Optimization Response Interpolation for further discussion on interpolation.

Performing an Optimization

15-17

Momentum Optimization

Stopping Criteria
? Maximum Number of Iterations This option enables you to limit the number of iterations. If the optimization does not converge to an optimal solution before reaching this limit, it will stop and present, as the solution, the best result up to this limit. ? Stop / Continue The Stop option enables you to interrupt the optimization process as soon as all the speci?cations are satis?ed. If you prefer a well-centered design where the responses exceed the speci?cations as much as possible, select the Continue option. See “Stopping Criteria for the Optimization Process” on page D-7 for further discussion on the stopping criteria.
Delete Previous Database Momentum Optimization employs a database system to avoid duplicate EM analysis. Every time Momentum Optimization invokes Momentum, the simulation results are stored in a database together with the corresponding parameter values. Subsequently, when Momentum analysis results are needed, Momentum Optimization checks this database ?rst.

You may choose to have Momentum Optimization delete the database before starting an optimization; to do this turn on this option. This option must be selected whenever the existing database becomes no longer compatible with the current setup. Any re-de?nition made within the Parameters or Speci?cations editors is likely to necessitate deletion of a previously stored database. See “Actual EM Simulations and Database” on page E-3 for further discussion on the database.

Starting an Optimization
To start optimization, click the button Start. A Simulation/Synthesis Message window appears. The relevant differences between the nominal and perturbed designs are ?rst extracted to establish the dependency of the design layout on the parameters. When the comparison process is ?nished, the Advanced Design System invokes Momentum Optimization which then launches its own optimization monitor and display window. A new layout window also opens in which the starting design is shown. During optimization, you can follow the evolution of your design in this window.

15-18

Performing an Optimization

Tip As the layout windows are made active each time a new layout is shown, you may ?nd helpful to minimize the windows during optimization. Also, you can con?gure ADS to leave the Simulation/Synthesis Message window in the background. To do this add the following line to the con?guration ?le hpeesofsess.cfg:
SIMEXEC_MAP_TO_FRONT = off

You can interrupt an optimization in progress. To stop an optimization: 1. Open the Optimization Control Editor. 2. The Start button label is changed to Stop. Click Stop.

Viewing Optimization Status
The progress of optimization is reported in the optimization window:
You can view this information any time after optimization is ?nished using the summary menu option. Iteration count Value of the objective function

Optimizer stops when all design goals are met

Optimization techniques employ iterative algorithms. An iteration leads to performing an optimization step, i.e., changing the optimization variables. As a result, the objective function is normally decreased. It is advisable to monitor how the optimization process proceeds. Occasionally, it is possible that the optimizer makes a step in the up-hill direction. This is not an error.

Viewing Optimization Status

15-19

Momentum Optimization

It is inherent in the optimization algorithms as various search directions and steps are being explored. The best result will be retained as the optimized solution.
Note

The optimization window has a different appearance on Windows and Unix.

Viewing Optimization Results
When the optimization is ?nished, the optimized design is created and displayed in a separate layout window. It is named <dsnName>_opt where <dsnName> is the name of the nominal Momentum design. The value of the parameters can be read in the Parameter dialog which opens automatically:
Optimization results Optimized design

Nominal design

You can check if all optimization goals are met in the optimization data display:

15-20

Viewing Optimization Results

On a PC
1. Choose Rectangular to display responses versus frequency or Smith/Polar to display complex responses 2. Select the response to display and, optionally, change the display options.

3. Click OK 4. The response is displayed in the optimization window. Design goals are superimposed.

Viewing Optimization Results

15-21

Momentum Optimization

On a Unix System

1. Click display 2. The MomOpt.Display menu appears. Click Rectangular to display responses versus frequency or Smith/Polar to display complex responses 3. A pop-up window appears. Select the response to display on the “Y-axis” line. Optionally, change the default display settings

4. Click Go

5. The response is displayed in the optimization window. Design goals are superimposed.

15-22

Viewing Optimization Results

Example - Optimizing a Microstrip Line
This exercise shows how to perform an optimization on a microstrip line. The microstrip is initially designed as a simple 100 mil L x 25 mil W line. The microstrip substrate consists of layers of air, alumina, and a ground plane, where the microstrip rests on the 25-mil alumina layer. The alumina layer dielectric constant is 9.8. The metallization of the microstrip is assumed to be lossless. The goal is to optimize the length L of the line to satisfy: Phase S21 = -120o at f = 10 GHz The sections that follow describe how to optimize the microstrip design to achieve this goal.

Step 1: Creating the Project and Layout
This section describes how to create a project and draw the microstrip. If you want to skip this and other entries, an example project containing the complete microstrip design is in the Examples directory. Examples are in read-only format, so to work with an example you need to make a copy of it. The microstrip in the example project has already been simulated and optimized. Since Momentum simulations and optimizations can reuse data, the optimization will run rapidly.

Creating the Project
1. From the Main window, choose Options > Preferences. Ensure that Create Initial Layout Window is enabled. Click OK. 2. From the Main window, choose File > New Project. The New Project dialog box appears. 3. In the Name ?eld, type mstrip. 4. Click OK.

Example - Optimizing a Microstrip Line

15-23

Momentum Optimization

Creating the Initial Layout
This section describes how to draw the microstrip layout. 1. In the Layout window, ensure that the current layer is cond. You can change the current layer using from the layout list on the toolbar. 2. From the Layout Window, choose Draw > Rectangle. Position the cursor at 0,0 (coordinates appear at the bottom of the Layout window) and click. Move the cursor to the position 100, 25 and click. This creates a microstrip with the dimensions L = 100 mils, W = 25 mils. 3. Under the Options menu, enable midpoint snap and vertex snap by clicking each name. They are located near the bottom of the menu, and a check next to the mode indicates that it is enabled. Using these modes will assist with placing ports in the correct positions on the microstrip. 4. Click the port button and insert a port at each end of the microstrip. Rotate the port before applying if necessary. End the command. In this example, it will not be necessary to use the Momentum Port Editor since the default Momentum port type, internal, will be used and this port type is automatically applied to any port that is not assigned a type. Your layout should resemble the ?gure here.

5. From the Layout window, chose Momentum > Substrate > Create/Modify. Select the Alumina layer. Set the Thickness to 25 mils and Er to 9.8. 6. Click Metallization layers and verify that the cond layer is positioned between the Alumina and Free_Space layers. Click OK. 7. From the Layout window, choose File > Save Design As and save the design as mstrip. This will also save the substrate de?nition as mstrip_lay.slm in the networks folder of the project. This layout that you have just created will be referred to as the nominal design. It will serve as the baseline or reference for the optimization process.

15-24

Example - Optimizing a Microstrip Line

Step 2: De?ning the Optimized Parameters
As mentioned earlier, the goals that are speci?ed for this microstrip (phase S21 = -120o at f = 10 GHz) will be achieved by changing the length of the microstrip. For this exercise, there is only the one geometrical parameter, length, that will be optimized. The optimization process requires that for each parameter you choose to optimize, you must create a new design and alter one parameter in the design. In this exercise, only one parameter will be optimized, so only one new design is required. If you chose to optimize the width as well, you would need two new designs, one with a change to the length, and the other with a change to the width. By comparing a new project with the initial project, Momentum Optimization will identify the parameter that you want to optimize and proceed to optimize it. The original project that you drew is referred to as the nominal design, the new design containing the change to the length is referred to as a perturbed design. This section describes how to identify the parameter that you want to optimize, including creating a new design. 1. From the Layout window, choose Momentum > Optimization > Parameters. The Optimization Parameters dialog box appears. 2. To de?ne the length as an optimizable parameter, enter the following information into the Parameter De?nition ?elds:
Field Name Nominal Value Perturbed value Starting value Enter length 100 mil 110 Explanation The name that you give to an optimized parameter. Use a descriptive name. This is the value of the parameter in the nominal project. The microstrip that you drew has a length of 100 mils. When you draw the perturbed project, you will draw it so that the length of the microstrip is 110 mil. Leave this blank.

Example - Optimizing a Microstrip Line

15-25

Momentum Optimization

3. Click Add. The parameter de?nition is added to the list, as shown in the ?gure here.

15-26

Example - Optimizing a Microstrip Line

4. When you click Add, a new Layout window appears. This is the perturbed design, and it contains a copy of the nominal design. The perturbed design is automatically named mstrip_length. An information dialog is also displayed, and it explains how you can modify the perturbed design to change the parameter length. Further detail is presented in the next steps of this exercise. Drag the dialog box off of the Layout window. Until you become familiar with this process, you may want to keep this dialog box open. Otherwise, click OK to dismiss the box.

Example - Optimizing a Microstrip Line

15-27

Momentum Optimization

5. To edit the layout, select the right edge of the rectangle and port P2. One way to do this is to click and drag an area that contains a small portion of the right side of the rectangle and the entire port. The selected area should resemble the ?gure here.

6. Choose Edit > Move > Move Relative. A dialog box for changing x, y, coordinates appears. To alter the length of the microstrip, type 10 in the X ?eld and click Apply. Click Cancel to dismiss the dialog box. 7. Locate the Optimization Parameters dialog box. In the Parameter De?nition area of the dialog, click More to examine additional settings. One setting is interpolation resolution, it is set to 4 by default. This sets the size of the interpolation interval. In this case, since the incremental change in length is 10 mils, the interpolation interval is 10 mils /4 = 2.5 mils. Suppose, for example, that in some steps during optimization the parameter length varies within the interval between 110 and 112.5. Momentum Optimization will invoke EM simulation for the two end points: L = 110 and L = 112.5, and then use interpolation to obtain S parameters for all other values of L between 110 and 112.5. 8. Click OK. The dialog box closes, the Layout window containing the perturbed design is also closed, and the perturbed design is automatically saved in the networks folder of the project. The nominal project remains open.

15-28

Example - Optimizing a Microstrip Line

Step 3: De?ning Optimization Goals
This section describes how to set up the optimization goals. 1. From the Layout window, choose Momentum > Optimization > Goals. The Optimization Goals dialog box appears. 2. Recall that the goal is Phase S21 = -120o at f = 10 GHz. The goal is at a single frequency, so in the From and To ?elds, enter 10 and set the units to GHz. Skip the Step Size ?eld, but enter 10 in the Number of Points ?eld. In the Response list, select Phase S (degree). In the Ports list, select 21. Select = and then in the Goal ?eld, enter -120. In the Weight ?eld, enter 1. 3. Click Add. The dialog box should resemble the ?gure here.

4. Click OK to accept the goal and close the dialog box.

Example - Optimizing a Microstrip Line

15-29

Momentum Optimization

Step 4: Running the Optimization
You are ready to run the optimization. This section describes how to run an optimization. 1. From the Layout window, chose Momentum > Optimization > Run. The Optimization Control Editor appears. It is not necessary to alter any settings. Click Start. The optimization process begins: ? The optimization is started and a Status window opens. ? The nominal project is compared to the perturbed project. The relevant differences are extracted to establish the dependency of the design layout on the parameter length. This information enables Momentum Optimization to translate any given value of L into the corresponding design. ? When the comparison process is ?nished, the starting design for optimization is created in a new layout window. It is named mstrip_opt. ? The Momentum Optimization window opens and the progress of the optimization is reported. On the UNIX platform, the window may appear empty until the optimization is complete.

15-30

Example - Optimizing a Microstrip Line

The numerical values you actually see may be different from those shown here, due to differences in the computer hardware and/or software versions. Sometimes you may also see the objective function value increasing instead of decreasing from the previous iteration. This is not unusual. It is inherent in the optimization algorithm. ? During optimization, Momentum is invoked in the background whenever a new EM analysis is required. For example, since the nominal project had not been simulated, any necessary computations, such as computing the mesh and running the simulation, will be performed and reported in the Status window. ? You can follow the evolution of the line in the window mstrip_opt.

Example - Optimizing a Microstrip Line

15-31

Momentum Optimization

Step 5: Viewing Optimization Results
When optimization is ?nished, the optimized design, mstrip_opt, is created and displayed in a new Layout window. The Optimization Parameters dialog box reopens and you can read the optimal value for the length under Parameters. You can also verify graphically that the goals were achieved. In this case, you can view the phase noise goal on a rectangular plot. The graphical tool is accessed from the menu bar of the Momentum Optimization window (this is the window where the optimization progress, in iterations, was reported). The procedure for viewing goals is different, depending on your platform.

Unix
1. On the Momentum Optimization window, from the menu bar at the bottom of the window, you will see MomOpt > and two choices, Display and Exit. Use the mouse to highlight Display and click. 2. At the bottom of the window, the MomOpt.Display > menu appears. Click Rectangular. A pop up window appears. 3. The default settings in the window are for displaying S21 phase and the goal. Click GO to accept the default settings.

PC
1. From the Momentum Optimization window, choose Display > Rectangular. 2. The default settings are for displaying S21 phase and the goal. Click OK to accept the default settings. The goal and the actual response of the microstrip line is displayed. Since the optimization goal was set at a single frequency (10 GHz), both the goal and the response are displayed as single points at 10 Ghz. It appears as if there is only one point marked on the graph, but both the goal and response are displayed, since the goal was achieved, the response (circle) overlaps with the speci?cation (cross). This concludes the ?rst optimization exercise. To save your work, from the Main window choose File > Save All Designs, then File > Close All Designs, answering Yes to All if any message windows appear.

15-32

Example - Optimizing a Microstrip Line

Example - Optimizing a Filter
This exercise describes how to optimize a double folded-stub microstrip bandstop ?lter, shown in the ?gure below. For this exercise, three parameters will be optimized: ? The distance between a folded stub and the main line. This spacing will be referred to as S. ? The length of the spacing between the main line and folded segment, referred to as L1. ? The length of each folded segment, referred to as L2. Note that each when each of these physical dimensions are altered, it will be done so that the symmetry of the layout is retained.
L2 L1 S L2 L1 S

The optimization goal is to achieve the stopband in the frequency range of 12-14 GHz. The goal can be de?ned as: |S21| < -30 dB for 12 < f < 14 GHz |S21| > -3 dB for f < 9.5 GHz or f > 16.5 GHz

Example - Optimizing a Filter

15-33

Momentum Optimization

Step 1: Creating the Initial Layout
This section describes how to create the project and draw the initial layout. Refer to the previous exercises if you need additional details on how to draw in Layout, de?ne substrates, or apply ports. Use the following steps to create an initial layout. 1. Create a new project and name it dfstub. Open a Layout window. 2. Draw the layout on the cond layer with the following parameter values: L1 = 86.4 mils, L2 = 81.6 mils, S = 4.8 mils. You can do this using the Draw > Rectangle and Draw > Coordinate Entry commands and the following coordinates for lower-left and upper-right corners of rectangles. You may need to zoom in, and be sure to end the commands when needed.
(110.4,14.4) (24,9.6) (105.6, 4.8) (0,0) (19.2, -4.8) (124.8, 4.8) (100.8, -4.8)

(14.4, -9.6)

3. Attach a port at both ends. The default Momentum port type, internal, will be used, so it is not necessary to access the Momentum Port Editor. You may want to change the port component and text size, which is available under the Options > Preferences menu. 4. Choose Momentum > Substrate > Create/Modify to de?ne a substrate of air, alumina, and a ground plane. De?ne the alumina layer as 5 mils thick with a relative dielectric constant of 9.9. Be sure to save the substrate. 5. Save the design as dfstub.

15-34

Example - Optimizing a Filter

Step 2: De?ning the Optimized Parameters
There are three physical dimensions that are candidates for optimization: ? The spacing between each of the folded stubs and the main line, referred to as S. ? The length of the spacing between the main line and the folded segment, referred to as L1. ? The length of each folded segment, referred to as L2. As part of de?ning the parameters, you must to create three perturbed designs, with each design containing a change to only one parameter. This section describes how to de?ne the parameters and draw the perturbed designs. 1. From the Layout window, choose Momentum > Optimization > Parameters. 2. De?ne the ?rst parameter by entering the listed values in these ?elds:

Field Name Nominal Value Perturbed Value

Enter L1 86.4 mils 76.4 mils

Leave the Starting Value ?eld empty. Click Add. 3. The parameter is added to the list and a new Layout window appears. A copy of the original layout (nominal design) is shown and named dfstub_L1. An information dialog is also displayed that describes how to make a change to this layout. If you do not want to see this dialog again, check the box at the bottom of the dialog and click OK.

Example - Optimizing a Filter

15-35

Momentum Optimization

4. You will modify the physical dimension that you de?ned as L1 by reducing it from 86.4 mils to 76.4 mils. You will do this by shifting the position of the folded segments along the main line. Use the mouse to select the 6 vertices that de?ne the top stub. Choose Edit > Move > Move Relative. In the dialog that appears, type -5 in the X ?eld and click Apply. This shifts the folded stub to the left so that the length of the spacing between the main line and the folded segment is reduced. Select the 6 vertices of the bottom stub, type 5 in the X ?eld and click Apply. Keep this dialog box open.
5 mils

5 mils

5. De?ne the next parameter, L2. Return to the Optimization Parameters dialog box and enter these values in the ?elds:
Field Name Nominal Value Perturbed Value Enter L2 81.6 mils 91.6 mils

6. Click Add. Another copy of the original layout is displayed and named dstub_L2. 7. You will modify the physical dimension de?ned as L2 by moving the edges of the folded segments by 10 mils. Select the edge of the top folded segment, and use the X ?eld in the Move Relative dialog box to shift the edge of the segment 10 mils. Then move the edge of the bottom segment 10 mils.

10 mils

10 mils

15-36

Example - Optimizing a Filter

8. Return to the Optimization Parameters dialog box and enter the third parameter, S. Change the perturbed layout that appears as shown here.
Field Name Nominal Value Perturbed Value Enter S 4.8mils 6.8 mils

2 mils

2 mils

9. The de?nitions in the Optimization Parameters dialog box are shown here. Click OK. The three perturbed designs and the parameter de?nitions are saved automatically when you click OK.

Example - Optimizing a Filter

15-37

Momentum Optimization

Step 3: De?ning Optimization Goals
As mentioned earlier, the goal for this design is to achieve the stopband in the frequency range of 12-14 GHz. The goal can be de?ned as: |S21| < -30 dB for 12 < f < 14 GHz |S21| > -3 dB for f < 9.5 GHz or f > 16.5 GHz This section describes how to de?ne the goals. 1. From the Layout window, chose Momentum > Optimization > Goals. 2. Add the following three goals to the list, clicking Add after each complete goal entry:
From Entries for goal 1 Entries for goal 2 Entries for goal 3 12 5 16.5 To 14 GHz 9.5 GHz 20 GHz Step Size 0.5 2 2 Response Mag S(dB) Mag S (dB) Mag S (dB) Ports S21 S21 S21 Goal < -30 dB > -3 dB > -3 dB Weight 1 1 1

15-38

Example - Optimizing a Filter

The completed dialog box should resemble the ?gure here. If you make a mistake, select the goal from the list, modify the necessary ?elds, and click Update. Click OK.

Example - Optimizing a Filter

15-39

Momentum Optimization

Step 4: Running the Optimization
This section describes how to set up and run the optimization. 1. From the Layout window, choose Momentum> Optimization > Run. Under Optimization Type, select Minimax. Use the default Interpolation Type, linear interpolation. Set the Maximum Number Of Iterations to 30. Enable Stop as soon as specs are met to halt the optimization when the goals are achieved. If you enable Delete Previous Database, any existing data will be deleted and EM simulations will be invoked as required. 2. Click Start. The Momentum Optimization is started: ? A status window opens. ? The nominal project is ?rst compared to the perturbed projects. The relevant differences are extracted to establish the dependency of the design layout on the parameters. This information enables Momentum Optimization to translate any given set of parameter values into the appropriate design. ? When the comparison process is ?nished, the starting design for optimization is created in a new layout window. Is it named dfstub_opt. ? The Momentum Optimization window opens. On the screen, the progress of optimization is reported. The numerical values you actually see may be slightly different from those shown here, due to differences in the computer hardware and/or software versions. ? If you have chosen to delete the database, Momentum is invoked in the background whenever a new EM analysis is required. Follow the evolution of the structure in the window displaying dfstub_opt.

15-40

Example - Optimizing a Filter

Step 5: Viewing Optimization Results
When the optimization is ?nished, the optimized design, dfstub_opt, is created. It is displayed is a new layout window. The Optimization Parameters Dialog is opened and you can read the optimal values of all three parameters in the list:

You can check that the goals are met. The procedure for viewing goals is different, depending on your platform.

Unix
1. On the menu bar at the bottom of the Momentum Optimization window, you will see MomOpt > and two choices, Display and Exit. Use the mouse to highlight Display and click. 2. At the bottom of the window, the MomOpt.Display > menu appears. Click Rectangular. A pop up window appears. 3. The default settings in the window are for displaying S21 phase and the goal. Click GO to accept the default settings.

Example - Optimizing a Filter

15-41

Momentum Optimization

PC
1. From the Momentum Optimization window, choose Display > Rectangular. 2. The default settings are for displaying S21 phase and the goal. Click OK to accept the default settings. The goals and the actual response of the ?lter is displayed.

15-42

Example - Optimizing a Filter

Appendix A: Theory of Operation
Momentum is based on a numerical discretization technique called the method of moments. This technique is used to solve Maxwell's electromagnetic equations for planar structures embedded in a multilayered dielectric substrate. The simulation modes available in Momentum (microwave and RF) are both based on this technique, but use different technologies to achieve their results. Momentum uses speci?c steps to achieve solutions. The technology used by each simulation mode varies slightly in each step. In Momentum’s microwave mode, the planar metallization (strip, via) and aperture (slot) patterns in the signal layers are meshed using rectangular and triangular cells. Momentum RF mode generates a mesh of polygonal cells. The unknown electric (strip, via) and magnetic (slot) surface currents are discretized using rooftop expansion functions de?ned over the cells in the mesh. In Momentum RF, rooftop functions are regrouped in star and loop functions to eliminate low-frequency breakdown. This discretization process transforms the electromagnetic equations into an equivalent network model of self and mutual inductive and capacitive elements. The microwave mode uses fullwave Green’s functions resulting in L and C elements that are complex and frequency dependent. The RF mode uses quasi-static functions resulting in L and C elements that are real and frequency independent. The sources applied at the ports of the circuit yield the excitations in the equivalent network model. The currents in the equivalent network are the unknown amplitudes of the rooftop expansion functions. Solving the equivalent network for a number of independent excitation states yields the unknown current amplitudes. A port calibration process is used to calculate the S-parameter data of the circuit from the current solution. The following sections in this chapter contain more information about: ? The method of moments technology ? The Momentum solution process ? Special simulation topics ? Considerations and software limitations

A-1

Theory of Operation

The Method of Moments Technology
The method of moments (MoM) technique is based upon the work of R.F. Harrington, an electrical engineer who worked extensively on the method an applied it to electromagnetic ?eld problems, in the beginning of the1960's. It is based on older theory which uses weighted residuals and variational calculus. In the method of moments, prior to the discretization, Maxwell's electromagnetic equations are transformed into integral equations. These follow from the de?nition of suitable electric and magnetic Green's functions in the multilayered substrate. In Momentum, a mixed potential integral equation (MPIE) formulation is used. This formulation expresses the electric and magnetic ?eld as a combination of a vector and a scalar potential. The unknowns are the electric and magnetic surface currents ?owing in the planar circuit. Using notations from linear algebra, we can write the mixed potential integral equation in very general form as a linear integral operator equation:

∫ ∫ d S G ( r, r' ) ? J ( r )

= E(r)

(1)

Here, J(r) represents the unknown surface currents and E(r) the known excitation of the problem. The Green's dyadic of the layered medium acts as the integral kernel. The unknown surface currents are discretized by meshing the planar metallization patterns and applying an expansion in a ?nite number of subsectional basis functions B1(r), ..., BN(r): J (r) ≈

j=1

∑ I j B j(r)

N

(2)

The standard basis functions used in planar EM simulators are the subsectional rooftop functions de?ned over the rectangular and triangular cells in the mesh. Each rooftop is associated with one edge of the mesh and represents a current with constant density ?owing through that edge (Figure A-1). The unknown amplitudes Ij,

A-2

j=1,..,N of the basis function expansion determine the currents ?owing through all edges of the mesh.

Figure A-1. Discretization of the surface currents using rooftop basis functions. The integral equation (1) is discretized by inserting the rooftop expansion (2) of the currents. By applying the Galerkin testing procedure, that is, by testing the integral equation using test functions identical to the basis functions, the continuous integral equation (1) is transformed into a discrete matrix equation: for i=1,...,N

j=1

∑ Z i, j I j

N

= Vi

or

[ Z] ? [ I ] = [V ]

(3)

with
Z i,
j

=

S

∫ ∫ d S Bi ( r ) ? ∫ ∫ d S' G ( r, r' ) ? B j ( r )
S'

(4) (5)

Vi =

S

∫ ∫ d S Bi ( r ) ? E ( r )

The left hand side matrix [Z] is called the interaction matrix, as each element in this matrix describes the electromagnetic interaction between two rooftop basis functions. The dimension N of [Z] is equal to the number of basis functions. The right-hand side vector [V] represents the discretized contribution of the excitations applied at the ports of the circuit.
A-3

Theory of Operation

The surface currents contribute to the electromagnetic ?eld in the circuit by means of the Green's dyadic of the layer stack. In the MPIE formulation, this Green's dyadic is decomposed into a contribution from the vector potential A(r) and a contribution from the scalar potential V(r):
A V 1 - ? [ G ( r, r' )?' ] G ( r, r' ) = j ω G ( r, r' ) I – -----jω

(6)

The scalar potential originates from the dynamic surface charge distribution derived from the surface currents and is related to the vector potential through the Lorentz gauge. By substituting the expression (6) for the Green's dyadic in the expression (4) for the interaction matrix elements, yields the following form: 1 Z i, j = j ω L i, j + -----------------j ω C i, j with L i, j = 1 ---------- = C i, j (7)

S

∫ ∫ d S B i ( r ) ? ∫ ∫ d S' G
S' S S'

A

( r, r' ) B j ( r' )
V

(8)

∫ ∫ d S ? ? B i ( r ) ∫ ∫ d S' G

( r, r' )? ? B j ( r' )

(9)

This allows the interaction matrix equation to be given a physical interpretation by constructing an equivalent network model (Figure A-2). In this network, the nodes correspond to the cells in the mesh and hold the cell charges. Each cell corresponds to a capacitor to the ground. All nodes are connected with branches which carry the current ?owing through the edges of the cells. Each branch has in inductor representing the magnetic self coupling of the associated current basis function. All capacitors and inductors in the network are complex, frequency dependent and mutually coupled, as all basis functions interact electrically and magnetically (Figure A-3). The ground in this equivalent network corresponds with the potential at the in?nite metallization layers taken up in the layer stack. In the absence of in?nite metallization layers, the ground corresponds with the sphere at in?nity. The method of moments interaction matrix equation follows from applying the Kirchoff

A-4

voltage laws in the equivalent network. The currents in the network follow from the solution of the matrix equation and represent the amplitudes of the basis functions.

Figure A-2. The equivalent circuit is built by replacing each cell in the mesh with a capacitor to the ground reference and inductors to the neighboring cells.

Figure A-3. Equivalent network representation of the discretized MoM problem.

A-5

Theory of Operation

The Momentum Solution Process
Different steps and technologies enable the Momentum solution process: ? Calculation of the substrate Green's functions ? Meshing of the planar signal layer patterns ? Loading and solving of the MoM interaction matrix equation ? Calibration and de-embedding of the S-parameters ? Reduced Order Modeling by Adaptive Frequency Sampling

Calculation of the Substrate Green's Functions
The substrate Green's functions are the spatial impulse responses of the substrate to Dirac type excitations. They are calculated for each pair of signal (strip, slot and/or via) layers mapped to a substrate level. Although it is necessary to know which signal layers are mapped to a substrate level, since only impulse responses are being calculated, it is not necessary to know the patterns on these signal layers. This implies that the Green's functions can be pre-calculated and stored in a substrate database. This allows the substrate Green's functions to be reused for other circuits de?ned on the same substrate. The high frequency electromagnetic Green's functions depend upon the radial distance and the frequency. The computations are performed up to very large radial distances over the entire frequency band speci?ed by the user. The frequency points are selected adaptively to ensure an accurate interpolation with respect to frequency. Computations performed over very wide frequency ranges can consume more CPU time and disk space to store the results. To increase speed, the RF mode uses quasi-static electromagnetic functions based on low-frequency approximation.

A-6

Meshing of the Planar Signal Layer Patterns
The planar metallization (strip, via) and aperture (slot) patterns de?ned on the signal layers are meshed with rectangular and triangular cells in the microwave simulation mode. As translational invariance can be used to speed up the interaction matrix load process, the meshing algorithm will maximize the number if uniform rectangular cells created in the mesh. The meshing algorithm is very ?exible as different parameters can be set by the user (number of cells/wavelength, number of cells/width, edge meshing, and mesh seeding), resulting in a mesh with different density. It is clear that the mesh density has a high impact on both the ef?ciency and accuracy of the simulation results. Default mesh parameters are provided which give the best accuracy/ef?ciency trade-off. The RF mode uses mesh reduction technology to combine rectangular and triangular cells to produce a mesh of polygonal cells, thus reducing demand for computer resources.

Loading and Solving of the MoM Interaction Matrix Equation
The loading step of the solution process consists of the computation of all the electromagnetic interactions between the basis functions and the ?lling of the interaction matrix and the excitation vector. The interaction matrix as de?ned in the rooftop basis is a dense matrix, that is, each rooftop function interacts with every other rooftop function. This electromagnetic interaction between two basis functions can either be strong or weak, depending on their relative position and their length scale. The matrix ?lling process is essentially a process of order (N2), i.e. the computation time goes up with the square of the number of unknowns. In the solving step, the interaction matrix equation is solved for the unknown current expansion coef?cients. The solution yields the amplitudes of the rooftop basis functions which span the surface current in the planar circuit. Once the currents are known, the ?eld problem is solved because all physical quantities can be expressed in terms of the currents. In Momentum, the matrix equation is solved with a standard matrix factorization technique. This implies that the matrix solve process is essentially a process of order (N3).

A-7

Theory of Operation

Calibration and De-embedding of the S-parameters
Momentum performs a calibration process on the single type port, the same as any accurate measurement system, to eliminate the effect of the sources connected to the transmission line ports in the S-parameter results. Feedlines of ?nite length are added to the transmission line ports of the circuit. Lumped sources are connected to the far end of the feedlines. These sources excite the eigenmodi of the transmission lines without interfering with the circuit. The effect of the feedlines is computed by the simulation of a calibration standard and subsequently removed from the S-parameter data. A built-in cross section solver calculates the characteristic impedance and propagation constant of the transmission lines. This allows to shift the phase reference planes of the S-parameters, a process called de-embedding. Results of the calibration process includes the elimination of low-order mode mismatches at the port boundary, elimination of high-order modes, and removal of all port excitation parasitics. Besides transmission line ports, Momentum offers the user the ability to de?ne direct excitation or internal ports. These ports can be speci?ed at any location on the planar metallization patterns as either a point or a line feed. They allow to connect both passive and active lumped components to the distributed model of the planar circuits. The S-parameters associated with these ports are calculated from the excitation consisting of a lumped source connected to the equivalent network model at the locations of the internal ports. The parasitic effects of these lumped sources are not calibrated out of the S-parameters results.

Reduced Order Modeling by Adaptive Frequency Sampling
A key element to providing fast, highly accurate solutions using a minimum of computer resources is the Adaptive Frequency Sampling (AFS) technology. When simulating over a large frequency range, oversampling and straight line interpolation can be used to obtain smooth curves for the S-parameters. Oversampling however implies a huge amount of wasted resources. Momentum allows the user to bene?t from a smart interpolation scheme based on reduced order modeling techniques to generate a rational pole/zero model for the S-parameter data. The Adaptive Frequency Sampling algorithm selects the frequency samples automatically and interpolates the data using the adaptively constructed rational pole/zero model. This feature allows important details to be modeled by sampling the response of the structure more densely where the S-parameters are changing signi?cantly. It minimizes the total number of samples needed and maximizes the information

A-8

provided by each new sample. Typical types of structures where the AFS module is very helpful include: ? Unmatched transmission line structures ? Resonant structures, such as ?lters ? Structures where unexpected coupling occurs In fact, nearly any kind of structure can take advantage of the AFS module. The Adaptive Frequency Sampling technology reduces the computation time needed for simulating large frequency ranges with Momentum signi?cantly.

Special Simulation Topics
Some special simulation topics are discussed in this section: ? Simulating slots in ground planes ? Simulating metallization loss ? Simulating internal ports and ground references

Simulating Slots in Ground Planes
Slots in ground planes are treated in a special manner by Momentum. An electromagnetic theorem called the equivalence principle is applied. Instead of attempting to simulate the ?ow of electric current in the wide extent of the ground plane, only the electric ?eld in the slot is considered. This electric ?eld is modeled as an equivalent magnetic current that ?ows in the slot. Momentum does not model ?nite ground plane metallization thickness. Ground planes and their losses are part of the substrate de?nition. By using slot metallization de?nitions, entire structures, such as slot lines and coplanar waveguide circuits, can be built. Slots in ground planes can also be used to simulate aperture coupling through ground planes for multi-level circuits. Structure components on opposite sides of a ground plane are isolated from each other, except for intermediate coupling that occurs through the slots. This treatment of slots allows Momentum to simulate slot-based circuits and aperture coupling very ef?ciently.

A-9

Theory of Operation

Simulating Metallization Loss
When using Momentum, losses in the metallization patterns can be included in the simulation. Momentum treats all conductors as having zero thickness. However, the conductivity and thickness can be speci?ed to approximate frequency dependent losses in the metallization patterns. Momentum uses a complex surface impedance for all metals that is a function of conductor thickness, conductivity, and frequency. At low frequencies, current ?ow will be approximately uniformly distributed across the thickness of the metal. Momentum uses this minimum resistance and an appropriate internal inductance to form the complex surface impedance. At high frequencies, the current ?ow is dominantly on the outside of the conductor and Momentum uses a complex surface impedance that closely approximates this skin effect. At intermediate frequencies, where metal thickness is between approximately two and ten skin depths, the surface impedance transitions between those two limiting behaviors. This treatment of metal loss is a good approximation for many cases but can be less accurate for very narrow conductors. The meshing density can affect the simulated behavior of a structure. A more dense mesh allows current ?ow to be better represented and can slightly increase the loss. This is because a more uniform distribution of current for a low density mesh corresponds to a lower resistance.

Simulating with Internal Ports and Ground References
Momentum offers the ability to use internal ports within a structure. Internal ports can be speci?ed at any location on the planar metallization patterns, and they make possible a connection for both passive and active lumped components to the distributed model of the planar circuits. Refer to Figure A-4. The S-parameters associated with these ports are calculated from the excitation consisting of a lumped voltage source connected to the equivalent network model, as shown in Figure A-3. The ground reference for these ports in the resulting S-parameter model is the ground of the equivalent network, and this ground corresponds physically to the in?nite metallization layers taken up in the layer stack. In the absence of in?nite metallization layers, the ground no longer has a physical meaning and corresponds mathematically with the sphere at in?nity.

A-10

It is important to mention that in this case, the associated S-parameters also lose their physical meaning, as the applied voltage source is assumed to be lumped, that is electrically small, since it sustains a current ?ow from the ground to the circuit without phase delay. To overcome this problem, a ground reference must be speci?ed at a distant electrically small from the internal port. Failure to do so may yield erroneous simulation results.
direct excitation point feed

Figure A-4. Internal port and equivalent network model. The following sections illustrate the use of internal ports with ground planes and with ground references, and the results.

A-11

Theory of Operation

Internal Ports and Ground Planes in a PCB Structure
Figure A-5 shows the layout for a PCB island structure with two internal ports. The in?nite ground plane is taken up in the substrate layer stack and provides the ground reference for the internal ports. The magnitude and phase of the S21-parameter calculated with Momentum are shown in Figure A-6. The simulation results are validated by comparing them with the measured data for the magnitude and the phase of S21.
substrate layer stack metallization layer L = 3 inches
air: εr = 1.0

W = 2 inches

FR4: H = 59 mil, εr = 4.4

in?nite ground plane taken up in the layer stack

two internal ports

Figure A-5. PCB Substrate layer stack and metallization layer.

Figure A-6. Magnitude and phase of S21. The thicker line is Momentum results, the thinner line is the measurement.

A-12

Finite Ground Plane, no Ground Ports
The same structure was resimulated with a ?nite groundplane (Figure A-7). The substrate layer stack contains no in?nite metallization layers. No ground reference was speci?ed for the ports, so the sphere at in?nity acts as the ground reference for the internal ports. The S-parameters obtained from a simulation for these ports no longer have a physical meaning. Using such ports in the simulation yields incorrect simulation results as shown in Figure A-8.
substrate layer stack

metallization layer L = 3 inches

air: εr = 1.0

W = 2 inches
FR4: H = 59 mil, εr = 4.4 two internal ports air: εr = 1.0

?nite ground plane not taken up in the layer stack

Figure A-7. PCB substrate layer stack and metallization layers.

A-13

Theory of Operation

Figure A-8. Magnitude and phase of S21. The thicker line is Momentum results, the thinner line is the measurement.

A-14

Finite Ground Plane, Internal Ports in the Ground Plane
One way to de?ne the proper grounding for the internal ports is to add two extra internal ports in the ground plane (Figure A-9). The resulting four-port structure is simulated with Momentum. Note that because no ground reference is speci?ed for the internal ports, the resulting S-parameters for the four port structure have no physical meaning. However, by properly recombining the four ports, a two-port structure is obtained with the correct ground references for each of the ports. Care should be taken with this recombination, as the ground reference for the four individual ports does not act as the ground reference for the two recombined ports. Therefore, the top recombination scheme shown in Figure A-10 is incorrect. The correct recombination scheme is the bottom one shown in Figure A-10.
substrate layer stack metallization layer L = 3 inches
air: εr = 1.0

1.i

2.i

W = 2 inches
FR4: H = 59 mil, εr = 4.4

air: εr = 1.0 3.i 4.i

?nite groundplane not taken up in the layer stack
2 extra internal ports

four internal ports

Figure A-9. PCB substrate layer stack and metallization layers.

A-15

Theory of Operation

1

1.i

2.i

2

Momentum 4-port

3.i

4.i

1

1.i

2.i

2

Momentum 4-port

3.i

4.i

Figure A-10. Simulation results. The bottom illustration shows the correct recombination of ports.

A-16

Finite Ground Plane, Ground References
The process of adding two extra internal ports in the ground plane and recombining the ports in the correct way can be automated in Momentum by de?ning two ground reference ports (Figure A-11). The S-parameters obtained with Momentum are identical to the S-parameters of the two-port after the correct recombination in the section above, also shown in Figure A-12.
substrate layer stack metallization layer L = 3 inches
air: εr = 1.0

1.i

2.i

W = 2 inches

FR4: H = 59 mil, εr = 4.4 air: εr = 1.0 -1.i -2.i

?nite groundplane not taken up in the layer stack
2 ground reference ports

four internal ports with associated ground reference ports

Figure A-11. Substrate layer stack and metallization layers.

A-17

Theory of Operation

Figure A-12. Magnitude and phase of S21. The thicker line is Momentum results, the thinner line is the measurement.

A-18

Internal Ports with a CPW Structure
Figure A-13 and Figure A-14 show the layout for a CPW step in width structure with an integrated sheet resistor (45 ? m x 50 ? m, 50 ? ). Six internal ports are added to the metallization layers. The six-port S-parameter model is recombined into a two-port model to describe the CPW-mode S-parameters. Different recombination schemes are possible, yielding different simulation results. Scheme (c) is the correct one, as the ground reference for the internal ports is the sphere at in?nity and this cannot act as the ground reference for the CPW ports.
substrate layer stack metallization layer

air: εr = 1.0

1.i

2.i

GaAs: H = 100 ?m, εr = 12.9

3.i

4.i

air: εr = 1.0

5.i

6.i sheet resistor

Figure A-13. CPW step-in-width with integrated sheet resistor

A-19

Theory of Operation

.

a

b

c

a

c b

Figure A-14. CPW Step-in-width structure with integrated sheet resistor, port con?gurations and results. The process of adding extra internal ports to the ground metallization patterns and recombining the ports in the correct way can be automated in Momentum by de?ning ground reference ports (Figure A-15). The S-parameters obtained with Momentum

A-20

are identical to the S-parameters of the two-port for the correct recombination scheme (Figure A-14 (c)).
substrate layer stack -1.i metallization layer -2.i

air: εr = 1.0

GaAs: H = 100 ?m, εr = 12.9 air: εr = 1.0

1.i

2.i

-1.i -2.i sheet resistor

Figure A-15. CPW step-in-width structure with ground references for the internal ports.

Limitations and Considerations
This section describes some software limitations and physical considerations which need to be taken into account when using Momentum: ? Comparing the microwave and RF simulation modes ? Matching the simulation mode to circuit characteristics ? Higher-order modes and high frequency limitation ? Interpolating Results below the low frequency limitation ? Substrate waves and substrate thickness limitation ? Parallel-plate modes and high frequency limitation ? Slotline structures and high frequency limitation ? Via structures and metallization thickness limitation ? Via structures and substrate thickness limitation ? CPU time and memory requirements

A-21

Theory of Operation

Comparing the Microwave and RF Simulation Modes
The Momentum (microwave) and Momentum RF modes use different Method of Moments technologies to produce S-parameter models for layout-based, physical designs. Momentum uses fullwave electromagnetic functions based on Maxwell’s equations which includes substrate and space wave radiation effects. Momentum RF uses quasi-static electromagnetic functions based on low-frequency approximation which excludes substrate and space wave radiation effects. Though Momentum RF excludes radiation effects from its resulting models, both modes produce models that include these physical effects: ? Quasi-static inductance ? Quasi-static capacitance ? DC conductor loss ? DC substrate loss ? Dielectric loss ? Skin effect loss Both modes generate a mesh in preparation for simulating the circuit. The Momentum mode uses all of the resulting rectangular and triangular cells in the mesh to arrive at a set of S-parameters for a circuit. Calculating currents in each cell can require signi?cant computer memory and computation time. However, Momentum RF uses a mesh-reduction technology to combine rectangular and triangular cells to produce a mesh of polygonal cells. The reduction eliminates low-quality slivery cells and electromagnetically redundant interactions. The resulting mesh contains far fewer cells which requires much less computer memory and computation time for a highly accurate set of S-parameters at RF frequencies. Another advantage of Momentum RF over the Momentum mode is its use of star-loop technology to eliminate low-frequency breakdown of numerical solutions, and give stable solutions down to DC. Momentum mode simulations use rooftop basis functions de?ned over the rectangular and triangular cells in a mesh. While a formulation based on rooftop functions produces accurate results at microwave frequencies, it becomes unstable at lower, RF frequencies and a break-down of the solution occurs. To eliminate the instability, Momentum RF uses a formulation based on star-loop technology, which regroups the rooftop functions into star and loop functions. The loop functions model the solenoidal part of the current solution, while the star functions model the non-rotational part. This allows the elimination of the low-frequency instability in the numerical solution.

A-22

Matching the Simulation Mode to Circuit Characteristics
The Momentum RF mode can be used to simulate RF and microwave circuits, depending on your requirements. However, Momentum RF is usually the more ef?cient mode when a circuit is electrically small, geometrically complex, and does not radiate. This section describes these characteristics.

Radiation
Momentum RF provides accurate electromagnetic simulation performance at RF frequencies. This is typically up to about 10 GHz. However, this upper limit depends on the size of your physical design. At higher frequencies, as radiation effects increase, the accuracy of the Momentum RF models declines smoothly with increased frequency.

Electrically Small Circuits
Momentum RF works best for electrically small circuits as its accuracy smoothly decreases with increasing electrical size relative to a given frequency. A circuit is considered electrically small relative to a given frequency if its physical dimension is smaller than half the wavelength of the frequency. Depending on which value you know, maximum circuit dimension or maximum simulation frequency, you can determine a qualitative approximation of the circuit’s electrical size. Suppose you have a circuit with dimension D as shown in the following ?gure:

You can use one of the following two expressions strictly as a guideline to have an awareness about the circuit’s electrical size relative to the maximum frequency you plan to run the simulation. When you know the value of D, use the ?rst expression to approximate the maximum frequency up to which the circuit is electrically small. When you know the maximum simulation frequency, use the second expression to approximate the maximum allowable dimension:

A-23

Theory of Operation

150 F < -------D or 150 D < -------F where: D = the maximum length in mm diagonally across the circuit. F = the maximum frequency in GHz. During a simulation, Momentum RF calculates the maximum frequency up to which the circuit is considered electrically small, and displays that value in the status display. This is similar to using the ?rst expression above since the dimension of a layout is typically ?xed, and it is the simulation frequency that is swept.

Geometrically Complex Circuits
The mesh generated for a simulation establishes a geometric complexity for a circuit. A circuit is considered geometrically complex if its shape does not ?t into a uniform, rectangular mesh, and the mesh generation produces a lot of triangles. Layouts containing shapes such as circles, arcs, and non-rectangular polygons usually result in meshes with many triangles. A measure of increasing geometric complexity is when the ratio of triangular cells to rectangular cells grows larger: Triangles Complexity = ------------------------Rectangles The increased simulation speed offered by Momentum RF over Momentum is the direct result of its mesh-reduction technology. While Momentum uses the entire mesh to complete a simulation, Momentum RF eliminates the electromagnetically redundant rectangular and triangular cells. This reduces the time required to complete the simulation. As a circuit’s geometric complexity increases, Momentum RF’s ef?ciency increases over Momentum.

A-24

Higher-order Modes and High Frequency Limitation
Since Momentum does not account for higher-order modes in the calibration and de-embedding process, the highest frequency for which the calibrated and de-embedded S-parameters are valid is determined by the cutoff frequency of the port transmission line higher-order modes. As a rule of thumb for microstrip transmission lines, the cutoff frequency (in GHz) for the ?rst higher-order mode is approximately calculated by: Cutoff frequency fc = 0.4 Z0 / height where Z0 is the characteristic impedance of the transmission line. For a 10 mil alumina substrate with 50 ohm microstrip transmission line, we obtain a high frequency limit of approximately fc = 80 GHz.

Interpolating Results below the Low Frequency Limitation
Simulations in Momentum at low frequencies are less accurate than simulations at high frequencies. To compensate, Momentum uses an interpolation scheme similar to Adaptive Frequency Sampling (AFS). However, to get low-frequency results by interpolation that are equivalent to high-frequency simulation results, three additional simulations are required. The additional simulations are performed at DC (0 Hz), at the low frequency limit (f0), and at 2f0. These three samples are used to generate the interpolated results between 0 Hz and f0. The low frequency limit f0 is a calculated value that is above the range where inaccurate low frequency simulations occur. The limit is chosen in a rather conservative, empirical way. The limit is a function of the cell edge lengths and of the substrate height. It is inversely proportional to the edge lengths; as the cells become smaller, resulting in shorter edges, the low frequency limit is set higher. The accuracy of the interpolation results for the low frequencies below f0 is the same as the simulation results for high frequencies. Momentum uses a similar interpolation method it uses in AFS, which is a highly accurate, rational-function interpolation with poles and zeros. For information about AFS, see “About Adaptive Frequency Sampling” on page 7-20.

A-25

Theory of Operation

Parallel Plate Modes
In the region between two in?nite parallel plates or ground planes, parallel plate modes exist. Any current ?owing in the circuit will excite all of these modes. How strong a mode will be excited depends on how well the ?eld generated by the current source matches with the ?eld distribution of the parallel plate mode. A distinction can be made between the fundamental mode and the higher order modes. The fundamental mode, which has no cut-off frequency, propagates at any frequency. The higher order modes do have a cut-off frequency. Below this frequency, they decay exponentially and only in?uence the local (reactive) ?eld around the source. Above this frequency, they propagate as well and may take real energy away from the source. Momentum takes the effect of the fundamental mode into account. The higher order modes are taken into account as long as they are well below cut-off. If this is not the case, a warning is issued saying that higher-order parallel plate modes were detected close to their cut-off frequency. Simulation results will start to degrade from then on.

The Effect of Parallel Plate Modes
Let’s concentrate on the fundamental mode since this one is always present. The fundamental mode has its electric ?eld predominantly aligned along the Z-axis from the top plate to the bottom plate. This means that this mode creates a difference in the potential between both plates. This mode can be excited by any current in your circuit: electric currents on a strip or via, magnetic currents on a slot. It behaves as a cylindrical wave that propagates to in?nity where it feels a short circuit (since both plates are connected there). However, since in?nity is very far away, no re?ected wave ever comes back. In a symmetric strip line structure, the current on the strip won't excite the fundamental mode due to this symmetry. However, the presence of a feature such as a slot in one of the plates creates an asymmetry. The slot will excite the fundamental mode! The accuracy of the Momentum results for calibrated ports degrades when the parallel plate modes become important. For calibrated ports is assumed that they excite the circuit via the fundamental transmission line mode. However, this excitation is not pure. The source will excite the circuit via the parallel plate modes, too. This effect cannot be calibrated out, since those contributions are not orthogonal. The consequence is that the excitation doesn’t correspond with a pure fundamental transmission line mode excitation.

A-26

Avoiding Parallel Plate Modes
Since we know the ?eld orientation of the parallel plate modes, it is easy to understand that you can short circuit them by adding vias to your structure at those places where parallel plate modes will be excited. Similar problems will exist with the measurements. Both plates must be connected explicitly with each other! This won't take place at in?nity but somewhere at the side of the board. If no vias are used in the real structure, the fundamental mode may be excited. This mode will propagate to the borders and re?ect. Thus, the real structure differs in that from the simulations where no re?ection will be seen since a re?ection only happens at in?nity. One way to counter the difference between measurements in reality and simulation is to take into account the package (box) around the structure. Another possibility is adding vias to your structure, both in real life and in the simulations. Try to make the physical representation of your circuit as close as possible to reality. However, the actual shape of the via should not be that important. Small sheets can be used to represent the small circular vias that are realized in the real structure.

Surface Wave Modes
If the substrate is not closed (open or half open), and not homogeneous, surface wave modes exist. The parallel plate mode can be seen as a special case of a surface wave mode. Their behavior is identical. Both are cylindrical waves that propagate radially away from the source. They are guided by the substrate. Both fundamental and higher order surface wave modes exist. Similar conclusions can be drawn with respect to limitations such as the effects of the modes.

Slotline Structures and High Frequency Limitation
The surface wave accuracy deterioration of the calibration process is somewhat more prominent for slotline transmission lines than for microstrip transmission lines. Therefore, slotline structures simulated with Momentum will exhibit a somewhat higher noise ?oor (10-20 dB higher) than microstrip structures. For best results, the highest simulation frequency for slotline structures should satisfy: Substrate thickness < 0.15 * effective wavelength Simulation of narrow slot lines are accurate at frequencies somewhat higher than the high frequency limit determined by this inequality, but wide slotlines will show deteriorated accuracy at this frequency limit.
A-27

Theory of Operation

Via Structures and Metallization Thickness Limitation
In Momentum, the current ?ow on via structures is only allowed in the vertical direction; horizontal or circulating currents are not modeled. As via structures are metallization patterns, the modeling of metallization losses in via's is identical to the modeling of metallization loss in microstrip and slotline structures. Simulation of ?nite metallization thickness can be approximated in Momentum by de?ning two horizontal metallization patterns and joining the edges with via structures. This however will give only ?rst-order accurate simulation results, as the horizontal via currents are not modeled.

Via Structures and Substrate Thickness Limitation
The vertical electrical currents on via structures are modeled with rooftop basis functions. In this modeling, the vertical via structure is treated as one cell. This places an upper limit to the substrate layer thickness as the cell dimensions should not exceed 1/20 of a wavelength for accurate simulation results. Momentum simulations with via structures passing through electrically thick substrate layers will become less accurate at higher frequencies. By splitting the thick substrate layer into more than one layer, more via-cells are created and a more accurate solution is obtained.

CPU Time and Memory Requirements
Both CPU time and memory needed for a Momentum simulation increase with the complexity of the circuit and the density of the mesh. The size N of the interaction matrix equation is equal to the number of edges in the mesh. For calibrated ports, the number of unknowns is increased with the edges in the feedlines added to the transmission line ports.

CPU Time
The CPU time requirements for a Momentum simulation can be expressed as: CPU time = A + B N + C N2 + D N 3 where N = number of unknowns A, B, C, D = constants independent of N

A-28

The constant term A accounts for the simulation set up time. The meshing of the structure is responsible for the linear term, BN. The loading of the interaction matrix is responsible for the quadratic term and the solving of the matrix equation accounts for the cubic term. It is dif?cult to predict the value of the constants A, B, C and D, as they depend on the problem at hand. The quadratic and the cubic terms are dominating the overall CPU-time requirements. For small to medium size problems, as the constant C is much larger than D, the solution time is dominated by the loading of the matrix. For larger problems the matrix solve time with its cubic term will eventually dominate the CPU-time requirements.

Memory Usage
The memory requirement for a Momentum simulation can be expressed as: Memory = X + Y N + Z N2 where N = number of unknowns X, Y, Z constants independent of N Like with the CPU time expression, the constants X, Y and Z are dif?cult to predict for any given structure. For medium to large size problems, the quadratic term, which accounts for storing of the interaction matrix, always dominates the overall memory requirement. For small structures, memory usage can also be dependent upon the substrate. The substrate database must be read and interpolated, which requires a certain amount of memory. Algorithms to make trade-off between time and memory resources are implemented in the simulator. These algorithms result in additional usage above that required to solve the matrix. Total memory consumption is typically less than 1.5 times what is required to store the matrix, for large matrices.

A-29

Theory of Operation

A-30

Appendix B: Drawing Tips
This chapter provides suggestions and examples when drawing layouts to be simulated using Momentum. These examples take into consideration things that are necessary during the drawing phase to ensure that requirements for Momentum are met.

Using Grid Snap Modes
Working in Layout enables you to control all geometry precisely. The variety of available snap modes can help you draw and position shapes. As an example, if you are connecting shapes, you should have the vertex snapping mode turned on. You will also want to review snap mode settings prior to adding ports to a layout. Snap grid spacing also helps control the positioning shapes. In general, snap grid spacing should be about 1/2 of the minor grid point value. For example, if the minor grid points are 1.0, then the snap grid spacing should be 0.5. This makes it easy to know how your geometry will snap into place. For more information on snap modes and snap grid spacing, refer to Chapter 2 of Layout.

Choosing Layout Layers
The standard set of layout layers begins with the layer named default. Do not use this layer for drawing your circuit. The ?rst valid layer for Momentum is cond. For more information on layout layers, refer to the Layout manual.

Keeping Shapes Simple
In general, when drawing shapes, you should use a minimal number of vertices per shape, since this will make the mesh easier to compute. When drawing curved objects, consider using a relatively large value for Arc/Circle Radius (under Options > Preferences > Entry/Edit). This will minimize the number of vertices, and facets used to represent the shape.

B-1

Drawing Tips

Merging Shapes
Merging shapes is often useful for eliminating small geometry overlaps and can also, in some cases, result in simpler mesh patterns. For example, if you draw a layout using multiple polygons and you suspect there is some overlap, merging the polygons will prevent the system from returning an overlap error. To merge the shapes, select each shape that you want to merge, then choose Edit > Merge.

Viewing Port and Object Properties
Any item selected in a layout, including ports, shapes, or other components, has associated properties. One way to view the properties is to select the object of interest, then choose Edit > Properties. This method also enables you to change object properties. If you want to change properties that have been attributed to an object for Momentum, you should change these properties only through the Momentum Menu selections. To view the properties of the entire layout, choose Options > Info.

Using Layout Components
There are some limitations on the components that are available from the layout palettes: ? Do not use substrate components that might appear on layout component palettes. You must use the dialog box under Momentum > Substrates > Create/Modify to create or edit substrate de?nitions. ? Lumped elements cannot be included in a layout that is to be simulated by Momentum. ? Components from the Microstrip palette can be used, with limitations: ? The substrate name (for example, Subst = MSub1) is not used in Momentum. Substrate de?nitions must be loaded from the Momentum > Substrates menu. ? Any electrical properties, if de?ned, are not used. For example, the parameters CPUA, RsT, and RsB in MFTC are ignored.

B-2

? For most of the components in Layout, only the geometry is transferred to Momentum. Any electrical properties must be de?ned from the Momentum menus. ? Components from the Printed Circuit Board or Waveguide palette cannot be used in a layout that will be simulated using Momentum. ? Stripline and suspended substrates components can be used, but the substrate name parameters for these components will be ignored.

Drawing Coplanar Waveguide in Layout
Coplanar waveguide is, generally, slots ?lled with a dielectric or air, surrounded by metal, as shown in the illustration below.

There are two basic methods for constructing coplanar waveguide in layout: ? The objects that you draw are the slots on a groundplane. In the substrate de?nition, the layout layer that the slots are drawn on is mapped to a slot metallization layer. Additionally, the top plane of the substrate de?nition is de?ned as a ground plane. This method gives you in?nite grounds on the coplanar plane. An example is the coplanar waveguide bend, shown below.
You draw the slots. By choosing a slot metallization layer, the area around the slots is treated as a ground plane, the slots are not metal.

B-3

Drawing Tips

? The objects that you draw represent ground. For example, you can draw strips with gaps in between. The gaps are treated as slots, the strips are treated as ground. This layer is mapped to a metallization layer de?ned as a strip. Additionally, the top plane of the substrate de?nition is de?ned as a ground plane. This method gives you in?nite grounds on the coplanar plane. Typically, this method is used when coupled microstrip lines are created initially as schematic elements.

Drawing slots on a ground plane the preferred method because a mesh with fewer edges or unknowns will result, compared to meshing the strips. If a coplanar waveguide design is drawn with strips, it can be converted to a slot pattern with a boolean operation if a bounding box is provided.

Adding a Port to a Circuit
You can add a port to a circuit either from the Schematic window or a Layout window. The procedures below include considerations for adding ports to a circuit that will be simulated using Momentum.

Adding a Port to a Schematic
1. Select a port using by choosing the menu item Component > Port, or the port icon from the tool bar:

B-4

2. Position the mouse where you want the port and click. Verify the connection has been made.
Connected

Not connected

3. Select the port and choose Edit > Component > Edit Component Parameters. 4. The parameter layer= indicates the layer that the port is applied to. When you convert your schematic to a layout, all components will be assigned to layout layers. You can assign the port to a speci?c layer at this time. To change the layer, select layer= from the Select Parameter list, and choose a new layer from the Parameter Entry Mode listbox. Make sure that the layer you choose will also be mapped as a strip or slot metallization layer. For more information about metallization layers, refer to Chapter 3, Substrates. 5. Click OK to accept the new layer speci?cation. When you generate a layout from the schematic, you should verify that the port is positioned correctly. For more information, refer to the procedure for adding a port to a layout and to “Considerations” on page B-7.

Adding a Port to a Layout
To add a port: 1. Determine where you want to position the port. A port can be applied to: ? The pin of a component ? The edge of a component or object (such as a rectangle or polygon), usually at the midpoint

B-5

Drawing Tips

? The surface of an object

Port connected to a pin

Port connected to an edge

Port connected to a surface

Note Do not place a port on the corner of an object. When you add a port to an edge, make sure the appropriate snap modes are enabled. It is a good practice to enable the modes Midpoint Snap and Edge Snap (under the Options menu) to ensure accurate simulation results.

2. If you want to add a port to the surface of a polygon, you may need to disable the following or other snap modes (under the Options menu): ? Pin snap ? Edge snap ? Midpoint snap 3. Identify the name of the layer on which the component or shape is entered. If you don’t know the name of the layout layer, choose Options > Layers. Select each layer, noting the color in the dialog box. When the color matches that of the one in the Layout window, note the name of the layout layer. Dismiss the dialog box. 4. Select a port using by choosing the menu item Component > Port, or the port icon from the tool bar: 5. The Port parameters dialog box is displayed. The parameter layer indicates the layer that the port will be applied to. The parameter defaults to the currently active drawing layer. 6. This should be the same as the layer you noted in step 3. To change the layer, select layer= from the Select Parameter list, and choose a new layer from the Parameter Entry Mode listbox. Make sure that the layer you choose is also a

B-6

strip or slot metallization layer. Do not apply ports to shapes that are on layers that are mapped to via metallization layers. For more information about metallization layers, refer to Chapter 3, Substrates.
Note If you cannot ?nd the layer name, choose Options > Layers, then select the layer name of interest from the Layers list. Note the layer number in the Number ?eld. In the Port dialog box, select the layer= parameter and, under Parameter Entry Mode, select Integer Value. Enter the layer number, then click Apply.

7. Click Apply to accept the new layer speci?cation. 8. Position the mouse where you want to place the port and click. The port is added to the circuit.
Note If you are applying a port to an edge, the port must be positioned so that the arrow is outside of the object, pointing inwards, and at a straight angle. Generally, this happens automatically when you add a port to an edge. You may need to zoom in to verify this.

9. The Instance Name in the Port dialog box is incremented if you want to add another port. Verify the layer= parameter, then use the mouse to add the next port. 10. When you are ?nished adding ports, click OK to dismiss the dialog box.

Considerations
Keep the following points in mind when adding ports to circuits to be simulated using Momentum: ? The components or shapes that ports are connected to must be on layout layers that are mapped to metallization layers that are de?ned as strips or slots. Ports cannot be directly connected to vias. For information on how to de?ne strips and slots, refer to “De?ning Metallization Layers” on page 3-12.
B-7

Drawing Tips

? Make sure that ports on edges are positioned so that the arrow is outside of the object, pointing inwards, and at a straight angle. ? Make sure that the port and the object you are connecting it to are on the same layout layer. For convenience, you can set the entry layer to this layer; the Entry Layer listbox is on the Layout tool bar. ? A port must be applied to an object. If a port is applied in open space so that is not connected to an object, Momentum will automatically snap the port to the edge of the closest object. This will not be apparent from the layout, however, because the position of the port will not change. ? If the Layout resolution is changed after adding ports that are snapped to edges, you must delete the ports and add them again. The resolution change makes it unclear to which edges the ports are snapped, causing errors in mesh calculations.
Note

Do not use the ground port component in circuits that will be simulated using ).

Momentum (Component > Ground or the toolbar button

Either add ground planes to the substrate or use the ground reference ports that are described later in this chapter.

Drawing Vias in Layout
Vias are drawn as lines or closed polygons. A simple line segment via is the simplest and most practical way of drawing a via. Momentum creates a via by extruding the object that is mapped as via through the substrate layer it is applied to. Vias drawn as lines are often called sheet vias because, when the line is extruded through the substrate, it is treated as a horizontal metal sheet. For vias of other shapes, you draw a closed polygon. So, for example, for a cylinder via you draw a circle. When the shape is mapped to a via metallization layer in Momentum, another dimension is added to

B-8

the object in order for the shape to cut through the substrate. Thus a line becomes a sheet, a circle becomes a cylinder.

representations of vias in Layout bridge via strip via strip via vias extruded through a substrate layer in Momentum

Regardless of how you draw vias, avoid having them extend over the sides of the objects that they connect to. Vias must be on the edge or inside the object. Any portion of the via outside of the object boundaries will not be taken into account during the simulation. The ?gure below illustrates various vias connecting two strips.
Incorrect: vias overlap the object edges.

Ef?cient via: sheet via with width matching width of strip.

Circular Via: correct, but may not be ef?cient. Use an appropriate arc recognition.

Correct, but not as ef?cient as sheet via with matching width to strip.

Vias are treated in the following manner: ? Vias are represented as in?nitely thin vertical sheets of metal. If a cylinder is drawn as a via, then it is also treated as separate sheets of metal that comprise the cylinder walls.

B-9

Drawing Tips

? Vias are assumed to be opened, not covered, with current traveling on the sheet. Vias can be drawn as covered, using a cap (cover) of the same size as the via end, which is a terminating metal strip layout layer. ? A via cannot be coincident with another via if they cut through the same substrate layer and they are on different layout layers. But two vias can be coincident on the same layout layer. ? Vias should be wholly contained within any primitives that are to be connected. ? Vias can be speci?ed with loss but are considered to have zero thickness, as are all metals in Momentum.

Vias through Multiple Substrate Layers
When drawing vias that cut through multiple substrate layers, vias must be copied exactly (both dimensions and location) onto each layout layer. One via must be drawn or copied for each substrate layer that it cuts through. In Momentum, this will result in multiple vias, having a different names, and being represented as multiple process layers. The following are two methods for drawing the vias: ? Draw vias on multiple layers by setting the command Draw > Entry Layer to the target layer. Select the polygon or polyline. Then use Edit > Copy/Paste > Copy to Layer to create an exact replica of the via on the target layer.

B-10

? Draw a via for one layer only. Use the Metallization tab to assign the via layer to all substrates.

(Top view)

In Layout: Four vias drawn or copied exactly the same on top of each other.

via 1 (Side view) via 2 via 3 via 4 In Momentum: Four substrate layers have four separate vias (process layers) mapped to each one.

Using Vias to Model Finite Thickness
You can use vias to model the ?nite thickness of a metal structure in the following way: ? Draw the top surface of the structure. ? Copy the shape onto another layout layer, positioning the shape exactly over the ?rst one. The shapes must match exactly. ? Draw a sheet via on the perimeter of one shape, but make sure the via is on a third layout layer. ? As part of the substrate de?nition, make one layer an interface layer, with a ?nite thickness and characteristics of the metal that you want to model. When you apply this layout to a substrate de?nition, you will map the via to the interface layer described above, then map the shapes to the metallization layers that appear above and below this substrate layer. Recall that metallization layers will be present only between two substrate layers, so you may need to add layers, such as air,

B-11

Drawing Tips

above and below the interface layer. The following drawing illustrates how to draw the metal structure.

Draw the via along the perimeter of one of the strips.

Drawing Air Bridges in Layout
If you are simulating an air bridge, you will have to create a layout and a substrate de?nition that will support the geometry. This means adding an air layer (height equal to the air bridge) which the vias will cut through. For example, you would have some geometry (like a spiral) on a dielectric layer. Then a via would rise vertically, cutting through the air layer, where it would connect to a metal bridge. Then another via would connect from the bridge, down to the previous layer, and onto another path. For further information refer to “Substrate for Designs with Air Bridges” on page 3-26.

air bridge via 1 via 2 metal metal

Ports and Air Bridges in Coplanar Designs
When you draw coplanar waveguide as slots on a ground plane, it is treated, by default, as a four-port device composed of two, coupled slot lines. To make sure that it will be simulated as coplanar waveguide, be sure to apply the Coplanar port type to the ports on the circuit. This port type combines the two ports on the same reference

B-12

plane, and the two ports are treated as one. For instructions on how to apply the Coplanar port type, refer to “De?ning a Coplanar Port” on page 4-14. If you do not use the Coplanar port type, a moding problem can result when a coplanar waveguide transmission line also propagates a slot mode. If Coplanar ports are used, the slot modes are short-circuited at the port interfaces. However, if the slot modes are excited somewhere in the circuit, they can cause resonances at certain frequencies. This will appear as non-physical results because the external boundary conditions are critical to the electrical behavior in such cases. By adding air bridges (straps) near the discontinuities the voltage level of the two grounds can be equalized to eliminate the slot mode. An example of air bridges can be found on the coplanar waveguide bend example, CPW_bend_prj. For information on how to include air bridges in a circuit, refer to “Substrate for Designs with Air Bridges” on page 3-26.

B-13

Drawing Tips

B-14

Appendix C: Exporting Momentum Data
Momentum data can be exported to Agilent HFSS and to IC-CAP for additional analysis. The method you use to export data depends on the target application.

Exporting Momentum Data to IC-CAP
Momentum can write S-parameter output ?les in the IC-CAP Measured Data Management (MDM) File Format. These ASCII data ?les can easily be read and used for modeling purposes in IC-CAP 5.x.

Enabling the IC-CAP MDM File Output
The IC-CAP MDM ?les are not created by default. You must create or edit the Momentum con?guration ?le:
($HOME)/hpeesof/config/momentum.cfg

and add the line:
MOM_MDM_OUTPUT = TRUE

If this variable is set, you will ?nd the IC-CAP MDM ?le once the Momentum simulation is complete:
(current_ADS_project_name)/mom_dsn/(current_layout_name)/proj.mdm

This ?le will only be available for 1-port and 2-port structures. The data is densely sampled (as a function of frequency) if the adaptive simulation mode was used during the Momentum simulation, otherwise, only the requested sample points appear in the proj.mdm ?le.

Disabling the IC-CAP MDM File Output
If you do not want output in an .mdm ?le, you must disable the MOM_MDM_OUTPUT variable. You must set:
MOM_MDM_OUTPUT = FALSE

or remove that line in the Momentum con?guration ?le:
($HOME)/hpeesof/config/momentum.cfg

C-1

Exporting Momentum Data

Example
This is an example of the contents of an .mdm ?le that was created from a Momentum simulation.
BEGIN_HEADER ICCAP_INPUTS freq F LIST 16 0.000000e+00 1.000000e+07 5.008333e+09 8.965347e+09 1.000667e+10 1.667111e+10 2.666778e+10 3.000000e+10 ICCAP_OUTPUTS s S B C GROUND END_HEADER BEGIN_DB #freq R:s(1,1) I:s(1,1) R:s(1,2) I:s(1,2) R:s(2,1) I:s(2,1) R:s(2,2) I:s(2,2) 0.000000e+00 0.00000 1.000000e+07 -0.00139 5.008333e+09 -0.24306 8.965347e+09 -0.28893 1.000667e+10 0.47812 1.667111e+10 0.32013 2.666778e+10 -0.19974 3.000000e+10 0.96691 0.00000 0.00000 1.00000 0.00000 1.00000 0.00000 0.00000 0.00000

0.00000 -0.00139 -0.57309 -0.24306

0.99999 -0.00238 0.30188 -0.71430

0.99999 -0.00238

0.30188 -0.71430 -0.57309 0.39683 -0.59291

-0.59290 -0.28893 -0.38554 -0.85726 0.38444

0.39683 -0.38554

0.47812 -0.00500 -0.00983 -0.00500 -0.00983 -0.85726 0.32013 0.52995 -0.65935 0.52995 -0.65935 0.38444

-0.44899 -0.19974 -0.39885 0.03191

0.68719 -0.39885

0.68719 -0.44899 0.03191

0.96691 -0.01394 -0.00395 -0.01394 -0.00395

END_DB

C-2

Exporting Momentum Data to Agilent HFSS
You can export Momentum data to Agilent HFSS without running a Momentum simulation ?rst. The ?les that Agilent HFSS requires to reconstruct the geometry are generated by using a menu command in the ADS Layout window. Using the menu command saves time since you do not need to complete a simulation.
Note Agilent HFSS 5.5 (or later) can import the ?les that are generated when you use the menu command in the Layout window, or ?les from a successful Momentum simulation. Agilent HFSS 5.4 is only able to import projects that have been successfully simulated by Momentum.

To generate ?les and import them into Agilent HFSS: 1. In the ADS Layout window, choose Momentum > HFSS > Save Files for HFSS. The ?les are generated and saved in the current project under <project_name>/mom_dsn/<design_name>/hphfss. They contain the design geometry and Momentum setup. 2. In Agilent HFSS, choose Project > Translate > ADS/Momentum Layout. This converts the ?les into an Agilent HFSS project.

C-3

Exporting Momentum Data

C-4

Appendix D: Momentum Optimization Background Information
Optimization is an area of applied mathematics dealing with minimization (a maximization problem can be formulated as minimization) of an objective function. Many optimization algorithms have been developed over the years. Some of the best are made available here for the purpose of layout design. Momentum Optimization employs a comprehensive set of optimizers including L1, L2 (least squares), Minimax, quasi-Newton, random and simulated annealing algorithms. All of these have been adapted speci?cally to handle engineering design problems.

Optimization Variables
In the process of minimizing an objective function the optimizer makes changes to optimization variables. In Momentum Optimization some or all of the parameters de?ned in layout parameterization can be designated as optimization variables. You can designate parameters as variables by clicking on the Allowed to vary box in the Optimization Parameters Editor so a check mark appears. At least one parameter must be selected as an optimization variable in order to perform an optimization. There are several reasons why you may want to ?x a parameter value and not allow the optimizer to vary it. For example, you may want to parameterize one layout for different applications where different constraints may be required. Then you use different subsets of all parameters as optimization variables in separate optimizations of the layout. A typical situation, however, is when you may want to carry out the optimization process in a few phases. You start with one or two optimization variables that may in?uence the responses most signi?cantly. Once that phase is ?nished you may release more variables and restart optimization to further re?ne the responses. The values relevant to optimization are: ? The Starting value is the value at which the optimizer begins its search ? The Optimal value is the value declared by the optimizer as the best when the search is ?nished By default (if the Starting Value entry is not ?lled in) the nominal value is taken as the starting value. The assumption is that the nominal design is not far from the ?nal design. However, you are free to enter a different value as the starting value. This is useful if you want to restart optimization from a different starting point or if the
D-1

Momentum Optimization - Background Information

nominal design is drawn far away from the expected solution simply for drawing convenience. Whenever possible you should run optimization with a good selection of the starting values. The closer the starting point is to the solution, the faster the optimization process might be, requiring fewer Momentum simulations. There is also a better chance of avoiding traps of local minima. If a parameter is not allowed to vary, its value is ?xed at the Starting Value, as entered in the Optimization Parameters Editor. If no entry is made, its value is ?xed at the nominal value (the default Starting Value). The optimal values are reported in the “Parameters” list in the Optimization Parameters Editor after optimization is ?nished. They are stored with your nominal design and can only be changed by the optimizer after another optimization run leading to a different solution. A mechanism is provided to update the starting values with the optimal values. By clicking the Back Annotate Optimal Values button, you can replace the current starting values with the optimal values. This might be useful if you want to restart optimization under different conditions and you believe this would be a good selection of the starting values. The starting values can still be modi?ed manually. Two additional values are relevant to optimization: ? The Lower bound is the lowest value the optimizer is allowed to generate ? The Upper bound is the highest value the optimizer is allowed to generate The bounds establish the limits of the exploration region for the optimizer. It is highly recommended to limit the exploration region if you can. The importance of reasonably setting the lower and upper bounds on the optimization variables is particularly evident in the case of random optimizers. By exploring vast areas far away from the solution, a signi?cant computational effort may be wasted.

Design Goals/Speci?cations
A single design goal consists of a frequency plan, a response of interest, the speci?cation type, and a numeric value that the response should either exceed or achieve. The latter is referred to as the goal value. A common term for a design goal is “design speci?cation”. It will be used here as well. Design goals are de?ned in the Optimization Goals Editor (Momentum > Optimization > Goals).

D-2

A frequency plan can consist of either a single point or a linear sweep. As a response of interest you can select an S parameter in any of the following forms: ? Magnitude in dB ? Magnitude ? Phase (in degrees) ? Real part ? Imaginary part The S-parameters available for optimization are with respect to the reference impedance of 50 ? . Any combination of the above forms for any selection of port indices can be optimized simultaneously. Two different forms for the magnitude are provided intentionally. It makes a difference for the optimizer what form is used, and thus the optimization process may proceed and converge differently. The ?rst form describes relative variations, while the other describes the absolute variations. The speci?cation type is de?ned using one of the following symbols: ? < ? = ? > They are called an upper speci?cation, an equality speci?cation and a lower speci?cation, respectively. The ?rst and the third type together are referred to as inequality speci?cations. For window speci?cations you need to de?ne two design goals for the same frequency plan: one using an upper speci?cation and the other one using a lower speci?cation. You can de?ne multiple design goals for different frequency plans, and using different speci?cation types. You can emphasize/de-emphasize their relative importance using weights associated with each goal. You can run optimization using a subset of all design goals that have been de?ned. Each design goal can be activated (this is the default setting) or deactivated. At least one design goal needs to be de?ned and activated to be able to run optimization. The Momentum simulation results, subsequently stored in the database (see Actual EM Simulations and Database), are generated for all frequency points de?ned in the Optimization Goals Editor. Any frequency plan that may have been de?ned using Momentum > Simulation is not used. All the design goals, whether activated or not, are used to determine the frequency points for EM simulations. Thus, activation or
D-3

Momentum Optimization - Background Information

deactivation of any of the goals does not obsolete the database. This is very useful if you want to re?ne your design by restarting optimization with a different subset of design goals. In other words, you may simply de?ne additional “design goals” that are deactivated in initial optimization and this will allow you to monitor the circuit behavior at the corresponding frequency points.

How Design Goals are used by the Optimizers
Momentum Optimization creates a single function to quantify the deviation of the circuit responses from the design goals. It is called an objective function. A minimum of the objective function corresponds to the optimal solution. There are many ways to de?ne an objective function. One important feature of various formulations is that the objective function is ? Positive if at least one design goal is not met (one design speci?cation is violated) ? Zero if all design goals are met but at least one of them is just met (the response becomes equal to goal value) ? Negative or zero if all design goals are met with some margin It is worth noticing that design goals may be de?ned too tight so that no solution satisfying all goals exists. Thus, negative values of the objective function may not be attainable. An error function for every goal and at every frequency point is formulated based on the response value, goal value, the type of speci?cation and the weight. The formulation follows the same rule that a positive value means violation of the speci?cation. In the following discussion, we use the notation Fj j=1, 2, ...., m to denote all individual error function values. Momentum optimization uses the following objective functions formulated from individual error function values: ? Max Error (minimax objective function) de?ned as U = max { Fj}

D-4

? L1 Error (least-one objective function) de?ned as U =



m

j=1

Fj

? L2 Error (the classical least-squares objective function) de?ned as U =

∑ Fj
j=1

m

2

? GL2 Error (the generalized least-squares objective function) de?ned as ? ? ? ? U = ? ? ? ? ?

∑ Fj 2 Fj
–1 -----------------m 1 -----Fj 2 j= 1

≥ 0

if at least one Fj ≥ 0 if Fj < 0 for all j



The Max Error and the GL2 Error objective functions are more suitable for inequality and window speci?cations, as they become negative when all goals are exceeded by some margin. The L1 Error and L2 Error objective functions do not account for design goals that have been exceeded. The individual error functions corresponding to inequality speci?cations are set to zero when they become negative. Each objective function has speci?c advantages over other formulations. They are brie?y discussed in “Optimization Algorithms” on page D-6. The optimal solution in terms of one objective function may be different (and it usually is) from the optimal solution in terms of another objective function. The user's choice of the objective function is made indirectly by selecting the Optimization Type in the Optimization Control Editor.

D-5

Momentum Optimization - Background Information

Optimization Algorithms
Many different methods exist for solving minimization problems. None of them is universally applicable. Momentum Optimization employs several state-of-the-art optimization types (algorithms/objective function formulations) to help you achieve your design goals. An algorithm together with its implementation in the program is referred to as an optimizer. Each optimizer constructs an objective function from the design goals and then employs a unique algorithm to minimize the object function. ? The Minimax optimizer uses the Max Error objective function. It concentrates its effort on minimizing the largest violation of speci?cations. Once all the speci?cations are satis?ed it continues its effort on maximizing the smallest design margin (minimizing the negative objective function). Thus, it is most suitable for optimization with upper and lower speci?cations. The Minimax optimizer tends to achieve an equi-ripple solution: while attempting to minimize the largest individual error another “opposing” error may be increased. The optimizer will stop when such “opposing” errors become equal. ? The L1 optimizer uses the L1 Error objective function. It tries to drive as many individual errors as possible to exactly zero. Thus, it is most suitable for optimization involving equality speci?cations. In the case of inequality speci?cations this optimizer will stop once all design goals are met. ? The L2 optimizer uses the L2 Error classical least-squares objective function. The smoothness of the objective function makes it a very robust and reliable technique. In the case of inequality speci?cations this optimizer will stop once all design goals are met. ? The Quasi-Newton optimizer uses the GL2 Error objective function. It implements the Fletcher-Powell-Davidon algorithm. The objective function formulated for this optimizer, similarly to Minimax, facilitates improving the design margin when all speci?cations are satis?ed (design centering). ? The Random optimizer also uses the GL2 Error objective function. The Random optimizer uses a random search algorithm and does not require a gradient. It is less susceptible to potential traps of local minima when compared with gradient-based optimizers, but it also converges less ef?ciently. This optimizer searches the entire exploration region determined by the lower and upper bounds on the optimization variables. It is thus important to reasonably set those bounds.

D-6

? The Simulated Annealing optimizer uses the GL2 Error objective function. It employs a global optimization strategy, but requires a large number of simulations to reach a solution. The ?rst four optimizers are so-called gradient-based. They need ?rst-order partial derivatives in addition to the value of the objective function to make a decision on the subsequent steps. They usually move fairly quickly towards a minimum particularly if one exists close to the starting point. If possible, they tend to search fairly limited areas of available exploration regions and are susceptible to traps of local minima. The last two optimizers do not require gradient information. Since they normally use a large number of steps, a caution is recommended when trying to use them in conjunction with more time consuming EM simulations. The ?rst three optimizers have been speci?cally developed for minimization of their corresponding objective functions. Therefore, their performance in handling their objective functions is likely to be far superior over any other optimizer. The last three optimizers are general purpose techniques. Momentum Optimization provides the default Optimization Type such that it is best suited to the design goals provided. ? If there are inequality design goals the default optimizer is Minimax. ? If there are only equality design goals the default optimizer is L1. It is recommended to accept the default setting unless you have a good reason to change it.

Stopping Criteria for the Optimization Process
The optimizer stops when it cannot minimize the objective function anymore. Except for local minima, improperly set design goals, or rare numerical de?ciencies, this should be the desired solution. Momentum Optimization provides two additional stopping criteria for the optimization process. The optimizer will stop even if it would otherwise continue if: ? The Maximum Number of Iterations speci?ed in the Optimization Control Editor is reached; if the optimization does not converge to an optimal solution before reaching this limit, it will stop and present the best result up to that point as the solution

D-7

Momentum Optimization - Background Information

? The Stop as soon as the specs are met radio button in the Optimization Control Editor is on (the default setting); this instructs the optimizer to stop immediately when all design goals are met for the ?rst time The ?rst stopping criterion is essential for making sure the optimizer stops in the rare cases of numerical instability, slow convergence, or excessive iterations making insigni?cant re?nements to ?nd the solution. This limit is fairly predictable for typical optimization problems. For the L1, L2 and Minimax optimizers it usually takes between 10 and 30 iterations to reach the solution. This is fairly independent of the number of optimization variables. The limit on the number of iterations is not a limit on the number of actual Momentum simulations. The number of Momentum simulations needed to reach a solution is far less predictable. It may vary signi?cantly depending on the number of variables, whether interpolation is used or not, the size of the interpolation interval, and the size of the exploration region. The second criterion is intended for use in conjunction with inequality speci?cations. It makes no difference for the L1 and L2 optimizers since their objective functions do not account for exceeding the speci?cations. In the case of other optimizers this criterion does not require the goals to be met exactly. Depending on the optimization trajectory the solution may already feature some goal margin when the process is stopped. If you want to achieve a design goal exactly you should use an equality speci?cation instead. You can override the second stopping criterion by selecting the Continue to obtain a centered design option. This is a preferred choice to achieve good designs for circuits such as ?lters, particularly if manufacturing tolerances are of concern. However, if there are no “opposing” individual errors, this option may lead to excessive iterations and undesired solutions. For example, if you want to minimize coupling between two strips by adjusting the spacing, the optimizer will attempt to drive the strips as far apart as allowed by the upper bound imposed on the spacing. You do not need to be afraid of wasting valuable computer resources and time if you want to interrupt or stop optimization. If you restart optimization under identical conditions, the optimization process will repeat itself using data from the database and it will arrive almost instantly at the same stage where the interrupt occurred. Similarly, if optimization is stopped because either the maximum number of iterations has been reached or all the goals have been met you can restart optimization after changing the corresponding stopping criterion. Again, the optimizer will arrive almost instantly at the stage where the stop occurred.

D-8

Appendix E: Momentum Optimization Response Interpolation
In order to improve the overall ef?ciency of the optimization process, Momentum Optimization employs parameter discretization and response (S parameters) interpolation. It also maintains a database that contains the results of every Momentum simulation performed by the optimizer. It is under the user's control how each of the parameters is discretized (see “Interpolation Grid and Resolution” on page E-1) and what interpolation scheme is applied (see “Types of Interpolation” on page E-8). The interpolation feature can be turned off (see ““No interpolation” Option” on page E-7). The database is created and maintained by the program. The user can delete an obsolete database (see “Removing Obsolete Databases” on page E-3). The database is speci?c to Momentum Optimization. Any results (datasets) obtained using the menu option Momentum > Simulation are not stored in the database because they do not contain any information on layout parameterization.

Interpolation Grid and Resolution
If the interpolation feature is used (default setting) then the parameter values are discretized. The resulting discrete parameter values establish a rectangular, multidimensional interpolation grid. The size of the grid can be controlled by the user by means of the Interpolation Resolution de?ned in the More dialog in the parameter de?nition area of the Optimization Parameters Editor. Momentum Optimization associates each parameter with an interpolation interval whose size (length) is de?ned as: Perturbed Value – Nominal Value Interpolation Interval = -----------------------------------------------------------------------------------Interpolation Resolution Two consecutive grid points in the respective direction are Interpolation Interval apart. Coarser grids correspond to smaller interpolation resolutions while higher interpolation resolutions mean ?ner grids. The interpolation resolution can only be a positive integer. The coarsest grid available corresponds to an interpolation resolution of 1. Then, Interpolation Interval is equal to the distance between the nominal and perturbed parameter values.

E-1

Momentum Optimization - Response Interpolation

Since a separate interpolation resolution is de?ned for each parameter, a grid can be coarser for one parameter and ?ner for another. This provides the ?exibility in accommodating different sensitivities of responses with respect to different parameters. By de?nition, the parameter values corresponding to the nominal and perturbed designs are on the grid. The grid thus expands from those two points in both positive and negative directions of each parameter. The grid is not bounded by the nominal and perturbed values, but may be limited for other reasons (see “Zero Parameter Values” on page E-5 and “The Impact of Parameter Bounds on Interpolation” on page E-6).

How Does the Interpolation Feature Work?
If the interpolation feature is enabled, the only points (sets of parameter values) that can be submitted for Momentum simulation are on-grid points. A point is off the grid if at least one of the parameter values falls in the interior of its interpolation interval. If a point of interest (requested by the optimizer) is off the grid then a number of neighboring on-grid points, called the base points, are selected by the program. Momentum simulation is requested at all of those base points. The responses at the point of interest are then calculated by interpolation. This interpolation is performed with respect to the parameter values. The aforementioned rule applies to all situations, including a single point simulation such as for the optimal parameter values. Therefore, the optimal results (displayed after optimization is ?nished) are normally obtained by interpolation. Similarly, if you de?ne two parameters, allow one to vary by the optimizer, and keep the other one ?xed at an off-grid value, it may look like the optimizer “changes” the “?xed” parameter for EM simulations. This is correct. Indeed, the neighboring on-grid values are used in order to interpolate the responses at the requested ?xed value.

E-2

Actual EM Simulations and Database
Before calling Momentum to actually perform a simulation at a base point, the database is checked to see whether the requested dataset is already there. If it is, the results from that dataset are reused instead of performing an actual EM simulation. If not, Momentum is invoked to simulate the design corresponding to that base point. After simulation is completed, the database is augmented by the new results. Once in the database, these results can be reused whenever the responses at the same base point are needed. During optimization, Momentum is invoked for an EM simulation only if at least one parameter has moved beyond its interpolation interval from the previous iteration. For small changes in parameter values, interpolation is used to obtain the responses instead of calling for additional Momentum simulations. This can substantially reduce the total number of EM simulations needed for optimization.

Removing Obsolete Databases
A Delete Previous Database check box is available in the Optimization Control Editor. The default setting is “unchecked” so that the database, if one exists, will be reused. The database is a very valuable asset since it may contain the results of hours or days of EM simulation time. Therefore, care should be exercised while asking the program to remove an existing database. There are several reasons why an existing database may become obsolete. All of them are related to the information contained in the database being no longer compatible with the current setup for optimization. The database contains the information on: ? The number of parameters ? The number of frequencies ? The number of ports Each dataset in the database contains information on: ? Parameter values ? Frequency point values ? S-parameters for each frequency point

E-3

Momentum Optimization - Response Interpolation

The database has no knowledge of the layout information, including the nominal and perturbed designs, or the actual parameter values associated with those designs. Meshing setup, units, etc., are also not known to the database. Therefore, in order to preserve the validity of an existing database, you should not change: ? The nominal and perturbed design layouts, including material properties and port de?nitions ? The number and de?nition of parameters, except for allowing/disallowing them to vary ? The sequence in which the parameters are listed in the Optimization Parameters Editor ? Meshing parameters ? The nominal and perturbed parameter values ? Frequency plans, except for activation/deactivation of individual goals or changing the selection of individual S-parameter responses Whenever possible, the program will detect potential incompatibility with the existing database and issue a warning. Certain changes such as layout modi?cations cannot be detected. If the existing database is not deleted, additional results of Momentum simulations will be added to it. This may lead to a database containing, for example, some datasets simulated by Momentum with an edge mesh, and others without it. Before deleting a database, it is advisable to consider other options. The simplest is to rename the current design using “Save As” or “Copy Design” and institute desired changes within the new design.

Hints for Selecting the Interpolation Resolution
A good choice for the interpolation interval is obviously problem dependent. If the interval is too large, then the interpolated responses may not be accurate. On the other hand, a very small interpolation interval increases the number of EM simulations and ultimately defeats the purpose of using interpolation. A practical approach is to start with a coarse resolution (for example, 4) and then increase the resolution if the optimized solution is not suf?ciently accurate. The

E-4

choice of the resolution also depends on how large an increment in parameter value has been established by the nominal and perturbed designs. For small perturbations, say less than 10%, a value lower than the default setting for the interpolation resolution might be acceptable. If a large perturbation is used (for example one value is twice as large in magnitude as the other) the default resolution is unlikely to be adequate. The sensitivity of the response with respect to the parameter value is an important factor. In many designs, fortunately, designers may have a good insight into their design sensitivity before setting up the optimization task. If an increasing sequence of interpolation resolution values is used, it is advisable to use an exact multiple of the previous value to set the subsequent value. This will guarantee that all previous grid points will be on the new grid, thus making the previously simulated points available for reuse if needed.

Zero Parameter Values
As already mentioned, the parameter values corresponding to the nominal and perturbed designs are on the grid. Depending on your de?nition of the nominal and perturbed layouts, as well as of the interpolation resolution, the zero value of a parameter may or may not be on the grid. A zero value of a parameter may require special handling if it falls on the grid. If the parameter represents a geometrical dimension such as length, the value of zero may lead to a degenerate geometry. In

相关文章:
ADSmomentum总结(绝对实用).doc
2momentum 中 substrate 的设置:分为介质层(substrate layer)的设置和金属层(...ADS 原理图和 layout 联合仿真的几种方法: 第一种方法是通过 look alike,在 ...
06_ADS2012_Momentum电磁仿真实验教程.pdf
06_ADS2012_Momentum电磁仿真实验教程 - ADS 2011 EM Basics (v2 October 2011) LAB EXERCISE 2 EM Basics (Mom...
ADS 2013momentum仿真出错license not available解决办法.doc
ADS 2013momentum仿真出错license not available解决办法_计算机硬件及网络_IT/...1、找到 ADS 安装路径 D:\Agilent\ADS2013_06\Momentum,如下图 2、将文件夹...
ADS 版图仿真软件经验总结.doc
ADS 版图仿真软件经验总结_IT/计算机_专业资料。ADS Momentum经验总结 ADS ...每个 port 会需要 额外的分之一波长的空间,因此如果没有足够的空间,软件会...
用Momentum和ADS完成微波IC的精确仿真.pdf
MomentumADS完成微波IC的精确仿真_电子/电路_工程科技_专业资料。用 ADS 和...2. 方法 [1] 电磁基版图验证包含个连续的步骤:全电路版图无源部分的电磁 ...
ADS_版图仿真软件经验总结.doc
ADS_版图仿真软件经验总结_电子/电路_工程科技_专业资料。1、momentum 求解模式...每个 port 会需要 额外的分之一波长的空间,因此如果没有足够的空间,软件会...
ADS Momentum简介.pdf
http://www.mweda.com ADS Momentum 简介 ---ADS2009,ADS2008,ADS2006A (...2.仿真真实物理世界的侧壁耦合( Side Wall Coupling ) Momentum 可以计算开放...
用Momentum和ADS建立微带空气桥的精确模型.doc
ADSMomentum 完成微波/RF IC 版图级的精确验证摘要:这篇笔记指出了基于...验证包含个连续的步骤:全电路版图无源部分的电磁 仿真和包含电磁仿真结果的全...
ADS2011 射频仿真详细教程.pdf
Momentum 仿真结果文件;Setup 文件包含了 ADS2009 Momentum 仿真中所有的参数设置...而第个 Cell 的原理图除增加了 S 参数仿真所需的控件外,和第一个 Cell ...
ADS momentum 总结.doc
2momentum 中 substrate 的设置: 分为介质层 (substrate layer) 的设置和...ADS 原理图和 layout 联合仿真的几种方法: 第一种方法是通过 look alike, ...
基于ADS的微带缝隙天线的仿真设计.doc
tanδ=0.0018,介电常数为 Er=2.3 的微带缝隙天线展开研究以及仿真和优化。 ...它内含基于矩量法的电 磁仿真模板,ADS Momentum 是一种对 3D 进行简化的 ...
ADS软件仿真技术_图文.ppt
ADS软件仿真技术 - ADS软件仿真技术PA电路仿真介绍... M1_B_2_Result; // hpeesof_id : M1.B_2 hp_...ADS核心仿真方法 ? ? 电磁仿真分析(Momentum) 基于钜...
浙江大学ads_2_图文.pdf
了解印刷偶极子天线的结构和工作原理 2. 学习使用ADS Momentum设计天线的基本方法 3. 仿真,调试,优化印刷偶极子天线 ? 实验内容 1. 熟悉ADS Layout的使用环境。 ...
ADS软件介绍与入门_图文.pdf
UESTC 3.1 ADS软件概要 UESTC 三、ADS软件介绍与入门 3.2 时域仿真 ADS仿真...平面电磁仿真分析 (Momentum) ?立体结构三维电磁仿真分析(EMDS) 大致可以分为:...
二.ADS基本操作使用.ppt
.ADS基本操作使用_计算机软件及应用_IT/计算机_专业资料。第一讲:ADS的基本操作...ADS2009新特性 ? 集成三维电磁仿真模块(EMDS),增强Momentum(一种对3D进行简化 ...
二.ADS基本操作使用_图文.ppt
系统级的仿真模块 IC ADS2009新特性 ADS2009新特性集成三维电磁仿真模块(EMDS),增强Momentum(一种对3D进行简化 集成三维电磁仿真模块(EMDS),增强Momentum(一种对3D...
Allegro和ADS之间仿真转换_图文.pdf
Allegro和ADS之间仿真转换 - allegro完美和ADS之间的仿真应用,非常有参考价值~... 选择 Momentum->Substrate->Open…然后...步骤:在 ADS 电路原 理图界面点击 ...
基于ADS2011的EM仿真与设计_图文.ppt
创建新的工作空间选择ADS Standard:长度单位为mil,然后点击Finish 8 2、微波传输...仿真结果和对比 28 1、Momentum模型仿真在EM界面选择EM->Simulation Setup->Mom...
北邮 微波工程基础ADS仿真实验报告.doc
2. 了解 ADS Schematic 的使用和设置 在 Schematic 里,分别仿真理想电容 20pF ...实验三 Momentum 16. 在 FR4 基板上分别仿真四分之一波长开路线,四分之一...
ADS Momentum (WS)_图文.pdf
ADS Momentum (WS) - ADS momentum EM , serdes, rf, PLL, LC VCO.... 2) Specify Strip or slot between 2 ...ADS Momentum 仿真设计流... 3页 2...
更多相关标签: