CIF/GDSII/GERBER to LIC



Conversion Software

Version 8.65

1/28/02

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 18

3.1 Common Rules 18

3.2 Data Format Specific Rules 19

3.2.1 DXF 19

3.2.2 CIF 20

3.2.3 GERBER 20

3.2.4 GDSII 20

4 Usage of the Conversion Package 21

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

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

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 49

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 55

9.2.3 Miscellaneous Commands 55

9.2.4 Sequence Numbers 55

9.3 Extended Gerber (RS-274x) 55

9.4 General 56

10 Conversion of HIMT Structure Data 57

11 Conversion of HPGL Data 60

11.1 How to convert HPGL designs 60

11.2 HPGL Command Line Options 62

12 The struct2dxf Tool 64

13 Checking lic files 65

14 The HIMT Viewer 66

14.1 Installation 66

14.2 Usage 67

14.2.1 General 67

14.2.2 Short Instruction for Exposure Preview from the MENU 67

14.2.3 Short Instruction for Exposure Preview from the Command Line 68

14.2.4 General Usage 68

14.2.5 The Log Window 70

14.2.6 The Status Display 70

14.2.7 The Display Window 70

14.2.8 File Menu 71

14.2.9 The Edit Menu 72

14.2.10 The Buttons 74

14.3 Preview of Merged Layers 75

15 Troubleshooting 76

16 The HIMT Structure Format 78

17 Stretched Exposures 82

17.1 Step by step instruction 82

18 The "atrans" program 83

18.1 INSTALLATION 84

18.2 The cksum Feature 88

18.3 Deleting Designs on the OS/9 System 88

19 Spot Size Correction 90

20 Conversion Cluster 93

20.1 Requirements 93

20.2 General Setup 94

20.3 Installation of master PC 95

20.4 Installation of a cluster PC (Slave) 98

20.5 Setting up the cluster 101

20.6 Performance 103

20.7 Converting on the cluster 105

20.8 Hints/Caveats 107

21 Troubleshooting 108

22 Changes 122

23 APPENDIX 127

23.1 DXF Output Filter Sample 127

1/28/02, BA/SD

Installation Guide for UNIX/Linux Systems

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).

2 Installation of the Conversion Software

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

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:

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.

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:

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.

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.

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 ................. 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.

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

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

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. 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

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

Change to:

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

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.

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





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.

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.

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 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.

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.

2 Data Format Specific Rules

(note that these rules generally apply IN ADDITION to those above):

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.

2 CIF

• Definition or reference depth can be at maximum 16.

• The number of definitions or references can be at maximum 4096.

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

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.

• Number of structures is limited to 8192

5 ODB

• All data behind surface objects will be erased

• Text and barcode features are not supported

• Attributes are ignored

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, ?

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 (|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

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.

The STANDARD options. Click on the ADVANCED button for the other settings:

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.

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'

'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

Conversion Parameters

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

2 Source File Type

Enter cif, dxf, gdsii, gerber, hpgl or structure.

source file type (cif|dxf|gdsii|gerber) ....... : cif

3 Name of Layer

Enter layer name:

- in case of cif something like 'CU' or 'CM'

name of layer to be converted ................. : CM

4 Magnification Factor

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 Rotation

Enter a rotation angle in multiples of 90 degrees.

rotation, ccw (0|90|180|270) .................. : 0

6 Translation in x

Enter a translation value in units of 1nm (x part).

translation in x direction [nm] ............... : 0

7 Translation in y

Enter a translation value in units of 1nm (y part).

translation in y direction [nm] ............... : 0

8 Mirroring in x

Enter yes for mirroring the design at the x axis.

mirroring at x axis (yes|no) .................. : no

9 Mirroring in y

Enter yes for mirroring the design at the y axis.

mirroring at y axis (yes|no) .................. : no

10 Main Structure

Enter structure name,

- in case of CIF 'automatic' or a definition number

name of main structure (|automatic) ..... : automatic

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

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

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

14 Pixel Size

Enter the pixel size in 1nm units.

pixel size [nm] ............................... : 200

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

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.

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

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

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

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

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

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

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

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

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 y-direction!

additional blocks (bottom) .................... : 1

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

27 Expose Bidirectional

If your machine is capable of bi-directional exposures, use this setting to convert for bi-directional exposures. The value specifies whether you want no (0), two-beam (2) or 4-beam bi-directional exposure.

expose bidirectional (0|2|4) .................. : 0

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

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

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

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

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

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

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

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

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

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

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.

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".

[pic]

Standard Configuration:

Enter the top cell and the layers separated by commas.

STEP6: Start the conversion.

Conversion of DXF Design Files

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:

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.

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 " 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:

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:

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

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

name of the DXF design file

see "dxf units to nm" in Usage of the conversion package

see "arcres" in Usage of the conversion package

1: do full conversion from DXF to Structure format (requires

existence of "structures" subdirectory)

0: only analyze the DXF file

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: 73312402 ystart: 118250487

crossing lines: 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: 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# 386029 layer: U072SO

*** dxf: starting coordinates of polygon:

*** dxf: xstart: 33109999 ystart: 121184197

*** dxf: ending coordinates of polygon:

*** dxf: xend: 33109996 yend: 121184162

polyline type: 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: 33109999 ystart: 121184197

missing character: Some characters in text are not (yet) supported. They are replaced by white space.

*** dxf: Warning: missing character: "

*** 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

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.

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]

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:

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.

