Conversion Software Version 8.65 1

advertisement
Conversion Software
Version 8.65
5/28/2016
1
1 Installation Guide for UNIX/Linux Systems
6
1.1 Requirements
6
1.2 Installation of the Conversion Software
6
1.2.1 Linux/Solaris Systems
6
1.2.2 WIN32 Systems
10
1.3 Updating the Software
11
1.4 Setting up the ftp Server on Linux Systems
12
1.5 SuSE 7.1
14
2 General Information
15
3 Restrictions and Design Rules
17
3.1 Common Rules
18
3.2 Data Format Specific Rules
18
3.2.1 DXF
19
3.2.2 CIF
19
3.2.3 GERBER
20
3.2.4 GDSII
20
4 Usage of the Conversion Package
20
5 Conversion Parameters
26
5.1 Main Source File
26
5.2 Source File Type
26
5.3 Name of Layer
26
5.4 Magnification Factor
26
5.5 Rotation
27
5.6 Translation in x
27
5.7 Translation in y
27
5.8 Mirroring in x
27
5.9 Mirroring in y
28
2
5.10 Main Structure
28
5.11 Borders of Flat Field
28
5.12 Stripe Width
29
5.13 Block Height
29
5.14 Pixel Size
29
5.15 Frame Size
30
5.16 Exposure Mode
30
5.17 Arc Resolution
30
5.18 DXF Units
31
5.19 Stretch Exposure
31
5.20 Additional Pixel
31
5.21 Automatic Stripes
33
5.22 Assume Connected
34
5.23 Keep Temporary Files
34
5.24 Additional Blocks
34
5.25 Lic Directory
35
5.26 Expose Bidirectional
35
5.27 Xor Mode
35
5.28 Calculate Exposed Area
36
5.29 Licbuffer Size
36
5.30 Automatic Centering
36
5.31 Spotsize Correction
37
5.32 Scaling
37
5.33 Cluster Hosts
38
5.34 Left Optic Path
38
5.35 Scale Offset
38
5.36 Invert Spotsize Correction
39
6 Conversion of CIF Design Files
39
3
7 Conversion of GDSII Design Files
40
8 Conversion of DXF Design Files
41
8.1 General
41
8.2 The "dxf" Program
45
9 Conversion of GERBER Data
48
9.1 Description of gerber.cfg
49
9.2 Description of Supported Gerber Commands
54
9.2.1 General Commands
54
9.2.2 Drawing Commands
54
9.2.3 Miscellaneous Commands
54
9.2.4 Sequence Numbers
54
9.3 Extended Gerber (RS-274x)
55
9.4 General
56
10 Conversion of HIMT Structure Data
56
11 Conversion of HPGL Data
59
11.1 How to convert HPGL designs
59
11.2 HPGL Command Line Options
61
12 The struct2dxf Tool
62
13 Checking lic files
63
14 The HIMT Viewer
64
14.1 Installation
64
14.2 Usage
65
14.2.1 General
65
14.2.2 Short Instruction for Exposure Preview from the MENU
65
14.2.3 Short Instruction for Exposure Preview from the Command Line
66
14.2.4 General Usage
66
14.2.5 The Log Window
68
14.2.6 The Status Display
68
4
14.2.7 The Display Window
68
14.2.8 File Menu
69
14.2.9 The Edit Menu
70
14.2.10 The Buttons
72
14.3 Preview of Merged Layers
73
15 Troubleshooting
74
16 The HIMT Structure Format
75
17 Stretched Exposures
79
17.1 Step by step instruction
79
18 The "atrans" program
80
18.1 INSTALLATION
82
18.2 The cksum Feature
85
18.3 Deleting Designs on the OS/9 System
85
19 Spot Size Correction
86
20 Conversion Cluster
89
20.1 Requirements
90
20.2 General Setup
90
20.3 Installation of master PC
92
20.4 Installation of a cluster PC (Slave)
95
20.5 Setting up the cluster
98
20.6 Performance
100
20.7 Converting on the cluster
102
20.8 Hints/Caveats
103
21 Troubleshooting
104
22 Changes
119
23 APPENDIX
123
23.1 DXF Output Filter Sample
123
5/28/2016, BA/SD
5
1 Installation Guide for UNIX/Linux Systems
1.1 Requirements
A SPARC/SOLARIS (Version 2.4 or higher) workstation, a PC running Linux (Kernel 2.0.0)
or a Windows NT workstation with at least 32MB of memory (128MB recommended) is
needed. The conversion software itself doesn't use much space (< 3MB), but for your
conversion you will need (depending on the complexity of your designs) from about 10MB
up to several Gigabytes of harddisk space. On a SPARC/SOLARIS system make sure you
have about 20MB of space available on your /usr partition if you want to use the MENU
graphical user interface (see Tk/Tcl installation below).
1.2 Installation of the Conversion Software
1.2.1 Linux/Solaris Systems
Since version 8.65 the install script install.sh should be used to install the software on your
system. This script automatically installs the correct bineries and libraries. It also gives you
some hints how to set up your system if there are any problems.
Installation guide:
STEP1: Create a new User, for example "convert" on your workstation. Refer to the
workstation manual for doing this.
Note: You usually need to have root rights to do this.
STEP2: Login as the new user and change to its home directory (e.g. /home/convert).
STEP3: Copy the file instxxxx.tgz to this directory (replace xxxx with the software version
number, e.g. inst813le.tgz. The letter "l" indicates LINUX software while "s" indicates Sparc
software, the "e" indicates the software is for systems with an EDDU.)
STEP4: Uncompress the file:
gzip -d instxxxx.tgz
6
STEP5: Untar the file and run installation script
tar xvf instxxxx.tar
install.sh
STEP6: Set a path to the newly created cmds directory (e.g. /home/convert/cmds) where the
conversion executables reside. Check in your SPARC/SOLARIS manual on how to do this.
On a SuSE Linux system append ":~/cmds" to the path setting in /etc/profile (remember to
log on and off afterwards). The "~" represents each users home directory.
STEP7: Remove the file instxxxx.tar if you want to save the disk space:
rm instxxxx.tar
STEP8: If you want to use the graphical user interface 'MENU', make sure Tk/Tcl (Version
7.x) is installed on your system. Most Linux distributions come with that package; on
SPARC system it has to be installed. To test whether the TK/Tcl package is installed start the
MENU under Linux by entering
menu
in your home directory or enter
sh menu
on a SPARC. If the MENU doesn't start (error message: wish not found) install Tk/Tcl.
SuSE Linux:
7
STEP1: Login as root.
STEP2: Insert the Linux CD.
STEP3: Start yast.
STEP4: Select "Choose/Install packages"
STEP5: Select "Change/Create configuration"
STEP6: Select "Tk/Tcl"
STEP7: Select all packages.
STEP8: Hit F10 twice for installation and follow the instructions.
SPARC/SOLARIS:
(You will need about 20MB of free space on /usr)
STEP1: Retrieve the following packages via ftp from the Internet:
tcl7.5.p1.SPARC.Solaris.2.5.pkg.tgz
tk4.1.SPARC.Solaris.2.5.pkg.tgz
(look at SUNSITE.UNC.EDU:\\pub\packages\solaris\Sparc):
STEP2: Login as root.
8
STEP3: Copy the files to a temporary directory.
STEP4: Unpack both files:
gzip -d tcl7.5.p1.SPARC.Solaris.2.5.pkg.tgz
gzip -d tk4.1.SPARC.Solaris.2.5.pkg.tgz
tar xvf tcl7.5.p1.SPARC.Solaris.2.5.pkg.tgz
tar xvf tk4.1.SPARC.Solaris.2.5.pkg.tgz
STEP5: Install the packages with
/sbin/pkgadd -d . tcl7.5
/sbin/pkgadd -d . tk4.1
If pkgadd is not installed or some other problems occur, refer to your SOLARIS
documentation (Hint: You will get help with "man pkgadd")
STEP6: Create the following links:
ln -s /usr/local/bin/wish4.1 /usr/bin/wish
ln -s /usr/local/lib/libtcl7.5* /usr/lib
ln -s /usr/local/lib/libtk4.1* /usr/lib
STEP7: Logout and login as convert user. Start the MENU (s.a.). If you get the following
error message
wish: cannot open libX11.so.x.x
check the version of your currently installed Xlib:
9
ls /usr/lib/libX11*
results in the following output:
libX11.so.y.y
Then link
ln -s ls /usr/lib/libX11.so.y.y /usr/lib/libX11.so.x.x
STEP8: Logout and login as convert user.
1.2.2 WIN32 Systems
STEP1: Create a directory for your conversion software, e.g. c:\convert. (All further
examples will assume that you chose this directory for your installation. If you chose a
different directory, change all path names to the corresponding directory name.) If you update
over a previous version, you can either create a new directory or install over the previous
version and go directly to step 2.
STEP2: Extract the archive containing the conversion software to the directory created in step
1. The archive filename will typically be like ins823w.zip, where 823 stands for version
number 8.23 and the w indicates that you have the WINDOWS version of the software. For
the extraction use an UNZIP utility like WinZip or a command prompt program like
pkunzip.exe. After the extraction, you will have several subdirectories in your convert
directory: (cmds, cif, gerber, ?).
STEP3: Set a path to the cmds directory, in our case c:\convert\cmds. To do this systemwide
under NT you must log in as administrator, otherwise the settings will only affect your
current account. You find this setting for the path in CONTROL
PANEL/SYSTEM/ENVIRONMENT.
10
On a WIN9x System, please add the appropriate path to the path statement in the
autoexec.bat and reboot. To check whether this has worked, just type ,border' in a DOS-Box.
There should then be message like this
[c:\convert] border
border <main structure> ................. use ?
Version: 8
Revision: 8
STEP4: The installation is now complete. Edit the convert.cfg in your convert directoy (e.g.
with NOTEPAD) to set all necessary parameters for the conversion. Then start the conversion
by opening a DOS-Box and typing
xconvert
STEP5: If you want to use the MENU interface for setting the conversion parameters and
starting the conversion, you must install the Tk/Tcl Toolkit. You find it in a directory called
‘tclwin’ provided with your conversion software. Just start the program in this directory and
follow the installation instructions. To set up the MENU, create a shortcut of the file menu.tcl
in the convert directory to your desktop. Change the icon if you want. If you double-click on
this shortcut now, the convert MENU will start. If you start a conversion now (after setting
the proper parameters) a small status window will appear informing you about the status of
the conversion and you will find a minimized DOS-Box in your WINDOWS-Taskbar in
which the conversion is running. To stop a conversion, close the DOS-Box in the task bar and
the status window manually.
1.3 Updating the Software
Before updating, make sure you have the installation package of your currently running
software available in case the upgrade fails. Instead of upgrading you can also create a new
user for each software version, e.g. convert831, and do a full installation instead.
Updating of Conversion Software on Linux/Solaris Systems
11
STEP1: Login as the new user and change to its home directory (e.g. /home/convert).
STEP2: Copy the update file instxxxx.tgz to this directory.
STEP3: Uncompress the file:
gzip -d instxxxx.tgz
STEP4: Untar the file and run the installation script
tar xvf instxxxx.tar
install.sh
Updating of Conversion Software on WIN32 Systems
STEP1: Copy the update file (ins8xxxw.zip) to your existing convert directory (c:\convert)
STEP2: To unpack on a WIN32 system you may use a command line orientated tool like
unzip or pkunzip:
unzip -d insxxxw.zip
or
pkunzip -d ins8xxxw.zip
1.4 Setting up the ftp Server on Linux Systems
Since SuSE Linux 6.4 we are experiencing problems with the data transfer to the OS/9
system. The reason for this seems to be the default ftpd server running on the Linux system.
12
While we do not know about problems when transferring data between two Linux systems,
the communication with OS/9 systems sometimes is faulty.
There may be two kinds of problems:
-Completely missing LIC files. This is generally only a machine time consumption
problem. When you are using "atrans" to transfer the data the program will notice this
and give an error message. This can be fixed by transferring the data again.
-Corrupted LIC files. This is more serious as the whole exposure may fail. It is very time
consuming to prevent these errors as the xcheck_lic software may take several hours
to check a design.
To fix the problems, please run the following tests:
STEP1: Login as convert user to your conversion PC.
STEP2: Start an ftp session to this machine
ftp localhost
STEP3: You will be prompted for a username then. The prompt may look like this:
220 D2.himt.de FTP server (Version wu-2.4.2-academ[BETA-18](1) Fri Dec 11 19:58:25 /etc/localtime 1998) ready.
or like this:
220 ba.himt.de FTP server (Version 6.4/OpenBSD/Linux-ftpd-0.16) ready.
In case you see the second prompt (with different numbers though), you should change the
ftp server on your Linux system:
STEP1: Login as root on your conversion PC.
STEP2: Try the following command
wu.ftpd
If you get an error message like:
bash: wu.ftpd: command not found
proceed with STEP3, else go to STEP4.
STEP3: Go to the conversion user home directory (in most cases /home/convert). Then
change to the subdirectory "wu.ftpd" and install the wu.ftpd server:
rpm -i wuftpd.rpm
13
Note: You must log in as root in STEP1.
STEP4: Edit the file /etc/inetd.conf and look for this lines:
#ftp
stream tcp
nowait root /usr/sbin/tcpd wu.ftpd -a
#ftp
stream tcp
nowait root /usr/sbin/tcpd proftpd
ftp
stream tcp
nowait root
/usr/sbin/tcpd in.ftpd
stream tcp
nowait root
/usr/sbin/tcpd wu.ftpd -a
Change to:
ftp
#ftp
stream tcp
nowait root /usr/sbin/tcpd proftpd
#ftp
stream tcp
nowait root
/usr/sbin/tcpd in.ftpd
Restart the ftpserver with:
/sbin/init.d/inetd reload
Go to STEP2 to make sure your installation was successful.
If you still encounter problems, read the chapter on “atrans” in this manual and use the
“cksum” option to enable the checksum feature. Please also contact HIMT immediately.
1.5 SuSE 7.1
In SuSE 7.1 there is a bug in connection with IP6v. If you try to open a telnet session to your
computer you will get the following error message:
telnetd: getnameinfo.
You have to update the packages nkitb and nkitserv, You can get the latest packages from
ftp://ftp.suse.com/pub/suse/i386/update/7.1/a1/nkitb.rpm
ftp://ftp.suse.com/pub/suse/i386/update/7.1/n1/nkitserv.rpm
14
2 General Information
The purpose of this software package is to convert source files from GERBER, DXF, CIF,
GDSII, HPGL or HIMT Structure format into LIC format. The LIC format can (unlike the
other input data formats) be converted in real time into the final pixel data set. The advantage
of the LIC format compared to the final pixel data set is that its file size is much smaller due
to a highly optimized compression.
The complete conversion is divided into up to five separate tasks. A different program
performs each task. The main program "xconvert" controls the different tasks and takes care
of a correct communication between them. Each program stores statistical information in a
report file.
You can also run all programs manually. To obtain information about the meaning of the
required parameters just start the program without any parameters (Exception: xconvert -?).
xconvert:
This is the main program which has to create the correct environment, to read in the settings
in the configuration files (convert.cfg, dxf.cfg, merge.cfg, ?), to initialize the conversion tasks
and to handle the communication between the different tasks.
Finally xconvert generates a number of debug, configuration and information files required
by the OS/9 exposure software (convert.inf, convert.rpt, stripes.cfg, ?).
gerber/dxf/cif/gdsii/hpgl:
Depending on the source data type one of these programs is invoked with the corresponding
command line parameters. It converts the design data to an intermediate, CIF like format
(Structure format) which will be processed by the succeeding programs. After this step, you
can check the created Structure output with the HIMT viewer software (only under LINUX
OS). The Structure files are stored in the "t_struct" directory.
15
Dxf
Gdsioi
Cif
Gerber
Odb
hpgl
xconvert
border
stripe
xblock
xconvbe
16
border:
This program determines the borders of the design data. It is only called if the borders in the
configuration file are set to automatic. The result is stored in the report file and also put
forward to the stripe program.
stripe:
This program performs the third step of the conversion and is called only once. The Structure
data is divided into stripes (depending on the machine configuration: pixel size and number
of pixels per stripe). Each stripe file contains the design data clipped against the rectangle
representing the stripe with an offset relative to the lower left corner of the stripe. The stripe
files are still in Structure format and are stored in the "stripes" directories.
xblock:
This programs performs the fourth step of the conversion and is called once per stripe file.
Each stripe data set is divided in the y direction into blocks of 4096 pixels height and its
structures are clipped against these blocks. The resulting polygons are then converted into
trapezoids and stored in SDF format (Structure Definition Format). Each SDF file contains
data for one stripe. The SDF files are stored in the "sdf" directories.
xconvbe:
This program is also called once per stripe. It reads in the SDF files, merges (CUTs, ORs or
XORs) all layers (if required) and compresses the result to the final LIC format. Also the spot
size correction is done here. This is the most time consuming step of the conversion.
3 Restrictions and Design Rules
This part of the document will describe the things you need to take care of in order to create a
design for the mask write conversion software. There are common rules, which apply to all
17
kinds of data format, and rules, which are specific for a certain data format. In general, the
simpler you keep the way you make up your design, the better are the chances that you won't
encounter problems. Avoid getting to the limits of the data format definitions or to make use
of not commonly used functions! There is usually a more simple way to achieve the same
result without risking conversion problems. Though there is some design checking
implemented in the conversion software, this still means you will have to work over the
design again.
3.1 Common Rules
(A polyline without width, will be referred to as a polyline, while a polyline with width will
be referred to as a "polyline with width" in this document. Always be aware of the particular
differences between this kind of structures!)

All Polylines should be closed. Some data formats allow automatic closing of polylines,
but be aware of the possible ambiguities of not properly closed polylines especially, when
there is only a little gap between start and end point of the polyline. Simply avoid any
problems by closing them properly.

All closed polylines will be completely filled out on the inside. If you put a frame around
something, make sure it does not shadow all of the structures inside. This can only be
avoided by using the XOR mode feature. See the instructions about the XOR mode
below.

If you want to create structures within structures, read the previous hint carefully.

Polylines crossing themselves will produce data errors.

"Doubled" vertices in polylines (which means the same coordinates are used twice
without any other point between them) will produce data errors.

Single lines with no width will be ignored (best case) or will cause the conversion to fail.

Polygons must have not more than 128000 vertices.

Definition or reference depth can be at maximum 16.

The number of definitions or references can be at maximum 8192.

Text is not supported (except for DXF).

Designs must not exceed the limits of 2000 mm from (0,0) in any axis.
3.2 Data Format Specific Rules
(note that these rules generally apply IN ADDITION to those above):
18
3.2.1 DXF

Use a 100% Autocad compatible editor. Try to load the file to Autocad itself and make
sure, it can be loaded.

Always properly join polylines, be especially cautious, when using arcs within a polyline.

Only one font is provided with the dxf conversion package. Any font you select in the
DXF-design will be replaced by this standard font.

Only the following attributes assigned to a text are supported: ROTATION,
MIRRORING, SCALING.

Avoid putting structures to layer 0.

Do not use special characters in the layer names.

Try to design in the metric system! Use mm as the standard unit. (Some design programs
will not accept inches!)

Polylines with widths must not have a change in its widths (Tapered lines).

Different scaling in x and y when inserting a block is not supported.

External blocks are not supported.

Avoid using BLOCK insertions. Try to make the design flat. Use the conversion software
step and repeat function instead (keeps the DXF data file small!).

Try to use only the following entities: CIRCLE, POLYLINE ( with or without width, but
see the remark above), TEXT.

Also read the chapter on converting DXF-files in the convert software documentation.
3.2.2 CIF

Definition or reference depth can be at maximum 16.

The number of definitions or references can be at maximum 4096.
19
3.2.3 GERBER

Always provide a complete set of information including at least the following: apertures
used, digits of design data, base unit (inch or mm)

Do not use incremental but absolute coordinates

Avoid using circular interpolation along with polylines with width

Avoid using apertures without dimensions (e.g. circle with diameter zero)

Flashmodeb (D3) remains until another drawing mode is chosen (sometimes called
modal)

If you want to create area filled polygons use the polygon aperture (RS274) or G36/G37
commands (RS274-X, RS274)

Also read the chapter on converting GERBER-files in the convert software
documentation
3.2.4 GDSII

The inclusion of other gdsii files or text libraries will be ignored.

Node statements in gdsii are ignored.

Definition or reference depth can be at maximum 16.
3.2.5 Number of structures is limited to 8192 ODB

All data behind surface objects will be erased

Text and barcode features are not supported

