Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Pay close attention to specific machine requirements for GDSII files. A notable limitation is on polygon vertex number (the maximum supported by the Heidelbergs is 199). If you require better detail than this can allow (most likely with curved shapes) you will need to break up your polygons in smaller chunks.

Installing

...

Python

Python is already installed on Korat and Minx.

You can download the latest Python release from the official website, or use a package manager (for example, your distribution's default in Linux or Homebrew in macOS). Make sure python is accessible by terminal. Using an IDE, such as Visual Studio Code (free), is recommended.

If you manage multiple projects and are hesitant to modify your environment, you can for example use pyenv.

Installing PHIDL

Phidl is already installed on Korat and Minx. See the "Running on Korat and Minx" section below for more information.

Phidl is available with Python's pip package manager. In the command line use (you will first have to have installed the python devel packages from your linux distribution):

Code Block
languagebash
pip3 install phidl

In addition to PHIDL, you may need maths packages to calculate your device's geometry. The most common such package is numpy.

Note the above command requires root privileges as it will attempt to install phidl and requirements system-wide. Instead, we recommend you install into your local home directory to avoid creating issues with the system python3 packages. use the following command:

Code Block
languagebash
pip3 install --user phidl

You will then need to add the install directory to your PYTHONPATH. Most likely, you will need to add the directory: ~/.local/lib/python3.6/site-packages

Scripting a GDSII file

Although this page should be sufficient to get you started, it's well worth it to have a look at the full PHIDL documentation. The tutorials are a great place to learn its various functions. The geometry reference lists all inbuilt geometry types, including important aids such as text and and lithography test structures. Make sure you go through its contents: the inbuilt types can save you a large amount of time.

...

Another CNF resource is JetStream, a Java GDSII library. Read the Getting Started guide and the documentation.

Tips and tricks

Follow these practices to make your own life, and that of whoever will characterize your device, much easier:

...