Skip to content

Bug VIARULE GENERATE in DEF to GDS conversion in ORFS using Klayout #1877

@rr667

Description

@rr667

Greeting! 👋

Issue:

GDS file generated by KLayout shows mismatches with the DEF file, leading to DRC violations in VIA ARRAY Cells (VIA-METAL1 and VIA-METAL2).

both KLayout 0.28.8, 0.28.5 and 0.28.8 (From latest commit of ORFS).

Observations:

  • DEF file passes DRC checks, while the GDS file from KLayout has issues.
  • Layer mapping has been verified.
  • DBU is set to 0.001 DBU, and Tech LEF DATABASE MICROS is set to 1000.

image

Note: the numbers are not exactly what I'm using for NDA purposes. They were useful in illustrating the problem in my Slack Discussion

Minimal reproducible:

The TECH LEF Snippet that produces the problem (a shorter via overhangs on the right-most generated via) that cause DRC issues, I've added the edit the solves the problems by increasing the overhang (so the shorter version with the bug doesn't cause a DRC error.

... 

DATABASE MICRONS 1000 
MANUFACTURINGGRID 0.001 

....

# Original: DRC ERRORS
# VIARULE MYVIA1_ARRAY GENERATE
#     LAYER METAL_1 ;
#         ENCLOSURE 0.061 0.007 ;
#     LAYER METAL_2 ;
#         ENCLOSURE 0.061 0.007 ;
#     LAYER VIA_1 ;
#         RECT -0.1XX -0.1XX 0.1XX 0.1XX ;
#         SPACING 0.4XX BY 0.4XX ;
# END MYVIA1_ARRAY


# Edit: Increase overhangs as a workaround 
VIARULE MYVIA1_ARRAY GENERATE
    LAYER METAL_1 ;
        ENCLOSURE 0.062 0.007 ;
    LAYER METAL_2 ;
        ENCLOSURE 0.061 0.008 ;
    LAYER VIA_1 ;
        RECT -0.1XX -0.1XX 0.1XX 0.1XX ;
        SPACING 0.4XX BY 0.4XX ;
END MYVIA1_ARRAY

Side Notes:

  • Not all VIARULE GENERATE have this issue.
  • single cut vias don't have this issue.
  • I have observed that the conversion of signals names that are non-scalars on text layers (pin labels) have some issues, if the DEF name is addr[2] for example the text layer has net123 and not the actual name. Not sure if this an actual issue or if it is for compatibility reasons.

Best regards

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions