diff --git a/klayout_dot_config/pymacros/SiEPIC_EBeam_PCells.lym b/klayout_dot_config/pymacros/SiEPIC_EBeam_PCells.lym index 0c0ec795..8f8c88ec 100644 --- a/klayout_dot_config/pymacros/SiEPIC_EBeam_PCells.lym +++ b/klayout_dot_config/pymacros/SiEPIC_EBeam_PCells.lym @@ -245,31 +245,32 @@ class DoubleBus_Ring(pya.PCellDeclarationHelper): # Create the ring resonator: layout_Ring(self.cell, SiLayerN, self.r+self.w/2, self.r+self.g+self.w, self.r, self.w, self.npoints) -# w = int(round(self.w/dbu)) -# r = int(round(self.r/dbu)) + w = int(round(self.w/dbu)) + r = int(round(self.r/dbu)) + g = int(round(self.g/dbu)) # Create the two waveguides - wg1 = pya.Box(0, -self.w/2/dbu, (self.w+2*self.r)/dbu, self.w/2/dbu) + wg1 = pya.Box(0, -w/2, w+2*r, w/2) self.cell.shapes(SiLayerN).insert(wg1) - y_offset = 2*self.r + 2*self.g + 2*self.w - wg2 = pya.Box(0, round((y_offset-self.w/2)/dbu), round((self.w+2*self.r)/dbu), round((y_offset+self.w/2)/dbu)) + y_offset = 2*r + 2*g + 2*w + wg2 = pya.Box(0, y_offset-w/2, w+2*r, y_offset+w/2) self.cell.shapes(SiLayerN).insert(wg2) # Create the pins, as short paths: - pin_length = 0.2 - pin = pya.Path([pya.Point(0, 0), pya.Point(pin_length/dbu, 0)], self.w/dbu) + pin_length = 200 # database units, = 0.2 microns + pin = pya.Path([pya.Point(0, 0), pya.Point(pin_length, 0)], w) self.cell.shapes(LayerPinRecN).insert(pin) - pin = pya.Path([pya.Point((self.w+2*self.r-pin_length)/dbu, 0), pya.Point((self.w+2*self.r)/dbu, 0)],self.w/dbu ) + pin = pya.Path([pya.Point(w+2*r-pin_length, 0), pya.Point(w+2*r, 0)],w ) self.cell.shapes(LayerPinRecN).insert(pin) - pin = pya.Path([pya.Point(0, (y_offset)/dbu), pya.Point(pin_length/dbu, (y_offset)/dbu)], self.w/dbu) + pin = pya.Path([pya.Point(0, y_offset), pya.Point(pin_length, y_offset)], w) self.cell.shapes(LayerPinRecN).insert(pin) - pin = pya.Path([pya.Point((self.w+2*self.r-pin_length)/dbu, (y_offset)/dbu), pya.Point((self.w+2*self.r)/dbu, (y_offset)/dbu)], self.w/dbu) + pin = pya.Path([pya.Point(w+2*r-pin_length, y_offset), pya.Point(w+2*r, y_offset)], w) self.cell.shapes(LayerPinRecN).insert(pin) # Create the device recognition layer - dev = pya.Box(0, -self.w*3/dbu, (self.w+2*self.r)/dbu, (y_offset+self.w*3)/dbu ) + dev = pya.Box(0, -w*3, w+2*r, y_offset+w*3 ) self.cell.shapes(LayerDevRecN).insert(dev)