• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

COPYINGH A D08-Apr-199917.6 KiB340281

ChangeLogH A D02-Mar-20051.4 KiB4731

GDSaref.cH A D01-Mar-20059.2 KiB328271

GDSaref.hH A D07-Feb-20051.3 KiB3311

GDSaux.cH A D01-Mar-200515 KiB611505

GDSaux.hH A D01-Mar-20051.4 KiB3313

GDSboundary.cH A D02-Mar-200511.6 KiB428351

GDSboundary.hH A D07-Feb-20051.4 KiB3412

GDSbox.cH A D23-Feb-20051.5 KiB6539

GDSbox.hH A D07-Feb-20051.2 KiB319

GDSconsts.hH A D02-Mar-20052.4 KiB10883

GDSglobals.hH A D08-Apr-1999951 275

GDSmain.cH A D23-Feb-20055.5 KiB188161

GDSnode.cH A D23-Feb-20051.5 KiB6539

GDSnode.hH A D07-Feb-20051.2 KiB329

GDSparser.cH A D24-Feb-200515.2 KiB500466

GDSparser.hH A D08-Apr-1999938 264

GDSpath.cH A D02-Mar-200511.1 KiB438355

GDSpath.hH A D07-Feb-20051.3 KiB3311

GDSreader.cH A D23-Feb-20055.9 KiB216179

GDSreader.hH A D08-Apr-19991,020 265

GDSsref.cH A D02-Mar-200510.8 KiB362320

GDSsref.hH A D07-Feb-20051.3 KiB3311

GDSstruct.cH A D10-Feb-20056.3 KiB242209

GDSstruct.hH A D08-Apr-19991.3 KiB3310

GDSstructs.hH A D23-Feb-20053.2 KiB175129

GDStext.cH A D23-Feb-200510.1 KiB407333

GDStext.hH A D07-Feb-20051.4 KiB3614

GDStoHPGL.cH A D08-Apr-19995 KiB176145

GDStoHPGL.hH A D08-Apr-1999973 264

GDStoPOV.cH A D01-Mar-200510.5 KiB347248

GDStoPOV.hH A D23-Feb-20051 KiB276

GDStoPS.cH A D24-Feb-200511 KiB369330

GDStoPS.hH A D08-Apr-19991,001 275

GDStransf.cH A D01-Mar-20056.1 KiB260147

GDStransf.hH A D01-Mar-20051.5 KiB3814

MakefileH A D03-May-20221.2 KiB4731

READMEH A D08-Apr-19992.2 KiB5443

README.povrayH A D24-Feb-20054.6 KiB13897

gdsreader.1H A D13-Feb-20052.4 KiB9686

layers.configH A D08-Apr-19992.3 KiB169154

layers.config.5AM.4MLH A D13-Feb-20058.8 KiB841784

layers.config.7HP.5MLH A D24-Feb-20058 KiB771717

maptolayer.1H A D13-Feb-20051.6 KiB7771

maptolayer.cH A D09-Feb-20051.6 KiB11044

README

1
2GDSreader - simple Calma (GDSii) parser/printer tool.
3
4This software has as target the printing/plotting/displaying of Calma (GDSii)
5files without using true layout editors. I had once to visualize an unknown
6Calma file and customizing LEdit or Magic (the two layout editors I had access
7to) was so difficult that I decided to write this program.
8
9License
10gdsreader is placed under the GNU Public License (GPL) version 2.0. See the
11COPYING file for more information.
12
13Current status:
14- gdsreader is in an alpha stage and you should not expect too much from it;
15- the Calma files are almost completely parsed (had no layout example that makes
16  use of BOX/NODE elements);
17- given a Calma structure name, a PostScript file and a HPGL/2 file are
18  generated. The way each layer is handled is controlled by an ASCII
19  configuration file. The properties that can be set are color, fill (only
20  solid is supported), hatch (simple or cross, the angle and spacing are user
21  customizable too).
22
23Installation
24Take a look at the Makefile and change it accordingly to your setup. Type make.
25In order to produce an useful PostScript output, you need to write a
26configuration file (default is .layers.config). The one you'll find with the
27distribution is suitable for the Calma example test.gds (an actual Bandgap
28reference).
29
30What needs to be done:
31- to try a different way to do hatching in PostScript (e.g. by using custom
32  patterns);
33- to do shape merging for a better output;
34- to rewrite parts of the current C code in order to make it more efficient
35  (there are lots of repeating loops for seeking same things, linear search
36  might be replaced by more clever ways). Up to now, the code was written only
37  to work, the efficiency was not a major concern;
38- an unified rc file, for setting all aspects of the printing/plotting (page
39  size etc.);
40- documentation etc.
41Any other ideas are welcome.
42
43For suggestions, comments or bug reports, please drop an email to:
44serbanp@ix.netcom.com
45
46Thanks
47Have to thank to Steve Tell (tell@cs.unc.edu) for its stream_utils-0.10 package,
48useful as an example of how to deal with the Calma binary file, and to various
49people who have been so kind to reply my posts in the comp.cad.lsi and
50comp.lang.postscript newsgroups.
51
52
53Good luck!
54

