0% found this document useful (0 votes)
356 views177 pages

Sedit Tutorial

The document describes the user interface and setup options for the S-Edit software. It covers topics like launching the program, using the various toolbars and navigators, customizing colors and grids, setting preferences, and creating and managing schematic design projects and files.

Uploaded by

Mohamed
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
356 views177 pages

Sedit Tutorial

The document describes the user interface and setup options for the S-Edit software. It covers topics like launching the program, using the various toolbars and navigators, customizing colors and grids, setting preferences, and creating and managing schematic design projects and files.

Uploaded by

Mohamed
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 177

S-Edit 13 User GuideContents

1 Interface and Setup 8


Launching S-Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 Parts of the User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Title Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Menu Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Menu List Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Standard Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Draw Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Segment Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Electrical Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SPICE Simulation Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Locator Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mouse Buttons Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding and Displaying Keyboard Shortcuts . . . . . . . . . . . . . . . . . . Menu and Toolbar Display Options . . . . . . . . . . . . . . . . . . . . . . . . Customizing Toolbar Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 10 10 10 10 11 11 12 13 14 15

Customizing Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Design Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Navigation Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 Libraries Navigator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Hierarchy Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Properties Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 Find Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 Command Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Command Window Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Setting Command Window Text Styles . . . . . . . . . . . . . . . . . . . . . 21 Controlling Warnings and Information in the Log File . . . . . . . . . . . 22

Arranging Interface Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Setup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 Changing Setup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 Saving and Loading Setup Options . . . . . . . . . . . . . . . . . . . . . . . . .24 The Project Setup and User Preferences Folders . . . . . . . . . . . . . .25
User Preferences Folder Location . . . . . . . . . . . . . . . . . . . . . . . . . 26 Alternate Locations for Setup Scripts . . . . . . . . . . . . . . . . . . . . . . . 26 Persistent Setup Values by Library . . . . . . . . . . . . . . . . . . . . . . . . . 26

Color Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26


Setup > Technology > Schematic Colors . . . . . . . . . . . . . . . . . . . . 26

Grid and Unit Coordinates in S-Edit. . . . . . . . . . . . . . . . . . . . . . . . .27


Major and Minor Display Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Snap Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Internal Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Grid Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28


Setup > Technology > Schematic Grids . . . . . . . . . . . . . . . . . . . . . 28

Unit Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29


Setup > Technology > Schematic Units . . . . . . . . . . . . . . . . . . . . . 29

Setting Page Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29


Setup > Technology > Schematic Page . . . . . . . . . . . . . . . . . . . . . 29

Naming Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30


Setup > Technology > Validation . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Cell Protection Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

S-Edit 13 User Guide

S-Edit 13 User GuideContents


(Continued) Setup > Technology > Protection . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Cell View and Language Options. . . . . . . . . . . . . . . . . . . . . . . . . . .33


Setup > Preferences > General . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Mouse Wheel Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34


Setup > Preferences > Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Selection Behavior Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35


Setup > Preferences > Selection . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Text File Update Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36


Setup > Preferences > Text Editor and Styles > Text Editor . . . . . 36

Text File Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37


Setup > Preferences > Text Editor and Styles > Styles . . . . . . . . . 37

Text File Font Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37


Setup > Preferences > Text Editor and Styles > Styles > {filetype} > Style . . . . . . . . . . . . . . . . . . . . . . . . . 37

Text File Keyword Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38


Setup > Preferences > Text Editor and Styles > Styles > {filetype} > Keywords . . . . . . . . . . . . . . . . . . . . . 38

SPICE Simulation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 S-Edit Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 S-Edit Product Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
Support Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Creating a Project
Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scenario 1 Scenario 2 Scenario 3 Scenario 4 Scenario 5 ........................................... ........................................... ........................................... ........................................... ...........................................

41
41 41 41 41 41 42 43 43 43 44 44

Project Structure in S-Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

How to Use Multiple Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

Creating a Schematic Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44 Creating a New Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 Project File Structure in S-Edit. . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Creating a New Text File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Adding a Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 Opening an Existing Design or Text File . . . . . . . . . . . . . . . . . . . . .46


Opening a TCL File for Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Executing a TCL File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Cells or Libraries Missing From a Design . . . . . . . . . . . . . . . . . . . .47


Resolving Missing Cells or Libraries . . . . . . . . . . . . . . . . . . . . . . . . 48

Closing a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 Saving a Design or Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50


Save Copy Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Cell and View Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51


Shortcuts for Cell and View Commands . . . . . . . . . . . . . . . . . . . . . 51

Creating a New View (Cell > New View or N) . . . . . . . . . . . . . . . .52 Opening a View (Cell > Open View or O). . . . . . . . . . . . . . . . . . . .52 Copying a Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

S-Edit 13 User Guide

S-Edit 13 User GuideContents


(Continued)

Copying a View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 Instancing a Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 Renaming a Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 Renaming a View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 Deleting a View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 Printing a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 Print Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

Navigating and Viewing a Design

58

The Work Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 Opening Design Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58


Reusing Design Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Changing Windows and Views . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 Splitting a Cell into Multiple Pages. . . . . . . . . . . . . . . . . . . . . . . . . .60 Showing and Hiding Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 Panning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
Panning to a Specific Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Zooming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
Zooming with the Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zooming with the Mouse Wheel . . . . . . . . . . . . . . . . . . . . . . . . . . . Zooming with the Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zooming to Selected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zooming to Show the Entire Contents of a Cell . . . . . . . . . . . . . . . 62 62 62 62 62

The Libraries Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 The Hierarchy Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 The Find Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

Drawing, Selecting and Editing Objects


90 Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L-Corner Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . All Angle Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70
70 71 71 71

Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Segment Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70

