Utmost IV. User s Manual

Size: px
Start display at page:

Download "Utmost IV. User s Manual"

Transcription

1 Utmost IV User s Manual Silvaco, Inc Patrick Henry Drive, Bldg. 2 May 12, 2015 Santa Clara, CA Phone: (408) Web:

2 Notice The information contained in this document is subject to change without notice. Silvaco, Inc. MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE. Silvaco, Inc. shall not be held liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material. This document contains proprietary information, which is protected by copyright laws of the United States. All rights are reserved. No part of this document may be photocopied, reproduced, or translated into another language without the prior written consent of Silvaco, Inc. AccuCell, AccuCore, Athena, Athena 1D, Atlas, Blaze, C-Interpreter, Catalyst AD, Catalyst DA, Clarity RLC, Clever, Clever Interconnect, Custom IC CAD, DeckBuild, DevEdit, DevEdit 3D, Device 3D, DRC Assist, Elite, Exact, Expert, Expert C++, Expert 200, ExpertViews, Ferro, Gateway, Gateway 200, Giga, Giga 3D, Guardian, Guardian DRC, Guardian LVS, Guardian NET, Harmony, Hipex, Hipex C, Hipex NET, Hipex RC, HyperFault, Interconnect Modeling, IWorkBench, Laser, LED, LED 3D, Lisa, Luminous, Luminous 3D, Magnetic, Magnetic 3D, MaskViews, MC Etch & Depo, MC Device, MC Implant, Mercury, MixedMode, MixedMode XL, MultiCore, Noise, OLED, Optolith, Organic Display, Organic Solar, OTFT, Quantum, Quantum 3D, Quest, RealTime DRC, REM 2D, REM 3D, SEdit, SMovie, S-Pisces, SSuprem 3, SSuprem 4, SDDL, SFLM, SIPC, SiC, Silvaco, Silvaco Management Console, SMAN, Silvaco Relational Database, Silos, Simulation Standard, SmartSpice, SmartSpice 200, SmartSpice API, SmartSpice Debugger, SmartSpice Embedded, SmartSpice Interpreter, SmartSpice Optimizer, SmartSpice RadHard, SmartSpice Reliability, SmartSpice Rubberband, SmartSpice RF, SmartView, SolverLib, Spayn, SpiceServer, Spider, Stellar, TCAD Driven CAD, TCAD Omni, TCAD Omni Utility, TCAD & EDA Omni Utility, TFT, TFT 3D, Thermal 3D, TonyPlot, TonyPlot 3D, TurboLint, Universal Token, Universal Utility Token, Utmost III, Utmost III Bipolar, Utmost III Diode, Utmost III GaAs, Utmost III HBT, Utmost III JFET, Utmost III MOS, Utmost III MultiCore, Utmost III SOI, Utmost III TFT, Utmost III VBIC, Utmost IV, Utmost IV Acquisition Module, Utmost IV Model Check Module, Utmost IV Optimization Module, Utmost IV Script Module, VCSEL, Verilog-A, Victory, Victory Cell, Victory Device, Victory Device Single Event Effects, Victory Process, Victory Process Advanced Diffusion & Oxidation, Victory Process Monte Carlo Implant, Victory Process Physical Etch & Deposit, Victory Stress, Virtual Wafer Fab, VWF, VWF Automation Tools, VWF Interactive Tools, and Vyper are trademarks of Silvaco, Inc. All other trademarks mentioned in this manual are the property of their respective owners. Copyright , Silvaco, Inc. 2 Utmost IV User s Manual

3 How to Read this Manual Style Conventions Font Style/Convention Example This represents a list of items or terms. Bullet A Bullet B Bullet C Courier Times Roman Bold New Century Schoolbook Italics Note: This represents a set of directions to perform an action. This represents a sequence of menu options and GUI buttons to perform an action. This represents the commands, parameters, and variables syntax. This represents the menu options and buttons in the GUI. This represents the variables of equations. This represents the additional important information. To open a door: 1. Unlock the door by inserting the key into keyhole. 2. Turn key counter-clockwise. 3. Pull out the key from the keyhole. 4. Grab the doorknob and turn clockwise and pull. File Open HAPPY BIRTHDAY File x + y = 1 Note: Make sure you save often when working on a manual. 3 Utmost IV User s Manual

4 Table of Contents Chapter 1 Introduction Chapter 2 Getting Started Installing the Firebird Database Server Configuring Firewall for Firebird Database Server Creating a Database Upgrading your Utmost IV Database Version Connecting to a Database from Utmost IV Setting Up the SmartView Viewer for Utmost IV Chapter 3 Databases and Projects Opening a Database Closing a Database Logging Into and Out of a Database Changing the User Password for a Database Creating a New Project Opening a Project Modifying the Project Permissions Importing a Project Exporting a Project Reading Project Parts from Existing Projects Chapter 4 Datasets Dataset Keys Editing a Dataset Modifying the Dataset Permissions Deleting Datasets Importing Datasets Exporting Datasets Writing a Dataset out to CSV Format Chapter 5 Managing the Database Deleting Projects and Datasets Changing the Owner of Projects and Datasets Changing the Permissions of Projects and Datasets Unlocking Projects and Datasets Chapter 6 Acquisition Module Utmost IV User s Manual

5 Table of Contents 6.1 Defining Temperatures Defining the Wafer Map Defining the Header, Batch and Wafer Information Defining the Die Selection Defining the Group Selection Defining Devices Defining Extractions Defining Variables Defining Hardware Editing the Controller Editing an Instrument Editing the Scanner Instrument Editing the Noise Instrument Defining Connections Manual Ground Connections The Model Library The Device Subset The Measurement Setup Defining the Node Names Defining a Sweep Defining a Constant Defining the Mirror Defining the Iterator Defining the Iteratee Sweep Defining a Pulse Defining a Target Defining the LCR Source Defining the LCR Target Defining a Port Defining the Noise Target Defining a Function Defining a Plot Common Device Nodes The Extraction Setup Acquiring Data using the Measurement Sequence Selecting Measurement Mode or Simulation Mode Combining the Device Subset and the Measurement Setup Combining the Device Subset and the Extraction Setup Running the Measurement Sequence Capacitance Calibration and De-embedding Generating a Script Version of the Measurement Sequence The Measured Datasets Chapter 7 Optimization Module Creating and Managing Searches Searching for Datasets in the Database Sorting Datasets Displaying Dataset Plots in the Viewer Utmost IV User s Manual

6 Table of Contents Displaying Plots from Datasets with Multiple Sweeps Displaying Additional Information about the Dataset in the Viewer Defining the Netlist for Simulation Compact Model SPICE Netlist Macro Model Netlist Reading from an External Model Library Exporting the Netlist The Model Library Creating a New Model Card Copying a Model Column Changing a Model Card Duplicating a Model Card Deleting a Model Card Clearing the Model Library Importing Model Cards Importing Model Params Exporting Model Cards Exporting Model Params Exporting Model Library to Spayn Inserting Model Parameters Renaming a Model Parameter Editing Model Parameters Deleting Model Parameters Marking and Unmarking Model Parameters Using an Expression to Define a Model Parameter Defining Extractions Defining Variables Comparing Measured and Simulated Data Error Calculation Linear and Logarithmic Data Data Floor Effect of Boxes on Error Calculation Outlier Removal Displaying the Error on the Viewer Using Rubberband to Explore and Modify Model Parameters Selecting a Parameter to Rubberband Modifying Parameter Values Saving the Parameter Modifications De-selecting a Parameter Reverting to the Last Saved Model Parameters Optimizing Model Parameters from Rubberband Optimizing the Model Parameters from the Viewer The Dataset Subset The Optimization Setup Choosing an Optimizer Defining the Optimization Target Data Choosing the Model Parameters to Optimize The Extraction Setup Automation Using the Optimization Sequence Combining the Dataset Subset and Extraction Setup Utmost IV User s Manual

7 Table of Contents Combining the Dataset Subset and Optimization Setup Displaying the Data for the Optimization Step Running the Optimization Sequence Changing the Current Position in the Sequence Inserting a Pause in the Sequence Using Rubberband from the Optimization Sequence Generating a Script Version of the Optimization Sequence Reporting Automated Report Document Generation using the Sequence Automatic Plot File Generation using the Sequence Chapter 8 Developing your own SPICE Model using Verilog-A Writing the Verilog-A Module Code The Module Definition The Electrical Connections The Parameters Variables for internal Use The Analog Code Section Adding Capacitance into a Verilog-A Model Adding a Verilog-A Model Card into the Model Library Adding a Verilog-A Element into the Netlist Rubberbanding your Verilog-A Model with SmartSpice Combining Verilog-A Models and other SPICE Models Chapter 9 Script Module Running a Script Directly Running a Script using the Command Line Interface Automatically Creating a Script from a Project Silvaco.Utmost4 Object Commands getdatafromsimulation makeattribute makedevice makedevicenode makeextraction makemodellibrary makenetlist makevariable opencurrentworkingdirectory opendatabase opendirectory optimize releaselicenses system writetofile Database Object Commands readdatasets readproject Utmost IV User s Manual

8 Table of Contents savedatasets saveproject Directory Object Commands capimportfromtcadlogfile dcimportfromtcadlogfile getpath readdatasets readproject savedatasets saveproject sparimportfromtcadlogfile DataSet Object Commands addattribute addfunction addplot exporttotcadlogfile extract getattrval getkeyval getmeasdata getsimdata getsweeplen remove setkeys simulate writecsvfile Project Object Commands getconnection getdatasubset getdatasubsetnames getdevice getdevices getdevicenames getdevicesubset getdevicesubsetnames getextraction getextractions getextractionnames gethardware getmeassetup getmeassetupnames getmodellibrary getnetlist getnetlistofdevice getoptimsetup getoptimsetupnames getsearch getsearchnames getsimulationcol gettemperatures Utmost IV User s Manual

9 Table of Contents gettype getvariable getvariables getvariablenames getwafermap setmodellibrary setvariables Search Object Commands appendsearch Netlist Object Commands getsearch ModelLibrary Object Commands addcard addparameter deletecard deleteparameter exportmodelcard exportmodelcardtossf generatebinnedmodel getcardnames getcardtype getparamnames getvalue hascard hasparameter importmodelcards importmodelparams renamecard setvalue Extraction Object Commands getname Variable Object Commands getexpr () getname () DataSubset Object Commands apply OptimSetup Object Commands getoptimizertype Hardware Object Commands measure measurewithopen measurewithshort measurewithopenandshort probercontact proberinit proberhome proberload probermove probernocontact scannerclear Utmost IV User s Manual

10 Table of Contents scannerconnect thermalset verify WaferMap Object Commands getbatchname getdienames getwafernames DeviceSubset Object Commands apply Device Object Commands getgroupname getname DeviceNode Object Commands getname getpins Attribute Object Commands getname getvalue Chapter 10 Model Check Module Setting Up a Simulation The Model Library Creating a Characteristic Plot Creating an Extraction Plot Running the Model Check Sequence Exploring Your Device Model Appendix A Optimization Algorithms A.1 Least Squares Levenberg-Marquardt Optimization Algorithm (LM) A.2 Hooke-Jeeves Optimization Algorithm (HJ) A.3 Simulated Annealing Optimization Algorithm (SA) A.4 Parallel Tempering Optimization Algorithm (PT) A.5 Genetic Optimization Algorithm (GA) A.6 Differential Evolution Optimization Algorithm (DE) A.7 Hybrid Optimization Algorithm (HY) Appendix B Converting Data from ICCAP, BSIMPro, ProPlus, and Atlas B.1 Adding Missing Key Information B.2 The Utmost IV Data File Header B.3 Adding an Attribute B.4 Adding a Function B.5 Adding a Plot B.6 Converting ICCAP data with 3 Sweeps into Multiple 2 Sweep Datasets B.7 Correcting Polarity in BSIMPro Data B.8 Automating the Conversion of Multiple Files Utmost IV User s Manual

11 Chapter 1 Introduction

12 Introduction Utmost IV provides an easy to use, database-driven environment for the measurement of semiconductor devices and the generation of accurate high quality SPICE models and macromodels for analog, mixed-signal, and RF applications. Important features of Utmost IV include the following. Support for all technologies and types of device. Fully integrated macro-model sub-circuit support of any complexity. Family of advanced optimization algorithms for both local and global optimization. A relational database to help organize your work. Fully flexible measurement setup conditions. Fully automated measurement sequence. Open instrument drivers written in JavaScript scripting language can be modified or copied by customers who want to write their own. Easy to import measured data from other sources. High speed interface to SmartSpice simulator for fast and accurate results. Parallel SmartSpice gives even faster simulation for multi-cpu computers. Support for other simulators (HSPICE, SPECTRE, and ELDO). Unlimited multi-target optimization and rubberband optimization. Optimization sequence for automated model extraction. Direct parameter extraction can be included within the sequence. Script module JavaScript language provides easy automation and customization. Utmost IV consists of four modules as shown in the figure below. Figure 1-1 Utmost IV Architecture 13 Utmost IV User s Manual

13 Introduction Acquistion Module This module is used to measure physical devices directly, using various types of electrical test equipment. These measured results (referred to as "datasets") are stored directly in the database. It is also possible to generate datasets from TCAD simulations or from other SPICE simulations. This is particularly useful when comparing two SPICE models, or when converting from one SPICE model type to another. Optimization Module This module is used to extract and optimize SPICE model parameters to obtain an accurate fit between simulated and measured device characteristics. The datasets stored in the database are used as targets for the model extraction. Compact, macro (subcircuit), and verilog models can be generated for all device types. Script Module This module provides a scripting interface, which allows you to write your own custom JavaScript based scripts to measure, extract, optimize, and store the results. Model Check Module This module provides a simple tool to explore and test your existing MOSFET device models. A simple GUI interface allows you to display characteristic curves or plot extracted characteristics, such as threshold voltage versus device length. This module can be used without the need to create and interface to the database, making it ideal for quickly checking your legacy models. Each of these modules is described in this manual. 14 Utmost IV User s Manual

14 Chapter 2 Getting Started

15 Installing the Firebird Database Server Getting Started Utmost IV uses a relational database to organize and store your work. Before getting started and actually using Utmost IV, a database server must be started and a new database created as described below. For full details of the SRDB database management application, please refer to the SRDB User's Manual. 2.1 Installing the Firebird Database Server Linux Once the software package is installed into the local installation directory, the Firebird database server can be configured and the server can be started. To do this, log into the server machine as the root user and type the following command: 'firebird -install' Windows Run the installation executable and follow the on screen instructions. When you install the software, you should also select and install the firebird database server at the same time as shown below. Figure 2-1 Installing the Firebird Database Server on Windows 16 Utmost IV User s Manual

16 Configuring Firewall for Firebird Database Server Getting Started 2.2 Configuring Firewall for Firebird Database Server If you are having problems connecting to your firebird database server from another machine on your network, your firewall may be blocking communications. Firebird uses port 3050 to communicate and this port must not be blocked by your firewall. If you are having difficulties connecting to the database server, you should consult your system administrator. 2.3 Creating a Database To create a database you must use the SRDB utility. On Linux, you can run this utility by typing 'srdb' in the terminal window. On Windows, you can double-click on the SRDB shortcut to run the utility. Now, connect to the database server using the following command: 'login <servername>' This will prompt you for the database server password, which is initially set to 'simucad'. Use the following command to create a database. 'create <my_database_name> ut4 <my_database_location>' Note: Silvaco recommends that the database location exists locally on the database server machine. This will reduce network traffic and speed up database access. You will now need to create some Utmost IV users as follows. First connect to the newly created database and then add as many users as required. 'connect <my_database_name>' 'create user <user_name> <password>' In order to use the database manager tool described in Chapter 5 Managing the Database, you will need to set the superuser password as follows. 'password superuser <superuser_password>' When you are finished, simply enter the command 'quit' to exit the SRDB application. Now the software is installed, a database server is running, and a database and user are created. You are now ready to use the Utmost IV software. 17 Utmost IV User s Manual

17 Upgrading your Utmost IV Database Version Getting Started 2.4 Upgrading your Utmost IV Database Version When upgrading to a more recent version of Utmost IV, it will sometimes be necessary to upgrade the version of your Utmost IV database. This is done using the SRDB utility. On Linux, you can run this utility by typing 'srdb' in the terminal window. On Windows, you can double-click on the SRDB shortcut to run the utility. Now, connect to the database server using the following command: 'login <servername>' This will prompt you for the database server password, which is initially set to 'simucad'. Before you upgrade your database, we strongly recommend that you backup your database using the following command. 'backup <my_database_name> <backup_file_name>' Once you have backed up your database, you are ready to upgrade your database to a later version using the following command. 'upgrade <my_database_name> ut4 <old_version_number> <new_version_number>' Note: Once you have upgraded the database to a higher version number, you will not be able to connect to it using older versions of Utmost IV. When you are finished, simply enter the command 'quit' to exit the SRDB application. 18 Utmost IV User s Manual

18 Connecting to a Database from Utmost IV Getting Started 2.5 Connecting to a Database from Utmost IV To run Utmost IV on Linux, type 'utmost4' into the command terminal. To run Utmost IV on Windows, simply double click the Utmost IV shortcut in the Shortcuts folder. When Utmost IV is run for the first time, an empty Utmost IV main window will open as shown below. Figure 2-2 Utmost IV Main Window when Run for the First Time The first thing we would like to do is to gain access to the database that was created earlier. To do this, select File Open Database or click on the toolbar icon to open the database. Once you do this, a dialog will appear and you should select the database server and the database you wish to open. Figure 2-3 Open Database Dialog Once you select the database you are interested in, you will have to login to this database using a valid database user and password. 19 Utmost IV User s Manual

19 Connecting to a Database from Utmost IV Getting Started Figure 2-4 Database Login Dialog Once you have successfully logged into the database, you will see the new database available in the Utmost IV main window as shown below. Figure 2-5 Utmost IV Main Window after Logging into New Database If you are not the first user of the database, there may already be projects in the database and the main window will appear similar to the figure shown below. Figure 2-6 Utmost IV Main Window after Logging into Database with Existing Projects 20 Utmost IV User s Manual

20 Setting Up the SmartView Viewer for Utmost IV Getting Started Note: If you are having problems connecting to your firebird database server from another machine on your network, see Section 2.2 Configuring Firewall for Firebird Database Server. 2.6 Setting Up the SmartView Viewer for Utmost IV If you have not used SmartView before and display data from Utmost IV, the plot will be similar to the one shown below. Figure 2-7 A Plot Displayed Using the Default SmartView Preferences It is recommended that you set the SmartView preferences to those suitable for Utmost IV. To do this, select Edit Preferences from the SmartView menu. In the Preferences dialog, go to the Manage Preferences section and change your preferences to Utmost IV default preferences. For further details, please refer to the SmartView User s Manual. Note: You should exit SmartView and restart for all of the new settings to be active. 21 Utmost IV User s Manual

21 Chapter 3 Databases and Projects

22 Databases and Projects The main window is used to connect to and to organize the many databases and projects that are available to the Utmost IV user. When Utmost IV is started, the main window will open and will remember and display all of the databases on which you have previously been working. In order to interact with one of these databases, you must log in with a valid user name and password. You can log into many databases at the same time. Once you are logged into a database, you can then create new projects, copy projects from one database to another, or even delete projects. This chapter will describe how you can perform all of these actions and more from the main window. Figure 3-1 The Utmost IV Main Window 23 Utmost IV User s Manual

23 Opening a Database Databases and Projects 3.1 Opening a Database To interact with a database, you need to open the database into the Utmost IV work area by selecting File Open Database or clicking on the toolbar icon. Once you do this, a dialog will appear and you should select the database server and the database you wish to open. Figure 3-2 Open Database Dialog Once you open the database you are interested in, you then have to login to the database using a valid database user name and password. For convenience, Utmost IV will automatically prompt you to login to the database after you have opened it into the work area. 3.2 Closing a Database Figure 3-3 Database Login Dialog To close a database and remove it from the main Utmost IV work area, select File Close Database. The database will still exist on the database server, however, it will not be shown in your work area when you restart Utmost IV. Note: Databases that you recently closed will still be available in the File Recent Databases menu. Note: You will be prompted to save any modified projects to prevent loss of data. 24 Utmost IV User s Manual

24 Logging Into and Out of a Database Databases and Projects 3.3 Logging Into and Out of a Database Once a database is shown in the work area, it is now possible to log into this database using a valid database user name and password by selecting the database of interest and selecting File Login or by simply double clicking on the database name. Once you have logged into a database, you will be able to work with the projects inside. Figure 3-4 Database Login Dialog When you finish the work, you can log out of the database by selecting the database in the work area and selecting File Logout. Note: Logging out of a database does not remove the database from the work area. Note: You will be prompted to save any modified projects to prevent loss of data. 3.4 Changing the User Password for a Database Once you have logged into the database, you can change your password. To do this, select the database and select File Change Password. This will open up the dialog shown below. Figure 3-5 Change Password Dialog Note: You must close all projects in the database before you are able to change the password. 25 Utmost IV User s Manual

25 Creating a New Project Databases and Projects 3.5 Creating a New Project Projects are used to store and organize your work. To create a new project, select File New Project or click on the toolbar icon in the main Utmost IV window. This will open the new project dialog. This is where you enter the name for your new project and select which type of project you wish to create from the available list. You should also select who will be allowed to read and to modify your project once it is created. Figure 3-6 New Acquistion Project Dialog Note: You cannot remove the read or modify permissions for either the project owner or the superuser. 26 Utmost IV User s Manual

26 Opening a Project Databases and Projects 3.6 Opening a Project If you have permission to modify an existing project, you can open and lock this project by selecting File Open Project or clicking on the toolbar icon. This will open up the project window for editing and will lock the project so that no other user may make changes to it. If you do not have permission to modify the project, but have read permission, you can still open the project in a Read-Only mode by selecting File Open Read Only or clicking on. In this mode, you will not have an exclusive lock on the project but will be working on a copy of the project from the database. You will not be allowed to save the Read-Only project. You may make modifications to the project and select File Save As to save to a new project name. Note: Even if another user has opened and locked a project, you can still open the project in a Read-Only mode. This will allow you to edit a copy of the project. 3.7 Modifying the Project Permissions Only the owner may change the project permissions. To do this, select the project and select Edit Permissions or click on the toolbar icon.. Figure 3-7 Project Permissions Dialog Note: If you are not the project owner, you will only be able to view the permissions. Note: You cannot change the permissions of a project you have already opened. 27 Utmost IV User s Manual

27 Importing a Project Databases and Projects 3.8 Importing a Project Projects can be stored by exporting them to an external file as described in Section 3.9 Exporting a Project. To import a project from an existing project file, select the database and then select File Import Project from the menu. In the import wizard, you must first select the file containing the project you wish to import, then click on the Next button. Figure 3-8 Selecting the Project File for Import Note: The software will check the external file to make sure it contains a valid Utmost IV project once you press the Next button. 28 Utmost IV User s Manual

28 Importing a Project Databases and Projects Once the project file has been verified, then you need to input the new name for this project and to select who will be able to read and to modify it. Figure 3-9 Selecting the New Project Name and Permissions Note: You cannot change the type of an already existing project. If you select a project name, which already exists in the database, then the following error message will be displayed and you must select a different name for your project. Figure 3-10 Duplicate Project Names are not Allowed 29 Utmost IV User s Manual

29 Exporting a Project Databases and Projects 3.9 Exporting a Project To export a project, select the project and then select File Export Project from the menu. This will open up a dialog in which you can select a location and a name for the project file you wish to create. Figure 3-11 Project Export Dialog 30 Utmost IV User s Manual

30 Reading Project Parts from Existing Projects Databases and Projects 3.10 Reading Project Parts from Existing Projects Rather than creating each project every time, it is sometimes convenient to reuse parts of another project that has already been created. This can be done from an open project window by selecting File Read From Project that will open the dialog below. Figure 3-12 Selecting a Project from the Database From this dialog, you should select the project from which you want to read. This will open the dialog below that allows you to select the parts of the project that you can import and then reuse. Figure 3-13 Selecting Project Parts from the Project to Import 31 Utmost IV User s Manual

31 Chapter 4 Datasets

32 Dataset Keys Datasets A dataset contains a single device measurement. As well as containing the measured data itself, the dataset also contains all of the information about how that measurement was performed. 4.1 Dataset Keys A dataset is uniquely defined by six key fields, those fields are as follows. Device Name Temperature Batch Name Wafer Name Die Name Measurement Setup Name You cannot have two datasets with the same unique identifying keys in the same database. Any attempt to save or import a dataset whose keys match an already existing dataset will cause the existing dataset to be overwritten. 33 Utmost IV User s Manual

33 Editing a Dataset Datasets 4.2 Editing a Dataset To view and modify a single dataset, select the dataset from the dataset selector area of the project and then select Dataset Edit from the menu. Figure 4-1 The General Tab of the Dataset Editor From the General tab, you can modify many of the information fields for the dataset and you can modify the list of device attributes and their values. Note: If you do not have permissions to modify the dataset, a read only copy of the dataset will be displayed. 34 Utmost IV User s Manual

34 Editing a Dataset Datasets Figure 4-2 The Data Tab of the Dataset Editor From the Data tab, you can view the measurement conditions and can view and edit the measured data directly. In addition, the calculated data from any functions defined in the dataset can be viewed. 35 Utmost IV User s Manual

35 Editing a Dataset Datasets Figure 4-3 The Analysis Tab of the Dataset Editor From the Analysis tab, the list of functions which is defined for the dataset may be modified directly. You can also change the list of plots which are defined. For a more detailed description of dataset functions, see Section Defining a Function. 36 Utmost IV User s Manual

36 Editing a Dataset Datasets Figure 4-4 The AC Data Tab of the Dataset Editor Note: There will only be an AC Data tab for datasets with measurement type AC or AC_TABLE. From the AC Data tab, you can view the measured s parameter data for AC dataset types. You can also view the y, z, h, g, gamma parameter data and any AC data calculated from functions in your dataset. For convenience, you can display the complex AC data as rectangular (real/imaginary) or as polar (magnitude/phase) format. 37 Utmost IV User s Manual

37 Editing a Dataset Datasets Figure 4-5 The Noise Data Tab of the Dataset Editor From the Noise Data tab, you can view and edit the measured noise data for NOISE dataset types. Note: There will only be a Noise Data tab for datasets with measurement type NOISE and NOISE_TABLE. 38 Utmost IV User s Manual

38 Modifying the Dataset Permissions Datasets 4.3 Modifying the Dataset Permissions Only the dataset owner can change the dataset permissions. To change the dataset permissions, select the dataset, then select Dataset Permissions from the menu. Figure 4-6 Changing the Dataset Permissions Note: You cannot remove the read or modify permissions for the dataset owner or for the superuser. 39 Utmost IV User s Manual

39 Deleting Datasets Datasets 4.4 Deleting Datasets From the dataset selector area, select all of the datasets you want to delete, then select Dataset Delete from the menu. Figure 4-7 Delete Dataset Dialog Note: You can only delete datasets for which you have modify permission. Note: Once a dataset is deleted, it cannot be recovered except from your database backup. 40 Utmost IV User s Manual

40 Importing Datasets Datasets 4.5 Importing Datasets Utmost IV can directly import two different data file formats, these are the legacy format from Utmost III and the new more flexible Utmost IV data file format. Data from other formats can easily be converted (as described in Appendix B Converting Data from ICCAP, BSIMPro, ProPlus, and Atlas) and then imported directly into Utmost IV. Note: The default file name extension for Utmost III logfiles is.log and for the Utmost IV data files is.uds. To import a dataset, select the database in the main Utmost IV window and then select File Import Datasets from the menu. In the import wizard, you must first select the file containing the datasets you wish to import, then click on the Next button. Figure 4-8: Selecting the Data File for Import Note: The software will check the external file to make sure it contains either a valid Utmost III logfile or a valid Utmost IV data file once you press the Next button. 41 Utmost IV User s Manual

41 Importing Datasets Datasets When importing Utmost III logfiles, an additional page in the wizard will be displayed. This page allows you to modify certain fields for all the datasets that will be imported into the database. Figure 4-9: Modifying Dataset Information from Utmost III logfiles Note: This additional page will not be displayed when importing Utmost IV data files. 42 Utmost IV User s Manual

42 Importing Datasets Datasets Once the external file has been verified, you must then select which datasets you wish to import into the database. If a dataset cannot be imported into the database, you will be unable to select this dataset and a short explanation will be given. Note: If a dataset already exists in the database, the Import button will change name to become an Overwrite button. If you chose to permanently overwrite the datasets already in the database, there is no way to recover the older datasets, except from your database backups. Note: If you do not wish to overwrite any data, then click on the New Only button to select only datasets from the file which do not already exist in the database. Figure 4-10: Selecting the Datasets to Import 43 Utmost IV User s Manual

