Circuit Subdivision

Tips and App Notes


This tutorial walks you through how to add subdivision lines, subdivide your circuit, and analyze the final netlist. The results of this subdivision are compared to the analysis of the complete circuit in order to demonstrate the accuracy of the results of the subdivision and the savings in memory.

For a detailed discussion of circuit subdivision and the use of subdividers, please refer to the "Circuit Subdivision” chapter in the Sonnet User’s Guide.

The circuit, an edge-coupled microstrip bandpass filter, is a fairly simple example of a circuit which you might decide to subdivide. In addition, it is not a very good filter design. This circuit was chosen for the purposes of clarity in explaining circuit subdivision.

You will use four vertical subdivision lines to split the circuit into five sections as shown below.

 

Obtaining the Example File

You use the example file, subdivide.son, for this example. You can obtain a copy of this file from the Sonnet Examples. If you do not know how to obtain a Sonnet example, select Help => Examples from any program menu, then click on the Instructions button. If you are reading this in PDF format, click on the link above.

  1. Open the project subdivide.son in the project editor.

    The circuit appears as shown below.




    Adding the Subdivision Lines


    The first step in subdividing a circuit is to place the subdivision lines that indicate where you wish to split your circuit. Subdivision lines should be placed in locations where there is negligible coupling across the lines. The best place to put subdivision lines in the example used here is at points in the circuit on the coupled lines as far from the discontinuities as possible. Therefore, a vertical subdivision line will be placed in the middle of each coupled pair of polygons.

    Each coupled pair of polygons is 595 mils in the x direction. Subdivision lines must be placed on the grid. The closest value to halfway which still remains on the grid is 295 mils. For the first subdivider, you must take into account the feedline polygon which is 100 mils in length. Therefore, the first subdivision line should be placed at 100 mils + 295 mils = 395 mils from the left box wall.

  2. Select Tools => Add Subdivider from the project editor menu while holding down the shift key.

    TIP:  Holding down the shift key allows you to enter multiple subdivision lines without having to select the command multiple times.

    Since there were no subdivision lines in the circuit when you selected the Add Subdivider command, the Subdivider Orientation dialog box appears on your display.




    All subdividers in your circuit must have either a vertical (up-down) orientation or a horizontal (left-right) orientation on the substrate.

  3. Click on the vertical radio button to select the vertical orientation for your subdividers.

    This sets the orientation for all subdividers subsequently added to your circuit.


    This dialog box does not appear again if you select Tools => Add Subdivider. The new subdivider assumes the same orientation. If all the subdividers are deleted from a circuit, then when the Add Subdivider command is used again, this dialog box appears.

  4. Click on the OK button to apply your selections and close the dialog box.

    The cursor changes to indicate that you are adding subdivision lines and a line appears which moves with your cursor.

  5. Move your cursor until the X coordinate of the cursor position in the status bar is 395.0 and click.

    A line representing the subdivider appears in the vertical plane running through the point at which you clicked. The sections of the circuit are now labeled ”s1” and ”s2”. Subdivision sections are labeled from left to right, or top to bottom, depending upon orientation. These labels are always sequential and are non-editable.




    Subdivision lines are always snapped to the grid and may not be placed on top of each other. Once a subdivider has been added to your circuit, you may edit the subdivider as you would any other object in your geometry. You may click on the subdivider and move it. You may also control the display of the subdivider lines and labels in the Object Visibility dialog box, invoked by selecting View ? Object Visibility from the project editor’s main menu.


    Since each of the coupled line segments are 595 mils long and you wish to place the subdivision lines at the halfway point, each subsequent subdivision line should be placed 595 mils further to the right in the circuit. So the second subdivision line should be placed at 990 mils from the left box wall.

  6. Move the cursor until the X coordinate is 990.0 in the status bar and click to place the second subdivision line.

    The subdivision line appears on your circuit and the sections are relabeled as shown below.


  7. Add subdividers at 1585 mils and 2180 mils from the left box wall.

    Once you have completed adding all the subdivision lines, press the Escape key to return to pointer mode. Your circuit should now appear like this:




    Setting Up Circuit Properties


    For this example, the circuit properties such as box size, dielectric layers, metal materials, etc. have already been input in the example circuit. It is important to have the circuit properties input before performing the subdivide since these are the properties used for all the subprojects created as the result of the subdivide. If you do not enter all the desired properties, you will need to enter them individually in each subproject or modify the original source project and execute the subdivide again.


    For this example, you will analyze the netlist using an adaptive sweep (ABS) with Hierarchy Sweep turned on. When the Hierarchy Sweep option is used, the analysis control settings for the netlist are used to analyze all the subprojects in the netlist. The desired frequency band for the circuit is 2.3 GHz to 2.5 GHz. An adaptive sweep provides approximately 300 data points.

  8. Select Analysis => Setup from the main menu.

    The Analysis Setup dialog box appears on your display.


  9. Select "Adaptive Sweep (ABS)" from the Analysis Control drop list if it is not already selected.

    This selects the Adaptive Sweep as your type of analysis. The adaptive sweep provides a fine resolution of response data over the given frequency band. Note that the text entry boxes are updated to reflect your choice of analysis.

  10. Enter 2.3 in the Start box and 2.5 in the Stop box.

    This sets up the analysis frequency band. This analysis setup is duplicated in all of the geometry subprojects when the subdivide is executed, as well as in the main netlist. The Analysis Setup dialog box should appears as shown below.


  11. Click on the OK button to save the analysis setup and close the dialog box.

  12. Select File => Save from the main menu.

    The file must be saved before executing the subdivide. The position of the subdivision lines are saved as part of your source project.


    Subdividing Your Circuit


    The actual subdivision of the project is executed by the software but you must enter names for the resulting main netlist file and subproject files produced as well as, optionally, defining a feedline length to be added to the subprojects.

    Feedlines should be added to the subprojects if you feel it necessary to move discontinuities in the various sections of the circuit further away from the boxwalls to prevent any interaction between the discontinuities and boxwalls. This can provide a more accurate analysis result for each section of the circuit. Any added feedlines are of lossless metal, regardless of the metal type to which they are attached.

    Sonnet software provides a default recommended value for the feedline or you may enter your own value.

  13. Select Tools => Subdivide Circuit from the project editor main menu.

    The Circuit Subdivision dialog box appears on your display.


  14. The name "subdivide_net.son" is provided by default in the Main Netlist Project text entry box.

    This name is used for the main netlist which connects the geometry projects resulting from the subdivide. The default name is the basename of the source project with a "net" added on. You may use any project name you wish but it must be different than the project name of the source file.

    If you wish to change the directory in which the resulting files are created, click on the Browse button to open a browse window. If you select an existing project file, you are prompted if you wish to overwrite the existing file.

  15. Click on OK to set the name and close the dialog box.

    The Subproject Specifications dialog box appears on your display as shown below. This dialog box allows you to enter names for each of the geometry subprojects that result from performing the subdivide. Default names, consisting of the main netlist project name with the section number added, are provided but may be edited. For this example, use the default names.




    The names for the subprojects must be unique and must be different from the source project name and main netlist name.

    The suggested length option is already selected for the feedline length. This feedline of lossless metal is added to ports generated when the subdivide is executed.

    To enter your own feedline length, you would select the fixed length radio button and enter the value in the corresponding text entry box. Select the None radio button if you do not wish to add a feedline.

  16. Click on the Subdivide button to execute the subdivide.

    The main netlist and subprojects are created using the names input by you. The main netlist project is opened in the project editor.




    The main network is defined as subdivide_net and has two ports. This corresponds to the source circuit. There is a project (PRJ) entry line for each of the subprojects. The project line includes the setting for the source of the analysis frequencies. A Hierarchy sweep, in which the netlist frequency sweep is imposed on all the project elements, is on by default. If you turn this off, the project default setting of using its own sweep is displayed.

    Pictured below are the geometries for the first two sections, subdivide_net_s1.son and subdivide_net_s2.son. Note that in subdivide_net_s1.son, feedlines with a reference plane have only been added to ports 2 and 3, the ports created in the subdivide, but not port 1 which is contained in the source project. All the ports in subdivide_net_s2 have feedlines since all were created in the subdivide. Note that the feedlines are all of lossless metal.



    Analysis of the Network File


    The last step to complete the analysis of the filter is to analyze the netlist project created by the subdivide. The analysis controls you entered in the original project are the ones you wish to use to analyze the netlist, so the analysis setup is already complete. An adaptive sweep from 2.3 GHz to 2.5 GHz will be performed on the netlist.

  17. Click on the project editor window containing the netlist to make this the active file.

    This is indicated by the title bar on the netlist being highlighted.


    TIP: You can switch the active file in the project editor by clicking on the title bar of the project window or by selecting the project from the Windows menu on the main menu.

  18. Click on the Analyze button to launch the netlist analysis.

    The analysis monitor appears on your display.




    The project legend indicates that subdivide_net_s1.son is being analyzed. Em will perform an adaptive sweep on each of the five subprojects and then use the resulting data to analyze the network. Status messages are output under the progress bar.

    There are two results that are significant to observe. A comparison of the netlist analysis data with the analysis data from the source circuit, and a comparison of the amount of time and memory each analysis used. We have provided the source project file including analysis data under the example sub_whole.son available in the Sonnet Examples.

    The graph below shows the results of the netlist analysis versus the results of a full analysis of the source project.



    As you can see there is very good agreement between the two analysis results. Both files were analyzed on the same computer. The time required for the netlist was actually longer than the time required to analyze the circuit as a whole because this was a simple example chosen for clarity, and the benefits of circuit subdivision are only seen for larger circuits.

    Using circuit subdivision reduces your memory requirements for analysis of a large circuit. Each of the subprojects requires less subsections to analyze than the complete circuit. This improvement comes as a result of reducing the number of subsections for any given analysis since both computation time and memory requirements rise sharply as the subsections go up, as shown on the chart below. For this example, the entire filter circuit used 2006 subsections while the largest individual piece only required 1400 subsections and the smallest only required 854 subsections.



    On many larger circuits the use of the automatic circuit subdivision features in Sonnet can greatly improve the efficiency of your
    em usage.

Additional Improvements

There are two other ways this circuit could have been made even more efficient. You could have refrained from adding the automatic feedlines and you could have taken advantage of the fact that some of the subprojects were virtually identical.

For the purpose of illustration, this tutorial added feedlines to all ports generated in the subdivide using the recommended length. Feedlines are added to a circuit to move the discontinuities in the subprojects far enough from the boxwalls to prevent interaction. In the case of this example, either discontinuities were not present or they were already far enough from the box wall that additional feedlines were unnecessary.

If you leave the feedlines out by selecting None in the Subprojects Specifications dialog box, the netlist analysis runs 1.5X faster than previously.

The last method that would allow you to decrease the processing time would be to use fewer subprojects in the netlist to create the circuit. Observation of the circuit geometry and response data shows that subdivide_net_s1.son and subdivide_net_s5.son are virtually identical. The same is true for subdivide_net_s2.son and subdivide_net_s4.son. You could edit the main netlist, subdivide_net.son so that you only use three files: subdivide_s1.son, subidivide_net_s2.son and subdivide_net_s3.son to create the whole circuit. This eliminates the need to calculate data for two out of five subprojects. This analysis is 2X faster than the analysis using feedlines and all five subprojects