Python package for EDA / lithography mask design.
Go to file
2020-09-20 16:32:17 -07:00
examples Add repetitions and split up code into traits 2020-09-20 16:32:16 -07:00
masque fix @abstractmethod on wrong function 2020-09-20 16:32:17 -07:00
.gitignore add .oas.gz to .gitignore 2020-05-19 01:01:03 -07:00
LICENSE.md Add license 2016-04-13 03:51:25 -07:00
MANIFEST.in Use separate VERSION file 2019-09-27 21:03:52 -07:00
README.md Add basic support for OASIS and update setup/docs for OASIS and DXF support 2020-05-19 01:00:00 -07:00
setup.py Add basic support for OASIS and update setup/docs for OASIS and DXF support 2020-05-19 01:00:00 -07:00

Masque README

Masque is a Python module for designing lithography masks.

The general idea is to implement something resembling the GDSII file-format, but with some vectorized element types (eg. circles, not just polygons), better support for E-beam doses, and the ability to output to multiple formats.

Installation

Requirements:

  • python >= 3.7 (written and tested with 3.8)
  • numpy
  • matplotlib (optional, used for visualization functions and text)
  • python-gdsii (optional, used for gdsii i/o)
  • ezdxf (optional, used for dxf i/o)
  • fatamorgana (optional, used for oasis i/o)
  • svgwrite (optional, used for svg output)
  • freetype (optional, used for text)

Install with pip:

pip3 install 'masque[visualization,gdsii,oasis,dxf,svg,text]'

Alternatively, install from git

pip3 install git+https://mpxd.net/code/jan/masque.git@release

TODO

  • Polygon de-embedding
  • Construct from bitmap
  • Boolean operations on polygons (using pyclipper)
  • Implement shape/cell properties
  • Implement OASIS-style repetitions for shapes