Using the Mouse to Draw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 Drawing Tools for Annotation Graphics. . . . . . . . . . . . . . . . . . . . . . . .72
Boxes (Draw > Box or B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Polygons (Draw > Polygon or P) . . . . . . . . . . . . . . . . . . . . . . . . . Paths (Draw > Path) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Circles (Draw > Circle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Labels (Draw > Label) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 73 73 73 74

Auto-Repeat for All Types of Labels . . . . . . . . . . . . . . . . . . . . . . . .75


Instance (Cell > Instance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Drawing Tools for Electrical Objects . . . . . . . . . . . . . . . . . . . . . . . . . .75


Wires (Draw > Electrical > Wire) . . . . . . . . . . . . . . . . . . . . . . . . . . . Solder Points (Draw > Electrical > Solder Point) . . . . . . . . . . . . . . Connect/Disconnect (Draw > Electrical > Connect) . . . . . . . . . . . . Net Caps (Draw > Electrical > Net Cap) . . . . . . . . . . . . . . . . . . . . . Net Labels (Draw > Electrical > Net Name) . . . . . . . . . . . . . . . . . . Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 76 76 76 76 77

Drawn Properties of Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77


Electrical Properties of Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Selecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78

S-Edit 13 User Guide

S-Edit 13 User GuideContents


(Continued)

Explicit Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78


Selection by Clicking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selection by Enclosing (Selection Box or type Select - Enclose) . . Selection by Intersection (type Select - Intersect) . . . . . . . . . . . . . Extend Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cycle Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Select All (Edit > Select All) and Deselect All (Edit > Deselect All) 78 79 79 79 79 79

Implicit Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 Deselection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80


Automatic Deselection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Moving and Editing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 Moving Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81


Moving by a Specific Amount (Draw > Move By) . . . . . . . . . . . . . . 81 Forcing a Move Operation Instead of an Edit (Draw > Force Move or Alt + M) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Rotating Objects (Draw > Rotate 90 degrees or R) . . . . . . . . . . . . 81 Flipping Objects (Draw > Flip) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Copying and Duplicating Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82 Creating Arrays Using the Duplicate Command . . . . . . . . . . . . . . .82 Pasting Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 Pasting Objects to Other Applications . . . . . . . . . . . . . . . . . . . . . . .84 Using Undo & Redo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
Edit > Undo (Ctrl + Z) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Edit > Redo (Ctrl + Y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Showing and Hiding Objects by Type . . . . . . . . . . . . . . . . . . . . . . . . .84 Deleting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84

Creating a Schematic
Instances of Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annotation Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85
85 85 85 85 85

Elements of a Schematic View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85

Creating a Schematic View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86 Creating a New View (Cell > New View or N) . . . . . . . . . . . . . . . .86 Creating Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86 Instancing a Cell (Cell > Instance or I) . . . . . . . . . . . . . . . . . . . . .86
Locking and Hiding Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Editing Instance Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88


Editing Properties from the Work Area . . . . . . . . . . . . . . . . . . . . . . Locked Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving Instance Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting All Instances of a Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Properties on Multiple Instances . . . . . . . . . . . . . . . . . . . . . Changing Instances of a Cell to Instances of a Different Cell . . . . . Setting the Visibility of Properties on Instances . . . . . . . . . . . . . . . 88 89 89 89 89 89 90

Making and Labeling Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 Drawing Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90


Connections Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hot Spots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Connection where Wires Intersect . . . . . . . . . . . . . . . . Rubberbanding and Disconnecting Wires . . . . . . . . . . . . . . . . . . . 90 91 92 92

Adding Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92

S-Edit 13 User Guide

S-Edit 13 User GuideContents


(Continued)

Types of Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93


Drawing and Labeling Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Naming Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Labeling Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Port Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 95 95 97

Buses, Bundles and Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97 Creating a Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97


Repeating Names and Grouping Buses . . . . . . . . . . . . . . . . . . . . . 98 Expanding Buses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Creating an Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99 Global Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 Global Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 Global Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
Naming Global Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Effective Design with Global Nets . . . . . . . . . . . . . . . . . . . . . . . . .103 Capping Global Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Naming Net Caps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Checking a Design for Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 Schematic Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106


Checks on Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checks on Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checks on Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checks on Interface Integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 106 106 107

Net Highlighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107

Creating a Symbol
Symbol Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

109
109 109 109 109

Elements of a Symbol View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109

How To Create a Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110


Visible and Hidden Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Creating and Updating Symbols Automatically . . . . . . . . . . . . . . . 110

Symbol Property Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 System Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 User Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
Default Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Service Sub-Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Evaluated Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Editing Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113 The Properties Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113


Properties Navigator Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing with the Properties Navigator . . . . . . . . . . . . . . . . . . . . . . Adding User Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying and Pasting Properties . . . . . . . . . . . . . . . . . . . . . . . . . . Replacing a Device or Symbol Globally . . . . . . . . . . . . . . . . . . . . Importing and Exporting Properties . . . . . . . . . . . . . . . . . . . . . . . 114 115 115 116 116 116

Callbacks for Property Values . . . . . . . . . . . . . . . . . . . . . . . . . . .117


Writing TCL Functions for Callbacks . . . . . . . . . . . . . . . . . . . . . . 118

Port Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119

Evaluated Properties

120

S-Edit 13 User Guide

S-Edit 13 User GuideContents


(Continued)

Expressions as Property Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 Displaying Evaluated Properties . . . . . . . . . . . . . . . . . . . . . . . . . .120 Supported Operators, Functions and References . . . . . . . . . . . . .121 TCL Commands in Expressions . . . . . . . . . . . . . . . . . . . . . . . . . .122
Built in TCL functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Viewing Property Values In Context . . . . . . . . . . . . . . . . . . . . . . .124

Importing and Exporting Netlists and Schematics

125

Importing a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 Importing SPICE Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 Importing EDIF Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125
EDIF Translations for Virtuoso . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 EDIF Translations for ViewDraw . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Exporting a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 Exporting SPICE Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130


SPICE Export Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

SPICE Output Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137


Example 1: MOSFET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example 2: MOSFET with Property Substitution . . . . . . . . . . . . . Example 3: Conditional Output . . . . . . . . . . . . . . . . . . . . . . . . . . . Example 5: Title Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Passing Subcircuit Parameters to the Originating Cell . . . . . . . . . Exporting Global Node Connections . . . . . . . . . . . . . . . . . . . . . . . 137 137 138 138 139 139

Exporting EDIF Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140 Exporting Verilog Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142


Properties Controlling Verilog Export Behavior . . . . . . . . . . . . . . 142

Exporting VHDL Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144 Exporting TPR Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145

Scripting with TCL

146

TCL Commands Available in S-Edit . . . . . . . . . . . . . . . . . . . . . . . 146

Running TCL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146


Source Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Launching Scripts Automatically . . . . . . . . . . . . . . . . . . . . . . . . . .147


Running a Script when S-Edit Closes . . . . . . . . . . . . . . . . . . . . . . 148 Running a Script when a Design Opens . . . . . . . . . . . . . . . . . . . . 148

10

Simulation and Waveform Probing

149

SPICE Simulation Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 Saving and Copying SPICE Simulation Settings . . . . . . . . . . . . . .150 General SPICE Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150 Netlisting Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153 SPICE Parameters, Options and Additional Commands . . . . . . . .153 DC Operating Point Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154 Transient/Fourier Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154 DC Sweep Analysis (or DC Transfer) . . . . . . . . . . . . . . . . . . . . . .155 AC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 Noise Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 Transfer Function Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 Temperature Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 Parameter Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 Running Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160

S-Edit 13 User Guide

S-Edit 13 User GuideContents


(Continued)

Probing Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160


Using the .probe Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Probing Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Probe Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Probing for Unique Instance PropertiesIn Context Values . . . 161 162 163 163

11

Command Reference

164

File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Edit Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 Draw Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166 Cell Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167 Setup Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167 Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168 Window Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168 Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168

Index Credits

169 177

S-Edit 13 User Guide

Interface and Setup

S-Edit is a fully hierarchical computer-aided schematic capture application for the logical design of integrated circuits. S-Edit contains integrated SPICE simulation and probing of simulation results, including voltages, currents, and noise parameters.

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

The user interface consists of the elements shown below. Unless you explicitly retrieve a setup file, the position, docking status and other display characteristics are saved with a design and will be restored when the design is loaded.
Title Bar Menu Bar Toolbars

Libraries & Hierarchy Navigators Design Area

Properties & Find Navigators

Command Window Status Bar

S-Edit 13 User Guide

Chapter 1: Interface and Setup

Parts of the User Interface

Parts of the User Interface


Title Bar
The title bar shows the name of the current cell and the view type (symbol, schematic, etc.).

Menu Bar
The menu bar contains the S-Edit menu titles. The menu displayed may vary depending on the view type that is active. See Shortcuts for Cell and View Commands on page 51 for the various methods S-Edit provides for executing commands.
File: creating, opening, saving and printing files Edit: copying, deleting and selecting design elements View: panning and zooming in work area, showing and hiding interface elements Draw: selecting drawing tools, predefined movements Cell: cell operations like opening, copying, renaming, and deleting Setup: establishing application level options Tools: SPICE simulation and probing Window: arranging interface windows Help: documentation, tutorials and support

Menu List Filtering


Most S-Edit menus and dialogs allow for filtering to speed the process of selecting from a drop-down list. So, when you enter a character, S-Edit will jump to the first list item that begins with that character. For example, typing g highlights the first list item beginning with that letter and filters the display to show only items that begin with g. Typing a u after the g highlights the first list item beginning with gu, and filters the display to show only items that begin with gu, and so on. The search procedure is case-insensitive.

Toolbars
You can display or hide individual toolbars using the View > Toolbars command, or by right-clicking in the toolbar region. Toolbars can be relocated and docked as you like. For added convenience, S-Edit displays a tool tip when the cursor hovers over an icon. You can also cutomize your toolbars; see Customizing Toolbars on page 11.

S-Edit 13 User Guide

Chapter 1: Interface and Setup

Parts of the User Interface

Standard Toolbar
The Standard toolbar provides buttons for commonly used file and editing commands, as well as operations specific to S-Edit such as View Symbol or Save Design and Its Libraries.

Draw Toolbar
The Draw toolbar provides tools used to create non-electrical objects, such as rectangles, circles, and lines, for illustrating and documenting a design.

Segment Toolbar
The Segment toolbar provides tools with which you limit the degree of angular freedom allowed when you are drawing wires. (See Drawing Tools for Electrical Objects on page 75.)

Electrical Toolbar
The Electrical toolbar provides the tools used to create wires, nets, and ports, and to add properties.

SPICE Simulation Toolbar


The SPICE Simulation toolbar lets you extract connectivity, select and probe nets, launch T-Spice and select evaluated properties.

Locator Toolbar
The Locator toolbar displays the coordinates of the mouse cursor and allows you to quickly change the units of measurement application-wide.

S-Edit 13 User Guide

10

Chapter 1: Interface and Setup

Parts of the User Interface

Mouse Buttons Toolbar


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

Mouse buttons vary in function according to the tool that is active. The Shift, Ctrl and Alt keys can further change the function. For two-button mice, the middle-button function is accessed by clicking the left and right buttons at the same time, or by pressing Alt while clicking the left mouse button.

Customizing Toolbars
This context-sensitive menu lets you completely customize the S-Edit toolbars. Right-click on any of the toolbars and click on Customize to open the Customize dialogs.

Adding Toolbars
Use Customize > Toolbars to add, remove and rename your own custom toolbars. Note that the checkmarks contol only whether or not a toolbar is displayed. The Reset function applies only to the toolbar that is highlighted, and it will be applied even when the toolbar is not currently displayed. Reset returns a toolbar to the default Tanner settings (See also Reset menu and toolbar usage data on page 14.).

S-Edit 13 User Guide

11

Chapter 1: Interface and Setup

Parts of the User Interface

Adding Commands
Use Customize > Commands to add an existing command or menu to any toolbar, or to create new commands and toolbars.

To add an exisiting command, highlight a menu in the Categories pane then click and drag the desired command from the Commands pane to the toolbar of your choice. To add a new command, choose Custom from the Categories pane and drag Execute button text as Tcl to the toolbar of your choice. In either case, S-Edit will insert a button with the command text, or the icon if one is already defined. For custom buttons you must replace Execute button text as Tcl with the name of the TCL function you want to use. Note that the TCL function must be loaded in S-Edit during the current session for the button to execute the operation. If you save the TCL files that contain button functions to the C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\startup directory, they will be available everytime S-Edit is launched. Buttons can be further customized as described in Customizing Toolbar Buttons on page 15.

S-Edit 13 User Guide

12

Chapter 1: Interface and Setup

Parts of the User Interface

Adding and Displaying Keyboard Shortcuts


Customize > Keyboard lets you add or change shortcut key assignments for menu commands.

Category Commands

Select the menu to which the command belongs. Select the command for which you want to add or change a keyboard shortcut. Displays existing key assignments. If blank, no shortcut is assigned. It is possible to have more than one shortcut for a command. Highlight a command and click on Remove to remove a shortcut. To restore the default settings click on Reset All.

Key assignments

Press new shortcut key

Highlight a command in the Commands pane, then use this field to enter the key(s) that will be the shortcut. You can use any combination of the Alt, Shift and Ctrl keys with any of the character keys. S-Edit will warn you if your entry is already in use. (Since this field interprets any key you press literally, you cannot delete a value in this fieldsimply enter a different value.) Click on Assign to save your shortcut.

Description

This display-only field shows each commands tooltip.

S-Edit 13 User Guide

13

Chapter 1: Interface and Setup

Parts of the User Interface

Menu and Toolbar Display Options


Customize > Options is an assortment of display controls for menus and toolbars.

Always show full menus

Menus and toolbars will automatically adjust based on how often you use commands so that only the commands you use most often are displayed. If you prefer, you can choose the Always show full menus option so that all commands are displayed on the menu. (Not operational.) Deletes the record of all the commands used in S-Edit (for short menu display) and restores the default set of visible commands to the menus and toolbars. However, explicit changes you have made in the current or earlier sessions will remain. Check this box to display large toolbar buttons. Check this box to display screentips (also called tooltips) for the toolbar buttons. (A tooltip is a brief reminder of the related command that is displayed when your mouse hovers over a toolbar button.)

Show full menus after a short delay Reset menu and toolbar usage data

Large icons Show Screentips on toolbars

Show shortcut keys in Screentips Menu animations

Check this box to add shortcut keys to the tooltip display. You can choose from the list to add animation to the open menu operation.

S-Edit 13 User Guide

14

Chapter 1: Interface and Setup

Parts of the User Interface

Customizing Toolbar Buttons


If you right-click on a toolbar button while the toolbar Customize dialog is open, you will access the button controls shown below.

Reset Delete Name

(Not operational.) Deletes the selected button. Use this field to edit the button name when it is displayed as text. The tooltip will not be affected. Copies the selected button image. Pastes the selected button image. Resets all changes to the button image and text. Opens the Button Editor where you can perform basic graphic functions.

Copy Button Image Paste Button Image Reset Button Image Edit button Image

S-Edit 13 User Guide

15

Chapter 1: Interface and Setup

Parts of the User Interface

Change Button Image

Opens a small palette of clip art from which you can choose an icon.

Default Style Text Only

Displays the default (image only) for the selected toolbar button. Displays just the contents of the Name field for the selected toolbar button. Displays both the icon and the text from the Name field for the selected toolbar button. Inserts a fine line denoting a toolbar group to the left of the selected button.

Image and Text

Begin a Group

Status Bar
The Status Bar display varies with the type and number of objects selected and the tool in use. You can use View > Status Bar to toggle display on and off.

Item Selected
single instance simple geometry

Status Bar displays: The instance name and source cell Width, height, area, pathlength, the number of vertices it contains and for ports, the X,Y coordinates and name of the object. The number of instances selected. The type and number of each object. The status of waveform probing operations. The drawing mode and any constraints (on the right side).

multiple instances multiple objects during design probing during drawing operations

Design Area
The region in Tanner tools where you create, view and edit objects is called the Design Area. The portion of the design area currently visible is called the Work Area. You can move or resize design

S-Edit 13 User Guide

16

Chapter 1: Interface and Setup

Navigation Tools

windows as you would in any other application window. Refer to The Work Area on page 58 for further information.

Navigation Tools
S-Edit provides several different tools for displaying and searching design libraries, cells, and cell properties. Default positioning is with the Libraries and Hierarchy navigators tabbed together on the left and the Properties and Find navigators on the right. However, each of these navigators is a dockable toolbar. They can be completely separated, grouped all together in a tabbed window (which can include design windows as well); they can be placed in any of the standard Windows docking locations of docked positioned anywhere in the S-Edit interface as a floating window.

Libraries

Properties Hierarchy Find Libraries, Properties, Hierarchy, Find

Navigation bars separate and docked

Navigation bars together and tabbed

S-Edit 13 User Guide

17

Chapter 1: Interface and Setup

Navigation Tools

Libraries Navigator
The Libraries navigator allows you to add and remove cell libraries and also dispalys a list of the cells in the libraries that are highlighted. You can use this list to open, duplicate, or instance a cell, or to create a new view of a cell. See The Libraries Navigator on page 62 for more information.

Hierarchy Navigator
The Hierarchy navigator displays hierarchical information for the active cell, including the parent and child cells, the total count of each, and the number of times they are instanced. See The Hierarchy Navigator on page 64.

S-Edit 13 User Guide

18

Chapter 1: Interface and Setup

Navigation Tools

Properties Navigator
The Properties navigator provides an editable display of the characteristics of a selected object, which may be a cell, drawn geometry, port, etc. See Editing Properties on page 113 and Editing Instance Properties on page 88.

Find Navigator
The Find navigator provides advanced find options for any object type, with fields for TCL scripting that can be used to further define a search. See The Find Navigator on page 66.

S-Edit 13 User Guide

19

Chapter 1: Interface and Setup

Navigation Tools

Command Window
All events that occur in the S-Edit design area are recorded to a log displayed in the Command window, in tool command language (TCL) format. TCL files are macro-like scripts that allow you to perform or repeat operations. The Command window serves as both a recording and a playback device for TCL files. As such, any action or operation performed by S-Edit can be copied or replayed. Text can be typed in, copied from executed operations and then pasted back into the Command window, or written in from a saved TCL file to instantly perform the desired operations. This is especially useful for automating and simplifying difficult or repetitive tasks. You can use View > Activate Command Window (shortcut backquote ) to open the Command window if it is not open. If it is open, backquote will shift focus to it.

Command Window Log Files


Each time S-Edit is launched it creates a TCL log file that records each operation performed in the design windows for the entire session. The last 10,000 lines (a default value which can be changed, see Controlling Warnings and Information in the Log File on page 22) of this log are displayed in the Command window. Logs files are identified by the date and time the session was launched.

How to Locate Log Files


To set the directory where log files are stored, right-click in the Command window to open its context-sensitive menu. Select Customize (shortcut F8) to open the Customize Command Window dialog, then use the Folders tab to select or create a storage directory.

If no path is set in this dialog, then logs are stored in the location set by the TANNERLOGPATH environment variable.

S-Edit 13 User Guide

20

Chapter 1: Interface and Setup

Navigation Tools

If there is no TANNERLOGPATH environment variable, logs are stored in a folder Tanner Logs under the temp folder, which can be %TMP% or %TEMP% or even the WINDOWS folder on your hard drive, depending on the configuration of your Windows environment.

Setting Command Window Text Styles


You can set display characteristics in the S-Edit Command window for each of the categories of texterror messages, warnings, modules, etc. using the General tab of Customize Command Window.

Font Background Editing

Use this field to pick a font or set it to the default. Use this field to pick a background color or set it to the default. Use this field to set the behavior of the backspace and tab keys.
Delete acts as backspace When this checkbox is enabled, the Delete key functions like the Backspace key by removing text to the left of the cursor. When this checkbox is not checked, the Delete key

removes text to the right of the cursor as usual.


Tab expands keywords When this box is checked, you can use the Tab key to expand all keywords. Context highlighting

When you select a text type in the upper pane, you can check the boxes to make it Bold and Italic, and also Pick a text color or set it to the Default.

S-Edit 13 User Guide

21

Chapter 1: Interface and Setup

Navigation Tools

Controlling Warnings and Information in the Log File


The Filters tab in Customize Command Window allows you to limit the type or amount of information written to the log file. You can also set certain display controls for the Command window which do not effect the log file.

Events to log

Check the boxes to include events categorized as Warnings and Information in the log file and Command window display. (Actions and Errors are always written to the log file.) The higher the Verbosity value, the higher the detail included in event messages written to the log file.

Modules

Each program module in S-Edit generates a set of messages, identified by a preceding # module_name, where module_name is a three character abbreviation such as LIC for license related messages. Enter these abbreviations, separated by commas, to exclude or include a type of message from the log file and Command window. When Exclude messages from module is checked, messages from any module abbreviations listed in the corresponding entry field will not be written to the log file. When Include messages from module is checked, messages from any module abbreviations listed in the corresponding entry field will be written to the log file.

Log viewer

Note: These options effect the Command window display only, not

what is written to the log file. Check the Display Timestamps box to display the timestamp when one is included in a message. Enter an integer between 100 and 100,000 to set the Number of lines at the end of the log file to display.

S-Edit 13 User Guide

22

Chapter 1: Interface and Setup

Navigation Tools

Arranging Interface Elements


The S-Edit interface is highly flexible, allowing you to display and arrange elements as you choose. You can dock individual S-Edit toolbars, navigators and the design window, or they can float anywhere in the application window. With the exception of the locator toolbar, toolbar buttons will be arranged vertically when docked to the sides. Design windows can be shown, hidden or made dockable directly from the interface. Display colors can be customized for objects, background, the grid, etc., and can be set differently in the text editor for each of the file types it reads. Windows reuse in the design area is configurable, as are parameters such as selection range and behavior. Settings for these and other configuration parameters are available in the Setup menu.

How to Dock Windows in S-Edit


S-Edit uses standard Windows 2000/XP docking behavior. When you drag any of the interface windows and release the cursor over a blue docking arrow, it will dock as shown below.

Edge Arrows When you release a window over a docking arrow at the edge of the screen, it will dock at that edge, in between the other docked windows.

Center Arrows When you release a window over a docking arrow at the center of the screen, it will dock at the corresponding edge, filling the entire application area.

S-Edit 13 User Guide

23

Chapter 1: Interface and Setup

Setup Options

Setup Options
The Setup menu contains configuration controls as follows:
Colors Controls the color of objects in the design window. Grids Controls the size and style of the display grids. Units Controls the unit type and scaling factor for display units. Page Controls page size, margins and borders. Validation Controls the allowable entry type (e.g. alpha vs. numeric) in naming fields. Protection Allows you to protect an entire design file to prevent editing. General Controls design window and language display. Selection Controls mouse selection behavior. Text Editor and Styles Controls text file update and display characteristics. SPICE Simulation Controls simulation parameters and options (see Running Simulations on

page 160).

Changing Setup Options


Setup values are stored as TCL scripts, with one TCL file for each page (colors.tcl, grid.tcl, etc.) in the Setup dialog. Use Setup > Technology, Setup > Preferences or Setup > SPICE Simulation to enter and change setup values. Note that changes to a setup page will only be applied if the corresponding checkbox in the list on the left side of the window is checked. (S-Edit automatically enables the check box for a page when changes are first entered.)
In this example, only changes to the Schematic Colors, Schematic Units, Validation and Mouse dialogs will be applied.

Note:

Changes to setup pages are saved only if 1) the page is checked in the list in the left pane of the setup window and 2) the Save button has been pressed before the dialog is closed.

Saving and Loading Setup Options


If you want changes to setup pages to apply only to the current editing session, simply click on the Close button.

S-Edit 13 User Guide

24

Chapter 1: Interface and Setup

Setup Options

If you want to save the changes locally so they will be loaded when the design is launched again, click on the Save button before closing the dialog. S-Edit will create and populate a setup folder in the directory you specify.

Save

You must click on the Save button to save a setup configuration to a TCL file. Note: Make sure there is a check in the checkbox for the attributes you want to save! Only dialog pages that are checked will be saved. Use this button to load a saved setup file. Note: Make sure there is a check in the checkbox for the attributes you want to load! Only checked dialog pages will be loaded. Use this drop-down list to select the folder to which a setup file will be saved, or from which a setup file will be retrieved.
{project setup folder} is the setup folder in the design folder of the selected design or library shown in the title of the Setup dialog. {user preferences folder} is a setup folder in the Tanner directory

Load

To/from folder

on a local computer from which S-Edit will automatically read user-defined setup values that overwrite the default settings for a design. You can also browse to the directory of your choice to save or load a setup file that S-Edit does not search for automatically.

The Project Setup and User Preferences Folders


When you open a design, S-Edit first reads TCL scripts for setup data from the project setup folder in the design directory, and then from the user preferences folder. Settings from the user preferences folder take precedence over settings from the design project folder if a script of the same name is present in both locations. This sequential load order allows for a universal setup intended for all users of a given design and also for individual users to modify the universal setup by saving their own setup preferences to a user preferences folder. To save setup options to the design folder, select {project setup folder} from the drop-down menu at the bottom of each setup page. To save settings to the user preferences folder, select {user preferences folder}. Note that setup scripts are not required to exist in either location, in which case S-Edit default values are used.

S-Edit 13 User Guide

25

Chapter 1: Interface and Setup

Setup Options

User Preferences Folder Location


The predefined location of the user preferences folder is C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\open.design\setup, where username is the login name of the current user. This is the directory to which S-Edit saves setup TCL files when you select {user preferences folder}. The user preferences folder may be modified with appropriate windows environment variables.

Alternate Locations for Setup Scripts


You can use the To/from folder field to save setup scripts to any other location you like. This is useful when you want to save setup values that differ from those S-Edit loads automatically. For example, setup definitions can be explicitly saved and loaded in order to copy setup data to a new design file, or so that you can save multiple alternate setup schemes. Note that when you load a setup file from a user selected folder, only settings on the pages with their checkbox checked in the active design will be loaded.

Persistent Setup Values by Library


When a design contains more than one library, each library will maintain its own setup values. For example, take a design Cool, with graphics rendered in blue, which uses a library Warm, with graphics drawn in red. Instances of symbols that come from cells in the Cool design will be rendered in blue, while instances of cells from the library Warm will be rendered in red.

Color Display Options Setup > Technology > Schematic Colors


Use Setup > Colors to set the color scheme for your design.

Schematic Colors

Use these fields to set the color for the associated drawn element (wire, port, background, grid, etc.) by clicking on the drop-down arrow to open the standard windows color dialog.

S-Edit 13 User Guide

26

Chapter 1: Interface and Setup

Setup Options

Display numeric values

Check this box to also show the six-digit hexadecimal representation of colors in the form RRGGBB, corresponding to the red, green, and blue values of the color.

Grid and Unit Coordinates in S-Edit


S-Edit uses display units to report object dimensions and coordinates, to set a grid to use as a visual aid while drawing, and to establish an optional snapping grid for the mouse cursor.

Major and Minor Display Grid


The grid:display grid consists of two arrays in the design area, large (major) and small (minor), that can be set to any desired size to provide a drawing guide, typically to set minimum feature size or critical manufacturing measurements. The grids can be independently displayed or not, as either dots or lines. Display units can be shown in millimeters, centimeters, meters, or inches. The choice of display units does not affect the scaling of your design. If you change the display units, for example, from millimeters to inches, S-Edit will automatically convert the unit values displayed in the locator bar to inches, but nothing in the design itself will change. The apparent spacing of the grids will vary with the magnification of the work area. If the number of screen pixels per grid square falls below the value entered in this field, the grid is hidden. The coordinate origin point (0,0) is indicated by a large cross-hair marker, and its display can also be toggled on and off.

Snap Grid
The snapping grid, which can be a different size than the display grid, causes all drawing and editing coordinates entered with the mouse to be placed on grid points. To achieve adequate resolution, you may wish to adjust the spacing of the mouse snap grid based on your minimum feature size.

Internal Units
For its own computation, S-Edit uses internal units. Before beginning your design, you must define the relation between internal units and physical units. This ratio will determine the maximum dimensions of the design area and the smallest object that can be drawn. This relation is also critical when you replace your design setup or export a design, since it sets the scale of the design file. The S-Edit design area extends from -536,870,912 to +536,870,912 internal units in the x- (horizontal) and y- (vertical) directions. Thus, if 1 internal unit = 0.001 millimeters, the largest possible design would be 1,073,741 internal units (roughly 42.3 inches) on a side. Similarly, the smallest dimension S-Edit can define is 1 internal unit. If 1 internal unit = 0.001 millimeters, the smallest possible feature size would be 0.001 millimeters. To set internal units see Unit Display Options on page 29.

S-Edit 13 User Guide

27

Chapter 1: Interface and Setup

Setup Options

Grid Options Setup > Technology > Schematic Grids


Use Setup > Technology > Schematic Grids to set the size of the display grid for your design.

Major Grid (in display units) Minor Grid (in display units) Snap Grid

The absolute spacing of the major grid display. The value entered in this field is the distance, in display units, between major grid points. The absolute spacing of the minor grid display. The value entered in this field is the distance, in display units, between minor grid points. The absolute spacing of the cursor snap grid, entered in display units as the length of one side of a grid square. The value entered in this field is the minimum resolution, in display units, allowed during drawing and editing operations. All drawing and editing coordinates are snapped to this grid size when it is not zero.

Autocalculate

Pressing this button calculates the largest possible minor grid size for the selected design based on all port positions in the design and updates the other values in the dialog. If a common grid value cannot be found S-Edit will return one (1) internal unit. Use this field to set the hot spot size for ports, in display units. (See Hot Spots on page 91.) The default value is eight internal units when a new design is created. Zero is an allowed value.

Port Instances

S-Edit 13 User Guide

28

Chapter 1: Interface and Setup

Setup Options

Unit Display Options Setup > Technology > Schematic Units


Use Setup > Technology > Schematic Units to establish the relation between S-Edit display units and physical units.

Schematic Units units per Internal Unit

Choose a physical unit for your design. Enter the scale of physical units to internal units as a decimal value. To enter the ratio as a fraction, click Change to enter a numerator and denominator.

Setting Page Size Setup > Technology > Schematic Page


Setup > Technology > Schematic Page lets you select a standard page size and frame style for your

design. S-Edit calculates the frame size with respect to the unit settings defined in

Setup > Technology > Schematic Units so that when you print using the Do not scale setting the

design window will print to fit the page size you have chosen.

S-Edit 13 User Guide

29

Chapter 1: Interface and Setup

Setup Options

Standard

Choose from the predefined page sizes, or select Custom to define your own. Enter the Width and Height here when using a Custom page size. Controls the margins between the frame and paper edges, separately for Top, Bottom, Left and Right. Choose from the options box, grid or none. Grids increment as an alpha array in the x direction from A and numerically in the -y direction from 1. All frames are placed with the lower left corner at the origin.

Custom size Margins

Frame style

View Setup

Opens a dialog that allows you to enter page setup values for the currently active view that differ from those defined for the entire design. Enable Overwrite design settings to apply the values in this dialog to the active view. Click on Load from design to reset values to those defined for the entire design.

Naming Constraints
The fields in Setup > Technology > Validation allow you to enter constraints on how cells, views, instances, port and nets can be named. For example, you might want to prevent the use of spaces in cell names so that your design will adhere to GDSII naming conventions. You would write a TCL function, add it to the C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\startup directory that S-Edit checks when its launched, and enter the name of that function in the Cell Name field of the Validation setup page.

S-Edit 13 User Guide

30

Chapter 1: Interface and Setup

Setup Options

When you enter a cell name in, for example, Cell > New View, S-Edit excutes the TCL function referenced in the setup page, and displays any violations in the Command window, highlighted in red. For example, Name validation violation: <description>. Create anyway? where description is the string returned by the validation function.

Note:

Note that existing cell names, and names that are entered using the Properties navigator, are not validated until a file undergoes a design check. After a design check, violation warnings are displayed in the Command window. Similarly, no validation checking is performed when a TCL command is entered directly in the Command window.

Creating TCL Functions for Naming Constraints


S-Edit uses TCL functions to check for naming errors for the following objects: cells, views, instances, port and nets. To create naming constraints for an object type you write a TCL function and then enter the function name in the corresponding validation field.

Setup > Technology > Validation


A default set of validation functions (IsLegalCellname, IsLegalViewName, IsLegalInstanceName, IsLegalPortName, IsLegalNetName) is provided with S-Edit in the tannerinit.tcl file. When you create a new design it is automatically initialized to point to these default functions. You can create your own naming constraints by writing your own TCL functions, saving them to the
C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\startup folder, and entering those function names in the fields of the Setup Validation page. Contents of the S-Edit startup folder will take precedence over what is in tannerinit.tcl.

While it is possible to overwrite the TCL functions in tannerinit.tcl Tanner EDA strongly recommended that you do not modify the tannerinit.tcl file, as it is overwritten with each product upgrade.

S-Edit 13 User Guide

31

Chapter 1: Interface and Setup

Setup Options

Note that validation is controlled in two waysby object type from the dialogs where you can enter a name (using the Disable name validation checkbox), and globally from the Setup Validation page (using the Enable Validation checkbox).
Cell name

Enter the name of the TCL procedure with the set of naming constraints you want to apply to cells. Enter the name of the TCL procedure with the set of naming constraints you want to apply to views. Enter the name of the TCL procedure with the set of naming constraints you want to apply to instances. Enter the name of the TCL procedure with the set of naming constraints you want to apply to ports. Enter the name of the TCL procedure with the set of naming constraints you want to apply to nets. Check this box to enable all TCL name validation functions; leave it empty to disable them all.

View name

Instance name

Port text

Net label

Enable Validation

Cell Protection Options Setup > Technology > Protection


Setup > Technology > Protection prevents edits to the contents of all cells in a design. When Allow editing is checked, cell contents can be edited.

S-Edit 13 User Guide

32

Chapter 1: Interface and Setup

Setup Options

Cell View and Language Options Setup > Preferences > General
Use this dialog to set display behavior in the design area and the language display in menus and dialogs.

When opening a view of a cell

Reuse the active window sets S-Edit to replace the contents of the

active design window when opening a new cell. If you do not select a view type, the new cell will clone the current view type.
Open a new window sets S-Edit to open a new design window

whenever you open a new cell view.


Note: Holding the Ctrl key down while opening a cell will force a

new window to open.


When double-clicking on symbol instance in schematic

Use this option to set whether you will open a unique instance or the primitive cell symbolwhen you double-click on an object in the design window. Use open corresponding schematic view in context to push down to a specific instance when you double-click on a symbol. Use open corresponding schematic view out of context to show the primitive symbol when you double-click on a symbol.
Note: Holding the Shift key down while double-clicking performs

the action alternate to your setup default.


Open a new window

The default setting, where a new window opens each time a view is opened. Select a language for menu and dialog text from the drop-down list. Options are American English, Japanese, Russian and Simplified Chinese.

Language

S-Edit 13 User Guide

33

Chapter 1: Interface and Setup

Setup Options

Mouse Wheel Options Setup > Preferences > Mouse


Use this dialog to set the direction in which the design view will change when you spin the mouse wheel in upwards.

Scroll wheel

Zoom inzooms into the active view to magnify the view by a factor of 3.0. Zoom outzooms out the active view by a factor of 3.0. Pan up (shift for right)pans the design up with an upwards

spin of the mouse wheel and down with a downwards spin. If you hold the Shift key the view will pan right with an upwards spin and left with a downwards spin.

S-Edit 13 User Guide

34

Chapter 1: Interface and Setup

Setup Options

Selection Behavior Options Setup > Preferences > Selection


This dialog governs selection behavior in the design area and also from hyperlinks in the Command window.

Region (box) selection includes

Fully enclosed object onlywith this option enabled, only objects

completely contained within a selection box will be selected.


Fully and partially enclosed objectswith this option enabled, all objects completely or partially enclosed by a selection box will be selected.

Selection Range

A positive integer x such that when a mouse button is clicked less than x pixels from an object, though not touching it, the object will still be selected. A positive integer e such that if the pointer is within e pixels of an edge or vertex of a selected object, the default operation of the MOVE-EDIT button is an edit. Outside this range it is a move. Controls the display behavior in the design area when you click on a hyperlink in the Command window.
Nonesimply selects objects. Pan to center of object(s)pans to the selected objects but

Edit Range

Automatic viewport change

does not change the zoom level.


Zoom to object(s)pans and zooms to the MBB of the selected

objects.
Trace nets on push and pop context

When checked, net highlighting is maintained when you push into and pop out of views. Disabling this feature speeds push/pop performance on larger designs.

S-Edit 13 User Guide

35

Chapter 1: Interface and Setup

Setup Options

Text File Update Options Setup > Preferences > Text Editor and Styles > Text Editor
This dialog governs if and how the text files that are open in S-Edit are updated when they are saved outside the application. The S-Edit text editor checks the stored version of a file for modifications when files are saved, first changed, and when the text window or application becomes active or is closed. If a file has not been modified outside S-Edit, nothing will happen. If a file has been modified outside S-Edit, the selected action will be triggered.

Auto-Load

Load allwith this option enabled, S-Edit automatically updates text files that have been modified outside of the text editor. Prompt to Load(default) this option opens a dialog indicating which files have been modified and gives you the option to save them. Ignore allwith this option enabled, externally modified files are not

updated to S-Edit.

S-Edit 13 User Guide

36

Chapter 1: Interface and Setup

Setup Options

Text File Display Options Setup > Preferences > Text Editor and Styles > Styles
You can set individual display characteristics in the S-Edit text editor for each of these file formats using the Style and Keywords pages.

Text File Font Options Setup > Preferences > Text Editor and Styles > Styles > {filetype} > Style
Use this dialog to set the font, tab stops and file extensions recognized for each of the file formats included in the S-Edit setups.

Font Tabulation

Select or enter a font from the Face Name drop-down menu and a point size in the Size field. Enter a positive integer value to set the increment, in spaces, of the tab spacing the text editor uses. Enter the extensions of the files that S-Edit should include in the active category, separated by commas with no spaces.

File extensions

S-Edit 13 User Guide

37

Chapter 1: Interface and Setup

Setup Options

Text File Keyword Options Setup > Preferences > Text Editor and Styles > Styles > {filetype} > Keywords
Use this dialog to define the types of text, called keyword groups in S-Edit, that will be highlighted in the text editor, and their appearance. Each file type has a set of predefined keyword groups that cannot be edited or deleted.

Groups Keyword group

Displays the keyword groups defined for a given file type. Use Add to enter the name of a new keyword group. Use Edit to enter the terms belonging to a keyword group. Use Remove to delete a keyword group. Use Foreground and Background to set the respective colors for a keyword group.

Colors

SPICE Simulation Options


Please refer to SPICE Simulation Settings on page 149.

S-Edit Documentation
In addition to this manual in PDF format, S-Edit is shipped with application notes, release notes and a tutorial that highlights basic schematic entry and editing operations.

S-Edit 13 User Guide

38

Chapter 1: Interface and Setup

Setup Options

S-Edit Product Support


If you are in contact with Tanner EDA customer support they will sometime request the information found at Help > About S-Edit, Help > About S-Edit > Memory, or Help > About S-Edit > Support.

S-Edit 13 User Guide

39

Chapter 1: Interface and Setup

Setup Options

Support Diagnostics
You can view comprehensive design, system and hardware information from
Help > Support > Support Diagnostics.

S-Edit 13 User Guide

40

Creating a Project

The highest level entity in the S-Edit schematic database hierarchy is the design. A design contains many cells, some of which may be referenced from a library. Most often a cell will contain a single interface, which contains a single symbol view and a single schematic view. However, a cell can contain any number of interfaces, and each interface can contain any number of symbol views and schematic views.

Project Structure in S-Edit


It is important to understand the basic project structure and terminology used in S-Edit.

Design
A design is the container for all elements of the design database.

Library
A Library is also a design, one whose cells are externally referenced by other designs. A design can reference multiple libraries, and any given library can be referenced by multiple designs.

Cell
A cell is the fundamental unit of design. A design contains multiple cells. Cells in turn contain multiple views, of different types. Cells can be instanced by other cells (an instance is a generic reference to a representation of cellB found within cellA.)

Properties
A property is an attribute of an object (cell, instance, shape). S-Edit differentiates between built-in properties (e.g., cell name, shape type) which are always defined, and user-defined properties (e.g. L= on a transistor cell) which are optional and not interpreted directly by the engine. Each type of object has its own set of parameters, which are displayed and can be edited in the Properties navigator. Please refer to Symbol Property Types on page 110 for a complete discussion.

View
A view is simply a component of a cell definition. It is a depiction of the cell, a different way of depicting it. There are defined view typesyou can view a cell as a symbol, a schematic, or an interface. Cells can instance each other, but cyclical cell references are not allowed.

S-Edit 13 User Guide

41

Chapter 2: Creating a Project

Project Structure in S-Edit

View Types

Symbol View

A graphical description of a cell, for use in schematic views of other cells. A symbol view contains the ports of a cell and non-electrical geometry that is representational only. Usually the most basic design components will have only a symbol view.
Schematic View

A more detailed view of a cell, showing ports, instances, references to ports in the parent cell of instanced cells, connecting wires and graphic objects (e.g. boxes, polygons, paths, text labels) that have no electrical meaning.
In this example, NAND2 is a two input NAND gate. A, B and Y are ports. There are seven instanced symbols (including M1, three other transistors, and three power/ground symbols), and six red shapes implementing three nets. There is a fourth net between the two NMOS devices, and a fifth (power) and sixth (ground) net as well.

Interface View

The definition of the electrical interface of a cell, containing ports, optional permutability information for those ports, and a set of user-defined parameters. Each schematic view and symbol view in a cell must be associated with a specific interface. When you create an instance of a cell you must specify the interface it belongs with. Cells may be associated with multiple interfaces. For example: the NAND2 cell shown below could have two interfaces:. Interface 1, without power, there are three ports: A = in, B = in, Y = out. A and B are permutable. Interface 2, with power, there are five ports: A = in, B = in, Y = out, Vdd = inout (virtual) Gnd = inout (virtual). A and B are permutable.

How to Use Multiple Views


It is often useful to create a cell with multiple interface, symbol, or schematic views. The following scenarios provide examples of such situations. Scenarios 1 and 2 are functionally the same. In scenario 1, two separate MOSFET symbols are created, each with a different number of pins. MOSFET here is a primitive device which has no schematic; S-Edit allows you to use either of these symbols.

S-Edit 13 User Guide

42

Chapter 2: Creating a Project

Project Structure in S-Edit

In scenario 2, two separate symbols are created, for a single schematic with 400 ports. One symbol has all the 400 ports and the other symbol has only 100 ports. This is useful if you want to instance the symbol with 100 ports and not have any dangling nodes errors when you run a design check, as the100 port symbol in this case is still referring to the 400 pin schematic. As such, scenario 2 can have two separate interfaces.

Scenario 1
In this example, you want to create a symbols for a 3-terminal MOSFET and a 4-terminal MOSFET, for inclusion in a library. To do so, you would create two different representations, a 3-pin and a 4-pin interface, each having its own symbol, of a single primitive MOSFET which has no schematic. Library users can then instance either symbol in their designs.
Cell name Interface name 1 Symbol name 1 Interface name 2 Symbol name 2

NMOS NMOS3 NMOS3 NMOS4 NMOS4

Scenario 2
In this case, the goal is two different representations (400-pin and 100-pin) from a single schematic view. Suppose you have a component called CORE with 400 terminals. You want one symbol that exposes all the terminals, and another that exposes a subset of just 100 of the terminals. You would create a single cell with one interface, one schematicand two symbols. One symbol has all the ports, the other symbol has the subset of 100 ports.
Cell name Interface name Symbol name 1 Symbol name 2 Schematic name

Core Interface Symbol_400 Symbol_100 Schematic

Scenario 3
A library designer has a standard cell library with a single implementation of each cell, and wishes to provide two different pictorial representations of each cell for use as symbols, to adhere to the pictorial representations from two different standards organizations. He should create a single interface, a single schematic, and two symbols for each standard cell, both symbols having the same ports.
Cell name Interface name Symbol name 1

NOR Interface ACM_symbol

S-Edit 13 User Guide

43

Chapter 2: Creating a Project

Creating a Schematic Project

Symbol name 2 Schematic name

IEEE_symbol Schematic

Scenario 4
You have a primitive component, an NMOS transistor, that you wish to establish with two sets of default properties on the symbol. You would create a cell with multiple symbols, each symbol having a different interface for a different set of properties.
Cell name Symbol name 1 Symbol name 2 Schematic name

NMOS N1 N2 Schematic

Scenario 5
You want to have a single symbol of an amplifier with a basic and a high precision implementation of the schematic so you can switch between the two to trade off accuracy and run time in different simulations. (The high precision schematic could contain, for example, additional parasitic information back annotated from layout.) You would create a cell with a single interface, a single symbol, and two schematics. In a case where there are two schematics and a single symbol, there is an ambiguity in which schematic to use. S-Edit will use the schematic whose name matches the symbol name. To switch from using one schematic to another, use Cell > Rename View to change the symbol name to match that of the desired schematic. In this example, to switch from using the basic schematic to using the precision schematic, you would change the symbol name from Amplifier_basic to Amplifier_precision.
Cell name Interface name Symbol name 1

Amplifier Interface Amplifier_basic (or Amplifier_precision, depending on the schematic you want to use.) Amplifier_basic Amplifier_precision

Schematic name 1 Schematic name 2

Creating a Schematic Project


An S-Edit project consists of the design itself, plus any number of libraries. The design contains cells, which may reference other cells in the same design or may reference cells in libraries. A reference to cell A consists of the instancing of a symbol of cell A within the schematic of another cell. A library is simply a design that is referenced by another design. A library must be added to a list of libraries available to a design before its cells can be referenced. When you open a design, S-Edit will also open all libraries that are referenced by that design. There is

S-Edit 13 User Guide

44

Chapter 2: Creating a Project

Creating a Schematic Project

no functional difference between a library and a design, so in the Libraries navigator, the design name is shown in black and library names in blue.

Creating a New Design


Use File > New > New Design to enter the name and directory location for a new design.

In either case, S-Edit creates a folder with the design name plus other files that comprise the complete design.

Project File Structure in S-Edit


S-Edit stores design information in several different files in the {designname} directory.
design.edif is the design itself. design.old.edif is a backup of the design that is overwritten each time the design is saved. {designname}.tanner is the TCL file that launches a design. It specifies the path, cell, and

windows to open, and references the other three files


dockinglayout.xml stores any previously used (or else the default) workspace settings libraries.list references the libraries used in the design. Library path names can be edited if desired. edit.lck is a file that prevents an open design from being opened elsewhere.

The setup folder stores any changes that have been saved from the Setup dialog (see Changing Setup Options on page 24).

Creating a New Text File


Files in the context of S-Edit menus are always text files, typically of the type for which the S-Edit text editor provides syntax highlighting (C, log, SPICE, EDIF, etc.). Use File > New > New File (Ctrl + N) to open the text editor in the design window.

S-Edit 13 User Guide

45

Chapter 2: Creating a Project

Creating a Schematic Project

Adding a Library
When you load an existing design, any libraries referenced by that design are also loaded and will appear in the Libraries navigator. When you create a new design, or if you want to reference cells in a library that is not currently open, you will need to explicitly load that library. Use either File > Open > Add Library or the Add button in the Libraries navigator to open the dialog shown below.

When you add a library, S-Edit will also load the other libraries it references. For portability, library locations are saved to the libraries.list file with a relative path if the library is in either a subfolder of the design or a descendant folder of the design. However, when the folder branches above the level of the design, we write an absolute path.

Opening an Existing Design or Text File


Use File > Open > Open Design to open an existing design. Each design in S-Edit has a script file named filename.tanner that opens the design and specifies the related libraries, interface and related project settings. Enter the path to the design under File:, select from the drop-down menu, or use the browse to the folder with the filename.tanner TCL file for the design you want to open.

... button to

Opening a TCL File for Editing


Use File > Open > Open File to open any kind of text file in the S-Edit text editor. This command allows you to open a TCL file without executing it.

S-Edit 13 User Guide

46

Chapter 2: Creating a Project

Creating a Schematic Project

Executing a TCL File


Use File > Open > Execute Script to find and execute TCL file in the Command window. You can also drag a TCL file icon from a browser and drop it into the Command window to run it.

Cells or Libraries Missing From a Design


Occasionally a cell or even an entire library may be missing when you open a design. This can happen when cells in a library are updated or renamed, when a referenced library is relocated or deleted, or when cells are lost or corrupted during an import process. If cells are missing from a design, S-Edit adds a new library with _Unresolved appended to the name of the library from which the cell is missing. This _Unresolved library lists the missing cells, drawn as crossed-out boxes which are displayed as placeholders in the schematic.

Two instances are missing from this schematic, as indicated by the placeholders. The Devices_Unresolved library indicates that the instances are missing from the Devices library.

S-Edit 13 User Guide

47

Chapter 2: Creating a Project

Creating a Schematic Project

Resolving Missing Cells or Libraries


Use Cell > Redirect Instances when a cell or library is missing from your design.

Look In Redirect instances of

Select the Design in which the cell reference will be redirected. Use this field to specify the cell that you want to replace. Select the Design and Cell Name that is currently in placeholder form. Use this field to specify the cell that you want to use. Select the Design and Cell Name that should be used in the active design.

Redirect to

S-Edit will confirm the number of views and instances updated.

S-Edit 13 User Guide

48

Chapter 2: Creating a Project

Creating a Schematic Project

In the design RingVCO shown below, the library Devices_Unresolved contains placeholders for the missing cell PMOS (highlighted in yellow). The library Devices is missing these two cells..

When you use Cell > Redirect Instances, you are redirecting the reference in design RingVCO so that the proper cell, in this case cell PMOS_new, which should be in the library Devices, will replace the previously referenced cell PMOS, which S-Edit has moved, in placeholder form, to the temporary library Devices_Unresolved.

S-Edit 13 User Guide

49

Chapter 2: Creating a Project

Creating a Schematic Project

Closing a Design
When you close an S-Edit design file, the document is removed from memory. To close a design, use the File > Close > Close Design [filename] command.

Saving a Design or Library


Use the File > Save > ... commands to save a design or libraries, in any combination. When multiple designs are open, the one in the currently active window will be saved. (The design name is displayed in the save menu for confirmation.) design.old.edif is a backup of the design that is overwritten each time the design is saved.

Save Copy Of
You must use the Save Copy of Design/Libraries command to be able to rename a design.

Note:

Simply renaming the directory does not change the name of a design or library!

Note that File > Save > Save Copy of ... is different than the save as commandaffter the Save Copy of ... operation, S-Edit returns to editing the original design, NOT the newly saved copy.

Save Design [filename]

Saves the specified design only, and does not save changes to libraries. Saves the specified design and all its libraries. Saves only those designs or libraries selected in the Libraries navigator. For confirmation, the number of files selected is dynamically updated in the save menu. Saves a copy of the selected designs or libraries to the specified new location.
Note: Once the files are copied, S-Edit returns to the file that was

Save Design [filename] and Its Libraries Save [number] Selected Design/Libraries

Save Copy of [number] Selected Design/Libraries

active prior to the command.

S-Edit 13 User Guide

50

Chapter 2: Creating a Project

Cell and View Operations

Cell and View Operations


S-Edit has a highly flexible interface that offers many ways to perform key operations besides the traditional menu options such as Cell > Open. In addition to the standard menu shortcuts, keyboard shortcuts, and customized toolbars, you can use the following different methods to perform cell and view operations.

Shortcuts for Cell and View Commands


Interface: Action
Libraries navigator: Double-click

Operation
Open a cell

Behavior Highlight a cell in the list and double-click to open it. The view type opened will be the same as what was last opened. Highlight a cell in the list and press the Open button to open it in schematic view.

Open a cell

Libraries navigator: Open button

Open a cell

Design area: Double-click Libraries navigator: Click-and-drag

Select a cell in the design area and double-click to open it in schematic view. Highlight a cell in the list, clickand drag it into the design area to instance a cell. Double-click to place it once you have chosen a location. Highlight a cell in the list and use the drop-down arrow next to the Open button to select one of its views to open. Highlight a cell in the list, right-click to open the context-sensitive menu, and click on the desired operation.
Symbol Preview shows or hides the preview window in the Libraries navigator.

Instance a cell

Open a view

Libraries navigator: drop-down menu

Find All Open View New View Copy View Copy Cell Delete View Instance Highlight in View Navigator Show in Hierarchy Navigator Symbol Preview

Libraries navigator: Right-click and select from menu

S-Edit 13 User Guide

51

Chapter 2: Creating a Project

Cell and View Operations

Creating a New View (Cell > New View or N)


To create a new cell or a new view of an existing cell, use Cell > New View (shortcut N). Simply select from the drop-down menus in each field.

Design

From the drop-down list of those open, select a file to which the cell will be saved. Enter or select a cell name. Specify a view type for the cell. Specify a view name for the cell. Specify the interface view to which it belongs. Check this box to prevent S-Edit from checking for naming violations.

Cell View type View name Interface name Disable name validation

Opening a View (Cell > Open View or O)


The Cell > Open View command (shortcut O) lets you open a cell view from any of the designs currently loaded in S-Edit. Note that if you have name validation enabled and you want to open a cell or view that has an invalid name, you will have to disable name validation from the Setup > Technology > Validation page.

Design

Select a design file or library file from the menu of those open in S-Edit. Select the cell to open from the drop-down menu. Select the type of view to open. Select a specific view to open.

Cell name View type View name

S-Edit 13 User Guide

52

Chapter 2: Creating a Project

Cell and View Operations

Copying a Cell
Use the Cell > Copy Cell command to duplicate a cell and all its views. Cells can be copied within the current design or from one design to another.

Copy from

Design: select a source design or library file from the menu of those

open.
Cell name: select a source cell from the drop-down menu. Copy to Design: select a destination design file from the list of those open. Cell name: enter a name for the new cell. S-Edit will preprend CopyOf to the cell name by default if you do not enter a name. Copy dependencies None: only the select cell is copied. Needed only: only the instanced cells that do not exist in the destination file are copied. All: all instanced cells within the cell are also copied, down through

the hierarchy. Note that S-Edit only checks for cell name during this operation, not cell contents or save date.
Overwrite existing cells

When checked, the copy will overwrite the existing cell(s) of the same name. Check this box to prevent S-Edit from checking for naming violations.

Disable name validation

Copying a View
Use the Cell > Copy View command to copy a single view of a cell to the same or a different target cell. A view can only be copied within the same library of a design. See the How to Use Multiple Views on page 42 for some of the ways it can be useful to define multiple views of a given cell.

S-Edit 13 User Guide

53

Chapter 2: Creating a Project

Cell and View Operations

You can use this dialog as a shortcut to creating a new cell by entering a new name in the target Cell name field. Note that if you enter the name of an existing cell with the overwrite option active, if all other view names are the same as in the existing cell, the existing view will be replaced.

Design Copy from

Select a source design or library file from the menu of those open. Select a Cell name, View Type, View name, and Interface to copy. S-Edit will preprend CopyOf to the cell name by default if you do not enter a name.

Copy to Overwrite existing cells

Select a Cell name, View Type, View name, and Interface for the new view from the pulldown menu, or enter new names. When checked, the copy will overwrite the existing view of the same name. Check this box to prevent S-Edit from checking for naming violations.

Disable name validation

Instancing a Cell
Instances in a cell are references to other cells. These cells might be common library cells (such as basic circuit elements) or larger, custom-designed cells. Instances are dynamically linked to their source cell so that any change you make to a source cell is reflected in each higher-level instance of that cell. (See Creating Instances on page 86.)

S-Edit 13 User Guide

54

Chapter 2: Creating a Project

Cell and View Operations

Renaming a Cell
The Cell > Rename Cell command will rename a cell but not its views. This operation keeps the renamed cell open.

Renaming a View
Use the Cell > Rename View command to rename a view.

Deleting a View
The command Cell > Delete View deletes a specified view, or all views of a cell. When you issue this command, S-Edit displays the Delete View dialog box, which prompts for the name of the cell to be deleted. A symbol view or its interface command cannot be deleted if the symbol is instanced. When the last view of a cell is deleted the cell itself is also deleted.

S-Edit 13 User Guide

55

Chapter 2: Creating a Project

Printing a Design

Printing a Design
File > Print prints the active work area. Use File > Page Setup to specify the layout of printed pages (see Setting Page Size on page 29).

Printer

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

Properties Print in black on white

Opens the Printer Properties dialog for additional printer properties. If this is not checked, the design will print just as it appears on screen. When this is checked, S-Edit creates a .PRN format file to the location you specify. Select Active view only, Active design or library or Selected design/libraries to specify the range of pages to print from a file. Use Active schematic heirarchy to print all of the schematics beneath the page currently displayed. You can also elect to print just Schematics or just Symbols.

Print to file

Print Range

Copies Collate

Enter the number of copies to print. When checked, prints copies of a file in proper page order. If not checked, each copy of the first page will be printed consecutively, then the second page, etc. When Auto-rotate is checked, the image will be rotated to best fit the selected page size and scaling.

Placement

S-Edit 13 User Guide

56

Chapter 2: Creating a Project

Printing a Design

Scaling

Do not scale prints the design as set in in Setup > Technology > Schematic Page. Fit to Page scales the design to fit the paper size you are printing to. Custom scaling lets you use percentage values to set the size of the print out with respect to the page layout set in Setup > Technology > Schematic Page.

Print Preview
File > Print Preview lets you preview the active window view, in the S-Edit design window. Unless Print in black on white (page 56) is checked, S-Edit will print using the display colors.

S-Edit 13 User Guide

57

Navigating and Viewing a Design

The Work Area


The visible portion of the design area of a design, where you create, view, and edit objects, is called the work area. You can move or pan the work area to show a different part of the design area, or change its magnification to show a larger or smaller part of the design.

When you resize the work area, S-Edit expands or contracts the view in the direction in which you resized, without changing the magnification. 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.

Opening Design Windows


You can open multiple design windows in S-Edit. Design windows can be tiled or cascaded, but the default view is as tabs. If you right-click in the tab area you can use the context-sensitive menu there to

S-Edit 13 User Guide

58

Chapter 3: Navigating and Viewing a Design

Opening Design Windows

Close All open views or Switch Tab Placement from the top to the bottom of the window and vice-versa. Use the arrows in the upper right corner to scroll to open windows that are offscreen. A filled-in arrow indicates the presence of offscreen windows, otherwise is it outlined. When you maximize one design window, they will all be maximized. You can right-click directly on a tab to open a context-sensitive menu to Close that tab or make it Dockable.

Reusing Design Windows


You can also control how S-Edit reuses design windows to avoid having too many windows open at once. By default, each time you open a new view or cell, S-Edit opens it in a new window. You can keep this default behavior, or you can use Setup > Preferences > General to change the default so that S-Edit opens only one window at a time, regardless of the view type. For example, if you have a schematic view of cellA and you open a symbol of cellB, S-Edit will replace the cellA display with cellB, reusing the window that is open. You can force a new window to open at any time by holding the Ctrl key down while opening a view.

Changing Windows and Views


Redrawing the Screen
You can refresh display in the active window at any time by using View > Redraw (shortcut Space).

Cycling Focus Between Windows


Use the View > Goto > Previous and View > Goto > Next commands to cycle focus through each pane that has been active in the current editing session. You can also use the Backward and Forward icons to step backwards or forwards through the previous and next views that were opened. Note that the Forward button is only available after stepping Back.

S-Edit 13 User Guide

59

Chapter 3: Navigating and Viewing a Design

Opening Design Windows

Cycling Views Within a Window


Use View > Exchange (shortcut X) to return to the previous view within a given pane after you execute any zoom or pan command. You can use this command to toggle back and forth between two views. If you return to a previously stored view after resizing the work area, S-Edit will alter the aspect ratio of that view to fit the current window. Use View > Cell View > Symbol and View > Cell View > Schematic to select one of these view types for the active cell. Or, use View > Cell View > Cycle View to cycle through all the views for a given cell.

Splitting a Cell into Multiple Pages


S-Edit allows you to split a schematic across multiple pages. Use Cell > Page to add, remove or rename pages, scroll backwards and forwards though pages, or open a page.

The Next Page toolbar button cycles through a cells pages as well as providing a drop down menu with the option to select a specific page or create a new page.

Showing and Hiding Grids


You can use View > Display > {Display Major Grid, Display Minor Grid or Display Origin} to display, or not, each of these elements. This setting applies just to the active design.

S-Edit 13 User Guide

60

Chapter 3: Navigating and Viewing a Design

Panning

Panning
You can pan to different portions of the design area by using the arrow keys, or one of the View > Pan commands. Command
View > Pan > To Selection

Shortcut

Function Centers the view over the selected objects. Depending on the magnification, all selected objects may not be visible in the resulting view.

View > Pan > Left

(left arrow key)

Moves the work area to the left by one quarter of the width of the display. Moves the work area to the right by one quarter of the width of the display. Moves the work area up by one quarter of the width of the display. Moves the work area down by one quarter of the width of the display. Moves the display window in the direction you indicate, to the farthest edge of all objects in the design area.

View > Pan > Right

(right arrow key)

View > Pan > Up

(up arrow key)

View > Pan > Down

(down arrow key)

View > Pan > To Edge Left Edge Right Edge Up Edge Down Ege

Panning to a Specific Location


Use View > Goto > Coordinates to center the view on a specific coordinate. Enter x, y coordinates in display units, as measured relative to the origin, separated by a space.

Zooming
You can zoom in S-Edit using the mouse buttons, a mouse wheel, the keyboard, or menu commands.

S-Edit 13 User Guide

61

Chapter 3: Navigating and Viewing a Design

The Libraries Navigator

Zooming with the Mouse


View > Zoom > Mouse (shortcut Z) changes the function of the left mouse button for a single operation

to enable a zoom box. When the zoom box is enabled, the next two mouse clicks define opposing corners of a rectangle. S-Edit zooms the display window directly to the area inside the rectangle. You can also click and drag to draw the zoom box. Note that 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. After a Zoom Mouse operation the mouse buttons revert to their previous functions.

Zooming with the Mouse Wheel


Spin the mouse wheel up to zoom in and down to zoom out. In both cases the zoom will be centered on the cursor location.

Zooming with the Keyboard


Use the plus key

+ to zoom in by a factor of 1.5 and the minus key to zoom out by a factor of 1.5.

Zooming to Selected Objects


Use View > Zoom > To Selection (shortcut W) to zoom the display window to encompass only the selected object(s).

Zooming to Show the Entire Contents of a Cell


View > Fit (shortcut Home) zooms the display window so that all objects in the design area are visible

in the work area.

The Libraries Navigator


The Libraries navigator provides an easy way to view, manage and instance your libraries and cells. You can use it to add and remove cell libraries and to list the cells in all the libraries that are loaded. You can also use this dialog to open, copy, instance or perform several other cell operations (see Shortcuts for Cell and View Commands on page 51).

S-Edit 13 User Guide

62

Chapter 3: Navigating and Viewing a Design

The Libraries Navigator

Select a design to open from this menu of the designs that are loaded. The Libraries navigator shows the designs and libraries that are open.

The Cell list shows the cells available from the design and libraries highlighted in the Libraries navigator.

The Preview Pane displays the symbol view for the selected cell. You can right-click anywhere in the Libraries navigator to toggle this preview on or off.

(drop-down menu)

The uppermost field is a drop-down menu that lets you select a design to open from those that are loaded. This pane lists the designs and libraries that are currently open. When you highlight a file in the Libraries navigator, the cell browser displays the cells it contains. Use the Ctrl key to select multiple libraries and list the cells in each of them. Black text indicates the design file, blue text indicates library files.

Libraries navigator

Add Remove

Use this button to Add designs and libraries. Use this button to Remove designs and libraries.

S-Edit 13 User Guide

63

Chapter 3: Navigating and Viewing a Design

The Hierarchy Navigator

Filter

The Filter option lets you enter letters or numbers to filter the cell list to show only the cell names that contain those characters. For example, type av to show only cells with the letters av in their name. The remaining options in the pull-down menu provide hierarchical filters:
Top-levelfilters the list to show only those cells that are not instanced in the design. Leavesfilters the list to show just primitive cells that you

cannot push into.


Instancedfilters the list to show only those cells that are

instanced in the design.


Modifiedfilters the list to show just those cells that have been

changed but not saved.


Parentsfilters the list to show only the cells that instance the active cell. Modified Timesorts cells to according to the date and time they were last modified, with the most recent at the top of the list.

Cell list

Lists the cells contained in each of the files highlighted in the Libraries navigator. Information in square brackets shows how many instances of a given cell are used in the active view. Use this button to open the highlighted cell. (See also Opening a View (Cell > Open View or O) on page 52.) Use this button to quickly instance the highlighted cell. (See also Creating Instances on page 86.) Use this button to highlight all appearances of the selected cell in the view. This preview pane displays the symbol view for the selected cell. You can right-click anywhere in the Libraries navigator to toggle the preview on or off. Displays the number, view type and view names for the highlighted cell.

Open

Instance

Find

(preview pane)

Symbol __ / view_x of y

The Hierarchy Navigator


The Hierarchy navigator lets you view the structure of a design by showing a list of childen and parents related to a given cell, where children are the instances a cell contains, and parents are the cells in which the cell is contained as an instance. For any given cell, the Hierarchy navigator provides two views. With Full hierarchy disabled, the navigator shows just the immediate hierarchyone level up to the parents and one level down to the children. When Full hierarchy is enabled, the navigator shows all levels of instantiation from the very top level of the designancestors to the symbol primitivesdescendants.

S-Edit 13 User Guide

64

Chapter 3: Navigating and Viewing a Design

The Hierarchy Navigator

When you change the active view in the design area, the Hierarchy navigator automatically updates to show information for the cell in focus.
CellDisplays the focus cell for which hierarchy information is shown. Full hierarchyToggles display from all levels of the design hierarchy to just those immediately above and below the focus cell. Show roots and leaves onlyDisplays only cells at the very top or bottom of the hierarchyterminal cellswith respect to the focus cell. BackScrolls backwards through the history of cells viewed viewed in the navigator. Forwardscrolls forward through the history of cells viewed in the navigator.

Cell names in the list can be used for navigation as follows: A single-click highlights the cell name. A double-click displays hierarchy information for that cell. A right-click on a cell opens the context-sensitive menu for the selected cell. (See Shortcuts for Viewing Hierarchy on page 66.)

Cell

Displays the name of the cell for which hierarchy is displayed in the navigator. Note that this field does not always indicate the cell that is in focus in the design area. You can click on this link to change focus in the design area to the cell named. Use this text field to filter the navigator lists. It is case- and position-insensitive.
Parents shows cells one level of hierarchy above it that instance the active cell. Ancestors shows cells in all design levels above it that instance the active cell.

Filter

Parents [ ] / [ ]

or
Ancestors [ ] / [ ]

The value in the first bracket indicates the total number of instances currently displayed in the list. When a second bracket is shown, it indicates the total number of qualifying cells. Click on the column header to sort cells alphabetically.
Count [ ] / [ ]

For the upper list field, shows the number of times a cell is instanced in a cell. For the lower list field, shows the number of each instance in a cell. Click on the column header to sort cells numerically.

S-Edit 13 User Guide

65

Chapter 3: Navigating and Viewing a Design

The Find Navigator

Children [ ] / [ ]

or
Descendents [ ] / [ ]

Children shows cells one level of hierarchy below it that instance the active cell. Descendants shows cells in all design levels below it that instance the active cell.

The value in the first bracket indicates the total number of instances currently displayed in the list. When a second bracket is shown, it indicates the total number of qualifying cells. Click on the column header to sort cells alpahbetically.

Shortcuts for Viewing Hierarchy


If you right-click on a cell name in the Hierarchy navigator S-Edit opens the menu shown below:

The Find Navigator


The Find navigator is a powerful search tool that allows you to set your search by range over one or more designs, by object, by object name and, using commands, even specific parameter values.

S-Edit 13 User Guide

66

Chapter 3: Navigating and Viewing a Design

The Find Navigator

Find What

Select the object typeinstance, port, text label, or net for example, to search for. All selects all types of object that fit the search criteria. Select the scope of the search.
Selectionsearch only within the objects that are selected in the

Look in

active view.
Viewsearch within the active view. Designsearch the entire active design. Hierarchysearch down the hierarchy of the active cell.

Selection

Sets the selection behavior when objects matching the search criteria are found.
Select Found Object(s)selects only objects that match the

search criteria.
Add to Selectionobjects that are currently selected remain

selected and objects that match the search criteria currently displayed in the Find dialog are also placed in the selected state.
Remove from selectionobjects that are currently selected

remain selected unless they match the search criteria currently displayed in the Find dialog, in which case they are deselected.
Name

Enter the name(s) of the object to search for, using a space to separate name entries. Wildcard searches are not supported. This field applies a filter to the Name field when the search object is set to Instance.
Instance Namefilters the search criteria to find only instances matching the instance name you have entered. Cell Namefilters the search criteria to find only instances of the master cell you have entered.

Find by

Net

This field applies a filter to the Name field when the search object is set to Net.
Exactfilters the search criteria to find a unique net. Andfilters the search criteria to find all nets of a name or

range, such as those that originate from a bus or bundle.


Orfilters the search criteria to find any of the net names entered.

S-Edit 13 User Guide

67

Chapter 3: Navigating and Viewing a Design

The Find Navigator

Filter

This field is for TCL scripts. Filter scripts are particularly useful for selecting instances based on their parameter values. Note that TCL script in this field is evaluated in the context of just one object being selected. TCL commands entered here are applied only to objects that meet the criteria set in the fields above it, and such objects are evaluated individually. This is important to keep in mindyour script may include multiple criteria, but those criteria are applied to only one object at a time. If the script returns false or 0, then the object is discarded from further operations. If the script returns true or a nonzero value, then the object is successfully found and added to the list of selected objects. For example, the script below selects transistors that have gate lengths within a specific range of .25e-6 and .35e-6. Note that it will generate a warning message for instances which do not have a length property.
set L [ property get L -double ] expr { 0.25e-6 <= $L && $L <= 0.35e-6 }

This example selects all instances with a local value for L:


if { ! [ property get L -exists ] } return false return [ property get L -islocal ] All

Use this button to initiate a search. Searches for and selects all objects at once. Use these buttons to search for and select objects one at a time. These three buttons operate in the context of the active view. Each time the First button is pressed, the view context is reset. For this reason you should use First to initiate a search whenever you plan to view the results individually or sequentially.
Firsthighlights the first object that matches the search criteria,

First, Next, Previous

where the ordinal first is established internally according to Tanner database order.
Nextselects the next object that meets the current search criteria. Next moves successively through each view containing one or more

objects that match the search criteria until reaching the last object. However if the first object is reset, the scope and order of objects meeting the search criteria will also reset.
Previousselects the previous object that meets the current search criteria, with behavior matching that of the Next button.

S-Edit will indicate when you have reached either the first or last object that matches the search criteria as shown below.

S-Edit 13 User Guide

68

Chapter 3: Navigating and Viewing a Design

The Find Navigator

Modify Script

Use this script field to modify objects that meet the preceding criteria. TCL script in this field is applied to the individual elements in the Find list. The script is applied once for each element, and is applied in the context of one element selected at a time. For example, the script below moves each selected instance up by ten database units:
set y [ property get Y -system ] property set Y -system -value [ expr { $y + 10 } ] -units iu

Modify All

Applies the script in Modify Script to all objects. To revoke modifications made with this command, you will need to use the Undo operation in each of the views containing an object that was modified. Applies the script in Modify Script to the currently selected found object and navigates to the next one. Modifications made with this commands can be reversed using Undo.

Modify & Next

S-Edit 13 User Guide

69

Drawing, Selecting and Editing Objects

Object Types
Drawn objects in S-Edit are either electrical objectsfor example, wires, ports or solder points, or annotation graphicsgeometric objects without electrical significance. To draw an object, you must select a tool from either the Drawing toolbar (see Drawing Tools for Annotation Graphics on page 72) or the Electrical toolbar, (see Drawing Tools for Electrical Objects on page 75) and also a segment type from the Segment toolbar. Annotation and electrical tools are stickyonce you select a tool, S-Edit will draw only objects of that type until you choose a different tool. You can change segment type at any point while drawing a geometric object, for example from orthogonal to 45 segments.

Segment Types
S-Edit has various types of lines segments90, L-corner, 45 and all-angleyou can select from when drawing. You can change segment type at any point during a drawing operation by simply selecting a different icon from the Segment toolbar. To draw a line, select Path and a segment type, then position the cursor where you want to place the starting point. Left-click to begin drawing and to place vertices. Double-click to place a vertex and end drawing. Right-click to back up to the vertex that was placed last.

90 degree L-corner 45 degree All-angle Toolbar options (drop-down menu)

90 Segments

When you use this segment option, S-Edit will only draw geometry having 90 angles.

S-Edit 13 User Guide

70

Chapter 4: Drawing, Selecting and Editing Objects

Object Types

L-Corner Segments

The L-corner segment draws an L-shaped line from the last placed vertex to the current cursor position. You can toggle the orientation of the 90 angle by pressing the L key before placing the next L-shaped segment. The L-shaped line behavior remains active when you use the middle button, so the action of removing vertices is modified to remove two vertices with each middle-button click.

45 Segments

When you use this segment option, S-Edit will draw geometry having 45 or 90 angles.

All Angle Segments

With this segment option, S-Edit will draw geometry having any angle.

Using the Mouse to Draw


Drawing instructions are given for the most commonly-used drawing interface, a three-button mouse (with or without a mouse wheel), as default. Other drawing methods are discussed in Command Window on page 20 and Drawn Properties of Objects on page 77. Use the mouse as follows for drawing operations:
LEFT-CLICK

Use a left-click (DRAW) to start a line segment or place a vertex.


MIDDLE-CLICK

Use a middle-click (BACKUP) to remove vertices in reverse order of placement. This back-up action is only available while an object is being drawn. The BACKUP button can also be used to move a vertex.
DOUBLE-CLICK

Use a double-click (END) to end the drawing operation by placing a vertex.


RIGHT-CLICK

Use a right-click to end the drawing operation without placing a vertex. (This results in what can appear to be "backing up" to the last vertex placed.)

S-Edit 13 User Guide

71

Chapter 4: Drawing, Selecting and Editing Objects

Drawing Tools for Annotation Graphics

Drawing Tools for Annotation Graphics


Annotation tools are available in any view type.

Select Box Polygon Path Circle Label Instance

You can allow or disallow selection of the objects shown above, and also of net labels, ports and properties, by type. Similarly, you can show or hide objects based on type. Right click on the toolbar button for an object type to choose selectability and visibility. Note that though labeled Show None, in fact at least one type of object must be displayed at any given time; it will be the object type over which the cursor was right-clicked to open the context-sensitive menu. Selectability and visibility of an object type is indicated in the toolbar buttons. Diagonal hatching means the object type is not visible. A red dot in the lower left corner of the button means the object type cannot be selected.

In this case you can select polygons but they are not shown.

In this case you can neither select or see polygons.

S-Edit 13 User Guide

72

Chapter 4: Drawing, Selecting and Editing Objects

Drawing Tools for Annotation Graphics

Boxes (Draw > Box or B)

To draw a box, press the DRAW mouse button and drag the cursor away from the starting point to determine the opposite corner (and therefore the length and width) of the box. Release the DRAW button at the desired opposite corner.

Polygons (Draw > Polygon or P)

To draw a polygon, click the VERTEX (left) mouse button at the starting point, move the cursor and LEFT CLICK to determine the second vertex. Repeat the process for each successive vertex. Click the BACKUP mouse button to remove the last vertex that was placed. A polygon can have any number of vertices. When you click the END button, coincident vertices (two or more vertices occupying the same location) and colinear vertices (three or more vertices lying on the same straight line) are eliminated. When you draw a polygon the mouse buttons become VERTEX, BACKUP, and END, respectively.

Paths (Draw > Path)

Note that this is simply a line drawing toola path has no electrical properties. A path can have any number of vertices. To draw a path, click the VERTEX (left) mouse button at the starting point, move the cursor and LEFT CLICK to determine the second vertex. Repeat the process for each successive vertex. Click the BACKUP mouse button to remove the last vertex that was placed. Click the END button to complete the operation. The mouse buttons for this operation are VERTEX, BACKUP, and END.

Circles (Draw > Circle)

To draw a circle, press the DRAW mouse button and drag the cursor away from the center starting point to determine the radius of the circle. Release the DRAW button at the desired radius. The mouse buttons for this operation are DRAW and SELECT.

S-Edit 13 User Guide

73

Chapter 4: Drawing, Selecting and Editing Objects

Drawing Tools for Annotation Graphics

Labels (Draw > Label)

When you select the Label icon and click in the design area, S-Edit opens the Label Settings dialog so you can enter text and choose how it will be displayed. Click OK to place the label.

Text Font Size Auto-repeat

Enter your label text in this field. Enter the text size. If Enable auto-repeat is not checked, S-Edit opens the Label Settings dialog just once, places the label when you click OK, and reverts to Select mode. With Enable auto-repeat checked you can place labels repeatedly by clicking in the design area, without having to re-open the label settings dialog each time. S-Edit remains in label mode until you select a different mode or press ESC. The following controls may be added:
Confirm text of each objectwhen checked, re-opens the Label Settings dialog each time a label is placed so you can enter

changes to the next label placed.


Auto-incrementwhen auto-repeat is active and the last character in the Text field is an integer, S-Edit automatically

increments the label text by the value entered here.


Justification

All text orientations are with respect to the origin point of the label, indicated by a cross.
Horizontal: select Left, Center or Right horizontal text alignment. Vertical: select Top, Middle or Bottom vertical text alignment. Direction: select Normal, Upside down, Down or Up for the text

direction.

S-Edit 13 User Guide

74

Chapter 4: Drawing, Selecting and Editing Objects

Drawing Tools for Electrical Objects

Auto-Repeat for All Types of Labels


For labels, port labels and net labels in S-Edit, when Enable Auto-repeat is checked, you will remain in label mode so you can place multiple consecutive labels. Otherwise, S-Edit opens the label dialog just once, places the label when you click OK, and reverts to Select mode. If Confirm text of each object is checked, the label dialog will reopen with each placement, allowing you to change the any setting. If it is not checked, the dialog will not reopen, and you can place as many identical consecutive ports as desired. If the label name ends in a numeral and auto-repeat is active, when you place labels in succession, the number will increment by the amount entered in the Auto-increment field. Note that you can use the R, H and V shortcut keys (for rotate 90, flip horizontally and flip vertically) to change the orientation of a label before clicking to place it in the design area. This, as opposed to using the Properties navigator, is the suggested procedure.

Instance (Cell > Instance)

To instance a cell, highlight it in the Libraries navigator and click on the Instance icon (for more details, see Creating Instances on page 86).

Drawing Tools for Electrical Objects


In S-Edit, design connectivity is achieved by the proper arrangement of ports, labels, and wires to form nodes. They are drawn using the Draw > Electrical menu or with the electrical toolbar (only available in schematic view).

Wires (W) Solder Points Connect/Disconnect Net Caps Net Label In Port Out Port In/Out Port Other Port Global Port Properties

S-Edit 13 User Guide

75

Chapter 4: Drawing, Selecting and Editing Objects

Drawing Tools for Electrical Objects

Wires (Draw > Electrical > Wire)

Note that wires and paths, while similar in appearance, are functionally different. Wires connect objects electrically; paths do not. S-Edit will draw only orthogonal wires. The starting point is the first vertex of the wire. Wires can have any number of vertices. The mouse buttons for this operation are VERTEX, BACKUP, and END. 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, up to the last endpoint. Double-click the DRAW button to place the last endpoint and finish drawing the wire, or simply place a vertex on a pin so that S-Edit will terminate the wire automatically. See also Drawing Wires on page 90.

Solder Points (Draw > Electrical > Solder Point)

Use solder points to define a point where wires cross and make an electrical connection (see Creating a Connection where Wires Intersect on page 92).

Connect/Disconnect (Draw > Electrical > Connect)

The Connect/Disconnect tool attaches and detaches wires within its perimeter. (See Rubberbanding and Disconnecting Wires on page 92.)

Net Caps (Draw > Electrical > Net Cap)

A net cap halts the propagation of a global net to any cell that instances the current cell. (See Naming Global Nets on page 103.)

Net Labels (Draw > Electrical > Net Name)

Net labels identify nets by placing text in the design area. Use the NetLabel Port Settings dialog to place text and control its size, position and alignment. (See Labeling Nets on page 95).

S-Edit 13 User Guide

76

Chapter 4: Drawing, Selecting and Editing Objects

Drawn Properties of Objects

Ports
Use the toolbar icons or the Draw > Electrical menu to select and place ports. S-Edit will open a dialog where you can set the port name, size and alignment parameters. (See Adding Ports on page 92.)

Drawn Properties of Objects


Cells and objects in S-Edit are characterized by drawn properties such as the coordinates of their vertices, the length and width of their lines, etc. You can use these properties to edit objects by changing the related values. The set of drawn properties differs for each object. For example, a path, polygon, or wire is characterized by its vertex coordinates (X1, Y1), (X2, Y2), (X3, Y3), etc.

Note:

To open a dialog like the one below, click once in the Vertices field of the Properties navigator to activate the ellipsis button and then again on the button to open the Edit Vertices dialog.

S-Edit 13 User Guide

77

Chapter 4: Drawing, Selecting and Editing Objects

Selecting Objects

Similarly, a comment or net label is characterized by its name, location in coordinates, text size and orientation.

Electrical Properties of Objects


See Symbol Property Types on page 110 and Editing Instance Properties on page 88 for information on electrical properties.

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 to manipulate a group of objects as a single one. When you select an object, it is highlighted. Or, if the object is an instance of a cell, a thin highlight appears defining its MBB [minimum bounding box, or perimeter]. If the Display property under Name is set to Visible or ValueOnly, the name will also be displayed in with yellow highlighted text when a cell or instance is selected. (If the names are not visible try zooming-in, or set the display to a larger FontSize value.) 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 and implicit selection.

Explicit Selection
There are several ways to make an explicit selection. You must select objects explicitly before performing the following actions:
Cut, Copy, Clear, or Duplicate operations.

Operations on a set of objects. Operations on one of several close or overlapping objects.

Selection by Clicking
Position the cursor over the desired object and click the Select button. S-Edit will deselect any previously selected object or objects.

S-Edit 13 User Guide

78

Chapter 4: Drawing, Selecting and Editing Objects

Selecting Objects

Selection by Enclosing (Selection Box or type Select - Enclose)


Drag the cursor with the Select button held, forming a selection box around the objects. Draw the selection box so that it completely encloses all the objects you want to select but no others. (To select a port, you must enclose the starting point, but not the port text.) S-Edit will deselect any previously selected objects. (See Mouse Wheel Options on page 34.)

Selection by Intersection (type Select - Intersect)


When you type select-intersect in the Command window, objects that are intersected by the selection box (i.e. partially enclosed) will be selected as well as fully enclosed objects. (See Mouse Wheel Options on page 34.)

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.

Cycle Selection
You can also select separate objects in succession by clicking repeatedly near them. This cycle selection technique lets quickly cycle through several overlapping or adjacent objects to select the one of your choice. In cycle-selection, S-Edit first selects the closest object within selection range. When you click again with the cursor in the same spot, S-Edit deselects the first object and selects the next closest object. You may continue clicking to select successive objects until there are no more within the selection range. At that point, all objects are deselected. If you click again with the cursor in the same spot the cycle will resume with the closest object. The actual ordering of candidate objects for cycle-selection is as follows: (1) objects the cursor is inside, ordered according to the closest edge; (2) objects the cursor is outside (yet still within the selection range), ordered according to the closest edge. Objects that do not enclose the cursor can only be selected if they are within the selection range.

Select All (Edit > Select All) and Deselect All (Edit > Deselect All)
Use Ctrl + A to select all objects in the active window and Alt + A to deselect all objects in the active window. To remove objects from a group of selections, hold the Deselect (Alt + Select) button while performing a click- or drag-selection.

Limiting Selection by Type of Object


You can allow or disallow selection of boxes, polygons, paths, circles, wires, labels, netlabels, ports and properties by object type.

S-Edit 13 User Guide

79

Chapter 4: Drawing, Selecting and Editing Objects

Moving and Editing Objects

Right-click on the toolbar button for an object type to open a context-sensitive and click on the Allow Select... option you prefer. A red dot in the lower left corner of the toolbar button indicates an object type cannot be selected.

Implicit Selection
You can move, edit, or copy an object without explicitly selecting it, if it is within the selection range set in Mouse Wheel Options. Clicking the MOVE-EDIT or COPY button with the cursor near such an object implicitly selects it for these operations. The object is deselected after the operation.

Deselection
To deselect an object or remove objects from a set of selected objects, hold the Deselect (Alt + Select) button while performing a click- or drag-selection. Deselecting an object that was selected has no effect on the object.

Automatic Deselection
When you begin a move, edit, or copy operation, S-Edit checks to see how far the cursor 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.

Moving and Editing Objects


To move an object, select it (being careful not to select just an edge or vertex) and drag the object to the new position while holding the MOVE-EDIT button. To move multiple objects you must explicitly select them. S-Edit surrounds the objects with a selection box and maintains their relative positions during the move. The function of the MOVE-EDIT button will change depending on the position of the cursor. If you click on or very near an objects edge or vertex with this button, you will move only that edge or vertex and thus change the objects size or shape. Use Mouse Wheel Options to specify the distance from a vertex or edge at which S-Edit will perform an edit rather than a move.

Maintaining Connectivity while Objects are MovedRubberbanding


Wires in S-Edit rubberbandthat is, when you move an object, the wires remain connected (unless the force move operation is used. See Forcing a Move Operation Instead of an Edit (Draw > Force Move or Alt + M) on page 81.)

S-Edit 13 User Guide

80

Chapter 4: Drawing, Selecting and Editing Objects

Moving and Editing Objects

Moving Operations Moving by a Specific Amount (Draw > Move By)


Use Draw > Move By to enter an amount by which the selected objects will be moved in the x and y direction.

Forcing a Move Operation Instead of an Edit (Draw > Force Move or Alt + M)
In normal drawing mode, the edit command is active when the cursor is within the edit range of an objects edge (see Mouse Wheel Options on page 34), and the move command is active when the cursor is outside that range.
Draw > Force Move forces a move operation regardless of the cursor position. After the move operation is finished, S-Edit will revert to normal drawing mode, or you can cancel the force move operation by pressing ESC.

Note that a forced move does not preserve an objects electrical connections; that is, it does not rubberband the object.

Rotating Objects (Draw > Rotate 90 degrees or R)


Draw > Rotate 90 degrees (shortcut key R) rotates the selected objects by 90 counterclockwise about

their starting point. For a single object the center of rotation is the objects origin. For multiple objects the center of rotation is the center of their MBB. Note that you can use the R shortcut key to change an objects orientation before clicking to place it in the design area.

Alternately, the Draw > Rotate command allows you to rotate the selected objects counterclockwise by any degree around the starting point, with up to six decimal points accuracy. Use a negative value for clockwise rotation.

S-Edit 13 User Guide

81

Chapter 4: Drawing, Selecting and Editing Objects

Copying and Duplicating Objects

Flipping Objects (Draw > Flip)


These commands flip the selected objects through the center of their MBB, either horizontally (Draw > Flip > Horizontal, shortcut key H) or vertically (Draw > Flip > Vertical, shortcut key V). Note that you can use the H and V shortcut keys to change the orientation of an object before you click to place it in the design area.

Draw > Flip > Horizontal (shortcut key H)

Draw > Flip > Vertical (shortcut key V)

Copying and Duplicating Objects


To copy objects, select the object(s) and do one of the following: Use the Edit > Copy (Ctrl + C) command and then the Edit > Paste (Ctrl + V) command. Use the Edit > Duplicate (Ctrl + D) command.

The Copy command puts the copy of the selected object(s) in the internal clipboard. The copy does not appear in the design area until it is placed with the Paste command. The copy remains selected after this operation.

Creating Arrays Using the Duplicate Command


The Duplicate operation creates a duplicate of the selected object(s) and places it in the active cell, offset from the original by one grid point horizontally and vertically. The new objects stay selected and can be moved to a new offset.

S-Edit 13 User Guide

82

Chapter 4: Drawing, Selecting and Editing Objects

Pasting Objects

When you use the mouse-drag or Duplicate operation, S-Edit stores the offset of that operation. Subsequent use of the Duplicate command replicates both the object and the displacement, aiding in the rapid creation of regular structures like arrays. (See Creating an Array on page 99.)

Select an object and use Edit > Duplicate (Ctrl + D) to initiate the duplicate operation.

Click to place the first copy and set the offset.

Use Ctrl + D to continue to place copies with the same offset.

Pasting Objects
S-Edit stores cut or copied objects to an internal clipboard. To paste the contents of this clipboard, click in the design area, use the Edit > Paste (Ctrl + V) command, and click again. When the paste command is active the clipboard objects are visible and move with the cursor (attached at the lower left corner of their MBB) until the second click places them.

S-Edit 13 User Guide

83

Chapter 4: Drawing, Selecting and Editing Objects

Using Undo & Redo

Pasting Objects to Other Applications


You can use Edit > Capture Window in an S-Edit design file and to copy and paste the visible design window to another application in bitmap format.

Using Undo & Redo


Edit > Undo (Ctrl + Z)
You can use the Edit > Undo command (Ctrl + Z) to reverse the most recent edit operation and restore the S-Edit file to the state it was in before that operation. Specifically, Undo reverses a move; any resize, reorient or reshape operation; the draw, copy, or duplicate operations; deletions, and changes made using Edit > Edit Object.

Edit > Redo (Ctrl + Y)


Similarly, you can use the Edit > Redo command (Ctrl + Y) to restore changes reversed with a previous Edit > Undo operation.

Showing and Hiding Objects by Type


You can show or hide objects in the layout by object type. Right-click on the toolbar button for an object to set visibility for that object type. Note that though labeled Show None, in fact at least one object type must be displayed at any given time; it will be the object type over which the cursor was right-clicked to open the context-sensitive menu. Diagonal hatching on the toolbar button indicates an object type is not visible.

Deleting Objects
Use one of the following commands to remove selected object(s) from a view:
Edit > Cut (Ctrl + X)

The Cut command puts the deleted objects in the internal clipboard. From there they can be restored to the current cell or placed into another cell.
Edit > Clear (Del)

The Clear command does not put the deleted objects into the internal clipboard.

S-Edit 13 User Guide

84

Creating a Schematic

A schematic for a component is made by placing a number of symbols on the schematic page and then connecting the symbols together with wires at their defined connection points. A set of connection points connected together is called a net. You can make a symbol for a new schematic and then use it in other schematics, thus allowing for the construction of hierarchical designs.

Elements of a Schematic View


A schematic view contains any of the following elements:

Instances of Symbols
Instances of symbols refer to a particular symbol in a cell. A schematic may contain many instances of the same symbol or of different symbols. Instances contain graphics which provide the illustration of the symbol, and ports

Ports
Ports provide connection points for attaching nets. Ports on the symbol and ports on the instance are different in that ports on the symbol are shown as their port name, whereas ports on the instance do not. Ports on the schematic define how connections made to ports on symbol instances connect to nets on the schematic for that symbol.

Nets
A net is a wiring connection between two or more instance ports. A net can be a single wire, or a collection of wires called a bus or a bundle.

Properties
Properties are name-value pairs that are usually used to describe some characteristic of a device, such as a transistor length, width, or Source/Drain areas and perimeters. Properties can be put on an instance to override the value defined in the symbol, or new properties can be created on an instance.

Annotation Graphics
Annotation graphics are non-electrical objects such as boxes, polygons, paths, and labels used to add comment or illustrations to the schematic.

S-Edit 13 User Guide

85

Chapter 5: Creating a Schematic

Creating a Schematic View

Creating a Schematic View


To create a new schematic view, use Cell > New View (shortcut N). Simply select from the drop-down menus in each field. You can also use Cell > New View to create an entirely new cell.

Creating a New View (Cell > New View or N)


Design

Select a design file or library file from the drop-down list of those open where the cell will be saved. Enter a cell name. Select the view type, i.e. schematic. Specify a view name. Specify which interface the new view belongs with. Check this box to prevent S-Edit from checking for naming violations.

Cell View type View name Interface name Disable name validation

Creating Instances
Instances in a cell are references to other cells. These cells might be common library cells (such as basic circuit elements) or larger, custom-designed cells. Instances are dynamically linked to their source cell so that any change you make to a source cell is reflected in each higher-level instance of that cell. Any option you set in the originating cell will be the default for all of its instances. However, you can override this setting in any of the instances, and the change will affect that instance only.

Instancing a Cell (Cell > Instance or I)


[1] [2] Highlight the cell in the Libraries cell list. Select a cell to instance by: using the Instance button in the Libraries navigator, clicking and dragging a cell from the Libraries navigator into the design area, using the instance icon on the toolbar , or

using the menu command Cell > Instance (shortcut I)

S-Edit 13 User Guide

86

Chapter 5: Creating a Schematic

Creating Instances

[3]

Property values inherited from the symbol can be overridden on a per instance basis by changing their values in the Instance Cell dialog before placing the instance. Modified values in the instance cell dialog will persist for all subsequent instances unless modified again.

[4]

Drag the instance with the mouse and click in the design area to place it. You will continue to instance the same cell until you either click Done in the Instance Cell dialog, double-click on the design area, choose a different cell to instance, select a new tool, or choose the select arrow. Instances can be flipped horizontally or vertically prior to placement by pressing the H or V key, and can be rotated prior to placement by pressing the R key. Properties for each instance can be modified in the Instance Cell dialog prior to each placement. You can change the cell being instanced by selecting a new Cell name in the Instance Cell drop-down.
Instance Name

Enter a name for the instance. If no name is entered, S-Edit will by default use the cellname_x, where x is an integer that increments automatically. Check this box to prevent S-Edit from checking for naming violations.
Design Select a library from those loaded to the active design. Cell name Select a cell from those loaded to the design. Interface Select an interface from those defined for the cell. Symbol View the list of those open.

Disable name validation

Instance of:

Properties

You can change the properties of the cell you are about to instance. This will be local override over the symbol default values. Click Done to stop instancing.

Done

S-Edit 13 User Guide

87

Chapter 5: Creating a Schematic

Editing Instance Properties

Locking and Hiding Instances


You can prevent edits to all instances in a design by disallowing instance selection. Similarly, you can set S-Edit so that all instances are hidden. To set selectability and visibility, right-click on the instance toolbar button. As with other drawn objects, diagonal hatching on the icon indicates that instances are not visible, and a red dot in the lower left corner of the icon means that instances cannot be selected. Note that even when S-Edit is set so that instances cannot be selected, when an instance is placed (using Cell > Instance or by dragging from the design navigator) it will remain in the selected state so it can be moved to the desired location. Then, once you place and unselect the new instance it will no longer be selectable.

Editing Instance Properties


To add a new type of property, see Adding User Properties on page 115.

Editing Properties from the Work Area


You can edit a property directly from the work area by using Ctrl + click to select it and then Ctrl + double-click to open the Edit User Property Value dialog. Only one object may be edited at a time with this dialog.

When you select an instance property from the design area, you will see a selection box when it is active in the Properties navigator. Changes made in the Properties navigator will update all instances if multiple instances are selected (see Editing Properties on page 113).

S-Edit 13 User Guide

88

Chapter 5: Creating a Schematic

Editing Instance Properties

Locked Properties
Properties which are evaluated expressions are displayed in green in the Properties navigator and cannot be edited there, they can only be changed by editing the expression in the source cell of because reference values have changed.

Moving Instance Properties


Properties can also be moved in the design area. Use Ctrl + click to select a single property then use the middle mouse button to move it. Or, right-click on one property (it will not appear to be selected) then use Ctrl + right-drag to select multiple properties. Once selected, you can use the middle button to move them.

Selecting All Instances of a Cell


To quickly select all instances of a particular cell, select that cell name in the Libraries list and press the Find button. S-Edit will find and select each instance in the active work area.

Editing Properties on Multiple Instances


You can change the properties on multiple instances at the same time. To do this, simply select all instances you want to change, then modify the desired values in the Properties navigator. You may modify any property value in this manner. To select multiple properties, right-click on one property (it will not appear to be selected), then Ctrl + right-drag to select multiple properties (selection boxes will be visible at this point).

Changing Instances of a Cell to Instances of a Different Cell


To change all instances of one cell to instances of another cell, select the cells you want to change, then select a new cell from the Master Cell property under System properties in the Properties navigator. If

S-Edit 13 User Guide

89

Chapter 5: Creating a Schematic

Making and Labeling Connections

the new new cell you want to use is in a different library, you should select the library first from the MasterDesign property.

Setting the Visibility of Properties on Instances


Using the Display sub-property, you can also chose to show a propertys name and value, its value only, or to hide the property altogether. Note that property values are only hidden on instances in schematic view; they will always be visible in a symbol view.

Making and Labeling Connections


Connectivity is defined in terms of nets. In the most general sense, a net is created when one or more ports, labels, or wires are connected. Nets derive their names from the ports or net labels to which they are attached. Connections formed by net labels exist only within a particular cell. Connections formed by ports can extend outside the cell.

Drawing Wires
To draw a wire, select the Wire drawing button on the toolbar and click the left mouse button to place the first vertex. Subsequent clicks with the left mouse button will place additional vertices. Clicking the right mouse button ends the wire without placing a vertex, and double clicking the left mouse button terminates the wire by placing a vertex at the double-click location.

Connections Points
A connection point is defined as an end of a wire or a bus, an instance of a port, a global or local port, a net label or a net cap. Connection points that coincide are considered connected and are shown as filled-in circles unless they occur at the edge of an instance. Connections are usually explicitfor example, a wire end connected to a port, or two ports or two wires connecting directly to each other. Note that it is possible to form an implicit connection. For example, if you instance a cell that has two or more symbol ports named A, anything you connect in the instance to any port corresponding to A will also be implicitly connected to other pins corresponding to A.

S-Edit 13 User Guide

90

Chapter 5: Creating a Schematic

Making and Labeling Connections

An open connection point is one that does not coincide with another connection point. Unconnected ports and unconnected wire ends are shown as unfilled circles.

Connected

Unconnected

If you click repeatedly on a connection point you will cycle selection through the wire segments that attach to it.

Hot Spots
A hot spot, drawn as a small red square, indicates a port connection in schematic view. Hot spots also assist with routing, as a mouse click within a hot spot will automatically align and connect wires.

S-Edit 13 User Guide

91

Chapter 5: Creating a Schematic

Adding Ports

Creating a Connection where Wires Intersect


Intersecting wires in S-Edit are not connected unless you explicitly add a connection point, using the solder point tool (shown below). Note that solder points must coincide with snap grid points.

Rubberbanding and Disconnecting Wires


Rubberbanding is the characteristic in S-Edit that preserves connectivity in a schematic view when an object is moved or edited. It is the default behavior. If an object or wire with an open connection point is created, moved or edited, S-Edit will occasionally split a wire to create a new connection. This can occur if pre-existing connection points fall on each other or when a selected wire is split due to an edit. You can detach rubberbanding before moving an object by using Draw > Force Move (shortcut key
Alt + M).

To detach a wire from a pin, or to reattach wires that have detached because of an edit (for example, one moving a pin off-grid) use Draw > Electrical > Connect/Disconnect.

Connect/Disconnect is a toggle command that instantly attaches or detaches wires that fall within the perimeter of the tool. If you click on a connected wire the wire will disconnect, and vice-versa. It is also a non-sticky commandthat is, it goes back to the previously selected tool after its execution.

When you click using the Connect/Disconnect tool S-Edit searches within a square area with sides equal to two times the snap grid size. If there are any open solder dots on or inside the square they will be connected. If not, any connected wires will be disconnected by clipping them at the edge of the square. (With the exception of open connections from port instances, if they are exactly on the corner of the square.) Note that there is a small chance that new unwanted connections will be made this way. Connections are formed by drawing additional orthogonal wires connecting each open solder dot to the center of the square. If an angle is necessary it is created on-grid. When a connecting wire for a port instance requires an angle, the first segment will run perpendicular to the MBB of the instance rather than parallel. When an orthogonal wire patch is needed, the first patch segment will be colinear to the existing wire.

Adding Ports
Ports define the connection points that can be made to a symbol when the symbol is instanced. When instanced, ports do not display their name, but appear as open connectivity circles for attachment to wires. When connected to two or more items, they appear as filled circles; when connected to one item,

S-Edit 13 User Guide

92

Chapter 5: Creating a Schematic

Adding Ports

they disappear. Ports exist in both symbols and schematics, and you can create and modify ports in both views.

Types of Ports
Five types of ports are available: Input, Output, Bidirectional, Other and Global, as shown in the toolbar below.

Input Output Bidirectional Other Global

S-Edit treats the first four ports similarly. Port types imply different connectivity rules, enforced by the design checker. These rules are: All ports with the same name must have the same type on schematic and symbol A net on a schematic may not connect output ports of two instances A net on a schematic may not consist exclusively of input ports of instances

Global ports, however, have a different functionthey are used to make global nets, which create connectivity throughout a design.

Drawing and Labeling Ports


To draw a port, select one of the port tools, and click in the design area. S-Edit will open the corresponding Port Settings dialog. Note that you can use the R, H and V shortcut keys (for rotate 90, flip horizontally and flip vertically) to change the orientation of a port before clicking to place it in the work area. This, rather than using the Properties navigator, is the suggested method. Use the right mouse button or press the ESC key to exit port placement mode.

S-Edit 13 User Guide

93

Chapter 5: Creating a Schematic

Adding Ports

Draw > Electrical > {port type} Port

Text Font Size Auto-repeat

Enter the port label text in this field. Enter the text size. If Enable auto-repeat is not checked, S-Edit opens the Port Settings dialog just once, places the port when you click OK, and reverts to Select mode. With Enable auto-repeat checked, you can place ports repeatedly by clicking in the work area, without having to re-open the port settings dialog each time. S-Edit remains in port mode until you select a different mode or press ESC. The following controls may be added:
Confirm text of each objectwhen checked, re-opens the Port Settings dialog each time a port is placed so you can enter

changes to the next port placed.


Auto-incrementwhen auto-repeat is active and the last character in the Text field is a numeral, S-Edit automatically

increments the port label by the value entered here.

Justification

Select North, South, East or West, where the cardinal directions describe the orientation of the port text with respect to the center of the connection point.

S-Edit 13 User Guide

94

Chapter 5: Creating a Schematic

Adding Ports

Each port type has its own graphic so it can be easily identified in the work area.

Naming Ports
In most cases, the port names on schematic views of a cell must match the port names on symbol views of that cell. Specifically, a cell is correctly defined when the arrangement of ports is such that: For every non-global port on the symbol view, there exists a corresponding port of the same name and type on at least one of the cells schematic views. For every non-global port in a schematic view, there exists a corresponding port of the same name and type on the cell symbol.

Attaching ports or net labels with the same name to differently named objects forms an implicit connection, even if those objects are not directly connected by wire. If you rename a port in one net, you break that implicit connection. Similarly, when a cell contains more than one net with the same name, those nets are connected, even if they are on cells.

Labeling Nets
You can label nets to make your design more readable and to indicate connections within a cell. Connections formed by net labels exist only within a particular cell. When different cells contain nets with the same name, those nets are generally unconnected, with the important exception of global nets (see Global Nets on page 101).
Example of a net label with West orientation.

S-Edit 13 User Guide

95

Chapter 5: Creating a Schematic

Adding Ports

Click on the Net Label tool Settings dialog.

or use Draw > Electrical > Net Label. S-Edit will open the Net Label

Note that you can use the R, H and V shortcut keys (for rotate 90, flip horizontally and flip vertically) to change the orientation of a net label before clicking to place it in the work area.

Text Font Size Auto-repeat

Enter your net label text in this field. Enter the text size. If Enable auto-repeat is not checked, S-Edit opens the Net Label Settings dialog just once, places the net label when you click OK, and reverts to Select mode. With Enable auto-repeat checked you can place net labels repeatedly by clicking in the work area, without having to re-open the net label dialog each time. S-Edit remains in net label mode until you select a different mode or press ESC. The following controls may be added:
Confirm text of each objectwhen checked, re-opens the Net Label Settings dialog each time a net label is placed so you can

enter changes to the next label placed.


Auto-incrementwhen auto-repeat is active and the last character in the Text field is a numeral, S-Edit automatically

increments the net label text by the value entered here.


Justification

All text orientations are with respect to the origin point of the label, indicated by a cross.
Horizontal: select Left, Center or Right horizontal text alignment. Vertical: select Top, Middle or Bottom vertical text alignment. Direction: select Normal, Upside down, Down or Up for the text

direction.

S-Edit 13 User Guide

96

Chapter 5: Creating a Schematic

Buses, Bundles and Arrays

Editing Port Properties


Ports, net labels, and comment labels may be edited in the property browser. Simply select the desired objects, and change their values in the property browser. Sub-property values such as text size or justification may also be changed. Multiple objects may also be edited at the same time.

Buses, Bundles and Arrays


S-Edit supports buses, arrays and net bundles. A net is the fundamental single unit of connection. A bus is a set of connections with the same name, plus a numerical identifier and increment which is the syntax that defines it as such. Similarly, an array is a set of ports within an instance with the same name plus a numerical identifier and increment that defines related multiple connection points. A bundle is collection of both nets and buses, where the nets do not need to share a name with the bus. A port bundle is a port defined to accept more than one wire, defined as such by the same numerical identifier and incrementing syntax that defines a bus. Buses in S-Edit can be grouped, or nested to any required depth.

Creating a Bus
You create a bus with the net label tool by using a special naming syntax that specifies how many nets are in the bus, and how their number increments. The default increment value is one and may be omitted if that is the desired value. For example, UpData<0:7:2> creates a bus four bits wide, with nets UpData<0>, UpData<2>, UpData<4>, ... UpData<6>. You can create two-dimensional buses by naming a wire busname <n1:n2:stepa><n3:n4:stepb>. As with arrays (see below), the second range increments before the first range.

S-Edit 13 User Guide

97

Chapter 5: Creating a Schematic

Buses, Bundles and Arrays

Repeating Names and Grouping Buses


S-Edit supports the prefix notation <*n>, grouping notation ( ) and suffix notation <*n> for buses as follows.

Prefix Notation
You can repeat a single signal name, a group of signal names, or a vector term any number of times in the wire name by placing a prefix repeat operator <*n> in front of the name, where n is a positive integer that defines the number of times to repeat each bit in the vector term. Use the prefix repeat operator <*n> to repeat a single-signal name. For example, the following equivalent wire names both describe the same four-bit wire:
<*2>A,B,C A,A,B,C

Use the prefix repeat operator <*n> and parentheses to repeat a group of signal names. For example, the following two wire names are equivalent:
<*2>(A,B),C A,B,A,B,C

You can also use combinations of the prefix repeat operator <*n> and parentheses to nest parenthetical expressions to any required depth. Nested expressions are expanded from the innermost expression outward. For example, a name with the expression
<*2>(A,<*2>(X,Y)),B

expands to
A,X,Y,X,Y,A,X,Y,X,Y,B.

Suffix Notation
You can also use <*n> as a suffix repeat operator after a vector term, where n is a positive integer that defines the number of times to repeat each bit in the vector term. For example, use the suffix repeat operator <*n> to repeat each bit in a group of bit names before expanding the vector term. For example, the following three names all describe the same six-bit wire:
A<0:2*2> A<0*2,1*2,2*2> A<0,0,1,1,2,2>

Or, use the suffix repeat operator <*n> and parentheses to repeat the sequence of bit names. In this case, the vector term is expanded before the bits are repeated. Again, the following names all describe the same six-bit wire:
A<(0:2)*2> A<0:2,0:2> A<0,1,2,0,1,2>

S-Edit 13 User Guide

98

Chapter 5: Creating a Schematic

Buses, Bundles and Arrays

Expanding Buses
S-Edit supports expansion of bus pins with the colon (:) notation, where : indicates a range of pins. For example, a cell Dig2 has a symbol with properties:
SPICE.DEFINITION = .subckt $Cell (%{Data<3:0>}) Vdd Clk (%{Out<0:3>}) SPICE.OUTPUT = X${Name} (%{Data<3:0>}) %{Vdd} %{Clk} (%{Out<0:3>}) $MasterCell %(Data<3:0>)

SPICE.DEFINITION will expand buses in the subcircuit definition line and SPICE.OUTPUT will expand buses in the netlist. When a cell containing an instance of Dig2 is exported, we will get:
.subckt Dig2 (Data<3:0>) Vdd Clk (Out<0:3>) .ends subckt Dig2 (Data<3> Data<2> Data<1> Data<0>) Vdd Clk (Out<0:3>)

Creating an Array
You create an array by applying array syntax when you name an instance. So, an instance named array_name<n1:n2:step> creates an array of instances named array_name<n>, where n starts at n1, ends at n2, and increments by the step value. The step increment is one by default and can be omitted. Two dimensional arrays may be created by naming an instance U<n1:n2:step1><n3:n4:step2>, where the second range increments first. For example, the instance name U<0:7><0:3> creates an array of instances named:
U<0><0>, U<1><0>, U<2><0>, ... U<7><0>, U<0><1>, U<0><2>, U<0><3>, U<1><1>, U<1><2>, U<1><3>, U<2><1>, U<2><2>, U<2><3>, U<7><1>, U<7><2>, U<7><3>

Array Example 1
In the following example, we have created an array of four cells by giving an instance of cell B the name B1<1:4>.

S-Edit 13 User Guide

99

Chapter 5: Creating a Schematic

Buses, Bundles and Arrays

The bundle In, N<1:3> connects four wires In, N<1>, N<2>, and N<3> to array B1, and bus P<1:4> similarly connects to the array D1<1:4>, with bundle N<1:3>, Out exiting.

Array Example 2
In this example, cell F contains port bundles IN<0:7> and Out <0:7> so that it can connect to eight wires.

Buses In<0:7> and D<0:7> form an eight bit wide bus, respectively, in and out of instance F_1, which splits so that wires D<2>, D<3>, D<4>, D<5>, D<6>, and D<7> go into instance G_1 with five-bit port

S-Edit 13 User Guide

100

Chapter 5: Creating a Schematic

Global Nets

bundles in and out to accommodate D<2:7> and E<0:5>. The single wire D<1> goes into instance B_1 and out as net R, and single wire D<0> goes into instance B_2 and out as net Q.

Global Nets
Global nets simplify the drawing and maintenance of electrical schematics. When a net is global, you can connect or disconnect it throughout a design without drawing or deleting wires. Global nets are especially useful for power, ground, clock, reset, and other circuitwide nets that require routing throughout a design. Like standard nets, global nets connect across all of the schematic views of a cell. Unlike standard nets (which connect to nets outside the cell only through ports), global nets automatically connect between all cells in a design (subject to certain scoping rules; see Naming Global Nets on page 103). Any changes made to a global nets name or state propagate throughout the design. There are two ways to create a global net. You can add a global port to a schematic page, or you can instance a global symbolthat is, a symbol which has a global port or has one on its corresponding schematic page.

Global Ports
Global ports indicate connection points for global nets. Unlike regular ports, the names of global ports are significant outside of the cell where they are placed. The name of a global port is the default name of the global net associated with it. For example, if you want to create a global net with the default name Gnd, name the global port Gnd.

S-Edit 13 User Guide

101

Chapter 5: Creating a Schematic

Global Nets

To place a global port, use the Global Port tool (See Adding Ports on page 92.)

Global Symbols
Global symbols are special cells that function as wireless connectors. They are defined as such when they contain one or more global ports. When you attach a global symbol to a net, you connect that net to all other nets on every view and cell in the design file that are attached to a like global symbol. Such nets then become global nets. Conversely, a net ceases to be global when all global symbols are detached from it. You can add any number of new global symbols to a design. Sample files shipped with S-Edit contain symbols for Gnd and Vdd as shown below.

In the figure below, two Gnd symbols are attached to two different wires in a cell. Since Gnd is a global symbol, the two wires are thus connected to each other. In addition, any wires in any other cell which has the Gnd symbol attached is also connected to these nets.

S-Edit 13 User Guide

102

Chapter 5: Creating a Schematic

Global Nets

Naming Global Nets


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

A global port or an instance containing one appears on the cell, with no net caps on the associated global net. The net propagates up and down the cell hierarchy. A global port or an instance containing one appears on the cell, with a net cap named so it is associated with the global net. The net does not propagate up the cell hierarchy. A global port or an instance containing one does not appear on this cell, but global net propagation passes through this level of the hierarchy because the global port appears, uncapped, in one of the cells instanced within the current cell. In SPICE output, these nets will actually appear in the cell as placeholder nets. You can connect to a hidden net by placing a net label (or port) in the cell with the same name as the hidden net (or by instancing the global symbol).

capped

hidden

When global symbols collide, S-Edit will arbitrarily choose one of their names as the new name for the net. There is no guarantee that this net name will be stable; it may change when further edits are performed. If a global symbol collision causes two separate global nets to be connected, S-Edit will use the common new name to designate the net and all nets connected to all instances of all colliding symbols. Until the collision is resolved, all of these nets continue to be electrically connected. Avoid such situations wherever possible. One way to avoid collisions between global symbols on the same net is to use a voltage source cell to set the voltage between the nets. Let a property of the cell be the voltage between the nets. Then edit the property to set any desired voltage between the nets, even 0 volts. You can find voltage source cells in the S-Edit sample libraries.

Effective Design with Global Nets


Here are some tips for the effective use of global nets in your design. Avoid using several similar global symbols, such as Vdd1, Vdd2, and so on, for the purpose of separating similar global nets. Instead, use a single Vdd global symbol everywhere. Then place net caps at appropriate places to separate the different nets from each other. Finally, simply use net labels at the capped level to rename the nets. By using only one global port, you can instantly change the scope of these global nets without having to search for and replace different ports. Avoid placing global ports or net caps on a net that is connected via a port to higher levels of the design. The presence of a global port on such a net will automatically make its higher-level

S-Edit 13 User Guide

103

Chapter 5: Creating a Schematic

Global Nets

connections global, regardless of the designer's intention. Moreover, net caps will not prevent such a net from propagating. Be careful when naming different grounds. T-Spice considers all nets named Gnd, GND, gnd, and 0 to be connected.

Capping Global Nets


Global nets automatically propagate up the design hierarchy. For example, if the cell in the previous example is instanced in another cell, Gnd will exist in that upper cell. Net caps halt, or cap, the propagation of a global net from subcircuit definitions that are lower in the hierarchy.
Graphic for a net cap.

You place a net cap with the Net Cap tool.

When a net cap is placed in a cell, the global net will not propagate to any cell that instances that cell. The nets scope is limited to the current cell and any cells instanced on its schematic views. Any global nets with the same global symbol that exist outside the scope of the capped net may have the same name as the capped net, but are unconnected. 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 netsin T-Spice, nets with any of the names Gnd, GND, gnd, or 0as connected to 0.0 volts, regardless of S-Edits scoping rules. Note that the net cap does not have to be attached to a netit can be placed anywhere in the work area. However, the name is critical as it defines the net cap.

Naming Net Caps


A net cap must be given the name of the net you wish to cap. Click on the Net Cap toolbar button or use Draw > Electrical > Net > Cap and place the net cap anywhere on the schematic page where you want the cap to occur.

S-Edit 13 User Guide

104

Chapter 5: Creating a Schematic

Checking a Design for Errors

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

Text Font Size

Enter the name of the net cap in this field. Enter the text size in points.
(Enable auto-repeat is not functional for this operation.)

Justification

Select North, South, East or West, where the cardinal directions describe the orientation of the text with respect to the center of the connection point of the cap.

Checking a Design for Errors


The S-Edit design checker searches for many of the mistakes commonly made during the schematic creation process. These are categorized into errors, which will prevent the proper connectivity from being formed, and warnings, which do not prevent S-Edit from extracting connectivity but are likely to be unintended.

Note:

Note that existing cell names and cell names entered using the Properties navigator are not validated until a file undergoes a design check. After a design check, violation warnings are displayed in the Command window.

Some of the common items the design checker will check for include: Dangling wireswires with unconnected ends. Dangling portsports on instances with no connection. Instances with no name or a non-unique name. Nets with at most one output port reference connected to them. Ports with the same name having the same type.

S-Edit 13 User Guide

105

Chapter 5: Creating a Schematic

Checking a Design for Errors

Schematic Checks
S-Edit provides the option to check an entire schematic or just the active cell. Use Tools > Design Checks (or the toolbar button ) to check the full hierarchy Click on the icon to run the design checker on just the current schematic view.

Checks on Names
Design Check checks the names of these objects based on the validation constraints in Setup > Technology > Validation. Each violation triggers a warning. Cell names View names Instance names Port text Net labels

Checks on Instances
Design Check examines instances to determine whether the following conditions are met and issues either an error or a warning if not. All instances must refer to a master that can be resolved (error). All instances must have a unique name (error). There cannot be any cyclic dependencies (error). All instances must have a name (warning). All properties can be evaluatedi.e. correct syntax, legal references, etc. (warning). Dangling port references (those that are not connected) do not exist (warning).

Checks on Nets
Design Check examines nets to determine whether the following conditions are met and issues either an error or a warning if not. Note that although it will not result in either an error or a warning, we recommended that you do not give a net the same base name as a bus. For example, a net named N and a bus named N<0:7> could cause confusion. Nets ripped from a netbundle must actually exist in the netbundle (error). Bus dimensions are compatible with rippers, portbundles, subscripts, etc. For example, you're not trying to rip a 5th wire from a 4-wire bus (error). Nets have at most one OUTPUT portref connected to them (error). Nets have at least one portref that is NOT of type INPUT connected to them, unless they are connected to an interface port of type INPUT (error). Dangling nets, i.e. those with a wire end that is not connected, do not exist (error).

S-Edit 13 User Guide

106

Chapter 5: Creating a Schematic

Checking a Design for Errors

Checks on Interface Integrity


Design Check examines the interface to determine whether the following conditions are met and issues either an error or a warning if not. Ports with the same name must have the same type (error). All instance portrefs must reference an existing port on the interface (warning). Ports that exist on the interface must exist on the symbol (warning).

Net Highlighting
You can use the Push into Context design hierarchy. and Pop Context buttons to trace a net through your

When you select a wire or port at the top level, the entire net it belongs to will be selected when you push into any instance to which it is connected. Unless you select part of a different net, the net will remain selected as you push down to the primitive level. Similarly, if you select a wire or port while pushed into an instance, the net it is connected to will remain selected as you pop back up the design hierarchy.

A wire connecting PadInC_2 to core_1, belonging to net N19, is selected.

When you double-click to push into instance core_1, all of net N19 is selected.

S-Edit 13 User Guide

107

Chapter 5: Creating a Schematic

Checking a Design for Errors

When you push into instance DDFC_3 in core_1, the five ports (circled) on net N19 are highlighted.

S-Edit 13 User Guide

108

Creating a Symbol

The process of schematic capture first involves the creation of symbols. Symbols are a pictorial representation of an electrical component together with a definition of the electrical connections that can be made to that component. Symbols may also contain properties that define the electrical characteristics of the component. In many design situations, a library of symbols already exists, usually of basic standardized components which a designer can use to create their schematic.

Elements of a Symbol View


A symbol view contains the following elements:

Symbol Graphics
Symbol graphics comprise the graphical image of the symbol. This is the image that is seen when the symbol is instanced. Symbol graphics can be boxes, polygons, paths, or circles.

Labels
Text labels can be added to a symbol, and are visible when the symbol is instanced.

Ports
Ports define the connection points that can be made to the symbol when the symbol is instanced. When instanced, ports do not show their text, but appear as an open circle connection point for a wire.

Properties
Properties are name-value pairs that are usually used to describe some characteristic of a device, such as a transistor length, width, or Source/Drain areas and perimeters. Properties can also be used for other purposes, such as controlling the SPICE statements written for a device. Properties on a symbol provide the default values when that symbol is instanced, but may be overridden on an instance-by-instance basis. If a symbol already exists with graphics or ports, Update Symbol will add the new ports from the schematic to the symbol view, but will not modify the graphics or remove any existing ports. (See Creating and Updating Symbols Automatically, below.)

S-Edit 13 User Guide

109

Chapter 6: Creating a Symbol

How To Create a Symbol

How To Create a Symbol


Follow these steps to create a new symbol: [1]
Create a ViewCreate a new cell with a new symbol view, or create a new symbol view of an existing cell using Cell > New View. Give the symbol a View name, and select the interface it is to be associated with. (See Creating a New View (Cell > New View or N) on page 52.) Draw and label graphicsDraw a graphical representation of the symbol using the object drawing

[2]

tools. You can add text with the Label drawing tool. The graphical representation has no electrical meaning, but provides a recognizable way to identify instances of the cell. (See Drawing Tools for Annotation Graphics on page 72.) [3]
Add ports Ports define the connection points that can be made to a symbol when the symbol is instanced. They can be of type In, Out, In/Out, Other or Global. (See Adding Ports on page 92.) Add PropertiesIf needed, add properties to the symbol. Properties on a symbol provide the default

[4]

values when that symbol is instanced, but may be overridden on a per instance basis. (See Symbol Property Types, below.)

Visible and Hidden Properties


When a symbol is instanced, you can choose to make its properties visible, hidden, or value only in the design area. Visible display includes the property name and its value. The default color for hidden properties is a slightly lighter shade of gray than the default color for visible and value only properties so they can be distinguished in the work area.

Creating and Updating Symbols Automatically


S-Edit can automatically create a symbol from the ports on a schematic view using Cell > Update
Symbol.

If the symbol view is empty, Update Symbol creates simple graphics and places ports corresponding to those on the schematic, with input ports on the left and output ports on the right. It will also place text labels corresponding to each port.

Symbol Property Types


Properties are used to store parametric descriptions of design elements. Properties can characterize a cells 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 will write a cell to a netlist. Properties are name-value pairs. Properties can be text or a numerical value, or they can be expressions that require evaluation, in particular during instancing or exporting.

S-Edit 13 User Guide

110

Chapter 6: Creating a Symbol

Symbol Property Types

System Properties
Properties such as the design or library from which the symbol comes or the cell version are shown in the System area of the Properties navigator. In general, the system properties should not be edited.

User Properties
User properties such as Drain Area (AD), Source Area (AS), Length (L) etc. are shown in the User area of the Properties navigator. S-Edit uses property information in two ways. When you instance a cell with properties, S-Edit interprets the properties (as long as they are not hidden) and displays their interpreted values in the instancing cell. 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 expressions, if any are present (see Evaluated Properties on page 120.) When you export a netlist, S-Edit writes out the values of output properties appropriate to the netlist format. You can use SPICE output properties to include simulation commands in the netlist. For more information on output properties, see Exporting SPICE Files on page 130. You can define, add, edit and import your own properties for design elements, which may be absolute values or expressions for evaluation.

Default Properties
The properties on a symbol are default properties that are used when the symbol is instanced. When you change a property in the symbol view of a cell, that property will change in all the instances of that cell. Properties for a symbol are visible on the symbol itself as well as in the Properties navigator. The Properties navigator will contain different fields depending on the type of object selected. You can add, delete, or edit properties at any time, and you can override properties assigned in the original cell with properties assigned to the instance. You can also show or hide a propertys name or value, for most but not all properties.

Service Sub-Properties
S-Edit properties carry sub-properties, called service properties that are used to set functional characteristics such as allowable values, display characteristics or callback properties.

Service properties for the property L (length).

S-Edit 13 User Guide

111

Chapter 6: Creating a Symbol

Symbol Property Types

Valid Values

ValidValues is an enumerated list from which the user can choose values for the property. Setting ValidValues to A B C D will make the value field of the property become a drop-down menu with choices A, B, C and D. To place spaces in a value, surround the value with braces. Callback is the name of a TCL function to call when the value to the property is changed. These TCL functions are user-created. Typical uses of callbacks are to perform validity checking of the input, or to modify other properties that should change in order to maintain consistency with the modified property.

Callback

IsInterface

Only properties with IsInterface = True will get written to SPICE as parameters of a device or subcircuit when $$ is used to write all parameters. The property type, from the following pull-down choices:
String- text Boolean- true or false Double- floating point number Integer- integer Coordinate- position number (may be negative), to be displayed in display units Length- distance number (non-negative), to be displayed in

Type

display units
FontSize- positive number, to be displayed in points

Description

The description text is displayed in the description area at the bottom of the property grid when the property is selected. Sets how a property is displayed when the symbol is instanced. Options are: Hiddenthe property is not displayed. Visibledisplays both the property name and its value. ValueOnlydisplays just the property value.

Display

Font size, position, justification and orientation are subsets of the display property, as well as WhenNotEvaluated.
WhenNotEvaluatedSets how an evaluated property is displayed when it has not been calculated. Options are Hidden, Visible and ValueOnly.

S-Edit 13 User Guide

112

Chapter 6: Creating a Symbol

Editing Properties

Evaluated Properties
A property can be an explicit value or an expression.

For example, in the MOSFET_P symbol shown above, the value of L is 2u and the value of W is 22u. Properties AD, AS, PD and PS are expressions which reference the values of other properties using the $. The Drain area (AD) is 3u times the gate Width (W), which is expressed in the Properties navigator as AD = $W*3u. This will be evaluated to yield AD = 22u*3u = 66p. See the chapter Evaluated Properties (page 120) for more detail.

Editing Properties
You can use the Properties navigator to enter or edit any attribute of a user property (e.g. visibility, font size, or text positioning) on any number of properties that are selected in the active view.

The Properties Navigator

S-Edit 13 User Guide

113

Chapter 6: Creating a Symbol

Editing Properties

Properties Navigator Toolbar


Collapse allcollapses the display to property name level. Add propertyopens a dialog so you can add a user property. Delete propertydeletes the highlighted property. Use undo to restore. Resetresets a property value on an instance to that of its source cell. Copy single propertycopies just the property and its parent properties up the hierarch Copy treecopies the entire property hierarchy above and below the selected object Paste from clipboardpastes copied property contents. Save property tree to filesaves an entire property hierarchy to a TCL
file.

Load from fileruns a TCL file that replaces the current Sort by namesorts properties alphabetically, separately by
category.

Dont show inheritedhides properties inherited from


the symbol primitive.

Show visible onlyhides property values that are set to hidden in the design.

You can also right-click anywhere in the Properties navigator to open the shortcut menu shown below.

S-Edit 13 User Guide

114

Chapter 6: Creating a Symbol

Editing Properties

Editing with the Properties Navigator


From a design window, use Ctrl + click to select a property and make it active in the Properties navigator.

You can also right-click on one property (it will not appear to be selected) then use Ctrl + right-drag to select multiple properties (selection boxes will be visible at this point).

Warning:

Note that edits made in the Properties navigator are unrestricted and are not validated by S-Edit. For example, it is possible to draw a 90 line and then convert it to an all-angle line using the value field of the related property. S-Edit does not give a warning if you make such a change.

Expressions that yield evaluated properties are displayed in green in the Properties navigator and cannot be edited. Note that any edits made in the Properties navigator affect all the selected objects.

Adding User Properties


You can add user-defined properties with the Property icon , the Add Property button in the Properties navigator, or using Draw > Electrical > Property. S-Edit opens the Add User Property dialog when you click in the work area after any of these commands.

S-Edit 13 User Guide

115

Chapter 6: Creating a Symbol

Editing Properties

User properties may be created, for example, to count cell instances, to reference ports or other properties, or to format property outputs. S-Edit interprets user properties in instances (when shown in schematic mode) or during export to a netlist. S-Edit parses all other text without expansion.

Copying and Pasting Properties


User properties, and properties of views, can be copied and pasted from one object to another. These copy/paste operations are independent of the source or target object, so the source and target objects can be of different types, and can be anything that has a property attached. Note that if a property exists in the paste destination it will be overwritten. You have the option to select the entire property tree or a subtree. Both these operations work by issuing a TCL command.
Copy single property copies just the property and its parent properties up the hierarchy. Copy tree

copies the entire property hierarchy above and below the selected object.

Replacing a Device or Symbol Globally


You can effectively replace a device or symbol with another by changing the MasterCell property in the Properties navigator. When you do so S-Edit will globally replace all instances and also indicate the change by appending _Unresolved to the name of the library as it appears in the Libraries list.

Importing and Exporting Properties


You can also right-click in the Properties navigator to save properties to a file or load properties from a TCL file using the Save as and Load from commands in the shortcut menu. This is particularly useful for writing out and reloading SPICE simulation settings.

Save as opens a dialog to specify the filename, then saves the selected properties to a TCL file. Load from opens a dialog to specify a TCL file, then in background issues a source command to load and run

the specified properties file.

S-Edit 13 User Guide

116

Chapter 6: Creating a Symbol

Editing Properties

The file contains the same list of property set commands that would be issued if you used the commands Copy tree and then Paste. You can use File > Open > Open File to open the TCL file in a text editor, as shown below.

Callbacks for Property Values


Callbacks provide the ability to call a command upon changing a property value. The callback command is usually a user written function. Typical uses of callbacks are to perform validity checking of the input, or to modify other properties that should change in order to maintain consistency with the modified property. For example, on the symbol view of a cell MOSFET_P there is a callback function for property L named setModelNameFromLength.

S-Edit 13 User Guide

117

Chapter 6: Creating a Symbol

Editing Properties

Similarly, expanding property W shows that it has a callback function named checkValidWidth.

The function setModelNameFromLength retrieves the length value entered and sets the model name based on that length. The function checkValidWidth checks that the width you entered is in the range 0.25u = W = 50u, and returns an error message and disallow the value if it is not within this range. If you were to open the schematic view of a cell containing an instance of MOSFET_P, for example MOSFET_P_1 in diffcell as shown below, and change the value of L from 1u to 0.1u, the value of model, PMOS.3 with L=1u, will automatically change to PMOS.1 due to the callback. If you change L back to 1u, the model value will change back to PMOS.3. However, if you try to change the value of W to 0.1u, L-Edit will display a callback error message in the log window stating that the value is too small.

Writing TCL Functions for Callbacks


The user-written functions setModelNameFromLength and checkValidWidth are shown below:
proc setModelNameFromLength {} { set cellname [ property get MasterCell -system ] if {[string equal $cellname "MOSFET_P" ] == 1 } { set basemodel PMOS } else { set basemodel NMOS } set len [ stod [ property get L ] ] if { $len < 0.25e-6 } { property set model -value ${basemodel}1 return } if { $len < 1e-6 } { property set model -value ${basemodel}2 return } property set model -value ${basemodel}3 } proc checkValidWidth {} { set width [ stod [ property get W ] ] if { $width < 0.25e-6 } { return "width too small"} if { $width > 50e-6 } { return "width too large"}

S-Edit 13 User Guide

118

Chapter 6: Creating a Symbol

Port Placement

The callback functions must be defined in S-Edit before they can be called. This is done either by dragging the file containing the callbacks into the command window, or by placing the file in one of the folder locations from which scripts get automatically loaded. Scripts placed in a folder scripts/open.design in the design folder will be automatically loaded when the design is opened. The other locations and conditions by which S-Edit automatically loads scripts are shown in the following table.
To load script when any design is opened, place script in: To load script when S Edit is started, place script in:

C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\open.design C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\startup

To load script when S Edit C:\Documents and Settings\<username>\Application Data\Tanner is shutdown, place script in: EDA\scripts\shutdown

Port Placement
S-Edit is more flexible than many other schematic editors with respect to port placement. S-Edit allows you to place a port at any location on the symbol, whereas other schematic editors require that you place the port 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 ports on the symbol boundary. When you instance a cell, S-Edit translates the ports on the symbol view into ports on the cell instance. Ports thus provide connection points between lower-level cells and their instances. When you connect objects to a port on a higher-level instance, you also connect them to any object connected to the corresponding port on the schematic of the originating cell. For example, when you connect an object to the input port In of an instancing inverter, (corresponding to a port named In on the symbol view of the inverter cell), you have connected it to the net named In on the schematic of the instanced inverter cell.

S-Edit 13 User Guide

119

Evaluated Properties

S-Edit supports expressions as property values; in fact, every property value is implicitly an expression.

Expressions as Property Values


A property can be an explicit value, or an expression which references the values of other properties. For example, in the MOSFET_P example below, the value of L is 2u and the value of W is 22u. Properties AD, AS, PD and PS are expressions which reference the values of other properties using the $. When used on a symbol, the $ references a value on the symbol, and when used on an instance, the $ references a value on the same instance. In this symbol, the Drain area (AD) is 3u times the gate Width (W), which we have expressed in the property browser as AD = $W*3u. This will be evaluated to yield AD = 22u*3u = 66p.

Displaying Evaluated Properties


How any property is displayed when a symbol is instanced can be set to Hidden, Visible (which includes the property name and its value), or ValueOnly. Expressions have a fourth display parameter, WhenNotEvaluated, which allows you to apply Hidden, Visible, or ValueOnly to an evaluated property when it has not been calculated.

S-Edit 13 User Guide

120

Chapter 7: Evaluated Properties

Expressions as Property Values

Supported Operators, Functions and References


S-Edit expressions support standard mathematical operators -, *, /, **, as well as standard functions such as sin(), cos(), etc. The prefixes %, $, ?, and @ on a property value are used to reference other properties. Braces are optional, and should be used when the property name has a space, or when abutting something immediately after property name. Expressions can also reference the vales of other properties using the following prefix operators. Reference
%port or %{port}

Interpretation References the name of the node connected by the terminal T. In the in context view, this name is the hierarchical name of the net. Refers explicitly to another property on the same instance, or in symbol view to another property on the symbol. For example, in the expression AD=$W*6u, the $W refers to the value of a property W on the same device. The reference for a property is first looked for as a User property, and then as a System property. If $P does not exist as either a user or a system sibling property, $P is looked for as a TCL variable. This option corresponds to the Cadence iPar() function.

$P or ${P}

?P or ?{P}

References the parent cell's property, but only looks up one level of the hierarchy. As usual, overridden properties on the instance of the parent have higher priority than the default value on the symbol. In particular, a property value ?P on an instance looks for the property P first on the instance of the parent cell, then on the schematic page containing the instance, then on the symbol of that schematic, and then for a TCL variable. As with the $ reference, at each level, the property is first looked for as a User property, and then as a System property.
(continued)

S-Edit 13 User Guide

121

Chapter 7: Evaluated Properties

Expressions as Property Values

Reference
?P or ?{P}
(continued)

Interpretation Note that in SPICE export mode, parent properties are not expanded as they were prior to the version 12 release, unless: 1) referring to an instance property, 2) the "?" sytax is used, 3) the property exists on the parent view and 4) if the property on the parent view is a system property. For example, consider a symbol of cell BOT instanced in a schematic of cell MID. S-Edit will resolve a property with value ?P on an instance of BOT by looking for a property P as follows: 1 Look for value of property P on the instance of cell MID. This assumes you have navigated in context through an instance of MID and are now looking at a symbol of BOT, or, similarly, are exporting SPICE from a higher level schematic. (The value on an instance of MID is first looked for as an override on the particular instance of MID, and then on the symbol of MID.) Look for a value of property P on the schematic of MID. Look for a value of property P on the symbol of cell MID. (This is not needed when BOT is looked at in a particular context of MID, but provides a default value when MID is opened without context, or as a toplevel cell) Look for a value of property P defined as a TCl variable.

