Ejemplo n.º 1
0
# set to true to use the thick top metal option
thick_top_metal = False

# loss tangent value to use in oxide layer definitions
loss_tangent = 0
# NOTE: setting a non-zero loss tangent can cause some problems with Momentum

# The stack is entered from bottom to top, starting with the bulk.
# BulkLayer arguments: thickness, resistivity, dielectric loss tangent
bulk = BulkLayer(300 * um, 11.9, 20 * Ohm_cm, loss_tangent)
# NOTE:
#  Sonnet uses dielectric loss tangent AND resistivity
#  Momentum uses only resistivity

# Create a SubstrateStack object using the specified bulk layer.
stack = SubstrateStack(bulk)

# Add all oxide layers to the stack, starting with the bottom one, working
# up to the top.
# OxideLayer arguments: thickness, relative epsilon, loss tangent
stack.add_oxide_layer_on_top(OxideLayer(300 * A, 7, loss_tangent))
stack.add_oxide_layer_on_top(OxideLayer(5.0 * kA, 4, loss_tangent))
stack.add_oxide_layer_on_top(OxideLayer(300 * A, 4.1, loss_tangent))

# The following oxide layers repeat four times
for i in range(4):
    stack.add_oxide_layer_on_top(OxideLayer(5.0 * kA, 3.7, loss_tangent))
    stack.add_oxide_layer_on_top(OxideLayer(300 * A, 4.1, loss_tangent))

# The thickness of the following layers depend on the thick metal option
if thick_top_metal:
Ejemplo n.º 2
0
# set to true to use the thick top metal option
thick_top_metal = False

# loss tangent value to use in oxide layer definitions
loss_tangent = 0
# NOTE: setting a non-zero loss tangent can cause some problems with Momentum

# The stack is entered from bottom to top, starting with the bulk.
# BulkLayer arguments: thickness, resistivity, dielectric loss tangent
bulk = BulkLayer(300 * um, 11.9, 20 * Ohm_cm, loss_tangent)
# NOTE: 
#  Sonnet uses dielectric loss tangent AND resistivity
#  Momentum uses only resistivity

# Create a SubstrateStack object using the specified bulk layer.
stack = SubstrateStack(bulk)

# Add all oxide layers to the stack, starting with the bottom one, working
# up to the top.
# OxideLayer arguments: thickness, relative epsilon, loss tangent
stack.add_oxide_layer_on_top(OxideLayer(300 * A, 7, loss_tangent))
stack.add_oxide_layer_on_top(OxideLayer(5.0 * kA, 4, loss_tangent))
stack.add_oxide_layer_on_top(OxideLayer(300 * A, 4.1, loss_tangent))

# The following oxide layers repeat four times
for i in range(4):
    stack.add_oxide_layer_on_top(OxideLayer(5.0 * kA, 3.7, loss_tangent))
    stack.add_oxide_layer_on_top(OxideLayer(300 * A, 4.1, loss_tangent))

# The thickness of the following layers depend on the thick metal option
if thick_top_metal:
Ejemplo n.º 3
0
# set to true to use the thick top metal option
thick_top_metal = False

# loss tangent value to use in oxide layer definitions
loss_tangent = 0
# NOTE: setting a non-zero loss tangent can cause some problems with Momentum

# The stack is entered from bottom to top, starting with the bulk.
# BulkLayer arguments: thickness, resistivity, dielectric loss tangent
bulk = BulkLayer(300 * um, 11.9, 20 * Ohm_cm, loss_tangent)
# NOTE: 
#  Sonnet uses dielectric loss tangent AND resistivity
#  Momentum uses only resistivity

# Create a SubstrateStack object using the specified bulk layer.
stack = SubstrateStack(bulk)

# Add all oxide layers to the stack, starting with the bottom one, working
# up to the top.
# OxideLayer arguments: thickness, relative epsilon, loss tangent
stack.add_oxide_layer_on_top(OxideLayer(300 * A, 7, loss_tangent))
stack.add_oxide_layer_on_top(OxideLayer(5.0 * kA, 4, loss_tangent))
stack.add_oxide_layer_on_top(OxideLayer(300 * A, 4.1, loss_tangent))

# The following oxide layers repeat four times
for i in range(4):
    stack.add_oxide_layer_on_top(OxideLayer(5.0 * kA, 3.7, loss_tangent))
    stack.add_oxide_layer_on_top(OxideLayer(300 * A, 4.1, loss_tangent))

# The thickness of the following layers depend on the thick metal option
if thick_top_metal: