How to GDSII for EBeam

From Applied Optics Wiki
Revision as of 07:45, 21 February 2017 by Richard Smith (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


There are a number of different software solutions for producing GDSII files for the EBeam machine / Photo Masks.

A good free programs is Klayout see here. This is unrestricted and has a scripting system based on the Ruby Language. Another popular program is Layout Editor. see here, for simple things the free version of this is fine, but it has limitations on the number of allowed objects. The full version (expensive) is very good with simple and intuitive scripting.

I have recently used a Matlab plug-in to script layouts, which are then viewed with Klayout. The plug in can be found here at Ulf's Cyber Attic.

To install

  • Extract the zip to where you want the plug in located.
  • In Matlab move to the path ./Matlab GDSII Toolbox/GDSII Library and run makemex.m
  • This will compile the toolbox for your Matlab. This is straightforward in Linux but can be a pain in Windows as there is not a default C compiler for Matlab available. In which case you need to install one, follow Mathworks help pages on this.
  • Once installed add the above path and sub folders to your matlab path so the toolbox is available from anywhere and save the path.

To test

  • Go to ../Matlab GDSII Toolbox/M and GDS files/ and run default.m this should complete and write a default.gds file with two squares in it.
  • Load the default.gds in Klayout or Layout Editor to check the design.

Additional help

  • Here is the page where the can be found, this has some documentation and more example files, be warned though that these example seem to be old and don’t always run. It seems some of the function names have changed over time. But you can get some useful tips on how to do things from these.
  • I (Richard Smith) have some examples of text to poly conversion for auto labelling of arrays of structures and am happy to share if they are of use. the examples below show the output of one of my scripts in Klayout (full design and zoom showing labelling).

Test mask.png Test mask zoom.png