(image) (image) [ Home ]

Emulation and Simulation of
Microelectronic Fabrication Processes

4.3 ViennaCS - Cell Set Volume Data

This data storage library builds upon the ViennaHRLE library in order to provide an easy to use interface for storing and manipulating volumetric data. It supports conversions from a LS surface into filling fractions which can be set by the user as binary, meaning whether the cell is empty or filled, or as a continuous value from \(0\) to \(1\) representing how much material is found within the cell. Therefore, ViennaCS can be used to store an explicit volume representation using voxels, as well as the implicit location of the surface using filling fractions. The implicit filling fraction values for two intersecting spheres of different material are shown in Fig. 4.12. The volume inside the material, where the majority of cells are filled entirely and thus have a filling fraction of 1, are not stored explicitly in the HRLE data structure. They are represented using undefined runs and thus do not occupy additional memory. Therefore, the volume representation is as memory efficient as the sparse-field LS since it only stores the filling fractions for cells close to an interface.

The data stored in each cell is defined by the user, allowing them to specify the values according to which defined cells should be represented. In order to identify undefined runs in the HRLE data structure, the user may define background cells with specific values. A cell will then be represented as an undefined run if the data stored inside it compares as equal to a background cell or as a defined run otherwise. As the equality check is also implemented by the user, fine control over the exact type and ranges of data which should be stored explicitly is possible. This permits the user to increase memory efficiency by specifying which combination of values should compare equal to which background cell. For example, if the cell set data structure is used to store implanted ions inside a material, the user can define a lower threshold of implantation concentration below which a cell compares equal to an empty background cell. Furthermore, a user could implement any number of background cells representing all allowed values and only store undefined runs, describing the entire volume data using only these discretised background cells. Hence, depending on the application, accuracy can be traded for memory efficiency in order to achieve the most suitable results at the user’s discretion and depending on the application.


Figure 4.12: Filling fractions for two different materials, represented using implicit volumes. The cells which contain both materials have two filling fractions to describe the percentage of the cell volume each material occupies.