Releases: SiEPIC/SiEPIC-Tools
Releases · SiEPIC/SiEPIC-Tools
v0.5.12
What's Changed
- Jupyter notebook support
- Minor bug fixes
- Improvements to Bezier curves
- fix menu Layout > Show selected components
- Python linter, as a GitHub action
- ruff --fix, and ruff format: cleaning up the code
v0.5.11
- added several unit tests that check all the cells in the GSiP library, which check the SiEPIC-Tools code
- added verification of malformed PinRec paths in components
- fixes to SiEPIC.scripts.connect_pins_with_waveguide
v0.5.10
Fixes / improvements:
- minor bug fix: Waveguides with Bezier curves sometimes had a 1 nm sliver #214
- fix for functional verification: shapes outside DevRec. The shape transformation was incorrect
- cell.find_pin improvement, enabling hierarchical pins (overallping, in separate cells)
- Verification.xml wasn't being read for PDK installed via PyPi.
ptp
was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead- SiEPIC.utils.make_pin function: option for layer name as a string.
New functions:
- SiEPIC.utils.load_layout
- SiEPIC.utils.create_cell2
- SiEPIC.utils.layout.strip2rib pcell function
- SiEPIC.utils.waveguide_length
with Docstrings
v0.5.7
What's Changed
- Component min spacing by @lukasc-ubc in #210
- minimum-gc-spacing implemented, from DFT.xml, using minimum-gc-spacing = 60
v0.5.6
- scripts.replace_cell improvement
- fixes to contra directional coupler simulations, passing number of periods
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.
![image](https://private-user-images.githubusercontent.com/15843200/283991571-2b47f4b8-99a5-416c-b979-533b9ec842e6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1NzI5NzAsIm5iZiI6MTczOTU3MjY3MCwicGF0aCI6Ii8xNTg0MzIwMC8yODM5OTE1NzEtMmI0N2Y0YjgtOTlhNS00MTZjLWI5NzktNTMzYjllYzg0MmU2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE0VDIyMzc1MFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUzYTI0MDMxNjBiMGRhZTU0NWRiZGM0ODY4ODY5YzY5Y2VjYmY2MDVmNTM0NmQ0MGMwN2Q1MTdlYzY5ZTEyYzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.zYWKgeVFnMVzYSNbKPfBlY_5QwH9J1oC1-d3j1yvh-o)
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()