Reading GDSText saved by klayout

JayJay
edited December 2009 in General
Data written to the file looks consistent. When read back on klayout, it seems to fit all the data in first quadrant.

My layout centered at origin is no longer the same.

e.g.
BGNSTR
STRNAME simpleCell

BOUNDARY
LAYER 100
DATATYPE 0
XY -9740: -23500
-23500: -9740
-23500: 9740
-9740: 23500
9740: 23500
23500: 9740
23500: -9740
9740: -23500
-9740: -23500
ENDEL

BOUNDARY
LAYER 101
DATATYPE 0
XY -9740: -23500
-9740: 23500
9740: 23500
9740: -23500
-9740: -23500
ENDEL

BOUNDARY
LAYER 102
DATATYPE 0
XY -23500: -9740
-23500: 9740
23500: 9740
23500: -9740
-23500: -9740
ENDEL
ENDSTR

Thanks,
~J

Comments

  • edited December 2009

    Hi Jay,

    I suspect there is an interaction with LOCALE settings. I am not aware that the reader uses the current locale but I wouldn't rule out that possibility.

    What are your language settings (i.e. output of "locale")?

    Best regards,

    Matthias

  • JayJay
    edited 10:46PM
    I generally stick to LANG=C or LANG=POSIX

    %locale
    LANG=C
    LC_CTYPE="C"
    LC_NUMERIC="C"
    LC_TIME="C"
    LC_COLLATE="C"
    LC_MONETARY="C"
    LC_MESSAGES="C"
    LC_PAPER="C"
    LC_NAME="C"
    LC_ADDRESS="C"
    LC_TELEPHONE="C"
    LC_MEASUREMENT="C"
    LC_IDENTIFICATION="C"
    LC_ALL=

    In the same session, writing same data as GDS works flawlessly, but GDSText demonstrates the problem. From the data above, it looks like write works correctly, so it's purely read related.

    Here is what happened to polygon data:
    -9.74000 -23.50000
    -23.50000 -9.74000
    -23.50000 9.74000
    -9.74000 23.50000
    9.74000 23.50000
    23.50000 9.74000
    23.50000 -9.74000
    9.74000 -23.50000

    became:
    0.00000 0.00000
    0.24400 0.05200
    9.74000 0.05200
    23.50000 0.24400
    23.50000 9.74000
    9.74000 23.50000
    0.24400 23.50000
    0.05200 9.74000
    0.05200 0.24400
    0.24400 0.05200

    and

    -9740: -23500
    -9740: 23500
    9740: 23500
    9740: -23500
    -9740: -23500

    became:

    0.00000 0.00000
    0.24400 0.05200
    0.24400 23.50000
    9.74000 23.50000
    9.74000 0.05200
    0.24400 0.05200

    Notice extra points and signed data getting converted to unsigned.

    ~J
  • JayJay
    edited 10:46PM
    Same cell after loading and saving again:

    BGNSTR
    STRNAME simpleCell

    BOUNDARY
    LAYER 100
    DATATYPE 0
    XY 0: 0
    244: 52
    9740: 52
    23500: 244
    23500: 9740
    9740: 23500
    244: 23500
    52: 9740
    52: 244
    244: 52
    0: 0
    ENDEL

    BOUNDARY
    LAYER 101
    DATATYPE 0
    XY 0: 0
    244: 52
    9740: 52
    9740: 23500
    244: 23500
    244: 52
    0: 0
    ENDEL

    BOUNDARY
    LAYER 102
    DATATYPE 0
    XY 0: 0
    52: 244
    23500: 244
    23500: 9740
    52: 9740
    52: 244
    0: 0
    ENDEL
    ENDSTR

    ~J
  • edited 10:46PM

    Hi Jay,

    I still can't reproduce it, but there was some fishy code in the reader which I suspect was the reason for the problems.

    It should be fixed in 0.19.2.

    Best regards,

    Matthias

Sign In or Register to comment.