43 Importing Datasets Datasets Once you select to import or overwrite datasets a progress bar will be displayed. Once the import is complete, you can then click on Start if you wish to import another file or click on the Finish button. Figure 4-11: Showing the Progress of Dataset Import 44 Utmost IV User s Manual

44 Exporting Datasets Datasets 4.6 Exporting Datasets To export datasets, select the datasets you want to export in the dataset selector area, then select Dataset Export Datasets from the project menu. Figure 4-12 Selecting the File Name for Dataset Export Note: If the file already exists, its contents will be overwritten during the export. 45 Utmost IV User s Manual

45 Writing a Dataset out to CSV Format Datasets 4.7 Writing a Dataset out to CSV Format From the Dataset Selector area, select the dataset you want to write out to CSV format, then select Dataset Write CSV File from the menu. You can also choose to write out the simulated data as well as the measured data for this dataset. Figure 4-13 Writing Dataset to CSV Format 46 Utmost IV User s Manual

46 Chapter 5 Managing the Database

47 Managing the Database The database manager allows a special superuser database user to manage projects and datasets that exist in the database. To open the database manager, select File Database Manager and you will then be prompted to enter the superuser password. Figure 5-1 Database Manager Login Dialog Note: You cannot open the database manager if you have already logged into the database. The database manager dialog allows the superuser to view and select all of the projects and datasets in the database. You can select whether you want to view projects or datasets. Figure 5-2 The Database Manager Window Showing the Projects View If you edit the search criteria, you will be able to easily find the objects you are interested in. The search editor dialog is shown below. 48 Utmost IV User s Manual

48 Deleting Projects and Datasets Managing the Database Figure 5-3 Searching for Projects in the Database Manager Once you have found and selected the objects you wish to manage, then you can perform a number of actions. You can delete objects, change the owner of the objects, change the objects permissions, and unlock the objects. 5.1 Deleting Projects and Datasets The database manager dialog allows the superuser to select many projects or datasets at the same time and delete all of them permanently from the database. Note: Once deleted from the database, these objects cannot be recovered, except from your database backups. 5.2 Changing the Owner of Projects and Datasets The database manager allows the superuser to select many projects or datasets at the same time and change the owner of these objects. The owner is the only user other than the superuser who is allowed to change the permissions of an object. 49 Utmost IV User s Manual

49 Changing the Permissions of Projects and Datasets Managing the Database 5.3 Changing the Permissions of Projects and Datasets The database manager allows the superuser to select many projects or datasets at the same time and change the permissions of these objects. Note: All selected objects must be owned by the same user in order to change permissions. Note: If a single object is selected, the current permissions for that object are shown when the change permission dialog is opened. Note: If more than one object is selected, then the default permissions will be shown when the change permissions dialog is opened. Figure 5-4 Changing Permissions on Multiple Objects 50 Utmost IV User s Manual

50 Unlocking Projects and Datasets Managing the Database 5.4 Unlocking Projects and Datasets If the selected projects or datasets are locked by a database user, the unlock button will be enabled. To unlock the objects, select the locked projects or datasets, and click on the unlock button in the database manager dialog. Note: Under normal circumstances, objects should never be unlocked manually using the database manager dialog. Be careful when unlocking objects as these may currently be in use by the database users. 51 Utmost IV User s Manual

51 Chapter 6 Acquisition Module

52 Acquisition Module The Acquistion Project window will appear when a new project is created or an old project is opened. The Acquistion Project window is divided into four areas. Window Area Sequence Objects Measurement Sequence Dataset Selector Status Log Holds the objects that are used to build the sequence. Used to build an automated sequence for measurement. Used to display the datasets you have measured. Displays warning, error, and status messages. Sequence Objects Measurement Sequence Dataset Selector Status Log Figure 6-1 The Empty Acquistion Project Window Note: All changes to the project are made in memory and are not saved to the database until you perform a Save or Save As operation. 53 Utmost IV User s Manual

53 Defining Temperatures Acquisition Module 6.1 Defining Temperatures To define the temperatures at which the measurements will be made, select Setup Temperature from the project menu or click on the toolbar icon to define and enable multiple temperature values.. This dialog allows you Note: All temperatures are in Celsius. Figure 6-2 Defining Measurement Temperatures 54 Utmost IV User s Manual

54 Defining the Wafer Map Acquisition Module 6.2 Defining the Wafer Map The wafer map is where you define the physical location of the devices for which you intend to acquire datasets. To open the Wafer Map Dialog, select Setup Wafer Map or click on the toolbar icon. The wafer map dialog is split into three sections: The General section The Die Selection section The Group Selection section Defining the Header, Batch and Wafer Information The General section allows you to describe some background information, the name of the batch that is being measured, and one or more wafers that are to be measured. Figure 6-3 General Section of Wafer Map Dialog 55 Utmost IV User s Manual

55 Defining the Wafer Map Acquisition Module Field Header Information Batch Name Wafer List This table contains several fields (Customer, Product, Process, Operator, Station, Comment, Fabrication Date, User Date, and Dubious Flag), which will be stored in each of the datasets that will be acquired. This is the batch name of the data being acquired. You can enter the names and enable one or more wafers to be measured. You can also enter the wafer cassette slot number where the wafer is located. Note: Even if you are acquiring data by simulation, the same information will be used by the measurement sequence and will be stored in the acquired datasets. Note: All dimensions in the wafer map are in meters Defining the Die Selection Defining a die allows you to step around a wafer and perform the entire sequence of measurements on each die. The Die Selection section allows you to define and select one or more die which will be measured. The locations of these die can be defined in a xy grid pattern or in a completely arbitrary way. When defining the die locations using the xy grid, the die can be viewed and selected using either the Die Map or the Die List. These two are ways to view the same information, changes to the Die List apply to the Die Map, and vice versa. To define arbitrary locations for the die, you should use the Drop In type. Note: The home die defines the die location where you will set the wafer to before starting the measurement sequence. Defining the Die Selection using the Die Map The Die Map is used when defining the die locations using the xy grid and when you want to select and view the die locations graphically. To enable or disable a die, you simply click on its drawn location. To select a die as the home die, select this die and then press the Set Home Die button. To define the layout of the die using the xy grid, you specify the following parameters in the die layout table. Field Wafer Diameter The diameter of the wafer. Die Size X The size of the die in the X direction. Die Size Y The size of the die in the Y direction. Layout This represents how the grid is aligned to the center of the wafer. 56 Utmost IV User s Manual

56 Defining the Wafer Map Acquisition Module Figure 6-4 Selecting the Die using the Die Map In addition, you can specify whether the wafer has an alignment mark using the following parameters. Field Alignment The alignment mark. Select Flat, Notch, or None. Alignment Value The size of the alignment mark. Orientation The location of the alignment mark. 57 Utmost IV User s Manual

57 Defining the Wafer Map Acquisition Module Figure 6-5 A Die Map with Wafer Flat Alignment Defined Note: Changes made to the Die Map view also apply to the Die List view. 58 Utmost IV User s Manual

58 Defining the Wafer Map Acquisition Module Defining the Die Selection using the Die List The Die List is used when defining the die locations using the xy grid and when you want to select and view the die locations as a list. You can enable or disable the die from the Enabled column in the table. To select a die as the home die, select this die and then press the Set Home Die button. The specification of the layout of the die using the xy grid is described in the previous section. Figure 6-6 Selecting the Die using the Die List It is particularly useful to switch to the Die List view when there are a very large number of die on the wafer. When this happens, selection of the correct die becomes difficult using the Die Map graphical representation. 59 Utmost IV User s Manual

59 Defining the Wafer Map Acquisition Module Figure 6-7 A Die Map Showing a Very Large Number of Die Note: Changes made to the Die List view also apply to the Die Map view. 60 Utmost IV User s Manual

60 Defining the Wafer Map Acquisition Module Defining the Die Selection using the Drop In type The previous two methods can be used when the die to be measured are repeated regularly across the wafer. If the die are not regularly spaced, or you simply want to directly define the die, die names and locations, you can do this by using the Drop In method. Figure 6-8 Selecting the Die using the Drop In List 61 Utmost IV User s Manual

61 Defining the Wafer Map Acquisition Module Defining the Group Selection Defining a group allows you to step around within the die to connect to the various devices which belong to this group. The group defines an intra-die movement on the wafer. Similar to the dies, the locations of these groups can be defined in an xy grid pattern or in a completely arbitrary way. When defining the group locations using the xy grid, the group can be viewed and selected using either the Group Grid or the Group List. These two are ways to view the same information, changes to the Group List apply to the Group Grid and vice versa. To define arbitrary locations for the group, you should use the Custom type. If you are not performing any intra-die movement, you do not have to specify any groups. Note: The home group defines the group location where you will set the wafer to before starting the measurement sequence. Defining the Group Selection using the Group Grid The Group Grid is used when defining the group locations using the xy grid and when you want to select and view the group locations graphically. To enable or disable a group, you simply click on its drawn location. To select a group as the home group, select this group and then press the Set Home Group button. To define the layout of the groups using the xy grid, you specify the following parameters in the group layout table. Field Group Count X Group Count Y Group Size X Group Size Y The number of groups in the X direction. The number of groups in the Y direction. The size of the group in the X direction. The size of the group in the Y direction. 62 Utmost IV User s Manual

62 Defining the Wafer Map Acquisition Module Figure 6-9 Selecting the Groups using the Group Grid Note: Changes made to the Group Grid view also apply to the Group List view. 63 Utmost IV User s Manual

63 Defining the Wafer Map Acquisition Module Defining the Group Selection using the Group List The Group List is used when defining the group locations using the xy grid and when you want to select and view the group locations as a list. You can enable or disable the groups from the Enabled column in the table. To select a group as the home group, select this group and then press the Set Home Group button. The specification of the layout of the groups using the xy grid is described in the previous section. Figure 6-10 Selecting the Groups using the Group List Note: Changes made to the Group List view also apply to the Group Grid view. 64 Utmost IV User s Manual

64 Defining the Wafer Map Acquisition Module Defining the Group Selection using the Custom Method The previous two methods can be used when the groups are repeated regularly across the die. If the groups are not regularly spaced, or you simply want to directly define the groups, group names and locations, you can do this by using the Custom method. Figure 6-11 Selecting the Groups using the Custom Method 65 Utmost IV User s Manual

65 Defining Devices Acquisition Module 6.3 Defining Devices Utmost IV allows you to define and measure many different types of devices within a single measurement sequence. The Device Type Manager dialog is opened by selecting Setup Devices from the project menu or by clicking on the allows you to create, edit, or delete a device type. toolbar icon. This dialog Figure 6-12 The Device Type Manager Dialog Creating or adding a device type will open up the device type editor dialog shown below. This dialog allows you to enter any number of devices within this device type. Figure 6-13 The Device Type Editor Dialog A device to be measured is described by its name, nodes, and attributes. Additionally, if the datasets are to be acquired using simulation, a simulation netlist can be defined for this device type. 66 Utmost IV User s Manual

66 Defining Devices Acquisition Module There are three views that can be selected in the device editor dialog. These are the Device Attributes, the Device Nodes, and the Netlist Text. Figure 6-14 Viewing the Device Attributes When you view the device attributes you can add, rename, or delete the attributes for this device. You can also add any number of devices to the device type, and for these devices you must specify the values of all of the device attributes. The group name for this device can also be added. This is an optional location for intra-die stepping as described in Section Defining the Header, Batch and Wafer Information. Note: The device name must be unique and cannot be used within any other device type. Figure 6-15 Viewing the Device Nodes 67 Utmost IV User s Manual

67 Defining Devices Acquisition Module When you view the device nodes, you can add, rename, or delete the nodes for this device. You can also add any number of devices to the device type and for these devices you must specify the scanner pins to which the nodes are connected. These pin numbers will only be used if you use a scanner instrument during the measurement. Note: Within a device, the pin number can be used only once. Finally, if the data is to be acquired by simulation, you can specify a simulation netlist for the device type. A full description of the netlist definition is given in Section 7.5 Defining the Netlist for Simulation. Figure 6-16 Viewing the Simulation Netlist 68 Utmost IV User s Manual

68 Defining Extractions Acquisition Module 6.4 Defining Extractions An extraction can be used along with an extraction setup to perform a parameter extraction within a measurement sequence. Details on how to define an extraction are given in Section 7.7 Defining Extractions. 6.5 Defining Variables A variable is used to define a value that can be used in a measurement setup or in an extraction. A variable has a name and a value and this value can be an expression that includes other variables. To edit the variables, select Setup Variables from the project menu or click on the toolbar icon. Figure 6-17 Defining Variables You can also write the result of an extraction into the variable table as defined in Section 7.15 The Extraction Setup. This means that the result of one extraction may be used in a subsequent extraction or in a following measurement setup. 69 Utmost IV User s Manual

69 Defining Hardware Acquisition Module 6.6 Defining Hardware To perform a measurement you will need to define the hardware. To edit the hardware, select Setup Hardware from the project menu or click on the toolbar icon. Figure 6-18 Editing the Hardware From the Hardware dialog, you can easily manage the equipment that you want to use to perform the measurement. You can edit any item in the list of hardware and you can also verify that the hardware is correctly connected. 70 Utmost IV User s Manual

70 Defining Hardware Acquisition Module Editing the Controller The controller is used to talk to the instruments. There are two types of controller supported: the RS232 controller and the NI488 controller. The NI488 Controller can be used with any of the National Instruments GPIB controllers, including the USB to GPIB controller and the Ethernet to GPIB controller. National instruments only supports the NI488 controller interface on Windows. The RS232 Controller Utmost IV supports the National Instruments RS232 to GPIB controller. This controller is connected to the computer with a 9pin rs232 cable. The connections for this cable are as shown below. Figure 6-19 RS232 Cable Connections Over the years, there have been several versions of this controller. The latest version (NI GPIB-RS232) can only be configured using software supplied by National Instruments. The older NI GPIB-232CT-A is configured via physical switches on the side of the box. The following controller settings should be used. Field Baud Rate 38400, 19200, or 9600 Data Bits 8 Polarity None Stop Bits 1 Flow Control None Note: The box must be set to controller or S mode in order to be used with the Utmost IV software to control the instruments. 71 Utmost IV User s Manual

71 Defining Hardware Acquisition Module The figure below shows the position of the switches on the NI GPIB-232CT-A for the baud rate and the controller settings listed above. Figure 6-20 NI GPIB-232CT-A switch settings Note: The older NI GPIB-232CV-A is not a controller. It can only be used as a converter and cannot be used to control instruments by Utmost IV. The controller setup is shown below. Figure 6-21 Editing the RS232 controller Note: For the RS232 to GPIB controller on Linux, the port name is typically defined as the device driver file "/dev/ttys0". Note: For the RS232 to GPIB controller on Windows, the port name is typically defined as the port "COM1". 72 Utmost IV User s Manual

72 Defining Hardware Acquisition Module The RS232 Controller Using a USB to RS232 Converter On many modern computers, there is no RS232 port through which to communicate with the RS232 controller. If an RS232 port cannot be added to the computer an alternative solution is possible by using a USB to RS232 converter, such as the ATEN UC-232A USB-to-Serial Converter. This converter is plugged into a USB port on the computer and then connected to the RS232 cable which in turn connects to the RS232 to GPIB controller. The driver port name is then set to that of the USB port, typically "/dev/ttyusb0" on linux. On Windows, it will appear as another COM port, like COM2 or COM3. Figure 6-22 Controller Setup Using a USB to RS232 Converter The NI488 Controller Utmost IV supports any of the National Instruments GPIB controllers that work with the NI488 interface. Specifically, the USB to GPIB controller (NI USB-GPIB-HS) and the ethernet to GPIB controller (NI GPIB-ENET). These controllers must be configured through software supplied by National Instruments. Currently, the NI488 interface is only supported by National Instruments for Windows. Figure 6-23 Editing the NI488 controller Note: For the NI488 controller, the port name is typically "GPIB0". 73 Utmost IV User s Manual

73 Defining Hardware Acquisition Module Editing an Instrument An instrument is the equipment which will be used to perform the measurement. For each instrument, you can enable or disable the instrument and you can also select the GPIB bus address that the equipment is using. You can use the built in instrument drivers supplied with your software, or you can modify or write your own instrument drivers. If you select the built in driver type, then you can select from an extensive list of supported instrument drivers. If you select a non built-in driver, then you should input the location of the device driver file. Figure 6-24 Editing an Instrument Each instrument has its own specific instrument options. You can modify these options in the lower section of this dialog. Note: Each instrument should have its own GPIB bus address. 74 Utmost IV User s Manual

74 Defining Hardware Acquisition Module Editing the Scanner Instrument The scanner is a special type of instrument that is used to connect other instruments to the device being measured. It is defined in exactly the same way as any of the other instuments as described in Section Editing an Instrument. In addition, you need to define which measurement instruments are connected to the input ports of the scanner. Figure 6-25 Editing the Scanner Instrument 75 Utmost IV User s Manual

75 Defining Hardware Acquisition Module Editing the Noise Instrument The noise instrument is an instrument that is used to measure the noise spectral density of a device. It is defined in exactly the same way as any of the other instuments as described in Section Editing an Instrument. In addition, you need to define the connections to and maximum bias conditions for the Silvaco S3245A Noise Amplifier that must be used in order to perform the noise measurement. Figure 6-26 Editing the Noise Instrument 76 Utmost IV User s Manual

76 Defining Connections Acquisition Module 6.7 Defining Connections In order to perform the measurement properly, you need to define how the measurement instruments are to be connected to the device being measured. To edit the connections, select Setup Connections from the project menu or click on the toolbar icon. Figure 6-27 Editing the Connections For each device type and measurement setup currently in the measurement sequence, a connection is defined. You can edit the connection to change the measurement units that you want to connect to the device nodes or terminals. 77 Utmost IV User s Manual

77 The Model Library Acquisition Module Manual Ground Connections This is a special measurement unit that allows you to manually connect the device nodes to a ground potential. When you specify this measurement unit, the program will not attempt to set up a ground potential as you have decided to do this manually. Figure 6-28 Using the Manual Ground Measurement Unit This is particularly useful, as shown above, for measurements which involve only the LCR meter and a two node subset structure. In this measurement, the LO of the LCR is on the G node and the HI of the LCR is on the node subset D, S, and B. The LCR instrument LO provides its own virtual ground, so you do not need to connect an additional DC measurement unit for this measurement. Note: All measurement setups with nodes connected using the manual ground measurement unit must be of Voltage type and must have a zero value. In addition, there can be no DC target current associated with this measurement unit. 6.8 The Model Library The model libary is used when acquiring models from simulation. Full details on the model libary window are given in Section 7.6 The Model Library. 78 Utmost IV User s Manual

78 The Device Subset Acquisition Module 6.9 The Device Subset The device subset allows any number of devices that have been defined in the project to be selected for measurement. To create a new device subset, select Create New Device Subset or click on the toolbar icon. To modify an existing device subset, double-click on it or select it and then select Edit Properties from the menu. Figure 6-29 Editing a Device Subset In the device subset, you use a search to select only the devices that you are interested in. The devices that match the conditions of the search are displayed on the left hand side of the dialog and are updated with every change that you make to the search. See Section 7.1 Creating and Managing Searches for a detailed description of how to define a search. If you select an item from the devices view on the left, then press the Populate button. This will fill in the search condition editor with the details of the item that you selected. Each device subset must have a unique name and all are contained in the Sequence Objects Area of the Acquistion project window. Figure 6-30 The Sequence Objects Area Showing Device Subsets Note: To make a duplicate copy of a device subset, you must copy from and paste to the Sequence Objects Area. 79 Utmost IV User s Manual

79 The Measurement Setup Acquisition Module 6.10 The Measurement Setup The measurement setup is used to define exactly how the measurement will be performed on each of the devices in the device subset. To create a new measurement setup, select Create Measurement Setup from the menu or click on the toolbar icon. To modify an existing measurement setup, double-click on it or select it and then select Edit Properties from the menu. Figure 6-31 An Empty Measurement Setup A measurement setup consists of the following. Field Name Measurement Type Setup Analysis A unique measurement setup name. The type of measurement being performed. Definition of the setup items that describe the measurement being performed. Defines functions and plots for post process and analysis on the second tab in the dialog. 80 Utmost IV User s Manual

80 The Measurement Setup Acquisition Module Each measurement setup must have a unique name and all are contained in the Sequence Objects Area of the Acquistion project window. Figure 6-32 The Sequence Objects Area Showing the Measurement Setups Note: To make a duplicate copy of a measurement setup, you must copy from and paste to the Sequence Objects Area. The following measurement types are supported. Type DC LCR AC NOISE DC_TABLE LCR_TABLE AC_TABLE NOISE_TABLE A measurement with one or more swept DC source inputs and measured DC target outputs. An impedance measurement, for example capacitance, taken at multiple DC operating point conditions. S parameter measurement over a frequency range, taken at multiple DC operating point conditions. Noise spectral density measurement over a frequency range, taken at multiple DC operating point conditions. Same as DC type but source inputs defined as one-dimensional lists. Same as LCR type but operating points defined as one-dimensional lists. Same as AC type but operating points defined as one-dimensional lists. Same as NOISE type but operating points defined as one-dimensional lists. Note: When using one of the TABLE types above, then all of the DC sources must be defined as list sweeps and all must have the same length. When you select an existing item from the setup, it will be displayed in the item editor on the right hand side of the dialog. You can modify the item directly in this editor or simply Delete the item if it is not required. If you want to add a new item to the setup, you must select New Item from the setup. This will allow you to enter a completely new item in the item editor. When you have finished entering the item information, you can Insert this new item into the setup. There are many different types of setup items that describe the measurement being performed and these are described below. 81 Utmost IV User s Manual

81 The Measurement Setup Acquisition Module Defining the Node Names The node names are used to define the external terminals of the device being measured. To modify the node names, simply select the Node Names item from the setup and use the editor table on the right of the dialog to add, delete, or modify. Note: You must specify at least two nodes. Figure 6-33 Editing the Node Names for the Measurement Setup 82 Utmost IV User s Manual

82 The Measurement Setup Acquisition Module Defining a Sweep A Sweep is a measurement setup item that describes a source that is varied during the measurement. There must be at least one sweep defined in the measurement setup. A Sweep is defined with the following information. Field Number Type Nodes Method Every defined sweep must have a unique sweep number starting at sweep 1. During the measurement sweep 1 will vary the fastest. Describes the type of the sweep. You can select Voltage, Current, Frequency, LCR Voltage, or LCR Current. If the sweep type is Voltage or Current, you must also define the nodes to which this will be applied. The sweep can be Linear, Logarithmic, or a simple List of values. Figure 6-34 An Example of a Logarithmic Frequency and a Linear Voltage Sweep For a linear sweep, this is defined in terms of the start value, the stop value, the step, and the total number of points. You only need to define three of these four values with the forth value being calculated from the other three. You can select which value you will calculate. Field Start Stop Step Number of Points Calculated Field The start value of the linear sweep. The stop value of the linear sweep. The step for the linear sweep. The number of points in the linear sweep. This selects which of the four fields will be calculated. 83 Utmost IV User s Manual

83 The Measurement Setup Acquisition Module For a logarithmic sweep, this is defined in terms of the start value, the stop value, the number of points per decade and the total number of points. Again, you only need to define three of these four values with the forth value being calculated from the other three. You can select which value you will calculate. Field Start Stop Points per Decade Number of Points Calculated Field The start value of the logarithmic sweep. The stop value of the logarithmic sweep. The points per decade for the logarithmic sweep. The number of points in the logarithmic sweep. This selects which of the four fields will be calculated. Note: For either a linear or a logarithmic sweep, the above values can be defined using a variable name. For example, the stop value of a linear sweep can be set to the variable name Vmax. When the measurement is performed, the value of the variable Vmax, which is defined as shown in Section 6.5 Defining Variables, will be used. A list sweep is defined using a simple list of values that can be edited by clicking on the Edit button for the List Values. In the list editor, you can type in the list sweep values directly. You can also use the linear and logarithmic sweep generator at the bottom of the dialog to quickly enter and build up the list of sweep values. Figure 6-35 Editing the List Sweep Values Note: You can select to have an arbitrary ordering to the list of values, or to sort in ascending or descending order. When you sort the list values, duplicate values will be removed from the list. Note: List sweeps which are defined in DC, LCR, and AC dataset types must be sorted. 84 Utmost IV User s Manual

84 The Measurement Setup Acquisition Module If the sweep type is Voltage or Current, you can also define the compliances for the sweep. Field Compliance Power Compliance If the sweep type is Voltage, this is the current compliance in Amps. If the sweep type is Current, this is the voltage compliance in Volts. This is the power compliance in Watts. A zero value means that the power compliance is switched off. Note: You can also specify the above compliance values as variables, which will be read from the variables table defined as shown in Section 6.5 Defining Variables Defining a Constant A Constant is a measurement setup item that describes a source that does not change during the measurement. A Constant is defined with the following information. Field Type Nodes Value Compliance Power Compliance Describes the type of the constant. You can select Voltage or Current Defines the nodes to which this will be applied. The constant value The compliance The power compliance Figure 6-36 An Example of a Voltage Constant Note: The value, compliance, and power compliance can be specified as a variable, which are defined as shown in Section 6.5 Defining Variables. 85 Utmost IV User s Manual

85 The Measurement Setup Acquisition Module Defining the Mirror The Mirror is a measurement setup item that describes a source that is varied at the same time as the primary or first DC sweep. The Mirror is defined with the following information. Field Type Nodes Ratio Offset Compliance Power Compliance Describes the type the mirror. You can select Voltage or Current. Defines the nodes to which this will be applied. The mirror ratio value The mirror offset value The compliance The power compliance Figure 6-37 Editing the Mirror As the measurement is performed and the primary DC sweep is changed, the value of the mirror is calculated by the following formula. Mirror Value = Primary DC Value * Ratio + Offset Note: If the primary DC sweep is a Voltage sweep, the Mirror must also be a Voltage sweep, and likewise for a Current sweep. Note: The ratio and offset values, compliance, and power compliance can be specified as a variable, which are defined as shown in Section 6.5 Defining Variables. 86 Utmost IV User s Manual

86 The Measurement Setup Acquisition Module Defining the Iterator The Iterator is a measurement setup item that describes a source that will be iterated upon to match the iteratee sweep values. The Iterator is defined with the following information. Field Type Nodes Minimum Start Maximum Error Compliance Power Compliance Describes the type the iterator. You can select Voltage or Current. Defines the nodes to which this will be applied. The minimum value that will be applied to the iterator source. The value at which the iterator search will begin. The maximum value that will be applied to the iterator source. The acceptable error percentage between the desired iteratee value and the achieved iteratee value. The compliance The power compliance Figure 6-38 Editing the Iterator Note: If the iterator is defined, then an iteratee sweep must also be defined. 87 Utmost IV User s Manual

87 The Measurement Setup Acquisition Module Defining the Iteratee Sweep The Iteratee sweep is a measurement setup item that describes the desired target values for the iterator source search. The iteratee sweep is defined in exactly the same way as the Sweep item described in Section Defining a Sweep, except that it does not have compliance or power compliance settings. Figure 6-39 Editing the Iteratee Sweep Note: If the iteratee sweep is defined, then an iterator must also be defined. Note: The iteratee sweep must be the primary DC sweep. Note: There must be a DC source of opposite type to the iteratee sweep connected to the same nodes. 88 Utmost IV User s Manual

88 The Measurement Setup Acquisition Module Defining a Pulse The Pulse is a measurement setup item that describes a pulsed DC source. The Pulse is defined using the following information. Field Type Nodes Width Period Base Hold Delay Describes the type of the pulse. You can select Voltage or Current. Defines the nodes to which this will be applied. Defines the pulse width. Defines the pulse period. Defines the pulse base. Defines the pulse hold time. Defines the pulse delay time. Figure 6-40 Editing a Pulse Note: There must be a DC source of the same type connected to the same nodes. 89 Utmost IV User s Manual

