Uploaded by tushar7shill

Sentaurus Workbench User Guide

advertisement
Sentaurus™ Workbench
User Guide
Version I-2013.12, December 2013
Copyright and Proprietary Information Notice
© 2013 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary information that is
the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and may be used or
copied only in accordance with the terms of the license agreement. No part of the software and documentation may be reproduced,
transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without prior written
permission of Synopsys, Inc., or as expressly provided by the license agreement.
Destination Control Statement
All technical data contained in this publication is subject to the export control laws of the United States of America.
Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader’s responsibility to
determine the applicable regulations and to comply with them.
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH
REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys, as set forth at
http://www.synopsys.com/Company/Pages/Trademarks.aspx.
All other product or company names may be trademarks of their respective owners.
Synopsys, Inc.
700 E. Middlefield Road
Mountain View, CA 94043
www.synopsys.com
ii
Sentaurus™ Workbench User Guide
I-2013.12
Contents
About This Guide
xi
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Accessing SolvNet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Contacting Synopsys Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Contacting Your Local TCAD Support Team Directly. . . . . . . . . . . . . . . . . . . . . . . xiv
Chapter 1 Overview
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Sentaurus Workbench Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Compatibility with Previous Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
System Requirements and Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Sentaurus Workbench Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Projects Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Viewing Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Adding Multiple Roots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Updating the View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Project Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Toolbar Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Projects Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Project Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Scheduler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Scheduler Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Batch Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
spp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
gsub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
gjob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
gcleanup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
gtclsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
swblm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Chapter 2 Managing Projects
11
Creating a Project or Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Opening a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Sentaurus™ Workbench User Guide
I-2013.12
iii
Contents
Changing a Project Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Changing the Default Project Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Copying a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Saving a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Automatically Saving a Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Moving a Project or Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Drag-and-Drop Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Cut-and-Paste Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Deleting a Project or Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Renaming a Project or Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Project Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Exporting and Importing Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Chapter 3 Project View
19
View Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Default View Configuration in User Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Project View Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Configuring the Project View Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Setting the Project View Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Customizing the Current Project View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Configuring Column Width and Row Height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Family Tree View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Experimental Plan View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Parameter Values View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Variable Values View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Real and Virtual Family Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Configuring Node Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Showing Tool Comment Row. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Showing Process Name Row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Showing Tool Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Configuring Font of Project View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Zooming Project View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Freezing Columns and Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Selecting Nodes with Mouse and Keyboard Operations . . . . . . . . . . . . . . . . . . . . . . . . . 35
Viewing Node Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Viewing Node Output Files in Sentaurus Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Node Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Copying Table Parts to Other Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Exporting a Spreadsheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Exporting Spreadsheet to Spreadsheet Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Exporting Spreadsheet to Inspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
iv
Sentaurus™ Workbench User Guide
I-2013.12
Contents
Viewing Sentaurus Workbench and Optimizer System Log Files . . . . . . . . . . . . . . . . . . 41
Visualizing Response Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Scheduler View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Viewing Running Nodes in Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Configuring User Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Configuring Project Queues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Editing Queue Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Chapter 4 Editing Projects
45
Read-Only and Writable Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Undoing Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Adding Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Deleting Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Copying and Pasting Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Changing Tool Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Editing Tool Input Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Locking and Unlocking Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Double-clicking Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Adding Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Deleting Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Copying and Pasting Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Changing Parameter Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Removing Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Double-clicking Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Defining Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Changing Variable Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Deleting Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Copying and Pasting Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Formatting Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Defining Variables Per Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Changing and Deleting Variable Values at a Node . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Double-clicking Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Viewing and Editing Node Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Changing Parameter Values Directly in Node Cells . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Editing Parameter Values of Multiple Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Double-clicking Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Copying and Pasting Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Sentaurus™ Workbench User Guide
I-2013.12
v
Contents
Viewing Node Dependencies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Experiments and Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Adding Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Deleting Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Sorting Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Importing Experiments from a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Viewing Experiment Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Adding Scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Deleting Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Copying and Moving Experiments Between Scenarios . . . . . . . . . . . . . . . . . . . . . . . 75
Copying and Moving Experiments Between Projects . . . . . . . . . . . . . . . . . . . . . . . . . 76
Pruning and Unpruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Locking Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Quick-running Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Folding and Unfolding Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Project Consistency Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Activating Project Consistency Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Removing Exclamation Marks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Re-Executing Marked Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Chapter 5 Design-of-Experiments and Taguchi Wizards
83
Design-of-Experiments (DoE) Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Screening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Response Surface Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Stochastic Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Square Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Sensitivity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Standard Sensitivity Analysis Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Taurus Workbench–compatible Sensitivity Analysis Mode . . . . . . . . . . . . . . . . . 91
User-Defined Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Final Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Taguchi Wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Chapter 6 Preprocessing Projects
99
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Global and Run-Time Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Preprocessor #-Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
@-References and Tree Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
User-Defined Delimiters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Node Filters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
vi
Sentaurus™ Workbench User Guide
I-2013.12
Contents
Node Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Split Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Preprocessed Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Extracted Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Execution Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Tcl Command Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Creating Tcl Command Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Tcl Preprocessing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Tcl Blocks and Sentaurus Workbench Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Input and Output Operations Inside Tcl Command Blocks. . . . . . . . . . . . . . . . . . . . 111
Summary of Rules for Using Tcl Command Blocks . . . . . . . . . . . . . . . . . . . . . . . . . 112
When to Use Tcl Command Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Chapter 7 Running Projects
115
From the Project Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
From the Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Scheduling Project Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Standard Configuration Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Research Configuration Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Defining Run Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Delaying the Execution of Projects and Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Aborting Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Aborting Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Updating Node Statuses and Extracted Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Customizing Project Execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Viewing Project Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Viewing Project History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Project Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Chapter 8 Cleaning Up Projects
127
Cleaning Up Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Cleaning Up the Output of Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Cleaning Up Projects from the Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Detecting Files to Remove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Backing Up Node Files Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Sentaurus™ Workbench User Guide
I-2013.12
vii
Contents
Chapter 9 Configuring Sentaurus Workbench
131
Configuring Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Tool Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Run Limits Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Format of XML-compatible Run Limits Settings File . . . . . . . . . . . . . . . . . . . . . . . 143
Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Chapter 10 Integrating Sentaurus Workbench with Other Tools
149
Synchronizing Project and Ligament Process Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Symbolic Links to Node Output Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Visualizing Response Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
First Step of RSM Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Including Parameters in RSM Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Second Step of RSM Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Visualization Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Taurus Workbench to Sentaurus Workbench Converter . . . . . . . . . . . . . . . . . . . . . . . . 156
Merging TWB Tool Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Adapting TWB Parameter Names to SWB Parameter Names . . . . . . . . . . . . . . . . . 158
Chapter 11 Schedulers
161
Scheduling Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
DMW Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Host Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Constraint Database/Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Host Allocation Policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Troubleshooting DMW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
LSF Scheduler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Troubleshooting LSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Nodes Are Submitted but Not Executed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Nodes Are Not Executed and Log File Contains Complaints About bjobs Output171
SGE Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Troubleshooting SGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Reducing Frequency of SGE Job Polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Configuring the Scheduling System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Global Queue Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
For Local Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
For LSF Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
For SGE Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
viii
Sentaurus™ Workbench User Guide
I-2013.12
Contents
For DMW Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
HostDB (for DMW). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Site Queue Configuration and HostDB Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Tool Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Global Tool Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
User Tool Associations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Project Tool Associations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Node-specific Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Run-Time Assignments in the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Extended Scheduler Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Appendix A Preprocessor and Reference Syntax
187
@-References and Tree Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Horizontal Flow Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Vertical Flow Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
#-Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Split Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Node Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Appendix B Menus of Graphical User Interface
197
Project Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Scheduler Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Scenario Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Tool Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Parameter Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Experiments Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Nodes Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Variables Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Optimization Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Calibration Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
PCM Studio Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Extensions Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Help Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Keyboard Navigation Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Sentaurus™ Workbench User Guide
I-2013.12
ix
Contents
Appendix C Sentaurus Workbench Files
213
Project Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Hidden Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
User Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Global Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Site Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Typical Input and Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Appendix D DMW Scheduler: Frequently Asked Questions
217
Limitations of Sentaurus Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Requirements for Using DMW in a Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Global Queue and Global Host Database Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Site Queue and Site Host Database Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Administrator: Setting Up DMW Queues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
User: Setting Up User Queues and Project Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
User: Excluding a Specific Host and Running on a Specific Set of Hosts . . . . . . . . . . . 220
Checking the DMWUmpire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Standard Tests to Troubleshoot a Particular Machine in the DMW Network . . . . . . . . 222
Using ssh and DMW Scheduler Together. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Appendix E Sentaurus Workbench on VNC
225
Double-clicking Does Not Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
x
Sentaurus™ Workbench User Guide
I-2013.12
About This Guide
The Synopsys Sentaurus™ Workbench tool is the primary graphical front end for the
integration of TCAD Sentaurus simulation software into one environment.
Sentaurus Workbench is a software package that provides a convenient framework to design,
organize, and automatically run complete TCAD simulation projects. It provides you with a
graphical user interface to drive a variety of Synopsys simulation and visualization tools and
other third-party tools, and to automate the execution of fully parameterized projects.
Sentaurus Workbench also supports design-of-experiments, extraction and analysis of results,
optimization, and uncertainty analysis. It has an integrated job scheduler to speed up
simulations and takes full advantage of distributed, heterogeneous, and corporate computing
resources.
The main chapters are:
■
Chapter 1 gives an overview of Sentaurus Workbench.
■
Chapter 2 presents information for managing projects in Sentaurus Workbench.
■
Chapter 3 describes how to alter the viewing configuration of projects in Sentaurus
Workbench.
■
Chapter 4 describes how projects can be edited.
■
Chapter 5 describes the design-of-experiments (DoE) and Taguchi wizards.
■
Chapter 6 presents information about preprocessing projects.
■
Chapter 7 discusses how to run projects in Sentaurus Workbench.
■
Chapter 8 discusses how to clean up projects.
■
Chapter 9 describes how to configure Sentaurus Workbench.
■
Chapter 10 provides information about how to use other tools from Sentaurus Workbench.
■
Chapter 11 describes the schedulers used in Sentaurus Workbench.
Audience
This guide is intended for users of the Sentaurus Workbench software package.
Sentaurus™ Workbench User Guide
I-2013.12
xi
About This Guide
Related Publications
Related Publications
For additional information about Sentaurus Workbench, see:
The documentation installed with the software and available through the Sentaurus
Workbench Help menu.
■
The TCAD Sentaurus release notes, available on SolvNet® (see Accessing SolvNet on
page xiii).
■
Documentation available through SolvNet at https://solvnet.synopsys.com/DocsOnWeb.
■
Typographic Conventions
xii
Convention
Explanation
[]
Brackets
Blue text
Identifies a cross-reference (only on the screen).
Bold text
Identifies a selectable icon, button, menu, or tab. It also indicates the name of a field or an
option.
Courier font
Identifies text that is displayed on the screen or that you must type. It identifies the names
of files, directories, paths, parameters, keywords, and variables.
Italicized text
Used for emphasis, the titles of books and journals, and non-English words. It also
identifies components of an equation or a formula, a placeholder, or an identifier.
Key+Key
Indicates keyboard actions, for example, Ctrl+I (press the I key while pressing the Ctrl
key).
Menu > Command
Indicates a menu command, for example, File > New (from the File menu, select New).
NOTE
Identifies important information.
Sentaurus™ Workbench User Guide
I-2013.12
About This Guide
Customer Support
Customer Support
Customer support is available through SolvNet online customer support and through
contacting the Synopsys support center.
Accessing SolvNet
SolvNet includes an electronic knowledge base of technical articles and answers to frequently
asked questions about Synopsys tools. SolvNet also gives you access to a wide range of
Synopsys online services, which include downloading software, viewing documentation, and
entering a call to the Synopsys support center.
To access SolvNet:
1. Go to the SolvNet Web page at https://solvnet.synopsys.com.
2. If prompted, enter your user name and password. (If you do not have a Synopsys user name
and password, follow the instructions to register with SolvNet.)
If you need help using SolvNet, click Help on the SolvNet menu bar.
Contacting Synopsys Support
If you have problems, questions, or suggestions, you can contact Synopsys support in the
following ways:
■
■
Go to the Synopsys Global Support Centers site on www.synopsys.com. There you can find
e-mail addresses and telephone numbers for Synopsys support centers throughout the
world.
Go to either the Synopsys SolvNet site or the Synopsys Global Support Centers site and
open a case online (Synopsys user name and password required).
Sentaurus™ Workbench User Guide
I-2013.12
xiii
About This Guide
Customer Support
Contacting Your Local TCAD Support Team Directly
Send an e-mail message to:
■
support-tcad-us@synopsys.com from within North America and South America.
■
support-tcad-eu@synopsys.com from within Europe.
■
xiv
support-tcad-ap@synopsys.com from within Asia Pacific (China, Taiwan, Singapore,
Malaysia, India, Australia).
■
support-tcad-kr@synopsys.com from Korea.
■
support-tcad-jp@synopsys.com from Japan.
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 1
Overview
This chapter provides an overview of Sentaurus Workbench.
Introduction
Sentaurus Workbench is the Synopsys framework designed to make the use of Synopsys
TCAD tools easier. It frees you from typing system commands for handling data files or
starting applications. One of its main advantages over a traditional simulation session is the
possibility of parameterizing input files to run simulation groups automatically. The main
features of the Sentaurus Workbench framework include:
■
■
■
■
■
■
Intuitive graphical user interface (GUI) with functionality that simplifies the editing and
handling of complex simulation projects
Flexible configuration and storing of the view of the project simulation flow
Organization of simulations into projects and folders provides a clear overview of the
overall simulation environment
Project database is mapped to the underlying, native file systems and allows robust file
management in a multiuser, distributed environment
Tool flow with multiple instances of the same tool
Simulation parameters can be used in any input file; the resulting simulation experiments
can be edited before running the simulations
■
Scenarios-to-group simulation experiments
■
Easy building of new simulation projects by copying and pasting parts of existing projects
■
Design-of-experiments (DoE), optimization, and statistical analysis can be performed
■
Scheduler within same GUI to schedule and monitor the running of simulation projects
■
■
■
Access to backend batch systems to run large simulations in parallel on a network of
workstations and computing clusters such as the Sun Grid Engine (SGE), Load Sharing
Facility (LSF), TORQUE Resource Manager/Maui Cluster Scheduler, and Tivoli Workload
Scheduler LoadLeveler
Extensive collection of example projects and application notes that can be copied and
modified as required
Flexible open tool interface makes it possible to plug in third-party tools
The Sentaurus Workbench framework has one graphical application consisting of two tabs for
the Project Editor (Project tab) and the Scheduler (Scheduler tab), and batch tools (spp,
gsub, gjob, gcleanup, gtclsh, and swblm).
Sentaurus™ Workbench User Guide
I-2013.12
1
1: Overview
Sentaurus Workbench Projects
Sentaurus Workbench Projects
A project consists of a family of scenarios. Each scenario consists of a family of experiments
where certain sensible input variables take different values. Parameters can be introduced at
any point in the simulation flow, from the process to the device simulation phases. A
parameterized project is represented as a tree structure, the so-called Family Tree, which is
derived from a simulation flow and a combination of all the parameter values. Each level in the
Family Tree corresponds to a simulation phase, as defined in the simulation flow.
To distinguish between real and virtual simulation phases: real phases correspond to the
execution of tool instances, and virtual phases are introduced by parameters and do not lead to
any tool execution. In a real simulation phase, there are as many tool instances as nodes in the
corresponding tree level. Each tool instance is characterized by a combination of parameter
values that defines the path from the root node to the tool instance node.
In the Family Tree, each node has a unique number – the node key (<nkey>). A real node
represents the end of a simulation phase and holds the output of the corresponding tool
instance. Sentaurus Workbench associates output to a node by adding the prefix n<nkey>_ to
all the output file names of the tool used.
In physical form, a project exists as a directory in the file system. The directory contains
a .project file that indicates to the Sentaurus Workbench framework that the current directory
is a project directory.
The main attribute of a project is its configuration. The project configuration defines the editing
and running policy for that project. You can choose either the Standard or the Research
configuration for your project. Projects with the Standard configuration deliver the maximum
possible level of automation and consistency; however, you are limited with regard to applying
changes to a running project. In contrast, projects with the Research configuration allow
maximum flexibility, while Sentaurus Workbench partially delegates to you the responsibility
of maintaining consistency between input data and simulation results. The configuration of
your project can be changed at any time. The default Sentaurus Workbench project
configuration is Standard; however, you can redefine it in the user preferences (see Changing
the Default Project Configuration on page 12).
Compatibility with Previous Versions
Sentaurus Workbench is designed to be backward compatible. Old projects can be loaded,
edited, and run by Sentaurus Workbench. All necessary conversions are made automatically by
Sentaurus Workbench.
2
Sentaurus™ Workbench User Guide
I-2013.12
1: Overview
System Requirements and Setup
Sentaurus Workbench is not forward compatible, that is, there is no guarantee that you can edit
new projects with earlier versions of the tool.
System Requirements and Setup
The following environment variables must be set up:
STROOT
Where the Synopsys TCAD software is installed.
STRELEASE
The version and release information. If not given, it defaults to ‘current’.
STDB
The directory where all user projects reside.
An example from a UNIX .cshrc file is:
setenv STROOT /home/user/ST
setenv STRELEASE I-2013.12
setenv STDB $HOME/DBtest
Sentaurus Workbench Options
Usage: swb [options] [DIRECTORY | FILE]
Description:
Sentaurus Workbench (SWB) is a graphical front-end for editing and
examining of Synopsys TCAD projects.
Options:
-h[elp]
: Displays this help message.
-a[dvanced]
: Initializes SWB Advanced.
Allows the use of Optimizer and Calibration menus
-b[asic]
: Initializes SWB Basic.
SWB without Optimizer and Calibration menus
-nowait
: Disables license queueing and exits if the
license is not available.
-default
: Resets preferences to default settings.
(-plugin null : Switches off standard plug-ins.)
-v[ersion]
: Displays the version number.
-verbose
: Displays all messages.
Arguments:
DIRECTORY
FILE
: A SWB project directory.
: A compressed file with a SWB project.
Sentaurus™ Workbench User Guide
I-2013.12
3
1: Overview
Projects Browser
Sentaurus Workbench can be started in two different modes:
■
-advanced: Optimization (Optimizer) menu and Calibration menu are available.
■
-basic: Optimization menu and Calibration menu are not available.
If Sentaurus Workbench is started without one of these two options, it automatically starts in
the -basic mode.
If you start Sentaurus Workbench when no license is available, Sentaurus Workbench queues
for the license from the license manager and waits until the license becomes available. You can
start Sentaurus Workbench with the -nowait command-line option to prevent it queueing for
a license and waiting. In this case, if no license is available, Sentaurus Workbench exits.
Projects Browser
Projects are managed in the projects browser, which is organized like a tree, with the leaves of
the tree being the project directories. The tree displays the current file system under the STDB
setting. Other project directories and project collections can then be attached to the window.
NOTE
Any directory under a project directory is not displayed. The Sentaurus
Workbench framework does not work if there is a .project file
anywhere above STDB.
Viewing Trees
Browsing directories is intuitive. The directories can be expanded or closed, and subdirectories
and project folders below directories can be visualized. Navigation is possible using the
keyboard and mouse operations. Right-click the pane to display a context menu for the browser
section.
The color of a node represents the project status.
Adding Multiple Roots
Additional directories for browsing can be added to the main tree. By selecting the Attach
Root context menu option, an additional directory can be attached by browsing to the specific
root directory.
A root directory is typically a directory that contains a collection of folders and projects. It can
also be a project directory. An important constraint is that directories above a root directory
4
Sentaurus™ Workbench User Guide
I-2013.12
1: Overview
Project Editor
must not contain project directories or .project files, which Sentaurus Workbench interprets
as project directories.
Updating the View
The directory structure, attached roots, and project statuses are updated at regular intervals.
This interval can be set up in the preferences. However, you can update the selected branch of
the tree at any time.
To force updating of the tree branch:
1. Right-click the tree branch.
2. Select Refresh or press the F5 key.
To update the whole tree:
1. Right-click the tree root.
2. Select Refresh or press the F5 key.
Project Editor
The Project Editor is the main view in Sentaurus Workbench. It provides a convenient GUI to
access, organize, and edit a database of simulation projects. Sentaurus Workbench has been
designed with different work areas. The simulation flow can be oriented horizontally (see
Figure 1 on page 6) or vertically (see Figure 2 on page 6).
Sentaurus™ Workbench User Guide
I-2013.12
5
1: Overview
Project Editor
6
Figure 1
Project Editor main view showing traditional horizontal flow orientation
Figure 2
Project Editor main view showing vertical flow orientation
Sentaurus™ Workbench User Guide
I-2013.12
1: Overview
Project Editor
Toolbar Buttons
Table 1 lists the toolbar buttons in the Project Editor.
Table 1
Button
Project Editor toolbar buttons
Description
Button
Description
Creates a new project
Displays information (properties) about the
currently selected item
Opens a project
Runs current project or selected nodes
Saves a project under an existing name
Aborts running project or selected nodes
Reloads a project
Zooms in to the project view
Stops the loading of a project
Zooms out of the project view
Closes the currently opened project
Resets zoom to the default
Cuts a selection
Changes the current project view to the next
view
Copies a selection
Opens a spreadsheet application with the
current view
Pastes a cut or copied selection
Displays a simulation project vertically
Undoes previous operation
Displays a simulation project horizontally
Adds a new tool, parameter, experiment, or
variable to the tree
Displays a simulation project in compact
mode
Deletes selected tool, parameter, experiment,
or variable from the tree
Displays a simulation project in full mode
Adds a new experiment to the tree (the
default values are preset to a selected
experiment if there is one)
Opens a command prompt in a project
directory as a separate shell
Adds parameter values to either all (full
factorial) or selected experiments
Opens manuals in PDF format using Adobe
Acrobat
Opens submenu for editing input files of
selected tool
Opens TCAD Sentaurus Tutorial (HTML
training material) in Web browser
Visualizes output files for selected nodes
Opens application notes information page in
Web browser
Quickly visualizes output files for selected
nodes with the default visualizer
Sentaurus™ Workbench User Guide
I-2013.12
7
1: Overview
Scheduler
Projects Browser
In the left pane of Figure 1 on page 6 and Figure 2 on page 6, the projects browser shows a
global view of the project database of the user as a hierarchy of folders and projects. It features
a tree representation to navigate through this hierarchy, to open and close folders, and to load
projects, and for diverse operations on entire projects and folders, such as copying and moving
projects. Additional hierarchies of folders and projects can be attached to the projects browser.
Project Tab
The Project tab in the right pane of Figure 1 and Figure 2 shows an individual project as a table
of experiments and simulation results. The rows from left to right in the horizontal flow
orientation (see Figure 1) or columns from top to bottom in the vertical flow orientation (see
Figure 2) represent the simulation flow followed by extracted results. The simulation flow is
the sequence of tools running the simulations steps, split by parameters. Columns in the
horizontal orientation (or rows in the vertical orientation) represent different experiments and
their corresponding parameter and variable values. You can add, remove, and modify
experiments, and control the running of experiments.
Scheduler
The Scheduler is used to schedule and monitor the running of simulation jobs of a project. It
provides you with an overview of the jobs that are running and their distribution on the local
area network. It also allows you to submit and abort jobs, and to define scheduling queues and
job mapping constraints.
To open the Scheduler:
■
Scheduler > Show Scheduler or click the Scheduler tab.
Scheduler Tab
In Figure 3 on page 9, the right pane shows the Scheduler tab, which displays a table of
running jobs with different scheduling information, such as running time and running host.
Only jobs belonging to the selected project or folder are shown. Individual jobs can also be
aborted.
8
Sentaurus™ Workbench User Guide
I-2013.12
1: Overview
Batch Tools
Figure 3
Main window of Sentaurus Workbench showing Scheduler tab
Batch Tools
spp
The batch tool spp is the preprocessor of Sentaurus Workbench. It prepares a project for
execution. Its goals are to:
■
■
Calculate an optimum execution graph from the simulation tree to take advantage of
parallel computing while enforcing start–completion job interdependencies.
Generate actual tool input files from user-provided templates to differentiate experiments.
gsub
The batch tool gsub consists of a simple command to submit jobs to the scheduler for
execution. It also constitutes the interface of Sentaurus Workbench to different internal or
external batch systems.
Sentaurus™ Workbench User Guide
I-2013.12
9
1: Overview
Batch Tools
gjob
The batch tool gjob manages the execution of each individual job. It controls the evaluation of
the job prologue and epilogue, and the running of the corresponding simulation tool.
gcleanup
The batch tool gcleanup is a useful utility to clean up a project from the command line. All
operations including the renumbering of the tree can be performed using this tool.
gtclsh
The batch tool gtclsh is a tool command language (Tcl) shell that has been extended with all
of the internal commands of the Sentaurus Workbench framework, such as tree manipulation.
swblm
The daemon process swblm is a dispatcher of interprocess communications between Sentaurus
Workbench components: swb, gsub, gjob, and spp. Sentaurus Workbench starts this process
automatically when needed. You do not need to terminate a running daemon process or to start
a new one manually.
10
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 2
Managing Projects
This chapter describes the operations that can be performed on the
projects and directories by using the projects browser.
Creating a Project or Folder
To create a project:
■
Project > New > New Project.
To create a folder:
1. Select the folder in which a new folder is to be created.
2. Project > New > New Folder, or right-click and select New Folder.
3. Type the name of the new folder.
4. Press the Return key.
The new folder is saved.
NOTE
It is not possible to create new folders inside projects.
Opening a Project
To open a project from the browser:
■
Double-click the project in the tree.
Alternatively:
1. Browse through the tree and select the project to be opened.
2. Press the Return key, or double-click the selection, or right-click and select Open.
The project opens in the main view.
Sentaurus™ Workbench User Guide
I-2013.12
11
2: Managing Projects
Changing a Project Configuration
Changing a Project Configuration
To change the project configuration from the browser:
1. Select the project in the tree.
2. To select the Standard configuration, Project > Configuration > Standard.
3. To select the Research configuration, Project > Configuration > Research.
NOTE
The project must be in the writable area.
Changing the Default Project Configuration
The default Sentaurus Workbench project configuration is Standard. However, you can
configure Sentaurus Workbench to set up the necessary project configuration automatically for
your new projects and those old projects that do not yet have a configuration attribute.
To change the default project configuration:
1. Edit > User Preferences or press the F12 key.
2. Select Project > Configuration > Default Project Configuration.
3. Assign to Standard or Research.
Copying a Project
To copy a project:
1. Browse through the tree and select the project to be copied.
2. Copy the selection by using Ctrl+C, or right-click and select Copy.
3. Browse to the required destination folder or keep the selection.
4. Paste the selection by using Ctrl+V, or right-click and select Paste.
NOTE
12
Projects (and folders) cannot be copied inside other projects.
Sentaurus™ Workbench User Guide
I-2013.12
2: Managing Projects
Saving a Project
NOTE
If the project is being pasted over the original project, the new project is
created in the same folder with ‘Copy_of_’ before the project name. If
the folder is being pasted over the original folder, the new folder
together with all its content is created in the same parent folder with
‘Copy_of_’ before the folder name.
Saving a Project
To save the current project in the same directory:
■
Project > Save or Ctrl+S.
To save a project with a different name or in a different directory:
■
Project > Save As > Project.
All the contents of the project directory is copied to the new directory, and the project is saved.
To save time and omit copying all of the preprocessed and node output files:
■
Project > Save As > Clean Project.
To create a new project on the basis of selected experiments:
■
Project > Save Selected Experiments > Project.
To create a new project on the basis of selected experiments, but without copying the
simulation results:
■
Project > Save Selected Experiments Clean > Clean Project.
Automatically Saving a Project
You can configure Sentaurus Workbench to save your projects automatically. Sentaurus
Workbench periodically saves the currently opened project for your convenience.
To switch on automatic saving of a project:
1. Edit > User Preferences or press the F12 key.
2. Select Project > Auto Save and set Project Auto Save Interval (min).
3. Assign a nonzero value specifying the auto-saving interval in minutes. A value of 0 means
that the feature is switched off, which is the default.
Sentaurus™ Workbench User Guide
I-2013.12
13
2: Managing Projects
Moving a Project or Folder
NOTE
Auto-saving does not take effect when the currently opened project is
running.
Moving a Project or Folder
There are two methods for moving projects and folders across directories.
Drag-and-Drop Operation
1. Browse through the tree and select the project or folder to be moved.
2. Drag the project or folder to the destination project or folder.
Cut-and-Paste Operation
1. Browse through the tree and select the project or folder to be moved.
2. Cut the selection by using Ctrl+X, or right-click and select Cut.
3. Browse to the destination project or folder.
4. Paste the selection by using Ctrl+V, or right-click and select Paste.
Note the following:
■
Projects opened in the browser or projects that are running cannot be moved.
■
Folders with any open or running project cannot be moved.
■
Projects or folders cannot be placed inside projects.
■
Projects without write permission are copied.
Deleting a Project or Folder
To delete a project or folder:
1. Browse through the tree and select the project or folder to be deleted.
2. Edit > Delete, or right-click and select Delete.
NOTE
14
This operation irrecoverably removes the project directory.
Sentaurus™ Workbench User Guide
I-2013.12
2: Managing Projects
Renaming a Project or Folder
Renaming a Project or Folder
To rename a project or folder:
1. Browse through the tree and select the project or folder to be renamed.
2. Right-click and select Rename.
3. Type the new name.
4. Press the Return key. (The new name is saved.)
NOTE
Locked projects cannot be renamed or deleted.
To unlock a project, open the project and Project > Operations >
Unlock or Ctrl+K.
NOTE
The operations on the tree directly act on the file system. Therefore, any
delete, move, or rename operation cannot be undone.
NOTE
A file name can only contain characters permitted by the operating
system. Even though the browser is configured to identify all illegal
names and characters, with extreme file names, it is likely to cause some
unpredictable behavior and may result in a loss of work.
Project Documentation
A documentation file can be attached to a project. The file format must be PDF and the file
name should be greadme.pdf. The file can contain any information concerning the project.
To open a project documentation file in Adobe Reader:
1. Select a project in the projects browser.
2. Project > Properties > Documentation.
Sentaurus™ Workbench User Guide
I-2013.12
15
2: Managing Projects
Exporting and Importing Projects
Exporting and Importing Projects
Sentaurus Workbench allows you to export projects and directories into a package file. You can
control how the package is created.
To export projects and directories:
1. Select one or more projects or data directories in the projects browser. To make multiple
selections, hold the Ctrl key when clicking.
2. Project > Export.
3. In the Export to Package dialog box (see Figure 4 on page 17):
a) In the Package Name field, select the name and location of the package file.
b) In the Exclude Patterns field, type the patterns of files and directories to be excluded
from packaging.
Note that the project cleanup patterns are applied automatically (see Detecting Files to
Remove on page 129).
c) Select from the options:
Export SWB Projects As Clean: Packages all Sentaurus Workbench projects in the
selected hierarchy as clean projects. Note that the original projects are not cleaned up
during packaging.
Compress Package (gzip): Compresses the package.
Encrypt Package (openssl): Encrypts the package.
If this option is selected, you must type a key in the Encryption Key field.
4. Click OK.
NOTE
16
Default project export options can be redefined in user preferences:
Project > Export.
Sentaurus™ Workbench User Guide
I-2013.12
2: Managing Projects
Exporting and Importing Projects
Figure 4
Export to Package dialog box
To import projects and directories:
1. Double-click a .gzp or .tar file in the projects browser.
2. In the Unpacking dialog box (see Figure 5), select one or more projects or directories.
3. Click Save As to unpack and store the selected items in the specified location.
Click Extract All to unpack and store all the items from the file.
Figure 5
Unpacking dialog box
Sentaurus™ Workbench User Guide
I-2013.12
17
2: Managing Projects
Exporting and Importing Projects
Many users have difficulties using email to send packaged Sentaurus Workbench projects.
Firewalls and email filters unpack the package, detect files with potentially dangerous
extensions (.cmd), and block those files or even the entire email message.
Encryption allows your package to go through email filters without problems. When unpacking
an encrypted package, Sentaurus Workbench uses a default encryption key. You can control the
encryption key and can package your projects with specific keys for confidential deliveries.
If the package has been encrypted with a nondefault key, Sentaurus Workbench asks you to
enter this key when importing a packaged project.
18
NOTE
With the default Synopsys encryption key swb, Sentaurus Workbench
guarantees successful importing of packaged projects by another user.
When you need additional security, package your project with a specific
encryption key and communicate it to the recipient of the package.
NOTE
It is not possible to import a packaged project that is encrypted with an
unknown (or forgotten) key.
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 3
Project View
This chapter describes how to alter and save the view configuration
of projects in Sentaurus Workbench.
View Configuration
The project view consists of four main sections: Family Tree, Experimental Plan, Parameter
Values, and Variable Values (see Figure 6).
Figure 6
Different parts of project view in horizontal orientation
These sections, as well as other project view settings, can be configured by changing the default
view options in the user preferences or selecting the appropriate options in the View menu.
Your project view configuration is stored together with the project data. The next time you load
the project, its view settings are used automatically.
Sentaurus™ Workbench User Guide
I-2013.12
19
3: Project View
View Configuration
Figure 7
Different parts of project view in vertical orientation
Sentaurus Workbench allows you to configure the project view settings on both user and
project levels as shown in Table 2.
Table 2
Setting project views
Level
Where to set
Description
Project
View menu
These view settings are stored in the view settings database file
(.database) under the project directory and are applied to this
project only. Your project view settings are saved each time you
save the project or switch to another project in the Sentaurus
Workbench projects browser.
User
Edit > User Preferences >
Table > Default View
Options
These view settings are applied to all projects of a given user,
unless the project does not have project-level view settings in
the .database file.
Project-level view settings override user-level settings. When the project does not have
the .database file, the default view settings from the Sentaurus Workbench user preferences
are applied; otherwise, the view settings from the .database file are used.
20
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Default View Configuration in User Preferences
The project view can be oriented either horizontally or vertically. In this chapter, view settings
for horizontally oriented projects are considered. For vertically oriented projects, the view
settings apply in the same way.
Default View Configuration in User Preferences
The default view settings are configured in user preferences (see Configuring Preferences on
page 131). These settings apply to any project that does not have project-level view settings.
It is recommended that you start by configuring the view settings of the user preferences. Set
them up so that they match the view requirements for most of your projects. Later, you can
customize these settings for specific projects.
Project View Configuration
The project view settings are stored in the .database file under the project directory. These
settings override the ones in user preferences.
To restore the default view settings from user preferences for the currently opened project:
■
View > Restore Default View Options or Ctrl+8.
Configuring the Project View Orientation
By default, Sentaurus Workbench displays projects in the traditional horizontal orientation:
The tool flow is shown in the topmost row from left to right, and parameterized experiments
are rows of the Family Tree (see Figure 6 on page 19).
Alternatively, you can display the project vertically. The tool flow is shown in the leftmost
column from top to bottom, and parameterized experiments are columns of the Family Tree
(see Figure 7 on page 20).
Deciding on the orientation of a project depends on your preferences and the project structure.
Some projects are more convenient to display horizontally, while other projects are best viewed
in a vertical orientation.
To switch between horizontal and vertical orientations:
■
View > Display Simulation Flow > Vertical.
■
View > Display Simulation Flow > Horizontal.
Sentaurus™ Workbench User Guide
I-2013.12
21
3: Project View
Setting the Project View Mode
The project view orientation is stored in the project view settings database and is restored the
next time you load this project.
Setting the Project View Mode
Sentaurus Workbench allows you to display the project in two modes:
■
■
Full mode: This is the default display mode; the whole simulation flow is displayed (see
Figure 1 on page 6).
Compact mode: Sentaurus Workbench displays only varying parameterization parts of the
simulation flow with extracted variables; all other parts of the flow are hidden. This mode
is similar to the Taurus™ Workbench ‘Run Table’. It allows you to focus on the active
parameterization part of the project and can be useful for large design-of-experiments
(DoE) projects (see Figure 8).
To switch from full to compact mode: View > View Mode > Compact.
To switch from compact to full mode: View > View Mode > Full.
Figure 8
Project view in compact mode
The project view mode is stored in the project view settings database and is restored the next
time you load the project.
22
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Customizing the Current Project View
Customizing the Current Project View
You can customize the current project view (full or compact) by hiding or displaying the
following flow elements manually:
■
Tool instance
■
Default tool step of a tool instance
■
Parameter step of a tool instance
■
Variable
To hide a flow element, for example, a parameter step:
1. Select a cell separation line to the right of the parameter name cell and drag the line to the
left until the cell disappears. Release the mouse button.
2. Alternatively, Parameter > Hide.
As a result of this operation, the parameter step is hidden. To remind you that a flow element
is hidden, Sentaurus Workbench shows the corresponding cell separator line in bold (see
Figure 9).
Figure 9
Project with hidden tools, parameters, and variables (red arrows indicate hidden
flow elements)
To redisplay a hidden parameter step:
1. Select the bold cell separation line and drag the line to the right. Release the mouse button.
2. Alternatively, Parameter > Show.
Hiding or displaying other flow elements is performed in a similar way.
Sentaurus™ Workbench User Guide
I-2013.12
23
3: Project View
Customizing the Current Project View
For your convenience, Sentaurus Workbench provides a dialog box in which you can hide or
display different flow elements in one step (see Figure 10).
To display the Customize Current View dialog box:
■
View > Customize Current View.
All your project view customizations are stored in the project view settings database and are
restored the next time you load the project.
Figure 10
24
Customize Current View dialog box used to customize
the project view in one step
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Configuring Column Width and Row Height
Configuring Column Width and Row Height
By default, Sentaurus Workbench calculates automatically the column widths and row heights
to adjust the project data. You can customize the width of all columns and the height of all rows
in the project table by manually changing their size using mouse operations. Sentaurus
Workbench stores all the column widths and row heights in the project view settings database
and applies these sizes the next time you load the project.
To restore the default column and row sizes at any time:
■
View > Restore Default Cell Size or Ctrl+7.
Family Tree View
To switch on or off the tree view:
■
View > Tree Options > Show Tree or press the F1 key.
The Family Tree view shows the simulations in Sentaurus Workbench in the horizontal
orientation. The horizontally shown simulation flow is the backbone of any project. It defines
the sequence of tools and parameters involved in simulations. Each parameter belongs to a tool.
The experiments are shown vertically. The cells are expanded to represent a tree view, with the
cells themselves being either virtual or nonvirtual tree nodes associated with individual
simulations.
Figure 11 on page 26 shows the main parts of the Family Tree view of Sentaurus Workbench.
The different areas are:
Information titles
Shows the row with titles such as Family Tree and Variable Values.
Tool row
Shows the icons of all tools of the project.
Tool label row
Directly below tool row.
Shows all of the tool labels in the project. Set Default View
Options > Display Tool Labels to true in the user preferences and
reload the project.
Tool comment row
Displays comments about tools used in the project.
Process name row
Contains process names for parameters.
Parameter row
Contains all of the parameters of the project.
Experiments column Contains all of the experiments, which are numbered.
Sentaurus™ Workbench User Guide
I-2013.12
25
3: Project View
Family Tree View
Tool Row
Information
Titles
Tool Comment
Row
Process
Name Row
Experiments
Column
Parameter
Row
Tool Flow with Parameter Splits
Figure 11
Family Tree view in horizontal orientation
When the project view is oriented vertically, rows become columns and vice versa, so the
Family Tree looks like Figure 12.
Figure 12
26
Family Tree view in vertical orientation
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Family Tree View
The tree view can be changed to display information about the node or from the node status
files. The shortcut keys from Ctrl+1 to Ctrl+6 allow you to switch between multiple views:
Parameter Values
View > Tree Options > Parameter Values or Ctrl+1
Displays the parameter values of the loaded project.
Node Numbers
View > Tree Options > Node Numbers or Ctrl+2
Displays the node numbers.
Host
View > Tree Options > Host or Ctrl+3
Displays the last host on which the node was run.
Date
View > Tree Options > Date or Ctrl+4
Displays the time when the last run of the node was completed.
Execution Time
View > Tree Options > Execution Time or Ctrl+5
Displays the time taken for the last run of the node or an error
message.
Variables
View > Tree Options > Variables or Ctrl+6
Displays the variables associated with the nodes.
Job Identifier
View > Tree Options > Job Identifier or Ctrl+7
Displays the job identifier assigned to the node when running on a
cluster (farm, grid).
NOTE
To change views sequentially, click
.
Additional options applicable to the Family Tree view are:
Show Node
Numbers
View > Tree Options > Show Node Numbers or press the F9 key
Displays the node numbers together with parameter values.
Hinting Tool Labels View > Tree Options > Hinting Tool Labels or Ctrl+F9
Displays rollover text with the tool labels when the pointer is
positioned over the tool icon.
Check Virtual Nodes View > Tree Options > Check Virtual Nodes or Ctrl+0
Distinguishes virtual and nonvirtual nodes by using different colors.
Displays virtual nodes in blue.
Show Merged Cells
View > Tree Options > Show Merged Cells
Merges node cells with the same parameter value.
Show Information
Titles
View > Table Options > Show Information Titles
Displays the row with information titles.
Sentaurus™ Workbench User Guide
I-2013.12
27
3: Project View
Experimental Plan View
Show Tool Icons
View > Table Options > Show Tool Icons
Displays the row with tool icons.
Show Tool Names
View > Table Options > Show Tool Names
Displays the row with tool names.
Show Comments
View > Table Options > Show Comments
Displays the row with tool comments (arbitrary multiline text).
Show Parameter
Process Names
View > Table Options > Show Parameter Process Names
Displays the row with the process names of parameters (for process
tools only).
Show Parameter and View > Table Options > Show Parameter and Variable Names
Variable Names
Displays the row with the names of parameters and variables.
Show Experiment
Numbers
View > Table Options > Show Experiment Numbers
Displays the column with the numbers of experiments.
Experimental Plan View
To switch on or off the Experimental Plan view:
■
View > Tree Options > Show Experimental Plan or press the F2 key.
This is used for viewing purposes only. The Experimental Plan view provides a way to view
parametric combinations. The header rows show all parameters and their values.
For each experiment, all its parameter values are also shown in the Experimental Plan columns
in blue, under their corresponding values. This feature may be useful for you to observe certain
patterns in the variation of parameters.
Parameter Values View
To switch on or off the Parameter Values view:
■
View > Tree Options > Show Parameters or press the F3 key.
This is used for viewing purposes only. The view contains the tools and their parameters on
separate header rows. The parameter value is shown for each experiment and for each
parameter.
28
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Variable Values View
Variable Values View
To switch on or off the Variable Values view:
■
View > Tree Options > Show Variables or press the F4 key.
This is used for viewing, editing, deleting, and adding variables. By default, it shows all types
of variable: extracted, set, and defined at a node (see Variables on page 60).
You can hide certain types of variable by using the Customize Current View dialog box (see
Customizing the Current Project View on page 23).
Real and Virtual Family Nodes
Nodes are labeled with unique numbers called node keys.
All family nodes are of two types: real and virtual. Real nodes are nodes that correspond to real
simulation phases. For example, if a tool has no parameters, all nodes of this tool are real nodes.
Parameters bring intermediate nodes to a tool. The intermediate nodes of tools do not usually
correspond to real simulation phases and, therefore, do not hold any results. These are virtual
nodes.
However, tools with split capabilities such as Sentaurus Process, Sentaurus Structure Editor,
and TSUPREM-4™ can create real intermediate nodes (see Split Points on page 104).
Real nodes are colored according to the execution status of the corresponding simulation job.
Virtual nodes are either light blue or white depending on whether View > Tree Options >
Check Virtual Nodes is selected.
When this option is switched on, Sentaurus Workbench shows the real status of intermediate
nodes: Virtual intermediate nodes are light blue, and nonvirtual intermediate nodes are colored
according to their status. The color codes in the status bar of the main window indicate the
meaning of each color (see Configuring Node Colors on page 30).
For more information about a simulation, Nodes > Properties.
Sentaurus™ Workbench User Guide
I-2013.12
29
3: Project View
Configuring Node Colors
Configuring Node Colors
Nodes are colored according to their status.
The traditional coloring scheme is displayed in the Sentaurus Workbench status bar (see
Figure 13). Sentaurus Workbench recognizes Tk symbolic color names or 8-bit RGB values.
For details, go to http://www.tcl.tk/man/tcl8.5/TkCmd/colors.htm.
Table 3 lists the colors that Sentaurus Workbench uses for the different node statuses.
Table 3
Colors for different node statuses
Node status
Hexadecimal 8-bit RGB value
none
#FFFFFF
queued
#ACFF75
ready
#7CFF75
pending
#75FFA0
running
#ADD8E6
done
#FFD700
failed
#FF0000
aborted
#FF00FF
virtual
#E0FFFF
pruned
#B3B3B3
orphan
#8C8C8C
folded
#8465A5
Figure 13
Default node status colors in Sentaurus Workbench
You can adjust the standard color scheme to allow for better visual distinction of colors onscreen. This can be performed in the user preferences:
■
Edit > User Preferences > Table > Node Status Color.
You can change the colors in two ways, either:
30
■
Specify the hexadecimal RGB value manually.
■
Select the color in the Choose Color for Status dialog box (see Figure 14 on page 31).
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Showing Tool Comment Row
Figure 14
Dialog box for choosing color for a node status
New colors take effect immediately after reloading the project. Node status colors are applied
to all of your Sentaurus Workbench projects.
Showing Tool Comment Row
Sentaurus Workbench allows you to specify a comment for any tool in the project flow. Your
comments are displayed in a separate row between the tool row and the parameter row.
Sentaurus Workbench displays this row when at least one tool contains a comment. A comment
is arbitrary multiline text.
Sentaurus Workbench saves the specified comments in the project directory in the file
gcomments.dat and displays them the next time you load your project.
Showing Process Name Row
Sentaurus Workbench allows you to specify a process name for each parameter of all process
tools in the project flow. This feature addresses the needs of process engineers who often
involve many process variations and splits in process simulations. In many cases, it is
convenient to group process parameters by specifying so-called process names, which are
arbitrary identifiers that can reflect certain process steps, splits, and so on.
When you create a Sentaurus Workbench parameter for any process tool, you can also specify
the process name to which this parameter belongs. The process name as well as the parameter
name can be changed later in the Parameter Properties dialog box.
Process names are displayed in a separate row immediately above the parameter row.
Sentaurus Workbench saves the specified process names in the core project files and displays
them the next time you load your project.
Sentaurus™ Workbench User Guide
I-2013.12
31
3: Project View
Showing Tool Labels
NOTE
Process names are supported for process simulators and process-aware
tools such as Sentaurus Process, Sentaurus Structure Editor, Sentaurus
Topography, Sentaurus Topography 3D, and TSUPREM-4.
Showing Tool Labels
The tool icons show only the tool name at the bottom of each icon. It is also possible to see the
tool label as rollover text. This feature is switched off by default.
To switch on the feature:
■
View > Tree Options > Hinting Tool Labels.
In addition, the tool labels can be shown permanently in the tool label row. To make this row
visible:
■
View > Table Options > Show Tool Labels.
Configuring Font of Project View
Sentaurus Workbench allows you to configure font attributes of the project view for the
currently open project. The next time the project is loaded, the applied font settings take effect.
To change the font of the project view:
■
View > Table Options > Change Table Font.
In the Change Font dialog box (see Figure 15), you can choose between two options:
■
■
Apply System Default Font: Sentaurus Workbench automatically detects the optimal font
to use.
Choose Font from Dialog: This option displays the Font Selection dialog box (see
Figure 16 on page 33) where you can select the font from those available in the system.
Figure 15
32
Change Font dialog box
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Zooming Project View
Figure 16
Font Selection dialog box
To apply a particular font to all your projects, you can configure the font attributes in the user
preferences: Table > Font. Configuring the font attributes is performed in a similar way as
configuring the font of the Family Tree.
NOTE
Font attributes set up in the user preferences apply to both the Family
Tree and the projects browser.
NOTE
Font attributes of the Family Tree are stored in the project view settings
database. These attributes overwrite font settings made in the user
preferences.
Zooming Project View
Sentaurus Workbench allows you to zoom in to and out of the project view. When working with
projects with a large Family Tree, it may be useful to zoom out of the project view: Family
Tree, Experimental Plan, Parameter Values, and Variable Values.
Sentaurus Workbench will display values in a smaller font size, which allows you to reduce cell
size and to see a bigger part of the parameterization table at one time. Conversely, zooming in
will result in the opposite effect. The font name and other font attributes are retained without
change (see Configuring Font of Project View on page 32).
To zoom in to the project view:
■
View > Zoom In, Ctrl+Plus sign (+), or click the Zoom In button.
To zoom out of the project view:
■
View > Zoom Out, Ctrl+Minus sign (-), or click the Zoom Out button.
Sentaurus™ Workbench User Guide
I-2013.12
33
3: Project View
Freezing Columns and Rows
To switch the zoom off from a previously zoomed part of the project view:
■
View > Zoom Off, Ctrl+0, or click the Zoom Off button.
Freezing Columns and Rows
When working with projects with a large number of tools and parametric steps, you may want
to freeze a certain part of the Family Tree and keep it visible on your screen when scrolling
through the rest of the Family Tree to the right.
For example, imagine a simulation setup that starts with process simulation and remeshing
followed by multiple device tests. You may want to configure your project view so that the
process simulation and remeshing part remains visible on-screen when you scroll through the
device tests part (see Figure 17).
Figure 17
Project with frozen columns (indicated by cells with black background)
To freeze columns:
1. Select the columns in the parameter row or tool row.
2. View > Freeze Rows/Columns.
Now, Sentaurus Workbench freezes the selected columns, so they remain visible on-screen
when you scroll through the Family Tree. Frozen columns are shown in black, which identifies
them the next time you load the project.
To unfreeze columns:
■
View > Unfreeze Rows/Columns.
Rows can be frozen as well. You can freeze selected rows in the same way as columns. In
addition, you can select an arbitrary set of nodes and freeze it. As the result, Sentaurus
Workbench will determine the rectangle area of your Family Tree and freeze the area.
34
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Selecting Nodes with Mouse and Keyboard Operations
Selecting Nodes with Mouse and Keyboard Operations
In Sentaurus Workbench, you can select nodes as for any spreadsheet application. You can
make a typical rectangular node selection using mouse operations.
Alternatively, another useful way to select a large rectangular region where scrolling the
Family Tree is needed is as follows:
1. Click the upper-left node of the required rectangular region.
2. Scroll the Family Tree until the lower-right node of the rectangular selection appears on the
screen.
3. Click this node while holding the Shift key.
Clicking cells with experiment numbers results in selecting all the nodes belonging to these
experiments. Clicking tool or parameter cells while holding the Shift key allows you to select
all nodes belonging to the given tools or parameters.
When combining different selection techniques with the Ctrl key, you can make complex
selections containing multiple regions.
Viewing Node Output Files
For each real family node, there can be several output files that can be viewed using
visualization tools such as Sentaurus Visual, Tecplot SV, and Inspect, as well as the text editor.
The default visualization tool in Sentaurus Workbench is Sentaurus Visual.
To view all the output files of a node or nodes:
1. Select a node or nodes from the Project tab.
2. Nodes > Quick Visualize, or click the Quick Visualize toolbar button.
All available output files for the selected nodes are visualized with the default visualizer. If no
output files correspond to a selected node or nodes, Sentaurus Workbench launches the default
visualizer without any files.
NOTE
Sentaurus Workbench automatically detects the availability of
Sentaurus Visual and Tecplot SV. If you have not yet migrated to
Sentaurus Visual, your default visualizer will be Tecplot SV.
Sentaurus™ Workbench User Guide
I-2013.12
35
3: Project View
Viewing Node Output Files
To view all the output files of a node or nodes with a required visualizer:
1. Select a node or nodes from the Project tab.
2. Click the Visualize toolbar button.
3. All visualization tools are available for the selected nodes. Select the required visualizer
from those listed.
Alternatively, to make all visualization tools available:
■
Nodes > Visualize.
If no output files correspond to a particular node, the visualizer will be launched empty.
Sentaurus Workbench allows you to view the output files of nodes belonging to different
projects as follows:
1. Select multiple projects in the projects browser.
2. Select the required nodes in the project that is currently open.
Viewing the output files of nodes displays those files belonging to the current project as well
as the output files belonging to nodes with the same node numbers in other selected projects (if
they exist).
NOTE
Figure 18
36
The currently open project must be one of the selected projects in the
projects browser.
Output files visualization menu
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Viewing Node Output Files in Sentaurus Visual
The visualization tools, the file patterns to visualize, and the maximum number of files are
configured in the tool database. By default, Sentaurus Workbench configures several viewers
as shown in Figure 18 on page 36. The visualization tools Sentaurus Visual, Tecplot SV, and
Inspect appear twice in two modes:
■
■
Select File: Sentaurus Workbench prompts you to select files for visualization.
All Files: All files of the selected nodes will be visualized without prompting. If the
number of such files exceeds the maximum number specified in the tool database for this
viewer, Sentaurus Workbench prompts you to select files for visualization, as in the Select
File mode.
Any viewer can be defined as the default visualization tool in the tool database using the
variable WB_tool(default,visualizer). In Sentaurus Workbench, the default viewer is
Sentaurus Visual.
Viewing Node Output Files in Sentaurus Visual
Sentaurus Visual is the main visualization tool in Sentaurus Workbench. A deep integration of
Sentaurus Workbench and Sentaurus Visual allows special capabilities that are not available in
Tecplot SV and Inspect.
Sentaurus Workbench offers you the possibility to choose between visualization in a new
instance of Sentaurus Visual and visualization in an already running instance of Sentaurus
Visual. Sentaurus Workbench detects the Sentaurus Visual instances that you launched from
this current instance of Sentaurus Workbench, and it displays a dialog box (see Figure 19).
Figure 19
Sentaurus Visual Visualization dialog box
The left pane of the Sentaurus Visual Visualization dialog box allows you to select files for
visualization. In the right pane, you choose in which instance of Sentaurus Visual you want to
Sentaurus™ Workbench User Guide
I-2013.12
37
3: Project View
Node Explorer
visualize the selected files. Already running Sentaurus Visual instances are noted as SWB_1,
SWB_2, and so on. To identify the corresponding instance of Sentaurus Visual, check the title
of the main window of Sentaurus Visual, which displays the same identification.
NOTE
Sentaurus Workbench recognizes only those instances of Sentaurus
Visual that were launched from itself.
Node Explorer
The Node Explorer assembles all node-related data and files in one place, which simplifies
navigating through node files, analyzing simulation results, and tracking simulation problems.
Figure 20
38
Node Explorer
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Node Explorer
To open the Node Explorer:
1. Select a node.
2. Nodes > Node Explorer or press the F7 key.
The Node Explorer is divided into two parts:
■
■
The upper part displays node properties, together with the defined parameters and extracted
data.
The lower part allows you to navigate through node files.
The features of the Node Explorer include:
■
Viewing the properties of the node.
■
Viewing the values of Sentaurus Workbench parameters defined on the node.
■
Viewing the data extracted from the node.
■
Navigate through node input and output files using buttons and file patterns.
■
Preview text files in the text pane.
■
Visualize node files with the viewer or editors defined in the tool database.
Table 4
Description of buttons in Node Explorer
Button
Description
All Node Files
Displays all files that are associated with the current node. To determine these files, tool
database file patterns are used.
Node Input Files
Displays the input files of the current mode, which are registered in the tool database.
Node Output Files
Displays the output files of the current node, which are registered in the tool database.
Standard Output
Displays the standard output of the node simulation task.
Standard Error
Displays the standard error of the node simulation task.
Job Log File
Displays the job log file (output of node gjob process).
Prologue
Displays the prologue section of the job log file.
Simulation
Displays the simulation section of the job log file.
Epilogue
Displays the epilogue section of the job log file.
Specifies the path to which a file pattern search is applied. By default, this is the project
directory.
Apply
Applies the file search based on the specified file pattern.
Launch
Every file that is displayed in the upper list box has one or more associated viewers. This
button opens the currently selected viewer together with the currently selected file.
Sentaurus™ Workbench User Guide
I-2013.12
39
3: Project View
Copying Table Parts to Other Tools
Table 4
Description of buttons in Node Explorer
Button
Description
Track the Problem
Assists you to find the reason for a node failure. Sentaurus Workbench analyzes the
prologue, simulation, and epilogue sections of the job log file for error messages. In
addition, it checks the standard error and standard output files of the simulation for
additional error information.
Search
The Node Explorer looks for the specified pattern in the currently previewed file.
Refresh
Updates the node information.
When the Node Explorer is displayed, it shows the end of the simulator standard output file.
The content of this file is updated dynamically when the node is running.
Copying Table Parts to Other Tools
The copying and pasting of data from a table to other tools is supported in a transparent way.
Spreadsheet applications support direct copy-and-paste operations of tabbed data.
Exporting a Spreadsheet
Exporting Spreadsheet to Spreadsheet Viewer
A spreadsheet can be exported as a character-separated values (CSV) file, which can be loaded
into several existing spreadsheet software.
To export a spreadsheet:
1. Experiments > Export > Text File.
2. Select the separation character (comma, tab, space, semicolon, user-defined).
3. Select additional options to include the header and column names if required.
4. Click OK.
5. Select the file name in the File dialog box.
6. Click Save.
40
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Viewing Sentaurus Workbench and Optimizer System Log Files
To open spreadsheet software with the current view:
■
Experiments > Export > Run Spreadsheet Application or click
.
This saves the current view to a temporary text file and loads it with a spreadsheet application
that is configured in the user preferences (Miscellaneous > Spreadsheet Application).
Exporting Spreadsheet to Inspect
A spreadsheet can be exported for viewing in Inspect.
To export a spreadsheet:
1. Experiments > Export > Plot File.
2. Select the file name in the File dialog box.
3. Click Save.
To open Inspect with the current view:
■
Experiments > Export > Run Inspect.
This saves the current view to a temporary plot file and loads it into Inspect.
Viewing Sentaurus Workbench and Optimizer System Log
Files
The preprocessor and project log files for projects of Sentaurus Workbench can be viewed
using:
■
Project > Logs > Preprocessor or Project > Logs > Project.
To view Optimizer log files:
■
Optimization > View Log.
Visualizing Response Surfaces
See Visualizing Response Surfaces on page 151.
Sentaurus™ Workbench User Guide
I-2013.12
41
3: Project View
Scheduler View
Scheduler View
Viewing Running Nodes in Projects
All the running nodes that belong to the selected running projects in the projects browser are
listed. The status of nodes is updated based on the refresh frequency setting.
Configuring User Queues
User-level tool queue assignments (see Tool Associations on page 181) can be modified using
Scheduler > Configure Queues > User Queues. You can modify the tool queue assignments
and enter specific options associated with the Scheduler.
Figure 21
42
Configure User Queues dialog box
Sentaurus™ Workbench User Guide
I-2013.12
3: Project View
Scheduler View
Configuring Project Queues
Project-level tool queue assignments (see Tool Associations on page 181) can be modified
using Scheduler > Configure Queues > Project Queues. You can modify the tool queue
assignments, and these assignments are applied only to a particular project.
Figure 22
Configure Project Queues dialog box
Editing Queue Files
The Scheduler does not provide a GUI to add node constraints for user-level or project-level
queues. Therefore, the only way to add node constraints is by manually editing the user queue
or project queue files.
To edit user queues:
■
Scheduler > Configure Queues > Edit User Queues.
To edit project queues:
■
Scheduler > Configure Queues > Edit Project Queues.
Sentaurus™ Workbench User Guide
I-2013.12
43
3: Project View
Scheduler View
44
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 4
Editing Projects
This chapter describes how projects can be edited in Sentaurus
Workbench.
Read-Only and Writable Projects
Sentaurus Workbench projects must be placed in a disk-writable area to edit, preprocess, and
execute those projects. Sentaurus Workbench recognizes a disk-writable area by analyzing user
permissions of a project directory and project files. A writable Sentaurus Workbench project
must match the following criteria:
■
A project directory contains the file .project (it is a Sentaurus Workbench project).
■
A project directory is writable; users can create and delete files in the directory.
■
Files in the project directory are writable. Sentaurus Workbench checks user permissions
for several key project files.
A writable project with the Standard configuration can be cleaned, edited, preprocessed, and
executed only if it is in edit mode, that is, it is not locked, and it is not running.
A writable project with the Research configuration can be cleaned, edited, preprocessed, and
executed at any time.
NOTE
Sentaurus Workbench does not require writable projects to be placed
under the STDB file hierarchy. Attached roots can contain writable
projects. Only user permissions and project configuration define the
writability of a project.
Undoing Changes
To undo a change:
■
Edit > Undo or Ctrl+Z.
NOTE
Only tree modifications can be undone. Modified or deleted input or
output files cannot be restored.
The ‘undo’ data is not released after saving the project.
Sentaurus™ Workbench User Guide
I-2013.12
45
4: Editing Projects
Tools
To free the ‘undo’ data:
■
Project > Operations > Clean Up or Ctrl+L (see Chapter 8 on page 127).
Tools
Tools are, in general, TCAD simulation tools. Other tools may be available depending on the
configuration of the tool databases of Sentaurus Workbench (see Tool Databases on page 139).
NOTE
There can be multiple instances of the same tool in the simulation flow.
Adding Tools
In a new project, to add the first tool to the flow:
1. Tool > Add or press the Insert key.
The Add Tool dialog box is displayed (see Figure 23 on page 48).
2. On the Tool Properties tab, select the tool from the Name list.
3. Type a unique tool label.
4. If applicable, type any command-line options.
5. If applicable, select a run mode. Many tools offer a choice between the Batch mode and
the Interactive mode. Sentaurus Visual provides the additional BatchX mode, which
allows you to export plots in the batch run.
6. If applicable, type a comment associated with the tool.
7. Click the Input Files tab (see Figure 24 on page 48).
The table on this tab specifies all the default tool input files registered in the tool database.
Each tool input file is either a user-specified file (master file) or the output file generated
from the previous simulation step. Master files are usually involved in preprocessing.
8. If applicable, select whether to use Ligament to create the input files (only for process
simulation tools).
9. If applicable, select whether grid and boundary files are provided as master files or
produced by previous tools.
46
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Tools
10. Each input master file has the default Sentaurus Workbench name specified in the tool
database. However, you can change this name or refer to any file outside the project
directory.
To specify an arbitrary file name:
a) Double-click the relevant master file.
b) Type a new file name.
c) Press the Enter key, or the Up Arrow key, or Down Arrow key.
11. To import the content of an existing file into the master file:
a) Select the relevant master file.
b) Click the Import button, and select the file in the Open File dialog box.
NOTE
This operation restores the name of the master file to the default name
of the Sentaurus Workbench tool input file defined in the tool database.
NOTE
The content of the imported file replaces the content of the master file.
For convenience, Sentaurus Workbench creates a backup copy of the
existing master file with the extension .backup.
12. To specify an existing file (which can be outside of the project directory):
a) Select the relevant master file.
b) Click the Assign button, and select the file in the Open File dialog box.
13. Click OK or Apply.
NOTE
Ligament can be used to generate input files for the following tools:
Sentaurus Process, Sentaurus Structure Editor, TSUPREM-4, Sentaurus
Topography 3D, and Fammos.
Sentaurus™ Workbench User Guide
I-2013.12
47
4: Editing Projects
Tools
48
Figure 23
Add Tool dialog box showing Tool Properties tab
Figure 24
Add Tool dialog box showing Input Files tab
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Tools
Figure 25
Add Tool dialog box showing Output Files tab
To add subsequent tools to the flow:
1. Select a tool icon from the tool row.
2. Tool > Add or press the Insert key.
The Add Tool dialog box is displayed.
3. Follow Steps 2–13 for adding the first tool in the flow. In addition, you can specify whether
to insert a new tool after or before the selected tool.
Deleting Tools
To delete a tool instance from the flow:
1. Select the required tool icon in the tool row.
To select multiple tools, press the Ctrl key during selection.
2. Tool > Delete or press the Delete key.
If the tool to be deleted has parameters, the parameters can be assigned to the previous tool, to
the next tool, or they can be deleted. Sentaurus Workbench displays a dialog box asking you
for the appropriate action (see Figure 26 on page 50).
Sentaurus™ Workbench User Guide
I-2013.12
49
4: Editing Projects
Tools
Figure 26
Dialog box when deleting a tool
Copying and Pasting Tools
Sentaurus Workbench allows you to cut, copy, and paste tool steps inside a Sentaurus
Workbench project, as well as between two Sentaurus Workbench projects.
To copy and paste tool steps:
1. Select one or multiple tool steps in the tool flow.
2. Copy the tool steps using any of the following actions:
a) Edit > Copy.
b) Right-click the tool step, and select Copy.
c) Ctrl+C.
3. Go to the target project (it can be the same project) and select the tool step.
New tool steps are inserted immediately after this step.
4. Paste the tool steps using any of the following actions:
a) Edit > Paste.
b) Right-click the tool step, and select Paste or Paste Special.
c) Ctrl+V.
New tool steps are inserted with their input command files and properties. Tool input files are
copied from the source project to the target project.
By default, Sentaurus Workbench pastes tool steps together with their parameterization,
including variables specified on the nodes of the parameterization. You can control exactly
what you want to insert by using the Paste dialog box (see Figure 27 on page 51).
50
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Tools
To display the Paste dialog box:
■
Edit > Paste Special or Ctrl+M.
Figure 27
Paste dialog box for inserting tool steps
Table 5 lists the available options.
Table 5
Options of Paste dialog box for tool steps
Option
What is inserted…
Tools
•
Tool step with its configuration and input files.
Tools, Parameters
•
•
Tool step with its configuration and input files.
Tool step parameters with default values.
Tools, Parameters with Values
•
•
•
Tool step with its configuration and input files.
Tool step parameters with default values.
Value variation for each parameter.
Tools, Parameters with Values,
Variables
• Tool step with its configuration and input files.
• Tool step parameters with default values.
• Value variation for each parameter.
• User-defined variables specified on the nodes of the parameterization.
This is the default mode.
Changing Tool Properties
To change tool properties:
1. Select the required tool in the tool row.
2. Tool > Properties or double-click the tool.
The Tool Properties dialog box for that tool is displayed (see Figure 28 on page 52).
3. Make any applicable changes previously described (see Adding Tools on page 46).
NOTE
If the project is in edit mode, you can commit changes on the Tool
Properties tab and Input Files tab of the Add Tool dialog box. If the
project is in running mode, all your modifications will not be supported.
Sentaurus™ Workbench User Guide
I-2013.12
51
4: Editing Projects
Tools
4. Click OK or Apply.
Figure 28
Tool Properties dialog box
Editing Tool Input Files
To edit tool input files:
1. Select the required tool in the tool row.
2. Tool > Edit Input.
3. Select the file to edit from the submenu (see Figure 29 on page 53).
Alternatively, you can use the Tool Properties dialog box (see Figure 28):
1. Click the Input Files tab.
2. Select the master file in the table to edit.
3. Click the Edit Master File button.
NOTE
If you have write permissions for the file or project, the file can be
edited. Otherwise, the file is read only.
4. Edit the file.
5. Click OK or Apply.
52
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Tools
Figure 29
Edit tool input file
Locking and Unlocking Tools
You can temporarily disable tool steps from execution by locking the tool. This means that
nodes belonging to a disabled or locked tool are not involved in the next simulation run of the
corresponding project. After unlocking the tool step, it is a part again of the simulation project.
There are two ways to lock a tool and its nodes:
■
Tool > Lock.
All nodes, virtual and real ones, that belong to the selected tool are locked. The icon of the
locked tool shows a lock symbol to distinguish locked and unlocked (normal) tool steps
visually (see Figure 30 on page 54).
■
Select all nodes of a tool and lock them.
Sentaurus™ Workbench User Guide
I-2013.12
53
4: Editing Projects
Tools
Figure 30
Locked and unlocked tools shown in the Family Tree view
Locked tools can be unlocked in a similar way:
■
Tool > Unlock.
All nodes, virtual and real ones, that belong to the selected tool are unlocked. The lock
symbol in the tool icon disappears.
■
Unlock one or more of the locked real nodes.
The tool is unlocked together with the selected real nodes.
NOTE
After unlocking a tool, the project should be preprocessed to guarantee
that the correct node dependencies are taken into account in the next
simulation run.
Double-clicking Tools
For better usability, you can configure the behavior of double-clicking a tool and bind it to the
desired action.
To configure the behavior of double-clicking a tool:
1. Edit > User Preferences or press the F12 key.
2. Table > Double Click Action > On Tools.
3. Set the value to one of the following:
54
Action
What double-clicking invokes
Show Properties
Launches Tool Properties dialog box (see Changing Tool Properties on
page 51).
Edit Input File
Opens tool input command file in the corresponding editor (see Editing
Tool Input Files on page 52).
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Parameters
NOTE
If double-clicking a tool does not work on a VNC client, see
Appendix E on page 225.
Parameters
A parameter splits the flow at the insertion point to derive variations of the current tool. Each
parameter is characterized by a unique name, a default value, and an arbitrary number of
values. The purpose of parameters is to create a family of similar simulations represented as a
tree structure – the simulation tree – where levels from root to leaves (left to right) match the
steps in the simulation flow.
Adding Parameters
Parameters are part of a tool, so parameters can be added to existing tools only.
To add the first parameter to a flow with one tool:
1. Parameter > Add or press the Insert key.
2. Type the name of the parameter.
3. Type the process name (only parameters of process tools; this is an optional step).
4. Type the default value, which can be any alphanumeric value.
5. Click OK.
To add another parameter to a flow, or to add a parameter to a flow with more than one split:
1. In the parameter row, select the position where the new parameter is to be inserted.
2. Parameter > Add or press the Insert key.
3. Type the name of the parameter.
4. Type the process name (only parameters of process tools; this is an optional step).
5. Type the default value, which can be any alphanumeric value.
6. Select whether to insert the new parameter before or after another parameter if the new
parameter is not the first parameter for the tool.
7. Click OK.
Sentaurus™ Workbench User Guide
I-2013.12
55
4: Editing Projects
Parameters
Figure 31
Add Parameter dialog box
Deleting Parameters
To delete a parameter from a flow:
1. Select the parameter in the parameter row.
2. Parameter > Delete or press the Delete key.
If you remove a parameter that has more than one value, you will be asked for the branch that
is to be kept in the tree. All other branches will be deleted from the tree.
Figure 32
Delete Parameter dialog box
If you select multiple parameters to delete, the Delete Parameters dialog box is displayed
asking you for the branches to retain when one or more parameters to be deleted has multiple
values (see Figure 33 on page 57).
56
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Parameters
Figure 33
Delete Parameters dialog box for removing multiple parameters
Copying and Pasting Parameters
Sentaurus Workbench allows you to cut, copy, and paste parameters inside a Sentaurus
Workbench project, as well as between two Sentaurus Workbench projects.
To copy and paste parameters:
1. Select one or multiple parameters.
2. Copy the parameters using any of the following actions:
a) Edit > Copy.
b) Right-click the parameters, and select Copy.
c) Ctrl+C.
3. Select the location in the target project (it can be the same project) where to insert the
parameters.
When you select a tool step, new parameters are added to the tool step after existing ones.
When you select a parameter, the new parameter is added immediately after the selected
one.
4. Paste the parameters using any of the following actions:
a) Edit > Paste.
b) Right-click the parameters, and select Paste or Paste Special.
c) Ctrl+V.
Sentaurus™ Workbench User Guide
I-2013.12
57
4: Editing Projects
Parameters
Parameters are pasted by default with their parameterization, including variables specified on
the nodes of the parameterization. When parameters are inserted into an empty project,
Sentaurus Workbench also creates tool steps to which parameters belong.
You can control exactly what you want to insert using the Paste dialog box.
To display the Paste dialog box:
■
Edit > Paste Special or Ctrl+M.
Figure 34
Paste dialog box for inserting parameters
Table 6 lists the available options.
Table 6
Options of Paste dialog box for parameters
Option
What is inserted…
Parameters
•
Parameters with default values.
Parameters, Values
•
•
Parameters with default values.
Value variation for each parameter.
Parameters with
Values, Variables
• Parameters with default values.
• Value variation for each parameter.
• User-defined variables specified on the nodes of the parameterization.
This is the default mode.
Changing Parameter Properties
To view or edit (in edit mode only) properties of a parameter:
1. Select the required parameter in the parameter row.
2. Parameter > Properties or double-click the parameter.
3. If the project is in edit mode, you can rename the parameter in the parameter text entry and
change the default value of the parameter in the default value text entry as required.
For parameters of process tools, you can change the process name.
4. Click OK.
58
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Parameters
Figure 35
NOTE
Parameter Properties dialog box
If a parameter name is changed, it is changed in the Family Tree view
only. All references to that parameter in input files and variables are not
changed.
Removing Parameter Values
To remove a parameter value (in edit mode only):
1. Select the required parameter in the parameter row.
2. Parameter > Remove Value.
3. Select the value to be removed.
4. Click OK.
Figure 36
Remove Parameter Value dialog box
Sentaurus™ Workbench User Guide
I-2013.12
59
4: Editing Projects
Variables
Double-clicking Parameters
For better usability, you can configure the behavior of double-clicking a parameter and bind it
to the desired action.
To configure the behavior of double-clicking a parameter:
1. Edit > User Preferences or press the F12 key.
2. Table > Double Click Action > On Parameters.
3. Set the value to one of the following:
Action
What double-clicking invokes
Show Properties
Launches the Parameter Properties dialog box (see Changing
Parameter Properties on page 58).
Add Parameter
Value
Launches the Add Parameter Values dialog box (see Adding
Experiments on page 71).
Remove Value
Launches the Remove Parameter Value dialog box (see Removing
Parameter Values on page 59).
NOTE
If double-clicking a parameter does not work on a VNC client, see
Appendix E on page 225.
Variables
The variables are not part of the simulation tree. They are intended to help you interpret the
results and for preprocessing.
The variables can be defined as global or ‘per node,’ where ‘per node’ definitions overwrite the
global definitions. The node definitions overwrite other node definitions used earlier in the tree
flow (that is, closer to the root).
The following types of variable can be used according to their priority (from highest to lowest):
■
■
60
Extracted variables are the result of simulation runs. Their format in the output files is
DOE: <varname> <value> (see Extracted Variables on page 105).
Preprocessed variables are the preprocessing definitions. Their format in the input files is
#set <varname> <value> (see Preprocessed Variables on page 104).
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Variables
■
Defined variables are variables that are defined globally for a node and its children. These
variables can be added using the GUI. Defined variables are also referred to as global
variables.
Defining Global Variables
To add a new variable to a project:
1. Variables > Add or press the Insert key.
2. Type the name of the variable.
3. Type the default value of the variable (this can remain empty).
If you have selected another variable in the parameter row, you have the option of adding
the new variable either before or after the selected one.
4. Click OK.
Figure 37
Add Variable dialog box
The default value of the variable or formula is used when there is no defined value per node.
The default value can be an arbitrary string. A Tcl parser is used to preprocess the value. Tcl
expressions in brackets can be used as variable values. They may have references to parameters
or other variables. The references should be placed inside of a pair of @.
The default values of a variable can also be used for formatting by using the Tcl format
command (this command has similar formatting arguments as the ANSI C printf command).
Some examples of default values of a variable are:
■
[format %f10 @param1@]
■
[expr 2*@param1@ + sin(@var1@)]
■
[if {@param1@ > 0.5} {set var1 "passed"} else {set var1 "failed"}]
Sentaurus™ Workbench User Guide
I-2013.12
61
4: Editing Projects
Variables
Changing Variable Properties
To change a global default value:
1. Select the required variable in the parameter row.
2. Variables > Properties.
3. Type the default value of the variable.
4. Click OK.
Deleting Variables
To delete a variable:
1. Select the required variable in the parameter row.
To select multiple variables, press the Ctrl key during selection.
2. Variables > Delete or press the Delete key.
Copying and Pasting Variables
Sentaurus Workbench allows you to cut, copy, and paste defined variables inside a Sentaurus
Workbench project, as well as between two Sentaurus Workbench projects.
To copy and paste variables:
1. Select one or multiple variables.
2. Copy the variables using any of the following actions:
a) Edit > Copy.
b) Right-click the variables, and select Copy.
c) Ctrl+C.
3. Select the variable in the target project (it can be the same project) where you want to insert
the variables.
New variables are added immediately after the selected one.
62
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Variables
4. Paste the variables using any of the following actions:
a) Edit > Paste.
b) Right-click the variables, and select Paste or Paste Special.
c) Ctrl+V.
Inserted variables contain their values. A variable that is inserted into an empty project does
not display its value. The variable value is visible as soon as a new tool is inserted into the
empty project.
NOTE
Only defined (global) variables can be copied and pasted.
Formatting Variables
To format a variable:
1. Select the required variable in the parameter row.
2. Variables > Format.
3. Select one of the predefined format options or type a new format using ANSI C sprintf
or Tcl format (refer to the rollover text for examples).
4. Click OK.
Defining Variables Per Node
If you define a variable at a particular node, it will overwrite the default value of that variable
as well as any value of the variable that is defined higher in the tree (that is, closer to the root).
To define a variable at a node:
1. Select the required node.
2. Nodes > Set Variable Value.
3. Select a variable that you want to define for this node.
4. Type the variable value.
The default value of the variable is preset in the text entry.
NOTE
The value of a variable at a node, unlike the default value of a variable,
is not parsed by the Tcl parser, but is taken as a string.
Sentaurus™ Workbench User Guide
I-2013.12
63
4: Editing Projects
Variables
Changing and Deleting Variable Values at a Node
NOTE
Variable values at a node can be modified only for defined variables. To
see which nodes have defined variables, Tree > View Options >
Variables.
To change or delete a variable at a node:
1. Select the required node.
2. Nodes > Properties or double-click the node.
3. Go to the Defined Variables group box and select the required variable.
Only previously defined variables are shown.
4. Type the new value of the variable.
5. Click OK to change a value or click Delete to delete the variable from the node.
Figure 38
64
Node information dialog box
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Nodes
Double-clicking Variables
For better usability, you can configure the behavior of double-clicking a variable and bind it to
the desired action.
To configure the behavior of double-clicking a variable:
1. Edit > User Preferences or press the F12 key.
2. Table > Double Click Action > On Variables.
3. Set the value to one of the following:
Action
What double-clicking invokes
Show Properties
Launches the Variable Properties dialog box where you can change the
variable value.
Specify Format
Launches the Formatting Variables dialog box (see Formatting Variables
on page 63).
NOTE
If double-clicking a variable does not work on a VNC client, see
Appendix E on page 225.
Nodes
A node is a point in the Family Tree where (possibly virtual) parametric splits can occur or
where a simulation tool can be changed in the tool flow. Nonvirtual nodes have simulation
results. In one sense, a node is an ‘atom’ of the simulation.
Viewing and Editing Node Properties
To view node properties:
1. Select a node in the simulation flow.
2. Nodes > Properties.
A dialog box is displayed as shown in Figure 39 on page 66.
3. Change the value of the node in the Value box.
4. Change the status of the node in the Status list.
5. Click OK.
Sentaurus™ Workbench User Guide
I-2013.12
65
4: Editing Projects
Nodes
Figure 39
Node information dialog box
Changing Parameter Values Directly in Node Cells
Sentaurus Workbench allows you to change parameter values directly in node cells. By default,
this feature is switched off.
To activate it:
1. Edit > User Preferences or press the F12 key.
2. Select Table and set Edit Value in a Cell to true.
66
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Nodes
To edit the parameter value in a node cell:
1. Select a node in the simulation flow.
2. You can change the value in any of the following ways:
a) Start typing in the cell.
b) Click twice with a small time interval (this is not a double-click).
c) Double-click a node (only possible if the node double-click action is configured as Edit
Cell; see Double-clicking Nodes on page 69).
d) Nodes > Edit Values in a Cell.
e) Press the F6 key.
3. Type the necessary value. Use the Backspace key to delete the last symbol.
4. To save the change, press the Enter key or arrow keys, or click another node.
5. To undo the change, press the Esc key.
Figure 40
Value-editing in a node cell (shown by white cell under PolyDop column)
NOTE
Even when this feature is switched off, you can edit the parameter value
of a selected node directly in the node cell by pressing the F6 key or
selecting Nodes > Edit Values in a Cell.
Sentaurus™ Workbench User Guide
I-2013.12
67
4: Editing Projects
Nodes
Editing Parameter Values of Multiple Nodes
Sentaurus Workbench allows you to change parameter values defined on several nodes at the
same time:
1. Select multiple nodes in the simulation flow.
2. Nodes > Modify Multiple Parameter Values.
3. Specify the necessary value for each node in the New Value column.
4. Click OK.
If all of the nodes must take the same value, you can speed up the setup process:
1. Specify the necessary value in the Parameter Value for All Nodes box.
2. Click Apply.
3. Click OK.
Figure 41
68
Modify Multiple Parameter Values dialog box
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Nodes
Double-clicking Nodes
For better usability, you can configure the behavior of double-clicking a node and bind it to the
desired action.
To configure the behavior of double-clicking a node:
1. Edit > User Preferences or press the F12 key.
2. Table > Double Click Action > On Nodes.
3. Set the value to one of the following:
Action
What double-clicking invokes
Show Properties
Launches the Node Info dialog box (see Viewing and Editing Node
Properties on page 65).
Edit Cell
Activates the editor for the node cells that allows you to modify a value
directly in the node cell.
Launch Explorer Launches the Node Explorer (see Node Explorer on page 38).
Run
Launches the Run Project dialog box (see Figure 73 on page 116).
Preprocess
Preprocesses the current node.
Visualize Results Views node output files with the default visualizer.
NOTE
If double-clicking a node does not work on a VNC client, see
Appendix E on page 225.
Copying and Pasting Nodes
Sentaurus Workbench allows to cut, copy, and paste nodes inside a Sentaurus Workbench
project, as well as between two Sentaurus Workbench projects.
To copy and paste nodes:
1. Select one or multiple nodes.
You can only make horizontal or vertical selections of nodes. Rectangular selection is not
supported.
2. Copy the nodes using any of the following actions:
a) Edit > Copy.
Sentaurus™ Workbench User Guide
I-2013.12
69
4: Editing Projects
Nodes
b) Right-click the nodes, and select Copy.
c) Ctrl+C.
3. Select nodes in the target project (it can be the same project) where you want to insert the
nodes.
4. Paste nodes using any of the following actions:
a) Edit > Paste.
b) Right-click the nodes, and select Paste or Paste Special.
c) Ctrl+V.
Copying and pasting nodes means copying and pasting parameter values, with no change to the
parameterization structure. When inserting nodes into an empty project, Sentaurus Workbench
creates a necessary infrastructure: tools and parameters are pasted together with the nodes.
The behavior of Sentaurus Workbench when pasting nodes may differ depending on the
selection of where to insert the nodes:
■
■
Node values are replaced by copied ones when the geometry of the selected nodes is the
same between the source project and the target project.
Nodes that are pasted inside the tool row or parameter row of a target project are inserted
together with their parameters.
NOTE
When copying and pasting nodes, Sentaurus Workbench does not copy
the node output files to the target project.
Viewing Node Dependencies
Sentaurus Workbench allows you to view nodes that are prerequisites of the selected nodes.
Both implicit and explicit node dependencies are taken into account.
To view prerequisite nodes:
1. Select one or more nodes.
2. Nodes > Extend Selection To > Prerequisite Nodes.
Sentaurus Workbench selects all the nodes that are prerequisites of the originally selected ones.
70
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Experiments and Scenarios
Experiments and Scenarios
An experiment or parameter setting is a tuple that contains one value for each parameter of the
flow. A scenario is a subtree of a simulation tree of Sentaurus Workbench that contains a
particular subset of experiments. Scenarios can overlap, that is, a particular node or path can
be part of more than one scenario. Scenarios can be run and edited independently.
NOTE
All projects have a scenario ‘all’ that includes all the scenarios of a
project.
Adding Experiments
An experiment can be added only if parameters are defined in a flow.
To add a single experiment:
1. Experiments > Add New Experiment or press the Insert key.
2. Choose a scenario where the new experiment is to be added (the current scenario is preset).
3. Select or type values for all parameters.
If an experiment is selected, the values are preset to those of the selected experiment.
4. Click Apply to add more experiments or click OK to add the experiment and close the
dialog box.
Figure 42
Add New Experiment dialog box
Sentaurus™ Workbench User Guide
I-2013.12
71
4: Editing Projects
Experiments and Scenarios
To add experiments by adding parameter values:
1. Experiments > Add Values.
2. Choose a scenario where the new experiment is to be added (the current scenario is preset).
3. Select a parameter for which you want to add a value.
4. Select a minimum value for the parameter.
It can be alphanumeric if only one value is added; it must be numeric if more than one value
is added.
5. Select the iteration step (not necessary if you add only one value).
6. Select the number of values to be added.
7. Select a linear or logarithmic scale (not necessary if you add only one value).
8. Check if you want to format the values (by default, the values are passed ‘as is’).
You can select some of the most commonly used options in the box. The format used there
is the same one used in the ANSI C sprintf command and the Tcl format command.
If some experiments have been preselected, there is the option of adding the parameter
values to all experiments (‘full factorial’) or to the selected experiments only.
9. Click Apply to add more experimental values or click OK to add current values and close
the dialog box.
Figure 43
Add Parameter Values dialog box
Deleting Experiments
To delete an experiment:
1. Select the required experiment in the experiments column.
2. Experiments > Delete Experiments, or press the Delete key.
72
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Experiments and Scenarios
NOTE
Experiments are deleted from the current scenario only. If an
experiment does not belong to any scenario, all nodes belonging to it are
called ‘orphan’ nodes.
To delete orphan nodes from the project:
•
Project > Clean Up > Clean up the tree.
Sorting Experiments
Sentaurus Workbench can sort experiments according to the values of a selected parameter.
To sort experiments:
1. Select experiments.
2. Experiments > Sort Experiments.
The Select Parameters to Sort dialog box is displayed.
3. Select the scenario, parameter, and sorting order as required.
4. Click OK.
Figure 44
Select Parameters to Sort dialog box
Importing Experiments from a File
To import experiments from a text file that contains character-separated values, for example,
a .csv file:
1. Experiments > Import From File.
2. Select the required file.
3. Select or type a scenario where the experiment is to be imported.
4. For each parameter or variable, select either a column number in the file from which you
want to take this parameter value (the column number starts from 0) or a constant value that
will be used for all imported experiments.
5. Select a delimiter between columns in the file.
Sentaurus™ Workbench User Guide
I-2013.12
73
4: Editing Projects
Experiments and Scenarios
6. Select the number of first lines that will be skipped when reading experiments.
7. Select how many experiments (lines) are read from the file.
This number is preset to the number of lines in the file.
8. Select whether consecutive delimiters are to be treated as one.
This option is often used for space-separated values.
9. Click Preview to view which experiments will be imported.
10. Click OK.
Figure 45
74
Import Experiments dialog box
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Experiments and Scenarios
Viewing Experiment Properties
To view experiment properties:
1. Select the required experiment in the experiments column.
2. Experiments > Properties or double-click the experiment.
Adding Scenarios
To add a scenario to the simulation tree:
1. Scenario > Add.
2. Type a new scenario name.
3. Click OK.
Deleting Scenarios
To delete a scenario from the simulation tree:
1. Scenario > Delete.
2. Select the required scenario.
To select multiple scenarios, press the Ctrl key during selection.
3. Click OK.
Copying and Moving Experiments Between Scenarios
To copy or move experiments between scenarios:
1. Select the experiments to be copied in the experiment column.
To select multiple experiments, press the Ctrl key during selection.
2. Edit > Copy to copy experiments or Edit > Cut to move experiments.
3. Select the scenario where you want to copy experiments from the scenario box in the
toolbar, or Scenario > Next, or Scenario > Previous.
4. Edit > Paste.
Sentaurus™ Workbench User Guide
I-2013.12
75
4: Editing Projects
Experiments and Scenarios
Copying and Moving Experiments Between Projects
To copy and move experiments between projects if both projects have same number of
parameters in the flow:
1. Select the experiments to be copied in the experiments column.
To select multiple experiments, press the Ctrl key during selection.
2. Edit > Copy to copy experiments or Edit > Cut to move experiments.
3. Open a project where you want to copy experiments in the same instance of Sentaurus
Workbench.
4. Select the scenario where you want to copy experiments from the scenario box in the
toolbar, or Scenario > Next, or Scenario > Previous.
5. Edit > Paste.
When pasting experiments into an empty project, Sentaurus Workbench creates the
corresponding infrastructure (tool steps and parameters).
When pasting experiments into a project with experiments, the experiments are pasted only if
the source and target projects have the same number of parameters and the parameters in both
projects have the same names and appear in the same order.
Pruning and Unpruning
Pruning is a useful operation to remove superfluous paths from a tree. An entire subtree can be
removed, reducing the simulation tree. Pruning and unpruning is not as important as in
previous versions of Sentaurus Workbench, since it is no longer necessary to use a full factorial
tree. The feature is here for backward compatibility and special applications that require partial
trees.
To prune or unprune a tree:
1. Select the required nodes. The whole subtree starting with these nodes will be pruned (or
unpruned).
2. Nodes > Prune (or Ctrl+E) or Nodes > Unprune (or Ctrl+U).
Pruned and orphaned nodes can be hidden from view. To hide or show nodes:
■
76
View > Show Pruned or press the F8 key.
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Experiments and Scenarios
Locking Nodes
Node locking is useful for large projects where preprocessing all nodes is cumbersome. In
addition, if you need to keep the current status of the preprocessing results for a specific tool,
scenario, or node, the corresponding nodes can be locked. Locking the nodes prevents the
nodes from being preprocessed. These nodes can be unlocked if preprocessing is required.
To lock or unlock nodes:
1. Select the required nodes.
2. Nodes > Lock or Nodes > UnLock.
Quick-running Nodes
The quick-running of nodes submits the nodes directly to the queue specified and the nodes are
run based on the function of the queue. The project is set to a running state.
To quick-run a node:
1. Select the nodes.
2. Nodes > Quick Run and select the required queue.
NOTE
The queue list is loaded from the global queue definition file or the site
queue definition file (if it is specified by the environment variable
SWB_SITE_SETTING_DIR).
Folding and Unfolding Nodes
Having large tables with thousands of experiments makes it difficult to navigate the project and
to have a clear overview of the project. Sentaurus Workbench allows you to reduce the table
size by folding multiple experiments into a single one. Folding can be applied to split points of
the parameterization tree; where new experiments appear, these are nodes having two or more
child nodes.
To fold nodes:
1. Select the required nodes.
The entire subtree starting with these nodes will be folded.
2. Nodes > Fold.
Sentaurus™ Workbench User Guide
I-2013.12
77
4: Editing Projects
Experiments and Scenarios
Figure 46 shows how the view of the project tree changes after two folding operations:
■
Folding nodes 6 and 44
■
Folding nodes 2 and 3
Figure 46
Original and folded project tree
The fold operation is applied from left to right. If the selected node does not have direct child
nodes, Sentaurus Workbench tries to fold all the nodes to the right of this node.
Nodes belonging to collapsed experiments represent several nodes and are shown with the
specific folded status. These nodes display a range of values of all the nodes behind them. You
can apply almost all operations to folded nodes, that is, you can preprocess, run, abort, and
clean up nodes, and you can visualize node results. You can consider the folded node as a
multiple-node selection that includes the folded node and all the nodes hidden behind it.
NOTE
Folding nodes does not remove any experiments or result files. The fold
operation simply hides nodes behind the folded node. You can display
hidden nodes and experiments at any time using the unfold operation.
To unfold nodes:
1. Select the required folded nodes or nodes to the left.
2. Nodes > UnFold.
This operation unfolds the experiments collapsed at that point. If you fold experiments to the
right of this node, the folding will be retained.
78
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Project Consistency Control
To unfold all experiments in the scenario:
■
Scenario > Unfold All.
This operation unfolds all the folded experiments and restores the project tree to its original
configuration.
NOTE
The configuration of folded nodes is stored with the project and is
applied next time you load the project.
Project Consistency Control
The aim of project consistency control is to prevent you from running simulations that could
be based on invalid results from previous simulations. Sentaurus Workbench automatically
identifies nodes that may need to be re-executed after making changes in the project structure
and tool input files. Project consistency control could be helpful after the following user
actions:
■
Modifying a tool input file and reloading the project
■
Modifying the project parameterization table:
■
■
■
•
Modifying the value of one or more parameters on a node level
•
Removing a parameter
•
Inserting a new parameter
Modifying the project tool flow:
•
Removing a tool
•
Adding a new tool
Modifying the user-defined variables that are involved in the simulations (are used in tool
input files)
Removing experiments that contain nodes whose simulation results are referenced in other
experiments
Activating Project Consistency Control
Project consistency can be set up in the Sentaurus Workbench user preferences:
1. Edit > User Preferences or press the F12 key.
2. Select Project > Consistency Control (see Figure 47 on page 80).
Sentaurus™ Workbench User Guide
I-2013.12
79
4: Editing Projects
Project Consistency Control
In Sentaurus Workbench, user preferences provides different modes for project consistency
control, under Actions on Inconsistent Nodes.
Figure 47
Project consistency settings in user preferences
Table 7 describes the different modes of project consistency control that are available.
Table 7
Different modes of project consistency control
Mode
Description
Nothing
This means that project consistency control is disabled. This is the default.
Mark Ambiguous
This is an informative mode where Sentaurus Workbench marks the nodes that are
potentially not up-to-date and that may need to be re-executed with a red exclamation
mark (see Figure 48 on page 81). The red exclamation mark means that you must
decide whether to rerun this node after the latest changes in the project have been
completed.
Sentaurus Workbench does not take any other actions at this point (such as deleting
the node simulation results or extracted variables).
If you decide some marked nodes should not be rerun, remove the red exclamation
mark (see Removing Exclamation Marks on page 81).
If you need to re-execute marked nodes, clean up the nodes (see Re-Executing
Marked Nodes on page 81).
Clean Up
80
This is the most rigorous mode where Sentaurus Workbench determines ambiguous
nodes and ultimately cleans them up.
This mode should be used with caution because automatic cleanup may result in
unwanted loss of simulation results. You should use this option with the automatic
backup switched on (see Backing Up Node Files Automatically on page 130).
Sentaurus™ Workbench User Guide
I-2013.12
4: Editing Projects
Project Consistency Control
Removing Exclamation Marks
If you decide some marked nodes should not be rerun, remove the red exclamation mark:
1. Select the corresponding nodes.
2. Nodes > Unmark Ambiguous.
Re-Executing Marked Nodes
If you need to re-execute marked nodes, clean up the nodes:
1. Select the corresponding nodes.
2. Nodes > Clean Up Node Output.
When you leave nodes marked, Sentaurus Workbench decides whether to re-execute nodes
depending on the corresponding user preferences setting (under Rerun Ambiguous Nodes
Next Time, see Figure 47 on page 80). The options are:
■
Never
■
Always
In the first case, Sentaurus Workbench considers marked nodes as up-to-date nodes and does
not restart them the next time you execute your simulations. Otherwise, Sentaurus Workbench
reruns the ambiguous nodes.
Figure 48
After modifying the parameter value in node 12, the successive nodes are
marked as ambiguous
Sentaurus™ Workbench User Guide
I-2013.12
81
4: Editing Projects
Project Consistency Control
82
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 5
Design-of-Experiments and
Taguchi Wizards
This chapter describes the design-of-experiments (DoE) and Taguchi
wizards that are available in Sentaurus Workbench.
Design-of-Experiments (DoE) Wizard
The main purpose of the DoE Wizard is to facilitate the use of the tools for DoE available in
Sentaurus Workbench. Through a self-descriptive series of windows, you are prompted to
specify settings of different factors that determine the type of design to generate.
Step 1 of the DoE Wizard (see Figure 49) is a dialog box in which you must choose one of the
design options available. These design options implicitly relate to the objectives of the user for
that design. Each option is explained briefly in the lower part of the dialog box.
Figure 49
DoE Wizard - Step 1
Although a stochastic design is used to implement an uncertainty analysis instead of an
optimization process, this type of design has been included in this wizard because an
uncertainty analysis can be performed more efficiently with an appropriate stochastic design,
such as the one provided by the probabilistic collocation method.
In Step 2 (see Figure 50 on page 84), the DoE Wizard obtains parameters from the current
project, in which every parameter has a default value, which is also referenced by the DoE
Wizard. You must decide which parameters are to be included in the study.
Sentaurus™ Workbench User Guide
I-2013.12
83
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
Parameters under investigation must be moved to the DOE field (SDOE field if Stochastic
Design was chosen in Step 1) or the USERD (user-defined) field. Parameters in the DOE field
are used to define a DoE suitable to achieve the objective chosen in Step 1, whereas parameters
in the USERD field allow for the abovementioned DoE to be run under different conditions,
each parameter measuring a different response.
Figure 50
DoE Wizard - Step 2
Unselected parameters remain in the left pane and are considered as constants during the
simulation. Their values are the default ones assigned by you in the creation of the project.
The SDOE field becomes active only when the Stochastic Design option has been selected in
Step 1, that is, only if the goal is to perform an uncertainty analysis. Therefore, it is not possible
to mix, in the same experimental plan, parameters that by definition have different objectives,
such as deterministic parameters that are used to optimize the response and stochastic
parameters intended to perform an uncertainty analysis.
Step 2 is the same for every option chosen in Step 1, but the following steps are different
depending on the objective defined in Step 1.
84
Sentaurus™ Workbench User Guide
I-2013.12
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
Figure 51
DoE Wizard - Step 3
Screening
For a screening process, Step 3 corresponds to a dialog box such as the one in Figure 51. Here,
you must specify the levels for each parameter and the scale in which they are measured.
When the parameters are defined, the DoE Wizard provides, in a fourth step, a list of the
suitable designs to fit a first-order model. The length of the list depends on the number of
parameters selected in the DOE field (Step 2). Step 4 (shown in Figure 52) has a column that
displays the required number of runs to complete each design and a column that shows the
resolution of each design.
You must choose one of the designs. Consider that the higher the resolution, the better the
quality of the fitted model will be and the higher the cost of the experimental plan will be.
Figure 52
DoE Wizard - Step 4 for screening
Sentaurus™ Workbench User Guide
I-2013.12
85
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
Response Surface Model
Step 3 for a response surface model (RSM) is the same as for screening (see Figure 51 on
page 85). Nevertheless, you must be aware that, this time, the objective is to fit a second-order
model. This implies that the DoE Wizard adds at least one more level to each parameter
automatically.
Step 4 for a RSM provides a list of designs that allow the fitting of a second-order model. The
second column in the table shows the number of simulations or runs required to complete each
experimental plan.
If Central Composite Complete or Central Composite Small is chosen, you must define the
axial distance. To do so, there is a special step (see Figure 53).
Figure 53
86
DoE Wizard - Step 5 for response surface model
Sentaurus™ Workbench User Guide
I-2013.12
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
Stochastic Design
Step 3 for stochastic design (see Figure 54) allows for the definition of characteristics for the
stochastic parameters. This means that you must associate each parameter with a probabilistic
distribution and a number of collocation points (parameter settings).
Figure 54
DoE Wizard - Step 3 for stochastic design
The stochastic design produces experiments by combining random values that are generated
according to the user settings for each involved parameter: the random distribution and the
number of values. The alternative is to generate an independent set of experiments. You can
define the final number of experiments to generate, and Sentaurus Workbench creates
experiments by generating a random value for each parameter variation.
To use this mode of DoE:
1. Select the option Monte Carlo Design.
2. Specify the final number of experiments to generate (see Figure 55).
Figure 55
DoE Wizard – Step 3 for Monte Carlo stochastic design
Sentaurus™ Workbench User Guide
I-2013.12
87
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
Square Design
Square designs are deterministic designs that are used to study more than two levels for each
parameter in an economical way, using Latin or Greco Latin or Hyper Greco Latin square. In
this case, Step 3 (see Figure 56) allows for the definition of three up to eight levels for each
parameter.
Figure 56
DoE Wizard - Step 3 for square design
Sensitivity Analysis
Sensitivity analysis aims at analyzing the model outputs as a function of very small changes to
a single parameter with all of the other parameters fixed. Therefore, sensitivity analysis only
reveals the local gradient of the response surface of the model with regard to a given parameter.
Sentaurus Workbench supports two modes of sensitivity analysis:
■
■
88
The standard mode provides a powerful and flexible way of generating experiments based
on the involved parameters.
The alternative mode implements the Taurus Workbench (TWB) style of creating
experiments for sensitivity analysis and may be useful for Taurus Workbench
compatibility.
Sentaurus™ Workbench User Guide
I-2013.12
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
Standard Sensitivity Analysis Mode
Step 3 for sensitivity analysis (see Figure 57) consists of three group boxes:
■
TWB Compatibility
■
Global Settings
■
Parameter Settings
Figure 57
DoE Wizard – Step 3 for standard sensitivity analysis mode
TWB Compatibility Group Box
The TWB Compatibility group box specifies whether the standard or TWB sensitivity analysis
mode is used. For the standard mode, clear the TWB Sensitivity Analysis option (see
Figure 57).
Global Settings Group Box
The Global Settings group box allows you to specify settings that are applicable to all of the
involved parameters. This can save time when dealing with a number of parameters that have
similar values of the sensitivity range and the number of samples inside that range.
Sensitivity Range means the range around the nominal value that covers the area of the
parameter variations. The default range is 10% and is a symmetric one: For the nominal value
X , the corresponding sensitivity range is X ± 10% .
Points specifies the number of samples inside the sensitivity range (the default is 3).
Sentaurus™ Workbench User Guide
I-2013.12
89
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
When you click the Apply to All Parameters button for Sensitivity Range and Points, the
global values overwrite the corresponding parameter-specific settings in the Parameter Settings
group box.
Parameter Settings Group Box
In the Parameter Settings group box, you define settings specifically for each involved
parameter. Table 8 lists the available parameter settings.
Table 8
Parameter Settings options
Parameter setting
Description
Lin/Log
Select either linear scale or logarithmic scale.
Nominal
Nominal value of the parameter. By default, this is the default parameter value.
Points
Number of parameter variations (samples).
Range%
The sensitivity range. By default, this is a symmetric range around the nominal value.
Min.
Specifies the lower point of the sensitivity range.
Max.
Specifies the upper point of the sensitivity range.
Smooth Points
Defines an additional number of sample points inside the smooth range (the interval
around the nominal value). The default is 0.
Smooth Range%
Specifies a smooth range around the nominal value, where additional points (samples)
are defined.
Smooth Min.
Specifies the lower point of the smooth sensitivity range.
Smooth Max.
Specifies the upper point of the smooth sensitivity range.
By default, the symmetric sensitivity range is defined by the parameter nominal value and the
value of range (in percent from the nominal value). You can redefine the default sensitivity
range by the direct definition of the Min. and Max. values. In this case, the Range% value is
removed from the table to avoid confusion.
The Smooth Points may be helpful to specify when the evaluation of the response gives an
unwanted increase or noise at the nominal value of the parameter. In that case, additional points
around the parameter nominal value may help to interpolate the response curve (surface).
90
Sentaurus™ Workbench User Guide
I-2013.12
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
After applying the standard sensitivity analysis mode, Sentaurus Workbench generates the
experiments as shown in Figure 58.
Figure 58
Experiments generated by standard sensitivity analysis mode
Taurus Workbench–compatible Sensitivity Analysis Mode
The traditional Taurus Workbench (TWB) sensitivity analysis mode is activated when you
select the TWB Sensitivity Analysis option (see Figure 57 on page 89).
TWB Compatibility Group Box
The TWB Compatibility group box now displays options to switch between two models:
■
Sensitivity V
■
Sensitivity R
The dialog box changes depending on the selected model (see Figure 59 and Figure 60 on
page 92).
Sentaurus™ Workbench User Guide
I-2013.12
91
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
92
Figure 59
TWB-compatible sensitivity analysis: Sensitivity V model
Figure 60
TWB-compatible sensitivity analysis: Sensitivity R model
Sentaurus™ Workbench User Guide
I-2013.12
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
Global Setting Group Box
The Global Settings group box allows you to specify the sensitivity range, which is a global
option for all of the involved parameters. The default is 10%.
Parameter Settings Group Box
In the Parameter Settings group box, you can define the following parameter-specific values:
■
Nominal
■
Minimal and maximal (Sensitivity R model only)
■
Mean (Sensitivity V model only)
After applying the Sensitivity R model, Sentaurus Workbench generates the following sample
values for each involved parameter:
■
<nominal>
■
(<min + max>) / 2
■
(<min> + <max>) / 2 + <sensitivity range> * 0.01 * (<min> + <max>) / 2
After applying the Sensitivity V model, Sentaurus Workbench generates the following sample
values for each involved parameter:
■
<nominal>
■
<mean>
■
<mean> + <sensitivity range> * 0.01 * <mean>
Figure 61 and Figure 62 on page 94 show how Sentaurus Workbench generates experiments
for the Sensitivity V model and the Sensitivity R model, respectively.
Figure 61
Experiments generated by Sensitivity V model
Sentaurus™ Workbench User Guide
I-2013.12
93
5: Design-of-Experiments and Taguchi Wizards
Design-of-Experiments (DoE) Wizard
Figure 62
Experiments generated by Sensitivity R model
User-Defined Parameters
Until now, only DoE and SDoE parameters have been explained, but user-defined parameters
can be defined in the same way, despite the option selected in Step 1. These parameters can be
defined as either continuous with any number of levels or categorical.
Figure 63
DoE Wizard - Step 3 for user-defined parameters
Final Step
The final step is a summary that contains all the relevant information about the design you will
generate. It gives the perspective to detect problems such as unfeasible combinations or
excessive runs for the resources and time available for the experimental plan.
94
Sentaurus™ Workbench User Guide
I-2013.12
5: Design-of-Experiments and Taguchi Wizards
Taguchi Wizard
This final step is common to all the design options chosen in Step 1.
Figure 64
DoE Wizard - Final Step
Taguchi Wizard
The Taguchi Wizard is a feature to help you create a Taguchi DoE. This wizard, in a few steps,
offers basic and direct options that allow for the definition of the characteristics of the required
Taguchi design. An optional step shows the values generated according to user specifications
in the last steps. Finally, the wizard allows for the generated design to be pasted to the main
worksheet of Sentaurus Workbench as a new scenario.
In the first step (see Figure 65), the number level of the Taguchi design is selected.
Figure 65
Taguchi Wizard - Select Design
Sentaurus™ Workbench User Guide
I-2013.12
95
5: Design-of-Experiments and Taguchi Wizards
Taguchi Wizard
Note that:
■
■
Choices are divided between two group boxes: 2 Level and Multilevel With Noise.
When a Multilevel With Noise design is selected, the Select Outer Array Design options
are available to allow you to define the design to be used as noise.
In the next steps:
■
■
The Factors column is a non-editable header column, containing the experiment references
designated alphabetically, A, B, C, and so on.
The Parameters column allows for the selection of one of the valid parameters from
Sentaurus Workbench. When a parameter is selected, it is not available for any further
selection on the other boxes.
In the second step of 2 Level models (see Figure 66), you define the design corresponding to
the Taguchi inner array. The columns Center and Shift must be set to define parameter values
as center ± shift.
Figure 66
96
Two Level design - Step 2
Sentaurus™ Workbench User Guide
I-2013.12
5: Design-of-Experiments and Taguchi Wizards
Taguchi Wizard
The second step of Multilevel With Noise (see Figure 67) contains entries to select parameter
values for each level. Columns L1 to Ln must be set with the values of the levels for the
selected parameter.
Figure 67
Multilevel With Noise - Step 2
The third step of Multilevel With Noise (see Figure 68) contains entries to set the values of the
outer (noise) array. The No Noise, N1, and N2 columns allow you to insert three levels of error
factor that will be used to create the error design to be applied. If the Percentage column is
selected, the error factor is applied as a percentage of the value
(Value With Error = value + value * error / 100). Otherwise, the factor is applied as a simple
value (Value With Error = value + error).
Figure 68
Multilevel With Noise - Step 3
Sentaurus™ Workbench User Guide
I-2013.12
97
5: Design-of-Experiments and Taguchi Wizards
Taguchi Wizard
By clicking View Design (see Figure 68 on page 97) in the last step of the wizard, the optional
View Design dialog box is displayed (see Figure 69), where you can see the design that will be
generated.
Figure 69
Taguchi Wizard - View Design dialog box
After clicking Finish, the selected design is created in the main view (see Figure 70).
Figure 70
98
Taguchi Wizard results
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 6
Preprocessing Projects
This chapter discusses how Sentaurus Workbench preprocesses
projects.
Overview
As previously mentioned in Parameters on page 55, one of the most important features of
Sentaurus Workbench is the support for project parameterization. A parameterized project
consists of a set of experiments where certain sensible input variables take different values. A
parameterized project is represented as a tree structure called gtree.
In a project, you provide the set of input file templates for each tool as defined in the tool
database. You can express variations in templates using the preprocessor language of Sentaurus
Workbench. There are two categories of preprocessor language constructs: preprocessor
#-commands (see Preprocessor #-Commands on page 100) and @-references (see @References and Tree Navigation on page 101). The Sentaurus Workbench preprocessor
supports also special Tcl command blocks, which contain arbitrary Tcl commands (see Tcl
Command Blocks on page 108).
To differentiate the nodes in gtree and to take into account already computed results, spp –
the Sentaurus Workbench preprocessor – automatically generates actual input files at run-time.
Dynamic preprocessing enables a simulation to be dependent on the results of other
simulations, that is, the behavior of a node can vary as a function of variables extracted at other
nodes.
Global and Run-Time Preprocessing
Preprocessing is performed in two phases:
1. A global, projectwide preprocessing phase, before project execution. This phase does not
create real input files (pp*). Instead, it scans the user input templates of the tool to extract
the job interdependencies and produce the project execution graph (file gexec.cmd), and
to find the #set commands and insert variable values into the project variable file
(gvars.dat). In addition, global preprocessing can be used on expressions, nodes, and
scenarios (see Node Expressions on page 103).
Sentaurus™ Workbench User Guide
I-2013.12
99
6: Preprocessing Projects
Preprocessor #-Commands
2. Generation of job input files before a job is started. All preprocessor commands and @references are resolved and replaced at that time. A variable reference is replaced with the
most recently extracted value or with the value given at the closest #set command if there
is no extracted value. Finally, all preprocessor Tcl blocks are extracted, evaluated, and
substituted with the result of the Tcl evaluation (standard output).
To perform phase 1 only, use the command:
spp PROJECT
To perform both phases for the whole project (create the execution graph and variable file, and
generate all pp* input files), use the command:
spp -input PROJECT
NOTE
In the global preprocessing phase, the variable references are replaced
with #set values, not with extracted values.
NOTE
Locked nodes are not preprocessed.
gsub automatically performs phase 1 preprocessing when required (if any input file has been
modified since the last global preprocessing), before job submission.
gjob automatically performs phase 2 preprocessing before job execution (unless the project
has the Research configuration or the -nopp command-line option is specified explicitly).
Preprocessor #-Commands
The #-commands give instructions to spp. They are used when simple @-references are not
adequate to modify the behavior of a tool. For example, conditional commands instruct spp to
create different sections of an input file for different nodes (or groups of nodes). Conditions
typically refer to parameters, as shown in the following input file fragment of Sentaurus
Device:
#if @WithHydro@ == 1
coupled { Poisson Electron Hole eTemperature }
#else
coupled { Poisson Electron Hole }
#endif
This example shows a template with two sections, one for even and one for odd node indices:
#if @node:index@ % 2 == 0
# section for even node indices
#else
100
Sentaurus™ Workbench User Guide
I-2013.12
6: Preprocessing Projects
@-References and Tree Navigation
# section for odd node indices
#endif
As a further illustration, this example shows how to test for the next or previous tool:
#if "@tool_label|+1@" == "shell2"
next tool is shell2
#else
next tool is something else
#endif
#-Commands on page 192 lists all of the available #-commands of Sentaurus Workbench.
@-References and Tree Navigation
Since Sentaurus Workbench must control all tool input and output files in the simulation tree
and determine job interdependencies, file names should only appear as file references in input
files. Do not use absolute, hard-coded file names. Use node references instead of hard-coded
node keys. At run-time, the preprocessor substitutes file references and node references with
the corresponding file names or node keys.
The following conventions and notations are used:
■
Each node is uniquely identified by its key noted nkey.
■
Node keys can be displayed in the Project Editor.
■
■
Tool output file names are prefixed with n<nkey>_<acronym>, where <acronym> is a
three-character string identifying a specific tool.
The set of nodes at a certain tree level represents all occurrences of the tool at that level.
These nodes are indexed from 1 to n , where 1 denotes the leftmost node and n is the
rightmost node. A node index is the absolute position of the node in its tree level.
@-references can be parameters, variables, expressions, or commands that are enclosed in a
pair of @. The enclosed content is evaluated and substituted by the preprocessor. A simple
reference of Sentaurus Workbench usually refers to the current node (@node@). Navigation
operators can be used to move the reference from the current node to another node in the tree.
Relative navigation can be in all directions around the current node: up, down, left, right, and
also in absolute indices.
Sentaurus™ Workbench User Guide
I-2013.12
101
6: Preprocessing Projects
User-Defined Delimiters
To illustrate the use of file references, a typical Sentaurus Device File section is:
File {
grid = "@grid@"
doping = "@doping@"
plot = "@dat@"
current = "@plot@"
output = "@log@"
}
NOTE
For historical reasons, the meaning of the keyword plot is different in
Sentaurus Device and Sentaurus Workbench. In Sentaurus Device,
plot refers to the plots of the primary and derived quantities over the
computational domain. In Sentaurus Workbench, plot refers to I–V
curves.
User-Defined Delimiters
As specified in @-References and Tree Navigation on page 101, the preprocessor recognizes
the symbol "@" as a delimiter for parameters, expressions, commands, and so on. At the same
time, the input language syntax of some tools, integrated into Sentaurus Workbench, allows the
use of the symbol "@" internally in language-specific constructions (for example, internal
variables). This is the case for tools such as TSUPREM-4.
To avoid problems during preprocessing, all such character expressions in the input file must
be protected with the #verbatim keyword. However, this may overload the input file with
preprocessor commands and instructions, making the file difficult to read and understand.
Another issue is potential preprocessing problems, when a preprocessor reference @...@ is
used on the same line as an @… language construction.
To avoid such problems, the default delimiter symbol can be redefined for the tool by setting
up a particular tool database instruction:
set WB_tool(<tool_name>,substitution_delimiter) <delimiter>
where <tool_name> is the tool name. The delimiter can be either a single character or a
combination of characters (spaces are not allowed).
The symbol "@" remains a valid delimiter for input files of other tools. The redefined delimiter
takes effect for all of the tool-related files involved in the preprocessing. At the same time, toolspecific setup, prologue, and epilogue scripts from the tool database, as well as the variable
extraction commands, can only be specified using the standard "@" delimiter.
102
Sentaurus™ Workbench User Guide
I-2013.12
6: Preprocessing Projects
Node Filters
NOTE
The delimiter redefinition works only when the preprocessor spp is
used.
NOTE
Ligament input files do not support redefined delimiters.
Node Filters
A node filter is a Tcl expression that evaluates to true (!=0) or false (0) for any existing node
in the simulation tree. The syntax of a filter is:
filter: "{" EXPR "}"
where EXPR is a Tcl expression that evaluates to a number. EXPR can refer to parameters or
variables existing in the current tree using the $NAME notation, for example, the expression:
{ $P2 == 3 && $V1 > 2 }
will evaluate to true for nodes where the value of parameter P2 is equal to 3 and the value of
variable V1 is greater than 2.
Nodes for which a referenced parameter or variable is not defined are rejected (evaluated to
false). In other words, the previous expression is equivalent to:
{ ([info exists P2] && $P2 == 3) && ([info exists V1] && $V1 > 2) }
Additionally, EXPR recognizes the two predefined functions min(NAME) and max(NAME). For
example:
{ $P2 == min(P2) }
will evaluate to true for nodes where the value of parameter P2 is equal to the minimal value
of P2.
Node Expressions
Sentaurus Workbench provides expressions – abbreviated gexpr – to select nodes in the
simulation tree. A gexpr returns a list of node keys and is especially used in the Scheduler to
submit nodes for execution. The syntax of a gexpr is detailed in Node Expressions on
page 195. For example:
"sc1|last:{$P1 == 1} * sc2|last:{$P1 == 1}"
will return the leaf nodes belonging to both scenarios sc1 and sc2, where parameter P1 is
equal to 1.
Sentaurus™ Workbench User Guide
I-2013.12
103
6: Preprocessing Projects
Split Points
Split Points
A parameter introduces a new level in the simulation tree to the right of the tool step. Viewed
from the tree, a parameter splits the overall tool simulation phase into two subphases. This is
only an abstract view because each tool instance usually executes the entire simulation phase
from the beginning to end in one run.
As a result, the same first subphase (or subphases) is unnecessarily executed several times. This
is only true for tools whose command file defines a linear control flow (that is, a flow executed
sequentially from the beginning to end, command after command). These tools are called linear
tools. Typically, process simulation tools are linear tools.
Sentaurus Workbench provides a splitting facility so that linear tools can save and restore their
state; each intermediate branch in the tree can be executed only once. This facility can save
considerable computing time, especially for lengthy jobs with multiple phases.
A tool can only be split when the Save and Load commands are defined in the tool database.
For example, Sentaurus Process has the following two lines in the standard tool database:
set WB_tool(sprocess,split,save_cmd) "struct tdr=n@node@"
set WB_tool(sprocess,split,load_cmd) "init tdr=n@previous@"
NOTE
To ensure that Sentaurus Workbench shows the real status of the
intermediate nodes, check whether View > Tree Options > Check
Virtual Nodes is selected (see Real and Virtual Family Nodes on
page 29).
Preprocessed Variables
Like a parameter, a variable holds a value and can be referenced in any form of @-references.
The main difference is that a variable does not create a split in the simulation flow and,
therefore, does not change the shape of the simulation tree.
The #set command is used to define a preprocessed variable and assign a value to it:
#set <varname> <value>
A defined variable can then be referenced by its name in any @-reference notation. A variable
reference creates an execution dependency from the node where the reference is performed to
the first ancestor where the variable has been set. The scope of a variable is similar to that of a
parameter, that is, from the node with the first #set directive to all of its descendants.
104
Sentaurus™ Workbench User Guide
I-2013.12
6: Preprocessing Projects
Extracted Variables
A variable can be reassigned in two ways:
■
■
By another #set directive, that is, by overriding it with another preprocessed value.
Through an extraction, that is, by overriding it with an extracted value (see Extracted
Variables).
All variables are shown in the Family Tree.
A typical use of #set commands is to define a set of variables bound to a parameter, such as
the fields of a record:
#if @PARAM@ == 1
#set PARAM_V1 1.5
#set PARAM_V2 2.5
#elif @PARAM@ == 2
#set PARAM_V1 11.5
#set PARAM_V2 12.5
#endif
This construct avoids the declaration of two artificial parameters and reduces the size of the
overall project tree.
Extracted Variables
Another common use of variables is to extract a value from the tool output file and refer to it
in the next tool input file.
Values are extracted from node output files. After the node has been successfully executed, its
output file is parsed for strings that match the following mask:
DOE: <varname> <value>
Then, the values found are written to the gvars.dat file. If the specified variable already
exists, the extracted value will overwrite the existing one. If the specified variable does not
exist, that is, it was not defined globally or with the #set command, a new variable will be
created. After that, the extracted variable can be referenced in any subsequent tool input files
by using standard preprocessor @-references.
The only way to inform Sentaurus Workbench that a value must be extracted during the
simulation and assigned to some variable is to provide the DOE: <varname> <value> string
in the node output file. Usually, it should be printed in the tool command file. The
corresponding command strictly depends on the tool and its command syntax. For example, for
Sentaurus Process, it can be a simple Tcl command:
puts "DOE: ENERGY 120.56"
Sentaurus™ Workbench User Guide
I-2013.12
105
6: Preprocessing Projects
Extracted Variables
Inspect supports another way of exporting of values to the Family Tree. It is possible to use the
ft_scalar function in the Inspect command file:
ft_scalar <varname> <value>
This function assigns the value to the specified variable of Sentaurus Workbench. If the
variable does not exist, it will be created. In this way, nothing is sent to the node output file: the
exported value goes directly to the variable definition.
Extracted values and preprocessed values are separated from each other. Extracted values
become available during the simulation running phase, while preprocessed values are already
known at the preprocessing stage.
The following example demonstrates how the algorithm extracts values from the simulation
step and accesses them in the subsequent simulation steps:
1. In the tool where the extraction is performed, an arbitrary default value must be assigned
to the extracted variable:
#set EXTRACTED_VAR 0
This command could be also specified in any preceding tools if any.
2. In the tool where the extraction is performed, the printing command must be specified in
the tool command file. In the case of Sentaurus Process, it could be:
puts "DOE: ENERGY 120.56"
or:
puts "DOE: ENERGY @ENERGY_2@"
where ENERGY_2 is another variable.
3. The variable EXTRACTED_VAR can be referenced in any subsequent tool input files by
using standard preprocessor @-references and #-commands, such as:
@EXTRACTED_VAR@
@< @EXTRACTED_VAR:+1@ / 2 >@
#if @EXTRACTED_VAR@ > 1.5e15
...
#endif
NOTE
106
A common cause of errors when using extracted variables is that a
corresponding variable does not exist during preprocessing. In this case,
preprocessing of the project can fail if there are any references to this
variable in the input files of other tools. To avoid this error, globally
declare the variable or use the #set preprocessing command.
Sentaurus™ Workbench User Guide
I-2013.12
6: Preprocessing Projects
Execution Dependencies
NOTE
Extracted variables work only for tools for which the extracting
algorithm has been defined in the tool database. For example, the global
tool database defines it for Sentaurus Process in this way:
set WB_tool(sprocess,epilogue) { extract_vars $wdir
@stdout@ @node@; ... }
where the extract_vars function is defined also in the global tool
database. This definition means that the values for each executed node
will be extracted from the output file on the basis of the DoE: the pattern
specified in the function. In the global tool database, this extraction
algorithm is defined for Sentaurus Process, TSUPREM-4, Raphael, and
Inspect. To enable other tools to support extracted variables, the
corresponding definition must be specified in the user or project tool
database. It is also possible to define a user-specific extracting algorithm
for extracting values between Family Tree steps.
Execution Dependencies
During preprocessing, all dependencies in the files are analyzed in the following way:
If there is a file reference @file_type@ with possible, additional, relative direction suffixes
(see Appendix A on page 187 for information about @-references and tree navigation) in any
of the command files or parameterized input files, the execution is made dependent on the
successful completion of the pointed node.
NOTE
@node@ references do not create any dependencies and there are no
implicit child to parent dependencies.
Dependencies can be forced using the #setdep directive. For example, #setdep
@node|-1:all@ creates a barrier before the current level, that is, no node at the current level
can start execution before all nodes at the previous level have been successfully completed. spp
checks for circular references and fails if one is found.
Dependencies can be viewed by extending the selection to prerequisite nodes (see Viewing
Node Dependencies on page 70).
Dependencies can be explicitly removed using the #remdep command, for example:
#remdep @node|+1@
Sentaurus™ Workbench User Guide
I-2013.12
107
6: Preprocessing Projects
Tcl Command Blocks
NOTE
The order in which dependencies are set or unset is important. Unsetting
a dependency does not have any effect if the dependency is set again
later in the same input file, either implicitly or explicitly. Therefore, a
#remdep directive at the beginning of the file does not have any effect;
this directive typically appears at the end of an input file.
NOTE
Although the reference @previous@ is, in principle, equivalent to
@node|-1@, the difference is that @previous@ creates a dependency,
while @node|-1@ does not.
Tcl Command Blocks
Creating Tcl Command Blocks
The concept of Tcl command blocks is to bring additional power to inflexible and hard-to-use
language for some tools incorporated into Sentaurus Workbench. Tcl command blocks consist
of an arbitrary set of Tcl command lines that are delimited by "!(" and ")!". During the final
stage of preprocessing, Tcl command blocks are extracted and evaluated by the preprocessor.
In the node input file, each Tcl block is replaced with the standard output of its Tcl evaluation.
The following example illustrates the use of Tcl command blocks to power some Sentaurus
Device code. Consider the following part of an input file for Sentaurus Device (Tcl blocks are
italicized):
#if @<polarization>@ == "on"
!(
#=============================================================
# Computation of piezo/spontaneous charge
# using SWB capability to interpret Tcl command blocks
#=============================================================
set q 1.602e-19;# elementary charge
set Psp_AlN [expr -8.1e-6/$q];# AlN build-in spontaneous polarization
set Psp_GaN [expr -2.9e-6/$q];# GaN build-in spontaneous polarization
set Psp_AlGaN [expr @x@*$Psp_AlN+(1-@x@)*$Psp_GaN]; # AlGaN spontaneous
polarization
set DPsp [expr $Psp_GaN-$Psp_AlGaN]; # interface charge due to spontaneous
polarization
set e33i [expr (@x@*1.46e-4+(1-@x@)*0.73e-4)/$q]
set e31i [expr (@x@*-0.60e-4+(1-@x@)*-0.49e-4)/$q]
set c13i [expr @x@*108+(1-@x@)*103]
set c33i [expr @x@*373+(1-@x@)*405]
set straini [expr @x@*(3.189-3.112)/(@x@*3.112+(1-@x@)*3.189)]
set Ppz_AlGaN [expr 2*$straini*($e31i-$c13i/$c33i*$e33i)]
108
Sentaurus™ Workbench User Guide
I-2013.12
6: Preprocessing Projects
Tcl Command Blocks
set DPpz $Ppz_AlGaN
set intCharge [expr $DPsp+$DPpz]; # resulting value of the interface charge
# Transfer the resulting charge to the project Family Tree as SWB variable
set SWB_VARIABLES(Charge) [format %.6e $intCharge]
)!
* Spontaneous polarization for AlGaN: !(puts -nonewline [format %.2e
$Psp_AlGaN])!
* Piezopolarization for AlGaN: !(puts -nonewline [format %.2e $Ppz_AlGaN])!
* Total AlGaN Polarization: !(puts [format %.2e [expr
$Psp_AlGaN+$Ppz_AlGaN]])!
* Total GaN Polarization: !(puts [format %.2e $Psp_GaN])!
#endif
...
Physics(materialinterface="GaN/AlGaN")
{
#if @<polarization>@ == "on"
Charge( Conc=!(puts -nonewline [format %.4e $intCharge])! )
#endif
#if [string match "*NL*" "@model@"]
* hetero barrier non-local barrier tunneling
Recombination(eBarrierTunneling(nonlocal))
#endif
}
...
This file is preprocessed to the following node file:
* Spontaneous polarization for AlGaN: -5.06e+13
* Piezopolarization for AlGaN: -1.85e+13
* Total AlGaN Polarization: -6.91e+13
* Total GaN Polarization: -1.81e+13
...
Physics(materialinterface="GaN/AlGaN")
{
Charge( Conc=1.3925e+13 )
* hetero barrier non-local barrier tunneling
Recombination(eBarrierTunneling(nonlocal))
}
...
NOTE
If a Tcl command block prints nothing (no Tcl puts command is used),
the standard output of the Tcl evaluation is empty. This is the reason
why there will be nothing from this block in the preprocessed node input
file.
Sentaurus™ Workbench User Guide
I-2013.12
109
6: Preprocessing Projects
Tcl Command Blocks
Tcl Preprocessing
The evaluation of the Tcl command blocks is called automatically by the Sentaurus Workbench
preprocessor at the final stage of project preprocessing. To reduce the preprocessing time, Tcl
preprocessing can be called explicitly by using: Project > Project Operations > Preprocess
Tcl Blocks (see Figure 71).
In this preprocessing mode, only Tcl command blocks in the tool input files are Tcl evaluated.
All unresolved Sentaurus Workbench parameters and expressions (@..@, @<..>@, @[..]@)
are substituted with dummy values. This light preprocessing mode is useful for testing
purposes only. To obtain the expected results, the whole preprocessing procedure must be
activated.
Figure 71
Project menu showing command to preprocess Tcl blocks
Tcl Blocks and Sentaurus Workbench Variables
Tcl command blocks provide a possibility to create or update Sentaurus Workbench variables.
They are equivalent to the preprocessing variables, created with the #set command. For these
purposes, a special SWB_VARIABLES Tcl array must be updated in the Tcl command block.
This array is global.
To instruct the Sentaurus Workbench preprocessor to initialize the Sentaurus Workbench
variable "myvar" with the value "myval", the following Tcl instruction must be inserted into
the Tcl command block:
set SWB_VARIABLES(myvar) "myval"
110
Sentaurus™ Workbench User Guide
I-2013.12
6: Preprocessing Projects
Tcl Command Blocks
The following is an example of the creation of three variables var1, var2, and var3 with the
values 1, 2, and 3:
!(
...
set SWB_VARIABLES(var1) 1
set SWB_VARIABLES(var2) 2
set SWB_VARIABLES(var3) 3
...
)
Figure 72
Creation of three variables
Input and Output Operations Inside Tcl Command Blocks
It is necessary to force flushing of output streams in Tcl blocks. Use the Tcl flush command
when writing files inside a Tcl command block. Otherwise, the file will not be available until
the node has been executed:
set FID [open "@pwd@/tmp_n@node@_ins.cmd" w]
...
...
puts $FID "Hello World"
flush $FID
close $FID
Sentaurus™ Workbench User Guide
I-2013.12
111
6: Preprocessing Projects
Tcl Command Blocks
Summary of Rules for Using Tcl Command Blocks
When using Tcl command blocks, note the following requirements:
■
■
■
■
■
■
■
■
■
■
■
A Tcl block contains an arbitrary number of native Tcl instructions between a "!(" and
")!" pair of symbols.
Tcl blocks cannot be nested.
A Tcl block can be inserted in any place of any preprocessed file (tool command files,
parameter files for Sentaurus Device, and so on).
Each file can contain an arbitrary number of Tcl blocks.
All Tcl blocks are evaluated by a separate Tcl interpreter, which is specific for each
experiment in the project.
All Tcl blocks are evaluated for each tool, from left to right, and from the beginning to the
end of each file.
A Tcl block can contain a reference to the Tcl variable set in a previous block (which can
be placed in the same file or another file of the same experiment).
Sentaurus Workbench replaces each Tcl block with the result of its output (standard
output). Therefore, to extract the value of the Tcl variable "aaa", it is necessary to specify
"puts $aaa". This provides transparency for the interpreting of Tcl blocks: All blocks
are evaluated in the same way. If the Tcl block does not provide any output, nothing will
go to the preprocessed file. However, all the Tcl variables and procedures declared in that
block, of course, will exist in the interpreter of the current experiment and could be used
further.
The Sentaurus Workbench preprocessor evaluates all the Tcl blocks after the standard
preprocessing of #... commands and the resolving of @..@, @<..>@, and @[..]@
expressions. This means that you can use any of these standard preprocessing directives
inside the Tcl blocks.
Sentaurus Workbench has a preprocessing mode (Project > Project Operations >
Preprocess Tcl Blocks) that is used to evaluate only Tcl blocks without standard Sentaurus
Workbench preprocessing. This preprocessing mode is reasonably fast and can be used for
checking purposes.
Sentaurus Workbench provides a way to show the values of the Tcl variables in the
Sentaurus Workbench variables table. The Tcl block must contain a special Tcl command
such as:
set out ... (comprehensive calculations)
set SWB_VARIABLES(myvar) $out
After the successful evaluation of the Tcl block, you can see the new Sentaurus Workbench
variable "myvar" in the Sentaurus Workbench variables table. This feature works like the
standard Sentaurus Workbench #set var value instruction.
112
Sentaurus™ Workbench User Guide
I-2013.12
6: Preprocessing Projects
Tcl Command Blocks
When to Use Tcl Command Blocks
Using Tcl command blocks is helpful in the following circumstances:
■
For comprehensive calculations that are difficult to implement in the language of the tool
and that use the result value in the native language constructions of the tool. For example,
in the case of Sentaurus Device, you could implement in the sdevice_des.cmd file:
!(
if { "@Type@" == "nMOS" } {
set SIGN 1.0
set HFS1 "eHighFieldSaturation( CarrierTempDrive )"
set HFS2 "hHighFieldSaturation( GradQuasiFermi )"
set DG "eQuantumPotential"
set cTemp "eTemperature"
set EQN0 "Poisson eQuantumPotential Electron Hole"
set EQNS "Poisson eQuantumPotential Electron Hole Temperature
eTemperature"
} else {
set SIGN -1.0
set HFS1 "hHighFieldSaturation( CarrierTempDrive )"
set HFS2 "eHighFieldSaturation( GradQuasiFermi )"
set DG "hQuantumPotential"
set cTemp "hTemperature"
set EQN0 "Poisson hQuantumPotential Electron Hole"
set EQNS "Poisson hQuantumPotential Electron Hole Temperature
hTemperature"
}
)!
■
For enhancing the capabilities of native tool languages. For example, the following Tcl
block will write 100 Sentaurus Device Physics sections with different concentrations in
the preprocessed command file of Sentaurus Device (imitation of for-loop):
!(
for {set i 0} {$i < 100} {incr i} {
puts {Physics (materialInterface=\"Silicon/Oxide\")}
puts {{ Charge(Conc=!(puts [expr {6.0e11 + $i*1e11])!) }}
}
)!
Sentaurus™ Workbench User Guide
I-2013.12
113
6: Preprocessing Projects
Tcl Command Blocks
114
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 7
Running Projects
This chapter discusses how to run projects in Sentaurus Workbench.
Projects can be run from the Project Editor, the Scheduler, or the
command line.
From the Project Editor
To run a project:
1. Browse the projects on the tree.
2. Open the project in the Project Editor.
3. Select the nodes or open the required scenario.
To run the selected nodes:
1. Select nodes (see Selecting Nodes with Mouse and Keyboard Operations on page 35).
2. Project > Project Operations > Run, or Ctrl+R, or click the Run button.
To run a scenario:
1. Select the required scenario.
2. Project > Project Operations > Run, or Ctrl+R, or click the Run button.
The Run Project dialog box is displayed and nodes are assigned, based on the queue definitions
and tool assignments of the user. The Run button submits the nodes to the corresponding
scheduler or queues.
By default, Sentaurus Workbench submits all nodes that do not have a ‘done’ status. If you
want to run all the nodes of the current scenario, select all from the Nodes box in the Run
Project dialog box (see Figure 73 on page 116).
Sentaurus™ Workbench User Guide
I-2013.12
115
7: Running Projects
From the Command Line
Figure 73
Run Project dialog box for a project with Standard configuration
From the Command Line
The gsub and gjob commands can be used to submit jobs to queues. The command gsub is
the actual backend system, which performs the following:
■
Preprocesses the project (on demand).
■
Reads the queue assignments.
■
■
Expands the generic expression to determine the node or takes the nodes from the list
provided.
Submits jobs to the queues, calls gjob on several machines, and executes the jobs:
Usage: gsub [options] (FILENAME | PROJECT)
DESCRIPTION
Submits specified nodes/jobs to batch system and waits for completion
Example: gsub -e all @STDB@/folder/project
Options:
-h[elp]
: displays this help message
-v[ersion]
: displays version information
-verbose
: displays additional initialization and loading information
-e[xpr] "GEXPR" : nodes resulting from the GEXPR expression
-n[odes] [<scenario> | "<list of nodes>"]
: remaining nodes in <scenario>, or given node numbers
-q[ueue] "queue name"
: submits all the jobs to a queue
-startTime
: start date and time of the submission
format: "mm/dd/yyyy hh:mm:ss AM|PM" (default: immediately)
Arguments:
FILENAME
PROJECT
: text file defining a list of jobs
: project directory
The command gjob runs the given job or the node of the project locally.
116
Sentaurus™ Workbench User Guide
I-2013.12
7: Running Projects
Scheduling Project Jobs
NOTE
The command gjob cannot use the node-queue or tool-queue
assignments. It essentially runs each node locally.
Example:
gjob -job 2 @STDB@/folder/project
Options:
-h[elp]
: displays the help message
-v[ersion] : displays version information
Scheduling Project Jobs
Sentaurus Workbench submits nodes in the order that is defined by implicit and explicit node
dependencies of the project:
■
■
Implicit node dependencies come from the tool input or output interface specified in the
tool database.
Explicit dependencies are usually those you define in the tool input files by using #setdep
or @previous@ preprocessor instructions and references.
The set of these node dependencies defines the submission order of the project nodes.
Dependencies can be viewed by extending the selection to prerequisite nodes (see Viewing
Node Dependencies on page 70).
However, when there are no node dependencies or there is a choice as to which nodes run first,
you may want to specify how Sentaurus Workbench should submit nodes. In this case, there
are two possibilities:
■
Depth_First: Sentaurus Workbench tries to complete the current experiment and then
proceeds to another experiment.
■
Breadth_First: Sentaurus Workbench tries to start executing as many experiments as
possible.
By default, Sentaurus Workbench uses the Breadth_First approach. To change it:
1. Edit > User Preferences or press the F12 key.
2. Select Scheduler > General Settings and set Nodes Running Order to Depth_First.
However, when a project has node dependencies (which is the case for most Sentaurus
Workbench simulation projects), you will not see a difference between the Breadth_First
and Depth_First running modes because node dependencies take priority and define the
node submission order.
Sentaurus™ Workbench User Guide
I-2013.12
117
7: Running Projects
Standard Configuration Projects
Standard Configuration Projects
As soon as a project is running, it is locked for any changes in the parameterization table. All
you can do is run additional nodes, or abort selected nodes or the whole running project.
Sentaurus Workbench implements strict safeguards to prevent any kind of inconsistency
between input project data and the simulation results. Changes made to the tool database files,
user preferences, and tool input files result in the failure of currently running nodes as well as
the failure to run pending nodes due to background file timestamp checks.
Run-time preprocessing is an obligatory part of the execution of a project with the Standard
configuration. All your changes made on the node input files will be lost during the execution;
while each node input file will be replaced with the preprocessed tool input file.
Sentaurus Workbench provides a direct and consistent way of scheduling project nodes. The
node can be submitted for execution only when the nodes on which it depends (prerequisite
nodes) are executed successfully. Sentaurus Workbench automatically determines the list of all
of the prerequisite nodes from the nodes that you select for submission. All you need to do is
select the nodes you want to run, and Sentaurus Workbench will handle what is required for
this.
Research Configuration Projects
In contrast to projects with the Standard configuration, a running project with the Research
configuration is not locked for changes. You can add or remove tools, parameters, and
experiments, and edit tool input files and Sentaurus Workbench configuration files, and so on.
In addition, you can edit node input files and rerun them without the obligatory preprocessing
and node file regeneration. To do this, select the Just run, do not preprocess option in the Run
Project dialog box (see Figure 74).
Figure 74
118
Run Project dialog box for a project with Research configuration
Sentaurus™ Workbench User Guide
I-2013.12
7: Running Projects
Defining Run Limits
However, Sentaurus Workbench does not provide background checks of file timestamps. This
may result in inconsistency between the tool input file and the simulation result of a certain
node. To prevent this, you can preprocess certain nodes or the whole project at any time.
Preprocessing the whole project is highly recommended after making changes to the
parameterization table.
The node can be executed when some prerequisite nodes are not yet completed, have not
started, or have failed. When submitting a group of nodes, the order of the node execution takes
into account the node dependencies inside the group, but it ignores external node dependencies.
Defining Run Limits
Sentaurus Workbench helps you to organize effective use of both available TCAD Sentaurus
licenses and corporate computational resources for a group of users sharing the same
installation of TCAD Sentaurus. This goal is achieved by controlling the maximum number of
simultaneously running simulations of a certain tool by a user. Hereafter, this maximum
number is referred to as run limits.
The following example illustrates how run limits are taken into account when running
simulations. Assume you want to run no more than four Sentaurus Process instances
simultaneously. When the next Sentaurus Process job is ready to be submitted, Sentaurus
Workbench checks the number of your currently running Sentaurus Process jobs. When this
number is less than four, Sentaurus Workbench submits this job. Otherwise, the job is not
submitted and remains in a ‘ready’ status until the next free job slot to run the simulation.
Sentaurus Workbench allows a flexible definition of run limits (see Run Limits Settings on
page 141). The simplest case is defining constant run limits for certain tools. You can go further
and define a run limits timetable where run limits depend on the day of the week, the time of
the day, holidays, and so on. With the timetable approach, TCAD users can establish a flexible
and dynamic run limits schedule taking into account resource availability.
Depending on the corporate resource sharing strategy, you can define run limits on a
centralized level (global, site), or allow users to apply their own user-imposed run limits on the
user level. As a TCAD installation administrator, you have a full control over run limits
settings. When needed, you can prohibit redefinition of global run limits on a user level. You
can modify run limits at any time without breaking off already running projects. Run limits
restrictions that are agreed upon and applied inside a group provide a fair distribution of
available licenses between users, as well as the possibility of the temporary concentration of
available resources for an urgent job.
Sentaurus™ Workbench User Guide
I-2013.12
119
7: Running Projects
Delaying the Execution of Projects and Nodes
There are three modes of run limits control depending on how Sentaurus Workbench calculates
the number of currently running simulations of a certain tool:
■
■
■
User-based (all simulations the user launches in any way are taken into account).
Sentaurus Workbench instance–based (all simulations launched under one Sentaurus
Workbench instance are taken into account).
Project-based (all simulations launched in one Sentaurus Workbench project are taken into
account).
The typical mode of run limits control is user based. The number of currently running jobs is
controlled by the daemon process swblm, which runs in the background. Before submitting a
simulation job, Sentaurus Workbench checks swblm as to whether the number of currently
running jobs of the same type exceeds the allowed maximum number and, if not, Sentaurus
Workbench submits the job.
When all the available job slots are occupied, Sentaurus Workbench tries to resubmit a job in
case an available slot appears. You can set up a maximum number of times that Sentaurus
Workbench tries to resubmit a job. After that number is reached, Sentaurus Workbench can
either report the job as failed (default behavior) or proceed with the job submission ignoring
the run restrictions.
Run limits are switched off by default, which means that no restrictions are applied. To activate
run limits, they must be specified in the global, site or user run limits files. For details, see Run
Limits Settings on page 141.
Delaying the Execution of Projects and Nodes
The Delayed Execution button on the Run Project dialog box allows you to define the time at
which a project or selected nodes are submitted (see Figure 75).
Figure 75
Delayed Project Run dialog box
Sentaurus Workbench preprocesses launched nodes immediately, while nodes submission is
suspended until the given time. By default, the Delayed Project Run dialog box populates the
fields with the current date and time, that is, nodes are submitted immediately.
120
Sentaurus™ Workbench User Guide
I-2013.12
7: Running Projects
Preprocessing
Delayed execution in Sentaurus Workbench has some limitations. You cannot submit multiple
node groups with a different submission time. Sentaurus Workbench does not mark nodes
waiting for submission with a specific status (color), so it may be difficult to distinguish such
nodes without analyzing of the project submission log file (glog.txt).
Remembering that the main goal of delayed execution is to optimize the use of available
computational resources and TCAD Sentaurus licenses, it is highly recommended to use a
dynamic run limits schedule to maximize flexibility (see Defining Run Limits on page 119).
Preprocessing
Preprocessing, which is the initial step before jobs actually run, can be performed separately
from execution either directly from the GUI (Project > Operations > Preprocess or Ctrl+P)
or the command line by calling spp.
NOTE
spp is executed as a separate process from the GUI and the result of spp
is stored in the file preprocessor.log, which can be accessed using
Project > Logs > Preprocessor.
The spp (preprocessor) preprocesses the given tool input file to standard output or performs a
global preprocessing pass in a project, for example:
spp "BOR_IMPL_ENRGY80" "N_DOSE1e15" @STDB@/nmos,process/lig.cmd
spp -verbose @STDB@/nmos,process
spp -expr "scnr_name" @STDB@/nmos,process
Options:
-h[elp] : displays this help message
-v[ersion]: displays version information
-verbose : displays additional initialization and run-time information
-i[nput] : generates all of the initial, preprocessed pp* files in project
-p[ack] : does not generate empty lines while preprocessing
-n[odes] : preprocess just these nodes
-e[xpr] : preprocess based on an expression
-onlytcl : preprocess only Tcl blocks in command files
Arguments:
FILENAME
: marked tool input file
PROJECT
: project directory
Sentaurus™ Workbench User Guide
I-2013.12
121
7: Running Projects
Aborting Projects
Aborting Projects
A project that is running can be aborted from the Project Editor, the projects browser, or the
command line.
To abort a project from the Project Editor:
1. Browse through the tree and select the project to be aborted.
2. Double-click the selection, or right-click and select Open.
The project opens in running mode.
3. Project > Operations > Abort, or Ctrl+T, or click the corresponding toolbar button.
4. Confirm that the project is to be aborted.
To abort a project from the projects browser:
1. Browse through the tree and select the project to be aborted.
2. Project > Project Operations > Abort, or Ctrl+T, or right-click and select Project >
Abort.
3. Confirm that the project is to be aborted.
Aborting Nodes
Specific running nodes in a project can be aborted from the Project Editor, the Scheduler, or
the command line.
To abort a running node from the Project Editor:
1. Browse through the tree and select a project.
2. Double-click the selection, or right-click and select Open.
The project opens in running mode.
3. Select the node to be aborted.
4. Nodes > Abort, or Ctrl+T, or right-click and select Abort, or click the corresponding
toolbar button.
5. Confirm that the node is to be aborted.
122
Sentaurus™ Workbench User Guide
I-2013.12
7: Running Projects
Updating Node Statuses and Extracted Variables
To abort a running node from the Scheduler:
1. Select the node to be aborted from the right pane of the Scheduler, which displays the
current list of running nodes.
2. Nodes > Abort, Ctrl+T, or right-click and select Abort.
3. Confirm that the node is to be aborted.
NOTE
If you want to abort the whole project, it is much more effective to
implement that at the project level (see Aborting Projects on page 122)
rather than selecting all the project nodes and aborting them.
Updating Node Statuses and Extracted Variables
Sentaurus Workbench updates the node statuses of running projects and extracts simulation
results automatically as soon as the node status changes.
Simulation results are extracted from a node output file as soon as the simulation is completed.
However, for long-running simulations, it may be helpful to see completed results before the
simulation itself is finished. You can force the status updating of all project nodes as well as
the values of extracted variables at any time. In this case, Sentaurus Workbench reads the
statuses of nodes and the values of extracted variables from the project files.
To force an update of the Family Tree at any time:
■
View > Refresh or press the F5 key.
NOTE
It is recommended to refresh project nodes rather than reload the project
when you need to monitor the progress of your running projects.
Refreshing the status of nodes is much faster than reloading a project.
Customizing Project Execution
Sentaurus Workbench allows you to customize project execution by defining optional prologue
and epilogue Tcl scripts in the tool database. The syntax is:
set WB_tool(gsub,prologue) { ... arbitrary Tcl script ... }
set WB_tool(gsub,epilogue) { ... arbitrary Tcl script ... }
The prologue Tcl script is evaluated at the beginning of the execution session when you launch
the project (start of gsub process). The epilogue Tcl script is evaluated at the end of the
execution session (end of gsub process).
Sentaurus™ Workbench User Guide
I-2013.12
123
7: Running Projects
Viewing Project Log
The prologue script may be useful to prepare for project execution (clean up the disk space, and
so on), while the epilogue script can be used for user-specific report generation on an executed
project.
A similar approach can be used to customize node execution. Sentaurus Workbench allows you
to customize node execution by defining tool-specific prologue and epilogue Tcl scripts in the
tool database. The syntax is:
set WB_tool(<tool>,prologue) { ... arbitrary Tcl script ... }
set WB_tool(<tool>,epilogue) { ... arbitrary Tcl script ... }
For example, the prologue and epilogue Tcl scripts defined in the tool database for Sentaurus
Mesh (snmesh) are:
set WB_tool(snmesh,prologue) { snmesh_prologue $wdir @node@ @commands@ @tdr@
@tdrboundary@ @boundary@ }
set WB_tool(snmesh,epilogue) { extract_vars "$wdir" @stdout@ @node@ }
Both prologue and epilogue scripts are optional. Sentaurus Workbench defines an epilogue
script for almost all supported tools.
NOTE
Be careful when redefining tool prologue and epilogue Tcl scripts in the
tool database. The best practice is to append your Tcl commands to the
end of the existing Tcl script (if any).
A tool prologue Tcl script is evaluated immediately before the node simulation task starts. A
tool epilogue Tcl script is evaluated immediately after the node simulation task is completed
successfully (node status is done). For a project with the Research configuration, the tool
epilogue Tcl script is evaluated even for failed simulation tasks.
Viewing Project Log
To view a project log file:
1. Select a project.
2. You can:
a) Project > Logs > Project, or Ctrl+J.
b) Right-click and select Project > View Log.
124
Sentaurus™ Workbench User Guide
I-2013.12
7: Running Projects
Viewing Project History
Viewing Project History
To view project history file:
1. Select a project.
2. You can:
a) Project > Logs > History, or Ctrl+H.
b) Right-click and select Project > View History.
Project Summary
The project summary provides a short description of a project that was run. The summary file
is stored under gsummary.txt in the project directory and is generated automatically when
the project finishes. The following information is provided in this file:
■
■
■
■
■
Project details:
•
Current status
•
When the last modification occurred
•
Who modified the file
•
On which host it was run
Total number of nodes
•
Active nodes
•
Virtual nodes
Nodes by status: list of nodes sorted by status
Hosts and execution information followed by a list of hosts and run-time on each host and
number of nodes executed
Total run-time
To view the project summary:
■
Project > Properties > Summary or Ctrl+Y.
Sentaurus™ Workbench User Guide
I-2013.12
125
7: Running Projects
Project Summary
126
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 8
Cleaning Up Projects
This chapter discusses how to clean up projects in Sentaurus
Workbench.
Cleaning Up Projects
To clean up a project:
1. Project > Operations > Clean Up or Ctrl+L.
2. Select the required options (see Table 9).
3. Click Cleanup or Fast Cleanup.
Table 9
Project cleanup options
Option
Description
Preprocessor Data
Preprocessed Files
Set Variables
Deletes preprocessor data. Forces preprocessing before running a project:
Deletes all preprocessor files (pp*).
Deletes variables set by preprocessor from gvars.dat.
Simulation Data
Output Files
Extracted Variables
Deletes data remaining after simulation:
Deletes all output files (n<nkey>*, pp<nkey>*, and so on).
Deletes extracted variables from gvars.dat.
Project Data
Orphan Nodes
Log Files
Deletes data on the project level (in the project directory):
Deletes orphan nodes.
Deletes project log files (glog.txt, gsummary.txt,
preprocessor.log, .history, and so on).
Deletes the subdirectory .backup inside the project directory.
Deletes project status file (.status).
Renumbers the tree.
Backup Files
Reset Project Status
Renumber the Tree
NOTE
To make the Renumber the Tree option available, all preprocessor and
simulation data options must be selected.
Sentaurus™ Workbench User Guide
I-2013.12
127
8: Cleaning Up Projects
Cleaning Up the Output of Nodes
Figure 76
NOTE
Cleanup Options dialog box with the default options
The Fast Cleanup button initiates faster project cleanup, which is
especially noticeable on large projects with many files. The original
project directory is removed and then is re-created during this type of
cleanup. Therefore, it is highly recommended to close all other
applications that are working with project files to avoid unexpected
errors or possible loss of data.
Cleaning Up the Output of Nodes
To delete output and preprocessor data of selected nodes:
1. Select required nodes (see Selecting Nodes with Mouse and Keyboard Operations on
page 35).
2. Nodes > Clean Up Node Output.
3. Select whether you want to delete simulation-extracted variables from gvars.dat.
4. Select whether you want to delete preprocessed variables from gvars.dat.
5. Select output and preprocessor files to be deleted.
All output and preprocessor files associated with the selected nodes are preset.
6. Click OK.
128
Sentaurus™ Workbench User Guide
I-2013.12
8: Cleaning Up Projects
Cleaning Up Projects from the Command Line
Cleaning Up Projects from the Command Line
The batch tool gcleanup is used to clean up a project from the command line. For example:
gcleanup -default /folder/project
Options:
-pp
: clean up preprocessed files
-sv
: clean up set variables
-res
: clean up output files
-xv
: clean up extracted variables
-back
: clean up backup files
-orp
: clean up orphan nodes
-ren
: renumber (automatically enables -pp, -sv, -res, -xv)
-log
: clean up log files
-n "node list" : clean up given nodes only
-unlock
: delete the project status file
-d[efault] : following options are enabled: -pp, -sv, -res, -xv, -back, -orp,
-log, -unlock
-v[ersion] : display version information
-verbose
: display additional information
-h[elp]
: display this help
-f[ast]
: perform fast cleanup. WARNING: The original project directory
is removed and then is re-created. It is highly recommended to
close all other applications that are working with project files
to avoid unexpected errors or possible loss of data.
Arguments:
PROJECT
: project directory
Detecting Files to Remove
The function of the Sentaurus Workbench default cleanup scenario is to detect a reproducible
part of a project and to remove it. All files that appear as the result of project preprocessing and
execution are considered to be reproducible files.
To detect files to remove from a project and at node levels, Sentaurus Workbench uses cleanup
patterns declared in the tool database. Reproducible node files are set up for each tool. For
example, the following line sets up output file patterns for Sentaurus Device nodes:
set WB_tool(sdevice,output,files) "n@node@_* pp@node@_* *_n@node@_*"
Node files are removed during the overall project cleanup and the cleanup of selected nodes.
Sentaurus™ Workbench User Guide
I-2013.12
129
8: Cleaning Up Projects
Backing Up Node Files Automatically
The project-level cleanup patterns define files appearing as the result of system crashes. These
files should be removed by any cleanup scenario:
set WB_tool(project_cleanup_patterns) ".nfs* core core.*"
Backing Up Node Files Automatically
Sentaurus Workbench allows you to back up simulation results automatically. The automatic
backup stores a copy of each node file being deleted after automatic or manual node-level
cleanup under the .backup subdirectory inside the project folder.
In an emergency, you can restore deleted files by copying them from the project .backup
subdirectory to the project folder.
To switch on automatic backup:
1. Edit > User Preferences or press the F12 key.
2. Select Safety and set Backup Node Files Before Deletion to true.
The backup feature is switched off by default.
NOTE
Automatic project backup takes effect only during node-level cleanup in
Sentaurus Workbench. The node files are not backed up when cleaning
up the overall project.
The Sentaurus Workbench backup system provides a simple one-level
backup only. When a file is being backed up, it overwrites the file with
the same name if that file exists in the .backup subdirectory (such a file
could be saved when cleaning up nodes of another project).
130
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 9
Configuring Sentaurus Workbench
This chapter discusses how to configure Sentaurus Workbench.
Configuring Preferences
To access the preferences:
1. Edit > User Preferences or press the F12 key.
2. Select a preference.
3. Type a new value in the text entry.
4. Click the Accept Changes button or press the Return key.
5. Click Save.
The preferences have different sections, which are detailed from Table 10 to Table 15 on
page 137.
Table 10
Project preferences
Preference name
Type
Default value
Configuration
Default Project
Configuration
Settings related to a project configuration.
Enumeration
Standard
Standard
Research
Settings for Research
Configuration
How to run nodes by
default
Just run, do not
preprocess
Description or reference
Specifies the default project configuration for
new projects as well as old projects without
the configuration attributes:
Maximum automation and consistency level;
running project is locked for changes.
Running project is open for changes, nodelevel changes in input files are allowed, all
the internal consistency safeguards are off.
Options for Research project configuration.
Enumeration
Preprocess, then run
(rewrites node
output files)
Sentaurus™ Workbench User Guide
I-2013.12
Just run, do not
preprocess
Specifies the default action in the Run dialog
box:
Runs the node as is, without run-time
preprocessing. User changes made in the
node input files (if any) take effect.
Makes run-time preprocessing and runs the
node. User changes made in the node input
files (if any) do not take effect.
131
9: Configuring Sentaurus Workbench
Configuring Preferences
Table 10
Project preferences
Preference name
Type
Default value
Consistency Control
Actions on Inconsistent
Nodes
Nothing
Mark Ambiguous
Specifies Sentaurus Workbench project
consistency mode and settings.
Enumeration
Nothing
What Sentaurus Workbench should do with
inconsistent nodes:
Inconsistent nodes are ignored.
Sentaurus Workbench automatically marks
ambiguous nodes with a red exclamation
mark.
Sentaurus Workbench automatically cleans
up ambiguous nodes (this is the most critical
option and must be used with caution).
Enumeration
Never
Specifies how Sentaurus Workbench treats
marked ambiguous nodes:
Never reruns ambiguous nodes.
Always reruns ambiguous nodes.
Clean Up
Rerun Ambiguous
Nodes Next Time
Never
Always
Safety
Backup Node Files
Before Deletion
Setting that helps to recover data that is
occasionally lost.
Boolean
false
Auto Save
Project Auto Save
Interval (min)
Switches on and off automatic backup during
node-level cleanup. The files are saved in
the .backup subdirectory that is located
inside the project directory. This functionality
takes effect only during manual or automatic
(project consistency control) node-level
cleanup.
Setting for auto-saving.
Integer
0
Export
The interval in minutes for periodical autosaving of the currently opened project. When
set to 0, no auto-saving is performed.
Settings for exporting projects.
Compress Package
Boolean
true
Switches on and off package compression
(gzip).
Encrypt Package
Boolean
true
Switches on and off package encryption
(openssl).
Encryption Key
String
swb
Specifies default encryption key.
Exclude Patterns
String
Export Project As Clean Boolean
132
Description or reference
Specifies patterns for files or directories to be
excluded from packaging.
false
Switches on and off exporting projects as
clean projects.
Sentaurus™ Workbench User Guide
I-2013.12
9: Configuring Sentaurus Workbench
Configuring Preferences
Table 10
Project preferences
Preference name
Type
Default value
Other Settings
Polling Interval for
Project Database (msec)
Table 11
Description or reference
Settings not related to the abovementioned
groups.
Integer
1000
The interval for periodical querying of the
project database (.database) when it is
locked (busy).
Table preferences
Preference name
Type
Default value
Description or reference
Node Status Color
Enumeration
RGB color code
Colors used for each node status.
Background
Enumeration
System default
(white/gray) or
from
.Xdefaults.
Background color of table.
Enumeration
Show Properties
Double Click Action
On Tools
On Parameters
On Nodes
On Variables
Show Properties
Displays the tool properties.
Edit Input File
Display the editor with input file.
Enumeration
Show Properties
Show Properties
Displays the parameter properties.
Add Parameter
Value
Adds the parameter values.
Remove Value
Removes the parameter values.
Enumeration
Show Properties
Show Properties
Displays the node properties.
Launch
Explorer
Displays the Node Explorer.
Run
Runs the currently selected node.
Preprocess
Preprocesses the currently selected node.
Edit Cell
Activates node cell editor to edit a value.
Enumeration
Show Properties
Show Properties
Displays properties of selected variable.
Specify Format
Allows user to change the format of the
currently selected variable.
Sentaurus™ Workbench User Guide
I-2013.12
133
9: Configuring Sentaurus Workbench
Configuring Preferences
Table 11
Table preferences
Preference name
Type
Default value
Description or reference
Edit Value in a Cell
Boolean
False
Switches on value-editing in a node cell.
Foreground
Enumeration
System default
(black) or from
.Xdefaults
Foreground color of table.
Font
Enumeration
System default or
customized font
selected by user.
Font used in project view and projects
browser.
Mouse Wheel
Integer
1
Number of experiments moved when moving
the mouse wheel (if supported).
Title
Background
Foreground
Enumeration
Enumeration
Gray
Black
Background color of table title.
Foreground color of table title.
Default View Options
Check Virtual Node
Boolean
True
Default options when showing the tree:
View > Tree Options > Check Virtual
Nodes
Default Project
Orientation
Enumeration
horizontal
View > Flow Orientation
Display Tool Labels
Boolean
False
View > Table Options > Show Tool Labels
Show Experiment
Numbers
Boolean
True
View > Table Options > Show Experiment
Numbers
Hint Tool Labels
Boolean
False
View > Tree Options > Hinting Tool Labels
Display Additional
Node Data
Enumeration
Parameter Values
View > Tree Options > Parameter Values
Parameter
Values
Node Numbers
Host
Date
Execution Time
Variables
Job Identifier
134
View > Tree Options > Node Numbers
View > Tree Options > Host
View > Tree Options > Date
View > Tree Options > Execution Time
View > Tree Options > Variables
View > Tree Options > Job Identifier
Show Parameter
Process Names
Boolean
False
View > Table Options > Show Parameter
Process Names
Display Comments
Boolean
False
View > Table Options > Show Comment
Show Exp Plan
Boolean
False
View > Tree Options > Show Experimental
Plan
Show Info Titles
Boolean
False
View > Table Options > Show Information
Titles
Sentaurus™ Workbench User Guide
I-2013.12
9: Configuring Sentaurus Workbench
Configuring Preferences
Table 11
Table preferences
Preference name
Type
Default value
Description or reference
Show Node Numbers
Boolean
False
View > Tree Options > Show Node
Numbers
Show Parameters
Boolean
False
View > Tree Options > Show Parameters
Show Parameter and
Variable Names
Boolean
False
View > Table Options > Show Parameter
and Variable Names
Show Pruned
Boolean
True
View > Tree Options > Show Pruned
Show Tool Icons
Boolean
True
View > Table Options > Show Tool Icons
Show Tree
Boolean
True
View > Tree Options > Show Tree
Show Variables
Boolean
True
View > Tree Options > Show Variables
Show Merged Cells
Boolean
True
View > Tree Options > Show Merged Cells
Automatically Update Boolean
Variables
False
Variables > Automatically Update
Variables
Default value
Description or reference
Table 12
Scheduler preferences
Preference name
Type
General Settings
General settings of the Sentaurus Workbench
scheduler.
Run Epilogue on Failed
Nodes
Boolean
false
Specifies whether to launch an epilogue Tcl
script if the simulation job failed. May be
useful for debugging purposes.
Nodes Running Order
Enumeration
Breadth First
Specifies the order of the running nodes when
no predefined node dependencies exist:
Sentaurus Workbench tries to complete a
whole parametric step of the simulation.
Sentaurus Workbench tries to complete a
whole experiment before starting another
one.
Integer
15000
Idle task frequency for updating node statuses
in the Sentaurus Workbench GUI.
Breadth First
Depth First
Update Interval of GUI
Scheduler Tab (msec)
Sentaurus™ Workbench User Guide
I-2013.12
135
9: Configuring Sentaurus Workbench
Configuring Preferences
Table 12
Scheduler preferences
Preference name
Type
Default value
Local Jobs
Settings applied to locally submitted jobs.
Maximum Number of
Simultaneous Jobs
Integer
1
Maximum number of jobs that can be
launched on a local machine simultaneously.
Default Nice Level
Integer (0 to 19)
19
The priority of locally submitted jobs (an
argument for the UNIX nice command).
Job Polling interval
(msec)
Integer
1000
The interval between sequential checks of the
status of the running job (in milliseconds).
LSF Jobs
Setting applied to jobs submitted to LSF.
Project Name
Command-Line Option
String
-P
Creates the bsub command in LSF with the
-P or -J option. The same option also is
applied to the bjob command.
Job Polling interval
(msec)
Integer
1000
The interval between sequential checks of the
status of the running job (in milliseconds).
SGE Jobs
Job Polling interval
(msec)
Setting applied to jobs submitted to SGE.
Integer
1000
TM Jobs
Job Polling interval
(msec)
Job Polling interval
(msec)
The interval between sequential checks of the
status of the running job (in milliseconds).
Setting applied to jobs submitted to
TORQUE/Maui.
Integer
1000
LL Jobs
The interval between sequential checks of the
status of the running job (in milliseconds).
Setting applied to jobs submitted to
LoadLeveler.
Integer
1000
DMW Jobs
136
Description or reference
The interval between sequential checks of the
status of the running job (in milliseconds).
Setting applied to jobs submitted to DMW.
Default Nice Level
Integer (0 to 19)
19
The priority of jobs submitted remotely using
rsh/ssh (an argument for the UNIX nice
command).
Job Polling interval
(msec)
Integer
1000
The interval between sequential checks of the
status of the running job (in milliseconds).
Sentaurus™ Workbench User Guide
I-2013.12
9: Configuring Sentaurus Workbench
Configuring Preferences
Table 13
TWB to SWB Converter preferences
Preference name
Type
Parameter Name
Concatenation Symbols
String
Merge Sequential Tool
Instances
Boolean
Table 14
Default value
Description or reference
Set of symbols (string). When a Taurus
Workbench parameter under conversion
contains spaces, the specified set of symbols
replaces every space to match Sentaurus
Workbench requirements (no spaces are
allowed).
False
Converts multiple sequential instances of the
same Taurus Workbench tool into one
Sentaurus Workbench tool instance by
merging several input files into one file.
Default value
Description or reference
Binaries preferences
Preference name
Type
Editor
File (subentries) From tool database
Location of different binaries for editing
(such as text, Ligament Flow Editor).
Tool
File (subentries) From tool database
Location of different binaries for tools (such
as Sentaurus Device).
Viewer
File (subentries) From tool database
Location of different binaries for viewers
(such as Inspect, Tecplot SV).
Table 15
Miscellaneous preferences
Preference name
Type
Default value
Description or reference
Acrobat Reader
File
acroread
Location of Acrobat Reader executable file.
FTP Application Notes
String
Path to application
notes
Path to application notes.
Attached Roots
on Start Up
Directory
(subentries)
Path to Applications Attached roots when starting up projects
Library
browser.
Number of Bookmarks
Integer
(0 to 200)
10
Number of last projects visited in
Project > Recent Projects.
Default Browser
File
Mozilla
Name of the default browser to visualize the
TCAD Sentaurus Tutorial (training material).
Spreadsheet Application File
oocalc
Location of executable for Experiments >
Export > Run Spreadsheet Application.
Sentaurus™ Workbench User Guide
I-2013.12
137
9: Configuring Sentaurus Workbench
Configuring Preferences
Table 15
Miscellaneous preferences
Preference name
Type
Default value
Description or reference
Manuals Front Page
File
Path to manuals
Location of front page for Help > Manuals.
Idle Task Frequency
Automatically
Calculate Refresh
Rate
Explorer
Node Refresh
Boolean
True
Nonnegative
integer
30000
10000
Projects browser.
Status of nodes (when running).
Sentaurus Device
Materials Database
Directory
Obsolete Tools
String
mdraw, mdrawTCL Comma list of tool names. The tools specified
here are no longer available in the Add Tool
dialog box.
Tailing File Size
Integer
1024
Specifies the maximum size of a node output
file, which should be displayed without
tailing (in kilobytes). If this size is exceeded,
only the tail of the file is displayed in
Sentaurus Workbench.
Tailing Lines Number
Integer
1000
Specifies the number of lines of a node output
file to be displayed in the tailing mode.
SWB Exit Warning
Boolean
False
Asks for a confirmation from the user when
closing Sentaurus Workbench.
Temp Directory
Directory
STDB/tmp
Location of temporal directory of Sentaurus
Workbench.
Training Documentation File
NOTE
138
Idle task frequency for refreshing
(milliseconds):
When true, calculates the refresh rate
automatically.
Path to the MaterialDB file.
Path to TCAD Sentaurus training material.
To restore default settings, run Sentaurus Workbench with the
command-line option -default. The scheduler is an independent
process; therefore, to use its default settings, save preferences in the
preferences file before calling the scheduler (Edit > User Preferences,
then Save).
Sentaurus™ Workbench User Guide
I-2013.12
9: Configuring Sentaurus Workbench
Tool Databases
Tool Databases
All the tools are defined in the tool databases of Sentaurus Workbench. The tool databases
(tooldb) are global, site, user, and project.
The global tool database is usually set up by the systems administrator and is not writable.
Initially, the global tool database contains the complete set of TCAD simulation tools and an
example of the definition of a ‘user tool,’ mytool.
When your company has multiple groups of users of the Sentaurus platform, distributed in
different sites, it may be useful to customize global database settings for all users at a specific
site. To do this, the site tool database must be created. The site tool database is optional.
To activate the site tool database:
1. Place your site-specific tool database settings into the file tooldb.tcl stored under an
arbitrary directory.
2. Set up the following environment variable to refer to this directory:
% setenv SWB_SITE_SETTINGS_DIR <path_to_site_directory>
Like the global tool database, the site tool database is usually not writable.
You can add your own tools or modify existing ones by changing the user or project tool
database. Entries in the user tool database complement or override entries in the global and site
tool databases, and entries in the project tool database complement or override entries in the
other tool databases. Finally, the hierarchical order is (in descending order):
1. Project tool database
2. User tool database
3. Site tool database
4. Global tool database
Some of the user preferences settings intersect the tool database ones, for example, binary
preferences (see Table 7 on page 80). In this case, user preferences entries override or
complement ones coming from global, site, and user tool databases, but they are overridden by
settings of project-level databases.
The hierarchical order will look like:
1. Project tool database
2. User preferences
Sentaurus™ Workbench User Guide
I-2013.12
139
9: Configuring Sentaurus Workbench
Tool Databases
3. User tool database
4. Site tool database
5. Global tool database
To access a tool database, select the appropriate command:
■
Edit > Tool DB > Global.
■
Edit > Tool DB > Site.
■
Edit > Tool DB > User.
■
Edit > Tool DB > Project.
Simulation tools are divided into several categories:
■
Sentaurus Process Simulation and Structure Generation
■
Sentaurus Grid Generation
■
Sentaurus Device Simulation
■
Sentaurus Visualization
■
Extraction
■
Utilities
■
Process Simulation and Structure Generation (Other)
■
Device Simulation (Other)
The order in which these categories are displayed (from top to bottom) reflects the order in
which the corresponding simulation phases are linked to each other (apart from the utilities).
For example, it is not usual for a grid generation tool to precede a process simulation tool in
the tool flow.
NOTE
The global, site, and user tool databases are loaded when starting
Sentaurus Workbench or any batch tools such as gsub and gjob. The
project tool database is loaded with the project and is applied only to
that project.
User functions can be defined in the user and project tool databases. These functions can
customize standard Sentaurus Workbench preprocessing.
For example, you can extend the standard value extraction algorithm (see Extracted Variables
on page 105). First, create your own extract function in the user or project tool database where
you traverse the output file from_file of the node nkey stored in the project directory wdir,
and extract those values that are not covered by the standard Sentaurus Workbench value
extraction.
140
Sentaurus™ Workbench User Guide
I-2013.12
9: Configuring Sentaurus Workbench
Run Limits Settings
The function returns a Tcl list of pairs: name, value. For example, the function can look like:
proc ::my_extract_func { wdir from_file nkey } {
# extract results from input file
set extracted_results [list]
set in_file [file join $wdir $from_file]
set in_strm [open $in_file r]
while { [eof $in_strm] == 0 } {
set line [gets $in_strm]
# here you look for names and values to extract
# ...
# extracted variable "myVar" has the value stored in the variable "myVal"
lappend extracted_results [list myVar $myVal]
}
return $extracted_results
}
Then, in the same tool database file, redefine the tool epilogue for the required tool. In the case
of Sentaurus Topography 3D, it would look like:
set WB_tool(sptopo3d,epilogue) { extract_vars "$wdir" @stdout@
@node@ ::my_extract_func }
The results extracted by these functions are added to the results that are extracted by the
standard Sentaurus Workbench extraction algorithm (see Extracted Variables on page 105).
However, if you want to overwrite the default extraction, include an additional Boolean flag at
the end of the extract_vars call in the tool epilogue:
set WB_tool(sptopo3d,epilogue) { extract_vars "$wdir" @stdout@
@node@ ::my_extract_func true }
In this case, only the results that the function extracts appear in Sentaurus Workbench.
NOTE
You must provide the ‘::’ prefix for user-defined functions in a project
tool database. The project tool database is stored in a separate Tcl
namespace for each of the loaded projects.
Run Limits Settings
Run limits are switched off by default, which means that no restrictions are applied. To switch
on run limits, they must be specified on the global, site, or user levels in XML-compatible files.
NOTE
Unlike the tool database, Sentaurus Workbench does not allow you to
define run limits on a project level to prevent potential complications
and confusion with run limits control.
Sentaurus™ Workbench User Guide
I-2013.12
141
9: Configuring Sentaurus Workbench
Run Limits Settings
The systems administrator typically sets up the file runlimits.xml for the global run limits
settings, which is not writable.
When companies have multiple groups of users of TCAD Sentaurus, distributed over different
sites, it may be useful to customize global run limits settings for all users at a specific site. To
do this, the site run limits file must be created. This file is optional.
To activate site run limits:
1. Place your site-specific run limits settings into the file runlimits.xml stored under an
arbitrary directory.
2. Set up the following environment variable to refer to this directory:
% setenv SWB_SITE_SETTINGS_DIR <path_to_site_directory>
Like the global run limits settings, the site run limits settings are usually not writable.
The user run limits settings complement the ones defined on the global and site levels. The site
run limits settings complement the ones defined on the global level. Finally, the hierarchical
order is (in descending order):
1. User run limits: $STDB/runlimits_<user>.xml
2. Site run limits: $SWB_SITE_SETTINGS_DIR/runlimits.xml
3. Global run limits: $STROOT/tcad/$STRELEASE/lib/glib2/runlimits.xml
When a part of the run limits settings is defined on more than one level, it is overridden in
accordance with the hierarchical order.
You can completely or partially prohibit the overriding of run limits settings on the user and
site levels by defining a corresponding flag in the global run limits settings.
To access a run limits settings, select the appropriate command:
■
Edit > Run Limits > Global
■
Edit > Run Limits > Site
■
Edit > Run Limits > User
You can define different types of run limits for each tool:
142
■
Constant run limits, without any specific day or time restriction
■
Weekday run limits (Mon–Fri)
■
Weekend run limits (Sat, Sun)
■
Run limits on specific days of the week (Mon, Tue, Wed, Thu, Fri, Sat, Sun)
■
Run limits on special dates (public holidays, vacation, and so on)
Sentaurus™ Workbench User Guide
I-2013.12
9: Configuring Sentaurus Workbench
Run Limits Settings
Run limits must be defined separately for each tool over which you want to have run limits
control. Any combination of different types of run limits can be used. You can bind arbitrary
number of time frames with different run limits for each tool. The only exception is constant
run limits: No time frames are allowed for this type of run limits. Sentaurus Workbench
prioritizes the run limits settings in the following way (1=lowest priority and 4=highest
priority):
1. Constant run limits
2. Weekday, weekend run limits
3. Run limits on specific days of the week
4. Run limits on special dates
Format of XML-compatible Run Limits Settings File
Table 16 on page 144 describes the available tags, their attributes, and the attribute value types
for specifying run limits settings.
NOTE
The attribute names and values are case sensitive. All values must be
enclosed in double quotation marks.
Sentaurus™ Workbench User Guide
I-2013.12
143
9: Configuring Sentaurus Workbench
Run Limits Settings
Table 16
144
Available tags, their attributes, and attribute value type
Tag
Attribute
Attribute value type
[Predefined values]
Description
RunLimitsTable
Version
String
[0.0]
Attribute not used. Reserved for future
extensions. Use 0.0.
Editable
String
[true, false]
If false, prohibits changing any run
limits settings on the next levels (site,
user). Default: true.
RestrictionModel
String
[per_user,
per_project1,
per_swb]
Defines how a run limits quota is
applied, either to all user projects, or to
every project, or to every Sentaurus
Workbench tool instance. In the last two
cases, you can expect that the number of
your overall simultaneously running jobs
has no upper limits and increases with
the number of projects you launch.
Default: per_user.
MaxTrials
Integer
Specifies the maximum number of
attempts to acquire a running slot.
Default: 17280.
PollInterval
Integer
Defines the time interval, in
milliseconds, between two sequential
attempts to acquire a running slot.
Default: 5000 ms (5 s).
ProceedAnyway
String
[true, false]
Instructs Sentaurus Workbench how to
proceed when the maximum waiting
time has been reached but no running
slot is available. If false, the job is
considered to have failed. If true, the
execution of the job proceeds.
Default: false.
Tool
Name
String
Name of tool.
RunLimit
Value
Integer
Defines the maximum number of
simultaneously running instances of a
tool.
TimeSegment
Begin
Time: HH:MM
Time in 00:00–24:002 format.
End
Time: HH:MM
Time in 00:00–24:001 format. Must be
later than Begin. Otherwise, values
will be swapped.
Sentaurus™ Workbench User Guide
I-2013.12
9: Configuring Sentaurus Workbench
Run Limits Settings
Table 16
Available tags, their attributes, and attribute value type
Tag
Attribute
Attribute value type
[Predefined values]
Description
Holiday
Begin
Date: DD/MM/[YYYY] Date in 20/09/2013 format. Year is
optional; if not defined, it means every
year.
End
Date: DD/MM/[YYYY] Date in 30/09/2013 format. Year is
optional; if not defined, it means every
year.
Editable
String
[true, false]
Prohibits (false) or allows (true)
tag editing. Default: true.
Weekdays
Editable
String
[true, false]
Prohibits (false) or allows (true)
tag editing. Default: true.
Weekends
Editable
String
[true, false]
Prohibits (false) or allows (true)
tag editing. Default: true.
Mon
Editable
String
[true, false]
Prohibits (false) or allows (true)
tag editing. Default: true.
Tue
Editable
String
[true, false]
Prohibits (false) or allows (true)
tag editing. Default: true.
Wed
Editable
String
[true, false]
Prohibits (false) or allows (true)
tag editing. Default: true.
Thu
Editable
String
[true, false]
Prohibits (false) or allows (true)
tag editing. Default: true.
Fri
Editable
String
[true, false]
Prohibits (false) or allows (true)
tag editing. Default: true.
Sat
Editable
String
[true, false]
Prohibits (false) or allows (true)
tag editing. Default: true.
Sun
Editable
String
[true, false]
Prohibits (false) or allows (true)
tag editing. Default: true.
1. The per_project run limits mode means that you will not have more than a limited number of
simultaneously running jobs in each project. However, the maximum number of jobs should be calculated as
a product of the run limits and the number of the projects running simultaneously. Sentaurus Workbench does
not support a mode where you can distribute your run limits quota between several projects.
2. For TimeSegment tag, only one attribute is mandatory, either Begin or End. If the second attribute is
omitted, the missing value is generated as follows: 00:00 for Begin attribute and 24:00 for End attribute.
Sentaurus™ Workbench User Guide
I-2013.12
145
9: Configuring Sentaurus Workbench
Run Limits Settings
Example 1
Assume you want to define the following run limits for Sentaurus Process (sprocess), which
can be redefined on a user level:
Weekdays:
08:00-17:00: run limit = 10
17:00-22:00: run limit = 30
Nights, weekends, the rest of time: run limit = 80
The following timetable is applicable:
General run limits for tool "sprocess": 80
Weekdays (Mon-Fri):
08:00-17:00: run limit = 10
17:00-22:00: run limit = 30
This is the run limits settings file that would implement these specifications:
<RunLimitsTable Version="0.0" RestrictionModel="per_user">
<Tool Name="sprocess">
<RunLimit Value="80" />
<Weekdays>
<TimeSegment Begin="08:00" End="17:00">
<RunLimit Value="10" />
</TimeSegment>
<TimeSegment Begin="17:00" End="22:00">
<RunLimit Value="30" />
</TimeSegment>
</Weekdays>
</Tool>
</RunLimitsTable>
Example 2
Assume you want to implement a more complex run limits timetable for Sentaurus Process
(sprocess), which cannot be redefined on a user level:
General: run limit = 20
Weekdays: run limit = 20
08:00-17:00: run limit = 5
18:00-24:00: run limit = 30
146
Sentaurus™ Workbench User Guide
I-2013.12
9: Configuring Sentaurus Workbench
Run Limits Settings
Weekends: run limit = 40
Monday: 13:00-14:00: run limit = 10
Tuesday: 15:00-17:00: run limit = 15
Wednesday: 17:00-24:00: run limit = 15
Thursday: 15:00-17:00: run limit = 15
Friday: 15:00-24:00: run limit = 35
Saturday: 00:00-07:00: run limit = 50
Sunday: 20:00-24:00: run limit = 5
Exceptions (for example, vacation):
1 September 2013 – 14 September 2013
General: run limit = 15
17:00-24:00: run limit = 5
1 August every year
General: run limit = 60
This is the run limits settings file that would implement these specifications:
<RunLimitsTable Version="0.0" Editable="false" RestrictionModel="per_user">
<Tool Name="sprocess">
<RunLimit Value="20" />
<Weekdays>
<RunLimit Value="20" />
<TimeSegment Begin="08:00" End="17:00">
<RunLimit Value="5" />
</TimeSegment>
<TimeSegment Begin="18:00" End="24:00">
<RunLimit Value="30" />
</TimeSegment>
</Weekdays>
<Weekends>
<RunLimit Value="40" />
</Weekends>
<Mon>
<TimeSegment Begin="13:00" End="14:00">
<RunLimit Value="10" />
</TimeSegment>
</Mon>
Sentaurus™ Workbench User Guide
I-2013.12
147
9: Configuring Sentaurus Workbench
Run Limits Settings
<Tue>
<TimeSegment Begin="15:00" End="17:00">
<RunLimit Value="15" />
</TimeSegment>
</Tue>
<Wed>
<TimeSegment Begin="17:00" End="24:00">
<RunLimit Value="15" />
</TimeSegment>
</Wed>
<Thu>
<TimeSegment Begin="15:00" End="17:00">
<RunLimit Value="15" />
</TimeSegment>
</Thu>
<Fri>
<TimeSegment Begin="15:00" End="24:00">
<RunLimit Value="35" />
</TimeSegment>
</Fri>
<Sat>
<TimeSegment Begin="00:00" End="07:00">
<RunLimit Value="50" />
</TimeSegment>
</Sat>
<Sun>
<TimeSegment Begin="20:00" End="24:00">
<RunLimit Value="5" />
</TimeSegment>
</Sun>
<Holiday Begin="01/09/2013" End="14/09/2013">
<RunLimit Value="15" />
<TimeSegment Begin="17:00" End="24:00">
<RunLimit Value="5" />
</TimeSegment>
</Holiday>
<Holiday Begin="01/08">
<RunLimit Value="60" />
</Holiday>
</Tool>
</RunLimitsTable>
148
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 10
Integrating Sentaurus Workbench
with Other Tools
This chapter discusses how to use other tools and features from
Sentaurus Workbench.
Synchronizing Project and Ligament Process Flow
This feature addresses the needs of process engineers who use Ligament to set up their process
simulations. Usually, process engineers start setting up a simulation by creating the Ligament
process flow in the Ligament Flow Editor. When a Ligament process flow is complete, it often
contains references to Sentaurus Workbench @..@ parameters and variables, expressions, and
#split directives. Instead of manually creating the necessary parameters in the Sentaurus
Workbench project, Sentaurus Workbench allows you to do this automatically by
synchronizing the Ligament process flow with its Sentaurus Workbench project.
To synchronize a Ligament process flow with its Sentaurus Workbench project:
1. Select the corresponding process tool step.
2. Tool > Synchronize with Flow.
Sentaurus Workbench will analyze the Ligament process flow to find all the @..@ parameters
and their process names. After this, Sentaurus Workbench creates all the nonexisting
parameters for the current tool step in exactly the same order as they appear in the Ligament
Flow Editor.
NOTE
Parameters are created with no variation and a default value of 0. You
can change the values as required.
The process names are displayed in a separate row if the corresponding option in the user
preferences is switched on (see Showing Process Name Row on page 31). In the Ligament
process flow, process names refer to first-level macro calls (recipes) in the root process flow.
After synchronization with the Ligament process flow, the Sentaurus Workbench project will
look similar to Figure 77 on page 150.
Sentaurus™ Workbench User Guide
I-2013.12
149
10: Integrating Sentaurus Workbench with Other Tools
Synchronizing Project and Ligament Process Flow
Figure 77
150
Sentaurus Workbench project after synchronization with Ligament process flow
NOTE
Only nonexisting parameters are created in the Sentaurus Workbench
project during the synchronization with the Ligament process flow.
Parameters that already exist are not updated. However, if the process
tool contains Sentaurus Workbench parameters that do not appear in the
Ligament flow, these parameters are removed after synchronizing with
the Ligament flow.
NOTE
Process names that have been introduced or changed manually are not
stored in the Ligament flow. All manually introduced or changed
process names or parameters are removed after synchronizing with the
Ligament flow.
NOTE
This feature is supported for process tool steps and only when Ligament
is used to generate the simulator input command files.
Sentaurus™ Workbench User Guide
I-2013.12
10: Integrating Sentaurus Workbench with Other Tools
Symbolic Links to Node Output Files
Symbolic Links to Node Output Files
In some process simulation projects, it may be useful to look for simulation results not by a
node number, but by a combination of experiment number, parameter name, or parameter
process name. Sentaurus Workbench allows you to create these links automatically.
To create symbolic links to node output files:
1. Select a process tool step.
2. Tool > Create Process Output Links.
Process simulators store simulation results in TDR files with the following naming scheme:
n<node>_<tool_acronym>.tdr
As the result of automatic linking, all available node output TDR files are linked with the
following symbolic links:
<experiment_number>_<parameter>_<process_name>.tdr
NOTE
This feature is supported for process tool steps.
NOTE
Sentaurus Workbench allows a node to belong to multiple experiments.
In this case, the first matching experiment number is used to create the
symbolic links.
NOTE
The symbolic link is not created when there is a file with the same name.
Visualizing Response Surfaces
This tool is used to display a surface corresponding to a response surface model (RSM). To use
this tool:
1. Run Sentaurus Workbench and open a project containing response values (see Figure 78
on page 152).
2. Optimization > RSM Visualization.
Sentaurus™ Workbench User Guide
I-2013.12
151
10: Integrating Sentaurus Workbench with Other Tools
Visualizing Response Surfaces
Figure 78
Example of project with parameterization and responses
First Step of RSM Visualization
In the first step of RSM visualization (see Figure 79 on page 153), select the following options
to define the RSM to be visualized:
Scenario
The scenario in the loaded project that will be used to make the RSM.
X-axis
The parameter to be used as the x-axis of the plot.
Y-axis
The parameter to be used as the y-axis of the plot.
Z-axis
The response to be used as the z-axis of the plot.
Type
The type of RSM model (standard or Kriging).
Model
The RSM model degree (first order or second order).
All project parameters that are not assigned to x- or y-axes can be included in RSM modeling.
152
Sentaurus™ Workbench User Guide
I-2013.12
10: Integrating Sentaurus Workbench with Other Tools
Visualizing Response Surfaces
Figure 79
RSM Visualization - Step 1
Including Parameters in RSM Modeling
To include parameters in RSM modeling:
1. Select the corresponding check box in the Include column.
2. Specify the fixed value in the Value column.
3. Click Next to continue.
Sentaurus™ Workbench User Guide
I-2013.12
153
10: Integrating Sentaurus Workbench with Other Tools
Visualizing Response Surfaces
Second Step of RSM Visualization
In the second step (see Figure 80), select the values that determine the plot ranges and the
number of points for the parameters attached to the x-axis and y-axis of the resulting plot.
Sentaurus Workbench automatically calculates the minimum and maximum parameter values
from the project data. The default value for the number of points is 30.
Figure 80
154
RSM Visualization - Step 2
Sentaurus™ Workbench User Guide
I-2013.12
10: Integrating Sentaurus Workbench with Other Tools
Visualizing Response Surfaces
Visualization Options
Sentaurus Workbench offers different visualization options to display the RSM, which are
listed in Table 17.
Table 17
Visualization options
Option
Description
2D
Displays an xy graph when one parameter and a response are selected.
When you select two parameters and a response, the response is displayed as a contour plot.
3D
Displays a 3D surface.
This is the default setting when you select two parameters and a response.
Contour
Sets the plotting style. Displays the surface as a contour plot.
Mesh
Sets the plotting style. Displays the surface as a mesh plot.
Shade
Sets the plotting style. Displays the surface as a shade plot.
Boundary
Sets the plotting style. Displays the boundaries of the surface.
When the Contour option is selected, you can select whether x, y, or the response should be
used as the contour variable. By default, the response is selected as the contour variable. The
parameters and the response can be displayed in a logarithmic or linear scale.
To obtain information about the model, click the Model Info button (see Figure 81).
The following information about the model is available: statistics, coefficients, variance,
ANOVA table, and evaluation of the experiments that were used to create the RSM.
Additionally, the Evaluation tab can be used to evaluate the model for any combination of
parameter values.
Figure 81
Model Info dialog box for an RSM
Sentaurus™ Workbench User Guide
I-2013.12
155
10: Integrating Sentaurus Workbench with Other Tools
Taurus Workbench to Sentaurus Workbench Converter
To visualize the model, click the Generate button (see Figure 80 on page 154).
Figure 82
Example of 2D RSM contour plot visualized in Sentaurus Visual
Taurus Workbench to Sentaurus Workbench Converter
To import a Taurus Workbench (TWB) project into the Sentaurus Workbench (SWB)
environment:
■
Double-click the TWB project folder.
Sentaurus Workbench will search for a file called <projectName>.vfl. If this file exists,
then you have a valid TWB project and conversion starts.
Figure 83
156
Projects browser
Sentaurus™ Workbench User Guide
I-2013.12
10: Integrating Sentaurus Workbench with Other Tools
Taurus Workbench to Sentaurus Workbench Converter
After that, the converter will ask for the destination path to store the converted project (see
Figure 84).
Figure 84
Save Project As dialog box
During conversion, the converter performs the following steps:
■
Generates a new SWB project.
■
Creates a tool flow according to the existing one inside the TWB project.
■
■
■
■
Creates experiments according to the experiment tree structure and the ‘control values’ in
the TWB project.
Copies all relevant files such as the mask files and the root wafer file.
Creates simulator command files according to instructions that are stored in the different
modules, inside the .vfl file.
Saves the TWB module names in the SWB project as tool comments.
Figure 85
Taurus Workbench project converted to Sentaurus Workbench project
Sentaurus™ Workbench User Guide
I-2013.12
157
10: Integrating Sentaurus Workbench with Other Tools
Taurus Workbench to Sentaurus Workbench Converter
Merging TWB Tool Instances
In the Taurus Workbench simulation flow, it is common practice to have multiple sequential
instances of the same tool, for example, TSUPREM-4. This approach is used for splitting
purposes.
Unlike Taurus Workbench, in Sentaurus Workbench, you usually create one instance of a
process tool with one compound input command file, which has #split preprocessor
instructions inside to separate split parts.
By default, the converter creates a tool flow that is symmetric to the one in the original Taurus
Workbench project. However, Sentaurus Workbench allows you to make an alternative
conversion. This mode is switched off by default. To activate it:
1. Edit > User Preferences or press the F12 key.
2. Select TWB to SWB Converter and set Merge Sequential Tool Instances to true.
In this mode, Sentaurus Workbench merges input files of the sequential instances of the same
Taurus Workbench tool into one input command file of the corresponding Sentaurus
Workbench tool and automatically inserts #split preprocessor instructions into this
compound input file.
NOTE
Sentaurus Workbench merges only those input files of the sequential
instances of the same Taurus Workbench tool, which share the same
Taurus Workbench driver name.
Adapting TWB Parameter Names to SWB Parameter
Names
During the conversion process, the converter analyzes the parameter names that are used in the
Taurus Workbench input files. The converter looks for spaces inside a parameter name and
replaces them with the set of user-defined concatenation symbols. By default, Sentaurus
Workbench uses the underscore “_”. For example, the Taurus Workbench parameter IMPLANT
DOSE is converted to IMPLANT_DOSE.
158
Sentaurus™ Workbench User Guide
I-2013.12
10: Integrating Sentaurus Workbench with Other Tools
Taurus Workbench to Sentaurus Workbench Converter
The default symbol can be changed in the Sentaurus Workbench user preferences (TWB to
SWB Converter > Parameter Name Concatenation Symbols) (see Figure 86).
Figure 86
TWB to SWB Converter settings in user preferences
Sentaurus™ Workbench User Guide
I-2013.12
159
10: Integrating Sentaurus Workbench with Other Tools
Taurus Workbench to Sentaurus Workbench Converter
160
Sentaurus™ Workbench User Guide
I-2013.12
CHAPTER 11
Schedulers
This chapter describes the schedulers used in Sentaurus Workbench.
Scheduling Systems
Parameter studies involving several parameters usually require a large number of simulation
runs. The limited interdependency of the individual simulation steps makes this type of
application an excellent candidate for exploiting coarse grain parallelism on a network of
workstations.
To take advantage of this situation, Sentaurus Workbench offers access to different, more or
less sophisticated, backend job scheduling systems. Access to these systems is transparent.
However, the installation and initialization of a distributed scheduling system is usually a
complicated task, as it requires many conditions to be fulfilled in the network environment. A
distributed system is also much more difficult to troubleshoot than a conventional application.
This section provides guidelines to set up, test, and successfully operate the scheduling
facilities of Sentaurus Workbench. Details about installing and configuring the Load Sharing
Facility (LSF) system, the Sun Grid Engine (SGE) system, the IBM Tivoli Workload Scheduler
LoadLeveler (LL) system, and the TORQUE/Maui (TM) system can be found in the
appropriate vendor manuals.
Sentaurus Workbench provides a unified scheduling approach, by which you can submit jobs
to any scheduler or queue. Each node can be assigned to any queue defined by the systems
administrator in the global queue file or site queue file.
Sentaurus Workbench supports the following backend execution engines:
SGE
Sun Grid Engine is an open-source batch-queuing system, supported by Sun
Microsystems. SGE is typically used on a computer farm or computer cluster, and is
responsible for accepting, scheduling, dispatching, and managing the remote execution of
large numbers of stand-alone, parallel, or interactive user jobs. In addition, it manages and
schedules the allocation of distributed resources such as processors, memory, disk space,
and software licenses. SGE is better suited to large corporate networks.
Sentaurus™ Workbench User Guide
I-2013.12
161
11: Schedulers
Scheduling Systems
TM
TORQUE/Maui is an advanced open-source batch-queuing system, supported by Cluster
Resources Inc. It provides control over batch jobs and distributed computing resources, and
it incorporates significant advances in the areas of scalability, reliability, and functionality.
LL
IBM Tivoli Workload Scheduler LoadLeveler is a parallel job scheduling system that
allows users to run more jobs in less time by matching the processing needs and priority of
each job with the available resources, thereby maximizing resource use. LoadLeveler also
provides a single point of control for effective workload management and supports highavailability configurations.
LSF
Load Sharing Facility is a widely used third-party load-sharing system developed by
Platform Computing Inc. It offers a wide range of scheduling options and a complete set of
administration tools. Like the SGE, LSF is a corporate-size solution to consolidate
computational resources into a cluster.
Local
Executes jobs sequentially on the local machine; does not require any special setup and
does not produce any scheduling overhead. Useful for running short simulations, or setting
up and debugging more complex projects.
DMW
‘In-house’ load-sharing scheduler embedded into gsub, using a ‘centrally coordinated’
scheduling approach. Useful for distributing the execution of large projects on a network
of heterogeneous workstations.
The SGE, TM, LL, LSF, and DMW systems work on a cluster of heterogeneous workstations
sharing a common file namespace. Therefore, the following conditions are mandatory for their
proper exploitation:
■
■
■
162
Synopsys TCAD simulation software is installed on all of the workstations that will be
used. STROOT is identical (same absolute path) on all workstations. The easiest way to
obtain this is to share (NFS mount) the file system where the Synopsys software is
installed.
The user project space is shared by all participating workstations and accessible through
the same absolute path. Again, the easiest way to obtain this is to NFS mount the file system
where the STDB of the user resides.
A global queue definition file and, when necessary, a site queue definition file must be set
up by the systems administrator, who provides the list containing queue names. For DMW,
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
DMW Scheduler
the systems administrator sets up a list of hosts (HostDB) that is available for that particular
queue.
DMW1 Scheduler
The general goal of DMW is to distribute jobs over a cluster of network workstations to speed
up simulations and better exploit available computing resources, while avoiding the
overloading of individual workstations and ensuring users have equal access opportunity to
shared computing resources.
To achieve this goal, DMW uses a centrally coordinated scheduling approach. A global arbiter
runs on a single host; this is the DMWUmpire daemon. The task of the arbiter is to globally
allocate hosts to clients (gsub processes). On a client request, the DMWUmpire decides which
is the best machine currently available for that client. If it finds a suitable host, it allocates it to
the client and keeps the corresponding resource busy until the client explicitly releases it (when
the job is completed).
To obtain an overview of the current activity on the workstations, the DMWUmpire requires
local state information from each host. It evaluates the state of a machine using three indicators:
■
Current ‘load average’ (the average number of jobs in the run queue over the last minute;
see also the UNIX uptime command)
■
Free physical memory
■
Number of processors
■
A daemon running on each host, the DMWMole, captures local state information and sends
it to the DMWUmpire upon request.
Actual job execution is initiated by the gsub program. For each ‘ready-to-run’ job, gsub asks
the global DMWUmpire for a host and then dispatches the job by using a job-monitoring
daemon, the DMWLaunchPad. The job-monitoring daemon runs together with its job on the
target machine and reports the state of its protégé to the gsub instance that initiated the
execution.
1. The acronym DMW stands for ‘the Devil Makes Work for idle hands.’
Sentaurus™ Workbench User Guide
I-2013.12
163
11: Schedulers
DMW Scheduler
After installing the Synopsys software, the systems administrator must configure the DMW
system for the particular computing environment. The following files store the initial DMW
configuration information:
Host database
Describes the computing environment, that is, which workstations are
available and their relative powers.
Constraint database
Describes job-to-host constraints, that is, which types of job are
susceptible to run on which hosts.
Host Database
The DMW host database enumerates the workstations eligible for hosting jobs. All of the listed
hosts must be interconnected at the TCP level to be able to communicate using sockets (they
need not necessarily belong to the same physical network), they must trust each other in the
sense of the rsh protocol, and they must share a common file namespace. A global host
database is stored in a simple text file called HostDB. Sentaurus Workbench looks for the
global host database file in the following order:
1. Release-independent directory: $STROOT/queues/HostDB
2. Release-specific directory: $STROOT/tcad/$STRELEASE/lib/HostDB
3. Release-specific directory: $STROOT/tcad/$STRELEASE/lib/glib2/HostDB
The
global
host
database
file
also can be specified on a site level:
$SWB_SITE_SETTINGS_DIR/HostDB. When this file exists, it replaces the global host
database (see Site Queue Configuration and HostDB Files on page 180).
The format of the HostDB file is that lines starting with a # character are considered comments
and are ignored. All other lines should contain the following fields separated by spaces:
1. Name of workstation (host name) or host IP address.
2. Hardware architecture of host (refer to the installation guide, Installing TCAD Products).
3. Operating system of host (refer to the installation guide, Installing TCAD Products).
4. A positive real number greater than zero as an indicator of the performance index of the
workstation. The default value is 1.0. Practical values should be 0.8 or greater.
5. Optionally, an integer as the maximum number of simultaneous jobs the workstation can
accept. The default value is 1.
An exclamation mark (!) preceding a host definition indicates that the corresponding host is
temporarily disabled (no jobs will be dispatched to it).
164
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
DMW Scheduler
Fields 2 and 3 are purely informative; they are not used by the scheduler.
Value 4 is an indicator of the comparative ‘quality’ of the workstations and has a proportional
weight in the host allocation policy of the DMWUmpire. Value 4 should reflect the overall
machine performance in terms of processor speed and amount of memory, but should not
consider the number of processors (the number of processors is already taken into account in
the host allocation policy). Hosts with a high performance index tend to receive jobs before less
powerful hosts and, as a consequence, are more busy.
NOTE
The performance index has strictly no influence on the type of job a host
will receive (it is not that a host with a high performance index will have
‘memory-gluttonous’ jobs and so on).
Value 5 indicates the maximum number of jobs the host will accept. This value should usually
match the number of processors. In typical conditions, it is a waste of resources to run jobs in
time-sharing mode. However, for special jobs, such as interactive jobs or jobs performing a lot
of output, it may be advantageous to set a value higher than the number of processors.
NOTE
Value 5 is authoritative: no more jobs are dispatched to a host already
running its maximum number of jobs.
Furthermore, the first host in the HostDB file (regardless of whether this host is enabled) is
used to specify the arbitration host (the host where DMWUmpire will run). Ensure that this
host is a reliable machine in your network. A simple and good solution is to specify the host
that is running the license daemon as the global arbitration host.
An example of a host database is:
#
# Example host database
#
speedy
amd64
linux64
woody
ix86
Linux
turtle
amd64
linux64
! rabbit
ix86
Linux
1
1
2
2
In this example, woody and rabbit are Linux machines, while speedy and turtle are ones
with the AMD platform. turtle and rabbit are equipped with two processors; rabbit is
disabled.
The global HostDB file must be created at installation time and should be maintained by the
systems administrator.
Sentaurus™ Workbench User Guide
I-2013.12
165
11: Schedulers
DMW Scheduler
Constraint Database/Queues
Based on the global, site, user, and project definitions, the constraint database is created as a
temporary file at run-time. DMW scans the constraint database to determine the suitable hosts
for a job running the tool tool and queued into the queue queue.
In Sentaurus Workbench, the queue definition file encompasses all of ConstraintDB,
therefore, creation and maintenance of ConstraintDB is performed internally. To modify
ConstraintDB, you can set up your hosts in your user queue definition file.
Host Allocation Policy
The role of the DMWUmpire daemon is to globally allocate hosts to gsub clients.
DMWUmpire maintains a list of eligible hosts under its control and monitors their state. A host
can be:
dysfunctional
Unreachable; DMWMole does not respond.
embargoed
Excluded for 90 seconds after being allocated, to stabilize the ‘load
average.’
overworked
The maximum number of jobs of the host has been reached.
intolerable
When Load / PEs ≥ 0.9 or FreeMem ≤ 20000 KB.
available
When none of the previous conditions apply.
where:
■
Load is the UNIX standard ‘1 min load average’, that is, the average number of jobs in the
run queue over the last minute.
■
PEs is the number of processors.
■
FreeMem is the amount of free physical memory in kilobyte.
DMWUmpire allocates only available hosts and uses a ‘best-first’ allocation policy. Hosts are
sorted by their score, a weighted assessment of their load average:
score = 100 * PerfIndex / ((Load / PEs) + 1.0)
where PerfIndex is the most recent performance index announced for that host.
166
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
DMW Scheduler
DMWUmpire satisfies the next request of the client by granting the available host with the
highest score. If there is no available host, the request is denied and the client waits until a host
is available.
Troubleshooting DMW
The DMW system automatically starts daemons (DMWUmpire, DMWMole, and
DMWLaunchPad) when and where it is necessary; no explicit user intervention is required.
DMW starts daemons and jobs using the remote shell protocol (rsh). In order for rsh and
DMW to work, the following two conditions must be satisfied:
■
■
The workstations should mutually trust each other, that is, rsh can be used to launch a job
from or to any participating workstation.
User log-in sessions must be silent (no message is printed by the log-in script).
To check these conditions, the following command should succeed for any user from all to all
workstations:
Input: % rsh <hostname> echo coucou
Output: coucou
The login is silent if nothing other than coucou is printed.
The DMWMole daemon monitors the load average, free memory, and number of processors of
the host on which it is running. To check the current values on the local host, type the
command:
Input: % DMWMole -test
Output: Load averages: 1.20,1.70,2.28 Memory: 1703936K real,70440K free
NOTE
This command does not start the daemon and it does not interfere with
a daemon running in the background.
The DMWTest utility makes it possible to exercise the DMW daemons and to highlight
connectivity or communication problems. DMWTest uses the same protocol as the DMW
system to start the daemons in the background, to connect to the daemons, to send requests,
and to receive responses. For example, to check the DMW daemons on all the hosts listed in
the global host database, type the command:
DMWTest
Sentaurus™ Workbench User Guide
I-2013.12
167
11: Schedulers
LSF Scheduler
If everything is satisfactory, the output is similar to:
Loading host database '/remote/tcadprod/tcad/22.0/L1/lib/HostDB'
Checking DMWUmpire@speedy [170.1.1.72]
connecting..................... -> OK (DMWUmpire version [20050901])
Checking DMWMole@woody [170.1.1.178]
connecting......... -> OK (DMWMole version [20050901])
getting machine info.. -> R 0.04 798024 1
Checking DMWMole@turtle [170.1.1.112]
connecting......... -> OK (DMWMole version [20050901])
getting machine info.. -> R 0.02 890024 2
...
To check the connection from the local host to a DMWMole on a specific host, use the
command:
DMWTest <hostname>
DMWTest can also be used to shut down already running daemons. For example, the
command:
DMWTest -s <hostname>
performs the same test as the previous command, but shuts down the daemon afterwards.
NOTE
Shutting down daemons is especially necessary before an upgrade of the
DMW software components.
LSF Scheduler
As an alternative to the DMW scheduling system, Sentaurus Workbench provides an interface
to the Load Sharing Facility (LSF) system. LSF integrates a cluster of heterogeneous
workstations into a single system environment and provides sophisticated job scheduling
policies. It can be used to submit and distribute project simulation jobs over the local network.
As with DMW, LSF queues can be accessed through the Scheduler window.
To use LSF, the following conditions must be fulfilled:
1. The local host (the one running Sentaurus Workbench and gsub) is a LSF client or server.
2. On the local host, the LSF binaries are accessible through the variable PATH (add $LSF/
bin to your PATH variable before starting Sentaurus Workbench).
3. Synopsys TCAD simulation software is accessible to all LSF server workstations.
4. The project space is accessible to all LSF servers with the same absolute path.
168
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
LSF Scheduler
To check points 1 and 2, the following two commands should succeed on the local host:
% lsid
LSF 5.0, May 31 2002
Copyright 1992-2002 Platform Computing Corporation
My cluster name is test_cluster
My master name is <local hostname>
% bqueues
QUEUE_NAME PRIO
big_jobs
1
...
STATUS
Open:Active
MAX
-
JL/U
2
JL/P...
2...
gsub uses the bsub command to submit jobs to LSF and the bjobs command to track job
status. You can specify additional bsub command-line options using the queue options (see
Configuring the Scheduling System on page 176). To execute each node, gsub does not
directly submit the corresponding tool command line, but launches a job wrapper, the gjob
utility. The latter updates the job status and locally executes the prologue tool and epilogue of
the corresponding tool as defined in the tool database.
NOTE
Tool database settings control which bsub, bjobs, and lsid will be
executed.
The
corresponding
settings
are
WB_binaries(tool,bsub), WB_binaries(tool,bjobs), and
WB_binaries(tool,lsid).
You can control which command-line option the LSF command bsub uses to link a submitted
job to a specific LSF project name or to LSF job name attributes. By default, LSF uses the –P
option and specifies the LSF project name. Alternatively, you can use the –J option, which
specifies the LSF job name.
To switch to the -J option:
1. Edit > User Preferences or press the F12 key.
2. Select Scheduler > LSF Jobs, and set Project Name Command-Line Option to -J.
You can specify additional command-line options for the LSF bsub and bjobs commands in
the tool database using the following settings:
set WB_tool(bsub,cmd_options)
set WB_tool(bjobs,cmd_options)
Sentaurus Workbench adds these command-line options to the default ones that Sentaurus
Workbench uses for the bsub and bjobs commands.
You can specify LSF resource requirements on a per-tool basis: Different resource
requirements can be set up for specific tools in a Sentaurus Workbench project. Sentaurus
Sentaurus™ Workbench User Guide
I-2013.12
169
11: Schedulers
LSF Scheduler
Workbench provides full support for the LSF resource requirement string (refer to the
definition of the -R option of the bsub command in the LSF Manual).
The per-tool LSF resource requirements can be set up in the Sentaurus Workbench tool
database (on the global, user, or project level) using the syntax:
set WB_tool(<tool_name>,LSF,resource) {<resource_string>}
where <tool_name> is the database name of the tool, and <resource_string> defines the
resource requirements.
For example:
set WB_tool(sprocess,LSF,resource) {rusage[sprocess_all=1,sprocess3d_all=1]}
set WB_tool(sprocess,LSF,resource)
{rusage[sprocess_all=1||SK_sprocess_all=1]}
set WB_tool(sdevice,LSF,resource) {mem>5000 rusage[sdevice_all=1]}
The resource requirement string, specified in the tool database, overwrites the one specified in
the LSF queue in the Sentaurus Workbench global or site queue configuration files
(gqueues.dat). For example, when the following LSF queue name is defined in the queue
configuration file:
queue lsf:mylsfqueue "bsub -R \"swp > 5 && mem > 10\" -q normal"
and you run a Sentaurus Process simulation over this LSF queue, the tool-related resource
setting rusage[sprocess_all=1,sprocess3d_all=1] replaces the global setting
swp > 5 && mem > 10.
NOTE
Do not specify the -R option for the resource requirement string;
Sentaurus Workbench adds it automatically.
Troubleshooting LSF
Users of Sentaurus Workbench can have problems when submitting simulations on the LSF
cluster. This section describes how to solve two typical issues you may experience with the
LSF cluster.
Nodes Are Submitted but Not Executed
This problem can appear on overworked or slow LSF clusters. After Sentaurus Workbench
submits node jobs in the LSF environment with the bsub command, it starts periodical
checking of job polling by calling the bjobs command to obtain the status of the submitted
jobs. In some cases, the first call of bjobs occurs before the LSF scheduler completes the
170
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
LSF Scheduler
actual job submission; this results in an empty output of the bjobs command, which Sentaurus
Workbench considers to be the end of the LSF execution session.
Sentaurus Workbench provides options to control the job-polling algorithm, which you can
fine-tune to allow the LSF cluster to work more effectively with Sentaurus Workbench:
■
The tool database setting:
WB_tool(bjobs,delay)
specifies the time interval between the submission of the first node and the first call of the
bjobs command to check the status of the jobs. Set the value in seconds. By default,
Sentaurus Workbench defines it as 15 s.
■
The user preferences setting:
User Preferences > Scheduler > LSF Jobs > Job Polling Interval (sec)
specifies the time interval between two sequential calls of bjobs. This value is set in
seconds (default is 1 s). Increasing this time interval may be helpful for LSF clusters that
are overworked with many requests.
■
The tool database setting:
WB_tool(lsf,frequency)
redefines the time interval between two sequential calls of bjobs set up in the user
preferences. This value is set in seconds. This setting may be helpful when a systems
administrator needs to control the load level of LSF clusters. Being set up in the global tool
database, this setting takes effect regardless of what is set up on the user level.
Nodes Are Not Executed and Log File Contains Complaints About
bjobs Output
This problem can appear when the LSF bjobs command provides output in a format that is
not expected by Sentaurus Workbench. This can be the case when a user-specific script or
application is called instead of the standard LSF bjobs command.
Sentaurus Workbench allows you to adapt nonstandard bjobs output by defining your own
parsing algorithm. Implement the following Tcl function and put it into the tool database:
proc ::glsf::ParseBjobsOutput { text } {
...
}
Sentaurus™ Workbench User Guide
I-2013.12
171
11: Schedulers
SGE Scheduler
This Tcl function overwrites the standard one that Sentaurus Workbench uses for parsing the
bjobs output. The function returns the output of the bjobs call as the input (text) and parses
it. Sentaurus Workbench expects this function to return the Tcl list of the following data triplets
for each LSF job:
■
jobID
■
status
■
execution_host
For example, the returning Tcl list can look like:
{ {1234 DONE tcadaix1} {3343 EXIT tcadamd3} {1123 PEND myhost} }
Supported status values are:
■
DONE
■
EXIT
■
PEND
■
RUN
■
PSUSP
■
USUSP
■
SSUSP
SGE Scheduler
As an alternative to the LSF, Sentaurus Workbench provides an interface to the SGE scheduling
system. SGE is a queuing facility that manages various system resources, running different
operating systems, and helps you to submit and manage your jobs. Being open-source
software, SGE has an important advantage over LSF. As with DMW and LSF, SGE queues can
be accessed through the Scheduler window.
To use SGE, the following conditions must be fulfilled:
1. Proper SGE environmental settings are set up. Check with your systems administrator on
which SGE configuration script to source or how to modify your environmental settings
manually. In particular, the SGE binaries are accessible through the environment variable
PATH.
2. The local host (the one running Sentaurus Workbench and gsub) is an SGE submit or
admit host.
3. Synopsys TCAD simulation software is accessible to all SGE hosts.
4. The project space is accessible to all SGE hosts with the same absolute path.
172
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
SGE Scheduler
To check points 1 and 2, the following command should succeed on the local host:
% qconf -sconf global
global:
execd_spool_dir
mailer
xterm
load_sensor
prolog
epilog
shell_start_mode
login_shells
min_uid
min_gid
user_lists
xuser_lists
projects
xprojects
enforce_project
enforce_user
load_report_time
stat_log_time
max_unheard
reschedule_unknown
loglevel
administrator_mail
set_token_cmd
pag_cmd
token_extend_time
shepherd_cmd
qmaster_params
execd_params
reporting_params
finished_jobs
gid_range
qlogin_command
qlogin_daemon
rlogin_daemon
max_aj_instances
max_aj_tasks
max_u_jobs
max_jobs
auto_user_oticket
auto_user_fshare
auto_user_default_project
Sentaurus™ Workbench User Guide
I-2013.12
/var/spool
/bin/mail
/usr/bin/X11/xterm
none
none
none
unix_behavior
sh,ksh,csh,tcsh
0
0
none
none
none
none
false
auto
00:00:40
48:00:00
00:05:00
00:00:00
log_warning
none
none
none
none
none
ENABLE_FORCED_QDEL
none
accounting=true reporting=false \
flush_time=00:00:15 joblog=false \
sharelog=00:00:00
100
20000-21000
telnet
/usr/sbin/in.telnetd
/usr/sbin/in.rlogind
2000
75000
0
0
0
1
none
173
11: Schedulers
SGE Scheduler
auto_user_delete_time
delegated_file_staging
reprioritize
86400
false
0
This command displays the SGE scheduler configuration. The output on your local host may
differ from the above output. If point 2 is not fulfilled, you will see the following output:
% qconf -sconf global
denied: host "myhostname" is neither submit nor admin host
In this case, check with your systems administrator.
gsub uses the qsub command to submit jobs to SGE and the qstat command to track job
status. You can specify additional qsub command-line options using the queue options (see
Configuring the Scheduling System on page 176). To execute each node, gsub does not
directly submit the corresponding tool command line, but launches a job wrapper – the gjob
utility. The latter updates the job status and locally executes the prologue tool and epilogue of
the corresponding tool as defined in the tool database.
You can specify SGE resource descriptions on a per-tool basis: Different resource descriptions
can be set up for specific tools in a Sentaurus Workbench project. Sentaurus Workbench
provides full support for the SGE resource flags (refer to the definition of the -l option of the
qsub command in the SGE Manual).
The per-tool resource descriptions can be set up in the Sentaurus Workbench tool database (on
the global, user, or project level) using the syntax:
set WB_tool(<tool_name>,SGE,resource) {<resource_description>}
where <tool_name> is the database name of the tool, and <resource_description>
defines the comma list of resource flags.
For example:
set WB_tool(sprocess,SGE,resource)
{amd64=1,kernel_version=2.6.9,num_proc=4,mem_inst=2G}
set WB_tool(tsuprem4,SGE,resource) {amd64=0,kernel_version=2.4.21}
The resource description, specified in the tool database, overwrites the one specified in the SGE
queue in the Sentaurus Workbench global or site queue configuration files (gqueues.dat).
For example, when the following SGE queue name is defined in the queue configuration file:
queue sge:normal64 "qsub -V -cwd -now n -P bnormal -l
amd64=1,kernel_version=2.6.9"
174
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
SGE Scheduler
and you run a Sentaurus Process simulation over this SGE queue, the tool-related resource
description amd64=1,kernel_version=2.6.9,num_proc=4,mem_inst=2G replaces the
global setting amd64=1,kernel_version=2.6.9.
NOTE
Do not specify the -l option for the resource requirement string;
Sentaurus Workbench adds it automatically.
Before setting up resource descriptions in the tool database and the global or site queue file, it
is recommended to check the validity of the descriptor and the availability of the requested
resources. You can do this by using the following commands:
% qhost -l <resource_descriptor>
Returns the list of SGE hosts that fulfill your resource descriptor.
% qaccess
Allows you to check which SGE hosts you have access to.
% qconf -sc
Provides you with detailed information on the resource flags that you can use in your resource
descriptors.
% qconf -se <SGE_hostname>
Informs you on the resource flags that are supported by the given SGE host.
Troubleshooting SGE
Systems administrators of overworked SGE clusters may receive complaints from Sentaurus
Workbench users about job polling occurring too frequently. This section describes how to
fine-tune Sentaurus Workbench schedule settings in this case.
Reducing Frequency of SGE Job Polling
This problem can occur on overworked or slow SGE clusters. After Sentaurus Workbench
submits node jobs in the SGE environment with the qsub command, it starts a periodical check
of job polling by calling the qstat command to obtain the status of the submitted jobs.
Sentaurus™ Workbench User Guide
I-2013.12
175
11: Schedulers
Configuring the Scheduling System
This frequency can be fine-tuned in the user preferences and tool database:
■
The user preferences setting:
User Preferences > Scheduler > SGE Jobs > Job Polling Interval (sec)
specifies the time interval between two sequential calls of qstat. This value is set in
seconds (default is 1 s). Increasing this time interval may be helpful for SGE clusters that
are overworked with many requests.
■
The tool database setting:
WB_tool(sge,frequency)
redefines the time interval between two sequential calls of qstat set up in the user
preferences. This value is set in seconds. This setting may be helpful when a systems
administrator needs to control the load level of SGE clusters. Being set up in the global tool
database, this setting takes effect regardless of what is set up on the user level.
Configuring the Scheduling System
The scheduling system requires a queue configuration file gqueues.dat to be defined on a
global or site level. To launch jobs on DMW, the host database file HostDB must be defined on
a global or site level. The systems administrator must set up these two files.
In addition to the queue configuration, tools must be properly associated with the queues in the
scheduling systems.
Global Queue Configuration File
A queue configuration file (gqueues.dat) combines definitions of all resources available to
you for running simulations in Sentaurus Workbench. The file contains a list of Sentaurus
Workbench queue definitions.
Each Sentaurus Workbench queue consists of the name of the backend scheduler, a unique
queue name, and optional parameters. These queues are used by Sentaurus Workbench and the
command-line job submission utilities (gsub, swbopt) when launching simulations.
The format of the gqueues.dat file is that lines starting with a hash (#) character are
considered comments and are ignored.
176
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
Configuring the Scheduling System
An example of a queue definition file is:
#local queue
nice level
queue local:default "19"
queue local:priority "10"
#dmw queues
queue dmw:long
hosts
"tcadamd1 tcadamd2 tcadamd3"
#lsf queues
queue lsf:default
queue lsf:normal
queue lsf:high
bsub string
"bsub"
"bsub"
"bsub -R type==LINUX86"
#sge queues qsub string
queue sge:normal64 "qsub -V -cwd -now n -P bnormal -l amd64=1"
Sentaurus Workbench looks for the global queue file in the following order:
1. Release-independent directory: $STROOT/queues/gqueues.dat
2. Release-specific directory: $STROOT/tcad/$STRELEASE/lib/gqueues.dat
3. Release-specific directory: $STROOT/tcad/$STRELEASE/lib/glib2/gqueues.dat
The global queue file also can be specified on a site level: $SWB_SITE_SETTINGS_DIR/
gqueues.dat. When this file exists, it replaces the global one (see Site Queue Configuration
and HostDB Files on page 180).
The scheduling system of Sentaurus Workbench supports different schedulers, which can be
used simultaneously: local, DMW, SGE, LSF, LL, TM. The global queue file can combine
queues for all available resources. As a minimum requirement, the global queue file must
contain at least one local queue to launch Sentaurus Workbench jobs locally.
For Local Queues
The queue configuration for local queues (that is, for jobs that are run on the local machine) is
set up as follows:
queue local:<queue_name> <desired nice level>
For example, a priority queue can have a lower nice level:
queue local:priority "10"
Sentaurus™ Workbench User Guide
I-2013.12
177
11: Schedulers
Configuring the Scheduling System
Sentaurus Workbench offers two predefined local queues in the file $STROOT/tcad/
$STRELEASE/lib/glib2/gqueues.dat:
queue local:default "19"
queue local:priority "0"
For LSF Queues
For installing and setting up LSF queues, refer to the LSF Installation Manual.
From the Sentaurus Workbench side, in the global queue configuration, the systems
administrator must list all LSF queues that you can access. The systems administrator also must
set up the resource strings, specifying applicable resource restrictions.
The format of the LSF queue specification string for the global queue configuration file is:
queue lsf:<lsf_queue_name> <bsub constraint_options>
where lsf_queue_name is the name of the corresponding LSF queue and
constraint_options contains arbitrary constraint specifications.
For example, a queue <mylsfqueue> with additional resource constraints can be defined for
Sentaurus Workbench as:
queue lsf:mylsfqueue "bsub -R \"linux && mem>1000\""
When Sentaurus Workbench runs a job using this queue, the following command will be
generated on the basis of the queue definition:
bsub -R "linux && mem>1000" -o <log_file> -q mylsfqueue -P <project_id> \
-J <job_name> <gjob command string>
NOTE
Using the backslash (\) in the specification of an LSF resource string to
protect double quotation marks is mandatory; otherwise, Sentaurus
Workbench removes double quotation marks during Tcl evaluation and
the LSF bsub command fails on the wrong syntax.
The name of a real LSF queue and the name of the corresponding queue in the global or site
queue configuration file of Sentaurus Workbench usually are the same, but it is not obligatory.
Sentaurus Workbench allows you to create so-called queue aliases, where Sentaurus
Workbench queues have different names and resource strings, and refer to the same LSF queue.
For example:
178
queue lsf:refqueue1
"bsub -R \"swp > 5 && mem > 10\" -q normal"
queue lsf:refqueue2
"bsub -R \"swp > 10 && mem > 20\" -q normal"
queue lsf:refqueue3
"bsub -R \"swp > 15 && mem > 30\" -q normal"
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
Configuring the Scheduling System
These three Sentaurus Workbench queues refqueue1, refqueue2, and refqueue3 are not
real LSF queues, that is, they do not exist in the LSF environment. In fact, these queues refer
to the same LSF normal queue. The LSF bsub command supports multiple -q command-line
options, but the last one specifies the LSF queue for the execution. That is why, in the example
above, simulations scheduled among three queues will be submitted to the same LSF queue
normal, but with different resource restrictions.
When the lsf:default queue for LSF is specified in the global or site queue configuration
file, Sentaurus Workbench expects explicit specification of the LSF queue in the constraint
options, for example:
queue lsf:default "bsub -R \"linux && mem>1000\" -q mylsfqueue"
For additional bsub options, refer to the LSF Manual.
For SGE Queues
For installing and setting up SGE queues, refer to the SGE Manual.
From the Sentaurus Workbench side, in the global or site queue configuration file, the systems
administrator must list all SGE queues that users can access. The systems administrator also
must set up the resource strings, specifying applicable resource restrictions.
The format of the SGE queue specification string for the global or site queue configuration file
is:
queue sge:<sge_queue_name> <qsub arguments>
where sge_queue_name is the SGE queue name that you will see in Sentaurus Workbench,
and arguments contains the list of options. The main option is -P, which specifies the name
of the associated SGE project. The SGE project specifies the group of SGE hosts where the
simulation job is to be scheduled. arguments may contain arbitrary resource descriptors to
filter out hosts with requested resources.
For example, a queue <mysgequeue> with additional resource descriptors can be defined for
Sentaurus Workbench as:
queue sge:mylsfqueue "qsub -P bnormal -l amd64=1,kernel_version=2.6.9"
When Sentaurus Workbench runs a job using this SGE queue, it first packs the gjob call into
the shell script:
#!/bin/sh
#$ -S /bin/sh
trap "kill -INT $!;sleep(5);kill -TERM $$" USR1 USR2
<gjob command string>
Sentaurus™ Workbench User Guide
I-2013.12
179
11: Schedulers
Configuring the Scheduling System
and then submits this script to the SGE engine using the command:
qsub -notify -V -cwd -now n -P bnormal -l amd64=1,kernel_version=2.6.9
-o <log_file> -e <sge_error_file> -N <project_name> <shell script above>
This command returns the job ID, which Sentaurus Workbench uses to monitor the progress of
the job by periodically calling the command:
qstat -u <user_name> -j <jobID from qsub>
For additional qsub and qstat options, refer to the SGE Manual.
For DMW Queues
Setting up DMW queues requires more effort compared to local and LSF queues. All available
computing hosts must be grouped in a logical manner and each group must be assigned a group
name. Then, each group must be added to the global queue configuration file or site queue
configuration file or both as follows:
queue dmw:<queue_name> "<list of hosts>"
For example, a company with hosts tcadamd1, tcadamd2, tcadamd3, linux1, linux2, and
linux3 can have two DMW groups, such as amd_queue and linux_queue.
The configuration can now be set up as:
queue dmw:amd_queue "tcadamd1 tcadamd2 tcadamd3"
queue dmw:linux_queue "linux1 linux2 linux3"
HostDB (for DMW)
All hosts that are listed in the DMW queues must be put in the HostDB setup by the systems
administrator. For setting up the HostDB, see Host Database on page 164.
Site Queue Configuration and HostDB Files
When your company has multiple groups of users of the Sentaurus platform, distributed in
different sites, it may be useful to redefine global queue and HostDB configuration settings for
all users of the specific site.
180
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
Configuring the Scheduling System
To do this:
1. Create your site-specific settings in the files gqueues.dat and HostDB (if you plan to use
DMW resources).
2. Place them under an arbitrary directory.
3. Set up the following environment variable to refer to this directory:
% setenv SWB_SITE_SETTINGS_DIR <path_to_site_directory>
Like the global queue configuration file and HostDB file, their site counterparts are usually not
writable.
The directory referenced by the environment variable SWB_SITE_SETTINGS_DIR can also
contain the site tool database settings file tooldb.tcl. Unlike the site tool database file, the
site queue configuration file and HostDB file completely replace the settings provided by their
global counterparts. Therefore, when site-specific gqueues.dat and HostDB files are
specified, the global gqueues.dat and HostDB files are not obligatory.
NOTE
The site-level queue configuration file and HostDB file allow you to
create your own queue settings that are different from those at the global
level.
Tool Associations
Sentaurus Workbench supports four levels of tool-queue associations: global, user, project, and
node. The systems administrator sets up the global tool-queue association. You can configure
the other three levels to meet your requirements.
It is not possible to use the queue keyword in the user-project queues files. This means it is not
possible to set up new queues on the user and project levels. These levels have permission to
assign the tools and the nodes to specific queues.
Global, user, and project tool-queue associations have a specific format:
tool <tool_name> "options" <scheduler:queue_name>
For example:
tool sprocess "" dmw:long
defines the running of all nodes associated with the tool Sentaurus Process on the hosts
specified by the queue dmw:long.
Sentaurus™ Workbench User Guide
I-2013.12
181
11: Schedulers
Configuring the Scheduling System
Another example is:
tool sprocess "tcadamd1 tcadamd2" dmw:long
which defines the running of all nodes associated with the tool Sentaurus Process on the hosts
tcadamd1 or tcadamd2. This is the way to reduce the globally specified queue on the user or
project level. The specified list of hosts should be a subset of the main host list, which is
specified for the queue on the global or site level.
The keyword default can be used to specify all tools, that is, the assignment:
tool default "tcadamd1 tcadamd2" dmw:long
means that all tools will run in the dmw:long queue with the subset of hosts provided in the
options field.
The options are specific to the scheduler used and differ accordingly, and are explained in
Global Queue Configuration File on page 176.
NOTE
Of the following options, the user tool associations and project tool
associations can be modified from the Scheduler GUI. The nodespecific constraints can be edited manually from the Scheduler GUI or
by using a text editor (see Configuring Project Queues on page 43).
Global Tool Associations
Global tool associations are written to the global queue configuration file or site queue
configuration file or both, and are loaded with the setup. These associations apply to all users.
Sentaurus Workbench delivers the following default tool associations in the global queue file
$STROOT/tcad/$STRELEASE/lib/glib2/gqueues.dat:
tool launcher "" local:default
tool tecplot "" local:default
tool inspect "" local:default
tool svisual "" local:default
tool default "" local:default
The purpose of these tool associations is to run interactive tools locally regardless of the queue
to which they are scheduled.
182
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
Configuring the Scheduling System
User Tool Associations
You can use the list of queues and prepare the assignment of tools to queues. The options can
be modified according to the requirements. The user tool associations are stored in the file
gqueues_<username>.dat in the $STDB directory of the user. All the definitions specified
complement and override any definitions at the global level and apply to all of your projects.
Project Tool Associations
You can configure the tool queue associations at the project level. These definitions are stored
in the gqueues.dat file in the project directory.
All definitions override any setting at the global level or user level, and apply to the current
project only.
For Local Scheduler
The option field represents the nice level at which the tool needs to be run.
For LSF Scheduler
The option re-defines the resource string.
For SGE Scheduler
The option re-defines the resource description.
For DMW Scheduler
The option is the subset of the hosts, belonging to the particular DMW queue.
Node-specific Constraints
Node-specific constraints are handled by expanding the expression and applying the
constraints to the nodes that match the expression. Node level constraints are applied during
run-time:
node "gexpr" <queue:name> "options"
For example:
node "all:{ @P1@ > 2.0 }" local:default "11"
Node-specific constraints can be set up at global, user, or project level. These settings are stored
in the respective definition files as previously mentioned.
Sentaurus™ Workbench User Guide
I-2013.12
183
11: Schedulers
Extended Scheduler Log
NOTE
The definitions are cascaded with the latest setting overwriting the
setting of the previous level, that is, the global and site queue files are
loaded initially, and the global or site tool-queue associations and their
corresponding strings are loaded. Then, the user-queue definition file is
loaded. Any previous definition related to a particular tool is
overwritten. Similarly, the project queue definition overwrites the user
definitions.
NOTE
You cannot set up new queues. However, tool queue assignments can be
overwritten.
Run-Time Assignments in the GUI
A finer control is available to the user at project run-time. Just before you commit a project to
run, the queue definitions are loaded and the nodes are assigned as per the queue tool
definitions.
However, you can manually alter the assignment of nodes to any queue. A simple cut-and-paste
interface is available (see Figure 76 on page 128).
Extended Scheduler Log
The Sentaurus Workbench Scheduler can generate detailed log information, which could be
helpful for debugging scheduling-related problems. This additional information is
accumulated in the project log file (glog.txt) and in the node-related job files
(n<nkey>_<acr>.job).
The environment variables that control the volume of data logged are:
184
GSUB_ADVANCED_LOG
1: Switches on the advanced log feature.
0 or undefined: The feature is switched off.
GSUB_ADVANCED_LOG_DMW
1: Provides additional log for jobs submitted over DMW.
0 or undefined: Does not provide additional log for jobs
submitted over DMW.
GSUB_ADVANCED_LOG_LOCAL
1: Provides additional log for locally submitted jobs.
0 or undefined: Does not provide additional log for locally
submitted jobs.
Sentaurus™ Workbench User Guide
I-2013.12
11: Schedulers
Extended Scheduler Log
GSUB_ADVANCED_LOG_LSF
1: Provides additional log for jobs submitted over LSF.
0 or undefined: Does not provide additional log for jobs
submitted over LSF.
GSUB_ADVANCED_LOG_SGE
1: Provides additional log for jobs submitted over SGE.
0 or undefined: Does not provide additional log for jobs
submitted over SGE.
By default, the advanced log feature is switched off.
NOTE
The advanced log feature should be used cautiously, since large amounts
of data are added to project-related files. To reduce unnecessary data,
the
environment
variables
GSUB_ADVANCED_LOG_DMW,
GSUB_ADVANCED_LOG_LOCAL, GSUB_ADVANCED_LOG_LSF, and
GSUB_ADVANCED_LOG_SGE may be helpful.
Sentaurus™ Workbench User Guide
I-2013.12
185
11: Schedulers
Extended Scheduler Log
186
Sentaurus™ Workbench User Guide
I-2013.12
APPENDIX A
Preprocessor and Reference
Syntax
This appendix discusses the syntax of @-references and
preprocessor commands.
@-References and Tree Navigation
The syntax of @-references in EBNF notation is:
reference: simple_reference [ operator [operator] ]
simple_reference: ("node" | "previous" | file_type ["/i"] | ["/o"] |
"experiment" | "experiments" | "process_name" | "swb_parameter" |
parameter_name | variable_name)
operator: (":"|"|") (["+"|"-"] number | tool_label | "first" | "last" |
"index" | "all" | "min" | "max")
where:
file_type
One of the file types defined in the tool database.
/i and /o
Extensions to file_type refer to the corresponding input and output
files of the current tool. Without extensions, an implicit input file
generated by a preceding tool is searched further up the tree.
parameter_name
One of the declared parameters.
variable_name
One of the known variables.
tool_label
The label of a tool instance in the simulation flow; the corresponding
tool is defined in the tool database of Sentaurus Workbench.
experiment
Returns the first experiment to which a node belongs.
experiments
Returns all experiments to which a node belongs.
process_name
Returns the process name to which the current node belongs.
swb_parameter
Returns the parameter name of the current node.
Sentaurus™ Workbench User Guide
I-2013.12
187
A: Preprocessor and Reference Syntax
@-References and Tree Navigation
The following relative direction suffixes can be used (depending on the flow orientation):
|
Horizontal flow orientation: horizontal navigation operator.
Vertical flow orientation: vertical navigation operator.
:
Horizontal flow orientation: vertical navigation operator.
Vertical flow orientation: horizontal navigation operator.
+number
Horizontal flow orientation: relative reference in right horizontal or
downward vertical direction.
Vertical flow orientation: relative reference in downward vertical or
right horizontal direction.
-number
Horizontal flow orientation: relative reference in left horizontal or
upward vertical direction.
Vertical flow orientation: relative reference in upward vertical or left
horizontal direction.
number
Horizontal flow orientation: absolute index reference in right
horizontal or downward vertical direction.
Vertical flow orientation: absolute index reference in downward
vertical or right horizontal direction.
Vertical and horizontal navigation operators can be combined.
Horizontal Flow Orientation
In the vertical direction, a unit represents an entire simulation phase. Intermediate nodes
(virtual nodes or split points) are not taken into account. For horizontal operators, the following
additional keywords can be used instead of numbers:
188
"all"
Returns a list of all references at the indicated horizontal level.
"first"
Returns the first, leftmost reference at the indicated level.
"last"
Returns the last, rightmost reference at the indicated level.
"index"
Returns the horizontal index of the node at the respective level instead
of the node number, with 1 being the index of the leftmost node.
"min"
Returns the index of the leftmost node at the respective level (always
1).
"max"
Returns the index of the rightmost node at the respective level.
Sentaurus™ Workbench User Guide
I-2013.12
A: Preprocessor and Reference Syntax
@-References and Tree Navigation
With a vertical operator, you also can use the tool instance label (tool_label) as an absolute
position indicator.
The reference evaluates to:
■
A horizontal node index if index, min, or max is used as the horizontal operator.
■
A parameter value if parameter_name is used as the reference.
■
A file name if file_type is used as the reference.
■
A tool label if tool_label is used as the reference.
■
A node key if node or previous is used as the reference.
If several values result from the reference, a space-separated list is returned. Examples are:
@node@
The current node key (the key of the output node of the current tool
instance).
@node:all@
A list of all node keys at the current tree level, that is, at the level of
the current tool output nodes.
@node:2@
The node key of the second node at the current tree level.
@node:+2@
The node key two positions below the current node (in the same
column).
@node:-1@
The node key immediately above the current node (in the same
column).
@node:first@
The uppermost node key at the current tree level (column).
@node|-1:all@
All nodes on the previous level (column).
@node|+3@
The node keys at the third generation of siblings of the current node
(virtual nodes are ignored), three real levels to the right.
@node:index@
The index of the current node.
@node:min@
The first index at the current tree level (always 1).
@file_type@
Output file of the first preceding matching tool.
@file_type:all@
A list of all file names of type file_type produced by the tool at the
current tree level.
@file_type:3@
The file name of type file_type of the third tool instance at the
current tree level.
@file_type:+1@
The file of type file_type at the node below the current node (in the
same column).
Sentaurus™ Workbench User Guide
I-2013.12
189
A: Preprocessor and Reference Syntax
@-References and Tree Navigation
@file_type:last@
The rightmost file of type file_type at the current level.
@file_type/i@
Input file of type file_type of the current tool (by default
tool_acronym.file_ acronym, for example, des.grd).
@file_type/o@
Output file of type file_type of the current tool if defined as an
output file.
@file_type/o|-1@
Output file of type file_type of the previous tool if defined as an
output file.
@node:max@
The last index at the current tree level, the number of nodes at the
current level.
@tool_label@
The label of the tool at the current node.
@tool_label|all@
A list of labels of tools appearing in the simulation flow.
@tool_label|1@
The label of the first tool in the simulation flow, the tool at absolute
level 1.
@tool_label|+1@
The label of the following tool.
@tool_label|-1@
The label of the previous tool.
@tool_label|first@
The label of the first tool in the simulation flow.
@tool_label|last@
The label of the last tool in the simulation flow.
Vertical Flow Orientation
In the horizontal direction, a unit represents an entire simulation phase. Intermediate nodes
(virtual nodes or split points) are not taken into account. For vertical operators, the following
additional keywords can be used instead of numbers:
190
"all"
Returns a list of all references at the indicated vertical level.
"first"
Returns the first, upward reference at the indicated level.
"last"
Returns the last, downward reference at the indicated level.
"index"
Returns the vertical index of the node at the respective level instead of
the node number, with 1 being the index of the upward node.
"min"
Returns the index of the upward node at the respective level (always
1).
"max"
Returns the index of the downward node at the respective level.
Sentaurus™ Workbench User Guide
I-2013.12
A: Preprocessor and Reference Syntax
@-References and Tree Navigation
With a horizontal operator, you also can use the tool instance label (tool_label) as an
absolute position indicator.
The reference evaluates to:
■
A vertical node index if index, min, or max is used as the vertical operator.
■
A parameter value if parameter_name is used as the reference.
■
A file name if file_type is used as the reference.
■
A tool label if tool_label is used as the reference.
■
A node key if node or previous is used as the reference.
If several values result from the reference, a space-separated list is returned. Examples are:
@node@
The current node key (the key of the output node of the current tool
instance).
@node:all@
A list of all node keys at the current tree level, that is, at the level of
the current tool output nodes.
@node:2@
The node key of the second node at the current tree level.
@node:+2@
The node key two positions to the right of the current node (in the
same row).
@node:-1@
The node key immediately to the left of the current node (in the same
row).
@node:first@
The leftmost node key at the current tree level (row).
@node|-1:all@
All nodes on the previous level (row).
@node|+3@
The node keys at the third generation of siblings of the current node
(virtual nodes are ignored), three real levels to the bottom.
@node:index@
The index of the current node.
@node:min@
The first index at the current tree level (always 1).
@file_type@
Output file of the first preceding matching tool.
@file_type:all@
A list of all file names of type file_type produced by the tool at the
current tree level.
@file_type:3@
The file name of type file_type of the third tool instance at the
current tree level.
@file_type:+1@
The file of type file_type at the node to the right of the current node
(in the same row).
Sentaurus™ Workbench User Guide
I-2013.12
191
A: Preprocessor and Reference Syntax
#-Commands
@file_type:last@
The downward file of type file_type at the current level.
@file_type/i@
Input file of type file_type of the current tool (by default
tool_acronym.file_ acronym, for example, des.grd).
@file_type/o@
Output file of type file_type of the current tool if defined as an
output file.
@file_type/o|-1@
Output file of type file_type of the previous tool if defined as an
output file.
@node:max@
The last index at the current tree level, the number of nodes at the
current level.
@tool_label@
The label of the tool at the current node.
@tool_label|all@
A list of labels of tools appearing in the simulation flow.
@tool_label|1@
The label of the first tool in the simulation flow, the tool at absolute
level 1.
@tool_label|+1@
The label of the following tool.
@tool_label|-1@
The label of the previous tool.
@tool_label|first@
The label of the first tool in the simulation flow.
@tool_label|last@
The label of the last tool in the simulation flow.
An additional reference that returns the current directory can be used without suffixes only:
@pwd@
Absolute path of project.
@pwd@/@file_type@
File reference with absolute path.
#-Commands
Any preprocessor command starts with an #-sign as the first character on a line. White space
(space or tab characters) are allowed after the initial # for indentation. spp recognizes the
following commands:
#<string>
192
This is a comment. spp strips all comment lines from the
preprocessed file and replaces them with empty lines. <string> is
any string not listed here as a preprocessor command.
Sentaurus™ Workbench User Guide
I-2013.12
A: Preprocessor and Reference Syntax
#-Commands
#define <name>
<string>
This defines the new macro <name>. spp replaces subsequent
instances of <name> with <string>.
#setdep
<list of nodes>
Explicitly sets dependencies of these nodes.
#remdep
<list of nodes>
Explicitly removes dependencies from these nodes.
#include
"<filename>"
Includes the contents of file name at this point. spp processes the
included file as if it were part of the current file.
#includeext
"<filename>"
This is the same as the #include command, but with advanced
processing of <filename>. It allows <filename> to contain macros
already defined with the #define command.
#if <expression>
Subsequent lines up to the matching #else, #elif, or #endif
commands, appear in the output only if <expression> evaluates to
nonzero. <expression> is any standard Tcl expression that evaluates
to a number. Before evaluation, all @-substitutions are expanded in
<expression>.
#if in <gexpr>
Same as the previous #if command, but evaluated to true when the
current node belongs to the nodes returned by gexpr (see Node
Expressions on page 103).
#elif <expression>
Any number of #elif commands may appear between an #if
command and a matching #else or #endif command. If the
expression evaluates to nonzero, subsequent #elif and #else
commands are ignored up to the matching #endif. Any expression
allowed in an #if command is allowed in an #elif command. The
lines following the #elif command appear in the output only if all of
the following conditions are met:
– The expression in the preceding #if command is evaluated to zero.
– The expressions in all preceding #elif commands are evaluated to
zero.
– The current expression evaluates to nonzero.
#else
Inverts the sense of the conditional command otherwise in effect. If
the preceding conditional indicates that lines are to be included, lines
between the #else and the matching #endif are ignored. If the
preceding conditional indicates that lines would be ignored,
subsequent lines are included in the output. Conditional commands
and corresponding #else commands can be nested.
#endif
Ends an #if section.
#exit
Stops preprocessing at this line; the following lines are stripped.
Sentaurus™ Workbench User Guide
I-2013.12
193
A: Preprocessor and Reference Syntax
Split Commands
#verbatim <string>
A line starting with #verbatim is not stripped, that is, the prefix
#verbatim is removed, but the rest of the line is not touched.
#rem <string>
A line starting with #rem is not stripped, but @-substitutions are
expanded in the rest of the line.
#noexec
Does not execute (submit to scheduler) the current node.
#set <varname>
<value>
Sets the value of <varname>.
Split Commands
The following preprocessor commands handle split points:
#header
Marks the first line of the header section. The header section is copied
in the beginning of each partial input file before the load command.
Only one header can be defined.
#endheader
Last line of the header section, replaced by a blank line.
#postheader
A postheader is an input file section that is copied after the load
command in each partial input file. This is useful to define simulator
defaults, which must be reset after a load command. Any number of
postheaders can be defined at any position in the original input file.
They are appended after the load command in the order of their
definition. Nesting or overlapping postheaders are not allowed.
#endpostheader
Last line of a postheader section, replaced by a blank line.
#split @PNAME@
Defines a split on parameter PNAME. The input file is cut at this point
into (1) a partial input file from the previous split point to the current
line and (2) another partial input file from the current line to the next
split point (or to the end of the file). The current line is replaced with a
save command at the end of the first partial input file. The second
partial input file starts with the header, followed by the simulator load
command, the optional postheaders and, finally, the real partial input
section. param_name denotes the tree level where the split applies.
NOTE
194
Multiple split points are valid only if they appear in the same order as
the corresponding parameters in the simulation flow. If that is not the
case, the preprocessor takes only the best possible match, ignoring
certain split points.
Sentaurus™ Workbench User Guide
I-2013.12
A: Preprocessor and Reference Syntax
Node Expressions
NOTE
A partial input file (corresponding to a split section) is considered a
conventional tool input file regarding forward references. A common
mistake is to introduce a split point after a parameter @-reference, when
the referenced parameter appears after the split parameter in the
simulation flow.
NOTE
Every #-preprocessor command that is supposed to be unique
(common) to all split files must be placed in the header section
(#header ... #endheader). For example, the following three
macro definitions will appear in all files produced by #split:
#header
...
#define macro1 string1
#define macro2 string2
#define macro3 string3
...
#endheader
Otherwise, these macro definitions will be placed in the first file only
and will be unknown to the other files that were created after splitting.
It can result in a preprocessing error.
Node Expressions
The EBNF syntax of a node expression GEXPR is:
gexpr
: gterm [operator gterm]
operator : "+" | "*" | "-" | "^"
gterm
: scnr["|"level][":{" filter "}"] | tool_label[":{" filter "}"] |
node | "(" gterm ")" | "~" gterm
node
: integer
scnr
: "all" | identifier
level
: integer | "last" | tool
tool
: identifier
filter
: tcl_expr
where:
scnr
Name of a scenario
tool_label
Label of a tool instance
node
Node number
Sentaurus™ Workbench User Guide
I-2013.12
195
A: Preprocessor and Reference Syntax
Node Expressions
196
level
Tree level, starting from 0
last
Last tree level
"+"
The ‘or’ or ‘union’ binary operator
"*"
The ‘and’ or ‘intersection’ binary operator
"-"
The ‘difference’ binary operator
"^"
The ‘exclusive-or’ binary operator
"~"
The ‘extend-to-root’ binary operator
filter
Tcl expression
Sentaurus™ Workbench User Guide
I-2013.12
Menus of Graphical User Interface
APPENDIX B
This appendix lists the commands for the menus of the graphical user
interface of Sentaurus Workbench.
Project Menu
Table 18
Project menu commands
Command
Button
Shortcut keys Description
New
New Project
New Folder
Ctrl+N
Creates a new project
Creates a new folder in the projects browser
Open
Ctrl+O
Opens a project
Close
Ctrl+F4
Closes currently opened project
Save
Ctrl+S
Saves project under an existing name
Save As
Project
Clean Project
Save Selected Experiments
As
Project
Clean Project
Configuration
Standard
Research
Sentaurus™ Workbench User Guide
I-2013.12
Saves project under another name
Saves project under another name but does not copy
output and preprocessed files
Creates a new project based on the selected experiments.
The new project contains the simulation results of the
selected nodes.
Creates a new project based on the selected experiments.
The new project does not contain the simulation results
of the selected nodes.
Sets up the project configuration to Standard
Sets up the project configuration to Research
197
B: Menus of Graphical User Interface
Project Menu
Table 18
Project menu commands
Command
Shortcut keys Description
Operations
Reload
Ctrl+D
Reloads project
Stop Loading
Preprocess
Preprocess Tcl Blocks
Run
Esc key
Ctrl+P
Ctrl+B
Ctrl+R
Stops project loading or reloading
Preprocesses current project
Preprocesses Tcl command blocks
Runs current project
Abort
Clean Up
Rename
Unlock
Ctrl+T
Ctrl+L
Aborts running project
Shows several project cleanup options
Renames project in the projects browser
Unlocks project and sets it to edit mode
Properties
Summary
Readme
Documentation
Logs
Preprocessor
Project
History
Ctrl+K
Ctrl+Y
Ctrl+J
Ctrl+H
Project properties:
Shows project summary
Opens an editor with the project readme file
Opens a project documentation file greadme.pdf in
Adobe Acrobat Reader
Options for viewing project-related logs:
Views preprocessor log
Views project log
Views history log
Export
Packages the contents of a project to a .gzp file
according to user settings in the Export to Package
dialog box
Import
Extracts a zipped or tarred file containing a project into a
directory and opens it
Recent Projects
List of recently opened projects
Exit
198
Button
Ctrl+Q
Exits Sentaurus Workbench
Sentaurus™ Workbench User Guide
I-2013.12
B: Menus of Graphical User Interface
Edit Menu
Edit Menu
Table 19
Edit menu commands
Command
Button
Shortcut keys Description
Undo
Ctrl+Z
Undoes previous operation
Cut
Ctrl+X
Cuts a selection of experiments
Copy
Ctrl+C
Copies a selection of experiments
Paste
Ctrl+V
Pastes a cut or copied selection of experiments
Paste Special
Ctrl+M
Allows you to specify what to insert
Delete
Delete key
Deletes currently selected item
Attach Root
Attaches a new root in the projects browser
Detach Root
Detaches root selected in the projects browser
Tool DB
Global
Site
Options for viewing tool database files:
Global tool database
Site tool database; available when
SWB_SITE_SETTINGS_DIR is defined
User tool database
Project tool database
User
Project
Run Limits
Global
Site
Options for viewing run limits settings files:
Global run limits settings
Site run limits settings; available when
SWB_SITE_SETTINGS_DIR is defined
User run limits settings
User
User Preferences
Sentaurus™ Workbench User Guide
I-2013.12
F12 key
Opens Preferences dialog box
199
B: Menus of Graphical User Interface
Scheduler Menu
Scheduler Menu
Table 20
Scheduler menu commands
Command
200
Button
Shortcut keys Description
Show Scheduler
Opens Scheduler
Configure Queues
User Queues
Project Queues
User DMW Queues
Project DMW Queues
Edit User Queues
Edit Project Queues
Configures tool associations and node expressions:
Configures user and project queues, using user interface
View Global Queues
Views the global queue settings in read-only mode
View Site Queues
Views the site queue settings in read-only mode;
available when SWB_SITE_SETTINGS_DIR is
defined
Configures user and project DMW queues, also stored
under user_queues, using user interface
Edits user queues using standard text editor
Edits project queues using standard text editor
Sentaurus™ Workbench User Guide
I-2013.12
B: Menus of Graphical User Interface
View Menu
View Menu
Table 21
View menu commands
Command
Button
Shortcut keys Description
Flow Orientation
Configures simulation flow orientation
Flow View Mode
Configures simulation flow display
Customize Current View
Configures project view by hiding or showing different
parts of the simulation flow
Tree Options
Show Node Numbers
Hinting Tool Labels
Check Virtual Nodes
F9 key
Ctrl+F9
Ctrl+0
Show Merged Cells
Show Tree
Show Experimental Plan
Show Parameters
Show Variables
Show Pruned
Parameter Values
Node Numbers
Host
Date
Execution Time
Variables
Job Identifier
F1 key
F2 key
F3 key
F4 key
F8 key
Ctrl+1
Ctrl+2
Ctrl+3
Ctrl+4
Ctrl+5
Ctrl+6
Ctrl+7
Table Options
Show Information Titles
Submenu for options of viewing tree:
When true, always displays node numbers
When true, shows rollover text with labels of tools
When true, checks the node status of virtual nodes when
running
When true, merges cells with nodes that have children
When true, shows simulation tree
When true, shows experimental plan
When true, shows parameter information
When true, shows variable information
When true, shows pruned and orphan nodes
Shows parameter values in node cells
Shows node numbers in node cells
Shows running host in node cells
Shows running date in node cells
Shows execution time in node cells
Shows information about variables in node cells
Shows job identifier of the node at the cluster or farm.
Submenu for options of viewing simulation table:
Shows the row with titles such as Family Tree and
Variable Values
Shows tool icons
Shows tool labels
Shows tool comment
Shows parameter process names
Show Tool Icons
Show Tool Labels
Show Comments
Show Parameter Process
Names
Show Parameter and
Variable Names
Show Experiment Numbers
Shows parameters and variables names
Shows experiment numbers
Zoom In
Ctrl+Plus sign Zooms in to the project view
Zoom Out
Ctrl+Minus
sign
Zooms out of the project view
Zoom Off
Ctrl+0
Resets zoom to the default
Freeze Rows/Columns
Sentaurus™ Workbench User Guide
I-2013.12
Freezes selected rows or columns or both from scrolling
201
B: Menus of Graphical User Interface
Scenario Menu
Table 21
View menu commands
Command
Button
Shortcut keys Description
Unfreeze Rows/Columns
Unfreezes selected rows or columns or both
Restore Default Cell Size
Ctrl+7
Restores default cell size for all project nodes
Restore Default View
Options
Ctrl+8
Restores default view options from user preferences
Refresh
F5 key
Refreshes the tree or browser view
Properties
Shows the basic properties of the tree
Scenario Menu
Table 22
Command
202
Scenario menu commands
Button
Shortcut keys Description
Add
Adds a new scenario to the tree
Delete
Deletes scenarios from the tree
Next
Alt+ →
Shows next scenario in the tree
Previous
Alt+ ←
Shows previous scenario in the tree
Lock
Locks all nodes of current scenario from preprocessing
Unlock
Unlocks all nodes of current scenario for preprocessing
Preprocess
Preprocesses current scenario
Unfold All
Unfolds all folded nodes of the current scenario
Sentaurus™ Workbench User Guide
I-2013.12
B: Menus of Graphical User Interface
Tool Menu
Tool Menu
Table 23
Tool menu commands
Command
Button
Shortcut keys Description
Add
Insert key
Adds a new tool, parameter, experiment, or variable to
the tree
Delete
Delete key
Deletes selected tool, parameter, experiment, or variable
from the tree
Properties
Shows basic properties of selected tool
Edit Input
Opens submenu for editing input files of selected tool
Synchronize with Flow
Obtains parameter and process names from a Ligament
input flow and inserts them into the Sentaurus
Workbench project; command appears only for process
tools that use Ligament
Create Process Output Links
Allows creation of symbolic links to TDR output files;
command appears only for process tools
Preprocess
Preprocesses all nodes belonging to the selected tools
Hide
Hides selected tools
Show
Shows a hidden tool
Lock
Locks selected tool with all its nodes
Unlock
Unlocks selected tool with all its nodes
Sentaurus™ Workbench User Guide
I-2013.12
203
B: Menus of Graphical User Interface
Parameter Menu
Parameter Menu
Table 24
Parameter menu commands
Command
204
Button
Shortcut keys Description
Add
Insert key
Adds a parameter to the flow
Delete
Delete key
Deletes selected parameter from the flow
Properties
Shows properties of selected parameter
Add Values
Displays dialog box to add values to the selected
parameter
Edit Values
Displays dialog box to edit values of the selected
parameter
Remove Value
Removes a value of the selected parameter
Hide
Hides selected parameters
Show
Shows a hidden parameter
Sentaurus™ Workbench User Guide
I-2013.12
B: Menus of Graphical User Interface
Experiments Menu
Experiments Menu
Table 25
Experiments menu commands
Command
Button
Shortcut keys Description
Create Default Experiment
Add New Experiment
Creates a new experiment for a specified scenario;
default values are used for all parameters
Insert key
Add Values
Delete Experiments
Adds a new experiment to the tree (the default values are
preset to a selected experiment if there is one)
Adds parameter values to all experiments (full factorial)
or selected experiments
Delete key
Deletes selected experiments from the flow
DoE
DoE Wizard
Taguchi Wizard
Design-of-experiments options
Export
Text File
Plot File
Run Inspect
Run Spreadsheet
Application
Submenu for exporting current project view:
Exports view into a Microsoft Excel–compatible file
Exports view into an Inspect-compatible file
Exports view into a file and opens it with Inspect
Exports view into a file and opens it with a spreadsheet
application configurable in user preferences
Import From File
Imports experiments from a text file
Properties
Shows parameter values of selected experiment
Sort Experiments
Sorts experiments according to a defined parameter
Sentaurus™ Workbench User Guide
I-2013.12
205
B: Menus of Graphical User Interface
Nodes Menu
Nodes Menu
Table 26
Nodes menu commands
Command
Select
All
By Expression
By Status
Inverse Of
Button
Shortcut keys Description
Ctrl+A
Extend Selection To
Root
Leaves
Experiments
Prerequisite Nodes
Deselect All
Submenu for extending selected nodes to:
Root
Leaves
Experiments
Prerequisite nodes
Esc key
Deselects all selected cells
Lock
Locks selected nodes from preprocessing
Unlock
Unlocks selected nodes from preprocessing
Mark Ambiguous
Marks selected nodes with a red exclamation mark
Unmark Ambiguous
Removes red exclamation mark from selected nodes
Prune
Ctrl+E
Prunes selected nodes
Unprune
Ctrl+U
Unprunes selected nodes
Set Variable Value
Sets a variable value for the selected node; creates a
variable if it does not exists
Modify Multiple Parameter
Values
Sets parameter values on multiple nodes at the same time
Edit Values in a Cell
206
Nodes selection submenu:
Selects all nodes
Selects nodes according to an expression
Submenu for selecting nodes by their status
Submenu for selecting nodes by the inverse of their
status or their current selection
F6 key
Switches selected node cell to edit mode to allow
modifying the value
Visualize
Visualizes output files for selected nodes
Quick Visualize
Quickly visualizes output files for selected nodes with
the default visualizer
View Output
Ctrl+W
Views standard output and error files of selected nodes
Node Explorer
F7 key
Displays the Node Explorer
Clean Up Node Output
Delete key
Shows cleanup options for selected node
Sentaurus™ Workbench User Guide
I-2013.12
B: Menus of Graphical User Interface
Variables Menu
Table 26
Nodes menu commands
Command
Button
Shortcut keys Description
Preprocess Nodes
Shows properties of a single selected node or allows user
to change status of selected nodes
Run
Ctrl+R
Quick Run
Runs selected nodes
Runs selected nodes in a selected queue immediately
Abort
Ctrl+T
Aborts running of selected nodes
Properties
Shows properties of a single selected node or allows user
to change status of selected nodes
Tool DB Info
Shows input and output file names of selected nodes
according to the tool database
Fold
Folds selected nodes. Nodes that do not have child nodes
are not folded.
Unfold
Unfolds selected nodes. If a node is not folded, this
operation unfolds the nearest preceding folded node (if
any).
Variables Menu
Table 27
Variables menu commands
Command
Button
Shortcut keys Description
Add
Insert key
Adds a new variable to the project
Delete
Delete key
Deletes selected variables from the project
Properties
Shows default formula of selected variable
Format
Displays a dialog box with formatting options for
selected variable
Automatically Update
Variables
When true, automatically updates variables view when
running
Update Variables
Updates variables view if variables file (gvars.dat)
has changed on disk
Hide
Hides selected variables
Show
Shows a hidden variable
Sentaurus™ Workbench User Guide
I-2013.12
207
B: Menus of Graphical User Interface
Optimization Menu
Optimization Menu
NOTE
Table 28
This menu is shown only in Sentaurus Workbench Advanced mode.
Optimization menu commands
Command
Button
Shortcut keys Description
Edit Input
Opens an editor with Optimizer input file
Run
Runs Optimizer
View Log
Views Optimizer log file
View Optimization Plot
Views optimization plot using Inspect
RSM Visualization
Displays RSM Visualization dialog box
Optimization GUI
Displays graphical user interface to create the
optimization command file
Calibration Menu
NOTE
Table 29
This menu is shown only in Sentaurus Workbench Advanced mode.
Calibration menu commands
Command
208
Button
Shortcut keys Description
Project Wizard
See the Calibration Kit User Guide
Scenario Wizard
See the Calibration Kit User Guide
Process Wizard
See the Calibration Kit User Guide
Parameter Wizard
See the Calibration Kit User Guide
Optimization Wizard
See the Calibration Kit User Guide
Sentaurus™ Workbench User Guide
I-2013.12
B: Menus of Graphical User Interface
PCM Studio Menu
PCM Studio Menu
NOTE
Table 30
This menu is shown only when a license for Sentaurus PCM Studio is
available.
PCM Studio menu commands
Command
Button
Shortcut keys Description
Export Current Scenario
Exports the current scenario to a temporary CSV file,
then starts Sentaurus PCM Studio with this file
Save Current Scenario to
CSV Files
Exports the current scenario to a CSV file
<scenario_name>.csv and stores it in the
project directory
Configure Export
Displays dialog box to configure exporting to a CSV file
Sentaurus™ Workbench User Guide
I-2013.12
209
B: Menus of Graphical User Interface
Extensions Menu
Extensions Menu
Table 31
Extensions menu commands
Command
File Browser
210
Button
Shortcut keys Description
F11 key
Browses directory files of project
Command Prompt Here
Opens a command prompt in the selected project
New Script
Creates and opens a new file for a Tcl script
Run Script
Runs a Tcl script
Edit Script
Edits a file containing a Tcl script
Run Sentaurus Structure
Editor
Launches Sentaurus Structure Editor
Run Sentaurus Process
Launches Sentaurus Process
Run Sentaurus Visual
Launches Sentaurus Visual
Run Inspect
Launches Inspect
Run Tecplot SV
Launches Tecplot SV
Run Merger
Launches Merger
Preprocess and Run Selected
Inspect Nodes Together
Preprocesses selected nodes, merges their input
command files into one file, and runs the merged file in
Inspect locally
Run Selected Inspect Nodes
Together
Merges input command files (if any) into one file, runs
the merged file in Inspect locally. Nodes are not
preprocessed.
Compare Command Files of
Selected Nodes
Runs a file comparison application (tkdiff by
default) to compare input command files of selected
nodes
Sentaurus™ Workbench User Guide
I-2013.12
B: Menus of Graphical User Interface
Help Menu
Help Menu
Table 32
Help menu commands
Command
Button
About
Shortcut keys Description
Ctrl+B
Provides version information
Manuals
Opens a front page to the technical documentation
(PDF) in Acrobat Reader
Training
Opens TCAD Sentaurus Tutorial (HTML training
material) in a Web browser
FTP Application Notes
Opens front page to additional projects in a Web browser
Keyboard Navigation Keys
Table 33
Keyboard navigation keys
Key
Description
Tab
Moves between the projects browser and project viewer panel
Sentaurus™ Workbench User Guide
I-2013.12
211
B: Menus of Graphical User Interface
Keyboard Navigation Keys
212
Sentaurus™ Workbench User Guide
I-2013.12
APPENDIX C
Sentaurus Workbench Files
This appendix lists the different files relevant to Sentaurus
Workbench.
Project Files
The project files that are specific to Sentaurus Workbench are:
gtree.dat
Contains the simulation tree.
gvars.dat
Contains all variables of a project.
gtooldb.tcl
The tool database of a project.
glog.txt
Contains the project log data.
greadme.txt
The readme file of a project.
greadme.pdf
The documentation file of a project.
preprocessor.log
Contains preprocessor log data.
gexec.cmd
Jobs execution graph.
gopt.cmd
Optimizer input file.
gopt.log
Optimizer log file.
gqueues.dat
Queues configuration file.
gsummary.txt
Summary of a project.
gcomments.dat
Contains comments for project tool steps.
Sentaurus™ Workbench User Guide
I-2013.12
213
C: Sentaurus Workbench Files
Hidden Files
Hidden Files
The following hidden files are not necessarily visible in the directory listings of the project:
.project
An empty file indicating that the current directory is a project
directory.
.status
Project status.
.history
The events history of a project (including preprocessing, runs,
cleanup, and so on).
.database
Database of project view settings.
User Configuration Files
All these files are in the env(STDB) directory:
gqueues_<user>.dat
Queues configuration file.
tooldb_<user>
The tool database of the user.
runlimits_<user>.xml
Run limits settings of the user.
gpref2_<user>.<release>
User preferences file. There is one user preferences file for each
feature release of TCAD Sentaurus. Service pack releases use the
user preferences files of their base feature release. For example,
the file gpref2_jsmith.I-2013.12 would be used by
Sentaurus Workbench Versions I-2013.12, I-2013.12-SP1, and
I-2013.12-SP2.
Global Configuration Files
These files are in the following directories:
■
$STROOT/queues; $STROOT/tcad/$STRELEASE/lib/glib2:
HostDB
Host definition file for DMW.
gqueues.dat Queues configuration file.
214
Sentaurus™ Workbench User Guide
I-2013.12
C: Sentaurus Workbench Files
Site Configuration Files
■
$STROOT/tcad/$STRELEASE/lib/glib2:
tooldb.tcl
Global tool database.
runlimits.xml Global run limits settings.
Site Configuration Files
These files are in the following directories:
■
SWB_SITE_SETTINGS_DIR:
HostDB
Host definition file for DMW.
gqueues.dat
Queues configuration file.
tooldb.tcl
Site tool database.
runlimits.xml Site run limits settings.
Typical Input and Output Files
These are some typical file patterns seen in projects. The actual file names depend on the
definitions of the tool database:
<tool_label>_<tool_acronym>.cmd
Input file template: the command file of a tool.
<tool_label>_lig.cmd
Ligament command file.
<tool_label>_<tool_acronym>.*
The other input files of a tool that are configurable in
the tool database.
pp<node_number>_<tool_acronym>.*
Node input files created by preprocessing.
n<node_number>_<tool_acronym>.*
Node output files.
Sentaurus™ Workbench User Guide
I-2013.12
215
C: Sentaurus Workbench Files
Typical Input and Output Files
216
Sentaurus™ Workbench User Guide
I-2013.12
APPENDIX D
DMW Scheduler: Frequently Asked
Questions
This appendix presents frequently asked questions regarding the
DMW Scheduler.
Limitations of Sentaurus Workbench
Sentaurus Workbench does not permit the use of HostDB settings on the user and project level.
However, you can use the site-level HostDB settings and create your own HostDB file, which
overrides the global HostDB settings. To do this, set up the environment variable
SWB_SITE_SETTINGS_DIR, which refers to the directory with your HostDB file or to the
gqueues.dat file or both.
Requirements for Using DMW in a Network
The following requirements must be met to use DMW in a network environment:
■
■
■
On UNIX, DMW works on several UNIX flavors.
Shared file system: DMW requires the Network File System (NFS). All the directories are
expected to be the same throughout the network. DMW does not copy files across the
network.
The following environment variables are exported by DMW across the job execution
machine, while executing the jobs:
STROOT
STRELEASE
STROOT_LIB
STDB
DATEX
LM_LICENSE_FILE
■
The time on the different network computers must be synchronized because Sentaurus
Workbench uses file creation times for updating the project status. Although Sentaurus
Workbench can compensate for some variation, different times on the machines can lead
to problems with the scheduling process.
Sentaurus™ Workbench User Guide
I-2013.12
217
D: DMW Scheduler: Frequently Asked Questions
Global Queue and Global Host Database Files
Global Queue and Global Host Database Files
The global queue is the gqueues.dat file, which must be set up by the systems administrator.
The gqueues.dat file is read from either the release-independent directory $STROOT/
queues, or the release-specific directories $STROOT/tcad/$STRELEASE/lib/glib2 or
$STROOT/tcad/$STRELEASE/lib/.
The HostDB is the file that contains the list of computational hosts. The HostDB file is read
from either the release-independent directory $STROOT/queues, or the release-specific
directories $STROOT/tcad/$STRELEASE/lib/glib2 or $STROOT/tcad/$STRELEASE/
lib/. The HostDB setup is similar to earlier versions of Sentaurus Workbench.
The gqueues.dat file specifies the queue arrangements and queue configurations. The
HostDB specifies the resource index and the number of jobs for hosts. The resource constraints
of the hosts specified in the gqueues.dat file are specified in the HostDB.
Essentially, gqueues.dat is a file of Sentaurus Workbench whereas the HostDB file is read
by DMW at run-time.
Site Queue and Site Host Database Files
The site queue and site host database files gqueues.dat and HostDB, respectively, can be
defined for users of the same site or group. These files are read from the directory
SWB_SITE_SETTINGS_DIR.
Administrator: Setting Up DMW Queues
The systems administrator sets up the DMW queues in the following way:
1. Collect all computational hosts, for example, redhat1, redhat2, tcadamd1, tcadamd2.
2. Collect information about the hosts, such as the number of jobs that the host can run and
performance index.
3. Load the information about the hosts into the HostDB file.
218
Sentaurus™ Workbench User Guide
I-2013.12
D: DMW Scheduler: Frequently Asked Questions
User: Setting Up User Queues and Project Queues
4. Sort the hosts based on requirements. For example, the collection of hosts can be sorted
based on platform such as:
queue dmw:amd "tcadamd1 tcadamd2"
queue dmw:linux "redhat1 redhat2"
5. Write the information to the gqueues.dat file.
NOTE
It is recommended that the systems administrator sets up a queue called
dmw:all, which includes all hosts in the HostDB.
NOTE
A host can be specified in as many queues as required. The hosts used
under the gqueues.dat file must match the HostDB and vice versa.
User: Setting Up User Queues and Project Queues
The user queue definitions file is located at STDB/gqueues_username.dat and the project
queue definitions file is located inside the project directory as gqueues.dat.
You cannot use the queue keyword in the user queue and project queue files. This means that
you cannot set up the queues. You have permission to assign the tools to specific queues.
To assign a specific tool to a particular queue, type:
tool sprocess "" dmw:normal
The above definition will run all nodes associated with the tool Sentaurus Process on the hosts
specified by the queue dmw:normal.
The keyword default can be used to specify all the tools, that is, the assignment:
tool default "tcadamd1 tcadamd2" dmw:all
means all tools will be run in the dmw:all queue with the subset of hosts provided in the
options field.
NOTE
Always include the following header in the queue configuration files:
isequeues: <identifier string>
Sentaurus™ Workbench User Guide
I-2013.12
219
D: DMW Scheduler: Frequently Asked Questions
User: Excluding a Specific Host and Running on a Specific Set of Hosts
User: Excluding a Specific Host and Running on a
Specific Set of Hosts
The option string is the location to add or remove hosts from a specific queue. For example,
assume the following lines are in the global queue file:
isequeues: generic queues
queue dmw:normal "tcadamd1 tcadamd2"
queue dmw:linux "redhat1 redhat2"
queue dmw:all "tcadamd1 tcadamd2 redhat1 redhat2"
If you need to remove the host tcadamd1 from the dmw:normal queue for all of your projects,
you can define this in the user queue file as:
tool default "tcadamd2" dmw:normal
This excludes the host tcadamd1 from execution and also restricts the host list to a specific
subset of hosts.
Checking the DMWUmpire
First, check the HostDB, which is located at STROOT/tcad/STRELEASE/lib/ or STROOT/
tcad/STRELEASE/lib/glib2. The master controller – DMWUmpire – is started in the first
host in the HostDB.
To check the DMWUmpire, it is first necessary to establish a connection. For example, assume
the first host in the HostDB is tcadamd1.
To connect to the DMWUmpire, secure the credentials of the DMWUmpire:
1. Execute the command:
% rsh tcadamd1 DMWUmpire
M [xxx] A B
The reply indicates the M [Protocol Number] port_number cookie.
2. Connect to the DMWUmpire, using:
% telnet tcadamd1 A
where A is the port number returned in the previous command.
220
Sentaurus™ Workbench User Guide
I-2013.12
D: DMW Scheduler: Frequently Asked Questions
Checking the DMWUmpire
3. Type:
E B [B is the second number, with cookie]
M [xxxxx] F G
When a response is obtained, a connection to the DMWUmpire has been established.
4. The above commands can now be typed at the Telnet connection and responses can be
obtained. For example, typing D will list the available hosts and the current status of the
host. Typing S will shut down the DMWUmpire.
The following commands and responses are possible with DMWUmpire:
Queries:
'E' cookie nl
-- Establish credentials (must be first request)
'J' jobs nl
-- Confess to prior jobs
'N' nl
-- No Op, just confirm (with 'O')
'H' IP/name [weight [#]]nl-- Host declaration (Reply 'D'/'I')
'D' nl
-- Dump list of hosts
'C' nl
-- Dump list of clients
'T' nl
-- Toggle logging
'I' 0101010101... nl
-- Interesting hosts
'W' nl
-- Want a host (Reply 'G'/'D')
'R' ID nl
-- Release host (Reply 'D'/'O')
'S' nl
-- Shut down umpire
'L' nl
-- Load Limit on the Umpire (default is 0.9)
'Q' nl
-- Quit
Replies:
'M' protocol port cookie nl -- Protocol version, Master port & random password
cookie
'O' nl
-- Still alive
'I' ID nl
-- Host ID
'G' ID nl
-- Grant host for launching a process
'D' nl
-- Denied request
'H' nl
-- Hasta la vista -- connection closed
Sentaurus™ Workbench User Guide
I-2013.12
221
D: DMW Scheduler: Frequently Asked Questions
Standard Tests to Troubleshoot a Particular Machine in the DMW Network
Standard Tests to Troubleshoot a Particular Machine in
the DMW Network
Assume that machine A does not work on the DMW network. To troubleshoot this problem,
the following tests must be performed on machine A:
1. Ensure that rsh A works without asking for a password.
2. Ensure rsh is silent, for example:
% rsh A echo coucou
coucou
3. Run DMWTest:
% DMWTest A
Checking DMWMole@A [XX.XX.XX.XXX]
connecting..... -> OK (DMWMole version [_number_])
getting machine info.. -> R 2.38 32864 2
OVERWORKED: load average > 0.9 per processor
4. Run the DMWMole test:
% rsh A DMWMole -test
Load averages: 2.42, 2.37, 2.42
Memory: 2097152K real, 31456K free
5. Log on to the first host in the HostDB file.
This is where the DMWUmpire resides.
6. From this machine, repeat Steps 1–4.
If the problem is not obvious at this stage:
1. Modify the HostDB file and replace the first host name with machine A.
2. Start a job and view the log.
If the problem persists, log on to the DMWUmpire and shut it down (see Checking the
DMWUmpire on page 220).
222
Sentaurus™ Workbench User Guide
I-2013.12
D: DMW Scheduler: Frequently Asked Questions
Using ssh and DMW Scheduler Together
Using ssh and DMW Scheduler Together
It is generally advisable not to use systems other than rsh for a successful operation of DMW.
In cases where ssh is the only means of communication, the following procedure must be
adhered to:
■
ssh must be silent and no password must be requested, that is:
% ssh A echo test
test
DMW does not work across domains even with ssh.
■
If the above conditions are met, in addition to the requirements previously mentioned, to
use ssh, set up the following environment variable to point to the location of ssh:
DMW_RSH_PATH = /my_path/ssh
NOTE
/my_path/ssh must be the same in all machines; otherwise, the log-
on scripts must be configured appropriately to reflect the changes.
NOTE
It is not always guaranteed that ssh will work efficiently because of
inherent differences between rsh and ssh.
Sentaurus™ Workbench User Guide
I-2013.12
223
D: DMW Scheduler: Frequently Asked Questions
Using ssh and DMW Scheduler Together
224
Sentaurus™ Workbench User Guide
I-2013.12
APPENDIX E
Sentaurus Workbench on VNC
This appendix discusses known problems of running Sentaurus
Workbench on VNC clients.
Double-clicking Does Not Work
On some VNC clients, double-clicking a node, parameter, tool, or variable may not work as
expected. For example, if the action of double-clicking a tool is bound to editing the tool input
file in the user preferences, the expected text editor does not open after double-clicking.
Figure 87
TightVNC connection options
In particular, this problem appears on the TightVNC client where the double-clicking action is
prevented by the default mouse settings on the TightVNC client. Specifically, on the
Connection Options dialog box (see Figure 87), the Emulate 3 buttons (with 2-button click)
Sentaurus™ Workbench User Guide
I-2013.12
225
E: Sentaurus Workbench on VNC
Double-clicking Does Not Work
option is selected by default, which results in incorrect double-clicking action in Sentaurus
Workbench. This option must be cleared.
This problem has not been observed on other VNC clients, in particular, RealVNC.
226
Sentaurus™ Workbench User Guide
I-2013.12
Download