inspect - lawrence berkeley national laboratoryjmbussat/physics290e/fall-2006/tcad...courier font...

90
Inspect Version Y-2006.06, June 2006

Upload: others

Post on 10-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

InspectVersion Y-2006.06, June 2006

Page 2: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

ii

Copyright Notice and Proprietary InformationCopyright © 2006 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary information that is the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and may be used or copied only in accordance with the terms of the license agreement. No part of the software and documentation may be reproduced, transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without prior written permission of Synopsys, Inc., or as expressly provided by the license agreement.

Right to Copy DocumentationThe license agreement with Synopsys permits licensee to make copies of the documentation for its internal use only. Each copy shall include all copyrights, trademarks, service marks, and proprietary rights notices, if any. Licensee must assign sequential numbers to all copies. These copies shall contain the following legend on the cover page:

“This document is duplicated with the permission of Synopsys, Inc., for the exclusive use of __________________________________________ and its employees. This is copy number __________.”

Destination Control StatementAll technical data contained in this publication is subject to the export control laws of the United States of America. Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader’s responsibility to determine the applicable regulations and to comply with them.

DisclaimerSYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Registered Trademarks (®)Synopsys, AMPS, Arcadia, C Level Design, C2HDL, C2V, C2VHDL, Cadabra, Calaveras Algorithm, CATS, CRITIC, CSim, Design Compiler, DesignPower, DesignWare, EPIC, Formality, HSIM, HSPICE, Hypermodel, iN-Phase, in-Sync, Leda, MAST, Meta, Meta-Software, ModelTools, NanoSim, OpenVera, PathMill, Photolynx, Physical Compiler, PowerMill, PrimeTime, RailMill, RapidScript, Saber, SiVL, SNUG, SolvNet, Superlog, System Compiler, TetraMAX, TimeMill, TMA, VCS, Vera, and Virtual Stepper are registered trademarks of Synopsys, Inc.

Trademarks (™)Active Parasitics, AFGen, Apollo, Apollo II, Apollo-DPII, Apollo-GA, ApolloGAII, Astro, Astro-Rail, Astro-Xtalk, Aurora, AvanTestchip, AvanWaves, BCView, Behavioral Compiler, BOA, BRT, Cedar, ChipPlanner, Circuit Analysis, Columbia, Columbia-CE, Comet 3D, Cosmos, CosmosEnterprise, CosmosLE, CosmosScope, CosmosSE, Cyclelink, Davinci, DC Expert, DC Professional, DC Ultra, DC Ultra Plus, Design Advisor, Design Analyzer, Design Vision, DesignerHDL, DesignTime, DFM-Workbench, Direct RTL, Direct Silicon Access, Discovery, DW8051, DWPCI, Dynamic-Macromodeling, Dynamic Model Switcher, ECL Compiler, ECO Compiler, EDAnavigator, Encore, Encore PQ, Evaccess, ExpressModel, Floorplan Manager, Formal Model Checker, FoundryModel, FPGA Compiler II, FPGA Express, Frame Compiler, Galaxy, Gatran, HANEX, HDL Advisor, HDL Compiler, Hercules, Hercules-Explorer, Hercules-II, Hierarchical Optimization Technology, High Performance Option, HotPlace, HSIMplus, HSPICE-Link, iN-Tandem, Integrator, Interactive Waveform Viewer, i-Virtual Stepper, Jupiter, Jupiter-DP, JupiterXT, JupiterXT-ASIC, JVXtreme, Liberty, Libra-Passport, Library Compiler, Libra-Visa, Magellan, Mars, Mars-Rail, Mars-Xtalk, Medici, Metacapture, Metacircuit, Metamanager, Metamixsim, Milkyway, ModelSource, Module Compiler, MS-3200, MS-3400, Nova Product Family, Nova-ExploreRTL, Nova-Trans, Nova-VeriLint, Nova-VHDLlint, Optimum Silicon, Orion_ec, Parasitic View, Passport, Planet, Planet-PL, Planet-RTL, Polaris, Polaris-CBS, Polaris-MT, Power Compiler, PowerCODE, PowerGate, ProFPGA, ProGen, Prospector, Protocol Compiler, PSMGen, Raphael, Raphael-NES, RoadRunner, RTL Analyzer, Saturn, ScanBand, Schematic Compiler, Scirocco, Scirocco-i, Shadow Debugger, Silicon Blueprint, Silicon Early Access, SinglePass-SoC, Smart Extraction, SmartLicense, SmartModel Library, Softwire, Source-Level Design, Star, Star-DC, Star-MS, Star-MTB, Star-Power, Star-Rail, Star-RC, Star-RCXT, Star-Sim, Star-SimXT, Star-Time, Star-XP, SWIFT, Taurus, TimeSlice, TimeTracker, Timing Annotator, TopoPlace, TopoRoute, Trace-On-Demand, True-Hspice, TSUPREM-4, TymeWare, VCS Express, VCSi, Venus, Verification Portal, VFormal, VHDL Compiler, VHDL System Simulator, VirSim, and VMC are trademarks of Synopsys, Inc.

Service Marks (SM)MAP-in, SVP Café, and TAP-in are service marks of Synopsys, Inc.

SystemC is a trademark of the Open SystemC Initiative and is used under license.ARM and AMBA are registered trademarks of ARM Limited.All other product or company names may be trademarks of their respective owners.

Inspect, Y-2006.06

Page 3: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CONTENTS

InspectAbout this manual ...............................................................................................................................vii

Audience ............................................................................................................................................................ viiRelated publications........................................................................................................................................... viiTypographic conventions .................................................................................................................................. viiiCustomer support.............................................................................................................................................. viii

Chapter 1 Overview...............................................................................................................................1Using Inspect .......................................................................................................................................................1

Data formats...................................................................................................................................................1Work areas...........................................................................................................................................................2

Toolbar buttons ..............................................................................................................................................2Datasets area .................................................................................................................................................3Curves area....................................................................................................................................................3Plot area .........................................................................................................................................................4

Chapter 2 Operations guide .................................................................................................................5Starting Inspect ....................................................................................................................................................5

Command-line options ...................................................................................................................................5Property database ..........................................................................................................................................6Environment variables....................................................................................................................................6

Loading data files .................................................................................................................................................6Opening a dataset ..........................................................................................................................................7Opening other formats....................................................................................................................................7Reloading a dataset .......................................................................................................................................7Updating a dataset .........................................................................................................................................8

Creating curves ....................................................................................................................................................8Selecting multiple projects and groups...........................................................................................................8Creating a curve .............................................................................................................................................9Automatically generated curve names and legend text..................................................................................9Selecting and unselecting curves...................................................................................................................9Graphical attributes of curves.......................................................................................................................10Changing curve attributes ............................................................................................................................11Moving the legend ........................................................................................................................................11

Using formulas to create curves.........................................................................................................................12Macro and formula libraries..........................................................................................................................13

Configuring the view...........................................................................................................................................13Scaling an axis .............................................................................................................................................13Logarithmic axis scale ..................................................................................................................................14Axes limits in logarithmic scale.....................................................................................................................14Creating curves in PLOT and XGRAPH modes ...........................................................................................14Zooming operations......................................................................................................................................14Changing attributes of plot area ...................................................................................................................15Changing attributes of axes..........................................................................................................................16Adding labels................................................................................................................................................17Displaying curve data ...................................................................................................................................18Changing order of curves .............................................................................................................................18Inspector dialog box .....................................................................................................................................18

Working with scripts ...........................................................................................................................................19Creating scripts ............................................................................................................................................20Running scripts.............................................................................................................................................20

Preferences........................................................................................................................................................20Saving files.........................................................................................................................................................21

iii

Page 4: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCONTENTS

Exporting curve data ..........................................................................................................................................21Printing curves in the plot area...........................................................................................................................21

Chapter 3 Reference guide.................................................................................................................23Requirements and configuration ........................................................................................................................23

Parameter files .............................................................................................................................................23Save files......................................................................................................................................................23

Input data ...........................................................................................................................................................24File menu ...........................................................................................................................................................24Edit menu...........................................................................................................................................................25Curve menu........................................................................................................................................................26Script menu........................................................................................................................................................27Extensions menu................................................................................................................................................27Help menu..........................................................................................................................................................27Curve interpolation and operation ......................................................................................................................28

Curves ..........................................................................................................................................................28Limitation of x dataset ..................................................................................................................................28More than one curve in a formula.................................................................................................................29Handling datasets in formula processing .....................................................................................................29Dataset created for result curves .................................................................................................................30Curve handling on interpolation....................................................................................................................31Determining scale (linear or logarithmic) of a curve .....................................................................................31Backward compatibility.................................................................................................................................31

Formulas and macros ........................................................................................................................................32Formula syntax.............................................................................................................................................32Formula library .............................................................................................................................................32Macros..........................................................................................................................................................35

Example 1 .............................................................................................................................................35Example 2 .............................................................................................................................................35

Script language references ................................................................................................................................36Reading and writing files ..............................................................................................................................37Creating, displaying, and deleting curves.....................................................................................................39Changing attributes ......................................................................................................................................42Accessing curve data ...................................................................................................................................46Transforming curve data ..............................................................................................................................47Support for the Manual Examples Library ....................................................................................................48Computing ....................................................................................................................................................49Script control commands..............................................................................................................................49Extracting parameters ..................................................................................................................................50

Two-port network RF extraction .........................................................................................................................53Introduction...................................................................................................................................................53Tool sections ................................................................................................................................................53

General tab ...........................................................................................................................................53Preferences tab.....................................................................................................................................54Convert Data tab ...................................................................................................................................55RF Extraction tab ..................................................................................................................................56Plot tab ..................................................................................................................................................58Utilities tab.............................................................................................................................................59

Scripting .......................................................................................................................................................59Loading small-signal output file of Sentaurus Device ...........................................................................59Making small-signal output data accessible to extraction script............................................................60Global scaling of small-signal parameters ............................................................................................60Global setting of characteristic impedance ...........................................................................................61

iv

Page 5: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CONTENTS

Converting Sentaurus Device small-signal data to Y, Z, H, and S parameters.....................................61Global variables for controlling the plotting of curves............................................................................62Plotting real and imaginary parts of small-signal parameters ...............................................................63Plotting magnitude and phase of small-signal parameters ...................................................................63Polar plots of small-signal parameters ..................................................................................................64Smith charts ..........................................................................................................................................65Mason’s unilateral gain .........................................................................................................................65Maximum stable gain and available gain, and Rollett stability factors ..................................................66Extracting fmax........................................................................................................................................67Extracting ft............................................................................................................................................69Discussion of different cut-off frequency extraction methods................................................................70Extracting fK=1 ........................................................................................................................................71Various utilities ......................................................................................................................................72

Libraries .............................................................................................................................................................73Adding a site library......................................................................................................................................73Functionality of IC-CAP model parameter extraction library ........................................................................74

Library functions....................................................................................................................................74Header information................................................................................................................................74Array data..............................................................................................................................................75

Curve comparison library .............................................................................................................................76Library functions....................................................................................................................................76

Restrictions in Inspect ........................................................................................................................................77diff(…formula…) and integr(…formula…) ....................................................................................................77vecvalx(…formula…) and vecvaly(…formula…) ..........................................................................................77No support for right y-axes ...........................................................................................................................77

Bibliography ........................................................................................................................................79

v

Page 6: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCONTENTS

vi

Page 7: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT ABOUT THIS MANUAL

Inspect

About this manual

Inspect is a curve display and analysis program. It works with curves specified at discrete points. Inspectenables users to work interactively with data using both a graphical user interface and a script language.

The main chapters are:

Chapter 1 describes the main features and components of Inspect.

Chapter 2 provides a detailed operations guide for the graphical user interface.

Chapter 3 provides reference material including menu options, how Inspect works with curves, andhow these relate to the Inspect script language.

AudienceThis manual is intended for users of the Inspect software package, which is available in SentaurusWorkbench Visualization.

Related publicationsFor additional information about Inspect, see:

The documentation installed with the Inspect software and available through the Inspect Help menu.

The Inspect release notes, available on SolvNet (see Accessing SolvNet on page viii).

Documentation on the Web, which is available through SolvNet athttps://solvnet.synopsys.com/DocsOnWeb.

Synopsys Online Documentation (SOLD), which is included with the software for CD users or isavailable to download through the Synopsys Electronic Software Transfer (EST) system.

vii

Page 8: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTABOUT THIS MANUAL

Typographic conventions

Customer supportCustomer support is available through SolvNet online customer support and through contacting theSynopsys Technical Support Center.

Accessing SolvNet

SolvNet includes an electronic knowledge base of technical articles and answers to frequently askedquestions about Synopsys tools. SolvNet also gives you access to a wide range of Synopsys onlineservices including software downloads, documentation on the Web, and “Enter a Call to the SupportCenter.”

To access SolvNet:

1. Go to the SolvNet Web page at http://solvnet.synopsys.com.

2. If prompted, enter your user name and password. (If you do not have a Synopsys user name andpassword, follow the instructions to register with SolvNet.)

If you need help using SolvNet, click HELP in the top-right menu bar or in the footer.

Convention Explanation

< > Angle brackets

{ } Braces

Blue text Identifies a cross-reference (only on the screen).

Bold text Identifies a selectable icon, button, menu, or tab. It also indicates the name of a field, window, dialog box, or panel.

Courier font Identifies text that is displayed on the screen or that the user must type. It identifies the names of files, directories, paths, parameters, keywords, and variables.

Italicized text Used for emphasis, the titles of books and journals, and non-English words. It also identifies components of an equation or a formula, a placeholder, or an identifier.

Key+Key Indicates keyboard actions, for example, Ctrl+I (press the I key while pressing the Control key).

Menu > Command Indicates a menu command, for example, File > New (from the File menu, select New).

NOTE Identifies important information.

viii

Page 9: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT ABOUT THIS MANUAL

Contacting the Synopsys Technical Support Center

If you have problems, questions, or suggestions, you can contact the Synopsys Technical Support Centerin the following ways:

