Professional Documents
Culture Documents
DRC ViolationMarker
DRC ViolationMarker
© 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.
Contents
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
A violation name mapping table listing all the DRC violation names is shown below:
Violation Violation
Type Description Type Description
Cut To Metal
C2MCvx ConvexCorner Spacing MinEnc Minimum Enclosed Area
Violation Violation
Type Description Type Description
Non-sufficient Metal
Color SameMask Spacing NSMet Overlap
Same-Metal-Share-Edge
CutOrt Cut Orthogonal Spacing ShEdgH Spacing
Same-Metal-Share-Edge
CutSpc Same Layer Cut Spacing ShEdgV Spacing
Directional SpanLength
DSLCol Spacing SLTbl Span Length Table
Directional SpanLength
DSLSpc Spacing SpacH Horizontal Spacing
ParallelSpanLength
Enc2Jt EnclosureToJoint SpnSpc Spacing
Violation Violation
Type Description Type Description
Non-sufficient Metal
EncEO EnclosureEdge Opposite V_NSM Overlap
Click Tools -> Violation Browser to display the Violation Browser window, as shown
below:
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.
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:
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.
In the Violation Browser window, click the gear icon (highlighted with a red oval in the
following figure).
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.
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:
Click the marker in the main GUI and zoom to the marker, as shown below:
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:
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.
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)
-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.
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
ResourcesProduct Manuals INNOVUS 16.2 Innovus Text Command
Reference
This pdf can be searched with the document 'Title' on https://support.cadence.com
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.
Feedback
Email comments, questions, and suggestions to content_feedback@cadence.com.