2023-10-15 16:16:29 -07:00
|
|
|
masque Tutorial
|
|
|
|
===============
|
|
|
|
|
|
|
|
Contents
|
|
|
|
--------
|
|
|
|
|
|
|
|
- [basic_shapes](basic_shapes.py):
|
|
|
|
* Draw basic geometry
|
|
|
|
* Export to GDS
|
|
|
|
- [devices](devices.py)
|
|
|
|
* Reference other patterns
|
|
|
|
* Add ports to a pattern
|
|
|
|
* Snap ports together to build a circuit
|
|
|
|
* Check for dangling references
|
|
|
|
- [library](library.py)
|
|
|
|
* Create a `LazyLibrary`, which loads / generates patterns only when they are first used
|
|
|
|
* Explore alternate ways of specifying a pattern for `.plug()` and `.place()`
|
|
|
|
* Design a pattern which is meant to plug into an existing pattern (via `.interface()`)
|
|
|
|
- [pather](pather.py)
|
|
|
|
* Use `Pather` to route individual wires and wire bundles
|
|
|
|
* Use `BasicTool` to generate paths
|
|
|
|
* Use `BasicTool` to automatically transition between path types
|
|
|
|
- [renderpather](rendpather.py)
|
|
|
|
* Use `RenderPather` and `PathTool` to build a layout similar to the one in [pather](pather.py),
|
|
|
|
but using `Path` shapes instead of `Polygon`s.
|
|
|
|
|
|
|
|
|
|
|
|
Additionaly, [pcgen](pcgen.py) is a utility module for generating photonic crystal lattices.
|
|
|
|
|
|
|
|
|
|
|
|
Running
|
|
|
|
-------
|
|
|
|
|
|
|
|
Run from inside the examples directory:
|
|
|
|
```bash
|
|
|
|
cd examples/tutorial
|
|
|
|
python3 basic_shapes.py
|
|
|
|
klayout -e basic_shapes.gds
|
|
|
|
```
|