한국어로 보기

v0.6 Release Notes

Main Focus

v0.6 moved the geometry rule path toward a pya-native implementation.

The goal was to keep layout loading, hierarchy traversal, Manhattan width / space rule checks, candidate generation, and ROI clipping in KLayout pya geometry before rasterization transitions the selected ROI to NumPy.

GDS/OAS
    -> pya.Layout / top cell
    -> hierarchy traversal
    -> integer DBU pya geometry
    -> width / space candidate extraction
    -> ROI clipping
    -> NumPy mask
    -> existing aerial image / contour / printed metric flow

The aerial-image and contour stages were not the main target of the pya-native refactor.

Geometry Rule and Candidate Update

The v0.6 geometry path uses KLayout-style integer DBU geometry for the canonical geometry rule stage.

Key points:

  • Manhattan width / space checks are evaluated in the pya-native path.
  • The rule comparison is strict: value < threshold.
  • Candidate regions are represented as merged violation components.
  • Anchor edge-pair information is retained for candidate localization.
  • Width and space candidates are selected with deterministic ordering.
  • Rasterization is the intentional transition point from pya geometry to NumPy.

These details support reproducibility and reviewability, but they are implementation notes rather than required reading for the public demo.

Candidate Overview Presentation

v0.6 also updated the candidate overview visualization.

The goal was to avoid making violation markers look like original layout polygons.

Updated presentation:

  • original geometry remains visible in grayscale
  • width markers use transparent red styling
  • space markers use transparent blue styling
  • hatch patterns help distinguish marker classes
  • selected W/S labels are kept for chosen review candidates

The images are useful for review, but they are intentionally moved out of the main Demo flow so first-time readers can focus on the representative ROI results.

Local Geometry Runtime Check

The local tt04_pwm.gds geometry-only comparison on layer/datatype 68/20 produced the following median timings:

Step gdstk baseline pya-native pya speedup
read + target extraction 0.027074 s 0.022355 s 1.21x
width rule + candidate construction 0.289389 s 0.039591 s 7.31x
space rule + candidate construction 0.569764 s 0.120845 s 4.71x
geometry total 0.871751 s 0.189478 s 4.60x

These values are development measurements for one public example and one local environment. They should not be interpreted as a general performance guarantee.

Candidate Counts

The same comparison produced:

Item gdstk pya-native raw pya-native merged component
width 666 666 459
space 616 1,061 922

The count difference is expected because the paths do not define marker construction in exactly the same way. The pya-native path expresses edge relation and strict threshold behavior more directly, while the gdstk path remains useful as a baseline and rollback comparison.

Printed Metric Update

The primary printed width / space metric was changed to use direct aerial-intensity contours instead of re-contouring a thresholded boolean mask.

before:
    intensity >= 0.30
        -> boolean mask
        -> contour from boolean mask

after:
    normalized intensity
        -> direct contour at 0.30
        -> sub-pixel contour coordinates

This reduced grid quantization effects in representative checks and restored more robust width / space edge-pair detection for the tracked examples.

Convergence Check Summary

For fixed tt04_pwm ROI checks, the direct intensity contour metric was stable from 0.010 um through 0.0025 um in the representative width and space cases.

Summary:

  • the former boolean-contour metric was more tied to half-pixel positions
  • the direct contour metric kept sub-pixel interpolated contour coordinates
  • the tracked width and space physical edge pairs remained stable in the tested cases
  • focused checks down to 0.001 um also remained stable within their own fixed windows

The Render default remains 0.010 um because it was a practical balance between demo runtime and contour stability in the tested cases. This is not a signoff-accuracy claim.

Current Limits

The v0.6 updates do not change the public interpretation limits:

  • results remain qualitative
  • the model is simplified
  • wafer-data calibration is not included
  • resist and etch models are not included
  • printed metrics are approximate contour-based indicators
  • different ROI sizes and normalization conditions are not numerically interchangeable
  • EPE remains outside the current scope