Computers have changed the way we work and its ubiquity is a testament to its phenomenal utility. Computer applications can be developed by anyone with a computer and it can be reproduced at essentially zero cost while providing 100% of the function. We enjoy programming and have continued to develop this skill as we apply it to solve seemingly unrelated problems. Here we share all the applications we developed that can be useful to the microfabrication and nanofabrication community.

GDSII Library for Python

Pattern data for lithography is typically provided in a GDSII Stream file format. A GDSII file can be produced using free editors such as KLayout which provides an intuitive user interface for drawing patterns. More advanced users may want to produce patterns via programming. Programming allow patterns to be produced using math and logic. For example, a program can be written to computationally convert a photography into a layout pattern. More seriously, the physics of printing can be simulated to compute patterns that actually resemble the intended design. This provides the fine control needed by researchers to push the limits of the equipment.

Our own research demands drove us to develop a library to produce GDSII files. The library is written in Python, a mature programming platform that is completely free to use.

GDSII to Jeol v30 Converter

An electron beam writer is a fancy printer used to draw custom patterns with minimum features below 10 [nm]. Researchers instruct the equipment to print a desired pattern by providing a computer aided design (CAD) called a layout. The layout is typically encoded in a GDSII stream format. The layout is then processed by software to produce a proprietary writing instruction (Jeol .v30 format).

The GDSII to Jeol v30 Converter was developed to provide additional capabilities such as support for object arrays and a custom fracturing algorithm. Anyone can use the converter by uploading their layout to our server for processing.


Image Analyzer: Gratings and Ellipses

Measurements by hand is laborious and is vulnerable to user dependent errors. A semi-automatic image analyzer was developed to provide consistent measurement based on math and logic. The ease of use and reliability of the software has actually improved quality assurance. The software was developed in Matlab to take advantage of a popular platform used by engineers and scientists that provide a number of useful libraries for data and image analysis.

Gratings are line and space patterns used to interact with light. Fabricated gratings are often imaged in a scanning electron microscope and then analyzed to characterize the line widths, periodicity and line edge roughness. This software has been used to determine optimal exposure dosage for electron beam lithography and evaluate pattern uniformity across a sample.

The image analyzer is also capable of characterizing ellipses from in image. This was used extensively to characterize circular patterns printed using an SEM. This revealed some of the challenges of using and SEM for electron beam lithography.