Você está na página 1de 376

Virtuoso® Specification-driven

Environment User Guide


Product Version 4.1
June 2005
Updated July 2006
Updated January 2006
 1998-2006 Cadence Design Systems, Inc. All rights reserved.
Printed in the United States of America.
Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA
Trademarks: Trademarks and service marks of Cadence Design Systems, Inc. (Cadence) contained in
this document are attributed to Cadence with the appropriate symbol. For queries regarding Cadence’s
trademarks, contact the corporate legal department at the address shown above or call 800.862.4522.
All other trademarks are the property of their respective holders.
Restricted Print Permission: This publication is protected by copyright and any unauthorized use of this
publication may violate copyright, trademark, and other laws. Except as specified in this permission
statement, this publication may not be copied, reproduced, modified, published, uploaded, posted,
transmitted, or distributed in any way, without prior written permission from Cadence. This statement grants
you permission to print one (1) hard copy of this publication subject to the following conditions:
1. The publication may be used solely for personal, informational, and noncommercial purposes;
2. The publication may not be modified in any way;
3. Any copy of the publication or portion thereof must include all original copyright, trademark, and other
proprietary notices and this permission statement; and
4. Cadence reserves the right to revoke this authorization at any time, and any such use shall be
discontinued immediately upon written notice from Cadence.
Disclaimer: Information in this publication is subject to change without notice and does not represent a
commitment on the part of Cadence. The information contained herein is the proprietary and confidential
information of Cadence or its licensors, and is supplied subject to, and may be used only by Cadence’s
customer in accordance with, a written agreement between Cadence and its customer. Except as may be
explicitly set forth in such agreement, Cadence does not make, and expressly disclaims, any
representations or warranties as to the completeness, accuracy or usefulness of the information contained
in this document. Cadence does not warrant that use of such information will not infringe any third party
rights, nor does Cadence assume any liability for damages or costs of any kind that may result from use of
such information.
Restricted Rights: Use, duplication, or disclosure by the Government is subject to restrictions as set forth
in FAR52.227-14 and DFAR252.227-7013 et seq. or its successor.
Virtuoso Specification-driven Environment User Guide

Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Starting the SdE from the CIW or the Schematic Window . . . . . . . . . . . . . . . . . . . . . . . . 20
Starting the SdE from the System Prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Solving Color-Flashing Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Defining Colors for Motif Window Manager/OpenWindows . . . . . . . . . . . . . . . . . . . . 22
Disabling the Splash Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Workspaces and Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
VSdE Main Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Opening a New Project Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Opening an Existing Project Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Importing State Information for Test Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Importing Information into an Existing Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Exporting Test Setup Information to a State File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Renaming a Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Bringing Open Windows into the Foreground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Moving Projects and Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Creating New Workspace Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Project Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Sweeps/Corners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Spec Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Model Calibrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Characterization and Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

June 2005 3 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Test Console Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44


Run Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Environment Customizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Specifying Environment Defaults Using Environment Variables . . . . . . . . . . . . . . . . . 46
Creating a Custom Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Populating a Custom Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Removing an Icon from a Toolbar or Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Deleting a Custom Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Adding a Tool to the Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Assigning a Shortcut to a Menu Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Removing a Menu Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2
Creating Workspaces and Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Creating and Opening a Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Creating a New Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Copying a Workspace from Design Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Opening an Existing Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Opening a Recently-Opened Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Opening the Environment in Read-Only Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Adding a Project to a Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Creating a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Creating a New Project Based on a Previous Project . . . . . . . . . . . . . . . . . . . . . . . . 61
Adding Project Items and Design Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Using the File Menu to Add a Project Item or Design File . . . . . . . . . . . . . . . . . . . . . 63
Using the Add Menu to Add a Project Item or Design File . . . . . . . . . . . . . . . . . . . . . 63
Creating and Managing Workspace Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Creating a New Workspace Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Importing a Workspace Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3
Managing Workspaces and Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Design Management Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Design Management Check In Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

June 2005 4 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Check In Form for Single Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75


Check In Form for a Group of Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Check In Operation Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Status Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Design Management Checkpoint Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Design Management Tab in Properties Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Design Management Status Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Design Management Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Design Management Check Out Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Copy from Design Management Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Copy Referenced Projects from Design Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

4
Understanding Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Project Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Workspace Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
New Workspace Value Set Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Workspace Parameters Table Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Workspace Set Right-Click Pop-Up Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Workspace Value Set Operations on Project Menu . . . . . . . . . . . . . . . . . . . . . . . . . 100
Global Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Local Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

5
Test Setup from the Schematic Window . . . . . . . . . . . . . . . . . . . . . . 103
Advanced Analyses and Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Environment Variables in Test Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Starting the SdE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Starting the SdE from the Schematic Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Starting the SdE from the Command Interpreter Window . . . . . . . . . . . . . . . . . . . . 106
Create Test Form—Composer Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Selecting a Simulator Integration Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Copying Test Setup Information from a Template . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Importing Simulation Control Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Copy Test Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

June 2005 5 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Test Setup Window for Schematic-Based Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112


Design Tab—Schematic Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Globals Tab—Schematic Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Design Vars Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Design Alters Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Components Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Add Design Component Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Typical Components Tab Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Components Tab Configurations for builtins Library . . . . . . . . . . . . . . . . . . . . . . . . . 134
Measures Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Adding a Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Copying a Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Deleting a Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Renaming a Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Creating Results from Other Measured Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Run Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Run Tab—Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Run Tab—Status Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Run Tab—Results Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Run Tab—Waveforms Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

6
Creating Tests for an ADE Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Create Test Form—ADE Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Test Setup Window—ADE Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Project Parameters in ADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Test Setup Customization for Other Simulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
FILE_VERSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
BUTTON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
ANALYSIS_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
OPPTNV_SETUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
VIEW_NETLIST_RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
VIEW_NETLIST_TEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
EXPAND_DOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

June 2005 6 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

7
Creating Tests for Spectre Simulation . . . . . . . . . . . . . . . . . . . . . . . . . 179
Create Test Form—Spectre Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Specifying a Netlist Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Specifying a Design Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Test Setup Window—Spectre Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Netlist Tab—Spectre Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Includes Tab—Spectre Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Analyses Tab—Spectre Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Sim Options Tab—Spectre Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

8
Creating and Running Advanced Analyses . . . . . . . . . . . . . . . . . . 201
Sweeps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Creating a New Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Specifying Tests for the Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Defining Sweep Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Converting a Sweep to a Corners Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Corners Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Specifying Tests for Corners Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Defining Corners Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Adding a Sweep of Corners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Monte Carlo Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Job Status Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Results Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Copying Advanced Analysis Project Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

9
Specifying Run Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Overrides Group Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Overriding the DUT Location for a Schematic Design . . . . . . . . . . . . . . . . . . . . . . . 226
Overriding the DUT Location for a Netlist-Only Design . . . . . . . . . . . . . . . . . . . . . . 226
Job Distribution Group Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Launching Remote Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

June 2005 7 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Generating Simulation Decks for Max Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230


Running Distributed Simulations and Max Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Options Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Distribution Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Design Management Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Other Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Simulation Options Group Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

10
Viewing and Analyzing Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Using the Results Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Expanding a Folder or Other Result Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Viewing Available Result Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Opening a Data File for Plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Opening an Association for Plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Flattening and Unflattening Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Displaying Leaf Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Plotting Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Viewing Tabular Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Viewing Association Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Customizing Default Double-Click Action for Leaf Data . . . . . . . . . . . . . . . . . . . . . . 255
Viewing Table Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Formatting Table Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Analyzing Operating Point Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Filtering Operating Point Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Specifying a Filter List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Back-Annotating Operating Point Information to Schematic Instances . . . . . . . . . . 269
Specifying Instance Annotation Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Back-Annotating Node Information to a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . 271
Setting Up Component Parameters and Building Expressions . . . . . . . . . . . . . . . . 272
Using the File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Viewing Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Viewing Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Waveform File Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Waveform Annotation Check Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

June 2005 8 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Signal Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281


Plot Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Plotting Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Plotting 2D and Curve Family Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Plotting 2D and 3D Surface Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Plot Options Side Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Plot Window Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

11
Verifying and Comparing Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Creating and Opening a Spec Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Spec Sheet Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Spec Sheet Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Spec Sheet Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Adding and Removing Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Add Spec Row—Results vs. Spec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Add Spec Row—Comparison of Two Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Select Results Directory Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Loading Result Data Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Configuring Columns, Rows, and Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Using the Cell Formatting Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Format Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Alignment Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Color Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Border Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Comparing Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Changing Results Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Investigating Pass/Fail Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Pass/Fail Details for Results vs. Spec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Pass/Fail Details for Comparison Spec Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

12
Calibrating Behavioral Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Preparing a Model for Calibration Using a Look-Up Table . . . . . . . . . . . . . . . . . . . . . . . 318
Starting Model Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

June 2005 9 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Specifying the Input Behavioral Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321


Selecting a Model File That Is Not in an Available Library . . . . . . . . . . . . . . . . . . . . 322
Editing the Behavioral Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Specifying Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Modeling Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Result Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Generating the Calibrated Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Using Perl to Create a Calibrated Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
acv_calibrate_model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
acv_create_result_table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
acv_get_res_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
acv_translate_to_standard_verilogams_model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Opening a Previously-Created Model Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

13
Developing and Editing a Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Creating a Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Exporting to a Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Linking to a Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Creating a Hierarchical Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Using the Plan Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Running a Plan from the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Running a Plan from the Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

14
Learning by Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Opening the Design in the Schematic Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Creating a New Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Creating a Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Specifying Include Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Getting Global Design Variable Information from the Schematic . . . . . . . . . . . . . . . 354
Specifying Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Specifying Test Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Running the Test and Viewing Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357

June 2005 10 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Creating and Running a Temperature Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359


Creating and Running a Corners Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Modifying the Test for Variable Process Corners . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Creating a Corners Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Running the Corners Analysis and Viewing Results . . . . . . . . . . . . . . . . . . . . . . . . 363
Creating and Using a Specification Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Creating and Running a Monte Carlo Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

June 2005 11 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

June 2005 12 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Preface

The Virtuoso Specification-driven Environment (VSdE) User Guide describes the


environment that enables circuit designers to
■ Set up tests for simulation and characterization
■ Sweep parameters over tests
■ Run corners analysis
■ Verify results using the specification sheet tool
■ View and plot results (waveform, 2D, and surface)
■ Calibrate behavioral models
■ Create and use a plan development Perl CLI scripting environment for
❑ Organizing information into projects
❑ Defining plan steps
❑ Passing data/results between steps of a plan
❑ Reading and writing Perl language

Contents
The Virtuoso Specification-driven Environment User Guide contains the following
chapters:
■ Chapter 1, “Getting Started,” presents a brief introduction to the environment.
■ Chapter 2, “Creating Workspaces and Projects,” introduces workspace and
project creation.
■ Chapter 3, “Managing Workspaces and Projects,” describes the Design Management
feature for workspaces and projects.
■ Chapter 4, “Understanding Parameters,” introduces use of project, global design,
and local design parameters.

June 2005 13 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Preface

■ Chapter 5, “Test Setup from the Schematic Window,” discusses creating tests through
the Virtuoso® Schematic Editor design environment.
■ Chapter 7, “Creating Tests for Spectre Simulation,” describes test creation and setup for
Spectre circuit simulation.
■ Chapter 6, “Creating Tests for an ADE Simulator,” describes test creation and setup
targeted for an ADE-available simulator.
■ Chapter 8, “Creating and Running Advanced Analyses,” demonstrates setup of
advanced analyses including parametric sweeps, corners, and Monte Carlo analyses.
■ Chapter 9, “Specifying Run Options,” describes advanced use functions for sweeps and
corners analyses.
■ Chapter 10, “Viewing and Analyzing Results,” describes use of the Results tab and
results viewing and plot editing packages.
■ Chapter 11, “Verifying and Comparing Designs,” describes how to create a spec sheet
for verification of results or comparison with another design.
■ Chapter 12, “Calibrating Behavioral Models,” describes how to use the environment to
generate silicon-calibrated behavioral models.
■ Chapter 13, “Developing and Editing a Plan,” defines how to create
characterization, model calibration, and other plans.

The Virtuoso Specification-driven Environment Reference contains the following


appendixes:
■ Appendix A, “VSdE Menus,” documents the menu bar, toolbar, and right-click menus
available in the VSdE main window.
■ Appendix B, “VSdE Text Editor,” describes use of the built-in text editor for
documentation tasks and editing or modifying component files.
■ Appendix C, “Toolbar and Menu Customization,” outlines the procedures for
customizing toolbars, main menu and toolbar contents, Tools menu contents, and
keyboard shortcuts for menu commands.
■ Appendix D, “Expression Builder,” provides information about building complex
expressions wherever numeric expressions apply on forms.
■ Appendix E, “User-Written Measures,” describes user-written measures using
Verilog-AMS, OCEAN, and MATLAB formats, and how each is applied.
■ Appendix F, “Perl Extensions,” lists the Perl extensions supported in the environment.

June 2005 14 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Preface

■ Appendix G, “Library Mapping File,” specifies syntax for items in the library mapping
file.
■ Appendix H, “VSdE Directories and File Formats,” outlines workspace and project
directory contents and file formats.
■ Appendix I, “Printer Setup,” describes setting up one or more printers to work with
Virtuoso Specification-driven Environment.

Related Documents
The following supplemental reference documents are recommended for use with this product:
■ Virtuoso Spectre Circuit Simulator User Guide and Reference provides information
on syntax and options for Spectre circuit simulation
■ Virtuoso Parasitic Simulation User Guide provides information on how to investigate
and report on the effect of physical parasitics on circuit designs
■ Analog Waveform User Guide provides instruction on how to use the Analog
Waveform viewer
■ MATLAB Measures User Guide provides information about using Cadence MATLAB
measures in VSdE and the MATLAB environment
■ Perl Programming Guides provide information that is useful for creating plans in VSdE

June 2005 15 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Preface

June 2005 16 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

1
Getting Started

The following topics are discussed in this chapter:


■ Overview on page 18
■ Starting the SdE from the CIW or the Schematic Window on page 20
■ Starting the SdE from the System Prompt on page 20
■ Workspaces and Projects on page 23
■ VSdE Main Window on page 24, including the following tasks:
❑ Opening a New Project Item on page 26
❑ Opening an Existing Project Item on page 27
❑ Importing State Information for Test Setup on page 28
❑ Importing Information into an Existing Test on page 30
❑ Exporting Test Setup Information to a State File on page 33
❑ Renaming a Test on page 34
❑ Bringing Open Windows into the Foreground on page 34
❑ Moving Projects and Workspaces on page 35
❑ Creating New Workspace Folders on page 35
■ Project Tools on page 36
■ Test Console Tab on page 44

Other related topics include the following:


■ Copy Test Form on page 110
■ Copying Advanced Analysis Project Items on page 223
■ Environment Customizations on page 45

June 2005 17 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Overview
The Virtuoso® Specification-driven Environment (SdE) is an interactive design environment
for the analysis, characterization, and verification of analog, digital, and mixed-signal circuits.
The SdE is also integrated with the Virtuoso Schematic Editor and can be used with multiple
designs simultaneously. For increased performance you can investigate parasitics in your
design and further refine the extracted view prior to simulating (see the Virtuoso Parasitic
Simulation User Guide for more information).
Note: The Virtuoso Specification-driven Environment is OpenAccess compliant.

The Virtuoso Specification-driven Environment helps you:


■ Set up simulation parameters
■ Execute simulation jobs (using parallel processing)
■ Generate results
■ Analyze results using data analysis scripts

Typical design flow is shown in the following figure:

Tests

Build
Analysis Analysis
Simulation
Netlists

Device
Under Spec Sheet
Test

Simulator
Pass/Fail
Verification
Report

The following tasks are performed in the environment:


■ Create test benches
■ Explore design characteristics
■ Run experiments and corners analyses
■ Run Monte Carlo analysis
■ View, plot, and analyze results

June 2005 18 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

■ Perform pass/fail validation of operational and performance specs


■ Create silicon-calibrated behavioral models
■ Create or modify plans for characterization, model calibration, etc.

For ease of reuse, and organizing design data and results, projects are organized into
workspaces using a lib/cell/view hierarchy. One or more related projects (or designs) can be
made available in the environment at the same time. Multiple tests can be used to
characterize a design, and a sweep analysis can vary one or more parameters over multiple
tests in a project. The Spec Sheet tool can be used to verify whether a circuit’s target behavior
and performance goals are met. The environment supports distributed simulation to execute
multiple tests and experiments in parallel. silicon-calibrated behavioral models help to reduce
simulation times significantly. The environment promotes reuse of design components and
the capture of design Intellectual Property.

June 2005 19 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Starting the SdE from the CIW or the Schematic Window


To start the environment from the CIW or the schematic window, do the following:
1. Choose Tools – VSdE.
2. See Chapter 2, “Creating Workspaces and Projects.”
3. See Chapter 5, “Test Setup from the Schematic Window.”

Starting the SdE from the System Prompt


To start the environment from the system prompt, type the vsde command as follows:
vsde [option*]

Command-line options for the vsde command are as follows:

Table 1-1 Command-Line Options

Option Description
-batch Exits the environment after running a plan or Virtuoso®
Characterization and Modeling Environment file (see -runplan
and -rundcm)
-display display_name Opens environment windows and forms on the specified X
display (display_name )
-fullhelp Opens the Online Help window
-help Displays vsde command syntax and option usage information
-nosplash Prevents display of the splash screen on startup
-project apf_or_awf Provides a mechanism for specifying the path to and name of
[-active project_name]
an existing project or workspace file; for example:
vsde -project /home/user/projects/MyProj.awf
The -active command-line option can be used to specify the
active project in a workspace as follows:
[…] -active twoInputNand
-readonly Opens the environment in read-only mode: no workspace or
-ro
project item can be created, modified, or deleted; most Design
Management operations are disabled

June 2005 20 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Table 1-1 Command-Line Options, continued

Option Description
-runplan plan_file Runs either a named plan file (plan_file ), or performs the
or Virtuoso Characterization and Modeling Environment
Generate & Run operation from the setup information
-rundcm cme_file
contained in the specified .dcmui file (cme_file ):
vsde -runplan plans/myPlan.pl
vsde -rundcm modelgen/twoInputNand

Note: When -active is not specified (see -project), the


last-active project is assumed.
-version Displays version information:
-V
-W vsde -version
vsde -V
vsde -W

Note: Version information is also written to the


projectDirectory./.acv_version file.

If -project is not specified, then the Select Workspace form is opened (see “Creating and
Opening a Workspace” on page 53).

The following trouble-shooting topics are presented:


■ Solving Color-Flashing Problems on page 21
■ Defining Colors for Motif Window Manager/OpenWindows on page 22
■ Disabling the Splash Screen on page 22

Solving Color-Flashing Problems


To eliminate color flashing between the environment and other applications (for example,
Netscape) on displays that support only 256 colors, add the following code to run the
mwcolormanager program prior to starting the environment (and any other application that
assigns colors) to the shell initialization file:

In ~/.cshrc for C Shell: In ~/.profile for Bourne Shell:


if ( ${?DT} ) then if [ "$DT" ]; then
mwcolormanager >& /dev/null mwcolormanager 2> /dev/null
endif fi

June 2005 21 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Important
The $ACV_ROOT environment variable must be defined in order to run
mwcolormanager.

Note: The mwcolormanager command is executed only upon the first login to the desktop. The
mwcolormanager program must continue to execute in an infinite loop so that the colormap
entries it allocates will not be marked as free. This loop consumes extremely few CPU
resources and has no interface to generate X traffic.

Defining Colors for Motif Window Manager/OpenWindows


Color behavior for the Virtuoso® Specification-driven Environment (SdE) is determined by the
window manager. For CDE, the colors are set using the CDE Style Manager. For Motif
Window Manager/OpenWindows, colors are defined in the $ACV_ROOT/admin/Xresources file.
These resources are specified either using the xrdb command, or by setting the XENVIRONMENT
environment variable.

To use the xrdb method of defining colors, put the following xrdb command in your X server
startup script:
xrdb -merge $ACV_ROOT/admin/Xresources

Alternatively, set the XENVIRONMENT variable as follows:


setenv XENVIRONMENT $ACV_ROOT/admin/Xresources

To specify a user-defined set of colors, do the following:


1. Copy the Xresources file from $ACV_ROOT/admin to your local directory.
2. Edit the color definitions in the local file.
3. Modify the xrdb command or the XENVIRONMENT variable to use your local file.

Disabling the Splash Screen


To disable display of the splash screen when the environment is first started, set the
ACV_SPLASH environment variable to “false” as follows:
setenv ACV_SPLASH false

June 2005 22 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Workspaces and Projects


A workspace contains one or more projects and parameters—both workspace and project
parameters. A project is a directory containing the project file (.apf) and all associated tests,
files, results, and libraries for the DUT (device under Test). The workspace, its component
projects, and related parameters are displayed in the VSdE main window. (See also
Chapter 4, “Understanding Parameters.”)

Note: The $ACV_ROOT/samples/acv/example_projects directory contains example


workspaces and project files in the composer and netlist subdirectories. The composer
subdirectory contains a tar file (composer_example_project.tar) from which a PLL
schematic and example workspace (pll.awf) can be extracted and used. This workspace
contains several projects. The netlist subdirectory contains an example workspace
(example_projects.awf) which has several projects based on design netlists.

Workspace parameters belong to a workspace and take precedence over project parameters:
If a parameter of the same name exists in both the Workspace Parameters table and in the
Project Parameters table, the workspace value takes precedence. Using workspace
parameters, multiple projects can share a common set of parameter values (for example,
$temperature, $process, $vdd_value).

June 2005 23 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Workspace parameters are grouped together in value sets. A value set is a logical grouping
of workspace parameters that are varied together. For example, a set of parameters for
1.8-volt power and a set of parameters for 3.3-volt power.

Plans created in one workspace project can run plans in other workspace projects.
Simulation results are grouped by workspace value set name and can be compared using the
Spec Sheet tool.

VSdE Main Window


The VSdE main window consists of the following items:

■ Main menu bar and toolbar (see “Menus” in the Virtuoso Specification-driven
Environment Reference)
■ Files tab, which contains the following items:
❑ Projects in the current workspace
❑ Project tool folders for Documents, Tests, Sweeps/Corners, Spec Sheets,
Model Calibrations, Characterization and Modeling, and Plans for each
project in the workspace
❑ Project files in each tool folder

June 2005 24 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

■ Results tab (see “Using the Results Tab” on page 249)


■ Parameters tab, which contains the following parameter tables:
❑ Project Parameters/Value table (see “Project Parameters” on page 91)
❑ Workspace Parameters/Value table (see “Workspace Parameters” on page 95)
Note: The Workspace Parameters table is opened automatically when there is one or
more workspace parameter value sets in the workspace. To toggle display of the
Workspace Parameters table, choose View – Workspace Value Sets.
■ Test Console tab (see “Test Console Tab” on page 44)
Note: The Parameters and Test Console tabs are not available when the Results tab is
selected.

The following tasks are discussed:


■ Opening a New Project Item on page 26
■ Opening an Existing Project Item on page 27
■ Importing State Information for Test Setup on page 28
■ Importing Information into an Existing Test on page 30
■ Exporting Test Setup Information to a State File on page 33
■ Renaming a Test on page 34
■ Bringing Open Windows into the Foreground on page 34
■ Moving Projects and Workspaces on page 35
■ Creating New Workspace Folders on page 35

June 2005 25 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Opening a New Project Item


The New File window is used to open new project items.

To open the New File window, do the following:


➤ Choose File – New in the VSdE main window.

To open the Create Test form for a test, or a New Project_File form for a sweep, corner,
spec sheet, model calibration, characterization and modeling item, or plan (see the table
below), do the following:
1. In the New File window, select a VSdE Files project item or a Design Files item.
2. Click OK.
Note: For Design Files, an untitled text editor window is opened (see “Text Editor” in the
Virtuoso Specification-driven Environment Reference).

Table 1-2 File Types

VSdE Files Description


Test Opens the Create Test form (see “Create Test Form—Composer
Tests” on page 107)
Sweep Opens the New Sweep Name form for naming the new sweep; then
opens the Sweep window for specifying the newly named sweep
(see “Sweeps” on page 201)
Corners Opens the New Corners Name form for naming the new corners
analysis; then opens the Corners window for specifying the newly
named corners analysis (see “Corners Analysis” on page 209)

June 2005 26 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Table 1-2 File Types, continued

VSdE Files Description


Spec sheet Opens the New Specification form; then opens the Result vs. spec
or the Comparison of two designs spec sheet depending on the
radio button selected (see “Creating and Opening a Spec Sheet” on
page 294)
Model calibration Opens the New Model Calibration Name form for naming the new
model calibration; then opens the Model Calibration window for
specifying the newly named model calibration (see “Starting Model
Calibration” on page 319)
Characterization Opens the New Characterization and Modeling form for naming the
and Modeling new characterization and modeling item; then opens the VCME
Setup window for specifying the newly named item (see the
Virtuoso Characterization and Modeling Environment User
Guide)
Plan Opens the New Plan form for naming the new plan (see “Creating a
Plan” on page 341); then opens a plan template in a text editor
window (see “Text Editor” in the Virtuoso Specification-driven
Environment Reference)

Opening an Existing Project Item


The following methods can be used to open a project item:
■ Double-click the item’s name in its project folder.
■ Right-click the item’s name and select Open from the pop-up menu.

Tip
An item can be renamed by right-clicking its name and selecting Rename from the
pop-up menu. See also “Renaming a Test” on page 34.

June 2005 27 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Importing State Information for Test Setup


To import state information from the Virtuoso Analog Design Environment (ADE) when
creating a new test, do the following:
1. In the VSdE main window, choose File – Import to open the Import form.

2. In the ADE state file directory field, specify the path to a state directory.
Note: The button is used to open the Select ADE State File Directory form for
navigating to and selecting the directory containing state files. The default starting point
is ~/.artist_states/libName/cellName, unless a different root directory is specified in
.cdsenv using the asimenv saveDir setting (for example, ./artist_states).

3. In the Test name field, type a name for the test to be created from the information in the
selected state file.
4. In the Test view field, type a view name for the test.
Note: The lib/cell information is obtained from the state file.
5. In the Integration group box, select either VSdE Native or Other (ADE-available)
simulator integration.
6. Select an item from the Simulator drop-down list.
7. Click OK to accept changes and close the form.

June 2005 28 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

The following state information is imported:


■ analyses
■ environmentOptions
■ modelSetup
■ outputs
■ simulationFiles
■ simulatorOptions

The following state information is not imported:


■ graphicalStimuli
■ sensList
■ spList
■ parametric analysis
■ corners
■ monte carlo

The items on the Import form are used as follows:

Item Description
ADE state file Specify the path to an analog design environment state directory
directory
Test name Specify the name of the test to be created from the information in
the selected analog design environment state file
Test view Specify the view name for the test
Note: The lib/cell information is obtained from the state file.
Integration Select either VSdE Native (Spectre) or Other (ADE-available)
simulator integration (with simulator choices available on a
drop-down list)

June 2005 29 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Importing Information into an Existing Test


To open the Import Test form for importing information into an existing test, do the following:
1. Right-click an existing test.
2. Select Import from the pop-up menu.

The following procedures are presented:


■ Importing Test Setup Information from Another Test in the Project on page 30
■ Importing Test Setup Information from a Test That is Not in the Current Project on
page 31
■ Importing Test Setup Information from State Files on page 31
■ Customizing Imported Test Setup Information on page 32

Importing Test Setup Information from Another Test in the Project

To import Test Setup information from another test in the project, do the following on the
Import Test form:
1. Select From test in project.
2. Select a test in the current project from the drop-down list.

June 2005 30 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

3. Mark/unmark Import customization check boxes (see “Customizing Imported Test


Setup Information” on page 32).
4. Click OK to complete the import operation.
5. In the Test Setup window, click Apply to accept the changes, or cancel to close the
window without saving the changes.

Importing Test Setup Information from a Test That is Not in the Current Project

To import Test Setup information from a test that is not in the current project, do the following
on the Import Test form:
1. Select From other test file.
2. Click to open the Select a Test/Template File form.
3. In the Select a Test/Template File form, navigate to and select a test (.tst) file, and click
Open.
4. Mark/unmark Import customization check boxes (see “Customizing Imported Test
Setup Information” on page 32).
5. Click OK to complete the import operation.
6. In the Test Setup window, click Apply to accept the changes, or cancel to close the
window without saving the changes.

Importing Test Setup Information from State Files

To import Test Setup information from analog design environment state files, do the following
on the Import Test form:
1. Select From ADE.
2. Click to open the Select ADE State Directory form.
3. In the Select ADE State Directory form, navigate to and select a directory from which to
import states, and click Open.
4. Mark/unmark Import customization check boxes (see “Customizing Imported Test
Setup Information” on page 32).
5. Click OK to complete the import operation.
6. In the Test Setup window, click Apply to accept the changes, or cancel to close the
window without saving the changes.

June 2005 31 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Customizing Imported Test Setup Information

Import customization check boxes are used to enable/disable the import of specific Test
Setup information. When a check box is marked, the imported information is added to any
information already specified on the indicated tab of the Test Setup window. Any imported
information that matches what is already specified on the indicated tab overrides the
existing information on that tab. By default, all check boxes are marked when the form is first
opened. The following Import customization selections are available:

Check Box Description


Globals When marked, global design variable information is imported to the
Globals tab (see “Globals Tab—Schematic Designs” on page 115)
Includes When marked, include information is imported to the Includes tab
(see “Includes Tab—Spectre Tests” on page 191)
Analyses When marked, analysis setup information is imported to the Analyses
tab (see “Analyses Tab—Spectre Tests” on page 196)
Sim options When marked, simulation options are imported to the Sim Options
tab (see “Sim Options Tab—Spectre Tests” on page 198)
Netlist When marked, netlist information is imported to the Netlist tab (see
“Netlist Tab—Spectre Tests” on page 187)
Note: This check box is only enabled for netlist-only (non-schematic)
tests.
Components When marked, testbench component information is imported to the
Components tab (see “Components Tab” on page 130)
Measures When marked, measures information is imported to the Measures tab
(see “Measures Tab” on page 141)
Run options When marked, run options are imported to the Options tab (see “Run
Tab—Options Tab” on page 152)
ADE state files When marked, information stored in state files is imported
Note: This check box is only enabled for tests targeted for an
ADE-available simulator.

June 2005 32 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Exporting Test Setup Information to a State File


To open the Export Test form for exporting test setup information to a state file, do the
following:
1. Right-click an existing test.
2. Select Export from the pop-up menu.

Test information is displayed in the Library, Cell name, and Simulator name fields of the
Export Test form. Do the following:
1. Either type a valid State save dir (state directory), or click to open the Select ADE
State Directory form for navigating to and selecting a state directory (click OK when
finished).
Note: The State save dir field is populated with the asimenv saveDir setting, if there is
one, or with ~user/.artist_states otherwise.
2. Type a State name, which becomes a directory in the State save dir in which the state
information is saved.
3. Click OK to export the following state information:
❑ All enabled analyses
❑ Simulation files
❑ Environment options
❑ Simulator options
❑ Convergence settings
❑ Model setup information
❑ Outputs (selected list, plot list, and Calculator measures)

June 2005 33 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

❑ Design variables

Renaming a Test
To rename a test, do the following:
1. In the Tests folder in the VSdE main window, right-click the test you want to rename.
2. Select Rename from the pop-up menu.
The Rename Test form appears.

3. In the New test name field, type the new name.


4. (Optional) In the New design location group box, specify a design location (see
“Specifying a Design Location” on page 185).
5. Click OK.

The test is renamed.

Bringing Open Windows into the Foreground


Open windows can be brought to the foreground using any of the following methods:
■ In the VSdE main window, select the window from the Window menu, or
■ In the VSdE main window, type Alt-W and the window number (as listed on the Window
menu), or
■ On the desktop, double-click the minimized window’s icon, or

June 2005 34 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

■ On the desktop, bring mouse focus into the open window, or


■ On the VSdE Windows form, select the window and click Activate

Moving Projects and Workspaces


Drag-and-drop is supported for the following tasks:
■ Move projects into/out of workspace folders
■ Change the order of appearance of multiple projects in a workspace
■ Move a workspace folder, and its contents, into another workspace or workspace folder

Creating New Workspace Folders


To create a new workspace folder, do the following:
1. Choose Add – New Workspace Folder to open the Workspace Folder Name form.

Tip
Alternatively, right-click a Workspace or workspace folder and select Add
Workspace Folder.
2. Type a name for the new workspace folder.
3. Click OK to add the new folder to the workspace.

June 2005 35 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Project Tools
For an open project, the following project tool folders are displayed on the Files tab in the
VSdE main window (see “VSdE Main Window” on page 24):
■ Documents on page 36
■ Tests on page 40
■ Sweeps/Corners on page 41
■ Spec Sheets on page 42
■ Model Calibrations on page 42
■ Characterization and Modeling on page 42
■ Plans on page 43
Note: A plus sign on a folder indicates that the folder contains files.

Documents
The Documents folder contains project documentation, which can consist of the following
document types:
■ Text format design files created using the built-in text editor or a user-configured editor
(see “Creating New Project Files or Documents” on page 37 and “Configuring Other
Editors” on page 39)
■ Non-text documentation in any of the following formats: PDF, HTML, GIF (see “Adding
Non-Text Documentation Files to a Project” on page 37)

See also “Displaying Items in the Documents Folder” on page 38.

June 2005 36 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Creating New Project Files or Documents

The built-in text editor can be used to create (text format) design files of the following types
for a project:
■ Verilog-AMS (*.v, *.va, *.ams, *.def)
■ SPICE (*.sp, *.spc, *.ckt, *.inc)
■ Perl (*.pl)
■ MATLAB (*.m)
■ Text (*.txt)

Any of the following methods can be used to display the text editor for creating new project
design files of the above-mentioned types:
■ In the VSdE main window, choose Add – New Document:
■ In the VSdE main window, click on the toolbar
■ On the Files tab of the VSdE main window, right-click the Documents folder and select
New Document from the pop-up menu:
■ Right-click an existing document in the Documents folder and select New from the
pop-up menu:

Adding Non-Text Documentation Files to a Project

The following non-text file types can be stored in and viewed from the Documents folder of
a project:
■ HTML (*.html)
■ PDF (*.pdf)
■ GIF (*.gif)

The Path field in the Properties window for the Documents folder displays the full path to the
directory location of the project documents. To view the path, do the following:
1. Right-click the Documents folder.
2. Select Properties from the pop-up menu.

June 2005 37 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

To scroll in the Path field, do the following:


1. In the Path field, click to place the cursor.
2. Use the left and right arrow keys and the End key to move forward, backward, and to the
end of the directory path string in the field.

Any file of the above-mentioned types can be copied to the docs directory for a project so
that it is displayed in the Documents folder.
Note: For spec sheets exported to HTML, the resulting file is copied to the docs directory
automatically (see "Spec Sheet Toolbar" in the Virtuoso Specification-driven
Environment User Guide).

To open a documentation file displayed in the Documents folder, do one of the following:
■ Double-click the icon to the left of the item.
■ Right-click the item and select Open from the pop-up menu.
Note: The editor used to display each file type is specified in edit_command.ini (see
“Configuring Other Editors” on page 39).

Displaying Items in the Documents Folder

Any file of the following formats saved to the Documents folder for a project can be displayed
by double-clicking its icon in the open Documents folder (or selecting Open from the
right-click pop-up menu):
■ Text (*.txt)
■ HTML (*.html)
■ PDF (*.pdf)
■ GIF (*.gif)
Note: By default, text files are displayed using the built-in text editor, PDF files are displayed
using acroread, and HTML and GIF files are displayed using Netscape. See also
“Configuring Other Editors” on page 39.

June 2005 38 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Configuring Other Editors

The edit_command.ini file in $ACV_ROOT/admin is used to specify the default editor that
will display the following design file types:

File Type Extension(s) Editor Specification1


SPICE *.sp, *.spc, *.ckt, *.inc spice builtin
Verilog-AMS *.v, *.va, *.ams, *.def verilog builtin
Perl *.pl perl builtin
MATLAB2 *.m matlab builtin
Text *.txt text builtin
HTML *.html html builtin
PDF *.pdf pdf "acroread %s"
1. A specification of builtin indicates that the text editor will be used
2. Full MATLAB software and license can be purchased from The MathWorks, Inc.

Note: By default, text files are displayed using the text editor (builtin), PDF files are
displayed using acroread, and HTML and GIF files are displayed using Netscape.

Any file extension can be configured using the following general form:
extension "commandString"

where extension is the file extension and commandString is the editor command string.

Surrounding quotation marks are required for any editor command string that contains one or
more blank spaces. If %s is specified as part of the string, then it is replaced by the
fully-qualified path to and name of the file when the command is invoked. If %s is not specified
as part of the string, then the fully-qualified path to and name of the file is appended to the
end of the command string.

Here are some examples:

The following command specifies the Mozilla browser for displaying HTML documents:
html "/usr/bin/mozilla %s"

The following command specifies the vi editor run in an Xterm window as the default for
editing/displaying SPICE design files:
spice "xterm -geometry 100x30 -e vi"

June 2005 39 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

The following command specifies the CDE editor as the default for editing/displaying Verilog
design files:
verilog dtpad

Here are some additional examples:


doc "soffice %s"
xls "soffice %s"
fm "/user/programs/frameMaker/maker %s"

To create a custom set of default editors, do the following:


1. At the system prompt, type the following commands to copy edit_command.ini to
~/.acv:
cd ~/.acv
cp $ACV_ROOT/admin/edit_command.ini .

2. Open vi (for example) to edit or add the desired command string to specify the desired
default editors:
vi edit_command.ini

html "/usr/bin/mozilla %s"

3. In vi, save changes and exit:


:wq

Tests
The Tests folder contains tests used to set up the simulations for a device under test (DUT).
Tests define the stimuli, analyses, simulator options, and measures necessary to run a
simulation. A test consists of the following items:
■ A single DUT
■ Zero or more components and measures
■ Parameter values for the DUT, components, and measures
■ Other simulation controls/commands (and control values)
■ Net names to be used to connect the DUT to the components
■ Connection mapping between components, measures, and DUT

June 2005 40 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

For more information about setting up tests, see:


■ Chapter 5, “Test Setup from the Schematic Window”
■ Chapter 7, “Creating Tests for Spectre Simulation”
■ Chapter 6, “Creating Tests for an ADE Simulator”

Sweeps/Corners
The Sweeps/Corners folder can contain sweeps (parametric analyses) and corners
analysis setups.

A sweep is the changing of one or more parameters and obtaining simulation results for each
parameter value. Sweep values are defined as either a list of values or a range of values with
specified increments (from-to-by). A sweep can be applied to one test or to multiple tests.

Sweeps are accomplished by sweeping project parameters ($ Perl variables) over one or
more tests. Once the tests and sweep parameter have been defined, the sweep can be run.
Running a sweep generates one or more simulation files, and the output results data is
captured.

Once a design meets a desired specification, it is useful to check performance under


worst-case manufacturing process conditions (or corners). Corners analysis is used for
specifying and simulating corner conditions.

A corners analysis can consist of any number of model files and parameter settings. Any
combination of tests and conditions for the corners analyses can be specified. Each corner
condition corresponds to a separate simulation which can run independently.

Simulations can be distributed across multiple machines (see “Job Distribution Group Box”
on page 228), and separate jobs are automatically created based on the parameter values
being swept. The Job Status tab is used to view the progress and pass/fail status of the
analysis. Simulation log and error files can also be viewed from this tab.

A separate results file is created for each sweep/test or corner/test combination. A tabular
listing or waveform patterns of results can be viewed from the Results tab of the VSdE main
window (see “Using the Results Tab” on page 249).

For more information about sweeps and corners analysis setup, see Chapter 8, “Creating
and Running Advanced Analyses.”

June 2005 41 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Spec Sheets
The Spec Sheets folder contains design specifications, which can be used for design review
presentation and to compare against simulated results. These spec sheet setups can be
exported to Plans, and exported to HTML for formatted printing. In addition, the Spec Sheet
tool can be used to:
■ Manage and organize the data returned from single or multiple analyses
■ Report Pass/Fail conditions for measurements
■ Provide means for further inspection of the data

The Spec Sheet tool provides a means to verify a design against a set of required results, or
to verify one design (behavioral or circuit) against another (behavioral or circuit).

For more information about spec sheets, see Chapter 11, “Verifying and Comparing Designs.”

Model Calibrations
The Model Calibrations folder contains model calibration setups used to design and
generate silicon-calibrated behavioral models. Parameters in the calibrated (behavioral)
model take on real values (based on characterization results).

For more information about the Model Calibration tool, see Chapter 12, “Calibrating
Behavioral Models.”

Characterization and Modeling


The Characterization and Modeling folder contains model generation setups created
using the Virtuoso Characterization and Modeling Environment option (see your local Sales
Representative for purchasing information). With the Characterization and Modeling tool,
high-level functional requirements provide the basis for tests, sweeps, spec sheets, plans,
models, and projects.

For more information about the Characterization and Modeling tool, see the Virtuoso
Characterization and Modeling Environment User Guide. (For information about the
Includes and Sim Options tabs of the VCME Setup window, see “Includes Tab—Spectre
Tests” on page 191, and “Sim Options Tab—Spectre Tests” on page 198.)

June 2005 42 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Plans
The Plans folder contains plans that define the steps to be taken for a process. For example:
■ Characterization Plan – to obtain characterization results for a circuit
■ Model Generation Plan – to generate a silicon-calibrated behavioral model for a circuit

Plans, which are run on projects, are typically created using the Export to Plan right-click
menu item from the various other project items (Tests, Sweeps/Corners, Spec Sheets, Model
Calibrations). Also, for tests, sweeps, and corners analyses, the Link to Plan right-click menu
item can be used to create a reference to the project item from within a plan. All or parts of
files associated with tests, sweeps, corners analyses, spec sheet comparisons, and model
calibrations are available for export to a plan.

Alternatively, a plan can be created using the built-in text editor or an external editor. A plan
can be invoked either from the environment or from the system prompt. A project can contain
multiple plans—for example, one plan to create characterization results for the circuit, another
plan to generate a behavioral model. Often, one plan is designed to run other plans.

For more information about plans, see Chapter 13, “Developing and Editing a Plan,” and “Perl
Extensions” in the Virtuoso Specification-driven Environment Reference.

June 2005 43 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Test Console Tab


The Test Console tab presents an overview of all the tests in the active project. The active
project name is displayed above the Tests table. The active test name (corresponding to the
selected test in the Tests table) is displayed above the Measures table.

The Test Console tab is available only when the Files tab is active in the VSdE main window.
The Measures table is displayed only when Test Measures is marked on the View menu in
the VSdE main window (see “View Menu” in the Virtuoso Specification-driven
Environment Reference).

June 2005 44 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Run Button
The Run button can be found in the following analysis setup windows and is used to run
analyses:
■ Test Setup (see “Test Setup Window for Schematic-Based Tests” on page 112)
■ Sweep (see “Sweeps” on page 201)
■ Corners (see “Corners Analysis” on page 209)
■ Monte Carlo (see “Monte Carlo Analysis” on page 216)

If any changes have been made since the last Apply in any of these windows, a form appears
with a message and choices like the following prior to running the analysis:

Values have changed. Do you want to save the changes before run?
❑ Yes — Apply the changes and run the analysis.
❑ No — Do not apply the changes. Run the analysis using the last-saved settings.
❑ Cancel — Don’t apply the changes; don’t run the analysis.

Environment Customizations
(Optional) You can perform any the following environment customization tasks:
■ Specifying Environment Defaults Using Environment Variables on page 46
■ Configuring Other Editors on page 39
■ Creating a Custom Toolbar on page 46
■ Populating a Custom Toolbar on page 47
■ Removing an Icon from a Toolbar or Menu on page 47
■ Deleting a Custom Toolbar on page 48
■ Adding a Tool to the Tools Menu on page 48
■ Assigning a Shortcut to a Menu Item on page 49
■ Removing a Menu Shortcut on page 50

June 2005 45 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

Specifying Environment Defaults Using Environment Variables


When you create a new test, the program reads default model files and library settings from
your .cdsenv and .cdsinit files. Additionally, you can set the following environment variables
prior to running the environment to specify the indicated defaults:

Default Setting Environment Variable


Whether the Create new project check box is ACV_DEFAULT_PROJECT_CREATE
marked on the New Workspace form by default
when you create a new workspace
The path to a default workspace from which to ACV_DEFAULT_WORKSPACE_PATH
copy templates and parameters
The default template name that appears in the ACV_DEFAULT_TEST_TEMPLATE
Copy from template field on the Create Test
form

Creating a Custom Toolbar


To create a custom toolbar, do the following:
1. In the VSdE main window, choose Tools – Customize.
The Customize window appears.

June 2005 46 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

2. On the Toolbars tab, click New.


The New Toolbar form appears.

3. Type a new toolbar name.


4. Click OK.
Note: Alternatively, a new toolbar can be created by dragging a command icon from the
Command tab to the toolbar area of the VSdE main window (see “Populating a Custom
Toolbar” on page 47).

Populating a Custom Toolbar


To populate a custom toolbar, do the following:
1. In the VSdE main window, choose Tools – Customize.
The Customize window appears.
2. Click the Command tab.
3. In the Categories list box, select a category.
4. In the Buttons group box, click an icon to see its description.
5. Drag and drop the icon on the desired toolbar.
6. When finished, click OK in the Customize window.

Removing an Icon from a Toolbar or Menu


To remove an icon from a toolbar (or menu), do the following:
1. In the VSdE main window, choose Tools – Customize.
The Customize window appears.
2. With the Customize window open, drag and drop the desired item outside the perimeter
of all windows and forms.

June 2005 47 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

3. In the Customize window, click OK.

Deleting a Custom Toolbar

Important
The Delete action cannot be undone.

To delete a custom toolbar, do the following:


1. In the VSdE main window, choose Tools – Customize.
The Customize window appears.
2. Click the Toolbars tab.
3. In the Toolbars list box, select a custom toolbar.
4. Click Delete.
Note: The Delete button is available only when a custom toolbar is selected.

Adding a Tool to the Tools Menu


The add a new tool (application) to the Tools menu, do the following:
1. In the VSdE main window, choose Tools – Customize.
The Customize window appears.
2. Click the Tools tab.
3. In the Menu contents area, click to add a new line to the bottom of the list.
4. On the line provided, type the name of the tool—for example, MyTool—using an
ampersand (&) to indicate the letter that will act as the accelerator key when the Tools
menu is selected. For example, to indicate the T in MyTool as the accelerator, type the
following:
My&Tool

Important
The accelerator key must be unique (not assigned to another item on the Tools
menu).
Note: The up and down arrows on the toolbar ( ) are used to change the order in

June 2005 48 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

which the tools appear on the Tools menu by moving a selected item up or down in the
list, respectively. The delete button ( ) is used to remove an item from the Tools menu.
5. At the right end of the Command field, click .
A form for navigating to and selecting the tool’s executable appears.
6. Navigate to and select the tool’s executable.
7. Click OK.
8. (Optional) In the Arguments field on the Tools tab, type any command-line arguments
for the tool.
9. At the right end of the Initial directory field, click the right-arrow button.
10. From the pull-right menu, choose one of the following for specifying the initial directory
for the tool:
❑ Current Results Directory ($currentResultsDir)
❑ Current Project Directory ($project)
❑ Browse (for any directory)
11. For applications that do not have a graphical user interface (GUI), check the Use xterm
with scrollbar check box.
12. Click Apply or OK.

Assigning a Shortcut to a Menu Item


To assign a shortcut to a menu item, do the following:
1. In the VSdE main window, choose Tools – Customize.
The Customize window appears.
2. Click the Tools tab.
3. In the Commands scrolling list, select a menu item.

June 2005 49 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Getting Started

4. Click Assign.
The Assign Shortcut form appears.

5. In the Press new shortcut key field, type the desired shortcut.
Note: If the specified shortcut is assigned to any other menu item, then that menu item
is indicated under Current Assignment. If the specified shortcut is not assigned to any
other menu item, then the Current Assignment is indicated as (none).
6. Click OK to assign the new shortcut to the selected menu item.

Important
The Current Assignment, if one exists, is replaced by the new assignment typed
on the Assign Shortcut form.

Removing a Menu Shortcut


To remove a shortcut for a menu item, do the following:
1. Select the menu item from the list of Commands.
2. Select the shortcut from the Assigned shortcuts area.
3. Click Remove.

June 2005 50 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

2
Creating Workspaces and Projects

This chapter contains information on the following topics:


■ Overview on page 51
■ Creating and Opening a Workspace on page 53
■ Adding a Project to a Workspace on page 58
■ Adding Project Items and Design Files on page 62
■ Creating and Managing Workspace Templates on page 64

See also “Managing Workspaces and Projects” on page 71.

Overview
A workspace is composed of one or more related projects and parameters. The workspace
directory is typically the top-level directory of the hierarchy. Multiple workgroups or members
of a workgroup can use this single directory to store and work with related projects.

A workspace can contain more than one project. A project can be referenced by more than
one workspace. A project and its related files are accessed by opening a workspace that
contains that project.

A workspace contains a working library for accessing the design files for a device under test
(DUT). The working library is a lib/cell/view file tree that stores design information. The
lib/cell/view browser within the environment allows selection of the proper circuit design file
(for example, SPICE, Verilog-AMS). If a behavioral model is created for a target DUT, then
the model is stored as a view for that cell in the working library.
Note: The libraries used in the environment can be the same libraries used by the Virtuoso
Schematic Editor (both are organized in a lib/cell/view hierarchy).

June 2005 51 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

A workspace directory contains the following items:


■ A user-named workspace file (workspaceName.awf) that stores workspace-specific
information, such as the projects and workspace value sets contained in the workspace
■ Zero or more project subdirectories
■ A workspace_workspaceName directory in which zero or more of the following are
stored:
❑ workspace value set parameter definitions and their default values
❑ workspace include and test template files (.wsinc and .tst files)

A project directory contains the following items:


■ One or more project files (projectName.apf) that store project-specific settings that
affect tool behavior
■ A default library mapping file (acv.lm), which is created automatically and defines
library mappings of the form libname = path_to_library. The auto-created
acv.lm file contains the following two lines:
DEF_LIB worklib worklib
INCLUDE $ACV_ROOT/admin/acv.lm

The first line points to the working library subdirectory (worklib); the second line
points to the default library mapping file in the release hierarchy (which provides the
location of the Cadence MATLAB measures for those with a full MATLAB license—see
“acv.lm Syntax” in the “Library Mapping File” appendix of the Virtuoso
Specification-driven Environment Reference).
■ Subdirectories for each of the project tools (see “Project Tools” on page 36)
■ A working library (worklib) structured in a lib/cell/view hierarchy in which netlists
generated for the project are stored
Note: A single project directory can contain multiple designs and characterization tests
for each design

June 2005 52 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

An example organization of workspace and projects is shown in the following figure.

dac_example Contains dac.awf and several


project directories

Contains ota.apf,
a default library mapping file,
subdirectories for project tools,
and a working library (worklib)

To use the Virtuoso® Specification-driven Environment (SdE), design engineers create a new
workspace or open an existing workspace (see “Creating and Opening a Workspace” on
page 53). A workspace directory contains projects, design files, tests, results, and plans that
are related. Several related designs, and the characterization tests for these designs, can be
stored in the same workspace directory so that these designs can be characterized using a
common workspace. Tools within the environment can locate required data without having to
prompt the user for locations.

Creating and Opening a Workspace


When the environment is started, the Select Workspace form is presented. New workspaces
can be created, and existing workspaces can be opened. Existing projects can be added to
the currently active workspace (see “Adding a Project to a Workspace” on page 58).

June 2005 53 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

The following tasks are presented:


■ Creating a New Workspace on page 54
■ Copying a Workspace from Design Management on page 55
■ Opening an Existing Workspace on page 56
■ Opening a Recently-Opened Workspace on page 56
■ Opening the Environment in Read-Only Mode on page 57

Creating a New Workspace


To create a new workspace, do the following:
1. On the Select Workspace form, select Create new workspace.
2. Click OK.
The New Workspace form appears.

3. In the Location field, type a directory location for the new workspace.

Tip
Use the browser display button ( ) to open the Browse for Folder window for
navigating to and selecting a directory location for the new workspace.
4. In the Name field, type a name for the new workspace. This text appears automatically
at the end of the string in the Location field.
5. (Optional) Mark the Create new project check box to indicate that a new project is to
be created when the new workspace is created.
Note: This check box is marked by default unless the

June 2005 54 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

ACV_DEFAULT_PROJECT_CREATE environment variable is set to FALSE, NO, or OFF


(case-insensitive) prior to starting the environment.
6. (Optional) Mark the Copy templates and parameters from existing workspace
check box to specify a workspace from which to copy templates and parameters. Click
to open the Select File form for navigating to and selecting a workspace file.
Note: This check box is marked by default when the ACV_DEFAULT_WORKSPACE_PATH
environment variable is set (see Tip below).
7. Click OK. A workspace file called Name.awf is created in the specified Location.

If the Create new project check box is marked, then the New Project Wizard opens (see
“Adding a Project to a Workspace” on page 58). If the Create new project check box is not
marked, then an empty workspace (one with no projects) appears in the main window.

Tip
The ACV_DEFAULT_WORKSPACE_PATH environment variable can be set prior to
starting the environment to specify the full hierarchical path to a default workspace
from which to copy templates and parameters. When this environment variable is
set, the Copy templates and parameters from existing workspace check box
on the New Workspace form is marked by default, and the specified file is displayed
in the field beneath it. For example:
setenv ACV_DEFAULT_WORKSPACE_PATH /home/user/wksp/default.awf

Copying a Workspace from Design Management

Tip
See also Chapter 3, “Managing Workspaces and Projects.”

To copy a workspace from Design Management, do the following:


1. On the Select Workspace form, select Copy workspace from DM and open.
2. Click OK to open the Copy from Design Management form (see “Copy from Design
Management Form” on page 87) for selecting a previously check-in (design managed)
copy of a workspace.

June 2005 55 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

Opening an Existing Workspace


The Open existing workspace selection on the Select Workspace form is used to open an
existing workspace. Once a workspace is open, the component projects can be accessed.
New projects can be created, and existing projects can be added to the open workspace.
Only one workspace can be open at a time.

To open an existing workspace, do the following:


1. On the Select Workspace form, select Open existing workspace.
2. Click OK.
3. Use the Open Workspace form to navigate to and select a workspace file (.awf).

4. Click Open.

The last-saved version of the selected workspace is displayed in the VSdE main window.

Opening a Recently-Opened Workspace


The environment retains a list of (up to) the last six workspaces opened. The one that was
opened last is at the top of the list, and is displayed in the Open recent field on the Select
Workspace form. To open the last-opened workspace, do the following:
1. On the Select Workspace form, select Open recent.
2. Click OK.

To open one of the last six workspaces opened, do the following:


1. On the Select Workspace form, select Open recent.

June 2005 56 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

2. Select a workspace from the drop-down list in the Open recent field.
3. Click OK.

The selected workspace, with its last-active project, are displayed in the VSdE main window.

Opening the Environment in Read-Only Mode


To open the environment in read-only mode, do the following on the Select Workspace form:
➤ Click to mark the Open VSdE in read-only mode check box.

When the Open VSdE in read-only mode check box is marked, then no workspace or
project item can be created, modified, or deleted. Most Design Management operations are
disabled (see “Design Management Operations” on page 73). Read-only mode ends when
the session ends.
Note: Marking this check box on the Select Workspace form has the same effect as starting
the environment at the system prompt using the -readonly command-line option (see
“Starting the SdE from the System Prompt” on page 20).

June 2005 57 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

Adding a Project to a Workspace


To add a project to a workspace, do the following:
1. In the VSdE main window, choose Project – Add Project to Workspace.
2. On the Select Project form, select one of the following radio buttons:

Radio Button Description


Insert existing project Opens the Open Project form for navigating to and selecting
an existing project file (.apf)
Create new project Opens the New Project Wizard for creating a new project
(see “Creating a New Project” on page 60)
Copy project from DM Opens the Copy from Design Management form for copying
and open a project from Design Management (see “Copy from Design
Management Form” on page 87)

June 2005 58 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

The New Project Wizard is displayed under the following circumstances:


■ When the Create new project check box is marked on the New Workspace form, after
clicking OK (see “Creating a New Workspace” on page 54).
■ When Create new project is selected on the Select Project form (shown above), after
choosing Project – Add Project to Workspace in the VSdE main window.

The first form of the New Project Wizard asks the following question:
Would you like to base your project on a previously created project?

Selecting No lets you create a new project (see “Creating a New Project” on page 60).

Selecting Yes lets you base the new project on an existing project (see “Creating a New
Project Based on a Previous Project” on page 61).

June 2005 59 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

Creating a New Project


To create a new project, do the following:
1. On the first New Project Wizard form, select No.
2. Click Next.
3. Type the following information on the second New Project Wizard form:
❑ Location of the new project

Tip
Click to open the Browse for Folder window for navigating to a project location.
❑ Name of the new project
❑ Description of the new project (optional)
Note: When running the New Project Wizard as a step in the process of creating a new
workspace (see “Creating a New Workspace” on page 54), the location and name of the
new project are the same as for the new workspace, by default. The check box beneath
the Description field is used to make the Location and Name fields active so that the
default information can be changed:

4. Click Finish.

The new project is displayed and active in the VSdE main window.

June 2005 60 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

Creating a New Project Based on a Previous Project


To create a new project based on a previously created project, do the following:
1. On the first New Project Wizard form, select Yes.
2. Specify a previously created project on which to base a new project by doing one of the
following:
❑ Select a project from the list of projects provided.
Note: The list of projects that populates this form by default is taken from the
$ACV_ROOT/samples/acv/example_projects/netlist directory. The
ACV_PROJECT_PATH environment variable can be set to add other project
directories, separated by colons; for example:
setenv ACV_PROJECT_PATH $ACV_ROOT/samples/acv/example_projects/netlist:
/home/user/Projects: /home/libraries/projects

❑ Click to open the Select a Project File form, then navigate to and select a
previously created project file (.apf).
❑ Type the path to and name of a previously created project file (.apf) in the Project
file field.
3. Click Next.
4. Type the following information on the second New Project Wizard form:
❑ Location of the new project

Tip
Click to open the Browse for Folder window for navigating to a project location.
❑ Name of the new project
❑ Description of the new project (optional)
5. Click Finish.

The new project is displayed and active in the VSdE main window.

June 2005 61 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

Adding Project Items and Design Files


The environment supports the following methods for adding new project items and design
files to a project:
■ Using the File Menu to Add a Project Item or Design File on page 63
■ Using the Add Menu to Add a Project Item or Design File on page 63

Project items include tests, sweeps, corners analyses, spec sheets, model calibrations,
characterization and modeling items, and plans. The following forms apply:
■ Create Test form—see one of the following:
❑ Create Test Form—Composer Tests on page 107
❑ Create Test Form—Spectre Tests on page 181
❑ Create Test Form—ADE Tests on page 165
■ New Sweep Name form—see “Sweeps” on page 201
■ New Corners Name form—see “Corners Analysis” on page 209
■ New Specification form—see “Creating and Opening a Spec Sheet” on page 294
■ New Model Calibration Name form—see “Starting Model Calibration” on page 319

June 2005 62 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

■ New Characterization and Modeling form—see “Launching the CME from the SdE”
in the Virtuoso Characterization and Modeling Environment User Guide
■ New Plan form—see “Creating a Plan” on page 341

Design files include Verilog-AMS, SPICE, MATLAB, and text files (see “Text Editor” in the
Virtuoso Specification-driven Environment Reference).

Using the File Menu to Add a Project Item or Design File


To use the File menu to add a project item, do the following:
1. Choose File – New to open the New File window.
2. Select a VSdE or Design file type.
3. Click OK to begin creating the specified project file.

Using the Add Menu to Add a Project Item or Design File


To use the File menu to add a project item, do the following:
1. Select an item from the Add menu to begin creating the specified project file.
2. Specify the item on the form provided.

June 2005 63 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

Creating and Managing Workspace Templates


A workspace template is a way of using all or part of the contents of one test as the basis for
another, or similarly importing the contents of an existing Sweep or Corners setup. The
following template types are supported:

Template Type Description


Test includes by Reference to the contents of the Includes tab defining Netlist
reference Files, Other Includes, and OCEAN Commands (see
“Includes Tab—Spectre Tests” on page 191)
Sweep by reference Reference to the sweep parameters setup information on the
Sweep tab (see “Defining Sweep Parameters” on page 203)
Corners by reference Reference to the corners parameters setup information on the
Corners tab (see “Defining Corners Parameters” on page 211)
Test by copy Copy of the contents of the entire Test Setup window (see “Test
Setup Window for Schematic-Based Tests” on page 112, “Test
Setup Window—Spectre Tests” on page 186, or “Test Setup
Window—ADE Tests” on page 166)
Sweep by copy Copy of the contents of the entire sweep setup, including the
Sweep, Monte Carlo, and Run Options tabs (see “Sweeps”
on page 201)
Corners by copy Copy of the contents of the entire corners setup, including the
Corners, Monte Carlo, and Run Options tabs (see “Corners
Analysis” on page 209)

When a “… by reference” template is used, the values from the template are referenced by
the test, sweep, or corners setup. Changes made to a “… by reference” template are
available to all tests, sweeps, or corners setups that reference that template.

Important
A “… by reference” template cannot be created for a test setup that is targeted for
an ADE-available simulator.

When a “… by copy” template is used, the values in the Template Setup form are copied
and used as starting values. Changes made to a template are available only to tests, sweeps,
or corners that import the template after changes have been made.

June 2005 64 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

New templates can be created, and existing templates can be imported from existing tests,
sweeps, or corners setups. A single set of include file definitions can be referenced by
multiple tests by creating a Test includes by reference template. A new test can be created
based on another test by making the existing test available as a Test template in the
workspace. Similarly, a sweep or corners analysis can be created using a “… by copy”
template as a starting point or by referencing an appropriate “… by reference” template.
Template setup files are stored in the workspace directory (see “Overview” on page 51).

To open the Workspace Templates form for creating and managing workspace templates, do
one of the following:
■ In the VSdE main window, choose Project – Workspace Templates, then select either
Test or Sweep/Corner
■ Click Templates on any form where it appears (for example, on the Create Test form)

The Workspace Templates form appears.

June 2005 65 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

The list of templates available to the current workspace is displayed in the Templates list
area. The following buttons appear on the Workspace Templates form:

Button Description
New Opens the New Workspace Template form (see “Creating a New
Workspace Template” on page 67)
Import Opens the Import Workspace Template form (see “Importing a
Workspace Template” on page 68)
Edit Opens the Setup form associated with one of the following menu
items:
■ Workspace Includes Setup
■ Test Template Setup
■ Sweep Template Setup
■ Corners Template Setup
Delete Removes the selected template from the list of available templates
Copy Copies the selected template, giving the newly copied template the
same name as the original template with a numeric suffix

Tip
Use the Rename button to rename the template.
Rename Highlights the template name in an edit field for modification
DM Presents a drop-down menu of the following Design Management
operations (see “Design Management Operations” on page 73):
■ Update
■ Check Out
■ Check In
■ Cancel
Close Saves changes and closes this form
Help Opens Online Help for this topic

June 2005 66 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

The following right-click pop-up menu items apply to items listed in the Templates list area:

The Properties menu item is used to display the name of and path to the selected template
file in the Properties window (see “Properties Window” in the Virtuoso
Specification-driven Environment Reference). The remaining operations are described
in the table above.

Creating a New Workspace Template


To create a new workspace template, do the following:
1. On the New Workspace Template form, select a Template type radio button.
❑ Test includes/Sweep/Corners by reference: The set of test includes, sweep or
corners parameters defined in the template can be referenced by any test, sweep,
or corners setup
❑ Test/Sweep/Corners by copy: The template values can be copied into the current
test, sweep, or corners setup, and used as starting values for the various elements
(for example, include files, simulation options, measures, sweep or corners
parameters)

June 2005 67 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

2. For test templates, select a target simulator for the template from the For simulator
drop-down list.

Important
A “… by reference” template cannot be created for a test setup that is targeted for
an ADE-available simulator.
3. Type a name for the new template in the Template name field.
4. Click OK to display the appropriate tabs for the indicated Template type.
Note: When the Template type is “… by reference”, the Includes, Sweep, or
Corners tab is displayed in the Workspace Includes Setup window for specification of
include definitions. When the Template type is “… by copy”, the Template Setup
window is opened for specifying desired starting values for a test, sweep, or corners
analysis.
5. Specify information on the tabs presented.
6. Click OK to create the template and import its name to the list of available templates (in
the Templates list area on the Workspace Templates form).

Importing a Workspace Template


Workspace templates (by copy, by reference) can be imported to the list of available
templates, which is displayed in the Templates list area on the Workspace Templates form
(see “Creating and Managing Workspace Templates” on page 64).

June 2005 68 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

To import a workspace template from a test, sweep, or corners setup, do the following:
1. On the Import Workspace Template form, select a Template type radio button.
❑ Test includes/Sweep/Corners by reference: The set of test includes, sweep or
corners parameters defined in the template can be referenced by any test, sweep,
or corners setup
❑ Test/Sweep/Corners by copy: The template values can be copied into the current
test, sweep, or corners setup, and used as starting values for the various elements
(for example, include files, simulation options, measures, sweep or corners
parameters)
2. Select one of the Import from radio buttons as follows:
❑ To import a workspace template from a test, sweep, or corners setup in the current
project, select the Import from […] in project radio button and do the following:
a. Select from the available items on the drop-down menu in the field beneath the radio
button. A name matching the selected item is displayed in the Template name field.
b. Optionally, change the name displayed in the Template name field.
❑ To import a workspace template from a test, sweep, or corners setup not in the
current project, select the Import from other […] file radio button and do the
following:
a. Click in the Import from other […] file field to display the Select a […]/Template
File form for navigating to and selecting a test (.tst), sweep or corners (.swp) file,
or a by-reference (.wsinc, .wsinc_swp) template file.
b. Double-click the file name or click Open to select it. A name matching the selected
item is displayed in the Template name field.
c. Optionally, change the name displayed in the Template name field.
3. Click OK to open the appropriate window for the indicated Template type—the
Workspace Includes Setup window for a workspace includes template, or the Test
Template Setup window for a test template.
4. On the Workspace Templates form, click Close.

June 2005 69 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Workspaces and Projects

June 2005 70 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

3
Managing Workspaces and Projects

The Virtuoso® Specification-driven Environment (SdE) supports checkin/checkout of


projects, workspaces, and items in a project or workspace. Checking out an item creates a
local copy of the item and locks that item for use (modification) by a single user. Checking in
an item commits (writes) a new version to the repository, where prior version and history
information are preserved.

Items that are checked in (managed) are indicated by a bold M in the lower left corner of the
item’s icon. Items that are managed and checked out (locked) are indicated by a red check
mark in the lower left corner of the item’s icon.

A managed item can be defined as having Strict or Relaxed version control as follows:

Control Description
Strict Exclusive read/write access only
When an item is marked as Strict, it is read-only unless and until it is
checked out. The item is then locked for use (editing) until it is checked back
in again.
Note: Read-only items cannot be modified in the environment, but the Run
action is enabled.
Relaxed Concurrent read/write access
When an item is marked as Relaxed, new versions of the item can be
checked in without requiring a checkout operation first. Typically, the
workspace file (.awf) and results files are marked as Relaxed.

Important
No attempt is made to detect, merge, or otherwise incorporate
intervening changes made to any other local copies.

June 2005 71 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

The set of managed files associated with a test file (.tst), as well as the type of version
control applied to each item, is specified by the site administrator in the
dm_default.config file in $ACV_ROOT/admin.
Note: Even without Design Management, basic file locking is provided to prevent multiple
users from editing/writing the same project files at the same time.

Other related topics include the following:


■ Design Management Operations on page 73
■ Design Management Check In Form on page 74
■ Design Management Checkpoint Form on page 79
■ Design Management Tab in Properties Window on page 81
■ Design Management Status Window on page 82
■ Design Management Update on page 84
■ Design Management Check Out Form on page 86
■ Copy from Design Management Form on page 87
■ Copy Referenced Projects from Design Management on page 89

June 2005 72 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

Design Management Operations


To enable Design Management operations in the SdE, do the following:
1. Choose Tools – Options to open the Options window.
2. Select the Design Management tab.
3. Click to mark the Enable design management check box.

The following operations are supported for managed items:

Operation Description
Update Retrieves the latest checked-in version of an item from the repository
and copies it to the workarea; for a project, the Update form is opened
(see “Design Management Update” on page 84)
Note: This operation is available for Relaxed items, or for Strict items
that are not checked out. A Strict item that has been checked out
cannot be updated.
Check Out Performs the Update operation and locks the item or group of items
for exclusive modification by a single user (see “Design Management
Check Out Form” on page 86)
Cancel Cancels the Check Out operation, unlocking the item if locked; no
changes are made to the previously checked-in version
Check In Commits (writes) a new version of the item or group of items to the
repository (see “Design Management Check In Form” on page 74)
Checkpoint Opens the Checkpoint form for creating, restoring, and using
checkpoints (see “Design Management Checkpoint Form” on
page 79)
Delete As a checkin qualifier, marks the item for removal from the
workarea—the effect on the repository copy varies with the
underlying DM system (see “Check In Operation Qualifiers” on
page 78)
Status Opens the Status window for viewing status and version information
for each individual item in a group of items (see “Design Management
Status Window” on page 82)
Libraries For tests only: Provides a mechanism for checking in any
checked-out cellviews associated with the test

June 2005 73 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

The core menu items (Update, Check Out, Cancel, Check In) are available on the following
right-click pop-up menus:

Right-Click Menu Other related topics include the following:


Workspace “Files Tab” in the Virtuoso Specification-driven
Environment Reference
Project
Project Files
Project Parameters Project Parameters on page 91
Workspace Value Sets Workspace Parameters on page 95
Workspace Templates Creating and Managing Workspace Templates on page 64

Design Management Check In Form


The Check In operation commits (writes) a new version of an item or group of items for
Design Management. Items to be checked in can be any of the following:
■ The first (initial) version of an unmanaged item
■ A Strict item previously checked-out using the Check Out operation
■ A new version of a Relaxed item

Whether checking in a single item or a group of items, the OK button is used to close the form
after performing the Check In operation. The Cancel button can be used to close the form
without completing the Check In operation. Other related topics include the following:
■ Check In Form for Single Items on page 75
■ Check In Form for a Group of Items on page 76

June 2005 74 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

Check In Form for Single Items

The following information can be specified on the Check In form for a single item:

Table 3-1 Check In Form for One Item

Information Description
Checkin description Text string that gets displayed as part of the History (see
“Design Management Tab in Properties Window” on page 81)
Keep checked out Check box to mark the item for immediate checkout following
the Check In operation

June 2005 75 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

Check In Form for a Group of Items


Workspaces, projects, and tests each contain multiple related files. The set of files associated
with a workspace, project, or test can be checked in using the Check In form for multiple
items.

The columns of information on the Check In form are as follows:

Table 3-2 Check In Form Columns of Information

Column Information
File Name Name of file, including complete hierarchical path

Tip
The columns on the form can be resized by hovering over the
column separations: When the double arrow appears, click-drag to
adjust the column width. The form size can be adjusted by
hovering over the edges or corners of the window: When the resize
cursor appears, click-drag to adjust the window size.
Operation Drop-down menu of Check In operation qualifiers (see “Check In
Operation Qualifiers” on page 78)
Status Status keyword (see “Status Keywords” on page 79)

June 2005 76 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

Table 3-2 Check In Form Columns of Information, continued

Column Information
Version Repository version information (or blank for items that have not been
checked in previously)
Size Size of the file

The Set Operation button is used to perform the operation selected from the drop-down
menu to the left of the button on the list of files displayed in the File Name column (see
“Check In Operation Qualifiers” on page 78). The list of files displayed is determined by which
check boxes are marked ingroup box the Show files group box as follows:

Check Box Description


Checked out/Locked files When marked, display checked out/locked files
New/Unmanaged files When marked, display new/unmanaged files
Managed relaxed (derived) files When marked, display Relaxed items (for
example, derived results files)

The check boxes in the Scan directories group box, when present (for project checkin), are
used to indicate additional directories to include/exclude when scanning for files to list in the
File Name column:

Check Box Description


Results directories When marked, scan results directories
Test netlist directories When marked, scan test netlist directories
Optimizer run directories When marked, scan optimizer run directories

Important
As the results directory can contain a very large number of files, which are typically
not managed, this check box is unmarked by default in order to save time and
eliminate the clutter of unnecessary file names in the list.

The number of files displayed in the list is indicated in the status bar beneath the column.

June 2005 77 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

Tip
The Check All and Uncheck All buttons in the Show files and Scan directories
group boxes can be used to mark or unmark all check boxes in each group box with
a single action.

The Description field is used to type a text string that gets displayed as part of the History
for each individual file (see “Design Management Tab in Properties Window” on page 81).
Note: The index file is updated with the Description the first time an item is checked in. This
initial description does not change with subsequent checkins, but subsequent descriptions
can be provided to indicate the reason for each new checkin.

Check In Operation Qualifiers


The following specifiers can be used to qualify the Check In operation for each individual item
in a group of items (when selected from the Operation drop-down menu), or for the entire
group (when selected from the drop-down menu next to the Set Operation button):

Table 3-3 Check In Operation Qualifiers

Qualifier Description
Cancel Checkout Cancels the checkout operation
Note: The impact of this action on the local workarea copy
depends on the underlying Design Management system.
Check In Checks in the items
Delete Removes the items from the workarea; the effect on the
repository copy varies with the underlying Design Management
system; for example, DesignSync marks the item as inactive,
VersionSync removes all versions and history information for
the item

Don’t Check In Excludes the items from being checked in

June 2005 78 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

Status Keywords
The following keywords can appear in the Status column on the Check In form for multiple
files (see “Check In Form for a Group of Items” on page 76) or the Status window (see
“Design Management Status Window” on page 82):

Table 3-4 Status Keywords

Keyword Meaning
CIN Checked in
COTH Checked out by someone else
COUT Checked out
ERR Is in an inconsistent state
INACT 1 Inactive/deleted
NODM Not managed
UNMAN Unmanageable (or managed by another DM system)
1. This keyword applies only to DesignSync managed items.

Design Management Checkpoint Form


A checkpoint is a named set of one or more items, typically all files associated with a
workspace or project. The name (or checkpoint tag) typically indicates version information
(for example, tag06-05-03).

Important
A recommended method for tracking checkpoint names is to check in a project or
workspace immediately prior to creating the checkpoint, and specifying the intended
checkpoint name in the checkin description. This description text appears as part of
the History information that gets displayed in the Properties window (see “Design
Management Tab in Properties Window” on page 81).

The Checkpoint form is displayed when Checkpoint is selected from one of the following
Design Management menus:
■ Right-click pop-up menu for a workspace
■ Right-click pop-up menu for a project

June 2005 79 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

For information about these right-click pop-up menus, see “Files Tab” in the Virtuoso
Specification-driven Environment Reference.

The following operations are provided on the drop-down menu in the Operation field of the
Checkpoint form:

Table 3-5 Checkpoint Operations

Operation Description
Create Applies the checkpoint tag (Name) to all managed files in the
workspace or project
Note: Restrictions on what the Name can be depend on the
underlying Design Management software being used.
Restore – No checkout Updates the local copy of the set of managed files (in the
workarea) from the previously saved checkpoint (Name);
files in the repository are not marked as
Checked out/Locked
Restore – With checkout Attempts to update the local copy of the set of managed files
(in the workarea) from the previously saved checkpoint
(Name) by checking out and locking files from the repository
Note: The current repository version can be updated by
subsequently checking in the restored copy.

June 2005 80 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

Design Management Tab in Properties Window


The Design Management tab of the Properties window for a single managed item is
available when Properties is selected from the right-click pop-up menu for the item in the
VSdE main window (see “Files Tab” in the Virtuoso Specification-driven Environment
Reference). The following information is displayed on the Design Management tab:

Table 3-6 Design Management Properties

Information Description
Name Same as on the General tab (see “Properties Window” in the
Virtuoso Specification-driven Environment Reference)
Path
Version Repository version number for the item as of its most recent Update
or Check Out operation (see “Design Management Operations” on
page 73)
Status Status keyword (see “Status Keywords” on page 79)
History List of all versions of the item, with the most current version at the top
of the list; each item in the list includes its version number, status
keyword, and a brief description

June 2005 81 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

Design Management Status Window

June 2005 82 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

The following columns of information about each item in a set of managed files are displayed
in the Status window:

Table 3-7 Design Management Status Window

Item Description
File Name Name of file, including complete hierarchical path

Tip
The columns of the window can be resized by hovering
over the column separations: When the double arrow
appears, click-drag to adjust the column width. The
window size can be adjusted by hovering over the
edges or corners of the window: When the resize cursor
appears, click-drag to adjust the window size.
Status Status keyword (see “Status Keywords” on page 79)
Version Repository version information as of the most recent Update or
Check Out operation (see “Design Management Operations”
on page 73)
Note: The column is left blank for items that have not been
checked in previously.

The list of files displayed in the File Name column is determined by which check boxes are
marked in the Show files group box as follows:

Check Box Description


Checked out/Locked files When marked, display checked out/locked files
New/Unmanaged files When marked, display new/unmanaged files
Checked in files When marked, display checked in files

June 2005 83 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

The check boxes in the Scan directories group box, when present (for project status), are
used to indicate additional directories to include/exclude when scanning for files to list in the
File Name column:

Check Box Description


Results directories When marked, scan results directories
Test netlist directories When marked, scan test netlist directories
Optimizer run directories When marked, scan optimizer run directories

Important
As the results directory can contain a very large number of files, which are typically
not managed, this check box is unmarked by default in order to save time and
eliminate the clutter of unnecessary file names in the list.

The number of files displayed in the list is indicated in the status bar beneath the column.

Tip
The Check All and Uncheck All buttons in the Show files and Scan directories
group boxes can be used to mark or unmark all check boxes in each group box with
a single action.
Note: The Print button is used to get a printed copy of the displayed list.

Design Management Update


The Update form is displayed when the Update operation is performed on a project:

June 2005 84 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

The Update operation (see “Design Management Operations” on page 73) involves
exporting a copy of the currently checked-in version of an item to the local workarea. If the
item already exists in the local workarea, then a warning is issued along with the following set
of options:
■ Cancel the operation for that item
■ Rename the item before copying it to the local workarea
■ Overwrite the item in the local workarea with the copy exported from the repository

The following selections are available on the Update form:

Selection Description
Only VSdE project folders Specifies that items in the standard project folders are
to be updated
Note: Items in project folder subdirectories are not
updated. Use the other radio button selection to update
these items.
Entire project directory Specifies that all files in the entire project directory
hierarchy hierarchy are to be updated, including (but not limited
to) workspace files and any results files that were
previously checked in
Additionally, update results Enables (when marked) or disables (when unmarked)
files the Update operation for results files in the set such
that, when the check box is unmarked, results files are
not updated
Note: This check box is available only when the Only
VSdE project folders radio button is selected.

Note: Update is available for Relaxed items, or for Strict items that are not checked out. A
Strict item that has been checked out cannot be updated.

June 2005 85 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

Design Management Check Out Form


The Check Out operation first performs the Update operation (see “Design Management
Update” on page 84), then locks the item or group of items for exclusive modification by a
single user. Other users are blocked from writing a new version of the item until the item is
checked back in again or the Check Out operation is cancelled.

Note: A Relaxed item need not be checked out before a new version can be checked in.

The Check Out form contains the following radio buttons:

Table 3-8 Check Out Form

Radio Button Description


Latest Checks out the latest version of the item
Version Enables a drop-down menu for selecting a specific version of
the item for checkout (see “Design Management Check In Form”
on page 74)
Name Enables a text field for specifying a version by name (a
checkpoint) of an item for checkout (see “Design Management
Checkpoint Form” on page 79)

June 2005 86 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

When checking out multiple files, the check box to the left of each File Name in the list is
used to select one, some, or all files for checkout. The Check Selected and Uncheck
Selected buttons can be used to mark or unmark check boxes in selected rows with a single
action.

Tip
A set of adjacent rows can be selected by clicking the mouse in a row and dragging
up or down. Individual rows can be added to or removed from the set by holding
down the Ctrl key and clicking the mouse. All rows can be selected by clicking
anywhere in the File Name heading. All check boxes can then be marked (or
unmarked) by clicking Check Selected (or Uncheck Selected).

Copy from Design Management Form


The Copy from Design Management form is opened when one of the following actions is
performed:
■ DM Copy is clicked on the Open Workspace form (see “Opening an Existing
Workspace” on page 56)
■ Copy workspace from DM and open is clicked on the Select Workspace form (see
“Creating and Opening a Workspace” on page 53)

June 2005 87 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

■ Copy project from DM and open is selected on the Select Project form (see “Adding
a Project to a Workspace” on page 58)

The set of Workspace or Project files available in the selected Workarea are displayed on
this form. The destination for the local copy of the selected Workspace or Project file is
always relative to the Workarea. The button is used to display a form for navigating to
and selecting a Workarea. The following columns of information are provided in the Source
table:

Source Information Description


Base Base path and name of the source item
Repository Repository location of source item
DM Sys Design Management system (for example, vs for VersionSync)
Desc Description text of source item (specified when first checked in)

June 2005 88 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

The buttons work as follows:

Table 3-9 Copy from Design Management Form Buttons

Button Description
OK Creates a local copy of the selected Workspace or Project at the location
specified in the Destination field; if the item is a Project, then that project is
added to the active workspace
Cancel Closes the Copy from Design Management form without creating a local
copy of the selected Workspace or Project; returns control to the Open
Workspace or Open Project form

Copy Referenced Projects from Design Management


The Copy Referenced Projects from Design Management form appears when copying a
previously checked-in workspace that contains more than one project from the Design
Management repository. The path to and name of the project appears in the Name column.
The description text that was specified when each project was last checked in appears in the
Desc. column. The check box to the left of each project name is used to select one or more
projects to be copied along with the workspace from Design Management. The Check All
and Uncheck All buttons can be used to mark or unmark all check boxes with a single action.

June 2005 89 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Managing Workspaces and Projects

June 2005 90 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

4
Understanding Parameters

The Virtuoso® Specification-driven Environment (SdE) supports the following parameter


types:
■ Project Parameters on page 91
■ Workspace Parameters on page 95
■ Global Parameters on page 101
■ Local Parameters on page 101
Note: The button appears dynamically in numeric fields where the Expression Builder
can be applied (it appears after the mouse is clicked somewhere in the field). The Expression
Builder provides an environment for building complex expressions wherever numeric
expressions apply on forms. See “Expression Builder” in the Virtuoso
Specification-driven Environment Reference.

Project Parameters
Project parameters are global to a project and can be used with any design in that project.
They are used in tests, sweeps, corners, and other tools. For example, a sweep can be used
to simulate the design with various values for the project parameters.

Project parameters are prefixed with $ (for example, $temperature). A project parameter
is global to the entire project such that when its value changes, everything in the project that

June 2005 91 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

is dependent upon that parameter changes. Project parameters and their values are listed in
the Project Parameters table on the Parameters tab in the VSdE main window:

Nearly anything that you need to alter can be defined using a project parameter. For example,
the project parameter $process can be used to specify the model file (for example,
bsim3.mod) for a project. Models can be altered (for example, during a corners analysis)
using project parameters instead of hard-coded model names.

The following buttons appear beneath the Project Parameters table:

Table 4-1 Project Parameters Table Buttons

Button How To…


Add To add a project parameter, do the following:
1. Click the Add button beneath in the Project Parameters table.
2. Type the $parameter_name and its value in the empty row provided.
Remove To delete a project parameter, do the following:
1. Click anywhere in the row to be deleted.
2. Click Remove.

June 2005 92 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

Table 4-1 Project Parameters Table Buttons, continued

Button How To…


Save To save the project parameters to a file, do the following:
1. Click Save to open the Save Project Parameters form.
2. Either accept the default name by clicking Save, or type a new name in
the File name field and then click Save.
Note: The saved project parameters file has a .pl extension and is saved to
the save_params subdirectory of the tests directory for the project, but this
default location can be changed. The default file name is based on the
year-month-date and time of the save operation (for example,
params_02_09_23_16_03.pl). The format of the items in the file are as
follows:
$param_name = "param_value";

For example:
$vdd_value = "3";
$temperature = "27";

Load To load a set of project parameters from a file, do the following:


1. Click Load to open the Load Project Parameters form.
2. Navigate to and select a valid project parameters save file.
3. Click Open.
DM Presents a drop-down menu of the following Design Management operations
(see “Design Management Operations” on page 73):
■ Update
■ Check Out
■ Check In
■ Cancel

June 2005 93 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

These same tasks are available from the pop-up menu that appears as a result of
right-clicking on Active Project (just above the Project Parameters table):

Note: The additional Properties menu item opens the Properties window (see “Properties
Window” in the Virtuoso Specification-driven Environment Reference).

Any parameter that is declared to be a project parameter (by adding it to the Project
Parameters table) can be swept, used in a test, or used wherever a project parameter might
be required.

Project parameter values can be simple numbers (including numbers with engineering
suffixes—for example, “m” for 1e-3, “u” for 1e-6), text, or expressions that reference other
project parameters. Project parameter values can also reference environment variables using
Perl syntax.

Table 4-2 Valid Values for Project Parameters

Project Parameter Example Value or Perl $Variable


$fout_vss 20f
$measure_start 100e-9
$process bsim3.mod
$process_dir $HOME/models
$process_file model_$temp.mod
$vdd 3.3
$half_vdd $vdd/2

Note: The Perl environment-variable-syntax convention can be used to specify a Perl


variable in the fields of the Test Setup window, as well as in the Value column of the Project
Parameters table (see also “Environment Variables in Test Setup” on page 105).

June 2005 94 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

The Add Parameter form is displayed when any parameters that are referenced in any tests
of the project are not found in the Project Parameters table:

Tip
Click in the Param Type column to display a drop-down list: Project, Workspace.
Selecting Workspace as the Param Type causes a parameter to be placed in the
Workspace Parameters table instead of the Project Parameters table.
➤ Click OK to add these parameters and their default values.
Note: The Value column of the Project Parameters table is blank for any parameter that
has multiple variable values (for example, swept parameters), or does not have a default
value.

Workspace Parameters
Workspace parameters belong to a workspace and take precedence over project parameters.
Using workspace parameters, multiple projects can share a common set of parameter values
(for example, $temperature, $process, $vdd_value). Workspace parameters are
grouped together in value sets. A value set is a logical grouping of workspace parameters
that are varied together. For example, a set of parameters for 1.8-volt power and a set of
parameters for 3.3-volt power.

The Workspace Parameters table appears above the Project Parameters table in the
VSdE main window when there is one or more workspace value sets in the workspace.
View - Workspace Value Sets is used to toggle the display of the Workspace
Parameters area (see “View Menu” in the Virtuoso Specification-driven Environment
Reference).
Note: Plans created in one workspace project can run plans in other workspace projects.
Simulation results are grouped by workspace value set name and can be compared using the
Spec Sheet tool.

June 2005 95 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

If a parameter is found in both the Workspace Parameters table and the Project
Parameters table, the value in the Workspace Parameters table takes precedence.
Parameters can be cut or copied from one table and pasted into the other as follows:
1. Select the entire row (parameter and value) from the source parameter table by clicking
in either column and dragging the mouse cursor along the row to the other column.
2. Choose Edit – Cut or Edit – Copy to perform the cut or copy action.
3. Click the Add button beneath the destination parameter table to select the destination for
the cut/copied parameter and value.
4. Choose Edit – Paste to paste the cut/copied value into the destination table.
Note: Simulation results are written to a directory named after the current Workspace Value
Set for the current lib/cell/view, if one exists; otherwise, the results directory is results.

Other related topics include the following:


■ New Workspace Value Set Form on page 96
■ Workspace Parameters Table Buttons on page 98
■ Workspace Set Right-Click Pop-Up Menu on page 99
■ Workspace Value Set Operations on Project Menu on page 100

New Workspace Value Set Form

To open the New Workspace Value Set form, do the following:


➤ In the VSdE main window, choose Project – Workspace Value Set – Add.

Workspace parameters belong to a workspace and take precedence over project parameters.
Using workspace parameters, multiple projects can share a common set of parameter values
(for example, $temperature, $process, $vdd_value). Workspace parameters are

June 2005 96 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

grouped together in value sets. A value set is a logical grouping of workspace parameters that
are varied together.

Field Contents
Workspace value set name Name of the workspace value set
Copy parameters from Pull-down list of existing workspace sets from which to
copy the initial set of parameters
Note: Selecting “- none -” from this list creates an empty
workspace value set.

The following buttons appear on the New Workspace Value Set form:

Button Description
OK Adds the workspace value set name to the Workspace Parameters table,
which appears above the Project Parameters table in the VSdE main
window when there is one or more workspace value sets in the workspace
Cancel Closes the form without applying any changes
Help Opens the Online Help page for this topic

June 2005 97 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

Workspace Parameters Table Buttons


The following buttons appear beneath the Workspace Parameters table:

Button How To…


Add To add a workspace parameter, do the following:
1. Click the Add button beneath in the Workspace Parameters table.
2. Type the $parameter_name and its value in the empty row provided.
Remove To delete a workspace parameter, do the following:
1. Click anywhere in the row to be deleted.
2. Click Remove.
DM Presents a drop-down menu of the following Design Management operations
(see “Design Management Operations” on page 73):
■ Update
■ Check Out
■ Check In
■ Cancel

June 2005 98 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

Workspace Set Right-Click Pop-Up Menu


The following pop-up menu appears as a result of right-clicking in the Workspace Set area
above the Workspace Parameters table:

Menu Item Description


Add Param Adds a row to the table for specifying a new
workspace parameter name and value
Note: If there is no current Workspace Value Set,
then the New Workspace Value Set form is opened
(see “New Workspace Value Set Form” on
page 96). The parameter name must begin with a
dollar sign ($).
Remove Param Removes the current row from the table
Add Workspace Value Set Note: These Workspace Value Set operations are
the same as those outlined in “Workspace Value
Delete Workspace Value Set
Set Operations on Project Menu” on page 100
Rename Workspace Value Set (Add, Delete, and Rename).
Design Management Presents a submenu of the following Design
Management operations (see “Design
Management Operations” on page 73):
■ Update
■ Check Out
■ Check In
■ Cancel
Properties Opens the Properties window (see “Properties
Window” in the Virtuoso Specification-driven
Environment Reference)

June 2005 99 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

Workspace Value Set Operations on Project Menu


The following selections are available on the Project – Workspace Value Set submenu in
the VSdE main window:

Item Description/Procedure
Add 1. Type the name of the new workspace value set in the Workspace
Value Set Name field on the New Workspace Value Set form (see
“New Workspace Value Set Form” on page 96).
2. Select a workspace from which to copy the initial set of parameters (or
“- none -” to create an empty workspace value set) from the
drop-down list in the Copy parameters from field.
3. Click OK.
Delete Removes the currently active workspace value set.
Rename 1. Type the new name of the workspace value set in the New
Workspace Value Set Name field on the Rename Workspace
Param Set form:

2. Click OK.

June 2005 100 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

Global Parameters
Global parameters are design variables that are global to the design.
■ For schematic-based tests, global design variables are declared and mapped to project
parameters on the Globals tab of the Test Setup window (see “Globals Tab—Schematic
Designs” on page 115).
■ For standalone netlist-based tests, global parameters are declared and defined
according to methods supported by the target simulator.
Note: For Spectre® circuit simulator tests, global parameters are defined using a
parameters statement in the netlist (see “Parameters Statement” in the Virtuoso
Spectre Circuit Simulator User Guide):
parameters parameter_name = value

In order for a netlist-based global parameter to be used in a test, it must be associated


with either a project or a workspace parameter by adding a Perl $ variable of the same
name to the appropriate Parameters table in the VSdE main window.
For example:

a. Click the Add button beneath the appropriate Parameters table in the VSdE main
window (either Project or Workspace).
b. Type the name of the global parameter, prefixed with the Perl $, in the Parameters
column of the table (for example, $vdd_value).
c. Type the value in the Value column (for example, 3).

Whenever the value of the project or workspace Perl variable (for example, $vdd_value) is
changed—for example, during a sweep analysis (see “Sweeps” on page 201)—the value of
the declared global parameter (for example, vdd_value) is also changed. A sweep analysis
works on project parameters and workspace parameters, which can be applied to multiple
tests in the project.

Local Parameters
For the Spectre circuit simulator, a local parameter is specified using a parameters
statement at the beginning of a subcircuit definition (see “Parameters Statement” in the
Virtuoso Spectre Circuit Simulator User Guide). Local parameters can be set for the
DUT as well as for other components in the design (for example, for any design subcircuit that
is added as a component).

June 2005 101 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Understanding Parameters

June 2005 102 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

5
Test Setup from the Schematic Window

Tests provide stimulus and loads components for a device under test (DUT), and define all
measures and values necessary to obtain a given result. A test can consist of the following:
■ A single design netlist
■ Zero or more components
■ Parameter values for the design, components, and measures
■ Simulation controls/commands (and control values)
■ Net names to which additional components can be connected
■ Connection mapping between components, measures, and the design
■ Zero or more measures

The contents of a test vary depending on analysis types and circuit configurations. Most tests
require the following items:
■ Design netlist, parameterized circuit, or Verilog-AMS behavioral model
■ Voltage/current sources and stimulus components
■ Simulation script containing commands to specify the analysis, options, and measures,
and to set parameters for the design

The following tasks are supported when using the Virtuoso® Specification-driven
Environment (SdE) with the Virtuoso Schematic Editor (see also “Advanced Analyses and
Tasks” on page 104):
■ Creating one or more schematics for a design
■ Starting the SdE on page 105
■ Creating tests to simulate the design (see “Create Test Form—Composer Tests” on
page 107)
■ Running the test (see “Run Tab” on page 150)

June 2005 103 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Advanced Analyses and Tasks


The environment can be used to run a sweep or corners analysis over several tests, or to
characterize several designs at the same time. For example, a DUT can be characterized
using ten different test benches, then replaced by a new DUT which can then also be
characterized using the same ten test benches.

Other related topics include the following:


■ Sweeps on page 201
■ Corners Analysis on page 209
■ Monte Carlo Analysis on page 216
■ Chapter 11, “Verifying and Comparing Designs”
■ Chapter 12, “Calibrating Behavioral Models”

The environment further supports the following interactions with the schematic editor:
■ Open a schematic from the environment
■ Select the following items from a schematic:
❑ Net and source selections for analyses
❑ Probe nets and terminals
❑ Measure nets and sources
❑ Stimulus hook-up nets
❑ Nets and terminals for waveform plotting
■ Import and export design variables to/from a schematic
■ Browse cds.lib libraries using library browsers
■ Change the view of a design and run sweeps/corners analyses again using overrides
■ Open the Hierarchy Editor from the Run Options tab in the environment
■ Save a calibrated behavioral model to a library
■ Back-annotate operating point information
Note: A schematic design does not need to be placed anywhere special to work with the
SdE; it can remain in its usual location, pointed to by cds.lib. Designers do not need to
netlist their design because the environment performs this task.

June 2005 104 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Environment Variables in Test Setup


Environment variables that are defined prior to starting the environment can be used in any
field of the Test Setup window. For example, a possible entry in the Include directories list
area on the Includes – Netlist Files tab is $process_dir/ADS_025, where $process_dir is
an environment variable which is defined as the path to a directory of process model
directories (see “Netlist Files—Spectre Tests” on page 192).

Also, for schematic-based tests, the $IC_START environment variable is automatically set to
the directory where icms (or icfb) was started. This special environment variable can be used
in any field of the Test Setup window (as in $IC_START/models).

Starting the SdE


The following methods for starting the SdE for schematic designs are supported:
■ Starting the SdE from the Schematic Window on page 105
This method supports working with a single design.
■ Starting the SdE from the Command Interpreter Window on page 106
This method provides support for using the environment with multiple designs: multiple
schematic test benches that operate on the same DUT; running sweeps/corners over
several different schematics (for example, for testing several blocks of a design
separately before wiring them together).

Once the environment is started, a new test can be created (see “Create Test Form—
Composer Tests” on page 107). The new test can be based on or copied from an existing test
(see “Copy Test Form” on page 110). Tests are stored in the Tests folder on the Files tab of
the VSdE main window.
Note: The right-click pop-up menu for a test can be used to manipulate the test or its name
(see "Files Tab" in the Virtuoso Specification-driven Environment Reference).

Starting the SdE from the Schematic Window


To start the SdE from the schematic environment, do the following:
1. Open the schematic.
2. Choose Tools – VSdE. The VSdE menu is added to the menu banner in the schematic
window.

June 2005 105 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

3. Select a workspace or create a new one (see “Creating and Opening a Workspace” on
page 53). If the current schematic does not have a test associated with it already, the
Create Test form appears (see “Create Test Form—Composer Tests” on page 107).

Starting the SdE from the Command Interpreter Window


This method provides support for using the environment with multiple designs. For example,
multiple schematic test benches that operate on the same DUT, or running sweeps/corners
over several different schematics (like for testing several blocks of a design separately before
wiring them together).

To start the environment from the Command Interpreter Window (CIW), do the following:
1. From the system prompt, start DFII by typing the following (or similar) command:
icms &

2. From the CIW, choose Tools – VSdE to open the VSdE main window.
3. Browse for and select the design for which a test is to be created.
Note: Available libraries are located using cds.lib.
4. Select a workspace or create a new one (see “Creating and Opening a Workspace” on
page 53).

Multiple tests can reference multiple designs, which can all be opened in the environment.
Multiple designs can be added as projects in the same workspace. Sweeps and corners
analyses can be defined for all tests, even if the tests reference different designs.

June 2005 106 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Create Test Form—Composer Tests


The Create Test form is configured for the creation of schematic-based tests when
Composer is selected in the Test type group box.

When the Create Test form appears as a result of starting the environment from the
schematic Window (see “Starting the SdE from the Schematic Window” on page 105), the
lib/cell/view of the schematic is displayed in the Library, Cell, and View fields of the Design
location group box. The default name for the test (displayed in the Test name field) is
derived from the cell name but can be changed. The Browse button is used to change the
design location information.

The following procedures are described:


■ Selecting a Simulator Integration Type on page 108
■ Copying Test Setup Information from a Template on page 109
■ Importing Simulation Control Information on page 109

June 2005 107 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

From the VSdE main window, any of the following methods can be used to open the Create
Test form:
■ Right-click the Tests folder on the Files tab and select New Test from the pop-up menu.
■ Click on the toolbar.
■ Choose Add – New Test.
■ Choose File – New (shortcut = Ctrl-N), then select the Test radio button in the New File
window and click OK.
■ Right-click a test in the Tests folder and select New from the pop-up menu.
Note: This method is available only when there is at least one test in the Tests folder.

Selecting a Simulator Integration Type


The following simulator integration types are available for selection in the Integration group
box on the Create Test form in the Virtuoso® Specification-driven Environment (SdE):
■ VSdE Native — for simulators directly available in the environment (see Chapter 7,
“Creating Tests for Spectre Simulation”)
■ Other — for simulators available in the environment through the Virtuoso Analog Design
Environment (see Chapter 6, “Creating Tests for an ADE Simulator”)

Once the Integration type has been selected, the target simulator for the test can be selected
from the drop-down list in the Simulator field.

June 2005 108 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Copying Test Setup Information from a Template


To copy test setup information from a template, do the following:
1. On the Create Test form, in the Copy from template field, select an available test or
workspace includes template from the drop-down list.
Note: The list of template names in the Copy from template field comes from the
templates stored in the workspace_workspaceName directory. The SIMULATOR type
in the template must match the selection in the Integration group box. (For information
about SIMULATOR type, see "Test File Format" in the "Directories and File Formats"
appendix of the Virtuoso Specification-driven Environment Reference.) Templates
are listed in alphabetical order. To force a template to be displayed as the default in this
field, set the ACV_DEFAULT_TEST_TEMPLATE environment variable to the name of the
template prior to running the SdE and opening the workspace. For example:
setenv ACV_DEFAULT_TEST_TEMPLATE defaultTemplate

2. (Optional) Click Templates to open the Workspace Templates form for creating and
managing workspace templates (see “Creating and Managing Workspace Templates”
on page 64).

Importing Simulation Control Information


To import simulation control information from an ADE state directory, do the following:
1. In the Import simulation control group box, select From ADE.
2. In the State dir field, type the directory path.

Tip
Click to open the Browse for Folder window and navigate to the state directory.
Click OK when finished in this window.
Note: The starting point in the Browse for Folder window for state directory is
~/.artist_states/libName/cellName, unless a different root directory is
specified in .cdsenv using the asimenv saveDir setting (for example,
./artist_states).
3. Click OK.

June 2005 109 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The following state information is imported:


■ analyses
■ environmentOptions
■ modelSetup
■ outputs
■ simulationFiles
■ simulatorOptions

The following state information is not imported:


■ graphicalStimuli
■ sensList
■ spList
■ parametric analysis
■ corners
■ monte carlo

Copy Test Form


An existing test can be copied and pasted into the currently active project’s Tests folder, into
another open project’s Tests folder, or into the Tests folder of an open project in another
session. Copying and pasting an existing test can be accomplished using one of the following
methods:
■ Drag-and-drop: click-drag the item to a new location, then release the mouse button to
accomplish the drop
Note: The appearance of a + sign when hovering over a location indicates a valid target
for the drop; Ø indicates an invalid target for the drop.
■ Right-click copy/paste: right-click the test in the source Tests folder and select Copy
from the pop-up menu; then right-click a test in the target Tests folder and select Paste
Note: The right-click Paste operation is available only in a target Tests folder that
already contains at least one test.

June 2005 110 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

If the name of the dropped/pasted test is the same as another test already in the target folder,
then the Copy Test form is opened:

On the Copy Test form, do one of the following:


■ Accept the suggested name by clicking OK, or
■ Type a new name in the field provided, then click OK.

The target folder can be one of the following in any open project in the main window of any
session:
■ The same as the source folder
■ A like project folder in another open project (for example, a test can only be copied into
a Tests project folder)
■ A like project folder in an open project in another session

June 2005 111 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Test Setup Window for Schematic-Based Tests


The Test Setup window is used to create and run tests. The tabs available for specifying
test-bench component, measures, and simulation setup information depend on the target
simulator selected. The flow for creating a test for a schematic design generally follows the
order of the tabs in the Test Setup window. For tests targeted for an ADE-available simulator,
see Chapter 6, “Creating Tests for an ADE Simulator”.

Table 5-1 Test Setup Window Tabs—Schematic Designs

Tab Purpose
Design Specify the lib/cell/view location of the test (see “Design Tab—Schematic
Designs” on page 114)
Includes Specify include and model files (see “Includes Tab—Spectre Tests” on
page 191)
Globals Specify global design variables (see “Globals Tab—Schematic Designs”
on page 115)
Components Specify additional component instances for loads and stimuli—for
example, resistors, capacitors, voltage and current sources (see
“Components Tab” on page 130)
Analyses Specify analyses (see “Analyses Tab—Spectre Tests” on page 196)
Sim Options Specify simulation control options (see “Sim Options Tab—Spectre Tests”
on page 198)
Measures Specify measurements for the test (see “Measures Tab” on page 141)
Run Specify run options, run the test, view run status, display measured
results, and plot simulation data waveforms (see “Run Tab” on page 150)

June 2005 112 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The buttons displayed along the bottom of the Test Setup window are described in the
following table.

Button Purpose
Run Starts a simulation for the completed test setup and displays the Status tab
(on the Run tab) of the Test Setup window (see “Run Tab—Status Tab” on
page 153)
Note: If any changes have been made in the Test Setup window since the last
Apply, the user is prompted with the following choices prior to running the test:

Test values have changed. Do you want to save the changes before
run?
❑ Yes — Apply the changes and run the test.
❑ No — Don’t apply the changes. Run the test using the last-saved Test
Setup settings.
❑ Cancel — Don’t apply the changes; don’t run the test.
OK Saves the entered paths, directories, and current data in the tabbed forms
and closes the Test Setup window
Cancel Exits the current window without saving the data
Apply Saves the current test setup data
Help Opens an Online Help topic for the current window

Note: The button appears dynamically in numeric fields where the Expression Builder
can be applied (it appears after the mouse is clicked somewhere in the field). The Expression
Builder provides an environment for building complex expressions wherever numeric
expressions apply on forms. See "Expression Builder" in the Virtuoso
Specification-driven Environment Reference.

June 2005 113 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Design Tab—Schematic Designs


The Design tab is where the lib/cell/view of the selected schematic design is displayed (in
the Design location area).

June 2005 114 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The buttons on this tab are as follows:

Button Description
Open Design Opens the indicated schematic in the Virtuoso Schematic Editor
Browse Opens the Select Design form for navigating to and selecting a
design (see “Specifying a Design Location” on page 185)
View List Opens the View List form for specifying ordered lists of switch and
stop cell views that contain information that can be simulated
Note: When the netlist is created, these lists are searched in order
until a cell view is found. For more information, see the Cadence
Analog Design Environment User Guide.

Globals Tab—Schematic Designs


The Globals tab supports the following tasks:

Tasks See
■ Get and view variables from a schematic design Design Vars Tab on
page 116
■ Save design variables back to the schematic
■ Specify how schematic design variables are evaluated and
updated in the design
For VSdE Native Spectre tests only (see “Create Test Form— Design Alters Tab on
Spectre Tests” on page 181): page 124
■ Alter instance parameters without requiring design parameters
■ Use PDKs with callbacks in sweeps, corners, etc.

June 2005 115 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Design Vars Tab

The following procedures are outlined:


■ Adding Design Variables on page 117
■ Changing the Value Used on page 118
■ Removing Design Variables on page 119
■ Getting Design Variables from the Schematic on page 119
■ Saving Design Variables to the Schematic on page 121
■ Updating Design Variables with Fixed Values on page 121

June 2005 116 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Adding Design Variables

To add a row to the Design variables table, do the following:


1. On the Design Vars tab, click Add.
2. In the Name column, type the name of a design variable.
Note: A project/workspace parameter used to represent the design variable for the test
appears in the Value Used column as $Name (a Perl variable).
3. Click Apply.

The Add Parameter form appears.

On the Add Parameter form, do the following:


1. In the Value column, type a value for the parameter.
2. (Optional) Change the Param Type from Project to Workspace.
3. Click OK.
Note: Project parameters are added to the Project Parameters table in the VSdE main
window; Workspace parameters are added to the Workspace Parameters table (see
Chapter 4, “Understanding Parameters”).

June 2005 117 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Changing the Value Used

The Value Used is typically a project (or workspace) parameter that is used for the test. The
Current Value is the evaluated value of the design variable.

The Value Used can contain an expression, and that expression can be based on measured
results from another test. For example, the following expression uses the results of another
test’s measure multiplied by two:
“test_name”.measure_name*2

where test_name is the lib/cell/view path to and name of a test, and measure_name is
the name of a measure in that test. For example:
“myLib/myCell/myView/test1”.meas1*2

Important
By default, parameters found in the Value Used column are interpreted as Perl
variables and evaluated prior to netlisting. Single quotation marks can be used
around the entire string to force the Value Used to be passed directly to the netlist
as it is, without any evaluation.

To change the Value Used, do the following:


1. On the Design Vars tab, click in the Value Used column for the parameter you want to
change.
2. Click to use the Expression Builder to build a parameter expression (see
"Expression Builder" in the Virtuoso Specification-driven Environment Reference), or
type a new value: a constant, a parameter, or a parameter expression. Enclose the string
in single quotation marks if you want it passed directly to the netlist without first
performing a Perl evaluation.

To update the value displayed in the Current Value column after changing the Value Used,
see “Updating the Current Value” on page 118.

Updating the Current Value

The Update button above the Current Value column is used to force a recalculation of the
Current Value displayed, which is useful after changing the Value Used or changing a
project or workspace parameter value on the Parameters tab (see “Project Parameters” on
page 91 or “Workspace Parameters” on page 95).

June 2005 118 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

To update the value displayed in the Current Value column after changing the Value Used,
do one of the following:
➤ Click Apply, or
➤ Click Update (above the Current Value column).

To update the value displayed in the Current Value column after changing a project
parameter value, do the following:
➤ Click Update (above the Current Value column).

Removing Design Variables

To remove a design variable from the Design variables table, do the following:
1. On the Design Vars tab, select a row in the Design variables table.
2. Click Remove.

Getting Design Variables from the Schematic

To read design variables from the schematic (honoring the switch view list) and display them
in the Design variables table, do the following:
1. On the Design Vars tab, click Get Design Vars.
2. Click Apply to open the Add Parameter form (see “Adding Design Variables” on
page 117).

On the Add Parameter form, do the following:


1. In the Value column, type a value for the parameter.
2. (Optional) Change the Param Type from Project to Workspace.
3. Click OK.

June 2005 119 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The columns of the Design variables table contain the following information:

Column Contents
Name Design variable name
Value Used Project/workspace parameter used to represent the design variable for
the test (as $Name)
Note: The Value Used can be a constant, a parameter, or a parameter
expression.
Current Value Evaluated value based on the parameter or expression in the Value
Used column

For subsequent uses of Get Design Vars, design variables are read from the schematic and
the following actions are performed:
■ If a design variable is not already listed in the table, then it is added, as above.
■ If a design variable already exists in the table, and the value read from the schematic is
different from the Current Value for that variable, then:
❑ If Value Used is a simple number, then the new value replaces the Current Value.
❑ If Value Used is a parameter or expression, then the new value does not replace
the Current Value. Instead, the New Value and Current Value are displayed on
the Global Parameter Differences form:

To update the Current Value to match the value read from the schematic (the
New Value), the project/workspace parameters must be changed on the
Parameters tab of the VSdE main window (see Chapter 4, “Understanding
Parameters”).

June 2005 120 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Saving Design Variables to the Schematic

To write the Current Value of the design variables to the schematic, do the following:
➤ On the Design Vars tab, click Save Design Vars.
Note: For ADE designs, the design variables are written to an ADE-specific property,
overwriting anything previously saved there.

Updating Design Variables with Fixed Values

The Update design variables with fixed values group box is used to specify how
schematic design variables, and expressions in which they are used, are evaluated and
updated in the design. Replacing design variables and expressions with fixed values is useful
after completing a design, when the design variables and expressions need to be replaced
by fixed values before going to extraction/layout.

Important
Changes are not reflected in the Design variables table on the Design Vars tab.
The Design variables table continues to display the design variables (even though
they are no longer present on the schematic design). Also, the design variables are
not removed from the Test Setup, Sweep, or Corners windows because a test or
sweep can be set up for use by more than one design. However, sweeping a design
variable that is no longer present on the schematic design can cause confusion: the
sweep runs, but the results do not change (because the design now has fixed
values).

The following check boxes and buttons are available:

Table 5-2 Update Design Variables with Fixed Values

Item Description
Evaluate Check box to enable full evaluation of expressions in schematic design
operators variables such that expressions are replaced by fixed values when
Update is clicked
Evaluate suffixes Check box to enable evaluation of scientific suffixes in schematic
design variables (for example, u for 1e-6, etc.) and to display numbers
using engineering notation instead, such that (for example) when
Update is clicked, 50u becomes 5e-5

June 2005 121 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Table 5-2 Update Design Variables with Fixed Values, continued

Item Description
Update Click to perform the indicated (marked) evaluations on schematic
design variables, and to replace those variables with fixed values on
the schematic
Note: The Update Design Variables form appears, with a table of the
design variables and the fixed values evaluated for them, to confirm the
updates. The check boxes in the Update column are used to
enable/disable individual design variable updates. Those variables that
are updated to a fixed value can no longer be swept. The Restore
operation can be used to restore the original design variables or
expressions, which are saved in a property in the schematic editor
(_acvOrigExpr).
View Log Click to view a log file of the schematic design variable changes
performed
Restore Click to restore the original (saved) value expressions
Note: This operation replaces the fixed value with the original design
variable or expression that was saved in the _acvOrigExpr property.
Clean Click to remove the schematic properties that contain the original
saved value expressions

Important
This action cannot be undone, and the Restore operation will
no longer work once the Clean action is performed.

For example, consider a design with the following global design variable:

Name Value Used Current Value


length $length 3

This design variable (length) is used in an expression on MOSFET instance /I1/M1 as


follows:
l=length*2u

June 2005 122 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Clicking Update causes the following actions to be performed:


■ The Virtuoso Schematic Editor finds all the places where the design variable length is
used on the schematic and copies these expressions to the _acvOrigExpr property.
■ All occurrences of length are replaced by the current value of $length (which is based
on the project and workspace parameter values).
■ The expressions are evaluated according to the check boxes marked in the Update
design variables with fixed values group box.

In the following example, the Current Value of $length is 2.5:

Selection Description
Evaluate operators length*2u becomes 5u
Evaluate suffixes length*2u becomes 2.5*2e-6
Both length*2u becomes 5e-6

June 2005 123 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Design Alters Tab

Important
The Design Alters tab is available for VSdE Native Spectre tests only (see “Create
Test Form—Spectre Tests” on page 181).

Design alters are used to alter instance parameters without requiring design parameters to
be defined (on the schematic), and to use PDKs with callbacks in sweeps and corners
analyses.

The Design Alters tab is used to perform the following tasks:


■ Getting Design Alters from the Schematic on page 125
■ Saving Design Alters to the Schematic on page 125
■ Adding Design Alters on page 126
■ Editing Design Alters on page 127

June 2005 124 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

■ Removing Design Alters on page 127


■ Highlighting Design Alters on the Schematic on page 127
■ Evaluating Callbacks on page 127
■ Updating the Schematic on page 128
■ Customizing the List of Instance Parameters for Design Alters on page 128

See also “Updating the Current Value” on page 118.

Getting Design Alters from the Schematic

To get design alter information from the schematic, do the following:


➤ On the Design Alters tab, click Get Alters.

Design alters (previously saved as a property on each cell) are obtained from the schematic
and displayed in the Design alters table as follows:

Column Information
LCV Instance lib/cell/view
Inst Instance name, displayed as /instance
Name Instance parameter to be altered
Value Used Project (or workspace) parameter that used in the test; by default,
$Param
Note: The Value Used column can contain an expression.
Current Value Evaluated value based on the parameter or expression in the Value
Used column

Saving Design Alters to the Schematic

To save design alter information as a property on each cell, do the following:


➤ On the Design Alters tab, click Save Alters.

June 2005 125 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Adding Design Alters

To add a design alter, do the following:


1. On the Design Alters tab, click Add to open the Select Instances to Parameterize form.

2. On the Select Instances to Parameterize form, click Select to bring the schematic into
the foreground in selection mode.
3. On the schematic, select one or more instances to be altered. Each instance name
appears in the Instances area on the Select Instances to Parameterize form (for
example, "/M1" "/M3").

Important
All selected instances must have the same Component Description Format (CDF)
instance parameter list, and these parameters must be altered in the same way.

For each instance parameter you want to alter, do the following:


1. On the Select Instances to Parameterize form, select a parameter name from the
Instance drop-down list (in the Parameterization group box).
Note: The Project field is automatically populated with a project parameter name based
on the Instance name: $Instance. It is this project parameter that will be used in the
test and can be varied in a sweep or corners analysis.
2. (Optional) Map the Instance parameter to a different parameter in the Project list or
type an expression.
3. Click Apply.
4. When finished mapping instance parameters to project parameters, click OK.

June 2005 126 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Editing Design Alters

To edit an existing design alter, do the following:


1. On the Design Alters tab, select one or more rows in the Design alters table.
2. Click Edit to open the Select Instances to Parameterize form.
3. Edit the information as desired (see also “Adding Design Alters” on page 126).
4. Click OK.

Removing Design Alters

To remove one or more design alters from the Design alters table, do the following:
1. On the Design Alters tab, select one or more rows in the Design alters table.
2. Click Remove.

Tip
Use click-drag to select multiple contiguous rows. Use Ctrl-click to add or remove
additional individual rows to/from the selection set.

Highlighting Design Alters on the Schematic

To highlight selected instances on the schematic, do the following:


1. On the Design Alters tab, select one or more rows in the Design alters table.
2. Click Highlight.

Evaluating Callbacks

The Evaluate callbacks check box is used as follows to determine whether or not to
evaluate callbacks during simulation:
■ When the Evaluate callbacks check box is marked, callbacks are evaluated during
simulation for each different parameter value. Alters are used to define parameter values
for simulation.
■ When the Evaluate callbacks check box is not marked, callbacks are not evaluated
during simulation.

June 2005 127 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Note: Callbacks are always evaluated when updating the schematic (see “Updating the
Schematic” on page 128). It is OK to mark the Evaluate callbacks check box even if there
are no callbacks to evaluate.

Callback procedures are used in PDKs to recalculate parameters that depend on other
parameters. For example, MOS parameters as, ad, ls, ld, and area depend on the value
of the width parameter, w. So, when w gets changed (for example, by editing the instance
parameter on the schematic), these dependent parameters must be recalculated.

When the Design Alters tab is used, the instance parameters are changed on a "working
copy" of the schematic cellview (created in acvScratchLib), and when Evaluate
callbacks is enabled, library callbacks are executed during simulation to recalculate the
values of the dependent parameters. Values read from the working-copy schematic are used
to create the alters.
Note: Library developers should also see “Customizing the List of Instance Parameters for
Design Alters” on page 128.

Updating the Schematic

To update the cell instances on the schematic with the current values of the project
parameters, do the following:
➤ On the Design Alters tab, click Update Schematic.

Customizing the List of Instance Parameters for Design Alters

The list of parameters available on the Instance drop-down on the Select Instances to
Parameterize form (see “Adding Design Alters” on page 126), as well as their default values,
comes from the CDF properties. This list can be customized such that only a particular subset
of parameters is available for selection (for example, w and l of a MOS device, but not ad,
as, ls, or ld, because these are calculated from w and l). In addition, a minimum and
maximum value limit can be defined for each parameter in the selection list.

To customize the list of Instance parameters, do the following:


1. Create a file called libInit.il in the directory where it will be loaded when the library
is opened. For example, suppose the following library is defined in cds.lib:
DEFINE myLib /home/user/libraries/myLib

The libInit.il file for this library should be created in


/home/user/libraries/myLib.

June 2005 128 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

2. Include a SKILL disembodied property list (DPL) using the following structure (see "Data
Structures: Disembodied Property Lists" in the SKILL Language User Guide):
libInfo=`(
libName (nil
cellName (nil
params (
paramName (nil)

)
[procs ([procName …])]
)

)

)

3. Finally, include a call to acvDefineLibParamInfo using the name of the DPL as the
argument as follows:
acvDefineLibParamInfo(libInfo)

Important
If the SdE context (acv.cxt) has not been loaded, or if the loaded context is not
current for this release, then the acvDefineLibParamInfo call can be wrapped
as follows to prevent a stack trace when loading libInit.il:
if(isCallable('acvDefineLibParamInfo)
then
acvDefineLIbParamInfo(libInfo)
)

For library portability, each libInit.il file typically contains a single libInfo structure
for a single libName. The libInfo structure can contain more than one cellName, and
more than one paramName for each cellName. The procs line is optional and can be
specified as procs nil or left out altogether. When the Evaluate callbacks check box is
marked, callbacks associated with each CDF parameter are executed. Any procedures called
using procs are called in addition to the parameter callbacks, and without arguments.

Here is an example libInit.il file:


libInfo=`(
myPrimLib (nil
nmos (nil
params (
wid (nil)
len (nil)
)
procs (myPrimLibCalcDependentNmos)
)
res (nil
params (
w (nil)
l (nil)
tc1 (nil)

June 2005 129 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

)
procs (myPrimLibCalcDependentRes)
)
)
)
acvDefineLibParamInfo(libInfo)

Components Tab
The Components tab is used to select and configure components for a test. The set of
components available depends on the set of libraries configured.

The Add button is used to add components from the configured libraries to the test. Available
libraries (for example, spectre_prim, worklib, builtins) are displayed in the drop-down list in
the Library field on the Add Design Component form, which is presented when Add is
clicked.

June 2005 130 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Instance names for components added to a test appear in the Components list area.
Connections between component pins and design nets are made in the Pin/Net table (by
selecting a net from the drop-down list in the Net column for each component pin in the Pin
column). The fields and tables that appear on the tab depend on the component selected in
the Components list.

Standard buttons on the Components tab and their functions are outlined in the following
table:

Button Description
Add Opens the Add Design Component form for adding a component to the test
(see “Add Design Component Form” on page 132)
Delete Removes the selected component from the test
Copy Copies the selected component, presenting the Set Instance Name form for
naming the new instance added to the test
Rename Displays the component instance name in an edit field so that the name can
be modified
Note: A shortcut for clicking Rename is to double-click the component
instance name in the Components list area.

Other related topics include the following:


■ Typical Components Tab Configurations on page 133
■ Components Tab Configurations for builtins Library on page 134

June 2005 131 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Add Design Component Form


The Add Design Component form is opened when Add is clicked on the Components tab of
the Test Setup window. The library is selected from a drop-down list in the Library field.
Note: User-written Verilog-AMS measurement function files can also be added to libraries
and accessed using this form (see "User-Written Measures" in the Virtuoso
Specification-driven Environment Reference).

The following fields are available on the Add Design Component form:
■ Library: selectable from a pull-down menu of built-in and customized user-supplied
libraries
■ Cell, View, and File which are filled in when a design component is made selected in
the list field below the File field.

June 2005 132 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The buttons on the Add Design Component form are described in the following table:

Button Description
Add Opens the Set Instance Name form:

Type a unique instance name and click OK.


Cancel Close the form without saving changes
Help Opens the Online Help page for the active window
Library List Opens the Library List Manager form (see “Library List Button” on
page 184)
Add File Opens the Add Design Component File form for navigating to and
selecting SPICE or Verilog files to add to the list of available
components

Typical Components Tab Configurations


The following fields, tables, and controls can appear on the Components tab of the Test
Setup window, depending on what component in the Components list area is selected.

Table 5-3 Components Tab Fields, Tables, and Controls

Item Description
Pin/Net table Lists pins of the selected component (in the Pin column) and
allows connection of the design nets to these pins by selecting a
design net from the drop-down list in the Net column for each pin in
the Pin column
Note: You can use the Select button in the Schematic column to
select a net on the schematic. For non-schematic nets, the net name
must not have the forward-slash escape character (/) at the front.
The slash indicates a schematic net name that must be mapped to
a netlist name. If the escaped name is not found (in the amap
directory), it is mapped to the empty string.

June 2005 133 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Table 5-3 Components Tab Fields, Tables, and Controls, continued

Item Description
Subckt field Contains the name of the SPICE subcircuit, from the File indicated
in the Component location fields, whose parameters and pins are
displayed on the Components tab
Parameters table Lists the parameters of the selected component, including
parameter descriptions, their current and default values, and the
units of the parameters. The fields in the Value column can be
modified
Component Provides fields for displaying the Library, Cell, View, and File
location group box name information for the selected component instance
Edit button Used to open the File, indicated in the Component location area,
in a text editor window

Components Tab Configurations for builtins Library


Cadence provides the builtins library which contains the following components:
■ Built-Ins: vpwl_analog and ipwl_analog on page 135
■ Built-Ins: vpwl_file and ipwl_file on page 136
■ Built-Ins: vpwl_digital and ipwl_digital on page 138
■ Built-Ins: vstaircase and istaircase on page 140
Note: The builtins library is available to all projects.

The fields, tables, and buttons that appear on the Components tab depend on which
component is selected.

June 2005 134 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Built-Ins: vpwl_analog and ipwl_analog

The analog piecewise linear components in the builtins library require monotonic time-value
pairs (time-voltage for vpwl_analog and time-current for ipwl_analog), which are specified
by adding rows to the Time/Voltage (or Time/Current) table and typing values in the
appropriate columns. The buttons operate as described in the following table.

Item Description
Add Row Adds an empty row after the last row
Insert Row Inserts an empty row beneath the selected row
Delete Row Removes the selected row and its contents

June 2005 135 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Built-Ins: vpwl_file and ipwl_file

The analog piecewise linear from-a-file components in the builtins library require monotonic
time-voltage (or time-current pairs, for ipwl_file) in a file, expressed in columns of data which
can be separated by spaces or tabs. Any blank lines in the file are ignored. Lines containing
either a * or a # in the first column are assumed to be comments and are also ignored.

June 2005 136 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The fields in the Parameters group box are used as described in the following table.

Item Description
Filename Name of file containing the PWL time-voltage (or time-current for
ipwl_file) pairs

Tip
Click to open the Select a vpwl or ipwl file form for
navigating to and selecting a file.
Note: If Filename is a simple file name without a path, then the current
directory is searched first, followed by any directories specified in the
-I: Include directories list area on the Netlist Files tab on the
Includes tab of the Test Setup window (see “Netlist Files—Spectre
Tests” on page 192).
Initial delay Time to delay the start of the PWL
Multiplier Multiplier

June 2005 137 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Built-Ins: vpwl_digital and ipwl_digital

The digital piecewise linear components in the builtins library are used to build analog
representations of digital PWL stimuli and require the following information.

In the Stimulus table, values (1’s and 0’s) can be either typed or defined using the following
buttons:

Button Description
Invert Inverts the entire stimulus; all 1’s become 0’s and all 0’s become 1’s
Repeat Repeats the last value
Toggle Inserts the inverse of the last value; inserts a 0 when 1 is the last value, or 1
when 0 is the last value

Note: If the Stimulus field is empty, clicking Invert inserts a 1 as the first value in the field.

June 2005 138 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The fields in the Parameters group box are used to define the PWL stimulus as described in
the following table.

Field Description
High value High analog value for the PWL waveform
Low value Low analog value for the PWL waveform
Interval Duration of each of the PWL high-value or low-value segments
Rise time Rise time for changing from Low value to High value
Fall time Fall time for changing from High value to Low value

The Repeat stimulus check box is used to enable/disable PWL repeat mode, which repeats
the specified PWL stimulus indefinitely.

June 2005 139 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Built-Ins: vstaircase and istaircase

The fields in the Parameters group box are used to define staircase components as
described in the following table.

Table 5-4 Parameters for Staircase Stimulus

Field Description
Initial delay Time (from time-zero) to wait before taking the first step
Start value Voltage or current value at which to start the staircase
Note: This value is held from time-zero through Initial delay.
End value Voltage or current value at the top of the staircase
Step count Number of steps to go from Start value to End value, after Initial delay

June 2005 140 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Table 5-4 Parameters for Staircase Stimulus, continued

Field Description
Step time Time from the start to the completion of each step (including Step slope
time)
Step slope Time it takes to get from the top value of the last step to the top value of the
next step

Measures Tab
Measurement functions, which operate on simulation results, are specified and set up on the
Measures tab of the Test Setup window. The appearance of the tab depends on the type of
measure being added. Also, when a measure name is highlighted in the Measures list, the
remaining items on the tab display information about that measure.

The set of measurement functions that are available to the test are listed in the Measures list
box. Those marked with check marks are performed when the test is run. Measures in a test
must be ordered such that any measure whose result is used in another measure comes first
in the Measures list.

Tip
Use the right-click pop-up menu in the Measures list area to Check All or Uncheck
All measure check boxes. This right-click menu offers choices for the following
actions: {Add, Rename, Delete, Move Up, Move Down, Check All, Uncheck
All}.

June 2005 141 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The following set of buttons applies to all measure types, unless otherwise indicated:

Buttons Description
Add Presents a submenu of measure types (see “Adding a Measure” on
page 143)
Delete Removes the selected measure from the test (see “Deleting a Measure” on
page 148)
Copy Copies the selected measure (see “Copying a Measure” on page 148)
Rename Renames the selected measure (see “Renaming a Measure” on page 149)
Moves the selected measure up or down in the list, as indicated by the arrow
Help For OCEAN and MATLAB measures only, a Help button appears to the right
of the Measures list and is used to display help for the selected measure

See also “Creating Results from Other Measured Results” on page 149.

The following check boxes are available for all measure types, unless otherwise indicated:

Check Box Purpose


Preserve domain data Controls whether or not the domain values (for example,
times for transient analysis, or frequencies for AC
analysis) at the points where the measurements are
taken are written to the results (.res) file
Enable auto-plot When marked, enables automatic plotting of the
measure results upon successful completion of the
simulation
Save output in results file For OCEAN and MATLAB measures only, controls
whether or not results for the selected measure are
stored in the results file
Note: If this check box is not marked, then measure
results cannot be displayed (for example, by clicking View
on the Results tab of the Sweep window). For measures
whose results are intended only as input to other
measures, the mark can be removed from the check box
so that these “intermediate” results are not stored in the
results file.

June 2005 142 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Adding a Measure
The following measure types are supported, as presented on the Add submenu:

Add Menu Item Description


OCEAN Measure Opens the Add OCEAN Measure form (see "Adding OCEAN
Measures in the SdE" in the OCEAN Measures User Guide)
ADE Calculator Opens the Set Measure Name form for specifying a unique
instance name for the new measure
OCEAN Script
On the Set Measure Name form, do the following:
1. Type a name for the measure as it is to appear in the test.
2. Click OK to add the new measure name to the Measures list.
See also “ADE Calculator Expression” on page 144 and “OCEAN
Script Measure” on page 145.
MATLAB Measure Opens the Add MATLAB Measure form (see "Adding a
MATLAB Measure" in the MATLAB Measures User Guide)
Note: The MATLAB Measure item is available only for selection
when the Allow MATLAB measures and plotting check box is
marked in the Defaults group box on the Other tab of the Options
window (see “Defaults Group Box” on page 242), and requires a
full MATLAB license and software from The MathWorks, Inc.

Note: If a measure requires a particular analysis (or analyses), and the required analysis has
not been specified, then the environment displays a form to disable the measure. For
example:

June 2005 143 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

ADE Calculator Expression

When Add – ADE Calculator is selected, the Measures tab is configured for specification
of a measurement expression using the Calculator. Which Calculator window appears
depends on the Default for Calculator and Direct Plot selection in the Defaults group box
on the Other tab of the Options window (see “Defaults Group Box” on page 242). The
following buttons are displayed beneath the text area in the ADE Calculator Expression
group box:

Button Description
Calculator Opens the Calculator window for developing measures
Get Calc Expr Imports the expression from the Calculator into the text area in the
ADE Calculator Expression group box
Direct Plot Opens the Direct Plot Form, the design schematic window, and either
a Waveform Window or a Graph Window for plotting simulation results,
depending on the Default for Calculator and Direct Plot selection in
the Defaults group box on the Other tab of the Options window (see
“Defaults Group Box” on page 242)
Note: For information about the Direct Plot Form, see Chapter 10,
"Plotting and Printing,” in the Cadence Analog Design
Environment User Guide.
DP -> Calc Imports the plot expression from Direct Plot into the Calculator
Get DP Expr Imports the plot expression from Direct Plot into the text area in the
ADE Calculator Expression group box on the Measures tab

Alternatively, any valid Calculator expression can be typed directly into the text area in the
ADE Calculator Expression group box.

June 2005 144 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

OCEAN Script Measure

When Add – OCEAN Script is selected, the Measures tab is configured for specification of
a measurement function built using the OCEAN scripting language. OCEAN statements can
be typed in the text area in the OCEAN Script group box on the Measures tab. For example:
crosstime=cross(VT("/clk"),0.5,0,"either")
unless(crosstime==nil acvMeasResult=crosstime)

When typing an OCEAN script measure in the text area provided, observe the following
guidelines:
■ Getting Waveform Data on page 146
■ Writing Error Messages on page 146
■ Saving Measured Results on page 147

June 2005 145 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Getting Waveform Data

Calculator functions are used for getting data out of the simulation results file. For example:
crosstime=cross(VT("/clk"),0.5,0,"either")

Important
For components that are specified on the Components tab rather than on the
schematic (see “Components Tab” on page 130), the name specified as the
argument to the Calculator function must be the simulator name instead of the
schematic name. The schematic name begins with a slash (/) and has a slash
between the component name and any port name. The simulator name depends
on the target simulator. For the Spectre circuit simulator, the simulator name does
not begin with a slash, and has a colon (:) between the component name and any
port name. For example, the current through a DC source defined on the
Components tab is specified as IT("vdc_port:p") when Spectre is the target
simulator, whereas the same current when the DC source is on the schematic is
specified as IT("/vdc_port/PLUS").

For information about: Other related topics include the following:


AWD Calculator functions Waveform Calculator User Guide
WaveScan Calculator functions WaveScan User Guide

Writing Error Messages

In order for error messages from measures to be recognized when the OCEAN script is run
from the environment, they should be prefixed by Error:. For example:
printf("Error: abcd %L must be >0\n",abc)

June 2005 146 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Saving Measured Results

The following methods are supported for saving measure data to the result database:
■ acvMeasResult variable: For custom measures that return one measurement result,
the value (or list of values) can be assigned to the acvMeasResult variable. The value
can be a waveform. The OCEAN code wrapped around the measure recognizes this
variable and saves the value or values to the result database using the measure’s
instance name as a key.
■ acvMdumpRes function: For custom measures that generate more than one result, each
result value can be saved to the result database by calling the acvMdumpRes function
using one of the following forms:
Using the result name as an identifier:
acvMdumpRes("resultName " resultValue);
Using the measure instance name and result name as an identifier:
acvMdumpRes("instanceName:resultName " resultValue);
Applying an optional suffix to the result name as an identifier:
acvMdumpRes("resultName " resultValue optionalSuffix);
Note: In the case of a nil result, ***** is written to the results file.

Here are some examples of the acvMdumpRes function, showing the format of the results as
they are written to the results file:

Using the first form:


acvMdumpRes("myDelay" delay)
acvMdumpRes("mySlope" slope)

Results are written as:


myDelay = delayValue
mySlope = slopeValue

Using the second form:


acvMdumpRes("myMeasure:myDelay" delay)
acvMdumpRes("myMeasure:mySlope" slope)

Results are written as:


myMeasure:myDelay = delayValue
myMeasure:mySlope = slopeValue

Using the third form:


acvMdumpRes("myMeasure" delay "myDelay")
acvMdumpRes("myMeasure" slope "mySlope")

June 2005 147 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Results are also written as:


myMeasure:myDelay = delayValue
myMeasure:mySlope = slopeValue

Copying a Measure
To copy a measure, do the following:
1. On the Measures tab, select a measure from the Measures list.
2. Click Copy.
The Set Measure Name form appears:

3. In the Measure name field, type a name for the measure as it is to appear in the test.
4. Click OK.

The measure name appears in the Measures list area on the Measures tab. The check box
for the added measure is marked by default.

Deleting a Measure
To delete a measure from the test, do the following:
1. On the Measures tab, select a measure from the Measures list.
2. Click Delete.

The measure is removed from the test.

To delete a measure from the test using the right-click pop-up menu, do the following:
1. In the Measures list, right-click a measure.
The pop-up menu appears.
2. Select Delete.

The measure is removed from the test.

June 2005 148 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Renaming a Measure
To rename a measure in the test, do the following:
1. On the Measures tab, select a measure from the Measures list.
2. Click Rename.
The measure name is selected for editing.
3. Type a new name or edit the existing one.
4. Press Return to accept the changes or Esc to cancel the edit.

Creating Results from Other Measured Results


The results of OCEAN, Calculator, and MATLAB measures can be used to create other
results. For each of these measure types, the resultName (as it appears in the result file) is
the same as the measure name. This name can be used as a variable standing for the
measured result value when building another result as follows:
1. Create an OCEAN, Calculator, or MATLAB measure (see “Adding a Measure” on
page 143).
2. Use the Measure name as a variable in the new result expression in an OCEAN Script
measure (see “OCEAN Script Measure” on page 145), or in the Ending OCEAN
commands area on the OCEAN Commands subtab of the Includes tab (see “OCEAN
Commands—Spectre Tests” on page 195).

For example:
my_new_meas = my_ocn_meas + 4.4
acvMdumpRes("my_new_meas_result" my_new_meas)

Important
In order for one measured result to be used in another measure’s expression, the
referenced result must be defined before the new expression. The order of the
measures can be changed by selecting a name in the Measures list and using the
up and down arrow buttons (see “Measures Tab” on page 141). Also, the Ending
OCEAN commands are executed last.

June 2005 149 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Run Tab
The Run tab of the Test Setup window features the following sub-tabs:

Tab Name Description


Options Set up options for the run (see “Run Tab—Options Tab” on page 152)
Status View status, simulation time, memory used, etc., for the run (see “Run
Tab—Status Tab” on page 153)
Results View and plot measured results from the test (see “Run Tab—Results Tab”
on page 155)
Waveforms Plot waveforms from the simulation data files for the test (see “Run Tab—
Waveforms Tab” on page 158)

To run a test, do one of the following:


■ In the Test Setup window, click Run.
■ Select Run from the right-click pop-up menu for the test in the Tests folder on the Files
tab in the VSdE main window.
■ Select a test from the Tests folder on the Files tab, then choose Run – Run Test in the
VSdE main window.
■ Mark the check box for the test on the Test Console tab in the VSdE main window, then
click Run Tests.
Note: Another way to run a test is to choose VSdE – Run Simulation in the schematic
window.

Tip
The right-click pop-up menu for the test offers the following additional selections for
schematic editor users: Open Design (for opening the design in the schematic
window) and Create/View Netlist (for displaying the design netlist in a read-only
text editor window).

Running a test causes one or more simulation files to be generated, and the output results
data is captured. A single simulation is run, for each analysis specified, using the test values
and any project or workspace parameters referenced in the test. Pin connections are checked
when the test is run. Unconnected pins can be resolved on the Net Mapping form (see “Using
the Net Mapping Form” on page 189).

June 2005 150 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Note: When a test is run, the following tasks are performed:


❑ Netlists all designs that will be used in the simulation
❑ Creates the following files:
❍ Final netlist
❍ Script file containing the simulation control commands
❍ Run file containing the simulation command and any command-line arguments
❑ Runs the simulations

Test results are written to the results/topLib/topCell/topView directory for the


workspace. The final netlist for the test, which can be used for standalone simulation, is found
in a run directory corresponding to the test name and run number as follows:
results/topLib/topCell/topView/testName/runx

where x represents the run number (for example, run0). For example, results for lib/cell/view
PllLIB/vcoV2F/schematic, test name vcoV2F, run 0, are written to the following
directory:
results/PllLIB/vcoV2F/schematic/vcoV2F/run0

The final netlist is also named according to the run number as follows:
testName_x.va

where x represents the run number. For example, the netlist file for the vcoV2F test, run 0,
is named as follows:
vcoV2F_0.va

Note: The environment generates a script (runSIM) containing simulation commands,


including any required command-line arguments, in the run directory for the test. The
environment also generates a simplified version of runSIM (for example, it does not contain
any output redirects) that is suitable for debugging simulation problems (debugSIM) which
can be run from the system prompt (in the run directory) as follows:
debugSIM

June 2005 151 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Run Tab—Options Tab

For information on these options, see Chapter 9, “Specifying Run Options.”

June 2005 152 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Run Tab—Status Tab

The Status tab on the Run tab of the Test Setup window is displayed when any of the
following actions is performed:
■ In the Test Setup window, click Run to run the test.
■ Select a test in the Tests folder on the Files tab of the VSdE main window, and choose
Run – Run Test.
■ Right-click a test in the Tests folder and select Run from the pop-up menu.

June 2005 153 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The status of the test is displayed on the Status tab as follows:

Field Description
Status Displays the percent done during the run, and the final status at the
end of the run (passed or failed)
Simulator Displays the simulator used for the run (for example, Spectre)
Host Displays the host name of the computer on which the test is run
Start Displays the start date for the run
Start time Displays the starting time for the run
Elapsed time Displays the elapsed (clock) time for the run
CPU time Displays the CPU time used for the run
Memory used Displays the memory used for the run
Output files size Displays the disk space allocated for the output files
Run dir Displays the run directory for the test; for example:
results/lib/cell/view/testName/run0

The buttons on the Status tab are as follows:

Button Description
View Netlist Opens the netlist for the test in a read-only text editor window
View Script Opens the simulation control command file (script) for the test in a
read-only text editor window
View Output Opens the simulator output messages file in a read-only text editor
window
View Errors Opens the simulation error messages file in a read-only text editor
window
View Other Opens the View Run File form for selecting a run file to display in a
read-only text editor window
Open Xterm Opens an xterm window in the simulation run directory
Note: The xterm command is specified using the ACV_XTERM
environment variable whose default value is:
ACV_XTERM = xterm -sb -sl 500 -geometry 100x30

June 2005 154 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Run Tab—Results Tab


Measured results from the test run are displayed on the Results tab.

June 2005 155 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The buttons on the Results tab are used as follows:

Table 5-5 Results Tab Buttons

Button Description
Calculator Opens the Calculator window for developing measures
Note: Which Calculator window appears depends on the Default for
Calculator and Direct Plot selection in the Defaults group box on the
Other tab of the Options window (see “Defaults Group Box” on page 242).
Plot Plots the selected measure according to the selection from the drop-down
menu:
❑ Clear, then plot—Clears any traces currently plotted in the
current waveform window, then plots the selected item or items.
This is the default setting.
❑ Plot in new window—Opens a new waveform window and plots
the selected item or items. This window becomes the current
window.
❑ Overlay in current plot—Plots the selected item or items as an
overlay in the current plot, leaving whatever traces might already
be there intact.
Note: If AWD is not already running, then selecting an item from the Plot
drop-down menu opens a waveform window and plots the selected item.
Format Displays the Format tab of the Cell Formatting window (see “Formatting
Table Cells” on page 260) for formatting the selected row or rows of data

Tip
Use click-drag to select multiple cells.
DP -> Calc Imports the plot expression from Direct Plot into the Calculator
Direct Plot Opens the Direct Plot Form, the design schematic window, and either a
Waveform Window or a Graph Window for plotting simulation results,
depending on the Default for Calculator and Direct Plot selection in the
Defaults group box on the Other tab of the Options window (see “Defaults
Group Box” on page 242)

For information about the Direct Plot Form, see Chapter 10, “Plotting and
Printing,” in the Cadence Analog Design Environment User Guide

June 2005 156 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Table 5-5 Results Tab Buttons, continued

Button Description
Op Point Opens the Operating Point window if there are any operating point data
files for the test (see “Analyzing Operating Point Information” on page 263)
View Presents a drop-down menu of the following selections (see the Cadence
Analog Design Environment User Guide):
■ Mismatch Summary
■ Noise Summary
■ Noise Parameters
■ Stability Summary
■ Pole-zero Summary
■ Sensitivity
■ Advanced Analysis

Note: The Hide domain data check box—which only appears for results files that contain
domain data (for example, times for transient analysis, or frequencies for AC analysis)—can
be marked to cause domain data not to be displayed on the Results tab.

Additionally, the following buttons are available on the upper right corner of the tab for
exporting and printing measured results:

Button Description
Exports the measured results data to an HTML file in the docs directory for
the project, named as follows:
Measures_libName-cellName-viewName-testName .html
where libName, cellName, viewName, and testName uniquely identify
the results.
Opens the Print Setup form (see also "Printer Setup" in the Virtuoso
Specification-driven Environment Reference)
Opens the Save As form for selecting a name and location for the file of
comma-separated values to which to save the data

June 2005 157 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Run Tab—Waveforms Tab

The Auto-plot check box (upper right corner of the form) is used to enable/disable automatic
plotting of those signals for which the Plot check box is marked, and all measure results, upon
successful completion of the simulation.
Note: Waveforms from different analysis types are plotted in separate windows. All measure
results are plotted in a single window.

June 2005 158 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

The information for this form is discussed in the following sections of “Viewing Waveforms” on
page 278:

Information Other related topics include the following:


Signals to plot “Signal Specification” on page 281
Copy Save List
Select
Add
Delete
Plot actions “Plot Actions” on page 282
Note: The Plot analysis drop-down menu is available only in the
Plot actions group box on the Waveforms tab on the Run tab of
the Test Setup window.

Other related topics include the following:


■ AC, XF, and SP Modifiers for AWD on page 159
■ S-Parameter Plot Types on page 160

AC, XF, and SP Modifiers for AWD

When multiple analyses have been run, the Plot analysis drop-down menu is used to specify
which analysis results are to be plotted. When the Plot analysis type is AC, XF, or SP, the
Modifiers selection list appears in the lower left corner of the tab. The list of modifiers
depends on which Plot viewer is selected. For example, for AWD, the Modifiers are as
follows:

Table 5-6 AC, XF, and SP Modifiers for AWD

Selection Plots
DB20 & Phase db20 and phase of the selected net or terminal
DB10 & Phase db10 and phase of the selected net or terminal
Mag & Phase Magnitude and phase of the selected net or terminal
Real & Imag Real and imaginary parts of the selected net or terminal
DB20 db20 of the selected net or terminal
DB10 db10 of the selected net or terminal

June 2005 159 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

Table 5-6 AC, XF, and SP Modifiers for AWD, continued

Selection Plots
Mag Magnitude of the selected net or terminal
Phase Phase of the selected net or terminal
Real Real part of the selected net or terminal
Imag Imaginary part of the selected net or terminal

When the Plot analysis type is XF, the Signals to plot area becomes the Instances to plot
area.

S-Parameter Plot Types

When the Plot analysis type is SP, the Signals to plot area becomes the S-Parameters
to plot area, and the Plot types selection list appears next to the Modifiers list:

Selection Description
Auto Plots the data using an appropriate plot type
Rectangular Plots the data in a rectangular coordinate system
Z-Smith Plots impedance data in a Smith chart
Y-Smith Plots admittance data in a Smith chart
Polar Plots the data in a polar chart

June 2005 160 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

June 2005 161 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Test Setup from the Schematic Window

June 2005 162 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

6
Creating Tests for an ADE Simulator

The Virtuoso® Specification-driven Environment (SdE) supports creation of tests, and


simulation setup, for any simulator available to the Virtuoso Analog Design Environment
(ADE) using the following flow:
1. Create the design using the Virtuoso Schematic Editor.
2. Start the SdE (see “Starting the SdE” on page 105).
3. Create a test targeted for an ADE-available simulator:
❑ Create Test Form—ADE Tests on page 165
❑ Test Setup Window—ADE Tests on page 166
❑ Project Parameters in ADE on page 168
Note: See also “Test Setup Customization for Other Simulators” on page 169.
4. Netlist for, and simulate using, an ADE-available simulator
5. Perform any of the following simulation data post-processing tasks:
❑ View results of measures
❑ Back-annotate operating point information
❑ Display waveforms
❑ Use the Calculator or Results Browser

June 2005 163 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

Other tools are supported, or not, as indicated in the following table:

Supported Not Supported


■ Tight integration with the schematic editor ■ Monte Carlo
■ Tests targeted for ADE-available simulator ■ Characterization and
Modeling
■ Sweeps/Corners
■ Spec Sheets
■ Model Calibrations
■ Plans (Perl)
■ Documents
■ Analog design environment state file import
■ Integrated waveform viewer, Calculator, and Results
Browser
■ Netlisting for ADE-available target simulator

Important
Some ADE netlisting functionality will not work if the netlisting mode is not set to
analog prior to opening the environment. For icms, the netlisting mode is
automatically set to analog; for other applications, the CDS_Netlisting_Mode
environment variable must be set to Analog:
setenv CDS_Netlisting_Mode Analog

June 2005 164 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

Create Test Form—ADE Tests


To create a test targeted for an ADE-available simulator, do the following:
1. On the Files tab in the VSdE main window, right-click the Tests folder and select New
Test from the pop-up menu.
The Create Test form appears.

2. In the Test name field, type a test name.


3. In the Integration group box, select Other.
4. From the drop-down list in the Simulator field, select an ADE-available target simulator.
5. (Optional) Specify a template from which to copy test setup information (see “Copying
Test Setup Information from a Template” on page 109).
6. (Optional) Import simulation control from the Virtuoso Analog Design Environment (see
“Importing Simulation Control Information” on page 109).
7. Click OK.

The Test Setup window appears (see “Test Setup Window—ADE Tests” on page 166).

June 2005 165 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

Test Setup Window—ADE Tests


The tabs of the Test Setup window for ADE integration are as follows:

■ Design tab (see “Design Tab—Schematic Designs” on page 114)


■ ADE tab (see below)
■ Globals tab (see “Globals Tab—Schematic Designs” on page 115)
■ Measures tab (see “Measures Tab” on page 141)
■ Run tab (see “Run Tab” on page 150)

To set up a test targeted for an ADE-available simulator, do the following:


1. In the Test Setup window, click to display the ADE tab, if it’s not already displayed.

June 2005 166 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

2. Click the appropriate buttons on the ADE tab to display the necessary ADE forms—for
example, clicking Analyses causes the ADE Choosing Analyses form specific to the
selected simulator (for example, spectre) to be displayed; similarly, clicking Simulation
Options causes the ADE Simulator Options form for the targeted simulator to be
displayed.
Note: See “BUTTON” on page 172 for information about how to customize the set of
buttons and the ADE forms they display.
3. Click Apply on the ADE forms to save changes, or OK to save changes and close the
forms.

Analog design environment state information is initially written to a file called


testName.acv in the state directory. At the end of the session, this file is removed from the
state directory and copied to the project location as testName.artist.

The OCEAN script (created in the lib/cell/view directory as testName.ocn) is displayed in


a vi editor window, with the message [Hit return to continue] appearing along the
bottom. To close the window, do the following:
1. Press Return.
2. Type :q and press Return to quit vi and close the window.

Each time the test is opened, all forms are initialized with the saved test and state file
information. Whenever any of the ADE setup information changes, the OCEAN script is
displayed when the test is saved.

When the test is run, the generated script performs the following tasks:
■ General setup
■ Runs the OCEAN script (to run the target simulator)
■ Evaluates measures
Note: Measures created using the Calculator are added to the OCEAN script.

June 2005 167 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

Project Parameters in ADE


The $ prefix used to indicate Perl variables (for project and workspace parameters) are
typically used, instead, to indicate environment variables in ADE form fields (and ADE
attempts to expand these environment variables when they are encountered). Therefore,
using ADE Integration, project parameter names are indicated on ADE forms by beginning
and ending them with #. For example, the project parameter $vdd appears as #vdd# on the
ADE forms. During simulation, $vdd in the environment is the same as the #vdd# on the ADE
forms.
Note: See also Chapter 4, “Understanding Parameters.”

For example, to specify the section name from the .scs library as a parameter which can be
varied, do the following:
1. On the ADE tab, click Model Libraries to display the ADE Model Library Setup form.
2. Type or browse for the model library file, and in the Section (opt.) field, type
#section#.

3. Click Add and OK to save the changes and close the form.
4. In the Test Setup window, click OK to save changes and close the window.

To define the matching project parameter, do the following:


1. In the VSdE main window, click Add (on the Parameters tab) to add a new row to the
Project Parameters table.
2. Type $section in the Name column and typ in the Value column, where typ is an
actual section name in the .scs model library file.

June 2005 168 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

To set up a corners analysis over the section choices from the .scs library, do the following:
1. On the Corners tab, click Add Param to add a column for the $section parameter.
2. In the Corners parameters table, create corners for each of the section names.
For example:

$VDD $section $temp


3 typ 27
2.8 slow 0
3.2 fast 55

When the environment runs the analysis, the section parameter (which appears as
#section# on the ADE form and $section in the Project Parameters table in the
environment) is varied through the specified values.

Test Setup Customization for Other Simulators


Tests that are targeted for other simulators can be customized to display additional ADE
forms for simulation setup (from the ADE tab in the environment), and to support waveform
viewing and back-annotation of operating point information from PSF data files. The
mechanism provided for these customizations involves the following steps:
1. Create a customization file named according to the target ADE-available simulator, with
a .config extension (either simulator_name.config or default.config).
spectreS.config

Note: The default.config file contains customization information that is used when
a simulator_name.config file cannot be found.
2. Copy the customization file to $ACV_ROOT/admin.
3. Open the environment.

June 2005 169 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

The customization file for a simulator contains the following sections:

Table 6-1 Customization File Sections

Section Description
FILE_VERSION Contains customization file version, create date, and simulator
name information (see “FILE_VERSION” on page 171)
BUTTON Contains a list of button names that appear on the ADE tab,
callback function names for the forms that get displayed, and
tooltip text for each button (see “BUTTON” on page 172)
ANALYSIS_TYPE Contains a list of PSF file names associated with each analysis
type, and the result type stored in each file (see
“ANALYSIS_TYPE” on page 173)
OPPTNV_SETUP Contains the name of the operating point node voltage
annotation setup file (see “OPPTNV_SETUP” on page 174)
VIEW_NETLIST_RUN Contains a list of names and/or extensions of the files in the run
directory to display when the View Netlist action is performed
from the Status/Job Status tab (see “VIEW_NETLIST_RUN”
on page 175)
VIEW_NETLIST_TEST Contains a list of names and/or extensions of the files in the
project/tests directory to display when the View Netlist
action is performed from the right-click pop-up menu for a test or
from the Run menu in the VSdE main window (see
“VIEW_NETLIST_TEST” on page 175)
EXPAND_DOT Contains a list of state file names and the fields in that file which
can contain a relative path that the environment needs to
expand—for example, ./BiCMOS (see “EXPAND_DOT” on
page 176)
STATUS Contains the location and name of the file containing simulation
status information, so that this information can be displayed on
the Test Console tab (see “STATUS” on page 177)

The following additional guidelines apply:


■ Any line beginning with the # character is interpreted as a comment and is ignored.
■ Quotation marks must be used around any field name containing white spaces.
■ Quotation marks inside a field name must be escaped using a backslash character (\).

June 2005 170 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

Important
The simulator_name.config customization file must be copied to
$ACV_ROOT/admin prior to opening the SdE.

FILE_VERSION
The following keywords appear in the FILE_VERSION section of the customization file:

Keyword and Syntax Description


VERSION = version Version number for the customization file; for example:
VERSION = 1.0

CREATE_DATE = date Creation date of the customization file; for example:


CREATE_DATE = 06/28/03

SIMULATOR = simulator Simulator name, or default; for example:


SIMULATOR = default
SIMULATOR = spectreS
SIMULATOR = spectreVerilog

Note: SIMULATOR = default settings (in


default.config) are used when a specific
simulator_name.config file cannot be found.

Here is a sample FILE_VERSION section:


FILE_VERSION {
VERSION = 1.0
CREATE_DATE = 03/28/03
SIMULATOR = default
}

June 2005 171 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

BUTTON
A standard set of ADE forms (for specifying simulation information—for example, analysis
setup information) can be displayed from the ADE tab of the Test Setup window using the
buttons provided on that tab. The set of buttons and the ADE forms they display can be
customized by specifying the button text, tooltip text, and schematic editor command for
displaying each ADE form in the BUTTON section of the simulator_name.config
customization file as follows:
buttonName, ADEFormCallbackFunction, tooltipText

where

buttonName is the text that appears on the ADE tab button in the Test Setup window
ADEFormCallbackFunction

is a valid ADE form callback function name, which is the same as what is
used in the simulator_name.menus file for customizing ADE
tooltipText is the tooltip text that appears when the mouse cursor hovers over the
button

For example, the BUTTON section in a customization file called mySimulator.config


might be written as follows:
BUTTON {
# ButtonName
Analyses..., sevEditSelectedAnas, Open ADE Analyses Form
Model Libraries..., sevEditModels, Open ADE Model Path Form
Save Options..., sevSaveOptions, Open ADE Save Options Form
Simulation Options..., sevSetEngineOptions analog, Open ADE Sim Options Form
Environment Options..., sevChooseEnvironmentOptions, Open ADE Environment
Options Form
}

June 2005 172 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

ANALYSIS_TYPE
The ANALYSIS_TYPE section of the customization file contains analysis and results file
mapping information in the following format:
SimulatorAnalysis, OCEANanalysis, DisplayName, psfFileName, resultType

where

SimulatorAnalysis is the analysis name according to the simulator


OCEANanalysis is the OCEAN script analysis string
DisplayName is the display name (what appears in the environment)
psfFileName is the PSF file name
resultType is one of the following result types:
wave
oppt
text

For example, the ANALYSIS_TYPE section of a customization file might be written as follows:
ANALYSIS_TYPE {
# Simulator OCEAN(script) Display psf file Result
# analysis analysis name name Type
#
tran, analysis(’tran, Transient, timeSweep, wave
ac, analysis(’ac, AC, frequencySweep, wave
dc, analysis(’dc, DC, srcSweep, wave
noise, analysis(’noise, Noise, noise, wave
op, ?saveOppoint t, DC OpPt, opBegin, oppt
tranOp, analysis(’tran, Tran Final OpPt, opEnd, oppt
}

June 2005 173 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

OPPTNV_SETUP
The OPPTNV_SETUP section of the customization file is used to specify the name of the
initialization (.ini) file for annotation of operating point node voltages as follows:
opPtNvSetup.ini

where opPtNvSetup is the name of the .ini file, which must be copied to
$ACV_ROOT/admin prior to opening the environment.

For example, the ANALYSIS_TYPE section of a customization file might be written as follows:
OPPTNV_SETUP {
defaultOpPtSetup.ini
}

The initialization file contains a list of operating point parameters (for example, v, i, pwr) to
back-annotate for each device. For example, the defaultOpPtSetup.ini file might
contain the following:

resistor(
annotate(
v
i
pwr
)
)
capacitor(
annotate(
i
)
)

bjt(
annotate(
ic
ib
vbe
vbc
vce
)
)

June 2005 174 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

VIEW_NETLIST_RUN
The VIEW_NETLIST_RUN section of the customization file contains the list of file names
and/or file extensions (in the run directory) to be displayed when the user performs the View
Netlist action from the Status/Job Status tab: For tests, it is the Status tab (on the Run tab
of the Test Setup window); for sweeps/corners, it is the Job Status tab of the Sweep or
Corners window.

For a simulator, the design netlist can be contained in a single file, or it can be contained in
more than one file. All files matching the criteria specified in the VIEW_NETLIST_RUN section
of the customization file are displayed. Multiple files are combined into a single file called
netlist.all in the run directory, and netlist.all is displayed.

For example, VIEW_NETLIST_RUN section of a customization file might be written as follows:


VIEW_NETLIST_RUN {
runDeck
netlistHeader
spectreIncludes
spectreNetlist
.sp
.sp_inc
save_list.scs
netlistFooter
}

VIEW_NETLIST_TEST
The VIEW_NETLIST_TEST section of the customization file contains the list of file names
and/or file extensions (in the project/test directory) to be displayed when the user
performs the View Netlist action from the right-click pop-up menu for a test or from the Run
menu in the VSdE main window.

For a simulator, the design netlist can be contained in a single file, or it can be contained in
more than one file. All files matching the criteria specified in the VIEW_NETLIST_TEST
section of the customization file are displayed. Multiple files are combined into a single file
called netlist.all in the run directory, and netlist.all is displayed.

For example, VIEW_NETLIST_TEST section of a customization file might be written as


follows:
VIEW_NETLIST_TEST {
netlistHeader
netlist
spectreIncludes
netlistFooter
}

June 2005 175 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

EXPAND_DOT
The EXPAND_DOT section of the customization file is used to specify a set of state files and
the fields in those files that can contain relative paths that the environment needs to expand
(for example, ./BiCMOS). The format of each line in the EXPAND_DOT section depends on
whether the field name is one or more words.

For single-word field names, the format is as follows:


stateFileName, fieldName

Note: For a state file that does not contain a field name, an asterisk is used instead:
stateFileName, *

For multiple-word field names, the format is as follows:


stateFileName, (fieldName1 fieldName2)

For example, the EXPAND_DOT section of a customization file might be written as follows:
EXPAND_DOT {
modelSetup, *
}

Another example is
EXPAND_DOT {
simulationFiles, includePath
simulatorOptions, (verilogOpts libraryDir)
simulatorOptions, (verilogOpts libraryFile)
simulatorOptions, (verilogOpts commandFile)
simulatorOptions, (verilogOpts optionsFile)
}

June 2005 176 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

STATUS
The STATUS section of the customization file is used to specify the directory and file in which
to find simulation status information, such as CPU and elapsed time, using the following
format:
tag, directory, fileName, "string"

where

tag is one of the following keywords for simulation status information:


CPU for the CPU column of the Tests table on the Test Console tab
ELAPSED for the Elapsed column of the Tests table on the Test
Console tab
directory is the name of the directory in which the simulation status file can be found
fileName is the name of the file in which the simulation status information is stored
string is the format of the string containing the specified simulation status
information

For example, the STATUS section of a customization file might be written as follows:
STATUS {
CPU = psf spectre.out "CPU = %s %s"
ELAPSED = psf spectre.out "elapsed = %s %s"
}

June 2005 177 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for an ADE Simulator

June 2005 178 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

7
Creating Tests for Spectre Simulation

The Virtuoso® Specification-driven Environment (SdE) supports creation of tests, and


simulation setup, for the Spectre circuit simulator using the following flow:
1. Create the design using the Virtuoso Schematic Editor.
2. Start the environment (see “Starting the SdE” on page 105).
3. Create a test targeted for Spectre simulation:
❑ Create Test Form—Spectre Tests on page 181
❑ Test Setup Window—Spectre Tests on page 186
4. Simulate using the Spectre circuit simulator.
Note: The analog design environment Spectre Direct netlister is used to generate the
netlist for Spectre. The environment creates and calls an OCEAN script to run the
Spectre Direct netlister.
5. Perform any of the following simulation data post-processing tasks:
❑ View results of measures
❑ Back-annotate operating point information
❑ Display waveforms
❑ Use the Calculator or Results Browser

The following tools and features are supported:


❑ Tight integration with the schematic editor
❑ Spectre-specific Tests, Sweeps/Corners, Monte Carlo, Spec Sheets, Model
Calibrations, Characterization and Modeling, Plans (Perl), Documents
❑ Analog design environment state file import

June 2005 179 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

❑ Integrated waveform viewer, Calculator, and Results Browser


❑ Spectre Direct netlister
Note: The spectreS netlister is supported using the ADE Integration discussed in Chapter 6,
“Creating Tests for an ADE Simulator.”

Spectre Integration provides support for the following features:


■ All Spectre options
■ Relevant Spectre command-line options
■ Spectre library and model files
■ Spectre global parameters
■ Spectre Monte Carlo analysis
■ SpectreRF
Note: For information on Spectre circuit simulator options and settings as they pertain to the
tabs and forms provided in the environment, see the Virtuoso Spectre Circuit Simulator
User Guide and Reference. The Help button on each form displays the same text as
spectre -h.

June 2005 180 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Create Test Form—Spectre Tests


To create a test targeted for the Spectre circuit simulator, do the following:
1. On the Files tab of the VSdE main window, right-click the Tests folder and select New
Test from the pop-up menu.
The Create Test form appears.

2. In the Test name field, type a test name.


3. In the Integration group box, select VSdE Native.
4. From the drop-down list in the Simulator field, select Spectre.
5. Select one of the following Test type radio buttons:
❑ Netlist (for a non-schematic design—that is, from a standalone netlist—see
“Specifying a Netlist Location” on page 182)
❑ Composer (see “Specifying a Design Location” on page 185)
6. (Optional) Specify a template from which to copy test setup information (see “Copying
Test Setup Information from a Template” on page 109).
7. (Optional) Import simulation control from the Virtuoso Analog Design Environment (see
“Importing Simulation Control Information” on page 109).

June 2005 181 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

8. Click OK.

The Test Setup window appears (see “Test Setup Window—Spectre Tests” on page 186).

Specifying a Netlist Location


To specify the Netlist location, do the following:
1. In the Netlist location group box, click Browse.
The Select Netlist form appears.

2. In the Library field, select a library from the drop-down list.


3. In the tree at the bottom of the form, click + to expand and display View and File names.
4. Select a file from the expanded tree.
The selected netlist location is displayed in the Cell, View, and File fields.
5. Click OK.

Other related topics include the following:


■ “Select File Button” on page 183 for specifying a design netlist from a library location that
is not listed in the Library drop-down list
■ “Library List Button” on page 184 for opening the Library List Manager form

June 2005 182 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Select File Button

To select a design netlist from a library location that is not listed in the Library drop-down list,
do the following:
1. On the Select Netlist form, click Select File.
The Select Netlist File form appears.

2. Navigate to and select the design file.


3. Specify its destination library location in the fields provided.
4. Click OK.

If there are local or global parameters specified in the input design file (netlist), these
parameters, their defaults, and their editable values are displayed in the Local or Global
parameters table on the Netlist tab of the Test Setup window, respectively (see “Netlist
Tab—Spectre Tests” on page 187).

June 2005 183 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Library List Button

The Library List button is used to open the Library List Manager form containing a list of
available libraries as follows:

Column Contents
Library Name Name of library
Note: This name can be anything and does not have to correspond
to an actual directory location.
Library Map String Full path to library directory location
Note: This location must exist and can contain environment
variable representations of path segments.
Library Location Fully expanded form of Library Map String (with true path
substituted for any environment variables)
Note: This field cannot be edited.
Library Map File Name of library map file from which the indicated library
information was read—for example, acv.lm, default_acv.lm,
cds.lib (for schematic editor users)
Note: Any changes made on this form are written to the local
acv.lm file for the project/workspace. See also “Library Mapping
File” in the Virtuoso Specification-driven Environment
Reference

June 2005 184 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

The toolbar buttons are used as follows:

Button Description
Adds a new row to the table
Deletes the selected row

Specifying a Design Location


To specify the Design location, do the following:
1. In the Design location group box, click Browse.
The Select Design form appears.

2. In the Library field, select a library from the drop-down list.


3. In the tree at the bottom of the form, click + to expand and display View names.
4. Select a view from the expanded tree.
The selected design location is displayed in the Cell and View fields.
5. Click OK.

June 2005 185 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Test Setup Window—Spectre Tests


The tabs of the Test Setup window are the same as those described in Chapter 5, “Test Setup
from the Schematic Window” (see “Test Setup Window for Schematic-Based Tests” on
page 112), with the following exceptions:
■ Netlist Tab—Spectre Tests on page 187 (when Test type is Netlist)
■ Includes Tab—Spectre Tests on page 191
■ Analyses Tab—Spectre Tests on page 196
■ Sim Options Tab—Spectre Tests on page 198

June 2005 186 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Netlist Tab—Spectre Tests

The Netlist tab is used to display information about the design netlist.
The Local parameters and Global parameters tables of the Netlist tab contain lists of
local and global parameters, respectively, if any are found in the design netlist. The
columns of the tables are
■ Parameter—contains the name of the parameter
■ Value—contains the currently assigned value of the parameter
■ Default—contains the default value of the parameter
Note: Only the currently assigned value (in the Value column) can be changed.

Local parameters (see “Local Parameters” on page 101) are defined using a parameters
statement within a subcircuit.

June 2005 187 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Global parameters (see “Global Parameters” on page 101) are defined using a parameters
statement at the top level of the design (outside all subcircuits).
Note: For information on the parameters statement, see “Parameters Statement” in the
Virtuoso Spectre Circuit Simulator User Guide.

The following items are available on the Netlist tab of the Test Setup window:

Item Purpose
Browse button Opens the Select Netlist form (see “Specifying a Netlist
Location” on page 182)
Edit button Opens the indicated netlist design file in an editing window for
modification
Top subckt/module and Displays the subcircuit or module name along with its instance
Instance name fields name as found in the design netlist
Note: If the indicated file contains more than one subcircuit or
module definition, then the top definition can be selected from
the drop-down list of names in the Top subckt or Top module
field.
Net Map button Opens the Net Mapping form (see “Using the Net Mapping
Form” on page 189)

June 2005 188 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Using the Net Mapping Form

The Net Mapping form displays an overview of mapped/connected nets and can be used to
add new nets/connections:

Note: Typically (and recommended), net mapping functions are carried out on the
Components tab (see “Components Tab” on page 130) or the Measures tab (see
“Measures Tab” on page 141).

When a netlist is specified for a test, the nodes of the Top subckt are used to create a set of
net names, which are displayed in the Test nets list box on the left side of the Net Mapping
form. When a component is added to a test, its pins are added to the Component pins list,
on the right side of the form. Double-clicking a net or pin name, or clicking the + to its left,
expands the list of connected items.
Note: Only nets that are connected have a +. Unconnected nets are listed without a +.

A test net can be connected to one or more component pins (either by dragging a net over to
a pin, or by selecting a net and one or more pins and clicking Connect). Test nets can be
added, removed, or renamed.

Table 7-1 Net Mapping Form Buttons and Check Box

Button, Check Box Description


Add Adds a new net named NewNet in an edit field so that the net
name can be changed
Remove Removes the selected net
Rename Opens an edit field for the selected net so that it can be renamed

June 2005 189 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Table 7-1 Net Mapping Form Buttons and Check Box

Button, Check Box Description


Connect Connects the selected (highlighted) test net to the selected
(highlighted) component pins
Name Connect Connects the selected test net to component pins that have the
same name as the test net
Unconnect Disconnects selected test net from selected component pins;
removes all connections to selected component pins
Expand All Cascades the lists so that all connections are visible (provides the
same result as clicking the + for all nets and pins)
Collapse All Compresses the test nets and component pins lists
Expand on connect Check box used to enable/disable expansion of a component pin
tree when a connection is made
Close Closes the Net Mapping form

Note: Pin connections are checked when the test is run (see “Run Tab” on page 150).

June 2005 190 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Includes Tab—Spectre Tests


The Includes tab for Spectre has the following subtabs:
■ Netlist Files—Spectre Tests on page 192
■ Other Includes—Spectre Tests on page 193
■ OCEAN Commands—Spectre Tests on page 195

List area tool buttons for these tabs are used as follows:

Tool Button Description


Creates a new list line with file/folder browser display button ( ) in the
associated list area

Tip
Double-clicking in the list area produces the same result.
Removes the selected item from the field
Re-orders the items in a list area by moving the selected item either up or
down, as the arrow indicates

Tip
Pressing Alt and the up arrow or Alt and the down arrow produces
the same result.
Displays the Open form (for files) or the Browse for Folder window (for
directories) from which a file or directory folder can be selected

Tip
Move the mouse so that the cursor hovers over a button to view its tooltip.

Additionally, if there are any test includes templates available (see “Creating and Managing
Workspace Templates” on page 64), then includes information from a template can be added
to the test by selecting the template from the Workspace includes drop-down menu.

June 2005 191 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Netlist Files—Spectre Tests

The Netlist Files subtab of the Includes tab for Spectre looks like this:

List areas on the Netlist Files tab are used as follows:

List Area Purpose


-I To specify include-file directories
(Include directories)
include To specify names of any model or other include files
(Model/Other includes)
Model Library To specify library file names using the following format:
(fileName sectionName) fileName sectionName

June 2005 192 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Other Includes—Spectre Tests

The Other Includes subtab of the Includes tab for Spectre looks like this:

June 2005 193 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

List areas on the Other Includes tab are used as follows:

List Area Purpose


Stimulus file To specify the path to and name of a file containing analog stimulus
includes definitions to be included in the simulation netlist
Note: Stimulus is defined using simin syntax—see “Customizing
the Simulation Environment (SE)” in the Open Simulation System
Reference. The specified file is processed for simulation and
included in the netlist. For example, consider a file called
myInclude that contains the following:
R1 [#net5] 0 1k
V8 [#net5] 0 5

Definition top To include special statements or commands at the beginning of the


includes final design netlist for Spectre circuit simulation

June 2005 194 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

OCEAN Commands—Spectre Tests

The Beginning, Pre-run, and Ending OCEAN command areas on the OCEAN
Commands subtab of the Includes tab for Spectre can be used to override Test Setup
information, or to perform special post-processing of output files after each simulation run.
For each run of the test with a given set of parameter values (that is, for each iteration), the
final simulation script will contain the following commands, in the order presented here:
■ Beginning OCEAN commands
■ Commands specifying alters, simulation options, analyses, etc.
■ Pre-run OCEAN commands
■ Run command and measures
■ Ending OCEAN commands

June 2005 195 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Analyses Tab—Spectre Tests

Spectre or SpectreRF simulation setup is enabled by selecting one of the radio buttons
along the top-left edge of the Analyses tab. The set of analysis types available for Spectre
or SpectreRF simulation is displayed in the list area beneath the radio buttons.

Each analysis type displayed in the list area is matched with a check box which is used to
enable/disable the analysis. A mark in the check box enables the analysis. The appearance
of the tab depends on the analysis type—and in some cases the options (for example, XF
analysis, Sweep variable selection)—selected. An analysis type can be selected without
being enabled.
Note: For information on Spectre analyses, options, and settings as they pertain to the tabs
and forms provided in the environment, see the Virtuoso Spectre Circuit Simulator User
Guide and the Virtuoso Spectre Circuit Simulator Reference. For information on
SpectreRF analyses, options, and settings, see the SpectreRF User Guide. The Help
button on each form displays the same text as spectre -h.

June 2005 196 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

In addition, nodesets and initial conditions can be specified, and operating point information
saved, by clicking Nodesets/ICs to open the Analyses Nodesets and Initial Conditions form:

Operating point nodeset information and initial conditions for simulation are specified as
node-voltage pairs using one of the following methods:
■ Click Select to bring the schematic window into the foreground in selection mode, then
click to select one or more nets on the schematic. The name of each net appears in the
Nodes column of the table. Type a voltage value (or variable expression) for each net in
the corresponding cell in the Voltages column.
■ Click Add to add a row to the table, then type the node name in the Nodes column and
the voltage value (or variable expression) in the Voltages column.

Specified nodesets and initial conditions are only used during simulation when the
appropriate check box is marked on this form:
■ When the Specify and use Nodesets check box is marked, the nodeset information
specified in the corresponding Nodes and Voltages table is used during simulation.
■ When the Specify and use ICs check box is marked, the initial conditions specified in
the corresponding Nodes and Voltages table are used during simulation.

The Delete button is used to remove the selected row or rows from the table. Click OK to
save changes and close the form.

June 2005 197 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Sim Options Tab—Spectre Tests


The Sim Options tab for Spectre simulation looks like this:

The Temperature parameters group box contains the following simulation options:

temp Field for specifying the simulation operating temperature (˚C)


tnom Field for specifying the nominal temperature (˚C)
tempeffects Radio buttons for specifying temperature effects selection

The items in the Nodes/currents save list group box are used to specify which nodes and
currents are saved to the simulation results file:
■ The Save allpub nodes and Save all currents check boxes are used to save all public
node and/or current information.
■ The Select button is used to select specific nets or terminals from the schematic.

June 2005 198 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

Alternatively, specific nodes and currents to be saved to the simulation results file can be
specified in the scrolling list area in the Nodes/currents save list group box. For example:
■ To save net24, specify net24
■ To save the current through VDD_source.vdc, specify VDD_source.vdc:i
Note: Nets/currents are written to the simulation control file using the Spectre save
command. See the Virtuoso Spectre Circuit Simulator User Guide for more information.

The Advanced button is used to open the Advanced Sim Options form for specifying
advanced simulation options.
Note: For information on Spectre circuit simulator options and settings as they pertain to the
tabs and forms provided in the environment, see the Virtuoso Spectre Circuit Simulator
User Guide and Reference. The Help button on each form displays the same text as
spectre -h.

June 2005 199 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating Tests for Spectre Simulation

June 2005 200 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

8
Creating and Running Advanced
Analyses

After a circuit is functional, most design processes require an advanced analysis phase
where a predefined set of tests is run. Advanced analyses typically include parametric
sweeps, corners, and Monte Carlo analyses. These analyses are set up using the Sweep and
Corners windows. The following topics are discussed:
■ Sweeps on page 201
■ Corners Analysis on page 209
■ Monte Carlo Analysis on page 216
Note: Monte Carlo analysis is only supported for VSdE Native (Spectre) simulation.

Additional tabs in these setup windows include


■ Run Options tab (see Chapter 9, “Specifying Run Options”)
■ Job Status Tab on page 219
■ Results Tab on page 221

For information about copying advanced analysis project items, see “Copying Advanced
Analysis Project Items” on page 223.

Sweeps
A sweep defines how global variables should be varied over tests to produce characterization
results. Characterization results are obtained by creating sweeps that define a range of
values that should be applied to one or more project parameters (global variables) when
running tests. Sweep values can be defined as either a list of values, or as a range of values
with specified increment (from-to-by). A sweep analysis is run by sweeping project
parameters over the test.

June 2005 201 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

The following procedures are presented:


■ Creating a New Sweep on page 202
■ Specifying Tests for the Sweep on page 203
■ Defining Sweep Parameters on page 203
■ Converting a Sweep to a Corners Setup on page 209

Creating a New Sweep


To create a new sweep, do the following:
1. In the VSdE main window, choose Add – New Sweep.
The New Sweep Name form appears.

2. Type a name for the sweep in the Sweep name field.


Note: The first character of the name must be a letter; the rest of the name can contain
letters, numbers, or underscores only.
3. (Optional) Select or create a template on which to base the new sweep analysis.
4. Click OK.

The Sweep window appears.

To define the sweep, do the following:


1. Specify one or more tests for the sweep (see “Specifying Tests for the Sweep” on
page 203).
2. Define one or more sweep parameters (see “Defining Sweep Parameters” on page 203).
3. Click OK.

June 2005 202 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Specifying Tests for the Sweep


Test names for the current project are listed in the Sweep over tests area. The tests over
which the sweep is to be performed are selected by marking the check box to the left of each
test name.

For each sweep, the analysis specified in each test is performed using the parameters
specified in the Sweep parameters table on the Sweep tab (see “Defining Sweep
Parameters” on page 203, next).

Defining Sweep Parameters


Sweep parameters are defined in the Sweep parameters table of the Sweep tab, unless a
by-reference workspace template is selected (see “Referencing a Workspace Template” on
page 204).

The following procedures are presented:


■ Adding a Sweep Parameter on page 204
■ Enabling/Disabling Sweep Parameters on page 206

June 2005 203 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

■ Creating Multiple Definitions for a Sweep Parameter on page 206


■ Removing a Sweep Parameter on page 207
■ Loading/Saving Sweep Parameter Definitions on page 208

Referencing a Workspace Template

The Workspace sweep check box and drop-down menu are available for selection when
there are one or more by-reference workspace templates available (see “Creating and
Managing Workspace Templates” on page 64). Once the check box is marked, the Sweep
parameters table disappears and the following actions can be performed:

Action Description
Drop-down menu Select from the set of one or more by-reference workspace
templates available
Edit Display the sweep parameter setup information in the template
for editing
Templates Open the Workspace Templates form (see “Creating and
Managing Workspace Templates” on page 64)

Adding a Sweep Parameter

The Sweep parameters table lists parameters and their sweep values. To add a parameter
to the table, do the following:
1. Click Add Param to add a row to the table.
Note: The Run check box is marked by default, thus enabling the parameter for the
sweep. See also “Enabling/Disabling Sweep Parameters” on page 206.
2. Select a parameter from the drop-down list in the Parameter column.
Note: The list of parameters represents the project and workspace parameters from the
tables in the VSdE main window. Only parameters that have not yet been defined, and
parameters that are not enabled (see “Enabling/Disabling Sweep Parameters” on
page 206), appear on this list.

June 2005 204 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

3. Select one of the following sweep types from the drop-down list in the Type column,
providing values accordingly:

Important
You can use project and workspace parameters for List values only; other values
must be numerical. See “Understanding Parameters” on page 91 for information
about project and workspace parameters.

Type Values
List List of values (space-separated)
From Range of values specified as From, To, By (increment)
Log Logarithmic sweep from first value (Log), To, by Pts (total
number of points)
Log_Decade Logarithmic sweep from first value (Log_Decade), To, by Pts
(points per decade)
Log_Octave Logarithmic sweep from first value (Log_Octave), To, by Pts
(points per octave)

4. (Optional) Change the value in the drop-down list in the Alterable column:

Caution
Setting this flag incorrectly can cause invalid simulation results. Change
its value from the default (Auto) with extreme caution.
❑ Auto (this is the default selection) lets the environment determine whether a
parameter is alterable or not using the following algorithm: Swept parameters that
are numeric are alterable; swept parameters that are strings are not.
❑ Yes tells the environment not to generate multiple simulation input files when this
parameter is varied, because it can be swept using an alter statement in the input
file. (Swept parameters that are numeric are alterable.) Select Yes only when
multiple simulation input files are not required to vary this parameter.
❑ No forces generation of multiple simulation input files when this parameter is varied,
because it can only be swept by generating one input file for each value of the
parameter. (Swept parameters that are strings are not alterable.) Select No only
when multiple simulation input files are required to vary this parameter.

June 2005 205 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

(Optional) You can set the ACV_FORCE_NON_ALTERABLE environment variable


prior to starting the environment to force the application to behave as though you
selected No for all parameters regardless of what value appears in the Alterable
column.
Note: If you enable Monte Carlo analysis (see “Monte Carlo Analysis” on
page 216), the mc_iteration parameter that the program automatically
generates to run Monte Carlo is always swept using an alter statement whether
you set ACV_FORCE_NON_ALTERABLE or not: all iterations run from the same
simulation input file.
Note: Alterable settings are written to a file called alterable.log in the
results/lib/cell/view/sweep-test directory.

Enabling/Disabling Sweep Parameters

The Run check box to the left of each parameter in the Sweep parameters table is used to
enable/disable sweep parameters as follows:
■ When the Run check box is marked, the parameter is enabled for the sweep.
■ When the Run check box is not marked, the parameter is disabled for the sweep.

Multiple definitions can be specified for disabled parameters (see “Creating Multiple
Definitions for a Sweep Parameter” on page 206). Disabled parameters are saved to the
sweep file, and can be imported using the File – Import function on the Sweep tab (see
“Loading/Saving Sweep Parameter Definitions” on page 208).

Only enabled parameters can be saved to a CSV file (see “Loading/Saving Sweep Parameter
Definitions” on page 208), or converted to corners (see “Converting a Sweep to a Corners
Setup” on page 209).

Creating Multiple Definitions for a Sweep Parameter

Multiple definitions can be specified only for disabled parameters (see “Enabling/Disabling
Sweep Parameters” on page 206). Only one definition for a given parameter can be enabled
at a time.

To create multiple definitions for a sweep parameter, do the following:


1. In the Sweep parameters table, remove the mark from the Run check box to the left of
the parameter name to disable that parameter for the sweep.
2. Follow the procedure in “Adding a Sweep Parameter” on page 204.

June 2005 206 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Multiple definitions are saved to the sweep file, and can be imported using the File - Import
function on the Sweep tab (see “Loading/Saving Sweep Parameter Definitions” on
page 208).

Important
Disabled parameters cannot be saved to a CSV file (see “Loading/Saving Sweep
Parameter Definitions” on page 208), or converted to corners (see “Converting a
Sweep to a Corners Setup” on page 209).

Removing a Sweep Parameter

To remove a parameter from the table, do the following:


1. Click to select a parameter row in the table.
2. Click Remove Param.

June 2005 207 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Loading/Saving Sweep Parameter Definitions

The File drop-down menu offers the following selections for loading/saving sweep parameter
definitions (see “Adding a Sweep Parameter” on page 204 for more information about sweep
settings):

Menu Item Description


Save As CSV File Opens the Save As form for saving the sweep parameter
definitions to a .csv file (comma-separated values)
Note: Only enabled parameters are saved (see
“Enabling/Disabling Sweep Parameters” on page 206).
Load CSV File Displays the Open form for navigating to and selecting a .csv file
(comma-separated values) containing sweep parameter
definitions, according to the following format:
Row,Parameter,Type,Values,D,E,F,G,Alterable
row#,name,type,value*,[To],[n],[By|Pts],[i],alt

where
row# is the row number in the file
name is the sweep parameter name
type is a valid sweep type
value* is either a space-separated list of values for
type=List, or the starting value for any other type
alt is the Alterable setting, and is one of Auto, Yes, No
For type=List, the D,E,F,G, entries are left blank: ,,,,;
for other sweep types, the D,E,F,G, entries reflect the To
and By/Pts entries
For example:
1,$temperature,List,-40 25 125,,,,,Auto
2,$CAP,From,.5u,To,1u,By,.1u,Auto
3,$RES0,Log,1k,To,10k,Pts,10,Auto

Import Displays the Open form for navigating to and selecting a .swp file
from which to import sweep parameter definitions
Note: Both enabled and disabled parameter definitions are
imported (see “Enabling/Disabling Sweep Parameters” on
page 206).

June 2005 208 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Important
Any loaded/imported information that matches what is already specified on the tab
overrides the existing information.

Converting a Sweep to a Corners Setup


The Convert to Corners button is used to convert the sweep setup information into corners
setup information. The resulting table has one row for every unique combination of parameter
values. All Run check boxes in the resulting Corners parameters table are marked. (See
also “Defining Corners Parameters” on page 211.)
Note: Only enabled parameters can be converted to corners (see “Enabling/Disabling
Sweep Parameters” on page 206).

Corners Analysis
After a design is functioning as desired at the nominal process settings or model parameters,
a corners analysis can be used to verify performance of the design at the extreme-case
manufacturing process conditions. It is expected that if the design functions at worst-case and
best-case conditions, it works over most manufacturing variations to achieve a yield within
tolerance.

Tests are defined earlier in the flow to specify analyses (for example, AC, DC, transient),
simulation options, and global variable settings (see Chapter 5, “Test Setup from the
Schematic Window”). Corners analyses are run over one or more of these tests using a set
of parameters specified as corners (for example, model files, temperature, supply voltage).
For example:

Corner 1 Corner 2
typ bjt model typ bjt model
min mos model min mos model
vdd=3 vdd=5
temperature=25 temperature=55

Each analysis is run independently; however, multiple analyses can be run in parallel on
different hosts (see “Job Distribution Group Box” on page 228).

June 2005 209 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

To open the New Corners Name form for creating a new corners analysis, do the following:
1. Choose File – New in the VSdE main window.
The New File window appears.

2. In the VSdE Files folder, select Corners.


3. Click OK.

On the New Corners Name form, do the following:

1. In the Corners name field, type a name for the corners analysis.
2. Click OK.
3. (Optional) Select or create a template on which to base the new corners analysis.
4. Click OK.

The Corners tab of the Corners window appears for specifying a corners analysis.

June 2005 210 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Other related topics include the following:


■ Specifying Tests for Corners Analysis on page 211
■ Defining Corners Parameters on page 211
■ Adding a Sweep of Corners on page 215
Note: To copy an existing corners analysis setup, see “Copying Advanced Analysis Project
Items” on page 223.

Specifying Tests for Corners Analysis


All of the tests in the current project are listed in the Corners over tests area of the Corners
tab. The tests over which the corners analysis is to be performed are selected by marking the
check boxes to the left of the test names.

For each corners analysis, the analysis specified in each test is performed using the
parameters specified in the Corners parameters table on the Corners tab (see “Defining
Corners Parameters” on page 211, next).

Defining Corners Parameters


Corners parameters are specified by adding rows to the Corners parameters table on the
Corners tab, unless a by-reference workspace template is selected (see “Referencing a
Workspace Template” on page 213).

Parameters available in the Corners parameters table come from the table of Project
Parameters specified in the VSdE main window (see “Project Parameters” on page 91). The
buttons that operate on the Corners parameters table of the Corners tab are described in
the following table:

Table 8-1 Corners Tab Buttons

Button Procedure/Function
Add Param Adds a new column to the right of the existing column in the table
and automatically enter the first available name in the list of
parameters when the test was created—see “Adding Corners
Parameters” on page 213
Note: To specify the desired parameter, scroll down the parameter
list on the context-sensitive drop-down menu and select the
parameter name.

June 2005 211 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Table 8-1 Corners Tab Buttons, continued

Button Procedure/Function
Remove Param Removes the selected parameter column from the table
Add Corner Adds a row to the Corners parameters table for specifying values
in the corners parameter columns—see “Defining Corners
Parameter Values” on page 214
Remove Corner Removes the selected row from the table
Add Sweep Adds fields for specifying a sweep variable (Sweep), sweep type
(Type), and sweep values (either a List, or a range for From, Log,
Log_Decade, or Log_Octave)—see “Adding a Sweep of Corners”
on page 215
Remove Sweep Removes the selected sweep
File Presents a drop-down menu of the following selections:
Save As CSV File opens the Save As form for saving the corners
definitions to a .csv file
Load CSV File displays the Open form for navigating to and
selecting a .csv file containing corners definitions, according to the
following format:
Row,Run,parameterList*
1,RunBox1,valueList1*
2,RunBox2,valueList2*

For example:
Row,Run,$corner,$vdd_value,$temperature
1,1,nom,3,-40
2,1,slow,3.3,25
3,1,fast,3.6,125

Import displays the Open form for navigating to and selecting a


.swp file from which to import corners definitions

Important
Any imported information that matches what is already
specified on the tab overrides the existing information.

June 2005 212 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Other related topics include the following:


■ Adding Corners Parameters on page 213
■ Defining Corners Parameter Values on page 214

Referencing a Workspace Template

The Workspace corners check box and drop-down menu are available for selection when
there are one or more by-reference workspace templates available (see “Creating and
Managing Workspace Templates” on page 64). Once the check box is marked, the Corners
parameters group box disappears and the following actions can be performed:

Action Description
Drop-down menu Select from the set of one or more by-reference workspace
templates available
Edit Display the sweep parameter setup information in the template
for editing
Templates Open the Workspace Templates form (see “Creating and
Managing Workspace Templates” on page 64)

Adding Corners Parameters

To add a project parameter as a corners parameter, do the following:


1. Click Add Param to add a drop-down list of project parameters to the Corners
parameters table. The list is added as a column in the table.
2. Select a parameter from the drop-down list to define the column heading.

June 2005 213 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Defining Corners Parameter Values

To define a corner, do the following:


1. Click Add Corner to add a row (corner) to the table.
2. Type the corner values in the fields provided.
Note: The value of a corners parameter can be based on the value of another corners
parameter. For example, to have the name of a process model file depend on a
temperature value, do the following:
a. Click Add Param to add $temperature and $process_file project parameter
columns to the table.
b. Type model_$temperature.mod in the $process_file column. In the following
example, the name of the process model file becomes model_40.mod:

$temperature $process_file
40 model_$temperature.mod

June 2005 214 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Note: The Run check box to the left of each corner is used to enable/disable a corner for a
given run.

Each row of the Corners parameters table represents one corners analysis. Everything
specified in that one row is run in one simulation. If there are four rows of information in the
table, then four corners analyses are performed per selected test. For example, for two
selected tests and two defined corners, four simulations are performed:
Corners over tests:
gain
bias
Corners parameters:
Corner 1 …
Corner 2 …
Simulations:

Simulation Corner Test


1 Corner 1 gain
2 Corner 2 gain
3 Corner 1 bias
4 Corner 2 bias

Adding a Sweep of Corners


To specify a sweep over the defined corners, do the following:
1. Click Add Sweep to add a sweep variable.
2. In the Sweep column, select a variable over which to sweep the corners from the
drop-down list.
Note: Each row in the Corners parameters table defines a set of parameters (that is,
a corner) which is run for every value in the sweep. The list of parameters represents
the project and workspace parameters from the tables in the VSdE main window.

June 2005 215 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

3. Select one of the following sweep types from the drop-down list in the Type column,
providing values accordingly:

Type Values
List List of values (space-separated)
From Range of values specified as From, To, By (increment)
Log Logarithmic sweep from first value (Log), To, by Pts (total
number of points)
Log_Decade Logarithmic sweep from first value (Log_Decade), To, by Pts
(points per decade)
Log_Octave Logarithmic sweep from first value (Log_Octave), To, by Pts
(points per octave)

Important
Sweep values must be numeric; they cannot be strings.
Note: The Yes in the Alterable column tells the environment not to generate multiple
simulation input files when this parameter is varied. This setting cannot be changed.

Monte Carlo Analysis


Monte Carlo analyses provides a useful way to test the robustness of performance
parameters under real process variation and determine whether the trade-offs between yield
and performance are acceptable. Design-centering could produce a design with the lowest
sensitivity of performance specs. Monte Carlo analysis executes a number of simulations
testing the performance of the circuit under consideration. For each simulation, the netlist
parameters are varied and the results stored for analysis.
Note: Monte Carlo analysis is currently supported only for Spectre (VSdE Native)
simulation.

Worst-case and best-case situations—where every parameter is set to either the low end or
the high end of the allowed range—can be considered. Monte Carlo analysis supports the
following tasks:
■ Randomize specified values for parameters
■ Create multiple result files showing simulation results based on random values for
parameters

June 2005 216 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

■ Capture output results data


■ Plot results in both histograms and scatter plots
■ Correlate points in a scatter plot to the numbered simulation so the user can view data
for outliers and best and worst case results

Before specifying a Monte Carlo analysis for simulating randomized iterations, the following
requirements must be met:
■ Functions required for Spectre Monte Carlo analysis have been specified in the model
files and on the device instances (see the Virtuoso Spectre Circuit Simulator
Reference for more information)
■ A sweep or corners analysis that references this netlist exists, and is enabled on the
Sweep or Corners tab (see “Sweeps” on page 201 or “Corners Analysis” on page 209)
■ Spectre is selected in the For simulator list area on the Monte Carlo tab and the
Enable check box has been marked

June 2005 217 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

The Monte Carlo tab for Spectre circuit simulation features the following fields and controls
(see the Virtuoso Spectre Circuit Simulator Reference for more information):

Table 8-2 Spectre Monte Carlo Analysis

Field Description
Seed Sets a starting point for the random number generator (a positive
integer)
Note: The spin box allows selection of an integer in the range 0-100,
or any positive integer value can be typed directly in the field
Start iteration Specifies the starting simulation iteration (a positive integer)
Number of runs Specifies the number of simulation iterations to perform (a positive
integer)
Statistical variation Radio button selects statistical variation type; one of
level
■ Process
■ Mismatch
■ All

June 2005 218 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Job Status Tab


As a simulation—or set of simulations (for sweeps, corners, Monte Carlo)—is running, the
progress of each run is displayed on the Job Status tab of the Sweep or Corners window.
The status line along the bottom of the window displays current information about the
currently-running job, as well as indicating whether Overrides is enabled for the run. The
Run dir field reflects the full path to the simulation run directory (for example,
results/lib/cell/view/sweepName-testName/run0).

The Job Status tab is displayed when one of the following actions is performed:
■ In the Sweep or Corners window, click Run to run the analysis.
■ In the Sweeps/Corners folder on the Files tab of the VSdE main window, select an
advanced analysis project item and choose Run – Run Sweep.
■ In the Sweeps/Corners folder, right-click an advanced analysis item and select Run
from the pop-up menu.

Columns of information on the Job Status tab are as follows:

Column Description
Host List of host machines for the running job
Status Status (waiting, running, passed, or failed) of each simulation
Completed Running count of completed simulations
Count Total number of simulations for the sweep
Simulator Simulator used for the runs (for example, Spectre)

Note: After Run has been clicked, the Stop button can be used to terminate the simulations
before they are fully completed.

June 2005 219 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Buttons on the Job Status tab are used as follows:

Button Purpose
Waveform Opens the Select Waveform Files form (see “Viewing Waveforms” on
page 278)
View Netlist Opens the netlist for the sweep in a read-only text editor window
View Script Opens the command file (script) for the sweep in a read-only text
editor window
View Output Opens the simulator output messages in a read-only text editor
window
View Errors Opens any simulation error messages in a read-only text editor
window
View Cellviews Opens the viewsFound file for the netlisted cells in a read-only text
editor window
View Other Opens the View Run File form for selecting a run file to display in a
read-only text editor window
Open Xterm Opens an xterm window in the simulation run directory
Note: The xterm command is specified using the ACV_XTERM
environment variable whose default value is:
ACV_XTERM = xterm -sb -sl 500 -geometry 100x30

Note: The View Netlist, View Script, View Output, View Errors, View Other, and Open
Xterm buttons are available only when the Keep sim directories check box is marked in the
Simulation options group box on the Run Options tab. The Waveform button is available
only when the Keep RAW files check box is marked in the Simulation options group box
on the Run Options tab. See “Simulation Options Group Box” on page 244.

June 2005 220 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Results Tab

Running advanced analyses causes one or more simulation files to be generated, and the
output results data is captured. A separate result file (.res) is created for each sweep/test
combination. Results file names are displayed on the Results tab. The default results
directory is either
■ project_dir/results/lib/cell/view/results, if there are no workspace
value sets defined, or
■ project_dir/results/lib/cell/view/wksp_set_name, where
wksp_set_name is the name of the currently active workspace value set (for example,
DefaultSet)

June 2005 221 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

The buttons on this tab are used as follows:

Button Description
MC Plot Presents a menu of the following items and initializes MC plotting using either
a Waveform Window or a Graph Window, depending on the Default for
Calculator and Direct Plot selection in the Defaults group box on the
Other tab of the Options window (see “Defaults Group Box” on page 242):
■ Filter
■ Specification Limits
■ Print Iteration vs Value
■ Print Correlation
■ Plot Histogram
■ Plot Scatterplot
■ Simple Yield
■ Conditional Yield
■ Multiconditional Yield
Note: The environment must be run from icms for successful initialization of
MC plotting with the correct lib/cell/view information.
Plot Opens the Plot Results window for the selected results file (see “Plotting
Results” on page 283)
View Opens a Results table window of measured results from all the runs in the
selected results file (see “Viewing Table Results” on page 255)
Note: Double-clicking the results file name is a shortcut for selecting the
results file name and clicking View.

Note: For more information on results analysis and display, see Chapter 10, “Viewing and
Analyzing Results.”

June 2005 222 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

Copying Advanced Analysis Project Items


An existing sweep, corner, or Monte Carlo project item can be copied and pasted into the
currently active project’s Sweeps/Corners folder, into another open project’s
Sweeps/Corners folder, or into the Sweeps/Corners folder of an open project in another
session. Copying and pasting an existing sweep can be accomplished using one of the
following methods:
■ Drag-and-drop: click-drag the item to a new location, then release the mouse button to
accomplish the drop
Note: The appearance of a + sign when hovering over a location indicates a valid target
for the drop; Ø indicates an invalid target for the drop.
■ Right-click copy/paste: right-click the sweep in the source Sweeps/Corners folder and
select Copy from the pop-up menu; then right-click a test in the target Sweeps/Corners
folder and select Paste
Note: The right-click Paste operation is available only in a target Sweeps/Corners
folder that already contains at least one sweep or corners analysis.

If the name of the dropped/pasted item is the same as another item already in the target
folder, then the Copy from ‘item_name’ form is opened:

On the Copy from ‘item_name’ form, do one of the following:


■ Accept the suggested name by clicking OK.
■ Type a new name in the field provided, then click OK.

June 2005 223 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Creating and Running Advanced Analyses

The target folder can be one of the following in any open project in the main window of any
session:
■ The same as the source folder
■ A like project folder in another open project (for example, a sweep can only be copied
into a Sweeps/Corners project folder)
■ A like project folder in an open project in another session

June 2005 224 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

9
Specifying Run Options

Run options are specified on the Run Options tab of the Sweep and Corners windows for
sweeps and corners analyses, and on the Options tab on the Run tab of the Test Setup
window for tests (see “Run Tab—Options Tab” on page 152). Run options are defined using
the following group boxes of information:
■ Overrides Group Box on page 225
■ Job Distribution Group Box on page 228 and Options Window on page 231
■ Simulation Options Group Box on page 244
Note: For Spectre simulations, the ACV_SPECTRE_MPS_TIMEOUT environment variable can
be used to control how long the Virtuoso® Specification-driven Environment (SdE) waits for
the simulator to start (before issuing an error message). The timeout value is specified in
seconds (for example, setenv ACV_SPECTRE_MPS_TIMEOUT 300). If the environment
variable is not set, then the timeout value is 600 seconds; if it is set to a number smaller than
60, then the timeout value is 60 seconds.

Overrides Group Box


Overriding the DUT location means being able to run a test, sweep, or corners analysis on
different DUTs. One useful application for this feature is simulating two different versions of
the same design (for example, one behavioral and one transistor-level) so that the results can
be compared against each other. The fields of information available in the Overrides group
box depend on whether the design is a schematic-based or netlist-only design:
■ Overriding the DUT Location for a Schematic Design on page 226
■ Overriding the DUT Location for a Netlist-Only Design on page 226

Important
The overriding DUT must have identical pin names and pin order as the DUT
referenced in the Tests folder on the Files tab. The parameters must also be the
same if values are passed to them.

June 2005 225 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Overriding the DUT Location for a Schematic Design


Note: The Use override setting, when marked for a test, is not saved as part of the test.
Instead, it is an option applied to a run of the test. A test override setting is not applied when
any sweeps or corners run that test. Overrides for sweeps and corners are specified on the
Run Options tab of the Sweep and Corners windows.

To override the DUT location for a schematic design, do the following:


1. Click to mark the Use override check box.
2. Press Hierarchy Editor to display the Hierarchy Editor for specifying the overriding DUT
location.

Alternatively, do the following:


1. Click to mark the Use override check box.
2. In the Library field, use the drop-down list to specify the library.
3. For a test, type the cell name in the Cell field.

Note: For Sweep and Corners, the cell name comes from the Cell specified in the test.
4. In the View field, type the view name.

When the analysis is run again, the environment evaluates the design found at the new
location.

Overriding the DUT Location for a Netlist-Only Design


Note: The Use override setting, when marked for a test, is not saved as part of the test.
Instead, it is an option applied to a run of the test. A test override setting is not applied when
any sweeps or corners run that test. Overrides for sweeps and corners are specified on the
Run Options tab of the Sweep and Corners windows.

June 2005 226 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

For Netlist-only designs, the Overrides group box looks like this:

To override the DUT location for a Netlist-only design, do the following:


1. Click to mark the Use override check box.
2. Click Browse.
The Select Netlist form appears.

3. In the Library field, select a library from the drop-down list.


4. Click to expand the cell/view/file tree.
5. Select the file containing the overriding DUT netlist.
6. Click OK.

Alternatively, do the following:


1. Click to mark the Use override check box.
2. In the Library field, use the drop-down list to specify the library.

June 2005 227 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

3. For a test, type the cell name in the Cell field.

Note: For Sweep and Corners, the cell name comes from the Cell specified in the test.
4. In the View field, type the view name.
5. In the File field, type the name of the file containing the overriding DUT netlist.
6. In the Type field, select a file type from the drop-down list.

When the analysis is run again, the environment evaluates the netlist found at the new
location.

Job Distribution Group Box


The Virtuoso® Specification-driven Environment (SdE) supports parallel processing for
distributing simulations over multiple host machines. Where appropriate and available,
Parallel Characterization technology is used.
Note: Parallel Characterization technology means that when a Spectre-direct job is
launched, the environment first tries to check out a Parallel Characterization Spectre license.
If the check-out is unsuccessful, then the environment tries to check out a full Spectre license.

Options associated with job distribution consist of the following items specified in the Job
distribution group box:

Item Description
Run distributed Enables/disables distributed simulations
check box
Note: When marked, simulations are distributed across multiple
machines—or as multiple jobs on the same machine—as defined on
the Distribution tab of the Options window (see “Distribution Tab” on
page 232 and “Launching Remote Jobs” on page 229)

June 2005 228 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Item Description
Options button Opens the Options window (see “Options Window” on page 231)
Note: This window also appears when Tools – Options is selected
in the VSdE main window (see "Tools Menu" in the Virtuoso
Specification-driven Environment Reference).
Max jobs field Indicates the maximum number of simulation decks and
simultaneous simulations for sweeps/corners as described below

The Max jobs setting applies only to sweeps/corners and serves two purposes:
1. Provides guidance as to the number of simulation decks to generate (see “Generating
Simulation Decks for Max Jobs” on page 230).
2. Specifies the number of jobs to submit for distributed simulations (see “Running
Distributed Simulations and Max Jobs” on page 230).
Note: If the Run distributed check box is not marked, then as many as Max jobs are run
simultaneously on the local host; and setting Max jobs to 0 is the same as setting it to 1.

Launching Remote Jobs


The rsh command (generated in the environment) is used to launch remote jobs as follows:
rsh hostName "sh -c 'cd runDir; ./runSIM'"

where hostName is a valid host machine name, and runDir is the project run directory path
(for example, /home/user/projects/sweep-test/run0).
Note: The rsh command must be able to succeed for the remote hosts specified, and these
remote hosts must have access to Cadence software. Common reasons for failure of the rsh
command include the requirement to enter a password on the remote system, or syntax
errors in files sourced on the remote system. In some cases, .rhosts files can be used to
remove the password requirement. Syntax errors must be found and fixed.

In order to customize the generated rsh command (for example, to specify the Cadence
project name on the remote host), the ACV_PRERUN_CMD and ACV_POSTRUN_CMD
environment variables can be set prior to opening the environment. The command string
specified by the ACV_PRERUN_CMD environment variable is run prior to the cd command; the
command string specified by the ACV_POSTRUN_CMD environment variable is run after the
./runSIM command.

June 2005 229 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

For example, in order to specify the Cadence project name on the remote host, the selproj
command must be issued prior to the cd command. The ACV_PRERUN_CMD can be set prior
to opening the environment as follows to set the project to myProject:
setenv ACV_PRERUN_CMD "selproj myProject"

Tip
You can set the ACV_SIMRUN_RSH environment variable prior to running the
software to change the command used to launch remote jobs to something other
than rsh (or remsh on HP stations). The format is as follows:
setenv ACV_SIMRUN_RSH commandName

The command you select must accept the same arguments as rsh (or remsh).
For example:
setenv ACV_SIMRUN_RSH ssh

Generating Simulation Decks for Max Jobs


The Max jobs setting is used as a guideline to determine the number of simulation decks to
generate. Depending on the type of analysis (sweep or corners) and what parameters are
being varied, the environment might generate more or fewer decks than Max jobs. For a
corners analysis, the environment typically generates one simulation deck for every corner,
regardless of the Max jobs setting, to accommodate a different include file path for each
corner. For a sweep where Alterable parameters are being swept, the Max jobs setting is
used to specify the number of simulation decks to generate (see “Sweeps” on page 201).

Running Distributed Simulations and Max Jobs


When the Run distributed check box is marked and the Distribution list radio button is
selected on the Distribution tab of the Options window (see “Options Window” on
page 231), the Max jobs setting controls the number of simultaneous simulations (which
limits the number of simulation licenses used at one time). When Max jobs is 0, the
environment uses the number of machines specified in the Distribution list to determine
the maximum number of simultaneous simulations (see “Distribution list” on page 233). For
example, if there are four machines in the list, then Max jobs is 4. Max jobs may not
exceed the number of machines in the list or 99, whichever is smaller.

If the Run distributed check box is marked and the Queue command radio button is
selected instead (see “Queue command” on page 235), then all jobs are submitted to the
queue and the queuing software is used to manage the loading.

June 2005 230 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Options Window
To open the Options window, do one of the following:
➤ In the VSdE main window, choose Tools – Options (see "Tools Menu" in the Virtuoso
Specification-driven Environment Reference).
➤ In the Job distribution group box wherever it appears, click Options.
Note: The Job distribution group box appears on the Run Options tab of the Sweep
and Corners windows for sweeps and corners analyses, and on the Options tab on the
Run tab of the Test Setup window for tests (see “Run Tab—Options Tab” on page 152).

The following tabs are available:


■ Distribution Tab on page 232
■ Design Management Tab on page 237
■ Other Tab on page 238

June 2005 231 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Distribution Tab

The Distribution tab of the Options window is used to configure the following items:
■ General distribution options on page 233—Check boxes for selecting general options for
distributed simulations.
■ Distribution list on page 233—When selected, enables the Machine file field (by default,
machine_list.mac in the .acv directory in the user’s home directory) and displays
the Machine file contents for distributed simulations.
Note: Multiple hosts can be specified in machine_list.mac. Also, the same machine
name can be listed multiple times to run that many jobs on the same machine.
■ Queue command on page 235—When selected, enables the Queue command field,
which supports special, third-party queuing software that takes a command and locates
a host on which to run it (while considering loading and other factors). Distributed
simulations are launched using the queuing command specified in the Queue
command field (for example, qrsh).

June 2005 232 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

General distribution options

The following general distribution options are available for selection:

Option Description
Use Parallel ■ When marked, the environment will attempt to check out
Characterization Parallel Characterization licenses first, if available.
licenses if
■ When not marked, the environment checks out full licenses
available
only; Parallel Characterization licenses (even if available) are
not used.
Use C-shell for run ■ When marked, the C-shell is used to run distributed simulations
script (using either the Distribution list or the Queue command);
the ACV_PRERUN_CMD environment variable can be used to
source a file containing C-shell commands.
■ When not marked, the Bourne shell is used to run distributed
simulations.

Distribution list

To specify a machine list file containing a list of available host machines for distributed
simulation, do the following on the Distribution tab of the Options window:
1. Select Distribution list to display the default path to the machine_list.mac file (in
the Machine file field).
2. Click to open the Select File form.
3. Navigate to and select the desired machine_list.mac file that lists the host machines
to be used during distributed simulation.
4. Click Open.

June 2005 233 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

The list of host machines, their availability, and locations are displayed in the Machine file
contents table, as follows:

Column Information
Host Name Valid host machine name
Local Directory (Optional) Directory mapping to apply when local jobs are run on a
Prefix remote machine when the local and remote paths are not the
same
Remote Directory
Prefix
Important
Specifying Local Directory Prefix and Remote
Directory Prefix information is only necessary when the
path to the local project directory is not exactly the same on
both the local and remote hosts. The Remote Directory
Prefix is substituted for the Local Directory Prefix for jobs
running on the remote machine. For example,
/nfs/home/user/projects on the local machine might
be /export/home/user/projects on the remote
machine. The /nfs part (or prefix) of the local path needs
to be mapped to /export (as the prefix) on the remote
host as follows:
Local Directory Prefix = /nfs
Remote Directory Prefix = /export
Start Time (Optional) Simulation start time for jobs submitted on the indicated
host (Host Name), specified as HH:MM on a 24-hour clock (for
example, 18:30 is 6:30 P.M.)

Note: Multiple hosts can be specified. Also, the same machine name can be listed multiple
times to run that many jobs on the same machine. The Local Directory Prefix and Remote
Directory Prefix information must be the same for all entries of the same Host Name.

June 2005 234 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Information in the Machine file contents table can be modified using the toolbar buttons as
follows:

Button Purpose
Add a row to the table for specifying host machine information

Delete the selected host machine from the list


Modify the order in which the environment distributes jobs to the host
machines by selecting a Host Name, then clicking the up/down arrow to
move that Host Name up/down in the list

Queue command

To specify a queuing command, do the following:


1. In the Job distribution area of the Run Options tab, click Options.
2. Select Queue command.

June 2005 235 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

3. In the Command field, type the third-party queuing command.


4. Optionally, select one or more of the following check box options:

Check Box Description


Queue command sets When marked, indicates that the queuing software performs a
working directory cd (change directory) to the working directory (the run
directory) so the environment should not perform this step. For
example, the qrsh command has a -cwd option that performs
the cd.
Note: When a job is started, the environment changes the
working directory to the run directory unless this check box is
marked.
Queue command When marked, indicates that the queue command (specified in
submits batch job the Command field) submits a batch job and then exits
immediately, without waiting for the jobs to start. This option,
when enabled, tells the environment to continue waiting for job
completion after the queue command has exited.
Note: For LSF job distribution software, this check box must be
marked when the -Is option is not used.

A Note about the BSUB_QUIET Environment Variable

For LSF job distribution software, the bsub command (specified in the Command field)
displays status information to standard output, which for the environment is the Simulation
Messages window. For example:
bsub -q sun64
Job <137> is submitted to queue <sun64>.
<<Waiting for dispatch ...>>
<<Starting on sun64.acv.com>>

The BSUB_QUIET environment variable can be used as follows to disable display of these
status messages:
setenv BSUB_QUIET yes

This setenv command must be specified prior to opening the environment (for example, in
.cshrc).

June 2005 236 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Design Management Tab


The Design Management tab of the Options window is used to extend Design Management
operations by passing -xtra arguments directly to the underlying Design Management
system (for example, VersionSync). To enable Design Management operations in the SdE,
click to mark the Enable design management check box. See "General Design
Management (GDM) Commands" in the Cadence Application Infrastructure User
Guide for more information about -xtra.

June 2005 237 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Other Tab

The following check boxes, radio buttons, and drop-down lists are available on the Other tab
of the Options window:
■ Warning Message and Display Check Boxes on page 239
■ Raw File Location Group Box on page 240
■ Job Completion Check Boxes on page 241
■ Defaults Group Box on page 242
■ Dump Autoplot Check Box on page 243

June 2005 238 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Warning Message and Display Check Boxes

The following check boxes are provided on the Other tab of the Options window to
enable/disable warning messages as indicated:
■ Warn when setting active project and current project is open
When marked, for workspaces with multiple projects, a Warning message is displayed
when switching from one project to another, asking whether the currently active project
and windows/forms associated with it can be closed:
❑ Yes = Close the current project and its windows/forms
❑ No = Keep the current project open
Note: If the In the future, don’t show this warning check box (on the Warning
form) is marked, then the check box on the Other tab of the Options window is
unmarked automatically.
■ Warn when automatic renaming is done
This check box applies to schematic designs. The following prefix is applied to instance
names of any new components added on the Components tab of the Test Setup window
to avoid any naming conflicts associated with netlists generated by the schematic editor:
acv_. When this check box is marked, a Warning message is presented whenever the
prefix is applied. To suppress the warning, unmark the check box.
■ Warn when sweep steps exceed the suggested limit
When this check box is marked, a Warning message is presented when the number of
runs exceeds 500. To suppress the warning, unmark the check box.
Note: There is an absolute limit of 10,000 runs.
■ Display full lib/cell/view/testname
Unless this check box is marked, test names are displayed without the lib/cell/view
information (for example, when the Tests folder is open). When this check box is not
marked, the full lib/cell/view path for a test can be seen when the mouse cursor hovers
over the test name. To mark this check box so that the full lib/cell/view path for a test is
displayed, do the following:
a. Select Tools – Options.

b. Select the Other tab.

c. Mark the Display full lib/cell/view/testname check box.

June 2005 239 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Raw File Location Group Box

The options in the Raw file location group box on the Other tab are as follows:

Option Purpose
Use default Uses the default results location—which is named according to
the default workspace value set, if one exists, or results if no
value set is defined:
results/lib/cell/view/DefaultSet
results/lib/cell/view/results

Specify location Specifies a new results directory location for simulation data
Add workspace/project Enabled only when Specify location is selected, and marked
name to path by default, this check box causes the workspace and project
names to be appended to the specified results directory
location for simulation data as follows:
resultsLocation/workspaceName/projectName

Tip
The ACV_RAW_PATH environment variable can be set prior to opening the
environment to specify an absolute path to the RAW file location (directory). The
ACV_RAW_PATH setting takes precedence over any project settings in this group
box.

The directory into which the simulation data files are written for a project can be changed as
follows:
1. In the Raw file location group box on the Other tab of the Options window, select
Specify location.
2. Click .
The Browse for Folder window appears.
3. Navigate to and select a results file folder.
4. Click OK.

June 2005 240 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Job Completion Check Boxes

The check boxes in the Job Completion group box on the Other tab are used to
enable/disable job completion options—what happens when a job completes:

Check Box Description


Display alert dialog Displays the following alert upon completion of the simulations:

Note: Marking the check box on this form and clicking OK is an


immediate shortcut for unmarking the Display alert dialog check
box.
Flash all windows Causes all windows to flash upon completion of the job
Play sound Plays a sound upon completion of the job
Show estimated Displays estimated time to job completion in the bottom left corner
time left for job of the Job Status tab

June 2005 241 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Defaults Group Box

The following items are available in the Defaults group box on the Other tab:

Item Purpose
Allow MATLAB Check box to enable/disable the following MATLAB measures
measures and plotting and plotting features:
■ Add – MATLAB Measures on the Measures tab of the
Test Setup window (see the Cadence MATLAB Measures
User Guide for more information)
■ Plot button on the Results tab of the Sweep or Corners
window (see “Results Tab” on page 221) and in the Results
table window (see “Viewing Table Results” on page 255)
Auto-flatten data file Check box to enable/disable the auto-flatten feature for
nodes on Results tab displaying data from Open Data Files and Associations in
the leaf window on the Results tab in the VSdE main window
(see “Flattening and Unflattening Branches” on page 252):
■ When the check box is marked, the feature is enabled, and
subsequently opened data files or associations are
flattened
■ When the check box is not marked, the feature is disabled,
and subsequently opened data files or associations are
displayed in a hierarchical tree
Default waveform Drop-down list selection of available waveform viewers:
viewer
■ AWD (see the Analog Waveform User Guide)
■ SimVision (see the SimVision User Guide)
■ WaveScan (see the WaveScan User Guide)
Note: The Default waveform viewer selection is also
displayed in the Plot viewer field in the Plot actions group box
on the Select Waveform Files form (see “Plot Actions” on
page 282).

June 2005 242 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Item Purpose
Default for Calculator Drop-down list of available Calculator/waveform viewer
and Direct Plot configurations to use whenever Calculator, Direct Plot, or MC
Plot is clicked on a form:
■ AWD (see the Analog Waveform User Guide)
■ WaveScan (see the WaveScan User Guide)

Dump Autoplot Check Box

When marked, the Dump autoplot to file check box causes the contents of autoplotted
results to be saved to a graphics image file. You can select one of the following image formats:
■ png for Portable Network Graphics image format
■ tiff for Tag Image File Format
■ ps for PostScript image format

The file is stored in the docs subdirectory of the project and appears in the Documents
folder. The name of the file is
autoplot_setupName.imageType

where setupName is the name of the test or sweep setup and imageType is the Image format
you selected (png or tiff or ps).
Note: The file is regenerated each time results are autoplotted after simulation.

June 2005 243 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Simulation Options Group Box


Simulation options that are common to tests, sweeps, and corners are as follows:
■ Keep sim directories
When this check box is marked, the subdirectories created to run the simulations (for
example, run0, run1, etc.) are preserved. This option can be helpful when debugging
simulation errors.
When this check box is not marked, the simulation run subdirectories are removed at the
end of simulation.
■ Keep netlist files
When this check box is marked, design netlist files used for simulation are preserved.
When this check box is not marked, design netlist files are deleted after simulation.
■ Keep waveform files
When this check box is marked, simulation data files are copied into the Results
location directory and preserved. Because these files can be large, it is sometimes
desirable not to keep them.
When this check box is not marked, simulation data files are deleted when the Sweep or
Corners window is closed.
■ Generate netlist
This option is for schematic editor users only to enable/disable generation of a netlist
(which can be a time-consuming process for large designs). When disabled, the netlist
from a previous run of the test (if it exists) is used.
■ Measures-only
When this check box is marked, the environment does not run a simulation, but uses
existing RAW files as input to the measures of the test (which is useful when debugging
a measure and its output).

June 2005 244 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

■ Output Dir
This button is used to open the RAW File Location form for specifying the following
options:

Option Description
Use global project options Selected by default, this option says to use the
settings specified in the Raw file location group
box on the Other tab of the Options window (see
“Raw File Location Group Box” on page 240), which
apply globally to the entire project
Options Available only when Use global project options is
selected, this button opens the Options window and
displays the Other tab (see “Other Tab” on
page 238)
Specify location When selected, indicates the output directory
location for this particular test/sweep/corners setup

The following simulation options apply only to sweeps and corners analyses; they do not
apply when running a single test:
■ Stop on first failure
When this check box is marked, all simulations stop when one contains errors. This
option is useful for long sweeps to verify that everything is in place for the simulations to
work.
When this check box is not marked, all simulations are run, regardless of whether any
fail.
■ Run incrementally
When this check box is marked, simulations are performed only if there are no previous
values for that sweep or corner condition.

June 2005 245 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Specifying Run Options

Important
The Run incrementally option should be used carefully because it causes
simulations to be skipped. This option is never saved with the project item (for
example, by clicking Apply); rather, it must be marked explicitly before clicking Run.
When this check box is not marked, existing results are deleted, and the entire sweep or
corners analysis is run again.

June 2005 246 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

10
Viewing and Analyzing Results

Various mechanisms are provided for viewing simulation and measurement results from
tests, sweeps, corners, and Monte Carlo analyses. Results can be displayed in tables of data,
plotted as waveforms, families of curves, or 3D surfaces, depending on the data available for
a run and the selected waveform viewer. Operating point and statistical information can also
available be displayed.

For tests:
■ Results tab of the VSdE main window (see “Using the Results Tab” on page 249)
displays all available results data
■ Plot drop-down menu on Results tab on the Run tab of the Test Setup window (see
“Run Tab—Results Tab” on page 155) plots waveforms using the Default waveform
viewer (see “Defaults Group Box” on page 242)
■ Plot actions group box on the Waveforms tab on the Run tab of the Test Setup window
(see “Run Tab—Waveforms Tab” on page 158 and “Plot Actions” on page 282) specifies
how to plot the selected waveforms

For sweeps, corners, and Monte Carlo analyses:


■ Results tab of the VSdE main window (see “Using the Results Tab” on page 249)
displays all available results data
■ Waveform button on Job Status tab (see “Job Status Tab” on page 219) opens the
Select Waveform Files form (see “Viewing Waveforms” on page 278)
■ Plot button on Results tab (see “Results Tab” on page 221), or in the Results table
window (see “Viewing Table Results” on page 255) opens the Plot Results window (see
“Plotting Results” on page 283)
■ View button on Results tab displays measured results in the Results table window (see
“Viewing Table Results” on page 255)

June 2005 247 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Note: There are two different Results tabs in the environment:


❑ The Results tab in the VSdE main window displays the Result Files tree for full
results access (see “Using the Results Tab” on page 249).
❑ The Results tab in each of the Test Setup, Sweep, and Corners windows provides
access to a limited set of viewing/plotting methods (see “Run Tab—Results Tab” on
page 155 and “Results Tab” on page 221).

The following topics are discussed:


■ Using the Results Tab on page 249
■ Viewing Table Results on page 255 and Formatting Table Cells on page 260
■ Analyzing Operating Point Information on page 263
■ Viewing Statistics on page 276
■ Viewing Waveforms on page 278
■ Plotting Results on page 283
Note: See also “Defaults Group Box” on page 242.

June 2005 248 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Using the Results Tab


Simulation results can be plotted, and table results displayed, from the Results tab of the
VSdE main window. Results for tests, sweeps, and corners analyses are saved in a results
database. Results are organized in a hierarchy based on the sweep name, the test name, the
DUT lib/cell/view, and the measure name.

To display the Results tab, do the following in the VSdE main window:
➤ Click to select the Results tab.

The Results tab features the following expandable trees of information:


■ Result Files
■ Open Data Files
■ Associations

The following tasks are presented:


■ Expanding a Folder or Other Result Item on page 250
■ Viewing Available Result Types on page 251
■ Opening a Data File for Plotting on page 252

June 2005 249 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

■ Opening an Association for Plotting on page 252


■ Flattening and Unflattening Branches on page 252
■ Displaying Leaf Data on page 253
■ Plotting Traces on page 253
■ Viewing Tabular Data on page 254
■ Viewing Association Properties on page 254
■ Customizing Default Double-Click Action for Leaf Data on page 255

Expanding a Folder or Other Result Item


To expand a folder or other item on the left side of the Results tab, do the following:
➤ Click the + to the left of the folder.

The icon to the left of each item in a Result Files folder indicates the kind of results data
available as follows:

Icon Description
Test results

Sweep results

Corners results

Measure results

P[…] Results for a particular set of parameter values, as indicated


P= Results for a particular parameter value, as indicated

Where a results item has a single value, that value is displayed after an equals sign following
the result name. For swept parameters, the range of values is shown in square brackets
following the parameter name until a particular, single value can be identified as the results
tree is traversed.

June 2005 250 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Viewing Available Result Types


To view the set of result types available for a test or measure, do the following:
➤ In an expanded folder in the Result Files tree, select a test or measure.

Result types for the selected item are displayed in the leaf window on the right side of the
Results tab. Result types include:

Result Type Description


Tabular Data Table of all measures in the test and their result values
Associated […] Data An association that represents the intersection of hierarchy for
Files the group of like simulation data files (for example, all TR or all
DC) associated with the selected item (see also “Opening an
Association for Plotting” on page 252)
Curve Family 2D representation of 3D data (for example, two sweep
parameters varying) as a family of curves
Plot X vs. Y plot of 2D data (for example, one parameter varying)
analysisType Simulation data file from the run used to determine a single
Simulation Data File measured result (see also “Opening a Data File for Plotting” on
page 252)
Operating Point Simulation data file containing operating point information
Simulation Data File

For those users with a full MATLAB license and software, the following additional result types
might appear. The Allow MATLAB measures and plotting check box must be marked in
the Defaults group box on the Other tab of the Options window (see “Defaults Group Box”
on page 242).

Result Type Description


MATLAB Plotting MATLAB data file for plotting 2D and 3D surfaces:
Surface 3D plot of data (for example, two sweep parameters varying).
Surface Family Family of 3D surface plots

June 2005 251 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Opening a Data File for Plotting


To open a data file and have its name displayed in the Open Data Files folder, do the
following:
1. In the Result Files folder, select a test item to display its leaf data.
2. In the leaf window, double-click a Simulation Data File.

Trace names from the data file are displayed in the leaf window.

Other relevant topics include:


■ Displaying Leaf Data on page 253
■ Flattening and Unflattening Branches on page 252

Opening an Association for Plotting


A set of associated data files can be established as an association for plotting families of
curves. A family of curves is made up of the intersection of hierarchy for a group of like
simulation data files (for example, all TR or all AC). To open an association, do the following:
➤ Double-click an Associated […] Data Files item in the leaf window.

The opened association appears as a folder in the Associations tree. The name of a created
association is based on the sweep and test names from the Results Files tree. The manner
of display of the association and its contents depends on the Auto-flatten data file nodes
on Results tab setting (see “Flattening and Unflattening Branches” on page 252).

Trace names from the association are displayed in the leaf window (see also “Displaying Leaf
Data” on page 253).

Flattening and Unflattening Branches


If the Auto-flatten data file nodes on Results tab check box is marked (see “Defaults
Group Box” on page 242), then an open data file (or open association) is displayed as a
flattened folder in the Open Data Files (or Associations) tree. To unflatten a folder (or
branch), do the following:
1. Right-click the folder.
2. Select Unflatten branch from the pop-up menu presented.

June 2005 252 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

To flatten a folder (or branch), do the following:


1. Right-click the folder.
2. Select Flatten branch from the pop-up menu presented.

Displaying Leaf Data


Leaf data for an item selected on the left side of the Results tab is displayed in the leaf
window on the right side of the Results tab. To select the format for displaying result items in
the leaf window, do the following:
1. Right-click any blank area in the leaf window (that is, anywhere that is not on a leaf item).
2. Select one of the following from the pop-up menu presented:

Menu Item Description


List in Columns Displays items as a list in column-major order, in multiple
columns as necessary; for example:
1 4 7
2 5 8
3 6 9

List in Rows Displays items in multiple columns using row-major order; for
example:
1 2 3
4 5 6
7 8 9

Detailed List Displays items in resizable columns:


■ Name and Units (for example, s, V, A) for analog traces
■ Name and Type (for example, Simulation Data File,
Data Table, Macro) for other data items

Plotting Traces
To open a new plot window and plot a trace from an open data file or association, do the
following:
1. In the leaf window, select a trace name.
2. Click .

June 2005 253 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

To add a trace to the current plot (as an overlay), do the following:


1. In the leaf window, select a trace name.
2. Click .

Other relevant topics include:


■ Opening a Data File for Plotting on page 252
■ Opening an Association for Plotting on page 252

Viewing Tabular Data


To open the Results table window (see “Viewing Table Results” on page 255) for Tabular
Data, do the following:
➤ Double-click a Tabular Data item in the leaf window.

Viewing Association Properties


To view name, path, and attribute information for the selected folder in the Associations tree,
do the following:
1. Right-click a folder in the Associations tree.
2. Select Properties.

The Path area lists all files that make up the selected association.

To move to the last item in the list, do the following:


1. Click in a list area.
2. Press Ctrl-End.

To move to the first item in the list, do the following:


1. Click in a list area.
2. Press Ctrl-Home.

June 2005 254 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Customizing Default Double-Click Action for Leaf Data


The Customize Menu form appears when Customize is selected from a right-click pop-up
menu in the leaf window for the Results tab of the VSdE main window (in the Name column).
Default double-click actions can be set for all items that share this right-click pop-up menu.

The Menu Entry column lists the items on the selected right-click pop-up menu. The * in the
Dft column denotes the default action for double-clicking the data item.

To set the default double-click action, do the following:


1. Click to select an item in the Menu Entry column.
2. Click Set Default.
3. Click OK to close the form.

Viewing Table Results


The following methods are provided for displaying a table of results for sweeps and corners
analyses:
■ On the Results tab of the Sweep or Corners window, click View.
■ In the spec sheet details window, click .
■ From the expanded Result Files tree on the Results tab in the VSdE main window,
right-click any Tabular Data leaf item and select Open from the pop-up menu.
(Alternatively, double-click the item.)

June 2005 255 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Note: Table results for tests are displayed on the Results tab on the Run tab of the Test
Setup window (see “Run Tab—Results Tab” on page 155).

Sweep parameters are listed in rows at the top of the window, in the Parameters table. Each
column indicates the set of parameter values used for that simulation. The measured result
values associated with each simulation are listed in the rows and columns on the bottom half
of the Results table window. A column of data is selected by clicking on the iteration number
heading at the top of the column. Multiple columns can be selected by click-dragging,
Shift-clicking, and/or Ctrl-clicking.

The buttons along the bottom of the Results table window are used as follows:

Table 10-1 Results Table Buttons

Button Description
Waveform Opens the Select Waveform Files form for the selected columns of results
(see “Viewing Waveforms” on page 278)
View Presents a drop-down menu of the following selections (see the Cadence
Analog Design Environment User Guide):
■ Mismatch Summary
■ Noise Summary
■ Noise Parameters
■ Stability Summary
■ Pole-zero Summary
■ Sensitivity

June 2005 256 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Table 10-1 Results Table Buttons, continued

Button Description
Calculator Opens the Calculator window
Note: Which Calculator window appears depends on the Default for
Calculator and Direct Plot selection in the Defaults group box on the
Other tab of the Options window (see “Defaults Group Box” on page 242).
DP -> Calc Imports the plot expression from Direct Plot into the Calculator
Direct Plot Opens the Direct Plot Form, the design schematic window, and either a
Waveform Window or a Graph Window for plotting simulation results,
depending on the Default for Calculator and Direct Plot selection in the
Defaults group box on the Other tab of the Options window (see “Defaults
Group Box” on page 242)
Note: For information about the Direct Plot Form, see Chapter 10,
“Plotting and Printing” in the Cadence Analog Design Environment
User Guide.
Plot Opens the Plot Results window for plotting the selected column of results
(see “Plotting Results” on page 283)
Op Point Opens the Operating Point window (see “Analyzing Operating Point
Information” on page 263)
Statistics Opens the Results Statistics window (see “Viewing Statistics” on
page 276)
Format Opens the Cell Formatting window (see “Formatting Table Cells” on
page 260) for formatting cells in the selected rows

Tip
Use click-drag to select multiple rows.
Close Closes the Results table window
Help Opens Online Help for this window

June 2005 257 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

The File menu (in the top right corner of the Results table window) is used to perform the
following tasks:

Table 10-2 Results Table File Menu Items

Menu Item Description


Save As Opens the Save As form for saving the results data to a file of
comma-separated values (.csv)
Export to HTML Saves the data in HTML format to a file named for the test (and
sweep or corner, as appropriate) in the project docs directory
Print Opens the Print Setup form for printing the table to a configured
printer (see also “Printer Setup” in the Virtuoso
Specification-driven Environment Reference)
Hide Domain Data Marked by default, this check box causes any domain data in the
results file (for example, times for transient analysis, or frequencies
for AC analysis) not to be displayed in the table
Auto Refresh Marked by default, this check box causes the tabular data to be
refreshed automatically when the results file is updated after
rerunning a test/sweep/corners analysis
Refresh Forces a refresh of the tabular data from the results file
Properties Displays the lib/cell/view location of the results file in the Properties
window:

Close Closes the Results table window

June 2005 258 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

The following right-click pop-up menu appears whenever the right mouse button is clicked in
a table cell, or in a row or column header:

Tip
Use Shift-click or Ctrl-click to select multiple cells, rows, columns.

Caution
Sorting actions cannot be undone.

Table 10-3 Results Table Right-Click Pop-Up Menu

Menu Item Description


Copy Copies the contents of the selected cells into the paste buffer
Hide Row Hides the indicated row of data (that is, the row in which the
right-click was performed)
Hide Column Hides the indicated column of data (that is, the column in which
the right-click was performed)
Show All Displays all rows and columns of data
Sort Columns Sorts all columns according to the contents of the first-selected
row of data
Sort Rows Sorts all rows in the specified table (that is, either the Parameters
table or the Results table window, but not both) according to the
contents of the first-selected column of data
Note: Rows of data can be sorted by parameter or result name by
right-clicking in the column containing these names and selecting
Sort Rows.
Remove PSF Data Removes PSF data for the selected columns

June 2005 259 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Formatting Table Cells


The Format button is used to open the Cell Formatting window for formatting cells in the
selected rows:

The following set of numeric formats for values in the table cells is supported:

Table 10-4 Cell Formatting Styles

Format Style Description


General All digits of each number are displayed without benefit of scientific or
engineering shorthand notations.
Scientific Numbers are displayed using scientific notation (for example, 1e-3).
Engineering Numbers are displayed using engineering suffixes (for example, “p” for
e-12, “n” for e-9, “K” for e3).
Note: The drop-down list in the Suffix field is used to select an
engineering suffix. Selecting Auto lets the environment select the
suffix. A mark in the Use 1st cell’s suffix for all cells check box
indicates that the 1st cell’s suffix is to be used for all cells in the selected
row.
Hexadecimal Operates on integer values only and converts the number to
hexadecimal
Percent Shifts numbers to the left two decimal places and appends a percent
sign (%).

June 2005 260 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Table 10-4 Cell Formatting Styles, continued

Format Style Description


Conver Digital Converts certain fixed integers into strings that make sense in the
digital world, according to the following mappings:
208 => "S0"
209 => "S1"
210 => "SX"
211 => "SE"
212 => "SR"
213 => "SF"
214 => "SU"
215 => "SC"
223 => "S^"
192 => "D0"
193 => "D1"
194 => "DX"
195 => "DI"
196 => "DR"
197 => "DF"
198 => "DU"
199 => "DC"
207 => "D^"
176 => "R0"
177 => "R1"
178 => "RX"
179 => "RI"
180 => "RR"
181 => "RF"
182 => "RU"
183 => "RC"
191 => "R^"
48 => "Z0"
49 => "Z1"
50 => "ZX"
51 => "ZI"
52 => "ZR"
53 => "ZF"
54 => "ZU"
55 => "ZC"
63 => "Z^"

The value in the Precision field, which defines the number of significant digits in the number
displayed, applies to all formats except Hexadecimal and Convert Digital.

The Reset button is used to reset the display to its default format.

June 2005 261 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

The radio buttons (and spin box) on the Misc tab are used to specify the number of values
that can be displayed in each table cell:

Radio Button Description


Limit number to: The number of values in each cell is limited to the number
specified in the spin box
Unlimited number The number of values per cell is not limited

Note: Formatting information is retained such that each time the file is opened for viewing,
and each time the file is updated with new results, the formatting changes are remembered.

June 2005 262 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Analyzing Operating Point Information


When operating point information is available, then device output variable data is accessible
in the Operating Point window:

The Results type drop-down list is used to select the operating point data type (for example,
dcOp_info, tranFinalOp_info). Device output variable information from the transient
operating point is collected automatically. Device output variable information from the DC
operating point is collected as follows:
1. For Analysis type = DC, click to mark the Save DC operating point check box on the
Analyses tab.
2. Click Apply.
3. Click Run.
Note: See the Virtuoso Spectre Circuit Simulator User Guide and Reference.

June 2005 263 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

The items in this window are used as follows to view and manipulate operating point data,
and to annotate a schematic with this information:

Item Description
Results type Drop-down list of operating point data types (for example,
dcOp_info, tranFinalOp_info)
Component Drop-down list of components from the operating point results files
Filter Group box containing check boxes and radio buttons for filtering
data in the operating point information table on the bottom half of
the Operating Point window (see “Filtering Operating Point Data” on
page 264)
Instance Group box containing buttons and a highlight-color drop-down
Annotation selection list for instance annotation (see “Back-Annotating
Operating Point Information to Schematic Instances” on page 269)
Node Annotation Group box containing buttons and a drop-down selection list for
node annotation (see “Back-Annotating Node Information to a
Schematic” on page 271)
Set Up Params Button used to open the Operating Point Parameter and Expression
Setup form (see “Setting Up Component Parameters and Building
Expressions” on page 272)
File Menu for saving (as CSV), printing, exporting (as HTML), and
refreshing data (see “Using the File Menu” on page 274)

Filtering Operating Point Data


Operating point data filtering is specified in the Filter group box. The following filtering
selections are available:
■ Parameter expression on page 265
■ Component filter on page 267

June 2005 264 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Parameter expression

When this check box is marked, an expression typed in the field is used to filter the table of
data. For example, the expression vbe<.2 filters the data such that only BJTs in the table
whose vbe parameter is less than two are shown. More complicated expressions, like
.6<vbe<.7&&vbe*ic>9e-6, can also be constructed. Parameter expressions can contain:
■ Any number of operating point parameters
■ Parameter Expression Operators for Filtering on page 265
■ Basic Mathematical Functions for Filtering on page 266

Parameter Expression Operators for Filtering

The following operators are supported in parameter expressions for operating point data
filtering:

Table 10-5 Parameter Expression Operators for Filtering

Symbol Type of Operator Example


+ Unary plus +x (unary plus x) 1
- Unary minus -x (unary minus x)
! Logical negation !x (not x)
* Multiplication x * y (x multiplied by y)
/ Division x / y (x divided by y)
+ Addition x + y (x plus y)
- Subtraction x - y (x minus y)
> Relational x > y (x greater than y)
>= x >= y (x greater than or equal to y)
< x < y (x less than y)
<= x <= y (x less than or equal to y)
== Logical equality x == y (x equal to y)
!= Logical inequality x != y (x not equal to y)

June 2005 265 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Table 10-5 Parameter Expression Operators for Filtering, continued

Symbol Type of Operator Example


&& Logical and x && y (x and y)
|| Logical or x || y (x or y)
% Modulus x%y (x modulus y)
1. “unary plus x” (+x) is the same as just “x” (x); that is, the “+” is not required.

Basic Mathematical Functions for Filtering

The following basic mathematical functions are supported in parameter expressions for
operating point data filtering:

Table 10-6 Mathematical Functions in Parameter Expressions

Function Description Domain


abs(x) Absolute value All x
exp(x) Exponential x < 80
int(x) Returns the integer part of x All x
ln(x) Natural logarithm x>0
log(x) Decimal logarithm x>0
max(x,y) Maximum All x and y
min(x,y) Minimum All x and y
pow(x,y) Power: xy For x > 0, all y
For x = 0, all y > 0
For x < 0, all integer y
sgn(x) Sign of x; returns 1 if x > 0, 0 if x = 0, and -1 if x < 0 All x
sqrt(x) Square root x>0

June 2005 266 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Component filter

When this check box is marked, the component instances listed in the table on the lower half
of the Operating Point window are filtered to display only those that meet the filtering criteria.
Table entries are filtered either by selecting specific components on the schematic (the ones
to be displayed in the table) or by specifying a filtering pattern to match, depending on the
radio button selected as follows:
■ The By selection radio button enables filtering by component selection. Only
components selected from the schematic are displayed in the table on the lower half of
the Operating Point window. Component selection is accomplished using either the
Select or the Selection List buttons as follows:
❑ The Select button is used to bring the schematic window to the foreground and
initiate schematic selection. Selected items appear in the operating point filter list
(see “Specifying a Filter List” on page 268). When a component is selected a
second time, it is removed from the list.
❑ The Selection List button is used to open the Operating Point Filter List (see
“Specifying a Filter List” on page 268), which contains a list of selected components
for operating point data filtering.
■ The By pattern radio button is used to enable filtering by pattern matching. The pattern
typed in the field determines which instances are displayed. For example, the string
*.I3.* specifies all components with I3 as part of its hierarchical string specifier. Only
components whose hierarchical specifiers match the filter pattern are displayed in the
table on the lower half of the Operating Point window.
Note: Those instances displayed in the table are the ones that will be annotated on the
schematic when the Annotate action is performed (see “Back-Annotating Operating Point
Information to Schematic Instances” on page 269).

June 2005 267 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Specifying a Filter List

The Selection List button in the Operating Point window is used to open the Operating Point
Filter List. This window displays the list of components, selected from a schematic, for which
operating point information will be displayed (on the lower half of the Operating Point window).
While reviewing the list, additional components can be selected (or removed from the list) by
clicking Select to bring the schematic window into the foreground in selection mode.
Selected components are added to the scrolling list area using the following format:
"hierarchical_pathname_of_component "
Multiple components are separated by a space. For example:
"/I3/I11/Q0" "/I3/I0/Q0"

Note: Both the Component filter check box and the Select radio button in the Filter group
box on the Operating Point window must be marked to enable the filtering specified in this
window.

When a component is selected a second time, it is removed from the list.


Note: Only components selected from the schematic are displayed in the table on the lower
half of the Operating Point window.

June 2005 268 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Back-Annotating Operating Point Information to Schematic Instances


The Instance annotation group box in the Operating Point window applies to schematic
editor users only. The following buttons and drop-down selection list are provided to support
back-annotation of operating point information to a filtered or unfiltered set of instances on a
schematic:

Item Description
Annotate Button used to annotate the operating point parameter information set
up on the Operating Point Parameter and Expression Setup form (see
“Setting Up Component Parameters and Building Expressions” on
page 272), for the filtered set of components (as shown in the table on
the lower half of the Operating Point window), on the schematic
Annotate All Button used to annotate the operating point parameter information set
up on the Operating Point Parameter and Expression Setup form (see
“Setting Up Component Parameters and Building Expressions” on
page 272), for all components in the operating point results files, on
the schematic
Clear Annotate Button used to clear all operating point instance annotations from the
schematic
Highlight Drop-down list of colors for highlighting
Highlight Button used to highlight the components on the schematic for which
the operating point information is displayed on the lower half of this
window
Clear Highlight Button used to clear all component highlights from the schematic
Display Options Button used to open the Annotation Display Options form for specifying
instance annotation display options (see “Specifying Instance
Annotation Display Options” on page 270)

June 2005 269 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Specifying Instance Annotation Display Options


To specify instance annotation options, do the following:
1. In the Instance annotation group box, click Display Options (see “Back-Annotating
Operating Point Information to Schematic Instances” on page 269).
The Annotation Display Options form appears.

2. Select one of the following options for displaying instance annotations on the schematic:

Option Description
All params Selected operating point parameters are displayed on the
displayed at first schematic using the first annotation label (cdsParam), with each
annotation label parameter displayed on a separate line
One param Selected operating point parameters are displayed on the
displayed per schematic using one annotation label (cdsParam) for each
annotation label parameter
Note: If there are more parameters than available annotation
labels, then only as many parameters as annotation labels are
displayed.

3. Click OK.

June 2005 270 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Back-Annotating Node Information to a Schematic


The Node annotation group box on the Operating Point window applies to schematic editor
users only. To select a category for back-annotation to a schematic, do the following:
1. Select one of the following items for back-annotation from the drop-down list:

Item Description
Node voltage Back-annotate node voltage information as
netName=voltageValue
Node current Back-annotate node current information as
netName=currentValue
Net name Back-annotate net name information
Pin name Back-annotate pin name information
None Clear all operating point node annotations from the schematic

2. Click Annotate.
Note: Node voltage annotation operations require that the symbols on the schematic have
cdsTerm labels.

June 2005 271 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Setting Up Component Parameters and Building Expressions


The Set Up Params button in the Operating Point window is used to open the Operating
Point Parameter and Expression Setup form. This form is used for selecting operating point
component parameters and building expressions.

Item Description
Component Drop-down list of components in the design
Available Scrolling list of component operating point parameters for the selected
component
Note: The environment provides an initialization file containing the
most commonly used operating point parameters for each component
type.
Annotate Scrolling list of component operating point parameters whose values
will be displayed in the table on the lower half of the Operating Point
window, and annotated on the schematic when either Annotate or
Annotate All is clicked (see “Back-Annotating Operating Point
Information to Schematic Instances” on page 269)
Add --> Button used to move a component operating point parameter or
expression from the Available list to the Annotate list
<-- Remove Button used to move a component operating point parameter or
expression from the Annotate list back to the Available list
Operating point Group box in which an expression can be defined (see the table,
expression below)

June 2005 272 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

The following items appear in the Operating point expression group box on the Operating
Point Parameter and Expression Setup form:

Item Description
Name Field in which to type the name of the new expression (for example,
vdsdiff)
Expression Field in which to type the new expression, which can consist of any number
of operating point parameters and supports expression syntax as
described in “Parameter expression” on page 265 (for example,
vds-vdsat)
Note: The expression is evaluated and its value is displayed in a column of
the table on the lower half of the Operating Point window whose heading is
the name of the expression as typed in the Name field (above)—for
example, vdsdiff as the column heading, and the value of vds-vdsat
(evaluated) in a row cell of that column for every MOSFET instance
displayed in the table.
Clear Button used to clear the fields in the Operating point expression group
box
Note: This action does not delete the expression.
Add Button used to add the expression to the Annotate list
Delete Button used to delete the expression
Note: When an expression is deleted, it is also removed from the
Available/Annotate list.

Note: When an expression is selected in the Available or Annotate list, its name and
expression string are displayed in the Name and Expression fields in the Operating point
expression group box for modification or deletion.

June 2005 273 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

The Save and Reset buttons are used as follows:

Button Description
Save Saves changes made on the Operating Point Parameter and Expression
Setup form with the test so that these changes are available the next time
the test is opened
Note: Clicking OK saves the changes for the current Test Setup session
only. Once the Test Setup window is closed, the changes are discarded, and
the default settings are displayed the next time the test is opened.
Reset Reloads the default set of parameters to back-annotate for each device
type from $ACV_ROOT/admin/simulatorNameOpPtSetup.ini,
where simulatorName is either the name of the simulator (for example,
spectre), or default

Using the File Menu


The following tasks can be performed using the File menu in the Operating Point window:
■ Saving Operating Point Data as Comma-Separated Values on page 274
■ Sending Operating Point Data to the Printer on page 275
■ Exporting Operating Point Data to an HTML File on page 275
■ Exporting Operating Point Data for All Components to an HTML File on page 275
■ Enabling Automatic Refresh of Operating Point Data on page 275
■ Forcing a Refresh of Operating Point Data on page 276
■ Closing the Operating Point Window on page 276

Saving Operating Point Data as Comma-Separated Values

To save the the data presented in the Operating Point window as a file of comma-separated
values, do the following:
1. Choose File – Save As to open the Save As form.
2. Specify a name and location.
3. Click Save.

June 2005 274 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Sending Operating Point Data to the Printer

To send the data presented in the Operating Point window to the printer
1. Choose File – Print to open the Print Setup form.
2. Specify Print Setup information (see also “Printer Setup” in the Virtuoso
Specification-driven Environment Reference).
3. Click OK.

Exporting Operating Point Data to an HTML File

To export the data presented in the Operating Point window in HTML format, do the following:
➤ Choose File – Export to HTML.

The data is written to the docs directory as docs/opt-testName.html and appears in


the Documents folder as opt-testName. If the file already exists, a sequence number is
added to the end of the testName: opt-testName1, opt-testName2, etc.

For sweeps, to export this data for all sweep values to a single HTML file, do the following:
➤ Choose File – Export All Sweeps to HTML.

Exporting Operating Point Data for All Components to an HTML File

To export operating point data for all components (not just those presented in the Operating
Point window) in HTML format, do the following:
➤ Choose File – Export All Components to HTML.

For sweeps, to export all operating point data for all sweeps of all components to a single
HTML file, do the following:
➤ Choose File – Export All Sweeps of All Comps to HTML.

Enabling Automatic Refresh of Operating Point Data

To enable automatic refresh of the data presented in the Operating Point window when the
results file is updated after rerunning a test/sweep/corners analysis, do the following:
➤ On the File menu, click to mark Auto Refresh.

June 2005 275 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Forcing a Refresh of Operating Point Data

To force a refresh of the data presented in the Operating Point window from the results file,
do the following:
➤ Choose File – Refresh.

Closing the Operating Point Window

To close the Operating Point window, do the following:


➤ Choose File – Close.

Viewing Statistics

The Results Statistics window displays a table of the following statistics for sweep results (for
example, Monte Carlo, corners):

Table 10-7 Results Statistics

Statistic Description1
Minimum Displays the minimum value of each result
Maximum Displays the maximum value of each result
Average Displays the average (sample mean, X) value of each result, calculated by
summing all the values and dividing by the number of values
Median Displays the sample median value of each result, which is the middle value
for an odd number of values or, for an even number of values, is calculated by
summing the two middle values and dividing by two

June 2005 276 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Table 10-7 Results Statistics, continued

Statistic Description1
Std. Dev. Displays the sample standard deviation of each result, which is calculated as
follows:

n
2 
n
2
n ∑ X i –  ∑ X i
i=1 i = 1 
S = ----------------------------------------------------
n(n – 1)

Variance Displays the sample variance of each result, which is calculated as follows:

n
2
∑ (Xi – X )
2 i=1
S = -----------------------------------
-
n–1

where X is the sample mean (average) value of the result


1. Equations taken from Probability Statistics for Engineers and Scientists, Fifth Edition, by
Ronald E. Walpole and Raymond H. Myers (New York: Macmillan Publishing Company, 1993)

The Format button is used to open the Cell Formatting window (see “Formatting Table Cells”
on page 260) for formatting cells in the selected rows.

June 2005 277 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Viewing Waveforms
The Select Waveform Files form is used to specify the files and data to load for viewing in the
selected waveform viewer (Plot viewer). One or more waveform files can be selected for
display. The Auto-plot check box (upper right corner of the form) is used to enable/disable
automatic plotting of those signals for which the Plot check box is marked upon successful
completion of the simulation.
Note: Waveforms from different analysis types are plotted in separate windows. All measure
results are plotted in a single window.

The Select Waveform Files form is opened when one of the following actions is performed:
■ Click Waveform on the Job Status tab of the Sweep or Corners window.
■ Click Waveform in the Results table window after selecting one or more columns to
make the Waveform button active.

June 2005 278 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Other related topics include the following:


■ Waveform File Selection, next
■ Waveform Annotation Check Boxes on page 280
■ Signal Specification on page 281
■ Plot Actions on page 282

Waveform File Selection


The Waveform file selection group box has the following controls:

Item Description
Filter analysis Drop-down menu selection of the analysis type (for example,
Transient, AC, SP, XF) whose results files will be listed in the Select
waveform files to view area for selection
Filter pattern Field in which a file filtering pattern can be typed to narrow the list of
files; for example, results_0.1*
Select waveform List of results files for the selected analysis type (Filter analysis);
files to view one or more files can be selected for results display

Tip
Use Shift-click or Ctrl-click to select more than one file; use
the Select All or Select None button to select all or none of
the files, respectively.
Note: For Filter analysis types AC and XF, the right-click pop-up
menu in this area provides a list of trace modifiers (see “AC, XF, and
SP Modifiers for AWD” on page 159). For Filter analysis type SP, the
right-click pop-up menu provides a selection of plot types (see
“S-Parameter Plot Types” on page 160).
Select All Button for selecting all files in the Select waveform files to view
scrolling list area
Select None Button for selecting none of the files in the Select waveform files to
view scrolling list area

See also “Waveform Annotation Check Boxes,” next.

June 2005 279 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Waveform Annotation Check Boxes


The check boxes in the bottom right corner of the Waveform file selection group box are
used as follows:

Check Box Description


Plot as family of When marked, the selection is displayed as a family of curves; sweep
curves parameter values are displayed as a prefix on the waveform label
Annotate sweep When marked, sweep parameter values are displayed as a prefix on
params the waveform label; when not marked, only node names are
displayed
Note: This check box is available only when the Plot as family of
curves check box is not marked.

June 2005 280 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Signal Specification
For most analysis types, the table at the top of the form is labelled Signals to plot. For XF
analysis (Spectre), Signals to plot becomes Instances to plot. For SP analysis (Spectre),
Signals to plot becomes S-Parameters to plot.

The table at the top of the form has the following columns:

Column Description
Plot Check box for selecting an item to plot; when the Auto-plot check
box is also marked, those items for which the Plot check box is
marked are automatically plotted upon successful completion of the
simulation
Name ■ For most analysis types, Name is a net or terminal specifier (for
example, /vcoOut)
■ For XF analysis (Spectre), Name is a valid XF instance name
(for example, /I8, /V6, /Rload)
■ For SP analysis (Spectre), Name entries are expressed using
S-parameter data matrix syntax (for example, S11, S12, S21,
S22)
Type ■ For most analysis types, Type is either net or terminal
■ For XF analysis (Spectre), Type is inst
■ For SP analysis (Spectre), Type is sp
Color Drop-down menu of available colors for plotting the item

The following buttons are available for populating the signal/instance/S-parameter table:

Button Description
Copy Save List Copies the list of items from the Nodes/currents save list on the
Sim Options tab of the Test Setup window (see “Sim Options
Tab—Spectre Tests” on page 198)
Select Opens the schematic window in the foreground for net or terminal
selection; one or more nets or terminals can be selected
Add Adds another row to the Signals to plot table
Delete Removes the selected row from the Signals to plot table

June 2005 281 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Plot Actions
The Plot actions group box features the following drop-down menus:

Menu Action
Plot viewer Selects one of the following for waveform viewing:
■ AWD (see the Analog Waveform User Guide)
■ SimVision (see the SimVision User Guide)
■ WaveScan (see the WaveScan User Guide)
Note: The <Use Default> selection causes the specified Default
waveform viewer to be used (see “Defaults Group Box” on page 242).
Plot window Selects one of the following plotting choices:
■ Clear, then plot—Clears any traces currently plotted in the
current window, then plots the selected items. This is the default
setting.
■ Plot in new window—Opens a new window and plots the
selected items. This window becomes the current window.
■ Overlay in current plot—Plots the selected items as an overlay
in the current plot, leaving whatever traces might already be there
intact.

The Plot button is used to display the named signals according to the specified plot actions.
Note: The Plot button causes the named nets to highlight on the schematic, using the
waveform display colors. Because the Virtuoso Schematic Editor is not in “Select” mode,
pressing esc does not return the nets to their unselected colors. To return the nets on the
schematic to their unselected colors, do one of the following:
■ On the Select Waveform Files form, click Select (see “Signal Specification” on
page 281), then press esc in the schematic window.
■ In the schematic window, choose Design – Probe – Remove All.

June 2005 282 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Plotting Results
The appearance of the Plot Results window depends on the Defaults settings on the Other
tab of the Options window (see “Defaults Group Box” on page 242) as follows:
■ If the Allow MATLAB measures and plotting check box is marked, then the Plot
Results window displays MATLAB plotting options (see “Plotting 2D and 3D Surface
Results” on page 284).
■ If the Allow MATLAB measures and plotting check box is not marked, then the Plot
Results window displays plotting options for the selected Default waveform viewer
(see “Plotting 2D and Curve Family Results” on page 283).

Plotting 2D and Curve Family Results


The Plot Results window displays the following plotting options for the selected Default
waveform viewer (see “Defaults Group Box” on page 242):

Button Purpose
2D Plot Plots the selected plots
Curve Family Plots the curve family results
Options Opens the Plot Options Side Panel for 2D and Curve Family Results on
page 286
Close Closes the Plot Results window
Help Opens Online Help for the Plot Results window

June 2005 283 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Important
When the Allow MATLAB measures and plotting check box is marked in the
Defaults group box on the Other tab of the Options window (see “Defaults Group
Box” on page 242), the Plot Results window displays MATLAB plotting options,
regardless of the Default waveform viewer selection. See “Plotting 2D and 3D
Surface Results” on page 284.
Note: Available combinations of results for plotting are expanded by clicking on the + to the
left of an item in the tree. When a combination is fully expanded, a list of available plots and
curve families for that combination is displayed.

The following actions open the Plot Results window:


■ Click Plot on the Results tab of the Sweep or Corners window (see “Results Tab” on
page 221), or in the Results table window (see “Viewing Table Results” on page 255).
■ Click in the Spec window (see “Spec Sheet Toolbar” on page 295).

Plotting 2D and 3D Surface Results


For those with a full MATLAB license and software (from The MathWorks, Inc.), and when the
Allow MATLAB measures and plotting check box is marked in the Defaults group box on
the Other tab of the Options window (see “Defaults Group Box” on page 242), the following
buttons are available in the Plot Results window for plotting 2D and 3D surface results:

Button Purpose
2D Plot Plots the selected plots
3D Surface Plots the selected surfaces

June 2005 284 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Button Purpose
Close Plots Closes all open plot windows
Options Opens the Plot Options Side Panel for MATLAB Users on page 287
Close Closes the Plot Results window
Help Opens Online Help for the Plot Results window

Note: Available combinations of results for plotting are expanded by clicking on the + to the
left of an item in the tree. When a combination is fully expanded, a list of available plots and
surfaces for that combination is displayed.

The following actions open the Plot Results window:


■ Click Plot on the Results tab of the Sweep or Corners window (see “Results Tab” on
page 221), or in the Results table window (see “Viewing Table Results” on page 255).
■ Double-click the MATLAB Plotting leaf item for a test in the Result Files tree on the
Results tab of the VSdE main window (see “Viewing Available Result Types” on
page 251).
■ Click in the Spec window (see “Spec Sheet Toolbar” on page 295).

Plot Options Side Panel


The Options button in the Plot Results window is used to display the plot options side panel.
The options available on the side panel of the Plot Results window depends on the Defaults
settings on the Other tab of the Options window (see “Defaults Group Box” on page 242) as
follows:
■ When the Allow MATLAB measures and plotting check box is marked, see “Plot
Options Side Panel for MATLAB Users” on page 287.
■ When the Allow MATLAB measures and plotting check box is not marked, see “Plot
Options Side Panel for 2D and Curve Family Results” on page 286.

June 2005 285 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Plot Options Side Panel for 2D and Curve Family Results

The following drop-down selections are available on the side panel of the Plot Results window
for plotting 2D and curve family results:

Drop-Down List Choices


Style ■ Auto
■ Bar
■ Scatter
Plot action ■ Clear, then plot—Clears any traces currently plotted in the
current window, then plots the selected items. This is the
default setting.
■ Plot in new window—Opens a new window and plots the
selected items. This window becomes the current
window.
■ Overlay in current plot—Plots the selected items as an
overlay in the current plot, leaving whatever traces might
already be there intact.
Plot layout ■ Overlay
■ Strip

June 2005 286 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

The check boxes on the side panel are used enable/disable the following options:

Option Description
Show title Display the results file name above the plot
Show grid Display grid on plot
Display full file names Display the full path and file name of the results file in the Select
desired plot(s) list area area name
Note: When the check box is not marked (which is the default),
only the results file name is displayed, without the path.
Show results vs. When marked, collapses the Select desired plot(s) tree and
results plots rebuilds it to include plot selections for measurement results
versus other measurement results, in addition to the standard
measurement results versus swept parameters

Plot Options Side Panel for MATLAB Users

When the Allow MATLAB measures and plotting check box is marked in the Defaults
group box on the Other tab of the Options window (see “Defaults Group Box” on page 242),
the following settings are available on the side panel of the Plot Results window:

June 2005 287 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

■ 2D Plot Options on page 288


■ 3D Surface Options on page 289
■ Subplot Options on page 290
■ Display full file names check box—Enables/disables display of the full path and file
name of the results file in the Select desired plot(s) or surface(s) list area. When
Display full file names is disabled (the default), only the results file name is displayed,
without the path.
■ Show results vs. results plots check box—Collapses the Select desired plot(s) or
surface(s) tree and rebuilds it to include plot selections for measurement results versus
other measurement results, in addition to the standard measurement results versus
swept parameters.

2D Plot Options

Item Description
Style Drop-down list box of the following 2D plot styles:
■ Normal
■ Area
■ Bars
■ 3D Bars
■ Stem
■ Scatter + Histogram (useful for Monte Carlo analysis)
Show grid Check box to enable/disable display of the grid in the plot window for the
next item plotted

For example, to display a scatter plot and histogram of Monte Carlo results, do the following:
1. Select the desired plot results.
2. In the Style field, select Scatter + Histogram from the drop-down menu.
3. Click 2D Plot.

June 2005 288 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

3D Surface Options

Table 10-8 Plot Results Window—3D Surface Options

Item Description
Style Drop-down list box of the following 3D plot styles:
■ Normal shaded
■ Shaded contour
■ Normal meshed
■ Contour meshed
■ Floor meshed
■ Waterfall
Show grid Check box to enable/disable display of the grid in the plot window for the
next item plotted

June 2005 289 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Subplot Options

Table 10-9 Plot Results Window—Subplot Options

Item Description
Enable subplot Check box to enable/disable display of multiple plots in a single plot
window, up to Rows*Columns

June 2005 290 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Table 10-9 Plot Results Window—Subplot Options, continued

Item Description
Rows and Number of rows and columns of plots that can be displayed in the plot
Columns window, up to a maximum of 10

Undo Last Remove the traces from the last plot in the plot window and frees that
position in the subplot grid for a new subplot

June 2005 291 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Viewing and Analyzing Results

Plot Window Menus


The File, Edit, and Tools menus in the plot window are used to manipulate, print, and export
plot data.

Note: A wide range of functionality is provided in the plot visualization tool that is shipped
with the environment. See MATLAB user documentation for more information.

June 2005 292 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

11
Verifying and Comparing Designs

The specification (spec) sheet tool provides a mechanism for managing and organizing
simulation results for different purposes:
■ Create a spec sheet for design reviews
■ Generate a summary report of pass/fail results for measurements
■ Display results for quick inspection of multiple simulation runs
■ Verify a design against specifications
■ Compare simulations of two implementations of a design (for example, behavioral vs.
transistor-level)

The following topics are discussed:


■ Creating and Opening a Spec Sheet on page 294
■ Adding and Removing Specifications on page 301
■ Loading Result Data Automatically on page 305
■ Configuring Columns, Rows, and Cells on page 305
■ Using the Cell Formatting Window on page 308
■ Comparing Results on page 311
■ Changing Results Directories on page 312
■ Investigating Pass/Fail Information on page 313

June 2005 293 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Creating and Opening a Spec Sheet


To create a new spec sheet, do one of the following from the VSdE main window:
■ On the Files tab, right-click on the Spec Sheet folder and select New Spec Sheet from
the pop-up menu.
■ Choose File – New... to open the New Project File form and select the Spec sheet
radio button.
■ Choose Add – New Spec Sheet.
■ Click on the toolbar.

Each of these alternatives opens the New Specification form. The Results vs. spec radio
button is used to specify a spec sheet for viewing results against specifications; the
Comparison of two designs radio button is used to specify a spec sheet that compares two
sets of results.

To open an existing spec sheet, do one of the following:


■ Double-click the spec sheet name in the Spec Sheets folder.
■ Right-click the spec sheet name in the Spec Sheets folder and select Open from the
pop-up menu.

The appearance of the window is discussed in the following sections:


■ Spec Sheet Buttons on page 295
■ Spec Sheet Toolbar on page 295
■ Spec Sheet Columns on page 296

June 2005 294 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Spec Sheet Buttons


Spec window buttons are described in the following table.

Button Description
Add See “Adding and Removing Specifications” on page 301
Remove
Compare See “Comparing Results” on page 311
Expand See “Loading Result Data Automatically” on page 305
Properties See “Changing Results Directories” on page 312
Options Opens the Spec Sheet Options form for enabling the Allow results keys
option, which causes the “result keys” (parameter names) to be displayed
along with the measure names on the drop-down list in the Measure
column
OK Save changes and close the window
Cancel Close the window without saving changes
Apply Apply changes without closing the window
Help Opens Online Help for this window

Spec Sheet Toolbar


The Spec window toolbar ( ) is described in the following table.

Table 11-1 Spec Window Toolbar

Icons Description
Moves selected row up or down

Moves selected column left or right

Auto-sizes all columns or rows, respectively, by adjusting the width (for


columns) or height (for rows) to fit the entire contents of the cells; for example,
if a results file contains more than one condition, the auto-size row button ( )
is used to widen all rows so that all conditions are visible
Opens the Plot Results window for the Measure results in the selected row
(see “Plotting Results” on page 283)

June 2005 295 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Table 11-1 Spec Window Toolbar, continued

Icons Description
Opens the Test Setup window for the selected row

Displays detailed pass/fail information for the selected row (see “Investigating
Pass/Fail Information” on page 313)
Exports entire spec sheet to an HTML file in the docs directory for the
project, named according to the spec sheet name; for example, a spec sheet
called my_spec results in an HTML file called my_spec.html
Opens the Print Setup form (see also “Printer Setup” in the Virtuoso
Specification-driven Environment Reference)
Opens the Save As form for selecting a name and location for the file of
comma-separated values to which to save the data

Spec Sheet Columns


The Sweep, Test, Measure, and Conditions columns are common to both types of spec
sheets. What items are available on the drop-down lists in each column depends on the result
data (in .res files) available in the results directory or directories specified for that row (see
the table, below).

June 2005 296 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Other related topics include the following:


■ Results vs. Spec Columns on page 298
■ Comparison Spec Columns on page 299

Column Description
Sweep Lists the sweeps and corners used to generate the results files found in the
specified results directory or directories
Note: For Comparison of two designs, only sweeps and corners from
results files that exist by exactly the same name in both results directories
are available for comparison. Both the file names and the sweeps/corners
names must match exactly.
Test Lists the tests used to generate the results files found in the specified
results directory or directories; specific to the specified sweep (in the
Sweep column), if one is selected
Note: For Comparison of two designs, only tests from results files that
exist by exactly the same name in both results directories are available for
comparison. Both the file names and the test names must match exactly.
Measure Lists the measures from the specific test or sweep-test results file
Note: For Comparison of two designs, all measures in both files must
match exactly to be available for comparison. The set of measures and their
names must match exactly.
Conditions Lists the values of each swept parameter as a range of values; for
example, if a parameter p is swept through a list of values x, y, and z, then
the Conditions column reflects the values as a range: p=x-z
Note: The conditions are set up on the Sweep tab of the Sweep window in
the Sweep parameters table (see “Sweeps” on page 201) or on the
Corners tab of the Corners window in the Corners parameters table (see
“Corners Analysis” on page 209).
Pass/Fail Displays a Pass or Fail status for each measure: Pass means that the
measured value for all runs in the sweep fall between the Min Spec and
Max Spec values, inclusive. Fail means that one or more of the measured
values falls outside the bounds of the Min Spec and Max Spec values.
To investigate the measured values further, see “Investigating Pass/Fail
Information” on page 313.

June 2005 297 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Results vs. Spec Columns

The Spec window is used to manage and organize simulation results so that they can be
compared against a set of specifications. The name of the spec sheet appears in the title bar.
The Min Spec, Max Spec, Min Value, and Max Value columns are specific to Results vs.
spec spec sheets:

Column Description
Min Spec Cells for specifying the minimum and maximum acceptable values for the
measured value such that measured values outside this range result in a
Max Spec
pass/fail status of Fail:
Min Spec ≤ measured_value ≤ Max Spec = Pass

Max Spec < measured_value < Min Spec = Fail

Note: If Min Spec is not specified, then measured values less than or equal
to Max Spec are considered passing.
Min Value Minimum and maximum measured values for all simulations for that
sweep/test/measure
Max Value
Note: For a single simulation (not a sweep), the resulting value is displayed
in both the Min Value and Max Value cells. See also “Investigating Pass/Fail
Information” on page 313.

Note: See also “Using the Cell Formatting Window” on page 308.

June 2005 298 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Comparison Spec Columns

The Comparison Spec window is used to manage and organize simulation results of one
design so that they can be compared against another design—for example, to verify that the
simulated results of a behavioral model match those of the original circuit design; to verify one
circuit against another, or one behavioral model against another. The name of the spec sheet
appears in the title bar. The Ver Tol, Tol, Min Comp, and Max Comp columns are specific
to Comparison of two designs spec sheets (see the table, below).

Table 11-2 Columns Specific to Comparison of Two Designs

Column Description
Min Comp Minimum and maximum calculated differences between the measured
values for the two designs for the indicated sweep/test/measure
Max Comp
Note: See also “Investigating Pass/Fail Information” on page 313.
Tol Tolerance (see Ver Tol description, next)

June 2005 299 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Table 11-2 Columns Specific to Comparison of Two Designs, continued

Column Description
Ver Tol Verification tolerance, selected from a drop-down list, that specifies how the
results from the two designs are compared. Pass/fail criteria are as follows:
■ Absolute—the absolute value of the difference in measured values for
the two designs must be less than the tolerance specified:
Pass = Design1value – Design2value < Tol

■ Percentage—the absolute value of the difference in measured values


for the two designs must be less than the tolerance multiplied by the
measured value for the first design:
Pass = Design1value – Design2value < Design1value × Tol

■ Range—the absolute value of the difference in measured values for the


two designs must be less than the tolerance multiplied by the difference
between the maximum and minimum measured values for the first
design:
Pass = ( MaxDesign1value – MinDesign1value ) × Tol

■ Absolute+Percentage—the absolute value of the difference in


measured values for the two designs must be less than the tolerance, or
less than the tolerance multiplied by the measured value for the first
design (see equations for Absolute and Percentage, above)
Note: This Ver Tol specification is intended for cases where numbers close
to zero are being compared.

Note: See also “Using the Cell Formatting Window” on page 308.

June 2005 300 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Here is an example of how the Absolute tolerance specification works:

The absolute tolerance (the value in the Tol cell) is 2n. Global parameter P1 is swept through
some set of values (for example, 1, 2, 3). The measurement function returns the values
shown in the Design1 Value and Design2 Value columns. The calculated difference
between these values is shown in the Difference column. A status of Pass is returned only
for cases where Design1value – Design2value < 2n :

P1 Design1 Value Design2 Value Difference Pass/Fail


1 1e-9 2e-9 1e-9 Pass
2 2e-9 4e-9 2e-9 Fail
3 1e-9 1e-9 0 Pass

The Min Comp for this set of values is 0. The Max Comp is 2n. Because at least one of the
detailed comparisons for the set failed, the pass/fail status is displayed as Fail on the spec
sheet. (See also “Investigating Pass/Fail Information” on page 313.)

Adding and Removing Specifications


The Add button is used to add a new row to the Specifications table. To add a specification
to the table, do the following:
1. Click Add to open the Add Spec Row form.
2. Specify design results information on that form.
Note: The appearance of the Add Spec Row form depends on whether the spec is
Results vs. spec (see “Add Spec Row—Results vs. Spec” on page 302)or
Comparison of two designs (see “Add Spec Row—Comparison of Two Designs” on
page 303).
3. Click OK to save changes and close the form.

The Remove button is used to remove the selected row. To remove a specification from the
table, do the following:
1. Click anywhere in the row to be removed.
2. Click Remove.

June 2005 301 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Add Spec Row—Results vs. Spec

For each row added, the following information can be specified:

Table 11-3 Add Spec Row Form—Results vs. Spec

Item Description
Design results Field for specifying design results directory

Tip
Click to open the Select Results Directory
(see “Select Results Directory Form” on
page 304 form).
Specify sweep and test name Check box to enable the Sweep and Test drop-down
selection fields
Sweep Drop-down selection list of available sweeps
Test Drop-down selection list of available tests

To add a row to a Results vs. Spec sheet, do the following:


1. Click to open the Select Results Directory form.
2. Navigate to the desired results location (by clicking + to expand the lib/cell/view tree as
necessary).

(Optional) Select the sweep and test as follows:


1. Click to mark the Specify sweep and test name check box to enable the Sweep and
Test drop-down selection fields.
2. Select a sweep name from the drop-down list in the Sweep field.
3. Select a test name from the drop-down list in the Test field.

June 2005 302 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

4. Click OK to save changes and close the form.

Add Spec Row—Comparison of Two Designs

For each row added, the following information can be specified:

Table 11-4 Add Spec Row Form—Comparison Spec

Item Description
First design results Fields for specifying two design results directories
Second design results
Tip
Click to open the Select Results Directory
(see “Select Results Directory Form” on
page 304 form).
Specify sweep and test name Check box to enable the Sweep and Test drop-down
selection fields for First design and Second design
Sweep Drop-down selection list of available sweeps
Test Drop-down selection list of available tests

June 2005 303 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

To add a row to a Comparison of two designs spec sheet, do the following:


1. Click to open the Select Results Directory form for each of the two designs.
2. Navigate to the desired results location (by clicking + to expand the lib/cell/view tree as
necessary).

(Optional) Select the sweep and test for each of the two designs as follows:
1. Click to mark the Specify sweep and test name check box to enable the Sweep and
Test drop-down selection fields.
2. Select a sweep name from the drop-down list in the Sweep field for each of the two
designs.
3. Select a test name from the drop-down list in the Test field for each of the two designs.
4. Click OK to save changes and close the form.

Select Results Directory Form


The button is used to open the Select Results Directory form for specifying the lib/cell/view
location of a results directory. By default, results are stored in the current lib/cell/view in a
directory named after the current Workspace Value Set name, if a workspace value set is
defined (see “Workspace Parameters” on page 95); otherwise, results are stored in a
directory called results.

June 2005 304 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

The Result tree on the top half of the form can be navigated and expanded to select a new
lib/cell/view/results location, which appears in the Result directory expanded information
area on the bottom half of the form. The Results files area lists all results file (.res) found
in the selected location.

Loading Result Data Automatically


The Expand button is used to add rows to the spec sheet for qualified tests and measures,
loading the corresponding result data automatically as follows:

Specified Expand
Sweep Adds a row for every combination of sweep, test, and measure from
every result file for this sweep in the specified results directory (see
“Adding and Removing Specifications” on page 301)
Sweep and Test Adds a row for each measure associated with this sweep and test

Configuring Columns, Rows, and Cells


Several right-click pop-up menus are available for manipulating the columns, rows, and cells
in a spec sheet; and for viewing detailed test and results information (see “Spec Sheet
Column/Cell/Row Right-Click Pop-Up Menus” on page 306).

The columns of a spec sheet can be moved and auto-sized using the and buttons,
respectively. User Columns can be added, renamed, and deleted using the column right-click
pop-up menu. Any column can be hidden or unhidden.

The rows of a spec sheet can be moved and auto-sized using the and buttons,
respectively. Rows of results data can be added and removed using the Add and Remove
buttons. The Expand button can be used to expand the set of results displayed in the spec
sheet automatically (see “Loading Result Data Automatically” on page 305). Detailed
information about the data in the current row is available using either the row right-click
pop-up menu or the , , and toolbar buttons.
Note: Row and column auto-size actions operate on all rows or columns in the spec sheet
either to adjust the width (for columns) or height (for rows) to fit the entire contents of the cells.

June 2005 305 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

The contents of a cell can be edited or formatted using the cell editing right-click pop-up
menu. Multiple cells can be formatted using the multiple-cell formatting right-click pop-up
menu.

Table 11-5 Spec Sheet Column/Cell/Row Right-Click Pop-Up Menus

Menu Description
Column Pop-Up: Right-click a column heading to see this menu.
■ Hide Column: Hides the current column
■ Unhide Column: Presents a submenu of hidden columns;
click to unhide
■ Insert Column: Inserts a User Column to the right of the
current column; type a custom name upon creation and
press Return
■ Rename Column: Highlights the User Column name for
editing; type a new name and press Return
■ Delete Column: Deletes the current User Column
Cell Editing Pop-Up: Right-click a highlighted text string in a cell to see this menu.
■ Undo: Undoes the last edit action
■ Cut: Deletes the selected text while retaining a copy in the
paste buffer
■ Copy: Copies the selected text to the paste buffer
■ Paste: Pastes the contents of the buffer at the cursor
location
■ Delete: Deletes the selected text
■ Format Cells: Opens the Cell Formatting window for the
current cell (see “Using the Cell Formatting Window” on
page 308)

June 2005 306 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Table 11-5 Spec Sheet Column/Cell/Row Right-Click Pop-Up Menus, continued

Menu Description
Row and Multiple Cell Right-click in a row or in a highlighted set of cells to see this
Formatting Pop-Up: menu. (Click-drag to highlight a set of cells.)
■ Format Cells: Opens the Cell Formatting window for the
selected cells (see “Using the Cell Formatting Window” on
page 308)
■ Plot: Opens the Plot Results window for the Measure
Toolbar shortcuts: results in the selected row (see “Plotting Results” on
page 283)
Plot
■ Show Details: Displays detailed pass/fail information for
Show Details the selected row (see “Investigating Pass/Fail Information”
Show Test on page 313)
■ Show Test: Opens the Test Setup window for the selected
row
■ Expand: See “Loading Result Data Automatically” on
page 305

June 2005 307 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Using the Cell Formatting Window


The Format Cells menu item is available on both the cell editing and the multiple-cell
formatting right-click pop-up menus (see “Spec Sheet Column/Cell/Row Right-Click Pop-Up
Menus” on page 306). The former is used to format a single, selected cell. The latter is used
to format one or more highlighted cells (for example, an entire column of cells).

Tip
Use click-drag to highlight multiple cells for formatting.

In either case, the Cell Formatting window is presented for formatting the selected cells. The
tabs of this window are used to perform the following tasks:
■ Format the display of the data in the cells—see “Format Tab” on page 308
■ Format the alignment of the data in the cells—see “Alignment Tab” on page 310
■ Specify text, background, and foreground colors, and background pattern for the cells—
see “Color Tab” on page 310
■ Format the borders for the cells—see “Border Tab” on page 311

Format Tab

June 2005 308 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

The Format tab is used to specify a display format for the data in a cell or cells. The following
format styles are available:

Style Description Fields


General Displays the data without benefit of scientific notation (for Units
example, 1e-9) or suffixes (for example, 1n)
Precision
Scientific Displays the number using scientific notation (for example,
1e-9)
Engineering Displays the number using the specified units, precision, Units
and suffix (see the next table for more information)
Precision
Suffix
Hexadecimal For integer values only, displays the number as a (none)
hexadecimal number
Percent Displays the number as a percent by moving the decimal Precision
point two places to the right and appending a percent sign
(%)

The various fields available depend on the Format style selected and can include

Field Description
Units Text string appended to the display of the number (for example, V for “Volts”,
H for “Henries”, Hz for “Hertz”, etc.)
Precision Number of significant digits displayed
Suffix Drop-down list of engineering suffixes to be used when displaying the
number: {T (1e12), G (1e9), M (1e6), K (1e3), m (1e-3), u (1e-6), n (1e-9),
p (1e-12), f (1e-15), a (1e-18)}

The Preview pane provides a sample of the selected format style using the contents of the
current cell.

June 2005 309 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Alignment Tab

The Alignment tab is used to specify the horizontal and vertical alignment of the data in the
cell. The Preview pane provides a sample of the selected alignment using the contents of
the current cell. Additionally, the check boxes provide selections for wrapping text and
displaying multiple lines in the cell.

Color Tab

The Color tab is used to select colors (from drop-down lists) for the following items:
■ Text: data displayed in the cell
■ Foreground: main color of the cell

June 2005 310 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

■ Background: second color selection for use with Pattern


■ Pattern: patterned mix of Foreground and Background colors for the background of
the cell

The Preview pane provides a sample of the selected colors using the contents of the current
cell.

Border Tab

The Border tab is used to format the border lines along the Left, Right, Top, and Bottom of
the cell. Line width is selected using the radio buttons in the Type group box on the tab; line
color is selected from a drop-down list of colors in the Color field. The Preview pane provides
a sample of the selected bordering using the contents of the current cell.

Comparing Results
The Compare button is used to compare the result values either as a design against a
specification (using Min Spec and Max Spec; see “Results vs. Spec Columns” on page 298)
or as two designs (using Ver Tol and Tol; see “Comparison Spec Columns” on page 299).
All result values for the indicated measure must fall within the passing range in order for a
pass/fail status of Pass to be reported. If one or more of the comparison values falls outside
the passing range, then the pass/fail status is reported as Fail.

For pass/fail criteria specific to the different spec sheet types, see:
■ Results vs. Spec Columns on page 298

June 2005 311 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

■ Comparison Spec Columns on page 299

See also “Investigating Pass/Fail Information” on page 313.

Changing Results Directories


Each row in a spec sheet has a results file associated with it. The Properties window displays
the name and location of that results file. The appearance of the Properties window depends
on whether the spec sheet is of type Results vs. spec or Comparison of two designs. In
either case, the spec sheet row number is indicated in the title bar of the window.

To view the Properties window for a row, do the following:


1. Select a row in the spec sheet.
2. Click Properties.

June 2005 312 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Tip
Click to open the Select Results Directory form for changing the results file
associated with the selected row (see “Select Results Directory Form” on
page 304).

Investigating Pass/Fail Information


The toolbar button is used to display detailed pass/fail information for the selected row. For
a single simulation, this option does not provide any more information than what is already
available on the spec sheet. For a sweep, this option provides all the results from the
individual simulations. The appearance of the details window depends on whether the spec
sheet is of type Results vs. spec (see “Pass/Fail Details for Results vs. Spec” on page 315)
or Comparison of two designs (see “Pass/Fail Details for Comparison Spec Sheet” on
page 316). In either case, the following information is displayed:
■ Values of swept parameters for each simulation
■ Measured values for the designs
■ Comparison criteria (either minimum and maximum values, or a tolerance for the
magnitude of the difference calculated)
■ Pass/fail status

The Pass/Fail column displays either Pass or Fail, depending on whether the comparison
criteria were met or not. If at least one of the simulations in the details window has a Fail
status, then the Pass/Fail column of the spec sheet displays Fail. Pass appears with a green
background, Fail appears with either a yellow or a red background as follows:
■ Yellow: Fewer than 10% of the measured values failed to fall within the specified range
■ Red: 10% or more of the measured values failed to fall within the specified range

June 2005 313 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

For example:

The toolbar buttons are used as follows:

Button Description
Displays simulation results in a table (see “Viewing Table Results” on
page 255)
Note: For Comparison of two designs details, first opens the Select Result
File form for selecting which of the two result tables to display.
Opens the Select Waveform Files form for viewing the simulation waveforms
(see “Viewing Waveforms” on page 278)
Opens the error log file for a failed or passed sweep result in a read-only text
editor window

June 2005 314 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Button Description
Refreshes the results
Exports the displayed data to an HTML file in the docs directory for the
project, named according to the measure name; for example, the details page
for a measure called myMeasure results in an HTML file called
myMeasure.html
Opens the Print Setup form (see also “Printer Setup” in the Virtuoso
Specification-driven Environment Reference)
Opens the Save As form for selecting a name and location for the file of
comma-separated values to which to save the data

Pass/Fail Details for Results vs. Spec


The Results vs. spec details window displays the measured values obtained during
simulation using the indicated parameter values. The spec sheet displays only the minimum
and maximum measured values for the set of simulations (in the Min Comp and Max Comp
columns). The Min Spec and Max Spec columns display the spec values typed in the spec
sheet against which the measured results are compared (see “Comparing Results” on
page 311). The Sim Success column indicates whether the indicated simulation was
successful or not.

Note: Pass/fail status for unsuccessful simulations is displayed as N/A.

June 2005 315 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Verifying and Comparing Designs

Pass/Fail Details for Comparison Spec Sheet


The Comparison of two designs details window displays the measured values from the two
designs obtained during simulation using the indicated parameter values, and the differences
between those values for each simulation. The magnitude of the differences between the
measured results are compared against the tolerance specified as Tol in the spec sheet. The
calculated tolerance for each run is displayed in the Tol Calc (Tolerance Calculation) column
(see “Comparing Results” on page 311).

June 2005 316 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

12
Calibrating Behavioral Models

The Model Calibration tool is used to generate a silicon-calibrated behavioral model for a
transistor-level design. A behavioral model is a high-level description that models the
behavior of a mixed-signal function or design. For example, a behavioral model of a system
design is often useful for simulating the system in a top-down design flow. A calibrated model
is a behavioral model that uses characterized results to define parameter values.
Characterized results are provided in one of the following ways:
■ Run simulations and sweep parameters of the transistor-level circuit to generate a
look-up table of calibrated values
■ Substitute a constant, calibrated value for a parameter, obtained as a result of simulation
or by some other means

Generating a silicon-calibrated behavioral model involves the following steps:


1. Define tests and sweeps to characterize the transistor-level circuit (see Chapter 5, “Test
Setup from the Schematic Window”). Simulation results from these tests and sweeps can
be used during model calibration as characterized behavioral model parameter values.
2. Create a behavioral model for the transistor-level circuit.
Note: When generating a look-up table of values, the model must be modified as
explained in “Preparing a Model for Calibration Using a Look-Up Table” on page 318.
3. Specify the behavioral model and the parameters to be used for model calibration. Other
related topics include the following:
❑ Starting Model Calibration on page 319
❑ Specifying the Input Behavioral Model on page 321
❑ Specifying Parameters on page 323
❑ Specifying Conditions for Tables on page 329
4. Generate a silicon-calibrated behavioral model (see “Generating the Calibrated Model”
on page 331).

June 2005 317 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Otehr related topics include:


■ Using Perl to Create a Calibrated Model on page 333
■ Opening a Previously-Created Model Calibration on page 338

Preparing a Model for Calibration Using a Look-Up Table


When preparing a model for calibration using a look-up table, consider the following:
1. Create and simulate the behavioral model for the transistor-level circuit using valid syntax
for the targeted simulator. In a top-down design, a polynomial expression might be used
as an initial guess at what the final behavior will be.
Note: For Spectre® circuit simulator netlist syntax information, see the Virtuoso
Spectre Circuit Simulator User Guide and Reference.
2. Model calibration operates on an n-dimensional table model (where n is the number of
independent variables) to associate measured result data with parameters or table
references in the model.
Note: When the target simulator is Spectre, $table_model is used (see “Interpolating
with Table Models” in the Cadence Verilog-A Language Reference).

For example, the original behavior model might be expressed using an equation as follows:
vctrl=V(in);
freq=100M*vctrl+86M;

After successful simulation of the original design, the freq parameter is modified to
reference a table model for model calibration:
freq=$table_model(vctrl,"vco_frequency.vat", "");

In the above $table_model, vctrl is the independent variable for a two-dimensional


look-up table file called vco_frequency.vat. The environment generates the referenced
look-up table file from measured result data during model calibration.

June 2005 318 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Starting Model Calibration


To start model calibration, do the following:
1. In the VSdE main window, do one of the following :
❑ On the toolbar, click , or
❑ Choose Add – New Model Calibration, or
❑ Choose File – New, then in the New File window, select Model Calibration, or
❑ On the Files tab, right-click the Model Calibrations folder and select New Model
Calibration from the pop-up menu.
The New Model Calibration Name form appears.

2. In the Model calibration field, type a name.


3. Click OK.

June 2005 319 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

The Model Calibration window appears.

June 2005 320 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Specifying the Input Behavioral Model


To specify the input behavioral model, do the following on the Input tab of the Model
Calibration window:
1. Click Browse.
The Select Model form appears.

2. In the Library field, select a library from the drop-down list.

Tip
The Library List button is used to open the Library List Manager form for viewing,
and changing, the list of available libraries (see “Library List Button” on page 184).
3. In the cell tree on the lower half of the form, navigate to and select the file containing the
behavioral model description.

Tip
Click + to the left of an item to expand the tree.
4. Click OK.

The Input tab of the Model Calibration window displays the name and location of the input
behavioral model. The Top module field contains the name of the module definition of the
behavioral model in the specified file.

June 2005 321 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Other related topics include the following:


■ Selecting a Model File That Is Not in an Available Library (next)
■ Editing the Behavioral Model on page 322

Selecting a Model File That Is Not in an Available Library


To select a model file that is not contained in one of the available libraries, do the following:
1. On the Select Model form, click Select File.
The Select Model File form appears.
2. Navigate to and select the file containing the behavioral model.
Once a file is selected, the destination lib/cell/view for the file is specified in the fields of
the Specify destination library location group box on the form. This is the lib/cell/view
location to which the selected file will be copied. By default, the Library field reflects the
name of the currently selected library, the Cell field reflects the root name of the selected
file as a proposed cell name, the proposed view name in the View field is verilog, and
the name of the selected file is displayed in the File field.
3. (Optional) In the Library field, select a different available library from the drop-down list.
4. (Optional) In the Cell or View field, change the cell or view name, respectively.
5. Click OK to accept the entries and close the form.

Editing the Behavioral Model


To edit the file containing the behavioral model using the text editor, do the following:
1. On the Input tab of the Model Calibration window, click Edit.
The behavioral model file (which is indicated in the File field of the Input tab) appears in
a text editor window.
2. Edit the file as desired (see "Text Editor" in the Virtuoso Specification-driven
Environment Reference).
3. In the text editor window, choose File – Save & Close to save changes and close the
window.

June 2005 322 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Specifying Parameters
To specify parameters for model calibration, do the following on the Parameter Setup tab of
the Model Calibration window:
1. In the Core model parameters scrolling list, click to select a parameter.

2. In the Modeling method group box, select one of the available modeling methods (see
“Modeling Methods” on page 324).
3. On the lower half of the Parameter Setup tab, specify the result details (see “Result
Details” on page 326).

The behavioral model is calibrated by passing in either single result values or look-up tables
created from result values. The set of result details available for selection (on the lower half
of the tab) depends on which modeling method is specified.

June 2005 323 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Modeling Methods
Different modeling methods are available for different parameter types as follows:

Parameter Type Modeling Methods Available


String or table parameters 2D table Not used
3D table
4D table
Numeric parameters (int, real, etc.) Not used
Constant
Result

Important
The Not used selection is used to indicate that no value will be passed to the
parameter during model calibration.

June 2005 324 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Modeling methods are described as follows:

Table 12-1 Modeling Methods

Method Description1
2D table Creates a look-up table whose name is used in a $table_model function
call (see “Interpolating with Table Models” in the Cadence Verilog-A
3D table
Language Reference) in the behavioral model
4D table
Note: The name of the table model file (.vat) is based on the model
parameter name; the cell name is used as a prefix (for example, divider_…)
in the calibrated model file to make sure that the table file name is unique for
different cells that use the same parameter names.
A table file is built using the first data found. For example, if temperature,
voltage, and process are varied in the sweep, and the table is created using
temperature and voltage, then the values for the first found process model
value are used; unless conditions are used to specify the process model file
to be used. The following fields and drop-down lists are used for specifying
information when the selected modeling method is nD Table:
■ Results
■ Sweep
■ Test
■ Result
■ Y-var
■ X-var (for 3D and 4D tables only)
■ W-var (for 4D table only)
■ Result list vs. result list check box

The Advanced button is used to open the Advanced Settings for Tables form
for specifying results filtering conditions and extrapolation method for building
look-up tables (see “Specifying Conditions for Tables” on page 329).

June 2005 325 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Table 12-1 Modeling Methods, continued

Method Description1
Constant Indicates that a single value is to be passed to the behavioral model
parameter. The value can be one of the following:
■ constant—for example, 1.2
■ project or workspace parameter—for example, $vdd_value
■ expression—for example, ($vdd_value/2)
Result Indicates that a single value from a measured result is to be passed to the
behavioral model parameter. When multiple values (for example, for different
sweeps, or for a measure with multiple values) are encountered, only the first
value is passed to the behavioral model parameter. The following items are
used for specifying information when the selected modeling method is
Result:
■ Results
■ Sweep
■ Test

The Optional condition field is used for specifying a conditional filter for the
selected result data (see “Condition” on page 330).
1. For information on the fields and lists, see the appropriate section under “Result Details” on
page 326.

Result Details
The set of result details available for selection depend on the modeling method (see
“Modeling Methods” on page 324). The following procedures are outlined:
■ Changing the Results Location on page 327
■ Selecting a Sweep on page 327
■ Selecting a Test on page 328
■ Selecting a Result on page 328
■ Selecting Parameters on page 328
■ Specifying Conditions for Tables on page 329

June 2005 326 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Changing the Results Location

To change the location of the results to be used for model calibration, do the following:
1. At the right end of the Results location field, click .
The Select Results Directory form appears.

2. Click + to expand the lib/cell/view tree.


3. Navigate to and select the results file.
4. Click OK to accept changes and close the form.

Selecting a Sweep

To select the sweep that contains the test from which the result is to be obtained, do the
following:
1. At the right end of the Sweep field, click the down arrow.
2. From the drop-down list, select a sweep name.

Tests corresponding to the selected sweep are available for selection from the drop-down list
in the Test field (see “Selecting a Test” on page 328).

June 2005 327 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Selecting a Test

To select the test to be used to obtain the measured result for model calibration, do the
following:
1. At the right end of the Test field, click the down arrow.
2. From the drop-down list, select a test name.

Results corresponding to the selected test are available for selection from the drop-down list
in the Result field (see “Selecting a Result” on page 328).

Selecting a Result

To select a measured result to use for model calibration, do the following:


1. At the right end of the Result field, click the down arrow.
2. From the drop-down list, select a result name.

Selecting Parameters

To select a swept project or workspace parameter from one of the variable lists, do the
following:
1. At the right end of the ?_var field (for example, Y_var), click the down arrow.
2. From the drop-down list, select a parameter.
Note: One value of the selected Result (see “Selecting a Result” on page 328) is used for
multiple values of the selected parameter (for example, W_var) and other selected
parameters (for example, X_var, Y_var).

June 2005 328 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

The number of parameters that can be selected depends on the modeling method as follows:

Modeling Method Parameters


2D table Y_var
3D table X_var
Y_var
4D table W_var
X_var
Y_var

Important
When the Result list vs. result list check box is marked, the string (result) is
appended to the field label—for example, Y_var (result)—and the value in the field
specifies a measured result that is paired with the selected Result. The first "pair"
used in the look-up table is one set of sweep values for the selected parameter
versus one set of sweep values for the selected Result.

Specifying Conditions for Tables

To specify advanced settings for 2D, 3D, and 4D tables, do the following:
1. On the Parameter Setup tab, click Advanced.
The Advanced Settings for Tables form appears.

2. In the Condition field, specify a conditional filter for the selected result data (see
“Condition” on page 330).
3. In the Table name field, specify the name of the file to which the table will be written (see
“Table name” on page 330).
4. Click OK.

June 2005 329 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Condition
The Condition field is used for specifying a conditional filter for the selected result data. One
value is passed to the behavioral model parameter. If multiple values are found, then the
condition is used to select a subset from which the first value is chosen.

Typical applications for conditions include:


■ Qualifying a subset of the data from a sweep of many parameters to be used for
characterization and modeling.
■ Creating different behavioral models for specific sweep conditions—for example, multiple
Verilog-D models with individual values, or Verilog-AMS models for result data from
specific process model files.

For example, the following conditions might apply when qualifying a gain result:
process==model.typ && temperature<100
gain>0 && gain<100 && load_cap<10f
vdd_value!=27

The following condition specifiers are supported:


■ AND (&&)
■ Operators <, >, <=, >=, !=, and ==

The following condition specifiers are not supported:


■ OR (||)
■ Operator = (use == instead)

The following rules apply:


■ Project and workspace parameter names should not be prefixed with $ (indicating a Perl
variable) when specified as part of the condition.
■ Either parameters or the selected result name can be used in the condition.
■ Values in the condition should not be quoted.

Table name

The Table name field is used for specifying the name of the file to which the table will be
written. The table name displayed in this field when the form is first presented (generated in
the environment) is the name that will be used if OK is clicked. This table file name, which
can be changed by clicking in the field and editing the text, is prefixed with the cell name (to
make sure it’s unique) and used in the $table_model function call (see “Interpolating with

June 2005 330 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Table Models” in the Cadence Verilog-A Language Reference) in the behavioral model.
Table file names must be unique to avoid collisions. Different table files can be created for
different conditions using the same behavioral model. Unique table file names are required
when data from different process models are varied in a sweep, and the data is passed into
the behavioral model from different look-up table files.

Generating the Calibrated Model

The Generate tab is used to perform the final phase of generating a calibrated behavioral
model. The lib/cell/view destination for the calibrated model is specified in the Library, Cell,
View, and File fields in the Calibrated model destination group box. The Library field
provides a drop-down list from which an available library can be selected.

To export the calibrated model to a library, do the following:


1. In the Composer destination group box, mark the Export to Composer library check
box.
2. Specify the lib/cell/view destination of the model in the Library, Cell, and View fields.
3. Select target simulator from the drop-down menu in the For simulator field.

June 2005 331 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

The Use Spectre $table_model look-up function check box is used as follows:
■ When marked, the generated model is a Cadence-specific Verilog-AMS model, which
contains $table_model functions (see Interpolating with Table Models in the
Cadence Verilog-A Language Reference). This model choice is recommended.
■ When not marked, the generated model is a standard Verilog-AMS model that can be
simulated by any Verilog-AMS simulator (it contains no internally-generated look-up
tables). This standard model, which is slower and uses more memory, uses while loops
to perform the equivalent of a look-up operation.

The buttons of the Generate tab are described in the following table.

Button Description
Generate Generates the calibrated model and its required look-up tables
View Output Opens status messages resulting from the model calibration in a
read-only text editor window
View Model Opens the generated model in a read-only text editor window
View Tables Opens the View Table File form for selecting a table file for viewing in
a read-only text editor window
Export to Plan Exports the Perl used to generate the model to an existing plan
selected from the drop-down list in the Plan field on the Plan
Selection form:

The plan (Perl script), when executed, extracts result data from the
simulation results of the transistor-level model and generates the
calibrated behavioral model with its required look-up tables of data.

June 2005 332 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Using Perl to Create a Calibrated Model


A Perl script—created using information specified in the Model Calibration window—is used
to create a behavioral model and look-up tables. Parameters in the behavioral model take on
result values and table file names from the input simulation results (see “Specifying
Parameters” on page 323).

The following Perl extensions are used to extract result data for passing into the behavioral
model or for creating a look-up table:
■ acv_calibrate_model on page 334
■ acv_create_result_table on page 335
■ acv_get_res_value on page 337
■ acv_translate_to_standard_verilogams_model on page 338
Note: The created Perl script exported to a plan can be edited if unsupported Perl features
are required.

June 2005 333 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

acv_calibrate_model
error = acv_calibrate_model("input_model", "module_name", "output_model",
"calibration_string*");

Description

Calibrates the behavioral model.

Arguments

input_model Name and location of the input model file


module_name Name of the design module being calibrated
output_model Name and location of the output model file
calibration_string One or more quoted, comma-separated parameter-value
pairs:
parameter_name=parameter_value

Value Returned

Example
acv_calibrate_model("$output_dir/$model_file.orig", "nd2",
"$output_lib/$output_cell/$output_view/$output_file", "a_incap=nd2_a_incap.vat",
"b_incap=nd2_b_incap.vat", "a_y_rise_t1=nd2_a_y_rise_t1.vat",
"a_y_rise_delay=nd2_a_y_rise_delay.vat", "a_y_rise_t2=nd2_a_y_rise_t2.vat",
"a_y_fall_t1=nd2_a_y_fall_t1.vat", "a_y_fall_delay=nd2_a_y_fall_delay.vat",
"a_y_fall_t2=nd2_a_y_fall_t2.vat", "b_y_rise_t1=nd2_b_y_rise_t1.vat",
"b_y_rise_delay=nd2_b_y_rise_delay.vat", "b_y_rise_t2=nd2_b_y_rise_t2.vat",
"b_y_fall_t1=nd2_b_y_fall_t1.vat", "b_y_fall_delay=nd2_b_y_fall_delay.vat",
"b_y_fall_t2=nd2_b_y_fall_t2.vat");

June 2005 334 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

acv_create_result_table
void acv_create_result_table("result_file", "table_file", "result",
"variable*", "[condition*]", all, flat, $errmes);

Description

Creates a look-up table from a result file using specified variables and optional conditions.

Arguments

result_file Name of the results file


table_file Name of the table file
result Name of the result
variable One or more space-separated variables (project parameters)
condition One or more space-separated conditions (must be passed, but
can remain empty)
all Result value selector
Valid Values:
0 Use only the first value for result
1 Use all values for result
flat Table extrapolation control
Valid Values:
-1 Enable creation of Spectre table model files
0 Use simulator extrapolation
1 Use flat method

Value Returned

errmes Error message containing one of the following:


nil Empty string if command was successful
t_error Error message indicating reason for failure

June 2005 335 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

Example
acv_create_result_table("$result_dir/results/s2-t2.res",
"$wrap_dir/a_y_r_del.vat", "delay_ar", "temperature vdd_value",
"process==model.min", "0", "1",$errmes);

June 2005 336 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

acv_get_res_value
char *acv_get_res_value("result_file", "result", "[condition*]", "key_num",
"res_num", $errmes);

Description

Retrieves result data from a result file.

Arguments

result_file Name of the results file


result Name of the result
condition One or more space-separated conditions (must be passed, but
can remain empty)
key_num Number of sweep values for which values are to be returned
(0=all, 1=first, etc.)
res_num Number of values to be returned for each result (0=all, 1=first,
etc.)

Value Returned

errmes Error message containing one of the following:


nil Empty string if command was successful
t_error Error message indicating reason for failure

Example
acv_get_res_value("$result_dir/results/s2-t2.res", "delay_af",
"load_cap>10f",1,1,$errmes);

June 2005 337 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Calibrating Behavioral Models

acv_translate_to_standard_verilogams_model
void acv_translate_to_standard_verilogams_model( "input_file", "output_file");

Description

Translates the contents of table files referenced in internally-generated look-up tables to


standard Verilog-AMS arrays. Any internally-generated look-up tables are replaced with code
to index the arrays, interpolate the data, and return a value. The resulting translated file can
be simulated using any Verilog-AMS standard simulator.
Note: Translation of internally-generated look-up tables embedded inside expressions is not
supported.

Arguments

input_file Name of the input file


output_file Name of the output file

Value Returned

Example
acv_translate_to_standard_verilogams_model( "vco8.va.orig", "vco8.va");

Opening a Previously-Created Model Calibration


To open a previously-created model calibration in the Model Calibrations folder, do one of
the following:
■ Double-click the model calibration.
■ Right-click the model calibration and select Open from the pop-up menu.

June 2005 338 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

13
Developing and Editing a Plan

The following topics are discussed:


■ Overview next
■ Creating a Plan on page 341
❑ Exporting to a Plan on page 341
❑ Linking to a Plan on page 342
❑ Creating a Hierarchical Plan on page 343
■ Using the Plan Editor on page 348
■ Running a Plan from the Environment on page 348
■ Running a Plan from the Command Line on page 349

Overview
A plan is a sequence of steps required to complete a particular task. For example,
characterizing a design might involve running several tests or sweeps. These tasks can be
grouped together to form a characterization plan. These steps are “recorded” in a Perl script.
The Virtuoso® Specification-driven Environment (SdE) provides extensions to Perl to support
the following tasks (see “Perl Extensions” in the Virtuoso Specification-driven
Environment Reference):
■ Specifying sweeps and corners
■ Running tests, sweeps and corners
■ Accessing result data
■ Creating look-up tables from result data
■ Creating calibrated models
■ Adding results to a results database

June 2005 339 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

■ And for those with a full MATLAB license:


❑ Running MATLAB functions and commands
❑ Extracting and formatting result database information in MATLAB

Important
Plan creation is for advanced users who are comfortable programming in Perl.
Information specified in the environment windows can be exported into plans, and
familiarity with programming in Perl is useful in understanding and modifying the
created plan. A central IP group can create plans that are shared by several
designers.

Plans are created for the following reasons:


■ Encapsulation of IP — Package the information set up in the environment, make
modifications in Perl, and then use that packaged plan in regression testing or share that
plan with others in design group who are working on similar designs that need to pass
similar tests.
■ Group together tests/sweeps/corners to accomplish the following tasks:
❑ Characterization—Create a plan to obtain characterization results for a circuit.
❑ Model Generation—Create a plan to generate silicon-calibrated behavioral models
for a design.
■ Capture the output of one plan for use as the input of part of another plan (or test results
as input to other tests). For example, suppose two tests each use the project parameter
myparam. In the first test, the value of myparam is 3. In the second test, myparam is
defined as the slew rate of the first test. The plan contains (in the order shown):
❑ A statement for setting the project parameter myparam to 3
❑ A request to run test1
❑ A setting of myparam to the slew rate computed in test1
❑ A request to run test2
■ Accomplish a task that cannot be accomplished in the environment (for example, for a
not-yet-implemented feature).

June 2005 340 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

Creating a Plan
To create a new plan, do one of the following:
1. In the VSdE main window, choose Add – New Plan.
The New Plan form appears.

2. In the Plan name field, type a name for the new plan.
3. Click OK.

A plan template appears in a text editor window (see “Text Editor” in the Virtuoso
Specification-driven Environment Reference). The plan template sets the project
directory, opens the project, and loads all project and workspace parameters.

Other related topics include the following:


■ Exporting to a Plan on page 341
■ Linking to a Plan on page 342
■ Creating a Hierarchical Plan on page 343

Exporting to a Plan
Project files (for example, tests, sweeps, model calibrations, spec sheets) can be exported
into a plan. For example, to add a test called mytest to be run from a plan, do the following:
1. Return to the Files tab and right-click on the test mytest.
2. Select Export to Plan from the right-click menu.
3. On the Plan Selection form, select the plan from the current set of created plans.
4. Click OK.

The following lines are added to the plan to run the newly exported test:
$status=acv_run_test("Name_of_Test")
printlog "Error: Test Name_of_Test failed if status"

June 2005 341 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

Information from one or more tests, sweeps, corners analyses, spec sheets, and model
calibrations can be added to a plan.
Note: The contents of tests and spec sheets are not copied to the plan. Instead, a reference
is created to run the test or spec sheet using the acv_run_test or acv_run_spec_sheet
Perl command (see “Perl Extensions” in the Virtuoso Specification-driven Environment
Reference). Sweeps, corners analyses, and model calibrations are copied to plans and can
be modified within those plans. An example plan is provided in
$ACV_ROOT/example_projects/digital_example/plans (see
example_plan.pl).

Once everything has been added/exported to a plan, the plan can be modified in any text
editor. Perl extensions (see “Perl Extensions” in the Virtuoso Specification-driven
Environment Reference) can be used, as well as any commands available in Perl.

Important
Once the various project items (tests, sweeps) have been exported to a plan, the
plan contains a copy of each of those project items. If the plan is changed, those
changes are not reflected back to the item that was copied. Also, any changes made
to the item in the environment are not reflected in the plan, unless the item is
removed from the plan and re-exported.

Linking to a Plan
Tests, sweeps, and corners analyses can be called by reference from within a plan. Link to
Plan, on the right-click pop-up menu for a project file, is used to create a reference to the
selected project item (test, sweep, or corners analysis). The contents of these project items
are not copied to the plan. Instead, a reference is created to run the item using a Perl
command specific to the project item (see “Perl Extensions” in the Virtuoso
Specification-driven Environment Reference).

For example, to create a reference to a sweep called mysweep to be run from a plan, do the
following:
1. Return to the Files tab and right-click on the sweep mysweep.
2. Select Link to Plan from the right-click menu.
3. On the Plan Selection form, select the plan from the current set of created plans.
4. Click OK.

The following lines are added to the plan to run the specified sweep:

June 2005 342 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

$status=acv_run_sweep("Name_of_Sweep")
printlog "Error: Test Name_of_Sweep failed if status"

Note: Information from one or more tests, sweeps, corners analyses, spec sheets, and
model calibrations can be added to a plan by choosing Export to Plan from the right-click
pop-up menu (see “Exporting to a Plan” on page 341).

Creating a Hierarchical Plan


A hierarchical plan is a plan that calls another plan. Using hierarchical plans, the
environment supports passing parameters from one plan to another. Hierarchical plans have
the following general form:
package uniquePkgName;

use ACV;

open_project(“projectDir“, “projectFile“);
load_project_params();
load_workspace_params();
@plan_params = get_param_list();

sub run {
planBody
}

run_plan();

where planBody can consist of any of the Perl extensions supported in the environment
(see “Perl Extensions” in the Virtuoso Specification-driven Environment Reference),
as well as any valid Perl commands and constructs. The Perl commands provided to support
hierarchical plans are listed in the table below:

Command Other related topics include the following:


open_project() Opening a Project on page 344
load_project() Loading Parameters on page 344
load_workspace()
update_project_params() Updating Parameters on page 345
update_workspace_params()
get_plan_param() Using Parameters on page 346
get_param_list()
run_plan() Running Plans on page 345

June 2005 343 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

See also “Hierarchical Plan Example” on page 347.


Note: For descriptions of the Perl commands and constructs used (for example, package,
use, sub… {…}), see any commercially available Perl programming guide.

Opening a Project

To open a project, use the open_project command as follows:


open_project("projectDir", "projectFile");

The arguments for this command are:

projectDir Path and directory containing the projectFile


projectFile Name of the project file

For example:
open_project("/home/user/Projects", "myProject.apf");

The opened project becomes the current project for loading parameters and other
operations.

Loading Parameters

To import project parameters from the current project and workspace parameters from the
current workspace value set, use the load_project_params and
load_workspace_params commands as follows:
load_project_params();
load_workspace_params();

The current project and workspace parameter set are specified when the plan is run (see
“Running Plans” on page 345). The imported parameters and their values are used during
plan execution. The scope of loaded parameters is limited to the current package.

June 2005 344 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

Updating Parameters

To update the project and workspace parameters with the current values of these parameters
during plan execution, use the update_project_params and
update_workspace_params commands as follows:
update_project_params();
update_workspace_params();

Note: As a precaution, the original parameter files are backed up to .filename.bkup,


where filename is the name of the original parameter file.

Running Plans

To execute a named plan, optionally with specific parameter values, use the run_plan
command as follows:
run_plan(["planName", "planDir"[, paramList]]);

The arguments for this command are:

planName Name of the plan to be executed


planDir Directory location of planName
paramList Comma-separated list of any number of parameter-value pairs,
where the parameter is specified in single quotation marks and
its value is specified without quotation marks

For example:
run_plan("ota_verify.pl", "/home/user/plans/ota", ’$vdd’, 3.3, ’$vss’, 0);

The run_plan command returns a handle to the named plan which can be used with the
get_plan_param and get_param_list commands (see “Using Parameters” on
page 346). For example:
$handle = run_plan("ota_verify.pl", "/home/user/plans/ota", ’$vdd’, 3.3, ’$vss’,
0);

The run_plan command is typically specified—with arguments—within the sub run{ }


construct to execute a named plan. The run_plan command is specified with no arguments
just after the sub run{ } construct to execute the current plan, as in:
run_plan();

June 2005 345 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

Using Parameters

To get the value of a parameter from another plan for use in the current plan, use the
get_plan_param command in conjunction with the run_plan command as follows:
$handle = run_plan("mySynth.pl", "analyticFilter");
$p1 = get_plan_param(handle, "parameter");

The run_plan command returns a handle to a named plan which is, in turn, used by the
get_plan_param command to specify the plan from which the parameter is to be imported.
The get_plan_param command returns the value of a single, named project or workspace
parameter from the specified plan execution.

The arguments of the get_plan_command are:

handle Perl $ variable that holds the value returned by the run_plan
command
parameter Name of a parameter whose value is to be imported for use by
the current plan

Note: For information on the run_plan command, see “Running Plans” on page 345.

For example:
$handle = run_plan("mySynth.pl", "analyticFilter");
$p1 = get_plan_param($handle, ’$p1’);

To get the complete list of project and workspace parameter names from the specified plan
execution, use the get_param_list command as follows:
get_param_list([handle]);

For example:
$ref = run_plan("myPlan.pl", "vco");
@vco_params = get_param_list($ref);

When used without the handle argument, the get_param_list command returns the
complete list of project and workspace parameter names from the current plan:
@param_list = get_param_list();

Note: For information about loading parameters, see “Loading Parameters” on page 344.

June 2005 346 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

Hierarchical Plan Example

The following plan is used to export parameters to MATLAB for results post-processing. This
plan requires a full MATLAB license and software from The MathWorks, Inc.
# Perl plan 'param_to_MATLAB.pl' created on …

package Param_to_MATLAB;

# Import Perl extensions:


use ACV;
use Cwd;
$acv_plan_proj_dir=cwd();
$acv_plan_proj_name="test";
printlogerr "Current directory does not contain the correct project" unless -e
$acv_plan_proj_dir/$acv_plan_proj_name.apf";

# Open project test.apf in the current working directory:


open_project("$acv_plan_proj_dir","$acv_plan_proj_name");

# Import all project and workspace parameters from "test":


load_project_params();
load_workspace_params();
@plan_params = get_param_list();

# The above routines are outside of the 'run' subroutine, next.


# Any commands added here get evaluated during the parameter
# initialization stage. In general, user code is not added
# here.

sub run {

# Everything inside of the 'run' subroutine is evaluated


# once the parameter initialization stage is complete.
# User code is typically added to the plan in this subroutine
# between the '{' and '}' which define the subroutine's
# boundaries.

acv_run_matlab_cmds("plot(vdd_value);");

# For information on the acv_run_matlab_cmds() routine,


# see “Run MATLAB Commands” in the Virtuoso Specification-driven
# Environment Reference.

# Run this plan:


run_plan();

June 2005 347 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

Using the Plan Editor


To open the plan editor, from the Files tab of the VSdE main window, do one the following:
■ Right-click the Plans folder and select Open from the pop-up menu.
■ In the Plans folder, double-click a plan name.

The plan appears in a text editor window.

The Perl editor has “smart” qualities that show color coding for the following items:
■ Comments are green
■ Text is in black
■ Perl keywords are in blue

Running a Plan from the Environment


Plans are typically run from within the environment, after all modifications have been made
and recorded in the plan. For example, a characterization plan typically requires modification
of the test to reference a different design netlist for the characterization runs.

To run a plan from the environment, do the following:


1. On the Files tab of the VSdE main window, right-click the plan name in the Plans folder.
2. Select Run from the pop-up menu.

The VSdE Plan Runner window appears.


■ While the plan is running, you can click Stop to terminate plan execution.
■ When the plan is finished, you can click Close to close the VSdE Plan Runner window.
■ Messages are written to a log file in the tmp directory: tmp/planName.log

Tip
Plans that must prompt for user input can use Perl/Tk to provide GUI input windows.
Perl/Tk is an extension for creating graphical user interfaces and building graphical,
event-driven applications. See any commercially available Perl/Tk tutorial or
reference to learn how to implement and configure Perl/Tk graphical elements.

June 2005 348 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

Running a Plan from the Command Line


If no modification of SdE components is required, then plans can also be run outside of the
environment. To run a plan from the command line, use the acvperl command at the system
prompt as follows:
acvperl -ws ws_path/ws_name.awf [ -wsparams ws_param_name]
-project project_name -plan project_directory/plans/plan_name.pl
-nldir netlist_rundir[ -batch][ -log log_file][ -help][ -version]

The arguments for the acvperl command are as follows:

ws_path Path to the directory containing the workspace file (.awf)


ws_name Name of the workspace file (.awf)
ws_param_name Name of a workspace value set (which corresponds to a Perl
file in the workspace_ws_name directory that contains
workspace parameter definitions)
Note: The -wsparams named argument need only be specified
when there is a workspace value set defined (see “Workspace
Parameters” on page 95).
project_name Name of the project file (.apf)
project_directory Path to the directory containing the project file (.apf)
plan_name Name of the plan (.pl)
netlist_rundir Full path to and name of the directory from which you start
icms; the netlister will be run from this location
Note: Whenever netlisting is requested or required, the
software sets the current directory to netlist_rundir prior
to running the si netlister so that any settings in a .simrc there
(for example, a View list or other netlisting options) will be picked
up for netlisting. The software writes a file called
netlisting.log (containing any messages that result from
the netlisting process) to this directory.

Important
If netlisting is requested or required, and the netlister
directory is not set or is set incorrectly, netlisting will fail.
-batch Causes the tools to be run in batch mode

June 2005 349 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Developing and Editing a Plan

log_file Name of session log file to which standard output is written


-help Displays this list of command-line options and usage
information
-version Displays the software version and quits (any other options
specified are ignored)

For example:
acvperl -ws ~/workspaces/new_workspace/my_workspace.awf -wsparams DefaultSet
-project project1 -plan ~/workspaces/new_workspace/plans/my_plan.pl -batch

Typically, plans are run from the project directory; files referenced in the plan typically have
paths that are relative to the project directory. However, plans can be run from anywhere as
long as the -ws and -plan named arguments are used to specify the paths to the workspace
and plan. The path to the plan file (-plan) can be relative to the project directory of the
project name you specify using the -project argument or it can be a full path.

Also, plans can run other plans from different projects as long as the projects are all part of
the same workspace.

June 2005 350 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

14
Learning by Example

This example demonstrates several features of the Virtuoso® Specification-driven


Environment (SdE) using a VCO design. Other related topics include the following:
■ Opening the Design in the Schematic Window on page 352
■ Creating a New Workspace on page 352
■ Creating a Test on page 353
■ Running the Test and Viewing Results on page 357
■ Creating and Running a Temperature Sweep on page 359
■ Creating and Running a Corners Analysis on page 361
■ Creating and Using a Specification Sheet on page 363
■ Creating and Running a Monte Carlo Analysis on page 365

To set up the example files, do the following:


1. Create a working directory by typing the following commands at the system prompt:
cd ~
mkdir examples
cd examples

2. Define the ACV_SAMPLES environment variable to represent this directory by editing,


saving, and sourcing .cshrc as follows:
vi .cshrc

setenv ACV_SAMPLES ~/examples

:w
:q
source .cshrc

June 2005 351 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

3. Copy and extract the example tar file by typing the following commands at the system
prompts:
cp $ACV_ROOT/samples/acv/overview.tar.Z .
uncompress overview.tar.Z
tar xvf overview.tar

Opening the Design in the Schematic Window


To open the VCO design in the schematic window, do the following:
1. Start the DFII environment:
icms &

2. In the CIW, choose File – Open.


The Open File form appears.
3. Specify the following information:

Field Selection
Library Name acvPllLib
Cell Name vco8Top
View Name schematic

Note: If acvPllLib does not appear in the list of Library Name choices, then verify that
there is an entry for acvPllLib in the cds.lib in the directory where the DFII
environment was started.
4. Click OK.

The schematic opens in the Virtuoso® Schematic Editor.

Creating a New Workspace


To start the environment and create a new workspace for the project, do the following:
1. In the schematic window, choose Tools – VSdE.
The VSdE menu is added to the menu banner in the schematic window, and the
environment is started automatically. The Select Workspace form appears.
2. On the Select Workspace form, select Create new workspace.

June 2005 352 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

3. Click OK.
The New Workspace form appears.
4. Click in the Name field and type a name for the workspace.
Note: The Name is automatically appended to the Location so that a directory of that
Name will be created for the workspace. The Create new project check box is marked.
5. Click OK.
The first screen of the New Project Wizard appears.
6. Verify that the No radio button is selected and click Next.
7. Click Finish.
The Create Test form appears. The lib/cell/view information of the design is displayed in
the fields in the Design location group box. By default, the name of the test (which
appears in the Test name field at the top of the form) matches the name of the cell (in
this case, vco8Top). Because this example demonstrates a test setup for the Spectre
circuit simulator using VSdE Native integration, no changes are required on this form.
8. On the Create Test form, click OK.

The Test Setup window appears. The lib/cell/view information of the design is displayed in the
fields on the Design tab.

Creating a Test
The following steps are demonstrated:
■ Specifying Include Information on page 354
■ Getting Global Design Variable Information from the Schematic on page 354
■ Specifying Analyses on page 355
■ Specifying Test Measures on page 355

June 2005 353 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

Specifying Include Information


To specify include directory, model file, and model library information for the test, do the
following in the Test Setup window:
1. Click the Includes tab.
2. In the Include directories list area, double-click to open a new row.
3. Type $ACV_SAMPLES/models/ADS_025.
4. In the Model/other includes list area, double-click to open a new row.
5. Type basicModels.scs.
6. In the Model Library list area, double-click to open a new row.
7. Type lib.scs nom.
8. Click Apply.

Getting Global Design Variable Information from the Schematic


To get global design variable information from the schematic, do the following:
1. Click the Globals tab.
2. On the Design Vars tab, click Get Design Vars.
Design variable names are listed in the Name column of the Design variables table on
the Design Vars tab. A project parameter for each design variable is automatically
created as a Perl variable by adding a dollar sign to the beginning of its Name. These
project parameter names are displayed in the Value Used column. The value of each
design variable is displayed in the Current Value column.
3. Click Apply.
The Add Parameter form appears.
4. Click OK.

New project parameters (from the Value Used column), and their default values (specified in
the Value column of the Add Parameter form), are added to the Project Parameters table
on the Parameters tab of the VSdE main window. The Current Value column on the Design
Vars tab displays the evaluated value of each design variable.

June 2005 354 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

Specifying Analyses
To define transient and DC operating point analyses for the test, do the following:
1. Click the Analyses tab.
2. Click to mark the Transient check box.
3. In the Stop time field, type $tran_duration.
4. Click to mark the DC OP check box.
5. Click Apply.

Specifying Test Measures


To create test measures to be calculated once the simulation is finished, do the following:
1. Click the Measures tab.
2. Create the following measures:
❑ max_freq on page 355
❑ min_freq on page 356
❑ vcogain on page 357
3. See “Running the Test and Viewing Results” on page 357.

max_freq

To create the max_freq measure, do the following:


1. Choose Add – ADE Calculator.
The Set Measure Name form appears.
2. In the Measure name field, type max_freq.
3. Click OK.
The Calculator window appears.
4. In the Calculator window, click vt.
5. On the schematic, click the vcoOut net (the output of the VCO).
The expression VT("/vcoOut") appears in the Calculator window.

June 2005 355 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

6. In the Calculator window, choose Special Functions – clip.


The Clip form appears.
7. In the From field, type 75n.
8. In the To field, type 100n.
9. Click OK.
The expression clip(VT("/vcoOut"),75n,100n) appears in the Calculator
window.
10. Choose Special Functions – frequency.
The final expression in the Calculator becomes
frequency(clip(VT("/vcoOut"),75n,100n))

11. On the Measures tab, click Get Calc Expr.


The final expression appears in the ADE Calculator Expression area on the
Measures tab.
12. Click Apply.

min_freq

To create the min_freq measure, do the following:


1. On the Measures tab, click Copy.
The Set Measure Name form appears.
2. In the Measure name field, type min_freq.
3. Click OK.
4. Click in the ADE Calculator Expression area to place the edit cursor.
5. Make the following changes:
75n -> 25n
100n -> 50n

The final expression becomes


frequency(clip(VT("/vcoOut"),25n,50n))

6. Click Apply.

June 2005 356 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

vcogain

To create the vcogain measure, do the following:


1. Choose Add – ADE Calculator.
The Set Measure Name form appears.
2. In the Measure name field, type vco_gain.
3. Click OK.
The Calculator window appears.
4. In the Calculator, type the following expression:
car(errset((frequency(clip(VT("/vcoOut"),75n,100n))
-frequency(clip(VT("/vcoOut"),25n,50n)))
/($vctrl_high-$vctrl_low)))
5. On the Measures tab, click Get Calc Expr to import the Calculator expression.
6. Click Apply.

Running the Test and Viewing Results


To run the test, do the following:
➤ In the Test Setup window, click Run.

The following tasks are performed:


1. The Status tab of the Run tab of the Test Setup window is displayed.
2. The environment calls the netlister to netlist the design.
3. The Spectre circuit simulator is used to run the test and calculate the measure results.

Upon successful completion of these tasks, the word passed appears in the Status field.

To select and plot simulation waveforms, do the following:


1. Click the Waveforms tab.
2. Click Select.
The schematic appears in the foreground for net selection.

June 2005 357 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

3. Click to select the vcoOut net (the output of the VCO).


The net name along with the color to be used when plotting the net appear in the Signals
to plot table on the Waveforms tab.
4. Click Plot.

The named trace appears in the Waveform Window.

To view the measure results, and to view and back-annotate operating point information, do
the following:
1. On the Run tab of the Test Setup window, click to display the Results tab.
Measure results are displayed in the Measures table.
2. Click Op Point.
The Operating Point window appears.
3. In the Results type field, select DC OpPt from the drop-down menu.
4. In the Component type field, select bsim3v3 from the drop-down menu.

A list of bsim3v3 component types from this design appears in the table at the bottom of the
window, along with DC operating point information for each device.

To display only those devices whose vgs parameter is greater than zero, do the following:
1. In the Filter group box, mark the Parameter expression check box.
2. Type vgs>0 in the field provided and press Enter.

The list of displayed components can be filtered further by selecting only those components
in the /I16/I5 hierarchy whose vgs parameter is greater than zero, as follows:
1. In the Filter group box, mark the Component filter check box.
2. Select By pattern.
3. In By pattern field, type /I16/I5/*.
4. Press Enter.

To modify the set of parameters to be annotated, do the following:


1. Click Set Up Params.
The Operating Point Parameter and Expression Setup form appears.

June 2005 358 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

2. In the Available scrolling list box, click cgb.


3. Click Add -->.
The cgb parameter is added to the Annotate list.
4. In the Annotate scrolling list box, click region.
5. Click <-- Remove.
The region parameter is removed from the Annotate list.

To create an operating point expression and add it to the Annotate list, do the following in the
Operating point expression group box:
1. In the Name field, type myExpr.
2. In the Expression field, type vds-vdsat.
3. Click Add.
The new expression name (myExpr) appears in the Annotate list.
4. Click OK.

The following changes are reflected in the table at the bottom of the Operating Point window:
■ region column is gone
■ cgb column has been added
■ myExpr column has been added
Note: Any changes made on the Operating Point Parameter and Expression Setup form are
available during the current Test Setup session. The Save button can be used to save
changes with the test so that these changes are available the next time the test is opened.
For this example, the changes are only retained for the current Test Setup session. For more
information, see “Setting Up Component Parameters and Building Expressions” on page 272.

Creating and Running a Temperature Sweep


To create and run a temperature sweep for this design, do the following:
1. In the VSdE main window, right-click the Sweeps/Corners folder.
2. Select New Sweep from the pop-up menu.
The New Sweep Name form appears.

June 2005 359 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

3. In the Sweep name field, type temp.


4. Click OK.
The Sweep window appears.
5. On the Sweep tab, click Add Param.
A new row appears in the Sweep parameters table.
6. In the Parameter column, select $temperature from the drop-down list.
7. In the Values column, type
-40 25 125

8. Click Apply.
9. Click Run.

The Job Status tab is displayed to show the progress of the sweep. To display measured
results when the job is finished, do the following:
1. Click the Results tab.
2. Click View.

Measured results at each temperature are displayed in the Results table window.

To plot the results, do the following:


1. Click to select the column containing temperature = 25.
2. Click Waveform.
The Select Waveform Files form appears for plotting results for this temperature.
3. Mark the Plot as family of curves check box.
4. Click Plot.

The family of curves appears in the Waveform Window.


Note: When the Plot as family of curves check box is not marked, only the waveform for a
single temperature selected in the Results table window is plotted. Multiple columns in the
table can be selected using Shift-click, click-drag, or Ctrl-click.

June 2005 360 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

Creating and Running a Corners Analysis


The following procedures are presented:
■ Modifying the Test for Variable Process Corners on page 361
■ Creating a Corners Analysis Setup on page 362
■ Running the Corners Analysis and Viewing Results on page 363

Modifying the Test for Variable Process Corners


To set up a corners analysis over process corners, $temperature, and $vdd_value for
this design, the test setup must first be modified so that the section of models selected from
the Model Library specified on the Netlist Files tab of the Includes tab of the Test Setup
window can be varied, as follows:
1. In the Tests folder in the VSdE main window, right-click the test.
2. Select Open from the pop-up menu.
The Test Setup window appears.
3. Click the Includes tab.
4. Double-click to select the Model Library specification for editing.
5. Change the sectionName from nom to $corner.
Note: $corner is a Perl variable whose value will be varied during the corners
analysis.
6. Click Apply.
The Add Parameter form appears.
7. Type nom in the Value column.
8. Click OK.
Note: At this point, you could click Run to verify that the changes were made correctly
and that the test still runs.
9. Click OK to close the Test Setup window.

June 2005 361 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

Creating a Corners Analysis Setup


To create a corners analysis setup, do the following:
1. In the VSdE main window, right-click the Sweeps/Corners folder
2. Select New Corners from the pop-up menu.
The New Corners Name form appears.
3. In the Corners name field, type processTempVdd.
4. Click OK.
The Corners window appears.
5. On the Corners tab, click Add Param three times.
Three columns appear in the Corners parameters table.
6. Starting in the rightmost column, select the following from the drop-down lists:

$corner $vdd_value $temperature

7. Click Add Corner three times.


Three rows appear beneath the heading row of corners parameters.
8. Type the following values in each column/row as indicated:

Tip
Use the Tab key to move from one table cell to the next.

$corner $vdd_value $temperature


nom 3 -40
slow 3.3 25
fast 3.6 125

9. Click Apply.

June 2005 362 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

Running the Corners Analysis and Viewing Results


To run the corners analysis and view the measured results, do the following:
1. In the Test Setup window, click Run.
The Job Status tab appears, showing the progress of each run.
2. When all jobs have finished (Status=passed), click to display the Results tab.
3. Click View.
Measured results at each corner appear in the Results table window.
4. Click Waveform.
The Select Waveform Files form appears for plotting results.
5. Click Plot.

The Waveform Window appears with the corners plotted.


Note: If the Plot as family of curves check box is not marked, then only the waveform for
a single corner is plotted. The corner is selected in the Results table window. Multiple
columns in the table can be selected using Shift-click, click-drag, or Ctrl-click.

Creating and Using a Specification Sheet


To create a specification (spec) sheet to compare the results of the measures versus the
specifications, do the following:
1. In the VSdE main window, right-click the Spec Sheets folder,
2. Select New Spec Sheet from the pop-up menu.
The New Specification form appears.
3. Select Results vs. spec.
4. In the Name field, type cornerVsSpec.
5. Click OK.
The Spec window appears.
6. Click Add.
The Add Spec Row form appears.

June 2005 363 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

7. Click to mark the Specify sweep and test name check box.
8. In the Sweep field, select processTempVdd from the drop-down list.
9. In the Test field, select vco8Top from the drop-down list.
10. Click OK.

The Specifications table contains a new row of information.

To fill the table with the remaining measures for this sweep and test, define the minimum and
maximum specifications for each, and perform a comparison of the measure values with the
specifications, do the following:
1. Click Expand.

Tip
Use the buttons to resize rows and columns to fit the data they contain.
2. Specify the following values in the Min Spec and Max Spec columns for each measure
as indicated:

Measure Min Spec Max Spec


max_freq 180M 470M
min_freq 50M 250M
vcogain 75M 175M

3. Click Compare.

The measure values are compared to the Min Spec and Max Spec values. The results of
this comparison appear in the Pass/Fail column as either Pass or Fail.

To examine the measure that failed to fall within the specified ranges, do the following:
1. At the beginning of the third row in the Specifications table, click the row heading (3) to
select this row of data (which shows a Fail in the Pass/Fail column).
2. On the toolbar, click .
The details page for this row of data appears. The Pass/Fail column indicates which
corner or corners failed (Fail).
3. In the details page, click Close.

June 2005 364 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

To save the main spec sheet page as an HTML document within the project:
1. On the toolbar, click .
An informational window appears.
2. Click OK.
3. In the Spec window, click OK.
4. On the Documents folder in the VSdE main window, click +.
The cornerVsSpec HTML document was added to the project.

Creating and Running a Monte Carlo Analysis


To set up a Monte Carlo analysis, the test setup must first be modified to include the statistical
models instead of the basic models, as follows:
1. In the Tests folder in the VSdE main window, right-click the test.
2. Select Open from the pop-up menu.
3. Click the Includes tab.
4. In the include area, double-click to select basicModels.scs for editing.
5. Change basicModels.scs to statsModels.scs.
6. Click Apply.
7. (Optional) Click Run to verify that the changes were made correctly and that the test still
runs.
8. Click OK.

To create a Monte Carlo setup, do the following:


1. In the VSdE main window, right-click the Sweeps/Corners folder.
2. Select New Sweep from the pop-up menu.
The New Sweep Name form appears.
3. In the Sweep name field, type monte.
4. Click OK.
The Sweep window appears.

June 2005 365 Product Version 4.1


Virtuoso Specification-driven Environment User Guide
Learning by Example

5. Click the Monte Carlo tab.


6. Click to mark the Enable check box.
7. In the Number of runs field, type 3.
8. Click Apply.

To run the Monte Carlo analysis and plot results, do the following:
1. In the Sweep window, click Run.
The Job Status tab appears. Upon successful completion of the analysis, the word
passed appears in the Status field.
2. Click the Results tab.
3. Click View.
The measured results at each Monte Carlo iteration appear in the Results table window.
4. Click Waveform.
The Select Waveform Files form appears for plotting results.
5. Click Plot.
Note: When the Plot as family of curves check box is not marked, only the waveform for a
single iteration is plotted. The iteration is selected in the Results table window. Multiple
columns in the table can be selected using Shift-click, click-drag, or Ctrl-click.

Histogram and scatter plots are available using the MC Plot menu on the Results tab of the
Sweep window. See “Results Tab” on page 221 for more information.

June 2005 366 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Index
A annotation
display options 270
AC analysis instance 269
plotting results 159 node 271
AC modifiers 159 Annotation Display Options form 270
ACV_DEFAULT_PROJECT_CREATE .apf project file 52
environment variable 54 auto-plot
ACV_DEFAULT_TEST_TEMPLATE measure results 142
environment variable 109 waveforms 278
ACV_DEFAULT_WORKSPACE_PATH .awf workspace file 52
environment variable 55
ACV_FORCE_NON_ALTERABLE
environment variable 206 B
ACV_POSTRUN_CMD environment
variable 229 back-annotation
ACV_PRERUN_CMD environment instance 269
variable 229 node 271
ACV_PROJECT_PATH environment BSUB_QUIET environment variable 236
variable 61 builtins library 134 to 140
ACV_RAW_PATH environment variable 240 ipwl_analog 135
ACV_SIMRUN_RSH environment ipwl_digital 138
variable 230 ipwl_file 136
ACV_SPECTRE_MPS_TIMEOUT istaircase 140
environment variable 225 vpwl_analog 135
ACV_SPLASH environment variable 22 vpwl_digital 138
ACV_XTERM environment variable 154, vpwl_file 136
220 vstaircase 140
acvMdumpRes 147 BUTTON (.config) 172
acvMeasResult 147
acvperl command 349
Add Design Component form 132 C
Add Parameter form 95, 117
adding Calculator (measures) 144
new tests 105 calibrating behavioral models 42,
ADE Calculator Expression 144 317 to 338
ADE integration 163 CDS_Netlisting_Mode environment
ADE state file export 33 variable 164
ADE state file import 28, 30 Cell Formatting window 260
ADE Test Setup 163 Check In form 74
Create Test form 165 group of items 76
Test Setup window 166 multiple related files 76
Advanced Settings for Tables form 329 single item 75
Alterable 205 Check Out File form 86
Analyses tab Checkpoint form 79
Spectre 196 colors
ANALYSIS_TYPE (.config) 173 color-flashing problems 21

June 2005 367 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

user-defined for OpenWindows 22 workspaces 54


command-line options 20 customization file (.config) 169
Components tab 130 Customize Menu form 255
.config customization file 169 customizing the environment 45
ANALYSIS_TYPE 173
BUTTON 172
EXPAND_DOT 176 D
FILE_VERSION 171
OPPTNV_SETUP 174 Defaults group box (Options window, Other
STATUS 177 tab) 242
VIEW_NETLIST_RUN 175 Design Alters tab 124
VIEW_NETLIST_TEST 175 Add 126
Copy from Design Management form 87 Edit 127
Copy Test form 110 Evaluate callbacks 127
corners analysis 209 to 216 Get Alters 125
adding parameters 213 Highlight 127
copying 223 Remove 127
defining corners 214 Save Alters 125
parameters 211 Update Schematic 128
referencing a workspace template 213 design files for a project 62
running 45, 219 Design Management 71 to 89
setup 209 Check In form 74
specifying tests for 211 Check In operation qualifiers 78
sweeping over corners 215 Check Out File 86
Corners tab check-in qualifiers 78
Add Corner 214 Checkpoint form 79
Add Param 213 checkpoint operations 79
Add Sweep 215 Copy from 87
Corners over tests 211 operations 73
Corners parameters 211 operations, core 74
Corners tab 211 Options window 237
Run button 45 Properties 81
Sweep 215 Set Operation 78
Workspace corners 213 Status 82
Corners window 209 Status keywords 79
Job Status tab 219 Status, filtering by 82
Monte Carlo tab (for Spectre) 216 Update 84
Run Options tab 225 Design Vars tab 116, 354
Create Test form Add 117
Composer tests 107 Get Design Vars 119
Design location 185 Remove 119
Netlist location 182 Save Design Vars 121
Othe 165 Update (Current Value) 118
Spectre 181 Update design variables with fixed
creating values 121
documents 36 Value Used, changing 118
new project design files 37 device under test (DUT) 187
plans 341 distributed simulation 231, 232, 233
project design files 62 launching remote jobs 229
projects 58 Max jobs 229, 230
spec sheets 293 rsh command 229

June 2005 368 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Distribution tab Export All Components to HTML 275


Distribution list 233 Export All Sweeps of All Comps to
General distribution options 233 HTML 275
Local Directory Prefix 234 Export All Sweeps to HTML 275
Queue command 235 Export to HTML 275
Remote Directory Prefix 234 Print 275
simulation start time 234 Refresh 276
DM Copy button 87 Save As 274
Documents folder 36 FILE_VERSION (.config) 171
adding text documents 37 Files tab 24
GIF 37 flatten/unflatten
HTML 37 associations 252
non-text items 37 branches 252
opening items 36 open data files 252
PDF 37 folders, workspace 35
drag-and-drop 35 Format Cells 260
forms
Add Design Component 132
E Add Parameter 95, 117
Advanced Settings for Tables 329
edit_command.ini 39 Annotation Display Options 270
environment variables Cell Formatting 260, 308
ACV_DEFAULT_PROJECT_CREATE 54 Check In 74
ACV_DEFAULT_TEST_TEMPLATE 109 Check Out File 86
ACV_DEFAULT_WORKSPACE_PATH 55 Checkpoint 79
ACV_FORCE_NON_ALTERABLE 206 Components tab 130
ACV_POSTRUN_CMD 229 Copy from Design Management 87
ACV_PRERUN_CMD 229 Copy Test 110
ACV_PROJECT_PATH 61 Corners 209
ACV_RAW_PATH 240 Create Test 107
ACV_SIMRUN_RSH 230 Create Test (Other) 165
ACV_SPECTRE_MPS_TIMEOUT 225 Create Test (Spectre) 181
ACV_SPLASH 22 Customize Menu 255
ACV_XTERM 154, 220 Export Test 33
BSUB_QUIET 236 Import 28
CDS_Netlisting_Mode 164 Import Test 30
IC_START 105 Library List Manager 184
in Test Setup 105 Measures tab 141
used in project parameters 91, 94 Model Calibration 320
Expand button (Spec Sheets) 305 Net Mapping 189
EXPAND_DOT (.config) 176 Netlist tab 187
export ADE state file 33 New Corners Name 210
Export Test form 33 New File 63, 210
Export to Plan 341 New Specification 294
New Workspace 54
Operating Point 263
F Operating Point Filter List 268
Options 231
File menu (Operating Point window) Plot Results 283
Auto Refresh 275 Plot Results (for MATLAB plotting) 284
Close 276 Properties (Design Management) 81

June 2005 369 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

Properties (Spec Sheets) 312


RAW File Location 245
J
Results Statistics 276 job completion options 241
Run tab 150 Job Status tab 219
Select Design 185
Select Instances to Parameterize 126
Select Model 321
Select Netlist 182
L
Select Results Directory 304 lib/cell/view 51, 52
Select Waveform Files 278 Library List Manager form 184
Select Workspace 53 Link to Plan 342
Set Measure Name 148 local parameters 101
Sweep tab 203
Test Setup (ADE) 166
Test Setup (Spectre) 186
Update 84
M
Workspace Templates 64 machine_list.mac 233
machines
distributed simulation 231
G mathematical functions
abs(x) 266
Getting Started 17 exp(x) 266
GIF files in Documents folder 37 int(x) 266
global parameters 101 ln(x) 266
Globals tab 115 log(x) 266
Clean 122 max(x,y) 266
Design Alters tab 124 min(x,y) 266
Design Vars tab 116, 354 pow(x,y) 266
Evaluate operators 121 sgn(x) 266
Evaluate suffixes 121 sqrt(x) 266
Restore 122 Max jobs setting for distributed
Update 122 simulations 229, 230
View Log 122 measures
auto-plot 142
Calculator 144
H Calculator Expression 144
OCEAN Script 145
host machines 231 results based on other results 149
HTML files in Documents folder 37 Measures tab 141
Add 143
Calculator Expression 144
I Copy 148
Delete 148
IC_START environment variable 105 Enable auto-plot 142
import ADE state file 28, 30 OCEAN Script 145
Import form 28 Preserve domain data 142
Import Test form 30 Rename 149
Includes tab Save output in results file 142
Spectre 191 Set Measure Name 148
initial conditions 197 model calibration 42

June 2005 370 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

condition rules 330 parameter expression operators 265


Export to Plan 332 printing data 275
modeling methods 324 refresh data 275, 276
new 319 saving data as CSV 274
preparing the model 318 saving ICs 197
using Perl 333 saving nodesets 197
Model Calibration window Operating Point window 263
Generate tab 331 File menu 274
Input tab 320 Filter group box 264
Parameter Setup tab 323, 326 Instance annotation group box 269
Monte Carlo analysis 216 to 218 Node annotation group box 271
results 221 Parameter expression field 265
running 219 OPPTNV_SETUP (.config) 174
seed control 218 Options tab 152
specifying (for Spectre) 216 Options window
Monte Carlo tab Defaults group box 242
Spectre simulation 216 Design Management tab 237
moving projects and workspaces 35 Display full lib/cell/view/testname 239
mwcolormanager 21 Distribution tab 231, 232
job completion options 241
Other tab 231, 238
N Simulation options group box 244
warning message check boxes 239
Net Mapping form 189 Other Includes tab
Netlist Files tab Spectre 193
Spectre 192 Other tab (Options window)
Netlist tab 187 Defaults group box 242
New Corners Name form 210 Simulation options group box 244
New File form 63, 210 overrides 225
New Project Wizard 59
New Specification form 294
New Workspace form 54 P
nodesets 197
Parallel Characterization 231
parameters
O global 101
local 101
OCEAN Script (measures) 145 project 91, 94
Open Xterm 153, 219 workspace 95
OpenWindows Parameters tab 25
user-defined colors for 22 pass/fail details 313
operating point PDF files in Documents folder 37
analyzing information 263 Perl commands
annotation 263 acv_calibrate_model 334
close window 276 acv_create_result_table 335
Component filter check box 267 acv_get_res_value 337
data collection 263 acv_translate_to_standard_veri
exporting to HTML 275 logams_model 338
Filter List window 268 get_param_list 346
parameter expression math get_plan_param 346
functions 266 load_project_params 344

June 2005 371 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

load_workspace_params 344
open_project 344
R
run_plan 345 raw file location 240
update_project_params 345 RAW File Location form 245
update_workspace_params 345 read-only mode 57
Perl/Tk 348 reference documents 15
plans 43, 339 to 350 related documents 15
creating 341 remote jobs
editing 348 launching 229
exporting to 341 renaming a test 34
getting parameters 346 Result list vs. result list check box 329
hierarchical 343, 347 Result vs. spec 298
linking to 342 results 247, 249
loading parameters 344 comma-separated values 157
log file 348 corners 221
messages 348 displaying leaf data 253
opening a project 344 expanding a folder 250
overview 339 export HTML 157
running 345, 348 flatten/unflatten branch 252
running from the system prompt 349 Monte Carlo 221
stopping, terminating 348 opening a data file 252
updating parameters 345 opening an association 252
Plot actions operating point 263
Plot analysis 158 plotting traces 253
Plot analysis AC (modifiers) 159 print setup 157
Plot types 160 S-parameter data 160
Plot Results window 283 sweep 221
for MATLAB plotting 284 table, see also Results table
Options button 285 window 255
plot window menus 292 test 155
project 23, 51 to 69 types 251
adding 58 viewing and plotting 247
creating 58 viewing Tabular Data 254
design files 62 waveforms 278
directory contents 52 Results Statistics window 276
drag-and-drop 35 Results tab
moving 35 Sweep window 221
new 60 Test Setup window, Run tab 155
new, from previous 61 VSdE main window 25, 249
project items 62 Results table window 255
tools overview 36 buttons 256
working library 52 File menu 258
Project File (.apf) file 52 format cells 260
Project menu hiding rows/columns 259
Workspace Value Set 100 limit values per cell 260
project parameters 91, 94 right-click pop-up menu 259
ADE tests 168 sorting rows/columns 259
Perl $ environment variables 91, 94 Run button 45
Properties form Run Options tab 225
Design Management 81 Run tab 150

June 2005 372 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

S print setup 296, 315


rearrange columns 295, 305
schematic-based tests rearrange rows 295, 305
advanced analyses 104 refresh details 315
creating a test 112 removing specs 301
running a test 150 result vs. spec 298
simulation 150 test setup 296
Select Design form 185 tool bar 295
Select Instances to Parameterize form 126 Spectre test setup 179
Select Model form 321 Analyses tab 196
Library List... button 321 Create Test form 181
Select File... button 322 Includes tab 191
Select Netlist form 182 Netlist Files tab 192
Select Results Directory form 304 Other Includes tab 193
Select Waveform Files form 278 RF analyses 196
Annotate sweep params 280 Sim Options tab 198
Plot actions 282 Test Setup window 186
Plot as family of curves 280 starting
Signals to plot 281 command-line options 20
Waveform file selection 279 from a schematic 20
Select Workspace form 53 from the CIW 20
Set Measure Name form 148 from the system prompt 20
Silicon-Calibrated Behavioral Model 42, state file (ADE) export 33
317 state file (ADE) import 28, 30
Sim Options tab statistics 276
Spectre 198 STATUS (.config) 177
Simulation options group box (Options Status tab (Run tab, Test Setup
window, Other tab) 244 window) 153
simulation results location 240 sweep
simulation start time 234 Alterable 205
S-parameter copying 223
plot data 160 corners 215
spec sheet 42, 293 to 316 running 45
Add button 301 Sweep tab 203
adding specs 301 Add Param 204
auto-size row/column 295 Convert to Corners 209
columns common to both types 296 File drop-down 208
columns for Comparison 299 Remove Param 207
columns for result vs. spec 298 Run button 45
comma-separated values 296, 315 Run check box 206
Compare button 311 Workspace sweep 204
Comparison of two designs 299 Sweep window
creating 293, 294 Job Status tab 219
Expand button 305 Monte Carlo tab 216
export HTML 296, 315 Monte Carlo tab (for Spectre) 216
format cells 305, 308 Results tab 221
hide/unhide columns 305 Run Options tab 225
opening 294 sweeps 201 to 209
pass/fail details 296, 313 activatingdeactivating parameters 206
plot results 295 adding a parameter 204
converting to corners 209

June 2005 373 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

creating 202 Run 150


creating multiple definitions for a sweep Run Options 225
parameter 206 Sim Options (Spectre) 198
CSV loading/saving 208 Status (Run tab, Test Setup
error log file 314 window) 153
importing parameter definitions 208 Sweep 203
logarithmic 205 Waveforms (Run tab, Test Setup
referencing a workspace template 204 window) 158
removing a parameter 207 templates
running 219 creating a workspace template 67
Sweep tab 203 importing a workspace template 68
Test Console tab 44
Test Setup window
T Components tab 130
Design tab (for schematic designs) 114
tabs Globals tab (for schematic
Alignment (Cell Formatting designs) 115
window) 310 Measures tab 141
Analyses (Spectre) 196 Netlist tab 187
Border (Cell Formatting window) 311 Options tab 152
Color (Cell Formatting window) 310 Results tab 155
Components 130 Run tab 150, 152, 155, 158
Corners 211 Waveforms tab 158
Design (for schematic designs) 114 tests 40
Design Alters 124 ADE 163
Design Management (Options contents 103
window) 237 copying 110
Design Vars 116, 354 creating 105
Distribution (Options window) 231, 232 drag-and-drop 110
Format (Cell Formatting window) 308 new 105
Generate (Model Calibration pasting 110
window) 331 renaming 34
Globals (for schematic designs) 115 running 45, 150
Includes (Spectre) 191 saving 113
Input (Model Calibration window) 320 Spectre 179
Job Status 219 text editor
Measures 141 creating documents 36
Monte Carlo (Sweep window) 216 tool folders 36
Monte Carlo for Spectre (Sweep/Corners Characterization and Modeling 42
window) 216 Documents 36
Netlist 187 Model Calibrations 42
Netlist Files (Spectre) 192 Plans 43
Options 152 Spec Sheets 42
Other (Options window) 231, 238 Sweeps/Corners 41
Other Includes (Spectre) 193 Tests 40
Parameter Setup (Model Calibration Toolbars tab (Customize window)
window) 323 creating a custom toolbar 46
Results (Sweep/Corners) 221 deleting a custom toolbar 48
Results (Test Setup window, Run populating a custom toolbar 47
tab) 155 removing an icon from a toolbar 47
Results (VSdE main window) 25, 249

June 2005 374 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

U Workspace File (.awf) file 52


Workspace Parameters table
Update form 84 Add 98
buttons 98
DM 98
V Remove 98
Workspace Set right-click pop-up
View buttons menu 99
Job Status tab 219 Workspace Templates form 64
Status tab (Run tab, Test Setup
window) 153
VIEW_NETLIST_RUN (.config) 175 X
VIEW_NETLIST_TEST (.config) 175
viewing results Xresources 22
sweeps 221
VSdE main window 24
Add menu 63
File menu 63
Files tab 24, 36
Parameters tab 25
Results tab 25
Test Console tab 44

W
waveform display 278
auto-plot 278
Waveforms tab (Run tab, Test Setup
window) 158
AC modifiers 159
workspace 23, 51 to 69
creating and opening 53
creating new 54
creating new workspace folders 35
directory contents 52
drag-and-drop 35
folders 35
moving 35
opening existing 56
opening recent 56
overview 51
parameters 95
template, import 68
template, new 67
templates 64
value set Add 100
value set Delete 100
value set Rename 100
value sets 95

June 2005 375 Product Version 4.1


Virtuoso Specification-driven Environment User Guide

June 2005 376 Product Version 4.1

Você também pode gostar