89 The Measurement Setup Acquisition Module Defining a Target A Target is a measurement setup item that describes a DC measurement that will be performed. A target is defined with the following information. Field Type Nodes Describes the type of the measurement. You can select Voltage or Current. Defines the nodes on which the measurement will be taken. Figure 6-41 Defining a DC Measurement Target Note: A Current target requires a Voltage source applied to the same Nodes and vice versa. For example, if you define a current target on node D, there must also be a voltage source applied to node D in the measurement setup Defining the LCR Source The LCR Source is a measurement setup item that describes the source conditions for the LCR measurement. An LCR Source is defined with the following information. Field High Nodes Low Nodes Type Oscillation Value Frequency Defines the nodes to which the high terminal is attached. Defines the nodes to which the low terminal is attached. Describes the type of the oscillation. You can select Voltage or Current. The value of the oscillation. The frequency of the measurement. Figure 6-42 Defining the LCR Source 90 Utmost IV User s Manual

90 The Measurement Setup Acquisition Module Defining the LCR Target The LCR Target is a measurement setup item that defines the LCR measurement that will be performed. An LCR Target is defined with the following information. Field Target The type of LCR measurement. Note: LCR Source and LCR Target are only allowed in LCR and LCR_Table measurement setups Defining a Port A Port is a measurement setup item that defines an AC port. A Port is defined with the following information. Field Number Signal Nodes Ground Nodes Power Attenuation Extension Every defined port must have a unique sweep number starting at port 1. The nodes to which the signal will be connected. The nodes to which the ground will be connected. The port power The port attenuation The port extension Figure 6-43 Defining a Port Note: Ports are only allowed in AC and AC_TABLE measurement setups. 91 Utmost IV User s Manual

91 The Measurement Setup Acquisition Module Defining the Noise Target The Noise Target is a measurement setup item that describes noise measurement that will be performed. A Noise Target is defined with the following information. Field Type Nodes Defines the type of the noise target. Defines the nodes on which the noise spectral density is to be measured Defining a Function Figure 6-44 Defining the Noise Target When the dataset is measured, the function will be used to automatically calculate additional characteristics for analysis and display. A function is defined by the following information. Field Name Expression The name of the calculated characteristic. A mathematical description of the function. The expression can be defined using the mathematical operators (+, -, *, /) and the following built-in functions. These functions take a single input. abs( ) arg( ) cos( ) exp( ) mag( ) pow( ) sin( ) tan( ) acos( ) asin( ) atan( ) ceil( ) conj( ) cosh( ) imag( ) loge( ) norm( ) real( ) sinh( ) sqrt( ) tanh( ) floor( ) log10( ) phase( ) A dataset attribute or the temperature of the dataset may be used within the dataset function by using the following syntax. attr(w) key(temperature) The derivative function takes two inputs, the x array and the y array. derivative(xarray, yarray) The ft function is a special function for AC datasets. This function takes seven inputs and will extract the unity gain bandwidth for each frequency trace. ft(freq, h21m, 0, 0, 3, -20, 0) 92 Utmost IV User s Manual

92 The Measurement Setup Acquisition Module Input 1 The frequency array. 2 The h21 magnitude array. 3 The start frequency for the extraction. 4 The minimum value of h21 magnitude for the extraction in db. 5 The delta in h21 magnitude in db. 6 The target slope for the best fit line in db/decade. 7 The allowed variation in the slope. Figure 6-45 Extraction of Unity Gain Bandwidth, ft The rb function is a special function for AC datasets. This function takes four inputs and will extract the base resistance using the input impedance circle method for each frequency trace. rb (freq, h11, 0, 1e12) Input 1 The frequency array. 2 The complex h11 array. 3 The start frequency for the extraction. 4 The stop frequency for the extraction. 93 Utmost IV User s Manual

93 The Measurement Setup Acquisition Module Note: You can combine functions and operators to generate more complicated expressions. For example, the expression 1 + log10(abs (ID)) Defining a Plot Figure 6-46 Defining the Analysis A plot defines how the measured and calculated data will be presented in the viewer. A plot is defined by the following information. Field Name Type Data vs Y2 Axis Data The plot name The type of plot This defines the data to be displayed. This defines the Cartesian plot X axis data. For non-cartesian plots, this defines the viewer scale. If you are displaying a XYY Cartesian plot, this defines the data which will be displayed on the second Y axis. Note: The names of the data to be displayed can contain Function names. 94 Utmost IV User s Manual

94 The Measurement Setup Acquisition Module Common Device Nodes In any measurement setup, you can have common device nodes. For example, the measurement of a mosfet transistor may have the source and body nodes joined together. When nodes have been joined together in the measurement setup, they must always be joined together. You cannot say that two nodes are joined together and then separate them elsewhere in the same measurement setup. Figure 6-47 Incorrect Common Node Measurement Setup Once the nodes are joined together in one part of the measurement setup, then all other parts of the measurement setup must also have these nodes joined together. Figure 6-48 Correct Common Node Measurement Setup 95 Utmost IV User s Manual

95 The Extraction Setup Acquisition Module 6.11 The Extraction Setup An extraction setup is used to select an extraction to be performed and to define where to write the result. Full details on this are given in Section 7.15 The Extraction Setup Acquiring Data using the Measurement Sequence You can use Utmost IV to construct a highly automated sequence of measurements that will be repeated for every temperature and for every wafer and die selected in the project. The temperatures for the measurement are defined in the Temperatures dialog as described in Section 6.1 Defining Temperatures. The batch, wafer, and die information are defined in the Wafer Map dialog as described in Section 6.2 Defining the Wafer Map. The remainder of the sequence is built using three sequence objects: the Device Subsets, the Measurement Setups, and the Extraction Setups. In the sequence, the device subset defines the devices that will be measured and the measurement setup defines the measurement that will be performed. The extraction setup defines the extraction which will be performed on the immediately preceding measurement. Figure 6-49 Measurement Sequence You may add the device subsets, the extraction setups, and the measurement setups to the sequence by using copy/paste and by using drag/drop. An individual sequence object may appear multiple times in the measurement sequence. The object is not copied, the same object will simply be used multiple times within the sequence. Note: Each measurement will be performed on each device at all of the defined temperatures, wafers, and die in the project. 96 Utmost IV User s Manual

96 Acquiring Data using the Measurement Sequence Acquisition Module Selecting Measurement Mode or Simulation Mode Data can be acquired using either direct measurement with physical instruments or it can be generated from simulation. The mode is selected from the menu using either Measure Measurement or Measure Simulation. When you select Measurement mode, the project hardware and connections become enabled and when you run the measurement sequence the data will be generated from direct measurement of your devices. When generating datasets by measurement, you need to define the hardware that will be used for the measurements as described in Section 6.6 Defining Hardware. You also need to define the connections for the measurement as described in Section 6.7 Defining Connections. When you select Simulation mode, the model library becomes enabled and the netlist defined for each device type as described in Section 6.3 Defining Devices will be used. When the sequence is run, the data will be generated from simulation. The model library is described fully in Section 7.6 The Model Library. This is especially useful if you want to compare models or convert from one model type to another Combining the Device Subset and the Measurement Setup In the measurement sequence, each measurement setup is associated with a single device subset. The node names defined for the devices must match exactly to the node names defined for the measurement setup. The measurement will be performed for each of the devices defined by the device subset in turn Combining the Device Subset and the Extraction Setup In the measurement sequence, each extraction setup is associated with a single device subset. The extraction setup defines which extraction is to be performed and where the result is to be written. The measurement setup above the extraction setup in the sequence will be used to generate the dataset upon which the extraction will be performed. This means that you cannot place an extraction setup at the top of a device subset as you must have a measurement setup above the extraction setup. You can place multiple extraction setups after a measurement setup and each extraction will be performed on the same generated dataset. Figure 6-50 Figure A Correct and an Incorrect Measurement Sequence 97 Utmost IV User s Manual

97 Acquiring Data using the Measurement Sequence Acquisition Module Note: If the measurement immediately above the extraction setup is not performed, the extraction will not be performed Running the Measurement Sequence To run the measurement sequence, select Measure Run or click on the toolbar icon. When you run the sequence from idle, the following dialog will be opened. This allows you to select exactly which datasets you wish to measure and clearly shows if any datasets in the database will be overwritten. Figure 6-51 Selecting Devices to Measure Note: If you do not select a measurement that is associated with an extraction, then neither the measurement nor the extraction will be performed. Once the sequence is running, you may stop it by selecting Measure Stop or by clicking on the toolbar icon at any time. The sequence can be run in a continuous mode by selecting Measure Continuous from the menu or one measurement at a time by selecting Measure Single Step. When you are in single stop mode, the sequence will pause after each measurement or extraction. If the measurement is not to your liking, you may choose to re-measure the device by selecting Measure Remeasure from the menu or clicking on the Note: All measured datasets are stored immediately into the database. toolbar icon. 98 Utmost IV User s Manual

98 Acquiring Data using the Measurement Sequence Acquisition Module Capacitance Calibration and De-embedding When measuring any capacitance, it is important to account for the capacitance of the test system and only to measure the capacitance of the device under test. Calibration is a process where the measurement instrument itself is zeroed to remove the effect of the instrument, cables, probes, etc. De-embedding is a process where you measure the test setup without the device and subtract this measurement from the subsequent measurement of the device. Calibration is preferred where possible, but both methods can be used separately or even together. The recommended technique is to connect a dedicated open test structure and perform an open calibration using this structure before performing each capacitance measurement on your device. To calibrate the LCR instrument, select the capacitance measurement setup in the measurement sequence and then select Measure Calibrate from the project menu. The upper section of the dialog deals with the instrument calibration and the lower section deals with the measurement de-embedding as shown below. Figure 6-52 LCR Calibration and De-embedding Dialog Calibration To perform the instrument calibration, select the Open Short calibration type and then click on the Calibrate button. This will open the LCR Open Short Calibration dialog. You can perform Open or Short calibrations on the instrument or combine both. Typically, for capacitance measurements only the Open calibration is necessary. Connect the dedicated open test structure to the LCR instrument and then click on the Open button to perform the calibration. Once this calibration has been completed successfully, a check will appear on the dialog as shown below. 99 Utmost IV User s Manual

99 Acquiring Data using the Measurement Sequence Acquisition Module Figure 6-53 Successful LCR Open Calibration Once you have completed the calibration, you should click on the OK button to exit the dialog. Note: Note: If you have multiple dedicated open test structures for different devices, you should re-calibrate the instrument before each measurement. De-embedding You should always calibrate your LCR instrument if possible. It is more accurate to calibrate, than to use de-embedding to subtract two measurement results. Some older test equipment does not have built in calibration. This leaves you no choice but to perform de-embedding to remove the effect of the test system. If you want to perform de-embedding, you must set the de-embedding type to Open as shown below. Figure 6-54 Open De-embedding Enabled The open de-embedding measurement has not yet been performed. To perform this measurement, you click on the Measure button. When this has been successfully completed, this will be indicated in the dialog as shown below. 100 Utmost IV User s Manual

100 The Measured Datasets Acquisition Module Figure 6-55 Open De-embedding Measurement Completed When the open de-embedding measurement is completed, click on OK or Apply before closing the dialog, otherwise the de-embedding setting and open de-embedding data will be lost. The measured open de-embedding data is stored in memory. Later, when your device is measured from the measurement sequence, this open data will be automatically subtracted from the device measurement. Note: There is only one open de-embedding data. If you have different dedicated open test structures for different devices, you should re-measure the open de-embedding data before measuring each device Generating a Script Version of the Measurement Sequence The Utmost IV Script Module is described in Chapter 9 Script Module. In this module, you can run a script to perform the same operation as running the measurement sequence through the Acquistion module and much more. For rapid script development, you can create a script version of the project and the measurement sequence by selecting Measurement Export Script from the menu The Measured Datasets Once you run the measurement sequence, the datasets will be generated, either using instruments or by simulation, and stored in the database. Datasets that match those currently defined in the measurement sequence and that already exist in the database will always be shown in the Datasets Area. You can change their permissions, edit, delete, or export these datasets by selecting from the Dataset menu. Dataset management is described fully in Chapter 4 Datasets. The datasets may be sorted as described in Section 7.3 Sorting Datasets and also displayed in the viewer as described in Section 7.4 Displaying Dataset Plots in the Viewer. 101 Utmost IV User s Manual

101 Chapter 7 Optimization Module

102 Optimization Module The Optimization Project window will appear when a new project is created or an old project is opened. The Optimization Project window is divided into four areas. Window Area Dataset Selector Optimization Sequence Sequence Objects Status Log Used to search and retrieve datasets from the database and select these datasets for display, simulation, and optimization. Used to build an automated sequence for model parameter optimization. Holds the objects that are used to build the sequence. Displays warning, error, and status messages. Dataset Selector Optimization Sequence Sequence Objects Status Log Figure 7-1 The Empty Optimization Project Window Note: All changes to the project are made to a copy in memory and are not saved to the database until you perform a Save or a Save As operation. 103 Utmost IV User s Manual

103 Creating and Managing Searches Optimization Module 7.1 Creating and Managing Searches To perform a simulation or an optimization in the Optimization project, you need to select some datasets. To do this, you search in the database for the datasets you are interested in. The search manager allows you to create, edit and maintain one or more searches and can be opened by selecting Dataset Search Manager. Figure 7-2 Managing Searches When you press the New button, an empty search editor will open up as shown below. Figure 7-3 An Empty Search 104 Utmost IV User s Manual

104 Creating and Managing Searches Optimization Module You must enter a name for the search, and it must be different to the other search names in the project. You must also enter one or more search conditions. A search condition consists of a search parameter, a comparison, and a value. Select the search parameter from the available list, for example, 'temperature'. For the selected parameter, select the comparison type, for example, '='. Finally, enter a value, for example, '27'. Once the search condition is complete, you can Insert this into your search. Figure 7-4 Inserting a Search Condition into a Search Depending on the search parameter selected, the types of comparison available and the value type will change. For example, when entering a name, the comparison types available are '=' and '!=' and the value type is a string. For example, you can select the search parameter batch name, the condition '=', and the value 'b*'. This would have the effect of returning all batches that begin with the character 'b'. Search Parameter Type Comparisons Available Value Type Database =,!= user, group Date =,!=, <, <=, >, >= date Flag =,!= true/false Name =,!= string Number =,!=, <, <=, >, >= number Special =,!= type Special Attribute =,!=, <, <=, >, >= name and number When specifying a name, wildcards are supported. The character '*' will match zero or more characters, the character '?' will match exactly one character. 105 Utmost IV User s Manual

105 Creating and Managing Searches Optimization Module When two or more search conditions are inserted into the search, then they are combined with either an AND or an OR. Figure 7-5 Inserting Multiple Search Conditions into a Search Device attributes, such as W and L, are a very important part of the search. These are defined as shown below by the use of both a name and a value. Figure 7-6 Adding an Attribute Search Condition to a Search 106 Utmost IV User s Manual

106 Creating and Managing Searches Optimization Module Very complex searches can be built up using many combinations of search conditions and through the use of matched parentheses to group the search conditions. Figure 7-7 A More Complex Search 107 Utmost IV User s Manual

107 Searching for Datasets in the Database Optimization Module 7.2 Searching for Datasets in the Database To retrieve datasets from the database, you must select a previously defined search in the Dataset Selector Area of the Optimization Project window. Figure 7-8 Datasets Retrieved from the Database Using a Search When the search is performed, some additional search conditions are added to the selected search. These additional search conditions come from the netlist described in Section 7.5 Defining the Netlist for Simulation. Figure 7-9 Netlist Definition Showing the Device Nodes and Attributes of Interest 108 Utmost IV User s Manual

108 Searching for Datasets in the Database Optimization Module The additional search conditions, which are added to the search when performing the dataset retrieval from the database, are as follows. Node names of all datasets must exactly match the netlist node names. All attributes in the netlist must exist in the dataset. This helps to ensure that all datasets retrieved can be subsequently simulated and optimized in the Optimization Project window. Note: If you are having problems finding your datasets, check your netlist. 109 Utmost IV User s Manual

109 Sorting Datasets Optimization Module 7.3 Sorting Datasets Once datasets are retrieved from the database, they will be sorted and displayed in the Dataset Selector Area. To assist the visualization of the datasets, you can change the components of the sort and the sort order. To do this, select Dataset Sort. In the dialog you can add, remove, and change the order of the sort components. Figure 7-10 Changing the Sort Components and Order Removing a sort component will remove this item from the Dataset Selector Area. For example, if you are not interested in the Measurement Setup Names, simply remove it in this dialog. Similarly, if you prefer to see all of the plots sorted per device name, simply move the Plot sort component below the Device sort component. 110 Utmost IV User s Manual

110 Displaying Dataset Plots in the Viewer Optimization Module 7.4 Displaying Dataset Plots in the Viewer A dataset can contain a large amount of data and is difficult to see patterns when looking at a simple table of the data values. If you display this same data graphically as a plot, then it will become easier to understand and to analyze the device behavior. Each dataset contains one or more of these plots that will show in the Dataset Selector Area. Figure 7-11 Dataset Selector Area Containing Multiple Selected Plots To display a plot in the viewer, select one or more plots from the Dataset Selector Area and select Dataset Plot from the menu or click on the toolbar icon. When you plot data this way, any existing plots in the viewer will always be overwritten. If you want to keep the existing plots in the viewer, and add these new ones to them, then select Dataset Append Plot from the menu. Note: There is no limit to the number or type of these plots that can be displayed in the viewer. Once you have created an optimization sequence as described in Section 7.16 Automation Using the Optimization Sequence, then you can display the data involved with an optimization by selecting an optimization setup in the sequence and then selecting Optimization Show Plots from the menu. When you show data from the optimization sequence this way, the existing plots in the viewer will always be overwritten. 111 Utmost IV User s Manual

111 Displaying Dataset Plots in the Viewer Optimization Module Displaying Plots from Datasets with Multiple Sweeps A device measurement will typically involve changing the stimulus on the device in some way and measuring the device response. For example, you change the voltage on the gate terminal of a MOSFET and measure the change in current at the drain terminal. We describe this change in the stimulus on the device as a sweep. A measurement may involve moving more than one stimulus. For example, a dataset can have a sweep on the gate voltage and also a second sweep on the body voltage. When the dataset has more than one sweep, the data will consist of multiple traces. Figure 7-12 Dataset with Multiple Sweeps Display as Several Traces If there are a large number of these traces or if the traces are too close together, then it becomes very difficult to understand and analyze the device behavior. In practice, this would suggest that for two sweep measurements, the number of points in the second sweep should be kept to a low number. 112 Utmost IV User s Manual

112 Displaying Dataset Plots in the Viewer Optimization Module If the number of sweeps is greater than two, then it becomes even more difficult to identify where an individual trace resides in the multi-dimensional sweep space. Figure 7-13 Datasets with Multiple Sweeps Can Be Difficult to Analyze If your dataset has too many traces or if the traces are too close together, you can ask Utmost IV to display each trace separately on a different graph as described below. This will make it much easier to analyze the device behavior. Figure 7-14 Splitting Multiple Traces into Separate Graphs Makes Analysis Easier 113 Utmost IV User s Manual

113 Displaying Dataset Plots in the Viewer Optimization Module For datasets with more than one sweep, the traces will be plotted according to your preference. From the Utmost IV main window, select Edit Preferences to open the User Preference dialog. Then in this dialog, select Tools Waveform Viewer. You can select which method for viewing from the Split multi-trace plots pull down list. The three available methods are as follows. Figure 7-15 User Preferences for the Viewer Method No Splits Splits on same Chart Splits on different Chart All traces are drawn together on a single chart as a single object. Each trace from each plot is drawn separately but on a single chart. Each trace from each plot is drawn separately on a separate chart. This allows fine control over how to visualize the data. The following shows an example plot of the same data for each method. 114 Utmost IV User s Manual

114 Displaying Dataset Plots in the Viewer Optimization Module Figure 7-16 Single Plot Displayed in the Viewer with No Splits Selected Figure 7-17 Single Plot Displayed in the Viewer with Splits on Same Chart Selected 115 Utmost IV User s Manual

115 Displaying Dataset Plots in the Viewer Optimization Module Figure 7-18 Single Plot Displayed in the Viewer with Splits on Different Charts Selected 116 Utmost IV User s Manual

116 Displaying Dataset Plots in the Viewer Optimization Module Displaying Additional Information about the Dataset in the Viewer When you display your measured data in the viewer, you can also include additional information that describes the data that is being displayed. The following additional information can be added to the plots. Information Temperature Keys Attributes Conditions Label Position Displays temperature on plot. Displays dataset keys on plot. Displays device attributes on plot. Displays measurement conditions on plot. Changes the position of the label added to the plot. From the Utmost IV main window, select Edit Preferences to open the Preferences dialog. Then in this dialog, select Tools Viewer. The default settings for the viewer are shown below. Figure 7-19 Default Settings for Viewer The Chart Labeling section allows you to select the information you want to be shown on your plots. With the default settings, a typical plot will appear as shown below. 117 Utmost IV User s Manual

117 Displaying Dataset Plots in the Viewer Optimization Module Adding Temperature Information Figure 7-20 Plot using Default Settings By default, the temperature information for each dataset will be displayed in the title of the plot as shown above. You can choose the following to show the temperature on the plot. Setting None On Title On Label Doesn t show temperature on the plot. Shows the temperature on the plot title. (Default) Shows the temperature on a label added to the plot. If you select On Label, the temperature will be displayed as shown below. Figure 7-21 Plot with Temperature shown on Label Note: When you select to show the temperature on the label, it will not be displayed on the title as well. 118 Utmost IV User s Manual

118 Displaying Dataset Plots in the Viewer Optimization Module Adding Dataset Key Information Every dataset has a number of keys as described in Section 4.1 Dataset Keys. By default, these keys are not shown on the plot but you can change the setting of this preference. Setting None On Label Doesn t show keys on the plot. (Default) Shows the keys on a label added to the plot. If you select On Label, the dataset keys will be displayed as shown below. Adding Dataset Attribute Information Figure 7-22 Plot with Keys shown on Label A dataset can have any number of attributes, such as W and L for a MOSFET transistor. By default, the attribute information for each dataset will be displayed on the title of the plot. You can change the setting of this preference. Setting None On Title On Label Doesn t show attributes on the plot. Shows the attributes on the plot title. (Default) Shows the attributes on a label added to the plot. If your dataset has a large number of attributes then the title can become very long. For example, a MOSFET with the attributes W, L, PS, AS, NRS, PD, AD, NRD as shown below. 119 Utmost IV User s Manual

119 Displaying Dataset Plots in the Viewer Optimization Module Figure 7-23 Plot with Title Including Many Attributes It is possible for a title to get so long that it is hidden by the viewer, especially if you display multiple plots at the same time. If you select On Label, the attributes are removed from the title and shown on a label added to the plot as shown below. Figure 7-24 Plot with Attributes shown on Label 120 Utmost IV User s Manual

120 Displaying Dataset Plots in the Viewer Optimization Module Adding Measurement Condition Information By default, the measurement conditions for each dataset will not be displayed on the plot. You can change this setting. Setting None On Label Doesn t show conditions on the plot. (Default) Shows the conditions on a label added to the plot. If you select On Label, the measurement conditions will be displayed as shown below. Figure 7-25 Plot with Measurement Conditions shown on Label Note: If the measurement condition information is already shown on the plot, it will not be added to the label. In the above plot, the VG sweep is already shown on the X axis and does not need to be included in the label as well. 121 Utmost IV User s Manual

121 Displaying Dataset Plots in the Viewer Optimization Module Selecting the Label Position By default, the label that will be added to the chart will be on the top left of the plot. You can change this setting. Setting Top Left Top Right Bottom Left Bottom Right Shows the added label on top left of of the plot. (Default) Shows the added label on top right of of the plot. Shows the added label on bottom left of of the plot. Shows the added label on bottom right of of the plot. If you select Bottom Right, the label will be displayed as shown below. Figure 7-26 Plot with Label Displayed on Bottom Right 122 Utmost IV User s Manual

122 Defining the Netlist for Simulation Optimization Module 7.5 Defining the Netlist for Simulation There is only one netlist defined in each Optimization project. This netlist defines the node names and attribute names of every dataset that will be used in the project (see Section 7.2 Searching for Datasets in the Database). Additionally, the netlist defines the SPICE netlist text that will be used during the simulation of all datasets. To view and edit the netlist, select Setup Netlist or click on the toolbar icon. There is no limit to the number of nodes, attributes, their names, or the complexity of the SPICE netlist text. Figure 7-27 A Compact Model MOS Netlist When reading from Utmost III logfiles, the datasets are automatically given the node names detailed below. To retrieve such datasets from the database, the node names in the netlist must also match. Module Diode: Bipolar: JFET: MOS: SOI 4 terminal: SOI 5 terminal: TFT: Node Names A C C B E S D G S BG D G S B D G S BG D G S BG B D G S 123 Utmost IV User s Manual

123 Defining the Netlist for Simulation Optimization Module Compact Model SPICE Netlist The SPICE netlist text must be written in valid SPICE syntax and should list all of the model elements that will be used to simulate the device you are interested in. For example, to simulate a compact MOS model, you only need to define a single element in the netlist. M1 D G S B NMOS W='W' L='L' In SPICE syntax, this defines a MOSFET element called M1 that uses a MOSFET SPICE model called NMOS and connects the four device nodes D, G, S, and B to the terminals of the element. All of the device nodes must be connected and none must be floating. This SPICE netlist text also shows how device attribute values can be passed into the simulation using the expression syntax as follows. In the example above, the expression is simply a single attribute name W and L. <parameter> = '<expression>' When the simulation is performed on the above netlist, the value of the attributes W and L for each different dataset will be passed to SPICE and used in the model element. Some other SPICE netlist text compact model examples are given below. D1 A C ndio 'W * L' M1 D G S B PMOS W = 'wid * 1e-6' L = 'len * 1e-6' AD= 'wid * 1.3e-6' Q1 C B E S NPN M1 D G S B Mymodel W=10e-6 L=1e-6 Attributes are not the only parameters that will be passed into the simulation using the expression syntax. The model library of the project contains a special model card called the PARAMS model card. The parameters of this model card can also be passed into the simulation using the expression syntax. R1 A B 'rvalue' C2 A C 'cvalue * 1e-12' Note: The names of parameters in the special PARAMS model card must not be the same as the name of an attribute. 124 Utmost IV User s Manual

124 Defining the Netlist for Simulation Optimization Module Macro Model Netlist There is no limit to the complexity of the SPICE netlist that can be defined. All of the netlist node names must be connected and none must be floating. Similarly, any internal nodes in the netlist must not be floating. Some examples are shown below. This netlist is suitable for high voltage MOS modeling. Figure 7-28 A Macro Model MOS Netlist This netlist is suitable for modeling the parasitic PNP on a vertical NPN transistor. Figure 7-29 A Macro Model Bipolar Netlist 125 Utmost IV User s Manual

125 Defining the Netlist for Simulation Optimization Module This netlist is suitable for modeling an inductor macro model. Figure 7-30 A Macro Model Inductor Netlist Reading from an External Model Library This netlist can be used to read a model from an external library file. Figure 7-31 Reading from an External Library File 126 Utmost IV User s Manual

126 Defining the Netlist for Simulation Optimization Module Exporting the Netlist The netlist can be exported as a subcircuit and be embedded into a hierarchical SPICE library file. On the netlist dialog, press the Export button, select the file where the netilst is to be written and the following will be shown. Figure 7-32 Exporting the Netlist Here, you can select the name and location of the subcircuit. The order in which the node names will appear and the default values for any passed parameters. Note: If you select to overwrite an existing subcircuit, the entire subcircuit will be replaced. This includes any models or parameters defined within the subcircuit. 127 Utmost IV User s Manual

127 The Model Library Optimization Module 7.6 The Model Library The model library contains a collection of model cards, including the special PARAMS model card. This special model card allows you to pass parameters directly into the netlist (see Section 7.5 Defining the Netlist for Simulation) and into the expression definition of other model parameters. All model cards will be used during SPICE simulation of the datasets. To view and edit the model library, select Setup Model Library or click on the toolbar icon, which will open the model library window. Figure 7-33 Viewing and Editing the Model Library A model library contains one or more model cards. Each model card has a type, for example NMOS, except the special PARAMS model card that has no type. You can view each model, one at a time, by selecting its name from the pull down list of model names. Each model card can contain many parameters and the names of these parameters must be unique within the given model card. As well as the parameter name, you can give the parameter a value and a minimum and maximum range limit. The minimum and maximum range limits are used during parameter optimization. When setting the parameter value, there are three columns in the model library that you can choose: the Optimized value, the Fit Initial value, and the User Initial value. These three columns may be thought of as three separate SPICE models. The column or SPICE model to be used during simulation is selected from the Simulation menu. Note: During optimization, the Optimized column will always be used. 128 Utmost IV User s Manual

128 The Model Library Optimization Module Having immediate access to multiple SPICE models is very useful when comparing the difference in model parameters between two or more SPICE models. It is also very useful to be able to simulate the characteristics of one model and then overlay the simulation from a second model. Marking a parameter means that this parameter will be used during optimization and rubberbanding (see Section Marking and Unmarking Model Parameters) Creating a New Model Card In model library window, select Model New to add a new model card. This will open a dialog where you can select the model name, the model type, and a template. The template will read a predefined model and will create this in the model library. If no template is selected, an empty model card is created. Figure 7-34 Creating a New Model Card Note: The name of the model card must not be the same as other model cards in the model library. 129 Utmost IV User s Manual

129 The Model Library Optimization Module Copying a Model Column Each model card consists of several columns, and each of the Optimized, Fit Initial, and User Initial columns may be thought of as individual SPICE models. You can use the Simulation menu to change which of the three SPICE models will be used when simulating a dataset. To copy the model parameter values from one column to another, select Model Copy. In the dialog, you can select one source column and many destination columns. Figure 7-35 Copying a Model Column Note: The copy operates only on the currently displayed model Changing a Model Card A model card has both a name and a type. To change either, select Model Change and enter the new name and type into the dialog. For convenience, when renaming a model card, any references to this model card within the optimization setups (see Section 7.14 The Optimization Setup) can also be renamed automatically at the same time. Figure 7-36 Changing the Model Card Name and Type 130 Utmost IV User s Manual

130 The Model Library Optimization Module Duplicating a Model Card Section Copying a Model Column described how to copy a single column within a model card. To make a duplicate of the entire model card, select Model Duplicate Model and enter the name for the copy in the dialog. Figure 7-37 Duplicating a Model Card Note: The model duplication operates on the currently displayed model. Note: The new name must be different to the existing model card names in the model library Deleting a Model Card You can delete the currently displayed model card by selecting Model Delete. Note: There is no way to restore a model card once it is deleted, except from backup. Note: It is impossible to delete the special PARAMS model card Clearing the Model Library You can delete all model cards and all parameters from the special PARAMS model card by selecting Model Clear Model Library from the menu. Note: There is no way to restore a model card or a model parameter once it is deleted, except from backup. 131 Utmost IV User s Manual

131 The Model Library Optimization Module Importing Model Cards In the model library window, select Model Import Model Cards to import model cards from an external file into the project. The external file must be in standard SPICE format and may be hierarchical. In the first page of the import wizard, you select the external file containing the model cards and press the Next button. Figure 7-38 Selecting the External Library File for Model Card Import 132 Utmost IV User s Manual

132 The Model Library Optimization Module In the second page of the import wizard, you select the models that you want to import into the model library and the destination columns. If a model name already exists in the library, it will be overwritten during the import. Figure 7-39 Selecting the Model Cards for Import Note: Model cards that are overwritten cannot be recovered, except from backup. 133 Utmost IV User s Manual

133 The Model Library Optimization Module Importing Model Params The model params are simply the parameters of the special PARAMS model cards. These may be used to pass values into the expression definition of other model parameters and directly into the netlist. See Section 7.5 Defining the Netlist for Simulation for more information. In the model library external file, these model params are defined using the following syntax..param <paramname> = <paramvalue> To import model params from an external file into the project, select Model Import Params. The external file must be in SPICE format and may be hierarchical. In the first page of the import wizard, you select the external file containing the model params and press the Next button. Figure 7-40 Selecting the External File for Model Params Import 134 Utmost IV User s Manual

134 The Model Library Optimization Module In the second page of the import wizard, you select the model params that you want to import into the model library and the destination columns. If a model param name already exists in the library, it will be overwritten during the import. Figure 7-41 Selecting the Model Params for Import Note: Model params that are overwritten cannot be recovered, except from backup. 135 Utmost IV User s Manual

135 The Model Library Optimization Module Exporting Model Cards To export the model cards into an external SPICE format model file, select Model Export Model Cards. In the first page of the export wizard, you select the external file into which you will write the model cards and press the Next button. Figure 7-42 Selecting the External File for Model Cards Export 136 Utmost IV User s Manual

136 The Model Library Optimization Module In the second page of the wizard, you can select the model cards and the column you wish to export. You can also select the name of the library and the name of the subcircuit into which the model will be exported in the hierarchical SPICE format model library file. Figure 7-43 Selecting the Model Cards for Export Note: Model cards that are overwritten in the external library file cannot be recovered. 137 Utmost IV User s Manual

137 The Model Library Optimization Module Exporting Model Params The model params are simply the parameters of the special PARAMS model cards. These may be used to pass values into the expression definition of other model parameters and directly into the netlist. See Section 7.5 Defining the Netlist for Simulation for more information. In the model library external file, these model params are defined using the following syntax..param <paramname> = <paramvalue> To export model params to an external file, select Model Export Params. In the first page of the import wizard, you select the external file into which you will export the model params and press the Next button. Figure 7-44 Selecting the External File for Model Params Export 138 Utmost IV User s Manual

138 The Model Library Optimization Module In the second page of the wizard, you can select the model params and the column you wish to export. You can also select the name of the library and the name of the subcircuit into which the model will be exported in the hierarchical SPICE format model library file. You can also choose the format for the exported parameters. Selecting Single will export each parameter on a separate line, selecting Grouped will export the parameters together with a single.param statement and continuation lines where necessary. Figure 7-45 Selecting the Model Params for Export 139 Utmost IV User s Manual

139 The Model Library Optimization Module Exporting Model Library to Spayn The previous sections dealt with export of model cards and params into SPICE format files. This section will deal with exporting both model cards and params into comma separated variable Spayn format files. To do this, select Model Export To Spayn. In the first page of the import wizard, you select an existing Spayn file or create a new file to export the parameters into and press the Next button. Figure 7-46 Selecting the External File for Export To Spayn 140 Utmost IV User s Manual

140 The Model Library Optimization Module In the second page of the wizard, you select all of the model names that you want to export. You also select the column from which you want to export the models. Figure 7-47 Selecting Model Card Names for Export To Spayn In the example below, two model cards were selected, model1 and model2. Each model had only a single parameter. model1 had a parameter called param1 with a value of 1.1. model2 had a parameter called param2 with a value of 2.2. Row, model1/param1, model2/param2 1, 1.1, 2.2 When exporting to an existing Spayn file, a new row will be created. If the new row does not contain all the columns of the existing file, a blank entry will be created in the new row for that column. If the new row contains additional columns, then blank entries will be created in all of the existing rows for those columns, so that all rows will have equal numbers of columns. Row, model1/param1, model2/param2, model3/param3 1,1.1,2.2, 2,,, Utmost IV User s Manual

141 The Model Library Optimization Module Inserting Model Parameters To add an additional parameter in current model card, select Parameter Insert. In the dialog, enter the new model parameter name and press the Apply button to insert above or below the current line in the model library. To stop inserting parameters, press the Close button. Figure 7-48 Entering a New Model Parameter Name Note: The new model parameter name must be different to those already in this model card Renaming a Model Parameter To rename, select the parameter and then select Parameter Rename from the menu. Figure 7-49 Renaming a Model Parameter Note: The new parameter name must not be the same as any other parameter in this model card Editing Model Parameters You can directly edit the value of any model parameter in the model library window. This means that the optimized, fit initial, user initial, expression, minimum, and maximum values may be modified or even removed. Note: All changes cannot be recovered, except from backup Deleting Model Parameters To delete model parameters from the model card, select all of the parameters you wish to delete, and then select Parameter Delete. Note: Once parameters are deleted, they cannot be recovered, except from backup. 142 Utmost IV User s Manual

142 The Model Library Optimization Module Marking and Unmarking Model Parameters A parameter that is marked in the model library is marked for optimization. When an optimization is run directly from the viewer, the marked parameters are the ones that are optimized. When a rubberband optimization is selected, the marked parameters are the ones that are initially selected when the rubberband dialog is shown. You can mark or unmark a single parameter, one at a time, using the checkbox in the Mark column of the model library window. To mark and unmark multiple parameters, select those parameters and select Parameter Mark or Parameter Unmark. To unmark all parameters in the model card, select Parameter Unmark All. Note: Parameters with blank values in their optimized, minimum, or maximum columns cannot be marked. Note: Parameters with their optimized value less than their minimum or greater than their maximum cannot be marked. Note: Parameters defined by expressions cannot be marked. 143 Utmost IV User s Manual

143 The Model Library Optimization Module Using an Expression to Define a Model Parameter As described in Section 7.6 The Model Library, a model parameter is usually defined in terms of a parameter name and a parameter value. VTH0 = 0.7 It is also possible to define a parameter in terms of an expression, which is a function of other variables. VTH0 = d_vth0 The other variables may be parameters from the special PARAMS model card (e.g., d_vth0) or may be attributes of the device being simulated (e.g., L). VTH0 = * L A model parameter is either defined in terms of values or in terms of an expression. To change between the two modes, select the parameters of interest and select either Parameter Values or Parameter Expression. The parameter expression must be defined using a valid SPICE syntax. Any variables that are not device attributes must be defined as parameters in the special PARAMS model card. Figure 7-50 Model Parameter Defined Using Expression 144 Utmost IV User s Manual

144 The Model Library Optimization Module When a parameter is defined in terms of an expression, it cannot be part of an optimization and the minimum and maximum range limits have no meaning. In this case, rather than optimizing the expression, you must optimize the variables that are used in the expression. Since the device attributes are fixed, this means that you must optimize the parameters from the special PARAMS model card that are used in the expression. For each of these special parameters, you will need an initial optimized value, a minimum range, and a maximum range limit to be able to include these in an optimization. Figure 7-51 Setting up Special Parameters for Expression Optimization Note: An expression may be defined in terms of another expression. The special PARAMS model parameters may be optimized separately or at the same time as any other value defined model parameter. Figure 7-52 Optimize Model Parameters and Expression Parameters at the Same Time 145 Utmost IV User s Manual

145 Defining Extractions Optimization Module 7.7 Defining Extractions An extraction is a way to take a dataset and to extract from this a single performance metric number. For example, you can take a dataset that contains a drain current versus gate voltage sweep for a mosfet and from this extract the threshold voltage value. To edit the extractions, select Setup Extractions from the project menu or click on the icon on the toolbar. Figure 7-53 Editing the Extractions An extraction is defined by the following information. Field Name Expression The name of the calculated characteristic. A mathematical description of the function. The expression can be defined using the mathematical operators (+, -, *, /) and the following built-in functions. The functions below take one input. abs( ) arg( ) cos( ) exp( ) mag( ) pow( ) sin( ) tan( ) acos( ) asin( ) atan( ) ceil( ) conj( ) cosh( ) imag( ) loge( ) norm( ) real( ) sinh( ) sqrt( ) tanh( ) floor( ) log10( ) phase( ) You can include device attributes, such as width and length into an extraction using the attr() syntax. You can include the temperature using the key(temperature) syntax. It is also possible to include variables from the project into the extractions using the var() syntax. attr(l) key(temperature) var(myvar) 146 Utmost IV User s Manual

146 Defining Extractions Optimization Module You can manipulate arrays of data using the following functions. The element function returns the value of the array at the given index. If a dataset has multiple sweeps and is not of the table type, you can use the trace function to return a particular sweep trace. element(array,index) length(array) trace(array, trace number) slice(array, begin index, end index) The following function is a special function for use with AC and Noise datasets. If a dataset has multiple DC bias sweeps and is not of the table type, you can use the bias_trace function to return a particular DC bias sweep trace. bias_trace (array, trace_number) The following functions return a single value. min() max() mean() The derivative function returns an array. derivative(xarray, yarray) The find_x_given_y extraction takes five inputs and will return the value of x given the corresponding value of y. find_x_given_y (xarray, yarray, yvalue, lin, forwards) Input 1 The x array. 2 The y array. 3 The value of y to search for. 4 Interpolation performed as lin or log. 5 Search forwards or backwards through the array. The following linear fit functions return a single value. If the method is set to maxslope, then the tangential line from the point of maximum slope is fitted. If the method is set to lsq, then a least square fit is made to the entire curve. slope (xarray, yarray, method) yintercept (xarray, yarray, method) xintercept (xarray, yarray, method) The remaining functions are special functions built in for commonly used device extractions. 147 Utmost IV User s Manual

147 Defining Variables Optimization Module Linear Threshold Voltage vt_lin(vg, id, vd, trace number) This is the equivalent of the following extraction. xintercept (trace(vg,trace number), trace(id, trace number), maxslope) - mean(trace(vd, trace number))/2 Saturated Threshold Voltage vt_sat(vg, id, trace number) This is the equivalent of the following extraction. xintercept (trace(vg, trace number), sqrt(trace(id, trace number)), maxslope) Threshold Voltage at Current vt_at_current(vg, id, current, trace number) This is the equivalent of the following extraction. find_x_given_y (trace(vg, trace number), trace(id, trace number), current, log, backwards) Linear Transconductance gm_lin(vg, id, trace number) This is the equivalent of the following extraction. slope (trace(vg, trace number), trace(id, trace number), maxslope) Note: An extraction must return a single value and not an array of values. 7.8 Defining Variables A variable can be used in an extraction and can also be written to as the result from an extraction. A full description is given in Section 6.5 Defining Variables. 148 Utmost IV User s Manual

148 Comparing Measured and Simulated Data Optimization Module 7.9 Comparing Measured and Simulated Data A dataset contains measured data together with a description of how that measurement is performed. When you display dataset plots in the viewer, you are displaying the measured data as described in Section 7.4 Displaying Dataset Plots in the Viewer. We are now interested in comparing the measured data to simulated data from the SPICE simulator. Utmost IV will simulate all the necessary datasets, perform all calculations, and overlay the simulated data on the same plots as the measured data automatically with a single mouse click. After displaying the measured data in the viewer, simply select Utmost Simulation from the viewer menu or click on the viewer toolbar icon. Note: For a successful simulation, the netlist definition must be correct and all models referenced in the netlist must be present in the model library or referenced in external files. If the simulation is unsuccessful, details of the problem will be displayed in the Status Log Area of the Optimization Project window. When the simulation is complete, the simulated data will be automatically overlaid on the same plots as the measured data. A percentage error may also be displayed on each plot describing the goodness of fit of the current simulation. Figure 7-54 Simulated Data is Automatically Overlaid after Simulation Completed 149 Utmost IV User s Manual

149 Error Calculation Optimization Module 7.10 Error Calculation Fundamental to the comparison of measured versus simulated data and to SPICE model optimization is the calculation of an error metric that accurately describes how close the simulated data approaches the measured data. Utmost IV uses a sophisticated method for calculating this error metric that can be controlled from the User Preference dialog. To open this dialog, select Edit Preferences from the main Utmost IV window and select Preferences Error Calculation. Figure 7-55 User Preferences for the Error Calculation 150 Utmost IV User s Manual

150 Error Calculation Optimization Module Linear and Logarithmic Data Depending on the axis on which the data is displayed and the user preference, the individual data point errors will be calculated in the following ways. Linear Data Data that is displayed on a linear axis will use one of the two following error calculation methods, depending on the Linear Error Method preference you set. Linear Error = (sim - meas)/meas Linear Difference Error = 2 * (sim - meas)/(sim + meas) Logarithmic Data Data that is displayed on a logarithmic axis will always use the following error calculation method. Logarithmic Error = [log(abs(sim)) - log(abs(meas))]/log(abs(meas)) Note: It does not matter whether the data is displayed on the X, Y, or Y2 axes of a cartesian plot, the errors will be calculated correctly. Figure 7-56 Linear and Logarithmic Displayed Data Calculate Errors Differently 151 Utmost IV User s Manual

151 Error Calculation Optimization Module Data Floor Measured data values that are between -floor and +floor will be excluded in the calculation of errors. The value of the data floor defaults to a value of 1e-18. To switch off the exclusion of data using the data floor, simply set the value of the data floor to zero in your preference Effect of Boxes on Error Calculation Boxes are used to limit the regions of measured data that will be used to calculate the error metric. Boxes can also be given different weights, which can be used to increase the importance of any given data when estimating the error metric. Multiple boxes can be defined on each plot. If a data point exists inside more than one box, its weight will be the maximum value of weight of all those boxes. For example, a data point exists in three boxes of weight: 1, 5, and 10. The weight given to that data point will be 10, the maximum weight of the three boxes. To add a box to a plot, select Object Add Rectangle from the viewer menu or click on the viewer toolbar icon. You can change the box weight by selecting the box and editing the preferences. Note: If a single box is drawn on a plot and no measured data is contained within it, then no error will be calculated for that plot. This is useful if you wish to view data that will be excluded in the calculation of the error metric (for example, during an optimization). Figure 7-57 A Plot showing Multiple Defined Boxes 152 Utmost IV User s Manual

152 Error Calculation Optimization Module Outlier Removal For each data point, an error value will be calculated giving a population of error values. If outlier error values exist within this population, these will distort the error metric and disrupt the operation of the optimization algorithms. For example, if there are 101 error values, 100 of which are 1% and the last error value is 1000%, the root mean square (RMS) error will be calculated as 99.5% error. This is clearly not a very good representation of the population of errors. If this error metric were being used in an optimization, the optimizer will spend a lot of time trying to reduce this single error and sacrifice the already good fit for the rest of the data. Utmost IV automatically removes outlier error values from the population to further improve the speed and accuracy of the optimization algorithms. By selecting the number of Outlier Deviations, you can control how far away an individual error must be from the average error before it will be excluded from the population Displaying the Error on the Viewer The root mean square (RMS) error will be displayed on each plot in the viewer according to your Display in Viewer preference. 153 Utmost IV User s Manual

153 Using Rubberband to Explore and Modify Model Parameters Optimization Module 7.11 Using Rubberband to Explore and Modify Model Parameters Sections 7.4 Displaying Dataset Plots in the Viewer and 7.9 Comparing Measured and Simulated Data describe how to display the measured data and how to perform a simulation and overlay the measured and simulated data in the viewer. By doing this, you can see how well the current model parameters predict the performance of the measured device. You can directly modify the model parameter values in the model library and re-simulate. However, this will be very inefficient if you need to repeat many times. The rubberband feature provides a user friendly, fast, and intuitive way to explore how various model parameters affect the simulated characteristics. From the viewer menu, select Utmost Rubberband or click on the viewer toolbar icon to start rubberbanding. Figure 7-58 Using Rubberband to Modify the Model Parameter Values Note: When the Rubberband dialog is opened, any parameter marked in the model library will be automatically selected and displayed Selecting a Parameter to Rubberband To select a new model parameter to explore, select the model name from the available list. This will display all the available parameters defined in the model library for that model. Then, select the parameter name that will add this parameter into the list of Optimized Parameters on the right. Note: If you are unable to select a parameter from the list, this is because that parameter cannot be marked because of missing or incorrect value and minimum or maximum range. You must correct this in the model library before opening the Rubberband dialog. 154 Utmost IV User s Manual

154 Using Rubberband to Explore and Modify Model Parameters Optimization Module Modifying Parameter Values Once selected, you can change a parameter value by moving the slider or by typing in a new value. Utmost IV will then automatically perform all the necessary simulations, perform the error metric calculations, and update and overlay the simulated data on the viewer. You can also adjust the model parameter range directly. By moving the slider to adjust parameter values and simultaneously watching how the simulated characteristics are modified in real time, you can quickly learn what effect a parameter will have on the device simulation. The rubberband feature in Utmost IV is an invaluable teaching tool when learning a new model or when exploring the interactions between more complex macro-models in real time Saving the Parameter Modifications To save the new model parameter values to the model library, you can use the Apply or the OK button. This will also save any modifications to the parameter ranges and will mark only those parameters currently selected in the Rubberband dialog. If you click the Cancel button, then any modifications you made to the model parameters since your last save will be lost De-selecting a Parameter You can de-select a currently selected parameter by clicking on that parameter from the Model Parameter list on the left or by double-clicking on the parameter in the Optimized Parameters Area. If you attempt to de-select a parameter and it has been modified since you last saved to the model library, then you will see the following warning message. If you decide to unmark the parameter, the value will revert to the value that was last saved to the model library. Figure 7-59 Warning when Attempting to De-select Modified Parameter Reverting to the Last Saved Model Parameters You can discard all changes made since your last save by clicking on the Revert button. 155 Utmost IV User s Manual

155 Optimizing the Model Parameters from the Viewer Optimization Module Optimizing Model Parameters from Rubberband A very convenient feature is the ability to optimize the selected parameters directly from the Rubberband dialog. To do this, select one or more parameters and click on the Optimize button. This will perform an optimization on the currently displayed data in the viewer using the currently selected model parameters from the Rubberband dialog. During the optimization, the parameter values will be updated in the Rubberband dialog. This allows you to monitor the progress of the optimization and to quickly decide if a parameter range is incorrect. You can change the optimizer that will be used within the Rubberband dialog. The optimization algorithms that are available in Utmost IV are described in Appendix A Optimization Algorithms. While the optimization is in progress, you will notice that the button text will change to Stop that will allow you to terminate the optimization early. Note: When the Rubberband dialog is opened from the optimization sequence, the optimizer defined for that optimization setup will be selected. Otherwise, the project optimizer type will be selected Optimizing the Model Parameters from the Viewer After displaying the measured data in the viewer, you can run an optimization by selecting Utmost Optimize from the viewer menu or clicking on the viewer toolbar icon. This will perform an optimization on the currently displayed data in the viewer using the currently marked model parameters in the model library. Note: If there are no parameters marked for optimization in the model library, then no optimization will be run. The optimization algorithms available in Utmost IV are described in Appendix A Optimization Algorithms. To change the default algorithm, select Edit Preferences from the main Utmost IV window and select the Tools Optimizer section. You can then choose the optimizer you wish to use and modify any of the configuration parameters. 156 Utmost IV User s Manual

156 The Dataset Subset Optimization Module 7.13 The Dataset Subset A dataset subset is used to select a subset of the datasets that are currently displayed in the Data Selector Area of the Optimization Project window. To create a new dataset subset, select Create New Data Subset or click on the toolbar icon. To modify an existing dataset subset, double-click on it or select it and then select Edit Properties from the menu. Figure 7-60 Editing a Dataset Subset In the dataset subset, you use a search to select only the datasets that you are interested in. The datasets that match the conditions of the search are displayed on the left hand side of the dialog and are updated with every change you make to the search. See Section 7.1 Creating and Managing Searches for a detailed description of how to define a search. If you select an item from the dataset view on the left, then press the Populate button. This will fill in the search condition editor with the details of the item that you selected. Each dataset subset must have a unique name and all are contained in the Sequence Objects Area of the Optimization Project window. Figure 7-61 The Sequence Objects Area Showing the Dataset Subsets Note: To make a duplicate copy of a dataset subset, you must copy from and paste to the Sequence Objects Area. 157 Utmost IV User s Manual

157 The Optimization Setup Optimization Module 7.14 The Optimization Setup The optimization setup is used to describe exactly which data from the subset of datasets you are interested in using for this optimization. It also defines which model and which optimization algorithm will be used for this optimization step. To create a new optimization setup, select Create New Optimization Setup or click on the toolbar icon. To modify an existing optimization setup, double-click on it or select it and then select Edit Properties from the menu Choosing an Optimizer Figure 7-62 Editing an Optimization Setup You can select the optimization algorithm to use from the available list or simply choose to use your default optimizer. The optimization algorithms available in Utmost IV are described in Appendix A Optimization Algorithms. To change the default algorithm, select Edit Preferences from the main Utmost IV window and select the Tools Optimizer section. You can then choose the default optimizer you wish to use and modify any of the configuration parameters. 158 Utmost IV User s Manual

158 The Optimization Setup Optimization Module Defining the Optimization Target Data The Target table is used to define the data to be used during the optimization. Each target is defined as follows. Field Enabled Target 'vs' Scale Target Min/Max 'vs' Min/Max Trace Min/Max Box Weight A disabled target will not be used during the optimization. The name of the Y axis data. The name of the X axis data. The axis scale for both the X and Y axes. Optional box limits for the Y axis. Optional box limits for the X axis. Optional restriction on which traces to include in optimization. The weight applied to the box, if one is defined. If you do not specify any the box limits, then no boxes will appear on the plot. Box limits can be defined as absolute numbers or as percentage values of the data maximum. Note: The Target and 'vs' fields can both use the 'prim' keyword to indicate that these are only to be included if the name matches the primary sweep name of the dataset. See Section Combining the Dataset Subset and Optimization Setup. For example, prim(vg) only matches datasets whose primary sweep is called 'VG'. You can also plot extracted values versus a device attribute or versus temperature. For example, you can extract threshold voltage and plot versus device length or versus temperature. These plots of extracted parameters are optimized in the same way as regular device characteristics and you can optimize both simultaneously. To do this, you define an extraction as described in Section 7.7 Defining Extractions. Then, you write extr(<extraction name>) into either the Target or 'vs' field. To plot a device attribute, you use the syntax attr(<attribute name>) and as the temperature is a dataset key, you use the syntax key(temperature). Some examples are given below. Figure 7-63 Optimization Targets including Extracted Values Note: You must plot an extracted value versus a device attribute or temperature or another extracted value. 159 Utmost IV User s Manual

159 The Optimization Setup Optimization Module Choosing the Model Parameters to Optimize The Parameters table is used to define all of the model parameters that will be used for this optimization. You can set the range of each parameter. You can also disable a parameter to remove it from the optimization. Note: If there is no model parameter in the model library, or if the parameter cannot be marked, then it will be excluded in the optimization. Each optimization setup must have a unique name and all are contained in the Sequence Objects Area of the Optimization project window. Figure 7-64 The Sequence Objects Area Showing the Optimization Setups Note: To make a duplicate copy of an optimization setup, you must copy from and paste to the Sequence Objects Area. 160 Utmost IV User s Manual

160 The Extraction Setup Optimization Module 7.15 The Extraction Setup An extraction setup is used to select an extraction to be performed within the sequence and also to define where to write the result. To create a new extraction setup, select Create New Extraction Setup or click on the toolbar icon. To modify an existing extraction setup, double-click on it or select it and then select Edit Properties from the menu. Figure 7-65 An Extraction Setup Writing the Result to a Model Parameter The model parameter must already exist in the model library. Figure 7-66 An Extraction Setup Writing the Result to a Variable The variable name must already exist in the variables table. Note: In the optimization sequence, the dataset subset that is associated with the extraction setup must contain exactly one dataset. 161 Utmost IV User s Manual

161 Automation Using the Optimization Sequence Optimization Module 7.16 Automation Using the Optimization Sequence Previous sections of this chapter describe how Utmost IV can be used as an interactive engineering tool to explore and extract SPICE models. You can also use Utmost IV to construct a highly automated sequence of extractions and optimizations to generate a complete SPICE model from a given set of data. You can then use this sequence to repeat the same model extraction strategy over many different sets of data. The optimization sequence is built using three sequence objects: the Dataset Subsets, the Extraction Setups and the Optimization Setups. In the sequence, each optimization setup is paired to a single dataset subset and together they determine the optimization that will be performed for that step. Likewise, each extraction setup is paired to a single dataset subset. In this case, the dataset subset should contain only a single dataset upon which the extraction will be performed. Figure 7-67 An Optimization Sequence You may add the dataset subsets, the extraction setups and the optimization setups to the sequence by using copy/paste and by using drag/drop. An individual sequence object may appear multiple times in the optimization sequence. The object is not copied, the same object will simply be used multiple times within the sequence Combining the Dataset Subset and Extraction Setup In the optimization sequence, each extraction setup is associated with a single dataset subset. The dataset subset defines the single dataset upon which the extraction is to be performed. The extraction setup defines which extraction is to be performed and where the result is to be written Combining the Dataset Subset and Optimization Setup In the optimization sequence, each optimization setup is associated with a single dataset subset. The optimization setup alone defines the optimization algorithm and the model parameters for this optimization step. However, it is the interaction of the dataset subset and the targets of the optimization setup that define which data will be included. To be included as part of the optimization, each dataset returned by the dataset subset must contain data arrays that match both the Target and the 'vs' name from the optimization setup. For example, if the name is 'ID' and the 'vs' name is 'VG' and are included in the optimization, then the dataset must contain both 'ID' and 'VG' data arrays. 162 Utmost IV User s Manual

162 Automation Using the Optimization Sequence Optimization Module Multiple targets can be added to include more data into the optimization. The optimization setup shown below includes two targets that will display both 'ID' vs 'VG' and 'ID' vs 'VD' data plots. Figure 7-68 Optimization Setup with Multiple Targets If this optimization setup is combined with a dataset subset containing a single 'ID' vs 'VG' and a single 'ID' vs 'VD' dataset, then the following plots would be produced. Figure 7-69 Plots Generated by Multiple Targets 163 Utmost IV User s Manual

