2.5.3 The Data Level



next up previous contents index
Next: 2.5.4 Task Level and Up: 2.5 VISTA Previous: The Tool Abstraction

2.5.3 The Data Level

For the data levelgif, the Profile Interchange Format (PIF) syntax, as initially proposed by S. Duvall [42], has been chosen as starting point and refinements and extensions have been added. Most importantly, obligatory names for every instance of PIF objects and orthogonal language constructs have been introduced. The ASCII version of the PIF is used as an inter-site data exchange format to transfer design information between different hardware platforms.

The binary form of PIF [71] is used as the storage format and for inter-tool communication between applications on a single hardware platform. The binary format uses LISP-conforming constructor nodes (CONS nodes) for the mapping of all ASCII PIF expressions to binary form. To improve performance and data compactness, additional features have been added, such as a symbol hash table for fast object access by name and a compressed array storage format for large arrays which typically occur in TCAD applications for physical values defined over multidimensional grids.

The binary Profile Interchange Format (PIF) database which holds the semiconductor device structure information is accessed via the PIF Application Interface (PAI). The PAI is structured in seven functional layers with strict interfaces between each other. The four most important layers and two applications that use different functional interfaces of the PAI are shown in Figure 2.7.

  
Figure 2.7: Structure of the PIF application interface

 

Each layer is responsible for a unique storage concept of the whole PIF Binary File (PBF), with increasing functionality and abstraction towards the upper layers. The application interface works on PBFs (inter-tool format); for data exchange with other hosts and for making the contents of the database human-readable, the PIF ASCII form (inter-site format) is used. The PIF binary file manager (PBFM), implemented as a separate application on top of the PAI (see Figure 2.7), converts PIF files between these two formats.

Caching Layer.
This layer buffers I/O data to minimize disc and network access.

Basic Layer.
This layer is the lowest level that implements structured data nodes. It provides a functional interface for the binary storage of full LISP syntax expressions by presenting the notion of atoms (primitive data items like integer or floating point numbers, character or string values) and constructor nodes (CONS nodes for list creation) to the upper layers, as described in [72]. In contrast to LISP memory storage concepts, all nodes of the basic layer (and hence the PIF Application Interface) are originally kept on file and are just cached through the caching layer.

Interface Layer.
This layer is the implementation of the PIF syntax, providing administrative, access and inquiry functions. Through this layer, only syntactically valid (binary) PIF files can be read and written and all named PIF objects (like points, lines, faces, attributes) can be inquired by their name or by handle. As the procedural interface is directly related to the PIF syntax, the whole interface layer can be generated automatically from an abstract syntax description during the installation of VISTA.

Application Layer.
The application layer is the most important primary interface for applications to read and write simulation data in binary PIF. Some more semantic rules and their support, like the conversion of physical units and coordinate system transformations, are implemented in the application layer.



next up previous contents index
Next: 2.5.4 Task Level and Up: 2.5 VISTA Previous: The Tool Abstraction



Martin Stiftinger
Thu Oct 13 13:51:43 MET 1994