fix_litho_errors
fix_litho_errors [ -allow_hint_adjust [ true | false ] ] [ -allow_hintless_fixing [ true | false ] ] [ -annotate [ all | none | unfixed | ignored | SPACING | ENCLOSURE | WIDTH | LINEEND | SPACEEND | GATE_CD |s_errorTypeName] ] [ -annotation_limiti_count] [ -error_type {all | SPACING | ENCLOSURE | WIDTH | LINEEND | SPACEEND | GATE_CD |s_errorTypeName} ] [ -force [ true | false ] ] [ -incremental_check [ true | false ] ] [ -layers {s_layerName…} ] [ -mode { 1 | 2 | 3 } ] [ -no_repaint ] [ -push_limit{1 | 2 | 3 | 4 | 5}] [ -region {f_xlof_ylof_xhif_yhi} ] [ -reports_fileName[ -report_unfixed [ true | false ] ] ] [ -severity {i_severityLevel…} ] [ -soft_rules_adherence [ true | false ] ] [ -top_level_only [ true | false ] ] [ -use_fill_shapes [ true | false ] ]
Description
Attempts to fix lithography errors based on Lithography Errors given in the Violations page of the Annotation Browser. To run this command, you must first run read_litho_errors or check_litho_errors to create the lithography error annotations.
You can optionally incrementally fix and check lithography errors (-incremental_check) if you have Litho Physical Analyzer installed, have an LPA license, and first run initialize_lpa to enable Litho Physical Analyzer checking.
For best results when using this command, you should enable gridless routing.
set_route_on_grid -on_grid false
Arguments
Value Returned
During processing, the following messages might occur:
-
Error: LPA layer mapping failure: fail to map layer <layerName>
The layer, declared in the layer map file, does not exist in the OpenAccess database. Remove the layer from the layer map file. -
Warning: Change detected on layer <layerName> but LPA has not been initialized for this layer
A change was made in the given layer but cannot be check for lithography errors because LPA has not been initialized for this layer. The layer is not declared in the LPA configuration file or there is no technology file associated with the layer in the LPA configuration file.
Via layers are not currently supported in the technology file.
Examples
Example 1—Fix all width violations using only hints
fix_litho_errors -error_type width -allow_hintless_fixing false
Example 2—Fix all width violations using hints and hintless methods
fix_litho_errors -error_type width -allow_hintless_fixing true
Example 3—Fix all width violations without adding fill shapes and only using hints
fix_litho_errors -error_type width -allow_hintless_fixing false -use_fill_shapes false
Example 4—Fill all violations using hintless methods including pushing wires and vias, and incremental wiring
fix_litho_errors -error_type all -allow_hintless_fixing true -mode 3
Example 5—Fix all violations and create annotations for unfixed errors
fix_litho_errors -annotate unfixed
Example 6—Incrementally fix all violations using only hints and create annotations for fixed, unfixed, and ignored errors, output all checked areas to a Litho check file
fix_litho_errors -annotate all -incremental_check true \
-allow_hintless_fixing false -report area_check.hif
The following is an example of the Lithography Hotspots Fixing Summary that is output to the Transcript area.
Lithography Hotspots Fixing Summary:
# + LAYER DETAILS =======================================================
# | Layer | | Fixed | | |
# | (Severity) | Analyzed | w/hints | w/o hints | Ignored | Unfixed |
# |---------------------------------------------------------------------|
# | metal2 | 63 | 46 | 16 | 0 | 1 |
# | (1) | (6) | (3) | (3) | (0) | (0) |
# | (2) | (19) | (13) | (5) | (0) | (1) |
# | (3) | (38) | (30) | (8) | (0) | (0) |
# | metal3 | 12 | 9 | 3 | 0 | 0 |
# | (1) | (6) | (4) | (2) | (0) | (0) |
# | (2) | (1) | (1) | (0) | (0) | (0) |
# | (3) | (5) | (4) | (1) | (0) | (0) |
# |---------------------------------------------------------------------|
# | Totals | 75 | 55 | 19 | 0 | 1 |
# | (1) | (12) | (7) | (5) | (0) | (0) |
# | (2) | (20) | (14) | (5) | (0) | (1) |
# | (3) | (43) | (34) | (9) | (0) | (0) |
# =======================================================================
Related Topics
Return to top