Connectivity Options for DRC Spacing Check Operations in Savage

An IC layout has to satisfy many technological design requirements. One of these is spacing, i.e., a layout object has to be separated from another one by some minimal distance.

In addition, any spacing requirement (e.g. minimal distance between layout objects) varies depending on the particular features of the layout objects, e.g. the layer the objects belong to, the purpose of these objects, etc.

A rule set (or script) of DRC commands allows a designer to separate objects with particular features and then to check them according to technological requirements.

An important characteristic of a layout object is that it belongs to an electrical node as almost every geometrical object is a part of an electrical circuit, e.g. a wire, a drain, a gate, etc. The technological requirements for objects can be different depending on whether these objects belong to the same electrical node.

The information that defines whether layout objects belong to the same electrical node is called "connectivity data". This data can be used along with any spacing requirements during the rule checking.

If a designer is going to use DRC spacing check operations which take into account the connectivity information the option C or C’ must be specified. The option C in a DRC check operation means the operation checks a spacing requirement only between the objects that belong to different electrical nodes. The option C' means the operation checks the spacing requirement only between objects that belong to the same electrical node.

For example:

Outdistance: Options=(C',.), Layer1=NBL, Layer1=METL1, .;

This operation will check the outer distance between every two layout objects, one of which belongs to layer NBL, another to layer METL1 and both these objects have to be in the same electrical node (see Figure 1).

Figure 1. DRC Spacing Check operation with the option C'.
Object 1 and 2 belong to the layer NBL, object 3 - to the layer METL1.
Object 1 and 3 belong to the same electrical node.


An important stage of the usage of the connectivity information in DRC check operations is its preparation.

Firstly a designer has to define electrical dependencies between layers. This can be done e.g., from the user's interface: Setup>> Technology>> Layer Connection Setup (see Figure 2). The next step is to build the connectivity information: Verification>>Node probing>> Reextract Connectivity (see Figure 3). After the above two steps, the designer can run a rule set which uses the check operations with the connectivity options.

Figure 2. Dialog "Layer Connection Setup".


Figure 3. Menu Item to build connectivity information.


If a designer tries to start a rule set with check operations that use the connectivity options but the connectivity information was not, then a window with a warning message appears (see Figure 4). This window suggests three choices:

  • prepare connectivity information based on existing Layer Connection Setup and continue running rule set;

  • ignore connectivity in commands; it means that the option C or C' will be ignored in DRC check operations;

  • stop processing the DRC script

Figure 4. Warning Message.


Another way to prepare the connectivity information is to import a DRC rule set and a technology description from another (non-Expert) system. To do that, a designer needs to perform the following steps:

  1. Convert a foreign rule set (e.g., `net.dsf'): Setup>>Technology>>Import Technology>> Netlist Definition (see Figure 5).

  2. Reload the layout project with a new converted technology file (*.tcn).

  3. Run a derivation rule set (net_*.dsf) to create all derived layers which do not permanently exist in the project.

  4. Build the connectivity information (see above "Reextract Connectivity").

  5. Run a DRC rule set (drc_*.dsf).

Figure 5. Dialog to Import DRC Rule Set with connectivity information.