Open a call to your local support center from the Web by going to http://solvnet.synopsys.com(Synopsys user name and password required), then clicking “Enter a Call to the Support Center.”

Send an e-mail message to your local support center:

• E-mail [email protected] from within North America.

• Find other local support center e-mail addresses at http://www.synopsys.com/support/support_ctr.

Telephone your local support center:

• Call (800) 245-8005 from within the continental United States.

• Call (650) 584-4200 from Canada.

• Find other local support center telephone numbers at http://www.synopsys.com/support/support_ctr.

Contacting your local TCAD Support Team directly

Send an e-mail message to:

[email protected] from within North America and South America.

[email protected] from within Europe.

[email protected] from within Asia Pacific (China, Taiwan, Singapore, Malaysia,India, Australia).

[email protected] from Korea.

[email protected] from Japan.

ix

Page 10: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTABOUT THIS MANUAL

x

Page 11: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 1 OVERVIEW

Inspect

CHAPTER 1 Overview

This chapter describes the main features and components of Inspect.

Using InspectInspect is a tool that is used to display and analyze curves. It features a convenient graphical userinterface, a script language, and an interactive language for computations with curves.

An Inspect curve is a sequence of points defined by an array of x-coordinates and y-coordinates. Anarray of coordinates that can be mapped to one of the axes is referred to as a dataset. With Inspect,datasets can be combined and mapped to the x-axis and y-axis to create and display a curve.

Data formatsInspect supports five input data formats: DF–ISE, TDR, TIF, XGRAPH, and XMGR. These formats arebriefly described in Opening other formats on page 7.

For a description of the DF–ISE format, see Utilities, Chapter 1 on page 1. For a description of the TDRformat, refer to the Sentaurus Data Explorer User Guide). For a description of the TIF format, refer tothe Taurus Visual User Guide, ‘Data Formats.’

1

Page 12: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 1 OVERVIEW

Work areasInspect has been designed with three main work areas. Its main window is displayed in Figure 1.

Figure 1 Main window of Inspect showing work areas

The status line at the bottom of the window displays information about the current Inspect session andthe position of the pointer in the plot area.

Toolbar buttonsThe toolbar offers quick access to commonly used options that are also available in the different menus.Table 1 lists and describes the toolbar buttons.

Table 1 Inspect toolbar buttons

Icon Explanation Icon Explanation

Opens dataset file Moves selected curve to the front of all curves

Prints current plot Moves selected curve to the back of all curves

Menu BarToolbar

Datasets

Curves

Plot Area

Status

Area

Area

Line

2

Page 13: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 1 OVERVIEW

Datasets areaThe Datasets area has three panes for selecting and combining datasets for creating curves. Threebuttons (To X Axis, To Left Y Axis, and To Right Y Axis) are used to map datasets to a particular axis.

The top pane lists the currently loaded data files (also called projects). In the example shown in Figure 1on page 2, only one data file tutorial_ins has been loaded (the extension of the data file is notdisplayed).

The middle pane lists the names of the dataset groups belonging to the selected data file. A groupcontaining one or more datasets can correspond to an electrode or a thermode of a device. Datasets thatdo not belong to any group are also displayed. In Figure 1, time is an independent dataset. node_A andnode_B are groups, each containing several datasets.

The bottom pane lists the names of the datasets belonging to the selected group. For example, if node_Ais selected in the middle pane, the two datasets data_1 and data_2 appear in the bottom pane.

Curves areaThe Curves area contains a pane, which displays the names of existing curves and three buttons: Newis used to create a curve using the formula library, Edit is used to change the graphical attributes of acurve, and Delete removes selected curves.

Reloads dataset Moves selected curve forward

Zooms in, showing a selected area Moves selected curve backward

Zooms out, showing a larger area Runs or continues executing script

Displays the complete plot area Stops executing script

Centers the current zoom region Enables or disables logarithmic scale on x-axis

Zooms in to a selected curve Enables or disables logarithmic scale on left y-axis

Displays or removes legend text Enables or disables logarithmic scale on right y-axis

Displays or removes grid

Table 1 Inspect toolbar buttons

Icon Explanation Icon Explanation

3

Page 14: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 1 OVERVIEW

Plot areaThe main pane is the plot area where curves are drawn. Toolbar buttons are used to change the coordinatesystem for zooming sessions, to display or remove the legend text, to change the order in which curvesare displayed, and to switch between linear and logarithmic scale.

4

Page 15: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 2 OPERATIONS GUIDE

Inspect

CHAPTER 2 Operations guide

This chapter provides a detailed operations guide for the graphical user interface.

Starting InspectInspect can be started from Sentaurus Workbench or from the command line by typing inspect,optionally followed by command-line options and curve files.

Command-line optionsThe following command-line options (which can be obtained by typing inspect -h) can be used whenInspect is started from the command line:

Usage: inspect [options] [FILES]

Description:Inspect is a tool to display and analyze curves, which featuresa convenient graphical user interface, a script language,and an interactive language for computations with curves.

Options:-h[elp] : display this help message-v[ersion] : print the version of Inspect-verbose : display all messages-geometry : size and position for window-display : display to use-f FILE : execute script file after startup-c FILE : read setup file after startup-m FILE : execute macro after startup-batch : do not open graphical user interface while executing

script file-oldInterpol : force Inspect to use interpolation

criteria of earlier versions-oldplx : load a PLX file, it automatically creates curves with

the old scheme

Arguments:FILES : simulation results (.plt, .tdr, .ivl) files

and/or save (.sav) files

The remaining command-line arguments can be one or several data files, or a save file that is loadedwhen Inspect is started. Inspect automatically distinguishes between data files and save files.

5

Page 16: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 2 OPERATIONS GUIDE

Example 1inspect file1 file2 file3 -c mySetup.par

Data files file1, file2, and file3 are loaded. The plot area, axes, macros, and printer setup are read fromthe parameter file mySetup.par.

Example 2inspect -f bipolar.cmd

When started, Inspect executes the script file bipolar.cmd.

Property databaseData files in DF–ISE format contain names of physical quantities described by the datasets. The TCADproperty database holds information about specific physical quantities used in TCAD programs. Duringstartup, Inspect reads a file named dfise.pro that contains the property database and uses it to retrievethe necessary information about the datasets processed during the run. Inspect searches for this file inthis order:

1. Current working directory.

2. Directory defined by the environment variable STPROP.

3. Property file of the TCAD installation indicated by the environment variable STROOT_LIB.

If the file is not found in any of these locations, Inspect exits with an error message. For moreinformation on the property database, see Utilities, Chapter 1 on page 1.

Environment variablesInspect uses two environment variables:

STPROP Defines the directory where the property file is located.

STROOT_LIB Indicates the directory where the property file, which accompanies the TCADinstallation, is located. This variable is set during installation.

Loading data filesInspect works with five different file formats, which contain a series of points, described byx-coordinates and y-coordinates, which represent datasets. Inspect handles and displays these datasetsas curves.

6

Page 17: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 2 OPERATIONS GUIDE

Opening a datasetTo open a dataset, it is necessary to load data files:

1. File > Load Datasets.The File Selection dialog box is displayed.

2. Double-click a file to select and open it.

Opening other formatsInspect can load and display datasets that have been saved in the following formats:

DF–ISE The format recognized by most of the Synopsys TCAD tools (see Utilities,Chapter 1 on page 1).

TDR The format recognized by most of the Synopsys TCAD tools (see SentaurusData Explorer, Appendix A on page 47).

TIF The Synopsys TCAD format for I–V curves, recognized by most of SynopsysTCAD tools (refer to the Taurus Visual User Guide, ‘Data Formats’). Thesefiles have the extension .ivl.

XGRAPH Each curve is written into a block with the curve name, and the x and y data.Typically, there is one x-y data–point pair per line. Each value or column isseparated by white spaces (spaces or tabs), commas, semicolons, or colons.

XMGR The format used by the shareware tool Xmgr.

The default file format is DF–ISE with the extension .plt.

To load a different format:

File > Load Datasets.

The File Selection dialog box is displayed and the file formats that are supported are listed in the Filesof type filter.

Reloading a datasetDisplayed datasets can be reloaded if the file is subject to updates while viewing it in Inspect.

To reload a dataset:

File > Update Datasets.

7

Page 18: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 2 OPERATIONS GUIDE

Updating a datasetIf the dataset displayed in the plot area is frequently updated by another tool, such as Optimizer, it maybe useful to frequently reload the dataset so that refreshed data is shown in the plot area.

To automatically update datasets:

File > Automatically Update Datasets.

The Automatic Update dialog box (see Figure 2) is displayed and allows users to select this option andto set the time (in seconds) between reloads.

Figure 2 Automatic Update dialog box

Creating curvesInspect displays curves that are formed by datasets from different data files.

Selecting multiple projects and groupsProjects and groups are selected from the Datasets area (see Datasets area on page 3). If more than onegroup is selected, only the dataset names that exist in all the selected groups appear in the bottom pane.In Figure 1 on page 2, if both groups (node_A and node_B) are selected, only one dataset name data_1appears in the bottom pane. If the group time is selected, in addition, no dataset names are displayed inthe bottom pane, because no datasets with identical names exist in all the selected groups.

NOTE The names of datasets must be identical. Datasets, themselves, can be different.

When more than one project is loaded, the same rule applies. Consequently, Inspect only shows commongroups and datasets of multiple-selected projects in the middle and bottom panes of the Datasets area.

8

Page 19: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 2 OPERATIONS GUIDE

Creating a curveThe first curve displayed in Figure 1 on page 2 maps time to the x-axis and data_1 of node_A to the lefty-axis. To create a curve:

1. Select the dataset group time in the middle pane of the Datasets area.

2. Click the To X Axis button.

3. Select the dataset group node_A in the middle pane of the Datasets area.

4. Select the dataset data_1 from the bottom pane of the Datasets area.

5. Click the To Left Y Axis button.

Inspect draws a curve in the plot area using these two datasets. The name of the curve is generatedautomatically using names and other attributes of groups and datasets (and possibly projects). Theupper-right corner of the plot area shows a legend, which displays curve names and curve drawing styles.

The second curve is created in the same way: time is mapped to the x-axis and data_2 from node_A ismapped to the left y-axis. The next curve is created using time as the x-axis dataset and data_1 fromnode_B as the right y-axis dataset.

When these steps are completed, the main window of Inspect resembles Figure 1.

Automatically generated curve names and legend textWhen a curve is created, a default name for it is generated. In PLOT mode (DF–ISE, TDR, and TIFfiles), the name is a combination of the physical quantity name and the group name of the y dataset ifthe dataset belongs to a group. If, for example, the physical quantity name is OuterVoltage and the datasetbelongs to a group named node_A, the curve name is OuterVoltage_node_A.

In XGRAPH mode, a default name is created using the data file name and the comment line precedingthe dataset pair in the file. If the generated curve name already exists, an .n suffix is added, where n isthe smallest number not used in another name.

In addition to a name, a curve has legend text associated with it. The text identifies the curve in the plotarea. When a curve is created, the corresponding text is initialized with the curve name.

Selecting and unselecting curvesTo select curves:

Click the curve name in the Curves area.

Alternatively, click the curve legend in the legend text.

9

Page 20: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 2 OPERATIONS GUIDE

After selection, the curve is highlighted in the Curves area, plot area, and legend text.

To open the Curve Attribute dialog box:

Double-click a curve, either in the plot area or Curves area (see Figure 3).

To unselect curves, right-click in the plot area.

Figure 3 Curve Attribute dialog box displaying all tabs

Graphical attributes of curvesA curve is displayed according to graphical attributes associated with it. When a curve is created, defaultvalues are assigned to all attributes. A curve is drawn with lines connecting nodes and, optionally, withnode markers.

10

Page 21: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 2 OPERATIONS GUIDE

The following graphical attributes can be set for a curve:

Line attributes

Color Default color is assigned from a list of colors not assigned to existing curves.

Style When all available colors are exhausted, a line drawing style is assigned from alist of styles so that every curve has a unique combination of color and style.

Width Line width in pixels, 2 by default.

Node marker attributes

Shape No node markers by default.

Size Size in pixels, 5 by default.

Outline color It is equal to the line color by default.

Outline width Width in pixels, 1 by default.

Fill color It is equal to the line color by default.

Changing curve attributesTo change the attributes of a curve:

1. Select a curve.The Edit and Delete buttons are now available.

2. Click Edit.

The Curve Attribute dialog box is displayed (see Figure 3 on page 10).

To display a curve with data points and no lines between these points:

1. Click the Marker tab.

2. In the Shape box, select circle.

3. Click the Line tab.

4. Set Width to 0.

5. Click OK.

Moving the legendUse the middle mouse button to move the legend in the plot area.

11

Page 22: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 2 OPERATIONS GUIDE

Using formulas to create curvesNew curves are created by applying mathematical formulas to existing curves.

To create a curve:

From the Curves area, select New.

The Create Curve dialog box is displayed (see Figure 4).

Figure 4 Create Curve dialog box

The Create Curve dialog box has two panes: one for existing curves and one for predefined macros.There are two entry fields: one for the name of the new curve (Inspect provides a default) and one forthe formula that is used to create the curve. Two option buttons allow for the selection of one of twoalternative y-axes on to which the new curve is mapped.

To create a curve that is the difference between two other curves:

1. Click a curve in the Curves pane. The curve name appears in the Formula field enclosed by angle brackets.

2. Type a hyphen.

3. Double-click a different curve in the Curves pane.The second curve name also appears in the Formula field.

4. Select the axis to which the new curve is mapped.

5. Click OK.

The new curve is displayed.

12

Page 23: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 2 OPERATIONS GUIDE

Macro and formula librariesTo create and handle new curves, a variety of macros and library formulas are included in Inspect.Macros can be created using the Macro Editor dialog box, which allows users to select existing macrofunctions, different operations, and formulas from the libraries (see Figure 5).

Macros are stored in the file inspect_macro.par in the STDB directory. This file is created automatically thefirst time Inspect is run. Initially, it stores predefined macros. Users can then add or modify macros usingthe Macro Editor dialog box.