163 Automation Using the Optimization Sequence Optimization Module Instead of producing two plots, an additional 'ID' vs 'VG' plot has been generated. This additional plot comes from the 'ID' vs 'VD' dataset and was generated because in this dataset the second sweep is VG. If you only wish to generate plots and include data in the optimization from the primary sweep data, then you must use the 'prim' keyword to explicitly select only the primary sweep. In the previous example, to select only the 'ID' vs 'VG' plot from the datasets with primary sweep VG, the 'vs' field in the Target is changed to 'prim(vg)' as shown below. Figure 7-70 Optimization Setup with Target Containing 'prim' Keyword When this optimization is combined with the dataset subset of the previous example only datasets containing 'ID' and where 'VG' is the primary sweep will be included in the optimization and the following plots would be produced. 164 Utmost IV User s Manual

164 Automation Using the Optimization Sequence Optimization Module Figure 7-71 Plots Generated by Multiple Targets using the 'prim' Keyword Displaying the Data for the Optimization Step To verify which data will be included in the optimization, select the optimization setup in the sequence and select Optimize Show Plots from the menu. This will display all of the data for the optimization in the viewer, together with any defined boxes. Figure 7-72 A Paused Optimization Sequence 165 Utmost IV User s Manual

165 Automation Using the Optimization Sequence Optimization Module Running the Optimization Sequence To begin running the optimization sequence from the current position, select Optimize Run or click on the toolbar icon. Once the sequence is running, you may stop it by selecting Optimize Stop or by clicking on the toolbar icon. If you set the Project Sequence Run mode to 'continuous', then each step will run in sequence. If you set the run mode to 'single step', then only the current step will run and then the sequence will pause at the following step Changing the Current Position in the Sequence The current position is indicated by an status icon in the Status column of the Optimization Sequence Area. If the sequence is not running, it is from this position that the optimization will start when requested. To change the current position, select the extraction setup or the optimization setup in the sequence from where you wish to begin and select Optimize Set Position from the menu Inserting a Pause in the Sequence To insert a pause above an item in the sequence, select that item and select Optimize Insert Pause from the menu. Note: If you encounter a pause while running the sequence, the sequence will pause at the first available optimization setup following the pause Using Rubberband from the Optimization Sequence You can run rubberband from the viewer as described in Section 7.11 Using Rubberband to Explore and Modify Model Parameters. When you run from the viewer, the initial rubberband parameters are the parameters in the model library that are currently marked. The data for the optimization is the data that is currently shown in the viewer. You can also run rubberband directly from the optimization sequence by selecting an optimization setup and then selecting Optimize Rubber Band from the menu. In this case, both the data and the parameters to be optimized are set by the optimization sequence. Note: Only those parameters that can be marked in the model library and are selected in the optimization setup will be initially set in the Rubberband dialog. When you run rubberband from the optimization sequence, the data plots will be displayed and the Rubberband dialog opened automatically. The operation of this dialog is described in Section 7.11 Using Rubberband to Explore and Modify Model Parameters. Note: The parameters will be saved to the model library when you select OK or Apply from the Rubberband dialog. 166 Utmost IV User s Manual

166 Automation Using the Optimization Sequence Optimization Module Generating a Script Version of the Optimization Sequence The Utmost IV Script Module is described in Chapter 9 Script Module. In this module, you can run a script to perform the same operation as running the optimization sequence through the Optimization module and much more. For rapid script development, you can create a script version of the project and the optimization sequence by selecting Optimize Export Script from the menu. 167 Utmost IV User s Manual

167 Reporting Optimization Module 7.17 Reporting Report generation works together with the optimization sequence, which allows you to define the data and the plots you wish to include using already familiar Utmost IV objects. In the optimization setup, the optimization parameters are not used for reporting Automated Report Document Generation using the Sequence This feature allows you to generate a report document automatically. This document can be customized to include a header document, device plots, error tables, and the model library as required. The data and plots that will be generated are defined in the optimization sequence. To generate a report document, select Optimize Generate Report Document from the project menu that will open the dialog shown below. Figure 7-73 Generating a Report Document Field Directory File Name Document Format Header Document Plot Name Prefix The directory where the document and related files will be stored. The name of the generated report document. The format of the generated file. You can include your own document at the top of the generated report. An optional prefix to the plot names that are generated as part of the report. 168 Utmost IV User s Manual

168 Reporting Optimization Module Plot File Format Simulate Error Table Sort Layout Overwrite The embedded plot file format You can generate plots of only measured data or measured and simulated data. If simulation is being performed, either a full or a summary error table can be included in the report. You can decide the order in which the plots will appear in the report. You can choose how many plots will be grouped together. Allow existing files in the directory to be overwritten Automatic Plot File Generation using the Sequence This feature is used when a report document is not required, but many plots of the device characteristics are needed. When data is displayed in the viewer, you can generate a plot file by selecting File Export ToFile from the viewer menu. This will save a plot file to your file system. But this can be very time consuming if you have many plots to generate. To use this feature, select Optimize Generate Report Plot Files from the project menu and this will open the dialog shown below. Figure 7-74 Automatically Generating Plot Files Field Directory Prefix Format Overwrite Simulate The directory where you wish to store the generated plot files. An optional prefix to the generated file. The graphics file format. Allows you to overwrite existing files in the directory. Generate plots with measured and simulated data. 169 Utmost IV User s Manual

169 Reporting Optimization Module Figure 7-75 An Optimization Sequence As described in Section Displaying the Data for the Optimization Step, the data plots for each optimization step can be displayed using Optimize Show Plots. When generating the plot files, the same data will be shown in the viewer and an image of these will be stored to the file system. The filename will be automatically generated as follows. <prefix>_<datasubsetname>_<optimizationsetupname>.<filetypesuffix> For example, if you choose 'Portable Network Graphics' format and a prefix of 'myprefix' for the first item in the sequence shown above, then the file name will be as follows. myprefix_data_subset1_optim_setup1.png 170 Utmost IV User s Manual

170 Chapter 8 Developing your own SPICE Model using Verilog-A

171 Writing the Verilog-A Module Code Developing your own SPICE Model using Verilog-A The Verilog-A language provides a very simple way for anyone to develop their own device models. You can also take existing Verilog-A models and modify these to add new features. Utmost IV is a very powerful and easy to use tool for the development of Verilog-A models. Using Utmost IV, you can quickly modify a Verilog-A model, add in any new parameters, and immediately explore the new model to see how well it works. Utmost IV also allows for easy co-development of any new model and the extraction sequence for extracting this model. This chapter will introduce you to writing a Verilog-A model, but it is beyond the scope of this manual to describe the full extent of this language. For further details, please refer to the SmartSpice Verilog-A Language Reference Manual. 8.1 Writing the Verilog-A Module Code The module code is written into an external file in ASCII format. A simple diode model is shown below and the various module sections will be described here. Figure 8-1 A Typical Verilog-A Module Code File Note: The file containing the module code must have a.va extension. 172 Utmost IV User s Manual

172 Writing the Verilog-A Module Code Developing your own SPICE Model using Verilog-A The Module Definition The top line of the module defines the name of the module and the order of the electrical connections for the netlist. The entire module code is contained between this line and the 'endmodule' line. Multiple modules can be defined within the same file. module mydiode(anode, cathode);... endmodule The Electrical Connections Here, you define the input and output nodes and the electrical terminals. Note that if you have internal nodes, then the number of electrical terminals will be greater than the number of input and output nodes, but it cannot be less. inout anode, canode; electrical anode, cathode, int; The Parameters A parameter is a field that can be passed down into the module code from the SPICE netlist instance or from the model card. For example, a parameter could be the width of the device or it could be the MOSFET threshold voltage. parameter real W = 10e-6; parameter real vth0 = 0.7; A parameter should be defined as being either real or integer. If you do not define the parameter type, the value assigned to the parameter will be used to determine its type. In other words, if you assign the value 1 to a parameter, it will be an integer type and if you assign the value 1.0, it will be a real type. parameter will_be_integer = 1; parameter will_be_real = 1.0; Parameters can be limited in many ways and this is generally recommended to avoid computation problems such as divide by zero. Some examples of parameter limiting are shown below. parameter real isat= 1p from [0:inf]; parameter integer mobmod = 1 from [1:3]; parameter real val1 = [-1:5] exclude 0; parameter real val2 = [val1:inf]; 173 Utmost IV User s Manual

173 Writing the Verilog-A Module Code Developing your own SPICE Model using Verilog-A Variables for internal Use These are very similar to parameters except these are not passed down to the module code from the netlist instance or from the model card. To define an internal variable that is not a parameter, you simply omit the name Parameter. Some examples are shown below. will_be_real = 1.0; will_be_integer = 1; real myreal = 27; integer i = 0; These variables can then be used in calculations within the model itself The Analog Code Section Here, the real work of the Verilog-A Model is performed. The statements are grouped together in a begin/end block. These statements define how the node voltages and currents are calculated. The <+ syntax is used to add to the device currents and voltages. If you have more than one current or voltage contribution, you can add these using separate <+ statements. This section of the code can be as complicated as is required and can include 'if' blocks to change the behavior of the model in different operating regions. In this example, a different expression is used for current when the diode is in breakdown versus when it is in regular operation. if (V(anode, int)>(-1*bv)) I(anode, int) <+ isat * (exp(v(anode, int)/ (n*$vt)) - 1); else I(anode, int) <+ -1 * isat * (exp(-1 * (bv + V(anode, int))/ (nr*$vt))); Note that $vt is a built in function which returns the thermal voltage (kt/q). 174 Utmost IV User s Manual

174 Adding a Verilog-A Model Card into the Model Library Developing your own SPICE Model using Verilog-A Adding Capacitance into a Verilog-A Model In Verilog-A, capacitance is added to a device by using the ddt function, which is a derivative with respect to time. Since current can be expressed as the charge per second, then typically the capacitance is defined as follows. I(anode, cathode) <+ ddt (charge)); Now for a capacitor the charge is the capacitance multiplied by the voltage, this gives the following expression. I (anode, cathode) <+ ddt (cap * V(anode, cathode)); For a diode, the depletion capacitance expression and depletion capacitance parameters are then added to define the capacitance value. Note that the capacitance value is limited in forward bias to avoid convergence issues with the model that would otherwise occur. parameter real cj0=5e-12; parameter real mj=0.5; parameter real vj=0.5; real cap; analog begin cap = cj0 * pow((1 V(anode, cathode)/vj),-1*mj); cap = min (cap, cj0*3); I(anode, cathode) <+ ddt(cap * V(anode, cathode)); end 8.2 Adding a Verilog-A Model Card into the Model Library From the model library window, select Model New to open the new model dialog as shown below. From this menu, select the VLG model type and enter the name of your new model. Figure 8-2 Adding a Verilog-A Model Card Once the VLG model is added, you must add parameters into the model card. The first model parameter must be called 'module' and must contain the name of the module that you defined in the code from the previous section. To do this, add the parameter, then change this parameter to be an expression, then type in the module name as shown below. 175 Utmost IV User s Manual

175 Adding a Verilog-A Model Card into the Model Library Developing your own SPICE Model using Verilog-A Figure 8-3 Adding the Module Name to the Verilog-A Model Card Then, you can add the other model parameters just as you would for any standard SPICE model card. Once you have added in the model card, this can be imported, exported, and copied into other projects in just the same way as any other SPICE model. Figure 8-4 Adding other Parameters into the Verilog-A Model Card Note: The module parameter must be the first parameter specified in the Verilog-A model card and the name of the module must match the name defined in the Verilog-A module code. 176 Utmost IV User s Manual

176 Adding a Verilog-A Element into the Netlist Developing your own SPICE Model using Verilog-A 8.3 Adding a Verilog-A Element into the Netlist There are two steps to adding your Verilog-A element into the netlist. The first step is to load the Verilog-A module code. This is done by the following command..verilog "<your.va file name>" The second step is to define the Verilog-A element, using the YVLG element prefix. For example, the following command inserts a Verilog-A element which uses the Verilog-A model card 'verilog_diode' and connects to two electrical terminals a and c. YVLG1 a c verilog_diode Both of these commands are placed inside the netlist in your project as shown below. Figure 8-5 Netlist containing Verilog-A Element and Module Code 177 Utmost IV User s Manual

177 Adding a Verilog-A Element into the Netlist Developing your own SPICE Model using Verilog-A Once the module code is defined, the Verilog-A model added into the model library and the netlist updated as shown above, you can simulate using this Verilog-A model in exactly the same way as you would for a standard SPICE model. Figure 8-6 Simulation of Diode Characteristics using Verilog-A Model 178 Utmost IV User s Manual

178 Rubberbanding your Verilog-A Model with SmartSpice Developing your own SPICE Model using Verilog-A 8.4 Rubberbanding your Verilog-A Model with SmartSpice Verilog-A models are fully supported by Utmost IV in just the same way as any of the standard SPICE models. This means that you can simulate, optimize, and also rubberband your Verilog-A model parameters. During Verilog-A model development, this is very important for exploring the behaviour of the new model. Figure 8-7 Rubberband Verilog-A Model 179 Utmost IV User s Manual

179 Combining Verilog-A Models and other SPICE Models Developing your own SPICE Model using Verilog-A 8.5 Combining Verilog-A Models and other SPICE Models Once defined, a Verilog-A model can be thought of in exactly the same way as any other SPICE model. Just as Utmost IV can be used to develop a Macro Model using standard SPICE models, it can also be used to develop macro-models containing any number of Verilog-A models together with any number of standard SPICE models. You simply have to define the macro-model connections in your netlist, as in the example shown below, then add the appropriate model cards into the model library. Figure 8-8 Macro-Model Development with Verilog-A and SPICE Models 180 Utmost IV User s Manual

180 Combining Verilog-A Models and other SPICE Models Developing your own SPICE Model using Verilog-A Once you have done this you can optimize the parameters of any of the SPICE and Verilog-A models at the same time or separately, depending on your requirements. Figure 8-9 Optimize Verilog-A and SPICE models Together 181 Utmost IV User s Manual

181 Chapter 9 Script Module

182 Running a Script Directly Script Module Utmost IV can be controlled and run automatically using a JavaScript based scripting language. Many books and on-line resources are available to learn more about this language. In JavaScript, an object is defined and this object can have multiple methods or commands associated with it. The complete list of Utmost IV JavaScript objects and their commands is given in this chapter. 9.1 Running a Script Directly A script may be run directly from the command line as follows. utmost4 -s myscript.js 9.2 Running a Script using the Command Line Interface Utmost IV can be run in a command line interface mode from the command line as shown below. These same commands are also available when running Utmost IV from DeckBuild. utmost4 -cli Once in this mode, the following commands are available. Command load script "/tmp/myscript.js" script begin script end run script quit Deletes the existing script and loads a new script from the named file. Deletes the existing script and tells Utmost IV to start reading the input into the script. Tells Utmost IV to stop reading the input into the script. Run the script. Exits Utmost IV. 9.3 Automatically Creating a Script from a Project A convenient method to automatically generate a script version of a project sequence has been described in Section Generating a Script Version of the Optimization Sequence for the Optimization Module and in Section Generating a Script Version of the Measurement Sequence for the Acquistion Module. These automatically generated scripts can be run exactly as they are, or can be further modified and customized. Note: In this chapter, the symbol [] will refer to an array of JavaScript objects. For example, an array of DataSets will be shown as DataSets[]. 183 Utmost IV User s Manual

183 Silvaco.Utmost4 Object Commands Script Module 9.4 Silvaco.Utmost4 Object Commands The Silvaco.Utmost4 object is the main JavaScript object in the Utmost IV Script Module. It does not have to be created as it is created automatically when the script is run getdatafromsimulation2 Syntax dataset getdatafromsimulation2 (temperature, batchname, wafername, diename, device, meassetup, variable [], wafermap, netlist, modellibrary, simcol) Performs a simulation to generate measured data in the resulting dataset based on the following arguments. temperature batchname wafername diename device meassetup variable [] wafermap netlist modellibrary simcol A number containing the temperature value. A string containing the name of the batch. A string containing the name of the wafer. A string containing the name of the die. A Device object A MeasSetup object An array of Variable objects A WaferMap object A Netlist Object A ModelLibrary Object A string containing the name of the column in the model library to be used. Must be one of "optval", "fitval", or "usrval". Throws a JavaScript Error object if any of the arguments are invalid. Example mydataset = Silvaco.Utmost4.getDataFromSimulation2 (27, "lot1", "1", "1", mydevice, mymeassetup, vars, mywafermap, mynetlist, mymodellibrary, "optval"); Note: The function 'getdatafromsimulation', which omits the WaferMap argument, has been deprecated. 184 Utmost IV User s Manual

184 Silvaco.Utmost4 Object Commands Script Module makeattribute Syntax Attribute makeattribute (name, value) Constructs an attribute object based on the following arguments. name value A string containing the name of the attribute. A number containing the attribute value. Throws a JavaScript Error object if the inputs are unacceptable. Example myattribute = Silvaco.Utmost4.makeAttribute ("W", 10e-6); makedevice Syntax Device makedevice (name, devicetypename, groupname, nodes, attrs) Constructs a Device object based on the following arguments. name devicetypename groupname nodes attrs A string containing the name of the device. A string containing the device type name of the device. A string containing the group name of the device. An array of DeviceNode objects. An array of Attribute objects. Throws a JavaScript Error object if the inputs are unacceptable. Example mydevice = Silvaco.Utmost4.makeDevice ("n10x10", "nmos", "", mydevicenodes, myattributes); 185 Utmost IV User s Manual

185 Silvaco.Utmost4 Object Commands Script Module makedevicenode Syntax DeviceNode makedevicenode (name, pins) Constructs a DeviceNode object based on the following arguments. name pins A string containing the name of the device node. An array of integer numbers. Throws a JavaScript Error object if the inputs are unacceptable. Example mydevicenode = Silvaco.Utmost4.makeDeviceNode ("D", [1]); makeextraction Syntax Extraction makeextraction (name, expr) Constructs an extraction object based on the following arguments. name expr A string containing the name of the extraction. A string containing the extraction expression. Throws a JavaScript Error object if the inputs are unacceptable. Example myextraction = Silvaco.Utmost4.makeExtraction ("vth", "vt_lin(vg, id, vd, 1)"); makemodellibrary Syntax ModelLibrary makemodellibrary () Constructs an empty ModelLibrary object. Example mymodellibrary = Silvaco.Utmost4.makeModelLibrary () 186 Utmost IV User s Manual

186 Silvaco.Utmost4 Object Commands Script Module makenetlist Syntax Netlist makenetlist (nodenames, attrnames, netlisttext) Constructs a netlist object based on the following arguments. nodenames attrnames netlisttext An array of strings containing the node names. An array of strings containing the attribute names. A string containing the netlist text. Throws a JavaScript Error object if the inputs are unacceptable. Example mynetlist = Silvaco.Utmost4.makeNetlist (["D","G","S","B"],["W","L"], "M1 D G S B NMOS W='W' L='L'"); makevariable Syntax Variable makevariable (name, expr) Constructs a variable object based on the following arguments. name expr A string containing the name of the variable. A string containing the variable expression. Throws a JavaScript Error object if the inputs are unacceptable. Example myvariable = Silvaco.Utmost4.makeVariable ("vd_max", "1"); opencurrentworkingdirectory Syntax Directory opencurrentworkingdirectory () Returns a Directory object for the current working directory. Example mydir = Silvaco.Utmost4.openCurrentWorkingDirectory (); 187 Utmost IV User s Manual

187 Silvaco.Utmost4 Object Commands Script Module opendatabase Syntax Database opendatabase (servername, databasename, username, password) Returns a Database object when given the following arguments. servername databasename username password A string containing the name of the database server. A string containing the name of the database. A string containing the name of the user. A string containing the users password. Throws a JavaScript Error object if the Database object cannot be created. Example mydatabase = Silvaco.Utmost4.openDatabase ("dbserver", "dbname", "user1", "pass1"); opendirectory Syntax Directory opendirectory (absolutedirectorypath) Returns a Directory object when given the following argument. absolutedirectorypath A string containing the path to the directory. Throws a JavaScript Error object if the directory does not exist. Example mydir = Silvaco.Utmost4.openDirectory ("/tmp/mydirectory/"); optimize3 Syntax number optimize3 (DataSet[], OptimSetup, Extraction[], Variable[], Netlist, ModelLibrary, optimizer) Performs an optimization based on the following arguments and returns the optimized error metric. When the optimization is finished, the ModelLibrary object will contain the optimized parameters. DataSet[] OptimSetup Extraction[] An array of DataSet objects An OptimSetup object An array of Extraction objects 188 Utmost IV User s Manual

188 Silvaco.Utmost4 Object Commands Script Module Variable [] Netlist ModelLibrary optimizer An array of Variable objects A Netlist object A ModelLibrary object A string containing the optimization algorithm to use. Must be one of "LM", "HJ", "SA", "PT", "GA", "DE", or "HY". Throws a JavaScript Error object if any of the arguments are invalid. Example besterror = Silvaco.Utmost4.optimize3 (mydatasets, myoptsetup, myextractions, myvariables, mynetlist, mymodellib, "LM"); Note: The function 'optimize2', which omits the Variable[] argument, has been deprecated. Note: The function 'optimize', which omits the Extraction[] and the Variable[] arguments, has been deprecated releaselicenses Syntax undefined releaselicenses () Releases any additional licenses taken during the script execution. Example system Syntax Silvaco.Utmost4.releaseLicenses (); undefined system (command) Executes the command as defined in the argument. command A string containing the command to be executed. Throws a JavaScript Error object if the input is unacceptable. Example Silvaco.Utmost4.system ("cat myfile"); 189 Utmost IV User s Manual

189 Silvaco.Utmost4 Object Commands Script Module writetofile Syntax undefined writetofile (Directory, filename, text, overwriteorappend) Writes the specified text to a file based on the following arguments. Directory filename text overwriteorappend A Directory object containing the directory to store the file. A string containing the name of the file. A string containing the text to write to the file. A string containing either "overwrite" or "append". Throws a JavaScript Error object if the inputs are unacceptable. Example Silvaco.Utmost4.writeToFile (mydir, "output.txt", "Hello World!", "overwrite"); 190 Utmost IV User s Manual

190 Database Object Commands Script Module 9.5 Database Object Commands The Database object provides commands to read from and write to the database readdatasets Syntax DataSet[] readdatasets (Search) Returns an array of DataSet objects from the database based on the following argument. Search A Search object detailing the database search for the datasets. Throws a JavaScript Error object if the Search is invalid or if dataset read fails. Example mydatasets = mydatabase.readdatasets (mysearch); readproject Syntax Project readproject (projectname) Returns a Project object from the database based on the following argument. projectname A string containing the name of the project Throws a JavaScript Error object if projectname is invalid or the project cannot be read by you or does not exist in the database. Example myproj = mydatabase.readproject ("myproject"); savedatasets Syntax undefined savedatasets (DataSet[]) Saves the DataSet objects to the database based on the following argument. Any data sets that already exist in the database will be overwritten. DataSet[] An array of DataSet objects to be saved. Throws a JavaScript Error object if you do not have permission to save these datasets or if writing of the datasets fails. Example mydatabase.savedatasets (mydatasets); 191 Utmost IV User s Manual

191 Database Object Commands Script Module saveproject Syntax undefined saveproject (projectname, Project) Saves the Project object to the database based on the following arguments. If the project already exists in the database, it will be overwritten. Otherwise, it will be created. projectname Project A string containing the new project name in the database. The Project object to be saved. Throws a JavaScript Error object if the arguments are invalid or if you do not have permission to save the project. Example mydatabase.saveproject ("new_project", myproj); 192 Utmost IV User s Manual

192 Directory Object Commands Script Module 9.6 Directory Object Commands The Directory object provides commands to read from and write to the file system capimportfromtcadlogfile Syntax DataSet capimportfromtcadlogfile (filename, hinode, lonode) Reads a Silvaco TCAD format logfile containing a capacitance simulation and translates this into a LCR Utmost IV DataSet object from the following argument. filename hinode lonode A string containing the name of the file. A string containing the name of the hi node for capacitance measurement. A string containing the name of the lo node for capacitance measurement. Throws a JavaScript Error object if you cannot read the file, the file does not exist, or if the reading of the datasets fails. Will also throw an error if the file does not contain the correct data. Example mydataset = mydir.capimportfromtcadlogfile ("atlas.log", "Gate", "Drain"); dcimportfromtcadlogfile Syntax DataSet dcimportfromtcadlogfile (filename) Reads a Silvaco TCAD format logfile containing a DC measurement and translates this into a DC Utmost IV DataSet object from the following argument. filename A string containing the name of the file. Throws a JavaScript Error object if you cannot read the file, the file does not exist or if the reading of the datasets fails. Will also throw an error if the file does not contain the correct data. Example mydataset = mydir.dcimportfromtcadlogfile ("atlas.log"); 193 Utmost IV User s Manual

193 Directory Object Commands Script Module getpath Syntax string getpath () Returns the path from the Directory object. Example mypath = mydir.getpath (); readdatasets Syntax DataSet[] readdatasets (filename) Returns an array of DataSet objects from the following argument. filename A string containing the name of the file to read. Throws a JavaScript Error object if you cannot read the file, the file does not exist, or if reading of the datasets fails. Example mydatasets = mydir.readdatasets ("my_datasets.uds"); readproject Syntax Project readproject (filename) Returns a Project object from the file system based on the following argument. filename A string containing the name of the project file. Throws a JavaScript Error object if the file does not exist or if you do not have permission to read it. Example myproj = mydir.readproject ("project1.prj"); 194 Utmost IV User s Manual

194 Directory Object Commands Script Module savedatasets Syntax undefined savedatasets (filename, DataSet[]) Saves the DataSet objects to the file system based on the following arguments. If a file with this name already exists in the directory, it will be overwritten. Otherwise, it will be created. filename DataSet[] A string containing the name of the file. An array of DataSet objects to be saved. Throws a JavaScript Error object if you do not have permission to save the file. Example mydir.savedatasets ("saved_datasets.uds", mydatasets); saveproject Syntax undefined saveproject (filename, Project) Saves the Project object in the file system based on the following arguments. If a file with this name already exists in the directory, it will be overwritten. Otherwise, it will be created. filename Project A string containing the file name The Project object to be saved Throws a JavaScript Error object if you do not have permission to save this file. Example mydir.saveproject ("myfile.prj", myproj); 195 Utmost IV User s Manual

195 Directory Object Commands Script Module sparimportfromtcadlogfile Syntax DataSet sparimportfromtcadlogfile (filename, port1signalnode, port1groundnode, port2signalnode, port2groundnode) Reads a Silvaco TCAD format logfile containing s parameter simulations and translates this into an AC Utmost IV DataSet object from the following argument. filename port1signalnode port1groundnode port2signalnode port2groundnode A string containing the name of the file. A string containing the name port1 signal node. A string containing the name port1 ground node. A string containing the name port2 signal node. A string containing the name port2 ground node. Throws a JavaScript Error object if you cannot read the file, the file does not exist, or if the reading of the datasets fails. Will also throw an error if the file does not contain the correct data. Example mydataset = mydir.sparimportfromtcadlogfile ("atlas.log", "Gate", "Source", "Drain", "Source"); 196 Utmost IV User s Manual

196 DataSet Object Commands Script Module 9.7 DataSet Object Commands The DataSet object provides commands to read from and write to a dataset addattribute Syntax undefined addattribute (name, expression) Adds an attribute to the DataSet object based on the following arguments. name value A string containing the name of the new attribute. A number containing the value. Throws a JavaScript Error object if the name is unacceptable or already exists or if the inputs are invalid. Example mydataset.addattribute ("W", 1e-6); addfunction Syntax undefined addfunction (name, expr) Adds a function to the DataSet object based on the following arguments. name expr A string containing the name of the new function A string containing the arithmetical expression Throws a JavaScript Error object if the name is unacceptable or already exists or if the expression is invalid. Example mydataset.addfunction ("gm", "derivative (VG, ID)"); Note: Once a function is added, its values will be computed automatically and will be accessible using getmeasdata () and getsimdata (). 197 Utmost IV User s Manual