2 3

The ? can be used to iteratively look up the hierarchy. In the above example, cell MID can be instanced in a schematic of cell TOP. The value of property P on the instance of cell MID can be ?Q, and Q could have its value defined on an instance of TOP. This option corresponds to the Cadence pPar() function.
@P or @{P}

References the highest-level definition of P. If we have a cell TOP which contains an instance of MID, which contains an instance of BOT, then the priority order of a property P inside BOT is then (high to low): global, MIDINST.P, MIDSYM.P, BOTINST.P, BOTSYM.P.

TCL Commands in Expressions


In the expression for a property value, a string may be passed to the TCL interpreter for evaluation. Any substring in a property value contained in brackets [ ] is passed to the TCL interpreter; if the result is successful, it is included verbatim, otherwise the TCL error string is included. For example, consider that the following TCL process is defined in S-Edit:
proc size { val } { if {[string compare $val small ]== 0} {return 5} if {[string compare $val large ]== 0} {return 20} return 10 }

An instance (or a symbol) of a cell could have a property A = [ size $B ]. If there is a property B = small on that instance, then property A after substitution of B becomes A = [ size small ], and after TCL evaluation becomes A = 5. Similarly, one could have A = [ size ?B] or A = size @B].

S-Edit 13 User Guide

122

Chapter 7: Evaluated Properties

