About this Journal Submit a Manuscript Table of Contents
VLSI Design
Volume 8 (1998), Issue 1-4, Pages 79-86
http://dx.doi.org/10.1155/1998/35374

Writing Research Software in a Large Group for the NEMO Project

1Applied Research Laboratories, MS 134, Raytheon TI Systems, Dallas 75265, TX, USA
2Semiconductor Process and Device Center, MS3702, Texas Instruments Incorporated, Dallas 75265, TX, USA
3School of Engineering, The University of Texas at Dallas, Richardson 75083, TX, USA

Copyright © 1998 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

The nanoelectronic modeling (NEMO) program is the result of a three-year development effort involving four universities and the former Corporate Research and Development Laboratory of Texas Instruments, now Applied Research Laboratory, Raytheon TI Systems, to create a comprehensive quantum device modeling tool for layered semiconductor structures. Based on the non-equilibrium Green function formalism, it includes the effects of quantum charging, bandstructure and incoherent scattering from alloy disorder, interface roughness, acoustic phonons, and polar optical phonons. NEMO addresses the diverse needs of two different types of users: (i) the engineer/experimentalist who desires a black-box design tool and (ii) the theorist who is interested in a detailed investigation of the physics. A collection of models trade off physical content with speed and memory requirements. Access to this comprehensive theoretical framework is accommodated by a Graphical User Interface (GUI) that facilitates device prototyping and in situ data analysis. We describe a hierarchical software design that allows rapid incorporation of theory enhancements while maintaining a user-friendly GUI, thus satisfying the conflicting criteria of ease of use and ease of development. The theory and GUI modules share data structures that define the device structure, material parameters, and simulation parameters. These data structures may contain general data such as integer and real numbers, option lists, vectors, matrices and the labels for both batch and GUI operation. NEMO generates the corresponding GUI elements at run-time for display and entry of these data structures.