197 DataSet Object Commands Script Module addplot Syntax undefined addplot (name, type, xname, ynames, y2names) Adds a plot to the DataSet object based on the following arguments. name type xname ynames y2names A string containing the name of the new plot. A string containing a valid plot type, for example "XY (LIN LIN)" or "XYY (LIN LOG LIN)". A string containing the name of the x axis data. A string containing the names of the y axis data. A string containing the names of the y2 axis data. Throws a JavaScript Error object if the inputs are unacceptable or if the name already exists. Example mydataset.addplot ("idvg", "XY (LIN LIN)", "vg", "id", ""); mydataset.addplot ("gummel", "XY (LIN LOG)", "vb", "ib ic", ""); mydataset.addplot ("id_lin_log", "XYY (LIN LIN LOG)", "vg", "id". "id"); exporttotcadlogfile Syntax undefined exporttotcadlogfile (Directory, filename, measorsim) Export the dataset to TCAD logfile format according to the following arguments. Directory filename measorsim A Directory object A string containing the name of the file to write into. A string containing the name of the data to be exported. Must be either 'meas' or 'sim'. Throws a JavaScript Error object if any of the arguments are invalid. Example mydataset.exporttotcadlogfile (mydir, "data_sim.log", "sim"); 198 Utmost IV User s Manual

198 DataSet Object Commands Script Module extract Syntax number extract(extraction, Variables [], measorsim) Performs the extraction on the dataset and returns the resulting number based on the following argument. Extraction Variables [] measorsim An Extraction object containing the extraction to perform. An array of Variable objects. A string to select whether the extraction is performed on the measured or the simulated data. Must be either "meas" or "sim". Throws a JavaScript error if any of the inputs are unacceptable. Example myvth = mydataset.extract (myvthextraction, myvariables, "meas"); getattrval Syntax number getattrval (attrname) Returns the value of a dataset attribute based on the following argument. attrname A string containing the name of the attribute. Throws a JavaScript Error object if the attribute name does not exist. Example myattrvalue = mydataset.getattrval ("W"); 199 Utmost IV User s Manual

199 DataSet Object Commands Script Module getkeyval Syntax value getkeyval (keyname) Returns the value of a dataset key based on the following argument. keyname A string containing the name of the key. Must be one of "temperature", "batchname", "wafername", "diename", "devicename", or "meassetupname". Throws a JavaScript Error object if the key name does not exist. Example mykeyvalue = mydataset.getkeyval ("temperature"); getmeasdata Syntax number[] getmeasdata (name, part) Returns an array of numbers containing the values of the measured data based on the following arguments. name part A string containing the name of the data array. A string containing the type of data to return. Must be one of "real", "imag", "mag", or "phase". Throws a JavaScript Error object if the inputs are invalid. Examples myiddata = mydataset.getmeasdata ("ID", "real"); my_s11mag = myacdataset.getmeasdata ("s11", "mag"); 200 Utmost IV User s Manual

200 DataSet Object Commands Script Module getsimdata Syntax number[] getsimdata (name, part) Returns an array of numbers containing the values of the simulated data based on the following arguments. You must simulate the dataset before running this command. name part A string containing the name of the data. A string containing the type of data to return. Must be one of "real", "imag", "mag", or "phase" and defaults to "real". Throws a JavaScript Error object if the inputs are invalid. Examples myiddata = mydataset.getsimdata ("ID"); my_s11mag = myacdataset.getsimdata ("s11", "mag"); getsweeplen Syntax number getsweeplen (sweepid) Returns the number of points in the sweep based on the following argument. sweepid A number containing the sweep ID Throws a JavaScript Error object if the sweep ID does not exist. Example sweeplen1 = mydataset.getsweeplen (1); Note: Sweep IDs start at one and not zero. 201 Utmost IV User s Manual

201 DataSet Object Commands Script Module remove Syntax undefined remove (type, name) Removes a sub-object of the DataSet object based on the following arguments. type name A string containing the type of the sub-object. Must be one of "attr", "func", or "plot". A string containing the name of the sub-object to be removed. Throws an exception if the arguments are unacceptable, the sub-object does not exist, or if removing the sub-object would invalidate the DataSet. Example mydataset.remove ("attr", "L"); mydataset.remove ("func", "gm"); mydataset.remove ("plot", "plot1"); setkeys Syntax undefined setkeys (temperature, batchname, wafername, diename, devicename, meassetupname) Sets the database keys for the dataset using the following arguments. temperature batchname wafername diename devicename meassetupname A number containing the measurement temperature. A string containing the name of the batch. A string containing the name of the wafer. A string containing the name of the die. A string containing the name of the device. A string containing the name of the measurement setup. Example mydataset.setkeys (27, "lot1","1","center","n10x10","idvglin"); 202 Utmost IV User s Manual

202 DataSet Object Commands Script Module simulate Syntax undefined simulate (Netlist, ModelLibrary, simcol) Simulates the dataset based on the following arguments. Netlist ModelLibrary simcol A Netlist object to be used for the simulation. A ModelLibrary object to be used for the simulation. A string containing the name of the column in the model library to be used. Must be one of "optval", "fitval", or "usrval". Throws a JavaScript Error object if any of the arguments are invalid. Example mydataset.simulate (mynetlist, mymodellib, "optval"); writecsvfile Syntax undefined writecsvfile (Directory, filename, measured_simulated) Writes out the dataset to a file in CSV format according to the following arguments. Directory filename measured_simulated A Directory object containing the directory to store the file. A string containing the name of the file to write to. A string that defines the contents of the output file. Must be either "measured" or "measured_and_simulated". Throws a Javascript error if any of the inputs are unacceptable. Example mydataset.writecsvfile (mydir, "output.csv", "measured"); 203 Utmost IV User s Manual

203 Project Object Commands Script Module 9.8 Project Object Commands The Project object provides commands to read from and write to the project getconnection Syntax Connection getconnection (devicename, meassetupname) Returns a Connection object based on the following arguments. devicename meassetupname A string containing the name of the device. A string containing the name of the measurement setup. Example myconnection = myproj.getconnection ("nmos1", "idvg"); getdatasubset Syntax DataSubset getdatasubset (datasubsetname) Returns a DataSubset object based on the following argument. datasubsetname A string containing the name of the data subset. Throws a JavaScript Error object if the data subset does not exist in the project. Example mydatasubset = myproj.getdatasubset ("subset1"); getdatasubsetnames Syntax string[] getdatasubsetnames () Returns an array of strings containing the names of all of the data subsets in this project. Example mydatasubsetnames = myproj.getdatasubsetnames (); 204 Utmost IV User s Manual

204 Project Object Commands Script Module getdevice Syntax Device getdevice (devicename) Returns a Device object based on the following argument. devicename A string containing the name of the device. Throws a JavaScript Error object if the device does not exist in the project. Example mydevice = myproj.getdevice ("nmos1"); getdevices Syntax Device [] getdevices () Returns all of the devices from the project as an array of Device objects. Example mydevices = myproj.getdevices (); getdevicenames Syntax string[] getdevicenames () Returns an array of strings containing the names of all of the devices in this project. Example mydevicenames = myproj.getdevicenames (); getdevicesubset Syntax DeviceSubset getdevicesubset (devicesubsetname) Returns a DeviceSubset object based on the following argument. devicesubsetname A string containing the name of the device subset. Throws a JavaScript Error object if the device subset does not exist in the project. Example mydevicesubset = myproj.getdevicesubset ("subset1"); 205 Utmost IV User s Manual

205 Project Object Commands Script Module getdevicesubsetnames Syntax string[] getdevicesubsetnames () Returns an array of strings containing the names of all of the device subsets in this project. Example mydevicesubsetnames = myproj.getdevicesubsetnames (); getextraction Syntax Extraction getextraction (extractionname) Returns a Extraction object based on the following argument. extractionname A string containing the name of the extraction. Throws a JavaScript Error object if the extraction does not exist in the project. Example myextraction = myproj.getextraction ("vth"); getextractions Syntax Extraction[] getextractions () Returns all of the extractions from the project as an array of Extraction objects. Example myextractions = myproj.getextractions (); getextractionnames Syntax string[] getextractionnames () Returns an array of strings containing the names of all of the extractions in this project. Example myextractionnames = myproj.getextractionnames (); 206 Utmost IV User s Manual

206 Project Object Commands Script Module gethardware Syntax Hardware gethardware () Returns the Hardware object from this project. Example myhardware = myproj.gethardware (); getmeassetup Syntax MeasSetup getmeassetup (meassetupname) Returns a MeasSetup object based on the following argument. meassetupname A string containing the name of the measurement setup. Throws a JavaScript Error object if the measurement setup does not exist in the project. Example mymeassetup = myproj.getmeassetup ("meas_setup1"); getmeassetupnames Syntax string[] getmeassetupnames () Returns an array of strings containing the names of all of the measurement setups in this project. Example mymeassetupnames = myproj.getmeassetupnames (); getmodellibrary Syntax ModelLibrary getmodellibrary () Returns the ModelLibrary object for this project. Example mymodellib = myproj.getmodellibrary (); 207 Utmost IV User s Manual

207 Project Object Commands Script Module getnetlist Syntax Netlist getnetlist () Returns the netlist for a Optimization Project. Example mynetlist = myproj.getnetlist (); getnetlistofdevice Syntax Netlist getnetlistofdevice (device) Returns the Netlist Object for the device specified in the argument below. device A Device object Example Throws a JavaScript Error object if the input in invalid or if the device does not exist in the project. mynetlist = myproj.getnetlistofdevice (mydevice); getoptimsetup Syntax OptimSetup getoptimsetup (optimsetupname) Returns an OptimSetup object based on the following argument. optimsetupname A string containing the name of the optimization setup. Throws a JavaScript Error object if the optimization setup does not exist in the project. Example myoptimsetup = myproj.getoptimsetup ("optim_setup1"); getoptimsetupnames Syntax string[] getoptimsetupnames () Returns an array of strings containing the names of all of the optimization setups in this project. Example myoptimsetupnames = myproj.getoptimsetupnames (); 208 Utmost IV User s Manual

208 Project Object Commands Script Module getsearch Syntax Search getsearch (searchname) Returns a Search object based on the following argument. searchname A string containing the name of the search. Throws a JavaScript Error object if the search does not exist in the project. Example mysearch = myproj.getsearch ("search1"); getsearchnames Syntax string[] getsearchnames () Returns an array of strings containing the names of all of the searches in this project. Example mysearchnames = myproj.getsearchnames (); getsimulationcol Syntax string getsimulationcol () Returns a string containing the name of the column in the model library to be used for simulation. Example mysimcol = myproject.getsimulationcol () gettemperatures Syntax number[] gettemperatures () Returns an array of numbers containing the enabled temperatures of the project. Example temps = myproj.gettemperatures (); 209 Utmost IV User s Manual

209 Project Object Commands Script Module gettype Syntax string gettype () Returns a string containing the type of project. Example myprojtype = myproj.gettype (); getvariable Syntax Variable getvariable (variablename) Returns a Variable object based on the following argument. variablename A string containing the name of the variable. Throws a JavaScript Error object if the variable does not exist in the project. Example myvariable = myproj.getvariable ("vd_max"); getvariables Syntax Variable[] getvariables () Returns an array of Variable objects containing the variables from the project. Example vars = myproj.getvariables (); getvariablenames Syntax string[] getvariablenames () Returns an array of strings containing the names of all of the variables in this project. Example myvariablenames = myproj.getvariablenames (); 210 Utmost IV User s Manual

210 Project Object Commands Script Module getwafermap Syntax WaferMap getwafermap () Returns a Wafer Map object from the project. Example mywafermap = myproj.getwafermap (); setmodellibrary Syntax undefined setmodellibrary (ModelLibrary) Writes the ModelLibrary object back into the project based on the following argument. ModelLibrary A ModelLibrary object that is to be stored. Throws a JavaScript Error object if the input in invalid. Example myproj.setmodellibrary (mymodellib); Note: The model library will not be saved to the database until the saveproject command is issued setvariables undefined setvariables (Variables []) Writes the array of Variables objects back into the project based on the following argument. Variables [] An array of Variable objects that is to be stored. Throws a JavaScript Error object if the input in invalid. Example myproj.setvariables (myvariables); 211 Utmost IV User s Manual

211 Search Object Commands Script Module 9.9 Search Object Commands appendsearch Syntax undefined appendsearch (Search, operator) Adds a new Search object onto the end of the existing Search object based on the following arguments. Search operator The Search object to append. A string containing the description of how to join the searches. Must be "AND" or "OR". Throws a JavaScript Error object if any of the arguments are invalid. Example myexistingsearch.appendsearch (mynewsearch, "AND"); 212 Utmost IV User s Manual

212 Netlist Object Commands Script Module 9.10 Netlist Object Commands getsearch Syntax Search getsearch (); Returns a Search object built from the nodes and attributes of the Netlist object. Example mysearch = mynetlist.getsearch (); 213 Utmost IV User s Manual

213 ModelLibrary Object Commands Script Module 9.11 ModelLibrary Object Commands The ModelLibrary object provides commands to read from and write to the model library addcard Syntax undefined addcard (modelname, type, template) Adds a new model card to the model library based on the following arguments. modelname type template A string containing the new model card name. A string containing the type of the new model. Must be one of "C", "D", "IND", "NJF", "NMF", "NMOS", "NPN", "NTFT", "PJF", "PMF", "PMOS", "PNP", "PTFT", "R", "R2_CMC", "R3_CMC", or "VLG". A string containing the template name to use for the new model card. Throws a JavaScript Error object if the model name already exists or if any of the arguments are invalid. Example mymodellib.addcard ("nch", "NMOS", "BSIM4"); addparameter Syntax undefined addparameter (modelname, paramname) Adds a parameter to an already existing model card in the model library based on the following arguments. modelname paramname A string containing the model card name. A string containing the new parameter name. Throws a JavaScript Error object if the model card name or parameter names are invalid or if the combination already exists in the model library. Example mymodellib.addparameter ("nch", "TOX"); 214 Utmost IV User s Manual

214 ModelLibrary Object Commands Script Module deletecard Syntax undefined deletecard (cardname) Deletes a model card from the model library based on the following argument. cardname A string containing the name of the model card. Throws a Javascript Error object if the argument is unacceptable or if the model card does not exist. Example mymodellib.deletecard ("nmos"); deleteparameter Syntax undefined deleteparameter (cardname, paramname) Deletes a model parameter from the model library based on the following arguments. cardname paramname A string containing the name of the model card. A string containing the name of the parameter. Throws a Javascript Error object if the arguments are unacceptable or if the model card/ parameter does not exist. Example mymodellib.deleteparameter ("nmos", "vth0"); 215 Utmost IV User s Manual

215 ModelLibrary Object Commands Script Module exportmodelcard Syntax undefined exportmodelcard (modelname, column, Directory, filename, libraryname, subcircuitname) Exports a model card from the model library into a file based on the following arguments. modelname column Directory filename libraryname subcircuitname A string containing the name of the model to export. A string containing the name of the column to export. Must be one of "optval", "fitval", or "usrval". A Directory object containing the directory to store the file. A string containing the name of the file. A string containing the library name in which to store the model. A string containing the subcircuit name in which to store the model. Throws a JavaScript Error object if any of the arguments are invalid or if the directory does not exist or if you cannot create or modify the file. If the combination of libraryname and subcircuitname does not exist in the file, it will be created. If a model with the given name does not exist, it will be created. If it does exist, the entire model card is replaced. If the modelname is PARAMS, its parameters will be written as.param statements. Any existing.param statements with the same parameter names will be overwritten. Note: Parameters that are set to be expressions will always export the expression. Example mymodellib. exportmodelcard ("nch", "optval", mydir, "test.lib", "TT", "x1"); 216 Utmost IV User s Manual

216 ModelLibrary Object Commands Script Module exportmodelcardtossf Syntax Definition undefined exportmodelcardtossf (modelname, column, Directory, file- Name) Exports the model card to a TCAD ssf format file according to the following arguments. modelname column Directory filename A string containing the name of the model. A string containing the name of the column to export. Must be one of "optval", "fitval", or "usrval". A Directory object. A string containing the name of the filename for export. Throws a JavaScript Error object if any of the arguments are invalid. Example mymodellib.exportmodelcardtossf ("nmos", "optval", mydir, "model.ssf"); generatebinnedmodel Syntax Undefined generatebinnedmodel (infoarray, column, newcardname, outputmodellibrary, overwriteorappend) This function generates a single binned model card based on the following arguments and writes this binned model card into the output model library. infoarray column newcardname outputmodellibary overwriteorappend A JavaScript array containing the Wdrawn, Ldrawn, and model card name information. This array must contain four elements and should be constructed as shown in the example below. A string containing the name of the column to be used. Must be one of "optval", "fitval", or "usrval". A string containing the name for the new binned model card. A ModelLibrary object into which the new binned model card will be written. A string containing either "overwrite" or "append". Throws a JavaScript Error object if any of the inputs are incorrect or inconsistent. 217 Utmost IV User s Manual

217 ModelLibrary Object Commands Script Module Example var infoarray = []; infoarray.push ({Wdrawn : 10e-6, Ldrawn : 10e-6, CardName : "n10x10"}); infoarray.push ({Wdrawn : 10e-6, Ldrawn : 1e-6, CardName : "n10x1" }); infoarray.push ({Wdrawn : 1e-6, Ldrawn : 10e-6, CardName : "n1x10" }); infoarray.push ({Wdrawn : 1e-6, Ldrawn : 1e-6, CardName : "n1x1" }); mypointmodellibrary.generatebinnedmodel (infoarray, "optval", "bin.1", mybinnedmodellibrary, "overwrite"); Note: The infoarray must contain the names of four model cards that exist within the point model library. The Wdrawn/Ldrawn values in the infoarray must form a grid getcardnames Syntax string[] getcardnames () Returns an array of strings containing all of the model names in the model library. Example mycardnames = mymodellib.getcardnames (); getcardtype Syntax string getcardtype (modelname) Returns a string containing the type of the model card based on the following argument. modelname A string containing the name of the model. Throws a JavaScript Error object if the model name does not exist. Example mycardtype = mymodellib.getcardtype ("nch"); 218 Utmost IV User s Manual

218 ModelLibrary Object Commands Script Module getparamnames Syntax string[] getparamnames (modelname) Returns an array of strings containing all of the parameter names in the model card based on the following argument. modelname A string containing the name of the model Throws a JavaScript Error object if the model name does not exist. Example myparamnames = mymodellib.getparamnames ("nch"); getvalue Syntax value getvalue (modelname, paramname, attribute) Returns the value of the model parameter based on the following arguments. modelname paramname attribute A string containing the name of the model card. A string containing the name of parameter. A string indicating which value to return. Must be one of "isval", "optval", "fitval", "usrval", "minval", "maxval", or "expr". The return value will be boolean if the attribute is "isval". The return value will be a string if the attribute is "expr". Otherwise, the return type will be a number or the string "blank". Throws a JavaScript Error object if any of the inputs are invalid. Examples mytox_optval = mymodellib.getvalue ("NMOS", "TOX", "optval"); myexpression = mymodellib.getvalue ("PARAMS", "param1", "expr"); 219 Utmost IV User s Manual

219 ModelLibrary Object Commands Script Module hascard Syntax boolean hascard (cardname) Tests for presence of a model card from the model library based on the following argument. cardname A string containing the name of the model card. Throws a Javascript Error object if the argument is unacceptable. Example var cardpresent = mymodellib.hascard ("nmos"); hasparameter Syntax boolean hasparameter (cardname, paramname) Tests for presence of a model parameter from the model library based on the following arguments. cardname paramname A string containing the name of the model card. A string containing the name of the parameter. Throws a Javascript Error object if the arguments are unacceptable. Example var parampresent = mymodellib.hasparameter ("nmos", "vth0"); importmodelcards Syntax undefined importmodelcards (directory, filename, libname, subcktname, modelname, column) Imports model cards from an external file based on the following arguments. directory filename libname subcktname modelname column A directory object. A string containing the name of the file. A string containing the name of the library. A string containing the name of the subcircuit. A string containing the name of the model. A string containing the name of the column for import. 220 Utmost IV User s Manual

220 ModelLibrary Object Commands Script Module This must be either "optval", "fitval", or "usrval". Throws a Javascript Error object if any of the arguments are unacceptable. Note: The specification of the model name supports wildcards. Example mymodellib.importmodelcards (mydir, "model.lib", "MOS", "", "nmos", "optval"); mymodellib.importmodelcards (mydir, "model.lib", "MOS", "", "nmos.*", "fitval"); importmodelparams Syntax undefined importmodelparams (directory, filename, libname, subcktname, paramname, column) Imports parameters from an external file based on the following arguments. directory filename libname subcktname paramname column A directory object. A string containing the name of the file. A string containing the name of the library. A string containing the name of the subcircuit. A string containing the name of the parameter. A string containing the name of the column for import. This must be either "optval", "fitval", or "usrval". Throws a Javascript Error object if any of the arguments are unacceptable. Note: The specification of the parameter name supports wildcards. Example mymodellib.importmodelparams (mydir, "model.lib", "TT", "", "d_vth0_n", "optval"); mymodellib.importmodelparams (mydir, "model.lib", "SS", "", "*", "usrval"); 221 Utmost IV User s Manual

221 ModelLibrary Object Commands Script Module renamecard Syntax undefined renamecard (oldname, newname) Renames an already existing model card in the model library based on the following arguments. oldname newname A string containing the current model card name. A string containing the new model card name. Throws a JavaScript Error object if the current model card name is invalid or if the new model name already exists in the model library. Example mymodellib.renamecard ("nmos", "nch"); setvalue Syntax undefined setvalue (modelname, paramname, attribute, value) Sets the model parameter value based on the following arguments. modelname paramname attribute value A string containing the name of the model card. A string containing the name of parameters. A string indicating which value to return. Must be one of "isval", "optval", "fitval", "usrval", "minval", "maxval", or "expr". The parameter value If the attribute is "IsVal", the value must be boolean. If the attribute is "expr", the value must be a string. Otherwise, the value must be a number or the string "blank". Throws a JavaScript Error object if any of the inputs are invalid. Example mymodellib.setvalue ("nch", "VTH0", "optval", 0.75); Note: The model parameters will not be saved to the database until saveproject is called. 222 Utmost IV User s Manual

222 Extraction Object Commands Script Module 9.12 Extraction Object Commands getname Syntax string getname () Returns a string containing the name of the Extraction. Example myextractionname = myextraction.getname (); 223 Utmost IV User s Manual

223 Variable Object Commands Script Module 9.13 Variable Object Commands getexpr () Syntax string getexpr () Returns a string containing the expression of the Variable. Example myexpression = myvariable.getexpr (); getname () Syntax string getname () Returns a string containing the name of the Variable. Example myname = myvariable.getname (); 224 Utmost IV User s Manual

224 DataSubset Object Commands Script Module 9.14 DataSubset Object Commands apply Syntax DataSet[] apply (DataSet[]); Applies the search described in the DataSubset object to an array of DataSets and returns an array of all DataSets that match based on the following arguments. DataSet[] An array of DataSet objects used as input to the search. Throws a JavaScript Error object if the input argument is invalid. Example mysmalldatasets = mydatasubset.apply (mylargedatasets); 225 Utmost IV User s Manual

225 OptimSetup Object Commands Script Module 9.15 OptimSetup Object Commands getoptimizertype Syntax string getoptimizertype (); Returns a string containing the name of the optimization algorithm from the optimization setup. Example myoptimizer = myoptimsetup.getoptimizertype (); 226 Utmost IV User s Manual

226 Hardware Object Commands Script Module 9.16 Hardware Object Commands measure Syntax dataset measure (temperature, batchname, wafername, diename, device, meassetup, variable [], wafermap, connection) Performs a measurement to generate measured data in the resulting dataset based on the following arguments. temperature batchname wafername diename device meassetup variable [] wafermap connection A number containing the temperature value. A string containing the name of the batch. A string containing the name of the wafer. A string containing the name of the die. A Device object. A MeasSetup object. An array of Variable objects. A WaferMap object. A Connection object. Throws a JavaScript Error object if any of the arguments are invalid. Example mydataset = myhardware.measure (27, "lot1", "1", "1", mydevice, mymeassetup, vars, mywafermap, myconnection); 227 Utmost IV User s Manual

227 Hardware Object Commands Script Module measurewithopen Syntax dataset measurewithopen (temperature, batchname, wafername, diename, device, meassetup, variable [], wafermap, connection, opendataset) Performs a measurement to generate measured data in the resulting dataset based on the following arguments. temperature batchname wafername diename device meassetup variable [] wafermap connection opendataset A number containing the temperature value. A string containing the name of the batch. A string containing the name of the wafer. A string containing the name of the die. A Device object. A MeasSetup object. An array of Variable objects. A WaferMap object. A Connection object. A DataSet object containing the open de-embedding data. Throws a JavaScript Error object if any of the arguments are invalid. Example mydataset = myhardware.measurewithopen (27, "lot1", "1", "1", mydevice, mymeassetup, vars, mywafermap, myconnection, myopendataset); Note: measurewithopen cannot be used with DC or DC_TABLE measurements. 228 Utmost IV User s Manual

228 Hardware Object Commands Script Module measurewithshort Syntax dataset measurewithshort (temperature, batchname, wafername, diename, device, meassetup, variable [], wafermap, connection, shortdataset) Performs a measurement to generate measured data in the resulting dataset based on the following arguments. temperature batchname wafername diename device meassetup variable [] wafermap connection shortdataset A number containing the temperature value. A string containing the name of the batch. A string containing the name of the wafer. A string containing the name of the die. A Device object. A MeasSetup object. An array of Variable objects. A WaferMap object. A Connection object. A DataSet object containing the short de-embedding data. Throws a JavaScript Error object if any of the arguments are invalid. Example mydataset = myhardware.measurewithshort (27, "lot1", "1", "1", mydevice, mymeassetup, vars, mywafermap, myconnection, myshortdataset); Note: measurewithshort can only be used with AC or AC_TABLE measurements. 229 Utmost IV User s Manual

229 Hardware Object Commands Script Module measurewithopenandshort Syntax dataset measurewithopen (temperature, batchname, wafername, diename, device, meassetup, variable [], wafermap, connection, opendataset, shortdataset) Performs a measurement to generate measured data in the resulting dataset based on the following arguments. temperature batchname wafername diename device meassetup variable [] wafermap connection opendataset shortdataset A number containing the temperature value. A string containing the name of the batch. A string containing the name of the wafer. A string containing the name of the die. A Device object. A MeasSetup object. An array of Variable objects. A WaferMap object. A Connection object. A DataSet object containing the open de-embedding data. A DataSet object containing the short de-embedding data. Throws a JavaScript Error object if any of the arguments are invalid. Example mydataset = myhardware.measurewithopenandshort (27, "lot1", "1", "1", mydevice, mymeassetup, vars, mywafermap, myconnection, myopendataset, myshortdataset); Note: measurewithopenandshort can only be used with AC or AC_TABLE measurements. 230 Utmost IV User s Manual

230 Hardware Object Commands Script Module probercontact Syntax Undefined probercontact () This command will move the prober into the contact position. Example myhardware.probercontact (); proberinit Syntax Undefined proberinit () This command will initialize the prober. Example myhardware.proberinit (); proberhome Syntax Undefined proberhome () This command will move the prober back to the initial home location. Example myhardware.proberhome (); proberload Syntax Undefined proberload (wafermap, wafername) This command will load the wafer as defined by the following arguments. wafermap wafername A WaferMap object. A string containing the name of the wafer to load. Throws a JavaScript Error object if any of the arguments are invalid. Example myhardware.proberload (mywafermap, "wafer1"); 231 Utmost IV User s Manual

231 Hardware Object Commands Script Module probermove Syntax Undefined probermove (wafermap, diename, groupname) This command will move the wafer as defined by the following arguments. wafermap diename groupname A WaferMap object. A string containing the die name to move to. A string containing the group name to move to. Throws a JavaScript Error object if any of the arguments are invalid. Example myhardware.probermove (mywafermap, "x0y0", "group1"); Note: The group name may be empty if intra die stepping is not being used probernocontact Syntax Undefined probernocontact () This command will move the prober into the no contact position. Example myhardware.probernocontact (); scannerclear Syntax Undefined scannerclear () This command will clear the scanner connections. Example myhardware.scannerclear (); 232 Utmost IV User s Manual

232 Hardware Object Commands Script Module scannerconnect Syntax Undefined scannerconnect (device, meassetup, variable [], connection) This command will make the scanner connections according to the following arguments. device meassetup variable [] connection A Device object. A MeasSetup object. An array of Variable objects. A Connection object. Throws a JavaScript Error object if any of the arguments are invalid. Example myhardware.scannerconnect (mydevice, mymeassetup, vars, myconnection); thermalset Syntax Undefined thermalset (temperature) This command will set the temperature according to the following argument. temperature A number containing the temperature to be set. Throws a JavaScript Error object if the argument is invalid. Example myhardware.thermalset (27); 233 Utmost IV User s Manual