To open the Macro Editor dialog box:

Edit > Define macros.

Figure 5 Macro Editor dialog box

Configuring the viewThe way in which Inspect displays loaded datasets can be modified by changing the scale in whichcurves are plotted, by zooming in on a specific part of a curve, or by changing the plot area or attributesof the axes.

Scaling an axisInspect allows scaling on three possible axes: x-axis, left y-axis, and right y-axis. The scale of each axiscan be changed independently.

13

Page 24: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 2 OPERATIONS GUIDE

To change the scale of an axis, the relevant toolbar buttons are logx, logy and logy2 (see Table 1 onpage 2). Each allows for the logarithmic scaling of each of the three axes to be switched on and off. Ifthe scaling is switched off, it reverts to linear scaling.

Logarithmic axis scaleIf the axis scale is set to logarithmic, Inspect handles data in the following way:

Negative values are set to positive.

Zero values are set to 1e-20.

When the axis scale is switched to linear, data is restored to its original values.

Axes limits in logarithmic scaleIn linear scale, users can set the minimum and maximum values of each axis. In logarithmic mode,Inspect may be unable to set the axis to the given values. In this case, Inspect sets the minimum andmaximum values of the axis to the nearest power of 10 values.

Creating curves in PLOT and XGRAPH modesBy default, Inspect runs in PLOT mode. When one of DF–ISE, TDR, or TIF files is loaded, curves arenot immediately created, because a curve may be formed from any pair of datasets belonging to differentgroups and only a few of these are likely to interest the user. Curves must be explicitly created whenrequired by mapping pairs of datasets to x-axes and y-axes.

Any data file not recognized as being in DF–ISE, TDR, or TIF format is read as an XGRAPH file. Whenloading an XGRAPH file, Inspect switches to the XGRAPH mode. Curves are automatically createdfrom the pairs of datasets defined in the loaded file with the y dataset being mapped to the left y-axis.The y dataset can later be remapped to the right y-axis.

Zooming operationsTo perform zooming operations on curves displayed in the plot area, use the relevant toolbar buttons (seeTable 1 on page 2).

14

Page 25: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 2 OPERATIONS GUIDE

Changing attributes of plot areaThe appearance of the plot area can be modified using the Plot Area dialog box. This allows users tochange such attributes as the name of the plot area, the legend text that references the displayed curves,the plotting frame, and grid. To open the Plot Area dialog box (see Figure 6):

Edit > Plot Area.

For example, to change the position of the legend text in the plot area:

1. Click the Legend tab.

2. In the Position box, select the new position.

3. Click OK or Apply to accept the changes.

Figure 6 Plot Area dialog box displaying all tabs

15

Page 26: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 2 OPERATIONS GUIDE

Changing attributes of axesThe appearance of the axes can be modified using the Axes dialog box (see Figure 7).

To open the Axes dialog box:

Edit > Axes or double-click any axis in the plot area.

For example, to change the linear scale of the x-axis to logarithmic scale:

1. Click the X Axis tab.

2. Click the Scale tab.

3. Select the log option.

4. Click OK or Apply to accept the changes.

Figure 7 Axes dialog box

16

Page 27: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 2 OPERATIONS GUIDE

Adding labelsLabels can be added to the plot area. These labels provide useful information about the mapped curves.Labels can be edited and removed from the plot area.

To create a label:

1. Edit > Labels > Add.The Labels dialog box is displayed (see Figure 8).

2. In the Text field, type the label text.

3. Select a color and font for the label.

4. Click OK or Apply to insert the new label in the plot area.

Figure 8 Labels dialog box

To move a label:

Select a label in the plot area using the middle mouse button.

You can move the label inside the plot area until the middle mouse button is released.

To delete a label:

1. Edit > Labels > Remove.The pointer changes to a delete mode.

2. Select in the plot area the label to be removed.

The label is removed and the pointer reverts to the standard mode.

17

Page 28: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 2 OPERATIONS GUIDE

Displaying curve dataEvery curve displayed in the plot area has an associated dataset. To view the points included in thedataset of a specific curve:

1. Select a curve from the Curves area.

2. Curve > Curve Data or Ctrl+D.

The Curve Data dialog box is displayed. It shows a table of the x-coordinates and y-coordinates for eachpoint in datasets represented by the selected curve (see Figure 9).

Figure 9 Curve Data dialog box

Changing order of curvesThe user may need to rearrange the order in which curves are displayed in the plot area to visuallydistinguish one curve from another, for example, if some have a significant intersection.

To change the order of curves, use the toolbar buttons (see Table 1 on page 2). Alternatively, use theoptions provided in Drawing Order command of the Curve menu: Move To Front, Move To Back,Move Forward, and Move Backward (see Table 4 on page 26).

Inspector dialog boxThe Inspector dialog box allows users to sample points in the plot area:

1. Curve > Inspect.The Inspector dialog box is displayed.

2. In the plot area, select the first point by clicking a specific location (usually on a curve).

3. Drag the pointer to a second location (usually on another curve) to mark the second point.

18

Page 29: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 2 OPERATIONS GUIDE

Positions are represented by circles that are connected by a line. The Inspector dialog box showsdifferent values calculated from the two selected positions (see Figure 10).

Figure 10 Example of using Inspector dialog box for sampling points in the plot area

Working with scriptsIn Inspect, any sequence of operations can be stored and reproduced by using a script. The recordedactions are repeated when the file is executed. The operations that can be recorded in a script are:

Loading and unloading projects

Loading and saving the current project

Changing axis attributes

Exporting curves, and creating and deleting curves

Changing curve attributes

Transforming actions on curves

Any use of the formula library to create other curves

19

Page 30: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 2 OPERATIONS GUIDE

Creating scriptsTo create a script:

1. Script > Record > Start.A Script Name dialog box is displayed, which prompts the user to select or create a script file.

2. After selecting the file name, Inspect starts to store every operation until recording is stopped:Script > Record > Stop.

Running scriptsTo run a script:

1. Script > Run Script. A Script List dialog box is displayed.

2. Select a script.

3. Click OK.

PreferencesTo open the Preferences dialog box:

File > Preferences.

Preferences in Inspect are related to the precision of values handled for curve coordinates and theinterpolation method used to operate and display curves. The number entered in the Precision fieldindicates how many decimal digits are used to handle coordinates for curve points (see Figure 11).

The Use Old Interpolation option forces Inspect to use the interpolation criteria utilized in earlierversions to handle all computations with curves.

Figure 11 Preferences dialog box

20

Page 31: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 2 OPERATIONS GUIDE

Saving filesTwo file-saving options are available in Inspect:

File > Save Setup saves the current setup in a parameter .par file.

File > Save All saves the entire current state of Inspect in a .sav file.

Exporting curve dataCurve data can be written to data files in four different formats: DF–ISE, TDR, XGRAPH, and XMGR(see Opening other formats on page 7). To export a curve in the DF–ISE format:

File > Export > DF-ISE.

A Write plt file dialog box is displayed, which prompts the user to select or create a DF–ISE file.Similarly, files can be exported in TDR, XGRAPH, or XMGR format.

Printing curves in the plot areaCurves displayed in the plot area can be printed as a single image. To print curves:

1. File > Print or Ctrl+P.A Printer Setup dialog box is displayed where printing settings can be defined. On Windows, astandard Windows printing dialog box is displayed. On UNIX or Linux, a special printing dialogbox is shown (see Figure 12 on page 22).

2. Select the print configuration.

3. Click OK.

NOTE In the Command field, it is possible to specify the command for using the printer.

21

Page 32: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 2 OPERATIONS GUIDE

Figure 12 Printer Setup dialog box

22

Page 33: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Inspect

CHAPTER 3 Reference guide

This chapter provides reference material including menu options, how Inspect works with curves, andhow these relate to the Inspect script language.

Requirements and configuration

Parameter filesWhen Inspect is interactively customized according to user preference, the current setup can be storedin a parameter file, which usually has the extension .par. In a parameter file, Inspect stores the followinginformation:

Plot area attributes

Coordinate area attributes

Axes attributes

User-defined macros

Printer setup

When Inspect is started, it looks for a parameter file with the file name inspect.par in the currentdirectory. If a file with this name is found, Inspect loads it and sets the graph settings, macros, and printersetup according to the values in this file. If no file is found, Inspect uses default values.

A parameter file can also be loaded explicitly on startup or during the execution.

Save filesThe entire current state of Inspect (projects, curves, and settings) can be saved to a save file, which isused to restore the saved state at any time. Data from all the loaded projects is also stored in a save file.This means that for restoring the saved state, the data files are no longer necessary. A save file usuallyhas the extension .sav.

23

Page 34: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Input dataInspect works on data consisting of clusters of named one-dimensional arrays of floating-point data,which are called datasets. Each cluster consists of two or more datasets of equal length, where elementswith an identical index represent related values. Datasets inside a cluster can be divided into namedgroups. By pairing related values of two datasets from the same cluster, points (or nodes) of a discretecurve are obtained.

Usually, a dataset represents a physical quantity, such as voltage, current, or time. Clusters of datasetsrepresent functionally related physical quantities, for example, measurements of current and voltage,and the times at which these measurements are taken. Groups represent semantically related datasets,for example, enmeshment results at one of several contacts of a semiconductor device.

In addition to its name, a dataset can have other attributes associated with it, for example, the name ofthe physical quantity represented by the dataset, the name of the unit in which this quantity has beenmeasured, preferred color, and interpolating function. Depending on the particular input file format, thisinformation can be stored partially in the data file and partially in separate files.

Inspect can read DF–ISE, TDR, and TIF data formats, and XGRAPH and XMGR file formats.

Data in DF–ISE, TDR, and TIF formats contain the names of the physical quantities that datasetsrepresent. The DF–ISE, TDR, and TIF formats allow users to split a dataset cluster into named groups.

Data in XGRAPH format always has clusters consisting of two datasets only. Additional datasetattributes are specified inside the file with appropriate keywords.

To distinguish between datasets from different data files, the datasets from one data file are grouped intoa ‘project.’ The data file name without an extension is taken as the project name. When more than onefile with the same name is loaded, Inspect adds a suffix .n to the project name, where n is the smallestnumber not yet used as a suffix for another project name.

File menuTable 2 lists the commands of the File menu and shortcut keys.

Table 2 File menu commands

Command Icon Shortcut keys Description

Load Dataset Ctrl+L Opens dataset file.

Update Datasets Ctrl+U Reloads datasets from opened files and updates related curves.

Automatically Update Datasets Automatically reloads datasets from opened files.

24

Page 35: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Edit menuTable 3 lists the commands of the Edit menu and shortcut keys.

Delete Datasets Deletes selected projects and the curves that use data from them.

Load Setup Loads preferences stored in setup file.

Save Setup Saves preferences to setup file.

Restore All Loads a previously saved project from a .sav file.

Save All Saves current state to a .sav file.

Export Saves current curves to a different file format (XGRAPH, XMGR, DF–ISE, TDR).

Write EPS Creates an EPS file of plot area image.

Write PS Creates a PostScript file of plot area image.

Print Ctrl+P Opens the Print Setup dialog box.

Preferences Opens the Preferences dialog box.

Exit Ctrl+Q Exits Inspect.

Table 3 Edit menu commands

Command Icon Shortcut keys Description

Plot Area Ctrl+G Opens the Plot Area dialog box to change attributes of plot area.

Axes Ctrl+A Opens the Axes dialog box to change attributes of axes.

Labels Displays a submenu of options Add, Edit, or Remove labels from the plot area.

Define Macros Opens the Macro Editor dialog box.

XGRAPH mode When selected, Inspect runs in XGRAPH mode. To switch between XGRAPH mode and PLOT mode, select this command again.

Table 2 File menu commands

Command Icon Shortcut keys Description

25

Page 36: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Curve menuTable 4 lists the commands of the Curve menu and shortcut keys.

Table 4 Curve menu commands

Command Icon Shortcut keys Description

Transform Displays a submenu with these options:Abs X: Maps x value of all data points of selected curves to its absolute value and redisplays the curve. Abs Y: Maps y value of all data points of selected curves to its absolute value and redisplays the curve.Reflect X: Reflects curve about x-axis.Reflect Y: Reflects curve about y-axis.Suppress Backtrace: Data points of a selected curve where the x values are not monotonically increasing (where the current x value is less than the previous one) indicate the start of a new line. In this case, no line connects the previous point to the current point.

Curve Data Ctrl+D Opens a dialog box that shows the points of the dataset corresponding to the selected curve.

Restore Data Undoes all changes to selected curves.

DeltaX (X) Creates a deltaX curve for each selected curve. The deltaX curve is obtained by taking the x dataset of the original curve as the x dataset of the new curve and computing the y dataset at every point by subtracting the x value at the current point from the x value at the next point.

Intersect X ? Opens a dialog box displaying the x-coordinate at which the selected curve crosses the x-axis. If more than one curve is selected, no action is taken.

Inspect Opens the Inspector dialog box.

Drawing Order Opens a submenu to rearrange order of curves. Options are:Move To Front: Moves the selected curve to the front of all curves.Move To Back: Moves the selected curve to the back of all curves.Move Forward: Moves the selected curve one step closer to the front.Move Backward: Moves the selected curve one step closer to the back.

26

Page 37: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Script menuTable 5 lists the commands of the Script menu and shortcut keys.

Extensions menuTable 6 lists the command of the Extensions menu and shortcut keys.

Help menuTable 7 lists the command of the Help menu and shortcut keys.

Table 5 Script menu commands

Command Icon Shortcut keys Description

Run Script Ctrl+R Opens the File Selection dialog box for a script file to be run. The default filter for the script file is *.cmd.

Record Creates a script file. Options are:Start: Opens the Script Name dialog box for selecting the output file and starts to record a sequence of operations.Add Pause: Adds a sleep command to the script. The length of the pause is selected from the submenu.Add Break: Adds a break command to the script.Stop: Stops the recording.

