The precursor to the present task module was the TCAD Command Language (TCAD-CL) interpreter [90]. Initially developed in the C language under the VMS operating system, it used the VMS Digital Command Language (DCL) shell parser for syntax analysis and execution dispatching. The initial release (circa 1990) provided support for general programming constructs and control mechanisms, facilities for tool invocation and control, and commands for output extraction and manipulation of results. Thereafter, specialized extension for nonlinear least squares optimization, macromodeling and Monte Carlo simulation and other analysis tools were added to the core implementation.
TCAD-CL is an instance of a command extension language that has been tailored to the needs of VLSI technology development. It is not a complete TCAD system. TCAD-CL addressed particular needs for TCAD tool integration and task analysis capability. Still, it emerged as a useful product for device and process engineers in a variety of applications. Code to automate generic characterization and design tasks was written and made available for general use in a library of command scripts.
With the advent of early releases of VISTA, the limitations of TCAD-CL as a TCAD framework substitute were evident. These included: operating system independence, CLI interpreter shortcomings, lack of a graphical user interface and of a unified data representation layers. In order to leverage the existing code, a new TCAD-CL version that concentrated on the task analysis capabilities was designed and developed. Tool integration and other framework activities were to be delegated to VISTA. The development effort built on the existing code and concepts. For example, the MO concept discussed in this chapter originated in the TCAD-CL block construct.
To bypass the limitations of the DCL shell, the new system command interface was implemented using the Tcl toolkit [76]. A MO abstraction that parallels the VISTA XLISP implementation of MO was built. It includes special code to interface to the VISTA interpreter for XLISP model evaluation as described in Section 3.2. In order to support the message passing mechanism, the standard input and output channels were used exclusively for the communication with the task agent. All other module input/output operations are file based operations. The following points highlight other important features of the new version:
The task module provides nonlinear least-squares optimization, empirical model building based on design of experiments, and Monte Carlo statistical analysis capabilities. In the second part of this thesis, the application of these capabilities in technology characterization is demonstrated by various examples.