233 Hardware Object Commands Script Module verify Syntax Boolean verify (name) This command will verify the hardware based on the following arguments. name A string containing the name of the measurement hardware to verify. Must be one of "controller", "thermal", "prober", "scanner", "dc", "lcr", "ac", or "noise". Throws a JavaScript Error object if the argument is invalid. Example success = myhardware.verify ("dc"); 234 Utmost IV User s Manual

234 WaferMap Object Commands Script Module 9.17 WaferMap Object Commands getbatchname Syntax string getbatchname () Returns a string containing the name of the batch from the wafer map object. Example mybatchname = mywafermap.getbatchname (); getdienames Syntax string[] getdienames () Returns an array of strings containing the names of the enabled die from the wafer map object. Example mydienames = mywafermap.getdienames (); getwafernames Syntax string[] getwafernames () Returns an array of strings containing the names of the enabled wafers from the wafer map object. Example mywafernames = mywafermap.getwafernames (); 235 Utmost IV User s Manual

235 DeviceSubset Object Commands Script Module 9.18 DeviceSubset Object Commands apply Syntax Device[] apply (Device[]); Applies the search described in the DeviceSubset object to an array of Devices and returns an array of all Devices which match the search criteria. Device[] An array of Device objects used as input to the search. Throws a JavaScript Error object if the input argument is invalid. Example mysmalldevices = mydevicesubset.apply (mylargedevices); 236 Utmost IV User s Manual

236 Device Object Commands Script Module 9.19 Device Object Commands getgroupname Syntax string getgroupname () Returns a string containing the group name of the Device. Example mygroupname = mydevice.getgroupname (); getname Syntax string getname () Returns a string containing the name of the Device. Example mydevicename = mydevice.getname (); 237 Utmost IV User s Manual

237 DeviceNode Object Commands Script Module 9.20 DeviceNode Object Commands getname Syntax string getname () Returns a string containing the name of the DeviceNode. Example myname = mydevicenode.getname (); getpins Syntax [number] getpins () Returns an array of numbers containing the pins of the DeviceNode. Example mypins = mydevicenode.getpins (); 238 Utmost IV User s Manual

238 Attribute Object Commands Script Module 9.21 Attribute Object Commands getname Syntax string getname () Returns a string containing the name of the Attribute. Example myname = myattribute.getname (); getvalue Syntax number getvalue () Returns a number containing the value of the Attribute. Example myvalue = myattribute.getvalue (); 239 Utmost IV User s Manual

239 Chapter 10 Model Check Module

240 Model Check Module The model check module allows you to test out, to verify, and to explore your existing SPICE models. This is a very useful tool for model developers and for designers who need to know how their devices perform. The tool does not make use of the firebird database, rather it uses files to store and load the project. To run the model check module, you must use the '-mc' command line option. utmost4 -mc When this command line option is used, the Model Check project window will open as shown below. Figure 10-1 The Model Check Project Window 241 Utmost IV User s Manual

241 Setting Up a Simulation Model Check Module 10.1 Setting Up a Simulation To select the model you will test and the simulator you want to us, you will need to set up the Simulation. This is done through the Simulation dialog that you can open by selecting Setup Simulations from the menu bar or by clicking on the toolbar icon. Figure 10-2 Setting up a Simulation Field Name Simulator Model Name Library External Library The name of this simulation. You can select the simulator you wish to use. The name of the model you wish to test. The location of the model. You can choose from the Optimized, Fit Initial, or User columns of the internal model library. Or, you can read the model directly from an external model library file. Here, you enter the SPICE commands to load the external library file. 242 Utmost IV User s Manual

242 The Model Library Model Check Module 10.2 The Model Library The model library can be used to import and store model cards and parameters. You can then use the model check module to test these models. For a full description of how the Model Library Window works, please refer to Section 7.6 The Model Library Creating a Characteristic Plot A characteristic plot is used to display some common device performance characteristics. You can select which plots to show, the maximum voltages to apply to the device, and any number of device geometries and temperatures. To open the characteristic plot dialog, select Create Characteristic Plot or click on the toolbar icon. Field Figure 10-3 Defining a Characteristic Plot Name Characteristics Voltage Ranges Geometries and Temperatures The name of the characteristic plot. One or more characteristics can be selected for model checking. The maximum voltages on the device terminals. The device sizes and temperatures to display. Note: Once you create a plot, it will immediately be placed into the model check sequence. 243 Utmost IV User s Manual

243 Creating a Characteristic Plot Model Check Module An example characteristic plot is shown below. Figure 10-4 Example Characteristic Plot 244 Utmost IV User s Manual

244 Creating an Extraction Plot Model Check Module 10.4 Creating an Extraction Plot An extraction plot is used to display some common extracted device parameters against geometry or temperature. You can select the parameter you wish to display, the maximum voltages to apply to the device, and the geometries and temperatures you wish to sweep over. To open the extraction plot dialog, select Create Extraction Plot or click on the toolbar icon. Field Figure 10-5 Defining an Extraction Plot Name Extraction Sweep Start Step Points Voltage Ranges Geometries and Temperatures The name of the extraction plot. You select the name of the parameter you wish to display. You select the attribute you wish to sweep. The start value for the sweep. The step value for the sweep. The number of points in the sweep. The maximum voltage on the device terminals. You can select various values of the other geometry attributes or temperature to plot. Note: Once you create a plot, it will immediately be placed into the model check sequence. 245 Utmost IV User s Manual

245 Creating an Extraction Plot Model Check Module An example extraction plot that would be generated is shown below. Figure 10-6 Example Threshold Voltage vs. Length Extraction Plot 246 Utmost IV User s Manual

246 Running the Model Check Sequence Model Check Module 10.5 Running the Model Check Sequence As each characteristic and extraction plot is created, it will be inserted into the model check sequence. You must run the sequence in order to view the plots that will be generated. Select Check Run/Continue or click on the toolbar icon in the viewer. The current position is indicated by a status icon in the Status column. To change the current position, select the item in the sequence and select Check Set Position. The sequence will run one step at a time to allow you time to review each plot that is generated. Figure 10-7 Sequence Containing Two Plots 247 Utmost IV User s Manual

247 Exploring Your Device Model Model Check Module 10.6 Exploring Your Device Model This is a very useful feature when learning about the capabilities of your device. Using sliders, you can interactively change the geometry attributes, the temperature, and the maximum device terminal voltages. These effects of these changes will be immediately shown in the characteristic plots that you select from the dialog. Once you select Check Explore from the menu bar or click on the Explore dialog will open. toolbar icon, the Figure 10-8 Setting up a Model Explore Field Explorer Characteristics The selected characteristics will be explored by moving a parameter s slider or entering a new value to change the parameter s value. The selected characteristics in this area will be displayed in the viewer. 248 Utmost IV User s Manual

248 Appendix A Optimization Algorithms

249 Optimization Algorithms Assume that we are given a set of physical measurements of various quantities (e.g., current or voltage) and there are physically based models, which describe the behavior of the system. The purpose of the optimization is to find the values of the parameters that fit best the available physical measurements. There are two types of errors that the optimization needs to take into account. The first type has to do with the fact that the models are not perfect and are limited in what they are able to predict about the measured system. The second comes from inevitable errors in physical measurements. The optimizers work by assigning an error metric to given values of model parameters. The error metric is based on the differences between the predicted values of the physical quantities and the actual measurements of the same quantities. The lower the error metric, the better are the values of the model parameters. The optimizers seek values of parameters, which minimize the error metric. In principle, the optimizers could try all possible values of parameters and find those that yield the lowest error. However, this would take an impossibly long time to do and the optimizers must use faster strategies to achieve the best parameter values. Utmost IV supports the following optimization algorithms. Local Optimization Algorithms Levenberg-Marquardt Hooke-Jeeves Global Optimization Algorithms Simulated Annealing Parallel Tempering Genetic Algorithm Differential Evolution Hybrid Optimization Algorithm Hybrid Local optimization algorithms are fast, but usually will only work if the initial parameters are close to the final optimized values. Global optimization algorithms use more iterations while attempting to find the optimum parameter values but do not require any preconditioning of the parameter values. The hybrid optimization algorithm combines the best features of both types. Each of these algorithms is described below. 250 Utmost IV User s Manual

250 Least Squares Levenberg-Marquardt Optimization Algorithm (LM) Optimization Algorithms A.1 Least Squares Levenberg-Marquardt Optimization Algorithm (LM) Levenberg-Marquardt is a standard nonlinear least-squares optimizer, and works very well in practice if a reasonably good initial set of parameter values is available. It is a local minimum solver which performs a numerical differentiation at each iteration. It only accepts changes in the parameters which improve the error metric, and so there is a danger that it will find a local minimum instead of the global minimum. Figure A-1 Levenberg-Marquardt Configuration The following configuration parameters can be used for the LM optimizer. Maximum number of simulations Acceptable error (%) The optimizer will stop if it reaches this number of simulations. The optimizer will continue if the incremental error reduction is greater than 0.1% of this value. 251 Utmost IV User s Manual

251 Hooke-Jeeves Optimization Algorithm (HJ) Optimization Algorithms A.2 Hooke-Jeeves Optimization Algorithm (HJ) The HJ optimizer is a local optimizer. While the LM optimizer described above is also a local optimizer, there are some important differences between the two. LM calculates numerical derivatives but HJ belongs to the class of direct search algorithms which does not use derivatives. In this respect, HJ is similar to the global optimizers. As some physical models are discontinuous in the optimization parameters, and because the measured or calculated variables may introduce numerical noise, calculation of numerical derivatives is often impractical or inaccurate. In such cases, it is necessary to use a direct search optimizer, such as HJ. Each HJ cycle consists of exploration moves followed by pattern moves. An exploration attempts to find an advantageous direction in which to move the parameters. A successful exploration is exploited by repeatedly moving the parameters in the same direction. These are the pattern moves. The amount by which each parameter is moved during an exploration is called its stepsize. At the end of each cycle every stepsize is reduced by the stepsize factor. Figure A-2 Hooke-Jeeves Configuration The following configuration parameters can be used for the HJ optimizer. Stepsize factor Multiplies the stepsize of every parameter at the end of each cycle. Maximum number of per cycle pattern moves The cycle will end if it reaches this number of pattern moves. 252 Utmost IV User s Manual

252 Hooke-Jeeves Optimization Algorithm (HJ) Optimization Algorithms Maximum number of cycles Maximum number of simulations Acceptable error (%) The optimizer will stop if it reaches this number of cycles. The optimizer will stop if it reaches this number of simulations. The optimizer will stop if the error metric is less than this value. 253 Utmost IV User s Manual

253 Simulated Annealing Optimization Algorithm (SA) Optimization Algorithms A.3 Simulated Annealing Optimization Algorithm (SA) SA is a global optimizer. The annealing is designed to enhance the likelihood of avoiding local minima while searching for the global minimum. Injected randomness helps prevent premature convergence to a local minimum. The SA method mimics the formation of an actual physical solid from a liquid as the liquid cools. At high temperatures, the liquid is highly disordered, its components are free to move, and its energy is high. As the temperature is lowered, so the energy of the system falls. If the cooling process is slow enough, an ordered solid (such as a crystal) of the lowest possible energy will form. If the temperature is lowered too quickly, then likely an amorphous solid at a higher energy than the crystal will be formed. In SA, the error metric is analogous to the energy and cooling is achieved by gradually decreasing a temperature, which is an optimization control parameter. The critical point of the SA algorithm is not to lower the temperature parameter too quickly. SA models the physical cooling process by choosing new states at random, always accepting steps which cause the value of the error metric to fall, and sometimes accepting those which cause it to rise. Hence, there is always a chance of getting out of a local minimum and afterwards finding the global minimum. At each temperature, a number of sweeps is performed. A sweep consists of testing a (typically large) number of states. These states are chosen according to an internal algorithm. Figure A-3 Simulated Annealing Configuration 254 Utmost IV User s Manual

254 Simulated Annealing Optimization Algorithm (SA) Optimization Algorithms The following configuration parameters can be set for the SA optimizer. Initial temperature factor Minimum temperature Cooling factor Number of sweeps per temperature Maximum number of simulations Acceptable error (%) Stop condition Multiplies the initial value of the error metric to set the initial temperature. The optimizer will stop if the temperature reaches this value. Multiplies the temperature after all its sweeps have been completed. The temperature will be reduced when this number of sweeps is reached. The optimizer will stop if it reaches this number of simulations. The optimizer will stop if the error metric is less than this value. The optimization will stop if, during the specified previous number of temperatures, none of them has reduced the error metric by the specified amount. 255 Utmost IV User s Manual

255 Parallel Tempering Optimization Algorithm (PT) Optimization Algorithms A.4 Parallel Tempering Optimization Algorithm (PT) Parallel Tempering (PT) is a global optimization method. It is related to SA, but instead of mimicing the gradual cooling process of a single physical system, it consists of an ensemble of systems (called replicas) at different and fixed temperatures. Each replica carries its own copy of the optimization parameters which will in general diverge from the other replicas as the optimization proceeds. Each cycle of the PT algorithm begins with a number of sweeps of the SA type. These are followed by exchange iterations in which replicas at adjacent temperatures exchange their configurations with a certain probability. Provided the temperatures are not too dissimilar, this probability will be reasonably high and a kind of tunneling can take place between the systems. Systems at higher temperatures can sample larger areas of parameter space, albeit more coarsely. Those at lower temperatures can sample smaller areas more finely but may become trapped in local minima and require a restart in an ordinary SA optimization. The central idea of PT is that the exchange of replicas enables systems at higher temperatures to generate new local optimizers at lower temperatures, facilitating good sampling of the whole phase space. The disadvantage of PT is of course that simulation of replicas, rather than one, requires on the order of times more computational effort. Figure A-4 Parallel Tempering Configuration 256 Utmost IV User s Manual

256 Parallel Tempering Optimization Algorithm (PT) Optimization Algorithms The following configuration parameters can be set for the PT optimizer. Number of replicas Maximum temperature factor Minimum temperature factor Number of sweeps per cycle Number of exchange iterations Maximum number of cycles Maximum number of simulations Acceptable error (%) Stop condition Number of copies of the optimization parameters to be used, each at a different temperature. Multiplies the initial value of the error metric to set the highest temperature of any replica. Multiplies the initial value of the error metric to set the lowest temperature of any replica. Each cycle begins with this many sweeps, then performs exchange iterations. After performing its sweeps, each cycle per cycle concludes with this many exchange iterations. The optimizer will stop if it reaches this number of cycles. The optimizer will stop if it reaches this number of simulations. The optimizer will stop if the error metric is less than this value. The optimization will stop if, during the specified previous number of cycles, none of them has reduced the error metric by the specified amount. 257 Utmost IV User s Manual

257 Genetic Optimization Algorithm (GA) Optimization Algorithms A.5 Genetic Optimization Algorithm (GA) Genetic algorithm (GA) is a global optimizer and an evolutionary algorithm, that is, it uses techniques inspired by evolutionary biology. GA works with a population of candidate solutions to the optimization problem. At each step it generates a new population from the old. The idea is that the error metric plays the role of the evolutionary pressures found in nature and causes the evolution of an improved population. GA uses crossover and mutation operators, analogously to biological reproduction. The crossover operator produces two children from two parents by mixing parts of both parents. The mutation operator randomly changes parts of a single child. Individuals are chosen to contribute to the next generation by one of two means. Tournament means that pairs are compared at random and the one with the better error metric is chosen. Universal stochastic sampling chooses contributors based on their fitness relative to the whole population Figure A-5 Genetic Algorithm Configuration The following configuration parameters can be used for the GA optimizer. Population size Selection Crossover probability The number of copies of the parameters used in each generation. Choose tournament or stochastic methods to select the next generation. The probability that two parents will generate two children by exchanging their parameter values. This value should be relatively high. 258 Utmost IV User s Manual

258 Genetic Optimization Algorithm (GA) Optimization Algorithms Mutation probability Use elitism Maximum number of generations Maximum number of simulations Acceptable error (%) Stop condition The probability that parameter values will change spontaneously in a single child. This value should be relatively low. If true, the fittest member of the current generation will always be passed to the next. The optimizer will stop if it reaches this number of generations. The optimizer will stop if it reaches this number of simulations. The optimizer will stop if the error metric is less than this value. The optimization will stop if, during the specified previous number of generations, none of them has reduced the error metric by the specified amount. 259 Utmost IV User s Manual

259 Differential Evolution Optimization Algorithm (DE) Optimization Algorithms A.6 Differential Evolution Optimization Algorithm (DE) Like GA, differential evolution (DE) is a global optimizer and an evolutionary algorithm, that is, it uses techniques inspired by evolutionary biology. Unlike GA, which always operates directly on the population members, DE also uses differences between members as it creates candidate solutions. It constructs a population of these candidates matching the current population. Only those which improve over their counterparts are accepted, so all the members of the next generation are always at least as good as the current one. The amplification factor multiplies difference between existing individuals to make an intermediate. The crossover probability is used to decide which parts of an intermediate contribute to to a candidate for the next generation. Several strategies exist to combine members of the current generation. BEST means that the member with the best error metric always contributes. The numbers 2 and 4 indicate how many members contribute. EXP chooses parameters from intermediates in a block, BIN on a per-individual basis. Figure A-6 Differential Evolution Configuration The following configuration parameters can be used for the DE optimizer. Population size Amplification factor Crossover probability The number of copies of the parameters used in each generation. Multiplies differences in members contributing to an intermediate. The probability that parts of an intermediate will contribution to a candidate. 260 Utmost IV User s Manual

260 Differential Evolution Optimization Algorithm (DE) Optimization Algorithms Strategy Maximum number of generations Maximum number of simulations Acceptable error (%) Stop condition The means by which candidate members of the next generation are constructed. The optimizer will stop if it reaches this number of generations. The optimizer will stop if it reaches this number of simulations. The optimizer will stop if the error metric is less than this value. The optimization will stop if, during the specified previous number of generations, none of them has reduced the error metric by the specified amount. 261 Utmost IV User s Manual

261 Hybrid Optimization Algorithm (HY) Optimization Algorithms A.7 Hybrid Optimization Algorithm (HY) The hybrid optimizer allows a single selection of two sequential optimizations to take best advantage of the strengths of both global and local optimization algorithms. Typically, the first optimization is performed using a global optimizer. This optimization provides a good initial starting point for the much faster local optimizer. Figure A-7 Hybrid Configuration The following configuration parameters can be set for the HY optimizer. First optimizer Second optimizer Transition error (%) The optimization algorithm to be run first. The optimization algorithm to be run second. The first optimization will stop and the second will begin if this error metric is reached. 262 Utmost IV User s Manual

262 Appendix B Converting Data from ICCAP, BSIMPro, ProPlus, and Atlas

263 Converting Data from ICCAP, BSIMPro, ProPlus, and Atlas Data stored in Utmost III format logfiles and Utmost IV format data files can be directly imported into the Utmost IV database. Data stored in other formats will first have to be converted into the Utmost IV data file format. A number of scripts are provided to perform this conversion. These scripts are located in the <install directory>/lib/utmost4/ <version>/scripts directory. The script with the.awk suffix will convert a single file, the other script is used to automate the conversion of multiple files. Data Format File Extension Script Names ICCAP.mdm iccap_to_ut4_dc.awk iccap_to_ut4_dc BSIMPro.iv bsimpro_old_to_ut4_dc.awk bsimpro_old_to_ut4_dc ProPlus.dat bsimpro_to_ut4_dc.awk bsimpro_to_ut4_dc Atlas.log atlas_to_ut4_dc.awk atlas_to_ut4_dc The scripts are written using the 'awk' programming language and can be run on most UNIX operating systems. There are many versions of awk available including awk, nawk, and gawk. To convert a single ICCAP file called in.mdm into an Utmost IV file called out.uds, you would issue the following command. awk -f iccap_to_ut4_dc.awk in.mdm > out.uds If you try to import this file into Utmost IV, this will fail due to key information, which is missing from the ICCAP file. You can edit the file manually to enter this information, however, the following sections will explain how to add this information through the command line. Note: The '>' operator in the command line above will cause the out.uds file to be overwritten. If you wish to append to the file, then you should use the '>>' operator. 264 Utmost IV User s Manual

264 Adding Missing Key Information Converting Data from ICCAP, BSIMPro, ProPlus, and Atlas B.1 Adding Missing Key Information The information stored in these other formats is incomplete. Typically, the filename or the directory name or hierarchy is used to tell you what data is stored in the file. When performing the conversion to Utmost IV format files, this missing key information will have to be added. In some formats, the temperature information may be incorrect or missing. Information Batch Name Wafer Name Die Name Device Name Dataset Name Temperature Command line option example batchname= mybatch wafername= wafer1 diename= center devicename= n10x10 datasetname= idvglin temperature=27 For example, to add a batch name and wafer name when converting the example ICCAP file, you would enter the following command. nawk -f iccap_to_ut4_dc.awk in.mdm batchname= B1 wafername= 16 > out.uds Note: Do not leave additional whitespace characters around the '=' symbol in any of the command line options. B.2 The Utmost IV Data File Header At the top of every Utmost IV '.uds' data file, there is a short header identifying the file. The header will be written by default by the awk program. To stop the header from being written to the output file, you should add the following command line option. noheader=1 Note: The header must appear at the top of the file and must appear only once. When appending a new converted dataset to an existing Utmost IV data file, you should use this option to avoid writing out another header into the file. B.3 Adding an Attribute The device attribute information, such as width and length, are often missing from these other data formats. To add an attribute to the converted dataset, you use the following command line option. attr_w=10e-6 This example would add an attribute named 'W' with a value of 10e Utmost IV User s Manual

265 Adding a Function Converting Data from ICCAP, BSIMPro, ProPlus, and Atlas B.4 Adding a Function You may also want to add an additional function into the converted dataset. For example, when importing some MOSFET drain current versus gate voltage data, you may want to calculated the transconductance, gm. This function can be added to the converted dataset using the following command line option. func_1= gm::derivative (VG, ID) func_2= beta::ic/ib B.5 Adding a Plot To add a plot to the converted dataset, you would use the following command line option. plot_1="gm::xy(lin LIN)::VG::gm" plot_2= gummel::xy(lin LOG)::VB::IC IB For a cartesian plot with both Y1 and Y2 axes, you would use the following command line option. plot_3="id_and_gm::xyy(lin LIN LIN)::VG::ID::gm" B.6 Converting ICCAP data with 3 Sweeps into Multiple 2 Sweep Datasets When displaying data with more than 2 sweeps on 2 dimensional plots, the data is often confusing. The data shown below has 3 sweeps and shows how a plot would look with all data combined. It is difficult to visualize what is happening with the data from this plot. Figure B-1 Plotting a Dataset with 3 Sweeps 266 Utmost IV User s Manual

266 Correcting Polarity in BSIMPro Data Converting Data from ICCAP, BSIMPro, ProPlus, and Atlas To convert the ICCAP data with 3 sweeps into multiple 2 sweep datasets, you can use the following command line option. make_2d_data=1 The figure below shows this same data split into multiple separate 2 sweep datasets and displayed by Utmost IV. It is much easier to analyze the data when presented in this way. Figure B-2 Plotting Multiple Datasets with 2 Sweeps B.7 Correcting Polarity in BSIMPro Data With regard to pmos polarity, several different variants of BSIMPro format data files have been seen in practice. In the most common variant, both the voltage sweep information and the measured data are multiplied by -1, the polarity in the file. The conversion script will, by default, perform this conversion for you. However, if your data files are of the additional variants that do not follow the above pattern, then you can use the following command line options to specify exactly how to convert your data. Command line option pol_for_volt=1 pol_for_data=-1 Voltage sweep information is multiplied by this value. Measured data is multiplied by this value. 267 Utmost IV User s Manual

SILVACO Management Console (SMAN)

SILVACO Management Console (SMAN) SILVACO Management Console (SMAN) User s Manual SILVACO, Inc. 4701 Patrick Henry Drive, Bldg. 2 March 5, 2012 Santa Clara, CA 95054 Phone (408) 567-1000 Web: www.silvaco.com Notice The information contained

More information

DeckBuild User s Manual

DeckBuild User s Manual DeckBuild User s Manual Version 4.2.0.R Silvaco, Inc. 4701 Patrick Henry Drive, Bldg. 2 October 2, 2015 Santa Clara, CA 95054 Phone: (408) 567-1000 Web: www.silvaco.com Notice The information contained

More information

SmartSpice Analog Circuit Simulator Product Update. Yokohama, June 2004 Workshop

SmartSpice Analog Circuit Simulator Product Update. Yokohama, June 2004 Workshop SmartSpice Analog Circuit Simulator Product Update Yokohama, June 2004 Workshop Agenda SmartSpice Products SmartSpice General Features SmartSpice New GUI SmartSpice New features Supported Models and Modeling

More information

Utmost III. Device Characterization and Modeling

Utmost III. Device Characterization and Modeling Utmost III Device Characterization and Modeling Utmost III generates accurate, high quality SPICE models for analog, mixed-signal and RF applications. Utmost III is in use worldwide by leading IDMs, foundries

More information

PDK-Based Analog/Mixed-Signal/RF Design Flow 11/17/05

PDK-Based Analog/Mixed-Signal/RF Design Flow 11/17/05 PDK-Based Analog/Mixed-Signal/RF Design Flow 11/17/05 Silvaco s What is a PDK? Which people build, use, and support PDKs? How do analog/mixed-signal/rf engineers use a PDK to design ICs? What is an analog/mixed-signal/rf

More information

Tanner Analog Front End Flow. Student Workbook

Tanner Analog Front End Flow. Student Workbook Student Workbook 2016 Mentor Graphics Corporation All rights reserved. This document contains information that is trade secret and proprietary to Mentor Graphics Corporation or its licensors and is subject

More information

Guide to Using TCAD with Examples

Guide to Using TCAD with Examples Guide to Using TCAD with Examples Silvaco 4701 Patrick Henry Drive, Bldg. 6 Santa Clara, CA 95054 Telephone (408) 567-1000 Internet: www.silvaco.com February 4, 2009 SILVACO Page 1 Guide to Using TCAD

More information

ESD Protection Device Simulation and Design

