Use Calibre DRC to create and output text to a GDSII file

Version 1

    Goal

    • Use Calibre DRC to create and output text, to place text from a rulefile, text or other ASCII file and output it to a GDS file.

      Use DRC MAP TEXT and LAYOUT TEXT to create non-drawn text asif it were read-in from an ASCII file


    Solution

     

    Using a combination of Calibre DRC -hier (NOTE: -hier is critical to this operation!) and

     

    DRC MAP TEXT YES
    LAYOUT TEXT

     

    operations you can output text GDSII that you read into Calibre from a file. Here's an example rulefile:

     

    LAYOUT PATH "input.gds"
    LAYOUT PRIMARY "test"
    LAYOUT SYSTEM GDSII

     

    DRC RESULTS DATABASE "output.gds" GDSII
    DRC MAXIMUM RESULTS ALL
    DRC MAXIMUM VERTEX ALL

     

    // For the text layers to map out,
    // you have to have some DRC operation
    // occur, even if it has zero results.
    LAYER IGNORE 1000 // some layer number with nothing in it
    junkrule { AREA IGNORE < 0.002 }
    // If you have real drc checks, you don't need these two lines.

     

    // Here's the core functionality to change the "virtual" text
    // from the LAYOUT TEXT statement into real GDSII.
    DRC MAP TEXT YES
    // THE ABOVE LINE CAUSES *ALL* ORIGINAL AND LAYOUT TEXT
    // TO BE OUTPUT TO THE DRC OUTPUT FILE.
    LAYOUT TEXT "AAA" 10 10 3 5 test
    // THIS WILL CAUSE THE TEXT "AAA" TO OUTPUT TO
    // GDS layer 3, datatype 5, (at location 10,10) in the DRC output file.
    // INSTEAD OF THE ABOVE LINE, YOU COULD CREATE A
    // SEPARATE FILE FULL OF LAYOUT TEXT OPERATIONS
    // AND "INCLUDE" THAT FILE.

     

    // NOTE THAT YOU CAN MANIPULATE ALL TEXT
    // LAYERS (BOTH ORIGINAL AND LAYOUT TEXT)
    // USING "LAYER MAP OPERATIONS" FOR EXAMPLE
    // TO MAP OLD ORIGINAL TEXT TO AN UNUSED LAYER.
    LAYER MAP 9 TEXTTYPE >=0 1000 // send old text to IGNORE layer