# Boundary of section of chip containing features device.add(gdspy.Rectangle((0, 0), (10000, 5000), layer=1)) # Boundary of the entire 1 cm chip device.add(gdspy.Rectangle((0, 0), (10000, 10000), layer=2)) # Approximate clip placement area device.add(gdspy.Rectangle((2500, 7000), (7500, 10000), layer=3)) # Stitch for i in range(0, 1250): device.add(gdspy.Rectangle((0, 8 * i), (10000, 8 * i + 4), layer=7)) device.add(gdspy.Rectangle((8 * i, 0), (8 * i + 4, 10000), layer=7)) # FEEDLINE cpwfeed = gdslib.CPWPath(300, 150, layer=5, cellName=device) cpwfeed.start([1125 + 150, 100 + 50], '+y') cpwfeed.openGapFillet(150, 'beg') cpwfeed.straight(250) cpwfeed.straight(250, widthEnd=10, gapEnd=5) cpwfeed.straight(3500) cpwfeed.bend(250, 'r') cpwfeed.straight(2000) cpwfeed.bend(250, 'r') cpwfeed.straight(3000) cpwfeed.bend(250, 'l') cpwfeed.straight(2000) cpwfeed.bend(250, 'l') cpwfeed.straight(3000) cpwfeed.bend(250, 'r') cpwfeed.straight(1950)
er = 11.9 # Substrate dielectric constant ereff = (1+er)/2; # [1] Eq. 2.30 # BOUNDARY DEFINITIONS # Boundary of section of chip containing features device.add(gdspy.Rectangle((0, 0), (10000 , 5000), layer = 1)) # Boundary of the entire 1 cm chip device.add(gdspy.Rectangle((0, 0), (10000 , 10000), layer = 2)) # Approximate clip placement area device.add(gdspy.Rectangle((2500, 7000), (7500 , 10000), layer = 3)) # FEEDLINE cpwfeed = gdslib.CPWPath(300,150,layer = 5, cellName = device) cpwfeed.start([1125,100],'+y') cpwfeed.openGapFillet(150,'beg') cpwfeed.straight(250) cpwfeed.straight(250, widthEnd = 10, gapEnd = 5) cpwfeed.straight(250) cpwfeed.bend(150, 'l') cpwfeed.bend(150, 'r') cpwfeed.straight(2500 - 1000 - 3*150) cpwfeed.bend(150, 'r') cpwfeed.straight(8200) cpwfeed.bend(150, 'r') cpwfeed.straight(2500 - 1000 - 3*150) cpwfeed.bend(150, 'r') cpwfeed.bend(150, 'l') cpwfeed.straight(250)
chipBndy.segment(10000, '+x', **spec) chipBndy.segment(10000, '-y', **spec) chipBndy.segment(10000, '-x', **spec) gdslib.addPolyToCell(chipBndy, device) # IDK what this is for honestly. It's on Paul's design spec = {'layer': 3, 'datatype': 0} chipBndy = gdspy.Path(1, (2500,10000)) chipBndy.segment(3000, '-y', **spec) chipBndy.segment(5000, '+x', **spec) chipBndy.segment(3000, '+y', **spec) chipBndy.segment(5000, '-x', **spec) gdslib.addPolyToCell(chipBndy, device) # FEEDLINE cpwfeed = gdslib.CPWPath(300,150,layer = 5) cpwfeed.start([1125,100],'+y') # cpwfeed.start([750,100],'+y') cpwfeed.openGap(150) cpwfeed.straight(250) cpwfeed.straight(250, widthEnd = 10, gapEnd = 5) cpwfeed.straight(250) cpwfeed.bend(150, 'l') cpwfeed.bend(150, 'r') cpwfeed.straight(2500 - 1000 - 3*150) cpwfeed.bend(150, 'r') cpwfeed.straight(8200) cpwfeed.bend(150, 'r') cpwfeed.straight(2500 - 1000 - 3*150) cpwfeed.bend(150, 'r')
er = 11.9 # Substrate dielectric constant ereff = (1+er)/2; # [1] Eq. 2.30 # BOUNDARY DEFINITIONS # Boundary of section of chip containing features device.add(gdspy.Rectangle((0, 0), (10000 , 5000), layer = 1)) # Boundary of the entire 1 cm chip device.add(gdspy.Rectangle((0, 0), (10000 , 10000), layer = 2)) # Approximate clip placement area device.add(gdspy.Rectangle((2500, 7000), (7500 , 10000), layer = 3)) # FEEDLINE cpwfeed = gdslib.CPWPath(300,150,layer = 5, cellName = device) cpwfeed.start([1125 + 150,100+50],'+y') cpwfeed.openGapFillet(150,'beg') cpwfeed.straight(250) cpwfeed.straight(250, widthEnd = 10, gapEnd = 5) cpwfeed.straight(3500) cpwfeed.bend(250, 'r') cpwfeed.straight(2000) cpwfeed.bend(250, 'r') cpwfeed.straight(3000) cpwfeed.bend(250, 'l') cpwfeed.straight(2000) cpwfeed.bend(250, 'l') cpwfeed.straight(3000) cpwfeed.bend(250, 'r') cpwfeed.straight(1950)