Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

How to Use DRC Violation Marker

Product Version: Innovus 15.22


February 2016
Copyright Statement

© 2016 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence and the
Cadence logo are registered trademarks of Cadence Design Systems, Inc. All others are the
property of their respective holders.

Learn more at Cadence Online Support - https://support.cadence.com 2


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Contents

About this Document ......................................................... 4


Purpose ....................................................................................................................... 4
Audience...................................................................................................................... 4
Acronym List ................................................................................................................ 4
Related Documents ..................................................................................................... 4
How Does the DRC Violation Marker Work? ..................... 5
How to Check DRC Rules ........................................................................................... 5
The NanoRoute DRC Violation Table .......................................................................... 5
The verify_drc Violation Information ............................................................................ 8
How to Review DRC Violations in a GUI Form ............................................................ 9
How to Filter DRC Violation Markers ......................................................................... 11
How to Find the Relevant Tech LEF Rules ................................................................ 13
Application Tips ............................................................... 17
References ...................................................................... 19
Support ............................................................................ 20
Feedback......................................................................... 21

Learn more at Cadence Online Support - https://support.cadence.com 3


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

About this Document


Purpose
This document explains the usage of the Design Rule Check (DRC) violation markers
reported by the verify_drc and NanoRoute routings. It also covers some scenarios in
which the DRC violation markers are reviewed. It describes how to read a DRC violation
marker, debug the DRC issues, and filter the DRC markers.

Audience
This document is intended for those who use Innovus for routing of regular and special
wires.

Acronym List
Acronym Definition
DRC Design Rules Check
INNOVUS® System Innovus Digital Implementation System
LEF Library Exchange Format
DRC Design Rules Check
DRM Design Rule Manual

Related Documents
For detailed information about the NanoRoute auto via generation capability, the following
list of documents is recommended:
 Innovus User Guide:
o The “Using the NanoRoute Router” section of the “Design Implementation
Capabilities” chapter.
 The following commands in Innovus Text Command Reference:
o verify_drc
o set_verify_drc_mode
o saveDrc
o loadDrc
o loadViolationReport

Learn more at Cadence Online Support - https://support.cadence.com 4


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

How Does the DRC Violation Marker


Work?
This section explains the background of the DRC violation checking and reporting.
NanoRoute honors the DRC rules for routing and reporting a DRC violation marker if the
DRC issues are not resolved. The DRC violation markers are only related to regular
routing.
verify_drc verifies both special and regular wires based on the tech Library Exchange
Format (LEF) rules. The DRC violation markers are visible in the Innovus GUI, and you
can review those from Violation Browser.
Generally, the NanoRoute DRC violation markers are used to debug routing issues, and
verify_drc violations are used to qualify routing results.

How to Check DRC Rules


The DRC rules are defined in tech LEF. Both NanoRoute and verify_drc follow the
DRC rules listed in tech LEF.
NanoRoute reads all the objects in the database, considers the special wires and pin/obs
as fixed objects, and checks the regular objects. NanoRoute picks the DRC rules from
the database and verifies the regular objects. If the regular objects violate the DRC rules,
NanoRoute creates a DRC violation marker and highlights those objects that generate
the DRC issues.
verify_drc reads in all the objects in the database and checks all the objects (pin/obs
check to be supported in future). verify_drc picks the DRC rules from the database,
and verifies various types of objects, such as:
 Individual
 Regular to regular
 Special to special
 Special to other
 Regular to other objects
If the objects violate the DRC rules, verify_drc creates a DRC violation marker within
the objects or between the objects.

The NanoRoute DRC Violation Table


NanoRoute prints a violation table in the log file that includes the summary of violation
markers by type and layer.

Learn more at Cadence Online Support - https://support.cadence.com 5


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

A violation name mapping table listing all the DRC violation names is shown below:

Violation Violation
Type Description Type Description

Same Mask Adjacent Cut


AdjCSM Spacing Litho Litho

AdjCut Adjacent Cut Spacing Loop Metal Loop

Ant Antenna LthBDG Litho Bridging

AntAR Antenna Area Ratio LthEOL Litho EndOfLine

Antenna Cumulative Area


AntCAR Ratio LthNCK Litho Necking

Antenna Cumulative Side


AntCSA Area Ratio Mar Minimum Area

AntSAR Antenna Side Area Ratio MaxStk MaxViaStack

ArSpac Metal Area Spacing MaxWid Maximum Width

SADP Block Mask


BlockM Violation MetSpc ParallelRunLength Spacing

Same Layer Same Mask


C2CCol Cut Spacing MinCut Minimum Cut

Cut To Metal Concave


C2MCon Corner Spacing MinEnc MinHole

Cut To Metal
C2MCvx ConvexCorner Spacing MinEnc Minimum Enclosed Area

Cut To Metal Orthogonal


C2MO Spacing MinStp MinStep

C2MSpc Cut To Metal Spacing MinWid Minimum Width

Cut to Wrong Way Metal


C2MWW Spacing MtMCut Minimum Cut

ColChg Metal Color Change NdrSpc NonDefaultRule Spacing

Learn more at Cadence Online Support - https://support.cadence.com 6


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Violation Violation
Type Description Type Description

Corner Spacing Same


ColCrSp Mask Notch Notch Spacing

Non-sufficient Metal
Color SameMask Spacing NSMet Overlap

CorFil Corner Fill Spacing OffGrd Off Grid or Wrong Way

CorSpc Corner Spacing Open Physical Open

CShort Cut Short PinAcc Pin Access Constraint

CutCtr Cut On CenterLine Protru Protrusion

CutDen Cut Density Prvent Preventive Violation

CutEol Cut EolSpacing Rect Rect Only

CutFbd Cut Forbidden Spacing RtHalo Routint Halo wrong way

Different Layer Cut Same-Metal-Share-Edge


CutInr Spacing SharedE Spacing

Same-Metal-Share-Edge
CutOrt Cut Orthogonal Spacing ShEdgH Spacing

Same-Metal-Share-Edge
CutSpc Same Layer Cut Spacing ShEdgV Spacing

Detour wire detours Short Metal Short

Directional SpanLength
DSLCol Spacing SLTbl Span Length Table

Directional SpanLength
DSLSpc Spacing SpacH Horizontal Spacing

Enc Enclosure SpacV Vertical Spacing

ParallelSpanLength
Enc2Jt EnclosureToJoint SpnSpc Spacing

Learn more at Cadence Online Support - https://support.cadence.com 7


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Violation Violation
Type Description Type Description

EncEdg EnclosureEdge V_EOL EndOfLine Spacing

Non-sufficient Metal
EncEO EnclosureEdge Opposite V_NSM Overlap

EncPrl Enclosure Parallel V_VirG Pin Access

EncSpc Enclosure Spacing V_WMJ JogToJog Spacing

EOLColor EndOfLine Color Spacing Via Via

EolExCol EolExtension Spacing ViaClu Via Cluster Violation

EolExt EolExtension Spacing ViaEol EndOfLine Spacing

EolKO EndOfLine Keepout ViaMSt MinStep

EolOpp OppositeEol Spacing ViaWmj JogToJog Spacing

EOLSpc EndOfLine Spacing VMinST MinStep

FbdSp Forbidden Spacing VNotch Notch Spacing

FeedTh Feedthrough On Pin VolSpc Voltage Spacing

HVGeo Pin Access WidTbl WidthTable

InfSpc Influence Spacing WireFuse Fuse On Wire

IsoCut Isolated Cut WMJ JogToJog Spacing

Joint Corner Spacing - -


JCSCol SameMask

JCSpc Joint Corner Spacing - -

The verify_drc Violation Information


verify_drc creates a report file with a user-specified name that includes the DRC
violation marker information, such as the layer, the net name, and the violation type name.

Learn more at Cadence Online Support - https://support.cadence.com 8


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

The verify_drc usage format is shown below:


verify_drc -report verify_drc.marker.rpt
Following is an example of the CUTSPACING DRC violation in report file:
CUTSPACING: Regular Wire of Net L2cLsu_FillData_l2x[343] & Special Wire of Net VSS
( M6 )
Bounds: ( 732.800, 590.036 ) ( 732.910, 590.152 )
CUTSPACING: the violation type.
Regular: Object 1 type.
Special: Object 2 type.
L2cLsu_FillData_l2x[343]: Object 1 net name.
VSS: Object 2 net name.
M6: Marker layer name.
Bounds: Marker boundary box.
In the marker description, you can view more information, such as the actual value, target
value, and violation sub-type:

Figure 1: The Marker Description

Following are the verify_drc fields:


• Actual: Specifies the actual spacing between the two objects.
• Required: Specifies the spacing required by DRC rules.
• Type: Specifies the violation sub-type.

How to Review DRC Violations in a GUI Form


You can review DRC violation markers in GUI forms while using the NanoRoute or
verify_drc commands.

