Interactive Litho

The interactive lithography app is a tool for exploring the basic principles of partial coherence. The application requires a GPU equivalent of Nvidia RTX 3060, but does not otherwise depend on Nvidia interfaces like CUDA.

The Litho App is a WebGPU application where we explore portable GPU computing. Again, remember this application will push your graphics card, even the best ones. It may work on a CPU with integrated graphics, but it will be slow. The app allows the user to interactively modify illumination and mask objects. Move them around, rotate and scale them.

But the price for this interactivity is that each tiny change results in hundreds of 1024×1024 fast Fourier transforms being computed. It will not feel interactive without a recent GPU.

Instructions on how to use the application will be found in the rightmost column. The user interface also provides a link to an instructional video.

One technicality to mention, in an image simulation such as this, numerical aperture, the size of the virtual mask, and wavelength define the (sampled) pupil size. To keep the application reasonably interactive and useful to a wider audience, the pupil size is limited to 255 x 255 samples. This results in that the application not accepting just any combination of those three parameters. Still, any combination can be simulated (within those limits); it just cannot be added in any order.

For example, when changing the wavelength (significantly) down, adjust the size of the mask first.

Spatial Light Modulators

The litho-app also supports a spatial light modulator modelled after the tillt-mirror SLM from Fraunhofer IPMS. This device has far more use options than have been exploited in this application, but there are still some fundamental properties related to image generation with SLMs that can be explored with this application.

Image Exposure

The “Exposure Parameter” field shows two sliders: Exposure and Contrast.

Contrast represents a scaling through an inflection point, and this inflection point is the inverse of the Exposure parameter.

With this parametrization, Exposure can be thought of as a dose relative to dose-to-clear of a resist and while it by no means represents a resist simulation, with a high Contrast setting, it offers some insight how the result may look like once exposed in a high-contrast resist.

The scale goes from 2, which is the correct relative dose for incoherent exposure, to just something large enough (in our case 10) that makes the result mostly binary with a narrow transition region. The correct Exposure value for coherent illumination and hight-contrast resists is 4, as explained in the Tech-talk on Introduction to Goodman’s Graphical Methods.. and the default value is close to what one would get for a partially coherent illumination.

Enjoy – and as always, feedback is appreciated.