Attributes are ignored
4 Usage of the Conversion Package
STEP1: Login with user name 'convert' (and password if one is set).
STEP2: Copy your design file into the correct directory: CIF files into the subdirectory cif,
GDSII files into gdsii, GERBER files into gerber, ?
20
STEP3: Load the configuration file with any editor, for example
'vi convert.cfg'.
Example of a convert.cfg file:
main source file .............................. : pfm.cif
source file type (cif|dxf|gdsii|gerber) ....... : cif
name of layer to be converted ................. : CM
name of main structure (<name>|automatic) ..... : automatic
magnification factor .......................... : 1
rotation, ccw (0|90|180|270) .................. : 0
translation in x direction [nm] ............... : 0
translation in y direction [nm] ............... : 0
mirroring at x axis (yes|no) .................. : no
mirroring at y axis (yes|no) .................. : no
left border of flat field [nm] ................ : automatic
right border of flat field [nm] ............... : 2000000
lower border of flat field [nm] ............... : -20000000
upper border of flat field [nm] ............... : 8000000
exposure mode (inverted|noninverted) .......... : noninverted
frame size [nm] ............................... : 0
lic directory (lic|automatic|name) ............ : automatic
stripe width [pixel] .......................... : 1000
pixel size [nm] ............................... : 500
arcres [degree] ............................... : 6.0
dxf units to nm ............................... : 1000000
stretch exposure .............................. : 1
automatic stripes (on|off) .................... : on
assume connected [nm] ......................... : 10000
additional pixel [pixel] ...................... : 1
keep temporary files (on|off) ................. : on
21
additional blocks (bottom) .................... : 1
stop conversion after (border|lic) ............ : lic
expose bidirectional (0|2|4) .................. : off
xor mode (on|off) ............................. : off
calculate exposed area (on|off) ............... : off
licbuffer size [KByte] ........................ : 0
automatic centering (on|off) .................. : off
automatic centering (on|off) .................. : off
spotsize correction x [nm] .................... : 3000
spotsize correction y [nm] .................... : 3000
scale factor x
.......................... : 1.0
scale factor y
.......................... : 1.0
OR
use the graphical user interface MENU to set up the convert.cfg. Some actions (for example
setting up merge options) are much easier to perform with the MENU. All settings described
below can be EITHER done manually by editing the configuration files or by using the
MENU.
To start, enter
sh menu
on a SPARC and
menu
on a Linux system or double click on the MENU symbol on your desktop.
22
The STANDARD options. Click on the ADVANCED button for the other settings:
23
STEP4: Check or modify the configuration (the parameters are described in the next chapter)
STEP5: Save the updated configuration file in the editor or press the SAVE button in the
MENU.
STEP6: Start the conversion. If you don't use the MENU start it with the command 'xdoit' in
your home directory, otherwise press the start conversion button in the MENU.
STEP7: Watch the conversion progress in a second shell with the command 'tail -f
convert.rpt' or 'cat convert.rpt'. If you use the MENU, a status window will show the
conversion progress. After a successful conversion the target files can be found in the
specified directory.
24
STEP8: Transfer the files to the dwlii system.
Example:
(transfer of LIC data in subdirectory lic into directory temp on the DWLII harddisk):
'cd lic'
or
'cd lic'
'ftp dwl999'
'ftp < transfer.cfg'
'dwlii'
<password>
<password>
'cd lic'
'mkdir temp'
this method will transfer
'cd temp'
the data into the directory
'prompt'
/h1/transfer
'binary'
'mput *.lic'
'ascii'
'mput convert.*'
'mput *.cfg'
'quit'
'cd'
You can also use the automatic transfer software "atrans" for file transfer. Read the section in
this documentation about "atrans".
STEP9: Update the LIC data set with the system specific parameters and check the data for
empty stripes. This is done directly at the dwlii and not on the workstation with the help of
the WinDWL MENU (FILE/DISIGNS/OPTIMIZE). The OS-9 commands are as follows
(location of the design is the directory /h1/temp):
update /h1/temp
optl /h1/temp
25
5 Conversion Parameters
5.1 Main Source File
Enter filename. The source files have to be in the corresponding directories: CIF files in the
cif directory, gerber files in the gerber directory and so on. For conversion of GERBER files
see the extra documentation on gerber files. If you convert Structure files, this setting only
affects the behavior for the LIC directory setting.
main source file .............................. : pfm.cif
5.2 Source File Type
Enter cif, dxf, gdsii, gerber, hpgl or structure.
source file type (cif|dxf|gdsii|gerber) ....... : cif
5.3 Name of Layer
Enter layer name:
-
in case of cif something like 'CU' or 'CM'
name of layer to be converted ................. : CM
5.4 Magnification Factor
26
Enter a floating point value,
- in case of wafers usually '1.0'
- in case of masks or reticles '1.0', '5.0' or '10.0'
- values like '0.123', '0.256789' are valid
name of layer to be converted ................. : CM
5.5 Rotation
Enter a rotation angle in multiples of 90 degrees.
rotation, ccw (0|90|180|270) .................. : 0
5.6 Translation in x
Enter a translation value in units of 1nm (x part).
translation in x direction [nm] ............... : 0
5.7 Translation in y
Enter a translation value in units of 1nm (y part).
translation in y direction [nm] ............... : 0
5.8 Mirroring in x
Enter yes for mirroring the design at the x axis.
27
mirroring at x axis (yes|no) .................. : no
5.9 Mirroring in y
Enter yes for mirroring the design at the y axis.
mirroring at y axis (yes|no) .................. : no
5.10 Main Structure
Enter structure name,
- in case of CIF 'automatic' or a definition number
name of main structure (<name>|automatic) ..... : automatic
5.11 Borders of Flat Field
Enter coordinates here (usually use automatic here unless you want match separate LIC data
sets to each other).
left border of flat field [nm] ................ : -500000
right border of flat field [nm] ............... : 500000
lower border of flat field [nm] ............... : -409600
upper border of flat field [nm] ............... : 409600
28
5.12 Stripe Width
Enter the width in pixel units. This typically 800 pixels for MaskWrites or DWLs, or 1600
for a DWL66.
stripe width [pixel] .......................... : 1000
5.13 Block Height
Enter the height in pixel units. This setting MUST be 4096 for MaskWrites or DWLs and
should be 16384 for a DWL66 (though it may vary there). Note: Since version 8.34 this
parameter can not be changed any more.
block height [pixel] .......................... : 4096
5.14 Pixel Size
Enter the pixel size in 1nm units.
pixel size [nm] ............................... : 200
29
5.15 Frame Size
Here an optional frame in units of 1 nm can be specified, which may be necessary for
inverted exposures to avoid shortcuts.
frame size [nm] ............................... : 0
5.16 Insert Text
This option allows you to insert up to five lines of text into your design. After setting this
parameter to “on” a new window will appear. You can enter your text and specify position
(nm) and letter size (1~1mm). Once you have saved a himt-text file you can reload it with the
load button.
5.17 Exposure Mode
Setting this switch to 'inverted' will result in a generation of additional structures, which last
to the end of the most right stripe and the most upper block; this is necessary to avoid wanted
exposures of dies in the neighborhood.
exposure mode (inverted|noninverted) .......... : noninverted
5.18 Arc Resolution
Defines the angle between two points of a polyline an arc is divided into when converting
from DXF to LIC format. The unit is degrees (Range: 0.1 to 20 degrees). Note: the smaller
the angle, the better the approximation to an arc, but conversion time increases. A good value
is in the range of 4 to 9 degrees.
arcres [degree] ............................... : 6.0
30
5.19 DXF Units
Sets the number of nanometers for 1 unit in a dxf design.
mm:
1000000
inch:
25400000
dxf units to nm ............................... : 1000000.0
5.20 Stretch Exposure
Sets the factor a design is stretched in y-direction. This is useful to avoid multiple exposures
(e.g. chrome plates). Valid values are 1, 2, 4, 8, 16,... Read the section about stretched
exposures for more information.
stretch exposure .............................. : 8
5.21 Additional Pixel
Creates an overlap of neighboring stripes at the right end of each stripe. A small area at the
beginning of the next stripe is added to the end of the current stripe. During exposure this
small overlapping area is exposed twice and thus twice as much energy is put to structures in
this overlapping area. The step width of the overlap is pixel, so you can choose integer values
only. This option is normally disabled. Enable it only if you do not have sufficient energy at
the stripe connection and usage of a longer ramp would lead to a distorted linearity over the
scan.
Note: Do not enable this option unless you know exactly what you are doing as the latest
OS/9 "update" software automatically enables this feature for the exposure if you have set it
on during the conversion.
additional pixel [pixel] ...................... : 1
31
32
5.22 Automatic Stripes
This option is currently not supported!
When set to off, the stripe width is not constant but read from the file str.cfg . This file has to
be created manually. With the R and E (repeat and end) commands sequences can be easily
repeated. Your OS/9 exposure software must support this option to give correct results.
Example:
400
260
R 2
/* repeat 2 times */
210
400
800
E
/* end of sequence to be repeated */
200
EOF
/*
+ carriage return at end of this line! */
would create LIC-files with the following stripe widths (pixel):
400, 260, 210, 400, 800, 210, 400, 800, 200
You have to make sure there are enough stripes in the str.cfg for the borders you have chosen.
Stripes exceeding the (chosen or automatically detected) right border will be converted, so
make sure you have the appropriate design width in your str.cfg
automatic stripes (on|off) .................... : on
33
5.23 Assume Connected
When converting DXF or HPGL designs there are sometimes polylines, which are not
properly closed. With this option you can set a threshold for the dxf program to automatically
warn you if there is a polyline with a distance from starting to ending point smaller than this
threshold (this often means that the line was not properly closed) and automatically close the
polyline. If the distance is bigger than this value, the polyline will be closed without any
warning. This option is also important to find polylines which cross themselves at start and
end, because it will only check for crossed lines if the distance is smaller than this value (as
otherwise the polygon will be closed automatically, s.a.). Depending on the design you
should set this value to about 500 to 5000 nm. If the distance is bigger, the conversion
software will give you more warning messages. You can start with a low threshold to find the
perhaps not properly closed polylines and increase it then.
assume connected [nm] ......................... : 1000
5.24 Keep Temporary Files
This prevents the program from deleting the intermediate format files generated during the
conversion (Structure, stripe and sdf files). This is usually not required and wastes a lot of
disk space (which can be freed by deleting the directories with the corresponding names:
t_struct, sdfxx/ and stripesxx/). Turn this option on only if you encounter problems during the
conversion and HEIDELBERG INSTRUMENTS asks you to do so.
keep temporary files (on|off) ................. : on
5.25 Additional Blocks
This allows you to add an empty block to the beginning of each stripe. This is strongly
recommended to achieve best exposure results. Note: When exposing, consider that your
design starts with an empty block, which may take up to 8.2mm (40mm write head) in ydirection!
additional blocks (bottom) .................... : 1
34
5.26 Lic Directory
Sets the directory where the LIC data are stored. You can manually set it to any directory you
want, using absolute paths (like "/mount1/licdir") or paths relative to the home directory (like
"licdir"). If set to automatic, the software will generate the directory name from the main
source file name by subtracting the extension from it (example01.dxf goes to directory
"example01"). If you convert from Structure format, set a main source file if you use the
automatic option.
lic directory (lic|automatic|name) ............ : automatic
5.27 Expose Bidirectional
If your machine is capable of bi-directional exposures, use this setting to convert for bidirectional exposures. The value specifies whether you want no (0), two-beam (2) or 4-beam
bi-directional exposure.
expose bidirectional (0|2|4) .................. : 0
5.28 Xor Mode
Setting this feature will change the way structures in your design are combined. Usually, all
structures are ORed (which means added) to each other. If you enable this feature, structures
are XORed instead.
Be careful, if you have overlapping structures like the square in the top right corner of the
sample. Each time a structure covers an area the polarity will change from positive to
negative in this area.
Note: The order of appearance of the structures does not make a difference to the final result.
xor mode (on|off) ............................. : off
35
5.29 Calculate Exposed Area
Enabling this feature calculates the total area the converted structures cover. The result can be
found in the last lines of the convert.rpt file in the data directory.
calculate exposed area (on|off) ............... : off
5.30 Licbuffer Size
If set to a nonzero value, the conversion software will use this parameter to check if any LIC
files exceed this size. These files will then be divided into several smaller files by the
"splitlic" program. This is used to avoid LIC buffer overflows on the OS/9 system. The split
LIC files will be renamed to aX.LIC, bX.lic, cX.lic, ? if X.lic was the original file name.
Make sure your atrans software is 1.08 or higher and your OS/9 update software is capable of
handling this option.
This feature is currently provided only for the Linux conversion software.
licbuffer size [KByte] ........................ : 0
5.31 Automatic Centering
Enabling this option sets the (0,0) position of the LIC data set
the center of the design. This is useful if your design coordinates are not centered, but you
want to center your exposure.
automatic centering (on|off) .................. : off
36
5.32 Spotsize Correction
This two settings switch the spot size correction on and off. Read the separate documentation
about spot size correction.
spotsize correction x [nm] .................... : 3000
spotsize correction y [nm] .................... : 3000
5.33 Scaling
Enables you to apply independent scaling factors to the x- and the y-axis of your design. This
scaling is additional to the magnification factor you specified above and can be any floating
point number. If you use this feature, all circles will be transformed into polygons with an arc
resolution of the ACRES setting given above. Enabling this feature for very large designs or
designs with many circles and/or using a very small value for ARCRES will heavily increase
your conversion time.
The exposure offset will remain the same as for the not scaled design and is identical to the
offset you get if you use the "Determine Design Borders" feature of the MENU.
Note: Usage can even result in an abnormal conversion termination due to lack of memory or
harddisk space. Use this feature only if your machine hardware requires it (e.g. some
DWL66s).
scale factor x ................................ : 1.0
scale factor y ................................ : 1.0
37
5.34 Cluster Hosts
Only available on the special PVM conversion software. Defines which machines will join
the cluster for the parallel conversion. Spelling identically to the entries in the /etc/hosts files
is required. See the section on Cluster Conversion for more details.
cluster hosts ................................. : c1,c2,c3
5.35 Left Optic Path
Only required for machines with green and UV laser installed.
Do not select this option unless you are absolutely sure about what you are doing.
left optic path (on|off) ...................... : off
5.36 Scale Offset
Only available for DWL 66. This allows you to decide whether the offset to the (0,0) position
of your design is scaled with the factors set in the "scale x" and "scale y" options. Set to "on"
if you scale your design in order to fit it to your size requirements. Set to "off" if your
machine requires a scaling in y.
scale offset (on|off) ......................... : on
38
5.37 Invert Spotsize Correction
Normally the conversion software will automatically choose the sign of the spotsize
correction value. This option inverts this behavior, i.e. features will grow for noninverted
exposures and shrink for inverted exposures.
invert spotsize correction (on|off) ........... : off
6 Conversion of CIF Design Files
Step by step instruction:
STEP1: Copy the CIF file to the cif subdirectory.
STEP2: Enter the name of the CIF file in the "main source file.." entry.
STEP3: Set "source file type ?" to cif. Enter the layer name in "name of layer to be converted
...". Set up the remaining conversion parameters.
STEP4: Start the conversion.
39
7 Conversion of GDSII Design Files
Step by step instruction:
STEP1: Copy the GDSII file to the gdsii subdirectory.
STEP2: Set "source file type ?" to gdsii.
STEP3: Enter the name of the GDSII file in the "main source file.." entry or open a file dialog
window by choosing "Browse source file" in the "File" menu.
STEP4: If you want to merge different layer select "Create merge configuration" in the
GDSII menu else choose “Use standart gdsii”. If you use merge configuration the maximum
number of references for ech cell is limited to 1000.
STEP5:
Merge Configuration:
Select your top level cell. If you want to merge the layers click on the corresponding button
and choose a operation else select "convert all layers". The “step menu” is described in
"Conversion of dxf design files".
Standard Configuration:
Enter the top cell and the layers separated by commas.
STEP6: Start the conversion.
40
8 Conversion of DXF Design Files
8.1 General
The general and machine specific settings for the conversion of AUTOCAD's DXF format to
LIC have to be made in the convert.cfg as for every conversion. In addition, to be compatible
with AUTOCAD's multi layer feature, you have to set up the dxf.cfg file to designate the
layers you want to convert. Also in ‘step and repeat’, the merging of layers and rotating
and/or mirroring of individual layers is controlled by this file. Merging of layers allows you
to do logical operations on structures from different layers. Currently the operations CUT,
OR and XOR are supported:
Only the CUT operation is dependent on the order of operation (from left to right in the
subtitles). Of course multiple operations can be done:
41
Note: In this case there are two ways to reach the desired result.
The behavior of the merging function is controlled by the dxf.cfg:
Sample dxf.cfg:
There can be several sections in this file each of which can contain calls to several of the
available layers in the DXF file. Each call command carries the information about where to
place the layer and whether mirroring or rotating is needed for this layer. For more
information about the syntax of the CALL command used here refer to the section on the
Structure format in this documentation.
42
At the beginning of each section (except for the first, which is always [MAIN]) there is a
header line which describes whether the contained layers are CUT, ORed or XORed to the
result of the sum of all previous operations. XOR means each time a structure covers an area
the polarity will change from positive to negative in this area. The order of operation is from
top to bottom.
The sample configuration above would first OR the layers in [MAIN] (214DMK, 214) to
each other (which means they are simply added) and produce a new layer containing the
result (e.g. called SECTION1). The syntax of the lines (C DMK 3 0 0 2 0 0 1 0 0) is
described in the chapter "The HIMT Structure Format". In the next step the same (adding of
all layers in the section) would be done with all files in the following [CUT] section and
stored to layer SECTION2. Then SECTION2 would be cut out of SECTION1 and the result
stored again to SECTION1. Afterwards all layers in the following [OR] section would be
added to SECTION3. SECTION1 and SECTION3 would then be ORed to each other (added)
and the result would again be stored to SECTION1, and so on until all sections are processed.
The resulting, final SECTION1 layer will then be converted.
The easiest way though to set up the dxf.cfg is to use the graphical user interface program:
STEP1: Copy the DXF file to the dxf subdirectory. If your dxf software is older than 8.15 (to
find out simply type "dxf <ENTER>" in a shell) remove DOS linefeeds with dos2unix.
STEP2: Enter the name of the DXF file in the "main source file.." entry.
STEP3: Set "source file type ?" to DXF. Set up the remaining conversion parameters.
STEP4: Select DXF/Create New dxf.cfg. The DXF file is analyzed and after some seconds, a
window appears:
43
STEP5: Set up the merging configuration. The top left column displays all layers found in the
DXF file plus layer "0" (which may also contain structures). To the right a radio button
matrix allows you to assign each layer to one column. To deselect a layer, click on the
"Clear ?" button at the very right of the row. Choose the merging operation between two
neighboring columns with the button below that column. All layers in each column are added
and then merging will proceed from left to right. The first column is always positive.
STEP6: If Step&Repeat has to be done to any or all layers, click the "Step ?" button for that
layer:
Note: Units of all entries for "Step Size" and "Translation" are
always nanometer
The "Save to all Layers" button applies these settings to all layers, "Load Default Values"
resets to default settings for the current layer. The order of operation is translate and step,
then rotate and finally mirror. Click "Save" and "Exit" to save and exit and return to the
previous window.
STEP6: Save and exit your settings. You can edit your dxf.cfg now by selecting DXF/Edit
dxf.cfg:
44
Output of the sample setup above:
Read the documentation of the HIMT Structure format for the meaning of the command
lines.
STEP7: Start the conversion
8.2 The "dxf" Program
The command line parameters and the DXF error messages are explained below.
The syntax of the dxf program is the following:
dxf <source file> <magnification> <arcres> <mode> <assm>
<source file>
name of the DXF design file
<magnification>
see "dxf units to nm" in Usage of the conversion package
<arcres>
see "arcres" in Usage of the conversion package
<mode>
1: do full conversion from DXF to Structure format (requires
45
existence of "structures" subdirectory)
0: only analyze the DXF file
<assm>
see "assume connected" in Usage of the conversion package
The error messages reported by the program will be explained by some examples:
nonzero linewidth:
Polylines with nonzero line width are not supported.
The line number in the dxf file of the first vertex and its
coordinates are reported.
*** dxf: polylines with linewidth are not supported!
*** dxf: line#
13701
layer: U072MK
*** dxf: starting coordinates of polygon:
*** dxf: xstart:
crossing lines:
73312402
ystart: 118250487
The program has found a polyline where the start and end
lines seems to cross. This may also be caused by a
doubled vertex at the end or start of the polyline. The test
for crossing lines is only made, if the distance between
start and end is smaller than the value for "assume
connected", because otherwise the polyline will be
automatically closed. The line number in the DXF file of
the last vertex and the coordinates for the first and last
vertex are reported. Also the program calculates a
crossing point, which may not be correct!
*** dxf: check for crossing lines at line# 386029
layer: U072SO
*** dxf: starting coordinates of polygon:
*** dxf: xstart:
33109999
ystart: 121184197
*** dxf: ending coordinates of polygon:
*** dxf: xend:
33109996
yend:
121184162
*** dxf: approx. crossing coordinates:
*** dxf: x:
33109999
y:
46
121184162
small distance:
If the distance between start and end point of a polyline
is smaller than the value for "assume connected" the
program will give you a warning message because this
might indicate a design error. The line number in the
DXF file of the last vertex and the coordinates for the
first and last vertex are reported.
*** dxf: warning: start and end point of polygon are closer than
*** dxf: the assume connected limit of 2000.00 nm
*** dxf: distance:
35.13
*** dxf: line#
layer: U072SO
386029
*** dxf: starting coordinates of polygon:
*** dxf: xstart:
33109999
ystart: 121184197
*** dxf: ending coordinates of polygon:
*** dxf: xend:
33109996
polyline type:
yend:
121184162
Some polyline types are not supported, for example
splines and 3-dimensional polylines.
*** dxf: illegal polyline-type
*** dxf: line#
386029
layer: U072SO
*** dxf: starting coordinates of polygon:
*** dxf: xstart:
missing character:
33109999
ystart: 121184197
Some characters in text are not (yet) supported. They
are replaced by white space.
*** dxf: Warning: missing character: "
47
*** dxf: file: STANDARD.34
*** dxf: error # 1
*** dxf: line#
386029
layer: U072SO
*** dxf: starting coordinates of text:
*** dxf: xstart:
33109999
ystart: 121184197
*** dxf: character will be blanked out
illegal arc :
Sometimes arcs within a polyline are not properly
joined to the rest of the polyline. In this case the error
message below will appear. Check your design, join the
polyline and start the conversion again. You can not
ignore this error.
*** dxf: ARCs are not supported, structure will be ignored.
*** dxf: check for not connected (joined) polyline
*** dxf: file: STANDARD.34
*** dxf: line#
386029
layer: U072SO
*** dxf: starting coordinates of arc:
*** dxf: xstart:
33109999
ystart: 121184197
9 Conversion of GERBER Data
This section describes the setup for the conversion of gerber files to LIC code and the
currently supported gerber commands .
In addition to the settings for the conversion of GDSII and CIF files made in the convert.cfg
(see: "CIF/DXF/GDSII/GERBER to LIC Conversion Software") you need to edit the
gerber.cfg file in your home directory for the conversion of gerber design files.
48
9.1 Description of gerber.cfg
The gerber.cfg file contains all necessary information about the used apertures, the format of
the gerber design file and the gerber design files to be converted. An example might look like
this:
field # 001 ................... : layer1.gbr, n,
90,
0.000,
0.000
field # 002 ................... : layer2.gbr, x,
0,
10.000,
92.900
field # 003 ................... : layer3.gbr, y, 180, 100.000,
92.900
base unit (inch|mm) ........................... : mm
number of digits left of decimal point ........ : 3
number of digits right of decimal point ....... : 4
wheel # 0, aperture # 01 (D10) ................ : P
wheel # 0, aperture # 02 (D11) ................ : C,0.01
wheel # 0, aperture # 03 (D12) ................ : S,0.05
wheel # 0, aperture # 04 (D13) ................ : F,apt1.gbr
wheel # 1, aperture # 01 (D10) ................ : C,0.003
wheel # 1, aperture # 02 (D42) ................ : C,0.0004
wheel # 1, aperture # 03 (D79) ................ : C,0.00005
The field
field # 001 ................... : layer1.gbr, n,
90,
0.000,
0.000
parameter can be used to merge up to 999 gerber files into one exposure.
Each design can be independently mirrored,
filename, axis [n,x,y], phi [0,90,180,270], x [mm], y [mm]
49
rotated,
filename, axis [n,x,y], phi [0,90,180,270], x [mm], y [mm]
or translated:
filename, axis [n,x,y], phi [0,90,180,270], x [mm], y [mm]
Examples:
field # 002 ................... : layer2.gbr, n,
0,
10.000,
92.900
would mean, that the design layer2.gbr would be converted with the following
parameters:
- no mirroring
- 0 degrees rotation
- x-translation of 10 mm
- y-translation of 92.9 mm
field # 002 ................... : layer3.gbr, y, 180, 100.000,
92.900
would mean, that the design layer3.gbr would be converted with the following
parameters:
- mirroring at the y-axis
- 180 degrees rotation
- x-translation of 100 mm
- y-translation of 92.9 mm
The next section describes the well known parameters for the interpretation of the numeric
data in the design file:
50
base unit (inch|mm) ........................... : mm
number of digits left of decimal point ........ : 3
number of digits right of decimal point ....... : 4
The last part is the aperture list. As you can see in the example, the change of wheels is
supported. Each wheel may contain up to 69 apertures (D10 to D79), which can be
individually set.
wheel # 1, aperture # 01 (D10) ................ : C,0.3
wheel # 1, aperture # 02 (D42) ................ : C,0.004
wheel # 1, aperture # 03 (D79) ................ : C,0.0005
Currently there are 4 kinds of apertures supported:

Polyline:
wheel # 0, aperture # 01 (D10) ................ : P
Description:

Drawing of a filled polygon pattern.
Roundflash:
wheel # 0, aperture # 02 (D11) ................ : C,0.001
Description: Use a circular aperture for drawing. Using Roundflash with diameter
zero is not supported. Use Poly aperture instead.
Can be used for flash mode as well.
51

Square:
wheel # 0, aperture # 03 (D12) ................ : S,0.05
Description:
as well.

Use a square aperture for drawing. Can be used for flash mode
File:
wheel # 0, aperture # 04 (D13) ................ : F,apt1.gbr
Description:
as
Use the file "apt1.gbr", which has to placed in the "gerber" directory,
a flash. "apt1.gbr" can be an arbitrary gerber file, but uses the settings
(units, digits and apertures) of the gerber.cfg file. Can be useful if you
want a flash of a more complex shape. The current tool position will be
the origin of the design defined in the "apt1.gbr" file.
Note: Can be used for flash mode only!
All of the above settings can also be made from the graphical user interface MENU.
(Select: Gerber/Create New gerber.cfg):
Configuration of arrays:
52
Note: Units of "Step Size" and "Translation" are always mm. The Units
for apertures are defined by the "base units" entry (mm, inch).
Configuration of apertures:
53
9.2 Description of Supported Gerber Commands
9.2.1 General Commands
G57D10MOUNT APERTURE WHEELXX
Changes the selected wheel to wheel #XX. This changes all aperture
definitions of the previously selected wheel to the selected wheel.
Note: The default is wheel #01.
G54DXX
Selects aperture #XX from the definitions within the gerber.cfg file.
Note: There is no default setting, you have to select an aperture!
G01
Linear interpolation mode
G02,G20,G21 Turns on circular interpolation with clockwise drawing direction.
G03,G30,G31 Turns on circular interpolation with counter clockwise drawing direction.
Note: If the line type is not polyline, the chosen aperture must be circular and
its diameter must be smaller than the diameter of the drawn arc.
G36/G37
Turn area fill on/off
G70/G71
Set units to inch/mm.
G75/G74
Turns on/off line 360 mode for circular interpolation.
9.2.2 G55, G04, G90 -> IgnoredDrawing Commands
D01
Set drawing mode ON.
D02
Set drawing mode OFF.
D03
Set flash mode ON.
9.2.3 Miscellaneous Commands
M02, M2
End of gerber file.
9.2.4 Sequence Numbers
54
Sequence codes will be ignored.
9.3 Extended Gerber (RS-274x)
ADD
Circle, square, rectangle and polygon apertures are supported
Samples:
AM
%ADD10C,0.05*%
50 micron circle
%ADD10C,0.0*%
outline polygon aperture (diameter is zero)
%ADD10P,0.34X5X45*%
outline polygon aperture (parameters ignored)
%ADD10R,0.05X0.04*%
rectangle (x-width: 50 micron, y-width: 40 micron)
%ADD10R,0.05X0.05*%
square (width: 50 micron)
The AM parameter is used to define special apertures. Variable
primitive parameters and reverse exposure mode are currently not
supported.
Supported primitives:
Circle
Rectangle
Outline
Polygon
Thermal
FS
Format statement allows setting of digits. T, D and I options are not
supported, digits must be the same in x and y.
IC
Only ASCII Input Code supported.
IP
Only positive Image Polarity supported.
55
IR
Image Rotation with angles: 0°, 90°, 180°, 270°.
LP
Layer Polarity of first layer must be clear
MI
Mirroring at x/y-axis
MOMM/MOIN
Set units to mm/inch.
SF
Scale factor in x/y-direction must be equal
SR
Step & Repeat
9.4 General
Max number of Layers: 100
Max number of macros: 100
Apertures: D10-D9999
10 Conversion of odb++ data
A job in odb++ is represented by a directory tree. When you receive a odb++ job it is
normally compressed to a tar-zip archive (.tgz). With the conversion menu you can
decompress this data by using the “Unpack odb archive” entry in the odb menu. Sometimes
the directory tree contains compressed feature files (feature.Z) which are also automatically
decompressed. You just have to select the tgz file and press the ok button.
After this step you can choose the step and layers you want to convert by creating a new odb
configuration (odb menu).
56
11 Conversion of HIMT Structure Data
Unlike all other formats Structure data skip the first conversion step and can be converted
directly to LIC. This reduces the conversion effort and possible error sources. As the format
is very simple some CAD systems (STELLA, IGI) have added this format to their IO filters.
Like DXF, Structure allows the merging of separate layers, but the layers have to be in
separate files instead of one DXF file containing multiple layers. Read the chapter about DXF
conversion to learn more about the merging functionality.
STEP1: Copy all layers to the structures subdirectory.
STEP2: Enter the name of one of the Structure files in the "main source file.." entry. This
does mainly affect the "lic directory ?" setting (when set to automatic). Set "source file type?"
to Structure. Set up the remaining conversion parameters.
STEP3: In the MENU select Structure/Create merge.cfg:
57
The left box lists all layers in the structure subdirectory. Select layers for your conversion by
double clicking on them or selecting them and clicking the "Add Layer ->" button. Remove
them from selection by double clicking on them in the right window or selecting them and
clicking the "Remove Layer" button.
STEP4: Click the "Merge" button. Another window appears:
Now set up your layer configuration. The setup is the same as for DXF files. Read the chapter
about DXF conversion to learn about it.
Note: You have to do this step even in case only one layer is selected. If you skip it, you will
get wrong results.
12 STEP5: Save and exit both windows. You can check the
merge.cfg you created with Structure/Edit merge.cfg. The
58
syntax is the same as for the dxf.cfg. Start your
conversion.Conversion of HPGL Data
HPGL conversion offers a special feature to comply with some CAD station's output, the
auto-connection of lines. Due to round off effects simple auto-connection may not work, so a
snap algorithm has been added. As units in HPGL are usually large, round off effects may be
big and vary widely from design to design. The "assume connected ?" entry sets the limit for
the snap algorithm. These conditions make it necessary to re-check the result of the first
conversion step (HPGL to Structure) more carefully than with other formats.
HPGL does not offer the merging functionality of DXF and Structure designs, but can, of
course make use of the XOR mode feature.
12.1 How to convert HPGL designs
STEP1: Copy your design to the hpgl subdirectory.
STEP2: Enter the name of the HPGL file in the "main source file.." entry. Set "source file
type?" to HPGL. Set up the remaining conversion parameters.
STEP3: Select HPGL/Step & Repeat. The following window allows you to set up the
Step&Repeat configuration:
Save and exit. You may check the merge.cfg to see whether everything is ok. See the
chapters about DXF and Structure conversion to learn more about the merge.cfg.
59
Note: Units of all entries for "Step Size" and "Translation" are always nanometer, the order of
operation is translate and step, then rotate and finally mirror.
Note: If you skip this step, your setup will be incorrect, even though you changed the main
source file.." entry.
STEP4: Set the appropriate magnification for your HPGL design. The conversion software
assumes, that the HPGL unit is 0.025 mm.
STEP5: Determine the "assume connected ?" parameter for the snap algorithm. It is
connected to the magnification factor in STEP4 and the internal units of the CAD software
used for generating the HPGL file. If MAG is the magnification factor and UNIT is the
HPGL files unit (currently 0.025mm), the snap parameter SNAP is determined as follows:
SNAP > UNIT * MAG
This is under the assumption, that the round off effect is smaller than UNIT in the HPGL file.
It may be much larger though.
STEP6: Convert the HPGL data to Structure format with Conversion/Convert to Structure or
Conversion/Determine Design Borders (the latter also displays the extensions of that layer).
Reconvert the structures with the struct2dxf, struct2gerber or struct2cif tool (see the chapter
in this documentation) and view the reconverted data with your viewer. Linux and SPARC
software users may also use the HIMT Viewer instead to directly view the structures. If the
output is correct, continue with STEP7, otherwise increase your snap value (double it) and
repeat STEP6. Also see the information about command line options and output below for an
easier access to the best setting.
Note: If your snap/assume connected parameter gets to large, it may start to connect
structures you don't want to be connected. If you still have problems in other positions of
your design, check there for double lines or other problems.
Note: For very large designs the auto-connection may take very long, though it is highly
optimized.
STEP7: Start the conversion.
60
12.2 HPGL Command Line Options
Like all programs of the conversion software, the hpgl program can also be started from the
command line. The command line parameters are
Syntax: hpgl <source> <target> <magnification> <arcres> <tolerance>
Function: conversion of hpgl files
to structure files
Version: 1 (WINDOWS)
Revision: 3
<source>
Source file name without path (must be in hpgl subdirectory)
<target>
Structure output file name (will be put to structures subdirectory)
<magnification>
Magnification factor. This must include the assumption, that the HPGL
units are 0.025mm, i.e. if you set a magnification of 1 the unit size will
be set internally to 25000 (nanometers).
<arcres>
Arc resolution setting. See "Usage of Conversion Package" for more
information
<tolerance>
The snap/assume connected parameter
In case you encounter problems in STEP6 above, you may want to find better parameters. To
do this it is convenient to run hpgl from the command line and watch the output first.
When you run hpgl from the command line, the output will look like this:
61
If you increase the tolerance for the snap algorithm by doubling it a few times and the
number of structures does not decrease, you can be sure to have a good setting. If you
increase the parameter too much, the snap algorithm will start to connect neighboring
structures and the output will be wrong again. Therefore, check the output afterwards.
13 The struct2dxf Tool
This tool allows you to reconvert HIMT Structure data to DXF format data. This enables you
to preview your exposure.
The usage of this command line tool is very simple:
STEP1: Start the conversion and stop it after the border program. If you have the MENU
software (version 1.12 and above) you can set
stop conversion after (border|lic) ..................... : border
to border to automatically stop after the border program. You also have to set automatic
borders.
62
STEP2: Go to a shell or command prompt and change to your home directory.
STEP3: type
struct2dxf main <target file name>
The target file name should have the extension .dxf. The reconverted file will be placed in the
dxf directory. Any existing file with the same name in the dxf directory will be overwritten.
STEP4: View the target file with any DXF viewer and check for errors.
Hint: On Windows systems, you can also create a batch file (e.g. reconvert.bat) containing
the following line and place a shortcut to it on your desktop:
struct2dxf main reconvert.dxf
(It would, of course, overwrite the file reconvert.dxf each time you use it.)
14 Checking lic files
If you have finished your conversion you can check the resulting lic files. Select "Check lic
files" in the "Conversion" menu and select a directory. After the check process the result is
shown in a new window.
You can also start the check from the command line:
xcheck_lic "licdir"/?.lic
xcheck_lic checks only the structure of your lic files. If your conversion station works correct
there will be no error at all.
63
15 The HIMT Viewer
The HIMT Viewer software allows you to preview your exposure. It uses a Tk/Tcl based XWindows interface to display Structure data. It also supplies basic CIF, DXF and GERBER
output and very few, simple measurement and editing functions.
It is available for Linux and Solaris only. A WIN32 version will be provided in the future, so
WIN32 users have to use the struct2dxf tool instead.
15.1 Installation
The Viewer is supplied with the conversion software only, so if you use the MENU and have
the Tk/Tcl package installed, no additional installation is required. See the convert software
installation chapter above for how to install Tk/Tcl.
The Viewer consists of two files: The file "hview" in the home directory and the file "views"
in the cmds subdirectory. "hview" is a Tcl script that initialises and starts the Viewer; "views"
contains the main binaries. To start the Viewer type "hview" ("sh hview" on Solaris systems)
from the home directory (it is always started from there). If you get an error message like
views: can't load library libtclx.x.so
you have the wrong version of Tk/Tcl installed.
On Solaris systems this means you have not installed the package recommended in the
convert software installation chapter. Uninstall your current version and replace it with the
recommended one.
If you use a Linux system, do the following:
STEP1: Login as root.
STEP2: Change to the convert user home directory. Copy the file libsxx_yy.tgz from the
cmds/libs directory to "/":
cp cmds/libs/libsxx_yy.tgz /
64
(xx must be the x.x of the error message above!)
STEP3: Change to "/".
STEP4: Unzip the file with
gzip -d libsxx_yy.tgz
STEP5: Untar it with
tar xvf libsxx_yy.tar
STEP6: Delete the file libsxx_yy.tar. Restart your computer.
15.2 Usage
15.2.1 General
15.2.2 Short Instruction for Exposure Preview from the MENU
STEP1: Set up your convert.cfg with all conversion parameters.
STEP2: The viewer will show the whole design after startup. If you have set the conversion
borders manually the viewer can show you this part of your design after pressing “Load
config”.
STEP3: Select Conversion/Preview Structure. The MENU window will be minimised and
reappear after some seconds (this can take up to several minutes for large designs). Your
design data have been converted to Structure format (the data are stored in the t_struct
directory). The Viewer starts and loads the Structure data, which will be displayed after some
time.
65
15.2.3 Short Instruction for Exposure Preview from the Command Line
If you set up the convert.cfg with an editor and start the conversion with "xdoit" or
"xconvert" do the following:
STEP1: Set up your convert.cfg with all conversion parameters.
STEP2: The viewer will show the whole design after startup. If you have set the conversion
borders manually the viewer can show you this part of your design after pressing “Load
config”.
STEP3: Set the "stop conversion ?" setting to border.
STEP4: Start the conversion. It will run for a short time and convert your design data to
Structure format (the data are stored in the t_struct directory).
STEP5: Start the Viewer from the command line in your home directory with
hview t_struct/main
or
sh hview t_struct/main
on SPARC/Solaris systems. The Viewer starts and loads the Structure data, which will be
displayed after the loading process.
Note: If you set the "stop conversion ?" setting to border and start the conversion, the input
format will be converted to Structure format. All Structure output is written to t_struct/ and
deleted at the start of the next conversion while your Structure conversion input data usually
reside in structures/ .
15.2.4 General Usage
The Viewer must be started from the home directory of the convert user. Start with
hview
or
66
sh hview
on SPARC/Solaris systems. You can also give the path of the structure files (up to 5) to be
loaded as command line parameters:
hview structures/LAYER1.str structures/LAYER2.str ?
Note: You can give a relative or absolute path to the Structure files. These files will then be
loaded immediately after the Viewer has started.
After the Viewer has started two windows are shown, the Display Window and the Control
Window. The Control Window contains two menus ("File" and "Edit"), several buttons, a
Log Window and a Status Display:
Display
Menus
Buttons
Status
Log
67
Control
15.2.5 The Log Window
At startup the Log Window shows the Viewers version and revision number. The current
status and all operations are logged here and you can always scroll up and down to go
through the history. It also displays hints for the operations, which you can start with one of
the buttons, so always look here to get help.
15.2.6 The Status Display
The Status Display gives you information about all currently loaded layers. If you want
information about an individual layer, go through the Log Window's status list for
information displayed after loading that layer.
XMIN, XMAX, YMIN, YMAX
Extents of all layers loaded in mm.
Polygons
Total number of polygons loaded.
Vertices
Total number of vertices (points) in all polygons.
Max Nr.
Maximum number of vertices in one polygon.
Circles
Total number of circles loaded.
Memory
Amount of memory used (approximately).
15.2.7 The Display Window
The Display Window displays the data. Each Structure layer gets a different color depending
of the order in which they are loaded (black, red, blue, green, ?). The window can be resized,
but you have to initiate a redraw manually afterwards.
68
15.2.8 File Menu
New
Unloads all layers.
Add Layer
Adds a new layer to the currently loaded layers. The following dialog
box appears:
Enter the path of the Structure file you want to load and click on OK. Watch the Log
Window for the loading progress.
Note: Viewing of LIC data is not supported.
Load Layer
Same as Add Layer, but all currently loaded layers will be unloaded
before.
Unload Layer
Unload one layer. The Log Windows displays a list of all layers
loaded. Double click on the layer you wish to unload.
Save CIF/DXF
All layers in memory will be exported to one CIF/DXF file. The layers
are kept in separate layers in the CIF/DXF file. A dialog box appears
and asks you for the output file name. Enter the path of your output file
and click on OK. Watch the progress in the Log Window.
69
Save GERBER
All layers are saved to individual layers. You are asked for a target
directory instead of a target file. Each layer is stored to a file in this
directory with the name of that layer and the extension .gbr . The only
aperture used is a D10 Polygon aperture.
Save STRUCTURE (normal)
Saves all layers to one Structure file. This is mainly used for merging
of several Structure files to one.
Save STRUCTURE (9.0)
Saves all layers using a more advanced but not (yet) conversion
compatible Structure format. Do not use this feature unless you know
exactly what you are doing.
Exit
Exits the Viewer
Note:

