Technologies

ProcessTechnology

DeviceLayout.SchematicDrivenLayout.ProcessTechnologyType
struct 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: A NamedTuple associating layer Symbols with a thickness or list of thicknesses indexed by level.
  • height: A NamedTuple associating layer Symbols 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: A Vector of thicknesses of chips from bottom to top, used for calculating the z coordinate of the surface for each level.
  • flipchip_gaps: A Vector of gaps between chips in a flipchip stack, used with chip_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.

source
DeviceLayout.SchematicDrivenLayout.layer_heightFunction
layer_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).

source
DeviceLayout.SchematicDrivenLayout.layer_zFunction
layer_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.)

source
DeviceLayout.SchematicDrivenLayout.level_zFunction
level_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 top
  • t_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.

source