logo

Design Rule Checker

logo
the fair gds editor

Introduction
Screenshots
License
Download
Userinterface
Function Index
White Papers
Community
Contact

mouse left
no help

DRC-Introduction

  • Description:

    The LayoutEditor supports different DRC checks. The basic concept of all checks is always the same: Within any check the data is copied, the hierarchy is flatten and the check is performed. All errors are moved to an error layer. All other shapes are deleted. To the unmodified original cell a new cell reference with all errors is added. If an identical check was performed before the earlier results are deleted. Beside the graphical display a small report with the errors is generated.

    As a matter of course all design rule checks work on all angle elements.

    Each DRC check avaiable in the user interface just performs a single check. For a complete DRC a plenty of rules are required. Please see here how to create a complete Design Rule Check with multiply rules.

Minimum Size

  • Icon:
  • Menulocation: Utilities/DRC Tools/Minimum Size
  • Toolbar: DRC Tools
  • Description:

    All elements on the current layer are checked on a minimum size. The size had to be entered in a dialog. You have also the choice to perform an integrated merge before preforming the check. Incorrect elements will be copy on the error layer. Also the location of the defect will be marked. Sharp angles (> 90°) will also be marked.
  • Example:

    drc example

Minimum Elements Distance

  • Icon:
  • Menulocation: Utilities/DRC Tools/Minimum Elements Distance
  • Toolbar: DRC Tools
  • Description:

    Elements on the current layer with a distance less than a entered value are marked as an error. You have also the choice to perform an integrated merge before preforming the check. Incorrect elements will be copy on the error layer. Also the location of the defect will be marked.
  • Example:

    drc example2

Overlapping Elements

  • Icon:
  • Menulocation: Utilities/DRC Tools/Overlapping Elements
  • Toolbar: DRC Tools
  • Description:

    It is check if there is a overlapping area of elements on the active layer.
  • Example:


Minimum Distance

  • Icon:
  • Menulocation: Utilities/DRC Tools/Minimum Distance
  • Toolbar: DRC Tools
  • Description:

    It checks two layers for a distance less than a entered value. The value and the two layers are entered in a dialog. The location of the lowest distance will be marked.
  • Example:


Minimum Distance Or Overlap

  • Icon:
  • Menulocation: Utilities/DRC Tools/Minimum Distance
  • Toolbar: DRC Tools
  • Description:

    Two layers with a distance less than a entered value are marked as an error. If the elements are overlapping, it is not marked as an error. It is adjustable, whether violation away from the overlap (in the example on the left) should be marked as an error.
  • Example:


Inside

  • Icon:
  • Menulocation: Utilities/DRC Tools/Inside
  • Toolbar: DRC Tools
  • Description:

    All the area of one layer must be inside other specified layers. You can specify up to 3 layers. Also a minmum space around the inside layer can be checked.
  • Example:


Enclosure

  • Icon:
  • Menulocation: Utilities/DRC Tools/Enclosure
  • Toolbar: DRC Tools
  • Description:

    It is check, whether the first layer overlaps over the second layer more than the entered distance.
  • Example:


Minimum Overlap

  • Icon:
  • Menulocation: Utilities/DRC Tools/Minimum Overlap
  • Toolbar: DRC Tools
  • Description:

    Elements on two layers must have at last a minimum overlap of an entered value.
  • Example:


Overlap Distance

  • Icon:
  • Menulocation: Utilities/DRC Tools/OverlapDistance
  • Toolbar: DRC Tools
  • Description:

    Overlapping areas of the two enter layers must have a minimum distance.
  • Example:


Layer Combination

  • Icon:
  • Menulocation: Utilities/DRC Tools/Layer Combination
  • Toolbar: DRC Tools
  • Description:

    It is check, if there are region on all named layers. If so, they are marked as an error. Up to five layers can be checked.
  • Example:


On Grid

  • Icon:
  • Menulocation: Utilities/DRC Tools/On Grid
  • Toolbar: DRC Tools
  • Description:

    Elements with point not on the grid are marked as an error.

No Holes

  • Icon:
  • Menulocation: Utilities/DRC Tools
  • Toolbar: DRC Tools
  • Description:

    Polygons with inner holes are marked as an error. Optional a merge operation before the check is possible.
  • Example:


Minimum Notches

  • Icon:
  • Menulocation: Utilities/DRC Tools
  • Toolbar: DRC Tools
  • Description:

    Checks for notch smales than a entered value. Optional a merge operation before the check is possible.
  • Example:


Angle Check

  • Icon:
  • Menulocation: Utilities/DRC Tools
  • Toolbar: DRC Tools
  • Description:

    Check all angels of an element. It can be check on acute angles, 45°angle and 90°angles. Optional a merge operation before the check is possible.

Dimension Check

  • Icon:
  • Menulocation: Utilities/DRC Tools
  • Toolbar: DRC Tools
  • Description:

    Check for minimum/maximum dimensions. The dimension is measured in the orientation allong the x/y axis. Optional a merge operation before the check is possible.
  • Example:


Area Check

  • Icon:
  • Menulocation: Utilities/DRC Tools
  • Toolbar: DRC Tools
  • Description:

    Check the area of a single element. Checks for a minimum and for a maximum are possible. Optional a merge operation before the check is possible.

Perimeter Check

  • Icon:
  • Menulocation: Utilities/DRC Tools
  • Toolbar: DRC Tools
  • Description:

    Check the perimeter of a single element. Checks for a minimum and for a maximum are possible. Optional a merge operation before the check is possible.

Set Error Layer

  • Icon:
  • Menulocation: Utilities/DRC Tools/Set Error Layer
  • Toolbar: DRC Tools
  • Description:

    Sets the current layer to the layer where errors are displayed.

Show DRC Report

  • Icon:
  • Menulocation: Utilities/DRC Tools/Show DRC Report
  • Toolbar: DRC Tools
  • Description:

    A report of the prior detected errors is displayed.

No Element

  • Icon:
  • Menulocation: Utilities/DRC Tools/No Element
  • Toolbar: DRC Tools
  • Description:

    It is check if there is any element on the active layer.

No Path

  • Icon:
  • Menulocation: Utilities/DRC Tools/No Path
  • Toolbar: DRC Tools
  • Description:

    It is check if there is any path element on the active layer.

No Box

  • Icon:
  • Menulocation: Utilities/DRC Tools/No Box
  • Toolbar: DRC Tools
  • Description:

    It is check if there is any box element on the active layer.

No Text

  • Icon:
  • Menulocation: Utilities/DRC Tools/No Text
  • Toolbar: DRC Tools
  • Description:

    It is check if there is any text element on the active layer.

No Polygon

  • Icon:
  • Menulocation: Utilities/DRC Tools/No Polygon
  • Toolbar: DRC Tools
  • Description:

    It is check if there is any polygon on the active layer.

No Circle

  • Icon:
  • Menulocation: Utilities/DRC Tools/No Circle
  • Toolbar: DRC Tools
  • Description:

    It is check if there is any polygon with a circular shape on the active layer.

Only Circle

  • Icon:
  • Menulocation: Utilities/DRC Tools/Only Circle
  • Toolbar: DRC Tools
  • Description:

    It is check if there are any other elements on the active layer then polygon with a circular shape. This function may be useful for layers which are drilled.

Design Rule Checker Macro

  • Description:

    Each DRC check avaiable in the user interface just performs a single check. For a complete DRC a plenty of rules are required. For a complete DRC in one step please create a macro with all your rules. There you can also give each rule an individual name. This macro gives an example. It is also included in the example macros.

    #!/usr/bin/layout
    #name=Macro: drc example.layout
    #help=example for a drc macro


    int main(){

    layout->drcTool->result="DRC (LayoutEditor example) \r\n";

    // setup error layer
    layout->drawing->activeLayer=0;
    layout->drcTool->setErrorLayerToActiveLayer();

    // check for layer metal 1
    layout->drcTool->ruleName= "Minimum Size Metal1";
    layout->drcTool->minimumSize(800,6,true);
    layout->drcTool->ruleName= "Minimum Distance Metal1";
    layout->drcTool->minimumElementDistance(800,6,true);

    // check for layer metal 2
    layout->drcTool->ruleName= "Minimum Size Metal2";
    layout->drcTool->minimumSize(900,8,true);
    layout->drcTool->ruleName= "Minimum Distance Metal2";
    layout->drcTool->minimumElementDistance(900,8,true);

    // check for via1 (metal1 to metal2)
    layout->drcTool->ruleName= "Via in metal1";
    layout->drcTool->inside(50,7,6);
    layout->drcTool->ruleName= "Via in metal2";
    layout->drcTool->inside(60,7,8);


    layout->drcTool->showReport();

    }