web page header

 

Command line Usage

The ODB++2GDS translator can be run from a command line or by using an XML file to hold the arguments.

XML File Syntax

../bin/odb2gds sample.xml

XML file

    [inputFilePath]INPUTFILENAME_STR[/inputFilePath]
    [outputFilePath]OUTPUTFILENAME_STR[/outputFilePath]
    [workDirPath]WORKDIRPATH_STR[/workDirPath]
    
    [stepName]STEPNAME_STR[/stepName]
    [layerName]LAYERNAME_STR[/layerName]

    [keepTemp]KEEPTMP_INT[/keepTemp]                            1=keep temp files 0=remove temp files
    [nonStd]1[/nonStd]						1=handles non system attributes (for dynamic texts)
    [threadNum]THRNUM_INT[/threadNum]
    [inputArgs]OTHERINPUTARGS_STR[/inputArgs]
        
    [arcResolutionDeg]ARCRES_DBL[/arcResolutionDeg]
    [arcChordError]CHORDERROR_DBL[/arcChordError]
    [scale]SCALEFACTOR_DBL[/scale]

    [units]UNITS_INT[/units]					0=MILS 1=INCH 2=UM 3=MM 4=CM
    [outScale]OUTSCALE_INT[/outScale]				0=DEFAULT 1=SCALE 2=LOCAL

    [butting]BUTTING_INT[/butting]                              0=CUTLINE 1=BUTTING

    [outLayer]GDSOUTLAYER_INT[/outLayer]
    [outStruct]GDSOUTSTRUCT_STR[/outStruct]

    [g2kVer]G2KVER_INT[/g2kVer]                                 0,1,2,3
    [g2kScale]G2KSCALE_INT[/g2kScale]                           1=SCALE_ALL 2=SCALE_FEAT 3=UNSCALE_TARGET
    [g2kBreakSR]G2KBREAKSR_INT[/g2kBreakSR] 			0=DONOTBREAKSR 1=BREAKSR 2=DONOTBREAKSR and USE 274X COMMANDS
    [g2kAnchor]G2KANCHOR_INT[/g2kAnchor]			0=NONE 1=PROFILECENTER 2=STEPDATUM 3=COORS
    [g2kXAnchor]G2KXANCHOR_DBL[/g2kXAnchor]			//used with anchor=3
    [g2kYAnchor]G2KYANCHOR_DBL[/g2kYAnchor]			//used with anchor=3
    [g2kOffset]G2KOFFSET_INT[/g2kOffset]			0=NONE 1=+PROFILECENTER 2=+STEPDATUM 3=-PROFILECENTER 4=-STEPDATUM 5=COORS
    [g2kXOffset]G2KXOFFSET_DBL[/g2kXOffset]			//used with offset=5
    [g2kYOffset]G2KYOFFSET_DBL[/g2kYOffset]			//used with offset=5
    [g2kOrder]G2KORDER_INT[/g2kOrder]                           0=ROTATE BEFORE MIRROR 1=MIRROR BEFORE ROTATE

    [outputArgs]OTHEROUTPUTARGS_STR[/outputArgs]

Command Line w. Arguments (Windows)

On windows there is a command line program that accepts arguments and then calls the odb library. Here is a summary of the most important arguments.

odb2gbr_cmdline.exe                    command line interpreter
   -job:<odb_path>                     name of odb .tgz file or directory to open
     -outdir:<out_dir>                 name of output directory
     -gbr:<filename>                   output gerber data to this file
     -gds:<filename>                   output gdsii (filename option not working)
     -gds_struc:<structname>           GDSII output top level structure name
     -step:<step[,layer1,layer2,...]>  step to process followed by layer list
                                       if no layers are specified, all layers
                                       will be output.
     -unit:<mils|inch|mm|um|cm|>       units of output (gbr must be inch/mm)
     

Example

In this example we are going to convert the 4 conductor layers of an ODB++ file into GDSII. This will give us 4 separate GDSII files, each with data on layer 0. To make the example more interesting we will then shift the data from layer 0 to a unique layer and then combine all 4 single layer GDSII files into one large GDSII files with 4 data layers using Artwork's GDSFILT. Our layer mapping is shown below:

ODB Layer            GDSII Layer
wir1                 0 --> 10
wir2                 0 --> 11
wir3                 0 --> 12
wir4                 0 --> 13

The output file will be called M95.gds with top structure M95TOP

Conversion command line

This command line (broken up for clarity) converts the 4 selected layers into 4 gdsii files.

c:\wcad\odb2gds\odb2gbr_cmdlne.exe                 the command line interpreter
 "-job:E:m950844a001_hybrid_201206012.tgz"         the odb++ file
 "-workdir:E:/temp"                                the working directory for temp files
 "-outdir:./"                                      the output directory
 -gds                                              output GDSII
 -step:m950844a001_hybrid,wir1,wir2,wir3,wir4      the step followed by list of layers
 -unit:um                                          the output units

Now we are going to use GDSFILT to remap the layers so they all don't collide on layer 0. wir1 goes to layer 10, wir2 to layer 11 and so on ... using the -lyrM:N argument.

c:\wcad\gdsfilt\gdsfilte.exe wir1.gds wir1a.gds TOP -unixcmdline -lyr0:10
c:\wcad\gdsfilt\gdsfilte.exe wir2.gds wir2a.gds TOP -unixcmdline -lyr0:11
c:\wcad\gdsfilt\gdsfilte.exe wir3.gds wir3a.gds TOP -unixcmdline -lyr0:12
c:\wcad\gdsfilt\gdsfilte.exe wir4.gds wir4a.gds TOP -unixcmdline -lyr0:13

Now we use GDSFILT a second time to combine the files into one single larger file:

c:\wcad\gdsfilt\gdsfilte.exe            gdsfilt engine
  wir1a.gds                             the first input file
  M95.gds                               the output file
  TOP                                   top struct of the first input file
  -unixcmdline                          required
  -add wir2a.gds wir3a.gds wir4a.gds    add in the following files
  -combine M95TOP TOP TOP TOP           combine them; top structure of output file
                                        followed by top structure of the added files









ARTWORK CONVERSION SOFTWARE, INC.                  Company Profile
417 Ingalls St.,     Santa Cruz, CA 95060         Tel (831) 426-6163     Fax 426-2824               email: info@artwork.com