Learn more at Cadence Online Support - https://support.cadence.com 9


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Perform the following steps:

Click Tools -> Violation Browser to display the Violation Browser window, as shown
below:

Figure 2: The Violation Browser Window

In the Violation Type section, select a layer name by expanding the hierarchy tree. For
instance, the above screen shows the selection of the M1 layer by expanding Verify ->
Geometry -> CutSpacing -> M1 (1/1). The corresponding object and location information
related to the selected layer is displayed under the Violation section.
Click anywhere on this layer entry to automatically zoom the marker location in the main
GUI. Select the Auto Zoom, Active Layer, and Blink Viol checkboxes below the
Description section to highlight the selected markers for an easy review.
The Description section displays the target and actual values and the violation sub-type
for the selected layer. You can use this information to find the DRC rules and debug the
issue.
You can use the following fields under the Save Report section:
• Drc File: To save the DRC file for reloading the next time.
• Report File: To save the violation markers to a report file, which can be used for
review or filtering.

Learn more at Cadence Online Support - https://support.cadence.com 10


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Following is an example of the main GUI (zoomed) of the NanoRoute marker, presenting
the DRC issue location through the real-line marker, and aggressors through dot-line
markers:

Figure 3: GUI Displaying the DRC Issue

A page with various checkboxes appears on clicking the GUI. Select the checkboxes to
highlight the objects with DRC issues, as shown below:

Figure 4: GUI with Checkboxes for Highlighting Objects with DRC Issues

Note: verify_drc markers are similar to NanoRoute markers, except that the
verify_drc markers have no checkboxes in the GUI form for highlighting objects with
DRC issues.

How to Filter DRC Violation Markers


Perform the following steps:

In the Violation Browser window, click the gear icon (highlighted with a red oval in the
following figure).

Learn more at Cadence Online Support - https://support.cadence.com 11


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

The Violation Browser Settings dialogue box appears, as shown below:

Figure 5: The Violation Browser Settings Dialog Box

Select the Geometry and Short checkboxes under the Show Types section to filter the
markers, and display only the selected violation types in GUI.
Through the Show Area section, you can specify the area for the violation markers to be
displayed in the Violation Browser window.
Through the Delete Violations section, you can specify the area for the violation markers
to be removed from GUI.
You can type a value for setting the marker display number by selecting the Error Per
Type checkbox under the Other Filters section. For example, on typing 500, each violation
type displays only 500 markers. This saves the run time in case the DRC violation markers
are large.
You can select the View False Violation checkbox under the Other Filters section to
display false DRC violation markers.
You can select the Search Description For Filter String checkbox under the Other Filters
section to search the DRC violation markers using keywords. The filter string supports a
complex logical expression for filtering violations.
You can specify the following conditions in the search expression:
• && between strings: To specify the AND condition.

Learn more at Cadence Online Support - https://support.cadence.com 12


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

• || between strings: To specify the OR condition.


• ! before a string: To specify the NOT condition and also to denote a 1's
complement operator.
The -filter_query parameter supports search in the object, layer, and description
areas. The area can be specified using the object, layer, and description keywords. For
example:
object(net1) || layer(m2) && desc(*xxx*)
You can also use the wildcards * and ? in the search expression. For example:
!object(clk*) && layer(m?)
To specify a literal string with a space in it, enclose the string in double quotation marks.
For example:
!object(clk*) && desc("*prl spacing*")

How to Find the Relevant Tech LEF Rules


While reviewing the DRC violation markers, you need to follow the tech LEF rules to
ensure that the markers are real. And if the markers are not real, you need to fix those
based on DRC rules.
The DRC violation marker does not include the LEF rules. Therefore, you need to cross-
check the marker information and the tech LEF rules to be used in that scenario.

Learn more at Cadence Online Support - https://support.cadence.com 13


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Following is an example (with steps) to find the spacing rules from DRC violation marker:
Navigate to the Violation Browser window to display only the marker, as shown below:

Figure 6: Violation Browser Showing Selected DRC Violation Marker

Click the marker in the main GUI and zoom to the marker, as shown below:

Figure 7: Checking the Marker in GUI

Learn more at Cadence Online Support - https://support.cadence.com 14


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

From the DRC violation marker, you get the message shown below:
The DRC issue occurs on M2, it is a ‘ParallelRunLength Spacing’ issue between special
and regular wires. The target spacing is 0.06 um, but the actual spacing is 0.025 um.
Run the puts $init_lef_file command to print the LEF files and open the first
printed file. Select the M2 layer and find the spacing table by running the keyword
ParallelRunLength. The spacing table appears, as shown below:

