This chapter describes the power of the EM extraction process as well as the NI AWR
patented geometry simplification for EM analysis using the
MMIC_Getting_Started.emp project opened in the “MMIC: Designing MMICs” chapter and continued in the MMIC layout chapter. To begin this
section, close all windows (choose ) and in the Project
Browser under the User Folders node, open all of the documents under
The "Extract Test Bench" schematic uses the previously completed design schematic named "Distributed Design" as a subcircuit. This lets you easily compare the results with EM extraction versus the non-extracted design. The graphs in this folder are plotting results with and without extraction.
EM extraction is a generic process where the extracted circuit models' electrical model is replaced with EM analysis of the layout for that element. See “EM: Creating EM Structures with Extraction” for details on using extraction. You must configure which models to extract and which EM simulator to use. The NI AWR Design Environment software performs the following:
Creates an EM structure based on the layout of the elements specified for extraction.
Runs the EM simulation(s) necessary to get the EM-based performance of those parts.
Sends the EM results back to the schematic by replacing the circuit model.
This process saves design time because EM layouts are automatically created, ports are added, and no resulting S-parameter files have to be wired up in the schematic.
The following sections include information on specific extraction features.
Previous sections explain the design advantage of building a hierarchical design. In the "Extract Test Bench" schematic, the elements used in extraction are located one level down in hierarchy in the "Distributed Design" for ground signal ground pads at the input and output, and two levels down for the elements in the "device", "Distributed_input_match", and "Distributed_output_match" schematics.
To see the extraction process work across hierarchy:
Select the right-most EXTRACT block on the schematic, right-click and choose.
Click elsewhere and then select the enabled EXTRACT block to highlight the shapes in the layout to extract when the EM simulation runs.
Now when you simulate, the extraction process occurs (the shapes are extracted in the EM document and simulated). However, many times you want to visually inspect the EM structures created (for example, view mesh and view port properties) before simulation. Right-click the enabled EXTRACT block and choose. A new EM document named "EX_All" is created for your inspection, although it is not automatically simulated.
You can now simulate to view the effects of all the metal simulated with the AXIEM 3D planar EM simulator. However, you do not need to simulate to continue with this example. If you do not simulate, disable the same EXTRACT block by selecting it, right-clicking and choosing. Also, delete the "EX_All" EM document so it does not simulate the next time simulation is run.
You might often want to segment your extraction into smaller sections. For example, you might want to extract the entire layout, you might want to extract the input and output matching network as separate EM documents, or maybe just extract parts of the individual matching networks. Each EXTRACT block specifies a Name parameter for the group name. When you enable an element for extraction, you also specify the group name. For example:
Enable the left-most EXTRACT block. Notice in the layout the elements that are extracted for this block.
Open the "Distributed_input_match" schematic, double-click the right-most inductor to display the Element Options dialog box, and click the Model Options tab as shown in the following figure.
Notice that the Enable check box is selected and the Group name is set to "in_inds". This matches the Name parameter on the enabled EXTRACT block.
Three different groups of EXTRACT blocks are configured in this example. Each group is surrounded by a box, and text describes the function of each group in the "Extract Test Bench" schematic. The three blocks in the left-most group are for each individual group name. Notice on each EXTRACT block that the Name parameter is the name of the "Group name" set for the groups of models.
The middle group of EXTRACT blocks has the input and output matching network as one EM document. Enable each of these to see the shapes that extract. For these blocks, the EXTRACT block Name parameter is a vector of group names.
Note that the Name parameter lists several names, each in quotes, separated by commas and enclosed in brackets. This syntax tells extraction to include all models or shapes in all of the group names listed.
In the previous section, the upper left-most EXTRACT block is enabled, which extracts the elements in the input matching network. Sometimes you might want more insight into your circuit to see where coupling is occurring. You can achieve this by incrementally adding elements to, or removing elements from, your EXTRACT group. This is best demonstrated by an example. To incrementally extract the input matching network:
Ensure that the upper left-most EXTRACT block is enabled to extract any elements in the "in_inds" groups.
Open the layout for the "Distributed_input_match" schematic and select all of the shapes, as shown in the following figure. You can quickly select all of the shapes by clicking and dragging the mouse to select all of the parts above the lower capacitor, and then holding down the Shift key while selecting the smaller inductor and lines to remove them from the selection.
Right-click over any of the selected shapes and choose Model Options tab and clear the Enable check box to turn off those elements for extraction.to display the Element Options dialog box. Click the
Right-click the currently enabled EXTRACT block and choose Add Extraction to create a new EM document named "EX_Input_Inductors". Ensure that the EM document matches that shown in the following figure.
Simulate the project. The following simulation results show that the answer for the circuit is not changed much.
On the schematic layout, select the remaining original elements in this extract group. Right-click over any of the selected shapes and choose Model Options tab and select the Enable check box to turn back on those elements for extraction. Right-click the currently enabled EXTRACT block and choose Add Extraction to update the EM document named "EX_Input_Inductors". The EM structure now displays as follows when all of the original elements are enabled for extraction.to display the Element Options dialog box. Click the
Simulate the project. The following simulation results show that the answer for the circuit still looks reasonable.
When you extract elements, different configurations can cause simulation differences due to:
Simulator settings such as mesh settings and port configurations.
Layout objects in different configurations.
In these situations you can use data sets, which contain the results from EM simulations, to help you compare different simulation runs. See “Data Sets” for details on using data sets. By default, the data sets from up to the last five simulations are stored in a project. The program always uses the most recent EM simulation results unless you specify a different data set. The process of specifying a different data set is call "pinning" and it is controlled by right-click menus on individual data sets.
Using data sets is best shown with an example that starts from the extractions and simulations performed in the previous section. Notice in the "Distributed_input_match" layout that the inductors are close together and that you can flip the smaller inductor to move it further away from the other inductor.
To use data sets to compare EM results:
In the Data Sets node of the Project Browser under the EM structure named "EX_Input_Inductors", right-click the current (green icon) data set and choose .
NOTE: The data set names you see might be different depending on the number of simulations you have done. If you have simulated the extraction once and have one data set, you can continue with the following steps.
The green data set is the most recently simulated; the others are from previous simulations of this structure. Data sets are given default names and you can rename them. Here, you want to rename the current data set since this is the simulation result you compare with a different configuration.
Change the data set name to "
inductor normal" and
then click .
Open the layout for the "Distributed_input_match" schematic and select the small inductor and the line to the right of the inductor, as shown in the following figure.
Right-click the selected shapes and choose,then click and drag the mouse from left to right to flip the layout objects about the x-axis, as shown in the following figure.
Snap the layout together by pressing Ctrl + A to select all of the layout items, and then click the Snap Together button on the toolbar to snap the layout together, as shown in the following figure.
Now when you simulate, the extracted EM document displays as follows.
The following simulation results show that the answer for the circuit still looks reasonable.
The response looks reasonable, but it is hard to compare with the inductor flipped the other way. This is where data sets are helpful.
First, you rename the new data set by right-clicking the current (green icon) data set and choosing.
Change the data set name to "
inductor flipped" and
then click .
Right-click on the "inductor normal" data set and choose. The Project Browser now displays as follows.
The green dot indicates a pinned data set, so when the circuit simulation runs it uses this data set for the EM structure instead of the most recent set. Right-click a pinned data set and choose NOTE: To verify which set is which, you can view the geometry used to create a data set by right-clicking the data set and choosing .)to remove the pin. (
Additionally, you can freeze graph traces and change a data set pin to see the plots on top of one another. To do so, you first simulate with the "inductor normal" data set pinned, then, with a graph active, chooseto freeze the current data to the graph, then unpin the data set and resimulate. The graph now shows both results as follows.
The results shifted very little. You can see some small differences for the S(1,1) result in the null. This demonstrates that the orientation of the inductor has little effect on the simulation results.
Previously this guide discussed the concept of plated lines. The small insets for plated lines have a very minimal effect on the electrical results of MMIC circuits. From an EM simulation perspective, typical meshing processes need to resolve the plated line insets, causing a far more complex problem to solve than necessary. Additional aspects of geometry, such as circular or arced shapes, or arrays of small vias, can cause meshing to be less efficient.
Fortunately, the NI AWR Design Environment software has an automated approach to simplify geometry before performing EM simulation. For example, consider a plated line. With no simplification, a cross-section of the mesh displays as follows.
Notice the inset notch that requires significant numbers of mesh cells to mesh that geometry. With simplification, a cross-section of the mesh displays as follows.
Notice that the inset is removed, creating a much more efficient mesh. For a simple line in this process, the geometry simplification rules result in approximately a 3x improvement in the number of unknowns.
When you view the geometry of an EM structure, you are seeing the Layout View of the document (the non-simplified geometry). You can view the simplified geometry by right-clicking the EM structure and choosing. This creates a new EM document where you can change visibility by layers and see the 3D view. The following figure is an example of the original Layout View for an EM structure.
The following figure shows the same structure viewing the simplified
geometry. Reference plane extensions are added because of the auto ports. For more
information on auto ports, see the
Simulation and Analysis Guide.
See “Geometry Simplification” for details on how geometry simplification functions. (NOTE: PDKs for the program should all be configured for geometry simplification.)