Next: 4 Integration of Simulation
Up: 3 The VISTA/SFC TCAD
Previous: 3.5.1 Encapsulation of External
All modules of the VISTA/SFC environment are coded in
VLISP and are run by the VLISP interpreter
of the VISTA framework.
The entire VLISP code amounts to approximately 1.8 megabyte of ASCII
source text,
1 MB being attributed to the implementation of the core functional
modules shown in Figure 3.1 and 0.4 MB each being
alloted to the interfaces for currently integrated external tools and
to basic functionality for GUI generation, system interface, message
handling, and resource handling.
Figure 3.2 gives
an overview of the various VLISP modules constituting the simulation
environment.
Table 3.2: VISTA/SFC VLISP modules.
VLISP was chosen as the implementation language for a variety of reasons
that are related to the LISP language itself [WH89], to the
XLISP implementation [Bet89], and to various extensions
available in VLISP.
The following list highlights those aspects that were relevant in
the decision process in the context of the VISTA/SFC environment.
- Interpreter allows fast prototyping and code-update and
code-reload during sessions.
- Automatic memory management supports problem-oriented
programming.
- Run-time code generation capability
- Built-in debugging interface facilitates code development and debugging.
- Runs on various operating systems and platforms.
- Vienna Operating System (VOS)
provides powerful support for file handling and process management
tasks in an operating-system independent way.
- Vienna User Interface library (VUI)
provides high-level functionality for defining
graphical user
interfaces quickly and comfortably.
- Built-in error handling and error message system standardizes
error handling.
- Built in object classes support object-oriented design.
- Multiple inheritance facilitates the reuse of object
classes spread across different
modules.
- PIF Application Interface (PAI) [FFS91] [Fas94]
provides direct access to simulation data stored in PIF format.
- Easily extensible by binding external functions and libraries
coded in C or C++ to the interpreter automatically using the Tool
Abstraction Concept (TAC).
- Built-in regular expression library simplifies text-based data
exchange.
- Byte-code compiler increases speed of execution and enforces
syntax and type checking at compile-time.
- Variety of additional LISP data types improve code quality
and form basis for compile-time and run-time type checking.
Type-specific print and read routines liberate the programmer from
handling different types explicitly. Some examples of valuable
data type extensions are given in Table 3.3.
Table 3.3: Selected VLISP data types.
Next: 4 Integration of Simulation
Up: 3 The VISTA/SFC TCAD
Previous: 3.5.1 Encapsulation of External
Christoph Pichler
Thu Mar 13 14:30:47 MET 1997