Skip to content

Commit

Permalink
library fix, v0.3.36
Browse files Browse the repository at this point in the history
- fix issue with Path function; previously there was a "from pathlib import Path" which conflicted with "from pya import Path"
- SWG PCell: increase DevRec
- opt_in test label for ring resonator circuit examples


Former-commit-id: de4f314
  • Loading branch information
lukasc-ubc committed Jul 3, 2021
1 parent 10bfdfe commit 93d0bbd
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 9 deletions.
2 changes: 1 addition & 1 deletion klayout_dot_config/grain.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<salt-grain>
<name>siepic_ebeam_pdk</name>
<version>0.3.35</version>
<version>0.3.36</version>
<api-version>0.26</api-version>
<title>SiEPIC EBeam PDK</title>
<doc>A Process Design Kit for Silicon Photonics fabricated using Electron Beam Lithography</doc>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,12 @@ def dbl_bus_ring_res():
text = Text ("opt_in_%s_1550_device_RingDouble%sr%sg%s" % (pol.upper(), pol.upper(),r,int(round(g*1000))), t)
text.halign = 1
cell.shapes(TextLayerN).insert(text).text_size = 5/dbu

# Label for automated measurements, laser on Port 1, detectors on Ports 2, 3
t = Trans(Trans.R0, to_itype(x,dbu), to_itype(GC_pitch*3,dbu))
text = Text ("opt_in_%s_1550_device_RingDouble%sr%sg%sB" % (pol.upper(), pol.upper(),r,int(round(g*1000))), t)
text.halign = 1
cell.shapes(TextLayerN).insert(text).text_size = 5/dbu

# Ring resonator from directional coupler PCells
cell_dc = ly.create_cell("ebeam_dc_halfring_straight", "EBeam", { "r": r, "w": wg_width, "g": g, "bustype": 0 } )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,15 +122,15 @@ import pya
from pya import *
from SiEPIC.utils import get_technology_by_name
import os
from pathlib import Path
import pathlib
import sys

dir_path = os.path.dirname(os.path.realpath(__file__))
if dir_path not in sys.path:
sys.path.append(dir_path)

files = [f for f in os.listdir(os.path.join(os.path.dirname(
os.path.realpath(__file__)),'pcells_EBeam')) if '.py' in Path(f).suffixes and '__init__' not in f]
os.path.realpath(__file__)),'pcells_EBeam')) if '.py' in pathlib.Path(f).suffixes and '__init__' not in f]
import pcells_EBeam ### folder name ###
import importlib
importlib.invalidate_caches()
Expand All @@ -156,7 +156,7 @@ class SiEPIC_EBeam_Library(Library):
print("Initializing '%s' Library." % library)

# Set the description
self.description = "v0.3.35, Components with models"
self.description = "v0.3.36, Components with models"


# Import all the GDS files from the tech folder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,15 +143,15 @@ import pya
from pya import *
from SiEPIC.utils import get_technology_by_name
import os
from pathlib import Path
import pathlib
import sys

dir_path = os.path.dirname(os.path.realpath(__file__))
if dir_path not in sys.path:
sys.path.append(dir_path)

files = [f for f in os.listdir(os.path.join(os.path.dirname(
os.path.realpath(__file__)),'pcells_EBeam_Beta')) if '.py' in Path(f).suffixes and '__init__' not in f]
os.path.realpath(__file__)),'pcells_EBeam_Beta')) if '.py' in pathlib.Path(f).suffixes and '__init__' not in f]
import pcells_EBeam_Beta ### folder name ###
import importlib
importlib.invalidate_caches()
Expand All @@ -177,7 +177,7 @@ class SiEPIC_EBeam_Library_Beta(Library):
print("Initializing '%s' Library." % library)

# Set the description
self.description = "v0.3.35, Beta components"
self.description = "v0.3.36, Beta components"


# Import all the GDS files from the tech folder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,5 @@ def produce_impl(self):

# Create the device recognition layer -- make it 1 * wg_width away from the waveguides.
points = [pya.Point(0,0), pya.Point(length, 0)]
path = pya.Path(points,w)
path = pya.Path(points,w*3)
path = pya.Path(points,w*5)
shapes(LayerDevRecN).insert(path.simple_polygon())

0 comments on commit 93d0bbd

Please sign in to comment.