Wie schon kurz angedeutet ist die Semantik des PIF, falls es zur Darstellung von Halbleiterstrukturen dient, durch die ,,wafer-state description`` festgelegt. Da sie als die derzeit gültige Semantik zwar in VISTA implementiert ist, aber bisher keine geschlossene Beschreibung existiert, soll sie hier kurz vorgestellt werden.
Eine Geometrie wird durch ein geometry-Konstrukt definiert. Jede logische PIF-Datei sollte genau ein geometry-Konstrukt enthalten. Dieses bezeichnet eine segmentList und optional eine boundaryList. Alle von diesen beiden Listen ableitbaren geometrischen Punkte müssen zusammen in genau einer pointList stehen, entsprechendes gilt für Linien, Flächen und Volumina. Das geometry-Konstrukt kann für zweidimensionale Daten ein Attribut vom Typ 3rdDimension enthalten.
Zusätzlich gelten die folgenden Regeln für geometrische Objekte:
In einer n-dimensionalen Geometrie gilt:
Koordinatensystem:
Im zweidimensionalen Fall ist x horizontal von links nach rechts,
und y vertikal von unten nach oben gerichtet;
im dreidimensionalen Fall sind x und y horizontal und z vertikal von unten nach oben gerichtet,
zusammen ein Rechtssystem bildend.
Im eindimensionaolen Fall ist x vertikal von unten nach oben gerichtet.
Die physikalischen Eigenschaften eines Segmentes sind als Unterattribute in einem Attribut des Typs SegmentDescription zusammengefaßt, das das betreffende Segment referenziert. Entsprechend werden Grenzen durch BoundaryDescription-Attribute beschrieben. Diese beiden Description-Attribute dürfen auch mehrere Segmente bzw. Grenzen gleichzeitig referenzieren.
Unterattribute, die in Description-Attributen verschachtelt sind und die verteilte Größen spezifizieren, (z.B. Concentration, Temperature) enthalten entweder einen Wert für das gesamte Gebiet, das vom Description-Attribut beschrieben wird, oder ein Feld von Werten, die sich auf geometrische Elemente eines Gitters (meistens Punkte) beziehen, deren List-Konstrukt vom Attribut referenziert wird.
Dotierungsprofile werden in ImpurityDescription-Attributen beschrieben.
Jedes referenziert ein oder mehrere Segmente und enthält typisch ein
MaterialType-Attribut und/oder ein ChargeState-Attribut sowie
ein Concentration-Attribut.
Jedes Segment kann mehrere
ImpurityDescription-Attribute haben, und
jedes ImpurityDescription-Attribute kann sich auf mehrere Segmente
beziehen.
Wenn mehrere solche Attribute für ein Segment das gleiche Material angeben
(auch auf verschiedenen Gittern),
dann stellt die Summe dieser Profile das gültige Resultat dar.
Zur Diskretisierung der Verteilung räumlich veränderlicher Größen wie Temperatur, Dotierung oder Ladungsträgerdichte dienen Gitter. Diese definieren die Geometrie und Nachbarschaftsbeziehungen der kleinsten Recheneinheiten (meistens Punkte). PIF erlaubt orthogonale Gitter, bei denen die Punkte durch ein kartesisches Produkt definiert sind, und unstrukturierte Gitter, die im zweidimensionalen Fall meistens Dreiecke gestützt auf Punkte sind. Gitter referenzieren ein oder mehrere physikalische Objekte einheitlichen Typs, auf denen sie definiert sind, oder eine segmentList (bedeutet das ganze Gebiet) oder eine boundaryList.
Eine Diskussion der verschiedenen Gittertypen findet sich in [10, Abschnitt 6.3,]. Im Zusammenhang mit der Waferstate-Definition ist folgendes wichtig: grid-Konstrukte enthalten entweder eine pointList mit einem orthoProduct, oder höchstens je eine pointList, lineList, faceList und solidList. Für jede dieser Listen gilt die Forderung der Eindeutigkeit ihrer Elemente, aber nicht die strenge Hierarchie der Geometriebeschreibung. Außerdem kann ein grid ein Attribut ElementType zur Beschreibung des Gittertyps enthalten.