Automating the cumbersome initial setup for via merging …

Via merging is important for EM simulation of RFIC layouts, because we don’t want to simulate the via array with all those individual vias. Merging the via array into one large polygon results in much more efficient EM simulation.

Last July, we published an application note on automated via merging in ADS. The recommend method for ADS 2012 and later is the use of “derived layers” which define processing rules for ADS. This processing is done fully automatically before the Momentum EM simulation starts. Nice method, clean and easy.

The only downside if this approach is the initial setup work, to configure via merging once for a library or PDK.  Retrofit Viamerge does that work for you. It lets you choose an existing substrate definition in your workspace or PDK, and automaticaly creates a new substrate version for automatic viamerging. This makes it very easy to add via merging with derived layers to an existing library or PDK, without manual setup work.

Adding a derived layer for via merging

Requirements

Retrofit Viamerge is implemented as an ADS designkit, and is compatible with ADS releases 2012.08 or newer. After creating the new substrate, Retrofit Viamerge is no longer needed and can be removed from the workspace.

Pricing and availability

The software is available at no cost. Please contact support@muehlhaus.com for download information.

Using Retrofit Viamerge

This section describes the different scenarios how Retrofit Viamerge can be used, and which files/setting it creates in which libraries.

When you add the Retrofit Viamerge designkit, it will add a menu to the ADS main window. From that menu, you can start the conversion process. The software then looks at all the libraries in your workspace, and all referenced libraries in PDKs that you have added to the workspace, and finds existing EM substrate files. Then, it shows you a list with all found substrates, and you have to choose which substrate you want to convert. Here, convert means that it creates a copy of the original substrate file, and modify that copy. The original substrate file is not modified.

When you retrofit a library for viamerging,

  • derived layers for via array merging are created and
  • a new substrate file is created which maps these derived layers, instead of the original vias.

If you convert a substrate from a library where you have write permissions, the derived layers and the new substrate are created in the same library. If you convert a substrate from a read-only library, the substrate will first be copied to your working library (the first writable library in your workspace) and then derived layers and viamerge substrate are created in your working library.

To retrofit via array merging to the designkit (PDK) library instead of the current workspace library, you have to make sure that the PDK library is loaded with write permission (PDK loaded with for_editing_pdk.defs instead of libs.def).

(click to view full size)

(click to view full size)

(click to view full size)

Two derived layers are created for each via: one derived layer does the basic via merging, and the second derived layer does a boolean AND with the metal at the upper end of the via, to make sure that vias are only merged inside the same array, without creating short circuits between adjacent via arrays. Due to this additional safety check, which prevents short circuits between closely spaced via arrays, the distance parameter for via array merging can be set to a large default value of 1 micron for all layers. This will merge all via arrays with up to 2 micron spacing between the individual via, without adding unintended short circuits.

(click to view full size)

When derived layers are created, the software will check for existing layers with “_viamerge” in the name. If these exist, they will be used and mapped in the new substrate. Missing derived layers will be created automtically, if they do not yet exist. In this case, the software will prompt for a layer range where these new derived layers are created, and check if this layer range is available.