Technologies
ProcessTechnology
DeviceLayout.SchematicDrivenLayout.ProcessTechnology
— Typestruct ProcessTechnology
layer_record::NamedTuple
parameters::NamedTuple
end
Specifies process-specific parameters and mapping of semantic layers (e.g., to GDS layers).
The interface for process parameters includes the functions layer_thickness
, layer_height
, chip_thicknesses
, and flipchip_gaps
, which use the following parameters
entries if they are defined:
thickness
: ANamedTuple
associating layerSymbol
s with a thickness or list of thicknesses indexed by level.height
: ANamedTuple
associating layerSymbol
s with "height" or list of heights indexed by level. Height is the distance of a layer from the substrate surface at a given level, measured away from the substrate.chip_thicknesses
: AVector
of thicknesses of chips from bottom to top, used for calculating the z coordinate of the surface for each level.flipchip_gaps
: AVector
of gaps between chips in a flipchip stack, used withchip_thicknesses
for calculating the z coordinate of the surface for each level.
Note that other tools often have their own related concepts of a "Technology", but these may not directly correspond to our ProcessTechnology
.
DeviceLayout.SchematicDrivenLayout.chip_thicknesses
— Functionchip_thicknesses(tech::ProcessTechnology)
A Vector
of thicknesses of chips (default [525μm, 525μm]).
DeviceLayout.SchematicDrivenLayout.flipchip_gaps
— Functionflipchip_gaps(tech::ProcessTechnology)
A Vector
of flipchip gaps (default [5μm]).
DeviceLayout.SchematicDrivenLayout.layer_thickness
— Functionlayer_thickness(tech::ProcessTechnology, m::DeviceLayout.Meta)
The thickness of m
in tech.parameters.thickness
(0μm if not specified).
DeviceLayout.SchematicDrivenLayout.layer_height
— Functionlayer_height(tech::ProcessTechnology, m::DeviceLayout.Meta)
The height of m
in tech.parameters.height
(0μm if not specified).
Height is measured outward from the substrate surface corresponding to level(m)
.
DeviceLayout.SchematicDrivenLayout.layer_z
— Functionlayer_z(tech::ProcessTechnology, m::DeviceLayout.Meta)
The z position corresponding to metadata m
.
Uses chip_thicknesses(tech)
and flipchip_gaps(tech)
to determine the z coordinate corresponding to level(m)
, then adds or subtracts layer_height(tech, m)
for odd or even level(m)
, respectively. (That is, the layer height is measured outward from the substrate surface using the flipchip level convention.)
DeviceLayout.SchematicDrivenLayout.level_z
— Functionlevel_z(l::Integer; t_chips=[525μm, 525μm], t_gaps=[5μm])
Return the z position corresponding to level l
.
Uses the flip-chip level convention (see facing, backing).
Keywords
t_chips
: A list of chip thicknesses from bottom to topt_gaps
: A list of gap thicknesses between substrates
t_gaps
should start at the same index as t_chips
and have length length(t_chips) - 1
. Level 1 is at z = 0
.