The GAS (Geometry Attribute Support) library implements functions concerning the semantics of attribute usage. Since an attribute may appear almost everywhere in the PIF file and reference any other PIF object according to the PIF syntax see Appendix A, a functions have to be introduced which perform attribute storage and lookup for TCAD tools.
These functions ensure, that only description attributes appear on the PIF top-level. This description attribute has merely grouping purposes, i.e. it does not define any data values by itself, but just contains other attributes. The grouping attribute has to reference the geometry segment(s) it describes, while the attributes it contains define actual data values. These data values are either distributed ones defined on a PIF grid, or discrete ones defining just one value describing a property of the respective segment.
As an example, consider a boron doping concentration described on a silicon semiconductor segment. The corresponding two-staged attribute structure would look like shown in Fig. 7.16. The top-level impurity description attribute references the first segment of the geometry, and contains two additional attributes defining the material type of the segment and a boron concentration on the point list of the respective grid (which in turn has to be defined on the same segment, but has been omitted in Fig. 7.16). This two-staged attribute structure ensures that a simulator first scans the PIF top level for the attributes of interest (i.e. all impurities, segment descriptions, etc.), and is able to read a self-contained set of attributes describing those interesting quantities more precisely and defining their values.
The GAS library now ensures that all attributes read from PIF and written to PIF correspond to this attribute structure. It takes care that the correct grids and segments are referenced, and helps in handling attribute units. Additionally, it actively supports the SimulatorSpecifics attribute type used to hold simulator-specific data not meant to be useful for other TCAD tools as motivated in Section 2.3.