Continue Script Ctrl+C When a break command is encountered in a script, the execution is suspended and user input is possible. This option reactivates the execution of the script.

Abort Script Ctrl+N When script execution is suspended by a break command, this command skips the remaining part of the script.

Table 6 Extensions menu command

Command Icon Shortcut keys Description

Two-Port Networks Ctrl+T Opens the RF Parameter Extraction dialog box.

Table 7 Help menu command

Command Icon Shortcut keys Description

About Ctrl+B Provides version information.

27

Page 38: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Curve interpolation and operationAs a curve editor, Inspect offers different operations with curves. This requires an efficient and completeway to handle curves and to create datasets for curves resulting from operations with other curves.

CurvesA curve is defined as a set of two or more (x, y) points. Each curve has its own set of points calleddatasets. Inspect can display graphically the resulting (continuous) curve by plotting all dataset pointsand completing the curve with a graphical linear interpolation method.

Figure 13 Different curves, shown as lines, displayed in the plot area

Figure 13 shows three different curves, each defined by different datasets. In addition, Inspect offersoperations with curves, some of which result in a new curve or a scalar value. These operations includethe sum of two or more curves, integration, differentiation, and maximum value in y-axis or x-axis.

Limitation of x datasetOnly curve segments that have x-axis values monotonically increasing or decreasing can be used in aformula. Curves used in a formula are checked for monotonically increasing or decreasing values insidethe range defined by the current zoom area. This means formulas apply only to the currently displayed

28

Page 39: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

points. By defining appropriate zoom areas, it is possible to cut off curve segments that do not havemonotonically increasing or decreasing x values.

More than one curve in a formulaIf a formula includes more than one curve, Inspect interpolates all curves to a common x data axis. Thisis demonstrated in the following example.

The data points of curves A, B, and C are marked with circles, squares, and diamonds. The points in theresulting curve are marked with plus signs. The formula used is . The resulting curveincludes points of all three input curves:

Inspect creates an array of all x-coordinates of all curves that are used in a formula and interpolates thosecurves to obtain y values for each of the new x values added to each curve.

Handling datasets in formula processingThe following examples illustrate the dataset handling method that Inspect uses to work with more thanone curve in a formula (see Figure 14 on page 30).

Curve 1: Linear scale on X

Curve 2: Logarithmic scale on X

The combined set of x-coordinates needed to produce the resulting curve (the sum of both curves) is:

Resulting curve:

X 1 10 20 30 40 50 60 70

Y 1 100 400 900 1600 2500 3600 4900

X 1 2 4 8 16 32 64

Y 2 4 16 64 256 1024 4096

X 1 2 4 8 10 16 20 30 32 40 50 60 64

A⟨ ⟩ B⟨ ⟩ C⟨ ⟩+ +

Resulting Curve

Curve A

Curve B

Curve C

y x2=

y x2=

y 2x2=

29

Page 40: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Note that the last point of Curve 1 (x = 70) is not included, as no data is available beyond x = 64 inCurve 2.

For y values, interpolation is performed in Curve 1 and Curve 2 to fill the gaps and sum both curves.Therefore, y values for this resulting curve are:

Figure 14 Resulting plot showing curves

Dataset created for result curvesFor each curve created by a formula that involves more than one curve, Inspect generates a new dataset.This dataset is stored during the Inspect session in a special project called AuxProject. When the currentproject is saved in a file, the AuxProject is also saved; otherwise, this project with all its datasets is lostwhen Inspect is exited.

The datasets in AuxProject are handled in the same way as datasets from loaded data files.

Y 2 8 32 128 200 512 800 1800 2048 3200 5000 7200 8192

ResultingCurvey = 2x2

Curve 2y = x2

(log)

Curve 1y = x2

(lin)

30

Page 41: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Curve handling on interpolationInspect handles linear-scaled and logarithmic-scaled curves. Each curve is treated independently.Therefore, when working with two curves, one having a linear scale and the other having a logarithmicscale, Inspect:

Creates new points for the first curve for all x values of the second curve using a linear interpolationmethod.

Creates new points for the second curve for all x values of the first curve using a logarithmicinterpolation method.

Operates with the common set of points.

Determining scale (linear or logarithmic) of a curveDeciding how a curve is to be handled involves analyzing its slope, which is defined as:

(1)

First, the curve is treated as linear, and the minimum (MinSlope) and maximum (MaxSlope) slopes arecalculated. Second, a quotient is created:

(2)

The same calculation is performed by treating:

Τhe x-axis as logarithmically scaled.

Τhe y-axis as logarithmically scaled.

Both axes as logarithmically scaled.

Of these four values, the one closest to 1.0 indicates the best way of handling the curve.

Backward compatibilityOld versions of Inspect (before ISE TCAD Release 8.5) used radically different curve interpolation. Forbackward compatibility with those versions, options have been added so that users can obtain resultssimilar to those previously obtained:

The command-line option –oldInterpol reproduces the criteria that earlier versions of Inspect use forthe interpolation of a given set of curves. It is applied only to the x-axis, since the y-axis was alwayslinearly interpolated. It applies to all curve operations (see Command-line options on page 5).

xddy yi1 yi–

xi1 xi–-----------------=

MaxSlopeMinSlope------------------------

31

Page 42: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

In the Curve Attribute dialog box, it is possible to set which type of interpolation is applied to eachcurve. The default is Auto, which automatically analyses each dataset to determine whichinterpolation (linear or logarithmic) is best for each curve.

To select the interpolation method used in earlier Inspect versions: Edit > Preferences. ThePreferences dialog box is displayed (see Figure 11 on page 20). Select the Use Old Interpolationoption.

The following function has been added to the script language: cv_set_interpol {curveId axis type}(see Changing attributes on page 42).

Formulas and macros

Formula syntaxInspect recognizes two types of variable: curve and scalar. Mixed curve-curve and curve-scalaroperations are evaluated as follows:

1. The range of the result of a curve-curve operation is the intersection of the x range of the operands.

2. When one operand is a curve and the other a scalar, the respective operation is performed as a scalaroperation on each element of the curve operand.

The binary operators that can be used are +, –, *, /, and ^ (power operator).

Formula libraryThe formula library allows some basic calculations to be performed on one or more selected curves. Theresult can be a new curve or a scalar (see Table 8 on page 33). The following examples show how theformula library is used:

sin (<curve_1> + 10) The result is a new curve. Inspect adds 10 to the y value of each curve point fromcurve_1 and computes the sinus.

maxslope(<curve_1>) The result of this formula is a scalar, the maximum slope of curve_1.

Table 8, Table 9 on page 34, and Table 10 on page 34 list the functions that can be used in Inspectformulas. Table 8 lists functions that create a new curve by applying a mathematical transformation toeach element of the curve. These functions can also be applied to scalar values. Table 9 lists specialfunctions that either require more than one parameter or do not return a curve. Table 10 lists functionsthat manage or compute fast Fourier transformation and related operations.

32

Page 43: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Table 8 Standard mathematical functions

Function Input type Output type Comment

acos curve curve Returns the arc cosine. The returned angle [radian] is given in the range 0 (zero) to .

acosh curve curve Returns the inverse hyperbolic cosine. Curve values must be greater than or equal to 1.

asin curve curve Returns the arc sine. The returned angle [radian] is given in the range to .

asinh curve curve Returns the inverse hyperbolic sine.

atan curve curve Returns the arc tangent. The returned angle [radian] is given in the range to .

atanh curve curve Returns the inverse hyperbolic tangent. Curve values must be between –1 and 1 (excluding –1 and 1).

cbrt curve curve Returns the cube root.

ceil curve curve Rounds up each element to the smallest integer not less than itself.

cos curve curve Returns the cosine.

cosh curve curve Returns the hyperbolic cosine.

diff curve only curve Returns the first derivative of the curve.

erf curve curve Returns an error function of the curve values.

erfc curve curve Returns the complementary error function of the curve values.

exp curve curve Returns the number raised to the power of each curve value.

fabs curve curve Returns the absolute value.

floor curve curve Rounds down each element to the largest integer not greater than itself.

gamma curve curve Returns the Gamma function.

integr curve only curve Returns the integral of the curve.

j0 curve curve Returns the Bessel function of the first kind of order 0.

j1 curve curve Returns the Bessel function of the first kind of order 1.

lgamma curve curve Returns the natural logarithm of the absolute value of the Gamma function.

log curve curve Returns the natural logarithm of the given curve.

log10 curve curve Returns the base 10 logarithm of the given curve.

sin curve curve Returns the sine.

π

π 2⁄– π 2⁄

π 2⁄– π 2⁄

33

Page 44: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

sinh curve curve Returns the hyperbolic sine.

sqrt curve curve Returns the square root.

tan curve curve Returns the tangent.

tanh curve curve Returns the hyperbolic tangent.

y0 curve curve Returns the Bessel function of the second kind of order 0.

y1 curve curve Returns the Bessel function of the second kind of order 1.

Table 9 Special functions

Function Input type Output type Comment

pow curve, scalar curve Returns the curve raised to the power of the given scalar.

tangent curve, scalar curve Returns a curve that is tangent to the given curve, at the given x value.

vecmax curve scalar Maximum y value.

vecmin curve scalar Minimum y value.

vecvalx curve, scalar scalar x value at a given y.

vecvaly curve, scalar scalar y value at a given x.

veczero curve scalar x value at y = 0.

Table 10 Fast Fourier transformation (FFT) and related functions

Function Input type Output type Comment

cfftim curve_real, curve_imaginary

curve Returns the imaginary part of the FFT of the given complex curve.

cfftre curve_real, curve_imaginary

curve Returns the real part of the FFT of the given complex curve.

cifftim curve_real, curve_imaginary

curve Returns the imaginary part of the inverse FFT of the given complex curve.

cifftre curve_real, curve_imaginary

curve Returns the real part of the inverse FFT of the given complex curve.

fftabs curve_real, curve_imaginary

curve Returns a vector holding the absolute value of the given complex curve.

fftim curve curve Returns the imaginary part of the FFT of the given curve.

fftre curve curve Returns the real part of the FFT of the given curve.

Table 8 Standard mathematical functions

Function Input type Output type Comment

34

Page 45: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

NOTE A curve can be defined by one point only. In that case, the curve is treated as a scalar input.Some curves require as an input a curve only, that is, a curve that has at least two points.

MacrosMacros are useful for defining complex formulas. Inspect expands a macro by using the actualarguments specified in the call to the macro (see Figure 5 on page 13).

In a macro definition, the argument type must be specified. Types can be curve or scalar. Thisinformation is needed to expand the macro into the correct formula. The syntax for argument placeholderspecification is <c n> for curves and <s n> for scalars, where n is an integer value used to distinguishbetween different arguments; n must start with 1.

In the Inspect macro preprocessor, the macro prototype is not specified explicitly; it is determinedautomatically from the formula that defines the macro. The order of arguments is determined by theirfirst appearance in the formula and not by numbers in the argument placeholders.

Example 1

The macro ADD is defined as:

<c 1> + <c 2>

This macro adds two curves. The macro prototype looks like:

ADD(<CURVE>, <CURVE>)

A formal argument <CURVE> must be replaced by an actual curve name.

Example 2

The macro DIFFMULT is defined as:

diff(<c 1>) + (<s 3> * <c 2>)

ifftim curve curve Returns the imaginary part of the inverse FFT of the given curve.

ifftre curve curve Returns the real part of the inverse FFT of the given curve.

Table 10 Fast Fourier transformation (FFT) and related functions

Function Input type Output type Comment

35

Page 46: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

This macro takes the derivative of a curve <c 1> and adds to it a curve <c 2> multiplied by a scalar <s 3>.A call to this macro has the form:

DIFFMULT(<CURVE>, S, <CURVE>)

A formal argument <CURVE> must be replaced by an actual curve name and S must be replaced by anexpression that generates a scalar value.

Script language referencesIn addition to the graphical user interface, Inspect can be controlled by using a simple script language.For example, a script can load a project, draw curves, and perform some complex computations on thecurves. A script can be written manually or created automatically by recording actions performedinteractively through the graphical user interface.

NOTE Arguments in braces are optional arguments, which do not have to be provided. The first termin the braces is the name of the argument, and the second term is the default value of theargument. For example, a command that has been defined as command {arg def_value} can becalled as command (which is equivalent to command def_value) and also as command other_value.

The use of scripts is described in Working with scripts on page 19.

The script language of Inspect allows users to manipulate and display data without using the GUI. Thescript language is very useful for running complex calculations on datasets and displaying results, forexample:

Repeated manual actions can be recorded and run afterwards by simple script invocation.

Several computations using the formula library can be performed in one run.

Results can be automatically written to a file.

Inspect uses the tool command language (Tcl) for its script language. For a detailed explanation of thislanguage, visit http://www.tcl.tk.

Some commands have been added to Tcl (in the form of Tcl procedures) to perform application-specificactions. For more specific needs, users can create and add their own commands.

Most of the additional commands in Inspect return a status string. A return status not equal to 1 indicatesan error. If an error occurs, Inspect prints an error message to the standard error output and aborts theexecution of the script.

36

Page 47: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Reading and writing files

graph_load fileName

Input: fileName, the name of the file to load

Return: The status of the load operation

Action: Loads the given save file into Inspect. All currently loaded projects are deleted.

graph_write fileName

Input: fileName, the file to write to

Return: The status of the write operation

Action: Saves the current state to a file.

proj_load fileName

Input: fileName, the name of the file to load

Return: The status of the load operation

Action: Loads the data file fileName and creates a new project. The base name of the file is used as the project name (see Loading data files on page 6).

proj_unload projectName

Input: projectName, the name of the project to unload

Return: The status of the unload operation

Action: Deletes the project projectName and all the project-related curves.

proj_getDataSet projectName dataSetId

Input: projectName, the name of the projectdataSetId, the name of a dataset including its group name if applicable

Return: A list of all the values of the dataset

Action: If no dataset is found, the return value is an empty list. For example, the commands:set x_data [proj_getDataSet "tutorial_ins" "time"]set y_data [proj_getDataSet "tutorial_ins" "node_A data_1"]

