Go to www.awrcorp.com
Back to search page Click to download printable version of this guide.

Chapter 10. EM: EM Editor

10.1. Creating EM Structures without Extraction

This chapter describes how to use EM structures in the NI AWR Design Environment suite when you create the EM structures by themselves. Structures are generated by drawing shapes in an EM structure, importing DXF or GDSII files, or copying layout from schematic layouts or artwork cell layouts. Note that this approach is covered in an example in the "Using the Electromagnetic Simulator" chapter of the Microwave Office Getting Started Guide.

This chapter is organized in the order of the steps you take when creating a new EM structure.

10.1.1. Creating a New EM Structure

To create a new EM document:

  1. Right-click EM Structures in the Project Browser and choose New EM Structure, or choose Project > Add EM Structure > New EM Structure. The New EM Structure dialog box displays.

  2. Enter a name for the EM structure, select an available simulator from the list, choose from the Initialization Options, then click Create. An EM structure window opens in the workspace, and the Project Browser displays the new EM structure and its subnodes under EM Structures.

    You can generate new EM structures directly from DXF or GDSII files, see “Creating Shapes by Importing GDSII/DXF Files” for more information.

10.1.2. Initialization Options

When creating an EM structure, the initialization offers several options for the physical Stackup used (for example, dielectric layers and conductors). This allows you to set up a structure's physical stackup once for a process rather than for each new EM structure. You can always change Stackup properties after the EM structure is created. The initialization can be the complete Stackup or a starting point.

There are three initialization options:

  • From Stackup: NI AWR recommends this method because it allows the most flexibility. The other methods are supported only for legacy designs. One or more STACKUP blocks (located under the Substrates category in the Element Browser) placed in the NI AWR Design Environment Global Definitions window are required to use this option. You can place multiple STACKUP blocks with different configurations for different Stackup properties. When you select this option, a Use Stackup drop-down list displays for selection of any of the enabled STACKUP blocks in Global Definitions. For more information on configuring STACKUP blocks, see “Configuring Stackup”

  • From LPF: You can define the global Stackup properties in LPF files. This information is entered between the $EM_SETUP_BEGIN and $EM_SETUP_END statement sections. See “The Layout Process File (LPF)” for more information. Since you can have multiple LPFs and multiple EM layer mapping settings in each LPF, when you select this option there are options for choosing the LPF and EM mapping to use.

  • Default: Uses the EM Stackup information in the default (first in the list) LPF in the project, and the first EM layer mapping in the default LPF. This is the default setting since there is always an LPF and EM mapping in a project, but not always STACKUP blocks in the project. This is a common option if the EM structure Stackup properties are configured after the EM structure is created.

10.1.3. Simulator, Mesh, and Simulation Frequency Options

Each project has default frequencies (choose Options > Project Options and click the Frequencies tab) and simulator specific options (choose Options > Default EM Options and click the Mesh tab, or the appropriate simulator tab). When you create a new EM document it uses these default settings. If you change the defaults later, each EM document uses the new settings. You can link the frequencies, mesh, and simulator options to the project default settings by right-clicking the EM document in the Project Browser and choosing Options. On the Frequencies, Mesh, and specific simulator tabs (for example, the AXIEM tab), select the Use project defaults check box in the upper left corner of each dialog box. Note that making any changes to the defaults causes linked EM structures to resimulate.

10.1.4. Enclosure Size and Grid

After the EM structure is created, the next step is to set up the Enclosure size and grid. The definition of an Enclosure differs in each EM simulator.

In the Project Browser, double-click the Enclosure node below the name of the EM structure. The Element Options - ENCLOSURE Properties dialog box displays. The settings on the Enclosure tab are used differently for different simulators. The ENCLOSURE properties describe the dimensions and resolution of the rectangular Enclosure. The Enclosure X-Y dimension is defined on the Enclosure tab, and the height of the Enclosure is determined from the thickness of the dielectric layers, which are defined on the Dielectric Layers tab. The resolution also defines the drawing grid for the structure. For more information about the Enclosure tab, see “Element Options-(EM) ENCLOSURE Properties: Enclosure Tab”.

If using a third-party simulator for analysis, see the vendor documentation for details on selecting the x and y cell size dimensions. For many simulators the grid size may have no effect on simulation accuracy or time.

10.1.5. Stackup Properties

The additional tabs when double-clicking the Enclosure node below the name of the EM structure are for configuring the properties of the EM Structure in the z-direction, such as dielectric layers or conductors. This setup is common for several flows; see “Configuring Stackup” for more information on set up. If a STACKUP from the Global Definitions is used to initialize the EM structure, additional setup may not be necessary.

10.1.6. Drawing Shapes in EM Structures

This section describes drawing and editing EM structures within the NI AWR Design Environment software. Two methods are available for editing the EM structure depending on the simulator (AWR simulators versus third-party simulators integrated into the NI AWR Design Environment suite). If using AWR simulators, continue to the next section. The first method of editing available with all the simulators that have been integrated via the EM Socket interface is the EM structure Layout Editor (the NI AWR Design Environment Layout Editor). For third-party electromagnetic simulators, the EM Socket integration may allow drawing and editing the EM structure in the third-party solver Native Editor. Note that implementation of a Native Editor is optional for the third-party integration, and some vendors may choose not to do so. In this case, only the NI AWR Design Environment editor is available.

The representations in the two editors are ensured identical. However, due to potential inconsistencies between the editors, one of the two editors is defined as the default editor. This default editor holds the master definition of the geometry, and the other (child) editor attempts to represent the geometry as closely as possible. For selection of the default editor see “Options Dialog Box: General Tab”.

All changes to the geometry should be made through the default editor once selected. The child editor should only represent a structure view. If the NI AWR Design Environment editor is the default, you can make the changes in the Native Editor. On exiting the Native Editor you are prompted whether or not to change the default editor to the Native Editor, make a best effort translation of the geometry, or cancel all changes. If you select the Native Editor as the default editor, all the edit functionality of the AWR EM Layout editor is turned off, and it essentially becomes a geometry viewer. You can change the default editor any time on the EM Options Dialog Box General tab and a best effort translation is performed.

To open the Native Editor from the NI AWR Design Environment program, right-click the EM document under EM Structures in the Project Browser and choose Open in Native Editor. A new window opens with the solver's Native Editor. Note that the NI AWR Design Environment program blocks all input until the Native Editor is closed. Documentation for using the Native Editor should be available from the third-party solver vendor.

Locking EM Layouts

EM structures can be very long simulations, and any change to the layout prompts the simulation to restart. To prevent accidental edits resulting in lost data, you can lock EM structures for editing. To lock an EM structure, right-click it in the Project Browser, choose Options to display the Options dialog box, and then click the Locking tab. Several locking options are available; the most common is Do not allow editing.

NOTE: This option only locks editing of the EM structure layout. It does not lock other settings that can prompt simulations to restart such as frequency, mesh settings, boundary settings, and simulator options. Because these settings require you to change and save them in an Options dialog box, there is little chance of making accidental changes with them.

AWR EM Layout Environment

This section describes the use of the AWR EM structure Layout Editor. Note that this editor is used for planar circuit geometries and does not support editing or viewing generalized 3D objects.

After specifying the Enclosure, you can create the structures with the appropriate Draw menu options or by using the toolbar buttons. Before drawing shapes, you should understand the following sections.

EM structures use the same layout editor as the Schematic Layout Editor and the Artwork Cell Editor in the NI AWR Design Environment suite. Each shape must have physical properties (dielectric layer number, conductor or via, and material type) defined for simulation purposes. When editing an EM structure, you click on the Layout tab on the main window to view the Layout Manager, as shown in the following figure.

LPF Manager: All the LPFs (layer processing files) loaded in the program display here. A Default LPF is always loaded into the program.

Artwork Cell Manager: Artwork cells (DXF or GDSII) imported or created in the NI AWR Design Environment suite are listed here; see “Creating Artwork Cell Libraries” for details.

EM Layers and Via Selection Pane: This selection pane sets the active layer for creating or editing shapes by the EM layer properties (layer number, material type and conductor or via).

Stackup Display Pane: This is a cross-sectional view of the dielectric stackup. It also displays the location of conductors and vias based on their EM layer.