All saving operations overwrite existing files without prompting.

All output data are flattened so the output data may be large.

The output filters support only circles and polygons.

With repeated saving, converting to structure and reloading you can separate or merge
layers in any combination of design data types. Also you can convert from any of the
supported conversion software input formats to CIF, DXF, GERBER and Structure.
15.2.9 The Edit Menu
List Layers
Lists the names of layers loaded.
70
Setup
Sets up parameters for the adding of a grid. See below for a more
detailed explanation.
Stretch Layer
Scaling of layers. Enter the scaling factors in the dialog box. If the
scaling factors are not the same for both axis and the factor for one axis
is larger/smaller than 40/39.5 respectively 39.5/40 circles are converted
to polygons. The ARCRES setting then sets the angle between two
neighbouring vertices of the polygon. Otherwise, only the circle centre
position is scaled and the radius is scaled by the average of the two
scaling factors.
Double click on the layer you wish to scale in the Log Window.
Add Grid
allows you to add a grid to a loaded layer. The Setup dialog window
appears:
Enter your pixel size, stripe width and block height. If you select Auto
Grid, the grid will start at the lower left corner of the layer. Select User
Grid and set up Grid Start X/Y for arbitrary start co-ordinates.
Select the grid type in left column:

Grid: Adds a grid of stripes and blocks with the dimensions of
your stripe width, block height and pixel size settings.

Grid + Text: Adds the stripe and block number in the lower left
corner of each block.

Note: Using this feature may create huge data sets and possibly
use up to much memory (System crash possible). Only use for
small number of stripes/blocks.

2/4 - Beam: Adds a grid of horizontal lines according to a 2/4 scan
encoding. (Same warning as for Grid + Text applies here.)
Click OK to save your settings. Double click on the layer you wish to
add the grid to in the Log Window
71
Add Frame
Lists the content of the "frames" subdirectory in a new window.
Double click on the frame you want to add. Frames have to be in
Structure format.
15.2.10 The Buttons
Redraw
Redraws the current view.
Load Config
Load exposure specific parameters (exposure mode,xor mode,
borders).
Alt
Draw multiple layers in b/w
Fill
Switches display of filled/outlined structures on/off. The button
changes its colour when filling is on.
Note: Polygons with to many points can not be filled. Watch the
messages in the Log window.
Mode
Switch between inverted and noninverted mode
XY
Turns the display of the cursor position in the lower left corner of the
Display Window on and off. The unit of the position is mm. Also
stripe and block number are displayed according to the current setup.
The button changes its colour when this mode is enabled. No other
operation is permitted until you have clicked with the middle button on
the Display Window.
To start measuring, click the left button on the start position and move
the cursor around. The total distance from the start position and the
distances in x and y are being displayed (in mm). Click the left or
middle button to return to co-ordinate display mode.
WZoom
Zooms into a window. Click the left button on one corner of the
window you want to zoom in. Then pull the window with the mouse
and click the left button again. The display zooms in to that window.
Click the middle button to abort that operation.
72
MZoom
Zooms in to the position you click on with your left mouse button or
zooms out if you use the right button. After redrawing the cursor points
to the position you clicked on. Click the middle button to abort that
operation.
All
Zooms to maximum extent of the design.
In/Out
Zooms In/Out of the centre of the currently displayed area.
Left/Right/Up/Down Moves the displayed area left/right/up/down.
Image:
Captures a screenshot and saves it as design(x).jpg
Note:

Always watch the Log Window for hints and explanations.

On systems with a 2-Button mouse the middle button is usually enabled by pressing
both buttons simultaneously.

Always end your operations before starting a new one. Usually the button of the
operation you have not finished has a different colour.

To end a operation always click the middle button on the Display Window, not on the
Control Window.
15.3 Preview of Merged Layers
Some design formats are using polarities (positive, negative) for generating complex
structures (gerber RS-274X, odb). With layer orientated formats (dxf, gdsii) it is possible to
perform operations between different layers (cut, or, xor). In both cases the conversion
software generates a configuration file (merge.cfg, mg.cfg, dxf.cfg). For every polarity
change or layer operation a new section is created in this file. If you start the viewer all files
in one section are displayed with a color. There are 8 different colors for the sections. That
means the ninth section has the same color as the first section.
16 If you want to view odb or RS-274 data press the alt button in
the viewer menu. This will switch the color between black and
white for every new section. For merged layers with
73
alternating or-cut operations use also the ALT button. The
result of other layer operations can not be
displayed.Troubleshooting
In case you encounter conversion software related problems during or after conversion and
exposure, do the following:
- Re-check you complete configuration. In some cases typos can cause errors where you do
not expect them to do (wrong design name, missing ramps, ...). If you have already plotted,
check the machine configuration again carefully.
- Check your design again. Use the HIMT Viewer or the struct2dxf tool to see if the
conversion software has correctly converted your input data to the Structure format.
- Check the following conversion report files for error messages: convert.log, convert.rpt,
convert.inf. If the conversion has finished you will find those files in your LIC data directory,
otherwise they are in the home directory.
- Check your conversion station for free disk space.
- If the exposure fails: Check the number and size of the LIC files on your OS/9 system and
compare them to those on the conversion station
- Read the Troubleshooting section in this document.
If this does not solve your problems, collect the following information and files and send
them to HIMT (via mail, e-mail or fax):
- Detailed description of error occurring. If the design has already been exposed measure the
exact location of the error. If you know the stripe number, send that LIC file and 2-3
neighboring LIC files. If possible fax a sketch to HIMT.
- If the conversion fails collect these files from the home directory: convert.cfg, gerber.cfg,
dxf.cfg, merge.cfg, convert.inf, convert.rpt, convert.log
74
- Otherwise collect these files from the LIC directory and in addition the file size.cfg.

- Version and type of the conversion package currently installed (version number, machine
type, EDDU or not). If a specific part of the software fails (e.g. the gerber program) get the
version of that program too (especially if you have received upgrades on single files). To do
that simply type the name of the program on the command line (exception: xconvert has to be
called with xconvert /? ).
- If you have use the MENU and you get an error message:
Hit the Stack Trace button. Copy the first 6 lines of the following error message and send it
with the other files.
- The design data file.
Compress ALL data files using a ZIP compression tool. Do not use any other tools like arj
ore lha. Do not send files larger than 10MB via e-mail.
Supported media are: 1.44MB Floppy disk (PC, minix and SPARC), 100MB IOMEGA ZIP
disk (PC formatted), 4mm DDS-2 tapes (Unix tar archives only), CD-ROM (ISO9660).
17 The HIMT Structure Format
This part of the document describes the internal HIMT Structure format. It is the uniform
interface for the conversion of design data to LIC data. Each design conversion program
(gerber, cif, gdsii, ...) writes its Structure format output to the ./t_struct directory.
75
All output files are plain ASCII files with a <CR> at the end of each line. The directory
contains a main structure file, usually called "main"
(option:
name of main structure (<name>|automatic) ..... : main
in the convert.cfg file).
It represents the top level of Structure files to be included. The Structure files themselves
consist of a number of ASCII text lines. Each line contains ONE command. The commands
start with a letter which specifies the command followed by the necessary numerical
parameters. The numerical parameters can have a maximum size of +/-2.14*10E9 (32 bit
signed INT) and the unit is always nanometer (nm).
Call command:
C NAME [1 TX TY] [2 R1 R2] [3 M1 M2] [4 S1 S2]
(brackets [] indicate optional parameters)
includes the Structure file NAME in the further conversion. All included files
have to be in the same directory.
Valid parameters are:
1 TX TY :
TX and TY define a translation of the called Structure file
towards the origin (0,0) in nm.
2 R1 R2 :
Defines a rotation of 90, 180 or 270 degrees counterclockwise for the
called file.
Valid combinations for R1 and R2 are:
R1
R2
rotation
76
0
1
90
-1
0
180
0
-1
270
3 M1 M2 :
Allows mirroring the design to the x- or y-axis:
M1
M2
mirror to
0
1
x-axis
1
0
y-axis
Example:
C LAYER2 1 10000 0 2 -1 0 3 0 1
4 S1 S2:
Scales the called file. The ratio S1/S2 is the magnification factor.
For maximum precision S1 and S2 must be large integers.
Example:
C LAYER2 4 100000 25000
calls the Structure file LAYER2 with a magnification factor of 4.
77
Polygon command:
P X0 Y0 X1 Y1 X2 Y2 ... X0 Y0
Xi and Yi are the corresponding coordinates for each point of the polygon.
There can be (at the moment) up to 65535 points in one polygon. The area within the
polygon will be exposed.
Note: The last coordinate pair has to be the same as the first.
Example:
P 1000 2000 -1000 2000 -1000 -2000 1000 -2000 1000 2000
would draw a rectangle with the "center" at (0,0) and the size of 1000 nm x
2000 nm.
Circle command:
X R XC YC
R is the radius, XC and YC are the center coordinates. This line will draw a
filled circle at (XC,YC) with the radius R.
Example:
X 2500 10000 20000
78
would draw a circle of 2500 nm radius at the coordinates (10000,20000).
Arc command:
This command is no longer supported.
18 Stretched Exposures
Stretched exposures enable you to increase the writing speed of exposures that you normally
cannot do in one pass and the exposure quality of the machine when using the 10, 20 or 40
mm lens for exposures on resist. The table movement speed during the exposure is reduced
and each scan will be exposed multiple times instead of only one time. By doing this, more
energy can be brought onto the substrate in one pass, and the edge roughness in y is reduced
as the scans are denser in y direction. The repeat ("stretch") factor for each scan must be a
power of 2, e.g. 2, 4, 8, 16, 32, ?, and this factor defines the energy multiplication effect.
There are two cases:
1. You don't have enough energy for a single pass exposure. You would have to do a multiple
pass exposure but you want to reduce the exposure time. If, for example, you would have to
do 6 "normal" exposures to reach sufficient energy, you would then use a stretch factor of 8
(smallest possible factor bigger than 6) and an energy level of approximately 75%
(8*0.75=6). The exposure time will of course still be increased due to the reduced table
movement speed, but the overall exposure time will be much shorter than 6 "normal"
exposures because you will (in our example) save the backward movement and table
positioning time 5 times for each stripe.
2. You want to improve the edge roughness in y. Choose e.g. a stretch factor of 2. Reduce the
energy on the machine to 50% (100% / 2) .
18.1 Step by step instruction
STEP1: Calculate the required stretch factor and energy setting for the machine.
79
STEP2: Set the "stretch exposure ..." in the convert.cfg.
STEP3: Convert and expose as usual, but make test exposures to find the best energy setting
on the DWL.
Note: This feature will increase the size of you LIC data set.
Note: This feature is not available on a DWL66
19 The "atrans" program
80
This describes the setup and usage of the OS/9 "atrans" (automatic transfer) program version
1.08 and above. If you have an older version of atrans, you MUST upgrade! Find out about
your currently installed version by typing
atrans -?
on an OS/9 shell.
The program is designed to automatically transfer a complete set of conversion data from the
conversion station to the DWL OS/9 system. All information about the LIC data will be
stored in one subdirectory (the "design config" directory) of a designated directory
(/h1/designs) while the LIC files will be automatically spread across multiple partitions of
your system. This allows you to easily manage data sets bigger than 2GB. Each design is
associated with a set of directories of the same name, so speaking of a "design directory" of a
certain name, means also speaking of a design of the same name. The name of the design,
respectively the name of the directory the data will be stored in, is very important here as all
management functions depend on the uniqueness of the design name. For example if you
have already stored a design on /h1 in the subdirectory /pfm and you want to use atrans with
pfm as the LICdir name (see below), atrans will fail!
Atrans also checks whether the transfer was successful by comparing the actual file size on
the OS/9 harddisk to the original file size. Missing or differing files are being reported. This
check cannot detect more subtle transfer errors like swapped bytes for example.
Before you get started, you have to make sure that your system and your conversion software
are prepared for the usage of this software! On the OS/9 system you need an FPU or a
floating point math emulation module (see OS-9 Version 3.0 Release Notes, page 1-28). Your
conversion software should be version 8.32 or better (to find out about version of the
currently installed software, just type
xconvert -version
at the command line of your conversion account). This version is able to store the LIC data in
any directory (not just "lic") you specify in the convert.cfg . If you don't have this feature you
have to use the move command of your conversion station to rename the "lic" directory to
another name, for example:
mv lic name
Also remember: trying to transfer data from a directory with a name you have already used
and not having deleted the previously transferred data directories will cause the atrans
program to fail!
81
19.1 INSTALLATION
(assuming you are user "dwlii" on the OS/9 system):
STEP1: On your OS/9 system you have to create the directory /h1/designs. Make sure there is
always an appropriate amount of disk space on the /h1 partition (you need about 1.5 MB for
each design).
makdir /h1/designs
STEP2: Copy the file "atraxxx.tar" to the cmds directory in your home directory on the OS/9
system (normally: /h0/user/dwlii/cmds).
STEP3: Untar the file with
tar x atraxxx.tar
Two files (atrans and dellic) are extracted.
STEP4: Adjust the file attributes for atrans and dellic:
attr -epe atrans
attr -epe dellic
STEP5: Create a file called mach.cfg in your home directory (usually: /h0/user/dwlii)
containing parameters of the following syntax (parameters in brackets are optional):
Partition=/hx
specify disk x as data partition
Blocksize=yyyy
specify cluster size for disk x
82
...
partitions
Transfer=ftp
repeat the two lines above depending on the number of
set transfer mode to ftp (nfs not yet supported)
Example:
Partition=/h1
Blocksize=8192
Partition=/h3
Blocksize=8192
Partition=/h2
Blocksize=16384
Transfer=ftp
This would be the appropriate setting for a system with three data partitions /h1, /h2 and /h3
with a cluster size of 8192 and 16384 respectively. The partitions will be filled with LIC files
in the reverse order of appearance in the mach.cfg file, in this case /h2, /h3, /h1. Specify the
/h1 partition always as the first partition, because it contains some special files: All
configuration files (convert.cfg, expose.cfg, stripes.cfg, ...) are stored in /h1/designs/xxxx.
You must specify this directory in the Windows DWL Menu Software for example or change
to this directory if you want to use the expodie program. To determine the cluster size of a
partition use the OS/9 command
free /hx
The output will look like this:
"2nd Partition" created on: Feb 19, 1997
Capacity: 3072000 sectors (512-byte sectors, 16-sector clusters)
2981376 free sectors, largest block 2764656 sectors
1526464512 of 1572864000 bytes (1455.75 of 1500.00 Mb) free on media (97%)
1415503872 bytes (1349.92 Mb) in largest free block
83
Now you need the values for sector size and cluster size, in this case:
(512-byte sectors, 32-sector clusters)
Multiply the two numbers and you get the cluster size, in this case 16384 ( = 32*512) which
is the value you need for the setting of Clustersize=xxxx. Once determined, you will never
have to change this setting unless you are re-partitioning your system!
STEP4: How to use "atrans" (and test the installation): Convert a design on your conversion
station, for example to the directory /pfm. Login on your OS/9 system. You can start the
atrans program with or without command line parameters. The command line has to look like
this:
atrans [Hostname Licdir Login Password] [silent]
You will get this information also if you type:
atrans -?
The meaning of the parameters is the same as explained for the mach.cfg above. If you start
atrans without any or an insufficient number of parameters, it will use all the default settings
found in the mach.cfg, which will appear in brackets when prompted for input. If you just hit
enter, these defaults will be used. In this case (using the mach.cfg described above) you
would only have to enter pfm when prompted for the Licdir or use the command line
atrans data pfm convert convert
Atrans would then transfer the LIC files to your OS/9 system. If you change to
/h1/designs/pfm (the "design config" directory) you will find several files there. These are all
the .cfg files from your conversion directory, but the stripes.cfg (your original stripes.cfg is
saved to stripes.old) will contain full pathnames for all LIC files, telling you where your LICs
are actually stored. There are also some transfer log files: ftp.log, atrans.log and transfer.log.
In case you encounter problems try to take a look at these files or sent them to HIMT.
84
Make sure you start only ONE atrans program at a time, otherwise the calculation of free
disk space will not work and both transfers will probably fail.
(Note: If you use the additional "silent" command line parameter, e.g.
atrans data pfm convert convert silent
atrans will not ask you for further input and can run in the background.)
19.2 The cksum Feature
Version 3.0 added the feature of a checksum test to the atrans program. It is available for LIC
data sets created by conversion software version 8.61 or higher. If you encounter problems
during data transfer or exposure, you can enable this feature to make sure the files you expose
are identical with the files you created on the conversion station.
Enable it by adding “cksum” as the 5th parameter in the command line:
atrans data pfm convert convert cksum
Note: You can not use this option together with the “silent” option.
This option will consume extra time after the transfer and will disable the standard size check
integrated. (The standard size check was not able to detect all possible file corruptions but
only those which changed the size of the files.) The typical time consumption is about 10
minutes for 500 MB. You still should be able to run “atrans” as a background process during
exposure.
19.3 Deleting Designs on the OS/9 System
If you want to delete a design from your system, DO NOT try to delete the files by yourself
(unless you absolutely sure about what you are doing)! Use the "dellic" utility instead. This
program reads out the file delete.cfg in your design config directory. If your design is called
pfm it would be located in the /h1/designs/pfm directory. Type
dellic pfm
to delete all the LIC and configuration files belonging to this design. By doing this, all data
will be irreversibly deleted from your OS/9 system, so be careful with this command!
85
Here is again a summary and example for a successful transfer of a set of data from the
directory "pfm" on your conversion station to the OS/9 system:
Atrans would generate the following directories (using the mach.cfg described above):
/h1/designs/pfm
This directory contains all the information needed to expose or
delete the complete set of data, but none of the LIC files. It is
called the "design config" directory.
/h2/pfm
These directories contain the LIC files. Some of them may be
/h3/pfm
empty. See the stripes.cfg in the design config directory for an
/h1/pfm
exact location of your LIC files. If you want to delete a
complete design manually, make sure to delete all the (in this
case three) subdirectories with the name pfm. Otherwise you
will get problems when you try to transfer a design called pfm
the next time.
20 Spot Size Correction
From version 8.28 of the conversion package a spot size correction is provided to neutralize
the structure enlarging effects of an exposure on the DWL. This correction is working on the
pixelized data set separately in x- and y-axis.
The parameters are set in the convert.cfg:
spotsize correction x [nm] .................... : -2000
spotsize correction y [nm] .................... : -3000
Note the following:

The correction factor can be adjusted in steps of 0.5 pixels only, even
though you may enter arbitrary values (which will be fit to the next
smaller multiple of 1/2 pixel size). For example if your pixels size is
1000 nm and you set a correction factor of 2800 nm, the actually used
value will be 2500 nm, even though 3000 would be closer to the value
you entered.
86

The limit for the correction factor is five times the pixel size for the
DWL.

For noninverted exposures a negative correction factor is used, for
inverted exposures a positive one. (The sign of the value given is
automatically adjusted)

The spot size correction will use up extra calculation time, which is
proportional to the correction factor and depending on your data type.

If you set the borders manually the extents of the converted pattern
may vary from your desired borders. Also the size of the structures
directly at the borders may be incorrect. This very probable if your
borders are on the borders of a stripe and/or additional pixels are
used. To avoid such problems don't use this feature if you want to
convert e.g. the perform pattern for machine adjustment.

Circles will still be circles after the correction.

Features smaller than or about the size of the correction factor will be
erased or give you unwanted results if your structures end in a very
small or very large angle or are about the size of your correction
factor:
87
Provided is a spot size correction test pattern, which you can find in your CIF directory:
spotsize.cif. To convert it, set the magnification to 1 and the "name of layer to be
converted ?" to CM. Set all other parameters according to your machine configuration.
Convert with different spot size correction values for x and y, which you should choose
around the correction factor you expect to be the right one (Usually about 2-3 times the pixel
size). Expose all test patterns, measure the linewidths in x and y and find the setting you like
best:
88
21 Conversion Cluster
Version 8.40 introduces the feature of parallelizing the conversion on a cluster of Linux
machines using the PVM (Parallel Virtual Machine) software developed by the Oak Ridge
National Laboratory. See the documentation in the docs subdirectory for more information
(Files: pvm.ps and xpvm.ps).
89
The following part of the manual describes how to set up a HIMT Conversion Cluster, a
parallel computing system of one master and N slave PCs (N < 8). It assumes that you have
knowledge in setting up and administrating Linux PC systems. This manual will not replace a
Linux installation manual and only describes the additional steps necessary to setup the
cluster.
21.1 Requirements
This manual is based on SuSE Linux 6.x (Full version) . Using any other distribution is
at your own risk and may fail or cause unpredictable problems or errors! (SuSE:
www.suse.de or www.suse.com )
- N-1 Cluster PCs. Configuration: PC with 128 MB RAM (or more depending on your
data), hard disk > 9GB (SCSI or EIDE), keyboard, 100 Mps Fast Ethernet Adapter
(Linux compatible, recommended: DEC Tulip chipset), VGA adapter, CD-ROM,
floppy drive.
- 1 Master PC. Configuration: As above, plus: CPU about 10-20% faster than cluster
PC, at least 32 MB RAM more than cluster PCs (or more, depending on your data
[VIEWER], recommended 256MB or more), hard disk(s) as large as possible(SCSI or
EIDE), X-windows compatible graphic adapter, mouse, monitor. Optional: Second
Ethernet adapter
- 100 Mps Fast Ethernet Switching Hub with N connectors and 1 uplink connector to
the LAN/DWL.
- Optional: A monitor or keyboard/mouse switch that allows you to use one
monitor/mouse/keyboard on several PCs
21.2 General Setup
90
In a cluster of N conversion stations one master PC controls N-1 slaves (though technically
seen it is rather a SPMD parallel process, but this name convention makes it much easier).
The master is used to set up the conversion (using an X interface) and spawns conversion
tasks on each of the clients. It also collects (via NFS) the LIC data on a local hard disk. Each
machine in the cluster converts each Nth stripe of the lic data set and operates independently
from the other machines. The slowest machine in the cluster will determine the conversion
speed as there is no load balancing implemented.
Network throughput (for storing the final lic data set on the master) and harddisk space on the
master are the main bottlenecks during the parallel conversion, so you should plan your
configuration according to your needs.
Though it is not absolutely necessary, you should always follow the naming, login and
directory names and numbering conventions suggested in this documentation. I also found it
useful to mark your machines, cables, connectors and especially the keyboards with labels
showing their names.
Suggested settings for hostnames and IPs:
Hostname
Description
IP (least sign. Byte)
m0
Master PC
10 (e.g. 192.168.0.10)
c1
Cluster PC#1
1 (e.g. 192.168.0.1)
c2
Cluster PC#2
2 (e.g. 192.168.0.2) ?
Setup:
91
Set up all PCs as usual. If you share a monitor during the installation make sure they are not
too far apart for your own convenience. Connect one keyboard to each PC and label
everything carefully. After the installation you can remove the keyboards from the cluster
PCs. Only the master gets a mouse.
Connect all PCs to the Fast Ethernet switch and (if necessary) set up the switch for the IP
addresses you will be using (see above). Connect one port of the switch to your LAN. It is
absolutely necessary to use a switch because there will be heavy network traffic within your
cluster.
This installation manual assumes you are familiar with installing SuSE Linux as mentioned
above. It only gives you the additional details you need for your system configuration. If you
are an experienced Linux/Unix user you may want to vary certain configuration options (and
may have other solutions for certain items), but be aware that this is at your own risk and
such systems cannot get support from HIMT.
21.3 Installation of master PC
System Configuration Items (in order of appearance):
1. Do manual partitioning. The partition table should look like this:
/dev/hda1 *
1
17
136521
82
Linux swap
/dev/hda2
18
2014
16454646
5
Extended
/dev/hda5
18
2014
15925676
83
Linux native
i.e. a primary partition as swap space (size = memory size) and one extended partition
with one logical drive using the rest of the disk space.
(Remember: In many cases you will have to set the active partition manually after
installing the lilo using e.g. the DOS fdisk program.)
2. Install the following packages: Choose the SuSE default system. Then add the following
packages (If you are prompted because of unresolved dependencies select the AUTO
option until all dependencies are resolved or refer to the installation manual):
Series beo - packages pvm and xpvm
Series xap - packages xosview and xnetload
92
Series xsrv - select the server for your graphics adapter
Select all other packages you would like to use. To save disk space you can e.g. remove
the Series aplx. Be careful when removing packages unless you know exactly what you
are doing.
3. Select the "recommended and supported" kernel. If you need to compile a new kernel
make sure
NFS support
IP-accounting
are included.
4. Set the hostname according to the table of names above.
5. Enable the NFS server option in the SuSE network setup.
6. First create a user "convert" with password "convert", then a user "lic" with password "lic".
The home directory of the user "lic" will be used to collect the LIC data, so you may
consider installing a second (third, ?) hard disk for the "lic" ("lic2", ? ) user home
directory. In this case adjust all items regarding these directories in the following
installation steps.
7. Append ":~/cmds" to the PATH variable in /etc/profile. This is the path to the conversion
executables.
8. Edit the /etc/hosts file and add the entries for all members of the cluster.
Example:
127.0.0.1
Localhost
192.168.0.10
m0
192.168.0.1
c1
93
192.168.0.2
c2
192.168.0.3
c3
?.
9. Edit the /etc/hosts.equiv file and add the entries for all members of the cluster.
Example:
m0
c1
c2
c3
?.
10. Set /home/lic to mode 0777. Create a link to it in "/":
chmod 777 /home/lic
ln -s /home/lic /lic
This is where the lic data will be stored. If you have extra or multiple hard disks in your
system for the lic data, add extra users, links, entries, ? for each of them in step 6.,10., 11
and step 10. of the slave setup.
11. Export the directories /home/lic (rw) and /home/convert (ro) (file: /etc/exports).
Example:
/home/convert
c1(ro) c2(ro) c3(ro) ?
/home/lic
c1(rw) c2(rw) c3(rw) ?
94
12. Set up the X-windows system. Use 8 bit color depth (256 colors).
13. Extract the HIMT conversion software package in the convert user home directory.
tar xvzf packagename.tgz
21.4 Installation of a cluster PC (Slave)
System Configuration Items (in order of appearance):
1. Do manual partitioning. The partition table should look like this:
/dev/hda1 *
1
17
136521
82
Linux swap
/dev/hda2
18
1027
8112825
5
Extended
/dev/hda5
18
1027
7976241
83
Linux native
i.e. a primary partition as swap space (size = memory size) and one extended partition
with one logical drive using the rest of the disk space.
(Remember: In many cases you will have to set the active partition manually after
installing the lilo using e.g. the DOS fdisk program.)
2. Install the following packages: Choose the SuSE default system. Then (to save disk space)
you can (if you want) manually remove the following packages and series:
Series aplx, series kde, series doc, series x, series xap, series xwm
95
Add the following packages (if you are prompted because of unresolved dependencies
select the AUTO option until all dependencies are resolved or refer to the installation
manual):
Series beo - package pvm
Series xap - packages xosview, xlock
When you start the installation afterwards you may be prompted because of unresolved
dependencies again. Choose the AUTO option until all dependencies are resolved.
3. Select the "recommended and supported" kernel. If you need to compile a new kernel
make sure

NFS support