Expressions as Property Values

Built in TCL functions


S-Edit makes use of some of the built-in TCL functions to evaluate expressions.

Selective Evaluation: se
S-Edit uses the built-in TCL command se to selectively evaluate properties and format the result depending on whether the property is defined or not. The syntax of the command is:
se property true-clause { false-clause }

If the property exists, the true-clause is returned; otherwise, the (optional) false-clause is returned. Because property substitution precedes TCL evaluation in property evaluation, the se function is needed to identify the case where a nonexistent property returns an empty string. For example:
[se $L {L=$L} {L=2u}]

will either evaluate to L=2u or L=<the value of the property L>.

Annotate Port: [annotate port T]


You can use the built in TCL command annotate port to view display certain values of interest on the ports of an instance. These include: Port name Net name DC Voltage DC Current DC Charge

The first two of these are always available to display, the next three depend on values being present from a DC simulation run. To place a property near the desired port use:
Z = [annotate port T]

The key elements of these properties are i) only the property value is important, the property name can be anything, and, ii) the property value contains the string annotate port portname in square brackets, where portname is the name of a port on the symbol. In the preceding example, the square brackets indicate that annotate port T is a TCL function being evaluated.

Displaying Evaluated Properties


You can set which of the annotated property values to display in the work area by selecting from the drop-down menu under the Display Evaluated Properties button on the Spice Simulation toolbar.