Drawing Layer Pane: This selection pane sets the active layer for creating or editing shapes. Drawing layers are the named layers used for creating shapes. Only those drawing layers that are assigned or mapped to EM layers are available for creating shapes in an EM document. Drawing layers are assigned to EM layers through the EM layer mapping (see “EM Layer Mappings” for details). The Drawing Layers pane has most of the same controls as the schematic layout Drawing Layer pane (see “Drawing Layer Pane” and “Displaying Layers by Mapping Status” for more information.

Line Types Pane: This selection pane displays the line types defined in the LPF. You can select a line type to draw line type-based shapes instead of drawing layer-based shapes in the layout. Line type shapes draw with all the layers and layer offsets set in the Line Type definition in the LPF (see “Line Type Definitions” for information).

NOTE: If these panes are not initially visible, move the mouse to the bottom of the Stackup Display pane until the cursor changes to a double-sided arrow, then click and drag upwards to expose the panes.

EM Layer Scale Pane: This pane allows the scaling of EM Layers for 3D viewing. You can scale the layers by entering the scaling factor or by adjusting the slider by scrolling the mouse wheel. Selecting Scale All Layers applies the scaling factors to all the layers. Selecting Scale Via Only applies the scaling factors to vias only. The Reset button resets the scaling factor to the values at which the project was last saved. Note that the change is reflected in the Draw Scale column on the Dielectric Layers tab of the Element Options-(EM) ENCLOSURE Properties dialog box.

Visibility By EM Layer: Turn on and off the visibility of the shapes on an EM layer in both the EM layout and 3D view. Clear the check box in the Visible column to hide the shapes on an EM layer. Right-click in this pane for a menu with options to show/hide the shapes on all the EM layers at once. Mapped Drawing Layers gives you more information on which drawing layers are currently mapped to that numbered EM layer.

Visibility By Material/Boundary: This pane turns on and off the visibility of shapes by their material properties in 3D view only. Right-click in this pane for a menu with options to set the visibility by conductor or via or the boundary.

Status Display Bar: The Status Display Bar displays information such as dimension, area, drawing layer name, EM layer, and the material type for a selected shape.

Drawing Shapes by Stackup Parameters

Once you completely define your Stackup properties, you can draw a conductor or via by selecting a Material and EM Layer. You do not need to set up the EM mapping and you can choose any material to draw either as a conductor or via with any extension. A shape is drawn on an EM layer and since it does not have a corresponding Drawing layer or material in the mapping table, a new Drawing layer is automatically created in the form of +Lay_<layer number>_<material type>_<shape type> where:

<layer number> = physical layer of the shape

<material type> = material type of shape, using only valid materials defined for that structure

<shape type> = COND for conductor and VIA for a via.

For these auto-generated layers, the EM mapping is automatically set in local EM mapping (the EM Layer Mapping tab in the Element Options - ENCLOSURE Properties dialog box). The EM mapping for auto-generated layers cannot be altered from the local EM mapping.

Drawing a Conductor: Conductors are created by selecting the EM Layer and Material. Depending on the EM layer and material selected, the conductor displays in the Stackup Display pane as shown in the following figure.

NOTE: You must select an EM layer and material to draw a shape. The following figure indicates that there is no prior EM mapping table set, as there is no drawing layer displayed in the Drawing Layers display pane.

After selecting the conductor, you can add a new conductor shape by choosing Draw and a menu option for a shape such as Rectangle, Polygon, Path, or Ellipse. These drawing options are also available on the Draw Tools toolbar using the following buttons.

After the conductor shape is created, a drawing layer (as explained in a previous section) is automatically created as shown in the following figure.

Drawing a Via:Vias are used for connecting shapes on different layers. To draw a via, select an EM Layer, select Via, and select an Extent number as its extension into layers, as shown in the following figure. Select a different Extent number and notice how the via extension changes in the Stackup Display pane.

After the via is selected, to add a new via shape, choose Draw > Rectangle or any desired shape option. These drawing options are also available on the Draw Tools toolbar.

Drawing Shapes by Drawing Layers

If EM mapping (see “EM Layer Mappings”) is already set for drawing layers, simply select the drawing layer in the Drawing Layers display pane and draw the shapes. The shapes are drawn in their corresponding EM layers; you do not need to select the EM Layer and Material

Drawing a Conductor: Select a drawing layer defined for conductor. The location of the layer in the stackup displays in the Stackup Display pane as shown in the following figure, where the selected layer shows an arrow next to the layer name.

Drawing a Via: When an EM mapping is set up for Via, you can draw the via by simply selecting the drawing layers displayed in the Drawing Layers display pane, or as previously explained. A via must be at least one cell wide. The length of a via is the same as the dielectric layer thickness. The top and bottom of the via are meshed as normal planar conductors, so it is not necessary to overlap a connecting planar conductor with the via. The current carried in the via is modeled as uniform z-directed volume current. The Via model assumes that the length of the via is relatively short compared to the wavelength. If the structure requires the via to be relatively long compared to the wavelength, the substrate should be split into several "thin" dielectric layers so that the via is modeled by several shorter vias stacked on top of each other.

The following figure shows the via position and extension based on the EM Layer and Extent.

Drawing Shapes by Line Types

In the Line Types pane, select a line type and then draw the line type-based shape. Line type shapes draw with all the layers and layer offsets set in the Line Type definition in the LPF (see “Line Type Definitions” for information). For information about line type mapping, see “Line Type Mapping”.

Displaying Layers by Mapping Status

The Drawing Layer pane shows the status of a drawing layer. Depending on the EM layer mapping settings, the display warns of conditions such as when the material name used is missing for the EM document, or when the EM layer corresponding to a drawing layer is missing in the EM document, or when no EM mapping is set up for the drawing layer. To display a tooltip with layer details, hover the cursor over the color for the layer.

The missing material and missing layers are seen as errors, since the attempted EM mapping is not valid. These drawing layers display in the Drawing Layer pane with a red X over the fill pattern. The absence of an EM mapping setup for the drawing layer is not considered an error, but simply as a decision not to set up mapping for that layer. These drawing layers display in the Drawing Layer pane with a blue X over the fill pattern. The following figure shows these cases.

When you click on a drawing layer, the area above displays messages about the layers.

The EM Drawing Layer pane toolbar includes an additional button named Show unmapped layers:

With you click this button, the unmapped layers display in the pane with a blue X on the layer name.

Additionally, sorting by the Actv column sorts by the EM mapping status. For more information, see “Displaying Layers by Mapping Status”.

To only display shapes on drawing layers with errors, sort by the first column and then turn off the visibility for the layers you do not want to see.

Creating Shapes by Importing GDSII/DXF Files

You can generate new EM structures from DXF or GDSII files (see “Importing GDSII/DXF as an EM Structure” for more information).

Defining Shapes by Copying Artwork

There are cases where the shapes for EM structures come from a DXF or GDSII Artwork Cell Library:

  • You are drawing geometry directly in a DXF or GDSII library in the NI AWR Design Environment suite.

  • The DXF or GDSII library you are using has multiple top level cells. You cannot directly import such file structures into an EM structure, so you must first import them into the Artwork Cell Editor and then copy and paste them into an EM structure layout.

To copy DXF or GDSII Artwork Cell Library shapes to an EM structure:

  1. Open the cell from the library.

  2. Select the shapes you want to copy to the EM document (or use Ctrl-A to select all).

  3. Copy the shapes (Ctrl+C or choose Edit > Copy).

  4. Create a new EM structure and size the Enclosure based on the dimensions of the artwork cell.

  5. Paste the shapes into the EM document (Ctrl-V or choose Edit > Paste).

The shapes in DXF and GDSII files do not have the physical properties (for example, dielectric layer, material type, and whether or not it is a via) defined for them so you must define these properties. See “Cleaning Up EM Layer Mapping” for more information.

Selecting Shapes

To select a shape, simply click it. To select multiple shapes, Shift-click the shapes. Alternatively, you can select multiple shapes by clicking outside of the shapes and dragging a selection box. To select a shape from amongst overlapping shapes, hold down the Ctrl + Shift keys and click the overlapping shapes multiple times until the correct shape is selected.

Editing Shape Properties

Select a shape in the EM structure, right-click and choose Shape Properties or choose Edit > Shape Properties. Click the Layout tab to edit shape properties such as the EM Layer and Material, and to switch between Conductor or Via. Change the mesh property on the Mesh tab. For more information about this dialog box, see “Properties Dialog Box: Layout Tab”.

Editing Shapes

Because the EM Layout Editor is the same as the Schematic Layout Editor, all of the schematic layout editing functionality is also available for EM layouts. For information on all of the edit commands available in layout Draw tools, see “Schematic/EM Layout Draw Tools”.

Trimming with EM Clip Region

See “Trimming with EM Clip Region” for more information.

Clipping Shapes in Schematic Layout and Creating an EM Structure

See “Clipping Shapes in Schematic Layout and Creating an EM Structure” for more information.

Moving Shapes to Different Layers

You can move selected shapes to different layers by clicking the Move Up or Move Down buttons on the toolbar. The material does not change.

10.1.7. Using Ports

Ports are required to define the external connections to the EM structure. See “Adding EM Ports” for details on adding and editing EM ports. Each simulator handles ports differently. (See “EMSight Ports ” for port specifics for EMSight, “AXIEM Ports ” for port specifics for AXIEM, and “Analyst Ports” for information about AnalystTM ports.)

10.1.8. Using a 3D Layout

The 3D layout of an EM structure is used for many things including:

  • Visually verifying what shapes will be simulated.

  • Visually verifying that the structure is correct in terms of shapes being conductors or vias.

  • Displaying many of the annotations for EM structures (such as mesh, current, and E-fields).

To open a 3D layout of an EM structure, first open the 2D layout of the structure by double-clicking it in the Project Browser. Next, with the 2D layout window active, choose View > View 3D EM Layout or click the View EM 3D Layout button on the EM Layout toolbar. You can open several 3D layouts of the same EM structure to view different annotations on different 3D layout views (for example, the mesh on one view and the current on a second view). To open additional 3D layouts, with the 3D layout window active, choose Window > New Window or click the New Window button on the Standard toolbar.

You can rotate the 3D view by clicking in it and dragging it. To change the viewing orientation, choose View > View From and choose an orientation such as bottom, back, left, or right, or use the corresponding toolbar buttons.

You can also change the view angle by pressing the Ctrl key while double-clicking in the layout window. The view you use is determined by where in the 3D layout window you click. The 3D layout window is first divided into two regions, as shown in the following figure.

The inner region outlined in red is the bounding box of the shapes for the 3D layout. The outer region is between the red bounding box and the window edge defined by the blue box.

The following figure shows the approximate areas within the inner region that define the view when you click in them.

The following figure shows the approximate areas within the outer region that define the view when you click within them.

The following figures show several different 3D EM Layout (AXIEM - Async) views for the same EM structure.

Ortho Top Left

Ortho Top Right

Top

Front

Left

10.1.9. Setting Frequencies

Each EM structure in the project has its own frequency range. In addition, the project also has a specifiable frequency range. You can use the project frequency range for an individual structure by selecting the Use Project Defaults check box on the Options dialog box Frequencies tab.

You can specify the project frequency range by double-clicking Project Options in the Project Browser and clicking the Frequencies tab. See “Project Options Dialog Box: Frequencies Tab ” for more information.

If the project frequencies are overridden, the EM structure is only simulated at the specified frequencies.

You can specify the EM structure's frequency range by selecting the EM structure in the Project Browser, right-clicking and choosing Options. The Options dialog box displays with a Frequencies tab. See “Options Dialog Box: Frequencies Tab” for more information.

If an EM structure is used in a schematic that has a different frequency range, or a measurement on the EM document requires another set of frequencies, these frequencies are interpolated or extrapolated from the specified frequencies using the options specified on the Interpolation/Passivity tab of the Project Options dialog box. See “Project Options Dialog Box: Interpolation/Passivity Tab ”for more information.

In the Options dialog box you can also set the meshing frequency for the simulation. You can select the Use Maximum Frequencycheck box to set the meshing frequency equal to the highest frequency in its set of simulation frequencies. Alternatively, you can specify the meshing frequency explicitly, although the meshing frequency entered must be greater than the highest simulation frequency. Not all simulators integrated via the EM Socket use the meshing frequency to determine the mesh. EMSight always uses the highest simulation frequency when determining the mesh and thus does not use the meshing frequency option. When using an alternative third-party EM simulator, you should consult the documentation provided by that vendor to determine if this option is used.

Advanced Frequency Sweeps

Some EM simulators have advanced frequency sweep capabilities, also called fast frequency sweeps and other names. The basic capability is a simulation mode where you specify the start and stop frequencies and the simulator determines the frequencies needed to obtain an accurate response. Each simulator has different capabilities. See the associated documentation for each solver for these capabilities. (See “Advanced Frequency Sweep (AFS) ” for AFS specifics for EMSight and “Advanced Frequency Sweep (AFS) ” for AFS specifics for AXIEM).

Exporting EM Structures

If exporting an EM structure for use in another project, NI AWR recommends that you set your frequencies on the EM structure rather than using the project defaults. If using the project defaults, the structure usually needs to be simulated again to get the proper response for the project frequencies.

10.1.10. Meshing

EM simulators must mesh the shapes in the structure for simulation. The mesh is critical for getting accurate answers and also for solving the problem in a reasonable amount of time. You can control EM structure mesh at the following three levels:

  1. Project level options that apply to all EM structures in the project .

  2. EM structure options that apply to only the current EM structure .

  3. Shape options that apply to only the current shape in an EM structure .

Each simulator has different controls and considerations for meshing. See the simulator-specific pages on meshing for more detail. (See “Conductor Meshing” for specifics for EMSight and “AXIEM Meshing” for specifics for AXIEM.)

10.1.11. Importing and Linking to EM Structures

The following sections discuss importing and linking to EM structures that have previously been exported, and importing GDSII/DXF as an EM structure.

While importing an EM structure, the simulator is automatically set to EMSight, however, you can change this after the import is complete.

Importing EM Structures

To import an existing EM structure (that was previously exported):

  1. Right-click EM Structures in the Project Browser, and choose Import EM Structure.

  2. In the dialog box that displays, locate the desired EM structure. EM structures have an .eml extension.

If the simulation of the structure was complete when the structure was exported, the simulation results are stored in the project. NI AWR recommends setting the frequency list local to the EM structure when exporting EM structures. If using the global frequency list, the imported project might have a different frequency list than the exported project, thus causing the EM structure to simulate again.

Linking To EM Structures

To link to an existing EM structure (that was previously exported):

  1. Right-click EM Structures in the Project Browser, and choose Link To EM Structure.

  2. In the dialog box that displays, locate the desired EM structure. EM structures have a .eml extension.

NOTE: When an EM structure is linked, the linked file must always be available for the project to read.

Importing GDSII/DXF as an EM Structure

You can directly import into an EM document GDSII/DXF that contains only one cell. If the GDSII or DXF file contains multiple cells, you should import the file as a library in the Layout Manager under the Cell Libraries node and then copy the shapes into the EM document as explained in “Defining Shapes by Copying Artwork”.

To import GDSII or DXF into an EM document:

  1. Right-click EM Structures in the Project Browser and choose Import GDSII or Import DXF. In the dialog box that displays, browse to the location of the GDSII or DXF file and click Open.

  2. Enter a name for the EM structure, select an available simulator from the list, choose an appropriate Initialization Option (see “New EM Structure Dialog Box”), and then click Create.

  3. If the project does not have corresponding drawing layer names for the layer names in the file, the NI AWR Design Environment software automatically creates these drawing layers. Click OK to accept this auto-generation.

  4. An EM structure window opens in the workspace, and the Project Browser displays the new EM structure and its subnodes under EM Structures.

  5. If you have proper EM mapping set up (see “EM Layer Mappings” ) the shapes are automatically mapped to correct EM layers. If you do not have EM mapping set up then you need to assign the material properties and EM layer for all of the shapes. See “Cleaning Up EM Layer Mapping” for more information.

10.1.12. Exporting EM Structures

NOTE: Importing an EM structure into another project using the Import Project command is generally more efficient than using the following export process. See “Importing a Project ” for more information.

To export an EM structure along with its Enclosure, dielectric stackup, and the material properties information so it can be simulated in other projects without any set up, right-click the EM structure in the Project Browser and choose Export EM Structure. The Save As dialog box displays. Specify where you want to export the EM structure and enter the file name under which you want to save it. This file can only be imported into the NI AWR Design Environment suite.

You can also export the shapes in an EM structure to any of the supported artwork file types. There are two ways to export, depending on how the EM structure is set up.

Exporting from Schematic Layout

If your EM structure is configured to use the drawing layers for your process, the simplest way to export the layout is to use the EM structure as a subcircuit in a schematic layout, and then export the layout for the schematic. You can determine if this approach works by placing an EM structure in a schematic and verifying that the layout shapes all draw on the proper layers. See “Exporting the Layout ” for more information about exporting a schematic layout.

Exporting from EM Layout

If your EM structure is not configured to use the drawing layers for your process you should export from the EM layout. This typically occurs if shapes are simulated using the EM properties (for example, EM layer and material) without worrying about the layer name. Another clue is that the drawing layer names for shapes in the EM structure begin with the "+" symbol. In this case, you should perform these steps to export the layout for the EM structure:

  1. Choose Options > Environment Options, click the Layout tab and ensure that Show EM Document's LPF is selected, then close this dialog box.

  2. Click on the Layout tab to display the Layout Manager, then double-click the LPF name for the EM structure you want to export. The LPF is listed under the Layer Setup node and has the same name as the EM structure with a "+" symbol preceding the name.

  3. Configure the proper export mapping (GDSII, DXF, Gerber, etc). See “Exporting the Layout ” for more information on setting up this mapping.

  4. Right-click the EM structure in the Project Browser, choose Export Layout, and select the file format.

A common problem is that the layer names can contain "+" symbols, which is not allowed in some other programs that read DXF files. To avoid this problem:

  1. When setting up the export mapping, provide layer names that do not use these characters.

  2. Choose Options > Layout Options, click the Export/LPF tab and select the Remove illegal chars in layer names check box.

10.1.13. Cleaning Up EM Layer Mapping

When generating EM structures by importing DXF or GDSII files or copying shapes from an artwork cell layout, typically the EM mapping needs to be corrected before simulation can occur. You should view the 3D layout of any EM structure to see all the shapes that currently have EM layer mapping. There are several ways to correct EM layer mapping after shapes are added to an EM structure so the shapes simulate with the proper physical properties.

Changing Shape Properties

Select the shape inside the EM document, right-click and choose Shape Properties. In the Properties dialog box, choose an appropriate EM layer and Material and specify whether it is a conductor or a via.

For many shapes:

  1. Right-click in the Drawing Layers pane and choose Show Shapes on Unmapped Layers to display all layers in your process. If a layer name displays a blue X in the first column, it does not have a mapping set up.

  2. Right-click in the Drawing Layers pane and choose Hide All Shapes to turn off the visibility for all of the drawing layers.

  3. Go through the drawing layers list and turn on each unmapped layer. For layers with shapes, select all the shapes in the layout (Ctrl+A), right-click and choose Properties to change the electrical properties for all the selected shapes.

The advantage of this procedure:

  • It is a simple use of the user interface to change the properties for a shape, especially when there are few shapes.

The disadvantages of this procedure:

  • Must be done per shape, so is difficult when there are many shapes.

  • Not guaranteed to map the shapes to a drawing layer in the current list. It uses a derived layer (beginning with a "+" character) if EM layer mapping does not exist for the properties set. This is acceptable if you do not use your EM structure as a subcircuit in a larger design and want the layout to be correct for your process.

  • Fixes the EM layer mapping for this structure only. If there are others you need to perform the same process again.

Changing EM Structures EM Layer Mapping

You can change the EM layer mapping for the EM structure as explained in “EM Layer Mappings”.

The advantage of this procedure:

  • It is very simple to change the EM layer mapping for each drawing layer.

The disadvantages of this procedure:

  • Fixes the EM layer mapping for this structure only. If there are others you need to perform the same process again.

Changing the Parent LPF EM Mapping

To change the Parent LPF EM mapping after creating the EM structure:

  1. Open the EM layer mapping from the LPF used to create the EM structure.

  2. Configure the EM layer mapping in this LPF. When complete, close the dialog box.

  3. Right-click the edited LPF and choose Update Dependent LPFs.

  4. In the dialog box that displays, select the EM structures to update and then click OK.

The advantage of this procedure:

  • Changes the EM layer mapping for the entire project, so other EM structures can use this same mapping.

The disadvantages of this procedure:

  • Can be difficult to perform, since editing the EM layer mapping in the LPF is more difficult because the dielectric layers and materials are not defined. You must type in the dielectric layer and materials exactly for this to function.

  • If you have multiple LPFs in your project or multiple EM layer mappings in an LPF, it can be difficult to know which one to update.

10.1.14. Disabling EM Structures for Simulation

To stop an EM structure from being computed, right-click the structure in the Project Browser and choose Toggle Enable EM Structure.

10.1.15. Forcing Resimulation

When an EM structure completes simulation, the results are stored in the structure until a change in the structure prompts it to simulate again. Under some circumstances, you may want to force the structure to simulate as if it were a newly created structure. To force resimulation, right-click the structure in the Project Browser and choose Force Resimulation or press the Shift key while clicking the Analyze button on the toolbar.

10.1.16. Using EM Structures in a Schematic

EM structures are added to schematics as subcircuits in the same way other subcircuits are added. The port numbers in the EM structure correspond to the port numbers of the subcircuit. When used as a subcircuit, the S-parameters of an EM structure are used in the schematic simulation. The layout for the EM subcircuit is generated from the EM structure layout by setting up EM mapping as explained in the “AWR EM Layout Environment”.

10.2. Configuring Stackup

An essential step in performing an EM simulation is definition of the physical Stackup of the structure. There are two places you can specify Stackup information:

  • Double-click the Enclosure node in the Project Browser under any EM structure.

  • Place a STACKUP block in a schematic or in the Global Definitions window and double-click the model. The STACKUP model is located in the Element Browser in the Substrates category.

The dialog box that displays has several different tabs. The common tabs are described in the following sections.

10.2.1. Material Definitions

The bulk material properties define dielectric, conductor, and impedance material properties. To specify the bulk materials properties, click the Material Defs tab on the ENCLOSURE Properties dialog box.

Dielectric Properties

Dielectrics define properties such as relative permittivity and loss tangent. The following table lists common dielectric substrate material properties.

Material Dielectric Constant Loss Tangent
Air 1.0 0
Alumina 9.8 <0.0015
Quartz 3.78 <0.0001
Silicon 11.9 ~0.003
Gallium Arsenide 12.9 0.001
RT Duroid(R) 5880 2.20 <0.0009
RT Duroid(R) 5870 2.33 0.0012
RT Duroid(R) 6006 6.15 0.0019

Conductor Definitions

Conductors define the conductivity of a material. The following table lists common conductor material properties.

Material Conductivity
Silver 6.14x107
Copper 5.88 x 107
Gold 4.10 x 107
Aluminum 3.53 x 107
Nickel 1.47 x 107

Impedance Definitions

Impedances define the resistive (low and high frequency) properties of a material. The Low frequency parameter specifies the DC resistance (ohms/square) of the planar conductor. The DC resistance is used, assuming there is a uniform current distribution in the cross-section of the conductor. The DC resistance is typically set to the following value where σ is the conductivity of the conductor and t is the thickness.

The high-frequency loss coefficient specifies the loss associated with the conductor at frequencies where the thickness of the conductor is significantly thicker than the skin depth. Since the loss associated with the skin depth effects are proportional to the square root of frequency, the skin depth loss coefficient is multiplied by the square root of frequency to provide an ohms/square value that is used for loss computations. The high-frequency loss coefficient is multiplied by a (1+j) factor to represent the equal real and imaginary components of the surface impedance that is associated with the skin depth phenomena. The high-frequency loss coefficient is given by:

At low frequencies, the DC resistance is used in the computation of conductor loss, while at high frequencies the high-frequency loss coefficient is used to compute conductor loss. In the transition region (frequencies where the skin depth is close to the thickness of the conductor) both factors are used.

The Excess surface reactance is used to model the reactance associated with superconductors. You should not use it for normal conductors.

For more information about the Material Defs tab on this dialog box, see “Element Options-(EM) ENCLOSURE Properties Dialog Box: Material Defs. Tab”.

10.2.2. Frequency-dependent Material Definitions

You can define several parameters in the STACKUP as equations to specify frequency-dependent parameters. The following parameters can be defined as a function of frequency:

  • Er

  • TanD

  • Ur

  • TanM

  • ResSq

  • React

Frequency-dependent Equations

You can define both frequency-independent and frequency-dependent equations in the STACKUP. Frequency-independent equations use the same syntax as equations defined elsewhere in the NI AWR Design Environment suite. See “Equation Syntax” for equation details. Note that frequency-dependent equations defined in the STACKUP have the following limitations:

  • _FREQ is the only variable that can be used in the equation.

  • Only global constants _PI and other constants defined using the built-in function constants() are supported.

  • Built-in math functions are supported, but other functions such as vector(), complex(), and swept() are not recognized.

  • Equations must be real. Complex equations are not supported, and the imaginary numbers "i" and "j" are not recognized.

  • Yield, tuning, and optimization are not supported since variables are not supported.

In order to simplify complex equations, the following functions are defined for the STACKUP element only:

STACKUP Function Description
rePole(reA,imA,reB,imB) Real part of (1/(A+B)) where A and B are complex numbers and reA and reB are the real parts of A and B respectively, and imA and imB are the imaginary parts of A and B respectively.
imPole(reA,imA,reB,imB) Imaginary part of (1/(A+B)) where A and B are complex numbers and reA and reB are the real parts of A and B respectively, and imA and imB are the imaginary parts of A and B respectively.
reLog(reA,imA) Real part of the natural logarithm of A where A is a complex number and reA is the real part of A and imA is the imaginary part of A.
imLog(reA,imA) Imaginary part of the natural logarithm of A where A is a complex number and reA is the real part of A and imA is the imaginary part of A.

Specifying Frequency-dependent STACKUP Parameters

To specify a frequency-dependent material parameter, enter the frequency-dependent equation in the parameter field in the STACKUP. For example, you can enter the equation 3.8 + 0.05*(reLog(1.6e11,_FREQ)-reLog(1.6,_FREQ)) for Er.

Frequency-dependent parameters can only be defined as a real equation that is a function of _FREQ. If a parameter is specified as a table of values versus frequency, the table of values must be curve-fitted to an equation.

Verifying Stackup Values

NI AWR recommends that the frequency-dependent equation also be implemented as an output equation that is plotted to a graph to verify the frequency response of the equation. Furthermore, after AXIEM simulation, the Status Window includes a link to open a text file with the naming convention ProjectName_DocumentName_FreqMatlParams.txt. This file contains a table of parameter values versus frequency used in simulation. You can copy and paste the contents of the file directly into a new text data file, and plot it to a graph using the PlotCol measurement. The column headers in this file are already set up appropriately for plotting. A similar text file is also provide for Analyst simulations.

10.2.3. Dielectric Layers

The stackup must contains a minimum of two dielectric substrate layers. The following figure shows a 3D view of a multi-layer structure.

Often the top dielectric layer is set with the properties of air (or a vacuum), although this is not necessary. There is no practical limit on the number of dielectric layers that can be included in the Enclosure. The height of the Enclosure is the sum of all the dielectric layer thicknesses.

To enter the substrate layers, click the Dielectric Layers tab on the ENCLOSURE Properties dialog box. To insert a dielectric layer click Insert to add new layers below the selected layer, or Delete to delete the selected layer.

The boundary conditions for the top and bottom of the Enclosure are user-defined.

You can also edit the top and bottom boundary settings on this tab.

For more information see “Element Options-(EM) ENCLOSURE Properties Dialog Box: Dielectric Layers Tab”.

10.2.4. Conductor Materials

The materials properties defined on the Material Defs tab are assigned to conductors on the Materials tab. Click the Materials tab to specify a conductor name. Each conductor is assigned one of the named materials from this dialog box. You can always use the default conductor "Perfect Conductor" (a perfect conductor material) for a material property.

For a conductor, the thickness only affects the loss characteristics if the material is defined as a conductor on the Material Defs tab. Impedances already define their loss characteristics.

You can set a conductor thickness as negative so that the corresponding shape is formed by extruding toward the bottom boundary. The structure is still physical and the real conductor has a positive thickness.

For more information see “Element Options-(EM) ENCLOSURE Properties Dialog Box: Materials Tab”.

10.2.5. EM Layer Mappings

EM layer mapping determines how the shapes in an EM layout are used in EM simulation. It also determines the visibility of the EM structures when used in a schematic layout. There are three common use models:

  • EM simulation, but not using the EM structure in a schematic layout. In this case, EM layer mapping does not apply. When drawing shapes in EM layout, you set the EM layer and material for each shape and the software manages the EM layer mapping.

  • EM simulation, and also using the EM structure in layout. The EM layer mapping is necessary to create the connection between the drawing layer name in the schematic layout and the physical EM properties for shapes on that layer. In this model you can use the EM structure as a subcircuit in schematic layout, and make it display properly.

  • Extraction flow requires EM layer mapping since the shapes in schematic layout use drawing layers. EM layer mapping determines how the shapes in a schematic layout are sent to the EM structure and simulated during the extraction process.

Note that in a 3D view of the EM structure you only see shapes that have EM layer mapping configured.

There is a slight difference between editing these properties from the Enclosure node of an EM structure and editing the Active EM Mapping and LPF Name on the EM Layer Mapping tab of the Element Option: STACKUP dialog box. The EM structure Enclosure does not need to set either of these properties because the mapping is stored in the EM structure. The STACKUP block sets up EM structures based on the EM Layer Mapping tab settings. Since a project can have more than one LPF (although not commonly) and each LPF can have more than one EM layer mapping setup, the STACKUP block allows you to select which mapping you want to set up. It is the same whether you set up the EM layer mapping in the STACKUP block or in the LPF. NI AWR recommends using the STACKUP for several reasons:

  • The values for the Material are included in a drop-down box because they are already defined. When editing in the LPF directly, you must type in these names exactly.

  • You can visualize in the cross-sectional view where the mapping places the conductor or via in the physical stackup. The LPF editor does not define a stackup, so you don't have this visual.

For more information on the EM layer mapping of an EM structure, see “Element Options-(EM) ENCLOSURE Properties Dialog Box: EM Layer Mapping Tab”. For more information on the EM layer mapping of a STACKUP block, see “Element Options-(Schematic) STACKUP Properties Dialog Box: EM Layer Mapping Tab”.

10.2.6. Line Type Mapping

Line type mapping is used for the shapes defined by line types, and is typically only used for extraction. Line Type mapping addresses common situations such as when an object in layout needs to be drawn with many layers for processing purposes, but only needs to simulate as one shape in EM structures. For example, a plated line in a Monolithic Microwave Integrated Circuit (MMIC) process, where the line typically consists of a bottom metal, a dielectric etch layer, and a top metal layer. In EM structures, this line is more efficient to simulate as only one shape.

When drawing shapes in an EM structure, you can tell shapes to use Line Types (this is not very common). See “Drawing Shapes by Line Types”. Line type mapping defines how this line type is simulated.

During the extraction flow, some items in schematic layout use line types that include line models such as microstrip lines and stripline, and any shapes drawn in layout with the Use Process Layer option selected. Extraction only uses Line Type mapping if Extract_LineTypes on the EXTRACT block is set to "Yes". If set to "No", all of the different shapes for any objects using line types are flattened in the EM layout and only EM layer mapping is necessary.

For more information see “Element Options-(EM) ENCLOSURE Properties Dialog Box: Line Type Tab”.

10.2.7. EM Layer Mapping vs. Line Types

Each STACKUP element has an Element Options: STACKUP dialog box with EM Layer Mapping and Line Type tabs, both of which you use to define the physical properties (conductor properties, conductor location in STACKUP) used for EM simulation. Each simulator type and situation differs. Only EM simulators use EM Layer mapping. The ACE simulator only uses Line Type mapping. EM simulators use Line Type mapping if the EXTRACT block Extract Line Type parameter is set to "Yes". If Line Type mapping is set, but EM Layer mapping is empty, EM simulators use Line Type mapping when the EXTRACT block Extract Line Type parameter is set to "No". This is because in this case it flattens the shapes using Line Types into dumb polygons for the EM structure, and these polygons are mapped to existing drawing layers.

10.3. Adding EM Ports

Ports are used to model the input and output terminals of EM structures. The physical representation of the port, and the method by which the port is excited is dependent on the EM solver. See “AXIEM Ports ” and “Analyst Ports” for details on how each solver models the following EM ports.

The Draw menu includes commands for adding ports, and the EM Layout toolbar contains buttons for adding EM ports. Not all simulators support all port types; the command or button is grayed out when the port type is not supported.

You can quickly add ports in succession by first enabling command repeat mode before using an Add Port command. When in command repeat mode, a new port is added with each mouse click until you exit the mode.

Port numbering is automatic; the port numbers increase as you add ports. To change a port number, double-click the port to open the Properties dialog box and edit the Port Number. See “Editing EM Ports” for more information about editing port properties.

10.3.1. Adding Edge Ports

Edge ports are added to any edge of a conductor.

To add an edge port, choose Draw > Add Edge Port or click the Edge Port button on the EM Layout toolbar. Move the cursor over any side of any shape and an outline of the port displays. Click to place the port.

To move an edge port, select it and drag it to another edge on the same shape. The outline of the port displays. Release the mouse to place it on that edge.

10.3.2. Adding Point Ports

Point ports are small ports added to the centroid of any conductor.

To add a point port, choose Draw > Add Point Port. Move the cursor over any shape and an outline of the port displays. Click to place the port in the center of the shape. You can also add point ports to multiple shapes at once by selecting more than one shape and choosing Draw > Add Point Port.

10.3.3. Adding Internal Ports

To add an internal port, select the polygon that you want to be the negative terminal for the internal port, then choose Draw > Add Internal Port. Move the cursor onto the edge of the polygon where you want the port (an outline of the port displays) and click to place the port. The positive terminal of the internal port displays a "+" sign as shown in “Internal Port Example”. This example also shows how to properly wire schematics that use an EM structure with an internal port. Note that you cannot add reference plane extensions to internal ports.

10.3.4. Creating Ports from Subcircuits

You can auto-add ports to EM subcircuits by selecting the subcircuits and choosing Draw > Create Ports from Subckt. EM ports are automatically added at all possible locations. If the subcircuit already has some ports attached, this command adds ports at all remaining locations. If the original EM structure contains differential ports, this command also adds differential ports to subcircuit instances of the EM structure. All other port attributes or groupings in the original EM structure are not included with the ports added to the subcircuit instance. This command only adds ports to locations defined one level down in hierarchy; it cannot add ports to locations defined down multiple levels of hierarchy.

10.3.5. Setting Reference Planes

To set the reference plane of a port, select the port, click the reference plane highlighted at the flush end, and drag it with the mouse. The arrow shown in the following figure displays, the end of which defines the new reference plane. If the reference plane coincides with the port edge, the arrow is not visible. You can also type in the exact physical distance you want for your reference plane. Double-click the port to open the Properties dialog box and change the Ref. Plane Distance.

10.3.6. Setting the Port Excitation or Termination

The computation of the port parameters does not depend on the excitations or terminations at the ports, however, the current annotations depend on these settings. To set the port excitation or termination, double-click the port to display the Properties dialog box.

You can specify the port as an excitation or termination port. For an excitation port, you can set a relative magnitude and angle for the port excitation along with the source impedance. Note that the magnitude of the excitation is described by an available power, meaning that if the port is conjugate-matched to the specified impedance, the specified amount of power enters the structure.

For a termination port, you can specify the resistance and reactance of the termination. The ability to solve for the currents in the structure with terminations on the ports allows the current animation to show the waves traveling through the structure (the usual short-circuit solution only shows a standing wave of the currents in the structure). Specifying the excitation or termination at a port only affects the current animation. Electrical port parameters (for example, S-parameters) assume a port impedance of 50 ohms. To change the reference impedance of the network parameters, place the EM structure as a subcircuit in a circuit schematic and edit the port impedance.

10.3.7. Editing EM Ports

You can edit various port properties after placing the port in the layout. To edit the properties of a single port, double-click the port in the EM layout to open the Properties dialog box. See “Port Attributes Dialog Box” for more information.

A common mistake is that the Excitation and Impedance settings on this dialog box only apply to viewing currents. The S-parameters generated from the simulation are not affected by these settings, they always use a 50 ohm reference impedance.

You can select multiple ports to edit all of the selected port's properties at the same time. You can also restrict selection to just ports by right-clicking and choosing Restrict Selection from within an EM layout.

Click the Check All button and then clear the EM ports option to filter the selection.

You can also display all of the properties for the ports in your EM layout. With an EM layout window active, choose Edit > Port Properties to display the EM Ports Properties dialog box. (If there is only one port in the layout, the Properties dialog box displays for just that port.)

You can change all of the port properties in this dialog box. With the dialog box open, position it so you can see the EM layout. When you select a property for any of the ports, the EM layout automatically highlights the port in blue and magnifies it for easy identification.

When you add a port, it is assigned the next highest number available for that document. When you simulate, the ports must be sequential. You can make ports differential by setting negative port numbers. See “Differential Ports” for examples. When you edit port numbers, they may no longer be sequential. The same thing can occur if you need to delete certain ports. You can choose Edit > Re-number Ports to renumber the ports so they are sequential. This operation only changes the port numbers that are not sequential; it does not change all of the port numbers in the EM layout. If you have defined multi-terminal ports or differential ports, this command renumbers any ports with the same number to have the same new number.

10.4. Parameterizing EM Structures

The NI AWR Design Environment software has powerful techniques to parameterize EM structures that enable the following capabilities:

  1. Generating an EM-based model by sweeping many geometries of an EM structure.

  2. Generating an EM-based model by simulating only the geometries needed in your design.

  3. Optimization of an EM structure without using the extraction flow.

  4. Yield analysis of an EM structure without using the extraction flow.

There are three different techniques available to fully parameterize an EM document including:

  1. Defining variables in a STACKUP and using equations to parameterize any of the dielectrics or materials used in the EM structure.

  2. Using shape modifiers to parameterize the layout geometry in the EM structure.

  3. Using pCells to parameterize the layout geometry in the EM structure.

Parameterization is only available for AXIEM and Analyst EM structures. See “Shape/Layer Modifiers” for details on parameterizing EM structures.

10.4.1. EM Schematic

With the advanced parameterization of EM structures, the concept of an EM schematic is important. Each EM document also has an equivalent schematic view. Typically you do not need to access this schematic. However, for parametrization, the EM schematic can greatly simplify the process of parameterizing a geometry.

To access the EM schematic, make your EM layout active and then click the View EM Schematic button on the EM Layout toolbar.

An unedited EM schematic has the following basic components:

There is one ENCLOSURE block, one STACKUP block and one port for each port in the layout. If the document was created from extraction, there is also an EXTRACT block in the schematic.

You can edit the ENCLOSURE and STACKUP blocks in the same way that you edit the Enclosure block, by double-clicking it under the EM document name in the Project Browser. Only one ENCLOSURE and STACKUP model must exist or an error is issued.

Ports are automatically added to the schematic when you add ports in the EM layout. You should not add, remove, or edit ports from the EM schematic. You should always add ports to your EM document in the layout. When you add pCells on an EM schematic, you do not need to wire-up the ports to any location. The port locations are known by their placement in the Layout View and the numbers of the ports in the Layout and Schematic Views.

You can add and wire together models on an EM schematic, just like a circuit schematic. Before an EM document is simulated, it snaps together all the layout objects that are wired together in the EM schematic. Subcircuits can also be added, even if the subcircuit is another EM structure (in which case only the layout is used). In this mode, you can disable the EM structure that is the subcircuit so it does not simulate as a stand-alone EM document.

You can add equations to the EM schematic or the EM layout. Equations are processed in the following order, where each level can look below in the order listed, but cannot look above:

  1. layout

  2. schematic

  3. global

The entire set of equations is resolved (global, schematic and then layout) to get the final values for each variable, and then those values are used when assigning values to elements in the EM schematic.

For example, if you have an equation "x=2" in the layout and "x=3" in the schematic, the value "2" is used anywhere that variable is assigned to an element in the EM schematic. Another example is to define "a=2" in the layout and "b=3" in the schematic. The layout could use the equation "c = b + a" and both a and b would have values. You could not use this equation in the schematic since "a" was defined in the layout.

10.4.2. Parameterizing EM Documents

In order to parameterize any of the dielectric or conductor properties, you assign variables to fields that you would normally use numbers in when setting up the STACKUP for your EM structure. For example, see the following figure where the Er value for the dielectric layer "Alumina" is set to a variable named "Er".

The variable names used must exist either in the EM layout (choose Draw > Equation) or in the EM schematic (see “EM Schematic” for details on using the EM schematic). After you define the variable, you can use the variable properties to specify yield or optimization settings for that variable.

In order to parameterize the geometry of the EM document, you can use shape modifiers, pCells, or a combination of both. Using pCells is typically much simpler if a pCell already exists to draw the proper geometry. For example, parameterizing a spiral inductor could require many shape modifiers to fully parameterize the layout. A fully parameterized pCell already exists in the NI AWR Design Environment software, however, to do all this work for you.

To use pCells to parameterize the geometry of the EM document, you add models with layout to the EM structure and let the layout system build up the layout. There are two basic use models to consider:

  • You can add pCells directly to the EM layout. With the EM layout window active, click and drag any element from the Element Browser. Only items with layout display. Alternatively, you can click the Element button on the toolbar to display the Add Circuit Element to Layout dialog box and filter elements to show only those with layouts.

    After adding a pCell, you can right-click and select element properties to change the parameters of the pCell.

    Each element added is not connected to the others; if you want the layout system to connect elements and snap layouts together, the elements must be wired in the EM schematic.

  • You can build up the EM schematic the same way you build a schematic (see “EM Schematic” for details). Only the model layout is used to generate the geometry for the EM simulation. The electrical model is not used for anything in this mode. The schematic is used so models can be wired together and snapped together when parameters change, as well as being able to use the model parameters to parameterize the geometry.

For AXIEM to work with pCells, the Model as linetype option on the Options dialog box Layout tab must be cleared (off) for individual EM documents.

Instead of using pCells, you can use shape modifiers to perform the parameterization for you. See “Shape/Layer Modifiers” for details on using the shape modifiers.

When using both pCells and shape modifiers, the shape modifiers move shapes first and then the layout snapping occurs. You may need to anchor certain pCells to get snapping to work correctly.

A good example of using both pCells and shape modifiers is building a parameterized coupled bend model where you can fully parameterize the width, angle, and spacing of the coupled bends. One approach to doing this is to use pCells to generate the bends and lines feeding up to the bend, and a shape modifier to control the spacing between the individual lines. The following figure shows an EM schematic that has pCells wired up correctly, and equations to do the proper model parameter adjustments.

The layout has the objects in the right locations, and a spacing modifier to properly add the right spacing.

10.4.3. Using Parameterized EM Documents

After an EM document is parameterized, there are various ways you can use the document:

  • EM optimization: Directly optimizing an EM structure's geometry.

  • EM yield: Varying an EM structure's parameters to see performance variation.

  • User-defined EM models: Sweeping the geometry of an EM structure to generate a parameterized circuit model.

  • On-demand simulation: Simulating a specific EM geometry when needed from a circuit schematic.

EM Optimization

After an EM structure is parameterized, EM optimization is identical to any other optimization in the NI AWR Design Environment suite. See “Optimization” for details on using optimization.

When EM optimization is performed for any EM type that supports parameterization, all of the results are written into data sets, one data set per iteration. See Data Sets for details. Data sets operate slightly different during EM optimization. In the following figure the top result in green is from the best iteration. Each of the data sets shown are from an iteration of the optimization.

EM Yield

After an EM structure is parameterized, EM yield is identical to any other yield analysis in the NI AWR Design Environment suite. See “Yield Analysis” for details on using optimization.

When EM yield is performed for any EM type that supports parameterization, all of the results are written into data sets, one data set per iteration. See Data Sets for details. Data sets operate slightly different during EM optimization. In the following figure the top result in green is from the simulation at the nominal values. Each of the data sets shown are from an iteration of the yield analysis.

User-defined EM Models

In user-defined EM models the geometry of an EM structure is swept to generate a parameterized circuit model. In this mode, each sweep value is EM-simulated and the data is stored. You can then use the EM structure as a model in a circuit schematic. The EM subcircuit has the parameter values of the parameters swept in the EM document. You can either use the discrete points simulated in the sweep, or interpolate between the swept points.

To set up a user-defined EM model, you must first have a parameterized EM structure. From the EM schematic (see “EM Schematic” for details), you add SWPVAR blocks the same way you would set up swept variables for other simulations. See “Creating a Sweep with Variable Sweep Control (SWPVAR)” for information on setting up the swept variable. Part of setting up swept variable analysis is defining a variable. The variable should use the "=" operator and not the "<<" operator. Any variable that is swept is automatically available as a parameter when the EM structure is used as a subcircuit in a schematic. The following figure shows an example of the EM schematic of a simple stub network set up to parameterize the length of the stub, where pCells are used to create the parameterized geometry and the geometry is swept.

Before you simulate the swept EM document, right-click the document in the Project Browser and choose Preview Geometry. The Preview Swept Geometry dialog box displays as follows to allow you to preview the geometry at each sweep point and ensure the parameterization is as expected.

When this dialog box is open, the EM structure 2D and 3D layouts display the sweep values selected. Click the Show Next button to move through all of the geometries listed. You can also zoom, pan, measure distances, and perform other operations in the EM layout. After you are satisfied with the geometry, you can simulate this structure to get one data set for the EM structure that contains all of the results. To see all sweep points for the structure, right-click the data set and choose View the Data Set Geometry to display the Show Geometry in dialog box.

When the simulation is complete, you can use the EM structure in a schematic by adding it as a subcircuit. When this subcircuit is added, any of the variables that were swept now display as parameters of the subcircuit. By default, the available values are the discrete list of swept values simulated.

You can enter any value and interpolate between the simulated points by choosing Options > Default Project Options to display the Project Options dialog box, clicking the Interpolation/Passivity tab, and selecting Enable parameter interpolation. You can set this option globally, or just set it locally for individual EM structures by selecting the same option for the EM structure. Once parameter interpolation is enabled, the subcircuit parameters allow you to specify any number for the parameter, as shown in the following figure.

Note the following when using user-defined EM models in a schematic:

  • Ensure the frequencies simulated for the EM structure cover the entire frequency range needed for the circuit simulation, including DC and harmonics if performing nonlinear simulation.

  • When interpolating, the schematic layout for this subcircuit also uses the interpolated value.

  • You cannot extrapolate beyond the extremes of the swept parameters.

  • When interpolating, you can check the accuracy of an interpolated part by using extraction to EM-simulate the exact value you are using by setting up the EM subcircuit to extract.

After you create a user-defined EM model, you can use the model in other projects. The best way to do so is to use the project import feature (see “Importing a Project ” for details) to import the EM document and its corresponding data set into the new project. When using project import, some settings need to match between the two projects, including project units and several layout options. Project import does not work if the layout units are different between the projects (for example, mils versus mm or um). There are other layout settings that a project import may report as not matching, however they are not critical. Ideally the settings match, but if not, you can inspect your user-defined EM model in the project into which it is imported.

The following procedure is the suggested flow for sharing user-defined EM models between projects.

  1. In the original project, lock the EM structure by right-clicking the EM document and choosing Options, and then clicking the Locking tab on the Options dialog box. Select Do not allow editing to prevent accidental edits that force the entire resimulation of the EM.

  2. In the new project, choose File > Import Project. In the Import Project dialog box, select the NI AWR Design Environment project that contains the user-defined EM model and then click Open.

  3. In the Import Project dialog box you MUST select the EM document and the matching data set as shown in the following figure.

    After your selections click OK to import the user-defined EM model into your current project.

On Demand Simulation

In On Demand simulation the geometry of an EM structure is parameterized, and then the variables used to parameterize are passed up from the EM document to the schematic. When you use this EM subcircuit in a schematic, the EM simulation occurs when the schematic is simulated at the parameter values the designer sets. Only new geometries not previously simulated are simulated. This mode is different from the user-defined EM models in that the EM simulation only occurs when the schematic requests it; whereas user-defined EM models do allow simulation before being used in a schematic.

To set up an On Demand simulation, you must first have a parameterized EM structure. From the EM schematic (see “EM Schematic” for details) or layout, you need to assign to a variable any parameter that should passed to the schematic. This variable then needs to be passed up through hierarchy by defining the variable with the << syntax. For example, if you assign X to some parameter, you then bypass it by defining an equation of the form X<<10, where 10 is the default value of the passed up parameter.

When you define an EM structure to pass up parameters, the EM structure itself does not simulate with the default values. It only simulates when used in a schematic.

The following figure shows an example of the EM schematic of a simple stub network set up to parameterize the length of the stub, where pCells are used to create the parameterized geometry and passing up the parameterization value.

When you use this EM structure in a schematic as a subcircuit, the passed up parameters display as parameters, then each unique parameter set in the schematic is simulated. For example, see the following schematic.

In this case, when this schematic is simulated, two versions of the EM document are simulated: one with L=199 and the other with L=233. Notice that there are two subcircuits with L=199. Once the simulation is complete for L=199, any other instances using the same geometry can use the previously simulated data. Each unique instance has its own data set, as shown in the following figure.

Both data sets display with green, indicating that they are current. In this mode, an EM document can have many current data sets.

When simulation occurs, the EM structure simulates at the frequencies specified by the EM structure, not the schematic. You therefore need to ensure that the frequencies simulated for the EM structure cover the entire frequency range needed for the circuit simulation, including DC and harmonics if performing nonlinear simulation.

10.5. EM Annotations and Cut Planes

Annotations are results that are viewed directly on the EM structure layout, 2D layout, or 3D layout, including:

  • Mesh for both 2D and 3D layouts.

  • Visualizing currents on the conductors.

  • Visualizing electric fields for the entire structure.

The following information applies specifically to EM structures that use EMSight, AXIEM or Analyst as the EM solver. If you specify a third-party solver, you should check the vendor documentation for details on the method(s) used for EM simulation.

Cut planes are a way to "cut" the 3D layout of an EM structure to better see the structure internally.

To add an annotation to an EM structure, right-click the EM structure in the Project Browser and choose Add Annotation or click the EM Annotation button on the toolbar to display the Add EM Structure Annotation dialog box.

Click the Meas Help button to view the Help for the selected annotation. NOTE: For simulators that extract equivalent circuits (such as ACE and Net-AN), you can view the extracted values on the EM structure using the CKT_EXT3D annotation located under the ERC measurement type.

The following are examples of a mesh, current, and e-field annotation from the EMSight simulator.

10.5.1. Mesh Annotations

Viewing the structure mesh provides you with a good indication of the complexity of a problem, and whether or not you might have accuracy issues. You should always view your mesh before simulating. There are two mesh annotations:

  • EM_MESH_2D: A mesh viewed in the 2D layout of the structure.

  • EM_MESH: A mesh viewed in the 3D layout of the structure. Cut planes affect this mesh annotation. This 3D mesh has some advanced features to help diagnose your circuit, as discussed in the following section. You should use this annotation with thick metal to better see which shapes are using thick metal.

A common EMSight mistake is not selecting the Synchronize Mesh check box on each of these annotations. With this option off, the mesh does not update when you edit your geometry. You can select this option for small structures when the mesh time is very small, so you can make edits and the mesh updates quickly. For large structures where the mesh time is long, you should not select this option. This allows for many edits and an update of the mesh only when you close and reopen the view of the structure. This setting does not apply to AXIEM.

EM_MESH Features

Unique features of the EM_MESH annotation are the Opacity and Color Key options. Opacity controls the transparency of each layer. For example, see the following 3D figure of this via transition.

With the Opacity set to 0, the shapes have no color; only the mesh displays.

With the Opacity set to 0.5, the shapes are partially transparent, so you can see the mesh and all the shapes through the 3D structure.

With the Opacity set to 1, the shapes are filled solid so you can only see the top shapes from the angle from which you are viewing the structure.

The Color Key controls how the shapes get their color in the 3D view. There are two options, Material and Net ID. For Material, every shape using the same defined conductor types has the same color. In this example, all shapes use the same conductor.

For Net ID, every shape physically connected has the same color. In this example, the ground plane and the signal line are not connected, so they display in different colors.

The Net ID is a good check to ensure that your structure is connected as desired. For example, in the following annotations, the first structure has a via connecting the two rectangles, and therefore they are the same color. The second structure has no via, thus no connection, and the shapes are shown on different nets (different colors).

10.5.2. Cut Planes

Cut planes provide an easy way to look inside a structure to see the mesh or current flow. They work with any EM document 3D view and cut the layout shapes, the EM_MESH annotation, and the current and E-field annotations.

To turn on a cut plane click the Use Cut Plane button on the EM 3D Layout toolbar.

The following figure shows the cut plane with just the EM structure geometry at one location.

The following figure shows the cut plane moved closer to the center of the structure.

You can edit the cut plane location with the following operations:

  • Change the cut plane axis with keys x,y,z.

  • Flip the cut plane axis with keys Shift + x,y,z.

  • Drag the cut plane to move its location.

  • Drag the cut plane arrow to rotate the plane.

The following is an example of the cut plane being used with the EM_MESH annotation.

The following is an example of the cut plane being used with the EM_CURRENT annotation.

10.5.3. Current Animation & E-field Visualizations

EMSight and AXIEM provide both qualitative and quantitative information for analyzing EM structures. While measurements and graphs are great for quantifying performance, it is the current animation and E-field visualization features that can provide the most insight into the behavior of structures.

Current Animation

In the 3D layout of a structure, you can view the current distribution found during the solution process. The graphical display of the current distribution provides a visualization of the vector current distribution. Arrows indicate the direction of the current flow, while the color and the arrow size indicates the magnitude. The lighter colors (yellow) represent the higher magnitude and the darker colors (blue/black) represent the smaller magnitude. A toolbar also provides the current density values.

Viewing the Current Distribution

To view the current distribution in 3D, right-click the EM structure name in the Project Browser and choose Add Annotation. Choose the EM_CURRENT measurement located under the Planar EM measurement type.

Click the Meas Help button to view the Help for the selected annotation.

Animating the Current Distribution

To animate the current distribution in the 3D view, click the Animate Play button on the EM 3D Layout toolbar after the solution is completed. When the animation first starts it creates a set of frames (this step appears as a slower animation). After the frames are created, the animation automatically starts by cycling through the frames. On the Current View tab in the Options dialog box you can set the number of frames used per cycle for the animation.

Pausing the Animation

To pause the animation to view a single frame, click the Animate Pause button on the EM 3D Layout toolbar.

Stopping the Animation

To stop the animation click the Animate Stop button on the EM 3D Layout toolbar.

Selecting the Animation Frequency

When more than one frequency point is specified when solving an EM problem, the frequency used for the animation is controlled in the Edit EM Structure Annotation dialog box by selecting the animation frequency from the Sweep Freq list of frequencies.

NOTE: If using the AFS feature for EM, this frequency selection is not accurate because the simulation frequencies are unknown before simulation occurs. In this case, you should make a duplicate EM structure and only simulate a few frequencies without AFS enabled, where you want to view the currents.

Viewing Animation Versus Phase

When you first view currents, if you open the tuner, you can tune over the source phase. The number of tune states is set by the number of frames per cycle set on the Current View tab of the EM Options dialog box or the (local EM structure) Options dialog box.

Terminations and Excitations

EMSight and AXIEM allow you to specify the magnitude and phase of the port excitation. You can visualize the current distributions that arise from different modes of operation by specifying the relative phases of different ports.

Any port can be either a port excitation or a termination. For terminated ports, you can specify the termination impedance. The specification of the terminations and excitation only affect the animation and not the S-parameter solution. The solution that is used to compute the S-parameters uses short-circuited terminations. The current solution for short-circuited terminations is a standing wave. To visualize how the currents flow through a structure, the solution of the structure with loaded terminations must be computed. By default, EMSight and AXIEM compute the current solution for the loaded terminations in an extra step after the S-parameters are already determined. This extra step takes very little time, however, you can disable it for EMSight by clearing the Compute loaded currents check box on the EMSight tab of the EM Options dialog box or Options dialog box.

E-field Visualization

Currently, E-fields are only possible in EMSight, not AXIEM.

The tangential electronic field (E-field) can also be computed in addition to current distributions. E-field animations are viewable in 3D views of the structure. The graphical display of the E-field provides a visualization of the tangential E-field in any XY plane. Arrows are used to indicate the direction of the field, while the color and the arrow size indicate the magnitude of the voltage. The lighter colors (yellow/green) represent the higher magnitude and the darker colors (blue/black) represent the smaller magnitude. A toolbar also provides the E-field density values.

Unlike the current animations, E-field simulations increase simulation time.

Viewing the E-field Distribution

To view the E-field distribution in the 3D view, right-click the EM structure name in the Project Browser and choose Add Annotation. Choose the EM_E_FIELD measurement located under the Planar EM measurement type.

Click the Meas Help button to view the Help for the selected annotation.

The E-field is only calculated for the layer specified in Layer Number. You cannot view the E-field for the top or bottom of the Enclosure if that boundary condition is using Perfect Conductor. NI AWR recommends using the Approx Open boundary condition for viewing the E-field on the top or bottom. See “Element Options-(EM) ENCLOSURE Properties Dialog Box: Dielectric Layers Tab” for more information.

Viewing and Animating the E-field

All of the same options for viewing and animating currents are available for E-fields.

10.6. In-situ Measurements and Annotations

In-situ measurements are performed on an EM structure where the excitation for the simulation is provided through another mechanism other than the port settings in the EM structure. For example, if you view currents or antenna patterns of EM structures you must set the port power, phase, and impedance of the ports and the results of the simulation correspond to how the port is configured. With in-situ measurements you can run the EM simulation and then you can plot the currents or antenna measurements/annotations where the source is provided through a schematic. This allows you to view current and/or antenna information for different excitations without having to resimulate the EM structure.

Further functionality is enabled by parameterizing components in excitation circuits and allowing tuning or optimization of these component values using the antenna patterns or currents as goals. This process all occurs with a single simulation of the EM document.

For example, consider a 64-patch antenna array as shown in the following figure, zoomed in on a few of the elements.

AXIEM or Analyst solvers are used to simulate the characteristics of the array. The excitation schematic consists of a power dividing network, phase shifters, and attenuators which have been parameterized to steer the radiation pattern to a specified direction with a specified amplitude taper. The result is that you can view the antenna characteristics via measurements/annotations given the current state of the excitation circuit. For example, the radiation pattern show in the following figure is a result of an excitation circuit steered to bore-sight (Theta = 0 deg).

Modification of the parameters of the excitation circuit (the schematic) to steer the radiation direction to Theta = 45 deg, Phi = 135 deg modifies the phase of each element resulting in the following radiation pattern.

Note that the resulting radiation pattern is calculated without resimulating the EM structure, so the tuning on the excitation parameters occurs in near real time.

10.6.1. In-Situ Current Animation

The EM_CKT_CURR annotation is an “in-situ” annotation, meaning that the EM document is simulated “in place” and includes the interaction of the EM simulation with the circuit surrounding it. The EM documents are instanced as subcircuits in a schematic. This annotation displays current contours and arrows to represent current flow on conductors in the 3D view of the EM document due to sources in the schematic. Both the current contours and arrows can be animated in time to show the current flow.

In addition to the restrictions in “Limitations/Restrictions of In-situ Measurements/Annotations”, in-situ current measurements can only be used with the AXIEM EM simulator.

To access the EM_CKT_CURR annotation to display currents on EM structures:

  1. Create an independent AXIEM EM structure and make sure it simulates as expected with the desired ports and grounds.

  2. Instance the EM structure as a subcircuit in a schematic. The schematic must have at least one single-tone source (for example PORT1, not shown) driving it.

  3. Properly set up the EM_CKT_CURR measurement to identify the schematic, the EM structure, the subcircuit ID and the desired view number (if more than one 3D layout window is open).

  4. Choose the desired Sweep Freq. properly. It must be explicit in both the schematic and the EM structure frequency lists.

  5. Open the EM structure and view the 3D layout.

  6. Simulate the structure. The current contours and arrows display in the 3D layout window.

10.6.2. In-situ Antenna Measurements and Annotations

There are multiple in-situ measurements/annotations for antennas, including an annotation for the 3D antenna pattern and all of the antenna measurements. These measurements include the iteration of the EM simulations with the circuit surrounding it where the EM documents are instanced as subcircuits in a schematic.

The annotation displays the 3D antenna pattern in the 3D view of the EM document and operates much like the “3D Antenna Pattern: ANTENNA_3D” measurement, but where the sources come from the excitations schematic rather than the ports on the EM structure. See “3D Antenna Pattern from Circuit Excitation: ANTENNA_CKT_3D” for more information about the annotation.

For each antenna measurement in the Electromagnetic > Antenna category, there is a corresponding in-situ measurement under Electromagnetic > Antenna_CKT in the Add/Modify Measurement dialog box. As with all in-situ measurements, the source comes from the excitation schematic rather than the EM structure. For additional help with individual measurements, click the Meas Help button in the Add/Modify Measurement dialog box.

10.6.3. Limitations/Restrictions of In-situ Measurements/Annotations

The following are restrictions when using in-situ measurements/annotations:

  • Only Harmonic balance and transient circuit simulators can be used.

  • In-situ measurements/annotations do not work with Extraction.

  • Only single-tone analysis is supported. You can have multiple sources if they are the same tone.

  • DC and harmonic content are used to calculate circuit response and load impedance presented to the EM structure. The current annotation only plots at the fundamental frequency, however.

  • Only the results corresponding to frequencies for which there is an EM solution in the data sets can be plotted. Therefore, if AFS (Advanced Frequency Sweep) is enabled in the AXIEM options for the EM document, only those frequency points that are simulated by AFS are available. If AFS is used the Sweep Freq options in the Add/Modify EM Structure Annotation dialog box must be set to FSAMP to access them.

  • Schematic excitation frequency must also match the EM structure frequency. Although the frequency sweeps for the EM structures and the schematic may be different, this annotation only works for common frequencies between them.

  • Only frequency can be swept on the EM structure or excitation schematic. No other sweeps are supported.

10.7. Geometry Simplification

Geometry simplification is supported for all EM simulators except EMSight. The geometry simplification feature allows you to write rules that simplify the geometry used to EM simulate a layout. Typically, there are layout requirements for manufacturing a design which can often cause unnecessary complexity in EM simulations. A good example is a plated line in a MMIC process, where there are often several metals connected by an etch layer where there are small offsets of each layer. The offsets are required for manufacturing, however, they can cause the EM meshing process to add many mesh elements that are unnecessary for accurately simulating the structure. Circular shapes are another example. Circles are usually drawn with 36 or more sides, adding complexity to EM simulations because the mesher captures that level of detail for the circle instead of the 6 to 8 sides that can accurately simulate a circle. For example, the following mesh has no simplification for a via.

This via has a total of approximately 2650 unknowns. With rules to simplify the via, the mesh appears as follows.

This via has a total of approximately 1100 unknowns, yet the answer is nearly the same.

10.7.1. Writing Rules

You can write the geometry simplification rules on the Element Options: STACKUP dialog box Rules tab if using extraction or STACKUP elements to initialize new EM documents. You can also write the rules on the Rules tab of the Enclosure settings of an EM document (double-click the Enclosure under an EM structure in the Project Browser to view the Element Options - ENCLOSURE Properties dialog box). Rules are typed into this field, one rule per line. See “Element Options-(EM) STACKUP Properties Dialog Box: Rules Tab” for more information. “Rule Syntax” describes the available rules.

Rule Writing Guidelines

Because of the number of rules available, it can be difficult to know where to start. There are two ways to set up layer names and EM mapping, depending on the process type:

  • Rules for processes with conformal metals.

    • Includes most MMIC processes, where the same metal type may be at different heights or may be stacked up with other metals, depending on which drawing layers it overlaps.

    • For these processes, you should create <EM_LayerName> drawing layers for all possible layer stacks and crossovers. These new EM layers are mapped, while the original drawing layers are deleted in the SPP rules.

  • Rules for processes with planarized metals.

    • Includes most RFIC and PCB Stackups. Metal shapes on a given drawing layer are always at the same height and thickness, and traces are not typically drawn with stacked metal layers.

    • SPP operations can generally be run 'in place' on these layers.

For MMIC processes, a drawing layer naming convention you can use is to name all new EM layers "EM_*", then add them to the bottom of the drawing layer list. Set their color and fill close to the original layer(s) if possible, then set them to be cloaked.

After determining your layer issues, you can use the following basic procedure for a general case.

  1. Set units

    • Use the LENGTH_UNITS rule to set the length units for this process and make entering numbers more intuitive.

  2. Via array rules

    • Merge via arrays or stripes. Reducing polygon counts early makes subsequent rules run faster.

  3. Apply Boolean rules

    • Resize any inset layers used in stacked linetypes.

    • Find layer intersections (use AND) to determine possible regions for each combination of metals.

    • Use SUBTRACT to determine final EM_* layers (for example, EM_Metal1 = Metal1 SUBTRACT <any stacked linetypes which include Metal1>)

    • Remove any temp layers

  4. Via (thru hole) simplification

    • Remove via pads (as part of the Boolean rules)

    • Merge vias

  5. Clean up rounded shapes

    • Reshape circles (consider the Classify Circle rule to help identify circles that are not perfectly drawn).

    • Use the DECIMATE_MIN_EDGE rule for curved traces with fewer points on the curve. A good place to start is 0.5*width of the desired trace.

    • Use the RESHAPE_CIRCULAR_ARCS rule for everything else, where there are curves that are not traces, such as a radial stub or a line with a circle on the end that is "Booleaned" together.

  6. Clean up geometry where junk can be retained from operations

    • Use the SMALL_CORRECTIONS_SNAP rule to remove small slivers and change shape vertices to make better shapes.

    • Use the FILTER rule to remove shapes that have a small area or small width (usually the result of Boolean operations where shapes do not align). This removes shapes that match the criteria.

Generic Procedure for Fixing High Aspect Ratio Facets

See “AXIEM High Aspect Ratio Facet Detected” for a description of high aspect ratio facets. This section includes a generic procedure for fixing high aspect ratio facets.

To fix high aspect ratio facets:

  1. Set the rules length units to project units so you can easily measure distances on the layout and map them back to rules; use "um" as units.

  2. Look for some small features and measure their width (or edge) to give an approximate idea of the length scales. For example, if there is a circle at 100 um diameter it indicates that typically the smallest good mesh edges are in the 2-5% range of this feature diameter, about 5 um. The smallest bad mesh edges could be in the 0.5 (10%) um range or less (these result in high-aspects). You can use the following two rules to address possible min-gaps:

           length_units um !set this to project units
           set_min_gap 0.5 !10% of the smallest 'good' edge-lengths; at these lengths it is permissible to short
           small_corrections_snap 5.0 !snap if possible below this range, while shorting below the 0.5 range as set above.
           

  3. If you want to add additional rules (such as Boolean operations to simplify plated lines or via merging), you add them after the units setting, but before the other two rules.

10.7.2. Using Rules for EM Simulation

Rules are applied before simulating an EM structure. You can comment out individual rules or you can select the Enable rules check box to turn rules on or off. When you mesh a structure, you see the mesh of the simplified geometry. You can also view the simplified geometry by right-clicking the EM document and choosing Preview Geometry to show the geometry after the simplification (but without the mesh) in both 2D and 3D views. Menus such as those for using rules and changing layer visibility are active when viewing the geometry. After the Preview Swept Geometry dialog box closes, the geometry returns to its original state.

You can also apply the simplification permanently to the layout of an EM document by choosing Draw > Modify Shapes > Simplify Shapes to alter the layout. You should only do so if you are not going to use the layout for the EM structure when generating exported layout files (GDSII, DXF, or Gerber).

For example, the following figure on the left shows the 3D layout of a simple plated MMIC line without any simplification, with the middle etch layer expanded significantly in the Z direction for effect. With the proper rules written and the simplification enabled in the EM layout, the 3D layout displays as shown on the right.

AXIEM Considerations

Previous versions of AXIEM had separate sets of mesh decimation settings for Shape PreProcessing (SPP). Projects using these settings now automatically use the equivalent rules to provide the same simplification. AXIEM mesh settings are not the same as geometry simplification rules. The rules change the geometry that is sent to AXIEM, whereas the mesh options only change how AXIEM meshes the geometry. Note that you should always view your mesh before simulating to make sure it looks reasonable; this is what the simulator solves.

10.7.3. Rule Syntax

The following table of rules uses these guidelines:

  • Rule labels are not case sensitive; they can be all uppercase, all lowercase, or mixed case.

  • "layer" - when a layer is specified it must be enclosed in quotes only if it contains a space. In the table, it is always enclosed in quotes.

  • "layer_or_list" - indicates that you can specify a layer name or the name of a list.

  • "results_layer" - this can be a temporary layer name specified only locally. You can put results on any layer. Only layers that have proper EM mapping display at the results of the processing.

  • "optional:layer_or_list" - indicates that you can specify a layer, although it is not necessary. If omitted, the command applies to all layers.

  • Scientific notation is NOT allowed for values: "11000.0", not "1.1e+4".

  • If there are syntax errors in rules such as "bad rule name" or "bad layer name", an error message displays and simulation does not occur.

The following table defines the available rules.

Label Syntax Description
Adding Comments    
C-Style comments /* this is a c-style comment */ Can span multiple lines. Nested comments are not allowed, for example: (/* ... /* ... */ ... */).
Single line comments ! followed by comment Any text following a "!" until end of line is considered a comment.
Debugging    
VERBOSE_STATUS VERBOSE_STATUS <0/1> Set to 1 to print details of each SPP rule to the Status Window, including number of input/output shapes, number of vertices, shapes created from Boolean operations and others. Setting this to 0 turns off status output.
Including External Rules Files    
INCLUDE INCLUDE <pdk-name> <relative-path-to-rules-file> Inserts the text from the specified file. The file path is relative to the location of the .ini file for the specified PDK. Example: INCLUDE AWR_MESFET "Library\spp_rules.txt". Included rule files can include other files. Using this command makes it easier to edit rules (because you can use an external text editor), and provides for automatic update of SPP rules when switching to an updated version of the PDK.
Basic Rules    
LENGTH_UNITS LENGTH_UNITS < um | nm | mm | mil > Set units for subsequent length inputs. If not set, all sizes are in nanometers. You can use this rule multiple times; all rules after this rule use the specified units.
ANGULAR_UNITS ANGULAR_UNITS < deg > Set angular units for all subsequent angular values. Only degrees is currently supported.
LIST LIST list-name "layer 1" "layer 2" ... Create a named list of layers for subsequent use.
MAX_TRACE_WIDTH MAX_TRACE_WIDTH <max-trace-width> Applies to all subsequent operations. Differentiates ground shapes from trace shapes. Typically the computed trace width is slightly larger than the measured trace width because some traces have via-pads at their ends. However, ground width is typically orders of magnitude larger than trace width. While specifying a <max-trace-width>, use a factor such as 1.5x the measured trace width in the syntax for best results.
SET_CLASSIFY_CIRCLE SET_CLASSIFY_CIRCLE <allow-concave(0/1)> <max-percent-deviation=7> Allows for changes to circle detection settings. <allow-concave> set to 1, allows concave notches in the shape. <max-percent-deviation> is a tolerance for the shape to deviate from an exact circle. The default is 7.
SET_MIN_GAP SET_MIN_GAP <min-gap> Gaps smaller than <min-gap> are allowed to short when calling SNAP_VERTICES or SMALL_CORRECTIONS_SNAP.
Boolean and Resizing    
BOOLEAN_OPS BOOLEAN_OPS "result_layer" "layer_or_list A" <AND | SUBTRACT | OR | XOR > "layer_or_list B" Performs specified Boolean operation on 'Layer_or_list A' with 'Layer_or_list B' resulting in 'result_layer'. 'result_layer' cannot be same as "layer_or_list A" or "layer_or_list B".
  'BOOLEAN_OPS "result_layer" (boolean-expression)', where boolean-expression = <"layer_or_list_A" | (boolean-expression)> <AND | SUBTRACT | OR | XOR | RESIZE> <"layer_or_list_B" | (boolean-expression) | resize-value > Performs multiple Boolean or resize operations, resulting in "result_layer". Each boolean-expression must be in parentheses, including the outermost step. Each expression can recursively call other expressions, so you can perform as many Boolean or resize operations as necessary. For example: BOOLEAN_OPS "newLay" (("B" AND ("C" OR ("D" RESIZE 200))) SUBTRACT "E") 'result_layer' cannot be same as any of the input layers.
RESIZE RESIZE "result_layer" "target_layer_or_list" <resize_distance> Resize 'target_layer_or_list' by <resize_distance> to produce 'result_layer'. 'result_layer' cannot be same as "target_layer_or_list".
  RESIZE "target_layer_or_list" <resize_distance> Resize shapes in 'target_layer_or_list' by <resize_distance> in place. No result layer is required.
UNION_AFTER_BOOLEAN_OPS UNION_AFTER_BOOLEAN_OPS <do-union(0/1)> Turn on or off an extra merge step to be performed after any Boolean operation or resize. Default is 0.
SET_RESIZE_CORNER_STYLE SET_RESIZE_CORNER_STYLE <round/sharp> Change how a resize operation acts on acute angles with a positive resize value. Default behavior is 'round'. Same behavior as the 'RCS' parameter on the Layer Resize Modifier.
Shape Snapping    
SNAP_VERTICES SNAP_VERTICES <tolerance> "optional:layername-or-list" <optional:sssoverlap=0.1> Performs snap operation using <tolerance>. "layername-or-list" is optional. When unspecified, snap is applied on all layers. The snapping of vertices occurs only between shapes and not within the same shape (to align shapes on different layers, for example). <sssoverlap> is an optional argument that specifies the minimum overlap area as a percent (divided by 100.0), of at least one of the two shapes involved. The default is 10% (0.1). When the value is set to less than 0.0, it is treated as no overlap, but connected at the edges.
SNAP_VERTICES_VIA SNAP_VERTICES_VIA <tolerance> <optional:sssoverlap=0.1> Performs snap operation using <tolerance> on all via layers. Equivalent to creating a list of via layers and applying SNAP_VERTICES on it. >sssoverlap<: see SNAP_VERTICES.
SMALL_CORRECTIONS_SNAP SMALL_CORRECTIONS_SNAP <tolerance> "optional:layername-or-list" Attempts to remove small defects and gaps between shapes. It is not automatically applied.
CLEAN_DIRTY_GEOMETRY CLEAN_DIRTY_GEOMETRY <optional:min-angle=2.0> <optional:remove-collinear(0/1)=1> Can be used to remove vertices with extreme angles. <min-angle> is the smallest subtended angle allowed. The default is 2.0 degrees. <remove-collinear> is either 0/1. The default is 1. It is applied on the entire geometry and cannot be applied per layer. It is automatically applied at the end of the commands using default settings.
Layer and Shape Filtering    
LDELETE LDELETE "layername-or-list" Deletes a layer or a list of layers
FILTER_LAYER FILTER_LAYER "result_layer" "target_layer" <AREA | WIDTH | POINTS> << | <= | == | >= | >> <value> Deletes shapes in 'target_layer' based on filter condition; anything that fails the filter is deleted. "result_layer" cannot be the same as "target_layer".
  FILTER_LAYER <AREA | WIDTH | POINTS> << | <= | == | >= | >> <value> Deletes shapes in all layers based on filter condition; anything that fails the filter is deleted.
REPLACE REPLACE "layer A" "layer B" Deletes 'layer A' and renames 'layer B' to 'layer A'
REMOVE_VIA_PADS REMOVE_VIA_PADS <max_pad_to_via_ratio> <allow-non-zero-thickness=0> Deletes all shapes that are directly connected to a via, with centroids matching and pad-to-via area ratio less than <max_pad_to_via_ratio>. Set <allow-non-zero-thickness> to 1 if non-zero thickness via-pads need to be removed. The default is 0.
Via Merging    
MERGE_VIAS MERGE_VIAS "result_layer" "target_layer" <max_merge_distance> Recursively merges all via in the target layer based on connectivity (the merged via should connect to the same shapes and their merging should not violate the original connectivity) and merge distance. "result_layer" cannot be the same as "target_layer".
MERGE_VIAS "result_layer" <max_merge_distance> Searches for all via layers and merges them. Replaces the original via shapes with the merged via.
MERGE_VIA_RADIUS_MULT MERGE_VIA_RADIUS_MULT <radius-multiple> Merges all via (on all via layers) using a <radius-multiple> of the via to search for nearby via.
Shape Decimation    
DECIMATE_MIN_EDGE (Details) DECIMATE_MIN_EDGE "optional:layer_or_list" <min-edge-length> <optional:max_angle=value> Decimates shapes in the layer so as to have no edges smaller than <min-edge-length>. <max_angle> prevents decimation of vertices that rotate at the vertex more than that value.
DECIMATE_MIN_EDGE_TRACE See DECIMATE_MIN_EDGE Only decimates trace nets (trace net = at least one non-via shape in the net connectivity should be less than MAX_TRACE_WIDTH)
DECIMATE_MIN_EDGE_GROUND See DECIMATE_MIN_EDGE Only decimates non-trace nets (trace net = at least one non-via shape in the net connectivity should be less than MAX_TRACE_WIDTH)
Circle and Circular Arc Reshaping   In all the RESHAPE rules below, use radius_min=value and radius_max=value to set radius limits. If not specified, radius_min=0.0 and radius_max=infinity.
RESHAPE_CIRCLES_DIVS RESHAPE_CIRCLES_DIVS <number-of-edges> "optional:layername-or-list" radius_min=value radius_max=value Reshapes all circles in the layer or layer list to have number-of-edges.
RESHAPE_GROUND_VIA_CIRCLES_DIVS RESHAPE_GROUND_VIA_CIRCLES_DIVS <number-of-edges> "optional:layername-or-list" radius_min=value radius_max=value Reshapes via connected to ground using number of edges.
RESHAPE_TRACE_VIA_CIRCLES_DIVS RESHAPE_TRACE_VIA_CIRCLES_DIVS <number-of-edges> "optional:layername-or-list" radius_min=value radius_max=value Reshapes via connected to trace using number of edges.
RESHAPE_CIRCLES_MAX_EDGE RESHAPE_CIRCLES_MAX_EDGE <max-edge-length> "optional:layername-or-list" radius_min=value radius_max=value Reshapes all circles in the layer or layer list to have edge no larger than max-edge-length.
RESHAPE_GROUND_VIA_CIRCLES_MAX_EDGE RESHAPE_GROUND_VIA_CIRCLES_MAX_EDGE <max-edge-length> "optional:layername-or-list" radius_min=value radius_max=value Reshapes via connected to ground using max edge length.
RESHAPE_TRACE_VIA_CIRCLES_MAX_EDGE RESHAPE_TRACE_VIA_CIRCLES_MAX_EDGE <max-edge-length> "optional:layername-or-list" radius_min=value radius_max=value Reshapes via connected to trace using max edge length.
RESHAPE_CIRCULAR_ARCS RESHAPE_CIRCULAR_ARCS "layer-name-or-list" <max-edge-length> radius_min=value radius_max=value <min-points=7> <max-radius-deviation=0.2> <min-arc-angle-degree=60.0> <average-arc-length-subtend-max-degree=30.0>
<max-radius-deviation-as-percent-of-shape-width=0.2>
Reshapes all circular arcs in shapes in the layer or layer list, with given arguments. This does not work for traces that have curves, since they need to change in a similar manner; use DECIMATE for these. min-points=7 is the minimum points the arc should have before processing. max-radius-deviation=0.02 (20%) is the maximum percent by which the radius can vary along the arc. To account for integer snapping and slight elliptical arcs, min-arc-angle-degree=60.0 is the minimum angle the arc needs to subtend at the centroid to be reshaped. average-arc-length-subtend-max-degree=30.0 is the arc length that needs to be subtended by each chord at the centroid. max-radius-deviation-as-percent-of-shape-width=0.1 is the maximum of the "(max-radius - min-radius)/computed-shape-width" allowed. In shapes with numerous logarithmic or elliptic arcs, reduce max-radius-deviation-as-percent-of-shape-width to 0.1 or less, and use DECIMATE instead.
RESHAPE_CIRCULAR_ARCS_DIVS RESHAPE_CIRCULAR_ARCS_DIVS "optional:layer-name-or-list" <num-divs-on-360> radius_min=value radius_max=value <min-points=7> <max-radius-deviation=0.2> <min-arc-angle-degree=60.0> <average-arc-length-subtend-max-degree=30.0> <max-radius-deviation-as-percent-of-shape-width=0.2> Same as 'reshape_circular_arcs', except specify number of divisions for 360deg instead of max-edge-length.
Shape Fillet    
FILLET_SHAPES FILLET_SHAPES "optional:target_layer" <radius=value-in-length-units ><min_radius_if_variable=1.0> <max_internal_angle=100.0> <min_internal_angle=45.0> <num_points_on_360=int-value> <masking_draw_layer="layer_name"> <radius_no_fit_option=none|resize_radius> <use_negative_mask=true|false> <skip_intersections=true|false> <skip_ports=true|false> Adds fillets to shapes based on the following arguments. <radius=0.0> is the radius of the fillets/chamfers in length units; the default is 0.0. <min_radius_if_variable=1.0> If 'radius' does not fit and radius_no_fit_option is 'resize_radius', then this is the minimum radius allowed. <min_internal_angle=45.0> sets the minimum internal angle at the vertex to be filleted. If the internal angle is lesser, it is not filleted. <max_internal_angle=100.0> sets the maximum internal angle at the vertex to be filleted. If the internal angle is greater, it is not filleted. <num_points_on_360=16.0> sets the resolution of the fillet as resolution per 360.0 degrees. The number of vertices on the fillet is fillet-angle/360.0*num_points_on_360. <masking_draw_layer="Draw layer name"> If specified, the shapes in this layer are used to mask the vertices on the target layer, to either exempt them or include them, based on the 'use_negative_mask' setting. <use_negative_mask=false> is only active when 'masking_draw_layer' is set to a valid draw layer. <radius_no_fit_option=none/resize_radius> Each vertex only 'owns' half the edge on either side. If the fillet radius is larger than 1/2 of the smallest adjacent edge, then it cannot fit in that space. In this case if this option is set to 'none', the vertex is skipped. If the option is set to 'resize_radius', then 1/2 the smallest adjacent edge is used as the radius. <skip_ports=true/false> If set to true, vertices with ports attached to them are skipped.
Via Fencing    
DRAW_FENCE DRAW_FENCE "optional:target_layer" <linear_spacing=value ><proximity_spacing=value> <spacingtype=center-to-center/edge-to-edge> <oversize=value> <width=value> <height=value> <keep_paths_open_ended=true|false> <path_min_rect_ratio=value> Draws a via-fence around a shape, based on the following arguments. <linear_spacing=value> is the linear spacing to maintain between adjacent fence elements (FE). Each FE has two neighbors, one to its left and one to its right. <proximity_spacing=value> is the spacing to maintain between an FE and any other FE that is not its immediate two neighbors. <spacingtype=center-to-center/edge-to-edge0>: center-to-center is the spacing computed between the centroids of each fence element; edge-to-edge is the spacing computed along the boundary of the fence element. For <oversize=value> oversize> 0, the fence is drawn outside the boundary. For oversize = 0, the fence is drawn on the boundary. For oversize < 0, the fence is drawn inside the boundary. <width=value> <height=value> is the dimension of each of the fence elements (bounding-box). For <keep_paths_open_ended=true/false>, if true, then SPP auto-detects if a polygon is a path and keeps its ends open. For <path_min_rect_ratio=2.0>, for a rectangle to be considered a path the larger dimension to the smaller dimension ratio must be greater than this option (default is 2.0).
Via Fill    
FILL_SHAPES FILL_SHAPES "optional:target_layer" <clearance=value ><width=value> <height=value> <pitch_x=value> <pitch_y=value> <stagger_row=0> <stagger_col=0> <justify=false|true> Fills a shape with via based on the following arguments. <clearance=value> is the closest a via can get to the perimeter of the shape from the inside. <width=value> <height=value> are the two dimensions of the rectangular via. <pitch_x=value> <pitch_y=value> are the minimum x and y axis displacements between the nearest via centroids. <stagger_row=0> <stagger_col=0> can be used to stagger every even-numbered row or column by that amount. Use either row or column and not both for non-overlapping results. For <justify=false|true>, when true, this attempts to spread the via where possible, to occupy the available area in the shape more uniformly (does not increase the number of vias, it just spreads them and maintains clearance and minimum pitch).
Moving Ports Between Layers    
MOVE_PORTS MOVE_PORTS "from_layer" "to_layer" Moves ports from draw layer "from_layer" to draw layer "to_layer". By default, there is a sophisticated algorithm that moves ports when the location where they should be has moved. This rule helps by specifying the layer to search for the new port location.
MOVE_PORTS "from_layer" "to_layer" <minimum_displacement> Same as when no distance is specified, but the port should move at least <minimum_displacement>
MOVE_PORTS "from_layer" "to_layer" <minimum_displacement> <maximum_displacement> Same as when no distance is specified, but the port should move in the range (<minimum_displacement>, <maximum_displacement>)
Capacitor and Resistor Processing    
FIX_CAPS FIX_CAPS Heuristically detects the presence of capacitors and prevents them from snapping (but decimation is allowed). Use this rule only when other simplification approaches do not properly simplify your geometry.
FIX_RESISTORS FIX_RESISTORS <dc-resistance-limit(ohm/sq.)> Resistor shapes with resistance higher than <dc-resistance-limit> are fixed and prevented from snapping (but decimation is allowed). Use this rule only when other simplification approaches do not properly simplify your geometry.
Region    
REGIONS_BEGIN REGIONS_BEGIN First line of the REGIONS section.
REGION (Details) REGION "new_layer" "optional:sublayer1"="layer1" ... "optional:subLayerN"="layerN" (<Boolean_expressions>) Create layer "new_layer" from the result of the Boolean operations (<Boolean_expressions>) on the drawing layers "optional:subLayerN"="layerN".
REGIONS_END REGIONS_END Last line of the REGIONS section.
Miscellaneous    
BREAK_POLYGONS BREAK_POLYGONS "optional:target_layer" <max_points_per_poly> Breaks all specified polygons into polygons containing a number of vertices less than <max_points_per_poly>.
Legacy Rules Obsolete but provided for backward compatibility with v9.x. Use an active rule instead.    
SET_ARC_SNAP_MULT SET_ARC_SNAP_MULT <value> Gaps smaller than <min-gap> are allowed to short when calling SNAP_VERTICES or SMALL_CORRECTIONS_SNAP.
SET_SHAPE_SNAP_MULT SET_SHAPE_SNAP_MULT <value> Set grid multiple for shape to shape vertex snapping. For deprecated, use SNAP_VERTICES instead.
SET_VIA_SNAP_MULT SET_VIA_SNAP_MULT <value> Set grid multiple for via to via/shape vertex snapping. For deprecated, use SNAP_VERTICES instead.
DECIMATE DECIMATE "optional:target_layer" <level:1..6> Decimates layer with the level set from 1 (minimum) to 6 (maximum); 'target_layer' is optional. When unspecified, is applied to all layers.
DECIMATE_TRACE see DECIMATE Decimates only trace nets (trace net = at least one non-via shape in the net connectivity should be less than MAX_TRACE_WIDTH)
DECIMATE_GROUND see DECIMATE Decimates only non-trace nets (trace net = at least one non-via shape in the net connectivity, should be less than MAX_TRACE_WIDTH)
DECIMATE_PER_SHAPE_SETTINGS DECIMATE_PER_SHAPE_SETTINGS Decimates per shape, based on the shape's individual/custom settings.
CIRCLE_ARC_RESHAPE no arguments Uses value set in SET_ARC_SNAP_MULT and SET_SHAPE_SNAP_MULT to reshape arcs/circles as stacks. Deprecated, use the other rules above.

10.7.4. Rule Details

The following sections provide details on select rules.

DECIMATE_MIN_EDGE

Syntax
DECIMATE_MIN_EDGE "optional:layer_or_list" <min-edge-length> <optional:max_angle=value> <optional:skip_circles>
Example Usage
length_units um
decimate_min_edge "layer 1" 2.3 max_angle=70.0 skip_circles
Summary

Tries to decimate shapes, per shape, by removing vertices in such a way that there are no edges smaller than <min-edge-length>. Setting <max_angle> prevents removal of vertices that rotate at the vertex more than that value. Setting <skip_circles> skips decimation of circles.

Description

"layer_or_list"

"layer_or_list" is an optional argument that specifies the layer or a previously assigned 'list' for decimation. If this argument is not present, all layers are decimated. Double quotes are required if the argument has spaces.

<min-edge-length>

This rule removes vertices that are attached to edges that are smaller in length than <min-edge-length>. In the following figure, the 'Edge length 1' and 'Edge length 2' must be smaller than <min-edge-length>. Ideally, after you apply this rule on a polygon shape, the shape should have no edges smaller than this value.

The following conditions apply:

  • If removing a vertex to eliminate a less than <min-edge-length> edge causes a short and/or an open circuit, it is not done.

  • If the rotation angle (see the first figure) at the vertex is greater than the optional <max_angle> argument (default is 0 deg), it is skipped.

  • For vertices on a trace, if a vertex has a 'parallel' vertex (see the second figure), then either both the vertices must be decimated together, or none at all. They must satisfy all of the previous conditions.

  • If a vertex is shared between two shapes that are physically on the same vertical location, but are logically on two different layers, then decimating only one layer does not allow that vertex to be decimated.

<max_angle=value>

Optional argument. Specifies the maximum allowed rotation angle at the vertex, that can be decimated, irrespective of the edge lengths. Defaults to 0.0 degree.

<skip_circles>

Optional argument. If circles are reshaped using other rules, use this option to prevent them from being decimated further.

REGION

Syntax
REGION "new_layer" "optional:sublayer1"="layer1" "optional:subLayer2"="layer2" ... (<Boolean_expressions>)
Example Usage
REGIONS_BEGIN
     REGION EM_M1_M2    ( Metal1 AND Metal1 )
     REGION EM_M1_M2_M3 ( EM_M1_M2 AND Metal3 )
REGIONS_END
Summary

REGIONs are used to define each unique combination of drawing layers. Each REGION statement creates new layers you can map to different EM layers and materials.

Description

Details:

  • All ‘REGION’ statements must be grouped inside the REGIONS_BEGIN / REGIONS_END section.

  • Only one REGIONS_BEGIN/_END block should appear in the SPP rules.

  • Only lines starting with REGION can be in this section.

  • At least one new layer will be created for each REGION statement. These are normal SPP layers that can be used after the REGION_END statement.

  • REGIONS_BEGIN and REGIONS_END have no parameters. They must appear on a line by themselves.

  • The (<Boolean_expressions>) are the same as a normal BOOLEAN_OPS command. They should be enclosed in parentheses, although if you just have a single layer, you can use that layer name by itself.

REGIONS can be defined in terms of other REGIONS. For example:

 REGION EM_M1_M2     ( Metal1 AND Metal1 )
 REGION EM_M1_M2_M3  ( EM_M1_M2 AND Metal3 )

The optional "sublayerN"="layerN" statements are for defining smaller regions inside the newly created region. One common use is for defining ‘TOP’ and ‘BOT’ layer regions (for example, for MIM capacitors or crossovers). You can add as many as you need. They are created by AND’ing the provided ‘layerN’ with the full region shapes.

For example, assume you have a process with two metal layers which can be used individually, or together as a 'plated' line with a "Dielectric Via" layer connecting them. They can also be used as a capacitor (without the dielectric via layer). For EM simulation, you want to create new shapes which are either M1 alone, M2 alone, or a single shape where the metals are plated. Where the two metals overlap each other to form a capacitor, you want to create new layers for the cap top and cap bottom shapes:

REGIONS_BEGIN
     REGION EM_M1       Metal1
     REGION EM_M2       Metal2
     REGION EM_PLATED   (Metal1 AND (Metal2 AND ("Dielectric Via" RESIZE 2000)))
     REGION EM_CAP      TOP=Metal2 BOT=Metal1 (Metal1 AND (Metal2 RESIZE 4000))
REGIONS_END

After these rules execute, you have new layers called EM_M1, EM_M2, EM_PLATED, EM_CAP_TOP, EM_CAP_BOT, which you can map to different EM layers and materials in the EM mapping table.

10.7.5. Debugging Rules

There are several techniques available to debug the rules you are writing.

Previewing the Geometry

You preview the geometry to see what geometry will be sent to the simulator as was discussed at the beginning this section. You can also view the simplified geometry by right-clicking the EM document and choosing Preview Geometry to show the geometry after the simplification in a new EM structure. You can then measure distances, open a 3D view, change layer visibility of this preview. You could open the 3D view of the original and processed geometry and view the windows next to each other.

Verbose Logging

Add the "VERBOSE_STATUS 1" command to your rules file to produce detailed output to the status window. With this flag enabled you get lots of helpful information, like how many vertices and polygons in/out, how many vertices snapped in a decimation step, and how many shapes in input and output of BOOLEAN_OPS commands (shape counts in brackets). The picture below shows a sample output from this logging.

10.7.6. Rule Examples

The following are common rules examples.

Creating an Air Bridge Layer

In some IC processes, an airbridge is created by metal being deposited over a layer of some material that is then etched away. The following figure shows a simple structure with this type of process where there is a line connecting to the top plate of a capacitor. The airbridge is between the line and the capacitor.

To simulate this correctly, the overlap of the metal and airbridge should be on a different EM layer, since there is a difference in height of the air bridge than just the metal. With only the shapes that are in this layout, there is no way to properly set up the correct shapes and vias to move the airbridge up a layer. The 3D layout of this structure without any processing is shown as follows.

Notice that the top metal extends to the top of the cap and the airbridge shape is floating above these shapes. This is not correct. By using rules, you can create the proper shapes for simulation, as shown in the following figure.

The rules used to create this layout are shown with comments above each to describe the purpose of each rule.

     !Find the intersection of thick metal (metal on top of the cap) and air bridge, place on temporary layer "temp1"
     BOOLEAN_OPS "temp1" "Thick Metal" AND "Air Bridge"
     !Subtract the resulting shape temp1 from thick metal, this will be the new thick metal layer eventually
     BOOLEAN_OPS "tmtemp" "Thick Metal" SUBTRACT "temp1"
     !Resize the boolean and to make room for the vias
     RESIZE "temp2" "temp1" 2000
     !Intersection of oversized air bridge and original thick metal, this maintains the width of the metal but keeps the oversize for the length
     BOOLEAN_OPS "temp3" "temp2" AND "Thick Metal"
     !Intersection of cut out thick metal and new via shape to create vias.
     BOOLEAN_OPS "em_der_air_bridge_via" "temp3" AND "tmtemp"
     !Put new resized air bridge back on air bridge layer
     REPLACE "Air Bridge" "temp3"
     !Put cut out shape for thick metal back on thick metal layer. 
     REPLACE "Thick Metal" "tmtemp"   
    

Simplifying Plated Lines

For many MMIC processes, there is a concept of a plated line, which is just connecting two or more metallization steps by opening up the insulator between them. Typically, the processing requirements are such that the sizes of each metallization step cannot be the same size, or the opening cannot be the same size, so small offsets result. See the following figure for an example of what these layer offsets may look like.

The following figure shows a 3D view of the unsimplified shapes on the left and the simplified shapes on the right. The spacing between the two metallization layers is not to scale, to more easily see this shape.

The rules used to create this layout are shown with comments above each to describe the purpose of each rule. In this example, the resulting shape to simulate is placed on a new layer called "em_thick_metal" which must be added to the drawing layer list. You must set up EM mapping for this approach to work.

    !Set the units for any sizes to be microns. 
    UNIT um
    !Find intersection of Cap Bottom and Nitride Etch, good enough to define a plated line in this case
    BOOLEAN_OPS "temp3" "Cap Bottom" AND "Nitride Etch"
    !Resize this new layer to be the full width of the line, em_thick_metal is a new drawing layer added and is mapped
    !Now have all the new layer to simulate, just need to remove other shapes at the same locations.
    RESIZE "em_thick_metal" "temp3" 5
    !Subtract new thick metal shape from cap bottom to new layer
    BOOLEAN_OPS "cb_temp" "Cap Bottom" SUBTRACT "em_thick_metal"
    !Replace new layer with original cap bottom, not needed just for the line, but would need for other structures, caps, etc.
    REPLACE "Cap Bottom" "cb_temp"
    !Repeat the subtract and replace for the next two lines for the original plated line.  
    BOOLEAN_OPS "ne_temp" "Nitride Etch" SUBTRACT "em_thick_metal"
    REPLACE "Nitride Etch" "ne_temp"
    BOOLEAN_OPS "tm_temp" "Thick Metal" SUBTRACT "em_thick_metal"
    REPLACE "Thick Metal" "tm_temp" 
    

Signal vs Ground Vias

For complex PCB processes, there are typically two types of vias: vias used for signals and vias used to tie ground planes together. You can use the rules to distinguish between the different types of vias and simplify differently. The following figures demonstrate by showing the 2D and 3D layout of a simple structure.

Notice that all the vias are on the same layers, but some connect ground planes and some connect signal paths. The following shows the 3D view of the simplified shapes. The vias in the signal path are octagons and the vias on the ground planes are squares.

The rules used to create this layout are shown with comments above each to describe the purpose of each rule.

     !all distances set will be in mils
     UNIT mil
     !maximum width of a signal path will be 30 mils. 
     MAX_TRACE_WIDTH 30.0
     !resize the ground vias on the Via MS 2 Gnd to have 4 sides. 
     RESHAPE_GROUND_VIA_CIRCLES_DIVS 4 "Via MS 2 Gnd"
     !resize the signal vias on the Via MS 2 Gnd to have 8 sides. 
     RESHAPE_TRACE_VIA_CIRCLES_DIVS 8 "Via MS 2 Gnd"
     !resize the ground vias on the Via SL 2 Gnd T to have 4 sides. 
     RESHAPE_GROUND_VIA_CIRCLES_DIVS 4 "Via SL 2 Gnd T"
     !resize the ground vias on the Via SL 2 Gnd T to have 8 sides.
     RESHAPE_TRACE_VIA_CIRCLES_DIVS 8 "Via SL 2 Gnd T"
     !resize the ground vias on the Via SL 2 Gnd Bto have 4 sides.
     RESHAPE_GROUND_VIA_CIRCLES_DIVS 4 "Via SL 2 Gnd B"
     !resize the ground vias on the Via SL 2 Gnd Bto have 8 sides.
     RESHAPE_TRACE_VIA_CIRCLES_DIVS 8 "Via SL 2 Gnd B"
     !any via pads that are not connected to and have a ratio of the area of the pad
     !divided by the area of the via is less than 4, then remove the pad
     REMOVE_VIA_PADS 4.0
    

10.8. Creating Arbitrary 3D EM Structures

This section describes how to create arbitrary 3D EM structures in the NI AWR Design Environment suite. Structures are generated or modified using the NI AWR Design Environment 3D Editor.

10.8.1. Creating a New Arbitrary 3D EM Structure

To create a new Arbitrary 3D EM Document:

  1. Right-click EM Structures in the Project Browser and choose New Arbitrary 3D EM Structure, or choose Project > Add Arbitrary 3D EM Structure > New Arbitrary 3D EM Structure. The New 3D EM Structure dialog box displays.

  2. Enter a name for the EM structure, choose from the Initialization Options, then click Create. An EM structure window opens in the workspace, and the Project Browser displays the new EM structure and its subnodes under EM Structures.

10.8.2. Initialization Options

The initialization options for a 3D EM structure can define the initial material set available for use in the 3D EM structure and are defined in the same way as 2.5D EM structures: “Initialization Options”.

10.8.3. Simulator, Mesh, and Simulation Frequency Options

All of the simulator, mesh, and frequency options also have a consistent use model as 2.5D EM structures. For details on setting the default values for each new EM structure or how to navigate to each EM structure's individual set of options, see “Simulator, Mesh, and Simulation Frequency Options”.

10.8.4. Creating Arbitrary 3D EM Geometries

You must use the AWR 3D Editor to add or modify shapes in an Analyst arbitrary 3D EM structure. To open the arbitrary 3D EM structure in the 3D editor, right-click on the arbitrary 3D EM structure and choose Open in 3D Editor. Once in the 3D editor you can add or modify shapes and their materials. See “Analyst 3D Editor Help” for details on accessing 3D editor Help.

10.8.5. Creating Arbitrary 3D EM Structures from Existing 3D EM Structures

Sometimes the majority of an EM structure is planar, yet a portion of it can only be modeled in true 3D space. If the planar 3D portion was designed in a 2.5D editor, you may need to re-create the geometry in a 3D editor. This is quite inefficient. In the NI AWR Design Environment program you can convert a geometry from a 2.5D representation to a full 3D representation that you can then modify in a true 3D editor.

To convert a 2.5 representation of a 3D EM structure to a full 3D representation, from the 2D layout of the EM document to be converted:

  1. Choose Layout > Copy to Arbitrary 3D EM Structure.

  2. Name the new EM structure and click Create.

A new arbitrary EM structure that is a 3D representation of the original 2.5 EM structure displays in the EM Structures node. Note that you can only run this command from 3D EM documents, such as Analyst.

You can open the new arbitrary 3D EM structure in the 3D editor where you can modify the geometry to include shapes that can only exist in a true 3D editor.

Please send email to awr.support@ni.com if you would like to provide feedback on this article. Please make sure to include the article link in the email.

Legal and Trademark Notice