Select Operation With TOUCH Option

003_select_touch : Select Operation With TOUCH Option

Minimum Required Version : Expert 4.8.8.R, Guardian 4.8.5.R

Guardian DRC contains a SELECT statement that can be used to identify layout objects for a particular design rule check. The SELECT statement has many different forms, each signified by a different relational options. In this example, the TOUCH relational option is demonstrated with the SELECT operation.

Loading the Example Circuit and DRC Script

Open Expert, load the example circuit in the Expert project select_touch_ex14.eld, and open the sample layout cell named DFF. This sample layout contains a D-Flip Flop circuit which will be used to show the operation of the SELECT command with the TOUCH option. Next, the DRC script containing the appropriate rule set must be loaded by selecting the Expert menu Verification->DRC->DRC Script Panel. From the script panel, select File->Open and browse to the DRC rule set for this example, named select_touch_ex14.dsf.


The syntax for the SELECT command with relation=TOUCH can be seen in the example DRC script and is also reproduced below:

   SELECT: Relation=TOUCH,
          [Options=([C][,NOT][,Nodes  < range >]
                             [,Shapes < range >]),]
           Layer1=< layer1 identifier >,
           Layer2=< layer2 identifier >,
           LayerR=< result layer identifier >;

This command creates shapes on LayerR of Layer1 that touch a region from Layer2 and are completely outside of Layer2. Using the options Nodes or Shapes with a specified range will only select Layer1 shapes that match that range condition. For example: Options=(Shapes > 2) will select any Layer1 region that touches more than 2 Layer2 regions. Another option setting shown above is Options=(C) , in which the selection operation will be based on electrical connectivity information. Using Options=(NOT) will perform the selection operation if the conditions of the select command are not met.

In this example the SELECT command with relation=TOUCH is used to find any regions where P+ active and N+ active abut in order to form a connecting well or substrate tie. The scratch layer "p_n_butting" is created by the SELECT command and then is flagged as an error in the error database by using the COPY command, which will copy the resulting geometry "p_n_butting" to ID="text" , which contains the rule name or description.

The "p_n_butting" scratch layer, along with other scratch layers generated by the Guardian commands are written back to the layout in this example deck. To prevent any scratch layers from being written to the layout, the command:
can be changed to

DRC Output

To run the example DRC script, select the menu item DRC->Run from the DRC script panel with the select_touch_ex14.dsf script loaded. Once the DRC is complete, return to the Expert window containing the layout and select Verification->DRC->Errors->Load Errors. This will open the error window containing all errors found by the DRC script. As seen in Figure1 , there is one error for the abutment of N+ active and P+ active.

By selecting the first error and clicking on the "Load" button in the error window and selecting the Expert menu item Verification->DRC->Errors->First Error the layout view will be taken to the first violation as seen in Figure2 , which shows the N+ active region of an NMOS device with a butting P+ substrate tie.