GDS2

GDS2 is a module for quickly creating programs to read and/or write GDS2 files.
Download

GDS2 Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Ken Schumack
  • Publisher web site:
  • http://search.cpan.org/~schumack/GDS2-2.09a/lib/GDS2.pm

GDS2 Tags


GDS2 Description

GDS2 is a module for quickly creating programs to read and/or write GDS2 files. GDS2 is a module for quickly creating programs to read and/or write GDS2 files.Create Methodnew - open gds2 file usage: my $gds2File = new GDS2(-fileName => "filename.gds2"); ## to read my $gds2File2 = new GDS2(-fileName => ">filename.gds2"); ## to writefileNum - file number... usage:close - close gds2 file usage: $gds2File -> close; -or- $gds2File -> close(-markEnd=>1); ## experimental -- some systems have trouble closing files $gds2File -> close(-pad=>2048); ## experimental -- pad end with 's till file size is a ## multiple of number. Note: old reel to reel tapes on Calma ## systems used 2048 byte blocksHigh Level Write MethodsprintInitLib() - Does all the things needed to start a library, writes HEADER,BGNLIB,LIBNAME,and UNITS recordsThe default is to create a library with a default unit of 1 micron that has a resolution of 1000. To get this set uUnit to 0.001 (1/1000) and the dbUnit to 1/1000th of a micron (1e-9). usage: $gds2File -> printInitLib(-name => "testlib", ## required -isoDate => 0|1 ## (optional) use ISO 4 digit date 2001 vs 101 -uUnit => real number ## (optional) default is 0.001 -dbUnit => real number ## (optional) default is 1e-9 ); ## defaults to current date for library date note: remember to close library with printEndlib()printBgnstr - Does all the things needed to start a structure definition usage: $gds2File -> printBgnstr(-name => "nand3" ## writes BGNSTR and STRNAME records -isoDate => 1|0 ## (optional) use ISO 4 digit date 2001 vs 101 ); note: remember to close with printEndstr()printPath - prints a gds2 path usage: $gds2File -> printPath( -layer=>#, -dataType=>#, ##optional -pathType=>#, -width=>#.#, -unitWidth=>#, ## (optional) directly specify width in data base units (vs -width which is multipled by resolution) -xy=>@array, ## array of reals -xyInt=>@array, ## array of internal ints (optional -wks better if you are modifying an existing GDS2 file) ); note: layer defaults to 0 if -layer not used pathType defaults to 0 if -pathType not used pathType 0 = square end 1 = round end 2 = square - extended 1/2 width 4 = custom plus variable path extension... width defaults to 0.0 if -width not usedprintBoundary - prints a gds2 boundary usage: $gds2File -> printBoundary( -layer=>#, -dataType=>#, -xy=>@array, ## array of reals -xyInt=>@array, ## array of internal ints (optional -wks better if you are modifying an existing GDS2 file) ); note: layer defaults to 0 if -layer not used dataType defaults to 0 if -dataType not usedprintSref - prints a gds2 Structure REFerence usage: $gds2File -> printSref( -name=>string, ## Name of structure -xy=>@array, ## array of reals -xyInt=>@array, ## array of internal ints (optional -wks better than -xy if you are modifying an existing GDS2 file) -angle=>#.#, ## (optional) Default is 0.0 -mag=>#.#, ## (optional) Default is 1.0 -reflect=>0|1 ## (optional) ); note: best not to specify angle or mag if not neededprintAref - prints a gds2 Array REFerence usage: $gds2File -> printAref( -name=>string, ## Name of structure -columns=>#, ## Default is 1 -rows=>#, ## Default is 1 -xy=>@array, ## array of reals -xyInt=>@array, ## array of internal ints (optional -wks better if you are modifying an existing GDS2 file) -angle=>#.#, ## (optional) Default is 0.0 -mag=>#.#, ## (optional) Default is 1.0 -reflect=>0|1 ## (optional) ); note: best not to specify angle or mag if not neededprintText - prints a gds2 Text usage: $gds2File -> printText( -string=>string, -layer=>#, ## Default is 0 -textType=>#, ## Default is 0 -font=>#, ## 0-3 -top, or -middle, -bottom, ##optional vertical presentation -left, or -center, or -right, ##optional horizontal presentation -xy=>@array, ## array of reals -xyInt=>@array, ## array of internal ints (optional -wks better if you are modifying an existing GDS2 file) -x=>#.#, ## optional way of passing in x value -y=>#.#, ## optional way of passing in y value -angle=>#.#, ## (optional) Default is 0.0 -mag=>#.#, ## (optional) Default is 1.0 -reflect=>#, ## (optional) Default is 0 ); note: best not to specify reflect, angle or mag if not needed Requirements: · Perl


GDS2 Related Software