Are the any special character that isn't supported by either GDS or OAS?

And where can I find such document? Thanks!

Comments

  • I mean the cell name part, any special character isn't supported? Thanks!

  • Hi werk,

    Here's some gds cell naming recommendations
    https://pubs.opengroup.org/onlinepubs/9629499/apdxa.htm
    https://www.artwork.com/gdsii/qis/faq/qis_limits.htm

    As a matter of curiosity, I've also tried to name cells with Emoji in KLayout, the application can handle the characters well (which is expected, since Qt can handle anything), but once you save the files, those invalid chars will be converted to $$$$$ and causes mess.

  • The oasis spec (you might find the draft in web-archives) requires n-strings for cell names.
    n-strings must only contain printable ascii (21-7E), which excludes space, tabs and all other control characters and have a length > 0.
    Since some databases use cell names as filenames, it's good advice to stick to this.

    a-strings are 21-7E with SP(ace) and are used for oasis TEXT.
    This causes issues when converting gds to oasis, because some GDS cell libraries contain TEXT with tabs, newlines or even non printing hex codes.

  • For OASIS the allowed characters are well defined, but for GDS there only exist conventions.

    In my experience safe cell names in GDS should be short (<40 characters) and use characters from ASCII letters (lower and upper case, case sensitive), digits and the underscore. "$" is safe to use too. Everything else may or may not cause issues when you send GDS to some foundry or mask maker.

    Matthias

  • Thanks all for the comment (RawrRanger, StefanThiede and Matthias).

    Hi Mattias,

    We have an extreme test case with special characters in cellname, such as ";". We created the .txt file and loaded it with klayout. All the characters after ";" are strip off. Is this a known issue for ilayout? Thanks for the comment!

    p.s., here's the .txt file:

    HEADER 600 
    BGNLIB 7/22/2023 0:20:21 7/22/2023 0:20:21 
    LIBNAME LIB
    UNITS 0.001 1e-09 
    
    BGNSTR 7/22/2023 0:20:21 7/22/2023 0:20:21 
    STRNAME 100x100
    
    BOUNDARY 
    LAYER 0 
    DATATYPE 0 
    XY 0: 0
    0: 100
    100: 100
    100: 0
    0: 0
    ENDEL 
    
    BOUNDARY 
    LAYER 0 
    DATATYPE 0 
    XY 900: 900
    900: 1000
    1000: 1000
    1000: 900
    900: 900
    ENDEL 
    ENDSTR 
    
    BGNSTR 7/22/2023 0:20:21 7/22/2023 0:20:21 
    STRNAME !#$%&()*+,-./0123456789:;<=>?@
    
    AREF 
    SNAME 100x100
    COLROW 1000 1000 
    XY 0: 0
    1000000: 0
    0: 1000000
    ENDEL 
    ENDSTR 
    ENDLIB 
    
  • edited July 2023

    No, that is not a know issue.

    ";" is apparently intended as a comment character. It is allowed inside text strings and property names, but not inside cell names.

    I need to say however, that the text format read is contributed code and I can't say what specification it complies with.

    If you think that is a bug, please raise a ticket on GitHub (https://github.com/KLayout/klayout/issues).

    Matthias

Sign In or Register to comment.