cgi - convert GDS II formatted files to an ICD project |
cgi [-4dflvcp] [-m mlist] [-n ctable] [-w size] GDS-file ... |
-4 |
Test non-orthogonal input conform 45 degree. |
||
-d |
Enable debug mode. |
||
-f |
Enables cell overwrite (force) mode. |
||
-l |
Replace '$' characters by '_' characters in names. |
||
-v |
Enable verbose mode. |
||
-c |
Instead of truncating, convert GDS text names that are too long to other names. A name conversion list will automatically be generated. |
||
-p |
Use an alternative algorithm to convert a path element. This may solve truncation problems for non-orthogonal path elements. |
-m mlist |
Use this mask list instead of the default mask list. |
-n ctable |
Use this table to convert names to other names. |
-w size |
Size of terminals (in lambda) generated by text structures (default 0). |
Cgi reads GDS file(s) and places the structures in the ICD database. A structure in a GDS file may contain the following elements: |
boundary |
(45 degree pathtypes 0,1 and 2, non-45 degree path types 0 and 2 only) |
sref |
(structure reference) |
|||
aref |
(array reference) |
|||
text |
(terminal/pin or label/net name definition) |
Structure names are mapped to cell names. If a cell already exists the cell will not be overwritten. The width of a path must be greater than 0. You can use this program only in a project. If the GDS database unit is less than lambda you may lose accuracy (be careful). Thus, if you make a new project, you have to choice a suitable lambda value (in microns). If you want to change lambda, use the clambda program. With the cga program, you can inspect the GDS file and also find out which database unit is used in the GDS file (second argument of UNITS record). The GDS layer numbers are mapped to the layers of the used process by a mask list file. Default this file is the file bmlist.gds in the process directory, but an alternative file can be specified using the option -m. For a description of the contents of the mask list file, see bmlist(4ICD). Each line of this file contains a mask name, a GDS layer number and (optionally) a GDS data type or text type number. Besides that it is specified in this file how boundary and path elements are stored into the project database, it is also specified in this file how text structures are mapped to either terminals/pins or to labels/net names. |
A property of an element in the GDSII format consists of a number and a value. number specifies the intended property and value specifies the value of the property. Properties can be used to e.g. specify instance names with sref and aref elements, and terminal and label names with boundary elements. Below, a table is given of the supported properties, their default number (if it exists), their expected value type and their semantics. The number that is used for a property can be specified in the mask list file (see bmlist(4ICD)) by specifying on one line the name of the property followed by the number. __________________________________________________________ |
default |
value |
name |
|
number |
type |
semantics. |
__________________________________________________________ |
prop_instance |
61 |
string |
value specifies the instance |
|
name of a cell |
||||
prop_termlay |
60 |
integer |
value specifies the GDS layer |
|
number of the termnal |
||||
prop_term |
62 |
string |
value specifies the name of |
|
the terminal |
||||
prop_labellay |
<none> |
integer |
value specifies the GDS layer |
|
number of the label |
||||
prop_label |
<none> |
string |
value specifies the name of |
|
the label |
__________________________________________________________ |
A file that contains a name conversion table can specified using the option -n. This file should have on each line an original name and a name to which the original name is mapped. |
GDS layer numbers must be in range 0 to 256. The following statements are supported: HEADER, TAPENUM, TAPECODE, UNITS BGNLIB, ENDLB, BGNSTR, ENDSTR, LIBNAME, STRNAME ENDEL BOUNDARY LAYER DATATYPE PATH LAYER DATATYPE PATHTYPE(0, 2) WIDTH XY AREF/SREF SNAME COLROW XY STRANS ANGLE TEXT A boundary, sref or aref statement can be followed by PROPATTR PROPVALUE statements (see PROPERTIES). |
ICDPATH/share/lib/process/proc/bmlist.gds |
(def.; basic mask list) |
NELSISPROJECT/.dmrc |
(input file) |
NELSISPROJECT/layout/celllist |
(input file (updated)) |
For each cell written: |
NELSISPROJECT/layout/cell/box |
(output file) |
NELSISPROJECT/layout/cell/info |
(output file) |
NELSISPROJECT/layout/cell/mc |
(output file) |
NELSISPROJECT/layout/cell/nor |
(output file) |
NELSISPROJECT/layout/cell/term |
(output file) |
cga(1ICD), cig(1ICD), clambda(1ICD), mkpr(1ICD), bmlist(4ICD). |