Figure 8: Spacing Table

Measure the metal width and the parallel length using the Measure icon (highlighted with
a red oval in the following figure). The width is 0.1um and the parallel length is 0.42um.
These values are not matching with those specified in the spacing table. To fix the issue,
the spacing need be enlarged, or the parallel length need to be shortened.

Figure 9: Enlarging the Table Spacing - I

Learn more at Cadence Online Support - https://support.cadence.com 15


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Figure 10: Enlarging the Table Spacing - II

Learn more at Cadence Online Support - https://support.cadence.com 16


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Application Tips
The following tips are useful for reviewing and debugging DRC violation markers:
1. Use verify_drc options to filter DRC markers, as shown below:
set_verify_drc_mode
-area {lx ly ux uy}
# Specifies the coordinates of the area to verify (box, default={0 0 0 0})
-check_implant {true|false}
# Checks the implant layer (Boolean, default=true)
-check_ndr_spacing {true|false}
# Checks the non-default rule spacing as a hard rule (Boolean,
default=false)
-check_only {all|regular|special}
# Specifies what kind of shapes need to be checked (enums={all regular
special}, default=all)
-check_routing_halo {true|false}
# Checks the routing halo (Boolean, default=false)
-check_routing_halo_corner {true|false}
# Checks the routing halo in the corner (Boolean, default=false)
-check_same_via_cell {true|false}
# Checks the cut spacing from the same via (Boolean, default=false)
-disable_rules
{eol_spacing|cut_spacing|min_cut|enclosure|color|min_step|p
rotrusion|min_area}
# Disables the rule from the provided rule list. The rule list is the following:
(eol_spacing
cut_spacing min_cut enclosure color min_step protrusion
min_area)
(enums={eol_spacing cut_spacing min_cut enclosure color
min_step protrusion
min_area}_list, default= )

-exclude_pg_net {true|false}
# Excludes the checking of power and the ground nets (Boolean,
default=false)

Learn more at Cadence Online Support - https://support.cadence.com 17


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

-ignore_trial_route {true|false}
# Ignores trial route while checking DRC (Boolean, default=false)
-layer_range {layer1 [layer2]}
# Checks between the range of metal layers including the cut layers in
between (string, default="")
-limit <value>
# Specifies the maximum number of errors to report (int, default=1000)
-max_wrong_way_halo <value>
# Specifies the maximum wrong way, which has halo violations (float,
default=-1)
-use_min_spacing_on_block_obs {true|false|auto}
# Uses the minimum spacing to check for blockOBS (enums={true false
auto}, default=auto)
2. Use saveDrc/loadDrc to save history markers for comparing. saveDrc saves
the existing DRC violation markers to a file. loadDrc removes all the existing DRC
markers from the database and restores the old DRC violation markers from the
DRC file. loadDrc -incremental restores the old DRC violation markers from
the DRC file without removing the existing DRC markers from the database.
3. Use loadViolationReport to restore the third-party tool markers. When
verify_drc has correlation issues with third-party tools, use
loadViolationReport to restore third-party tool markers.
loadViolationReport reads the DRC markers incrementally. You can
compare the third-party markers with verify_drc markers.

Figure 11: Comparing Third-party Markers with verify_drc Markers

Learn more at Cadence Online Support - https://support.cadence.com 18


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Select a layer from the Verify Violation Type and highlight the markers as red, as
shown above. Click the marker and auto-zoom to the markers’ location, and find
the marker differences between verify_drc and third-party tools.

References
Encounter Digital Implementation System User Guide & Encounter Digital
Implementation System Text Command Reference can be found on
https://support.cadence.com as:
 Resources Product Manuals  INNOVUS 16.2  Innovus User Guide
 ResourcesProduct Manuals  INNOVUS 16.2  Innovus Text Command
Reference
This pdf can be searched with the document 'Title' on https://support.cadence.com

Learn more at Cadence Online Support - https://support.cadence.com 19


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Support
Cadence Online Support provides access to support resources, including an extensive
knowledge base, access to software updates for Cadence products, and the ability to
interact with Cadence Customer Support. Visit http://support.cadence.com.

Learn more at Cadence Online Support - https://support.cadence.com 20


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.
How to Use DRC Violation Markers

Feedback
Email comments, questions, and suggestions to content_feedback@cadence.com.

Learn more at Cadence Online Support - https://support.cadence.com 21


© 2016 Cadence Design Systems, Inc. All rights reserved worldwide.

You might also like