S-Edit 13 User Guide

123

Chapter 7: Evaluated Properties

Expressions as Property Values

If annotation values are not visible it may be that the Display service property WhenNotEvaluated is set to hidden or value only (see Service Sub-Properties on page 111).

Viewing Property Values In Context


You can use the Push into Context button when an instance is selected to open a specific instance of a cell. Depending on the object and type of analysis, when you push to deeper levels of the design hierarchy you can see, for example, small-signal parameter values, property values derived from expressions, or operating-point voltages. While thus editing in context, you can only select or edit objects contained in the instance. However, you can continue to push down to lower levels of instances within an instance until you reach a SPICE primitive. Use the Pop Context icon to pop out of the last instance you pushed into until you return to the top level of the cell hierarchy.

S-Edit 13 User Guide

124

Importing and Exporting Netlists and Schematics

Importing a Design
You can import EDIF and SPICE files into S-Edit, and export EDIF, SPICE, Verilog and VHDL files from S-Edit.

Importing SPICE Files


You must have a design open before you can import. The import operation creates a complete project directory for the design.

From file Import target

Specifies the SPICE file to import. Specifies the design, cell, interface view, and connectivity view into which the SPICE file will be imported. If cells of the same name exist in the SPICE file and the design it is being imported to, a check in this box causes the SPICE file to overwrite the views in the existing cell. Choose from T-Spice, HSPICE, PSpice and CDL. When checked, SPICE device characters will be prepended to model names in the netlist.