set the variable x_data to the values of the dataset time and the variable y_data to the values of the dataset data_1 of node_A.

37

Page 48: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

proj_write projectName fileName

Input: projectName, the name of the projectfileName, the file name to use

Return: The status of the write operation

Action: Writes the given project to the given file. Only the DF–ISE format is supported.

proj_getNodeList projectName

Input: projectName, the name of the project

Return: A list of group names

Action: Returns a list of group names of the given project. If no groups have been found, an empty list is returned.

proj_getList

Input: None

Return: A list of all loaded projects

Action: Returns a list of all projects. If no projects are found, an empty list is returned.

cv_write type fileName curveList

Input: type, output format to use: one of the keywords plt, xgraph, or xmgrfileName, the file to writecurveList, a list of curve names

Return: The status of the write operation

Action: Writes (exports) the data of the specified curves into a file in the specified format.

fi_writeEps fileName

Input: fileName, the file to write

Return: The status of the write operation

Action: Writes the plot area to an EPS file. This command is not generated automatically when script recording is switched on.

38

Page 49: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Creating, displaying, and deleting curvesA dataset used for curve creation is identified by its data path, which consists of the project name, thegroup name when the dataset belongs to a group, and the dataset name.

fi_writePs fileName

Input: fileName, the file to write

Return: The status of the write operation

Action: Writes the plot area to a PostScript® file. This command is not generated automatically when script recording is switched on.

param_load fileName

Input: fileName, the file to load

Return: The status of the load operation

Action: Loads a parameter file.

param_write fileName

Input: fileName, the file to write to

Return: The status of the write operation

Action: Saves a parameter file.

cv_create curveName xDataPath yDataPath {axis y}

Input: curveName, a unique name for the new curvexDataPath, the x dataset data pathyDataPath, the y dataset data pathaxis, optional parameter specifying the y-axis to use; the default is y

Return: The status of the create operation

Action: Creates a curve with the given name using the specified datasets without displaying it. The datasets must be already loaded; otherwise, an error is returned. For example, the command:

cv_create mycurve "nmos_n7_des time" "nmos_n7_des Gate OuterVoltage"

creates a curve mycurve using the dataset time on the x-axis and the dataset OuterVoltage of the group Gate on the y-axis, with both datasets belonging to the project nmos_n7_des.

39

Page 50: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

cv_createDS curveName xDataPath yDataPath {axis y}

Same as cv_create except that the curve is displayed.

cv_createFromScript curveName xdata ydata {axis y}

Input: curveName, a unique name for the new curvexdata, a list of data to use for the x datasetydata, a list of data to use for the y datasetaxis, optional parameter specifying the axis to use; the default is y; the options are y or y2

Return: The status of the create operation

Action: Creates a curve using the given name and given data. If the number of values for x and y are not the same, the number of curve points is according to that of the smaller dataset. Curves created with this command are stored in AuxProject. For example, the command:

cv_createFromScript mycurve "0 1 2 3 4 5 6 7 8 9" "1 2 1 2 1 2 1 2 1 2"

creates the curve mycurve defined by the data given in the command line.

cv_createWithFormula curveName formula xmin xmax ymin ymax

Input: curveName, a unique name for the new curveformula, the formula or macroxmin, xmax, ymin, ymax, the range for which the formula is applied

Return: The status of the create operation

Action: Computes a new curve using the formula applied to the data of the argument curves within the given range. Setting the range to any nonnumeric value (for example, A) instructs Inspect to set no limit in the corresponding direction. For example, the command:

cv_createWithFormula f3 "<f1>+<f2>+10" A A A Acreates the curve f3 using the whole data range of curves f1 and f2.

cv_split curveName axis newCurveList

Input: curveName, the curve to splitaxis, the y-axis to map the new curves ontonewCurveList, the list of names for new curves

Return: The status of the operation

Action: This command splits the input curve into several curves at the points where the x values are nonmonotonic, that is, . The number of names for the new curves must match the actual number of created curves; otherwise, an error is returned. The purpose of this function is similar to the one achieved by using the Suppress Backtrace option (see Table 4 on page 26). The difference is that this function creates a set of new curves. With Suppress Backtrace selected, the backtrace lines are suppressed only on the plot.

x i 1+[ ] x i[ ]<

40

Page 51: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

cv_split_disc curveName axis newCurveList

Input: curveName, the curve to splitaxis, the y-axis to map the new curves ontonewCurveList, the list of names for new curves

Return: The status of the operation

Action: This command splits the input curve into several curves at the points where there are discontinuities, that is, and . The number of names for the new curves must match the actual number of created curves; otherwise, an error is returned.

cv_logScale curveName newCurveName {axis x}cv_log10Scale curveName newCurveName {axis x}

Input: curveName, the curve to transformnewCurveName, the name of the new curveaxis, the axis in which the curve is scaled; the default is x

Return: The status of the create operation

Action: Creates a new curve where all the values on a given axis are transformed to a log (log10) scale.

cv_display curveName {axis y}

Input: curveName, the curve to be displayedaxis, optional parameter specifying the y-axis to use; the default is y

Return: None

Action: Displays a curve using the specified y-axis.

cv_delete curveName

Input: curveName, the curve to be deleted

Return: The status of the delete operation

Action: This command deletes the given curve.

x i 1+[ ]==x i[ ] y i 1+[ ] != y i[ ]

41

Page 52: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Changing attributesThis section describes the functions that change the attributes of the title, axes, curves, and legend.

gb_setpreferences type val

Input: type, preference option that will be modifiedval, new value for the corresponding option

Return: None

Action: Sets new values to preference options. The following options can be modified:precision: Defines the precision used to display coordinate values in the status line; any integer can be set.old_interpolation: Defines whether the old interpolation is used for computing curves.1: Enables old interpolation.0: Disables old interpolation.

gr_setTitleAttr title {fontSize 14} {just center}

Input: title, title textfontSize, title font size; the default is 14just, title justification (center, left, or right); the default is center

Return: None

Action: Sets the title attributes.

gr_mappedAxis axis yesno

Input: axis, a keyword (y or y2) specifying a y-axisyesno, a Boolean value (True or False) specifying the axis visibility

Return: None

Action: Changes the visibility of an axis.

42

Page 53: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

gr_setAxisAttr axis title tfont min max color width font angle div scale {tcolor}

Input: axis, a keyword (X, Y, or Y2) specifying an axistitle, the axis titletfont, the font size of the axis titlemin, max, minimal and maximal values of the axiscolor, the color of the axiswidth, the width of the axis linefont, the font size of the tick labelangle, the angle at which the tick labels are drawndiv, the number of secondary ticks between the main ticksscale, specifies linear (lin) or logarithmic (log) display of the axistcolor, the color of the axis title

Return: None

Action: Sets the axis attributes.

cv_setCurveAttr curveName legend color style width shape size outColor outWidth fillColor

Input: curveName, the curve namelegend, the curve legendcolor, the color of the curve linestyle, the drawing style of the curve line (solid, dashed, dotted, "long dashed", or "long dotted")width, the width of the curve lineshape, a keyword for the marker shape (none, square, circle, diamond, plus, cross, splus, scross, or triangle)size, the marker sizeoutColor, the color of the marker outlineoutWidth, the width of the marker outlinefillColor, the fill-in color of the marker

Return: None

Action: Sets curve drawing attributes.

cv_set_interpol curveId axis type

Input: curveId, the curve identificationaxis, the axis on which the interpolation is set (X or Y)type, the interpolation method to set (AUTO, LIN, or LOG)

Return: None

Action: Sets the interpolation method to be applied to each particular dataset of the curve.

43

Page 54: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

cv_lineColor curveName color

Input: curveName, the curve namecolor, the color of the curve line

Return: None

Action: Sets the color of the curve line.

cv_lineStyle curveName style

Input: curveName, the curve namestyle, the drawing style of the curve line (solid, dashed, dotted, "long dashed", or "long dotted")

Return: None

Action: Sets the drawing style of the curve line.

cv_renameCurve curveName newName

Input: curveName, the curve namenewName, the new name for the curve

Return: None

Action: Renames a curve.

gr_createLabel label coordX coordY fontStr color

Input: label, the label textcoordX, x-coordinatecoordY, y-coordinatefontStr, the label fontcolor, the label color

Return: Label ID

Action: Creates a label in the plot area.

gr_deleteLabel labelId

Input: labelId, the label ID

Return: None

Action: Deletes a label from the plot area.

44

Page 55: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

gr_setLegendAttr {showFlag true} {fontName helvetica} {fontSize 10} {fontStyle {}} {backColor white} {foreColor black} {frameColor black} {frameWidth 1} {framePos right} {frameAnchor n}

Input: showFlag, the Boolean indicator of legend appearancefontName, the legend font name; the default is helveticafontSize, the legend font size; the default is 10fontStyle, the legend font style; the available attributes are bold, italic, underline, and overstrike; the default is an empty list {}backColor, the legend background color; the default is whiteforeColor, the legend foreground color; the default is blackframeColor, the legend frame color; the default is blackframeWidth, the legend frame width; the default is 1framePos, the legend frame position; the possible values are left, right, top, bottom, plot, and free; the default is rightframeAnchor, the legend frame anchor; the possible values are n, e, s, w, ne, se, sw, and nw; the default is n

Return: None

Action: Sets the attributes of the legend.

gr_setGeneralAttr {showFrame true} {axesTight true} {backColor white}

Input: showFrame, the Boolean indicator of plot frame appearanceaxesTight, the Boolean indicator of the tightness of axesbackColor, the plot background color; the default is white

Return: None

Action: Sets the general attributes of the plot.

gr_setGridAttr {showGrid false} {gridAlign left} {minorTicks false} {gridStyle "short dashed"}{gridColor black} {gridWidth 1}

Input: showGrid, the Boolean indicator of grid appearancegridAlign, the grid alignment; the available attributes are left and right; the default is leftminorTicks, the Boolean indicator of the appearance of minor ticksgridStyle, the attribute of the grid style; the available attributes are solid, dashed, dotted, "short dashed", "long dashed", "long dotted", and "dot-dashed"; default is "short dashed"gridColor, the color of the grid lines; the default is blackgridWidth, the thickness of the grid lines; the default is 1

Return: None

Action: Sets the grid attributes of the plot.

45

Page 56: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Accessing curve data

cv_printVals curveName

Input: curveName, the curve name

Return: A list of the printed values

Action: Writes the x and y data of a curve to the standard output.

cv_getVals curveName

Input: curveName, the curve name

Return: A list of the x and y data

Action: This command returns a list of the x and y data. The x and y data can be assessed by using:

set xy [cv_getVals "f1"]set x [lindex $xy 0]set y [lindex $xy 1]

After this, the variables x and y hold the x and y datasets, respectively.

cv_getValsX curveName

Input: curveName, the curve name

Return: A list with the x data

Action: This command returns a list that holds the x dataset.

cv_getValsY curveName

Input: curveName, the curve name

Return: A list with the y data

Action: This command returns a list that holds the y dataset.

cv_getXaxis curveName

Input: curveName, the curve name

Return: A list with the project name and the dataset ID of the x dataset

Action: The project name and the dataset ID can be extracted by using:set answer [cv_getXaxis "myCurve"]set projectName [lindex $answer 0]set dataSetId [lindex $answer 1]

46

Page 57: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Transforming curve dataThese functions change the way in which the curve data is displayed without changing the curvedatasets.

cv_getYaxis curveName

Input: curveName, the curve name

Return: A list with the project name and the dataset ID of the y dataset

Action: The project name and the dataset ID can be extracted as for cv_getXaxis curveName.

cv_delPts curveName indexList

Input: curveName, the curve nameindexList, a list of indices of curve points

Return: The status of the delete operation

Action: Deletes the points in the indexList from the set of points being displayed.

cv_inv curveName axis

Input: curveName, the curve nameaxis, an axis specifier

Return: The status of the operation

Action: Reflects a curve about the specified axis. This command has the same effect as the Reflect X and Reflect Y options of the Transform command of the Curve menu (see Table 4 on page 26).

cv_abs curveName axis

Input: curveName, the curve nameaxis, an axis specifier

Return: The status of the operation

Action: Replaces negative values of the x or y dataset by their absolute values, depending on the axis argument. This command has the same effect as the Abs X and Abs Y options of the Transform command of the Curve menu (see Table 4).

47

Page 58: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Support for the Manual Examples Library

cv_reset curveName

Input: curveName, the curve name

Return: The status of the operation

Action: Restores the original appearance of the curve after a transformation. This command has the same effect as the Restore Data command of the Curve menu (see Table 4).

gr_formatAxis axis format

Input: axis, axis to be formattedformat, the options are default, fixed, scientific, engineering

Return: None

Action: Changes the format of the displayed axis.

gr_precision axis prec

Input: axis, axis to be formattedprec, numeric precision to be set for the axis

Return: None

Action: Changes the precision of a given axis.

gr_setLegend status

Input: status, 1 if the legend is to be activated; otherwise, 0

Return: None

Action: Activates or deactivates the legend in the plot area.

gr_setLegendPos x y

Input: x, new x-coordinate in the plot for the legendy, new y-coordinate in the plot for the legend

Return: None

Action: Changes the position of the displayed legend in the plot area.

48

Page 59: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Computing

Script control commands

cv_getZero curveName xmin xmax ymin ymax

Input: curveName, the curve namexmin, xmax, ymin, ymax, the range for which the command applies

Return: The x value where the curve intersects with the x-axis

Action: Computes the x-coordinate of the point where the curve intersects the x-axis. If the curve does not cross the x-axis, an empty string is returned.

cv_compute formula xmin xmax ymin ymax

Input: formula, the string with the formula to evaluatexmin, xmax, ymin, ymax, the range for which the formula is applied

Return: A scalar computation result

Action: Computes a scalar using the formula.

macro_define macroName macroDef

Input: macroName, the name of the macromacroDef, the macro definition

Return: The status of the operation

Action: A macro is defined, which can be used later for computations.

script_break

