if thick_top_metal: stack.add_oxide_layer_on_top(OxideLayer(30 * kA, 3.7, loss_tangent)) stack.add_oxide_layer_on_top(OxideLayer(500 * A, 4.1, loss_tangent)) else: stack.add_oxide_layer_on_top(OxideLayer(10 * kA, 3.7, loss_tangent)) stack.add_oxide_layer_on_top(OxideLayer(500 * A, 4.1, loss_tangent)) # Add passivation layers stack.add_oxide_layer_on_top(OxideLayer(4 * kA, 7, loss_tangent)) if __name__ == '__main__': # Print the layer stack to example_nometals.pdf to see the numbering of the # interfaces between oxide layers. # draw arguments: filename (without extension), number of pages to stretch # the substrate across, create one tall page instead of splitting the stack stack.draw('example_nometals', pages=3, single_page=True) # Add metal layers # MetalLayer arguments: name, thickness, sheet resistance, extension direction, # interface number stack.add_metal_layer(MetalLayer('PO1', 1.5 * kA, 10 * Ohm_sq, UP), 0) stack.add_metal_layer(MetalLayer('ME1', 2.0 * kA, 120 * mOhm_sq, DOWN), 2) stack.add_metal_layer(MetalLayer('ME2', 3.0 * kA, 100 * mOhm_sq, DOWN), 4) stack.add_metal_layer(MetalLayer('ME3', 3.0 * kA, 100 * mOhm_sq, DOWN), 6) stack.add_metal_layer(MetalLayer('ME4', 3.0 * kA, 100 * mOhm_sq, DOWN), 8) stack.add_metal_layer(MetalLayer('ME5', 3.0 * kA, 100 * mOhm_sq, DOWN), 10) if thick_top_metal: stack.add_metal_layer(MetalLayer('ME6', 20 * kA, 10 * mOhm_sq, DOWN), 12) else: stack.add_metal_layer(MetalLayer('ME6', 7.0 * kA, 30 * mOhm_sq, DOWN), 12)
if thick_top_metal: stack.add_oxide_layer_on_top(OxideLayer(30 * kA, 3.7, loss_tangent)) stack.add_oxide_layer_on_top(OxideLayer(500 * A, 4.1, loss_tangent)) else: stack.add_oxide_layer_on_top(OxideLayer(10 * kA, 3.7, loss_tangent)) stack.add_oxide_layer_on_top(OxideLayer(500 * A, 4.1, loss_tangent)) # Add passivation layers stack.add_oxide_layer_on_top(OxideLayer(4*kA, 7, loss_tangent)) if __name__ == '__main__': # Print the layer stack to example_nometals.pdf to see the numbering of the # interfaces between oxide layers. # draw arguments: filename (without extension), number of pages to stretch # the substrate across, create one tall page instead of splitting the stack stack.draw('example_nometals', pages=3, single_page=True) # Add metal layers # MetalLayer arguments: name, thickness, sheet resistance, extension direction, # interface number stack.add_metal_layer(MetalLayer('PO1', 1.5 * kA, 10 * Ohm_sq, UP), 0) stack.add_metal_layer(MetalLayer('ME1', 2.0 * kA, 120 * mOhm_sq, DOWN), 2) stack.add_metal_layer(MetalLayer('ME2', 3.0 * kA, 100 * mOhm_sq, DOWN), 4) stack.add_metal_layer(MetalLayer('ME3', 3.0 * kA, 100 * mOhm_sq, DOWN), 6) stack.add_metal_layer(MetalLayer('ME4', 3.0 * kA, 100 * mOhm_sq, DOWN), 8) stack.add_metal_layer(MetalLayer('ME5', 3.0 * kA, 100 * mOhm_sq, DOWN), 10) if thick_top_metal: stack.add_metal_layer(MetalLayer('ME6', 20*kA, 10 * mOhm_sq, DOWN), 12) else: stack.add_metal_layer(MetalLayer('ME6', 7.0*kA, 30 * mOhm_sq, DOWN), 12)
# The thickness of the following layers depend on the thick metal option if thick_top_metal: stack.add_oxide_layer_on_top(OxideLayer(30 * kA, 3.7, loss_tangent)) stack.add_oxide_layer_on_top(OxideLayer(500 * A, 4.1, loss_tangent)) else: stack.add_oxide_layer_on_top(OxideLayer(10 * kA, 3.7, loss_tangent)) stack.add_oxide_layer_on_top(OxideLayer(500 * A, 4.1, loss_tangent)) # Add passivation layers stack.add_oxide_layer_on_top(OxideLayer(4*kA, 7, loss_tangent)) # Print the layer stack to example_nometals.pdf to see the numbering of the # interfaces between oxide layers. # draw arguments: filename (without extension), number of pages to stretch # the substrate across, create one tall page instead of splitting the stack stack.draw('example_nometals', pages=3, single_page=True) # Add metal layers # MetalLayer arguments: name, thickness, sheet resistance, extension direction, # interface number stack.add_metal_layer(MetalLayer('PO1', 1.5 * kA, 10 * Ohm_sq, UP), 0) stack.add_metal_layer(MetalLayer('ME1', 2.0 * kA, 120 * mOhm_sq, DOWN), 2) stack.add_metal_layer(MetalLayer('ME2', 3.0 * kA, 100 * mOhm_sq, DOWN), 4) stack.add_metal_layer(MetalLayer('ME3', 3.0 * kA, 100 * mOhm_sq, DOWN), 6) stack.add_metal_layer(MetalLayer('ME4', 3.0 * kA, 100 * mOhm_sq, DOWN), 8) stack.add_metal_layer(MetalLayer('ME5', 3.0 * kA, 100 * mOhm_sq, DOWN), 10) if thick_top_metal: stack.add_metal_layer(MetalLayer('ME6', 20*kA, 10 * mOhm_sq, DOWN), 12) else: stack.add_metal_layer(MetalLayer('ME6', 7.0*kA, 30 * mOhm_sq, DOWN), 12)