Releases: SiEPIC/SiEPIC-Tools
Releases · SiEPIC/SiEPIC-Tools
v0.5.5
Unit Testing, Continuous Integration
- GitHub Actions to test the code
Scripting:
- connect_pins_with_waveguide: option to put the waveguide (and error Paths) in a specific parent cell
- update y_splitter_tree: use sbends if available for the waveguide, as defined in WAVEGUIDES.XML. adjust the origin to be the left side input waveguide.
- connect_pins_with_waveguides: error handling. raise Exception rather than just a Message window: in case there are many errors, it will stop at the first one.
v0.5.4
- improvements to Docker build for testing
- support for DFT.xml file when running verification using PyPI
- area calculation function update, using all layers
v0.5.3
- Functional Verification ('v' hotkey) is working in external Python, SiEPIC.utils.verify_layout
v0.5.0
SiEPIC-Tools is now available on PyPI.
You can now create PCells and layouts using one of three approaches:
- KLayout Application: GUI graphical mode, with the KLayout IDE
- KLayout batch mode: run using klayout -zz -r, without any graphics
- Python "import SiEPIC", using VSCode, Spyder, Jupiter notebooks, etc.
The SiEPIC-EBeam-PDK has been made compatible with the external Python environment approach.
The following example will create a layout with all the EBeam PDK cells on a layout. Change the path to point to your local GitHub copy of the EBeam PDK, then run this file: https://github.com/SiEPIC/SiEPIC_EBeam_PDK/blob/master/klayout/EBeam/pymacros/Example_scripted_layouts/UnitTest_All_Library_Cells.py
You can run it in VScode.
Several additional functions have been added:
- SiEPIC.scripts.instantiate_all_library_cells
- SiEPIC.scripts.load_klayout_technology
- SiEPIC.utils.new_layout
Some performance improvements and bug fixes have been made.
v0.4.6
- SiEPIC-Tools now functions in headless mode
- running using klayout -zz -r script.py
- updated functions to work without Qt libraries and the GUI
- to be compatible with unit testing script in the EBeam PDK
- Make SiEPIC component from cell
- Automates the process of adding DevRec and PinRec layers. Menu item SiEPIC > Layout > Make SiEPIC Component from cell. https://github.com/SiEPIC/SiEPIC-Tools/wiki/Component-and-PCell-Layout#importing-a-gds-fixed-cell
- bug fix: snap components in the GUI. was introduced after making change to find_pins()
v0.4.5
- fix Lumerical CML installation, via SiEPIC > Simulation, Circuit > Setup Lumerical INTERCONNECT Compact Model Library
v0.4.4
- bug fixes in undo
- bug fixes in path to waveguide, in the order in which snapping, crossings, and waveguide generation, is performed
- moved Verification to separate Python file
- new verification rule: identify pin errors in components
- new verification rule: shapes need to be inside a component
v0.4.3
bug fix:
- sometimes a KLayout crash occurred after an Undo operation, after having done "Shift-W" Waveguide to Path.
improvement:
- Schematic Driven Layout [work in progress] now uses the Instantiate utility when pulling from INTERCONNECT
function improvement:
- delete_extra_top_cells: argument is now either a cell or text
v0.4.2
- bug fix, opics simulation error, utils.py