Skip to content

Releases: SiEPIC/SiEPIC-Tools

v0.5.11

19 Jul 04:20
5b69b64
Compare
Choose a tag to compare
  • 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

13 Jul 06:22
Compare
Choose a tag to compare

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

03 May 05:35
Compare
Choose a tag to compare

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

24 Mar 07:37
Compare
Choose a tag to compare
  • scripts.replace_cell improvement
  • fixes to contra directional coupler simulations, passing number of periods

v0.5.5

11 Feb 09:37
Compare
Choose a tag to compare

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

11 Dec 01:43
Compare
Choose a tag to compare
  • 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

20 Nov 09:50
Compare
Choose a tag to compare
  • Functional Verification ('v' hotkey) is working in external Python, SiEPIC.utils.verify_layout

v0.5.0

18 Nov 09:51
Compare
Choose a tag to compare

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

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

11 Nov 09:25
Compare
Choose a tag to compare
  • 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
  • bug fix: snap components in the GUI. was introduced after making change to find_pins()

v0.4.5

08 Nov 08:09
Compare
Choose a tag to compare
  • fix Lumerical CML installation, via SiEPIC > Simulation, Circuit > Setup Lumerical INTERCONNECT Compact Model Library