Input: None

Return: None

Action: This command suspends the execution of a script and passes control to the GUI. The script execution can be resumed by selecting the Continue Script command from the Script menu (see Table 5 on page 27).

49

Page 60: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Extracting parametersThe following commands are used to extract standard parameters of semiconductor devices (which canalso be extracted using the regular formula library). Some arguments of the commands have defaultvalues that are used when an argument is not specified.

script_sleep sec

Input: sec, time in seconds

Return: None

Action: Stops the execution of a script for a given number of seconds.

script_exit

Input: None

Return: None

Action: Stops the execution of a script and exits Inspect.

f_showInternalCurves axis

Input: axis, axis to use; the default is left

Return: None

Action: Displays the internally used curves created by the procedures of this section.

f_hideInternalCurves

Input: None

Return: None

Action: Does not display the internally used curves created by the procedures of this section.

f_VT curveName xmin xmax ymin ymax

Input: curveName, the curve namexmin, xmax, ymin, ymax, the range for computing the result; default values correspond to the full curve range

Return: The threshold voltage value or f_error in the case of an error

50

Page 61: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Action: Computes the threshold voltage [V] of the given curve. The formula used to compute the threshold voltage is:

VT = intercept(maxslope(curve))Example 1: This statement computes VT using default values for the range:

set vt1 [f_VT idvgs]

Example 2: This statement computes VT using xmin = 0.1 xmax = 0.3 and default values for the y range:

set vt2 [f_VT idvgs 0.1 0.3]

f_VT1 curveName xmin xmax ymin ymax

Input: curveName, the curve namexmin, xmax, ymin, ymax, the range for computing the result; default values correspond to the full curve range

Return: The threshold voltage value or f_error in the case of an error

Action: Computes the threshold voltage [V] of the given curve.Vth is typically extracted at Id = 0.1 μA/μm.

f_VT2 curveName

Input: curveName, the curve name

Return: The threshold voltage as a scalar or f_error in the case of an error

Action: Computes the threshold voltage [V] of the given curve. The method used to extract VT is the intersection of maxslope and minslope lines in the log of the given curve.

f_gm curveName xmin xmax ymin ymax

Input: curveName, the curve used to calculate gmxmin, xmax, ymin, ymax, the range for computing the result; the default values correspond to the full curve range

Return: The value of gm [A/V] of the curve or f_error in the case of an error

Action: Computes the maximum of transconductance for a given IdVg curve.

f_KP gm VDS

Input: gm, transconductance valueVDS, the drain source voltage; the default value is 0.1

Return: KP [A/V2] value or f_error in the case of an error

Action: Computes the transconductance parameter.

f_VT curveName xmin xmax ymin ymax

51

Page 62: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

f_TetaG VT gm idvgs vgsvgs xmin xmax ymin ymax

Input: VT, threshold voltage valuegm, transconductance valueidvgs, a curve IdVg

vgsvgs, a curve VgVg

xmin, xmax, ymin, ymax, the range for computing the result; the default values correspond to the full curve range

Return: The value of TetaG [V–1] or f_error in the case of an error

Action: Computes the mobility modulation TetaG by using the formula:TetaG = gm(VGSlow)/ID(VGShigh) - 1/(VGShigh - VT)

f_Gamma VT1 VT2 VB1 VB2 const

Input: VT1, VT2, two threshold voltagesVB1, VB2, two different source–substrate voltagesconst, where is the Fermi level potential; the default value is 0.8 V

Return: Gamma [V1/2] as a scalar or f_error in the case of an error

Action: Computes the body-effect parameter at two different source–substrate voltages.

f_Rout curveName xmin xmax ymin ymax

Input: curveName, IdVd curve at the fixed gate–source voltagexmin, xmax, ymin, ymax, the range for computing the result; default values correspond to the full curve range

Return: The value of Rout [ ] or f_error in the case of an error

Action: Computes the output resistance in the saturation region.

f_IDSS curveName xmin xmax ymin ymax

Input: curveName, IdVd curve at the fixed gate–source voltagexmin, xmax, ymin, ymax, the range for computing the result; default values correspond to the full curve range

Return: The saturation current value or f_error in the case of an error

Action: Computes the saturation current.

2ϕF ϕF

52

Page 63: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Two-port network RF extraction

IntroductionThis tool is a graphical extension that allows users to extract RF parameters from a two-port network.Functionality includes plot of conductances and inductances, conversion and extraction of RFparameters, and plotting using frequency or bias as the x-axis. This tool can be launched using theExtensions menu or Ctrl+T (see Extensions menu on page 27).

Tool sectionsWhen the RF Parameter Extraction dialog box is displayed, users can perform several operationsusing options provided in six tabs: General, Preferences, Convert Data, RF Extraction, Plot, andUtilities (see Figure 15 on page 54). Changes are applied only after clicking either the OK or Applybutton.

General tab

This is the first step of every plot or RF extraction. You must enter the name of the plot file to beprocessed. The system automatically sets the port and bias names from the input file, but they can beedited. You can select to plot admittances and conductances. The system can plot using frequency or biasas the x-axis. You can select to plot either a single frequency point (or bias point) or a frequency range(or bias range). If you select to use a single point, only one curve is displayed on each plot. If you selecta range, a family of curves is displayed on each plot.

f_Ron curveName xmin xmax ymin ymax

Input: curveName, IdVd curve at the fixed gate–source voltagexmin, xmax, ymin, ymax, the range for computing the result; default values correspond to the full curve range

Return: The value of Ron [ ] or f_error in the case of an error

Action: Computes the on-state resistance in the linear region.

53

Page 64: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Figure 15 General tab of RF Parameter Extraction dialog box after selecting a plot file

Preferences tab

In the Preferences tab, general options can be set: Device width scaling factor (default value is 1) orCharacteristic impedance (default value is ).50 Ω

54

Page 65: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Figure 16 Preferences tab showing default value of each option

Convert Data tab

In this tab, Sentaurus Device data can be converted to either Y-, H-, Z-, or S-parameters. Only oneparameter conversion is possible at a time. After the conversion, plotting of the real part, imaginary part,magnitude, or phase of the small-signal parameters can be selected. For each element, you can select todisplay it on either the left Y axis or right Y axis. For the magnitude, you can select one of the followingscales of the plot:

Linear

10 based dB scale (10 log 10)

20 based dB scale (20 log 10)

Exporting the data to an IC-CAP file format is performed by selecting this option and specifying a filename.

In the lower part of the tab, three options are available:

New When the OK or Apply button is clicked, all selected curves on the current pageare created and displayed. In addition, if there are already curves with the samenames as those being created, these old curves are deleted.

Add When the OK or Apply button is clicked, all selected curves on the current pageare created and displayed.

None No action is performed.

55

Page 66: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Figure 17 shows the Convert Data tab, requesting a conversion to Y parameters and a plot of real andimaginary parts after deleting all real and imaginary curves from the plot area.

Figure 17 Convert Data tab

RF Extraction tab

Several extractions of RF parameters can be performed:

fmax extraction

fmax is extracted and can be plotted using three different methods. A previous conversion to Yparameters is required or select Y Parameters on the Convert Data tab. There are three extractionmethods:

• Unit Gain Method: A direct search for the MUG = 1 point.

• Extrapolation Method: Ideally, the MUG as a function of frequency is flat at low frequenciesand falls off at a 20 dB/decade slope. The script first looks for the point where the gain hasdropped by a certain amount (default is 10 dB) below the first value of the curve. Then, thescript computes from this point the position of the unit gain point by assuming that the 20 dB/decade slope is fully established.

• Fast Method: If users know that the 20 dB/decade slope is established at a certain frequencyf20dB for all values of the control bias, a much faster extraction method can be used. For thismethod, the small-signal simulation in Sentaurus Device is performed at the frequency f20dBonly. The extraction is performed by extrapolating the gain at f20dB to the unit gain pointassuming a 20 dB/decade slope.

56

Page 67: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

ft extraction

ft is extracted and plotted using three different methods. A previous conversion to H parameters isrequired or select H Parameters on the Convert Data tab. There are three extraction methods:

• Unit Gain Method: A direct search for the |h21| = 1 point is performed.

• Extrapolation Method: Ideally, the |h21| as a function of frequency is flat at low frequenciesand falls off at a 20 dB/decade slope above a certain threshold frequency. This extractionmethod relies on this. The script first looks for the point where the gain has dropped by a certainamount (default is 10 dB) below the first value of the curve. Then, the script computes theposition of the unit gain point by assuming that the 20 dB/decade slope is fully established.

• Fast Method: If users know that the 20 dB/decade slope is established at a certain frequencyf20dB for all values of the control bias, a much faster extraction method can be used. For thismethod, the small-signal simulation in Sentaurus Device is performed at the frequency f20dBonly. The extraction is performed by extrapolating the gain at f20dB to the unit gain pointassuming a 20 dB/decade slope.

Mason’s Unilateral Gain (MUG)

Mason’s unilateral gain is plotted. A previous conversion to Z parameters is required or select ZParameters on the Convert Data tab.

Maximum Stable/Available Gain

The maximum stable and maximum available gain (MSG/MAG) and the Rollett stability factors areplotted. A previous conversion to Y parameters is required or select Y Parameters on the ConvertData tab.

In the lower part of the tab, three options are available as noted in Convert Data tab on page 55.

57

Page 68: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Figure 18 shows the RF Extraction tab requesting a plot of fmax using the unit gain method andextrapolation method after deleting old fmax curves from the plot area.

Figure 18 RF Extraction tab

Plot tab

A polar plot or Smith chart of the parameter data can be performed. If a Smith chart is selected, a newparameter conversion should be performed. A polar plot uses the conversion performed in the ConvertData tab. On a polar plot or Smith chart, the frequency and bias values of each point can be obtained byclicking them in the plot area.

Smith ChartA simple Smith chart of a given parameter is plotted:

• List of R: List of radii used in the background.

• List of X: List of straight lines plotted in the background.

Polar PlotA polar plot of a small-signal parameter is created:

• List of R: List of radii used in the background.

• List of Phi: List of polar straight lines in the background.

58

Page 69: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Figure 19 shows the Plot tab requesting a conversion to S-parameters and a plot of a Smith chart afterdeleting all old Smith charts in the plot area.

Figure 19 Plot tab

Utilities tab

There is only one option on this tab:

Print Current Bias PointIf this option is selected, a list of the bias points used is written to the standard output.

ScriptingAll actions that can be performed using RF parameter extraction can be performed using scripting.

Loading small-signal output file of Sentaurus Device

The small-signal output file of Sentaurus Device is loaded by using:

proj_load <ACDataFileRootName>

The argument <ACDataFileRootName> takes the name of the small-signal output file, for example,n3_ac_des.plt.

59

Page 70: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Making small-signal output data accessible to extraction script

After loading the small-signal output file of Sentaurus Device into Inspect, the data is made accessibleto the plug-in scripts with:

tpnx_load <ACDataFileRootName> <DisplayOpt> v(<BiasPort>) \frequency <Port1> <Port2>

The argument <ACDataFileRootName> takes the root name of the small-signal output file, for example,n3_ac_des. The argument <DisplayOpt> can take the value nodisplay or any other string. For nodisplay,plotting the family of conductance and capacitance curves is suppressed. If any other string is specified,the conductances are plotted (with all backtraces) to the y-axis and the capacitances to the y2-axis. Thescript assumes a two-port network–like configuration such as in Figure 20.

Figure 20 Two-port network schematic

The arguments <Port1> and <Port2> take the names of the corresponding port names in the circuit, forexample, 1 and 2, or b and c. Furthermore, the script assumes that the small-signal output data containsone or more frequency sweeps with a voltage bias as the control variable. The frequency and bias ‘swept’can consist of only a single point. The argument <BiasPort> takes the name of the port in the circuit towhich the control bias sweep is applied, for example, 1 or b. For example:

tpnx_load n3_ac_des nodisplay v(1) frequency 1 2

Global scaling of small-signal parameters

Some small-signal parameters and quantities derived from them scale with the width of the device (orthe number of parallel operating devices). The effective device width can be set in Sentaurus Devicewith the keyword AreaFactor in the Physics section. Alternatively, the scaling is performed by using thescripts of the plug-in:

tpnx_DevWidth <ScalingFactor>

The default value of <ScalingFactor> is 1.

NOTE The device width must be set before any call to tpnx_ac2y, tpnx_ac2z, tpnx_ac2h, and tpnx_ac2s.

Two-PortNetwork

Port1 Port2

60

Page 71: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Global setting of characteristic impedance

The S-parameters depend on the characteristic impedance used for a reference. It is customary to use50 Ω . However, this default setting can be changed with:

tpnx_characteristic_impedance <CharacteristicImpedance>

The default value of <CharacteristicImpedance> is 50.

Converting Sentaurus Device small-signal data to Y, Z, H, and S parameters

After the small-signal data of Sentaurus Device is made accessible (see Making small-signal output dataaccessible to extraction script on page 60) to the script, the small-signal data can be converted to Y-parameters with:

tpnx_ac2y <DisplayOpt> frequency <Port1> <Port2> <ICCAPFile>

where the argument <DisplayOpt> takes the values nodisplay, y, or y2. For nodisplay, plotting the family ofcurves is suppressed. This allows users to selectively plot curves of interest (see Global variables forcontrolling the plotting of curves on page 62). For y and y2, the family of curves in plotted (with allbacktraces) to the respective axis. The arguments <Port1> and <Port2> take the names of thecorresponding ports in the circuit.

If the optional argument <ICCAPFile> is present, the Y-parameters are exported. The value of the optionalargument is taken as the file name.

The conversion into the other parameters is accomplished by the routines tpnx_ac2z, tpnx_ac2h, andtpnx_ac2s. These routine take the same arguments as tpnx_ac2y and operate in a similar fashion, forexample:

tpnx_ac2y nodisplay frequency 1 2 n9Y-ICCAP

The conversions are performed as follows:

First, the conductance [A] and capacitance [C] matrices are converted into the Y matrix accordingto:

(3)

