1.2 VISTA



next up previous contents index
Next: 1.3 Thesis Overview Up: 1 Introduction Previous: 1.1 Review of Previous

1.2 VISTA

VISTA is an integration and development framework for process and device simulation [35][34]. Building on a PIF data level implementation, a set of high-level framework data utilities provides uniform data services for tools, developers and users alike. The same layered structure is replicated for the VISTA user interface where the bottom layer is the X Windows Toolkit system. The VISTA widgets complement this foundation layer with TCAD-related capabilities. At the top layer, the VISTA User Interface (VUI) library implements the common look and feel   across the different VISTA applications as higher-level extensions to the VISTA XLISP interpreter.  

The VISTA task level capabilities are encoded into its framework extension language, namely XLISP [8]. As a minimal implementation of the Common Lisp standard [97], XLISP provides all the basic programming features to write arbitrarily complex extensions. This feature was fully utilized in VISTA. The VUI implementation is an example of such an extension of the XLISP core commands. This was accomplished by a modification of the basic read-eval-print control loop to include X events as well as other asynchronous control events like child process termination. Control events are handled similarly to X events through the execution of the corresponding callback function. Control events and callbacks can be triggered by various   framework subsystems such as the error handler and child processes. All events are placed on a callback queue which is checked during the read phase for pending evaluation requests. The callback mechanism provides the basis of the flexible control that is required in a modern TCAD environment.

Simple optimization tasks have been implemented successfully in VISTA using   XLISP general programming language features [81]. However, as a non-procedural language XLISP is not suited for the implementation of complex computational algorithms. Furthermore, this violates modern software development practices which were strictly adhered to in the development of VISTA. Another possible limitation could result from the execution of CPU intensive tasks by the XLISP interpreter which should be available to handle other types of framework events such as incoming user interface events. Such tasks are common occurrence during the execution of complex mathematical calculations of optimization tasks for instance. Finally one would like to make use of pre-existing code that implements well-established task analysis solution algorithms.

For the above mentioned reasons, a new strategy for the development and integration of TCAD tasks in VISTA was devised. It is based on the separation   of the task code from the XLISP interpreter. Task programs are treated like other framework tools such as simulators. Only their interface is written in XLISP.

As opposed to other tools however, task execution requires repetitive interactions between the task program and the framework. Besides normal initialization and termination control, it is often the case that multiple evaluations of framework extension code is needed. For example, code which chains process and device simulation to calculate the threshold voltage following an implant might be executed multiple times during the course of optimizing the implant conditions to achieve some threshold voltage target. Thus, an efficient and flexible interface between the task module and the framework is of critical importance. Using the VISTA callback concept, an integration architecture based on the client/server model was designed to provide the underlying foundation of such an interface.

The focus of this thesis is the development, implementation, and application of such a TCAD task system within the VISTA framework. In the rest of this introduction chapter, an overview of the thesis content and its organization is presented.



next up previous contents index
Next: 1.3 Thesis Overview Up: 1 Introduction Previous: 1.1 Review of Previous



Martin Stiftinger
Tue Aug 1 19:07:20 MET DST 1995