ESD Protection Device Simulation and Design ESD Protection Device Simulation and Design Introduction Electrostatic Discharge (ESD) is one of the major reliability issues in Integrated Circuits today ESD is a high current (1A) short duration (1ns

More information

Single Vendor Design Flow Solutions for Low Power Electronics

Single Vendor Design Flow Solutions for Low Power Electronics Single Vendor Design Flow Solutions for Low Power Electronics Pressure Points on EDA Vendors for Continuous Improvements To be the leader in low power electronics circuit design solutions, an EDA vendor

More information

Expert Layout Editor. Technical Description

Expert Layout Editor. Technical Description Expert Layout Editor Technical Description Agenda Expert Layout Editor Overview General Layout Editing Features Technology File Setup Multi-user Project Library Setup Advanced Programmable Features Schematic

More information

Expert Expanded with Client-Server Project/Library Management

Expert Expanded with Client-Server Project/Library Management Connecting TCAD To Tapeout A Journal for CAD/CAE Engineers Expert Expanded with Client-Server Project/Library Management The Expert layout processor v.2.0 introduces a client-server system for managing

More information

SILVACO. An Intuitive Front-End to Effective and Efficient Schematic Capture Design INSIDE. Introduction. Concepts of Scholar Schematic Capture

SILVACO. An Intuitive Front-End to Effective and Efficient Schematic Capture Design INSIDE. Introduction. Concepts of Scholar Schematic Capture TCAD Driven CAD A Journal for CAD/CAE Engineers Introduction In our previous publication ("Scholar: An Enhanced Multi-Platform Schematic Capture", Simulation Standard, Vol.10, Number 9, September 1999)

More information

Integrated Simulation Solution for Advanced Power Devices

Integrated Simulation Solution for Advanced Power Devices Integrated Simulation Solution for Advanced Power Devices Objectives of this Presenation Presentation of simulation results for non-silicon power device types SiC Based Power Devices GaN Based Power Devices

More information

Silvaco Japan Leading Future EDA in Japan

Silvaco Japan Leading Future EDA in Japan Silvaco Japan Leading Future EDA in Japan 株式会社シルバコシルバコ ジャパン Dr. Ivan Pesic and Kazuya Fujimoto Problem and Opportunity Problem Japan today, even with a significant electronics industry, does not have an

More information

Advanced Design System Netlist Exporter

Advanced Design System Netlist Exporter Advanced Design System 2002 Netlist Exporter February 2002 Notice The information contained in this document is subject to change without notice. Agilent Technologies makes no warranty of any kind with

More information

Detailed Presentation

Detailed Presentation Detailed Presentation PDK Leadership - Developing and Delivering High Quality PDKs Simucad PDKs are being rapidly adopted worldwide by leading foundries and design houses because of their quality and ease

More information

Model Builder Program (MBP) Complete Silicon Turnkey Device Modeling Software

Model Builder Program (MBP) Complete Silicon Turnkey Device Modeling Software Model Builder Program (MBP) Complete Silicon Turnkey Device Modeling Software Introduction Model Builder Program (MBP) is a complete modeling solution that integrates SPICE simulation, model parameter

More information

Aurora. Device Characterization and Parameter Extraction System

Aurora. Device Characterization and Parameter Extraction System SYSTEMS PRODUCTS LOGICAL PRODUCTS PHYSICAL IMPLEMENTATION SIMULATION AND ANALYSIS LIBRARIES TCAD Aurora DFM WorkBench Davinci Medici Raphael Raphael-NES Silicon Early Access TSUPREM-4 Taurus-Device Taurus-Lithography

More information

Agilent EZChrom SI. Startup Guide

Agilent EZChrom SI. Startup Guide Agilent EZChrom SI Startup Guide Notices Copyright Scientific Software, Inc 2003 Agilent Technologies, Inc. 2006. No part of this manual may be reproduced in any form or by any means (including electronic

More information

Advanced Design System Netlist Exporter Setup

Advanced Design System Netlist Exporter Setup Advanced Design System 2002 Netlist Exporter Setup February 2002 Notice The information contained in this document is subject to change without notice. Agilent Technologies makes no warranty of any kind

More information

Student Workbook. Mentor Graphics Corporation All rights reserved.

Student Workbook. Mentor Graphics Corporation All rights reserved. Eldo Platform Basic Student Workbook Mentor Graphics Corporation All rights reserved. This document contains information that is trade secret and proprietary to Mentor Graphics Corporation or its licensors

More information

Solar Cells. Simulation and Design

Solar Cells. Simulation and Design Solar Cells Simulation and Design - Outline Solar cells are simulated within TCAD process simulation (ATHENA) and device simulation (ATLAS) frameworks. This presentation will cover: 1 The software architecture

More information

UOTFT: Universal Organic TFT Model for Circuit Design

UOTFT: Universal Organic TFT Model for Circuit Design UOTFT: Universal Organic TFT Model for Circuit Design S. Mijalković, D. Green, A. Nejim Silvaco Europe, St Ives, Cambridgeshire, UK A. Rankov, E. Smith, T. Kugler, C. Newsome, J. Halls Cambridge Display

More information

Agilent OpenLAB ECM Intelligent Reporter

Agilent OpenLAB ECM Intelligent Reporter Agilent OpenLAB ECM Intelligent Reporter Installation and Configuration Guide Agilent Technologies Notices Agilent Technologies, Inc. 2007-2016 No part of this manual may be reproduced in any form or by

More information

Simulating Accurate 3D Geometries for Interconnect Parasitic Extraction Using CLEVER

Simulating Accurate 3D Geometries for Interconnect Parasitic Extraction Using CLEVER Connecting TCAD To Tapeout A Journal for Process and Device Engineers Simulating Accurate 3D Geometries for Interconnect Parasitic Extraction Using CLEVER Introduction CLEVER is designed to model interconnect

More information

QUEST 3D RLCG Extraction Depending on Frequency. RF Structures Parasitic Extractor

QUEST 3D RLCG Extraction Depending on Frequency. RF Structures Parasitic Extractor QUEST 3D RLCG Extraction Depending on Frequency RF Structures Parasitic Extractor Introduction Type of Simulation Inputs / Outputs Graphical Interface Technology Process Layout Field Solver Output DOE

More information

Virtual Recovery Assistant user s guide

Virtual Recovery Assistant user s guide Virtual Recovery Assistant user s guide Part number: T2558-96323 Second edition: March 2009 Copyright 2009 Hewlett-Packard Development Company, L.P. Hewlett-Packard Company makes no warranty of any kind

More information

SC-T35/SC-T45/SC-T46/SC-T47 ViewSonic Device Manager User Guide

SC-T35/SC-T45/SC-T46/SC-T47 ViewSonic Device Manager User Guide SC-T35/SC-T45/SC-T46/SC-T47 ViewSonic Device Manager User Guide Copyright and Trademark Statements 2014 ViewSonic Computer Corp. All rights reserved. This document contains proprietary information that

More information

APM Import Tool. Product Guide

APM Import Tool. Product Guide APM Import Tool Product Guide This documentation and any related computer software help programs (hereinafter referred to as the Documentation ) is for the end user s informational purposes only and is

More information

Getting started. Starting Capture. To start Capture. This chapter describes how to start OrCAD Capture.

Getting started. Starting Capture. To start Capture. This chapter describes how to start OrCAD Capture. Getting started 1 This chapter describes how to start OrCAD Capture. Starting Capture The OrCAD Release 9 installation process puts Capture in the \PROGRAM FILES\ORCAD\CAPTURE folder, and adds Pspice Student

More information

Learning Secomea Remote Access (Using SiteManager Embedded for Windows)

Learning Secomea Remote Access (Using SiteManager Embedded for Windows) Secomea GateManager BASIC Guide Learning Secomea Remote Access (Using SiteManager Embedded for Windows) This guide is intended for first time users of the Secomea remote access solution, who need a practical

More information

Enterprise Vault.cloud CloudLink Google Account Synchronization Guide. CloudLink to 4.0.3

Enterprise Vault.cloud CloudLink Google Account Synchronization Guide. CloudLink to 4.0.3 Enterprise Vault.cloud CloudLink Google Account Synchronization Guide CloudLink 4.0.1 to 4.0.3 Enterprise Vault.cloud: CloudLink Google Account Synchronization Guide Last updated: 2018-06-08. Legal Notice

More information

Hipex Full-Chip Parasitic Extraction

Hipex Full-Chip Parasitic Extraction What is Hipex? products perform 3D-accurate and 2D-fast extraction of parasitic capacitors and resistors from hierarchical layouts into hierarchical transistor-level netlists using nanometer process technology

More information

RC Extraction. of an Inverter Circuit

RC Extraction. of an Inverter Circuit RC Extraction of an Inverter Circuit Santa Clara University Department of Electrical Engineering Under Guidance of Dr Samiha Mourad & Dr Shoba Krishnan Date of Last Revision: February 1, 2010 Copyright

More information

IBM Rational Rhapsody Gateway Add On. User Guide

IBM Rational Rhapsody Gateway Add On. User Guide User Guide Rhapsody IBM Rational Rhapsody Gateway Add On User Guide License Agreement No part of this publication may be reproduced, transmitted, stored in a retrieval system, nor translated into any

More information

SILVACO. 3D Simulation of Power Devices using Giga3D and MixedMode3D INSIDE. A Journal for Process and Device Engineers.

SILVACO. 3D Simulation of Power Devices using Giga3D and MixedMode3D INSIDE. A Journal for Process and Device Engineers. TCAD Driven CAD A Journal for Process and Device Engineers Introduction 3D Simulation of Power Devices using Giga3D and MixedMode3D Recent additions to the ATLAS device simulation framework have added

More information

KnapSac Windows Server User's Guide

KnapSac Windows Server User's Guide KnapSac Windows Server User's Guide Table of Contents KnapSac Server for WIndows... 3 Introduction... 3 Windows Server... 3 License File... 5 License File System ID... 5 License File Options... 5 Server

More information

Galaxy Custom Designer SE The New Choice in Custom Schematic Editing and Simulation Environment

Galaxy Custom Designer SE The New Choice in Custom Schematic Editing and Simulation Environment Datasheet Galaxy Custom Designer SE The New Choice in Custom Schematic Editing and Simulation Environment Overview Galaxy Custom Designer SE is the next-generation choice for schematic entry, enabling

More information

AccuCore STA DSPF Backannotation Timing Verification Design Flow

AccuCore STA DSPF Backannotation Timing Verification Design Flow Application Note AccuCore STA DSPF Backannotation Timing Verification Design Flow Abstract This application note highlights when and why DSPF backannotation is needed during timing verification, and details

More information

Eldo Platform Advanced Statistical Analysis. Student Workbook

Eldo Platform Advanced Statistical Analysis. Student Workbook Student Workbook 2017 Mentor Graphics Corporation All rights reserved. This document contains information that is trade secret and proprietary to Mentor Graphics Corporation or its licensors and is subject

More information

EMC Ionix Network Configuration Manager Version 4.1.1

EMC Ionix Network Configuration Manager Version 4.1.1 EMC Ionix Network Configuration Manager Version 4.1.1 RSA Token Service Installation Guide 300-013-088 REVA01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com

More information

Copyright 2008 Linear Technology. All rights reserved. Getting Started

Copyright 2008 Linear Technology. All rights reserved. Getting Started Copyright. All rights reserved. Getting Started Copyright. All rights reserved. Draft a Design Using the Schematic Editor 14 Start with a New Schematic New Schematic Left click on the New Schematic symbol

More information

Management Console for SharePoint

Management Console for SharePoint Management Console for SharePoint User Guide Copyright Quest Software, Inc. 2009. All rights reserved. This guide contains proprietary information, which is protected by copyright. The software described

More information

Smart Access Control System Software. User Manual. Version 1.0

Smart Access Control System Software. User Manual. Version 1.0 Smart Access Control System Software User Manual Version 1.0 Copyright MaCaPS International Ltd. 2002 This manual was produced by MaCaPS International Ltd. MaCaPS International Ltd. http://www.macaps.com.hk

More information

HIPEX Full-Chip Parasitic Extraction. Summer 2004 Status

HIPEX Full-Chip Parasitic Extraction. Summer 2004 Status HIPEX Full-Chip Parasitic Extraction Summer 2004 Status What is HIPEX? HIPEX Full-Chip Parasitic Extraction products perform 3D-accurate and 2D-fast extraction of parasitic capacitors and resistors from

More information

ZL UA Exchange 2013 Archiving Configuration Guide

ZL UA Exchange 2013 Archiving Configuration Guide ZL UA Exchange 2013 Archiving Configuration Guide Version 8.0 January 2014 ZL Technologies, Inc. Copyright 2014 ZL Technologies, Inc.All rights reserved ZL Technologies, Inc. ( ZLTI, formerly known as

More information

x10data Application Platform v7.1 Installation Guide

x10data Application Platform v7.1 Installation Guide Copyright Copyright 2010 Automated Data Capture (ADC) Technologies, Incorporated. All rights reserved. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the

More information

LiveNX Upgrade Guide from v5.1.2 to v Windows

LiveNX Upgrade Guide from v5.1.2 to v Windows LIVEACTION, INC. LiveNX Upgrade Guide from v5.1.2 to v5.1.3 - Windows UPGRADE LiveAction, Inc. 3500 Copyright WEST BAYSHORE 2016 LiveAction, ROAD Inc. All rights reserved. LiveAction, LiveNX, LiveUX, the

More information

Agilent 34826A BenchLink Data Logger for 34980A. Getting Started Guide. Agilent Technologies

Agilent 34826A BenchLink Data Logger for 34980A. Getting Started Guide. Agilent Technologies Agilent 34826A BenchLink Data Logger for 34980A Getting Started Guide Agilent Technologies Notices Agilent Technologies, Inc. 2006 No part of this manual may be reproduced in any form or by any means (including

More information

Finger Authentication Server

Finger Authentication Server Futronic Technology Company Ltd. Finger Authentication Server User's Guide Version 5.7 Copyright 2003-2010 Futronic Technology Company Ltd. Copyright 2003-2010 Futronic Technology Company Ltd. All rights

More information

ZL UA Configuring Exchange 2010 for Archiving Guide. Version 7.0

ZL UA Configuring Exchange 2010 for Archiving Guide. Version 7.0 ZL UA Configuring Exchange 2010 for Archiving Guide Version 7.0 ZL Technologies, Inc. Copyright 2011 ZL Technologies, Inc.All rights reserved ZL Technologies, Inc. ( ZLTI, formerly known as ZipLip ) and

More information

Managing the CaseMap Admin Console User Guide

Managing the CaseMap Admin Console User Guide Managing the CaseMap Admin Console User Guide CaseMap Server, Version 2.3 Accessing the CaseMap Admin Console Registering CaseMap Servers Registering SQL Servers Setting Up Roles and Users Managing SQL

More information

Nimsoft Monitor. websphere Guide. v1.5 series

Nimsoft Monitor. websphere Guide. v1.5 series Nimsoft Monitor websphere Guide v1.5 series Legal Notices Copyright 2012, Nimsoft Corporation Warranty The material contained in this document is provided "as is," and is subject to being changed, without

More information

What s new in IC-CAP 2009 Update 1

What s new in IC-CAP 2009 Update 1 What s new in IC-CAP 2009 Update 1 Overview of the new features included in this release March 2010 Device Modeling Marketing Team Agilent EEsof EDA IC-CAP 2009 Update 1 Release Page 1 Doc Version 1.0

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Design Flows Overview Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To

More information

SPICE Models: ROHM Voltage Detector ICs

SPICE Models: ROHM Voltage Detector ICs SPICE Models: ROHM Voltage Detector ICs BD48 G/FVE,BD49 G/FVE,BD52 G/FVE,BD53 G/FVE, No.10006EAY01 1. INTRODUCTION 1.1 SPICE SPICE is a general-purpose circuit-simulation program for nonlinear DC, nonlinear

More information

SolarWinds. Migrating SolarWinds NPM Technical Reference

SolarWinds. Migrating SolarWinds NPM Technical Reference SolarWinds Migrating SolarWinds NPM Technical Reference Copyright 1995-2015 SolarWinds Worldwide, LLC. All rights reserved worldwide. No part of this document may be reproduced by any means nor modified,

More information

HandHeld Dolphin 7400 Client User Guide. Version 4.0. Revised

HandHeld Dolphin 7400 Client User Guide. Version 4.0. Revised HandHeld Dolphin 7400 Client User Guide Version 4.0 Revised 07-17-01 Copyright 2001 by Wavelink Corporation All rights reserved. Wavelink Corporation 11332 NE 122nd Way Suite 300 Kirkland, Washington 98034

More information

TIBCO Spotfire Web Player Release Notes. Software Release May 2012

TIBCO Spotfire Web Player Release Notes. Software Release May 2012 TIBCO Spotfire Web Player Release Notes Software Release 4.5.0 May 2012 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE

More information

Flat Panel Displays TCAD/ Circuit Design

Flat Panel Displays TCAD/ Circuit Design Flat Panel Displays TCAD/ Circuit Design Silvaco Products Connecting TCAD to Tapeout -2- FPD Design & Fabrication Specification EDA Verification SPICE Characterization UTMOST Parameter Extraction I-V,

More information

Getting Started with Tally.Developer 9 Alpha

Getting Started with Tally.Developer 9 Alpha Getting Started with Tally.Developer 9 Alpha The information contained in this document is current as of the date of publication and subject to change. Because Tally must respond to changing market conditions,

More information

Quest NetVault Backup Plug-in for SnapMirror To Tape. User s Guide. version 7.6. Version: Product Number: NTG EN-01 NTG

Quest NetVault Backup Plug-in for SnapMirror To Tape. User s Guide. version 7.6. Version: Product Number: NTG EN-01 NTG Quest NetVault Backup Plug-in for SnapMirror To Tape version 7.6 User s Guide Version: Product Number: NTG-101-7.6-EN-01 NTG-101-7.6-EN-01 09/30/11 2011 Quest Software, Inc. ALL RIGHTS RESERVED. This guide

More information

PROMISE ARRAY MANAGEMENT ( PAM) FOR FastTrak S150 TX2plus, S150 TX4 and TX4000. User Manual. Version 1.3

PROMISE ARRAY MANAGEMENT ( PAM) FOR FastTrak S150 TX2plus, S150 TX4 and TX4000. User Manual. Version 1.3 PROMISE ARRAY MANAGEMENT ( PAM) FOR FastTrak S150 TX2plus, S150 TX4 and TX4000 User Manual Version 1.3 Promise Array Management Copyright 2003 Promise Technology, Inc. All Rights Reserved. Copyright by

More information

Avalanche Remote Control User Guide. Version 4.1

Avalanche Remote Control User Guide. Version 4.1 Avalanche Remote Control User Guide Version 4.1 ii Copyright 2012 by Wavelink Corporation. All rights reserved. Wavelink Corporation 10808 South River Front Parkway, Suite 200 South Jordan, Utah 84095

More information

Adlib PDF FileNet Connector Guide PRODUCT VERSION: 5.1

Adlib PDF FileNet Connector Guide PRODUCT VERSION: 5.1 Adlib PDF FileNet Connector Guide PRODUCT VERSION: 5.1 REVISION DATE: January 2014 Copyright 2014 Adlib This manual, and the Adlib products to which it refers, is furnished under license and may be used

More information

Dell Secure Mobile Access Connect Tunnel Service User Guide

Dell Secure Mobile Access Connect Tunnel Service User Guide Dell Secure Mobile Access 11.4 Connect Tunnel Service 2016 Dell Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in this guide is furnished

More information

Guardian NET Layout Netlist Extractor

Guardian NET Layout Netlist Extractor Outline What is Guardian NET Key Features Running Extraction Setup Panel Layout Annotation Layout Text Extraction Node Naming Electric Rule Checking (ERC) Layout Hierarchy Definition Hierarchy Checker

More information

8.2. Quick Start Guide

8.2. Quick Start Guide 8.2 Quick Start Guide 2012 Quest Software, Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in this guide is furnished under a software

More information

Version 9. Backing Up and Restoring Progeny 9 Databases

Version 9. Backing Up and Restoring Progeny 9 Databases Version 9 Backing Up and Restoring Progeny 9 Databases Backing Up and Restoring Progeny 9 Databases Copyright Limit of Liability Trademarks Customer Support 2015. Progeny Genetics, LLC, All rights reserved.

More information

User Manual. (updated March 27, 2014) Information in this document is subject to change without notice.

User Manual. (updated March 27, 2014) Information in this document is subject to change without notice. User Manual (updated March 27, 2014) Information in this document is subject to change without notice. Copyright 2013-2014, Exacq Technologies, Inc. All rights reserved. Exacq Technologies is a trademark

More information

Recording Server Maintenance Tool

Recording Server Maintenance Tool A-EE9-100-12 (1) Recording Server Maintenance Tool User s Guide Software Version 2.0.0 and Later NSR-500 NSR-1000 Series RealShot Manager Advanced 2012 Sony Corporation Table of Contents Copyright Notice...

More information

Security Explorer 9.1. User Guide

Security Explorer 9.1. User Guide Security Explorer 9.1 User Guide Security Explorer 9.1 User Guide Explorer 8 Installation Guide ii 2013 by Quest Software All rights reserved. This guide contains proprietary information protected by copyright.

More information

City National E Deposit SM User Guide

City National E Deposit SM User Guide City National E Deposit SM User Guide July 2016 Copyright 2016 by City National Bank Member FDIC All rights reserved. No part of this User Guide may be reproduced or transmitted in any form or by any means,

More information

Contents SPICE NETLIST IMPORT... 4 INVOKING SPICE NETLIST IMPORT... 4

Contents SPICE NETLIST IMPORT... 4 INVOKING SPICE NETLIST IMPORT... 4 1 Norlinvest Ltd, BVI. is a trade name of Norlinvest Ltd. All Rights Reserved. No part of the SPICE Netlist Import document can be reproduced in any form or by any means without the prior written permission

More information

Upgrading BankLink Books

Upgrading BankLink Books Upgrading BankLink Books Contents Upgrading BankLink Books... 4 Upgrading BankLink Books using the automatic upgrade 4 Upgrading BankLink Books when asked to upgrade 5 Upgrading BankLink Books Page 2 of

More information

Running TIBCO Spotfire 3.2 on Citrix XenApp. Installation Manual

Running TIBCO Spotfire 3.2 on Citrix XenApp. Installation Manual Running TIBCO Spotfire 3.2 on Citrix XenApp Installation Manual Revision date: 28 June 2010 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED

More information

AGAMA. Version 1.0 FONT ASSISTANT. for Windows 95/98 & NT. User's Guide

AGAMA. Version 1.0 FONT ASSISTANT. for Windows 95/98 & NT. User's Guide AGAMA Version 1.0 FONT ASSISTANT for Windows 95/98 & NT 1999 User's Guide Copyright Notice Copyright 1991-1999, AGAMA, Moscow, Russia and Smart Link Corpoiration, USA. All Rights Reserved. All parts of

More information

Linking a Simulation Model to a Schematic Component. Contents

Linking a Simulation Model to a Schematic Component. Contents Linking a Simulation Model to a Schematic Component Contents Model Conversion Creating the Schematic Component Adding the Link Configuring the Link Specifying Model Type Linking to a SPICE 3f5 Model The

More information

AST2500 ibmc Configuration Guide

AST2500 ibmc Configuration Guide AST2500 ibmc Configuration Guide Version 1.0b Copyright Copyright 2017 MITAC COMPUTING TECHNOLOGY CORPORATION. All rights reserved. No part of this manual may be reproduced or translated without prior

More information

Oracle Enterprise Single Sign-on Kiosk Manager. User Guide Release E

Oracle Enterprise Single Sign-on Kiosk Manager. User Guide Release E Oracle Enterprise Single Sign-on Kiosk Manager User Guide Release 10.1.4.1.0 E12623-01 April 2009 Oracle Enterprise Single Sign-on Kiosk Manager, User Guide, Release 10.1.4.1.0 E12623-01 Copyright 2006-2009,

More information

FastATLAS An Ultra-Fast Physical MESFET and HEMT Simulator

FastATLAS An Ultra-Fast Physical MESFET and HEMT Simulator A Journal for Process and Device Engineers Introduction FastATLAS An Ultra-Fast Physical MESFET and HEMT Simulator By designing specifically for MESFETs and HEMTs Silvaco has optimized device simulation

More information

VMware AirWatch Database Migration Guide A sample procedure for migrating your AirWatch database

VMware AirWatch Database Migration Guide A sample procedure for migrating your AirWatch database VMware AirWatch Database Migration Guide A sample procedure for migrating your AirWatch database For multiple versions Have documentation feedback? Submit a Documentation Feedback support ticket using

More information

Ericsson Mobile Organizer 5.1

Ericsson Mobile Organizer 5.1 Preface Welcome to Ericsson Mobile Organizer (EMO) 5.1, which offers a full range of mobile office applications to help you keep up with your important emails, calendar and contacts. EMO 5.1 uses Push

More information

Copyright SolarWinds. All rights reserved worldwide. No part of this document may be reproduced by any means nor modified, decompiled,

Copyright SolarWinds. All rights reserved worldwide. No part of this document may be reproduced by any means nor modified, decompiled, APM Migration Introduction... 3 General Requirements... 3 Database Requirements... 3 Stopping APM Services... 4 Creating and Restoring Orion Database Backups... 4 Creating a Database Backup File with Database

More information

METRICS WIN4145. How Win4145 Stores Information. Project Files. The Win4145 Initialization File. Data and Plot Windows.

METRICS WIN4145. How Win4145 Stores Information. Project Files. The Win4145 Initialization File. Data and Plot Windows. METRICS WIN4145 REFERENCE GUIDE CONTENTS CHAPTER 1: A QUICK TOUR OF WIN4145 How Win4145 Stores Information Project Files The Win4145 Initialization File Data and Plot Windows The Menu Bars The Toolbar

More information

CHAPTER 3 SIMULATION TOOLS AND

CHAPTER 3 SIMULATION TOOLS AND CHAPTER 3 SIMULATION TOOLS AND Simulation tools used in this simulation project come mainly from Integrated Systems Engineering (ISE) and SYNOPSYS and are employed in different areas of study in the simulation

More information

AD Summation. Administration Guide. WebBlaze

AD Summation. Administration Guide. WebBlaze AD Summation Administration Guide WebBlaze Version 3.1 Published: September 2010 COPYRIGHT INFORMATION 2009 AccessData, LLC. All rights reserved. The information contained in this document represents the

More information

Quest VROOM Quick Setup Guide for Quest Rapid Recovery for Windows and Quest Foglight vapp Installers

Quest VROOM Quick Setup Guide for Quest Rapid Recovery for Windows and Quest Foglight vapp Installers Quest VROOM Quick Setup Guide for Quest Rapid Recovery for Windows and Quest Foglight vapp Installers INTRODUCTION Setup of Quest VROOM requires installation of Rapid Recovery and Foglight for Virtualization

More information

GPS Explorer Software For Protein Identification Using the Applied Biosystems 4700 Proteomics Analyzer

GPS Explorer Software For Protein Identification Using the Applied Biosystems 4700 Proteomics Analyzer GPS Explorer Software For Protein Identification Using the Applied Biosystems 4700 Proteomics Analyzer Getting Started Guide GPS Explorer Software For Protein Identification Using the Applied Biosystems

More information

Microsoft Dynamics GP. Extender User s Guide

Microsoft Dynamics GP. Extender User s Guide Microsoft Dynamics GP Extender User s Guide Copyright Copyright 2009 Microsoft Corporation. All rights reserved. Complying with all applicable copyright laws is the responsibility of the user. Without

More information

IBM Rational DOORS Installing and Using the RQM Interface Release 9.2

IBM Rational DOORS Installing and Using the RQM Interface Release 9.2 IBM Rational DOORS Installing and Using the RQM Interface Release 9.2 Before using this information, be sure to read the general information under Appendix, Notices, on page 32. This edition applies to

More information

Simulation examples Chapter overview

Simulation examples Chapter overview Simulation examples 2 Chapter overview The examples in this chapter provide an introduction to the methods and tools for creating circuit designs, running simulations, and analyzing simulation results.

More information

PROMISE ARRAY MANAGEMENT ( PAM) USER MANUAL

PROMISE ARRAY MANAGEMENT ( PAM) USER MANUAL PROMISE ARRAY MANAGEMENT ( PAM) USER MANUAL Copyright 2002, Promise Technology, Inc. Copyright by Promise Technology, Inc. (Promise Technology). No part of this manual may be reproduced or transmitted

More information

Agilent CytoGenomics 2.5

Agilent CytoGenomics 2.5 Agilent CytoGenomics 2.5 Installation and Administration Guide Research Use Only. Not for Diagnostic Procedures. Agilent Technologies Notices Agilent Technologies, Inc. 2012 No part of this manual may

More information

Advanced Design System IFF Schematic Translation for Cadence

Advanced Design System IFF Schematic Translation for Cadence Advanced Design System 2001 IFF Schematic Translation for Cadence August 2001 Notice The information contained in this document is subject to change without notice. Agilent Technologies makes no warranty

More information

AMS 360 In-House and Transfer Manager.NET

AMS 360 In-House and Transfer Manager.NET AMS 360 In-House and Transfer Manager.NET 07/07 Standard Disclaimer The staff of AMS Services has taken due care in preparing these instructions; however, nothing herein modifies or alters in any way the

More information

Artix Orchestration Installation Guide. Version 4.2, March 2007

Artix Orchestration Installation Guide. Version 4.2, March 2007 Artix Orchestration Installation Guide Version 4.2, March 2007 IONA Technologies PLC and/or its subsidiaries may have patents, patent applications, trademarks, copyrights, or other intellectual property

More information

MULTIPLE SHAKER CONTROL IN EDM SOFTWARE

MULTIPLE SHAKER CONTROL IN EDM SOFTWARE CI PRODUCT NOTE No. 034 MULTIPLE SHAKER CONTROL IN EDM SOFTWARE WWW.CRYSTALINSTRUMENTS.COM OVERVIEW Multi-shaker control (MSC) is a unique feature offered by Crystal Instruments EDM Software versions 7.0

More information

JMP to LSAF Add-in. User Guide v1.1

JMP to LSAF Add-in. User Guide v1.1 JMP to LSAF Add-in User Guide v1.1 Table of Contents Terms and Conditions... 3 System Requirements... 3 Installation... 3 Configuration... 4 API Setup... 4 Java Configuration... 5 Logging In... 5 Launching

More information

Agilent ChemStation Plus

Agilent ChemStation Plus Agilent ChemStation Plus Getting Started Guide Agilent Technologies Notices Agilent Technologies, Inc. 2004, 2006-2008 No part of this manual may be reproduced in any form or by any means (including electronic

More information