Overwrite existing views

SPICE format type Prepend device character to model names

Importing EDIF Files


When importing EDIF from third party vendors such as Cadence (Virtuoso) and Mentor Graphics (ViewDraw), S-Edit will automatically translate properties and other entities in the EDIF file to be

S-Edit 13 User Guide

125

Chapter 8: Importing and Exporting Netlists and Schematics

Importing a Design

compatible with S-Edit as described below. Note that Cadence applications usually export some properties to files other than the EDIF file. When this is the case, you must prompt S-Edit to search for those files and place limits on the directories that will be searched. You must have a design open before you can import. The import operation creates a complete project directory for the design.

Note:

Note that standard cell place and route (SPR) in L-Edit requires either a flattened EDIF netlist or one with only one level of hierarchy.

From file Import Target

Specifies the EDIF file to import. Specifies the design into which the EDIF file will be imported. If a library exists in the EDIF file with the same name as the design or one of the libraries of the design, then the contents of that EDIF library will be imported into the design or library of the same name. Libraries in the EDIF file that do not match the design name will be created as new libraries of the selected design. If cells of the same name exist in the EDIF file and the design it is being imported to, a check in this box causes the EDIF file to overwrite the views in the existing cell. Causes S-Edit to analyze the contents of the EDIF file for pin spacing and calculate the best grid spacing and scaling.

Overwrite existing views

Automatically set up grids and scaling

S-Edit 13 User Guide

126

Chapter 8: Importing and Exporting Netlists and Schematics

Importing a Design

Translate Cadence cdsParam properties

Cadence EDIF export places the cdsParam symbol properties in a separate file from the EDIF files called a cdfDump file. When this box is checked, S-Edit searches the directory specified for cdfDump files of the File Extension specified, translates the cdsParam properties and creates SPICE.OUTPUT when an EDIF file is imported from Cadence. Checking Also search subdirectories will do just that for the directory you have entered. The imported properties will be displayed in the standard S-Edit Properties navigator.

Directory containing Cadence cdfDump files

Specifies the location of the Cadence cdfDump file to be used for translating cdsParam properties. S-Edit obtains the appropriate library and cell from the header of the file, and applies the property translation to that cell. Parameter files can contain multiple libraries and cells, separated by headers that indicate the library and cell names for the properties that follow. This field is only used for translation of Cadence cdsParam labels and to create SPICE.OUTPUT properties, and may be left blank for EDIF files from vendors other than Cadence, or if a Cadence database is not available. See EDIF Translations for Virtuoso, below.)

File Extension

When a file extension is entered, S-Edit reads all files with the matching extension, regardless of base filename. When this option is checked, S-Edit will search all directories below the one entered.

Also search subdirectories

An example of the cdsParam file for a NMOS is shown below.