IP-accounting
are included.
4. Set the hostname according to the table of names above.
5. Create a user "convert" with password "convert".
6. Append ":~/cmds" to the PATH variable in /etc/profile. This is the path to the conversion
executables.
7. Edit the /etc/hosts file and add the entries for all members of the cluster.
Example: s.a.
8. Edit the /etc/hosts.equiv file and add the entries for all members of the cluster.
Example: s.a.
96
9. Create the directories /m0 and /lic. Set /lic to mode 0777.
10. Edit the /etc/fstab file and add the following 2 entries for NFS directories on the master
PC m0.
m0:/home/lic
/lic
nfs
m0:/home/convert /m0 nfs
rw,wsize=8192,timeo=14,noac
0
0
ro,rsize=8192,timeo=14,noac
0
0
(See the NFS man pages for an explanation of the parameters.)
The directory /lic will collect the LIC data from all machines of the cluster and is
therefore rw. The /m0 directory provides the configuration files and executables of the
conversion and is ro.
Note: This drives will not be available unless the master is running properly and therefore
cause error messages and delay at boot time!
For the next steps login as user convert. It is necessary that the master has been set up (with
installation of conversion software) and is running and that the NFS drives have been
mounted properly (check with the "mount" command).
11. Check if /m0 contains the conversion software you installed on the master. (Make sure
that you have NOT yet run a conversion on the master m0 [see installation of master PC]
and that the PVM version of the HIMT conversion software is installed on the master. If
you have done a conversion on the master already your cluster will not work! You will
have to delete the convert user on the master and reinstall it!)
Link everything to your local home directory:
ln -s /m0/* .
Note: /m0 is read-only and you cannot edit any of the files linked to your local directory!
97
21.5 Setting up the cluster
1. Reboot the master and login as convert. Then, reboot the cluster machines. You will be
able to do this by simply pressing CTRL-ALT-DELETE on each keyboard. This takes
care of a clean shutdown and reboot of the cluster PCs without the need to connect a
monitor to this PC. Use the command ping to find out if the cluster PCs have already
rebooted.
2. Check the setup by executing rsh commands on each PC of the cluster:
rsh m0 ls
rsh c1 ls
rsh c2 ls
?
If this doesn't work check the hosts and hosts.equiv settings. Also make sure the network
is working properly (ping, telnet, ?)
3. Start X-windows. It is recommended to use the fvwm2 window-manager (startx fvwm2).
4. Create subdirectories ~/pvm3 and ~/pvm3/xpvm. Copy (including subdirectories) the
contents of /usr/X11R6/lib/xpvm to ~/pvm3/xpvm. Copy ~/images/linux.xbm to
~/pvm3/xpvm/src/xbm.
5. In your home directory edit/create the file .xpvm_hosts. Enter the name of ALL other
machines in the cluster (don't add the master):
c1
c2
c3
?
98
Note: This file is case sensitive. You will later on have to enter the names of the machines
for the conversion software in exactly the same way as here.
6. Start the xpvm monitor tool with "xpvm &". You should see N boxes in the upper half of
the window representing your machines. Refer to the xpvm documentation provided to
learn more about xpvm.
7. NOW that everything is running you can add an optional second network adapter to the
master PC. This allows you to enhance the throughput of the data transfer to the DWL
machine during the conversion:
PVM is sensitive to the network interface, so make sure you set up your second host
adapter as "le1" for the connection to the LAN/DWL. You will also have to set a different
subnet for the cluster internal network addresses then, e.g. 192.168.255. Make sure there
is only ONE entry in the /etc/hosts file and that this entry belongs to the subnet of the
cluster! The SuSE configuration program has the habit of re-adding the entry for the
address of the second interface in the hosts file, so each time you run it you MUST
change the /etc/hosts (The cluster won't work otherwise!).
99
21.6 Performance
The following performance test was done using a 10 Mps hub, so performance may even be
better when using Fast Ethernet and/or a switch. To check the performance of the cluster the
following convert.cfg was used:
main source file .............................. : pfm.cif
source file type (cif|dxf|gdsii|gerber) ....... : cif
name of layer to be converted ................. : CM
name of main structure (<name>|automatic) ..... : automatic
magnification factor .......................... : 15
rotation, ccw (0|90|180|270) .................. : 0
translation in x direction [nm] ............... : 0
translation in y direction [nm] ............... : 0
mirroring at x axis (yes|no) .................. : no
mirroring at y axis (yes|no) .................. : no
left border of flat field [nm] ................ : automatic
right border of flat field [nm] ............... : automatic
lower border of flat field [nm] ............... : automatic
upper border of flat field [nm] ............... : automatic
exposure mode (inverted|noninverted) .......... : noninverted
frame size [nm] ............................... : 0
lic directory (lic|automatic|name) ............ : /lic
stripe width [pixel] .......................... : 800
pixel size [nm] ............................... : 200
arcres [degree] ............................... : 3.0
dxf units to nm ............................... : 1000000
stretch exposure .............................. : 16
assume connected [nm] ......................... : 0
additional pixel [pixel] ...................... : 1
keep temporary files (on|off) ................. : on
additional blocks (bottom) .................... : 0
stop conversion after (border|lic) ............ : lic
expose bidirectional (0|2|4) .................. : 0
100
xor mode (on|off) ............................. : off
calculate exposed area (on|off) ............... : off
licbuffer size [KByte] ........................ : 0
automatic centering (on|off) .................. : off
spotsize correction x [nm] .................... : 1000
spotsize correction y [nm] .................... : 1000
scale factor x
............................... : 1.0
scale factor y
............................... : 1.0
This configuration is a typical case where the net throughput is high in relation to the
conversion time so the performance is rather at the lower limit and may be higher for other
conversions where the ratio of computing time to network storing time is better.
#hosts
1
2
3
4
TimeTime*#hosts
2222.00
1215.00
810.00
608.00
Cluster Performance
RelativePerformance[%]
100.00
80.00
60.00
40.00
20.00
0.00
1
2
3
4
101
2222
2430
2430
2432
%
100.00
91.44
91.44
91.37
21.7 Converting on the cluster
There are the following differences in the setup when converting on a cluster:
STEP1: The lic (-target) directory has to be chosen according to the configuration of your
cluster. Unlike "normal" conversions the lic data are not stored in a subdirectory of the
conversion account but to a subdirectory of another users NFS exported directory, typically:
/lic. So setting the lic directory entry to automatic will create a subdirectory with the name
extracted from the "main source file ?" entry in /lic. If you enter a directory of your choice, it
must be subdirectory of /lic (or if multiple harddisks are present of /lic2, /lic3, ?)
If you want to use atrans for the data transfer to the machine you have to use the logins and
passwords for the user(s) lic (, lic2, lic3, ?) instead of using the convert account.
STEP2: You have to determine which machines will join the cluster: Enter the slave's names
in the "cluster hosts ?" entry on the advanced page of the MENU. Make sure you use the
correct spelling (case sensitive!) and separate the machine names by a comma (","). Do not
enter the name of the master (the machine the MENU is running on) in this list.
Example:
cluster hosts ................................. : c1,c2,c3
STEP3: (Re-)Start the cluster by clicking on the restart button in the bottom part of the
MENU. After a few seconds the XPVM monitoring interface will popup. In the top window
you should see N boxes representing the machines of your cluster. If some machines are
missing, check STEP2 again.
STEP4: Start the conversion as usual by clicking on the Start Conversion button. The bottom
window of XPVM will display green horizontal progress bars representing the machines of
your cluster. The MENU will also display a progress window with an entry for each of the
machines on the cluster. The updates on the conversion progress in this window may not be
very accurate but will at least give you an approximate idea of the status.
STEP5: After the conversion has finished a popup window will appear. You can now check
the cluster log in the XPVM. If you click the OK button the cluster will be restarted and the
cluster log files will be deleted.
Note: To learn more about XPVM read the documentation (xpvm.ps in the docs subdirectory
of your conversion account).
102
21.8 Typical view of XPVM after successful conversion.Hints/Caveats

The SuSE configuration program has the habit of re-adding the entry for the address of
the second interface in the hosts file, so each time you run it you MUST change the
/etc/hosts (The cluster won't work otherwise!).
103

Do not start the MENU as a background process ("menu &").

The pvm software is case sensitive to the names of the cluster machines. Also make sure
the cluster names are separated by a comma (",") in the "cluster hosts" entry of the
conversion MENU.

Make sure the "lic directory" entry is a subdirectory of the NFS exported directory (e.g.
/lic/target).

The conversion progress status window does not follow the conversion progress on all
machines in the same way. This is due to log mechanism within the cluster and cannot be
changed without loss of performance. It only gives you a rough estimation of the
conversion progress

The progress on the master seems to be much faster, especially in the beginning of the
conversion. This happens if you do a "structure" conversion, as the structure files have to
be copied to the cluster PCs.

There is no load balancing available for the cluster conversion software. Thus the slowest
machine in the cluster will limit the conversion speed.

The MENU takes more time when being launched as it resets all possibly conversion
related processes on the machines found in the "cluster hosts ?". If you use changing
configurations of the cluster or more than one cluster, make sure you do not accidentally
kill processes running on other clusters.

If you have to reboot one of the cluster hosts do not start the MENU on the master or a
conversion until the host has completed its boot process.

In case you have to reboot the master please make sure that the exported NFS volumes
are still available on all cluster hosts. If you are not sure or don't know how to check this,
simply reboot all cluster hosts after the master has completed its boot process and wait
until all cluster hosts have rebooted completely before you start the MENU or a
conversion.

Due to asymmetries in the design data and NFS access not all hosts will finish the
conversion at the same time. Conversion times of the individual hosts may vary up to
30% depending on the data.
22 Troubleshooting
1.When using non-automatic borders, some structures appear to the right and top of the
borders set.
2. When using non-automatic borders and spot size correction the right and upper border
differs slightly from the set borders.
104
3. The conversion stops with an "Output buffer exceeded error" in the xconvbe program.
4. What is different about the EDDU conversion software?
5. The converted LIC data are incomplete (e.g. some LIC files are missing or have missing
blocks).
6. The LIC data set is bigger than the biggest partition on my OS/9 system.
7. The exposure stops.
8. The conversion of vertical lines takes much longer than the conversion of horizontal lines.
9. The conversion takes very long.
10. The machine runs out of memory when I use separate scaling in x and y.
11. I get file transfer errors during ftp to the OS/9 system.
12. I get errors creating a dxf.cfg.
13. The exposed stripes are condensed or stretched in x, they do not fit at the connection.
14. I converted with a stripe width smaller than 800 pixel and get artifacts on my exposure.
15. I converted with a stripe width bigger than 800 pixel and have a white gap between the
stripes.
16. I get strange patterns in every second stripe.
17. A structure has a missing or misshapen edge or part.
18. During the conversion the machine runs out of disk space.
19. The error message "error opening structure file. Check if this LAYER/?" appears.
20. The exposed design looks strange. Overlapping structures are partially blanked out or
inverted.
21. I converted my design and transferred it to the machine. When I choose File/Designs in
the WINDOWS WinDWL software, the design directory appears to be empty.
22. My CIF/GERBER/HPGL/GDSII design contains structures with negative and positive
polarity, but I can not use the merging functionality for these formats. Also, the design does
NOT allow the use of the XOR mode setting as I have overlapping structures in certain areas.
23. I want to use the gerber, cif, hpgl, gdsii or dxf program from the command line to convert
a file to Structure format, but it doesn't work.
24. I cannot save my configuration files / I cannot delete a LIC data directory.
25. The Linux HIMT Viewer doesn't start due to Tk/Tcl library mismatch.
26. I want to use the DWL66 DXF gray scale feature with input formats other than DXF.
105
27. How can I step and repeat on the OS/9 system / I want to expose with varying
stripewidths.
1. When using non-automatic borders, some structures appear to the right and top of the
borders set.
Clipping used to be done to the borders of stripes and blocks, so if you set the right or top
border into a stripe or a block, that stripe or block will always be filled to its right or upper
edge. In version 8.34 or higher this problem is partially solved, as then polygons are clipped
correctly, but circles crossing the set borders partially will be drawn completely.
Solution: Change your design so you can use automatic borders or convert your design to
Structure or DXF format and create a frame that will CUT out unwanted structures. To
convert to DXF, first convert to Structure format, then you can use the HIMT viewer to save
as DXF.
2. When using non-automatic borders and spot size correction the right and upper border
differs slightly from the set borders.
Using non-automatic borders and spot size correction may result in inaccurate right or upper
borders. The variation may be up to 2 pixel. Also the above said applies.
Solution: See 1.
3. The conversion stops with an "Output buffer exceeded error" in the xconvbe program.
The data to be converted can not be compressed into LIC due to very high data density.
Solution:
a.Change to a smaller writehead / pixel size.
b.Reduce the stripe width.
c.Check your design.
106
d.Upgrade your machine with an EDDU (Enhanced Data Decompression Unit). If you
already have an EDDU, check whether your software supports it (Type xconvbe in the
home directory of your conversion account. The line displayed containing the VERSION
says EDDU if your software is EDDU compatible.).
107
4. What is different about the EDDU conversion software?
Machines with an EDDU (Enhanced Data Decompression Unit) are capable of exposing
more dense patterns than machines with the (older) SL30 hardware. To make full use of this
feature, the conversion to LIC format uses larger buffers and requires a special version
(usually indicated by the letter "e" in the software package name). The LIC data created by
both versions are basically the same, but the ones created with the EDDU software may fail
to expose on a SL30 machine if the pattern is very dense due to the larger buffers required.
On the other side, you can always use data created by the normal version on a machine with
EDDU but this doesn't use the full data decompression capacity of the machine.
5. The converted LIC data are incomplete (e.g. some LIC files are missing or have missing
blocks).
Check the disk space on the conversion machine (with the "df -k" command on UNIX
systems). If your disk is nearly full, errors may occur during conversion.
Note: Temporary files may use up more space DURING the conversion than the final data
set.
Solution: Watch the disk space during conversion. If you run out of space, clean some
designs or add a bigger harddisk to your system. (See 18. also).
6. The LIC data set is bigger than the biggest partition on my OS/9 system.
Use the atrans software described in the conversion manual. It is capable of splitting LIC data
onto different partitions so that the limitation is the total amount of disk space on your OS/9
system rather than the partition size.
7. The exposure stops.
There may be several reasons for this related to the LIC data. One reason may be the size of
your LIC data files. Check the LIC buffer size on your OS/9 system with
mdir -etd
108
If one or more LIC files are bigger than this either increase your LIC buffer size or use the
splitlic software to reduce the maximum LIC size (only available for Linux). You can
automatically use the splitlic by setting the LIC buffer size to nonzero before the conversion
(Linux only and 8.29 or above required). Also solutions 3a to 3c apply.
Another reason may be the choking of the SL30 data decompression unit on the OS/9 system.
Start "pginfo" on your OS/9 system and check the "cmd" status (look for a line starting with
PG-Base and check the column under "cmd"). If one value is set to 400, this indicates that a
decompression error occurred. This may happen only on machines without EDDU if your
data are very dense and/or contain dense vertical lines. The solutions given under 3 apply
here.
Also the LIC data may be corrupted during the transfer. Retransfer the LIC data from the
OS/9 system to your conversion station and compare them (Unix: "cmp" command). If you
don't use the atrans, check whether you transferred the LIC data in binary mode.
8. The conversion of vertical lines takes much longer than the conversion of horizontal lines.
Solution: Arrange the lines in order from the right or the left border of your design. This
saves the sorting in the xconvbe scan adding function.
9. The conversion takes very long.
There may be many reasons for this, and in some case you just can`t avoid it. But for other
cases, simple changes can reduce the conversion time.
a. Avoid polygons with many points. Rather design them as or split them to several small
ones.
b. Check the ARCRES setting. Very small values increase conversion time as arcs are
converted to polygons with many points. Usually 4-6 degrees are sufficient (make test
exposures!). Also check, whether your software saves circles as one or more arcs (DXF,
GERBER). When designing, rather use circles for round corners than arcs (see image).
109
c. Rotate vertical lines and convert as horizontal lines. Also look at 8.
d. Try step and repeating on the machine instead of doing it in the design.
e. If you use separate scaling in x and y, all circles are converted to polygons and b. applies.
f. If you use the merging of layers, make sure you add all layers in one column before doing
operations on them (see images below).
(The left picture gives the identical result but much faster conversion.)
Solution: Adding memory doesn't improve conversion speed unless you notice that your
system is swapping all the time. Versions from 8.28 on have some huge performance
improvements, so try upgrading. HIMT also offers conversion clusters (i.e. several
conversion stations linked together to one very fast computer) for better performance.
10. The machine runs out of memory when I use separate scaling in x and y.
When using separate scaling in x and y all circles are converted to polygons and thus may
amount to an enormous number of vertices. Version 8.38 removes this problem.
11. I get file transfer errors during ftp to the OS/9 system.
A more convenient way to transfer your LIC data to the machine is using atrans and it also
checks whether the file size on the OS/9 system is identical with the original size (which will
detect most transfer errors). See also 6.
110
12. I get errors creating a dxf.cfg.
Check if you have made a dos2unix on your DXF file. Also check if your layer name
contains special characters (use only capital letters from A-Z). The Layer number must be
less than 16.
13. The exposed stripes are condensed or stretched in x, they do not fit at the connection.
There may be several reasons:
a. Check whether you converted for the right write head and the Windows Menu is set to the
right setting.
b. Check the ramp entry in the exposure map in your Windows Menu software. The entry
must be EXACTLY like this (replace xxx with your ramp):
OS9: ramp xxx
If you e.g. type Os9 or 0S9 instead, the ramp will not be loaded and the default ramp (if
any was loaded at all previously) will be used instead. This ramp may be much too short
or too long, so the stripes will not match. Also check, whether you selected ramp exists
(look in /h0/user/dwlii/deflp/linearity).
c. Check if the wedge is in the right position for green or blue.
d. See 15.
e. Check the number format setting in your WINDOWS (95/98/NT) setup of the USER PC.
A possible reason is the installation of software on the user PC that has changed the
systems country settings without asking the user. The number format setting must be
"English" in the System Control Panel.
14. I converted with a stripe width smaller than 800 pixel and get artifacts on my exposure.
Older (before 2.1) OS/9 update versions were not able to adjust the PVS and PVE in the OS/9
die.parm. This resulted in unwanted structures in x behind the real data.
Solution: Update your update software or adjust PVS and PVE manually.
111
15. I converted with a stripe width bigger than 800 pixel and have a white gap between the
stripes.
See 14.
16. I get strange patterns in every second stripe.
Check if you have converted for bi-directional exposures and your machine doesn't support
this feature.
17. A structure has a missing or misshapen edge or part.
Check in your design for crossing lines or double points in this polygon. A design error like
this may cause bigger parts of the structure up to the next stripe border to be missing.
18. During the conversion the machine runs out of disk space.
If your design gets very big, your harddisk may run out of space. Temporary files may use up
more space DURING the conversion than the final LIC data set.
112
Solution:

Check if you have set the "keep temporary files" option to off. This frees disk space used
for temporary files immediately.

Try to split your design into several smaller parts. Convert each of them separately and
transfer them to the OS/9 system. If you can store all of them on your OS/9 system
together, create one job file and enter all parts in the LIC directory entry on your
WinDWL software (separated by ;). If your OS/9 system is not capable of holding all
parts on its disks, transfer them separately. Create a job file for each part and do
consecutive exposures WITHOUT changing the systems coordinate system between the
exposures (e.g. hitting the SET(0,0) button in the control panel).
19. The error message "error opening structure file. Check if this LAYER/?" appears.
Possible reasons:

Your design file calls a structure that does not exist. Check your design for the layer
which the error message reports to be missing. Check if your dxf.cfg or merge.cfg is set
up properly.

You have changed the "main source file ?" setting, but not the "name of layer ?" and
"name of main structure ?" setting for CIF or GDSII.

You have changed the "main source file ?" setting, but not created a new dxf.cfg or
merge.cfg for DXF, Structure or HPGL conversion.
20. The exposed design looks strange. Overlapping structures are partially blanked out or
inverted.
Check the "xor mode ?" setting. You may have had this option switched on without noticing
it for some time, as in some cases this switch does not affect the conversion result at all (no
overlapping structures).
21. I converted my design and transferred it to the machine. When I choose File/Designs in
the WINDOWS WinDWL software, the design directory appears to be empty.
113
If you transferred your data manually, check whether you transferred the convert.inf from the
data directory. It contains the design name in the first line which is used to display the design
directories content. If you use atrans, upgrade to the latest version.
Note: The convert.inf is NOT required for a proper exposure!
22. My CIF/GERBER/HPGL/GDSII design contains structures with negative and positive
polarity, but I can not use the merging functionality for these formats. Also, the design does
NOT allow the use of the XOR mode setting as I have overlapping structures in certain areas
(or want to use the DWL66 gray scale feature).
Solution:
a.Change your design so you can use the XOR mode feature. This should be possible in most
cases.
b.Make use of the Structure merging feature. Convert your data to HIMT Structure format
first and then convert from Structure to LIC. You need the HIMT Viewer software (only
available for Linux and SPARC) or knowledge of the Structure format CALL mechanism
to do this.
Step by step instruction:
STEP1: Set up the conversion for one of the layers to be merged. For GERBER 274x or
HPGL you would have to split the data with positive and negative polarity into separate files
first. For CIF or GDSII select the layer in the "source file type ?" and "name of main structure
?" settings. Convert this layer to Structure format with Conversion/Convert to Structure or
Conversion/Determine Design Borders (the latter also displays the extensions of that layer).
The Structure data are stored in the t_struct subdirectory.
STEP2: Load the top structure (t_struct/main) into the HIMT Viewer. The layer converted in
STEP1 will be displayed. Save it (File/Save STRUCTURE) to a file in the structure
subdirectory, e.g. ./structure/LAYER1 . If you cannot use the Viewer, you have to copy all
layers from the t_struct directory to the structures directory, and determine which files
contain which data by yourself (Problem: mostly layer names will be duplicated and thus
overwritten when copying them).
Note: With the latest version of the conversion menu you can also set up the conversion
parameters and then choose Conversion/Preview Structure which will spawn the Viewer and
automatically load the layer.
114
STEP3: Repeat STEP1 and STEP2 for all your layers, but with different file names in
STEP2. You now have all layers in the structure directory.
STEP4:
a.Convert as if converting Structure files and use the integrated merge feature.
b.Start the Viewer and load all the layers created in STEP2 and STEP3 with the File/Add
Layer command into the Viewer. Each layer will be displayed with a different color. Save
all layers loaded to one DXF file using the File/Save DXF command. This DXF file then
contains all layers currently and can be processed with all available merging/gray scale
features.
23. I want to use the gerber, cif, hpgl, gdsii or dxf program from the command line to convert
a file to Structure format, but it doesn't work.
Make sure the subdirectory t_struct exists. Also make sure all parameters are valid, especially
the magnification factor.
24. I cannot save my configuration files / I cannot delete a LIC data directory.
On Unix systems file modes can deny you access to certain files. If you have copied files or
started conversion as a different user than the convert user (e.g. root), you may not be able to
access these files as convert user. Read the manual on file attributes or ask the system
administrator.
25. The Linux HIMT Viewer doesn't start due to Tk/Tcl library mismatch.
The Tk/Tcl libraries on your system don't match the versions the HIMT Viewer was linked
against (This libraries cannot be linked statically!). To fix this, the necessary libraries come
with the software package from version 8.36 on. To install, do the following:
STEP1: Login as convert. Change to the subdirectory cmds/libs. Make an "ls" to get the
contents of this directory, it should be something like "libs76_42.tgz". Write down the full
115
path of the file (e.g.: /home/convert/cmds/libs/lib76_42.tgz) and logout. You need the
filename in STEP3.
STEP2: Login as root.
STEP3: Change to the / directory and unpack the file from STEP1.
cd /
tar xvzf /home/convert/cmds/libs/lib76_42.tgz
STEP4: Logout and reboot the machine.
26. I want to use the DWL66 DXF gray scale feature with input formats other than DXF.
See 22.
27. How can I step and repeat on the OS/9 system / I want to expose with varying
stripewidths.
Even though the conversion software offers the feature of converting with variable
stripewidths, there is no OS9 support for variable stripe width currently.
If you want to avoid stripe connections in a critical pattern but you cannot find a stripewidth
that fits in your pattern, you can try to do the following:
STEP1: Extract your critical pattern from the rest of the design (e.g. frame, text, ...). Convert
and expose the rest of the design (frame) separately.
STEP2: Convert a single piece of your critical design so that it fits in a suiting stripewidth.
Then you have to expose it over the previously exposed frame doing a step and repeat on the
machine.
116
STEP3: There a two ways of doing a step and repeat on the machine:
1.Use the Windows DWL Software to step and repeat your pattern. This gets very
inconvenient if you have a large number of repeats. In that case use option number
two.
2. The second way to step and repeat on the machine is to modify the stripes.cfg. First
convert your pattern as you would do in case 1. Transfer it to the OS/9 system and do
an update and optl on it. The optl program creates two new stripe configuration files:
stripes.cfg.opt and stripes.cfg.irf.
If your pattern contains e.g. 2 (non-empty) stripes, your stripes.cfg.opt would look
like this:
0.lic
1.lic
and the stripes.cfg.irf like this:
0
1
Each entry in one of these files tells the exposure software the name of the LIC file to
expose resp. where to expose it! To determine the position where a stripe is exposed
you have to multiply the entry in the stripes.cfg.irf corresponding to the LIC file with
the value of the parameter SDist in the die.parm!
If you for example set SDist to 10 (=10nm) you can place your LIC data in a 10 nm
grid, positioning them wherever you want by the entry in the stripes.cfg.irf
Example for stripes.cfg.opt:
0.lic
117
1.lic
0.lic
1.lic
...
stripes.cfg.irf:
0
800
2000
2800
4000
4800
...
This would place your stripes (at SDist=1000) at these positions (in um):
0
800000
2000000
2800000
4000000
4800000
...
Note: You don’t have to adjust the NStripes parameter in the die.parm!
STEP4: Expose over the previously exposed frame.
118
23 Changes
VER
DATE
WHAT
8.29
17.07.98
- independent scaling in x and y
- modstruct introduced
- additional block and automatic centering bug fixed
8.30
21.07.98
- spot size correction memory leak bug fixed
8.31
29.07.98
- GDSII AREF bug fixed
- DXF font size increased
- spot size bug fixed (missing scans at top of first and/or
last block of stripe under certain circumstances)
8.32
10.08.98
- xblock performance improved for big polygons
- spot size correction bug fixed (additional horizontal
lines at block limits if used with CUT or XOR mode)
- spot size correction: added hint for problems with nonautomatic borders and spot size correction (see Spot
Size Correction above)
- spot size correction: sign of correction factor is
automatically adjusted for inverted and non-inverted
exposures
8.33
11.08.98
- bug in 8.32 fixed
8.34
02.09.98
- cutting within stripes and blocks
- dxf ignores DOS linefeeds (CR/LF)
- gray scale conversion for DWL66
- Troubleshooting section added to documentation
8.35
16.09.98
- spot size correction for DWL66 conversion
119
8.36
17.09.98
- XOR mode circle bug fixed
- Tk/Tcl libraries added (cmds/libs)
8.37
11.11.98
- CIF: multiple C commands outside DS/DF
- MENU: minor bugs fixed
- inverted additional blocks bug fixed
8.38
04.12.98
- clipping speed improved (stripe, xblock)
- scaling moved from modstruct to stripe
- improved checking of hard disk overflow
- MENU: performance improved
8.40
13.04.99
- xor bug fixed
- GDSII bug fixed
- batch capability added to MENU
- PVM support
- left path function added
8.42
09.06.99
- bidirectional and stretch bug fixed
- GERBER bug fixed
- MENU bugs fixed
- scaling offset bug fixed
- DWL66 grayscale bug fixed
8.44
24.07.99
- xor bug fixed
- zero extension Viewer bug fixed
120
- plate selection added for DWL600
- scaling offset behavior changed
8.45
14.09.99
- arbitrary rotation angles added
- increased range for spotsize correction
8.46
07.10.99
- ACAD 14 support (first release)
- convert circles to ellipses when using different scaling
in x and y
8.47
07.10.99
- ellipse bug removed
- smaller extensions to DXF and GERBER
8.50
20.12.99
- ellipse bug removed
- GDSII path treatment improved
8.51
21.12.99
- DXF R14 speed improved
- xconvert command length bug fixed
8.52
10.01.00
- Y2K convert.rpt compatible
8.53
20.01.00
- single beam bidirectional mode added
- smaller menu bugs fixed
8.54
11.04.00
- remove additional empty pixel at end of line due to
spotsize correction
- several bugs fixed
121
- inverted spotsize correction added
- scaling behavior for DWL 66 improved
- menu adjusted for tcl 8.0
8.60 29.01.01
- several bugs fixed
- extended gerber added
- gdsii merging supported
- lic check added
& file browser added to MENU
8.61 14.02.01
- gdsii compiler bug fixed
- atrans “cksum” feature added
- wu.ftpd installation added to manual
8.62 10.05.01
- added standard menu to gdsii configuration
- left optic bugs fixed
- xcheck_lic option added to menu
- rotation of arrays with arbitrary angles in dxf and gdsii
- rotation of text with arbitrary angles in dxf
8.63 13.08.01
- included warning messages
- improved trapezoid algorithm
- insertion of text
- changed cut-algorithm
- included exposure parameters in viewer
8.64 16.10.01
- improved linewidth accuracy of CUT operations
- removed positioning bug for “opt level 4”
122
16.01.2002
- odb format supported
- layer information for dxf and gdsii error messages
- up to 5 lines of text per design
- improved merge preview
24 APPENDIX
24.1 DXF Output Filter Sample
/* DXF defines */
#define
DXF_HEADER
" 0\nSECTION\n 2\nENTITIES\n"
#define
DXF_EOF
" 0\nENDSEC\n 0\nEOF\n"
#define
DXF_POLYGON
" 0\nPOLYLINE\n 66\n
#define
DXF_VERTEX
" 0\nVERTEX\n 8\n%s\n 10\n%0.6f\n 20\n%0.6f\n"
#define
DXF_SEQUEND
" 0\nSEQEND\n 8\n%s\n"
#define
DXF_CIRCLE
" 0\nCIRCLE\n 8\n%s\n 10\n%0.6f\n 20\n%0.6f\n 40\n%0.6f\n"
1\n 8\n%s\n 10\n0.0\n 20\n0.0\n"
fprintf(fp, DXF_HEADER);
while (c->layer) {
element = c->layer->felement;
while(element) {
/* set to first */
/* for all elements */
if(element->type == POLYGON) {
fprintf(fp, DXF_POLYGON, c->layer->name);
for (i=0; i< element->nr; i++) {
fprintf(fp, DXF_VERTEX, c->layer->name, (double)((element->x[i])), (double)((element->y[i])));
}
/* repeat first */
123
fprintf(fp, DXF_VERTEX, c->layer->name, (double)((element->x[0])), (double)((element->y[0])));
fprintf(fp, DXF_SEQUEND, c->layer->name);
}
if(element->type == CIRCLE) {
fprintf(fp, DXF_CIRCLE, c->layer->name, (double)((element->x[1])), (double)((element->x[2])), (double)((element>x[0])));
}
element = element->next;
}
c->layer = (LAYER *)c->layer->next;
}
fprintf(fp, DXF_EOF);
fclose(fp);
A typical DXF file looks like this:
0
SECTION
2
ENTITIES
0
CIRCLE
8
LAYER1
10
0.000000
20
0.000000
40
0.010000
0
POLYLINE
66
1
8
124
LAYER2
10
0.0
20
0.0
0
VERTEX
8
LAYER2
10
0.020000
20
0.000000
?
0
VERTEX
8
LAYER2
10
0.020000
20
0.010000
0
SEQEND
8
LAYER2
0
ENDSEC
0
EOF
125
This file is a circle on LAYER1 with radius 0,01 mm and center at (0,0), and a polygon on
LAYER2.
126
Download