Technologies
ProcessTechnology
DeviceLayout.SchematicDrivenLayout.ProcessTechnology — Typestruct ProcessTechnology
layer_record::NamedTuple
parameters::NamedTuple
endSpecifies 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: ANamedTupleassociating layerSymbols with a thickness or list of thicknesses indexed by level.height: ANamedTupleassociating layerSymbols 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: AVectorof thicknesses of chips from bottom to top, used for calculating the z coordinate of the surface for each level.flipchip_gaps: AVectorof gaps between chips in a flipchip stack, used withchip_thicknessesfor 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.