where is the imaginary unit and is multiplied by the frequency.

The conversion formulas from the Y to the Z matrix are:

, , , and (4)

2 2×

Y A jωC+=

j ω 2π

z11y22Dy-------= z12

y– 12Dy

----------= z21y– 21Dy

----------= z22y11Dy-------=

61

Page 72: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

The conversion formulas from the Y to the H matrix are:

, , , and (5)

with (6)

The conversion formulas from the Y to the S matrix are:

, , , (7)

with , where is the characteristic impedance (see Global setting of characteristicimpedance on page 61) and:

(8)

Global variables for controlling the plotting of curves

The plotting of curves can be made using frequency or bias as the x-axis; this decision is made at thetime of calling the plot routines. If you select plotting using frequency as the x-axis, a family of curvesas a function of frequency for a range of biases is selected by setting the global variables tpnx_bias_lowand tpnx_bias_high. If these variables are set, only the curves for which the control bias is betweentpnx_bias_low and tpnx_bias_high are displayed, for example:

tpnx_bias_low 0.78tpnx_bias_high 0.92

The default value of tpnx_bias_low is -1e99 and the default value of tpnx_bias_high is 1e99.

A specific bias point is selected by setting the global variable tpnx_biasPointNo. If it is set to a value Nother than -1, only the frequency sweep corresponding to the N-th control bias point is displayed, forexample:

tpnx_biasPointNo 9

The default value of tpnx_biasPointNo is –1.

NOTE A value other than –1 overwrites the range selection with tpnx_bias_low and tpnx_bias_high.

The actual value of the control bias can be selected by using tpnx_GetBias, for example:

set Vb [tpnx_GetBias]puts 'Control bias = $Vb'

h111

y11-------= h12

y– 12y11

----------= h21y21y11-------= h22

Dyy11-------=

Dy y11y22 y12y21–=

s111 y11–( ) 1 y22+( ) y12y21+

Ny-----------------------------------------------------------------= s12

2– y12Ny

--------------= s212– y21Ny

--------------= s221 y22–( ) 1 y11+( ) y12y21+

Ny-----------------------------------------------------------------=

yij Zoyij= Zo

Ny 1 y11+( ) 1 y22+( ) y12y21–=

62

Page 73: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

If you select plotting using bias as the x-axis, the functions tpnx_frequency_low, tpnx_frequency_high, andtpnx_frequencyPointNo must be used. These functions perform the same actions and have the same defaultvalues as those used to plot frequency.

Plotting real and imaginary parts of small-signal parameters

The real and imaginary parts of any small-signal parameter is plotted as a function of frequency or biasfor a single point or a range (see Global variables for controlling the plotting of curves on page 62) with:

tpnx_plot_par <RealDisplayOpt> <ImaginaryDisplayOpt> <ParName> <Xaxis> <Port1> <Port2> <PostFix>

where the arguments <RealDisplayOpt> and <ImaginaryDisplayOpt> take the value nodisplay, y, or y2. Fornodisplay, the plotting of curves is suppressed. For y and y2, the curves are plotted to the selected axis.

The type of the small-signal parameter is declared with the argument <ParName>, and it takes the value y,z, h, or s. The <Xaxis> argument take the value frequency or bias.

The arguments <Port1> and <Port2> are used to identify the small-signal parameter matrix element ofinterest. The optional argument <PostFix> is used to append a unique identifier to the names of the createdcurves. The default value is 0.

Example

The command for plotting h21 to the y-axis is:

tpnx_plot_par y y h frequency 2 1 myjl;j

This command creates curve names such as h_r(2,1)my(0.82) and h_i(2,1)my(0.82), where the firstcharacter denotes the small-signal parameter type, r and i are the real and imaginary parts, (2,1) denotesthe selected matrix element, my is the selected post-fix, and (0.82) gives the control bias for this curve.

NOTE Running the appropriate conversion routine (that is, tpnx_ac2y, tpnx_ac2z, tpnx_ac2h, ortpnx_ac2s) is a prerequisite.

Plotting magnitude and phase of small-signal parameters

The magnitude or phase part of any small-signal parameter is plotted as a function of frequency or biasfor a single point or a range (see Global variables for controlling the plotting of curves on page 62) with:

tpnx_plot_dB <MagDisplayOpt> <PhaseDisplayOpt> <ParName> <Xaxis> <Port1> <Port2> \<dBSelect> <PostFix>

where the arguments <MagDisplayOpt> and <PhaseDisplayOpt> take the value nodisplay, y, or y2. Fornodisplay, the plotting of curves is suppressed. For y or y2, the magnitude curve is plotted to the y-axisand the phase curve is plotted to the y2-axis. The <Xaxis> argument takes the value frequency or bias.

63

Page 74: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

The type of the small-signal parameter is declared with the argument <ParName>, and it takes the value y,z, h, or s.

The arguments <Port1> and <Port2> are used to identify the small-signal parameter matrix element ofinterest. The argument <dBSelect> takes the values 0, 10, or 20. For 0, magnitude is plotted linearly, whilefor 10, a 10 based dB scale (10 log10), and for 20 (default), a 20 based dB scale (20 log10) is used. Theoptional argument <PostFix> is used to append a unique identifier to the names of the created curves. Thedefault value is 0.

Example

The command for plotting h21 to the y-axis is:

tpnx_plot_dB y y h frequency 2 1 20 my

This command creates curve names such as h_dB(2,1)my(0.82) and h_phase(2,1)my(0.82) where the firstcharacter denotes the small-signal parameter type, dB denotes the magnitude curve, phase denotes thephase curve, (2,1) denotes the selected matrix element, my is the selected post-fix, and (0.82) gives thecontrol bias for this curve.

The plotting of the phase can be suppressed by setting the global variable:

tpnx_plotPhase false

By default, it is set to true.

NOTE Running the appropriate conversion routine (that is, tpnx_ac2y, tpnx_ac2z, tpnx_ac2h, ortpnx_ac2s) is a prerequisite.

Polar plots of small-signal parameters

A polar plot of any small-signal parameter is created for a single point or a range of bias or frequency(see Global variables for controlling the plotting of curves on page 62) with:

tpnx_polarplot <Xaxis> <ParName> <Port1> <Port2> <Name>

The <Xaxis> argument takes the value frequency or bias.

The curve displays the imaginary part as a function of the real part for all frequencies in the sweep. Thetype of the small-signal parameter is declared with the argument <ParName>, and it takes the value y, z, h,or s.

The arguments <Port1> and <Port2> are used to identify the small-signal parameter matrix element ofinterest. The optional argument <Name> is used to name the curves. The default value is S.

64

Page 75: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Exampletpnx_polarplot frequency s 1 1 myS

This command creates curve names such as myS(1,1)(0.925), where (1,1) denotes the selected matrixelement, myS is the selected curve name, and (0.925) gives the control bias for this curve.

NOTE Running the appropriate conversion routine (that is, tpnx_ac2y, tpnx_ac2z, tpnx_ac2h, ortpnx_ac2s) is a prerequisite.

Smith charts

A polar plot of a given parameter is turned into a simple Smith chart by creating the typical Smith chartbackground with:

tpnx_createSmithBack

This command can only be used if the data files smithchart1.PLT and smithchart2.PLT are located in theworking directory.

Mason’s unilateral gain

Mason’s unilateral gain (MUG) is plotted as a function of frequency or bias (see Global variables forcontrolling the plotting of curves) with:

tpnx_y2MUG <DisplayOpt> <Xaxis> <Port1> <Port2> <PostFix>

where the <Xaxis> argument takes the value frequency or bias.

The argument <DisplayOpt> takes the value nodisplay, y, or y2. For nodisplay, the plotting of curves issuppressed. Otherwise, MUG is plotted to the selected axis.

The arguments <Port1> and <Port2> take the names of the corresponding port names in the circuit. Theoptional argument <PostFix> is used to append a unique identifier to the names of the created curves. Thedefault value is 0.

Internally, MUG is computed from the Z-parameters by using:

(9)

Example

The command for plotting MUG to the y-axis is:

tpnx_y2MUG y frequency 1 2 my

MUGz21 z12– 2

4 ℜ z11( ) ℜ z22( )⋅ ℜ z12( ) ℜ z21( )⋅–[ ]---------------------------------------------------------------------------------------=

65

Page 76: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

This command creates curve names such as MUGmy(0.82), where my is the selected post-fix and (0.82)gives the control bias for this curve.

NOTE Running the conversion routine tpnx_ac2y is a prerequisite.

Maximum stable gain and available gain, and Rollett stability factors

The maximum stable gain and maximum available gain (MSG/MAG) and the Rollett stability factors(K) are plotted as a function of frequency or bias for a single point or a range (see Global variables forcontrolling the plotting of curves on page 62) with:

tpnx_y2MSG <DisplayOpt> <Xaxis> <Port1> <Port2> <PostFix>

where the <Xaxis> argument takes the value frequency or bias.

The argument <DisplayOpt> takes the value nodisplay or any other string. For nodisplay, the plotting ofcurves is suppressed. Otherwise, the MSG and MAG curves are plotted to the y-axis, and K is plotted tothe y2-axis.

The arguments <Port1> and <Port2> take the names of the corresponding port names in the circuit. Theoptional argument <PostFix> is used to append a unique identifier to the names of the created curves. Thedefault value is 0.

Internally, MSG, MAG, and the Rollett stability factors are computed from the S-parameters using:

(10)

(11)

(12)

(13)

(For , MAG is set to MSG.)

Exampletpnx_y2MAG y frequency 1 2 my

This command creates curve names such as MSGmy(0.82), MAGmy(0.82), and Kmy(0.82), where my is theselected post-fix and (0.82) gives the control bias for this curve.

K1 s11

2 s222 Δs 2+––

2 s12 s21⋅----------------------------------------------------------=

Δs s11 s22⋅ s12 s21⋅–=

MSG s21s12-------=

MAG s21s12------- K K2 1––( )⋅=

K 1<

66

Page 77: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Related variables

The plotting of K is suppressed by setting:

tpnx_plotK false

The default is true.

The plotting of MSG and MAG is suppressed by setting:

tpnx_plotMSG false

The default is true.

NOTE Running the conversion routine tpnx_ac2y is a prerequisite.

Extracting fmax

fmax is extracted and plotted as a function of the control biases with:

tpnx_y2MUG <DisplayOpt> <Xaxis> <Port1> <Port2> <PostFix>\ fextract

The extraction is performed by the same routine used for plotting Mason’s unilateral gain (MUG) (seeMason’s unilateral gain on page 65). The only difference is the additional argument fextract. fmax isdefined at the unit gain point of MUG (MUG = 1 = 0 dB).

The unit gain point is extracted using two different methods: (a) a direct search for the MUG = 1 pointand (b) ideally, MUG as a function of frequency is flat at low frequencies and falls off at a 20 dB/decadeslope above a certain threshold frequency. The second extraction method relies on this.

The script first looks for the point where the gain has dropped by a certain amount (default is 10 dB)below the first value of the curve. Then, the script computes from this point the position of the unit gainpoint by assuming that the 20 dB/decade slope is fully established.

The results from both extraction methods are displayed. (See Discussion of different cut-off frequencyextraction methods on page 70 for a discussion of the advantages and disadvantages of the twomethods.)

Example

The command for plotting the fmax to the y-axis is:

tpnx_y2MUG y frequency 1 2 my fextract

This command creates curve names such as fmax_MUGONEmy for method (a) and fmax_MUGXdBmy formethod (b).

67

Page 78: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

Related variables

The plotting of results from method (a) is suppressed by setting:

tpnx_plotONE false

The default is true.

The plotting of results from method (b) is suppressed by setting:

tpnx_plotXdB false

The default is true.

As previously mentioned, method (b) looks for the point where MUG dropped by a certain amount. Thisamount is set by:

tpnx_setdBPoint <amount>

where <amount> is given in dB. The default is 10.

NOTE Running the conversion routine tpnx_ac2y is a prerequisite.

NOTE The mentioned extraction methods assume that, for each value of the control bias, a fullfrequency sweep is performed. Ideally, this sweep should start at a frequency where the gainis flat (low frequency regime) and end beyond the unit gain point. If the frequency sweep doesnot go beyond the unit gain point, method (a) returns a zero for fmax. If the frequency sweepdoes not start in the flat region, method (b) still returns a (nonzero) value. However, usersmust ensure that, at the selected dB point, the 20 dB/decade slope is established.

Fast alternative extraction method

If users know that the 20 dB/decade slope is established at a certain frequency f20db for all values of thecontrol bias, a much faster extraction method (method (c)) can be used. For this method, the small-signalsimulation in Sentaurus Device is performed at the frequency f20dB only.

The extraction is performed by extrapolating the gain at f20dB to the unit gain point assuming a slope. This is accomplished by setting:

tpnx_setdBPoint 0tpnx_plotONE false

Otherwise, the extraction is performed as previously discussed.

20 dB/decade

68

Page 79: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Extracting ftft is extracted and plotted as a function of the control biases with:

tpnx_plot_dB <DisplayOpt> h <Xaxis> <Port1> <Port2> \ <dBSelect> <PostFix> fextract <FextractDisplayOpt>

The extraction is performed by the same routine used for plotting the magnitude and phase of aparameter (see Plotting magnitude and phase of small-signal parameters on page 63). The onlydifference is the additional argument fextract. ft is defined as the unit gain point of h21 (|h21| = 1 = 0dB). The unit gain point is extracted using two different methods: (a) a direct search for the |h21| = 1point and (b) ideally, the |h21| as a function of frequency is flat at low frequencies and falls off at a 20 dB/decade slope above a certain threshold frequency. The second extraction method relies on this.

The script first looks for the point where the gain has dropped by a certain amount (default is 10 dB)below the first value of the curve. Then, the script computes the position of the unit gain point byassuming that the 20 dB/decade slope is fully established. The results from both extraction methods aredisplayed. (See Discussion of different cut-off frequency extraction methods on page 70 for a discussionof the advantages and disadvantages of the two methods.)

Example