• Square:

wheel # 0, aperture # 03 (D12) ................ : S,0.05

Description: Use a square aperture for drawing. Can be used for flash mode as well.

• File:

wheel # 0, aperture # 04 (D13) ................ : F,apt1.gbr

Description: Use the file "apt1.gbr", which has to placed in the "gerber" directory, as

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:

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:

2 Description of Supported Gerber Commands

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.

G55, G04, G90 -> Ignored

2 Drawing Commands

D01 Set drawing mode ON.

D02 Set drawing mode OFF.

D03 Set flash mode ON.

3 Miscellaneous Commands

M02, M2 End of gerber file.

4 Sequence Numbers

Sequence codes will be ignored.

3 Extended Gerber (RS-274x)

ADD Circle, square, rectangle and polygon apertures are supported

Samples:

%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)

AM 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.

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

4 General

Max number of Layers: 100

Max number of macros: 100

Apertures: D10-D9999

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).

[pic]

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:

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.

STEP5: Save and exit both windows. You can check the merge.cfg you created with Structure/Edit merge.cfg. The 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.

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.

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.

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

Function: conversion of hpgl files

to structure files

Version: 1 (WINDOWS)

Revision: 3

Source file name without path (must be in hpgl subdirectory)

Structure output file name (will be put to structures subdirectory)

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).

Arc resolution setting. See "Usage of Conversion Package" for more information

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:

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.

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.

STEP2: Go to a shell or command prompt and change to your home directory.

STEP3: type

struct2dxf main

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.)

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.

The HIMT Viewer

The HIMT Viewer software allows you to preview your exposure. It uses a Tk/Tcl based X-Windows 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.

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 /

(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.

2 Usage

1 General

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.

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/ .

4 General Usage

The Viewer must be started from the home directory of the convert user. Start with

hview

or

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:

[pic]

[pic]

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.

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).

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.

8 File Menu

[pic]

New Unloads all layers.

Add Layer Adds a new layer to the currently loaded layers. The following dialog box appears:

[pic]

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.

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.

9 The Edit Menu

[pic]

List Layers Lists the names of layers loaded.

Setup Sets up parameters for the adding of a grid. See below for a more detailed explanation.

[pic]

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

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.

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.

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.

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.

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 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

- 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).

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.

All output files are plain ASCII files with a at the end of each line. The directory contains a main structure file, usually called "main"

(option:

name of main structure (|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

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.

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

would draw a circle of 2500 nm radius at the coordinates (10000,20000).

Arc command:

This command is no longer supported.

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) .

1 Step by step instruction

STEP1: Calculate the required stretch factor and energy setting for the machine.

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

The "atrans" program

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!

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

... repeat the two lines above depending on the number of partitions

Transfer=ftp 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

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.

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.)

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.

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!

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.

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.

• 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:

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:

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).

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.

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: suse.de or )

- 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

2 General Setup

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:

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.

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

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

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) ?

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

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

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.

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 rw,wsize=8192,timeo=14,noac 0 0

m0:/home/convert /m0 nfs 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!

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

?

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!).

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 (|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

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 |Time |Time*#hosts |% |

|1 |2222.00 |2222 |100.00 |

|2 |1215.00 |2430 |91.44 |

|3 |810.00 |2430 |91.44 |

|4 |608.00 |2432 |91.37 |

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).

Typical view of XPVM after successful conversion.

8 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!).

• 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.

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.

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.

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.

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.).

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

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).

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.

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.

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.

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.

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.

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 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.

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

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.

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 non-automatic 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

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

- 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

- 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”

2002. - odb format supported

- layer information for dxf and gdsii error messages

- up to 5 lines of text per design

- improved merge preview

APPENDIX

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 1\n 8\n%s\n 10\n0.0\n 20\n0.0\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"

fprintf(fp, DXF_HEADER);

while (c->layer) {

element = c->layer->felement; /* set to first */

while(element) { /* 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 */

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

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

This file is a circle on LAYER1 with radius 0,01 mm and center at (0,0), and a polygon on LAYER2.

-----------------------

[pic]

Display

Control

Menus

Log

Buttons

Status

xconvert

Dxf

Gdsioi

Cif

Gerber

Odb

hpgl

border

stripe

xblock

xconvbe

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download