# 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)
Example #2
0
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)
Example #3
0
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')
Example #4
0
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)