Workflow#
You’ll need 2 windows:
A text editor or IDE (Visual Studio Code, Pycharm, Spyder, neovim, Atom, Jupyterlab …)
Klayout to Visualize the GDS files. With the
klive
klayout package for showing GDS files when you run. Tools -> Manage PackagesComponent.show()
1. Standard Python flow#
You write your PCells in python.
You execute the python code.
You visualize the GDS Layout in Klayout, or run simulations using the plugin extensions directly from the layout (for devices) or netlist (from circuits).
2. File-watcher flow#
For building large components can use a file-watcher and see your updates in KLayout every time you save.
You execute the file watcher run this command on your terminal
gf watch --path /home/jmatres/my_chips
for watchingmy_chips
folder or run it in the current working directorygf watch --path .
The file-watcher re-runs any python file
.py
or YAML.pic.yml
. For testing it you can go togdsfactory/samples/demo/circuits
, modify any of the files and take a look how klayout updates every time you save a file.Thanks to the
cell
cache you can see your new component changes live updating the layout in Klayout.
The file watcher works with python or pic.yml
or YAML
3. Schematic driven layout#
You can use any Schematic capture tool. Lumerical interconnect, QUCS or Xschem. Save the netlist into SPICE format.
Convert SPICE to YAML. As the schematic didn’t have placements you can infer the rought initial placements from the relative position of the schematic blocks.
Modify YAML with file watcher until you are happy with the placements.