Anda di halaman 1dari 210

S-Edit User GuideContents

1 Introduction 5
Documentation Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Contact Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 .......................................................... 7

Getting Started

Launching S-Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Levels of Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Viewing Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 S-Edit Setups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Beginning a Design
Working with Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working with Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Module Instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working with Schematic Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printing a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39
39 41 46 48 50

Viewing, Drawing, and Editing


Panning and Zooming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resizing and Reshaping Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arranging Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pasting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Objects Textually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Undo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55
55 57 60 62 62 62 63 64 65 65 69

Design Connectivity
Wires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verifying Connectivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Global Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71
71 72 73 74 75 77

Properties, Netlists, and Simulation

84

Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Exporting a Netlist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Waveform Probing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Circuit Analysis Tutorials


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example 1: DC Operating Point Analysis . . . . . . . . . . . . . . . . . . . . . Example 2: DC Transfer Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . Example 3: Transient Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

104
104 104 107 108

S-Edit User Guide

S-Edit User GuideContents


(Continued)

Example 4: AC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example 5: Subcircuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example 6: Transient Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example 7: Transient Analysis, Powerup Mode . . . . . . . . . . . . . . . . Example 8: Transient Analysis, Preview Mode. . . . . . . . . . . . . . . . . Example 9: Noise Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example 10: Direct Model Evaluation . . . . . . . . . . . . . . . . . . . . . . . . Example 11: Transistor Subthreshold Behavior . . . . . . . . . . . . . . . Example 12: MOS Transconductance Amplifier. . . . . . . . . . . . . . . . Design Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

110 112 115 118 120 122 124 126 128 130

Waveform Probing
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Probing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Waveform Probing Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

134
134 134 136 136 138

Command Reference
File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setup Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > New. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Save As . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Replace Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Export. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Page Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Print Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Recently used files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File > Exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Undo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Redo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Copy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Clear. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Duplicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Select All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Deselect All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Flip > Horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

145
145 146 146 148 148 148 149 149 150 150 151 151 151 152 152 154 155 156 156 158 158 158 159 159 159 160 160 160 160 160 161 161

S-Edit User Guide

S-Edit User GuideContents


(Continued)

Edit > Flip > Vertical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit > Edit Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Symbol Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Schematic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Change Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Pin Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Zoom > Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Zoom > In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Zoom > Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Zoom > To Selections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Pan > To Selections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Pan > Left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Pan > Right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Pan > Up. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Pan > Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Pan > To Page Edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View > Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > New . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Open. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Copy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Rename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Revert Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Close As . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Browse Globals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Symbol Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module > Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol > Revert Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol > Port Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol > Info. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol > Auto Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol > Order Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page > New . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page > Open. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page > Rename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page > Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page > Revert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page > Close As . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page > Node Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page > Port Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page > Pin Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page > Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setup > Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setup > Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setup > Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

161 161 161 161 162 162 162 162 162 162 163 163 163 163 163 163 164 164 164 164 165 165 165 166 167 168 169 169 169 170 170 171 172 174 174 174 175 175 176 176 177 177 178 178 178 179 179 179 180 180 183 184

S-Edit User Guide

S-Edit User GuideContents


(Continued)

Setup > Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setup > Probing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Help > S-Edit User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Help > T-Spice User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Help > W-Edit User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Help > T-Spice Pro Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Help > About S-Edit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

185 186 187 187 187 187 187

10

Exporting Designs to ViewDraw

189

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Example: Export a Resistor to ViewDraw . . . . . . . . . . . . . . . . . . . . . 190

11

Glossary Index Credits

198 203 210

S-Edit User Guide

Chapter 1: Introduction

Introduction

Documentation Conventions
This section contains information about the typographical and stylistic conventions used in this user guide.

Special Fonts
The following inline references are represented by a bold font: Menu and simulation commands (For example: .print tran v(out).) Literal user input (For example: Enter 14.5.) Program output (For example: S-Edit generates names for the ports on the symbol based on the
PAD string.)

All dialog elementsfields, checkboxes, drop-down menus, titles, etc. (For example: Click Add.) Freestanding quotations of input examples, file listings, and output messages are represented by a constant-width fontfor example:
.ac DEC 5 1MEG 100MEG

Variables for which context-specific substitutions should be made are represented by bold italicsfor example, myfile.tdb. Sequential steps in a tutorial are set off with a checkbox ( ) in the margin.

References to mouse buttons are given in all capitalsfor example, MOVE/EDIT. When a key is to be pressed and held while a mouse button is used, the key and button are adjoined by a plus sign (+). For example, Shift+SELECT means that the Shift key is pressed and held while the SELECT mouse button is used. The terms left-click, right-click, and middle-click all assume default mappings for mouse buttons. Text omitted for clarity or brevity is indicated by an ellipsis ().

Menu Commands and Dialog Titles


Elements in hierarchical menu paths are separated by a > sign. For example, File > Open means the Open command in the File menu. Tabs in dialog boxes are set off from the command name or dialog box title by a dash. For example,
Setup > LayersGeneral and Setup LayersGeneral both refer to the General tab of the Setup Layers dialog.

S-Edit User Guide

Chapter 1: Introduction

Documentation Conventions

Special Keys
Special keys are represented by the following abbreviations: Key Shift Enter Control Alternate Backspace Delete Escape Insert Tab Home End Page Up Page Down Function Keys Arrow Keys Abbreviation
Shift Enter Ctrl Alt Back Del Esc Ins Tab Home End PgUp PgDn F1 F2 F3 , , ,