The command for plotting the fmax to the y-axis is:

tpnx_plot_dB y h frequency 2 1 20 my fextract y

This command creates curve names such as f_hONEmy for method (a) and f_hXdBmy for method (b).

Related variables

The plotting of results from method (a) is suppressed by setting:

tpnx_plotONE false

The default is true.

The plotting of results from method (b) is suppressed by setting:

tpnx_plotXdB false

The default is true.

As previously mentioned, method (b) looks for the point where |h21| dropped by a certain amount. Thisamount is set by:

tpnx_setdBPoint <amount>

where <amount> is given in dB. The default is 10.

69

Page 80: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

NOTE Running the conversion routine tpnx_ac2h is a prerequisite. This routine can be used to extractthe unit point of any small-signal parameter.

NOTE The mentioned extraction methods assume that for each value of the control bias, a fullfrequency sweep is performed. Ideally, this sweep should start at a frequency where the gainis flat (low frequency regime) and end beyond the unit gain point. If the frequency sweep doesnot go beyond the unit gain point, method (a) returns a zero for ft. If the frequency sweep doesnot start in the flat region, method (b) still returns a (nonzero) value. However, users mustensure that, at the selected dB point, the 20 dB/decade slope is established.

Fast alternative extraction method

If users know that the 20 dB/decade slope is established at a certain frequency f20db for all values of thecontrol bias, a much faster extraction method (method (c)) can be used. For this method, the small-signalsimulation in Sentaurus Device is performed at the frequency f20dB only. The extraction is performed byextrapolating the gain at f20dB to the unit gain point assuming a 20 dB/decade slope. This is accomplishedby setting:

tpnx_setdBPoint 0tpnx_plotONE false

Otherwise, the extraction is performed as previously discussed.

Discussion of different cut-off frequency extraction methods

Unfortunately, there is no single definition of ft and fmax that is appropriate under all circumstances.Technically, method (a), the direct search for the unit gain point, should be the most appropriatedefinition. However, at high frequencies, additional parasitic elements may become dominate and alterthe 20 dB/decade slope near the unit gain point. Further, in experiments, it is sometimes difficult to tracethe gain curve to high enough frequencies to see the unit gain point directly. Therefore, extrapolation ofexperimental data to the unit gain point is common. In this case, the experiment may not ‘see’ the alteredslope due to the parasitics (also some parasitics may not be included in the simulation). For a comparisonwith experimental results, therefore, method (b) may be better.

The transition between the flat, low-frequency region of the gain curves to the 20 dB/decade slope athigher frequencies can be wide. Sometimes, a clear 20 dB/decade slope is never reached. In this case,method (b) may give wrong results. (Often, the results can be improved by adjusting tpnx_setdBPoint.)

As a general rule, the extracted cut-off frequencies are most likely reliable if both methods (a) and (b)give the same or similar results. If the results are very different, most likely, the form of the gain curveprevents a meaningful automatic extraction of the cut-off frequency. In this case, it is suggested to lookat the gain curves themselves (see Plotting magnitude and phase of small-signal parameters on page 63and Mason’s unilateral gain on page 65) and decide what is the appropriate definition of the cut-offfrequencies.

70

Page 81: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

The simulation of a full frequency sweep in Sentaurus Device can be time consuming, especially forlarge structures and if many equations are solved. If it is known beforehand that at a given frequency thegain curves fall off at a 20 dB/decade slope, it is sufficient to simulate the small-signal response at thissingle frequency only and to apply extraction method (c).

NOTE This method does not permit a double-check as to whether the assumption of a 20 dB/decadeslope is justified. Further, the optimal frequency for method (c) may depend of the controlbias and may be different for MUG and h21. Use this method with caution.

Figure 21 Different extraction methods and circumstances under which they may return inappropriate results

Figure 21 shows how the different methods work and under which circumstances they may giveinappropriate results.

Method (a) searches directly for the unit gain point and may give inappropriate results if the gain curvesdeviate from the 20 dB/decade slope near the unit gain point.

Method (b) looks for the point where the gain dropped by 10 dB and extrapolates it to the unit gain pointassuming a 20 dB/decade slope. It may give inappropriate results if the 20 dB/decade slope is not fullyestablished at this point. (Readjust tpnx_setdBPoint.)

Method (c) extrapolates a single frequency point (for example, 1 GHz) to the unit gain point assuminga 20 dB/decade slope and may give inappropriate results if the assumption of a 20 dB/decade slope isunjustified.

Extracting fK=1

At the frequency where the Rollett stability parameter K is 1 (the border between the stable andpotentially unstable region), fK=1 is extracted and plotted as a function of the control biases with:

tpnx_y2MSG <DisplayOpt> <Xaxis> <Port1> <Port2> <PostFix> \ fextract

Gai

n (d

B)

Frequency

0 dB Line

20 db/decade

(a)

Method: (b)

10 dB

Gai

n (d

B)

Frequency

0 dB Line

20 db/decade

(c)Method:

1 G

Hz

Not Simulated

Simulated Point

71

Page 82: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

The extraction is performed by the same routine used for plotting maximum stable gain (MSG) (seeMaximum stable gain and available gain, and Rollett stability factors on page 66). The only differenceis the additional argument fextract. fK=1 is defined as first point where K = 1. The search starts at thelowest frequency of the sweep.

Example

The command for plotting fK=1 to the y-axis is:

tpnx_y2MSG y frequency 1 2 my fextract

This command creates curve names such as fKONEmy.

NOTE Sometimes, there is more than one point where K = 1. To extract a second, high-frequencysolution, set the starting point of the search appropriately with: tpnx_startfq <StartFrequency>The default is 0.

Various utilities

The available utilities are:

List of control biases

Print a list of control biases to the shell by using: tpnx_list_Bias.

List of frequencies

Print a list of frequencies to the shell by using: tpnx_list_fq.

Accessing a small-signal parameter at a given control bias and frequency

The matrix of any small-signal parameter at a given frequency is accessed with:

tpnx_GetParsAtPoint <ParName> <Port1> <Port2> <frequency>

The type of the small-signal parameter is declared with the argument <ParName> and it takes the valuey, z, h, or s. The arguments <Port1> and <Port2> take the names of the corresponding port names inthe circuit. An example is:

set ZList [tpnx_GetParsAtPoint z 1 2 1e9]set z11 [lindex $ZList 0]set z12 [lindex $ZList 1]set z21 [lindex $ZList 2]set z22 [lindex $ZList 3]

NOTE Use tpnx_biasPointNo (see Global variables for controlling the plotting of curves on page 62)to select the control bias of interest or ensure that the small-signal output of Sentaurus Devicecontains only a single control bias.

2 2×

72

Page 83: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

List of last created curves

Some commands of the script create more than one curve. To customize the color and line style ofthese curves, it is useful to have access to a list of all curves created by the last command. This isaccomplished by the command: tpnx_CurveDisplayList

This example illustrates how to customize the display of a set of curves with tpnx_CurveDisplayList:

set CURVES [tpnx_CurveDisplayList]set COLORS [list red blue green orange magenta purple black\ maroon brown tomato violet turquoise pink yellow khaki azure]set NCOLORS [llength $COLORS]

set index 0foreach curve $CURVES { set color [lindex $COLORS $index] incr index cv_setCurveAttr $curve "$curve" \ $color solid 1 circle 3 defcolor 1 defcolor if { $index == $NCOLORS } {set index 0}}

LibrariesThe Inspect script language is complemented by libraries that provide additional functionality forspecific topics, such as curve comparison. Libraries can be loaded as required by using the command:

All functions of a particular library have a common prefix (for example, iccap for functions provided bythe IC-CAP parameter extraction library).

Adding a site libraryAll libraries are stored in the directory ${STROOT_LIB}/inspectlib. In this directory, a file called lib_indexstores an index of all available libraries.

To add a library, the administrator (a person with write permissions to the TCAD distribution directory$STROOT) copies the library to the directory $STROOT_LIB/inspectlib and enters text into the index thatdescribes the new library. The following fields must be provided:

<library_name> <library_prefix> <library_filename>

load_library libraryName

Input: libraryName, the library identifier

Return: None

Action: Makes available all functions provided by the library.

73

Page 84: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

where:

<library_name> is the name that is used by users to call this library.

<library_prefix> is the prefix used for all functions.

<library_filename> is the name of the file where all functions are implemented.

Functionality of IC-CAP model parameter extraction libraryThe commands provided by this library are used to export device simulation results to the IntegratedCircuit Characterization and Analysis Program (IC-CAP) model extraction tool. These commands allowfor the creation of files that can be later imported by IC-CAP.

Library functions

Header information

The header information headerInfo is a list formed by three sublists:

userInput Contains information on variables that cannot be swept in a traditional IC-CAPsetup.

iccapInput Contains information on variables that can be swept in an IC-CAP setup.

output Contains information on output variables that can be recognized in an IC-CAPsetup.

A detailed description of the header section is presented in the literature [1]. Users can use the followingexamples as guides:

userInput: {}

In this case, no user sweeps are considered.

iccap_Write fileName headerInfo DATA

Input: fileName, file nameheaderInfo, header informationDATA, array of curve data

Return: None

Action: Exports data to a file using IC-CAP data management file data format [1].

74

Page 85: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

iccapInput: {{vg V G GROUND {LIST 1 26 0.0...2.5}{vb V D GROUND {LIN 2 -0.1 -0.5 3}

{vd V S GROUND {CON 0.0}}

In this case, there are three IC-CAP input variables. The first element is the name of the inputvariable, the second element is the mode, the third and fourth elements are the names of the positiveand negative nodes for the corresponding input variable, and the fifth element is a list that describesthe sweep. The first element of the sweep information is the type. There are five sweep types: LIN,LIST, CON, LOG, and SYNC.

The sweep information for the first input variable (vg) is a list where:

• LIST indicates that the all sweep values are explicitly defined.

• 1 is the sweep order (1 is the innermost or fastest varying sweep).

• 26 is the number of values.

• 0.0...2.5 indicate all values that the particular variable can take.

The sweep information for the second input variable (vb) is a list where:

• LIN indicates that the sweep values are a set of values defined in a linear scale.

• 2 is the sweep order.

• -0.1 is the start value.

• -0.5 is the end value.

• 3 is the number of values.

The sweep information for the third input variable (vd) is a list where:

• CON indicates that there is only one value for this variable.

• 0.0 is a constant value.

output is {{id I D GROUND}}

In this case, there is only one output variable, which is the drain current. The first element is thename of the output variable, the second element is the mode, and the third and fourth elements arethe names of the positive and negative nodes for the corresponding output variable.

Array data

The array data must contain, at least, the following information:

data(<input tuples>,<output>)

There is one array cell for each pair formed by a tuple of input variable values and an output variable.The <input tuples> order is inverse to the sweep order.

75

Page 86: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

For example, using the example in Header information on page 74, the array data contains the followinginformation:

data(<vb>,<vg>,id)

In this case, each cell stores the drain current (id) for a particular combination of substrate voltage value(<vb>) and gate voltage value (<vg>). For example, the tuple data(-0.1,1.0,id) stores the drain current forvb = –0.1 V and vg = 1.0 V.

Curve comparison libraryThe commands provided by this library are used to compare two curves by computing the squaredifference between the two curves within a given domain.

Library functions

cvcmp_CompareTwoCurves curve1 curve2 windowX use_log n

Input: curve1, curve2, curves to be comparedwindowX, window in the x-axisuse_log, true if a logarithmic scale is usedn, base name for the internal curves

Return: The square difference between two curves

Action: Computes the square difference between two curves within a given domain (window). This difference can be computed using either a linear or logarithmic scale.

cvcmp_DeltaTwoCurves exp_file sim_file minX maxX use_log name

Input: exp_file, sim_file, files where the two curves are storedminX, maxX, window in the x-axisuse_log, true if a logarithmic scale is usedname, name of the column of the Family Table of Sentaurus Workbench where the computed difference is stored

Return: None

Action: Writes the square difference between two curves within a given domain (window) to the standard output. This difference can be computed using either a linear or logarithmic scale. Both curves are read from files. This command uses the command ft_scalar to export the computed difference to the Family Table of Sentaurus Workbench.

76

Page 87: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT CHAPTER 3 REFERENCE GUIDE

Restrictions in Inspect

diff(…formula…) and integr(…formula…)The diff() and integr() operators require a ‘curve only’ argument, which can be defined as a curve thatcontains more than one point, since a curve that contains only one point is treated as a scalar. When aformula is used as an argument for these operators, the parser cannot always decide if the argument curvefor the diff() or integr() operators will have more than one point; therefore, an error message isgenerated.

For example, to obtain proper results, diff(log10(...formula...)) must be performed in two steps. First,create the curve log10(...formula...), and then apply the diff() operator to the resulting curve.

vecvalx(…formula…) and vecvaly(…formula…)It is advisable to compute the curve defined by ...formula... before applying the vecvalx() or vecvaly()operators. Additionally, if the curve has an exponential behavior, better results are obtained if the curveis transformed to a logarithmic scale before applying these operators.

For example, suppose you want to compute the value:

vecvalx(diff(<c1>), 1e-7)

and the curve defined by diff(<c1>) has an exponential behavior. In this case, to obtain more preciseresults, create a curve <c2>, which will be equal to log(diff(<c1>)), and then compute the desired value:

vecvalx(<c2>, log(1e-7))

No support for right y-axesThe Inspector dialog box works only for the x-axis and left y-axis.

77

Page 88: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTCHAPTER 3 REFERENCE GUIDE

78

Page 89: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECT BIBLIOGRAPHY

Inspect

Bibliography

[1] IC-CAP Data Management File Format Specification: Final IC-CAP 5.0 file specification,E. Arnold and M. Peroolmal (eds.), HP-EESOP document archive, March, 1997.

79

Page 90: Inspect - Lawrence Berkeley National Laboratoryjmbussat/Physics290E/Fall-2006/TCAD...Courier font Identifies text that is displayed on the screen or that the user must type. It identifies

INSPECTBIBLIOGRAPHY

80