README.povray

1New feature for gdsreader-0.3.2
2
3  Generation of POVRAY scene files.
4
5Quick Overview:
6
7GDS2, (or "Calma"), files contain 2D shape data, and each shape has
8a specific layer number, (gdsno), and a datatype number.  To  make
9any sort of 3D model, these two integer numbers must be  "mapped"
10to a corresponding thickness and depth parameter, and  also to a
11color specification.   This  is handled by the user-created
12"layers.config" file.  A  layers.config file needs to be made for
13each technology you wish to convert.  A process which differs only
14in the number of metal layers used is considered a different
15technology.  The layers.config file is also used in the generation
16of postscript and HPGL output, so several of the parameters in
17a layers.config file do not necessarily apply to POVRAY output.
18
19The layers.config file you make must have entries of the form:
20
21newlayer
22 gdsno 19
23 hidden no
24 name m1
25 red 0.4
26 green 0.2
27 blue 0.8
28 ...
29 thickness 0.630000
30 depth 2.530000
31endlayer
32
33...for each layer you want to have visible in the POVRAY file.
34
35You can see the list of layers used in the IBM design kits by
36examining the cds2gds.map file.  It contains lines with layer
37name, purpose, layer number, and datatype number.
38
39A utility called "maptolayer" is included which can be used to
40generate a dummy layers.config template from a cds2gds.map file
41from a cadence kit.
42
43Example:
44  ./maptolayer < cds2gds.map > mylayers.config
45
46The dummy layers file has unique colors for each layer as well
47as depth and thickness.  You must edit these to unhide  ("hidden
48no") the desired layers, and set correct depth and thickness for
49them.  The depth is the height of the top of the layer in
50microns, and  the thickness specifies how much further "down" it
51goes.  This utility IGNORES the datatype information in the map
52file, and this may require tweaks on the part of the user to fix.
53
54In many GDS2 files, each metal layer uses a unique gdsno number to
55identify it, and the datatype number can be ignored.  On others
56however, two different metal layers may use the same gdsno, but a
57different datatype number.  To handle this, by default a shape is
58mapped to a specific gdsno and datatype if there is an entry for
59it in the layers.config file.  If there is no match, an entry that
60just specifies the gdsno is used.  You may need to add complete
61newlayer...endlayer sections for layers that share gdsno values.
62
63This can also be used if you  want to make objects look different
64even if they are on the  same physical level.  For example, by
65using the datatype  parameter, you might have vias be a different
66color than viabars.
67
68Sample files "layers.config.5AM.4ML" and "layers.config.7HP.5ML"
69are included.  The 5AM file does not use datatypes, but the
707HP one does.  IBM may change the mapping with each kit revision,
71but hopefully they will not.
72
73The colors used in the povray output are those supplied in the
74layers.config file.  Hatch/fill is ignored for povray output.  You
75can generate  a povray file of the cell "topcell" in a gds2 file
76"mydesign.gds2" using the command:
77
78 gdsreader -i mydesign.gds2 -c mylayers.config -s topcell
79
80By default output will be stored in the file "result.pov". A
81postscript file will be called result.ps, etc.  You can select
82any subcells in the gds2 file by giving it's name instead of
83the "topcell".
84
85Other  command line options can be used to change the default
86output file names. The POV scene file is complete with a camera
87and light source, but they  should be repositioned/adjusted to get
88a good  view.  A sample command to  quickly render the scene might
89be:
90
91 povray +P +W640 +H480 +Q2 -I result.pov
92   (note: This only works on new versions of povray, see
93     below for an alternate command.)
94
95This will display an image on the screen.  Click on it to close
96the window.  Read the documentation on POVRAY before trying to
97edit  the .pov file.  The following will render the same image to
98a file called 'result.ppm' in ppm format:
99
100 povray -D0 +W640 +H480 +Q2 -I result.pov +FP
101
102You can view this with 'xv result.ppm'
103
104A much nicer picture or movie can be created using shadows and
105anti-aliasing options but that is beyond the scope of this
106README file.  Consult the POVRAY documentation first.
107
108Note that the top cell object is instanced at the very bottom
109of the pov file and it is usually scaled so that the micro-based
110vertical dimensions are proportional to the integer-grid based
111layout dimensions.
112
113You might wish to add a plane representing the substrate by
114appending something like:
115
116plane {
117 <0,1,0>, -30
118 texture { pigment { color rgb <0.400000,0.400000,0.400000> } }
119}
120
121
122...to the end of the POVRAY file.
123
124  Good luck with this...
125
126     - Pete
127
128
129
130
131
132
133
134
135
136
137
138