When certain keys are to be pressed simultaneously, their abbreviations are adjoined by a plus sign (+). For example, Ctrl+R means that the Ctrl and R keys are pressed at the same time. When certain keys are to be pressed in sequence, their abbreviations are separated by a space ( ). For example, Alt+E R means that the Alt and E keys are pressed at the same time and then released, immediately after which the R key is pressed. Abbreviations for alternative key-presses are separated by a slash (/). For example, Shift+ / means that the Shift key can be pressed together with either the up ( arrow key or the down ( arrow key.

S-Edit User Guide

Chapter 1: Introduction

Contact Information

Contact Information
Tanner EDA
A division of Tanner Research, Inc. 2650 East Foothill Blvd. Pasadena, CA 91107 USA

Customer Support
Telephone Toll Free: ( 877) 304-5544 Telephone: (626) 792-3000 Fax: (626) 792-0300 E-mail: support@tanner.com Web site: http://www.tannereda.com

S-Edit User Guide

Chapter 2: Getting Started

Getting Started

Launching S-Edit
To launch S-Edit, double-click on the S-Edit icon.

S-Edit will create a file called File0 (with one module, Module0, showing page Page0) at startup. You can also launch S-Edit from a DOS prompt. If you do, you should specify at least one startup file on the command line, as described below.

Specifying Startup Files


Every S-Edit file contains setup information, which provides settings for the color, environment, grid, and selection behavior. When you launch S-Edit without opening an existing file, it looks for the file sedit.sdb and reads it for setup information. When you open an existing file, S-Edit uses the setup information defined in that file. S-Edit looks for sedit.sdb in the current directory, then in the S-Edit directory. If it does not find sedit.sdb, S-Edit will display a warning. You can specify a startup file or files via Windows shortcut properties or on the DOS command line. If you specify multiple files, separate them with a single space, for example:
sedit alpha.sdb beta.sdb gamma.sdb

If a startup file does not reside in the current directory, specify it using the full path. If a startup file is specified on the command line without an extension, S-Edit first looks for the file as specified (without the extension), then for a file of the same name with the .sdb extension. If a startup file is specified with an extension other than .sdb, S-Edit searches for the file and atempts to open it as an .sdb file. If the file is not present or is of an incompatible type, the program displays a warning.

User Interface
S-Edits user interface consists of the Title Bar, Menu Bar, Work Area, Status Bar, and five toolbars:

S-Edit User Guide

Chapter 2: Getting Started

User Interface

Title Bar

Locator Toolbar Probing Toolbar AnnotationToolbar Schematic Toolbar Menu Bar Command Toolbar Work Area

Origin (Coordinates 0,0) Mouse Button Toolbar

Status Bar

Title Bar
In Symbol mode, the title bar shows the name of the current file and module, plus the message Symbol. In Schematic mode, the title bar shows the name of the current file, module, and page. The title bar also displays the message Incomplete Plot while screen rendering is in progress. For the definitions of files, modules, and pages, see Levels of Design on page 13. For the definitions of Symbol and Schematic modes, see Viewing Modes on page 14.

Toolbars
You can display or hide individual toolbars with the View > Toolbars command. Floating tooltips display the tool name when you rest the mouse cursor on an individual tool. The status bar also displays a message giving the tools function. You cannot customize or resize toolbars. The Command toolbar (shown below, in Schematic mode) provides buttons representing the most commonly used menu commands.

The Schematic toolbar (shown below) provides tools used to create electrical objects that appear on the schematic page, such as wires and ports. It also provides a tool used to create properties.

S-Edit User Guide

Chapter 2: Getting Started

User Interface

The Annotation toolbar (shown below) provides tools used to create nonelectrical objects, such as rectangles, circles, and polygons, that are useful in illustrating and documenting your design.

For more information on the Schematic and Annotation toolbars, see Drawing Objects on page 57. The Probing toolbar (shown below) provides tools used to perform waveform probing in your schematic design.

This toolbar is context-sensitive, and in some situations, some of its commands may be unavailable. For more information on the Probing toolbar, see Adjusting the Probe Settings on page 102. The Locator toolbar (shown below) displays the coordinates of the mouse cursor.

The Mouse Buttons toolbar shows the current functions of the mouse buttons.

Mouse buttons vary in function according to which tool is selected. They also sometimes vary in function when the Shift, Ctrl, or Alt key is pressed. For example, in the figure above, the mouse buttons have the names DRAW, MOVE-EDIT, and SELECT. For two-button mice, the middle button function is accessed by clicking the left and right buttons together or by pressing Alt while clicking the left mouse button.

Toolbar Positions
You can dock individual S-Edit toolbars by dragging them against a window edge, or you can allow them to float within the main application window. When docked to the top or bottom of the main window, the Shortcut, Schematic, and Annotation toolbars each appear as one horizontal row of buttons. When docked to one side of the window, these toolbars each appear as one vertical column of buttons. The Mouse Buttons toolbar appears horizontally when docked to the top or bottom of the main window, and vertically (with vertical text) when docked to one side of the main window. The Locator toolbar is always horizontal. By default, S-Edit docks the Standard, Locator, and Mouse Buttons toolbars to the top of the main window, and the Annotation and Schematic toolbars to the left of the window. When toolbars are docked, S-Edit saves their positions when you exit the application.

S-Edit User Guide

10

Chapter 2: Getting Started

User Interface

Menu Bar
The Menu Bar, the horizontal space at the top of the screen, contains the S-Edit menu titles. The display of menus depends on whether you are using S-Edit in the Schematic or Symbol viewing mode. In Schematic mode, the menu bar looks like this:

Commands for creating, opening, saving, and printing files Commands for copying, deleting, selecting, and transforming design elements Commands for changing, expanding, contracting, and shifting the view Commands for creating and manipulating modules Commands for creating, manipulating, and testing pages Commands for setting various S-Edit options. Commands for accessing the Help system

In Symbol mode, the toolbar looks like this:


Commands for manipulating symbols

Status Bar
You can display or hide the status bar via the View > Status Bar command. When enabled, the Status Bar displays: Help strings for the tool on which the mouse cursor is resting, whether that tool is selected or not. The type and size of a selected object when a single object is selected. A summary of the selected items when multiple objects are selected. Help strings for the menu command on which the mouse cursor is resting, whether that command is selected or not. The status of waveform probing operations when you are probing the design. For more information on waveform probing, see Waveform Probing on page 98. When you exit S-Edit with the status bar displayed, it will display the Status bar again when you relaunch the application.

Layout Area
The area available for schematic design is called the Layout Area. The currently visible portion of the Layout Area, where you create, view, and edit objects, is called the Work Area. You can move or resize

S-Edit User Guide

11

Chapter 2: Getting Started

User Interface

the Work Area as you would any other application window. You can also alter the view using the Pan or Zoom commands. When you resize the Work Area, S-Edit expands or contracts the view in the direction in which you resize the window without changing the magnification. If you use the View > Exchange (X) command after resizing the Work Area, S-Edit will pan or zoom as necessary to display the previous view in the current (resized) window. If you return to a previously stored view (of a different module or page) after resizing the Work Area, S-Edit will alter the aspect ratio of that view to fit the current window. You can also pan to different portions of the Layout Area by pressing the arrow keys or using one of the
View > Pan commands. For more information on these commands, see Panning and Zooming on page

55.

Coordinate System
The S-Edit coordinate system is based on internal units, which are nine-digit integers such as 437,826,693. Internal units are abstract units without any actual physical dimension, and they represent the highest possible resolution for geometric specification. The Layout Area extends from 536,870,912 to +536,870,912 internal units in both the x- (horizontal) and the y- (vertical) directions. To define a workable grid and indicate the pointer position, S-Edit uses locator units, which it displays in the Locator toolbar. S-Edit uses physical units only to specify page size and layout for printing. Locator units are abstract and defined by the ratio of locator units to internal units. You set this ratio with the Setup > Grid command (see Grid, below).

Note:

S-Edit libraries use a ratio of 32 locator units to each internal unit and set the mouse snap and grid ratios accordingly.

You can display or hide the grid using the View > Grid command. The coordinate origin point (0,0) is indicated by a cross-hair marker. You can display or hide this marker with the View > Origin command.

Ruler
The Ruler provides an additional method of position measurement. Press Q to enable or disable it. When the Ruler is enabled: S-Edit displays the pointer position in locator units relative to the pointers position when the Ruler was enabled, rather than relative to the locator coordinate system origin. S-Edit displays the pointer position in brackets [ ] instead of parentheses ( ). Holding Shift while the Ruler is enabled causes the Locator to display the linear distance (a single number) between the pointer and the Ruler origin. This feature is useful for measuring point-to-point distances.

S-Edit User Guide

12

Chapter 2: Getting Started

Levels of Design

Levels of Design
The highest level in the S-Edit design hierarchy is the design file. Files contain modules, which can in turn contain primitive objects or references to other modules.

Files
S-Edit saves and reads design files in Tanner Researchs proprietary S-Edit Database (SDB) format. An SDB file contains design information and setup information. You can keep as many files in memory (open) simultaneously as available memory allows, but you can only view one at a time.

Modules
S-Edit design files consist of modules. A module is a functional unit of design, such as a transistor, a gate, an amplifier, or an entire design. Modules contain two types of components: Primitivesgeometrical objects created with the drawing tools Instancesreferences to other modules in the file. An instancing module is a module that contains an instance; the instanced module is the original. In an efficient design, primitives, instances, and modules form a pyramid-like hierarchical structure. The most elementary, often-instanced modules reside near the bottom of the hierarchy; modules composed largely of instances, near the top. Actions on a particular module affect all of its instances in modules above it in the hierarchy.

Instance

Primitive Module

Module hierarchy:

= primitive;

= instance

You can view each module two modes, Schematic and Symbol (see Viewing Modes, below). In Schematic mode, each module consists of one or more pages. S-Edit displays only one file, module, and page at one time.

S-Edit User Guide

13

Chapter 2: Getting Started

Viewing Modes

Viewing Modes
S-Edit has two viewing modes, Schematic mode and Symbol mode. When you create an instance of a basic device (such as a transistor) or a larger functional unit (such as an inverter), you use a symbol to represent the smaller device or unit within the larger module. To create or modify the symbol itself, you operate in Symbol mode. When you define the connectivity of modules, you use a schematic. Schematics show the relationship of basic circuit elements, such as transistors, to larger functional units, such as inverters or gates. To create or view a schematic, you operate in Schematic mode. Use View > Symbol Mode and View > Schematic Mode to switch between modes. You can also switch between modes by typing a question mark (?).

Symbol Mode
Symbols consist of drawn shapes, ports, and properties. To create a symbol, create a new module (Module > New) and switch to Symbol mode. Then: Use the Box, Polygon, Line, Circle, and Comment tools to create the modules graphic representation. For more information on these tools, see Drawing Objects on page 57). Use the Port tools to place ports, the modules points of connection to other design objects (see Ports on page 72). Use the Property tool to specify how the module will be described in exported netlists. A modules properties can characterize its physical parameters, such as length, width, and perimeter; its nonphysical parameters, such as device type and comments; and its output strings, which specify the exact form of the SPICE, NetTran, or TPR description and identify lowest level of hierarchy for netlist output. For more information, see Properties on page 84.

Schematic Mode
Schematics define the connectivity of primitives and lower-level modules within higher-level modules. Schematics show how smaller functional units or basic devices (such as transistors) are connected to form higher-level units (such as inverters). Schematics consist of five basic elements: Module instances appear as symbols. Module instances have pins, which indicate possible connection points for other objects. For more information on module instances, see Creating Module Instances on page 46. For more information on pins, see Pins on page 73. Wires connect module instances to one another. For more information on wires, see Wires on page 71. Ports identify signals connected to the module or its instances. Ports on a modules schematic must correspond in name and type to ports on its symbol. Ports also identify and label nodes in the schematic. For more information on schematic ports, see Ports on page 72. Annotation objectsboxes, circles, polygons, lines, and commentsdocument or illustrate a schematic. For more information on annotation objects, see Drawing Operations on page 58. Labels identify and name nodes in the schematic. Unlike ports, they do not show where signals are connected to the module, nor do they neccessarily correspond to ports in the module symbol. For more information on labels, see Labeling Nodes on page 75.

S-Edit User Guide

14

Chapter 2: Getting Started

S-Edit Setups

S-Edit Setups
You can adjust setup information by using the commands on the Setup menu. Details follow in the sections below.

Colors
To modify color settings, use the Setup > Colors command. The Color dialog box will appear, showing the current colors for the following interface elements: Background Foreground Selection Grid Origin

To modify the color of any interface element, click on the appropriate color panel. The Colors dialog box will appear:

S-Edit User Guide

15

Chapter 2: Getting Started

S-Edit Setups

You can choose basic colors from the top group of color panels or custom colors from the bottom group. To define new custom colors or modify existing ones, extend this dialog by clicking on the Define Custom Colors button.

With the dialog box extended, the following options are available:
Basic colors

Shows the basic colors available. To select a basic color, click on it and press OK. To define a custom color, click on the basic color closest to the color you want. A marker will appear in the color matrix to the right. You can then move this marker within the color matrix to optimize the color. Displays any custom colors you have already defined. To define a new custom color, click on an empty custom color box, define a custom color, then click Add to Custom Colors. To modify an existing custom color, click on it, then specify a new color. To define a custom color, click anywhere in this matrix, then use the slider at the right of this dialog box to adjust the amount of white and black in the color. Click this button to define a custom color. If this button is unavailable, you are already viewing custom colors. To define a custom color, click in the color matrix, or specify the color using the hue/saturation/luminosity scale or the red/green/blue scale, and then click Add to Custom Colors. The left half of this panel shows the amount of white and black in the color you specified. The right half shows how the color will look if you choose 100% of the color with no white and black. To adjust the color, use the slider at the right of this dialog box. To specify 100% of the color, type Alt +O.

Custom colors

Color matrix

Define Custom Colors

Color|Solid

S-Edit User Guide

16

Chapter 2: Getting Started

S-Edit Setups

Hue/Sat/Lum

Specifiy the hue, saturation, and lumonisity for the selected custom color. A combination of hue, saturation, and luminosity can be used to define any color. Hue is the colors value on a color wheel in a range of 0-239, where 0 is red, 40 is yellow, 80 is green, 120 is cyan, 160 is blue, and 200 is magenta. Saturation describes the amount of color in a specified hue and can take values from 0 (grayscale) to 240 (full color). Luminosity describes the brightness of the selected color and can take values between 0 (totally black), 120 (color unaffected), and 240 (totally white). If you change the hue, saturation, or lumonisity, the values for red, green, and blue will change accordingly. Specify the amount of red, green, or blue in the selected custom color. A combination of red, green, and blue values can be used to define any custom color. Values range from 0-255. If you change the values for red, green, or blue, the values for hue, saturation, and luminosity will change accordingly. Adds the custom color you have defined to the Custom colors palette.

Red/Green/Blue

Add to Custom Colors

Note that you can also manipulate these values graphically: To change hue, move the marker in the color matrix horizontally. To change saturation, move the marker in the color matrix vertically. To change luminosity, move the marker on the slider bar next to the color matrix up or down.

Environment
To modify environment settings, use the Setup > Environment command.

The options are as follows.


Number of saved revisions

Specifies the number of backup copies of previous versions S-Edit will make of the current file when it is saved with revisions. The maximum value is 10. For example, if the number is set to 2, three files will exist after the third Save of the file design.sdb: design.sdb (the current version), design.sd1 (the most recent backup version), and design.sd0 (the oldest backup version). Specifies the default text size (character height, in locator units) for text used in ports. Changing this value affects all subsequently created ports; those created before the change are unaffected.

Default Port Text Size

S-Edit User Guide

17

Chapter 2: Getting Started

S-Edit Setups

Auto Panning

Specifies that S-Edit automatically pan the view when the pointer touches an edge of the Work Area during a draw, move, or edit operation.

Grid
S-Edit provides three independent gridsthe displayed grid, the mouse grid, and the locator coordinate grid. The displayed grid is the visible grid whose gridpoints appear in the Work Area. The locator coordinate grid defines the coordinate system used to indicate the position of the pointer in the Locator toolbar. To modify grid settings, use the Setup > Grid command.

Displayed Grid

The absolute spacing of the displayed grid, entered as length, in internal units, of a grid square side. The apparent spacing of the grid varies with the magnification of the Work Area. If the number of screen pixels per grid square side falls below the value entered in this field, the grid is hidden. The absolute spacing of the mouse grid, entered as length, in internal units, of a grid square side. The number of internal units equivalent to one locator unit.

Suppress Grid Less Than

Mouse Snap Grid

Locator Units

S-Edit User Guide

18

Chapter 2: Getting Started

S-Edit Setups

Selection
Selection settings define S-Edits selection behavior. To modify these settings, use the Setup > Selection command. For more information on S-Edit selection features, see Selecting Objects on page 60.

The options are as follows.


Selection Range

A positive integer S such that: when the mouse is clicked with the pointer within S internal units of any edge of an object, S-Edit will select that object implicitly or cyclically. A positive integer D such that: when a mouse button is clicked (to initiate a move, edit, or copy operation) with a previously selected object more than D internal units from the pointer, S-Edit will deselect that object before performing the operation. The deselection range is set by default to the largest possible number (to indicate infinity), so that a selected object is never automatically deselected. A positive integer E such that: if the pointer is within E internal units of an edge or vertex of a selected object, then an operation with the MOVE-EDIT button is an edit; otherwise it is a move. Two numbers can be supplied: one in locator units, the other in pixels. E takes the value that is larger on-screen at any given time. Specifies that S-Edit automatically select an object after it is created. This feature is useful for designers who like to draw objects first, then position or edit them.

Deselection Range

Edit Range

Select Drawn Objects

Waveform Probing
Waveform probing options govern S-Edits behavior during the waveform probing process. For more information setting these options, see Waveform Probing Setup on page 100.

S-Edit User Guide

19

Chapter 2: Getting Started

Tutorials

Replacing File Setups


The File > Replace Setup command transfers setup information from another file (the source file) to the current file (the destination file).

You can transfer up to seven categories of setup information. When a categorys switch is turned on, S-Edit will replace information in the destination file with corresponding information from the source file. For example, turning on the Grid switch will replace all grid information (which is specified in the Setup > Grid dialog box) in the destination file with the corresponding information from the source file.

Tutorials
To learn more about S-Edit, follow the tutorial that makes up the balance of this chapter. Each section takes only a few minutes to complete.

Viewing and Editing Schematic Objects


Use the File > Open command to open the supplied file lights.sdb. Use the Module > Open command to access a dialog box containing a list of the modules in lights.sdb. Select the module core and click OK. Click on the View menu to see what mode you are in. If you are not already in Schematic mode, use the command View > Schematic Mode to switch modes. You can also change modes by simply typing a question mark (?).

S-Edit User Guide

20

Chapter 2: Getting Started

Tutorials

You will see the following schematic for the core logic of this design:

You can change your view of the design by using any of the following commands: Use View > Zoom > In to see a close-up of the design. You can also issue this command by typing a plus sign (+). Use View > Zoom > Out to view the design less closely. You can also issue this command by typing a minus sign (-). Use View > Pan > Left, View > Pan > Right, View > Pan > Up, or View > Pan > Down to move the view horizontally or vertically. You can also issue any of these commands by pressing the appropriate arrow key. Use View > Zoom > Mouse to specify a zoom box. With the mouse, drag a rectangular area around the part of the design you want to view more closely. S-Edit zooms and pans to the specified region. You can also issue this command by typing the letter Z. Use View > Exchange View to switch between the current and the previous view. You can also issue this command by typing the letter X. Use View > Home (or press the Home key) to see all objects on the page. You can edit schematic objects graphically. Select an object by clicking it with the SELECT mouse button. To move an object, click on it with the SELECT button, then click again with MOVE-EDIT mouse button, and drag. (For two-button mice, click the left and right buttons together to access the middle button function.) To reshape an object, click on it with the SELECT button, then click again on an edge or vertex with the MOVE-EDIT button, and drag.

S-Edit User Guide

21

Chapter 2: Getting Started

Tutorials

To rotate an object, use the command Edit > Rotate or press R. The object will rotate counter-clockwise 90 degrees. Use the command Edit > Flip > Horizontal (or press H) to flip the object horizontally (about the vertical axis through its center). Use the command Edit > Flip > Vertical (or press V) to flip the object vertically (about the vertical axis through its center). You can also open a dialog box to change an objects text, size, or location. First select an object. Then use the Edit > Edit Object command to access such a dialog box. The type and number of fields in this dialog box will vary according to the object you select.

Experiment with the different editing options, then click OK to implement your changes in the design. The core schematic contains a number of gates, which are instances of different modules. In the following section, you will learn to examine them individually.

Examining Individual Modules


Select the 2-input NOR gate (NOR2) and use the Module > Open command to open it. When you select a module before issuing this command, S-Edit automatically highlights the module name in the module list. NOR2 will be highlighted in this case. Click OK.

S-Edit User Guide

22

Chapter 2: Getting Started

Tutorials

Use the View > Symbol Mode command to switch to Symbol mode (or type a question mark). You will see a view of the symbol used to represent this module in other module schematics.
Port Line Polygon Circle

Property

The following table describes the objects that make up this symbol, with the tools used to create them displayed on the left. Ports indicate where wires may be connected to the symbol. You can place a port anywhere on the symbol. The two text lines (NETTRAN OUTPUT and TPR OUTPUT) are properties. Properties provide output information and parameters for the module. See Properties on page 84. Polygon, Line, and Circle tools are used to draw the body of the symbol.

Other Port tools include Bidirectional Other Polygon tools include the 90 Other Line tools include the 90

, Other , 45

, and Global , and all-angle all-angle. .

, 45

, and

Switch back to Schematic mode. You will see a schematic view of the 2-input NOR gate.

S-Edit User Guide

23

Chapter 2: Getting Started

Tutorials

Comment

Port

Wire

Node label Global symbol

Module instance

The following table summarizes the objects that make up this schematic, with the tools used to create them displayed on the left. Wires connect objects electrically. Wires that intersect with solid dots are connected; wires that intersect without solid dots are unconnected. (Do not confuse wires with simple lines, which do not connect objects electrically.) Ports indicate where wires connected to ports on the symbol are connected on the schematic. Ports also name the nodes they are placed on. Each port in Symbol mode should have the same name as at least one port in Schematic mode. Node labels also name nodes in a schematicthe nodes which do not correspond to ports in Symbol mode. Module instances represent other modules used in the current one. An unconnected instance has open circles called pins at the places on the symbol where objects can be connected. When you connect to the pins of an instance, the open circles become filled circles or they disappear. (Do not confuse unconnected pins with the open circles on the gates of p-channel transistors.) Pins usually appear at the end of a short line segment. The power supply and ground symbols are instances of special modules called global symbols. Global symbols connect nodes in different modules without ports and wires. For example, a power symbol could name one node Vdd and connect it to Vdd nodes in other modules, and a ground symbol could name another node Gnd and connect it to Gnd nodes in other modules.

S-Edit User Guide

24

Chapter 2: Getting Started

Tutorials

Text objects independent of a particular node are called comments. They are used to document or describe a design. Comments are not to be confused with node labels, which are not independent but are tied to particular nodes.

In Creating a New Design, below, you will practice creating symbols and schematics.

Printing a Design
In this section, you will learn to print a modules symbol and schematic. Use the Module > Open command to open the module core. Change to Symbol mode if necessary. Use the File > Print command to print the design. You will see the following dialog box:

In the Printer group box, choose a printer from the Name pull-down list. For more options, click on the Properties button. In the Print range group box, choose a print range by clicking on the appropriate radio button. If you want to print schematic pages along with symbols (and in the same range), click the Print schematic pages also check box. Click OK when you have chosen your options. Switch to Schematic mode. Repeat the preceding steps to select the appropriate printing options. Click
OK when you have chosen your options.

Close lights.sdb with the File > Close command. Even if a warning about unsaved changes appears, close the file without saving changes.

Creating a New Design


In this section, you will create a new design: a ring oscillator. When you create a file for a new design, you typically include modules from schematic libraries in your new file. In this exercise, you will use the Module > Symbol Browser command to locate the correct modules and copy them into your design.

S-Edit User Guide

25

Chapter 2: Getting Started

Tutorials

Use the File > Open command to open the supplied file tutorial\schemex.sdb. This file contains some modules that you can use to get started. Use the Module > Open command to examine the module list for schemex.sdb. Click on the Files pull-down list to view a list of modules in the file. They are as follows:
Module0 P_4 N_4 Vdd

A blank module (no symbol or schematic). A p-channel MOS transistor. An n-channel MOS transistor. A power supply for a global node named Vdd.

To copy a module from a source file to a destination file, the destination file and module must be displayed. Select Module0 in the module list and click OK. Switch to Schematic mode if necessary. Use the Module > Symbol Browser command to view a list of available modules. You will see the following dialog:

The file spice.sdb is a library containing modules for various SPICE primitives. If it is not already loaded, click on Add Library to obtain a Windows file browser. Navigate to the tspro\library directory and select the file spice.sdb. Click on OK. In the Symbol Browser dialog, select capacitor from the module list and click on Place. S-Edit will copy the module capacitor in spice.sdb into schemex.sdb. Click on Close to close the Symbol Browser dialog box. The current file and module will be schemex.sdb:Module0. Use Module > Open to examine the module list for schemex.sdb. The list will contain the module capacitor. The letter C next to the modules name means that the module has been changed (or added) since the file was last saved.

S-Edit User Guide

26

Chapter 2: Getting Started

Tutorials

Use the File > Save As command to save the changes, specifying a drive, directory, and new name for the file (for example, schemex1.sdb).

Creating a New Module


In this subsection, you will begin the design by creating an inverter module. Use the Module > New command to create a new module named Inv. The new module is now the current module, as indicated in the Title Bar.

Creating a Schematic
In this subsection, you will instance modules and connect them by wire to create a schematic. If necessary, switch to Schematic mode. Activate the Module Instance tool , then click with the DRAW button in the Work Area. The resulting dialog box contains a list of available modules. Highlight N_4 and click OK. Select this transistor and drag it to the lower half of the Work Area (using the MOVE-EDIT button). Instance module P_4 in the same way, but position it in the upper half of the Work Area. Both transistors are now visible in the schematic. The four open circles on the ends of the transistors represent pins, at which other schematic objects can be connected to the instances. Drag the two transistors together so that the top pin of the NMOS transistor lies over the bottom pin of the PMOS transistor. The open circles will disappear, indicating that the transistors are connected. The schematic will look like this:

S-Edit User Guide

27

Chapter 2: Getting Started

Tutorials

Activate the Wire tool and draw wires to connect the transistors: PMOS gate to NMOS gate, PMOS bulk to PMOS drain, and NMOS bulk to NMOS drain. The Wire tool looks like this:

For each wire, click the DRAW mouse button to place the first vertex; move the mouse and click the DRAW button again to place another vertex, and so on; click the END mouse button to place the last vertex and finish the wire. When you have drawn the wires, the schematic will look like this:

There are four types of regular ports. Each has a different appearance for the sake of design readability, but in function they are identical.

Input ports (for input signals) Output ports (for output signals) Bidirectional ports (for bidirectional signals) Other (for any other kind of signal)

Activate the appropriate Port tool and add create the input and output nodes to the schematic. To draw a port, click any mouse button over the desired port location. In the resulting dialog box, name the port and click OK. Position the input port on the left side of the schematic and the output port on the right side.

S-Edit User Guide

28

Chapter 2: Getting Started

Tutorials

Activate the Wire tool and connect these ports to the instances. When you have finished, the schematic will look like this.

Creating a Global Symbol


In this subsection, you will create a global symbol representing Ground and add it to the design. Select Module > New and name the module Gnd. Click OK. Switch to Symbol mode. The Global Port tool in Symbol mode. is different in function from the other four Port tools. Global ports only exist

Activate the Global Port tool and place a global port at the origin (0,0). Name this global port Gnd. The coordinate origin will be marked by cross hairs. If the coordinate origin is not displayed, use the command View > Origin. Using the Line and Polygon tools, draw the symbol for ground. To draw a line or polygon, click the DRAW button to place the first vertex; move the pointer and click the DRAW button to place the next vertex, and so on; finally, click the END button to place the last vertex. Leave the schematic page (the part of the module viewable in Schematic mode) empty. When you have finished drawing the Ground symbol, it will look like this:

S-Edit User Guide

29

Chapter 2: Getting Started

Tutorials

Drawn with Line tool

Drawn with Polygon tool (45 mode)

Using Global Symbols in a Schematic


In this subsection, you will complete the inverter schematic. Open the module Inv. Activate the Global Instance tool and click on the node which should be connected to ground. Both the module representing Vdd and Gnd should appear in the resulting dialog box. If not, the global symbols were created incorrectly. Click the module Gnd to highlight it, and click OK. The ground symbol appears on the node, which is automatically named Gnd (the name of the global port on the symbol). Using the Global Instance tool, place the Vdd symbol on the node representing Vdd.

S-Edit User Guide

30

Chapter 2: Getting Started

Tutorials

When you have placed both the Gnd and Vdd symbols, the schematic will look like this:

Creating a Symbol
In this subsection, you will create a symbol for the inverter. Switch to Symbol mode. Using lines, an all-angle polygon, and ports, draw the inverter symbol shown above, except for the circle. Activate the Circle tool. Hold the DRAW button at the circles center, drag the circumference to the desired radius, and release the DRAW button. Use the Port tools to place input and output ports on the symbol. Make sure the names and types of the ports (Input, Output, Bidirectional, or Other) correspond exactly to the ports in Schematic mode. When you have finished drawing the module symbol, it should look like this:

S-Edit User Guide

31

Chapter 2: Getting Started

Tutorials

Using a New Module


In this subsection, you will use the inverter module to implement a ring oscillator. Use the Module > New command to create a new module named ringosc. Switch to Schematic mode. Using the Module Instance tool, create an instance of the Inv module. Select this instance and duplicate it with the Edit > Duplicate command. Drag the duplicated instance to the right and up, so that the output pin of the first instance is connected directly to the input pin of the new instance. When you duplicate an object and reposition it, S-Edit saves the offset between the original object and the duplicate. S-Edit then performs further duplications using this offset. This feature allows you to create repetitive schematics quickly and easily. Use the Edit > Duplicate command five more times. There are now seven inverter module instances in a row. Using the Wire tool, connect the output of the rightmost inverter to the input of the leftmost inverter. Using a Port tool, click somewhere along this wire and name the node A. Using the Wire tool and starting from a point between the two rightmost inverters, place a wire extending downward. Using the Module Instance tool, create an instance of the capacitor module and place it at the end of this wire. Using the Global Module Instance tool, connect a Gnd symbol to the unconnected pin of the capacitor.

S-Edit User Guide

32

Chapter 2: Getting Started

Tutorials

Since this is the highest level of the design (the ring oscillator will not be instanced in other circuits), you do not have to create a symbol for this module. When you have finished creating this schematic, it will look like this:

Save your design file if you like. The tutorial directory contains the finished design in the file ringosc.sdb.

Working with Properties


In this section, you will examine and manipulate properties, which determine how devices in your design are represented when it is exported to a netlist file. Use the Module > Open command to open module N_4. Switch to Symbol mode (see figure below).

All of the text objects in this symbol are properties. On the right side of the symbol are several transistor parameters: PD, AD, W, L,and so on. When you create a property, you can choose whether to show or hide its name, value, or name and value when the module is instanced. In the originating module, S-Edit will enclose hidden properties or property elements by square brackets, and they will be invisible in instances of the module. Both L and W are without brackets, so they are visible in instances. For more information on properties, see Creating Properties on page 85.

S-Edit User Guide

33

Chapter 2: Getting Started

Tutorials

Output Properties
Above the symbol is a property named SPICE OUTPUT. An output property defines how instances of this transistor will appear in a SPICE-format file. The value of this property (or any other property) obeys a special syntax. The SPICE OUTPUT string is:
M${Instance} %{D} %{G} %{S} %{B} NMOS W=${W} L=${L} AS=${AS} AD=${AD} PS=${PS} PD=${PD}

The table below shows the output results of the various parts of the SPICE OUTPUT string.
M, NMOS, L=, W=, AS=, AD=, PS=, PD=, [spaces] %{D}, %{G}, %{S}, %{B}

Literal text, written to the SPICE file unchanged. The name of the node connected to the pin corresponding to the port named D. In this case, S-Edit writes the name of the node connected to the drain of the transistor instance instead of %{D} in the output file. Likewise, %{G}, %{S}, and %{B} refer to the nodes connected to the gate, source, and bulk pins of the transistor, and all take the names of ports on the symbol. The values of the properties named W, L, AS, and so on. In this case, 22u is substituted for ${W} in the output file, and likewise the assigned values for ${L}, ${AS}, and so on. A special value called a predefined property. Predefined properties allow internal information (such as the name of the file, module, page, and instance) to be inserted in the output string. Instead of ${Instance}, S-Edit will write the name of the instance in the SPICE file. See Predefined Properties on page 86 for further information.

${W}, ${L}, ${AS}, ${AD}, ${PS}, ${PD} ${Instance}

Properties in Instances
Properties appear in instances of this module. Use Module > Open to open the module Inv. Switch to Schematic mode.

S-Edit User Guide

34

Chapter 2: Getting Started

Tutorials

Select the N_4 module instance and use the Edit > Edit Object command to edit the instances properties (see figure below).

The value of a property in its instanced module (the originating module) is its default value. When the
Default switch next to a property is on, the property will take its value from the symbol page of the

instanced module. You can also override the values assigned in the symbol for this instanceif you do, S-Edit will clear the Default check box for you. For this instance, the property named L represents the length of the transistor and the property named W represents the width of the transistor. The default values for these properties are 2u and 22u, respectively. Now, change the width and length for this instance only. If necessary, scroll down until the properties L and W are visible. Change the value of L from 2u to 5u. Change the value of W from 22u to 8u. Click OK. Since L and W are visible, the changed values appear on the schematic. Make a similar change to the PMOS transistor. Change the length and width of the P_4 instance to 5u and 12u, respectively. When you change the values of a property in an instance, the changes affect that instance only. To change the property value for all instances of a module, you must edit the property directly in the instanced, or originating, module. Open the module, switch to Symbol mode, select the property whose value is to be changed, and use the Edit > Edit Object command to change the value. When you have changed the value of a property in the instanced module, the value changes for that property in all instances of that module except those in which the Default switch has been turned off for the property. You can show or hide properties in the symbol for this instance. Select the N_4 module instance and use the Edit > Edit Object command. Scroll down until the SPICE OUTPUT property for this instance is visible. The propertys viewing parameter is set to None, meaning that the property is not visible in the schematic. Click All to show the SPICE OUTPUT propertys name and value. Click OK. The SPICE OUTPUT property now appearswith node names and property values substituted for the %{} and ${} stringsabove the transistor in the schematic.

S-Edit User Guide

35

Chapter 2: Getting Started

Tutorials

Only this particular instance shows the SPICE OUTPUT property; other instances of the N_4 module are unaffected.

Exporting a Netlist
In this section, you will export a SPICE-format file describing the ring oscillator circuit. Before you export a SPICE-format file, you must define the primitive devices in your design. Primitive devices are basic circuit elements such as resistors, capacitors, and transistors for which there exist no further subcircuit descriptions in SPICE. You define a primitive device when you create a SPICE OUTPUT property for it (see Working with Properties on page 33). S-Edit treats all modules with SPICE OUTPUT properties as primitives. The library symbols contained in the file spice.sdb already have such output properties, so you do not need to create them. Open the module ringosc. Use the File > Export command. In the resulting dialog box, enter the name of the SPICE file to be exported in the Output file name field. The default value for this field is the name of the module being exported (ringosc). If you plan to simulate the SPICE file with T-Spice, turn on the Suppress .END in SPICE output switch. When this option is switched off, S-Edit writes an .END command at the end of the SPICE file. Without the .END command, the resulting file can be included in other SPICE files. Click OK to export the file.

S-Edit User Guide

36

Chapter 2: Getting Started

Tutorials

The finished SPICE file resides in the same directory as schemex.sdb, and looks something like this:
* SPICE written by the Tanner Research schematic editor, S-Edit * Version: 2.00 August 25, 1997 14:52:13 .SUBCKT Inv A Gnd Out Vdd MP_4_1 Out A Vdd Vdd PMOS W=22u L=2u AS=66p AD=66p PS=24u PD=24u MN_4_1 Out A Gnd Gnd NMOS W=22u L=2u AS=66p AD=66p PS=24u PD=24u .ENDS * Main circuit: ring C1 N7 Gnd 10pF XInv_7 N7 Gnd A Vdd Inv XInv_6 N6 Gnd N7 Vdd Inv XInv_5 N5 Gnd N6 Vdd Inv XInv_4 N4 Gnd N5 Vdd Inv XInv_3 N3 Gnd N4 Vdd Inv XInv_2 N1 Gnd N3 Vdd Inv XInv_1 A Gnd N1 Vdd Inv * End of module with no ports: ring

S-Edit has automatically generated subcircuit calls. The parameter list for the subcircuit Inv contains the parameters Vdd and Gnd. In the main circuit (the ring schematic) these two slots are connected to nodes called Vdd and Gnd. This is how S-Edit passes global nodes through the circuit hierarchy so that all modules can access these nodes. You can now simulate this circuit using T-Spice. A file called ringcmd.sp has been included in the tutorial directory. It contains commands to run a simulation of this circuit and requires the file ringosc.sp (the exported file). To run a simulation using T-Spice, click on the T-Spice button in the Command toolbar:

You can also use the Probe tool to examine the electrical properties of an object, node, or module instance.

S-Edit User Guide

37

Chapter 2: Getting Started

Tutorials

To learn more about SPICE simulation and waveform probing, see Properties, Netlists, and Simulation on page 84.

S-Edit User Guide

38

Chapter 3: Beginning a Design

Beginning a Design

Working with Files


Effective schematic design requires a working knowledge of the S-Edit design hierarchy of files and modules. To learn more about this hierarchy or to refresh your memory, see Levels of Design on page 13.

Creating New Files


Use the File > New command to create a new file. Enter a new file name (or accept the default). The new file becomes the current file.

Use the Author, Organization, and Information fields to help document your design. You can specify such information for each module as well (see Accessing Module Information on page 47).

Opening Files
Use the File > Open command to open an existing SDB file. Enter the name of the file under File name, select a file from the list, or select a new directory from the Look in pull-down list. Select the type of file to be opened from the Files of type pull-down listS-Edit schematic database format (*.sdb), S-Edit database backup (*.sd*), or all files (*.*).

S-Edit User Guide

39

Chapter 3: Beginning a Design

Working with Files

Closing Files
To close a file, use the File > Close command. When you close an S-Edit design file, the document is removed from memory. If you close the only open file, S-Edit will create a new design file using the default filename File0 and default setup.

Saving Files
Use the File > Save command to save the current file with the existing name, path, and file type or the File > Save As command to save the file with a different name, path, or type. Both commands create a backup version of the file.

Accessing File Information


The File > Info command accesses information applying to the current design file.

Click on the File Name & Info tab to edit the Author, Organization, and Information fields. You can specify information local to each module as well (see Accessing Module Information on page 47). Click on the Set All Module Values button to make all local module values global. Turn the Locked switch on (or off) to lock (or unlock) the entire design file. A locked design can be viewed, but not edited. S-Edit associates version numbers with your design and setup information. Click on the File Date & Version tab to edit these values. Click the appropriate Increment button to advance the major version

S-Edit User Guide

40

Chapter 3: Beginning a Design

Working with Modules

number by one. S-Edit will automatically increment the minor version numbers every time you save the file.

Working with Modules


Instances in a module are references to other modules. These modules might be common library modules (such as basic circuit elements) or larger, custom-designed modules. Instances and their originating modules are dynamically linked: any changes you make to a module (in Symbol mode) are reflected in all higher-level instances of that module.

Creating Modules
Use the Module > New command to create a new module .

Enter a New Module Name (or accept the default). Enter information pertaining to the module in the Author, Organization, and Information fields. If these fields are left blank, they take their values from the corresponding fields in the File > Info dialog box. Click on OK. The new module becomes the current module.

S-Edit User Guide

41

Chapter 3: Beginning a Design

Working with Modules

Opening Modules
Use the Module > Open command to open an existing module.

S-Edit displays the name of the current file at the top of the dialog box. If more than one file is open, the
Files pull-down list contains the names of other currently open files. The module list contains the names of all of the indicated files modules. (The letter C appears next to the name of any file or module in

which changes have been made but not saved.) One module in the list is always highlighted. If an instance is selected in the Layout Area, S-Edit will highlight the name of the instanced module. If no instance is selected, S-Edit will highlight the name of the previously open module, if there is one. Thus you can traverse the hierarchy or toggle between modules quickly and easily, even if the modules reside in different files. To open a module, select it and click OK; or double-click on its name. If a module list is too long to fit in the window, use the adjacent scroll bar (or the PgUp and PgDn keys) to scroll the highlight bar up or down a page at a time. The small arrows (or the up and down arrow keys scroll the highlight bar up or down one name at a time. You can also select modules by typing letters in the Select Module to Open field above the module list. S-Edit automatically highlights the first name in the list whose name begins with the pattern being entered. For example, typing g highlights the first module name beginning with that letter; adding a u highlights the first module name beginning with gu, and so on. The search procedure is caseinsensitive.

Copying Modules
Modules can be replicated within the current file, or copied to the current file from other open files. Copying a module is equivalent to creating a new module that includes all primitives and instances defined by the original. If the copy is from another file, any instanced modules within the copied module are themselves replicated, down through the hierarchy.

Note:

Two commandsModule > Copy and Module > Symbol Browser allow you to copy modules between design files. For more information on Module > Symbol Browser, see Using the Symbol Browser on page 45.

S-Edit User Guide

42

Chapter 3: Beginning a Design

Working with Modules

The Module > Copy command opens dialog box is nearly identical to the Open dialog box (see Opening Modules on page 42).

Two modules in the same file cannot have identical names. If the file already contains a module with the same name as the one being copied, you must give the copy a new name. (The original module name, although the default, is not permitted. You must rename the copy.) If the module being copied resides in a different file, the copy proceeds automatically unless a name collision is detected. In this case a dialog box is displayed, asking you to select one of four options required to complete the copy.

The options are:


Rename the colliding modules as they are copied into the current file. S-Edit will prompt you

to rename modules from the source file that cause name collisions.
Rename the colliding modules that are already in the current file. S-Edit will prompt you to rename modules in the current (destination) file that cause name collisions. Overwrite the colliding module definitions in the current file. S-Edit will overwrite modules in

the current file causing name collisions with the copied modules.
Dont copy colliding modules. Use the modules in the current file instead. Modules to be

copied, but causing name collisions, are not copied. Select the desired option and click Proceed. The first option is the default. If you choose either of the first two options, S-Edit will prompt you to rename each colliding module, one by one. To cancel the module-copy operation, click Abort Copy.

S-Edit User Guide

43

Chapter 3: Beginning a Design

Working with Modules

Renaming Modules
Use the Module > Rename or Module > Close As commands to rename a module.
Module > Rename keeps the renamed module open. Enter the new name (or accept the default).

(Further identifying information may be entered in the provided fields.)

Module > Close As copies the modulewith revisionsunder a new name, closing the original and opening the copy. Enter the new name (or accept the default).

Deleting Modules
The command Module > Delete deletes a module as long as it is not instanced When you issue this command, S-Edit displays the Delete Module dialog box, which prompts for the name of the module to be deleted. If the specified module instances other modules, S-Edit will also delete the instances (but not the instanced modules).

Reverting Modules
The Symbol > Revert (Symbol mode) and Page > Revert (Schematic mode) commands reverse all changes made to the current symbol or page since the last time you switched modes, opened a module, or saved the current file.

Warning:

Revert only operates on the current symbol or schematic page. Once you switch modes, open another

module, or save the file, S-Edit cannot undo changes made to the symbol or schematic. Similarly, there is no redo in these cases; S-Edit discards these changes irretrievably. Keeping a backup file is the safest way to guarantee that you can undo all changes.

Closing Modules with a New Name


The command Module > Close As prompts for a new name for the current module, then closes it. S-Edit keeps the original module with the old name.

S-Edit User Guide

44

Chapter 3: Beginning a Design

Working with Modules

Using the Symbol Browser


The Module > Symbol Browser command places components from an S-Edit file into the current file. This command differs from Module > Copy in that it does not require you to open the source file to access its components. It also allows you to browse modules by viewing their symbols.

Available modules in the selected library files are listed in the Modules list, and available libraries are listed in the Library Files list. To add an .sdb file to the library list, click on the Add Library button. To delete a library file from the list, click on the Delete Library button. Once the desired libraries are loaded, you can copy modules into your design file by selecting a module from the Modules list and clicking on the Place button. In addition, you can permanently add modules to an alphabetically sorted Quick Pick list (located on the Quick Pick tab) by clicking the Add to Quick Pick button. The Quick Pick tab allows for convenient selection and placement of previously loaded modules. Use this list to access modules that you use frequently.

S-Edit User Guide

45

Chapter 3: Beginning a Design

Creating Module Instances

The Quick Pick Modules panel contains a list of available modules from various design libraries, listed alphabetically without regard to library of origin. To place a module from this list in your design, select it and click on Place. For further information on the S-Edit symbol browser, see Module > Symbol Browser on page 171.

Creating Module Instances


To instance a module, use either the Instance tool or the Module > Instance command (I).

With the Instance tool, you click in the design to place the instance. S-Edit displays the Instance Module dialog with the list of available modules, then centers the instance symbol on the point where you clicked. When you use the Module > Instance command, S-Edit displays the dialog box first, then places the symbol of the instance you select in the center of the Work Area.

By default, the current file name appears at the top of the dialog with its modules listed below. To access modules in other open files, click on the Files pull-down list. Highlight the module you want to instance and click OK. The instance appears on the current page as the originating modules symbol, with any non-hidden properties appearing as accompanying text. You can move the instance by dragging it with the MOVEEDIT button. You can orient it with the commands Edit > Rotate, Edit > Flip > Horizontal, and Edit > Flip > Vertical. To edit a symbol, you must switch to Symbol mode and access it in the originating, or instanced, module. You cannot directly edit a symbol in the instancing module. Ports that appear on the originating modules symbol become pins on the schematic page of the instance. Pins are the points on the instance to which you connect other schematic components. When pins are unconnected, they appear as open circles; when connected to two or more items, they appear as filled circles; when connected to one item, they disappear.

S-Edit User Guide

46

Chapter 3: Beginning a Design

Creating Module Instances

Finding Modules
To locate instances of other modules within the current module or all instances of the current module throughout the design, use the Module > Find command.

The scrollable list on the left displays all modules instanced within the current module. To locate a particular instanced module, highlight it and click on Find. S-Edit will change the view and select all instances of the selected module in the last open page of the current module. The scrollable list on the right displays all modules in the design that contain instances of the current module. To locate an instance of the current module in one of these other modules, highlight it and click on Open. S-Edit will open the selected module and change the view to show locations of the selected instance.

Accessing Module Information


Use the Module > Info command to access information applying to the current module.

Use the Author, Org, and Info fields to document specific modules in your design. S-Edit will display this information in your design or write it to exported files through the use of properties (see Properties

S-Edit User Guide

47

Chapter 3: Beginning a Design

Working with Schematic Pages

on page 84). Click Reset to reset the local values of these fields to global file values, which are set with the File > Info command (see Accessing File Information on page 40). You can lock or unlock individual modules just as you would a file, by clicking on the Locked check box. A locked module can be viewed, but not edited.

Working with Schematic Pages


Pages divide modules into viewable blocks. When a module schematic is too large or complex to view all at once, its components may be spread across several pages, which can be used to organize the schematic and make it easier to read. For example, in the figure below, Module0 is represented both by a relatively simple shape in Symbol mode and by a (possibly) complex electrical design that extends over four pages in Schematic mode.

File1 File0 Module2 Module1 Module0 Symbol mode Schematic mode Page3 Page2 + Page1 Page0

Parts of a module that lie on different pages are unconnected unless you specify otherwise with node labels (see Nodes on page 74). Use commands in the Page menu (Schematic mode) to work with pages.

S-Edit User Guide

48

Chapter 3: Beginning a Design

Working with Schematic Pages

Creating New Pages


Use the Page > New command to create a new page. Enter a New Page Name (or accept the default). S-Edit will close the current page and open a new page (in the same module).

Opening Pages
Use the Page > Open command to open an existing page.

The Page > Open dialog box is nearly identical in appearance and function to the Module > Open dialog box (see Opening Modules on page 42).

Renaming Pages
Use the Page > Rename or Page > Close As commands to rename a page.
Rename (below) keeps the renamed page open. Enter the new name (or accept the default).

S-Edit User Guide

49

Chapter 3: Beginning a Design

Printing a Design

Reverting Pages
The command Page > Revert Page undoes all changes to the current page made since the last time you changed modes, opened a module, or saved a file.

Closing Pages with a New Name


Close As (below) copies the pagewith revisionsunder a new name, closing the original and opening the copy. Enter the new name (or accept the default).

Accessing Page Information


The Page > Info command accesses page information, just like similar commands on the File or Module menus.

The Page Data group contains fields for author, organization, and information data. The Page Lock switch allows you to lock the page and prevent further edits.

Printing a Design
You can print a design in either Symbol or Schematic mode. In Symbol mode, you can print the symbol for the current module and, by option, the schematic pages for that module. In Schematic mode, you can print any combination of modules or pages and, by option, the symbol for the current module.

S-Edit User Guide

50

Chapter 3: Beginning a Design

Printing a Design

Page Setup
The File > Page Setup command controls the layout of printed pages. Issuing this command calls the following dialog box:

Printer

Name, Type, Where, and Comment all identify the active printer. Status describes the state of the selected printerbusy or idle.

Properties

Displays the Printer Properties dialog box (Setting Printer Properties on page 54). Sets the paper size for your printer.
Name, Type, Where, and Comment all identify the active printer. Status describes the state of the selected printer busy or idle.

Paper Size Printer

Properties Paper Size Paper Source Orientation Margins

Opens a dialog for the selection of additional printer properties. Specifies the size paper on which you want to print your design. Selects the paper tray from which you want to print your design Selects portrait or landscape orientation. Sets the distance between the top, bottom, left, and right page edges and the design.
Fixed Scaling scales the design in a ratio of inches or centimeters to locator units. Adjust to scales the design printout to the number of pages entered for width and height. For example, a setting of 3 pages wide by 5 pages tall will spread a printout over 15 printer pages.

Scaling

Print

Calls the Print dialog boxsee below.

S-Edit User Guide

51

Chapter 3: Beginning a Design

Printing a Design

Note:

These page setup options are specific to S-Edit only. To set system-wide printer options, see Setting Printer Properties on page 54.

Within S-Edit, options set in the Page Setup dialog box will have precedence over system-wide options where a conflict exists.

Print Preview
To preview your design before you print it, use the command File > Print Preview. Separate buttons at the top of the preview window allow you to: Print your design. Navigate among pages. Preview two pages at once. Zoom in or out. Close the window.

Print
The Print dialog box allows you to specify a printer and printer properties and choose other options for printed output. In Symbol mode, the File > Print command calls the following dialog box:

Printer

Name, Type, Where, and Comment all identify the active printer. Status describes the state of the selected printerbusy or idle.

Properties

Changes options for the selected printer. See Setting Printer Properties on page 54, for further information. Specifies that S-Edit print the design to a Windows printer file. Specifies the range of symbols to be printed. Available options are:
Current viewPrints only what is currently visible on screen. Current symbolPrints the entire current page of the current

Print to file Print symbol range

module.
All symbols in current designPrints all schematic pages in

the current design.

S-Edit User Guide

52

Chapter 3: Beginning a Design

Printing a Design

Print schematic pages also

Instructs S-Edit to print schematic pages corresponding to the option selected in Print symbol range. Symbols will alternate with schematic pages in the output and print to the same scale. Specifies the number of copies to be printed.

Copies

In Schematic mode, the File > Print command calls a slightly different dialog box.The following two options will differ:

Print schematic range

Specifies the range of pages to be printed. Available options are:


Current viewPrints only what is currently visible on screen. Current pagePrints the entire current page of the current

module.
All pages in current modulePrints all schematic pages in the

current module (if there are more than one).


All pages in current designPrints all schematic pages in the

current design.
Print symbol(s) also

Instructs S-Edit to print module symbols corresponding to the option selected in Print schematic range. Schematic pages will alternate with symbols in the output and print to the same scale.

When you print a design, S-Edit draws all primitives in black on a white background. It does not print the grid or coordinate origin point.

Choosing the Printer


You can choose a printer via the Page Setup or Print dialog box. In the Printer group box, choose a printer from the Name pull-down list. Clicking Properties changes options for the selected printer. See Setting Printer Properties on page 54 for further information.

S-Edit User Guide

53

Chapter 3: Beginning a Design

Printing a Design

Setting Printer Properties


To set system-wide printer options, click on the Properties button in the Print dialog box. A dialog box such as the following will appear:

You can use this dialog box to adjust settings for paper size and source, layout, orientation, graphics resolution, scaling, device options and PostScript files. The settings you enter here will affect any other Windows application that uses them. This dialog box is fully documented via Windows online Help. To learn about any of its features, click on the question mark in the upper right corner of the dialog box, then click on the feature for which you need Help.

S-Edit User Guide

54

Chapter 4: Viewing, Drawing, and Editing

Viewing, Drawing, and Editing

Panning and Zooming


The Work Area shows a portion of the Layout Area at a particular resolution, or magnification. You can move (or pan) the display window to show a different part of the Layout Area. You can also change its magnification to show a larger or smaller part of the Layout Area. S-Edits pan and zoom operations are always active: you may pan or zoom while drawing, moving, or editing an objectand interruptible: once you have initiated a panning or zooming operation, you need not wait for the screen to redraw completely before you initiate another one.

Panning
Four commands pan the display window. Command
View > Pan > Left

Shortcut

Function Moves the display window to the left by one quarter of the width of the Work Area. Moves the display window to the right by one quarter of the width of the Work Area. Moves the display window up by one quarter of the height of the Work Area. Moves the display window down by one quarter of the height of the Work Area.

View > Pan > Right

View > Pan > Up

View > Pan > Down

In addition, four keyboard shortcuts move the display window in the direction you indicate to the (up), and farthest edge of all objects in the Layout Area: Shift+ (left), Shift+ (right), Shift+ Shift+ (down). For example, pressing Shift+ sets the left edge of the display window flush with the leftmost edge among all objects in the Layout Area. S-Edits autopanning feature automatically moves the display window while you are drawing, moving, or editing an object. During one of these operations, moving the pointer to the edge of the Work Area initiates a pan in the appropriate direction. You can turn autopanning on or off by clicking the AutoPanning check box in the Setup > Environment dialog or by pressing the Scroll Lock key.

S-Edit User Guide

55

Chapter 4: Viewing, Drawing, and Editing

Panning and Zooming

Zooming
Five commands zoom the display window. Command
View > Zoom > In

Shortcut

Function Increases the magnification of the display window by a factor of two. Decreases the magnification of the display window by a factor of two. Zooms the display window to encompass only the selected object(s). Zooms the display window to encompass all objects in the Layout Area. Zooms display window to position and magnification indicated by mouse.

View > Zoom > Out

View > Zoom To Selection

View > Home

Home

View > Zoom > Mouse

Shift+F7 or Z

The Zoom Mouse command changes the functions of the mouse buttons for a single operation. The left, middle, and right buttons become the ZOOM BOX, PAN, and ZOOM OUT buttons, respectively. You can click the ZOOM BOX button at a single point or use it to drag out a rectangle. Clicking the ZOOM BOX button at a single point magnifies the general area about the mouse pointer by a factor of two. Dragging with the ZOOM BOX button held allows you to specify a rectangle in any portion of the Work Area. When you release the ZOOM BOX button, S-Edit zooms the display window directly to the area inside the rectangle. S-Edit must maintain the correct height-to-width ratio of the display, so the new Work Area may not be exactly the region contained inside the rectangle. You can click the PAN button at a single point or it can be use it to drag out a rectangle. Clicking the PAN button pans the display window so that the new center is located at the pointers position. Dragging with the PAN button held allows you to control the distance and direction of the pan. As you drag, an outline of the window moves with the pointer. When you release the PAN button, S-Edit pans the view to the rectangle you have defined. Clicking the ZOOM OUT button zooms the display window out from the location of the pointer. After a Zoom Mouse operation, the mouse buttons revert to their DRAW, MOVE-EDIT, and SELECT functions.

S-Edit User Guide

56

Chapter 4: Viewing, Drawing, and Editing

Drawing Objects

Exchanging Views
S-Edit records the view before executing a new pan or zoom command. To return to the previous view, use the View > Exchange View command (keyboard shortcut: X). You may switch back and forth between the two views.

Drawing Objects
S-Edit is an object-oriented design tool (not a bitmap editor). S-Edit objects fall into two classes: Electrical objects have electrical signifance. There are four types of electrical objects. Two types, calledwires and portsare created with schematic tools. The creation of the other two types of objectspins and module instancesis discussed in Design Connectivity on page 71. Nonelectrical objects are purely geometric objects without any electrical significance, but they are useful in illustrating and documenting your design. There are five types of nonelectrical objects, all primitives: rectangles, circles, polygons (90, 45, and all-angle), lines (90, 45, and all-angle), and node labels. These objects are created with annotation tools. Note: Note that an additional nonelectrical object, the property, is also created with a schematic tool.

There are two basic steps in drawing an object: activating the drawing tool and executing the drawing operation.

Drawing Tools
There are two types of drawing tools: schematic tools and annotation tools. Some schematic tools are only available in Schematic mode, others only in Symbol mode. Available tool icons are shown in color. Unavailable tool icons appear in gray. You activate a tool by clicking the appropriate icon in a toolbar or pressing a shortcut key. When you activate a tool, S-Edit draws only objects of that type until you activate a different tool. In Schematic mode, the following schematic tools are unavailable: Global Port Properties In Symbol mode, the following schematic tools are unavailable: Wire Node Label Node Cap Module Instance Global Symbol Instance Waveform Probe

S-Edit User Guide

57

Chapter 4: Viewing, Drawing, and Editing

Drawing Objects

The following figure illustrates the availability of schematic tools in the Schematic and Symbol modes. N/A indicates that a tool is not available; keyboard shortcuts are given in parentheses.
Selection (F2) Wire (F3) Node Label (F4) Node Cap (F5) Input Port (F6) Output Port (F6) Bidirectional Port (F6) Other Port (F6)

N/A N/A N/A

N/A N/A

Global Port (F6) Properties (F7) Module Instance Global Symbol Instance Waveform Probe (F8)

N/A N/A N/A Symbol mode

Schematic mode

Note:

The F6 key cycles through all available port tools. Press once for the input port tool, twice for the output port tool, etc.

The Selection tool does not create new objects; instead, it is used to select objects (see Selecting Objects on page 60). Annotation tools are always available in both Symbol and Schematic modes. The following figure illustrates these tools and their shortcut keys.

Box (Shift+F2) Circle (Shift+F3) Comment (Shift+F4) Orthogonal Polygon (Shift+F5) 45-degree Polygon (Shift+F5) All-angle Polygon (Shift+F5) Orthogonal Line (Shift+F6) 45-degree Line (Shift+F6) All-angle Line (Shift+F6)

Note:

The shortcuts Shift+F5 and Shift+F6 cycle through all available polygon tools and line tools, respectively.

Drawing Operations
The starting point for drawing any object is its anchor point. With the pointer positioned at this point, click the DRAW button to start drawing the object.

S-Edit User Guide

58

Chapter 4: Viewing, Drawing, and Editing

Drawing Objects

Boxes
The anchor point is one of the corners of the box. Drag the pointer, with the DRAW button held, away from the anchor point to determine the opposite corner and therefore the length and width of the box. Release the DRAW button with the pointer at the desired opposite corner.

Circles
The anchor point is the center of the circle. Drag the pointer, with the DRAW button held, away from the anchor point to determine the radius of the circle. Release the DRAW button with the pointer at the desired radius.

Lines, Polygons, and Wires


The anchor point is the first vertex of the line, polygon, or wire. These objects can have any number of vertices. Wires can only have orthogonal (90) vertices.

Note:

Wires and lines, while similar in appearance, are functionally different. Wires connect objects electrically; lines do not.

When you click the DRAW button, it becomes the VERTEX button. Move the pointer to the second vertex position and click the VERTEX button. Repeat this step for each successive vertex. If you want to move a vertex after you have placed it, click the BACKUP button to remove the last vertex placed, and place it again. Each click of the BACKUP button removes a vertex in the opposite order in which it was placed. Click the END button on the last vertex of the object, and S-Edit closes the polygon automatically. When you click the END button, S-Edit performs two operations: (1) it eliminates coincident vertices (vertices occupying the same location); (2) it eliminates colinear vertices (three or more vertices lying on the same straight line) except for the endpoints.

Comments, Node Labels, Ports, and Properties


The anchor point is the location of the comment, node label, port, or property. When you click the DRAW button, a dialog box appears. Enter the text of the object, and, if desired, a different text size than the default. When you create a comment or node label, you can modify the position of the text relative to the anchor point. When you create a port, you can modify the coordinates of the anchor point and the type of the port. When you click OK, the text you enter appears to the right of the specified anchor point, with a shape around it. Each port tool is has a different shape, as indicated by its icon. When you create a property (Symbol mode only), you can modify various other parameters. Properties look like node labels but have a completely different function (see Properties on page 84).

S-Edit User Guide

59

Chapter 4: Viewing, Drawing, and Editing

Selecting Objects

Selecting Objects
You must select an object before editing it or modifying it in any way. You can select more than one object at a time, so you can manipulate a group of objects as easily as a single one. When you select an object, a thin highlight appears around its perimeter. When you deselect an object, the highlight disappears and subsequent operations do not affect that object. S-Edit provides two ways of selecting objects: explicit selection and implicit selection. For information on the selection and deselection ranges, see Selection on page 19.

Explicit Selection
Explicit selection consists of three primary techniques: Clicking on an object with the SELECT button (click selection). Dragging a box around an object with the SELECT button held (drag selection). Add an object to a set of previously selected objects (extend selection). Select separate objects in succession by clicking with the SELECT button (cycle selection). To move, edit, or copy a single object, an explicit selection is not necessary (see Implicit Selection, below). However, you must select objects explicitly before performing the following actions:
Cut, Copy, Clear, or Duplicate commands (Edit menu).

Moving, redrawing, arranging, copying, or deleting several objects as a group. Moving, redrawing, arranging, copying, or deleting one of several close or overlapping objects.

Click Selection
To click-select an object, position the pointer over the desired object and click the SELECT button. The program will deselect any previously selected object or objects.

Drag Selection
To drag-select a group of objects, position the pointer just outside a corner of the desired group of objects. Drag the pointer with the SELECT button held, forming a selection box around the objects. Position the selection box so that it completely encloses all the objects you want to select but does not completely enclose any other objects. (To select a port, you must enclose the anchor point, but not the port text.) When you release the SELECT button, any objects completely contained within the selection box are selected. The program will deselect any previously selected objects.

Extend Selection
To add an object to a set of selected objects, perform a click- or drag-selection with the Extend Select (Shift+SELECT) button held. Previously selected objects are not deselected. You may perform repeated extend selections. If you try to extend-select objects that are already selected, they will remain selected.

S-Edit User Guide

60

Chapter 4: Viewing, Drawing, and Editing

Selecting Objects

Cycle Selection
You can also select separate objects in succession by clicking on or near them. This technique is known as cycle selection. By repeated click-selections, you can quickly cycle through several overlapping or adjacent objects to select the one of your choice. When you perform a click-selection, S-Edit selects the closest object within selection range. If you click again with the pointer in the same spot, S-Edit deselects the first object and selects the next closest object. You may continue clicking and selecting different objects until there are no more within the selection range. When this happens, all objects are deselected. The next click starts with the closest object again. The actual ordering of candidate objects for cycle-selection is as follows: (1) objects the pointer is inside, ordered according to the closest edge; (2) objects the pointer is outside (yet still within the selection range), ordered according to the closest edge. Objects that do not enclose the pointer cannot be selected if they are not within selection range.

Implicit Selection
Even if no objects are selected, clicking the MOVE-EDIT or COPY buttons while the pointer is near an object selects the object and begins to move, edit, or copy it. This technique is known as implicit selection. You can move, edit, or copy an object without explicitly selecting it if it does not overlap another object or lie within that objects selection range. In that case, clicking the MOVE-EDIT button near the object implicitly selects it. The object is deselected after the move. If you want to move, edit, or copy one of several overlapping objects, you may have to select it explicitly before trying to move it. Exercise care when using implicit selection. If, for example, you perform an explicit selection, and then zoom or pan, the selected objects may no longer be visible in the display window. If you then try to move, edit, or copy another object using implicit selection, the off-screen selected objects may be affected instead. There are three ways to avoid this potential problem: Use the Edit > Deselect All command before implicitly selecting an object. Set the deselection range to suit your working habits. Activate the status bar, which identifies the currently selected objects.

Deselection
To remove objects from a group of selections, hold the DESELECT (Alt+SELECT) button while performing a click- or drag-selection. Click-deselecting deselects the object under the pointer. Drag-deselecting deselects any selected objects within the deselection box. Deselecting an object which is not selected has no effect on the object. Any other previously selected objects remain selected after a click- or drag-deselection. You may repeatedly perform click- or drag-deselections until you have deselected all the desired objects.

S-Edit User Guide

61

Chapter 4: Viewing, Drawing, and Editing

Moving Objects

Automatic Deselection
When you begin a move, edit, or copy operation, S-Edit checks to see how far the pointer is from the bounding box of all currently selected objects. If this distance is greater than the deselection range, then S-Edit deselects all current selections and performs the implicit selection to begin the operation. If you open another page, S-Edit deselects all selected objects on the previous page.

Universal Selection and Deselection


You can select or deselect all objects on the current page by using the Edit > Select All (Ctrl+A) or Edit > Deselect All (Alt+A) command, respectively.

Moving Objects
To move an object, position the pointer on or near the (selected) object(s), but not on a vertex or edge. Drag the object to its new position while holding the MOVE-EDIT button. To move multiple objects simultaneously, you must explicitly select them. S-Edit surrounds the objects with a selection box and their relative positions are maintained. The MOVE-EDIT buttons function changes depending on the position of the pointer. If you click on or near an objects edge or vertex with this button, you will move only the edge or vertex and thus change the objects size or shape. If you cleck anywhere else, you will move the entire object. You can specify the distance from a vertex or edge at which S-Edit will perform an edit rather than a move (see Selection on page 19).

Resizing and Reshaping Objects


You can resize or reshape objects by using the MOVE-EDIT button. For boxes, polygons, lines, and wires, you move a vertex or an edge to change the objects size or shape; for circles you move the circumference to change the radius. To resize or reshape an object, you must first select it. If the object does not overlap other objects or lie within their selection range, you do not have to explicitly select itclicking the MOVE-EDIT button near it implicitly selects it. Position the pointer on or just outside a vertex or edge of the object, but not inside or too far away from it. Click and hold the MOVE-EDIT button while dragging the vertex or edge to its new position.

Arranging Objects
To change the orientation of an object or set of objects, select the object(s) and use one of the following commands in the Edit menu. (Keyboard shortcuts are indicated in parentheses.)

S-Edit User Guide

62

Chapter 4: Viewing, Drawing, and Editing

Deleting Objects

Rotate (R)
This command rotates the selected object or set of selected objects by 90 counter-clockwise about its center.

Flip Horizontal (H)


This command flips the selected object or set of selected objects about the vertical axis through its center.

Flip Vertical (V)


This command flips the selected object or set of selected objects about the horizontal axis through its center.

Deleting Objects
To remove object(s) from the Work Area, select it or them and use one of the following commands:
Edit > Cut (Ctrl+X) Edit > Clear (Ctrl+B; Back; Del)

The Cut command puts the deleted objects in the paste buffer. From there they can be restored to the current cell or placed into another cell (see Pasting Objects on page 65). The Clear command does not put the deleted objects into the paste buffer.

S-Edit User Guide

63

Chapter 4: Viewing, Drawing, and Editing

Copying Objects

Copying Objects
Select the object(s) and do one of the following: Perform a mouse-copy operationhold the Copy (Ctrl+SELECT) button and drag the copy into position. Use the Edit > Copy (Ctrl+C) command (and then the Edit > Paste command). Use the Edit > Duplicate (Ctrl+D) command. The Copy command puts the copy of the selected object(s) in the paste buffer. The copy does not appear in the Layout Area; it must be placed with the Paste command (see Pasting Objects, below). The Duplicate command places a copy of the selected object(s) in the Layout Area, displaced both horizontally and vertically by one grid point from the original. However, if the copy was made with the COPY button and dragged to another position, it will preserve the previous offset (see Repeated Copying, below). To copy multiple objects simultaneously, you must explicitly select them. S-Edit surrounds the copied objects with a selection box and maintains their relative positions. If an object does not overlap other objects or lie within their selection range, you do not have to explicitly select itclicking the MOVE-EDIT button near it implicitly selects it. Clicking the COPY button near the object implicitly selects it for copying and then selects the copy. The copy remains selected after the operation. You may have to select one of several overlapping objects explicitly before trying to copy it (see Implicit Selection on page 61).

Repeated Copying
As you drag a copy (made with either mouse-copy operation or the Duplicate command) into position, S-Edit keeps track of its offset relative to the original. When executed immediately after such a copy and move, the Duplicate command creates another copy of the same object(s), offset by the saved amount. Copies made with the Edit > Copy command (and so residing in the paste buffer) can also be repeatedly placed in the Layout Area (even in another module or file) by repeated uses of the Edit > Paste command. Copies placed by Paste must be dropped into position with a mouse click (see Pasting Objects, below). Repeated copying can be useful in making regularly structured schematics, but can also result in designs that use up a great deal of memory and are difficult to update. Repeated copying is convenient at times but should not be used as a substitute for good hierarchical design. Besides copying a module with the Module > Copy (C) command, you can also instance a module in another module with the Module > Instance (I) command or copy it with the symbol browser (Module > Symbol Browser).

Note:

Copying, instancing, and copying via the symbol browser are the only ways to transfer modules between design files.

S-Edit User Guide

64

Chapter 4: Viewing, Drawing, and Editing

Pasting Objects

For more information on the Module > Instance command, see Creating Module Instances on page 46. For more information on the Module > Symbol Browser command, see Using the Symbol Browser on page 45.

Pasting Objects
The paste buffer stores cut and copied objects. You can use the paste buffer to restore those objects to the Layout Area or to transfer objects between pages or modules (in the same file). To paste back the contents of the paste buffer, open the page where you want the contents to go. Then use the Edit > Paste (Ctrl+V) command to copy the contents of the paste buffer onto the page. The contents must be dropped into place: S-Edit centers pasted objects on the position of the pointer when you click the mouse. S-Edit will beep if you attempt to paste from an empty paste buffer. S-Edit may clear the paste buffer to prevent consistency problems. For example, if you delete a module or open a module from another file, it may clear the paste buffer.

Editing Objects Textually


To edit the properties of a selected object via a dialog box, double-click the MOVE-EDIT button over the object; or use the Edit > Edit Object (Ctrl+E) command. Only one object may be text-edited at a time. The dialog box presented by the Edit > Edit Object command takes different forms for different objects, as detailed below. For boxes:

A box is characterized by corner coordinates: (X1, Y1) locates the lower left corner of the box; (X2, Y2) locates its upper right corner. Editing these numbers changes the size and position of the box.

S-Edit User Guide

65

Chapter 4: Viewing, Drawing, and Editing

Editing Objects Textually

For circles:

A circle is characterized by Center coordinates (X, Y) and a Radius. Editing these numbers changes the position and size of the circle. For lines, polygons, and wires:

S-Edit User Guide

66

Chapter 4: Viewing, Drawing, and Editing

Editing Objects Textually

A line, polygon, or wire is characterized by vertex coordinates (X1, Y1), (X2, Y2), (X3, Y3), and so on. Each pair of (X, Y) coordinates locates one of the vertices of the object; editing these numbers changes the size and position of the object. If the object has more vertices than the dialog can display at once, use the scroll bar in the Vertices box to scroll down to the hidden coordinates. The values for these coordinates are unrestricted: for example, it is possible to draw a 90 line, polygon, or wire and then convert it to an all-angle object. S-Edit does not give a warning if you make such a change. For comments and node labels:

A comment (text object) or a node label is characterized by its Name, Text Size, Coordinates In Locator Units, and Origin Location (which determines the position of the text relative to the objects anchor point, as indicated by the filled option button in the dialog box). For ports:

S-Edit User Guide

67

Chapter 4: Viewing, Drawing, and Editing

Editing Objects Textually

A port is characterized by a Name (the text associated with the port), a Text Size (the size of the ports on-screen display), connection point coordinates (X, Y), and a Port type (which determines the ports appearance). For properties:

See Properties on page 84 for an explanation of the options. For instances: To edit an instance, select it and use the Edit > Edit Object command.

The options are as follows.


Instance Name

The name of the instance (as opposed to the instanced module). Instance names in a schematic must be unique. The name and the separator character of each property defined in the instanced module. Property names cannot be changed in this dialog box; you must edit them in the instanced module (in Symbol mode). The local value of the property. If the Default switch for the property is on, this value corresponds to the value specified in the symbol of the instanced module.

Property Name

Property Value

S-Edit User Guide

68

Chapter 4: Viewing, Drawing, and Editing

Using Undo

Property Type

The propertys datatype: Integer, Real, or Text. You cannot change a propertys datatype in this dialog box; you must edit them in Symbol mode in the originating module. When Default is on, the property assumes the default value specified in the instanced module. When Default is off, changes in the default value will not affect the value in the instancing module. Turning Default back on causes the value to revert to the symbol propertys default value. Specifies what aspects of the property will be visible in this instance: name, separator, and value (All), the Value alone, or None.

Default

Show

Using Undo
You can use the Edit > Undo command (Ctrl + Z) to undo the most recent change made to an S-Edit file. Similarly, you can use the Edit > Redo command (Ctrl + Y) to restore changes reversed with a previous Edit > Undo operation.
Edit > Undo reverses the most previous edit operation and restores the design file to the state it was in before that operation. Specifically, Undo:

Returns objects you have moved to their previous positions. Restores objects you have resized or reshaped to their previous size or shape. Removes objects added to a page with a draw, copy, or duplicate operation. Restores objects cleared from the page with the Edit > Cut or Edit > Clear commands. Returns flipped or rotated objects to their original position and orientation. Reverses modifications made to an object with the Edit > Edit Object command. Note that Edit > Undo reverses only the most previous edit operation. It is unavailable under the following circumstances: Immediately after you launch S-Edit. When you have just executed an Edit > Undo command. When you have just executed a Module > Revert or Page > Revert command. When you have just executed a Module > Delete or Page > Delete command. When you have committed changes to a page. S-Edit commits changes to a page whenever you execute any of the following commands:
File > New, File > Open, File > Save, or File > Save As. Module > New, Module > Open, Module > Copy, or Module > Close As. Page > New, Page > Open, Page > Close As.

To restore changes reversed with an Edit > Undo operation, use the Edit > Redo command (Ctrl + Y).

S-Edit User Guide

69

Chapter 4: Viewing, Drawing, and Editing

Using Undo

Pasting Objects to Other Applications


You can cut or copy objects in an S-Edit design file and paste them to other applications. When you cut or copy an object, S-Edit creates a metafile representing the selection and places it on the Windows clipboard. You can then paste this metafile as a graphic into other Windows applications. S-Edit uses the zoom level of the current view to calculate the size of the metafile. When you paste the selection into another application, all primitives will be drawn in black. The background, grid, and origin will not be drawn.

S-Edit User Guide

70

Chapter 5: Design Connectivity

Design Connectivity

In S-Edit, design connectivity is achieved by the proper arrangement of ports, pins, labels, and wires to form nodes.

Wires
Wires connect instances together in a schematic. They are drawn with the Wire tool (F3).

Note that wires and lines, while similar in appearance, are functionally different. Wires connect objects electrically; lines do not. To draw a wire, activate the Wire tool, then click the DRAW button to place the first endpoint of the wire. Continue clicking the DRAW button wherever you want to place a vertex except the last endpoint. Click the END button to place the last endpoint and finish drawing the wire, or simply place a vertex on a pin, and S-Edit will terminate the wire automatically. Wires can only be drawn with orthogonal (90) vertices. If you place a wire vertex directly over another wire, S-Edit will connect the two wires and indicate the connection with a filled connectivity circle. Where wires simply cross each other without connecting, however, no connectivity circle will appear (see figure below).

Connected

Unconnected

S-Edit User Guide

71

Chapter 5: Design Connectivity

Ports

Ports
Ports show where signals enter and leave a modulethat is, they show how a module is connected to the rest of the design. Ports exist in both symbols and schematics, and you can create and modify ports in both operational modes. Ports can also label nodes. In Schematic mode, four types of ports are available: Input, Output, Bidirectional, and Other. The tools

Input Output Bidirectional Other

used to create these ports are shown below. In Symbol mode, a fifth type of port is available:
Global

The first four port types are functionally identical, and S-Edit treats all of them in the same way. They only differ in appearance for the sake of design readability. Global ports, however, have a different functionthey are used to make global symbols, which create connectivity throughout a design. For more information, see Global Ports on page 78. To draw a port, activate a Port tool and click the DRAW button at the desired point. You can activate all available port tools by pressing the F6 key repeatedlyonce for the Input Port tool, twice for the Output Port tool, etc. A dialog box appears with fields where you can enter the ports name, text size, location, and type. You can also change the ports type or location in this dialog.

Port Correspondence
In most cases, the ports on a module schematic must match the ports on a module symbol. Specifically, a module is correctly constructed when the arrangement of ports is such that:

S-Edit User Guide

72

Chapter 5: Design Connectivity

Pins

For every nonglobal port on the module symbol, there exists a corresponding port of the same name and type on at least one page of the modules schematic. For every nonglobal port in a module schematic, there exists a corresponding port of the same name and type on the module symbol. However, no such correspondence is required when a module is global or primitive. A port test can find mismatched ports (see Port Test on page 76).

Pins
Pins define connection points. S-Edit creates pins on module instances, on ports, node labels, and at the ends of wires. In Schematic mode, pins appear as connectivity circles. When pins are unconnected, they appear as open circles; when connected to two or more items, they appear as filled circles; when connected to one item, they disappear. Open circles clearly show where objects may be connected in the schematic.

Note:

S-Edit is more flexible than many other schematic editors with respect to pin placement. S-Edit allows you to place a pin at any location on the symbol, whereas other schematic editors require that you place the pin on the symbol boundary. If you plan to export your design to another schematic editor, you will probably achieve better results by following this convention and placing your pins on the symbol boundary.

When you instance a module, S-Edit translates the ports on the modules symbol into pins on the module instance. Conversely, each pin on a module instance corresponds to a port on the symbol of the originating module. Pins thus provide connection points between lower-level modules and their instances. When you connect objects to a pin on a higher-level instance, you also connect them to any object connected to the corresponding port on the schematic of the originating module. For example, when you connect an object to the input pin In of an instancing inverter, (corresponding to a port named In on the symbol page of the inverter module), you have connected it to the node named In on the schematic pages of the instanced inverter module.

Arranging Pin Order


S-Edit automatically arranges pins in a module in the order in which you create them and assigns them corresponding numbers1, 2, 3, etc. Whenever you create a new symbol port, S-Edit adds the corresponding pin to the end of the existing order. During export, S-Edit outputs the pins to the netlist in this order by default. In certain cases, you may want to reorder the pins in a module. For SPICE, TPR, and NetTran output, for example, S-Edit uses pin order to determine the order of subcircuit ports. For EDIF netlists, S-Edit writes out each port with the number of its corresponding pin. For some uses, it may be desirable to control such details in a netlist. You can set the order of all pins in a module except those belonging to propagated global nodes. S-Edit saves the pin order of a symbol in the design file. Once you set pin order, you can use it for any netlist output.

S-Edit User Guide

73

Chapter 5: Design Connectivity

Nodes

To arrange pin order, use the command Symbol > Order Pins:

You can reorder pins by dragging them to the desired positions in the Pin Order list. You can also renumber them in the Pin Number box, and S-Edit will automatically update their order in the Pin Order list. Clicking on Sort Pins reorders pins in the default order.

Viewing Pin Order


The command View > Pin Numbers toggles the display of the pin numbers associated with the ports in a module. You can view pin numbers in both Symbol and Schematic modes.

Nodes
Connectivity is defined in terms of nodes. In the most general sense, a node is created when one or more ports, labels, or wires are connected. Nodes derive their names from the ports or node labels to which they are attached. Connections formed by node labels exist only within a particular module. Connections formed by ports can extend outside the module through pins on a module instance. Connections can be explicit or implicit. An explicit connection is formed when you: Arrange objects so that their electrical hotspotssuch as their portsare on the same location. Connect objects by wire. Connect objects by instances. For example, if you instance a module that has two or more symbol ports named A, anything you connect in the instance to any pin corresponding to A will also be connected to other pins corresponding to A.

S-Edit User Guide

74

Chapter 5: Design Connectivity

Verifying Connectivity

In an explicit connection, changes to any part of the node propagate throughout the node. For example, in a node with multiple, explicitly connected ports, if you rename a port, S-Edit will prompt you to select one name for all ports within that node.

Attaching ports or node labels with the same name to different objects forms an implicit connection, even if those objects are not directly connected by wire. When a module contains more than one node with the same name, those nodes are connected, even if they are on separate pages of the module. If you rename a port in one node, you break that implicit connection. When different modules contain nodes with the same name, those nodes are generally unconnected, with the important exception of global nodes (see Global Nodes on page 77).

Labeling Nodes
You can label nodes to make your design more readable and to indicate connections within a module. To create a node label, click on the Node Label tool:

S-Edit will display the Node Label dialog box. For more information on this dialog, see Editing Objects Textually on page 65.

Verifying Connectivity
The Page menu contains several diagnostic commands to help you verify the connectivity of a module or page
Node Trace highlights nodes associated with a selected object or objects. Port Test (also available on the Symbol menu) checks the correspondence between the symbolic

and schematic representations of a module.


Pin Test. checks for unconnected pins.

Node Trace
The Page > Node Trace traces a node through a schematic page. To execute this command, first select one or more objects. Node Trace then selects all of the objects which are connected to the originally selected objects. You can use Node Trace in several different ways:

S-Edit User Guide

75

Chapter 5: Design Connectivity

Verifying Connectivity

If you select a wire, port, node label, or global symbol and execute Node Trace, S-Edit displays the name of the node and selects everything on the schematic page connected to the selected object (including objects connected through ports, node labels, or global symbols). If you select an instance or group of objects and execute Node Trace, S-Edit selects all of the objects connected to the instance or group of objects. If you execute Node Trace without first selecting an object, S-Edit will prompt you for the name of a node, then find and select any objects connected with that node.

Port Test
The Page > Port Test command (or Symbol > Port Test) checks the correspondence between the symbolic and schematic representations of a module. This test detects two types of design errors: Mismatch between port names in a module. If the module contains any objects on one or more schematic pages, then for every port in Symbol mode there should be at least one port in Schematic mode with the same name. Conversely, for every port in Schematic mode there should be at least one port in the symbol with the same name. Mismatch between port types in a module. Corresponding ports in Symbol and Schematic modes should be of the same type: in, out, bidirectional, or other. You can execute a port test at any time with the Port Test command, and S-Edit executes port tests automatically whenever you: Close the current module. Export the current module to a netlist. Save the current file. When a module fails a port test: A dialog box reports the names of ports in Symbol mode that are not correctly matched. A dialog box reports the names of ports in Schematic mode that are not correctly matched, with the option to convert any unmatched ports to node labels (in case the extra ports were intended simply to label nodes). If the answer is Yes, then every extra port in the module is converted to a node label.

S-Edit User Guide

76

Chapter 5: Design Connectivity

Global Nodes

For more information on node labels, see Labeling Nodes on page 75.

Pin Test
The Page > Pin Test command locates pins on a module instance which are unconnected to other objects. Pin Test selects all instances which have one or more unconnected pins. Unconnected pins are not necessarily a design error, but may simply indicate where design connectivity is incomplete.

Global Nodes
Global nodes simplify the drawing and maintenance of electrical schematics. When a node is global, you can connect or disconnect it throughout a design without drawing or deleting wires. Global nodes are especially useful for power, ground, clock, reset, and other circuitwide nodes that require routing throughout a design. Like standard nodes, global nodes connect across all of the schematic pages of a module. Unlike standard nodes (which connect to nodes outside the module only through ports), global nodes automatically connect between all modules in a design (subject to certain scoping rules; see Capping Global Nodes on page 80). Any changes made to a global nodes name or state propagate throughout the design. To create a global node, place a global symbol on the design with the Global Symbol tool.

Global symbols use global ports instead of regular ports to define their connections and to define names for global nodes. To place a global port on the design, use the Global Port tool (in Symbol mode).

To limit the propagation of a global node, place a node cap with the Node Cap tool (F5).

Global Symbols
Global symbols are special instances that function as wireless connectors. When you attach a node to a global symbol, you connect that node to all other nodes on every page and module in the design file that are attached to a like global symbol. Such nodes then become global nodes. A node ceases to be global when all global symbols are detached from it. You can add any number of new global symbols to a design. Like other symbols, a global symbol represents a module with electrical properties, and you can instance it in exactly the same ways. However, its construction is different, and it can only be used to identify global nodes.

S-Edit User Guide

77

Chapter 5: Design Connectivity

Global Nodes

You create global symbols just as you do regular symbols, subject to the following rules: The schematic page must be blank. The symbol must contain exactly one port to designate the connection point, and this port must be a global port. Sample files shipped with S-Edit contain global symbols for Vdd and Gnd. The figure below shows the global symbol for Gnd.

Global Ports
Global ports indicate connection points for global symbols. A global port appears as text inside a double rectangle.

To create a global port, switch to Symbol mode and activate the Global Port tool. Then click in the Work Area to place the global port. The standard Editing Selected Port dialog box appears with fields for the ports name, text size, coordinates, and type. In Symbol mode, the Port Type group in this dialog contains an extra option button for global ports. Unlike regular ports, the names of global ports are significant outside of the module where they are placed. The name of a global port is the default name of the global node associated with it. For example, if you want to create a global node with the default name Gnd, then name the global port Gnd. For best results, you should position the global port (the connection point) at the origin (0,0) in the originating module. When you instance this module, S-Edit will position the instance with its pin exactly where you click the Global Symbol tool.

Instancing Global Symbols


You can add instances of global symbols to any schematic page of the design except the global symbols own schematic page. To add a global symbol to a schematic page, activate the Global Symbol tool and click on the point where you want to place the origin of the global symbol. A dialog box appears containing a scrolling list of all the global symbols available in the current design. Highlight the desired global symbol and click OK. S-Edit will center the global symbol around the point where you clicked.

S-Edit User Guide

78

Chapter 5: Design Connectivity

Global Nodes

You can also instance global symbols with the Module > Instance command. Since global symbols are modules, they appear in the module list. In this case, S-Edit will center the global symbol in the Work Area. Leaving a global symbol unattached to a node has no effect on the connectivity of the page. Attaching a global symbol to a node makes that node global and will connect it to any other nodes in any module in the design that are attached to other instances of the same global symbol, subject to the scoping rules in Capping Global Nodes, below. In the next figure, two Gnd symbols are attached to two different nodes in a module. Since Gnd is a global symbol, the two nodes are thus connected to each other. In addition, any node in any other module which has the Gnd symbol attached is also connected to these nodes.

S-Edit User Guide

79

Chapter 5: Design Connectivity

Global Nodes

Capping Global Nodes


In some cases, you may wish a single global symbol to represent several distinct and unconnected nodes. To do so, you can limit the propagation of a global node to a module or group of modules by using node caps. Node caps halt, or cap, the propagation of a global node. When a node cap is attached to a global node, the global node does not propagate to any module that instances the current module. In other words, the nodes scope is limited to the current module and any modules instanced on its schematic pages. Any global nodes with the same global symbol that exist outside the scope of the capped node may have the same name as the capped node, but are unconnected.

Warning:

One important exception to this rule occurs when you export SPICE files from S-Edit for use in T-Spice and some other SPICE simulators, which treat all ground nodesin T-Spice, nodes with any of the names Gnd, GND, gnd, or 0as connected to 0.0 volts, regardless of S-Edits scoping rules.

To place a node cap on your design, switch to Schematic mode and click in the Tool Palette to activate the Node Cap tool. Then click in your design over the point at which the cap is to be placed. The resulting node cap appears, its size determined by the default text size, as a circle with a slash through it.

Attaching a node cap to a regular node does nothing. Attaching a node cap to a global node caps the node. Removing all node caps from a global node uncaps the node, allowing it to propagate throughout the design again. In the figure below, global symbols for both Vdd and Gnd have been placed throughout the schematic page. The Vdd global node is capped, while the Gnd global node is not.

S-Edit User Guide

80

Chapter 5: Design Connectivity

Global Nodes

If a port is connected to a global node, the node propagates to the higher levels through the module port connection, just as a regular node does. This happens even if the global node is capped. This is the only way a capped node may propagate to a higher module.

Naming Global Nodes


The default name of a global node is the name of the global port in the global symbol that defines the global node. An uncapped global node can never be renamed, and always uses the default node name; if you place a port or node label on an uncapped global node, then it automatically acquires the name of the global node. You can rename a capped global node with a port or node label. The new name affects the current module only. When you export a netlist, however, the new name will affect any modules containing uncapped global nodes which are instanced in the current module. By renaming capped global nodes, you can use the same global symbol to represent different nodes with different names.

Browsing Global Node Connections


To view the state of the global nodes in the current module, use the Module > Browse Globals command. This command is only available in Schematic mode.

S-Edit User Guide

81

Chapter 5: Design Connectivity

Global Nodes

All of the global nodes in the current module are listed. Each node (and its associated global symbol) may be in one of three states:
propagated

The global symbol appears on the page with no node caps attached to the associated global node. The node propagates up and down the module hierarchy. The global symbol appears on the page with a node cap attached to the associated global node. The node does not propagate up the module hierarchy. The global symbol does not appear on this page, but global node propagation passes through this level of the hierarchy because the global symbol appears, uncapped, in one of the modules instanced within the current module. In SPICE output, these nodes will actually appear in the module as placeholder nodes. You can connect to a hidden node by placing a node label (or port) in the module with the same name as the hidden node (or by instancing the global symbol).

capped

hidden

Global Symbol Collisions


If you attach two or more global symbols of different kinds to a single node, the symbols are said to collide. In the event of such a collision, S-Edit will display a warning such as this one:

When global symbols collide, S-Edit will arbitrarily choose one of their names as the new name for the node. There is no guarantee that this node name will be stable; it may change when further edits are performed. If a global symbol collision causes two separate global nodes to be connected, S-Edit will use the common new name to designate the node and all nodes connected to all instances of all colliding symbols. Until the collision is resolved, all of these nodes continue to be electrically connected. Avoid such situations wherever possible.

Warning:

One way to avoid collisions between global symbols on the same node is to use a voltage source module to set the voltage between the nodes. Let a property of the module be the voltage between the nodes. Then edit the property to set any desired voltage between the nodes, even 0 volts.

You will find voltage source modules in S-Edit the sample libraries, such as spice.sdb.

Effective Design with Global Nodes


The following paragraphs provide tips for the effective use of global nodes in your design.

S-Edit User Guide

82

Chapter 5: Design Connectivity

Global Nodes

Avoid using several similar global symbols, such as Vdd1, Vdd2, and so on, for the purpose of separating similar global nodes. Instead, use a single Vdd global symbol everywhere. Then place node caps at appropriate places to separate the different nodes from each other. Finally, simply use node labels at the capped level to rename the nodes. By using only one global symbol, you can instantly change the scope of these global nodes without having to search for and replace different symbols. Avoid placing global symbols or node caps on a node that is connected via a port to higher levels of the design. The presence of a global symbol on such a node will automatically make its higherlevel connections global, regardless of the designer's intention. Moreover, node caps will not prevent such a node from propagating. Be careful when naming different grounds. T-Spice considers all nodes named Gnd, GND, gnd, and 0 to be connected.

S-Edit User Guide

83

Chapter 6: Properties, Netlists, and Simulation

Properties, Netlists, and Simulation

S-Edit can export your designor any portion of itto a variety of netlist formats for simulation or placement and routing. Once you have exported a netlist, you can use T-Spice to simulate it and W-Edit to view the waveform output. You can also use the Probe tool to probe a selected net, subcircuit instance, or voltage source. For more information on a particular netlist format, see one of the following: SPICE on page 94 Tanner Place and Route (TPR) on page 95 EDIF Netlist on page 96 EDIF Schematic on page 96 VHDL on page 97 NetTran on page 98

Properties
Properties are analagous to program variables and are used to store parametric descriptions of design modules. Properties can characterize a modules physical parameters, such as length, width, and perimeter; its nonphysical parameters, such as device type and comments; and its output strings, which specify how S-Edit writes a module to a netlist. For more information on output strings, see Predefined Properties on page 86. A property is correctly defined when it exists and has a value. Property names are generally text, whereas values can consist of text, numbers, and tokens. Tokens are references to properties or ports or any other component of a property value interpreted during instancing or exporting. For more information on tokens, see Property Tokens on page 86. S-Edit uses property information in two ways. When you instance a module with properties, S-Edit interprets the properties, as long as they are not hidden, and displays their interpreted values in the instancing module. If a property has a numeric value, S-Edit displays the value of the number. If a property has a string value, S-Edit displays literal text and the interpreted value of property tokens, if any are present. When you export a netlist, S-Edit writes out the values of output properties appropriate to the netlist format. Export values (in a netlist) differ from display values (in a module instance) in the processing of the pound sign (#) token and in the way errors are reported.

S-Edit User Guide

84

Chapter 6: Properties, Netlists, and Simulation

Properties

You can use SPICE output properties to include simulation commands in the netlist. For more information on output properties, see Predefined Properties on page 86. For more information on correct property usage, see Using Properties on page 91.

Creating Properties
To create properties in a module, you must switch to Symbol mode. You can add, delete, or edit properties at any time, and you can override property values assigned in the original module with properties assigned in the instance. You can also choose to show or hide a propertys name or value. Use the Property tool (F7) to create properties.

Activate the Property tool and click with the DRAW button at the desired point. A dialog box appears.

Name Value

A unique name for each property in a given symbol. A number or alphanumeric string which becomes the default value for the property, passed on to instances of the module. You can override default values by editing individual instances in Schematic mode. The character between the propertys name and value when displayed on the screen. For example, for a property displayed as w=4.0, the separator character is =. The height of the text (in locator units) used to display the property. In Schematic mode, none of the propertys fields (name, separator character, value) are displayed with the instances symbol. In Symbol mode in the original module, the property is displayed in square brackets [ ]. In Schematic mode, only the propertys value is displayed with the instances symbol. In Symbol mode in the original module, the propertys name and separator character are displayed in square brackets [ ]. In Schematic mode, all of the propertys fields (name, separator character, and value) are displayed with the instances symbol. The same holds true in Symbol mode in the original module.

Separator character

Text size Show: None

Show: Value Only

Show: Name and Value

S-Edit User Guide

85

Chapter 6: Properties, Netlists, and Simulation

Properties

Value Type: Integer Value Type: Real Value Type: Text

Defines Value as an integer. Defines Value as a floating-point number. Defines Value as an alphanumeric character string. The string may contain tokens that are parsed and expanded to take context-specific values (see Predefined Properties, below).

Property Tokens
Property tokens are used to count module instances, to reference ports or other properties, or to format property outputs. S-Edit interprets property tokens in instances (when shown in Schematic mode) or during export to a netlist. S-Edit parses all other text without expansion. The following table lists property tokens and their interpreted form. Token
#

Interpreted form An incremented integer that counts the instances of the module. (This token is only interpreted during netlist export.) The value of the named property (as a string) or the indicated predefined property value (see Predefined Properties, below). The braces are required. The name of the node to which the pin associated with the named port is attached. The braces are required. The square brackets enclose optional information. If defined property and port references are enclosed by square brackets, S-Edit interprets them normally. If individual references enclosed by brackets are undefined, S-Edit simply omits all references within the brackets and does not report any errors. Newline (\n) or tab (\t) characters. An escape character. Use the backslash before a reserved character to instruct S-Edit to insert that character instead of interpreting it. The following characters, excluding commas, are reserved: \, #, $, %, {, }, [, ], n, t.

${property}

%{port}

[ tokens ]

\n \t \

Predefined Properties
Certain property values are predefined by S-Edit. Predefined properties take their values from the current module, not the module being instanced. These values appear in instances when the properties are visible. The syntax of a predefined property value is ${predefined_property}, where predefined_property is one of the types listed below: Property
Author Org Info

Information or source
Author field of the Module > Info dialog box Org field of the Module > Info dialog box Info field of the Module > Info dialog box

S-Edit User Guide

86

Chapter 6: Properties, Netlists, and Simulation

Properties

Property
File Module Page Instance Created Modified

Information or source Current file name (without path) Current module name Current page name Instance name Date and time of the modules creation Date and time of the modules last modification

For example, if token ${Module} is the value of property P belonging to module A, and module A is instanced in module B, then the token expands so that the instance is displayed in Schematic mode with the string P = B. Note that predefined properties take precedence over normal properties. For example, if a module contains a property named File and you reference this property in another propertyusing a token such as ${File}S-Edit will display the value of the predefined property, not the value of the File property you created.

Output Properties
Output properties identify a module as a primitive module, or subcircuit, instanced in a higher-level module. Output properties also specify the netlist representation of a module. There are five types of output properties, corresponding to particular output formats:
SPICE OUTPUT

SPICE PARAMETER
TPR OUTPUT EDIF PRIMITIVE VHDL PRIMITIVE NETTRAN OUTPUT

An output property must have one of these names, and its value type must always be string. When a module contains an output property appropriate to the format being exported, S-Edit writes an appropriate string to the netlist. Otherwise, S-Edit treats the module as a call to a subcircuit, and the schematic of the module as the subcircuit description. If the modules schematic pages are empty, S-Edit writes either an empty subcircuit definition block (in SPICE format) or indicates an error (in NetTran and TPR formats). You can specify output property values in the original module with tokens and normal text, just as you do other properties. When exporting a netlist, S-Edit collects the various output properties from individual module instances and formats their information accordingly. One other important use of the SPICE OUTPUT property is to include SPICE simulation commands in its value. S-Edit will write these commands to the netlist, the T-Spice will simulate the design accordingly.

S-Edit User Guide

87

Chapter 6: Properties, Netlists, and Simulation

Properties

An output property must have one of the following names:


SPICE OUTPUT

The value of this property expands into a string that describes the module as a primitive device in a SPICE-format netlist. If the module does not contain a SPICE OUTPUT property, S-Edit will write an empty subcircuit definition block in a SPICE-format netlist. The value of this property is a list of names of other properties on the same symbol which are to be passed to subcircuits as parameters. Individual output property names must be separated by a space. Property names that contain spaces must be enclosed in double quotes. The value of this property expands into the string that describes either a call to a NetTran macro or a reference to a NetTran macro file. The value of this property is not written to the netlist. Instead, it instructs S-Edit to export the module as a pad or as a regular cell in a TPR-format netlist. S-Edit will consider the module a pad if and only if the value of the TPR OUTPUT property is CP. If the module does not contain a TPR OUTPUT property, S-Edit will not extract it as a primitive of a TPR netlist. This property instructs S-Edit to export the module to an EDIF netlist as a primitive device. S-Edit ignores the property value for netlist output. This property instructs S-Edit to export the module to a VHDL netlist as a primitive device. S-Edit ignores the property value for netlist output.

SPICE PARAMETER

NETTRAN OUTPUT

TPR OUTPUT

EDIF PRIMITIVE

VHDL PRIMITIVE

The following examples illustrate the use of various output properties. Example 1 This SPICE OUTPUT property value belonging to a module describing a MOSFET:
m# %{drain} %{gate} %{source} l=${l} w=${w} ${model}

might result in the following device statement being included in the output SPICE netlist:
m23 out in GND l=2u w=4u nmos

Any plain text (including spaces) present in the SPICE OUTPUT property value is reproduced verbatim in the SPICE netlist. In this example, the device key letter (m) and the required key words for the length and width parameters (l= and w=). S-Edit interprets the tokens that reference the symbols portsdrain, gate, and sourceas the corresponding schematic nodes out, in, and GND. Similarly, S-Edit interprets the tokens that reference the propertiesl, w, and modelas the values 2u,
4u, and nmos.

Example 2 This SPICE OUTPUT property value describing a voltage source:

S-Edit User Guide

88

Chapter 6: Properties, Netlists, and Simulation

Properties

V# %{positive} %{negative} [${DC}] [AC ${magnitude} ${phase}]

might result in the following device statement in the output SPICE netlist:
V83 Vsignal Gnd AC 0.8V 180Deg

S-Edit interprets the tokens that reference the symbolss portspositive and negativeas the corresponding schematic nodes Vsignal and Gnd.
DC, magnitude, and phase refer to properties that may or may not be defined. Because these tokens are enclosed by brackets, S-Edit ignores them and does not display error messages if the named properties are not defined. In this example, it is apparent that DC is an undefined property, while magnitude and phase are defined as 0.5V and 180Deg, respectively. If magnitude or phase were also undefined, then the device statement in the output netlist might be: V83 Vsignal Gnd

Example 3 A SPICE OUTPUT property containing predefined properties such as:


* ${Info}\n* File ${File} / Module ${Module} / Page ${Page}

might produce the following comment lines in the SPICE netlist:


* Optical Processor Project * File optical.sdb / Module chip / Page alpha

Example 4 A SPICE OUTPUT property with the value:


.print tran a1

would be output literally to the netlist. Alternately, it is possible to prepare a module containing only a SPICE OUTPUT property such as:
.print tran %{printnode}

where printnode is the name of a port within that module. If you then instance this module and connect it to a node in the schematic page of the instancing module, its output would be:
.print tran a2

where a2 is the actual name of the node in the instancing module. Example 5 A SPICE OUTPUT property with the value:
.tran/powerup 1n 800n

would be output literally to the netlist. Alternately, you could create a module with the following properties:

S-Edit User Guide

89

Chapter 6: Properties, Netlists, and Simulation

Properties

tstep=1n dur=800n mode=powerup SPICE OUTPUT=.tran/${mode} ${tstep} ${dur}

Example 6 A SPICE PARAMETER property with the value:


AS PS AD PD

would cause S-Edit to pass the values for properties named AS, PS, AD, and PD to a subcircuit. Using properties to store values has several advantages. It makes the module more flexible by making it easy to edit parameters for each instance of the module, and it also provides the module with more readable documentation. In this example, a good practice might be to make tstep, dur, and mode visible but to hide the SPICE OUTPUT property.

Properties in Instances
The default value of a property in a module instance is its value in the instanced (or originating) module). When you edit a property in an instance (using the Edit > Edit Object command), you can choose whether to use the default value or override it in this instance.

When the Default switch next to a property is on, the property will take its value from the symbol page of the instanced module. If you edit those values in this dialog box, S-Edit clears the Default check box for you. Conversely, if you wish to restore the default values, you can do so by turning Default on. When you change the values of a property in an instance, the changes affect that instance only. To change the property value for all instances of a module, you must edit the property directly in the instanced, or originating, module. Open the module, switch to Symbol mode, select the property whose value is to be changed, and use the Edit > Edit Object command to change the value. When you have changed the value of a property in the instanced module, the value changes for that property in all instances of that module except those in which the Default switch has been turned off for the property.

S-Edit User Guide

90

Chapter 6: Properties, Netlists, and Simulation

Properties

You can also show or hide properties in either an originating module or its instance. Specifically, you can show the propertys name and value, its value only, or you can hide the property altogether. The visibility option you set in the originating module will be the default for all of its instances. However, you can also override this setting in any of the instances, and the change will affect the instance only.

Using Properties
In general, you can use properties to create parametric descriptions of S-Edit design modules. Property values can consist of text, numbers, and tokens, as discussed in Properties on page 84. Properties must reference existing ports, and they cannot reference themselves. Additionally, S-Edit does not support infinite recursion in properties. Incorrect property usage will cause S-Edit to report an error, as detailed below. S-Edit has different error-reporting behavior in instancing and exporting. If an error occurs when you instance a module, S-Edit will report the error by substituting an error message for the token causing the error. The specific conditions and error messages are: Condition
Property not found

Reported error and solution ${ERROR: Cant find property-name}. Property does not exist or has no value. Create property or property value as necessary or enclose in square brackets. ${ERROR: Self-reference}. ${ERROR: Error found in property-name}. ${ERROR: Cant find port-name} or &{ERROR: Cant find portname}.

Self-referential property reference Error in substituted property Port not found

If an error occurs when you export a netlist, S-Edit will write an error message in the netlist in the following manner:
In module module-name: In instance instance-name of module instanced-module-name: Error parsing output-property-name:

An indented list of all errors found in the output string will follow the third line. Each line of an error message will be commented out using the syntax of the output format$ for NetTran and TPR, * for SPICE, and (comment) for EDIFto minimize the impact on the rest of the netlist file. The specific conditions and error messages are: Condition Database corrupted Reported error Error - database corrupted. There is an error in the S-Edit database and the netlist cannot be written.

S-Edit User Guide

91

Chapter 6: Properties, Netlists, and Simulation

Exporting a Netlist

Property not found

Property named property-name not found. Property does not exist or has no value. Create property or property value as necessary or enclose in square brackets.

Self-referential property reference Error in substituted property Port not found Syntax error in SPICE PARAMETER property. No ports in module.

Self-referential recursion detected.


Error parsing property-name: Port named port-name not found. Error - module module_name - Syntax error in SPICE PARAMETER property. The SPICE PARAMETER value deviates

from the proper format.


Warning - module module_name - No ports in module. The named

module contains no ports. Any modules instanced in this module will be written at the modules level in the hierarchy. Empty subcircuit definition.
Warning - module module_name - Empty subcircuit definition written. The named module has no instances on its schematic page and no SPICE OUTPUT property on its symbol page. Warning - module module_name - Ignoring missing property property_name in SPICE PARAMETER property. A property name listed in the SPICE PARAMETER property value does not exist on

Property not named in


SPICE PARAMETER

property.

the symbol. S-Edit ignores the missing property name and writes the netlist without passing the named property to the subcircuit. Property named twice in
SPICE PARAMETER Warning - module module_name - Ignoring duplicate property property_name in SPICE PARAMETER property. A property name is listed twice in the SPICE PARAMETER statement. S-Edit ignores

property.

the duplicate property name and passes the named property to the subcircuit.

Exporting a Netlist
You can export a netlist in either Symbol or Schematic mode. S-Edit writes a netlist for the current module and all of its instances, unless any of these instances contain output properties that describe them as primitive modules. For more information, see Predefined Properties on page 86.

S-Edit User Guide

92

Chapter 6: Properties, Netlists, and Simulation

Exporting a Netlist

To export a netlist, use the File > Export command. S-Edit will display the following dialog box:.

Output file name Browse

Name of the netlist file to be output. Opens a standard Windows file browser to allow user to specify a path and/or filename for the netlist output. Type of netlist file to be exported. Available options are:
SPICESPICE format. TPRTanner Place and Route format, for use by L-Edit. NetTranNetTran macro file format, for use by NetTran.

Select Export Data Type

(Provided for backwards compatibility.)


EDIF NetlistEDIF version 2 0 0 flattened netlist format. NetTran uses EDIF files to generate GateSim netlists. EDIF SchematicEDIF version 2 0 0 schematic format. VHDLVHSIC Hardware Description Language, containing

hierarchical netlist information.


Veriloga hardware description language containing

hierarchical netlist information, used primarily for ASIC designs.


Netlist Port Order

Specifies order in which S-Edit writes ports to the netlist. The options are:
Tanner defaultOrders pins alphabetically up to a trailing number. If two pins are alphabetically equivalent, S-Edit compares the trailing number numerically (i.e., 10 is after 2). AlphabeticalOrders pins alphabetically, including any

numbers.
Pin number orderUses the pin order set in the Order Pins

dialog.
Suppress .END in SPICE output

Prevents a line containing the .END command from being written at the end of a SPICE file. The .END command is only necessary for compatibility with certain SPICE simulators. This option is only available when exporting a SPICE netlist. Enables waveforming probing of selected nodes or devices. This option is only available when exporting a SPICE netlist.

Enable waveform probing

S-Edit User Guide

93

Chapter 6: Properties, Netlists, and Simulation

Exporting a Netlist

Setup Probe Data File Location

Accesses the Waveform Probing Setup dialog box. Name of the waveform probe output file. The default is the filename of the current design file with the extension .dat. Browse opens a standard Windows file browser. Opens a standard Windows file browser to allow user to specify a path and/or filename for the waveform probe output.

Browse

To control the order in which S-Edit writes pins to the netlist, use the Symbol > Order Pins command. For more information on this command, see Arranging Pin Order on page 73. The following sections provide details on S-Edits precise export behavior according to the type of netlist being exported.

SPICE
When you export a SPICE netlist file, you can choose several options related to waveform probing. For information related to waveform probing, see Waveform Probing on page 98. You can also choose whether to suppress the .END command in SPICE output. If you plan to include the netlist file in other SPICE netlist files, you should check the Suppress .END in SPICE output box. S-Edit will export a hierarchical SPICE netlist to the specified file according to the following rules: If a module contains a SPICE OUTPUT property on its symbol page, S-Edit will interpret the property value and write its interpreted value to the file, followed by a newline. S-Edit will not search the modules schematic pages for additional instances. If the modules symbol page does not contain a SPICE OUTPUT property, S-Edit: Writes a subcircuit call with the name of the instanced module. Writes a subcircuit definition by examining the modules instanced on the schematic pages in alphabetic order and writing out each instance it encounters. Generates the correct .subckt and .ends lines bracketing each subcircuit. The user cannot customize the .subckt or .ends lines; however, the user can change the order in which nonglobal ports are written. If a module contains instances but no ports or propagated global nodes, S-Edit will generate a subcircuit call without ports. If a module contains no instances but contains ports or propagated global nodes, S-Edit will write that module to the netlist as an empty subcircuit. If a module contains no instances, ports, or propagated global nodes, S-Edit will ignore the instance. S-Edit will sort ports according to the netlist port order designated in the Export dialog box, then add global nodes to the end of the netlist in Tanner default order. S-Edit writes the top-level module as the main circuit. It is the last block of circuitry S-Edit writes to the file. S-Edit will append any properties on a subcircuit symbol except for output properties to the subcircuit definition block as subcircuit parameters.

S-Edit User Guide

94

Chapter 6: Properties, Netlists, and Simulation

Exporting a Netlist

Subcircuit Parameter Passing


When you export a SPICE netlist, S-Edit can pass the values of designated properties in high-level modules down the design hierarchy to the subcircuit definition block of the instanced, or originating, module. A property is eligible for subcircuit parameter passing when it meets the following conditions: It does not appear on the symbol of a primitive modulethat is, a symbol containing a SPICE
OUTPUT property.

It does not appear on the symbol of the top-level module. Its name is listed in the value of a SPICE PARAMETER property. The following steps describe the process of subcircuit parameter passing: Open a high-level module and switch to Symbol mode, if necessary. Add a property whose value contains the parameter you want to pass down the hierarchy. Add a SPICE PARAMETER property whose value contains the name or names of the properties you wish to pass to the subcircuit. Switch to Schematic mode, select an instance of a module to which you want to pass the parameter, and choose Edit > Edit Object. Replace the value of the originating modules property with the name of the property in the instancing, or high-level, module, whose value you want to pass down the hierarchy. Finally, export a SPICE netlist. S-Edit will include the values of high-level module properties in the subcircuit definition block of the instanced module. It will also record property value overrides in instances.

Tanner Place and Route (TPR)


TPR is a flat netlist format that you can use to place and route your design in L-Edit. If an instanced module contains a TPR OUTPUT property on its symbol page, S-Edit will generate a netlist according to the following rules. It will not examine the modules schematic page for additional instances. If the TPR OUTPUT property value is CP, S-Edit interprets the module as a pad and generates correct TPR output for it. If the TPR OUTPUT property has any other value (including no value), S-Edit treats the module as a normal module and generates correct TPR output for it. S-Edit generates two lines for the module and writes them to the file. The first line indicates formal parameters for the instanced module, and the second line indicates the mapping of formal parameters to node names in the instance. S-Edit generates no global node ports for the module. S-Edit generates scoped node names, which uniquely identify a node by including its hierarchical position in the node namee.g., inst1/inst2/.../node_name, where inst1, inst2, etc. are the names of the instances in descending order from the top level of the design to the level of the node, and node_name is the name of the node. Local node names are scoped to show the hierarchy of instances from the top level to the level that contains the node. Global node names are scoped to show the hierarchy of instances from the module containing the global node symbol to the level at which the global node is capped. Uncapped global nodes will be written without a scopethat is, Gnd will simply appear as Gnd in the output file.

S-Edit User Guide

95

Chapter 6: Properties, Netlists, and Simulation

Exporting a Netlist

If an instanced module does not contain a TPR OUTPUT property on its symbol page, S-Edit examines all of the modules schematic pages in alphabetic order and writes out each instance to the netlist. If the instanced module contains no ports or propagated global nodes, S-Edit ignores the instance. If the instanced module contains no instances but contains ports, it is an error. S-Edit writes a message to the netlist file identifying the module with the error and stating that it requires a TPR definition. S-Edit also displays a dialog box to warn the user of the error.

EDIF Netlist
S-Edit writes EDIF netlists in conformance with ViewLogic 2.0.0 flat netlist behavior. Use an EDIF netlist to export a design to NetTran for SchemLib translation (see the Tanner Tools Library Reference Manual) or for GateSim simulation. S-Edit writes EDIF netlist output in accordance with the following rules. If a modules symbol page contains an EDIF PRIMITIVE property, S-Edit: Writes an EDIF cell definition for the module without examining the modules schematic pages for additional instances. The cell definition will contain ports and global ports. The ports in the cell definition will contain pin numbers associated with the order of the port, whether the order is alphanumeric, Tanner default, or user-specified. Treats the module as if it were instanced in the top-level cell. If a module does not contain an EDIF PRIMITIVE property on its symbol page, S-Edit examines all of the modules schematic pages in alphabetic order and writes out each instance to the netlist. If the instanced module contains no ports or propagated global nodes, S-Edit ignores the instance. If the instanced module contains ports but no instances, it is an error. S-Edit writes a message to the netlist file identifying the module with the error and stating that it requires an EDIF definition. S-Edit also displays a dialog box to warn the user of the error. After writing all primitive cell definitions, S-Edit writes a top-level cell containing instances of all primitives in the design and the nets that connect these primitives. S-Edit generates scoped node names, which uniquely identify a node by including its hierarchical position in the node namee.g., inst1/inst2/.../node_name, where inst1, inst2, etc. are the names of the instances in descending order from the top level of the design to the level of the node, and node_name is the name of the node. Local node names are scoped to show the hierarchy of instances from the top level to the level that contains the node. Global node names are scoped to show the hierarchy of instances from the module containing the global node symbol to the level at which the global node is capped. Uncapped global nodes will be written without a scopethat is, Gnd will simply appear as Gnd in the output file. S-Edit will automatically convert any module or node names that are incompatible with EDIF naming requirements to a legal EDIF name using the rename construct.

EDIF Schematic
EDIF Schematic output refers to a subset of the EDIF language that contains information about how a schematic is graphically displayed. It may also contain connectivity, hierarchy, and property information. EDIF schematic output provides a way of transferring designs from S-Edit to other tools (such as ViewDraw) while maintaining the look of the original S-Edit design.

S-Edit User Guide

96

Chapter 6: Properties, Netlists, and Simulation

Exporting a Netlist

S-Edit writes EDIF schematic netlists in conformance with ViewLogic 2 0 0 hierarchical schematic netlist behavior. Use an EDIF schematic netlist to export a schematic for import into View Draw. When S-Edit exports an EDIF schematic netlist, it begins in the current cell and works downward through the design hierarchy until it encounters either: A cell containing an EDIF PRIMITIVE property A cell whose schematic page contains no instances of any other cell. Note: In general, all properties in a design can be exported to other schematic editors, but some schematic editors may use different properties or mechanisms to perform the functions of certain predefined S-Edit properties. For example, some schematic editors may be unable to utilize properties (such as SPICE OUTPUT properties) that were created in S-Edit. In such cases, these properties will need further modification in the new schematic editor before they can be used successfully.

VHDL
S-Edit will write the connectivity information in a design in VHDL format according to the following rules: If an instanced module contains a VHDL PRIMITIVE property on its symbol page, S-Edit will write a VHDL entity with an empty behavioral architecture, which the user can edit in the VHDL code to provide a behavioral definition. S-Edit will not search the modules schematic pages for additional instances. If the instanced modules symbol page does not contain a VHDL PRIMITIVE property, S-Edit: Writes a structural architecture with the name of the instanced module. Writes a structural architecture by examining the modules instanced on the schematic pages and writing out each instance it encounters and the connectivity of the instance so that the user can conveniently provide a description in VHDL. S-Edit will define the primitive as a VHDL entity with ports defined as std_logic signal ports. If an instanced module contains no instances, S-Edit will ignore the instance If an instanced module contains ports but no instances, S-Edit will signal an error and write the module to the netlist as an entity with empty structural architecture. S-Edit writes the top-level module as the topmost entity. It is the entity S-Edit writes to the file. Note: Unlike other netlist formats, a VHDL netlist requires that the top-level module have a valid symbol page with ports that correspond to its schematic ports. This information is used to define the top-level entity.

Verilog
The Verilog output option in S-Edit creates a subcircuit call for every level in the design hierarchy. SEdit modules that have symbols but no schematics are considered primitive elements, and no definition of these elements is written to the Verilog output file. It is assumed that these primitive elements are contained in user-supplied Verilog libraries, if they are required at all.

S-Edit User Guide

97

Chapter 6: Properties, Netlists, and Simulation

Waveform Probing

In some cases, a user would like to identify an element which does contain a schematic view as being a primitive element. This situation most typically arises in the case of a standard-cell library, which contains modules such as NAND, which also have transistor-level schematics attached. At this time, there is no way for the user to specify such a NAND module as being a primitive Verilog module in S-Edit. The best approach is to manually delete the Verilog module definition for that component from the Verilog output file. An alternative is to delete the schematic contents of that module in S-Edit.

NetTran
The NetTran macro file format has been superseded by EDIF for NetTran input. S-Edit provides this format for backward compatibility. S-Edit will write a hierarchical set of NetTran macros to a .mac file. It will also write a dummy wirelist (.wir) file to signify the top-level module.

Exporting Global Node Connections


When S-Edit exports a SPICE or NetTran netlist, it writes out global node connections by adding hidden ports to each modules symbol and instances of that symbol. Global connections are thus compatible with any SPICE simulator, without the use of complex node aliasing commands. The following is an excerpt from an exported SPICE file containing global nodes. Omitted text is indicated by ellipses (). The subcircuit definition for OR2 involves user-defined nodes A, B, and Y, and two additional nodes, Gnd and Vdd, created by S-Edit to propagate the corresponding global nodes into the calls to subcircuit OR2 inside the definition of core.
.SUBCKT OR2 A B Gnd Vdd Y M54 Y N8 Gnd Gnd NMOS W=22u L=2u AS=66p AD=66p PS=24u PD=24u M55 Y N8 Vdd Vdd PMOS W=22u L=2u AS=66p AD=66p PS=24u PD=24u M56 N8 B Gnd Gnd NMOS W=22u L=2u AS=66p AD=66p PS=24u PD=24u M57 N8 A N11 Vdd PMOS W=22u L=2u AS=66p AD=66p PS=24u PD=24u M58 N8 A Gnd Gnd NMOS W=22u L=2u AS=66p AD=66p PS=24u PD=24u M59 N11 B Vdd Vdd PMOS W=22u L=2u AS=66p AD=66p PS=24u PD=24u .ENDS .SUBCKT core CLOCK DONT_EW ... YELLOW_EW YELLOW_NS XAND2_1 N4 RED_NS Gnd Vdd GREEN_EW AND2 XOR2_1 TEST_POINT N5 Gnd Vdd N4 OR2 XAND2_2 N4 RED_EW Gnd Vdd GREEN_NS AND2 ... XDFFC1_7 RESETB CLOCK N66 Gnd N65 N66 Vdd DFFC1 .ENDS

Waveform Probing
Waveform probing allows you to browse through an S-Edit design and probe nodes and devices to examine circuit simulation results for the specified node or device. When you export a netlist with waveform probing enabled, S-Edit writes a .probe command to the netlist. Upon simulation, when T-Spice encounters a .probe command, it outputs data to the probe data file, a binary file. When you probe the schematic design, S-Edit invokes W-Edit, which automatically displays the waveforms corresponding to the simulation results for the nodes or devices you probed.

S-Edit User Guide

98

Chapter 6: Properties, Netlists, and Simulation

Waveform Probing

The full waveform probing process takes place in three stages as diagrammed below. In the export stage, you export a SPICE netlist with waveform probing enabled from your S-Edit design file. In the simulation stage, you use T-Spice to simulate the exported netlist. In the probing stage, you use the Probe toolbar to select an analysis type, then probe a net or device using the Probe tool.

Once you have performed the first two stages, you can probe for voltage or current for: Transient analysis DC operating point analysis DC transfer analysis AC analysis You can also probe for: Device noise Small-signal parameters

Exporting a Netlist for Waveform Probing


Before you can begin waveform probing, you must export a SPICE netlist as described in Exporting a Netlist on page 92. Select SPICE as the export data type and enter a filename for the netlist output (or use the default). Click on the Enable waveform probing check box and edit the default filename and path for the probe data file, if desired.

S-Edit User Guide

99

Chapter 6: Properties, Netlists, and Simulation

Waveform Probing

To access the Waveform Probing Setup, click on the Setup button. For more information on this dialog, see Waveform Probing Setup, below.

Waveform Probing Setup


To set options for waveform probing, use the command Setup > Probing or click on the Setup button in the Export Netlist dialog. The following dialog will appear:

Enable waveform probing

Enables waveform probing of selected nodes or devices. This check box is identical to the Enable waveform probing check box in the Export Netlist dialog. Instructs T-Spice to write the result of any noise analyses to the probe data file. Instructs T-Spice to write the result of any small-signal analyses to the probe data file. The path and filename of the probe data file. This field is identical to the Probing data file location field in the Export Netlist dialog. The Browse button opens a standard Windows file browser. Used during waveform probing only. These checkboxes specify the voltage and current characteristics to be included in a probe of AC analysis results. Select any or all of the following characteristics for either current or voltage: Magnitude in dBV or dBA Magnitude in V or A Phase in degrees Real component in V or A Imaginary component in V or A S-Edit will instruct W-Edit to simultaneously display all of the checked traces associated with the selected voltage or current.

Include device noise contributions in probe data file Include small-signal parameters in probe data file Probing data file location

AC Analysis Probing Options

S-Edit User Guide

100

Chapter 6: Properties, Netlists, and Simulation

Waveform Probing

You can change the location of the probe data file even while probing the design with the Probe tool. If the top-level module is unchanged, S-Edit will allow you to continue from the same point in the design hierarchy.

.probe
For additional control of waveform probing, you can also add a .probe command to the SPICE netlist, or use S-Edit to create a SPICE OUTPUT property containing a .probe command. Several T-Spice options pertaining to waveform probing may also be set the the .options command. For more information on creating SPICE OUTPUT properties, see Output Properties on page 87. For more information on the .options and .probe commands, see the chapter Simulation Commands in the T-Spice User Guide and Reference.

Probing the Design


Once you have selected probing options and exported a netlist, you can use the Probe tool to examine the electrical properties of your design. The Probe tool is located on the Schematic toolbar, and it is only enabled in Schematic mode. To

activate it, click it or press F8. To begin your probing session, click on the Probe tool. S-Edit will open the module you were last probing or, if you have not previously probed the design, the module from which you exported the netlist used in the simulation. S-Edit will also scan the probe data file to determine which analysis data it contains, then enable the appropriate buttons on the Probe toolbar. You can adjust the probeselect a new analysis type or navigate the design hierarchyby means of the Probe menu or toolbar. For more information, see Adjusting the Probe Settings, below. Throughout the Probe operation, the Status Bar will display the current scope being viewed and the currently selected net or devicefor example:
Probing Lights:Xcore_1.Xnand2c_2.Xinv_1.N1

If T-Spice is concurrently writing information to the data file, W-Edit will keep track of the trace through its runtime update feature. The behavior of the Probe tool depends on the way it is used: If you click on a port, label, or wire with the left button, S-Edit will probe the voltage of the selected net with the analysis type selected in the Probe toolbar. For transient, DC transfer, or AC voltage, W-Edit will display the appropriate waveform(s) from all applicable simulations. For operating-point voltage, S-Edit will display a dialog showing the operating point value. If you click on an instance of a subcircuit module with the left button, S-Edit will select the instance. You can then push to deeper levels of the design hierarchy to probe within the subcircuit, using the Push command in the Probe toolbar (see Adjusting the Probe Settings, below). If you click on an instance of a voltage source, whether it is a standard voltage source, voltagecontrolled voltage source (VCVS), or current-controlled voltage source (CCVS), S-Edit will probe

S-Edit User Guide

101

Chapter 6: Properties, Netlists, and Simulation

Waveform Probing

the current through the voltage source. For transient, DC transfer, or AC current, W-Edit will display the appropriate waveform(s) from all applicable simulations. For operating-point voltage, S-Edit will display a dialog showing the operating-point value. Note: You can only probe currents through voltage sources. If you want to probe the current through a particular device pin, you can insert a voltage source of 0.0V into your design at the pin in question. If the instance is any other primitive SPICE device that is not a voltage source, S-Edit will probe for device noise or small-signal parameters, depending on the analysis type selected in the Probe toolbar. If the analysis type is AC/Noise, W-Edit will plot the output noise density spectral contributions for the device. If the analysis type is operating point, S-Edit will display a dialog showing a table of applicable small-signal parameter values. Note: For either type of information to exist in the probe data file, you must first enable the appropriate check boxes in the Probe Setup dialog boxInclude device noise contributions in probe data file or Include small-signal parameters in probe data file. If you click on an object with the right mouse button, S-Edit will select the object and bring up a context-sensitive menu described in Adjusting the Probe Settings, below. When you select the Probe tool, S-Edit disables the following commands on the Module menu:
New Open Copy Delete Find

Adjusting the Probe Settings


The Probe toolbar and menu both contain commands that allow you to navigate the hierarchy of your design for probing, select an analysis type, and change probing setup options. The Probe toolbar is context-sensitive, and some commands may be disabled in certain situations.

From left to right, the buttons activate the following commands: Push Into Instance: Opens a schematic page inside the instanced module, allowing you to probe nets within the instance. This command is unavailable when a selected instance is is not a SPICE primitive. Pop From Instance: Pops you out of the last instance you pushed into, opening the schematic page the instance was located on. This command is unavailable when you are probing in the top-level module. Pop To Top Level: Returns you to the top level module. This command is unavailable when you are probing in the top-level module. Analysis Mode (Transient, AC/Noise, DC Transfer, Operating Point/Small Signal): These four buttons allow you to select the analysis mode for probing. When you probe an item, S-Edit will

S-Edit User Guide

102

Chapter 6: Properties, Netlists, and Simulation

Waveform Probing

probe for the waveform for the selected analysis. Only the analysis modes which exist in the current probe data file will be enabled. Probe Setup: This button executes the Waveform Probing Setup command. These same commands are available on the Probe menu. To access the Probe menu, right-click a node or device using the Probe tool. This menu will appear in the Work Area.

Note:

These commands do not change the analysis type selected in the Probe toolbar, so you can use them to perform individual probes of the desired type.

Quick Simulation Access


Two buttons in the Command toolbar facilitate quick access to simulation and waveform viewing. These buttons are: Design-to-Simulation (Shift+F8) W-Edit (Shift+F9) The Design-to-Simulation button automatically generates a SPICE netlist from the current module with the probing options specified in the Setup > Probing and export options specified in the File > Export dialog boxes. If no settings were prespecified, S-Edit will use the default filenames and paths for the SPICE netlist and probe data files. S-Edit will also enable probing by default but disable device noise and small-signal information in the probe data file. S-Edit will then invoke T-Spice (or brings it to the foreground if it is already running) and instruct T-Spice to load the specified netlist file. The W-Edit button launches W-Edit. Probing any net or device will also launch W-Edit. When you select a net or device for any analysis type other than operating point analysis, S-Edit will launch W-Edit and instruct it to display a waveform corresponding to the desired voltage, current, or noise analysis. W-Edit will use separate files to display traces from different S-Edit files, and it display traces from different analysis types on separate charts. W-Edit will perform runtime updates of selected traces during simulation. You can thus probe your design even before simulation is complete. For more information on using S-Edit, T-Spice, and W-Edit together to simulate a design and view its waveform, see Circuit Analysis Tutorials on page 104.

S-Edit User Guide

103

Chapter 7: Circuit Analysis Tutorials

Circuit Analysis Tutorials

Introduction
This tutorial provides a hands-on introduction to the integrated components of the T-Spice Pro circuit analysis suite. The tutorial examples follow a standard format, involving sample files (included upon installation) of various types: Schematic data files (.sdb) describing the circuits to be analyzed in graphical form, for display and editing by the S-Edit schematic editor. Simulation input files (.sp) describing the circuits to be analyzed in textual form, for editing and simulation by the T-Spice circuit simulator. (The listings of input files in this chapter exclude comments.) Simulation output files (.out) containing the numerical results of the circuit analyses, for manipulation and display by the W-Edit waveform viewer. T-Spice Pros waveform probing feature integrates S-Edit, T-Spice, and W-Edit to allow individual points in a circuit to be specified and analyzed.

Running the Examples


Launch T-Spice. Use File > Open to open the specified SPICE (.sp) file. Use Simulation > Run Simulation to start the simulation. In the Run Simulation dialog, under Waveform options choose Show during. Click Start Simulation. W-Edit will automatically display the results.

Example 1: DC Operating Point Analysis


DC operating point analysis finds a circuits steady-state condition, obtained (in principle) after the input voltages have been applied for an infinite amount of time. Schematic Input Output
invert1.sdb invert1.sp invert1.out

S-Edit User Guide

104

Chapter 7: Circuit Analysis Tutorials

Example 1: DC Operating Point Analysis

Schematic

This CMOS inverter is also used in Example 2: DC Transfer Analysis on page 107 and Example 3: Transient Analysis on page 108. Most of the module instances visible in the main schematic Page0 of module invert1 have SPICE OUTPUT properties associated with them. For example, module Operating point consists of a labeled rectangular (box) symbol and the property
[SPICE OUTPUT=.op]

When the schematic is exported as a SPICE netlist (T-Spice input file), this module becomes the .op command. Similarly, module MOSFET_P has the property
[SPICE OUTPUT=M# %{D} %{G} %{S} %{B} ${model} L=${L} W=${W} AD=${AD} PD=${PD} AS=${AS} PS=${PS}]

The variables prefixed by % are replaced by the appropriate node names, and the variables prefixed by $ are replaced by the appropriate (numerical or string) values (also specified as properties), in the exported netlist. Property values specified when the module is instanced take precedence over default values: in this case, the default values for the transistors width and length are 22u and 2u, respectively, but these are overridden by the specifications W=12u and L=5u at the level of this modules instancing in module invert1.

Input
c2 out Gnd 800ff .include ml2_125.md m1p out in Vdd Vdd pmos L=5u W=12u m1n out in Gnd Gnd nmos L=5u W=8u .op

S-Edit User Guide

105

Chapter 7: Circuit Analysis Tutorials

Example 1: DC Operating Point Analysis

Vdd Vdd Gnd 3.0 vin in Gnd 1.0 .END

A capacitor c2 (signified by the key letter c), connecting nodes out and GND, is defined, with a capacitance of 800 femtofarads. (Strictly speaking, the capacitor could be omitted from the circuit for this example, since it does not affect the DC operation of the inverter.) The .include command causes T-Spice to read in the contents of the model file ml2_125.md for the evaluation of transistors m1n and m1p. This file (which must be in the same directory as invert1.sp) consists of two .model commands, describing two MOSFET models called nmos and pmos:
.model nmos nmos + Level=2 + Nsub=1.066E+16 + Gamma=.639243 + Uexp=4.612355E-2 + Vmax=177269 + Nfs=4.55168E+12 + Tpg=1.000 + Cgdo=2.89E-10 + Cjsw=1.74E-10 .model pmos pmos + Level=2 + Nsub=6.575441E+16 + Gamma=0.618101 + Uexp=8.886957E-02 + Vmax=63253.3 + Nfs=1.668437E+11 + Tpg=-1.000 + Cgdo=3.35E-10 + Cjsw=2.23E-10

Ld=0.0u Vto=0.622490 Phi=0.31 Ucrit=174667 Xj=.9u Neff=4.68830 Rsh=60 Cj=3.27E-04 Mjsw=0.195

Tox=225.00E-10 Kp=6.326640E-05 Uo=1215.74 Delta=0.0 Lambda=0.0 Nss=3.00E+10 Cgso=2.89E-10 Mj=1.067

Ld=.03000u Vto=-0.63025 Phi=.541111 Ucrit=637449 Xj=0.112799u Neff=0.64354 Rsh=150 Cj=4.75E-04 Mjsw=.307

Tox=225.000E-10 Kp=2.635440E-05 Uo=361.941 Delta=0.0 Lambda=0.0 Nss=3.00E+10 Cgso=3.35E-10 Mj=.341

ml2_125.md assigns values to various Level 2 MOSFET model parameters for both n- and p-type devices. When read by the input file, these parameters are used to evaluate Level 2 MOSFET model equations, and the results are used to construct internal tables of current and charge values. Values read or interpolated from these tables are used in the computations called for by the simulation.

Two transistors, m1n and m1p, are defined in invert1.sp. These are MOSFETs, as indicated by the key letter m which begins their names. Following each transistor name are the names of its terminals. The required order of terminal names is: draingatesourcebulk. Then the model name (nmos or pmos in this example), and physical characteristics such as length and width, are specified. The .op command performs a DC operating point calculation and writes the results to the file specified in the Simulate > Start Simulation dialog. Two voltage sources are defined: Vdd, which sets node Vdd to 3.0 volts relative to system ground, and vin, which sets node in to 1.0 volt relative to ground.

Output
The output file lists the DC operating point information for the circuit described by the input file (in addition to comments of various kinds, not shown here).
DC ANALYSIS v(out) = 2.9309e+00 v(in) = 1.0000e+00

S-Edit User Guide

106

Chapter 7: Circuit Analysis Tutorials

Example 2: DC Transfer Analysis

v(Vdd) i(Vdd) i(vin)

= = =

3.0000e+000 -5.8215e-006 0.0000e+000

Example 2: DC Transfer Analysis


DC transfer analysis is used to study the voltage or current at one set of points in a circuit as a function of the voltage or current at another set of points. This is done by sweeping the source variables over specified ranges, and recording the output. Schematic Input Output
invert2.sdb invert2.sp invert2.out

Schematic

Input
.include ml2_125.md m1n out in GND GND nmos l=5u w=8u m1p out in vdd vdd pmos l=5u w=12u c2 out GND 800ff vdd vdd GND 3.0 vin in GND 1.0 .dc vin 0 3 0.02 vdd 2 4 0.5 .print dc in out

S-Edit User Guide

107

Chapter 7: Circuit Analysis Tutorials

Example 3: Transient Analysis

This circuit is identical to that of Example 1: DC Operating Point Analysis on page 104. The .dc command, indicating transfer analysis, is followed by a list of sources to be swept, and the voltage ranges across which the sweeps are to take place. In this example, vin will be swept from 0 to 3 volts in 0.02 volt increments, and vdd will be swept from 2 to 4 volts in 0.5 volt increments. The transfer analysis will be performed as follows: vdd will be set at 2 volts and vin will be swept over its specified range; vdd will then be incremented to 2.5 volts and vin will be reswept over its range; and so on, until vdd reaches the upper limit of its range. The .dc command ignores the values assigned to the voltage sources vdd and vin in the voltage source statements, but they must still be declared in those statements. The results for nodes in and out are reported by the .print dc command to the specified destination.

Output

Example 3: Transient Analysis


Transient analysis provides information on how circuit elements vary with time. The basic T-Spice command for transient analysis has three modes. In the default mode, the DC operating point is computed, and T-Spice uses this as the starting point for the transient simulation. Example 3 illustrates this option. (The other modes, powerup and preview, are treated in Example 7:

S-Edit User Guide

108

Chapter 7: Circuit Analysis Tutorials

Example 3: Transient Analysis

Transient Analysis, Powerup Mode on page 118 and Example 8: Transient Analysis, Preview Mode on page 120.) Schematic Input Output
invert3.sdb invert3.sp invert3.out

Schematic

Input
.include ml2_125.md m1n out in GND GND nmos l=5u w=8u m1p out in vdd vdd pmos l=5u w=12u c2 out GND 800ff vdd vdd GND 3.0 vin in GND PWL(0ns 0V 100ns 0V 105ns 3V 200ns 3V 205ns 0V 300ns + 0V 305ns 3V 400ns 3V 405ns 0V 500ns 0V 505ns 3V 600ns 3V) .tran 2n 600n .print tran in out

This circuit is identical to that of Example 1, except that voltage source vin, instead of setting the voltage between nodes in and GND at a constant value, here generates a piecewise linear waveform input (indicated by the keyword PWL) to in. The successive legs of the waveform are delimited by the corners, whose times and voltages are specified in the arguments to PWL. Between 0 and 100 nanoseconds, the voltage at in is zero; between

S-Edit User Guide

109

Chapter 7: Circuit Analysis Tutorials

Example 4: AC Analysis

100 and 105 nanoseconds, the voltage is linearly interpolated (ramps up) between 0 and 3; between 105 and 200 nanoseconds, the voltage stays at 3; and so on. The parameters of the device statement that defines vin are continued to the next line with the + character in the first column. The .tran command specifies the characteristics of the transient analysis to be performed: it will last for 600 nanoseconds, with time steps no larger than 2 nanoseconds.

Output

Example 4: AC Analysis
AC analysis characterizes the circuits behavior dependence on small-signal input frequency. It involves three steps: (1) calculating the DC operating point; (2) linearizing the circuit; and (3) solving the linearized circuit for each frequency. Example 4 involves a standard operational amplifier, consisting of seven MOSFETs (four n-channel and three p-channel) and two capacitors. Schematic Input Output
opamp.sdb opamp.sp opamp.out

S-Edit User Guide

110

Chapter 7: Circuit Analysis Tutorials

Example 4: AC Analysis

Schematic

Input
.include ml2_125.md mn1 vn1 vbias GND GND nmos l=10u w=6u mn2 vm1 in1 vn1 GND nmos l=6u w=6u mn3 vf1 in2 vn1 GND nmos l=6u w=6u mp1 vm1 vm1 Vdd Vdd pmos l=6u w=6u mp2 vf1 vm1 Vdd Vdd pmos l=6u w=6u mn4 out vbias GND GND nmos l=10u w=6u mp3 out vf1 Vdd Vdd pmos l=6u w=20u cout out GND 2pf ccomp vf1 out 2pf vin1 in1 GND 2 Vdd Vdd GND 5.0 vbias vbias GND 0.8 vdiff in2 in1 -0.0007 AC 1 90 .ac DEC 5 1 100MEG .print ac vdb(out) .print ac vp(out) .acmodel opamp1m.out {*}

Three voltage sources (besides Vdd) are defined.


vdiff sets the DC voltage difference between nodes in2 and in1 to 0.0007 volts; its AC magnitude is 1 volt and its AC phase is 90 degrees. vin1 sets node in1 to 2 volts, relative to GND. vbias sets node vbias to 0.8 volts, relative to GND.

The .ac command performs an AC analysis. Following the .ac keyword is information concerning the frequencies to be swept during the analysis. In this case, the frequency is swept logarithmically, by

S-Edit User Guide

111

Chapter 7: Circuit Analysis Tutorials

Example 5: Subcircuits

decades (DEC); 5 data points are to be included per decade; the starting frequency is 1 Hz and the ending frequency is 100 MHz. The two .print commands write the voltage magnitude (in decibels) and phase (in degrees), respectively, for the node out to the specified file. The .acmodel command writes the small-signal model parameters and operating point voltages and currents for all circuit devices (indicated by the wildcard symbol *) to the file opamp1m.out. This example will generate two output files: opamp1.out, specified by the Simulate > Start Simulation command, and opamp1m.out, specified by the .acmodel command.

Output
The output file opamp1m.out lists small-signal data for all relevant devices.

Example 5: Subcircuits
Subcircuit definitions allow arbitrarily complex arrangments of nodes and devices to be easily reused multiple times in a circuit. Example 5 uses a NAND gate to illustrate the use of subcircuit definitions and subcircuit parameters. Schematic
nandgate.sdb

S-Edit User Guide

112

Chapter 7: Circuit Analysis Tutorials

Example 5: Subcircuits

Input Output

nandgate.sp nandgate.out

Schematic

Input
.include ml2_125.md .subckt NAND in1 in2 out Vdd length=5u nwidth=10u pwidth=10u mt1 out in1 n1 GND nmos l='length' w='nwidth' mt2 n1 in2 GND GND nmos l='length' w='nwidth' mt3 out in1 Vdd Vdd pmos l='length' w='pwidth' mt4 out in2 Vdd Vdd pmos l='length' w='pwidth' .ends xnand1 a b outab Vdd NAND nwidth=8u pwidth=12u vvdd Vdd GND 5.0 .ic nand1.n1=2V va a GND PWL(0ns 0V 100ns 0V 105ns 5V 200ns 5V 205ns 0V + 300ns 0V 305ns 5V 400ns 5V 405ns 0V 500ns 0V 505ns 5V + 600ns 5V) vb b GND 5 .print tran a outab nand1/n1 .op .tran 1n 600n

Subcircuits are defined by blocks of device statements bracketed with the .subckt and .ends commands, and instanced by statements beginning with the key letter x. The .subckt command includes the name of the subcircuit being defined (NAND), a list of terminals, and three subcircuit parameters. The terminals do not have a predefined order, but whatever order is used in the definition must be used in instances. Parameters can be written in any order in both

S-Edit User Guide

113

Chapter 7: Circuit Analysis Tutorials

Example 5: Subcircuits

definition and instances. Parameter values specified in the definition are used as defaults when not specified in instances. Within the subcircuit definition, four MOSFETs are defined in the usual manner (and in these statements the order of terminals is important: draingatesourcebulk). Node n1 is the source of transistor mt1 and the drain of transistor mt2. Subcircuit parameters, enclosed by single quotes, are used in place of numerical values. The subcircuit definition must be terminated by the .ends command. It is a common mistake to omit this line accidentally. After the subcircuit is defined, an instance of the subcircuit is created. The instance statement begins with the key letter x, but the name of the instance (by which it is to be identified in the rest of the input file) is nand1, not xnand1. The list of terminals on the instance statement must have the same order as on the first line of the subcircuit definition: a b outab Vdd (instance) corresponds to in1 in2 out Vdd (definition). The next argument of the instance statement is the original subcircuit name (NAND). Two of the default subcircuit parameter values, as originally specified by the definition, are overriden by instance-specific assignments. These assignments may appear in any order. The parameter omitted from the instance statement (length) retains its default value. Initial conditions on node voltages and currents can be set for the purposes of computing the DC operating point. The .ic command sets node nand1/n1 (that is, node n1 of instance nand1) to 2 volts for the duration of the DC operating point calculation. When the transient analysis begins, the node will return to a floating voltage state. Voltage source va supplies a PWL (piecewise linear) input waveform to node a. Two analyses are carried out on this circuit: a DC operating point calculation (.op) and a transient simulation (.tran) with a duration of 600 nanoseconds and a maximum timestep of 1 nanosecond. The .print command reports the results of the simulation for the voltages at nodes a, outab, and nand1/
n1.

S-Edit User Guide

114

Chapter 7: Circuit Analysis Tutorials

Example 6: Transient Analysis

Output

Example 6: Transient Analysis


Transient analysis on a CMOS static D-latch demonstrates the analog D-latch characteristics of a digital circuit. The circuit has four inverters and four transmission gates. Schematic Input Output
dlatch.sdb dlatch.sp dlatch.out

S-Edit User Guide

115

Chapter 7: Circuit Analysis Tutorials

Example 6: Transient Analysis

Schematic

Input
.include ml2_125.md *** Inverter Subcircuits .subckt invmod1 in out vdd GND mn out in GND GND nmos l=5u w=8u mp out in vdd vdd pmos l=5u w=12u .ends invmod1 .subckt invmod2 in out vdd GND mp vdd in out vdd pmos l=5u w=12u mn GND in out GND nmos l=5u w=8u .ends invmod2 *** D Latch Circuit mtg1p n1 phi1 data vdd pmos l=5u w=12u mtg1n n1 phi2 data GND nmos l=5u w=8u mtg2p n2 phi2 n1 vdd pmos l=5u w=12u mtg2n n2 phi1 n1 GND nmos l=5u w=8u xinv1 n1 n3 vdd GND invmod1 xinv2 n3 n2 vdd GND invmod2 mtg3p n5 phi2 n3 vdd pmos l=5u w=12u mtg3n n5 phi1 n3 GND nmos l=5u w=8u mtg4p n4 phi1 n5 vdd pmos l=5u w=12u mtg4n n4 phi2 n5 GND nmos l=5u w=8u xinv3 n5 Q vdd GND invmod1 xinv4 Q n4 vdd GND invmod2 cQ Q GND 64ff cdata data GND 32ff cphi2 phi2 GND 204ff cphi1 phi1 GND 212ff cn4 n4 GND 24ff cn1 n1 GND 96ff

S-Edit User Guide

116

Chapter 7: Circuit Analysis Tutorials

Example 6: Transient Analysis

cn3 n3 GND 64ff cn2 n2 GND 24ff cn5 n5 GND 96ff * All time specs x5 vphi1 phi1 GND bit ({0011} vphi2 phi2 GND bit ({1100} vdata data GND bit ({1000} vvdd vdd GND 3 .print tran phi1 phi2 data .tran 0.2n 200n

pw=10n off=0.0 on=3.0 rt=1.25n ft=1.25n) pw=10n off=0.0 on=3.0 rt=1.25n ft=1.25n) pw=20n off=0.0 on=3.0 rt=1.25n ft=1.25n) n1 n3 n5 Q

The first three statements beginning with v define voltage sources for custom input waveforms. Following each voltage source name are the names of the input nodes and the type of waveform. Here, however, not piecewise linear but rather bit waveforms are used. Following the keyword bit in parentheses are the parameters specifying the waveform characteristics. The four-digit sequence in curly brackets { } specifies the sequence of the waves states (either 1, on, or 0, off). This sequence will be repeated until the simulation is complete. The pulse width (pw) is 2 nanoseconds. The off voltage is zero, the on voltage is 3 volts, and the rise (rt) and fall (ft) times are each one-quarter of a nanosecond. Voltage source vdd sets the voltage between power and ground to 3 volts. The .print command writes the results of the simulation for the voltages at six nodes to the specified file. The .tran command instructs T-Spice to perform a 200-nanosecond simulation while printing node voltages at least every 0.2 nanoseconds.

S-Edit User Guide

117

Chapter 7: Circuit Analysis Tutorials

Example 7: Transient Analysis, Powerup Mode

Output

Example 7: Transient Analysis, Powerup Mode


Some circuits do not have a DC steady state or quiescent point. Because such circuits are constantly fluctuating with time, finding the starting point for their simulation is a problem. More precisely, the question is how to define the initial state of a circuit which has no definite DC steady-state condition. This is done in T-Spice with the powerup option of the .tran command. The powerup option essentially sets the entire circuit to zero for time equal to zero. As the simulation proceeds, the voltage sources are allowed to ramp up to their specified values. The ring oscillator is an example of such a time-dependent circuit. Schematic Input Output
ring.sdb ring.sp ring.out

S-Edit User Guide

118

Chapter 7: Circuit Analysis Tutorials

Example 7: Transient Analysis, Powerup Mode

Schematic

Input
.include ml2_125.md .subckt inv in out Vdd mt1 out in GND GND nmos l=5u w=8u mt2 out in Vdd Vdd pmos l=5u w=12u c2 out GND 800ff .ends inv xinv1 a1 a2 Vdd inv xinv2 a2 a3 Vdd inv xinv3 a3 a4 Vdd inv xinv4 a4 a5 Vdd inv xinv5 a5 a6 Vdd inv xinv6 a6 a7 Vdd inv xinv7 a7 a1 Vdd inv cinv1 a7 GND 400ff vdd Vdd GND 3.0 .print tran a1 a2 a7 .tran/powerup 1n 800n

A subcircuit named inv is defined with three terminals. (This inverter is structurally identical to the one used in Example 1 and Example 4.) Seven instances of the subcircuit, with names inv1 through inv7, are defined next. The output of each inverter is connected to the input of the next in the ring. The powerup option of the .tran command eliminates the DC convergence problem for unstable circuits. If the powerup option were not specified, then T-Spice would try to calculate a DC operating point, which would lead to problems for this oscillator.

S-Edit User Guide

119

Chapter 7: Circuit Analysis Tutorials

Example 8: Transient Analysis, Preview Mode

Output

Example 8: Transient Analysis, Preview Mode


Before a lengthy transient simulation is run on a large circuit, the input waveforms can be examined using the preview option of the .tran command. This option causes T-Spice to report specified input stimuli only, and to forego simulation of the remainder of the circuit. Input Output
wave.sp wave.out

Schematic
In addition to illustrating the preview mode, this simple wave circuit showcases the variety and flexibility of input patterns available to current and voltage sources in T-Spice. For a description of this circuit, see Input, below.

Input
r1 r2 r3 r4 r5 n1 n2 n3 n4 n5 GND GND GND GND GND 2k 2k 2k 2k 2k

S-Edit User Guide

120

Chapter 7: Circuit Analysis Tutorials

Example 8: Transient Analysis, Preview Mode

r6 n6 GND 2k r7 n7 GND 2k r8 n8 GND 2k r9 n9 GND 2k v1 n1 GND pwl (0n 0 100n 0 101n 5 300n 5 301n 0 + 500n 0 680n 5 700n 0 880n 5 900n 0) v2 n2 GND pwl (0n 0 100n 0 101n 1 200n 1 201n 2 300n 2 301n 3 + 400n 3 401n 4 500n 4 501n 5 600n 5 601n 4 + 700n 4 701n 3 800n 3 801n 2 900n 2 901n 1) v3 n3 GND sin (2.5 2.5 30MEG 100n) v4 n4 GND bit ({01010 11011} on=5.0 off=0.0 pw=50n rt=10n ft=30n) v5 n5 GND bit ({5(01010 5(1))} pw=10n on=5.0 off=0.0) .vector bb {n6 n7 n8 n9} vb bb GND bus ({50(Ah) 30(7d4) 20(1000)} pw=5n on=5.0 off=0.0) .print tran n1 n2 n3 n4 n5 n6 n7 n8 n9 .tran/preview 1n 1u

Nine resistor/node/voltage source combinations, numbered 1 through 9, are defined. Each resistor has a resistance of 2 kilohms; each voltage source, connected across the corresponding resistor to ground, supplies its characteristic waveform to the corresponding node. Two voltage sources, v1 and v2, generate pwl (piecewise linear) inputs. v1 produces a single pulse followed by a pair of sawtooth cycles, and v2 produces a staircase waveform which takes 1-volt steps from zero up to 5 volts and back down to 1 volt. Voltage source v3 generates a sin (sinusoidal) input. It has an amplitude of 2.5 volts, a frequency of 30 MHz, an offset of 2.5 volts from system ground, and a time delay of 100 nanoseconds after the start of the simulation before the wave begins. Voltage source v4 generates a bit input. Enclosed in curly brackets { } are two binary-valued five-bit patterns specifying the waveform. The two patterns alternate in time. The on voltage value is 5.0 volts; the off voltage value is zero. The pulse width (pw), 50 nanoseconds, is the time the wave is either (ramping up and) on, or (dropping down and) off. The rise time (rt), 10 nanoseconds, is the time given for the wave to ramp from off to on; and the fall time (ft), 30 nanoseconds, the time given for the wave to drop from on to off. Voltage source v5 generates a repeating bit input. Two distinct patterns are given again, but now multiplier factors are included. The wave consists of two alternating patterns: the first pattern contains five bits, the second is a single bit. The five-bit pattern is followed by five successive repetitions of the single-bit pattern, and this sequence is repeated five times. (The same pattern could be described by {5(3(01) 4(1))}.) The pulse width and on and off voltages are again specified, but the rise and fall times take default values. The .vector command defines the bus waveform generated by voltage source vb. The command assigns the bus a name (bb) and specifies by name the number of bits the bus waveform will have (four: n6 through n9). The voltage source statement, which contains the bus keyword, specifies waveforms with one or more patterns, along with pulse width and level information. The patterns can be in binary, hexadecimal, octal, or decimal notation. (For decimal patterns the number of lower-order bits to be collected is also given.) The first pattern is Ah (hex) = 1010 (binary). Thus, using the names given on the .vector command, n6=1, n7=0, n8=1, and n9=0. The pattern is repeated 50 times (that is, maintained for a time period equal to the pulse width multiplied by 50). The next pattern is 7d4 that is, 7 (decimal) = 111 (binary), or, to four lower-order bits, 0111. So n6=0, n7=1, n8=1, and n9=1. The pattern is repeated 30 times. The last pattern is 1000 (binary), so n6=1, n7=0, n8=0, and n9=0. The pattern is repeated 20 times.

S-Edit User Guide

121

Chapter 7: Circuit Analysis Tutorials

Example 9: Noise Analysis

The .print command writes the results at the output nodes of all nine voltage sources. The .tran preview command reports the input waveforms in place of running the simulation.

Output

Example 9: Noise Analysis


Real circuits, of course, are never immune from small, random fluctuations in voltage and current levels. In T-Spice, the influence of noise in a circuit can be simulated and reported in conjunction with AC analysis. The purpose of noise analysis is to compute the effect of the noise associated with various circuit devices on an output voltage or voltages as a function of frequency. Schematic Input Output
opamp2.sdb opamp2.sp opamp2.out

Schematic
For a description of this circuit, see Example 4.

Input
.include ml2_125.md

S-Edit User Guide

122

Chapter 7: Circuit Analysis Tutorials

Example 9: Noise Analysis

mn1 vn1 vbias GND GND nmos l=10u w=6u mn2 vm1 in1 vn1 GND nmos l=6u w=6u mn3 vf1 in2 vn1 GND nmos l=6u w=6u mp1 vm1 vm1 Vdd Vdd pmos l=6u w=6u mp2 vf1 vm1 Vdd Vdd pmos l=6u w=6u mn4 out vbias GND GND nmos l=10u w=6u mp3 out vf1 Vdd Vdd pmos l=6u w=20u cout out GND 2pf ccomp vf1 out 2pf vin1 in1 GND 2 Vdd Vdd GND 5.0 vbias vbias GND 0.8 vdiff in2 in1 -0.0007 AC 1 90 .ac DEC 5 1 100MEG .noise v(out) vbias .print noise inoise onoise transfer dn(mn1) inoise(tot) onoise(tot)

Noise analysis is performed in conjunction with AC analysis; if the .ac command is missing, then the .noise command is ignored. With the .ac command present, the .noise command causes noise analysis to be performed at the same frequencies: starting at 1 Hz, ending at 100 MHz, 5 data points per decade. The .noise command takes two arguments: the output at which the effects of noise are to be computed, and the input at which the noise can be considered to be concentrated for the purposes of estimating the equivalent noise spectral density. The .print noise command, with six arguments, writes to the output file 11 numbers for each frequency analyzed. Many other options are available.

S-Edit User Guide

123

Chapter 7: Circuit Analysis Tutorials

Example 10: Direct Model Evaluation

Output

Example 10: Direct Model Evaluation


T-Spice employs two fundamental techniques of simulation: direct model evaluation and table-based evaluation. In direct model evaluation, values are computed as needed from analytical equations, returning results as accurate as the models used allow. In table-based evaluation, tables of values are precomputed from analytical equations at finite resolution, and needed values are linearly interpolated from stored values. This technique is slightly less accurate, but is significantly faster. Table-based evaluation is T-Spices default simulation technique. Direct model evaluation can be explicitly called for, as in Example 10, which repeats the transient analysis of the inverter of Example 1. Schematic Input Output
invert4.sdb invert4.sp invert4.out

S-Edit User Guide

124

Chapter 7: Circuit Analysis Tutorials

Example 10: Direct Model Evaluation

Schematic

Input
.options deftables=0 .include ml2_125.md m1n out in GND GND nmos l=5u w=8u m1p out in vdd vdd pmos l=5u w=12u c2 out GND 800ff vdd vdd GND 3.0 vin in GND PWL(0ns 0V 100ns 0V 105ns 3V 200ns 3V 205ns 0V 300ns + 0V 305ns 3V 400ns 3V 405ns 0V 500ns 0V 505ns 3V 600ns 3V) .tran 2n 600n .print tran in out

This input file is identical to that of Example 1, with one addition: the command .options deftables=0, which turns off default table generation and causes the circuit to be simulated by direct evaluation of device models.

Output
Compare invert4.out, obtained using direct model evaluation, to invert1.out, obtained using internal table-based evaluation. For the inverter or other digital circuits there will be only slight differences in the results. For analog circuits, however, there can be greater discrepancies between results from the two evaluation techniques.

S-Edit User Guide

125

Chapter 7: Circuit Analysis Tutorials

Example 11: Transistor Subthreshold Behavior

Example 11: Transistor Subthreshold Behavior


Modern analog designs are required to meet strict specifications with tight tolerances. Designers therefore need models that can accurately simulate semiconductor device behavior over all regions of operation. It has been traditionally difficult to model the operation of MOSFETs in the subthreshold region, particularly through the transition from subthreshold to above threshold. This region is of special interest to designers of low-power and advanced analog designs, in which MOSFETs are sometimes intentionally biased to operate in this transition region. In subthreshold, the saturation drain current of a MOSFET is an exponential function of the gate voltage, and the drain current saturates at a drain voltage that is independent of gate voltage. Well above threshold, the transistor drain current is a quadratic function of the gate voltage, and the drain current saturates at a drain voltage which is a function of the gate voltage. T-Spice supports the simulation of MOSFETs in the subthreshold region in the following ways. The BSIM3 models (revisions 2 and 3) in the Advanced Model Package include subthreshold characteristics. The Maher-Mead model simulates MOSFETs over all regions of operation with continuous functions for superior accuracy and convergence. The T-Spice simulation engine can accurately simulate low-current operation without convergence problems even when internal tables are used for improved speed.

S-Edit User Guide

126

Chapter 7: Circuit Analysis Tutorials

Example 11: Transistor Subthreshold Behavior

Example 11 simulates the gate characteristics of a transistor in subthreshold by sweeping its gate voltage while holding its drain voltage fixed. Input Output
trangm.sp trangm.out

Input
.include ml5_20.md mn5 drain gate GND GND nmos l=10u w=6u vdrain drain GND 5 vgate gate GND 0.85 .dc vgate .5 1.5 0.01 .print dc id(mn5) .options abstol=1E-14

Voltage source vgate is attached to the gate terminal of the MOSFET mn5 and is swept from 0.5 to 1.5 volts with the .dc command. Voltage source vdrain is attached to the drain terminal with a fixed value of 5 volts, which keeps the transistor well in saturation. The source and bulk terminals are grounded. The .print dc command reports the current through the drain terminal of mn5. The .options abstol command changes the absolute value of the current tolerance that T-Spice uses, so that low-current and subthreshold behavior can be simulated accurately. The results are quite accurate when T-Spice uses internal tables (its default simulation technique) to represent the model. More accuracy can be achieved by defining a larger gridsize (finer resolution for example, .gridsize mos 500 500 500), or by using direct model evaluation (with the .options deftables=0 command), but this is not necessary in most cases.

Output
The output is a logarithmic plot of the drain current against the gate voltage. The logarithm of the current is a straight line for low gate voltages and shows a smooth transition between low-current exponential behavior and high-current quadratic behavior.

S-Edit User Guide

127

Chapter 7: Circuit Analysis Tutorials

Example 12: MOS Transconductance Amplifier

Example 12: MOS Transconductance Amplifier


The basic transconductance amplifier produces an output current proportional in magnitude to the difference between the input voltages. Proper modeling of the transconductance amplifiers output current behavior, over a broad range of differential voltages, requires accurate subthreshold modeling of its transistors. Otherwise, the predicted trasnconductance characteristics will be inaccurate. This circuit can be simulated correctly in subthreshold by T-Spice. Schematic Input Output
transamp.sdb transamp.sp transamp.out

S-Edit User Guide

128

Chapter 7: Circuit Analysis Tutorials

Example 12: MOS Transconductance Amplifier

Schematic

Input
.include ml5_20.md mn1 vn1 vbias GND GND nmos l=10u w=6u mn2 vm1 in1 vn1 GND nmos l=6u w=6u mn3 out in2 vn1 GND nmos l=6u w=6u mp1 vm1 vm1 Vdd Vdd pmos l=6u w=6u mp2 out vm1 Vdd Vdd pmos l=6u w=6u vin1 in1 GND 2 Vdd Vdd GND 5.0 vbias vbias GND 0.7 vdiff in2 in1 0.0 vout out GND 2.5 .options abstol=1E-14 .dc vdiff -1 1 0.01 .print dc i1(vout)

This circuit is identical to the one described in Example 4, except that the output stage (inverter) has been removed, and a voltage source has been connected to the output so that the transconductance characteristics of the amplifier can be measured. The .options abstol command changes the absolute value of the current tolerance that T-Spice uses, so that low-current and subthreshold behavior can be simulated accurately.

S-Edit User Guide

129

Chapter 7: Circuit Analysis Tutorials

Design Examples

Output

Design Examples
Following are design examples created and simulated by T-Spice Pro. Use S-Edit to run all of the examples.

Wide-Band GaAs IC Amplifier


This example describes the design and performance of a wide-band GaAs IC amplifier. The amplifier consists of two cascaded stages. It features a high-voltage gain (>20 dB), wide bandwidth, and very low input VSWR. This amplifier is useful for many signal processing and instrument/measurement applications. The example consists of four sub-examples for characterizing the AC, DC and transient performance and measuring S-parameters of the circuit. The example files are in the ~\example\gaasamp directory. The contents of the directory are: gaas.mdGaAs amp_ac.sdb amp_dc.sdb MESFET and diode model parameters for the example. The amplifier schematic, containing commands for AC, noise, and small-signal parameter analysis. The amplifier schematic, containing commands for DC transfer analysis.

S-Edit User Guide

130

Chapter 7: Circuit Analysis Tutorials

Design Examples

amp_spar.sdb amp_tran.sdb

The amplifier schematic, containing commands for analyzing the scattering parameters of the circuit. The amplifier schematic, containing commands for transient analysis.

AC Analysis Example
Use File > Open to open amp_ac.sdb. Use Module > Open to open module amp_ac (the top module) if it is not already open. Follow the procedures described in the Waveform Probing Tutorial on page 138 to export, simulate and probe the design. To probe into a subcircuit, select the subcircuit and use the Probe toolbar buttons to move through different levels. Click the Probe Push button to get into the next lower level of the circuit, the Probe Pop button to go back to the next higher level, and the Probe Top Level button to go to the top level. Use the analysis buttons on the Probe toolbar to view the results of different types of analyses. Select the AC/Noise button and click on nodes to view AC analysis results. Click on devices to view noise analysis results. Select the Operating Point/Small Signal button and click on nodes to view DC operating point values. Click on devices for small signal parameters. The measurement results are listed in the output file amp_ac.out.

DC Analysis Example
Use File > Open to open amp_dc.sdb. Use Module > Open to open module amp_dc (the top module) if it is not already open. Follow the procedures described in the Waveform Probing Tutorial on page 138 to export, simulate, and probe the design. Select the DC Transfer button in the Probe toolbar. Click on nodes to view DC transfer analysis results. Select the Operating Point/Small Signal button and click on nodes to view DC operating point values. Click on devices for small signal parameters.

Transient Analysis Example


This example contains a polynomial voltage controlled voltage source. This provides a ramp-up sinusoidal wave as an input source. Use File > Open to open amp_tran.sdb. Use Module > Open to open module amp_tran (the top module) if it is not already open. Follow the procedures described in the Waveform Probing Tutorial on page 138 to export, simulate, and probe the design.

S-Edit User Guide

131

Chapter 7: Circuit Analysis Tutorials

Design Examples

Use the analysis buttons on the Probe toolbar to view the results of different types of analyses. Select the Transient button and click on nodes to view transient analysis results. Click on devices to view noise analysis results. Select the Operating Point/Small Signal button. Click on nodes to view DC operating point values. Click on devices for small signal parameters.

S-parameter measurement example


Use File > Open to open amp_spar.sdb. Use Module > Open to open module amp_spar (the top module) if it is not already open. The circuit is wired in the same way that s-parameters are measured. The module amp in the circuit is the amplifier that was studied in the previous three examples. Follow the procedures described in the Waveform Probing Tutorial on page 138 to export, simulate, and probe the design. Click on ports S11, S21, S12, and S22 to find the s-parameters S11, S21, S12, and S22 of the amplifier.

Voltage Controlled Ring Oscillator


This example describes the design and performance of a voltage-controlled ring oscillator. The ring VCO consists of a control stage that provides bias and tuning voltage and seven differential cells that form a ring oscillator. The tuning voltage from the control stage controls the frequency of the ring oscillator. The applications of VCO include frequency modulators, tone generators, A/D converters, and digital voltmeters. The example files are in the ~\example\ringvco directory. The contents of the directory are:
mosis2u.md

MOSIS MOSFET 2um model parameters. This is the model that is used in simulating the design. The ring oscillator schematic, containing commands for transient analysis. A small library of technology setup modules which can be included in S-Edit schematics. Some of these modules are used in the above design. An external T-Spice macromodel of a voltage-controlled oscillator. A DLL which contains the VCO macromodel described above. This DLL is used by T-Spice during simulation. A Spice file showing the performance of the VCO macro-model. This file has macromodel parameters that were tuned to match the performance of the actual circuit in ringvco.sdb.

ringvco.sdb

tech.sdb

vco.c vco.dll

vcomacro.sp

Use File > Open to open ringvco.sdb. Use Module > Open to open module ringvco (the top module) if it is not already open.

S-Edit User Guide

132

Chapter 7: Circuit Analysis Tutorials

Design Examples

Follow the procedures described in the Waveform Probing Tutorial on page 138 to export, simulate, and probe the design. This example will be modeled using the user-defined external model feature in T-Spice. The file vco.c is the ring VCO model written in the C programming language. You can compile and build the file into a dynamically linked library, vco.dll, before you simulate the circuit. You can then include vco.dll in the SPICE file for simulation in T-Spice. Use File > Open to open vcomacro.sp. This file includes the file vco.dll. Select Simulation > Run Simulation to simulate the file.

Note:

For more information on the external model feature in T-Spice, refer to the User-Defined External Models section in the T-Spice User Guide and Reference.

8-Bit Analog-to-Digital Converter


The design used in this example is an 8-bit analog-to-digital converter (ADC). The converter digitizes music signals with a frequency range of 20Hz20kHz. Due to the limitations of practical anti-aliasing filters, the sampling rate is set to be 83 kHz, about twice the Nyquist rate. The A/D conversion time is 12ms. In order to archive 8-bit accuracy, the quantization error should be less than 0.01V. The example file is in the ~\example\adc directory. Use File > Open to open adc8.sdb. Use Module > Open to open module adc_sp (the top module) if it is not already open. Follow the procedures described in the Waveform Probing Tutorial on page 138 to export, simulate, and probe the design.

S-Edit User Guide

133

Chapter 8: Waveform Probing

Waveform Probing

Introduction
This chapter describes T-Spice Pros waveform probing feature. Waveform probing integrates S-Edit, T-Spice, and W-Edit to allow individual points in a circuit to be analyzed. The probing process has three stages. In the export stage, S-Edit generates a SPICE file from the design. In the simulation stage, T-Spice simulates the SPICE file to create a data file with information about voltages and currents for each node and device in the design and for each analysis specified in the SPICE file. In the probing stage, W-Edit displays traces from the probe data file corresponding to an analysis type and a specific net or device selected in S-Edit.

Export
Setup > Probing
S-Edits Setup > Probing command specifies waveform probing options. This dialog can also be opened by clicking Setup under Waveform Probing Options in the File > Export (page 135) dialog.

S-Edit User Guide

134

Chapter 8: Waveform Probing

Export

Enable waveform probing

Turning this switch on enables waveform probing. (This switch is identical to the Enable waveform probing switch in the File > Export dialog.) Ensures that device noise data will be included in the probe data file if a noise analysis is performed. Ensures that small-signal data will be included in the probe data file if a DC operating point is computed. The full path of the probe data file. By default, this name is identical to that of the current design file, with the extension .dat. The Browse button opens a standard Windows file browser. Which characteristics of a complex current or voltage will be displayed simultaneously for an AC analysis probe: magnitude (in dB), magnitude (in A or V), phase (in degrees), the real component (in A or V), or the imaginary component (in A or V).

Include device noise contributions in probe data file Include small-signal parameters in probe data file Probing data file location

AC Analysis Probing Options

File > Export


S-Edits File > Export command exports the design to a SPICE file and specifies several Waveform Probing Options.

Enable waveform probing

Turning this switch on enables waveform probing. (This switch is identical to the Enable waveform probing switch in the Setup > Probing (page 134) dialog.) The Setup button opens the Setup > Probing (page 134) dialog. The full path of the probe data file. By default, this name is identical to that of the output file, with the extension .dat. The Browse button opens a standard Windows file browser.

Probe Data File Location

S-Edit User Guide

135

Chapter 8: Waveform Probing

Simulation

Simulation
After S-Edit has exported the SPICE file with waveform probing enabled, the SPICE file can be simulated by T-Spice. S-Edit automatically adds the .probe simulation command to the top of the exported SPICE file. For proper simulation, the SPICE file must also contain other T-Spice commands that specify the desired types of analysis. By default, the information placed in the probe data file for each type of analysis is as follows: Voltages for every node in the design. Currents through every voltage source in the design. Noise contributions for every relevant device (if the Include device noise contributions in probe data file switch was enabled before export). Small-signal parameters for every relevant device (if the Include small-signal parameters in probe data file switch was enabled before export).

Probing
Probe Tool
Once simulation has begun and the probe data file is being created, S-Edits Probe tool can be used to specify nodes and devices for probing, even while the simulation is running. The Probe tool is located in the Schematic toolbar.

Left click
Clicking a port, label, or wire with the left mouse button probes the voltage of the selected net with the analysis type selected in the Probe toolbar. When any of the transient, DC transfer, AC, or device noise analyses are selected, W-Edit is launched and displays the trace associated with the voltage or current for the selected analysis. When the DC operating point analysis or the small-signal analysis is selected, S-Edit displays a dialog showing the desired value(s). Clicking an instance with the left button does different things depending on the nature of the instanced module. If the instanced module is a subcircuit, it is selected. The user can then push into the instance to probe within the subcircuit instance if desired, using the command in the Probe Toolbar, below. If the instanced module is a voltage source, whether a standard voltage source, VCVS, or CCVS, S-Edit probes the current through the voltage source. If the instanced module is any other primitive SPICE device, S-Edit will probe for device noise if AC analysis is selected in the Probe Toolbar, below and for small-signal parameters if operating point analysis is selected in the Probe Toolbar, below.

S-Edit User Guide

136

Chapter 8: Waveform Probing

Probing

Right click
Clicking anything with the right mouse button selects the item and opens a context-sensitive menu. The commands available through this menu are:
Push Into Instance, Pop From Instance, Pop To Top-Level: Identical to their counterparts in the

Probe Toolbar, below.


Probe Transient, Probe AC, Probe DC Transfer, Probe Operating Point, Probe Device Noise, Probe Small-Signals: Probe the selected item. Setup: Executes the Setup > Probing (page 134) command.

Probe Toolbar
The commands in S-Edits Probe toolbar navigate the hierarchy and select analysis types for probing.

Push

Opens a schematic page of the instanced module. (Available when an instance is selected which is not a SPICE primitive.) Pops out of the last instance pushed into, opening the schematic page the instance was located on. (Available when not in the top level module.) Returns to the top level module. (Available when not in the top level module.) Selects the transient analysis mode for probing. Selects the AC or noise analysis mode for probing. Selects the DC transfer analysis mode for probing. Selects the DC operating point analysis or small signal parameter mode for probing. Executes the Setup > Probing (page 134) command.

Pop

Top Level

Transient

AC/Noise

DC Transfer

Operating Point/Small Signal

Probe Setup

W-Edit
When a net or device is probed using any analysis type other than operating point analysis, W-Edit is launched to display a waveform corresponding to the desired voltage, current, or noise waveform.

S-Edit User Guide

137

Chapter 8: Waveform Probing

Waveform Probing Tutorial

Traces from different S-Edit files are displayed in different W-Edit files. Traces from different analysis types appear on separate sets of axes. All selected traces are updated in runtime if T-Spice is simulating; design characteristics can be probed before the simulation is complete.

Waveform Probing Tutorial


The following brief tutorial will demonstrate the procedures to be followed in waveform probing. To follow this tutorial, you will require the S-Edit schematic file opamp3.sdb. You will also need to generate two additional files:
opamp3.sp a SPICE netlist file opamp3.dat the waveform probing data file

The design used in this tutorial is for the standard operational amplifier described in . In this exercise, however, we will add a SPICE OUTPUT property with the command .op to ensure that data for DC operating point and small-signal paramaters are included. This schematic is illustrated below.

Exporting the Netlist


Using S-Edit, open the file opamp3.sdb. If necessary, use Module > Open to open the module
opamp3.

S-Edit User Guide

138

Chapter 8: Waveform Probing

Waveform Probing Tutorial

Use File > Export to export a SPICE netlist. S-Edit will display the Export Netlist dialog box.

Check the switches Suppress .END in SPICE output and Enable waveform probing. Name the output file opamp3.sp and the probe data file opamp3.dat. Click the Setup button to access the Waveform Probing Setup dialog box.

In the Waveform Probing Options group, check the three options Enable waveform probing, Include device noise contributions in probe data file, and Include small-signal parameters in probe data file. These options instruct S-Edit to write certain commands into the SPICE netlist file (see Examining the Output, below). Click OK to return to the Export Netlist dialog. In the Export Netlist dialog, click OK to export the schematic design to the SPICE netlist opamp3.sp. If this file already exists in the specified directory, S-Edit will prompt you for permission to overwrite the existing netlist file.

S-Edit User Guide

139

Chapter 8: Waveform Probing

Waveform Probing Tutorial

Examining the Output


The resulting netlist, opamp3.sp, contains three commands used in waveform probing. The text of this netlist file is included below.
* SPICE netlist written by S-Edit Win32 2.00 * Written on Dec 29, 1997 at 16:48:29 * Waveform probing commands .probe .probe noise dn(*,TOT) .acmodel {*} .options probefilename="c:\tspro\tutorial\opamp3.dat" + probesdbfile="c:\tspro\tutorial\opamp3.sdb" + probetopmodule="opamp3" * Main circuit: opamp3 .ac DEC 5 1 100MEG .noise v(out) vbias ccomp vf1 out 2pF cout out Gnd 2pF .op mn1 vn1 N3 Gnd Gnd nmos L=10u W=6u mn2 vm1 in1 vn1 Gnd nmos L=6u W=6u mn3 vf1 in2 vn1 Gnd nmos L=6u W=6u mn4 out N3 Gnd Gnd nmos L=10u W=6u .include ml2_125.md mp1 vm1 vm1 Vdd Vdd pmos L=6u W=6u mp2 vf1 vm1 Vdd Vdd pmos L=6u W=6u mp3 out vf1 Vdd Vdd pmos L=6u W=20u .print ac vdb(out) vp(out) vbias N3 Gnd 0.8 Vdd Vdd Gnd 5.0 vdiff in2 in1 -0.0007 AC 1.0 90 vin1 in1 Gnd 2.0 * End of main circuit: opamp3

The .probe command enables S-Edit to perform waveform probing once you have simulated the SPICE file. The .probe noise dn(*,TOT) command instructs S-Edit to include device noise contributions in the probe data file, and the command .acmodel {*} instructs S-Edit to include small-signal parameters in this file. The .options command extends over three lines, with a plus sign (+) at the beginning of each runover line denoting the continuation. The probefilename option specifies the filename for the binary output produced by the .probe command. The probesdbfile option specifies the name and path of the S-Edit file from which the netlist is exported. The probetopmodule option similarly specifies the module from which the netlist is exported.

Running the Simulation


Start T-Spice by clicking the T-Spice button, which is located in the S-Edit Command toolbar. The T-Spice application window will appear with the file opamp3.sp opened in a separate window.

S-Edit User Guide

140

Chapter 8: Waveform Probing

Waveform Probing Tutorial

In T-Spice, use Simulate > Start Simulation to run the simulation. T-Spice will display the T-Spice Simulation dialog.

Use the default filename opamp3.out or specify a different filename. Check the option Show waveform during simulation to automatically invoke W-Edit for waveform display. W-Edit will display a waveform resembling this one:

Probing the Design


To probe the design, return to S-Edit. If necessary, open opamp3.sdb:opamp3.

S-Edit User Guide

141

Chapter 8: Waveform Probing

Waveform Probing Tutorial

Click the Probe tool, which is located in the Schematic toolbar.

Select the option Operating Point/Small-Signal Analysis by clicking the appropriate button in the Probing toolbar

or by right-clicking in a free area of the design to access a context-sensitive menu.

With the Probe tool, click device mn2. S-Edit will display a dialog box containing the small-signal parameters of this device.

Click OK.

S-Edit User Guide

142

Chapter 8: Waveform Probing

Waveform Probing Tutorial

Move the Probe tool to node vm1 and click there. S-Edit will display a dialog box containing the DC operating point voltage of this node.

You can continue probing other nodes/devices for operating point/small-signal analysis. W-Edit will continue adding these waveforms to the corresponding charts. Now select the option AC/Noise Analysis by clicking the appropriate button in the Probing toolbar

or by right-clicking in a free area of the design to access a context-sensitive menu.

With the Probe tool, click device mn2. W-Edit will display a waveform of the total noise contributed by this device. The trace will bear the name dn(mn2,TOT).

S-Edit User Guide

143

Chapter 8: Waveform Probing

Waveform Probing Tutorial

The colors used in your display may be different from those shown here. Return to S-Edit and click node vm1 with the Probe tool. W-Edit will display an additional chart for the AC waveform of this node.

In the added chart, the trace vdb(vm1) is in blue and the trace vp(vm1) is in red. Once again, the colors used in your display may be different from those shown here. You can continue probing other devices for AC/Noise Analysis. W-Edit will continue adding these waveforms to the corresponding charts.

S-Edit User Guide

144

Chapter 9: Command Reference

Command Reference

File Menu
Command
File > New

Shortcut
Ctrl+N Ctrl+O Ctrl+W Ctrl+S

(page 150) (page 150) (page 151) (page 151) (page 152) (page 151)

File > Open File > Close File > Save

File > Save As

File > Replace Setup File > Export File > Info

(page 152) (page 155) (page 156)

(page 154)

File > Page Setup

File > Print Preview File > Print

(page 156) (page

Ctrl+P

158)

File > Recently used files

File > Exit

(page 158)

Ctrl+Q

S-Edit User Guide

145

Chapter 9: Command Reference

Edit Menu

Edit Menu
Command
Edit > Undo Edit > Redo Edit > Cut

Shortcut
Ctrl+Z Ctrl+Y Ctrl+X Ctrl+C Ctrl+V Del Ctrl+D Ctrl+A Alt+A R

(page 158) (page 159) (page 159) (page 160) (page 160) (page 160) (page 160) (page 160) (page

(page 159)

Edit > Copy Edit > Paste Edit > Clear

Edit > Duplicate Edit > Select All

Edit > Deselect All Edit > Rotate

(page 161)

161)

Edit > Flip > Horizontal

Edit > Flip > Vertical Edit > Edit Object

(page 161)
Ctrl+E

(page 161)

View Menu
Command
View > Symbol Mode

Shortcut (page 161) (page


?

View > Schematic Mode

161)

View > Change Mode View > Grid

(page 162)

(page 162) (page 162) (page 162)


Home X Z

View > Origin

View > Pin Numbers View > Home

(page 162) (page 162) (page

View > Exchange

163)

View > Zoom > Mouse

View > Zoom > In

(page 163) (page 163)

+ W

View > Zoom > Out

(page 163) 163)

View > Zoom > To Selections

View > Pan > To Selections

(page

View > Pan > Left

(page 163) (page 164) (page 164)

View > Pan > Right View > Pan > Up

(page 164)

View > Pan > Down

S-Edit User Guide

146

Chapter 9: Command Reference

View Menu

Command
View > Pan > To Page Edge

Shortcut (page

164)

View > Toolbars

(page 165) (page 165)

View > Status Bar

S-Edit User Guide

147

Chapter 9: Command Reference

Module Menu

Module Menu
Command
Module > New

Shortcut (page 165) (page 166) (page 167) (page 168) (page (page 169)
N O C T B

Module > Open Module > Copy

Module > Rename Module > Delete

169)

Module > Revert Module

Module > Close As Module > Instance

(page 169) (page 170) (page (page


F I G

Module > Browse Globals

170)

171)

Module > Symbol Browser

Module > Find Module > Info

(page 172) (page 174)

Symbol Menu
Command 174)
Symbol > Revert Symbol

Shortcut (page
Alt+T

Symbol > Port Test Symbol > Info

(page 174) (page

(page 175)

175)

Symbol > Auto Symbol

Symbol > Order Pins

(page 176)

Page Menu
Command
Page > New

Shortcut

(page 176) (page 177) (page 177) (page 178) (page 178) (page 178) (page 179)
Alt+N Alt+T

Page > Open

Page > Rename Page > Delete Page > Revert

Page > Close As

Page > Node Trace Page > Port Test

(page 179)

S-Edit User Guide

148

Chapter 9: Command Reference

Setup Menu

Command
Page > Pin Test Page > Info

Shortcut (page 179)

(page 180)

Setup Menu
Command
Setup > Colors

Shortcut (page 180) (page 183)

Setup > Environment Setup > Grid

(page 184) (page 185) (page 186)

Setup > Selection Setup > Probing

Help Menu
Command
Help > S-Edit User Guide

Shortcut (page (page


F1

187)

187)

Help > T-Spice User Guide

Help > W-Edit User Guide

187)

(page

Help > T-Spice Pro Tutorials

(page 187)

Help > About S-Edit

(page 187)

F9

S-Edit User Guide

149

Chapter 9: Command Reference

File > New

File > New


Ctrl+N

Creates a new file, prompting for the name.

Filename Author Organization Information

Name of the new file (without directory). Name of the person creating the file. Organization employing the author. Additional comments.

File > Open


Ctrl+O

Opens an existing file, prompting for the name and path. The file must be in S-Edit Database (SDB) format.

File name Files of type Open

Name of the file to be opened. Display S-Edit files, S-Edit backups, or all files Opens the selected file in the main S-Edit window.

S-Edit User Guide

150

Chapter 9: Command Reference

File > Close

File > Close


Ctrl+W

Closes the current file. If the file contains any unsaved changes, a warning dialog appears.

File > Save


Ctrl+S

Saves the design as a file in S-Edit Database (SDB) format. If the current file has the default name (File0), then the Save As dialog box appears.

File > Save As


Saves the design as a new file, prompting for the filename and path.

Save in File name Save as type Save

Directory in which file is to be saved. Name of the file to save (with or without extension). Filename extension. Saves a file with the specified name in S-Edit database format.

S-Edit User Guide

151

Chapter 9: Command Reference

File > Replace Setup

File > Replace Setup


Reads the specified setup information from the named file and uses it as setup information for the current file.

From SDB file Browse Environment Colors Grid Selections Page Setup Symbol Browser Probing

Name of the file with the desired setup. Opens a standard Windows file browser to select the .SDB file. Uses the named files environment setup. Uses the named files color setup. Uses the named files grid setup. Uses the named files selection setup. Uses the named files page setup. Uses the named files symbol browser setup. Uses the named files probing setup.

File > Export


E

Exports the design to a new file in a format other than SDB, prompting for the format and name.

S-Edit User Guide

152

Chapter 9: Command Reference

File > Export

The available formats are as follows:


Output file name Browse

Name of the netlist file to be output. Opens a standard Windows file browser to allow user to specify a path and/or filename for the netlist output. Type of netlist file to be exported. Available options are:
SPICESPICE format.. TPRTanner Place and Route format, for use by L-Edit. NetTranNetTran macro file format, for use by NetTran.

Select Export Data Type

(Provided for backwards compatibility.)


EDIF NetlistEDIF version 2 0 0 flattened netlist format. NetTran uses EDIF files to generate GateSim netlists. EDIF SchematicEDIF version 2 0 0 schematic format. VHDLVHSIC Hardware Design Language, containing

hierarchical netlist information.


Netlist Port Order

Specifies order in which S-Edit writes ports to the netlist. The options are: Tanner defaultOrders pins alphabetically up to a trailing number. If two pins are alphabetically equivalent, S-Edit compares the trailing number numerically (i.e., 10 is after 2). AlphabeticalOrders pins alphabetically, including any numbers. Pin number orderUses the pin order set in the Order Pins dialog.

Suppress .END in SPICE output

Prevents a line containing the .END command from being written at the end of a SPICE file. The .END command is only necessary for compatibility with certain SPICE simulators. This option is only available when exporting a SPICE netlist. Enables waveforming probing of selected nodes or devices. This option is only available when exporting a SPICE netlist. Accesses the Waveform Probing Setup dialog box. Name of the waveform probe output file. The default is the filename of the current design file with the extension .dat. Browse opens a standard Windows file browser. Opens a standard Windows file browser to allow user to specify a path and/or filename for the waveform probe output.

Enable waveform probing

Setup Probe Data File Location

Browse

S-Edit User Guide

153

Chapter 9: Command Reference

File > Info

File > Info


Provides basic facts about the current file. This dialog box consists of two tabs, File Name & Info and File Date & Version.

File Name Author Organization Information File Lock

Name of the current file. Name of the person creating the file. Organization employing the author. Additional comments. Locks or unlocks the current file. Information in a locked file cannot be edited. Sets the Author, Organization, and Information fields of all modules in the design to the values displayed in this dialog box.

Set All Module Values

S-Edit User Guide

154

Chapter 9: Command Reference

File > Page Setup

Increment Design Info Increment Setup Info

Increases the design version number. Increases the design setup version number.

File > Page Setup


Specifies the page layout according to the chosen printer type.

Name Properties

Selects a printer. Accesses the Printer Properties dialog box. Documented via Windows online Help. Selects paper size.

Paper Size

S-Edit User Guide

155

Chapter 9: Command Reference

File > Print Preview

Paper Source Orientation

Selects paper tray. Portrait prints with the page vertically oriented, landscape prints with the paper horizontally oriented. Margins for all for sides (measured in inches). Prints design with a fixed scale of internal units to physical measurements (inches or centimeters). Prints the design scaled to a specified page size. If the design will not fit on a page using the specified values, S-Edit will use the more restrictive measurement. Initiates printing of the design.

Margins Fixed scaling

Adjust to

Print

File > Print Preview


Displays a preview of the printed design. Unavailable when page is blank.

Print Next Page Prev Page Two Page Zoom In Zoom Out Close

Initiates printing of the previewed design. Displays next page of design in preview window. Displays previous page of design in preview window. Displays two pages at a time in preview window . Magnifies view of design in preview window. Shrinks view of design in preview window. Closes preview window.

File > Print


Ctrl+P

S-Edit User Guide

156

Chapter 9: Command Reference

File > Print

Prints the design to the specified device. The appearance of this dialog differs slightly between Schematic and Symbol modes. In Schematic mode, the dialog box has this appearance:

Name Status Type Where Properties

Specifies the name of the printer. Current printer status. Identifies the current printer driver. Identifies the network location of the named printer. Accesses a Printer Properties dialog box. See Windows online documentation for further information. Directs output to a PostScript file. Specifies the range of pages to be printed. Available options are:
Current viewPrints only what is currently visible on screen. Current pagePrints the entire current page of the current

Print to file Print Schematic Range

module.
All pages in current modulePrints all schematic pages in the

current module (if there are more than one).


All pages in current designPrints all schematic pages in the

current design.
Print symbol(s) also Number of copies

Prints symbols for every module in the specified print range. The number of copies of the printout that you want

S-Edit User Guide

157

Chapter 9: Command Reference

File > Recently used files

In Symbol mode, the print range is specified in terms of symbols.

Print symbol range

Specifies the range of symbols to be printed. Available options are:


Current viewPrints only what is currently visible on screen. Current symbolPrints the entire symbol of the current

module.
All symbols in current designPrints all symbols in the

current design.
Print schematic pages also

Prints schematic page(s) for every module in the specified print range.

File > Recently used files


Alt+F 1/2/3/etc.

Opens recently used files directly, bypassing the File > Open command. Most recently used files are listed first.

File > Exit


Ctrl+Q or F10

Exits S-Edit and returns to the operating system. If a file contains unsaved changes, a warning dialog appears.

Edit > Undo


Ctrl+Z

S-Edit User Guide

158

Chapter 9: Command Reference

Edit > Redo

Reverses the most previous edit operation and restores the design file to the state it was in before that operation. Specifically, Undo: Returns objects you have moved to their previous positions. Removes objects added to a page with the Edit > Paste or Edit > Duplicate commands. Restores objects cleared from the page with the Edit > Cut or Edit > Clear commands. Returns flipped or rotated objects to their original position and orientation. Reverses modifications made to an object with the Edit > Edit Object command. Note that Edit > Undo reverses only the most previous edit operation. It is unavailable under the following circumstances: Immediately after you launch S-Edit. When you have just executed an Edit > Undo command. When you have just executed a Module > Revert or Page > Revert command. When you have just executed a Module > Delete or Page > Delete command. When you have committed changes to a page. S-Edit commits changes to a page whenever you execute any of the following commands:
File > New, File > Open, File > Save, or File > Save As. Module > New, Module > Open, Module > Copy, or Module > Close As. Page > New, Page > Open, Page > Close As.

Edit > Redo


Ctrl+Y Edit > Redo restores changes reversed with an Edit > Undo operation.

Edit > Cut


Ctrl+X

Deletes the selected objects from the Layout Area and stores them in the paste buffer. These objects can be pasted elsewhere in the design pasted into other Windows applications as a metafile picture. To paste objects into a different design, use the Module > Copy command to copy the current module to the target file.

Edit > Copy


Ctrl+C

S-Edit User Guide

159

Chapter 9: Command Reference

Edit > Paste

Copies the selected objects from the Layout Area and stores them in the paste buffer.

Edit > Paste


Ctrl+V

Places the contents of the paste buffer in the Layout Area, centered at the location of the pointer when a mouse button is clicked.

Edit > Clear


Ctrl+B Back Del

Deletes selected objects from the Layout Area without storing them in the paste buffer.

Edit > Duplicate


Ctrl+D

Creates a duplicate of the selected objects and automatically places the duplicate one grid point offset from the original. The duplicate is selected and can be moved, and the resulting relative offset R of the duplicate from its original is stored. Each subsequent Duplicate command places the new duplicate at the same relative offset R from the previous duplicate, to aid in the rapid creation of regular structures like arrays. The contents of the paste buffer are not affected.

Edit > Select All


Ctrl+A

Selects all objects in the Layout Area.

Edit > Deselect All


Alt+A

Deselects all selected objects.

S-Edit User Guide

160

Chapter 9: Command Reference

Edit > Rotate

Edit > Rotate


R

Rotates the selected set of objects counterclockwise 90 about its center.

Edit > Flip > Horizontal


H

Flips the selected set of objects horizontally about the vertical axis through its center.

Edit > Flip > Vertical


V

Flips the selected set of objects vertically about the horizontal axis through its center.

Edit > Edit Object


Ctrl+E

Prompts for modifications to the characteristics of the selected object.

View > Symbol Mode


This menu item is checked if you are currently viewing the symbol page of the module. If you select this menu item, S-Edit displays the symbol of the current module.

View > Schematic Mode


This menu item is checked if you are currently viewing the schematic page of the module. If you select this menu item, S-Edit displays the schematic page of the current module.

S-Edit User Guide

161

Chapter 9: Command Reference

View > Change Mode

View > Change Mode


?

This menu item switches the mode from symbol to schematic or from schematic to symbol depending on which one is currently being viewed.

View > Grid


Selecting this menu item toggles the display of the grid.

View > Origin


Selecting this menu item toggles the display of the origin crosshairs.

View > Pin Numbers


Selecting this menu item toggles the display of pin numbers. This menu item stores a separate state for symbol pages and schematic pages, so if you check the item in Symbol mode and switch to Schematic mode, the item will no longer be checked (unless it was checked the last time you look at schematics). In Symbol mode, the pin numbers are displayed next to every port. This shows which pin number this ports will be equivalent to when they are instanced. In Schematic mode, the pin numbers are displayed next to the pins of every instance. This shows the actual ordering of the instanced pins.

View > Home


Home

Pans and zooms the display window so that all the objects in the Layout Area can be seen in the Work Area.

View > Exchange


X

Exchanges the current view (result of a zoom or pan) with the previous one.

S-Edit User Guide

162

Chapter 9: Command Reference

View > Zoom > Mouse

View > Zoom > Mouse


Z or Shift + F7

Enters mouse zoom mode for one operation. The mouse buttons are redefined: the DRAW button becomes the ZOOM IN button, the MOVE-EDIT button the PAN button, and the SELECT button the ZOOM OUT button.

View > Zoom > In


+

Reduces the area encompassed by the display window by a factor of two.

View > Zoom > Out


-

Enlarges the area encompassed by the display window by a factor of two.

View > Zoom > To Selections


W

Zooms the display window to include all of the selected items.

View > Pan > To Selections


Y

Pans the view over so that all the selected items are included in the view, or at least as much as can be displayed at the current zoom level.

View > Pan > Left

Pans the display window a quarter-width to the left.

S-Edit User Guide

163

Chapter 9: Command Reference

View > Pan > Right

View > Pan > Right

Pans the display window a quarter-width to the right.

View > Pan > Up

Pans the display window a quarter-height up.

View > Pan > Down

Pans the display window a quarter-height down.

View > Pan > To Page Edge


Shift+Left Shift+Right Shift+Up Shift+Down

Pans the display window to the left, right, top, or bottom, respectively, of the page edge.

S-Edit User Guide

164

Chapter 9: Command Reference

View > Toolbars

View > Toolbars


This allows the user to select which toolbars are displayed.

Command Schematic Annotation Mouse Buttons Locator Probing

Toggles display of the Command toolbar (open, new, etc.). Toggles display of Schematic toolbar (wire, instance, etc.). Toggles display of Annotation toolbar (polygon, circle, etc.). Toggles display of Mouse button status indicator. Toggles display of Locator toolbar. Toggles display of Probing toolbar.

All changes in toolbar status are made immediately upon the user selecting or deselecting an item. No further changes occur when the dialog is closed.

View > Status Bar


This item toggles the display of the status bar at the bottom of the window.

Module > New


N

S-Edit User Guide

165

Chapter 9: Command Reference

Module > Open

Creates a new module, prompting for the name. If the Author, Organization, and Information fields are not explicitly specified, then they take the files default values (specified with the File > Info command).

Module Name Author Organization Information

Name of new module Name of the person creating the file. Organization employing the author. Additional comments.

Module > Open


O

Opens an existing module, prompting for the name and file.

Files Select Module to Open

Selects the design file from which a module will be chosen. Entering a name will cause S-Edit to search for the closest match in the Module List. Select the module to be opened.

Module List

S-Edit User Guide

166

Chapter 9: Command Reference

Module > Copy

Module > Copy


C

Copies a module, prompting for the name and file of the module to be copied. If the copy is to another file, S-Edit also copies any instanced modules and their dependents to the target file.

Files Select Module to Open

Selects the design file from which a module will be chosen. Entering a name will cause S-Edit to search for the closest match in the Module List. Select the module to be opened.

Module List

Upon selection of the module to be copied, S-Edit will prompt the user to name the copy.

S-Edit User Guide

167

Chapter 9: Command Reference

Module > Rename

If a module with the same name exists in the current file, then a warning appears (with renaming or replacement options).

Rename the colliding modules as they are copied into the current file. Rename the colliding modules that are already in the current file. Overwrite the colliding module definitions in the current file. Dont copy colliding modules. Use the modules in the current file instead. Proceed

S-Edit will prompt to rename modules from the source file that cause name collisions.

S-Edit will prompt you to rename modules in the current (destination) file that cause name collisions. S-Edit will overwrite modules in the current file causing name collisions with the copied modules. Modules to be copied, but causing name collisions, are not copied.

Perform the copy operation with the selected option. If you are renaming modules, S-Edit will provide a rename dialog for all collisions. Abort module copy operation.

Abort copy

Module > Rename


T

Prompts for a new name for the current module.

New modules name

Enter the new name for module.

S-Edit User Guide

168

Chapter 9: Command Reference

Module > Delete

Module > Delete


B

Deletes a module, as long as it is not instanced, prompting for a name and file. If the specified module instances other modules, the instances (but not the instanced modules) are also deleted.

Files Select Module to Delete

Selects the design file from which a module will be chosen. Entering a name will cause S-Edit to search for the closest match in the module list. Select the module to be deleted.

Module List

Module > Revert Module


Reverts the current module to its state when it was last opened.

Module > Close As


Prompts for a new name for the current module, then closes it. The original is kept with the old name.

Name

Name under which the module is to be closed.

S-Edit User Guide

169

Chapter 9: Command Reference

Module > Instance

Module > Instance


(Schematic mode)
I

Instances a module in the current module of the current file, prompting for the name of the instanced module. Modules that already instance the current module may not be instanced. If the module being instanced is in a different file, then it is copied across to the current file, along with any instanced modules and their dependents.

Files Select Module to Instance

Selects the design file from which a module will be chosen. Entering a name will cause S-Edit to search for the closest match in the Module List. Select the module to be instanced.

Module List

Module > Browse Globals


Schematic mode
G

S-Edit User Guide

170

Chapter 9: Command Reference

Module > Symbol Browser

Displays a list of all global symbols instanced in the current module. The following information is reported: (1) the global symbols module name; (2) the current state of the global symbols propagation (propagated, capped, or hidden); and (3) the name of the node to which the symbol is attached.

Module > Symbol Browser


Schematic mode The Module > Symbol Browser places components from an S-Edit library file (.sdb) into the current design file. S-Edit saves the list of library files and Quick Pick modules to the design file as setup information.

Modules

Modules available in the selected library file. The panel to the right of this list displays the author, organization, and information for the selected module. Files containing S-Edit design libraries. The panel to the right of this list displays the author, organization, and information for the selected library file.

Library Files

S-Edit User Guide

171

Chapter 9: Command Reference

Module > Find

Selected Symbol Add Library

Representation of the selected modules symbol page. Opens a standard Windows file browser for the loading of additional library files. Deletes previously loaded library files from the Library Files list. Adds the selected module to the Quick Pick Modules list (see below). Places an instance of the selected module in the current module of the current design file. Closes the dialog box without placing any modules.

Delete Library Add to Quick Pick

Place

Close

The Quick Pick tab allows for convenient selection and placement of previously loaded modules.

Quick Pick Modules

List of available modules from various design libraries, listed alphabetically without regard to library of origin. The panel to the right of this list displays the author, organization, and information for the selected module. The file from which the selected module originates. The lower panel displays the author, organization, and information for the library file. Representation of the selected modules symbol page. Deletes the selected module from the Quick Pick Modules list. Places the selected module in the center of the current module of the current design file. Closes the dialog box without placing any modules.

File

Selected Symbol Delete Place

Close

Module > Find


F

S-Edit User Guide

172

Chapter 9: Command Reference

Module > Find

Locates instances of other modules within the current module, or all instances of the current module throughout the design. The scrollable list on the left displays all modules that are instanced within the current module. To locate a particular instanced module, highlight it and click Find. S-Edit will change the current view to show the locations of all instances of the selected module (by selection). The scrollable list on the right displays all modules that contain instances of the current module. To locate the current module in one of these other modules, highlight it and click Open. S-Edit will change the current view to the new module and show the locations of the previous modules instances (by selection).

Symbols instanced in module Find

Symbol to be found. Entering a name in this field will cause S-Edit to select the module with the closest match in the list below. Selects all instances of the module selected in the symbol list and changes the view to display them all. Module to be found. Entering a name in this field will cause S-Edit to select the module with the closest match in the list below. Opens the module selected in the module list

Module with instance of module Open

S-Edit User Guide

173

Chapter 9: Command Reference

Module > Info

Module > Info


Displays information about the current module.

Module Name Author Organization Module Lock Reset

Name of module Name of the person creating the module. Organization employing the author. Prevents module from being edited. Replaces module information with the design information.

Symbol > Revert Symbol


Undoes all changes to the current symbol introduced since the most recent mode change, module opening, or file save.

Symbol > Port Test


Alt+T

Checks the current module for the correspondence of symbol ports and schematic ports as to name and type. If symbol and schematic ports do not correspoind, a dialog box appears indicating each problem port.

S-Edit User Guide

174

Chapter 9: Command Reference

Symbol > Info

Symbol > Info


Displays information about the current symbol page.

Symbol Name Author Organization Information Page Lock Reset

Name of symbol Name of the person creating the symbol. Organization employing the author. Additional comments. Prevents symbol from being edited. Replaces symbol information with the design information.

Symbol > Auto Symbol


Automatically generates a module symbol from a die specified in a DIE (Die Information Exchange) file, prompting for the name and path of the DIE file and the name of the die from which to generate the symbol.

S-Edit User Guide

175

Chapter 9: Command Reference

Symbol > Order Pins

Symbol > Order Pins


Specifies custom (rather than alphabetical) pin ordering for the symbol. Pin ordering is used in netlist output to determine the order in which to list the pins.

Pin Order

List of pins in the module. Dragging pins in this list changes their order. Displays the number of the currently selected pin. Clicking on the arrows moves the selected pin up or down one step at a time. Editing the number also moves the pin to the desired position. Sorts pins with the Tanner default ordering.

Pin Number

Sort Pins

Page > New


Creates a new page, prompting for the name.

Page Name Author Organization Information

Name of page Name of the person creating the page. Organization employing the author. Additional comments.

S-Edit User Guide

176

Chapter 9: Command Reference

Page > Open

Page > Open


Opens an existing page in the current module.

Modules

Selects the module in the current design in which a page is to be opened. Selects the page to be opened. Entering a name will cause S-Edit to select the name with the closest match.

Select Page To Open

Page > Rename


Prompts for a new name for the current page.

New page name

New name for the current schematic page.

S-Edit User Guide

177

Chapter 9: Command Reference

Page > Delete

Page > Delete


Deletes an existing page from the current module.

Modules Select Page To Delete

Selects the module from which a page is to be deleted. Page to be deleted. Entering a name causes S-Edit to select the closest matching name from the page list below.

Page > Revert


Undoes all changes to the current page introduced since the most recent mode change, module opening, or file save.

Page > Close As


Closes the current page with edits as a new page. The original page is kept with the old name.

Page name

Enter the name under which the page is to be closed.

S-Edit User Guide

178

Chapter 9: Command Reference

Page > Node Trace

Page > Node Trace


Alt+N

Selects the entire span of electrical nodes connected to any currently selected objects, including all wires, ports, and symbols, and updates the current selection. If only one node is connected to the selection, the node name is displayed in a dialog box. If Node Trace is issued when no node is selected, S-Edit will prompt for the name of a node using the following dialog box.

Page > Port Test


Alt+T

Checks symbol ports and schematic ports in the current module to ensure that they correspond in name and type.

Page > Pin Test


Checks the current page for any unconnected instance pins. All instances with unconnected pins are selected.

S-Edit User Guide

179

Chapter 9: Command Reference

Page > Info

Page > Info


Displays information about the current schematic page.

Page Name Author Organization Page Lock Reset

Name of page Name of the person creating the page. Organization employing the author. Prevents page from being edited. Replaces page information with the design information.

Setup > Colors


Prompts for modifications to the designs color scheme. S-Edit saves this information to the design file as part of the setup information.

Background Color

Displays the current background color. Click on the color box to change the color. Displays the current foreground color. Click on the color box to change the color.

Foreground Color

S-Edit User Guide

180

Chapter 9: Command Reference

Setup > Colors

Selection Color

Displays the current selection color. Click on the color box to change the color. Displays the current grid color. Click on the color box to change the color. Displays the current origin color. Click on the color box to change the color.

Grid Color

Origin Color

To modify the color of any interface element, click on the appropriate color panel. The Colors dialog box will appear:

Basic colors

Standard colors. Select a basic color and click OK to replace the color of a particular interface element. Custom colors, defined using the extended Windows color palette. Select a standard color and click OK to replace the color of a particular interface element. Expands the dialog box to allow definition of a new color.

Custom colors

Define custom colors

S-Edit User Guide

181

Chapter 9: Command Reference

Setup > Colors

Clicking Define Custom Colors expands the dialog box as illustrated below to allow new colors to be defined.

Basic colors

Shows the basic colors available. To select a basic color, click on it and press OK. To define a custom color, click on the basic color closest to the color you want. A marker will appear in the color matrix to the right. You can then move this marker within the color matrix to optimize the color. Displays any custom colors you have already defined. To define a new custom color, click on an empty custom color box, define a custom color, then click Add to Custom Colors. To modify an existing custom color, click on it, then specify a new color. To define a custom color, click anywhere in this matrix, then use the slider at the right of this dialog box to adjust the amount of white and black in the color. Click this button to define a custom color. If this button is unavailable, you are already viewing custom colors. To define a custom color, click in the color matrix, or specify the color using the hue/saturation/luminosity scale or the red/green/blue scale, and then click Add to Custom Colors. The left half of this panel shows the amount of white and black in the color you specified. The right half shows how the color will look if you choose 100% of the color with no white and black. To adjust the color, use the slider at the right of this dialog box. To specify 100% of the color, type Alt +O. Specifiy the hue, saturation, and lumonisity for the selected custom color. A combination of hue, saturation, and luminosity can be used to define any color. Hue is the colors value on a color wheel in a range of 0-239, where 0 is red, 40 is yellow, 80 is green, 120 is cyan, 160 is blue, and 200 is magenta. Saturation describes the amount of color in a specified hue and can take values from 0 (grayscale) to 240 (full color). Luminosity describes the brightness of the selected color and can take values between 0 (totally black), 120 (color unaffected), and 240 (totally white). If you change the hue, saturation, or lumonisity, the values for red, green, and blue will change accordingly.

Custom colors

Color matrix

Define Custom Colors

Color|Solid

Hue/Sat/Lum

S-Edit User Guide

182

Chapter 9: Command Reference

Setup > Environment

Red/Green/Blue

Specify the amount of red, green, or blue in the selected custom color. A combination of red, green, and blue values can be used to define any custom color. Values range from 0-255. If you change the values for red, green, or blue, the values for hue, saturation, and luminosity will change accordingly. Adds the custom color you have defined to the Custom colors palette.

Add to Custom Colors

It is also possible to manipulate these values graphically: To change hue, move the marker in the color matrix horizontally. To change saturation, move the marker in the color matrix vertically. To change luminosity, move the marker on the slider bar next to the color matrix up or down.

Setup > Environment


Prompts for modifications to environment settings in the current design file. S-Edit saves this information as part of the design files setup information.

Number of saved revisions

Specifies the number of backup copies of previous versions S-Edit will make of the current file when it is saved with revisions. The maximum value is 10. For example, if the number is set to 2, three files will exist after the third Save of the file design.sdb: design.sdb (the current version), design.sd1 (the most recent backup version), and design.sd0 (the oldest backup version). Specifies the default text size (letter height, in locator units) for text used in ports. Changing this value affects all subsequently created ports; those created before the change are unaffected. Specifies that S-Edit automatically pan the view when the pointer touches an edge of the Work Area during a draw, move, or edit operation.

Default Port Text Size

Auto Panning

S-Edit User Guide

183

Chapter 9: Command Reference

Setup > Grid

Setup > Grid


Prompts for modifications to displayed grid, mouse snap grid, and locator coordinate system parameters to the current design file. S-Edit saves this information to the design file as part of its setup information.

Displayed Grid

The absolute spacing of the displayed grid, entered as length, in internal units, of a grid square side. The apparent spacing of the grid varies with the magnification of the Work Area. If the number of screen pixels per grid square side falls below the value entered in this field, the grid is hidden.
Snapping: Turns mouse snapping on. Smooth: Turns mouse snapping off.

Suppress Grid Less Than

Cursor Type:

Mouse Snap Grid

The absolute spacing of the mouse grid, entered as length, in internal units, of a grid square side. The number of internal units equivalent to one locator unit. The absolute spacing of the displayed grid, entered as length, in internal units, of a grid square side.

Locator Units Displayed Grid

S-Edit User Guide

184

Chapter 9: Command Reference

Setup > Selection

Setup > Selection


Prompts for modifications to selection and edit range settings in the current design file. S-Edit saves this information to the design file as part of its setup information.

Selection Range

A positive integer S such that: if the pointer is outside an object but is still within S internal units of any of the objects edges, then the object can still be explicitly, implicitly, or cyclically selected. A positive integer D such that: if a mouse button is clicked (for example, to initiate a move, edit, or copy operation) when the distance between the pointer and a selected object is greater than D internal units, then the selected object is deselected before the operation is performed. The deselection range is set by default to the largest possible number (to indicate infinity), so that a selected object is never automatically deselected. A positive integer E such that: if the pointer is within E internal units of an edge or vertex of a selected object, then an operation with the MOVE-EDIT button is an edit; otherwise it is a move. Two numbers can be supplied: one in locator units, the other in pixels. E takes the value that is larger on-screen at any given time. If this switch is on, then S-Edit automatically selects an object after it is created. This is useful for designers who like to position or edit objects after creating them, rather than while drawing them.

Deselection Range

Edit Range

Select Drawn Objects

S-Edit User Guide

185

Chapter 9: Command Reference

Setup > Probing

Setup > Probing


Specifies options for waveform probing in the current design file. S-Edit saves this information to the design file as part of its setup information.

Enable waveform probing

Enables waveform probing of selected nodes or devices. This check box is identical to the Enable waveform probing check box in the Export Netlist dialog. Ensures that device noise data will be included in the probe data file if a noise analysis is performed. Ensures that small-signal data will be included in the probe data file if a DC operating point is computed. The path and filename of the probe data file. This field is identical to the Probing data file location field in the Export Netlist dialog. The Browse button opens a standard Windows file browser. Used during waveform probing only. These checkboxes specify the voltage and current characteristics to be included in a probe of AC analysis results. Select any or all of the following characteristics for either current or voltage: Magnitude in dB Magnitude in V or A Phase in degrees Real component in V or A Imaginary component in V or A S-Edit will instruct W-Edit to simultaneously display all of the checked traces associated with the selected voltage or current.

Include device noise contributions in probe data file Include small-signal parameters in probe data file Probing data file location

AC Analysis Probing Options

S-Edit User Guide

186

Chapter 9: Command Reference

Help > S-Edit User Guide

Help > S-Edit User Guide


F1

Opens the S-Edit User Guide and Reference.

Help > T-Spice User Guide


Opens the T-Spice User Guide and Reference.

Help > W-Edit User Guide


Opens the W-Edit User Guide.

Help > T-Spice Pro Tutorials


Opens the T-Spice Pro User Guide.

Help > About S-Edit


F9

Displays a dialog box that provides Help about S-Edit.

S-Edit User Guide

187

Chapter 9: Command Reference

Help > About S-Edit

Clicking on Memory calls a dialog box that provides information on current system status.

Clicking on Support calls a dialog box that provides information about contacting Tanner EDA Technical Support.

S-Edit User Guide

188

Chapter 10: Exporting Designs to ViewDraw

10

Exporting Designs to ViewDraw

Introduction
If you have purchased version 7.0 or higher of T-Spice Pro, then you may be familiar with ViewDraw, a schematic editor produced by Innoveda. This chapter demonstrates how you can start using ViewDraw to edit existing S-Edit schematics. Tanner EDA offers an optional licensing for EDIF Interfaces, an Innoveda utility that allows you to convert S-Edit schematics to a format compatible with ViewDraw. Once you can edit your S-Edit files in ViewDraw, you will be able to take full advantage of the integration between Innoveda and Tanner tools in T-Spice Pro.

Note:

EDIF Interfaces is a utility designed to convert ViewDraw schematic and symbol files to EDIF schematic files, or to convert EDIF netlist and schematic files to corresponding ePD wire and schematic files. In T-Spice Pro, only the EDIF netlist reading and writing operations are included. Licensing for the EDIF schematic reader/writer function is sold separately.

If you have purchased a license for the EDIF Interfaces Schematic Reader/Writer tool, you can use the instructions in this chapter to guide you through converting S-Edit designs to ViewDraw. Making S-Edit files compatible with ViewDraw will require three major steps: [1] Export the S-Edit file as an EDIF schematic. For more information about this step, see EDIF Schematic on page 96. Convert the EDIF file to a ViewDraw file using the EDIF Interfaces tool from Innoveda. Modify ViewDraw attributes (S-Edit properties) to be compatible with the Innoveda netlisting tool, SpiceLink. Step [3], above, is the most involved part of converting a design from S-Edit to ViewDraw because it requires modification of all symbol attributes. The level of complexity in your S-Edit schematics should determine whether conversion to ViewDraw is a worthwhile investment. The major differences you will notice between S-Edit and ViewDraw are: Symbol libraries are not easily translated from S-Edit to ViewDraw. Symbols contained in the T-Spice Pro/ViewDraw libraries tspcommands and tspdevices are drawn on a smaller graphical scale than S-Edit symbols. Consequently, you will not be able to replace S-Edit symbols with ViewDraw symbols without rescaling parts of your design. Symbol properties in S-Edit do not translate directly to symbol attributes in ViewDraw. You will have to change some symbol attributes to meet the requirements of SpiceLink, the netlisting tool that is used by ViewDraw.

[2] [3]

S-Edit User Guide

189

Chapter 10: Exporting Designs to ViewDraw

Example: Export a Resistor to ViewDraw

Example: Export a Resistor to ViewDraw


If you are not familiar with the Innoveda tools included in T-Spice Pro, we strongly recommend that you read the tutorial chapter T-Spice Pro Tutorial of the T-Spice Pro User Guide. This will provide a thorough introduction to the basics of ViewDraw and the Dashboard.

Create a Project in Dashboard


Before you export a schematic to ViewDraw, you will need to set up an active project to contain your relevant files. Launch Dashboard. Click on the Project Wizard toolbar button ( Select Create or Open a project and press Next. In the Specify Project Directory dialog, type or browse to the project directory you would like to use for exported S-Edit schematics. Press Next. ) to access the Project Wizard dialog.

If the project directory you selected does not already exist, a dialog will prompt you to create it. If this dialog appears, press Yes to continue. In the Select Library Group dialog, select the T-Spice Pro Library and press Next.

Press Finish in the next dialog to accept all of the T-Spice Pro libraries.

S-Edit User Guide

190

Chapter 10: Exporting Designs to ViewDraw

Example: Export a Resistor to ViewDraw

In the New Project Information dialog, press OK. Minimize the Dashboard.

Create a Resistor in S-Edit


Launch S-Edit and use File > New to open a new file named myexport.sdb. Use Module > Rename to name the current module myresistor. Select Module > Symbol Browser from the S-Edit menu to open the Symbol Browser dialog. Select Resistor from the spice library and place it on your schematic. Close the Symbol Browser.

Save the file using File > Save.

View the T-Spice Netlist


Use the toolbar button ( ) to export a netlist and launch T-Spice. The resistor you have just created will be indicated as follows:
* Main circuit: myresistor R1 N1 N2 50 TC=0.0,0.0 * End of main circuit: myresistor

This is the netlist we will try to recreate from our schematic in ViewDraw. Exit T-Spice.

Export the Schematic from S-Edit


Select File > Export to open the Export Netlist dialog.

S-Edit User Guide

191

Chapter 10: Exporting Designs to ViewDraw

Example: Export a Resistor to ViewDraw

Select Browse to select the active Dashboard project directory. (This is the same directory you selected in Create a Project in Dashboard on page 190.)

Note:

It is important that you select the main project directory rather than a subfolder. The EDIF Interfaces tool will not read files contained in a project subdirectory.

Under Select Export Data Type, choose EDIF Schematic (*.eds). S-Edit will automatically add the .eds file extension to the output file name. Press OK. S-Edit will export the EDIF schematic file myexport.eds to the project directory you have selected. Close S-Edit.

Translate the EDIF schematic to ViewDraw


From the main T-Spice Pro folder of your Windows Start menu, launch EDIF Interfaces. In the EDIF Interfaces dialog, make sure the EDIF Schematic Reader tab is displayed.

In the Design file: Input: field, type or browse to myexport.eds. (The active project directory will already be selected in the Directory: field.) Press Apply. Text will display in the Output results: field as EDIF Interfaces creates new ViewDraw files that correspond to the EDIF schematic. Close EDIF Interfaces.

Edit the Schematic in ViewDraw


Reopen or maximize the Dashboard. In the left pane, double click on the sch (Schematics) folder of your active project directory. The contents of this folder will be displayed in the right pane of the Dashboard window.

S-Edit User Guide

192

Chapter 10: Exporting Designs to ViewDraw

Example: Export a Resistor to ViewDraw

Double click on the file myresistor.1 in the right pane of the Dashboard window. ViewDraw will launch automatically with myresistor.1 open. This is the schematic you created in S-Edit, converted to a ViewDraw file format. Select Add > Component from the ViewDraw menu. In the Add > Component dialog, select the resistor r_res.1 from the tspdevices library.

Drag the resistor symbol on to your schematic. Click Close to exit the Add > Component dialog.

The tspdevices resistor symbol will serve as a reference when you change your myresistor.1 attributes to be compliant with SpiceLink requirements.

S-Edit User Guide

193

Chapter 10: Exporting Designs to ViewDraw

Example: Export a Resistor to ViewDraw

Double-click on the instance you have just created of symbol r_res.1. In the Component Properties dialog, select the Attributes tab.

Scroll down the list of attributes for r_res.1. You will find the following definitions:
ORDER=MODEL$VALUE$TC1=TC2=NOISE=M=SCALE=ACRES=DTEMP=L=W=C= PARTS=1 PREFIX=R REFDES=R? VALUE=50

Spicelink uses these attributes to create a netlist representation for r_res.1. The basic function of each resistor attribute is defined below. Attribute
ORDER

SpiceLink Interpretation Specifies what information will be included in the simulation file, and in what order Specifies the number of occurrences a symbol has within the physical component it represents A required attribute that is used to uniquely identify each instance of a symbol Attribute that allows you to specify the unique names of symbol instances; it always begins with the PREFIX value Specifies resistance, inductance, capacitance, or small-signal amplitude, depending on the type of device.

PARTS

PREFIX

REFDES

VALUE

Close the Component Properties dialog for the ViewDraw resistor.

S-Edit User Guide

194

Chapter 10: Exporting Designs to ViewDraw

Example: Export a Resistor to ViewDraw

Right-click the resistor that you imported from S-Edit and choose Symbol from the pop-up menu. The symbol file resistor.1 will display. This is the resistor symbol that is instanced in your S-Edit schematic.

Note:

In this example, you can edit either component properties or symbol properties and obtain the same results. In a larger design, however, you must edit symbol properties to make global changes. Once the SpiceLink-compatible attributes are in place for a symbol, you can then edit individual components.

Double click on any blank area inside the symbol border to bring up the Symbol Properties dialog. Select the Attributes tab.

The attributes above are simply a list of S-Edit Properties. In order to make the exported resistor compatible with Spicelink, the S-Edit properties must be translated into appropriate attributes. The SPICE OUTPUT property is similar to ORDER in ViewDraw; both are used to specify the arrangement of information in a simulation file. Ignoring parameters that are not specified for the ViewDraw resistor, we can write the Spicelink-compatible attribute:
ORDER=MODEL$VALUE$TC1=TC2=

Compare this to the S-Edit property:


SPICE OUTPUT = R#%{POS}%{NEG}${R}TC=${TC1},${TC2}

S-Edit User Guide

195

Chapter 10: Exporting Designs to ViewDraw

Example: Export a Resistor to ViewDraw

It should be clear that SPICE OUTPUT leads to the same resistor definition as ORDER. However, only the ORDER attribute is readable by the Spicelink netlister. Therefore, we should replace SPICE OUTPUT with an equivalent ORDER statement for resistor.1. In the Attributes tab of the Component Properties dialog for resistor.1, select the attribute SPICE OUTPUT. Press Delete to remove this attribute. Select the attribute R and press Delete. (R will be replaced with the SpiceLink attribute VALUE.) Add a new attribute by typing ORDER in the Name field. In the Value field, type
MODEL$ VALUE$ TC1= TC2=

In the Visibility field, select Invisible. This prevents ViewDraw from displaying the attribute on your schematic.

Press Set. Your resistor should now have an ORDER attribute that defines a resistor in the simulation file. Repeat the above process to add the following attribute names and values to resistor.1: Name
PREFIX REFDES VALUE

Value R R1 50

Select File > Save from the ViewDraw menu to save your symbol file. A symbol summary page will display automatically. Return to your schematic file using Window > sch\myresistor. Your resistor should now be compatible with Spicelink. To test, try exporting a netlist based on just the resistor exported from S-Edit. Save and check your schematic using the Save and Check toolbar button.

S-Edit User Guide

196

Chapter 10: Exporting Designs to ViewDraw

Example: Export a Resistor to ViewDraw

Use the toolbar button ( your active window.

) to export a netlist. T-Spice will launch automatically with the netlist in

Note:

Because you are exporting a netlist of an open circuit, T-Spice may detect an error in your simulation file. If an error message is displayed, simply click OK to ignore it and view the T-Spice input file.

The T-Spice netlist will show the following resistor definition:


R1 N2 N1 50 TC1=0.0 TC2=0.0

As you can see, this is functionally equivalent to the netlist you previously exported from S-Edit:
R1 N1 N2 50 TC=0.0, 0.0

S-Edit User Guide

197

Chapter 11: Glossary

11

Glossary

bounding box The minimum size rectangle necessary to completely enclose an object. connectivity circle Schematic representation of a pin. When pins are unconnected, they appear as open circles; when connected to two or more items, they appear as filled circles; when connected to one item, they disappear. Open circles clearly show where objects may be connected in the schematic. cycle selection Selecting several separate objects in succession by clicking on or near them without moving the mouse. deselection range A positive integer D such that: when a mouse button is clicked (to initiate a move, edit, or copy operation) with a previously selected object more than D internal units from the pointer, S-Edit will deselect that object before performing the operation. The deselection range is set by default to the largest possible number (to indicate infinity), so that a selected object is never automatically deselected. EDIF Electronic Data Interchange Format. A standard format for storing design information. S-Edit writes two types of EDIF netlists: an EDIF 2 0 0 flattened netlist description of a design which NetTran can read, and an EDIF 2 0 0 which ViewDraw can read. explicit selection Selecting an object by clicking on it or drawing a box around it with the DRAW button held. extend selection Adding an object to a previously selected group of objects by clicking on the new object with the shift key held. global node A node such as ground, clock, or reset, which is routed throughout a design. global node collision Warning generated by S-Edit when global ports of different types are attached to the same global node. global port A port that indicates a connection point on a global symbol.

S-Edit User Guide

198

Chapter 11: Glossary

global symbol A special instance that functions as a wireless connector. A node connected to a global symbol is automatically connected to all other nodes on every page and module in the design file that are attached to a like global symbol. Node caps limit this propagation. implicit selection Selecting an object by clicking the MOVE-EDIT or COPY buttons while the pointer is near the object. instance Dynamically linked reference to a module. Also used as verb: to instance a module is to create such a reference. internal unit Abstract units without any actual physical dimension, which represent the highest possible resolution for geometric specification. library An .sdb file which functions as a collection of modules that can be incorporated into a design. The file spice.sdb is an example of such a library. line A simple line, drawn with the Line tool, which is used solely for annotation and in the drawing of module symbols. Lines have no electrical significance. locator unit Abstract units used to define a workable grid and to indicate the pointer position. Locator units are defined by the ratio of locator units to internal units, which is set with the Setup > Grid command. mode S-Edit viewing modeschematic or symbol. module A functional unit of design, such as a transistor, a gate, an amplifier, or an entire design. netlist A textual description of the connectivity of an individual S-Edit module or entire design. A netlist can be used to place and route or simulate a design. NetTran macro file A netlist description of a design which can be used as input to NetTran. node An electrical connection between one or more ports, labels, or wires. node cap A symbol (created with the Node Cap tool) which is placed on instances of a global symbol to limit propagation of a global node.

S-Edit User Guide

199

Chapter 11: Glossary

node label A symbol used to label nodes and indicate connections within a module. node trace A command (Page > Node Trace) that displays the name of the node and selects everything on a schematic page that is connected to the selected object. output property A property that instructs S-Edit to treat a module as a primitive device and specifies its representation in a netlist. There are five types of output properties: SPICE OUTPUT, TPR OUTPUT, EDIF PRIMITIVE, VHDL PRIMITIVE, and NETTRAN OUTPUT. page A division of an S-Edit design module, usually comprising a viewable block. panning Moving the display window to show a different portion of the Layout Area. pin A connection point on a module instance, port, node label, or wire end. pin test A command (Page > Pin Test) that locates pins that are not connected to other objects. port A symbol (created with one of the Port tools) that shows where a signal enters and leaves a module. There are five types of ports, each created with a different tool: input, output, bidirectional, other, and global. port collision Warning generated by S-Edit when ports or labels with different names are attached to the same node. port test A command (Page > Port Test or Symbol > Port Test) that checks the correspondence of port names and port types in the symbolic and schematic representations of a module. predefined property A property value such as File, Module, or Page, which is predefined by S-Edit. primitive Geometrical object created with the drawing tools. Also refers to a module whose netlist output comprises a basic functional unit in a particular design. probe data file A binary format data file (with the extension .dat) that contains the output of a waveform probing operation.

S-Edit User Guide

200

Chapter 11: Glossary

Probe tool A tool on the Schematic toolbar which is used to examine the electrical properties of a design component such as a wire, port, node label, or module instance. property A parametric description of an S-Edit design module. Properties can characterize a modules physical parameters, such as length, width, and perimeter; its nonphysical parameters, such as device type and comments; and its output strings, which specify how S-Edit writes a module to a netlist. property token A reference to a property, port, or other component of a property value interpreted during instancing or exporting. Schematic mode The viewing mode used to create,view, and edit module schematics. selection range A positive integer S such that: when the mouse is clicked with the pointer within S locator units of any edge of an object, S-Edit will select that object implicitly or cyclically. SPICE A netlist format commonly used for circuit simulation. subcircuit A low-level module, such as a transistor, gate, or amplifier, which is instanced in a higher-level module, such as an inverter. subcircuit call A reference to a subcircuit definition block, made using the SPICE instance statement (x). S-Edit automatically generates subcircuit calls during netlist export. subcircuit definition block A SPICE-language definition of a hierarchical set of devices and nodes to be instanced in a higher-level circuit. Subcircuit definition blocks begin with the .subckt command and optionally end with the .ends command. subcircuit description A list of individual components, such as transistors, within a subcircuit. Subcircuit descriptions appear in subcircuit definition blocks between the .subckt and .ends commands. subcircuit parameter passing A method for passing user-specified property values from high-level modules to the subcircuit definition block of the originating module during SPICE netlist output. Symbol mode The viewing mode used to create, view, and edit module symbols.

S-Edit User Guide

201

Chapter 11: Glossary

TPR Tanner Place and Route. A flat netlist format used to import a schematic design into L-Edit. VHDL VHSIC (Very High-Speed Integrated Circuit) Hardware Description Language. A standard language used to describe the behavior of a design. S-Edit can write a hierarchical netlist description of a design in VHDL format. Verilog Verifying Logic Hardware Description Language, a standard language used to simulate and synthesize electronic systems. waveform probing An operation in which S-Edit simulates a schematic object, such as a port, node label, wire, or module instance, and outputs the results directly to W-Edit. wire A line drawn with the Wire tool which is used to electrically connect objects in a module schematic. zooming Changing magnification to show a larger or smaller part of the Layout Area.

S-Edit User Guide

202

Index

A
About S-Edit, 187 AC analysis, 110 AC analysis probing options, 100 accessing file information, 40 analysis AC, 110 DC operating point, 104 DC transfer, 107 noise, 122 transient, 108, 118, 120 Annotation toolbar, 10 arranging objects flipping (horizontal), 63 flipping (vertical), 63 rotating, 63 Author field File Info, 40 Module Info, 47, 174 Page Info, 50 Auto Symbol, 175 Auto-panning, 18, 183

B
backup copies, 17 boxes drawing, 59 editing graphically, 62 editing textually, 65 Browse Globals, 81, 171

Choose Printer, 53 circles drawing, 59 editing graphically, 62 editing textually, 66 Clear, 160 Close File menu, 40, 151 Close As, 50 Module menu, 169 Page menu, 49, 178 Color dialog box, 15, 180 color settings, 15 Colors dialog box, 15, 181 Colors dialog box (extended), 16, 182 Command toolbar, 9 comments creating, 59 editing textually, 67 connections explicit, 74 implicit, 75 connectivity checking, 75 connectivity warnings, 82 coordinate system, 12 Copy Edit menu, 64, 160 Module menu, 43, 167 copying objects, 64 creating designs, 25 files, 39 global symbols, 29 modules, 27, 41 node labels, 59 ports, 28, 59 properties, 59 schematics, 27 symbols, 31 creating comments, 59 Cut, 159

C
capping global nodes, 80 Change Mode, 162

S-Edit User Guide

203

Index

D
DC operating point analysis, 104 DC transfer analysis, 107 Delete Module menu, 169 Page menu, 178 deleting objects, 63 deselecting objects automatic deselection, 62 deselection range, 19, 185 universal deselection, 62 design hierarchy, 64 defined, 13 illustrated, 13 Design-to-Simulation command, 103 displayed grid, 18 documentation conventions, 5 drawing boxes, 59 circles, 59 lines, 59 polygons, 59 wires, 28, 59 drawing objects automatic selection, 19, 185 Duplicate, 64, 160

edit range, 19, 185 graphically, 62 textually, 65 electrical objects, 57 Environment, 17, 183 examining modules, 22 Exchange, 11, 162 exchanging views, 57 explicit connections, 74 Export, 93, 152 exporting a netlist, 36, 92

F
File > Close, 40, 151 Exit, 158 Export, 93, 152 Info, 154 New, 39, 150 Open, 39, 150 Page Setup, 51, 155 Print, 52, 157 Print Preview, 52, 156 Recently used files, 158 Replace Setup, 20, 152 Save, 40, 151 Save As, 40, 151 file formats NetTran, 88 SDB, 13 SPICE, 88 TPR, 88 files creating, 39 Information field, 40 locking, 40 opening, 39 replacing setup, 20 saving, 17, 183 unlocking, 40 Find, 173 Flip Horizontal, 161 Flip Vertical, 161 flipping objects horizontally, 63 vertically, 63

E
EDIF netlist output, 96 EDIF schematic output, 96 Edit > Clear, 160 Copy, 64, 160 Cut, 159 Deselect All, 160 Duplicate, 64, 160 Edit Object, 65, 161 Flip Horizontal, 161 Flip Vertical, 161 Paste, 160 Redo, 69 Rotate, 161 Select All, 160 Undo, 69 Edit Object, 65, 161 editing properties, 35 schematic objects, 20 editing objects

S-Edit User Guide

204

Index

G
global nodes browsing, 81 capped, 80, 82 effective design with, 82 exporting, 92, 98 hidden, 82 naming, 81 propagated, 82 Global Port tool, 77 global ports creating, 78 Global Symbol tool, 77 global symbols collisions, 82 creating, 29 defined, 77 instancing, 30, 78 Grid, 12 Setup menu, 18, 184 View menu, 162 grid displayed, 18 locator coordinate, 18

Page menu, 50, 180 Symbol menu, 175 Information field File Info, 40 Module Info, 47 Page Info, 50 Instance Module menu, 170 instanced module defined, 13 instances, 13 defined, 13, 41 editing textually, 68 instancing global symbols, 30 modules, 27, 32 instancing module defined, 13 internal units, 12, 18, 184

L
launching S-Edit, 8 Layout Area, 11 L-Edit features, 5 lines drawing, 59 editing graphically, 62 editing textually, 66 locator coordinate grid, 18 Locator toolbar, 10 locator units, 12, 18, 184 locking files, 40 modules, 47, 174 pages, 50

H
Help > About S-Edit, 187 Circuit Analysis Tutorial, 187 S-Edit User Guide, 187 T-Spice User Guide, 187 W-Edit User Guide, 187 hierarchy defined, 13 design, 13, 64 Home View menu, 56, 162

M I
implicit connections, 75 Info File menu, 154 Module menu, 174 margins, 51 menu bar, 11 model evaluation direct, 124 Module > Browse Globals, 81, 171 Close As, 169

S-Edit User Guide

205

Index

Copy, 43, 167 Delete, 169 Find, 173 Info, 174 Instance, 170 New, 41, 166 Open, 42, 166 Rename, 168 Revert Module, 169 Symbol Browser, 26, 45, 171 Module Naming Conflict dialog box, 168 modules closing, 44 copy name collisions, 43 creating, 13, 27, 41 defined, 13 examining, 22 Information field, 47 instancing, 27, 32 locking, 47 renaming, 44 reverting, 44 unlocking, 47 Mouse buttons toolbar, 10 mouse zoom, 56 moving objects, 62

O
Open File menu, 39, 150 Module menu, 42, 166 Page menu, 49, 177 opening files, 39 Order Pins, 176 Organization field File Info, 40 Module Info, 47, 174 Page Info, 50 orientation, 51 Origin View menu, 162 origin point, 12 output properties, 34 NETTRAN OUTPUT, 88 SPICE OUTPUT, 88 TPR OUTPUT, 88

P N
netlist export waveform probing options, 99 netlists exporting, 36, 92 NetTran macro file format, 88, 98 New File menu, 39, 150 Module menu, 41, 166 Page menu, 49, 176 Node Cap tool, 77 node caps, 80 node labels creating, 59 editing textually, 67 Node Trace, 75, 179 nodes defined, 74 noise analysis, 122 nonelectrical objects, 57 Page > Close As, 49, 50, 178 Delete, 178 Info, 50, 180 New, 49, 176 Node Trace, 75, 179 Open, 49, 177 Pin Test, 77, 179 Port Test, 76, 179 Rename, 49, 177 Revert Page, 50, 178 page layout, 51 Page Setup, 51, 155 pages creating, 49 opening, 49 Pan, 11 Down, 164 Left, 163 Right, 164 To Page Edge, 164 To Selections, 163 Up, 164 panning, 55 Auto-panning, 18, 183 paper size, 51

S-Edit User Guide

206

Index

source, 51 Paste, 160 pasting objects, 65 to other applications, 70 Pin Numbers View menu, 162 pin placement, 73 Pin Test, 77, 179 pointer position, 12 polygons drawing, 59 editing graphically, 62 editing textually, 66 Port Test, 76 Page menu, 179 Symbol menu, 174 Port tools, 28 ports creating, 28, 59, 72 defined, 72 global, 78 symbolic and schematic correspondence, 72, 76 text size, 17 primitive objects, 57 Print, 52, 157 Print Preview, 52, 156 print range setting, 52 printing choosing a printer, 53 printing a design, 25, 50, 52 probe data file defined, 98 location, 100 Probe toolbar, 102 Probing, 100 Probing (command), 186 probing a design, 101 probing options AC analysis, 100 Probing toolbar, 10 properties, 33 creating, 59 default values, 85 defined, 84 editing, 35, 68, 85 error conditions, 91 in instances, 34, 90 output, 34, 86 predefined, 86 showing and hiding, 85 SPICE OUTPUT, 34 tokens, 86

R
Redo, 69 Rename Module menu, 168 Page menu, 49, 177 repeated copying, 64 Replace Setup, 20, 152 reshaping objects, 62 resizing objects, 62 Revert Module, 169 Revert Page, 50, 178 Revert Symbol, 174 rotating objects, 63 Ruler, 12

S
Save, 151 File menu, 40 Save As File menu, 40 scaling, 51 Schematic Mode View menu, 161 Schematic toolbar, 9, 58 schematics creating, 27 defined, 14 SDB file format, 13 sedit.sdb, 8 Select All, 160 selecting objects click selection, 60 cycle selection, 61 drag selection, 60 explicit selection, 60 extend selection, 60 implicit selection, 61 selection range, 19, 185 universal selection, 62 Selection, 19 Selection (command), 185 selection setup, 19 setting print range, 52 Setup > Colors, 15, 180 Environment, 17, 183 Grid, 12, 18, 184 Probing, 100, 186 Selection, 19, 185

S-Edit User Guide

207

Index

setup information defined, 8 replacing, 20 setups replacing, 20 SPICE file format, 88 SPICE netlists exporting, 94 SPICE OUTPUT, 97 SPICE OUTPUT properties, 34 examples, 88 exporting, 94 spice.sdb, 26 startup files, 8 Status Bar View menu, 165 status bar, 11 subcircuit parameter passing, 88, 95 subthreshold behavior transconductance amplifier, 128 transistor, 126 Symbol > Auto Symbol, 175 Info, 175 Order Pins, 176 Port Test, 76, 174 Revert Symbol, 174 Symbol Browser, 26, 45, 171 Symbol Mode View menu, 161 symbols creating, 14, 31

U
Undo, 69 unlocking files, 40 modules, 47

V
Verilog netlists exporting, 97 version numbers, 40 VHDL netlists exporting, 97 View > Change Mode, 14, 162 Exchange, 11, 162 Grid, 12, 162 Home, 56, 162 Origin, 12, 162 Pan, 11 Down, 164 Left, 163 Right, 164 To Page Edge, 164 To Selections, 163 Up, 164 Pin Numbers, 162 Schematic Mode, 14, 161 Status Bar, 165 Symbol Mode, 14, 161 Toolbars, 165 Zoom, 11 In, 163 Mouse, 163 Out, 163 To Selections, 163 viewing modes, 14 viewing schematic objects, 20 voltage source modules, 82

T
title bar, 9 Toolbars View menu, 165 toolbars controlling display of, 9 positioning, 10 TPR netlists, 88 exporting, 95 transient analysis default mode, 108 powerup mode, 118 preview mode, 120 T-Spice invoking, 103

W
waveform probing defined, 98 described, 99, 101

S-Edit User Guide

208

Index

Waveform Probing Setup dialog box, 100 W-Edit invoking, 103 wires, 62 drawing, 28, 59, 71 editing textually, 66 Work Area, 11

Z
Zoom, 11 In, 163 Mouse, 163 Out, 163 To Selections, 163 zooming, 56

S-Edit User Guide

209

Credits

Software Development
Ken Van de Houten Nikita Jorniak

Quality Assurance
Luba Gromova Ken Van de Houten Yelena Nakhimovskaya

Documentation
Judy Bergstresser Ken Van de Houten

S-Edit User Guide

210