/****************************************************/ LIBRARY = "tsmc18rf" CELL = "pmos2v" /****************************************************/ let( ( libId cellId cdfId ) unless( cellId = ddGetObj( LIBRARY CELL ) error( "Could not get cell %s." CELL ) ) when( cdfId = cdfGetBaseCellCDF( cellId ) cdfDeleteCDF( cdfId ) ) cdfId = cdfCreateBaseCellCDF( cellId ) ;;; Parameters cdfCreateParam( cdfId ?name ?prompt "model" "Model name"

?defValue ?type

"pch" "string"

S-Edit 13 User Guide

127

Chapter 8: Importing and Exporting Netlists and Schematics

Importing a Design

?editable "nil" ?parseAsCEL "yes" ) cdfCreateParam( cdfId ?name "macro" ?prompt "Subcircuit name" ?defValue "iPar(\"model\")" ?type "string" ?display "nil" ?parseAsCEL "yes"

SPICE.OUTPUT Property for Virtuoso


Properties in S-Edit are created from the namePrefix, termOrder, instParameters, and otherParameter properties referenced by Cadence CDF. Given the following properties in the cdfDump file database;
namePrefix M termOrder (D G S) instParameters (m w l ad as pd ps) otherParameters (bn)

the SPICE.OUTPUT property is created as follows:


SPICE.OUTPUT = M${INSTANCE} %D %G %S bn m=$m w=$w l=$l ad=$ad as=$as pd=$pd ps=$ps

EDIF Translations for Virtuoso


These translations are performed on all symbols and instances. Electrical ports with names ending with ! are made global.
cdsTerm(name)

For every cdsTerm label, a property with name ~cds.NNN is created, with value [annotate port name]. Here NNN is a unique integer in the symbol scope. The newly created property is placed at the same location as the original label, with the same orientation and justification. For every cdsName label, set the location and text size of the system property Name to the values of this label. If Translate Cadence cdsParam properties is checked, and a Cadence database directory containing cdfDump files is provided, S-Edit properties are created from the parameter name and value that n references in the appropriate cdfDump file in the Cadence database. Labels containing [@ are converted to properties that reference the corresponding S-Edit properties.

cdsName

cdsParam(n)

NLP label

Property values using the Cadence formats pPar, iPar and atPar that refer to other properties are translated to the S-Edit reference format as follows:
pPar(name) iPar(name) atPar(name)

?name $name @name

S-Edit 13 User Guide

128

Chapter 8: Importing and Exporting Netlists and Schematics

Importing a Design

EDIF Translations for ViewDraw


When S-Edit imports EDIF from ViewDraw it performs these translation: [1] [2] [3] [4] [5] [6] [7] All instances of a cell called 'SPLITTER' are removed, and cell SPLITTER itself is removed. This is a ripper cell that S-Edit does not need. Buses and bus components are renamed to adhere to S-Edit syntax. For example, D<0:7> for a bus, D<1> for a single bit from the bus. The leading '@' is removed from property names. The leading '$' in instance names is replaced with '_'. A SPICE.OUTPUT property is created from the ViewDraw properties PREFIX, PINORDER, and ORDER. A SPICE.PRIMITIVE property is created on a symbol and its value is set to 'true' only if there is a property 'PREFIX' on the symbol. The 'IsInterface' attribute is set to false for 'PINORDER', 'FLATORDER', 'LEVEL' and 'PARNAME'

SPICE.OUTPUT Property for ViewDraw


Properties ORDER, PINORDER and PREFIX in ViewDraw are translated to the S- Edit SPICE.OUTPUT property. Typical properties and values in ViewDraw are:
MODEL = PCH ORDER = MODEL$ L$ W$ AD= AS= PD= PS= PINORDER = D G S B PREFIX = M

These are translated to the S- Edit SPICE.OUTPUT format, as follows:


SPICE.OUTPUT = M${Name} %{D} %{G} %{S} %{B} $MODEL $L $W [se $AD {AD='$AD'}] [se $AS {AS='$AS'}] [se $PD {PD='$PD'}] [se $PS {PS='$PS'}]

Tokens in the ViewDraw ORDER property are translated to the SPICE output property as follows:
name$ translates to $name name= translates to [se $name {name='$name'}]

Tips for Creating a New Design from an EDIF File


If you wish to create a new design from an EDIF file, you should create a design with the same name as the top level or root library in the EDIF file, and then import the EDIF file into that design. The root library is often written near the bottom of the EDIF file with a design ROOT entity as:
(design ROOT (cellRef rootcell (libraryRef rootlibrary)))

S-Edit 13 User Guide

129

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

Where rootlibrary is the name of the root library. The root library is the one nearest the bottom of the EDIF file, so you can also identify the root library by locating the entity library libraryname that is nearest the bottom of the file. Another way to create a new design from an EDIF file is to create a design with any name, import the EDIF file, and save the design and its libraries. Use the Top-level filter in the Libraries navigator to assist in finding the toplevel library. You can then open the toplevel library directly (in this context it becomes the design) and you can delete from disk the placeholder design that you initially created.

Exporting a Design
S-Edit can export your design or any portion of it to 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, directly from S-Edit. S-Edit writes a netlist for the current cell and all of its instances, unless any of these instances contain output properties that describe them as primitive cells. The following sections provide details on S-Edits precise export behavior according to the type of netlist being exported.

Exporting SPICE Files


When you export a SPICE netlist file, you can choose several options related to waveform probing. 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 Exclude .model.

Warning:

Tools > Start Simulation and File > Export SPICE, which both export a SPICE file, are independent

and unsynchronized. It is therefore possible to specify two completely different sets of SPICE output properties for the same cell.

S-Edit 13 User Guide

130

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

To export a SPICE netlist, use the File > Export > Export SPICE command.

To file

Enter or browse to the filename you wish to export. The first time a file is exported during an editing session, the default file location is My Documents. After that it will be the one that was used the last time a SPICE file was exported.

Export Source Export as

Enter the Design, Cell and Connectivity View you want to export.
Top Level Cellidentify this cell as the top level of your design

in the netlist output.


Subcircuit Definitionidentify the netlist as a subcircuit using

the following format:


.SUBCKT name pin1 [pin2 ...] [par1=val1 par2=val2 ...] <subcircuit definition> .ENDS [name]

Export mode Exclude .model

Choose hierarchical or flat. When checked, excludes the .model statement, if any is defined, from the netlist output. This option only applies to designs with cells having connectivity defined by importing a SPICE netlist. When a netlist is imported, a model definition is created internally for primitive devices. To suppress that model definition from being exported as a .model statement, check this box. It is often desirable to exclude the .model statement in the case where such models are included from external library files. (See also .OUTPUT property using TCL on page 133.)

Exclude .end

When checked, suppresses the .end statement in the SPICE output file.

S-Edit 13 User Guide

131

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

Exclude global pins on subcircuits

When checked, global ports are not expanded in subcircuit definitions and calls and instead a .global statement is added to the netlist. Capped nets are excluded because they have a global defintion. Netcaps are ignored. A local net with the same name as a global net will be connected to the global net.

Wrap lines to ___ characters Export control property

Enter the number of characters at which output text will wrap to a new line. Property name containing sub-properties .OUTPUT, .PRIMITIVE, .ORDER, .DEFINITION, .PREFIX, .PINORDER, .MODEL and .PARAMETERS. (See SPICE Export Properties, below.) If blank, S-Edit will use the default SPICE.OUTPUT. Valid separators are space ( ), comma (,), and semicolon (;).

SPICE Export Properties


SPICE export traverses the design hierarchy from the specified cell, and writes a device instantiation or subcircuit instantiation for every instance in the schematic. For each unique subcircuit instanced, it writes a subcircuit definition. The subcircuit definition consists of a subcircuit header, a device or subcircuit instantiation for every instance in the schematic of that subcircuit, and a .ends statement. SPICE netlisting is controlled by the contents of several properties. Typically, these are placed on a symbol, and provide the default netlisting. They might also be overwritten on a per-instance basis, to allow for custom exports. You can specify multiple SPICE properties and the order of SPICE control properties to use, so that if the specified SPICE.OUTPUT and .ORDER does not exist, the export procedure goes on to the next one in the order. This way, if you want to use a SPICE2.OUTPUT on a symbol, you do not have to have a SPICE2 on all of the symbols.

The properties that control SPICE output are:


.OUTPUT property using TCL (page 133)format control property for netlist export .PRIMITIVE property (page 134)netlist export control property to identify primitive elements .ORDER property (page 134)netlist export control property to specify sequential order of

exported lines
.DEFINITION property (page 134)netlist export control property to format subcircuit

declarations These properties must be created as a sub-property of a property. For example, a symbol can have properties where SPICE1.OUTPUT specifies one set of output parameters and SPICE2.OUTPUT can specify a different set of output parameters. Similarly, SPICE1.PRIMITIVE and SPICE2.PRIMITIVE can express different levels at which traversal of the hierarchy should proceed. You would then enter either SPICE1 or SPICE2 in the Export control property to specify which .OUTPUT and .PRIMITIVE properties to use when you export SPICE. In most cases there will be only one set of .OUTPUT and .PRIMITIVE properties. (See Properties Controlling Verilog Export Behavior on page 142 for further information.)

S-Edit 13 User Guide

132

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

Note:

The default Tanner sort order (Tannerbetical) for output properties is first numeric then alphabetic, to yield the sequence 1, 2, 3, 10, 20, 25, 30, 40 (as opposed to 1, 10, 2, 20, 25, 3, 30, 40.)

S-Edit will export a hierarchical SPICE netlist to the specified file according to the following rules: If a cell contains a SPICE.OUTPUT property on its symbol view, S-Edit will interpret the property value and write its interpreted value to the file, followed by a new line. S-Edit will not search the cells schematic views for additional instances.

If the cells symbol view does not contain a SPICE.OUTPUT property, S-Edit: Writes a subcircuit call with the name of the instanced cell. Writes a subcircuit definition by examining the cells instanced on the schematic views in alphabetic order and writing out each instance it encounters. Generates the correct .subckt and .ends lines bracketing each subcircuit. You cannot customize the .subckt or .ends lines; however, you can change the order in which non-global ports are written. If a cell contains instances but no ports or propagated global nets, S-Edit will generate a subcircuit call without ports. If a cell contains no instances but contains ports or propagated global nets, S-Edit will write that cell to the netlist as an empty subcircuit. If a cell contains no instances, ports, or propagated global nets, S-Edit will ignore the instance. S-Edit writes the top-level cell 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.

.OUTPUT property using TCL


The SPICE.OUTPUT property is used to control how instances are written to the SPICE netlist. In particular, the SPICE output property is used to control how terminals, model names, and properties are written in device or subcircuit instantiations. The value of the SPICE output property may contain expressions that reference ports, TCL expressions or other properties. The values of these expressions are then substituted and the results are exported to SPICE. The SPICE.DEFINITION value is always taken from symbol, never from the instance, even if the instance value is more recent. Evaluation is a two-step process where first properties are substituted then inline TCL code is executed. A language equivalent to the general property language is used for SPICE output. Braces are optional, and should be used when the property name has a space, or when abutting something immediately after the token. S-Edit searches user properties first, then system properties. The following may be used:
%{N} ${P}

Substitute the netname connected to pin N. Substitute the value of property P on the same instance as the SPICE.OUTPUT property.

S-Edit 13 User Guide

133

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

?{P}

Becomes just P, and references the property P directly above in the hierarchy. Becomes just P, and references a property P above in the hierarchy, searching from the top of the hierarchy down until the value is reached. A shortcut for all nets connected to the ports of the device in Tannerbetical order. (See Note on page 133.) A shortcut for all the IsInterface=True properties of the device. Pass the string contained in brackets to the TCl interpreter for evaluation. Use empty brackets [ ] to return an empty string if SPICE output is not desired.

@{P}

%%

$$ [ string ]

If the SPICE.OUTPUT property is not required and not present, then a SPICE subcircuit call is emitted, and all interface properties are appended. If SPICE.OUTPUT is present, but expands to an empty string, no output is written.

.PRIMITIVE property
A property SPICE.PRIMITIVE property with value TRUE on an instance causes the traversal to stop at this level of the hierarchy (i.e., the schematic page is NOT exported, nor are any subcircuits instanced in it), and causes no definition to be written for the symbol in question.

.ORDER property
A property SPICE.ORDER with integer value on an instance controls the relative order in which SPICE statements are emitted. Instances are written in increasing SPICE.ORDER value.

.DEFINITION property
The SPICE.DEFINITION property is used in the definition of a subcircuit. Typically, this is a .subckt, with some subset of parameters as shown below.
.SUBCKT name pin1 [pin2 ...] [par1=val1 par2=val2 ...] <subcircuit definition> .ENDS [name]

The SPICE.DEFINITION value is always taken from symbol, never from an instance. S-Edit will take the symbol property and ignore the overwritten instance property.

Quick SPICE Control Properties


Alternately, you can use the following control properties that do not require the full syntax of the .OUTPUT and .DEFINITION properties. If there is a conflict, the SPICE.OUTPUT predominates unless a string contains %% or $$. If %% is present, S-Edit looks for a pin order to use if it exists, otherwise all the pins are written out. Similarly, $$ triggers a search for a parameter list; if one is not found all parameters are written out.

S-Edit 13 User Guide

134

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

.PREFIX property
The SPICE.PREFIX property is used to automatically specify the prefix when writing an instance. For example, the SPICE.PREFIX for a MOSFET would be:
SPICE.PREFIX = M

.PINORDER property
The SPICE.PINORDER property is used to specify the list of pins written for a device or subcircuit instance, and for a subcircuit definition. The pin list for a MOSFET would be:
SPICE.PINORDER = D G S B

Buses may be written in the pin list as either just the name of the bus, or with a specified range in the format <start:stop> or <start:stop:step>. If no range is specified, all signals in the bus are written out in increasing order. For example, a symbol with input bus IN<0:7> and output bus OUT<0:7> and VDD and GND connections.
SPICE.PINORDER = IN OUT<7:0> VDD GND

is equivalent to specifying the following in the SPICE.OUTPUT property:


%{IN<0:7>} %{OUT<7:0>} %{VDD} %{GND}

.MODEL property
The SPICE.MODEL property is used to specify the model name written for a device or subcircuit instance, or for a subcircuit definition. The value of this property is evaluated and written out. For example, use the following to write out NMOS as the model name:
SPICE.MODEL = NMOS

Or, use the following to write the value of the property modelname.
SPICE.MODEL = $modelname

.PARAMETERS property
The SPICE.PARAMETERS property is used to specify the list of parameters written for a device or subcircuit instance, and also for a subcircuit definition. SPICE.PARAMETERS is a list of parameters, such as:
SPICE.PARAMETERS = Prop1= Prop2= Prop3=

This list of parameters will be written as:


Prop1=Prop1_value Prop2=Prop2_value Prop3=Prop3_value

The following rules apply to SPICE.PARAMETERS:

S-Edit 13 User Guide

135

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

An = after a property name indicates that a property is to be written as PropName=PropValue. A $ after a property name indicates that only the property value is to be written. A ~ after a property name indicates that the property is to be written as PropName=PropValue if the property value is not the default (symbol) value. If the property value is the default value, then nothing is written. A string of characters that does not end with = or $ is output verbatim. The = or $ characters may be output using \ as an escape character. \= outputs = and \$ outputs $. If the value does not exist (empty string) nothing is output for that parameter. (This eliminates the need to write properties with the se command.) If the value is an expression (the operators +, -, * or /) then the value is enclosed in single quotes.

Instance Calls
When writing an instance, If SPICE.OUTPUT does not exist, you can construct one internally as follows and then write out the SPICE.OUTPUT (user-specified or internally constructed) according to the substitutions listed.
SPICE.OUTPUT = ${SPICE.PREFIX}${Name} %% ${SPICE.MODEL} $$

Where: [1] [2] If SPICE.PREFIX does not exist, then use X. If %% exists in the SPICE.OUTPUT then, if a SPICE.PINORDER list also exists, use it to expand %%. Otherwise write all pins in Tannerbetical order. If SPICE.MODELdoes not exist, then use MasterCell If $$ exists in the SPICE.OUTPUT then, if a SPICE.PARAMETERS list exists, use it to expand $$, otherwise write all properties with IsInterface=True for $$. For better performance, if the value of the property being written is the default value, then do not write it out.

[3] [4]

Subcircuit Definitions
If SPICE.DEFINITION does not exist, construct one internally as shown below, then write out the definition (either the user-specified or an internally constructed one) with the following substitutions:
SPICE.DEFINITION = .subckt ${SPICE.MODEL} %% $$

Where: [1] [2] If SPICE.MODEL does not exist, then use MasterCell If %% exists in the SPICE.DEFINITION then, if a SPICE.PINORDER list exists, use it to expand %%, otherwise write all pins in Tannerbetical order.

S-Edit 13 User Guide

136

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

[3]

If $$ exists in the SPICE.DEFINITION then, if a SPICE.PARAMETERS list exists, use it to expand $$, otherwise write all properties with IsInterface=True for $$.

SPICE Output Examples Example 1: MOSFET


A MOSFET symbol will typically have the following properties:
SPICE.OUTPUT = M{$Name} %D %G %S %B $MODEL W=$W L=$L AS=$AS AD=$AD PS=$PS PD=$PD SPICE.PRIMITIVE = true

The symbol will also usually have properties for MODEL, W, L, AS, AD, PS, PD. Consider an instance of a MOSFET with he following properties:
MODEL=PMOS W='24*l' L='2*l' AS='114*l*l' AD='72*l*l' PS='60*l' PD='30*l'

The name of the instance is P4, and the drain, gate, source and bulk pins of the instance are connected to QB, Q, Vdd, and Vdd respectively. When the SPICE output statement above is evaluated, the following steps occur: [1] For $Name, substitute the value of the property Name that is on the same instance as the SPICE.OUTPUT property. The property Name typically does not exist as a user property, but does exist as a system property, and is the name of the instance, in this case P4. For %D %G %S %B, substitute the names of the nets connected to ports D, G, S, and B of the instance, in this case QB, Q, Vdd, Vdd. For $MODEL W=$W L=$L AS=$AS AD=$AD PS=$PS PD=$PD, substitute the values of these properties. The SPICE device statement written for this instance will then be:
MP4 QB Q Vdd Vdd PMOS W='24*l' L='2*l' AS='114*l*l' AD='72*l*l' PS='60*l' PD='30*l'

[2]

[3]

The SPICE.PRIMITIVE = true property prevents a subcircuit definition for the MOSFET from being written.

Example 2: MOSFET with Property Substitution


Consider again the SPICE.OUTPUT property for a MOSFET:
SPICE.OUTPUT = M{$Name} %D %G %S PD=$PD %B $MODEL W=$W L=$L AS=$AS AD=$AD PS=$PS

In the above example, the properties MODEL, W, L, AS, AD, PS, PD themselves can use the general property language. For example, the following properties exist on an instance

S-Edit 13 User Guide

137

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

MODEL = PMOS W = '?Width' L = '2u' AS = '$W*3u' AD = '$W*3u' PS = '2*$W + 6u' PD ='2*$W + 6u'

And a property Width =20u exists on the instance of the cell in which the MOSFET is located. The SPICE device statement written for this instance will then be:
MP_4 QB Q Vdd Vdd PMOS W='20u' L='2u' AS='20u*3u' AD='20u*3u' PS='2*20u + 6u' PD='2*20u + 6u'

Example 3: Conditional Output


In the above example, the properties were assumed to always exist. If a property does not exist, the substitution will result in an empty string. This can produce unwanted results in the SPICE output, such as AD= if no value for AD exists. TCL commands can be inserted into the SPICE output string by placing the TCL command in square brackets. The build in TCL command se performs selective evaluation, and can be used to perform conditional output, as in the SPICE.OUTPUT property below:
SPICE.OUTPUT = M{$Name} %D %G %S %B $MODEL W=$W L=$L [ se $AS {AS=$AS} ] [ se $AD {AD=$AD} ] [ se $PS {PS=$PS} ] [ se $PD {PD=$PD} ]

Here, if a property $AS is resolved with value AS_value, then [se $AS {AS=$AS} ] will return AS=AS_value. If $AS does not resolve to anything, because the property AS does not exist, then [se $AS {AS=$AS} ] will return an empty string. Example 4: Controlling Subcircuit Output The SPICE.OUTPUT property can also be used to control the output of subcircuits, as well as of primitive devices. If no SPICE output statement exists on an instance, then the instance is written as a subcircuit instantiation, with the X prefix, and all properties marked as interface properties (sub-property IsInterface=true) are written out. If needed, the output can be explicitly specified:
SPICE.OUTPUT=X${Name} %% ${MasterCell} P1=$P1 P2=$P2

Here Name and MasterCell are system properties referring to the instance name and cell name respectively. %% outputs all the nets connected to the subcircuit ports.

Example 5: Title Block


A title block is an instance that is used to display information about a cell. It references properties and displays information about the cell from which it is instanced. A title block will typically have properties:
Cell = ?{Cell} Info = ?{Info} Author = ?{Author} SPICE.OUTPUT=[ ] SPICE.PRIMITIVE = true

S-Edit 13 User Guide

138

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

The title block uses properties with the ? reference to refer to the parent cell properties. The SPICE.OUTPUT property value [ ] is used to return an empty string, in this case because SPICE output is not desired for this instance.

Passing Subcircuit Parameters to the Originating Cell


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

Steps in the Subcircuit Parameter Passing Process


[1] Open a high-level cell and switch to a symbol view, 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 a schematic view, select an instance of a cell to which you want to pass the parameter, and replace the value of the originating cells property with the name of the property in the instancing, or high-level, cell, whose value you want to pass down the hierarchy. Finally, export a SPICE netlist. S-Edit will include the values of high-level cell properties in the subcircuit definition block of the instanced cell. It will also record property value overrides in instances.

[2]

[3]

[4]

Exporting Global Node Connections


When S-Edit exports a SPICE netlist, it writes out global node connections by adding hidden ports to each cells 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

S-Edit 13 User Guide

139

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

XAND2_2 N4 RED_EW Gnd Vdd GREEN_NS AND2 ... XDFFC1_7 RESETB CLOCK N66 Gnd N65 N66 Vdd DFFC1 .ENDS

Exporting EDIF Files


S-Edit can export EDIF schematics retaining the hierarchy, properties and all text. Use the File > Export > Export EDIF command.

To file Export source

Enter or browse for the name of the EDIF file to be output. Select the Whole design and its libraries you want to export. Or, select Starting From and then specify the Design, Cell, View type and View of the top level view you want to export.
Export schematicoutputs the graphical elements of the design, including all symbols and schematic views, as well as interfaces. Export netlistoutputs the connectivity of the design. Use this option to export a netlist for place and route. Export libraries as externalsoutputs references to the interface

Export options

ports on library elements rather than the entire library. If no option is checked, the output is a list of cells with interfaces. You can select any combination of these export options.
Export control property

Enter the name of the property containing the .PRIMITIVE sub-property used to stop traversal of the design hierarchy.

EDIF export will normally write out an entire design to full extent of the hierarchy. To stop export at a particular instance, place a property with the sub-property .PRIMITIVE having value true on the symbol of the cell, or on each instance of that cell.

S-Edit 13 User Guide

140

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

If a cell's symbol contains an EDIF .PRIMITIVE = true property, S-Edit: Writes an EDIF cell definition for the cell without examining the cell's schematic pages for additional instances. The cell definition will contain ports and global ports. Treats the cell as if it were instanced in the top-level cell.

If a cell does not contain an EDIF PRIMITIVE = true property on its symbol page, S-Edit examines all of the cell's schematic and writes out each instance to the netlist. If the instanced cell contains no ports or propagated global nets, S-Edit ignores the instance. If the instanced cell contains ports but no instances, it is an error. S-Edit writes a message to the netlist file identifying the cell with the error and stating that it requires an EDIF definition. S-Edit also displays a dialog box to warn you 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 name-e.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 cell containing the global node symbol to the level at which the global node is capped. Uncapped global nodes will be written without a scope-that is, Gnd will simply appear as Gnd in the output file. S-Edit will automatically convert any names that are incompatible with EDIF naming requirements to a legal EDIF name using the rename construct.

Example A netlist-only EDIF file that terminates at standard cells, rather than going to transistor level, is desirable when you export EDIF for standard cell place and route. To do this, create a property EDIF.PRIMITIVE = true (the period indicates PRIMITIVE is a sub-property of EDIF) on each standard cell symbol, and then enter EDIF as the Export control property. Usually an EDIF schematic that traverses all the way down the hierarchy is the desired output when you export EDIF to view in another tool. In this case, leave the Export control property blank.

S-Edit 13 User Guide

141

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

Exporting Verilog Files

To file Export source Export all cells Additional commands preceeding netlist Additional commands following netlist Options

Enter or browse for the name of the netlist file to be output. Enter the Design, Cell and Connectivity View you want to export. Check this box to export all cells in a design. Properties in this field are written verbatim after the title block, on a single line. The values in this field are written at the end of the Verilog output. Use the Export global pins on subcircuits checkbox to ignore global ports in the netlist during export so they are not exported as parameters. Enter the Property name containing the .PRIMITIVE sub-property used to stop traversal of the design hierarchy.

Export control property

Properties Controlling Verilog Export Behavior


In some cases, you might want to identify an element which contains a schematic view as a primitive element. This situation most typically arises with standard-cell libraries that contain cells which have transistor-level schematics attached. To identify a cell that contains a schematic as a primitive, such as a NAND cell, place a property on the symbol of the cell with a subproperty named PRIMITIVE and value TRUE, and identify that property

S-Edit 13 User Guide

142

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

name as the export control property in the Export Verilog dialog. Typically you would create a property called VERILOG, with subproperty PRIMITIVE and value TRUE, but any name can be used in place of VERILOG.

VERILOG.OUTPUT
The Verilog exporter is controlled by several user properties including VERILOG.OUTPUT, VERILOG.PRIMITIVE and VERILOG.DEFINITION. The "VERILOG" part of these properties may be substituted by a user-supplied prefix in the File > Export > Verilog dialog. Note that VHDL and SPICE operate the same way. The Verilog output option in S-Edit creates a subcircuit call for every level in the design hierarchy. S-Edit cells 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. If an instance contains a VERILOG.OUTPUT property, the property will be evaluated and exported to the Verilog output file, instead of the default subcircuit call. In the special case of an empty string (obtained by setting the property value to [], which evaluates in TCL to "nothing,") no carriage return should be appended so it's as if the item doesn't exist at all. Like all user properties, VERILOG.OUTPUT is inherited from the symbol definition. VERILOG.OUTPUT is primarily useful for exporting comments, global statements, and special-purpose output statements. The Verilog exporter recognizes two properties on a schematic view and outputs their values when exporting Verilog. The value of VERILOG.PROLOG, similar to Spice.General.AdditionalCommands, is written verbatim after the title block, on a single line. For example, you can use it to instruct the Verilog netlister to add a timescale statement when netlisting. VERILOG.EPILOG outputs the value at the end of the export.

VERILOG.PRIMITIVE
If an instance contains a VERILOG.PRIMITIVE property, the instance is written out as usual, but no definition for the cell is written. Note that it is the presence of the VERILOG.PRIMITIVE property, and not its value, that causes this behavior. To prevent a symbol or cell (for example a title block or VDD or GND cell) from being exported, use
VERILOG.PRIMITIVE = true so a definition is not generated, and VERILOG.OUTPUT = [] so a

subcircuit call is not generated.

VERILOG.DEFINITION
If a symbol contains a VERILOG.DEFINITION property, that property is evaluated and exported, one time, as a definition. This is primarily useful for conditional inclusion of files and/or external models.

VERILOG.MODEL
Lastly, we have a VERILOG.MODEL property that is evaluated and used to replace the cellname in both the defintition and each instance, unless VERILOG.PRIMITIVE, .DEFINITION, or .OUTPUT properties existif they do, they have precedence.

S-Edit 13 User Guide

143

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

Exporting VHDL Files

To file Export source Export all cells Export control property

Enter or browse for the name of the netlist file to be output. Enter the Design, Cell and Connectivity View you want to export. Check this box to export all cells in a design. Enter the Property name containing the .PRIMITIVE sub-property used to stop traversal of the design hierarchy.

S-Edit will write the connectivity information in a design in VHDL format according to the following rules (see also Properties Controlling Verilog Export Behavior on page 142): If an instanced cell contains a VHDL.PRIMITIVE property on its symbol view, S-Edit will write a VHDL entity with an empty behavioral architecture, which you can edit in the VHDL code to provide a behavioral definition. S-Edit will not search the cells schematic views for additional instances. To prevent a symbol or cell (for example a title block or VDD or GND cell) from being exported, use VHDL.PRIMITIVE = true so a definition is not generated, and VHDL.OUTPUT = [] so a subcircuit call is not generated.

If the instanced cells symbol view does not contain a VHDL.PRIMITIVE property, S-Edit: Writes a structural architecture with the name of the instanced cell. Writes a structural architecture by examining the cells instanced on the schematic views and writing out each instance it encounters, plus the connectivity of the instance, so that you can conveniently provide a description in VHDL. Defines the primitive as a VHDL entity with ports defined as std_logic signal ports. If an instanced cell contains no instances, S-Edit will ignore the instance If an instanced cell contains ports but no instances, S-Edit will signal an error and write the cell to the netlist as an entity with empty structural architecture. S-Edit writes the top-level cell as the top-level entity in the VHDL file.

Note:

Unlike other netlist formats, VHDL netlists require that the top-level cell have a valid symbol view, with ports that correspond to its schematic ports. This information is used to define the top-level entity.

S-Edit 13 User Guide

144

Chapter 8: Importing and Exporting Netlists and Schematics

Exporting a Design

Exporting TPR Files


TPR is a flat netlist format you can use to place and route your design in L-Edit.

To file Export source Export control property

Enter or browse for the name of the netlist file to be output. Enter the Design, Cell and View you want to export. Enter the name of the output property, typically simply TPR.

If an instanced cell contains a TPR.OUTPUT property, S-Edit will generate a netlist according to the following rules. It will not examine the schematic for additional instances. The .OUTPUT property can take two values, C and CP, where CP is used exclusively for pad cells. These must have a terminal called Pad. S-Edit generates two lines for the cell and writes them to the file. The first line indicates formal parameters for the instanced cell, 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 cell. The property TPR.OUTPUT can have any prefix, which is then entered in the Export control property field. S-Edit generates scoped names which uniquely identify an instance by including its hierarchical position. For example, top/cell1/cell2/.../instance_name, where cell1, cell2, etc. are the names of the cells in descending order from the top level of the design to the level containing the instance. Global symbol names are scoped to show the hierarchy of instances from the cell containing the global symbol to the level at which the global net is capped. Uncapped global nets will be written without a scopethat is, Gnd will simply appear as Gnd in the output file. If an instanced cell does not contain a TPR.OUTPUT property on its symbol view, S-Edit examines all cells in alphabetic order and writes out each instance to the netlist. If the instanced cell contains no ports or propagated global nets, S-Edit ignores the instance. If the instanced cell contains no instances but contains ports, it is an error. S-Edit writes a message to the netlist file identifying the cell with the error and stating that it requires a TPR definition. S-Edit also displays a dialog box warning of the error.

S-Edit 13 User Guide

145

Scripting with TCL

S-Edit supports the TCL scripting language as a method to enter commands in the Command window, and also to run scripts. When a command in entered in S-Edit through the graphic interface, the corresponding TCL command is issued in the Command window. It is actually the TCL command in the Command window that causes S-Edit to execute the command; text entered into the Command window functions as a script to instantly execute operations.

Text can be written in directly, copied from executed operations and then pasted back into the Command window, or invoked from a saved TCL file. Scripts written in the TCL language can also be dragged and dropped from a browser into the Command window to execute immediately.

TCL Commands Available in S-Edit


A full list of S-Edit TCL commands is available by typing help in the Command window. The available S-Edit commands are listed below. Help on any specific command, as well as a list of subcommands and options, can be obtained by entering the command followed by -help. cell copy cut database delete design document draw duplicate exit export find help import instance label mode netcap paste path point port property redo setup texteditor tsource undo window workspace

Running TCL Scripts


To run a TCL script in S-Edit, you can: [4] Drag and drop the script into the Command window from a browser

S-Edit 13 User Guide

146

Chapter 9: Scripting with TCL

[5] [6] [7]

Invoke File > Open > Execute Script Invoke File > Recent Scripts and select a previously run script. Type source followed by the path and filename for the script, as described in Source Scripts, below. You can also have a script run automatically when S-Edit is opened, when its closed, or when a design is loaded, simply by saving the TCL file in the appropriate directory. (See Launching Scripts Automatically on page 147.)

Source Scripts
Source scripts take the form :
source filename | foldername [-subfolders] [-relativeto user|design] [-mru false|true] filename

Source runs the specified script file. The filename can contain an absolute or relative path. Source runs all scripts in the specified folder in alphabetical order. The foldername can contain an absolute or relative path. Does not recurse into subfolders by default.
-relativeto user

foldername

-relativeto user | design

If a relative path is given, and -relativeto user is specified, the root is


C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts. -relativeto design

If a relative path is given, and -relativeto design is specified, the root is the design folder. If no -relativeto option is specified, then -relativeto user is assumed.
-subfolders

When a foldername is specified, source recurses breadth first into subfolders. (All scripts in the specified folder are run first, in alphabetical order, then subfolders are recurred into in alphabetical order). By default, source filename puts that script into the mru, and source foldername does not put the scripts in that folder into the mru. Specifying -mru false or -mru true allows you to override that behavior. Displays an explanation of command options and syntax.

-mru false | true

-help

Launching Scripts Automatically To Run a Script when S-Edit Launches


To run a script automatically when S-Edit is started, regardless of the design that is opened, place the script in the folder:
C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\startup

S-Edit 13 User Guide

147

Chapter 9: Scripting with TCL

Any design that is opened will run the scripts placed in this startup location. Scripts placed in the folder scripts/open.design within the design folder will be automatically executed only when that specific design is opened.

Running a Script when S-Edit Closes


To run a script automatically when S-Edit is shut down, place the script in the folder:
C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\shutdown

Running a Script when a Design Opens


Scripts placed in scripts/open.design within a design folder will be automatically executed only when that specific design is opened. To run a script when a design is opened, place it in the folder:
C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\open.design

S-Edit creates the open.design folder during installation. Whenever a design is opened in S-Edit, all the TCL scripts in this directory will be executed. File naming is unrestricted, but note that S-Edit reads files in alphabetical order. Thus if you have a required sequence, use file names to control the order in which files in the the open.design folder are executed. If it is just setup definitions that you want to apply locally, you can alternately save your Setup dialog values to the {user preferences folder}, from which S-Edit populates the open.design folder. (See Changing Setup Options on page 24.) For example, if you want to view wires in red in in each design, regardless of the default setting for the file, you would use the Wires field in Setup > Technology > Schematic Colors to select red, make sure that the corresponding checkbox is checked, and then save to your {user preferences folder}. This will save a colors.tcl script to the open.design folder so that every time you load a design, S-Edit will run colors.tcl with the wires set to red.

S-Edit 13 User Guide

148

10

Simulation and Waveform Probing

Tanners schematic and simulation tools are fully integrated to allow AC, DC, or transient analysis of your design, with interactive setup, simulation, and post-processing. The three components of this process are S-Edit, T-Spice, and W-Edit, and there are three primary stages to the simulation flow: In the setup stage, you enter commands and information which describe the type of simulation (DC, AC, transient, etc.), and establish the simulator options and outputs. In the design export and simulation stage, S-Edit generates a SPICE file (a netlist) from the design. Then, T-Spice simulates the SPICE file to create a probing data file with voltage and current values 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. S-Edit can also annotate your schematic with node voltages and device terminal currents and charges.

The SPICE simulation toolbar provides quick access to key functions.


Check view & hierarchy Check view only Highlight net Setup simulation Run simulation Stop simulation Launch T-Spice Probe Voltage Probe Current Probe Charge Display evaluated properties

SPICE Simulation Settings


Before running the T-Spice simulation you must enter some basic settings which will define the type of simulation to be performed and the outputs from the simulation. You enter these values in the Setup SPICE simulation dialog. Note that simulations are performed on the active cell, as opposed to an entire design.

S-Edit 13 User Guide

149

Chapter 10: Simulation and Waveform Probing

SPICE Simulation Settings

Saving and Copying SPICE Simulation Settings

You can easily save or retrieve Setup SPICE Simulation settings (or any other type of cell property) from the Properties navigator. Use the command Save as to save a property set and Load from to copy and run a saved property file, in TCL format. (See also Importing and Exporting Properties on page 116.) The Save as and Load from icons on the Properties navigator toolbar are shown below.

loads a saved TCL property file saves a property tree to a TCL file

General SPICE Settings


The General SPICE simulation settings are described below. Note that unless a location for the output file is specified explicitly in the Simulation Results File Name field, the .out and .dat files are considered temporary and are deleted at the end of the S-Edit session. (The default location for the .out and .dat files is the directory indicated in the SPICE FIle Name field.)

Reference Temperature

Tnom - the nominal or reference temperature at which device model parameters were measured; value may be overridden in individual model definitions using the tnom/tref model parameter. Tnom will also represent the default operating temperature of the circuit. (degrees Celsius) Related T-Spice command: .option tnom=temp

S-Edit 13 User Guide

150

Chapter 10: Simulation and Waveform Probing

SPICE Simulation Settings

Accuracy and Performance

Allows the user to set macro-level switches to control the tradeoff of accuracy versus performance. Valid selections are default, accurate, and fast. The accurate setting will enhance accuracy at some expense of performance. The fast setting will provide faster simulations with some compromise of accuracy. The default setting, which is generally the best setting, balances accuracy and speed. Related T-Spice commands: .option fast and .option accurate A list of additional SPICE commands which will be entered directly in the netlist. (See SPICE Parameters, Options and Additional Commands on page 153.) Select when W-Edit should display the simulation results. Choices: During - Display solutions during simulation with realtime updating After - Display solutions at the end of the simulation Dont Show - W-Edit will not be activated at all Indicate whether node voltage values should be included in the probe data output file. Related T-Spice command: .option probev=true | false Indicate whether device terminal current values should be included in the probe data output file. Related T-Spice command: .option probei=true | false Warning: May cause excessively large output files. Indicate whether device terminal charge values should be included in the probe data output file. Related T-Spice command: .option probeq=true | false Warning: May cause excessively large output files. A list of directories containing the library and include files. You must separate multiple list entries with semicolons. Related T-Spice command: .options search=path A list of semicolon separated files whose contents should be included in the netlist. Include files can be configured in three different ways: 1. To specify an exact path and filename for an include file, enter the full path and filename in the include file field. 2. To specify an include file in, or relative to, the project folder, enter the relative path and filename without quotes, and the full path with filename will be automatically constructed and placed in a .include statement in the SPICE file. 3. To specify an include file in or relative to the folder specified by the search path, enter the relative path and filename in quotes, and relative path and filename will be placed directly in a .include statement in the SPICE file. Multiple include files should be separated by semicolons. Related T-Spice command: .include filename

Additional SPICE Commands

Show Waveforms

Enable Waveform Voltage Probing

Enable Waveform Current Probing

Enable Waveform Charge Probing

File Search Path

Include Files

S-Edit 13 User Guide

151

Chapter 10: Simulation and Waveform Probing

SPICE Simulation Settings

Library Files

A list of semicolon separated model library files and optional section names. Note - libraryname should be quoted if sectionname is included. Library files may be specified in the same three ways as include files. However, with library files there is also the name of the library inside the file that must be specified. The name of the library is placed immediately after the library name. LibfileA LibnameA; LibfileB libnameB; ... This generates SPICE .lib statements that looks like: .lib LibfileA libnameA .lib LibfileB libnameB Related T-Spice commands:
.lib libraryname .lib libraryname sectionname

SPICE File Name

The name of the SPICE file which will be created and simulated when the Simulate command is executed. When the SPICE netlist is generated, all directory and filenames entered in the General Settings dialog will be expanded to refer to fully qualified path names. If this is not the desired behavior, then the name should be entered within quotes. For example, an include file identified as either ./mosis2u.md or mosis2u.md will be written to the SPICE file as designpath\mosis2u.md, where designpath is the directory containing the schematic design. If the filename had been entered as mosis2u.md, then it would not have any pathname expansion performed. Note also that unless a location for the output files is specified explicitly the S-Edit default is to place them in the directory indicated in the this field, where they are considered temporary and deleted at the end of the S-Edit session.

Simulation Results File Name

The name of the output file which will contain T-Spice simulation results, and can be plotted by W-Edit.
Note: Temporary output files (.out and .dat) are removed at the end

of the S-Edit session unless you enter a directory location in this field.
Simulator

Allows selection of different simulators. Choices: T-Spice, other The command or executable name for running the SPICE simulator Additional arguments to be included in the simulator execution command

Simulator Command Command Line Arguments

S-Edit 13 User Guide

152

Chapter 10: Simulation and Waveform Probing

SPICE Simulation Settings

Netlisting Options

Exclude .model

When set to True, .model statements are excluded from the netlist (for example, if you plan to include the netlist file in other SPICE netlists.) When set to True, global ports are not expanded in subcircuit definitions and calls; instead a .global statement is added to the netlist. When set to True, suppresses the .end statement in the SPICE output file. Use this field to specify the SPICE control property used when running simulation and when exporting directly to T-Spice. If left blank, the default is .SPICE.OUTPUT. Wrap long lines to specified number of characters. Negative or zero values will be ignored.

Exclude global pins on subcircuits

Exclude .end

SPICE Export Control Property

Wrap long lines

SPICE Parameters, Options and Additional Commands


The contents of the Additional SPICE commands field are written verbatim at the end of the SPICE file, just before the .end statement. The Parameter setup allows you to enter an arbitrarily long list of parameter assignments. Parameters are name=value pairs which define numeric variables that can be used throughout the SPICE input files, in equations or as model and device parameter values. Related T-Spice command: .param name=value
SPICE options are also entered as name and value assignment pairs. The name can be any valid T-Spice option name, and the value is the numeric or string value of the option.

Related T-Spice command: .option optionname=setting For Parameters and SPICE Options, use the create new delete button to remove one. button to enter a parameter and the

S-Edit 13 User Guide

153

Chapter 10: Simulation and Waveform Probing

SPICE Simulation Settings

DC Operating Point Analysis

Print DC Operating Point

Indicate whether the DC Operating Point bias and AC small-signal information should be written to the output file. Related T-Spice command: .op A list of transient timepoints at which the bias information and AC small-signal data should be printed. Related T-Spice command: .op T0 T1 T2 Save the node voltage values for the DC operating point to a file in a format which can be loaded in subsequent simulations. Computational time may thus be reduced by providing an improved initial guess for voltages in the subsequent runs. Related T-Spice command: .save file=filename Load the bias point information from a previous simulation, and use the node voltage values as the initial guess in the DC operating point computation. Related T-Spice command: .load file=filename

Calculate at Time

Save to File

Load from File

Transient/Fourier Analysis
Fourier analysis can be performed in W-Edit, as well as in T-Spice. There are a number of advantages to performing the Fourier analysis in W-Edit: Sampling density can be adjusted Start and stop times can be varied Windows can be applied in order to reduce the error effects of finite time sampling Results can be computed and plotted interactively, without rerunning the simulation

S-Edit 13 User Guide

154

Chapter 10: Simulation and Waveform Probing

SPICE Simulation Settings

Stop Time

The transient simulation stop time, i.e. the total simulation time. Related T-Spice command: .tran Tstep Tstop The maximum timestep to be taken during the transient simulation. Related T-Spice command: .tran Tstep Tstop The time when simulation results printout will begin. If not set, then the results printout will begin immediately, at time = 0. Related T-Spice command: .tran Tstep Tstop START=Tstart The time increment at which solutions are printed. Related T-Spice command: .option prtdel=step Instructs the simulator to use node voltage initial condition values at startup time 0, rather than computing the DC operating point. Related T-Spice command: .tran Tstep Tstop UIC Select the transient simulation startup mode. Choices: OP - standard DC operating point computation (default) Powerup - voltage and current sources are ramped up Preview - Does not perform an actual transient analysis; for previewing source values. Related T-Spice command: .tran/powerup and .tran/preview True or False. The fundamental frequency about which the harmonic components are computed. Related T-Spice command: .four freq outputs List of voltage and current values for computation of spectral components. Related T-Spice command: .four freq outputs The number of harmonic frequencies for which Fourier components are computed. Related T-Spice command: .four freq outputs nfreqs=N

Maximum Time Step

Print Start Time

Print Time Step

Use Initial Conditions

Startup Mode

Enable Fourier Analysis Fourier Fundamental Frequency

Output Variables

Fourier Number of Harmonics

DC Sweep Analysis (or DC Transfer)


The DC Sweep Analysis dialog permits the user to define up to three levels of sweeping for DC analysis. DC sweeping is also referred to as DC transfer analysis. This analysis computes the DC states

S-Edit 13 User Guide

155

Chapter 10: Simulation and Waveform Probing

SPICE Simulation Settings

of a circuit while a voltage or current source is swept over a given interval. T-Spice allows three or more levels of source sweeping, in which the first source sweep is the innermost loop, and is swept for each value of the second source, which in turn is swept for each value of the third source. In addition to sweeping current and voltage source values, parameter values may be swept in order to yield a DC curve as a function of the parameter value. Parameters are defined in the Parameters section of the setup dialog, and also include the intrinsic temp temperature value, which is the operating temperature of the circuit.

Source 1 (Swept for each value of Source 2): Source or Parameter Name Start Value Stop Value Step

Voltage source, current source, or parameter name to sweep. The beginning value of the sweep variable. The final value of the sweep variable. The value step size for linear sweeps, or the number of points per decade/octave for decade and octave sweeps. The type of sweep. Choices and Associated T-Spice commands: linear (lin) - .DC variable linear start stop increment decade (dec) - .DC variable dec start stop increment linear (oct) - .DC variable oct start stop increment

Sweep Type

Source 2 (Swept for each value of source 3): Source or Parameter Name Start Value Stop Value Step

Voltage source, current source, or a parameter name to sweep. The beginning value of the sweep variable. The final value of the sweep variable. The value step size for linear sweeps, or the number of points per decade/octave for decade and octave sweeps. The type of sweep.

Sweep Type Source 3:

S-Edit 13 User Guide

156

Chapter 10: Simulation and Waveform Probing

SPICE Simulation Settings

Source or Parameter Name Start Value Stop Value Step

Voltage source, current source, or a parameter name to sweep. The beginning value of the sweep variable. The final value of the sweep variable. The value step size for linear sweeps, or the number of points per decade/octave for decade and octave sweeps. The type of sweep.

Sweep Type

AC Analysis

Start Frequency Stop Frequency Number of Frequencies

The beginning frequency. The final frequency. The number of frequency steps - total steps for linear sweeps, or steps per decade/octave for logarithmic sweeps. A list of data The type of sweep. Choices and Associated T-Spice commands: linear (lin) - .AC linear Fstart Fstop Fstep decade (dec) - .AC dec NF Fstart Fstop linear (lin) - .AC oct NF Fstart Fstop

Sweep Data Sweep Type

Noise Analysis

Node Name Reference Node Source

Node at which the total noise is to be computed. Reference node for the nodal voltage (default: GND). Voltage or current source to which input noise is referred.

S-Edit 13 User Guide

157

Chapter 10: Simulation and Waveform Probing

SPICE Simulation Settings

Report Interval

Interval for printing noise report summaries; i.e. print a report every N frequencies.

Related T-Spice command: .noise V(node, ref) source interval

Transfer Function Analysis

Output Variables

The output small-signal variables. This is a list of any valid .print commands; e.g. v(out) i1(mos2) The small-signal input source; i.e. the name of a current or voltage source in the schematic.

Input Voltage or Current Source

Related T-Spice command: .tf outvar invar

Temperature Sweep

Start Temperature Stop Temperature Step Size or # of Steps

The beginning operating temperature sweep value (degrees Celsius) The final operating termperature value The temperature step size for linear sweeps, or the number of points per decade/octave for logarithmic sweeps The type of sweep. Choices and Associated T-Spice commands: linear (lin) - .step temp linear Tstart Tstop Tstep decade (dec) - .step temp dec NT Tstart Tstop linear (lin) - .step temp oct NT Tstart Tstop A list of circuit operating temperatures. All analyses will be rerun for each temperature. (degrees Celsius) Related T-Spice command: .temp T0 T1 T2 ...

Sweep Type

List of Temperatures

S-Edit 13 User Guide

158

Chapter 10: Simulation and Waveform Probing

SPICE Simulation Settings

Note:

The temperature sweep as defined by the four other variables and the List of Temperatures entry will generate two separate temperature variation commands. Typically only one or the other type of temperature variation will be used, not both. Since every type of analysis in the SPICE netlist will be rerun for each temperature point, temperature sweeps should be used judiciously.

Parameter Sweep
The Parameter Sweep analysis dialog permits the user to define up to three levels of parametric sweeping. For each parameter value of the sweep, every analysis command which has been defined will be performed - i.e. for a sweep of length N, there will be N total transient, DC, and AC simulations performed.

Parameter 1 Sweep Definition (Swept for each value of Parameter 2): Parameter Name Start Value Stop Value Step

The first sweep parameter. The beginning value of the sweep variable. The final value of the sweep variable. The value step size for linear sweeps, or the number of points per decade/octave for decade and octave sweeps. The type of sweep. Choices and Associated T-Spice commands: linear (lin) - .step variable linear start stop increment decade (dec) - .step variable dec start stop increment linear (lin) - .step variable oct start stop increment

Sweep Type

Parameter 2 Sweep Definition (Swept for each value of Parameter 3): Parameter 2 Start Value

The second parameter to sweep. The beginning value of the sweep variable.

S-Edit 13 User Guide

159

Chapter 10: Simulation and Waveform Probing

Running Simulations

Stop Value Step Size or # of Steps

The final value of the sweep variable. The value step size for linear sweeps, or the number of points per decade/octave for decade and octave sweeps. The type of sweep.

Sweep Type Parameter 3 Sweep Definition: Parameter 3 Start Value Stop Value Step Size or # of Steps

The third parameter to sweep. The beginning value of the sweep variable. The final value of the sweep variable. The value step size for linear sweeps, or the number of points per decade/octave for decade and octave sweeps. The type of sweep.

Sweep Type

Running Simulations
Once you have defined the simulations you want to run, use Tools > Start Simulation or click on the icon to start SPICE simulation using Tanners T-Spice application. (Use the General page in Setup SPICE Simulation to set whether W-Edit should display the results during simulation, after simulation, or not at all.) If a cell was opened in context after clicking on the Run (green) button, the top level will be simulated (even if this cell has its own simulation settings). To simulate just a lower-level cell you should open it directly from library browser, as opposed to pushing into it from a higher level of the heirarchy. Note that the SPICE control property used when running a simulation ( Tools > Start Simulation) and when exporting directly to T-Spice (File > Export SPICE) are independent; they can have entirely different settings that S-Edit does not synchronize.

Probing Waveforms
Waveform probing allows you to probe nodes and devices in an S-Edit design to examine their circuit simulation results. The process takes place in three stages: [1] In the export stage, you export a SPICE netlist from your S-Edit design file with at least one type of waveform probing enabled in Setup > SPICE Simulation > General so that S-Edit will write .probe commands to the netlist. In the simulation stage, you use T-Spice to simulate the exported netlist. When T-Spice encounters a
.probe command during simulation, it outputs data to the probe data file, a binary file.

[2]

S-Edit 13 User Guide

160

Chapter 10: Simulation and Waveform Probing

Probing Waveforms

[3]

In the probing stage, you select a net or device for analysis using a probe tool. 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.

Using the .probe Command


For additional control of waveform probing, you can manually enter a .probe command in the SPICE netlist, or from the Additional SPICE Commands page of Setup > SPICE Simulation. For example, to cross-probe specified nodes with W-Edit, or to decrease the size of the *.dat file, you can add .probe tran V(nodename) commands so that only the desired nodes wil be output during simulation. Prior to running a simuation you disable all waveform probing, then afterwards enable waveform voltage probing. S-Edit will cross-probe on voltage nodes using the .dat file to W-Edit. Several T-Spice options pertaining to waveform probing may also be set with the .options command. (For more information on the .options and .probe commands, refer to Simulation Commands in the T-Spice User Guide and Reference.)

S-Edit 13 User Guide

161

Chapter 10: Simulation and Waveform Probing

Probing Waveforms

Probing Setup
You must enable at least one of the waveform probing typesvoltage, current or chargefor S-Edit to collect probing data during simulation, by setting the appropriate field to true on the General page of Setup SPICE Simulation.

You can also use the Properties navigator to enter these values.

When available, all types of simulation results (transient, AC, etc.) will be displayed in W-Edit for each probe action. If a probe request is made which cannot be fulfilled, W-Edit will indicate that no current data is available.

S-Edit 13 User Guide

162

Chapter 10: Simulation and Waveform Probing

Probing Waveforms

Probe Tools
The behavior of the probe tool depends on the data included in the simulation and the object being probed. Use Tools > Probe V to probe nets, wires, net labels and ports. Use Tools > Probe I or Probe Q to probe primitive device terminals and subcircuit pins.

All probe tools use a double-click to drill down into the hierarchy. When you reach the level of a primitive, S-Edit displays the small signal outputs.

Probing for Unique Instance PropertiesIn Context Values


You can use the Push into Context button, or double-click using a Probe tool, to open a specific instance. (This operation will yield no results if a cell is not an instance.) Depending on the object and type of analysis, when you push to deeper levels of the design hierarchy to probe within the subcircuit you can see, for example, small-signal parameter values, property values derived from expressions, or operating-point voltages. While editing in context you can only select or edit objects contained in the top level instance. You can continue to push down to lower levels within an instance until you reach a SPICE primitive.

Use the Pop Context icon to pop out of the last instance you pushed into, until you return to the top level of the cell hierarchy. You can also use the push and pop features to trace nets in your design (see Net Highlighting on page 107.)

S-Edit 13 User Guide

163

11

Command Reference

File Menu
Command
File > New > Design File > New > File File > Open > Open Design File > Open > Add Library Open File Execute Script File > Save > Save Design File > Save > Save Design and Its Libraries Save Selected Design/Libraries Save copy of Selected Design/Libraries File > Close > {Design } Remove Library Clsoe File File > Import > Import EDIF Import Spice File > Export > Export EDIF Export Spice Export Verilog Export VHDL Export TPR File > Page Setup File > Print Preview File > Print File > Recent Files File > Recent Scripts File > Exit Ctrl+P Ctrl+S Ctrl+N Ctrl+O

Shortcut

S-Edit 13 User Guide

164

Chapter 11: Command Reference

Edit Menu

Edit Menu
Command
Edit > Undo Edit > Redo Edit > Cut Edit > Copy Edit > Paste Edit > Clear Edit > Duplicate Edit > Capture Window Edit > Select All Edit > Deselect All Edit > Find Edit > Edit-in-Place > Push Into Edit > Edit-in-Place > Pop Out Page Down Page Up Ctrl+A Alt+A

Shortcut
Ctrl+Z, Alt+Back Ctrl+Y Ctrl+X Ctrl+C Ctrl+V Del Ctrl+D

View Menu
Command
View > Fit View > Exchange View > Goto > Goto Previous View > Goto > Goto Next View > Goto > Goto Coordinates View > Zoom > Mouse Zoom View > Zoom > Zoom In View > Zoom > Zoom Out View > Zoom > Zoom to Selections View > Zoom > Pan to Selections View > Pan > Pan Left View > Pan > Pan Right View > Pan > Pan Up View > Pan > Pan Down View > Pan > Edge View > Library Navigator View > Properties Z

Shortcut
Home X

+ W

S-Edit 13 User Guide

165

Chapter 11: Command Reference

Draw Menu

Command
View > View Navigator View > Status Bar View > Command Window View > Activate Command Window View > Toolbars > Standard Draw Segment Electrical SPICE Simulation Locator Mouse Buttons View > Cell View > Cycle View View > Objects > Visible Selectable View > Display > Display Major Grid Display Minor Grid Display Origin Display Evaluated Properties View > Redraw

Shortcut

Space

Draw Menu
Command
Draw > Move By Draw > Force Move Draw > Rotate Draw > Flip > Flip Horizontal Draw > Flip > Flip Vertical Draw > Select Draw > Box Draw > Polygon Draw > Path Draw > Circle Draw > Text Label B P Alt + M R H V

Shortcut

S-Edit 13 User Guide

166

Chapter 11: Command Reference

Cell Menu

Command
Draw > Electrical > Wire Solder Point Connect/Disconnect Net Cap Net Label In Port Out Port In/Out Port Other Port Global Port Property

Shortcut

Cell Menu
Command
Cell > New View Cell > Open View Cell > Copy View Cell > Rename View Cell > Delete View Cell > Page New Page Delete Page Rename Page Previous Page Next Page Open Page Cell > Copy Cell Cell > Rename Cell Cell > Redirect Instances Cell > Update Symbol Cell > Instance I

Shortcut
N O

Setup Menu
Command
Setup > Technology Page > Preferences Page > SPICE Simulation

Shortcut

S-Edit 13 User Guide

167

Chapter 11: Command Reference

Tools Menu

Tools Menu
Command
Tools > Design Checks Tools > Highlight Net Tools > Start Simulation Tools > T-Spice Tools > ProbeV Tools > ProbeI Tools > ProbeQ Tools > User > (User 1...10)

Shortcut

Window Menu
Command
Window > Dockable Window > Auto Hide Window > Hide Window > Floating Window > Close Window > Cascade Window > New Window Window > Tile Window > Arrange Icons Window > Close All Except Active Window > Theme Window > (recently opened files)

Shortcut

Help Menu
Command
Help > Schematic Editor Manual Help > Release Notes Help > Tutorial Help > S-Edit Examples Guide Help > Setup Examples and Tutorial Help > Commuter Licenses Help > Support Help > About S-Edit

Shortcut

S-Edit 13 User Guide

168

Index

SYMBOLS
$P property reference, 121 %port property reference, 121 ?P property reference, 121 @P property reference, 122

C
Cadence CDF properties, 128 cdfDump files, 127 cdsParam properties, 127 cdsParams, 127 functions, 121, 122 property values pPar, iPar, atPar, 128 Virtuoso, 128 callbacks, 112 capping global nodes, 104, 141 cdfDump files, 127 cdsParam properties, 127 cell list, filtering, 63 cells ancestor, 64 child, 64 copying, 53 creating, 52, 53 deleting, 55 descendant, 64 implicit connections, 90 instancing, 54, 64, 86 interface, 41, 42 locking, 32 multiple interfaces, example, 43 multiple symbols, 44 naming constraints, 30 opening, 51, 52, 63 parent, 64 previewing, 63, 64 primitive, 64 renaming, 55 schematic view, 42 selecting all instances, 89 symbol view, 42 top-level, 64, 144 validation, 31 view types, 41 child cells, 64 circles, drawing, 73 colors, in the design window, 26 Command window as a log, 20, 146 excluding messages from, 22

A
AC small-signal data, to the output file, 154 accurate, in SPICE simulation, 151 ancestor cells, 64 annotating ports, 123 arranging windows, docking, 23 arrays, 97, 99 example, 100 autocalculate, to set grid size, 28

B
backup files, design, 45, 50 bias point information, 154 boxes, drawing, 73 bundles, 97, 100 buses, 97 creating, 97 grouping, 98 incrementing, 97 labeling, 97 prefix notation, 98 repeat operator, 98 suffix notation, 98 syntax, 97 two-dimensional, 97 buttons adding to toolbars, 12 creating customized for toolbar, 12 renaming, 12 TCL functions for, 12

S-Edit 13 User Guide

169

filtering content, 22 for executing scripts, 20 formatting display, 21 hyperlinks from, 35 toggling display, 20 commands adding to toolbars, 12 creating customized, 12 renaming, 12 TCL functions for, 12 connection points, 90 connection points, displayed in design window, 90 connectivity checks, 105 coordinates using to edit objects, 77 copying objects in the design window, 82 work area as bitmap, 84

D
DC operating point saving node voltage values, 154 DC operating point analysis, 154 loading bias point information, 154 DC operating point analysis, bias, 154 DC transfer, see DC sweep analysis deleting objects, 84 descendant cells, 64 deselecting objects, 80 automatic deselection, 80 design renaming, 50 design area, 16 design hierarchy ancestor cells, 64 child cells, 64 descendant cells, 64 moving through levels with "push" and "pop", 124 parent cells, 64 viewing, 64 design windows arranging, 58 changing focus with "backward"/"forward", 59 changing focus with "previous"/"next", 59 previous view, 60 redrawing, 59 reuse behavior, 33, 59 designs adding, 63 backup files, 45, 50 backup files for, 50 closing, 50

creating new, 45 file structure, 45 locking, 32 opening, 46, 63 previewing print layout, 57 printing, 56 removing, 63 renaming, 50 saving, 45, 50 device terminal charge, 151 device terminal current, 151 devices replacing, 116 display grid coordinates, 27 minimum feature size, 27 origin point, 27 setting size of, 28 showing or hiding, 60 display units internal units, 27 Draw toolbar, 10 duplicating objects in the design window, 82

E
EDIF files, 125 exporting, 140 importing, 125 SPICE.OUTPUT, 128, 129 translations for Cadence files, 128 translations for ViewDraw files, 129 edit replace, 116 Electrical toolbar, 10 Evaluated properties, 112, 120 displaying, 123 evaluated properties, 113, 120, 123 example cell library, 43 filtering the menu list, 9 interface view, 42 interface views, 43 multiple interface views, 44 multiple symbols, 43 view types, 43

S-Edit 13 User Guide

170

F
fast,in SPICE simulation, 151 file formats text files, 37 Find navigator, 19, 66 flipping objects, 82 for waveform probing, 160 Fourier analysis, 154 Full hierarchy, 64 fundamental frequency, for Fourier analysis, 155

I
implicit connections, 90, 95 include files, netlisting, 151 instances, 85 changing properties in all, 111 converting to different cell, 89 design checks on, 106 hiding, 88 locking, 88 naming constraints, 30 placing new, 88 preventing selection, 88 validation, 31 viewing a specific one, 124 viewing in context, 33 interface cell, 41, 42 design checks on, 107 examples, 43 internal units, 27 interpreted properties, 111 iPar() function, 121

G
global nets, 102, 103 as defined by global ports, 93 capped, 103 naming, 103 propagating, 103 global nodes, 139, 141 capping, 104 exporting, 139 naming, 103 global ports, 128 creating, 101 naming for global nets, 103 global symbols, 102 collisions, 103 naming, 103 grid coordinates, 27 minimum feature size, 27 mouse, 27 origin, 27 setting size of, 28 setup options, 28 snapping, 27 grids showing or hiding, 60

K
keyboard shortcuts adding or changing, 13 keyword groups in text files, 38

L
L corner segment, 71 labels drawing, 74 orientation, 75 repeating, 75 language changing, 33 libraries adding, 44, 46, 63 cross-referencing, 44 different color setups in one design, 26 list of used in design, 45 loading, 46 location, 46 opening, 63 removing, 63 renaming, 50

H
harmonic frequencies, in Fourier analysis, 155 hidden properties, 111 hiding instances, 88 Hierarchy navigator, 18

S-Edit 13 User Guide

171

saving, 50 Libraries navigator, 18, 62 library files netlisting, 152 lines drawing, 73 Locator toolbar, 10 locking instances, 88 locking cells, 32 log files displaying, 20 filtering, 22 where saved, 20 lscroll with the mouse wheel, 34

capping, 104 connection points, 90 design checks on, 106 global, 93, 102, 103 hidden, 103 highlighting, 163 labeling, 95 naming, 90, 95 naming constraints, 30 placeholder, 103 validation, 31 node capping, 141 node caps, 104 node voltage initial condition values, 155 node voltage values, 154 noise analysis, 157

M
major grid setting size of, 28 menu bar, 9 minor grid setting size of, 28 mouse scrolling with the wheel, 34 mouse buttons drawing mode, 71 Mouse buttons toolbar, 11 mouse snapping grid, 27 moving objects, 80 using numeric values, 81

O
object types, 70 origin point, 27 output properties, 111

P
page size overriding, 29 setting, 29 pages frames, 29 size, 29 panning, 61 to a coordinate, 61 with the mouse wheel, 34 parameter sweep, 159 parametric sweep, 159 parent cells, 64 pasting work area as bitmap, 84 pasting objects, 83 paths drawing, 73 performance impact temperature sweep, 159 polygons drawing, 73 pop context, 107, 163 port labels

N
name contraints checking a design for, 106 name validation, 30 naming constraints, 30 customizing, 31 default, 31 TCL files for, 31 net caps, 104 net labels orientation, 75 repeating, 75 netlists exporting, 131 nets, 85, 90

S-Edit 13 User Guide

172

orientation, 75 repeating, 75 ports, 85, 92 adding, 93, 94 annotating, 123 displaying voltage, charge or current, 123 global, 93, 101, 128 graphics, 95 implicit connection, 90 naming, 95 naming constraints, 30 placement, 119 properties, 97 symbolic and schematic correspondence, 95 types, 93 validation, 31 pPar() function, 122 primitive cells, 64 print start time for transient analysis, 155 print time step for transient analysis, 155 probe data file, 160 probing data output file values, 151 data output files device terminal current, 151 nets, 163 pins, 163 subcircuits, 163 to SPICE primitives, 163 voltage, current, charge, 162 product support, 39 project setup folder, 25 properties, 85 adding, 115 as expressions, 109 changing in all instances of a cell, 111 default, 111 default values symbols, 109 defined, 110 displaying, 90 editing from the Properties window, 113 editing from the work area, 88 editing in work area, 88 editing on multiple instances, 89 evaluated, 123 evaluated properties, 89 evaluating "$", 113 hidden, 110, 111 hiding, 90 in SPICE statements, 109 inheriting, 87 interpreted expressions, 111 locked, 89 moving, 89

netlisting, 133 operators for expressions, 120 output, 111 outputting, 111 overriding, 87 overriding in instances, 109 prefixes, 121 selecting from the work area, 88 selecting in the design window, 115 service, 111 SPICE.DEFINITION, 134 SPICE.MODEL, 135 SPICE.ORDER, 134 SPICE.OUTPUT, 133, 139 SPICE.PARAMETERS, 135 SPICE.PINORDER, 135 SPICE.PREFIX, 135 SPICE.PRIMITIVE, 134 sub-properties, 111 system, 111 user, 111 value only, 110 visible, 110 Properties window, 19 property references, 121 push into context, 107, 163

R
replace device, 116 replace symbol, 116 restoring an operation, 84 rotating objects, 81 rubberbanding, 80, 92

S
saving SPICE simulation parameters, 150 scaling for maximum grid size, 28 setting for a design, 27 schematic view cells, 42 screentips, 14 scrolling with the mouse wheel, 34 Segment toolbar, 10 segment types changing, 70

S-Edit 13 User Guide

173

drawing, 70 selecting objects cycling selection, 79 explicit selection, 78 extending selection, 79 implicit selection, 80 implicitly, 80 selection behavior, 35 explicit, 78 extending, 79 implicit, 80 selective evaluations, 123 service properties, 111 setup folder, 45 setup options changing, 24 customizing, 25 display colors, 26 editing cell contents, 32 grids, 28 keyword groups, 38 language, 33 loading, 8 loading from TCL files, 24 mouse wheel, 34 mouse wheel behavior, 34 naming constraints, 30 project setup folder, 25 reusing design windows, 33 saving, 8, 24 saving local settings, 148 selection behavior, 35 TCL files, 31 text file display, 37 text file extensions, 37 text file updates, 36 user preferences folder, 25 Setup values, 150 simulation output file, 152 simulation toolbar, 10 small-signal input source, 158 variables, 158 small-signal parameters probing, 163 snap grid, 27 for solder points, 92 solder points, 92 source sweeping, 156 SPICE additional SPICE commands, 153 exporting as subcircuit, 131 exporting as top level cell, 131 exporting files, 130 files, 125

formats supported in S-Edit, 125 netlists, exporting, 133 options, 153 output options, 132 parameters, 153 saving simulation setups, 150 translation for Cadence, 127 SPICE export controlling order of, 132 SPICE Simulation toolbar, 10 SPICE.DEFINITION, 134 SPICE.MODEL, 135 SPICE.ORDER, 134 SPICE.OUTPUT, 128, 133, 139 exporting properties, 133 in EDIF, 129 properties, 133 SPICE.PARAMETERS, 135 SPICE.PINORDER, 135 SPICE.PREFIX, 135 SPICE.PRIMITIVE, 134 Standard toolbar, 10 startup folder, 30, 31 for button functions, 12 Status bar, 16 step size, in sweep analysis, 156 stop time, for transient analysis, 155 subcircuit definition, 132, 134, 135 passing parameters down the hierarchy, 139 subcircuit parameter passing, 139 subcircuits exporting from netlist, 131 probing, 163 support diagnostics, 40 sweep analysis, 155 symbol view cells, 42 symbol views switching schematics for, 44 symbols creating, 110 creating automatically from schematic views, 110 global, 102 replacing, 116 updating, 110 system properties, 111

T
TCL files built in functions, 123 commands in properties, 122 commands used in S-Edit, 146

S-Edit 13 User Guide

174

editing, 20 executing, 146 filtering events to log, 13, 22 for name validation, 31 log file, 20 opening to edit, 46 opening to execute, 47 running, 20 running automatically, 147 saving and loading setups, 24 source scripts, 147 writing, 146 TCL functions, 123 for evaluating expressions, 123 temperature sweep, 158 text editor local and remote file updates, 36 text files, 45 display options, 37 extentions, 37 external updates, 36 files formats, 37 keyword groups, 38 opening, 46 timestep for transient analysis, 155 title bar, 9 Tnom in SPICE simulation, 150, 153 toolbars adding, 11 creating customized, 11 drawing, 10 electrical, 10 hiding , 11 locator, 10 mouse buttons, 11 renaming, 11 resetting to defaults, 11 segment, 10 simulation, 10 standard, 10 status, 16 tooltips, 14 top-level cells, 64 TPR netlists exporting, 145 transfer function analysis, 158 Transient analysis, 154 transient simulation startup mode, 155

U
undoing an operation, 84 user preferences folder, 25 location, 26 user properties, 111 adding, 115

V
validation of names, 31 values in probe data output file, 151 vectors repeating bits in a vector term, 98 verbosity, 22 Verilog .DEFINITION property, 143 .MODEL property, 143 .OUTPUT property, 143 .PRIMITIVE property, 143 export properties, 143 omitting global parameters during export, 142 output options, 142 Verilog files, 125 VHDL files, 125 exporting, 144 view types examples, 43 interface, 41, 42 ViewDraw properties ORDER, PINORDER, PREFIX, 129 views copying, 53 creating, 52, 86 deleting, 55 naming constraints, 30 opening, 51, 52 renaming, 55 validation, 31 visibility of, 112, 120 voltage source modules, 103

W
waveform display controlling, 151 waveform display, controlling, 160 waveform probing, 160, 162

S-Edit 13 User Guide

175

device terminals, 163 nets, 163 probe data file, 160 properties in context, 107, 163 subcircuits, 163 with .probe in netlist, 161 with SPICE OUTPUT property, 161 wires adding a conection point, 92 attaching,detaching, 92 connecting, 92 disconnecting, 92 drawing, 73, 76, 90 implicit connections, 90, 95 rubberbanding, 92 split automatically, 92 work area, 16, 58 panning, 61 work space settings, 45

Z
zooming, 61 to selected objects, 62 to show all objects, 62 with the keyboard, 62 with the mouse, 62 with the mouse wheel, 34, 62

S-Edit 13 User Guide

176

Credits

Software Development
Seyran Avanesyan Barry Dyne Alexander Ivanov Danl Leviton Nicolas Williams David Cardoze Radoslav Getov Nikita Jorniak Massimo Sivilotti

Quality Assurance
Luba Gromova Lena Neo

Documentation
Judy Bergstresser Ken Van de Houten Barry Dyne

S-Edit 13 User Guide

177

You might also like