Rotation without limits

 

Aligning to badly rotated substrates: Breaking the 0.2 degree limit

Back to the list of tips

Normally alignment marks must be "on-axis"; that is, the substrate must be rotated to within 0.2 degrees of the EBPG's stage motion. If the substrate is smaller than ~ 10 mm then this gets very difficult. You should be scolded for using small substrates, but for now let's assume you have a good excuse. Maybe your substrate is a diamond, or a small flake of vibranium. Who knows. Maybe you're just a dope. Anyway...

The rotation limit has a purpose: If the system has to correct for a large rotation, then field stitching accuracy will degrade.

Instead of rotating the substrate, we can rotate the pattern itself.

You supply the pattern in GDS format, then edit a script to change a few parameters - such as field size and beam step. The script will align to the marks, then it will rotate the pattern, convert it to GPF with Freebeam, then print it. The script (which we call "twister") performs a wafer alignment, without any local 'chip' alignments. (It's unlikely that you will use this script for a large wafer, so there it not any point to making it more complicated.)

It works! Here is a pattern printed in PMMA, aligned to gold marks. In this example, the substrate was rotated 12 degrees.






To use Twister, first make a copy from the public directory of the ebpg-5200 or the ebpg-5000:

mkdir /home/pg/users/your.name/twisty

cp /public/twister.sh /home/pg/users/your.name/twisty/

Edit this file to change parameters such as the pattern file name, top cell, layer, block size, etc. The script looks like a Freebeam pattern conversion script because it uses Freebeam to rotate the pattern and to generate the GPF file. It also rotates the expected locations of alignment marks before printing the pattern. Note that the parameter "polygons" should be set to "no" on the ebpg-5000, while it should be "yes" on the new 5200.

Copy your GDS file to the ebpg also. You do not need to convert it with Beamer first. Twister uses Freebeam for the conversion, so you will not have to worry about grabbing the Beamer license. You also do not need Cjob to set up the exposure. Twister.sh does this also. After you edit the twister script, find the alignment marks (usually four of them) and save their locations; for example,

mvsp ur

mvm 0,0 --rel p10

sp ur

After finding the marks, simply run the script with

./twister.sh

Rotating the pattern might cause field boundaries to fall where you don't want them. Keeping the rotation error as small as possible will avoid this problem. Rotating the pattern could cause some problems with fine gratings; where "fine" means the linewidths are less than 100 nm. If you are writing fine gratings, do not use Twister.

Optical waveguides are going to work fine, because they already are composed of a lot of random polygons:


Rotating this by a few degrees is not going to make any difference.

Tunnel junctions are made of relatively large shapes, 100 nm or larger, and so rotation will not distort the pattern:

If you expose this pattern on the ebpg 5200, you can set the parameter "polygons=yes" to generate spiral-filled polygons. Spiral-filled polygons have smooth edges, even when the shapes are off-axis. Let's rotate that junction pattern 12 degrees, then zoom into a corner to see how it will be filled:


If you are using the older ebpg 5000, then we must use "polygons=no" to generate old-style parallelograms instead of polygons. The fill pattern looks a little rougher:


This pattern is still going to be ok. We don't have to worry about aliasing until the linewidth is less than ~ 5 beam steps.

Twister.sh does not presently do any sort of pattern sorting to optimize the writing order. However, there is nothing preventing you from inserting "gpfsort" or "ybrsort" into the script. You can be the first to try it out. Twister also does not do multipass writing, since that would be a real brain-twister. Do not use "fieldfudge" since that will cause alignment errors. If you really need some overlap to patch up field stitching errors, try exposing two versions of the same pattern -- one with half the field size of the other.



Back to the list of tips