You are on page 1of 506

Galaxy Custom Designer

Platform User Guide


Version J-2014.12, December 2014

Copyright and Proprietary Information Notice


2014 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary information that is
the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and may be used or
copied only in accordance with the terms of the license agreement. No part of the software and documentation may be reproduced,
transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without prior written
permission of Synopsys, Inc., or as expressly provided by the license agreement.

Destination Control Statement


All technical data contained in this publication is subject to the export control laws of the United States of America.
Disclosure to nationals of other countries contrary to United States law is prohibited. It is the readers responsibility to
determine the applicable regulations and to comply with them.

Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH
REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys, as set forth at
http://www.synopsys.com/Company/Pages/Trademarks.aspx.
All other product or company names may be trademarks of their respective owners.
Synopsys, Inc.
700 E. Middlefield Road
Mountain View, CA 94043
www.synopsys.com

ii

Galaxy Custom Designer Platform User Guide


J-2014.12

Galaxy Custom Designer Platform User Guide


J-2014.12

iii

iv

Galaxy Custom Designer Platform User Guide


J-2014.12

Contents

1.

2.

Whats New in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xxi

Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xxi

Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xxii

Platform Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Command Input Toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Console Standard Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Custom Designer Platform Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Layout Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Design Phases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Schematic Entry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Schematic Driven Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Design Rule Checking and Layout Versus Schematic Comparison . . . . .

Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Post-Layout Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Platform Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

Design Data Import and Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

Session Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

Display Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

Technology Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

Sessions and Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

Starting Sessions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

Ending Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

Defining Startup Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

Applying Settings through Scope Distribution . . . . . . . . . . . . . . . . . . . . .

19

Contents

3.

4.

vi

Setting Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

Viewing Installed Directories and Files . . . . . . . . . . . . . . . . . . . . . . . . . .

24

Defining Session Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

Entering General Option Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

Managing General Option Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Exporting General Option Settings as Preferences . . . . . . . . . . . . .
Importing General Option Settings Saved as Preferences. . . . . . . .
Purging General Option Settings Saved as Preferences . . . . . . . . .

30
30
31
32

Saving Dialog Box Settings as Preferences. . . . . . . . . . . . . . . . . . . . . . .

33

Specifying Design Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

Specifying Key Bindings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Viewing Available Bindings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying the Active Binding Set. . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Custom Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36
36
38
38

Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

Importing Design Data in GDSII Stream Format . . . . . . . . . . . . . . . . . . . . . . .

41

Supplying Mapping Files for GDSII Stream Format Translation. . . . . . . .


Cell Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Font Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Label Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Layer Mapping Files for Importing . . . . . . . . . . . . . . . . . . . . . . . . . .
Layer Mapping Files for Exporting . . . . . . . . . . . . . . . . . . . . . . . . . .
Object Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Property Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reference Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42
42
42
43
43
44
44
45
46

Performing the Import Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

Importing Design Data in Library Exchange Format . . . . . . . . . . . . . . . . . . . .

50

Importing Design Data in Design Exchange Format . . . . . . . . . . . . . . . . . . . .

51

Importing Design Data in Netlist Text Format . . . . . . . . . . . . . . . . . . . . . . . . .

53

Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

Exporting Design Data in GDSII Stream Format . . . . . . . . . . . . . . . . . . . . . . .

63

Exporting Design Data in OASIS Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

Exporting Design Data in Library Exchange Format . . . . . . . . . . . . . . . . . . . .

73

Exporting Design Data in Design Exchange Format . . . . . . . . . . . . . . . . . . . .

74

Contents

5.

Exporting Design Data in Liberty Library File Format . . . . . . . . . . . . . . . . . . .

74

Exporting Design Data in Netlist Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

General Designing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81

Creating Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

Opening Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

From the Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

From an Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

From the Library Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

Opening a Bookmarked Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

Responding to Warnings while Opening Designs . . . . . . . . . . . . . . . . . .

85

Reopening Recently Opened Designs . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

Navigating Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

Navigating One Instance at a Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

Navigating using Alternate Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

Working on Designs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

Deciding Which Editor to Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

Viewing the Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Zooming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Panning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Redrawing Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overlaying Fill Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Switching to Previous or Next Viewports . . . . . . . . . . . . . . . . . . . . .
Highlighting Layout Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89
90
90
91
91
91
92
92

Executing Design Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Using Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Command Options Toolbar . . . . . . . . . . . . . . . . . . . . . . .
Using Key Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Tcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

94
95
96
96
97

Changing Edit Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98

Discarding Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

Processing Jobs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

Monitoring Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100

Accessing Process Output and Command History . . . . . . . . . . . . . . . . .

100

Viewing Design Summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100

Viewing Component Summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

101

vii

Contents

Saving Your Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.

viii

101

Saving Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

101

Saving Designs with New Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

102

Checking and Saving Individual Design Schematics . . . . . . . . . . . . . . . .

102

Checking and Saving All Designs in Libraries . . . . . . . . . . . . . . . . . . . . .

103

Printing and Plotting Designs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

104

Submitting a Print Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

104

Checking the Print Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

107

Cancelling a Print Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

107

Exporting Design Images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

108

Using Tcl in Tcl Bytecode Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

109

Executing Tcl Received in Tcl Bytecode Format . . . . . . . . . . . . . . . . . . .

109

Exporting Tcl in Tcl Bytecode Format . . . . . . . . . . . . . . . . . . . . . . . . . . .

110

Closing Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

110

General Netlisting and Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

113

Preparing for Basic Netlisting and Simulation . . . . . . . . . . . . . . . . . . . . . . . . .

113

Initializing Simulation Run Directories . . . . . . . . . . . . . . . . . . . . . . . . . . .

114

Preparing Simulation Input Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Viewing Netlists for Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing Netlist Control Templates . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying Netlist Input Options and Commands . . . . . . . . . . . . . . .

115
115
115
117

Loading Simulation Run Directories. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

118

Running Netlisting and Simulation Processes . . . . . . . . . . . . . . . . . . . . . . . . .

119

Setting up and Running Netlisting or Simulation Processes . . . . . . . . . .

119

Rerunning Netlisting and Simulation Processes . . . . . . . . . . . . . . . . . . .

120

Generating Netlists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

120

Simulating Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

121

Viewing Simulation Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

121

Viewing Run Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

121

Viewing Netlist Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

122

Viewing Simulator Output Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

122

Viewing Simulation Results as Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . .

123

Plotting Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

123

Launching New Waveform Viewers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

124

Contents

Viewing Simulation Results in Plot Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.

8.

125

Editing Plot Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

125

Displaying Plot Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

125

Loading Plot Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

126

Saving Plot Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

126

Performing Post-Layout Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

127

About Post-Layout Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

127

Setting Extracted Views through the Hierarchy Editor . . . . . . . . . . . . . . .

128

Setting a Tcl Preference for Finding Extracted Views . . . . . . . . . . . . . . .

128

Design Rule Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

131

Setting Verification Process Node Options . . . . . . . . . . . . . . . . . . . . . . . . . . .

131

Checking for Compliance with Design Rules (DRC) . . . . . . . . . . . . . . . . . . . .

132

Using the IC Validator Tool for Design Rule Checking . . . . . . . . . . . . . . .

132

Using the Hercules Tool for Design Rule Checking . . . . . . . . . . . . . . . . .

138

Using a Mentor Graphics Calibre Tool for Design Rule Checking . . . . . .


Using the Calibre Tool for Design Rule Checking. . . . . . . . . . . . . . .
Using the Calibre Interactive Tool for Design Rule Checking . . . . . .
Debugging the Design using the Calibre Results Viewing Environment

140
141
144
146

Using Custom DRC Jobs for Design Rule Checking . . . . . . . . . . . . . . . .

147

Rerunning Design Rule Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

148

Viewing Design Rule Check Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

148

Debugging the Design using DRC Results . . . . . . . . . . . . . . . . . . . . . . .

149

Layout Versus Schematic Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . .

151

Setting Verification Process Node Options . . . . . . . . . . . . . . . . . . . . . . . . . . .

151

Using Integrated Tools for LVS Comparisons . . . . . . . . . . . . . . . . . . . . . . . . .

152

Using the Calibre Interactive Tool for LVS Comparisons . . . . . . . . . . . . . . . . .

157

Running Calibre Interactive LVS Comparisons . . . . . . . . . . . . . . . . . . . .

157

Tracking Calibre Interactive LVS Comparisons . . . . . . . . . . . . . . . . . . . .

158

Debugging the Design using the Calibre Results Viewing Environment .

158

Using Custom Jobs for LVS Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . .

159

Rerunning Layout Versus Schematic Comparisons. . . . . . . . . . . . . . . . . . . . .

160

Viewing LVS Comparison Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

160

Debugging the Design using LVS Results . . . . . . . . . . . . . . . . . . . . . . . . . . . .

161

ix

Contents

9.

Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

163

Setting Options for Layout Parasitic Extraction . . . . . . . . . . . . . . . . . . . . . . . .

163

Setting LPE Main Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

164

Setting LPE Extraction Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

165

Setting LPE Output Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

168

Setting LPE Custom Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

170

Running or Rerunning Parasitic Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . .

171

Viewing Parasitic Extraction Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

171

Analyzing Extracted Parasitic Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

172

Locating Extracted Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

172

Initializing or Reinitializing Parasitic Source Views . . . . . . . . . . . . . . . . .

173

Viewing or Hiding Capacitance Annotations . . . . . . . . . . . . . . . . . . . . . .

174

Setting Parasitic Query Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

174

Querying Parasitic Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

174

Querying All Nets in a Parasitic View . . . . . . . . . . . . . . . . . . . . . . . . . . . .

177

Performing Parasitic Cross-Probing . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

177

Clearing Cross Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

178

10. Reliability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

179

Specifying Reliability Analysis Results to Use . . . . . . . . . . . . . . . . . . . . . . . . .

179

Browsing Reliability Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

180

Redistributing Bin Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

182

By Threshold Boundaries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

183

By Percentage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

184

By Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

185

11. Static Power Net Resistance Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

187

Specifying the SPRES Results to Use. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

187

Importing the SPRES Results for an Open Design . . . . . . . . . . . . . . . . .

188

Specifying the SPRES Results without an Open Design . . . . . . . . . . . . .

189

Browsing SPRES Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

190

Redistributing Bin Values for SPRES Results . . . . . . . . . . . . . . . . . . . . . . . . .

192

By Lower/Upper Bound (Ohms) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

193

By Resistor Count Percentage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

193

Contents

12. Tools for Designing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

195

Deciding Which Tool to Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

196

Bookmark Manager Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

198

Adding a Bookmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

198

Opening the Bookmark Manager Tool . . . . . . . . . . . . . . . . . . . . . . . . . . .

199

Managing Bookmarks with the Bookmark Manager . . . . . . . . . . . . . . . .


Loading Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Saving Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Renaming Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

199
200
200
200
201

Console Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

201

Design Navigator Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

202

Opening the Design Navigator Assistant . . . . . . . . . . . . . . . . . . . . . . . . .

203

Locating Components with the Design Navigator . . . . . . . . . . . . . . . . . .


Navigating through Components . . . . . . . . . . . . . . . . . . . . . . . . . . .
Listing Components by Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

204
204
206

Renaming Components with the Design Navigator . . . . . . . . . . . . . . . . .

209

Manipulating Components with the Design Navigator . . . . . . . . . . . . . . .

209

Placing Design Areas in Shadow with the Design Navigator . . . . . . . . . .

212

Managing Flight Line Colors with the Design Navigator . . . . . . . . . . . . .

213

Working with Nets in the Design Navigator . . . . . . . . . . . . . . . . . . . . . . .


Adding Nets to Net Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Net Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reporting Information about Nets . . . . . . . . . . . . . . . . . . . . . . . . . .

213
214
214
215

Working with Figure Groups in the Design Navigator . . . . . . . . . . . . . . .


Listing Figure Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operating on Figure Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Showing Synchronous Clone Groups . . . . . . . . . . . . . . . . . . . . . . .
Breaking Synchronization of Cloned Groups . . . . . . . . . . . . . . . . . .
Synchronizing Cloned Groups to Peers . . . . . . . . . . . . . . . . . . . . . .

216
217
218
221
222
223

Device Label Editor Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

224

Opening the Device Label Editor Assistant . . . . . . . . . . . . . . . . . . . . . . .

224

Controlling Device Label Display with the Device Label Editor . . . . . . . .

225

Editing Attribute Labels with the Device Label Editor. . . . . . . . . . . . . . . .

225

Editing Parameter Labels with the Device Label Editor . . . . . . . . . . . . . .

226

Saving and Loading Device Label Settings with the Device Label Editor
Saving Device Label Display Settings . . . . . . . . . . . . . . . . . . . . . . .
Loading Device Label Display Settings . . . . . . . . . . . . . . . . . . . . . .

228
228
228

xi

Contents

xii

Device Palette Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

229

Opening the Device Palette Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . .

229

Adding Favorite Devices to the Device Palette. . . . . . . . . . . . . . . . . . . . .

230

Placing Devices from the Palette with the Device Palette Assistant . . . .

230

Adjusting Device Palette Contents with the Device Palette Assistant . . .

231

Display Resource Editor Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

232

Opening the Display Resource Editor Tool . . . . . . . . . . . . . . . . . . . . . . .

232

Managing Displays with the Display Resource Editor . . . . . . . . . . . . . . .


Creating Display Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing Display Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Renaming Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

233
233
234
235

Managing Display Resources with the Display Resource Editor . . . . . . .


Loading Display Resource Files . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Merging Display Resource Files. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Saving New Display Resource Files. . . . . . . . . . . . . . . . . . . . . . . . .

235
236
236
237

Creating Display Packets and Packet Aliases with the Display Resource
Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Packet Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

237
238
238

Creating Colors, Stipples, and Line Styles with the Display Resource
Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Fill and Outline Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Stipple Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Line Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

239
239
240
240

Estimated Parasitics Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

241

Opening the Estimated Parasitics Assistant. . . . . . . . . . . . . . . . . . . . . . .

242

Adding Devices to the Schematic with the Estimated Parasitics Assistant

242

Querying Resistance Values and Adding from Layout with the


Estimated Parasitics Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

243

Ignoring Estimated Parasitic Devices in a Simulation . . . . . . . . . . . . . . .

244

Hierarchy Navigator Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

245

Opening the Hierarchy Navigator Assistant . . . . . . . . . . . . . . . . . . . . . . .

245

Setting Navigation by Instance with the Hierarchy Navigator. . . . . . . . . .

245

Setting Navigation by Master with the Hierarchy Navigator . . . . . . . . . . .

247

Resolving Context Issues with the Hierarchy Navigator. . . . . . . . . . . . . .

248

Job Monitor Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

248

Opening the Job Monitor Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

249

Viewing Running Job Processes with the Job Monitor . . . . . . . . . . . . . .

249

Applying Job Process Controls through the Job Monitor . . . . . . . . . . . . .

250

Managing Job Options with the Job Monitor . . . . . . . . . . . . . . . . . . . . . .

251

Contents

Adding Job Classes with xt::createJobClass Tcl . . . . . . . . . . . . . . . . . . .


Sample Job Class for Design Rule Checking on Linux Systems . . .
Sample Job Class for HSPICE Simulation on Solaris Systems . . . .

253
253
255

Adding Job Process Waiting with xt::wait Tcl . . . . . . . . . . . . . . . . . . . . . .

256

Library Manager Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

257

Opening the Library Manager Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

258

Viewing Library Attributes through the Library Manager . . . . . . . . . . . . .

259

Copying Library, Cell, and CellView Names in the Library Manager . . . .

260

Creating New Libraries with the Library Manager . . . . . . . . . . . . . . . . . .

260

Controlling Library Availability with the Library Manager Tool . . . . . . . . .


Specifying Library Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Updating Library Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying Component Description Format (CDF) Overlays . . . . . . .

262
262
264
265

Managing Individual Libraries with the Library Manager . . . . . . . . . . . . .


Copying Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Moving Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Updating Library Name References . . . . . . . . . . . . . . . . . . . . . . . . .

267
267
269
270
271

Managing Cells with the Library Manager . . . . . . . . . . . . . . . . . . . . . . . .


Creating Cells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Copying Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Moving Cells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

271
272
273
275
276

Managing CellViews with the Library Manager . . . . . . . . . . . . . . . . . . . .


Creating CellViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Copying CellViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Moving CellViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting CellViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

277
277
278
280
282

Managing Duplicate Name Conflicts with the Library Manager . . . . . . . .

283

Using Cell Categories in the Library Manager . . . . . . . . . . . . . . . . . . . . .


Viewing Cell Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating New Cell Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Managing Cell Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

284
284
284
285

Marker Browser Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

286

Opening the Marker Browser Assistant . . . . . . . . . . . . . . . . . . . . . . . . . .

286

Viewing Error Markers with the Marker Browser . . . . . . . . . . . . . . . . . . .

287

Showing Error Markers by Severity with the Marker Browser . . . . . . . . .

288

Showing Error Markers Added by Integrated Tools with the Marker


Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

288

Updating Error Markers with the Marker Browser . . . . . . . . . . . . . . . . . .

289

xiii

Contents

xiv

Net Tracer Assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

289

Opening the Net Tracer Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

290

Creating a Probe with the Net Tracer . . . . . . . . . . . . . . . . . . . . . . . . . . . .

290

Viewing a Probed Net with the Net Tracer . . . . . . . . . . . . . . . . . . . . . . . .

290

Setting Probe Color with the Net Tracer. . . . . . . . . . . . . . . . . . . . . . . . . .

291

Clearing Probes with the Net Tracer . . . . . . . . . . . . . . . . . . . . . . . . . . . .

291

Filtering Nets by Name with the Net Tracer . . . . . . . . . . . . . . . . . . . . . . .

291

Object Filter Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

292

Opening the Object Filter Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

292

Filtering Schematic Objects with the Object Filter . . . . . . . . . . . . . . . . . .

292

Filtering Symbol Objects with the Object Filter . . . . . . . . . . . . . . . . . . . .

293

Object/Layer Panel Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

294

Opening the Object/Layer Panel Assistant. . . . . . . . . . . . . . . . . . . . . . . .

294

Working with Objects in the Object Layer Panel . . . . . . . . . . . . . . . . . . .

295

Working with LPPs in the Object Layer Panel . . . . . . . . . . . . . . . . . . . . .


Setting the Active Layer Purpose Pair . . . . . . . . . . . . . . . . . . . . . . .
Sorting Layer Purpose Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Making Layer Purpose Pairs Visible and Selectable . . . . . . . . . . . .

297
297
298
298

Working with Layers in the Object Layer Panel . . . . . . . . . . . . . . . . . . . .

299

Managing Object Layer Groups with the Object Layer Panel. . . . . . . . . .


Setting Visibility and Selectability for Object Layer Groups . . . . . . .
Creating Custom Object Layer Groups . . . . . . . . . . . . . . . . . . . . . .
Renaming or Deleting User Object Layer Groups . . . . . . . . . . . . . .
Saving Object Layer Group Settings . . . . . . . . . . . . . . . . . . . . . . . .

301
301
302
303
303

Controlling Via Selection Settings in the Object Layer Panel . . . . . . . . . .

304

Controlling Instance Selection Settings in the Object Layer Panel . . . . .

305

Parameter Definition Editor Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

306

Opening the Parameter Definition Editor Tool . . . . . . . . . . . . . . . . . . . . .

306

Viewing Parameter in the Parameter Definition Editor . . . . . . . . . . . . . . .

307

Adding Parameters with the Parameter Definition Editor . . . . . . . . . . . . .

307

Adjusting Parameters with the Parameter Definition Editor . . . . . . . . . . .

308

Probe Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

308

Opening the Probe Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

309

Cycling through Probed Objects with the Probe Assistant. . . . . . . . . . . .

309

Viewing Probed Object Details with the Probe Assistant . . . . . . . . . . . . .

309

Deleting Probes with the Probe Assistant . . . . . . . . . . . . . . . . . . . . . . . .

310

Contents

Property Editor Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

311

Opening the Property Editor Assistant. . . . . . . . . . . . . . . . . . . . . . . . . . .

311

Finding and Showing Design Properties with the Property Editor . . . . . .

312

Editing and Deleting Design Properties with the Property Editor. . . . . . .

313

Creating New Design Properties with the Property Editor . . . . . . . . . . . .

314

Enabling Zoom Operations while Using the Property Editor . . . . . . . . . .

316

Adjusting Parameters in the Selected Set with the Property and


Parameter Definition Editors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

316

Search and Replace Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

317

Opening the Search and Replace Tool . . . . . . . . . . . . . . . . . . . . . . . . . .

318

Setting Search and Replace Options for the Search and Replace Tool. .

318

Setting the Design Root for the Search and Replace Tool . . . . . . . . . . . .

319

Searching for Design Components with the Search and Replace Tool . .

320

Browsing Component Search Results with the Search and Replace Tool

324

Refining Component Search Results in the Search and Replace Tool . .

326

Replacing Component Aspects using Search Results with the


Search and Replace Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

327

Replacing Values within Search Results with the Search and Replace
Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

328

Checking Whether a Property Exists on an Instance with the Search and


Replace Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

329

Finding Instances with the Default Value of a Given Property with the
Search and Replace Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

330

Replacing Scientific Notation with Equivalent Value with the Search and
Replace Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

330

Finding Instances with a Specific Property Value with the Search and
Replace Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

331

Finding Instances with a Property Not Equal to a Specific Value with the
Search and Replace Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

332

Finding Instances with a Property Value in a Given Range with the


Search and Replace Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

332

Finding Text on Layer Shapes in Layouts with the Search and Replace
Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

333

Finding Via Vector Values with the Search and Replace Tool . . . . . . . . .

334

Finding Vectored Instances with the Search and Replace Tool . . . . . . . .

335

Technology Manager Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

336

Opening the Technology Manager Tool . . . . . . . . . . . . . . . . . . . . . . . . . .

337

Considering Technology Management Options . . . . . . . . . . . . . . . . . . . .

337

Changing the Technology Referenced by a Design Library with the


Technology Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

338

xv

Contents

xvi

Importing Technology Data with the Technology Manager . . . . . . . . . . .

339

Exporting Technology Data with the Technology Manager . . . . . . . . . . .

340

Text Viewer Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

340

Opening the Text Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

341

Viewing Job Process Text with the Text Viewer . . . . . . . . . . . . . . . . . . . .

341

Track Pattern Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

342

Opening the Track Pattern Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . .

343

Viewing Track Patterns with the Track Pattern Assistant . . . . . . . . . . . . .

343

Creating and Editing Track Patterns with the Track Pattern Assistant . . .

344

Copying Track Patterns with the Track Pattern Assistant . . . . . . . . . . . . .

346

Renaming and Deleting Track Patterns with the Track Pattern Assistant.

346

Creating and Editing Definitions with the Track Pattern Assistant . . . . . .

347

Assigning New Definitions with the Track Pattern Assistant. . . . . . . . . . .

349

Transaction History Assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

349

Opening the Transaction History Assistant . . . . . . . . . . . . . . . . . . . . . . .

350

Using the Transaction History List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

351

13. Hierarchy Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

353

Opening the Hierarchy Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

353

Editing Hierarchy Configurations with the Hierarchy Editor . . . . . . . . . . . . . . .

354

Undoing and Redoing Configuration View Modifications . . . . . . . . . . . . .

354

Explaining Found Hierarchy Views. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

355

Importing Attributes from Existing Configuration Views . . . . . . . . . . . . . .

355

Specifying a Template for a Hierarchy Configuration View. . . . . . . . . . . .

356

Using Hierarchy View Name Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . .

356

Setting Hierarchy Editor Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

357

Controlling Viewed Information in the Hierarchy Editor . . . . . . . . . . . . . . . . . .

358

Synchronizing Design and Hierarchy Data . . . . . . . . . . . . . . . . . . . . . . .

358

Showing Hierarchy View Search and Stop Lists . . . . . . . . . . . . . . . . . . .

358

Showing Hierarchy Tree or Cell Views . . . . . . . . . . . . . . . . . . . . . . . . . . .

359

Creating Hierarchy Configurations with the Hierarchy Editor . . . . . . . . . . . . . .

359

Creating Configuration Views from an Existing Design . . . . . . . . . . . . . .

360

Creating Configuration Views as New CellViews . . . . . . . . . . . . . . . . . . .

361

14. HDL Text Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

363

Creating an HDL Text Editor View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

363

Contents

Opening an HDL Text Editor View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

364

Setting HDL Text Editor View Design Options . . . . . . . . . . . . . . . . . . . . . . . .

364

Editing HDL Text Editor Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

367

15. Netlist Format Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

369

Opening Netlist Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

369

Setting Netlist Editor Design Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

370

Working with a Netlist View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

371

16. Custom Windows and Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

373

Configuring Custom Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

373

Starting to Configure Custom Windows . . . . . . . . . . . . . . . . . . . . . . . . . .

374

Adding New Menus and Toolbars to Custom Windows . . . . . . . . . . . . . .

375

Adding New Menu Entries in Custom Windows . . . . . . . . . . . . . . . . . . . .

376

Moving and Deleting Menus and Toolbars in Custom Windows . . . . . . .

377

Preserving Custom Windows for Future Sessions. . . . . . . . . . . . . . . . . .

378

Defining Custom Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

378

Creating Workspaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

379

Saving Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

379

Applying Workspaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

380

Loading Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

380

Resetting Workspaces to System Default . . . . . . . . . . . . . . . . . . . . . . . .

381

17. Custom Graphic User Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

383

Creating a Sample Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

383

Creating a Basic Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

384

Creating Elements for Collecting Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

385

Creating Boolean Input Check Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . .

386

Collecting File Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

387

Collecting Library Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

388

Collecting Input through a List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

389

Creating Mutually Exclusive Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

390

Creating Number Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

391

Creating Text Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

392

xvii

Contents

Creating Grouping Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A.

B.

xviii

393

Creating Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

393

Creating Inline Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

394

Creating Tab Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

395

Creating Checkable Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

396

Creating Push Buttons and Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

397

Creating Push Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

398

Creating Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

398

Creating Elements that Reconfigure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

398

Creating Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

399

Creating Dynamic Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

399

Adjusting Custom Dialog Box Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

400

Tcl Sample: Custom Graphic User Interfaces. . . . . . . . . . . . . . . . . . . . . . .

403

Sample GUI for Creating a Symbol from a Spice Netlist . . . . . . . . . . . . . . . . .

403

Preferences for Sample Creating a Symbol from a Spice Netlist. . . . . . . . . . .

412

Application Note: PDK Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

417

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

418

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

418

Tools Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

418

PDK Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

419

PDKLib attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

419

PDKConfigPath attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

419

Configuration File Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

420

The File Format Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

421

The Process Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

422

The Application Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

423

The Variant Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

423

The pveJob Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

424

The Tool Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

426

The Preference Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

427

The Action Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

430

The Value Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

430

The Item Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

431

Contents

Process and Variant Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

C.

432

Default Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

433

The DRC Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

435

The LVS Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

437

The LPE Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

438

Custom Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

438

The DFM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

440

Attribute Versus Element Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

441

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

443

White Paper: Integrating External Applications . . . . . . . . . . . . . . . . . . . . .

445

Glossary of Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

445

Handshaking with the Custom Designer Platform . . . . . . . . . . . . . . . . . . . . . .

447

Walk-Up with the Custom Designer Platform. . . . . . . . . . . . . . . . . . . . . . . . . .

448

Blocking and Non-Blocking IPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

449

Blocking Mode IPC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

450

Non-Blocking Mode IPC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

451

Recommendation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

451

A Sample Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

452

Using the Sample Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

452

The External Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


The Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Opening a Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Probing a Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Probe an Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Highlighting and Clearing Highlights . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A Label to Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Connection Status Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Window Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Walkup Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sending Commands to the Custom Designer Platform . . . . . . . . . .
The Handshaking Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

453
454
454
456
457
458
458
460
461
461
462
462
464
465

The Tcl Event Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

467

Launching from the Custom Designer Platform . . . . . . . . . . . . . . . . . . . . . . . .

468

Defining a Namespace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

469

xix

Contents

xx

Adding a Menu and Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

469

Action Callbacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

471

Job Callbacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

473

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

477

About This Manual


The Synopsys Galaxy Custom Designer Platform User Guide covers
instructions for using and customizing the Synopsys Galaxy Custom Designer
product platform, for both CAD managers and designers who use the
Schematic Editor and Layout Editor products.

Whats New in This Release


Information about new features, enhancements, and changes, along with
known problems and limitations and resolved Synopsys Technical Action
Requests (STARs), is available in the Custom Designer Release Notes in
SolvNet.
To see the Custom Designer Release Notes, follow these steps:
1. Go to the SolvNet Web page at https://solvnet.synopsys.com.
If prompted, enter your user name and password. If you do not have a
Synopsys user name and password, follow the instructions to register with
SolvNet.
2. In the Search Content area, enter Custom Designer in the SEARCH box.
3. For the SELECT TYPE box, choose Release Notes.
4. Click SEARCH.
5. From the list of release notes, select a release version.

Conventions
The following conventions are used in Synopsys documentation.
Convention

Description

Courier

Indicates command syntax.

Galaxy Custom Designer Platform User Guide


J-2014.12

xxi

Customer Support

Convention

Description

Italic

Indicates a user-defined value, such as object_name.

Purple

Within an example, indicates information of special


interest.
Within a command-syntax section, indicates a default
value, such as:

include_enclosing = true | false


Bold

[]

Within syntax and examples, indicates user inputtext


you type verbatim.
Indicates a graphical user interface (GUI) element that has
an action associated with it.

Denotes optional parameters, such as:


write_file [-f filename]

...

Indicates that parameters can be repeated as many times as


necessary:
pin1 pin2 ... pinN

Indicates a choice among alternatives, such as


low | medium | high

Indicates a continuation of a command line.

Indicates levels of directory structure.

Edit > Copy

Indicates a path to a menu command, such as opening the


Edit menu and choosing Copy.

Ctrl+C

Indicates a keyboard combination, such as holding down the


Ctrl key and pressing the C key.

Customer Support
Customer support is available through SolvNet online customer support and
through contacting the Synopsys support center.

xxii

Galaxy Custom Designer Platform User Guide


J-2014.12

Customer Support

Accessing SolvNet
SolvNet includes an electronic knowledge base of technical articles and
answers to frequently asked questions about Synopsys tools. SolvNet also
gives you access to a wide range of Synopsys online services, which include
downloading software, viewing documentation, and entering a call to the
Support Center.
To access SolvNet:
1. Go to the SolvNet Web page at https://solvnet.synopsys.com.
2. If prompted, enter your user name and password. (If you do not have a
Synopsys user name and password, follow the instructions to register with
SolvNet.)
If you need help using SolvNet, click Help on the SolvNet menu bar.

Contacting Synopsys Support


If you have problems, questions, or suggestions, you can contact Synopsys
support in the following ways:

Go to the Synopsys Global Support site on synopsys.com. There you can


find e-mail addresses and telephone numbers for Synopsys support centers
throughout the world.

Go to either the Synopsys SolvNet site or the Synopsys Global Support site
and open a case online (Synopsys user name and password required).

Help with Designing


You can get user assistance wherever you need it. From any platform location,
click the Help button to get assistance for graphic user interface operations.
Any time you look for user assistance, you can view it as online Help in a
browser, or in PDF format as a manual. In both formats, the information is the
same. You can choose the format that meets your current needs.
For help using the graphic user interface while designing, you can open
documentation pages in the Custom Designer Help collection. You can browse

Galaxy Custom Designer Platform User Guide


J-2014.12

xxiii

Customer Support

the complete set of manuals, or open the exact page with assistance for the
current design context.

To view the Help in PDF format from any page in the Help system, click the
PDF button at the bottom of the page. This opens a PDF of the manual that
covers this design product.

For access to the full Custom Designer Help collection from any window,
choose Help > Custom Designer Help.

For help using tools that are integrated with the Custom Designer platform,
such as HSPICE, CustomSim, and other tools, open the Help menu in any
Custom Designer window and choose Integrated Tool Help and then the
Help entry for this tool. If there is no Help entry for this tool, either the Help
is available only within the tools environment, or your environment is not
configured to run this tool.

For help with an interactive command in an editor window, initiate the


command and then press F1.

For help filling out a dialog box, click the Help button in the dialog box.

For help using an assistant, open the assistants extender menu and click
the green question mark.

Help with Custom Designer Tcl


You can get help with Custom Designer Tcl through both the Console Help
system and the Custom Designer documentation online Help system.
The Console Help system lists syntax and short descriptions. You can use it to
quickly find and execute Tcl commands. The Custom Designer documentation
online Help system lists syntax, long descriptions, and examples, and also
explains Tcl concepts. You can use it to find additional information.
For more information about Help with Custom Designer Tcl, see the Tcl
Reference Manual.

xxiv

Galaxy Custom Designer Platform User Guide


J-2014.12

Customer Support

Help with Versions


You can identify product versions in the current session.

To find the Custom Designer platform version, in any window choose:


Help > About Custom Designer

To find the OpenAccess version, in the Console, enter:


oa::getBuildName [oa::BuildInfoFind oaBase]

Send Feedback About Online Help


A feedback button in online Help lets you send an e-mail to Synopsys with
comments about any Help topic you are viewing. Click Feedback to open the
mail tool in your windowing system. The mail message automatically includes
information to help Synopsys determine what Help topic you were reading. The
message is forwarded to Customer Support, who can file a Synopsys Technical
Action Request (STAR) if appropriate.

Figure 1

Feedback Button in Online Help Menu Bar

Galaxy Custom Designer Platform User Guide


J-2014.12

xxv

Customer Support

xxvi

Galaxy Custom Designer Platform User Guide


J-2014.12

1
1

Platform Overview

Are you new to the Synopsys Custom Designer platform? Start here. The
Galaxy Custom Designer system platform leverages the Synopsys Galaxy
Implementation Platform of products to provide a unified solution for cell-based
and custom designs, thereby enhancing SoC design efficiency and productivity.
Built from the ground up, the Custom Designer platform was architected for
productivity. It is the first-ever custom implementation solution built on an open
architecture supporting interoperable process design kits (PDKs) from leading
foundries. Custom Designer platform tools deliver a common use model for
simulation, analysis, parasitic extraction and physical verification.

In addition to open architecture, the Custom Designer platform bridges the gap
between the historically disparate worlds of digital and custom design. It
enables complete data transparency with the Synopsys IC Compiler physical
implementation solution, allowing the exchange of vital information during
floorplanning, placement, routing, and final chip editing to reduce timeconsuming design iterations.
Read the sections that follow to become familiar with the platform and its tools,
and to learn where to find instructions for using it:

Command Input Toolbar on page 2

Console Standard Toolbar on page 2

Custom Designer Platform Tools on page 3

Design Phases on page 6

Platform Management on page 10

Customization on page 13

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Command Input Toolbar

Command Input Toolbar


Access platform toolbars through the Window > Toolbars menu.
The command input toolbar accepts Tcl commands, and absolute or relative
coordinates, for canvas design operations.

On the command option toolbar (directly below the window menu bar), rightclick the mouse, and choose Command Input.
This toolbar opens at the lower window edge.

See also
Console Assistant on page 201

Console Standard Toolbar


The Console standard toolbar offers quick access for operations performed
from the Console.
Choosing Window > Toolbars > Standard in the Console opens this toolbar.
Table 1 on page 2 lists, and describes, Console standard toolbar buttons.
Table 1

Console Standard Toolbar Buttons

Button Icon

Description

Library Manager

Opens the Library Manager

Create Library

Creates a library

Create CellView

Creates a CellView

Open File

Browses to open a file

Copy

Copies the currently selected text

Paste

Pastes copied text to the current location

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Custom Designer Platform Tools

Custom Designer Platform Tools


The Custom Designer platform directly supports the following Synopsys tools:

Schematic Editor on page 3

Layout Editor on page 4

Schematic Editor
The Galaxy Custom Designer Schematic Editor (SE) tool offers a canvas for
placing and connecting components.

The Schematic Editor has the following benefits:

One unified platform for both cell-based and custom content speeds
complex chip design and integration tasks

Supports a complete block-authoring flow with parasitic resimulation for high


accuracy results

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Custom Designer Platform Tools

Supports the Synopsys CustomSim, Synopsys HSPICE, and Synopsys


Custom WaveView tools for high performance, high-capacity circuit
simulation

Supports flows with the Synopsys Hercules, Synopsys IC Validator LVS,


and Synopsys StarRC tools for industry signoff physical verification

On-canvas editing of parameters and nets improves capture time

Dynamic net highlighting provides fast visual recognition of connectivity to


help eliminate design errors

Smart Connect advanced wiring technology speeds designers through


wiring tasks for faster time-to-completion

See also
The Galaxy Custom Designer Schematic Editor User Guide
More about Custom Designer Platform Tools on page 3
Ready to start designing? See Design Phases on page 6

Layout Editor
The Galaxy Custom Designer Layout Editor (LE) tool offers a drawing canvas
for layout entry, and editing.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Custom Designer Platform Tools

The Layout Editor has the following benefits:

One unified platform for both cell-based and custom content speeds,
complex chip design, and integration tasks

Supports the Synopsys IC Validator, Hercules DRC/LVS, and StarRC flows


for industry signoff physical verification

Supports the IPL Alliances Interoperable PDK (iPDK) libraries for industrywide design data sharing

Provides multiple-layer purpose-pair browsers in a single session when


editing designs in multiple libraries

Powerful, interactive layout automation tools accelerate design completion


through near-DRC clean layout, making post-DRC fixing a trivial task

The Layout Editors Schematic Driven Layout feature (SDL) generates a design
layout from a schematic.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Design Phases

The SDL feature has these benefits:

Correct-by-construction device placement

Interactive point-to-point (P2P) and follow-the-cursor (FTC) routing


technology increases interconnect layout productivity

Real-time connectivity through concurrent device and interconnect LVS


checking

High capacity, and high performance for todays large designs

Batch or interactive rapid ECO update capability

Import from layout capability for accelerated layout porting

See also
The Galaxy Custom Designer Layout Editor User Guide
The Galaxy Custom Designer Schematic Driven Layout User Guide
More about Custom Designer Platform Tools on page 3
Ready to start designing? See Design Phases on page 6

Design Phases
This section lists design phases in order, covers the tools to use at each design
phase, and indicates where to find user instructions.

Schematic Entry on page 7

Simulation on page 7

Analysis on page 8

Schematic Driven Layout on page 8

Design Rule Checking and Layout Versus Schematic Comparison on


page 9

Extraction on page 9

Post-Layout Verification on page 9

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Design Phases

Schematic Entry
Begin a design by placing and connecting its components in a schematic. Edit
properties of components, add pins to define block interfaces for hierarchical
designs, and verify the design for electrical and semantic correctness.
Use the Schematic Editor product, SE, for schematic entry.
See the Galaxy Custom Designer Schematic Editor User Guide for instructions.
Next design phase: Simulation on page 7

Simulation
After schematic entry, you can generate a netlist and simulate the circuit.
You can choose from these netlister formats:

CDL

HSPICE

NanoSim

Cadence Virtuoso Spectre

VHDL

VerilogICC

lvsSPICE

Verilog

You can choose from these integrated simulators:

HSIM

HSPICE

NanoSim

Cadence Virtuoso Spectre

VHDL

Verilog

XA

Use the SE Simulation and Analysis Environment (SAE) to define and work in a
custom environment for netlisting and simulation.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Design Phases

See the Custom Designer Simulation and Analysis Environment User Guide for
instructions.
To perform only basic netlisting and simulation, see General Netlisting and
Simulation on page 113 in this manual for instructions.
Next phase: Analysis on page 8

Analysis
After simulation, you can perform circuit analysis.
You can use these Synopsys products for analysis, available separately:

CustomExplorer

Custom WaveView

CustomExplorer Ultra

See the documentation supplied with each product for instructions.


Next phase: Schematic Driven Layout on page 8

Schematic Driven Layout


After analysis, you can generate and develop the layout.
1. Use the LE Plus Schematic Driven Layout feature, SDL, to generate the
layout.
See the Galaxy Custom Designer Schematic Driven Layout User Guide for
instructions.
2. Use the Layout Editor to develop the layout.
See the Galaxy Custom Designer Layout Editor User Guide for instructions.
3. (Optional) Draw signal path routes automatically or interactively after you
create the layout. Use the Galaxy Custom Designer Custom Router tool.
See the Galaxy Custom Designer Custom Router User Guide for
instructions.
4. (Optional) Co-Design using the Synopsys IC Compiler tool to develop
mixed signal regions.
See the Galaxy Custom Designer IC Compiler Co-Design (ICC-CD) User
Guide for instructions.
8

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Design Phases

Next phase: Design Rule Checking and Layout Versus Schematic Comparison
on page 9

Design Rule Checking and Layout Versus Schematic


Comparison
After you generate and develop the layout, you can verify the expected
behavior of its components.
Verify component behavior by setting up and running processes for design rule
checking (DRC) and layout versus schematic comparison (LVS).
Choose from these DRC and LVS tools integrated with the Custom Designer
platform:

Synopsys IC Validator tool

Mentor Graphics Calibre and Calibre Interactive tools

Synopsys Hercules tool

See Design Rule Checking on page 131 and Layout Versus Schematic
Comparison on page 151 for instructions.
Next phase: Extraction on page 9

Extraction
After DRC and LVS processing, you can perform layout parasitic extraction
(LPE).
Use the StarRC product and your LVS results to perform extraction.
See Extraction on page 163 for instructions.
As part of this phase, you can also perform post-layout simulation, which uses
the OpenAccess output from the parasitic extraction process.
See Performing Post-Layout Simulation on page 127 for instructions.
Next phase: Post-Layout Verification on page 9

Post-Layout Verification
After layout parasitic extraction, you can perform post-layout verification.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Platform Management

See Design Rule Checking on page 131 and Layout Versus Schematic
Comparison on page 151 for instructions.

Platform Management
Manage the platform by controlling session settings, creating a custom design
work environment, managing display resources, managing the technology used
for designs, and importing and exporting design data.
For more information about these topics, see:

Design Data Import and Export on page 10

Session Settings on page 11

Customization on page 13

Display Resources on page 11

Technology Management on page 12

Design Data Import and Export on page 10

Design Data Import and Export


You can import and export design data in a variety of standard formats.
Import formats and data include:

IC Compiler format

GDSII Stream

Library Exchange (LEF)

Design Exchange (DEF)

Netlist Text

Export formats include:

10

IC Compiler format

GDSII Stream

Library Exchange (LEF)

Design Exchange (DEF)

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Platform Management

Liberty File

Netlist

For detailed instructions, see Import on page 41 and Export on page 63.
For information about performing batch translation of design libraries to and
from the Synopsys IC Compiler tool environment, see the Galaxy Custom
Designer IC Compiler Co-Design (ICC-CD) User Guide.
For more information about designing by using both the Custom Designer
platform and the IC Compiler tool, see the Galaxy Custom Designer IC
Compiler Co-Design (ICC-CD) User Guide.

Session Settings
You can manage session settings to create a standard startup process and
initial design environment for both individual designers and groups.
These are the available session settings:

Environment variables

General options, for example, cursor double-click speed, the designated text
editor, and whether to apply infix mode

Preferences that predefine input values for dialog box entry fields and
design operations

Bindings (bindkeys, key bindings) for shortcuts to keyboard and mouse


operations

These are the ways you can control the application of settings:

You can apply settings at different distribution scopes, from the current
working directory to the project site.

You can apply settings at startup to make them automatically available for
every design session.

For details, see Defining Startup Settings on page 19.

Display Resources
You can use display resources to determine the visual appearance of a design
on different output devices, from monitors to plotters.

Galaxy Custom Designer Platform User Guide


J-2014.12

11

Chapter 1: Platform Overview


Platform Management

Using the Display Resource Editor, you can perform these operations:

Define visual attributes such as colors, stipples, or line styles

Define a display packet that represents a set of visual attributes

Associate a display packet with a layer purpose pair (LPP)

Create a packet alias when you want to alter a packets visual attributes from
those listed in the technology file, but not overwrite them

Load new, save changed, and merge two sets of display resources

For details, see Display Resource Editor Tool on page 232. For information
about supplied display resource files, see the Custom Designer Technology
File and Display Resource Reference Manual.

Technology Management
You can manage the technology data offered in design sessions.
Using the Technology Manager, you can:

Add a technology database

Switch the technology referenced by a library to a different technology

Transfer technology data from a library to an existing or new technology file

For details, see Technology Manager Tool on page 336. For more information
about supplied technology files, see the Custom Designer Technology File and
Display Resource Reference Manual.

12

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 1: Platform Overview


Customization

Customization
You can customize the Custom Designer platform for a seamless design
experience.

You can create custom windows and workspaces.


Add, rearrange, and delete menus, toolbars, and assistants within a window
and save this new arrangement as a custom window.
Arrange a set of windows, platform design tools, and assistants within a
screen display and save this arrangement as a custom workspace.
See Custom Windows and Workspaces on page 373 for instructions.

You can add graphic user interface elements for individual design operations
and integrated tools.
See Custom Graphic User Interfaces on page 383 for instructions and
Appendix A on page 403 for Tcl samples.

You can customize access to process design kits.


See Appendix B on page 417 for instructions.

You can add access to additional design tools.


See Appendix C on page 445 for instructions.

Galaxy Custom Designer Platform User Guide


J-2014.12

13

Chapter 1: Platform Overview


Customization

14

Galaxy Custom Designer Platform User Guide


J-2014.12

2
Sessions and Settings

Start design sessions from a terminal prompt. End sessions from the Custom
Designer Console. You can define settings that apply at startup. You can define
settings that the system saves automatically for future sessions. You can define
settings that apply only for this session. You can apply settings you have defined
at one of several design scopes, from your local directory to an entire project.

This chapter covers Custom Designer platform design sessions:

Starting Sessions on page 15

Ending Sessions on page 18

Defining Startup Settings on page 19

Defining Session Settings on page 25

When you are ready to design, see General Designing on page 81. To import
data first, see Import on page 41.

Starting Sessions
Start a session when you are ready to use the Custom Designer platform.
To start a Custom Designer session, enter this command at a terminal window
prompt to open the Custom Designer Console window (Figure 2):
cdesigner [-help] [-libDefFile <string>] [-command \
[-replay <string>] [-logName <string>]

Galaxy Custom Designer Platform User Guide


J-2014.12

<string>]

15

Chapter 2: Sessions and Settings


Starting Sessions

The Custom Designer Console window opens.

Figure 2

The Custom Designer Console Window

All arguments for the cdesigner command are optional. You can use them
when you want to start the session with different settings from those specified
for this design site.
Table 2 on page 16 lists and describes basic session startup command-line
options.
Table 2

16

Session Startup Command-Line Options

Option

Description

-help

Reports the startup command usage statement and argument


list

-libDefFile

filePath to a library definition file referencing libraries to use in


this session (Optional: Overrides the default lib.defs file)

-command

A Tcl command to execute after startup

-replay

filePath to a log file to replay

-logName

fileName (not a path) to override the default log file

-numThreads

Sets the maximum number of threads to use in multithreaded


parts of Custom Designer

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Starting Sessions

Table 2

Session Startup Command-Line Options (Continued)

Option

Description

-dynamicThreads

Determines whether the number of threads will be modified


depending on the load on the system

-loadAll

Custom Designer defers the initialization of some subsystems


until a command is given that requires that subsystem. This
speeds up the initial startup of the tool. However, you might
have scripts that refer to data or objects that are defined when
the subsystem is initialized, causing these scripts to fail. Set
-loadAll true to change the deferral of initialization so that
scripts that run at startup will not be affected

-lakerLicense

Permits using Laker licenses to access some Custom


Designer features.

At startup, the system loads prefs.xml and bindings.xml files to populate the
session with the proper preference and binding values for each scope. For
more information about preferences and bindings, see Defining Session
Settings on page 25.
The Custom Designer online Help system opens in the default browser for this
machine. To set it to open in a specified browser, use the deHelpViewer
preference.
For example, to set the browser to Firefox, set the deHelpViewer preference
value to firefox, as shown in the example that follows.
db::setPrefValue deHelpViewer value firefox

Galaxy Custom Designer Platform User Guide


J-2014.12

17

Chapter 2: Sessions and Settings


Ending Sessions

See also
More about Sessions and Settings on page 15

Ending Sessions
To end a Custom Designer session, choose one of these options:

To end the session and be prompted to save designs, preferences,


bookmarks, and display resource changes, from the Console choose File >
Exit.

The Custom Designer Exit dialog opens.

Figure 3

The Custom Designer Exit Dialog

In the Exit dialog box, you can save current settings by choosing Save State
and then using the check boxes to save preferences, bookmarks, and
display resources.

18

To end the session and discard all edits, bypass the Exit dialog box, and
close all windows, type exit -force at the Console input line.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Startup Settings

See also
More about Sessions and Settings on page 15

Defining Startup Settings


Define and apply startup settings to control the work environment for all product
users. Use Tcl scripts and environment variables to apply settings at startup.
To apply settings effectively, you also need to understand the installed directory
structure.
These sections cover:

Applying Settings through Scope Distribution on page 19

Setting Environment Variables on page 22

Viewing Installed Directories and Files on page 24

Applying Settings through Scope Distribution


Apply settings through scope distribution to control settings throughout the
design site.
Two mechanisms apply settings at startup.

The default Tcl startup scripts within the installed directory structure apply
settings for menus, actions, and other items. There is no customization
offered within the install directory structure.

A set of directories you create can apply custom settings with custom Tcl
startup scripts. You can vary the distribution of these settings by using
custom scopes.

Galaxy Custom Designer Platform User Guide


J-2014.12

19

Chapter 2: Sessions and Settings


Defining Startup Settings

To apply settings through scope distribution:


1. Add custom Tcl startup files at selected distribution scopes. Table 3 on
page 20 lists the Tcl startup files you can add.
Table 3

Custom Tcl Startup Files

Tcl Startup File

Available Distribution

How to Customize

display.tcl

All scopes plus user


home scope (~)

For each scope, you can create a


custom version of this file. Refer to
the supplied install directory version
for assistance.

startup/startup.tcl

All users of this feature


package. Every package
has a startup.tcl file.

For each feature package, you can


create a custom version of this file.
Refer to the supplied install directory
version for assistance.

.cdesigner.tcl

All scopes plus user


home scope (~), except
user scope.

Create this file. It can contain any Tcl


commands you want executed and
any preferences you want applied at
startup. For example, you can set
window positions and sizes, and
identify window assistants to open
automatically on startup. (See
Defining Custom Workspaces on
page 378.) Using this file does not
require consideration of the structure
of the install tree.

2. Create a set of directories to hold the custom Tcl startup files, one directory
for each distribution scope you want to use.
These directories should be separate from the Custom Designer installed
directory structure.
Table 4 on page 21 lists in search order all scopes that are searched at
startup, if the scope is implemented with a directory.

20

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Startup Settings

The install scope is supplied with the Custom Designer tool.


Table 4

Scopes

Scope

Description

install

Product installation directory. (No customization at this location.)

site

Supplies custom settings for all users.

project

Localizes settings to the current project or workspace.

user

Localizes settings to the user home directory level. By default, this


is a .synopsys_custom directory under the user's home
directory.

local

Localizes settings to the current working directory. By default, this


is the directory where the session was started.

For example, Table 5 on page 21 lists sample directories for all scopes and
the Tcl startup files they can contain.
Table 5

Sample Directories for All Scopes

Sample Scope

Tcl Startup Files

Contents

custom_site

startup/startup.tcl

High level startup operations; can


call other startup files

display.tcl

Display resources

.cdesigner.tcl

Any Tcl commands and preferences

startup/startup.tcl

High level startup operations; can


call other startup files

display.tcl

Display resources

.cdesigner.tcl

Any Tcl commands and preferences

startup/startup.tcl

High level startup operations; can


call other startup files

display.tcl

Display resources

custom_project

custom_user

Galaxy Custom Designer Platform User Guide


J-2014.12

21

Chapter 2: Sessions and Settings


Defining Startup Settings

Table 5

Sample Directories for All Scopes

Sample Scope

Tcl Startup Files

Contents

user_home (~)

display.tcl

Display resources

.cdesigner.tcl

Any Tcl commands and preferences

startup/startup.tcl

High level startup operations; can


call other startup files

display.tcl

Display resources

.cdesigner.tcl

Any Tcl commands and preferences

custom_local

To use all four scopes, you can create four directories and add Tcl startup
scripts to each for sourcing. You can use this table to plan the distribution of
settings.
For example, to offer the same preference settings to all designers, apply
them at the site scope. To supersede these settings with a unique collection
of settings across all user directories for a project, apply them at the project
scope. To apply settings across working directories for one user, apply them
at the user scope. To apply settings only for one user session in the directory
where the session was started, apply them at the local scope.
See also
More about Sessions and Settings on page 15

Setting Environment Variables


Set environment variables to create a custom environment at startup. You can
use environment variables instead of scopes for applying settings, and you can
use them to override any scope settings for this session.
Here is the statement format for setting an environment variable:
setenv <environment_variable_name> = <value>
Here are the supplied environment variables and their descriptions.
$EDITOR
Scope: All

22

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Startup Settings

Default: xterm -e $EDITOR


Description: Designates the text editor to offer to the designer. You can
alternatively set the editor when you are Defining Session Settings on
page 25.
HOME
Scope: home
Default: ~
Description: Legacy files (lib.defs, display.drf), .cdesigner.tcl
SYNOPSYS_CUSTOM_INSTALL
Scope: install
Default: <product_ installation_ directory>/auxx
Description: Custom Designer executable defines this variable
SYNOPSYS_CUSTOM_LOCAL
Scope: local
Default: Current working directory
Description: Startup, Preferences, Bindings, Display Resources, Log Files,
Bookmarks, Favorite Devices, and so on.
SYNOPSYS_CUSTOM_PLATFORM
Scope: site
Default: Platform detected by product wrapper script at startup
Description: Designates the machine type to run the Custom Designer tool
(for example, linux or amd64). The tool uses this value to load architecturespecific compiled libraries, for example, OpenAcess, Qt, and Tcl. Valid
values for this environment variable are linux, amd64, suse32, and suse64.
SYNOPSYS_CUSTOM_PROJECT
Scope: project
Default: No default
Description: Startup, Preferences
SYNOPSYS_CUSTOM_SITE
Scope: site
Default: No default

Galaxy Custom Designer Platform User Guide


J-2014.12

23

Chapter 2: Sessions and Settings


Defining Startup Settings

Description: Startup, Preferences


SYNOPSYS_CUSTOM_USER
Scope: user
Default: ~/.synopsys_ custom
Description: Startup, Preferences
SNPS_BROWSER
Scope: install
Default: firefox
Description: Searches for the browser associated with the Synopsys Help
browser variable, SNPS_BROWSER. The value is a browser executable
with a full pathname. For more information, in any window choose Help >
Custom Designer Help > Using Help.
TMPDIR
Scope: temp
Default: /tmp
Description: Standard temporary directory.
See also
More about Sessions and Settings on page 15

Viewing Installed Directories and Files


View installed directories and files to see the installation hierarchy and to locate
the files you can refer to when you customize the startup process for session
management.
Table 6 on page 24 shows the product installation directory structure.
Table 6

Custom Designer Product Installation Directory Structure

Directory

24

Subdirectory

Startup Files

Description

bin/cdesigner

Startup script that locates the


platform-dependent binary and
executes it.

auxx/

Auxiliary directory

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Session Settings

Table 6
Directory

Custom Designer Product Installation Directory Structure


Subdirectory

Startup Files

cdesigner/

Description

Contains startup scripts


init.tcl

<package>/

Initializes the environment


Contains feature description and
support files. Multiple packages are
supplied.

startup.tcl

Initializes this feature package

help/

Documentation files for online Help


system; includes PDFs

fonts/

Application-specific fonts

images/

Icon pixel-maps and images

samples/

Common samples library

tech/

Base technology file

display.tcl

Base display.tcl file

examples/

Example scripts provided by


Synopsys for customer use

See also
More about Sessions and Settings on page 15

Defining Session Settings


Define session settings to control general and specific system behaviors during
design sessions. You can control settings for general options used in all
sessions, such as the cursor double-click speed. You can control specific
settings for only this session, for example, the values you enter in a dialog box
for a process you want to run once. You can use the same dialog box settings in
future sessions by saving them as dialog box preferences. In addition to dialog

Galaxy Custom Designer Platform User Guide


J-2014.12

25

Chapter 2: Sessions and Settings


Defining Session Settings

box preferences, the system supplies design preferences you can use for
nearly every design operation. Use these design preferences by either entering
them in the Console, or using them in scripts.
Note that some applications use nti_shell and sae_shell for background jobs.
The startup files read by these processes is not the same, so you might need to
put some customization in multiple files. For examples, see the custom
calculator functions as described in the Galaxy Custom Designer Expression
Language Reference Manual, "Structuring the Custom Calculator Function
Code" section.
These sections cover:

Entering General Option Settings on page 26

Managing General Option Settings on page 30

Saving Dialog Box Settings as Preferences on page 33

Specifying Design Preferences on page 35

Specifying Key Bindings on page 36

Entering General Option Settings


Enter general option settings preferences to designate the basic behavior of
the interface. After you enter general option settings, you can manage their
application and distribution. (See Managing General Option Settings on
page 30.)
To enter general option settings:
1. From the Console, choose Options > General.

26

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Session Settings

The General Options dialog box opens.

Figure 4

General Options Dialog

2. Enter options as described in Table 7 on page 27.


Table 7

General Option Settings

Option Group

Description

Interface

Active Binding Set determines the set of key bindings (bindkeys)


for the session. Options are Custom Designer, Maestro, and IC
Compiler. Default is Maestro.
Double Click Speed defines the time, in milliseconds, between
mouse clicks to constitute a double-click. Default is 300.

Galaxy Custom Designer Platform User Guide


J-2014.12

27

Chapter 2: Sessions and Settings


Defining Session Settings

Table 7

General Option Settings (Continued)

Option Group

Description

Recent Designs sets the number of recently opened designs to be


listed under Design > Open Recent. Default is 5. Maximum is 25.
Pattern Matching using Partial Match enables file-name matching
from part of a pattern (for example, in the Design Navigator,
entering OU filters for net names that include this two-character
string); using Wildcard enables wildcard matching (for example,
U*T filters for net names with any character between the U and the
T); using Regular Expression enables pattern matching based on
regExp syntax. See the Tcl Reference Manual for a description of
valid regular expressions.
Display Scrollbars displays scrollbars in editor windows (only).
Display Large Icons displays all icons at the maximum 24 x 24
pixel size.
Editing

Descend using Reuse Window replaces current window contents


during descend operations. New Window opens each design
instance master in a new window.
Text Editor specifies the text editor. Default: xterm -e $EDITOR.
Use External Editor for Text Views opens text views in the
specified text editor.
Instance Naming applies automatic instance naming. Cell Name
uses the instance master cell name as the prefix. Prefix applies the
prefix you enter here to all new instances. The default is "I".
Commands controls active field focus for interactive command
input. Auto-Focus Required Fields automatically activates the
first input field of the dialog box or toolbar on command start,
allowing the cursor to remain active on the canvas. Key bindings are
temporarily disabled. Additionally setting Auto-Warp Cursor
repositions the cursor to the middle of the active input field.
Focus Canvas on Enter moves keyboard focus to the canvas
when the cursor enters the canvas area from somewhere else, such
as another dialog. This makes it possible to use keyboard shortcuts.

28

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Session Settings

Table 7

General Option Settings (Continued)

Option Group

Description

Infix Mode interprets the current cursor coordinate point as the


first-click location for commands requiring anchor points. Setting
infix mode here enables it for all key bindings and pop-up menu
commands.
Display

Cursor Text Size for text drawn around the cursor, such as
"Dynamic Measurement" (an option in the Layout Display Options
dialog), this controls how tall the text appears, in pixels. The default
is 10.
Parameter Notation with Engineering units displays real numbers
in engineering units; with Scientific units, displays real numbers in
Base 10.
Unit Scale opens the Parameter Units dialog, where you can
adjust the parameter units for Length, Resistance, Conductance,
Capacitance, Inductance, Voltage, Current, Power, Time, and
Frequency. All of these are set to auto by default.
Display Parameter Units (on by default) controls whether units are
shown for parameters on the canvas or in the Property Editor.
Parameter Precision sets parameter decimal place limit for input
forms and canvas notation. Minimum: 1 Maximum: 20. The default
is 5.
Shadow Brightness controls how bright dimmed areas appear
when using Shadow Mode or when Shadow Edit in Place
Surround is enabled.
Shadow Edit in Place Surround dims the surrounding data when
in Edit in Place. The parent design and all siblings are dimmed
according to the Shadow Brightness setting. The instance being
edited remains bright, as does any data it places.

3. (Optional) To save these settings as default values for this dialog box,
choose Defaults > Save.
4. Click OK.

Galaxy Custom Designer Platform User Guide


J-2014.12

29

Chapter 2: Sessions and Settings


Defining Session Settings

See also
More about Sessions and Settings on page 15

Managing General Option Settings


You can export, import, and purge general option settings as preferences and
apply them at multiple scopes.
These sections cover:

Exporting General Option Settings as Preferences on page 30

Importing General Option Settings Saved as Preferences on page 31

Purging General Option Settings Saved as Preferences on page 32

Exporting General Option Settings as Preferences


Export general options as preferences to save them for use in future design
sessions.
To export general options as preferences:
1. From any view, or the console, choose Options > Save Preferences.

30

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Session Settings

The Save Preferences dialog box opens.

Figure 5

Save Preferences Dialog

2. Specify the scope by accepting the current location shown or choosing a


different location or directory.
The system limits general option export to the scope you specify here.
3. Specify options to export:
To export only changed options for those categories checked, click
Modified Preferences Only.
To export specific options, use the check boxes. Use the Check All and
Check None buttons to mark all and clear all check boxes.
4. Click Save.
See also
More about Sessions and Settings on page 15

Importing General Option Settings Saved as Preferences


Import general options saved as preferences to use settings from a previous
session.

Galaxy Custom Designer Platform User Guide


J-2014.12

31

Chapter 2: Sessions and Settings


Defining Session Settings

To import general options saved as preferences:


1. From any design window or the Console, choose Options > Load
Preferences.
The Load Preferences dialog box opens.

Figure 6

Load Preferences Dialog

2. Specify preferences to import by checking one, more, or all categories.


Use the Check All and Check None buttons to set all or clear all check
boxes.
3. Click Load.
See also
More about Sessions and Settings on page 15

Purging General Option Settings Saved as Preferences


Purge general option settings saved as preferences to remove them from use.
To purge general option settings:
1. From any window or the Console, choose Options > Purge Preferences.

32

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Session Settings

The Purge Preferences dialog box opens.

Figure 7

Purge Preferences Dialog

2. Specify the scope by accepting the current location shown or choosing a


different location or directory.
The system limits preference purging to the scope you specify here.
3. Specify preferences to purge by checking one, more, or all categories.
Use the Check All and Check None buttons to set all or clear all check
boxes.
4. Click Purge.
See also
More about Sessions and Settings on page 15

Saving Dialog Box Settings as Preferences


There are two ways to save dialog box settings as preferences.

At Local Scope: At the end of a session, the system offers the option of
saving dialog box settings from that session as preferences. If you choose
to do this, the system will apply these at the local scope, which includes your

Galaxy Custom Designer Platform User Guide


J-2014.12

33

Chapter 2: Sessions and Settings


Defining Session Settings

current working directory when you were using the dialog box. At the next
session, the system will offer these saved settings when you are working in
the same directory.

At User Scope: If you want to save dialog box settings as preferences at user
scope and greater scopes, you can choose to make the settings the default
for that dialog box. The procedure that follows provides instructions for this
task.

To save dialog box settings as preferences:


1. Open the dialog box that offers the settings you want to save as defaults.
2. Enter the new settings you want to save.
3. From the Defaults menu (to the right of the Defaults button), choose Make
Defaults for and apply the settings to one of the available scopes.
In most cases, only user scope is offered, which covers all directories under
your user name.
The system saves preferences in the prefs.xml file that resides at each of the
five available scopes.
For example, the preferences file that follows is saved at user scope:
~/.synopsys_custom/prefs.xml
The prefs.xml files are sourced at startup. However, you can choose Options >
Load Preferences to load a different set of preferences. (See Importing
General Option Settings Saved as Preferences on page 31.)
At session start, the system searches all scopes automatically in the order that
follows. Where duplicate preference values are found, the value found at the
last searched scope takes precedence. For example, if you have saved a
prefs.xml file in your current working directory, its preferences always take
precedence.
1. SYNOPSYS_CUSTOM_INSTALL (Not available for preference storage)
2. SYNOPSYS_CUSTOM_SITE (CAD support designation)
3. SYNOPSYS_CUSTOM_PROJECT (CAD support designation)
4. SYNOPSYS_CUSTOM_USER (All directories under your user name)
5. SYNOPSYS_CUSTOM_LOCAL (Current working directory only)
See also

34

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Session Settings

More about Sessions and Settings on page 15

Specifying Design Preferences


While designing, you can use Tcl at the Console input line or in a Tcl script to
dynamically apply a value to any design operation.
You can specify design preferences that control details of over 2000 design
operations.
To specify design preferences:
1. Identify the preference whose value you want to set. The session log file
records all settings from your previous session.
For a complete list of available preferences for any Tcl category, see the
Custom Designer Tcl Reference Manual.
To display all currently available preferences, you can use this Tcl script.
proc listPrefs { name } {
set prefs [db::getPrefs]
db::foreach pref $prefs {
set prefname [db::getAttr name -of $pref]
if [regexp $name $prefname] {
puts $prefname
}
}
}

In the Tcl script, db::getPrefs returns the collection of preferences, and


db::foreach loops through the collection and filters it by attribute.
To use the script, copy it into a text file and execute the script through the
Console.
2. Identify the default value for this preference and decide whether to apply a
new value.
3. Decide which scope you want the new value to cover.
4. Set a new value using Custom Designer Tcl db::setPrefValue.
For example, by default, short detection is on in design layouts. To turn off
short detection, you can set the value for the preference leDetectShorts to
0 using Tcl in the Console:
db::setPrefValue leDetectShorts -value 0 -scope
[de::getActiveContext]

Galaxy Custom Designer Platform User Guide


J-2014.12

35

Chapter 2: Sessions and Settings


Defining Session Settings

In this example, db::setPrefValue resets the leDetectShorts preference


value from 1 (on by default) to 0 (off) and limits this setting to the scope that
includes only the active design in the current layout window. (Leaving out the
optional scope argument applies the setting globally.)
The setting remains valid when you push the design context into another
level of hierarchy, and when you save it for the next session. The default
setting applies again when you close this window and open another design
layout.
See also
More about Sessions and Settings on page 15

Specifying Key Bindings


Specify key bindings (bindkeys) to offer the use of keyboard and mouse-click
shortcuts. Supplied binding sets include the Custom Designer binding set and
the Maestro binding set. You can also create custom binding sets.
These sections cover:

Viewing Available Bindings on page 36

Specifying the Active Binding Set on page 38

Creating Custom Bindings on page 38

Viewing Available Bindings


View available bindings to identify available keyboard shortcuts for design
operations.
These sections cover:

Viewing Bindings at the Source on page 36

Viewing Bindings with Custom Designer Tcl on page 37

Viewing Bindings at the Source


View available bindings at the directory source to identify bindings associated
with an editor or product module.
To view available bindings at the directory source:
1. In the Custom Designer platform product installation tree, change
directories to this location:

36

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Session Settings

<installation_directory>/auxx/<product_module>/
bindings.tcl
where <product_module> is a design editor, such as layout.
In some modules, bindings.tcl has a name related to the module name.
2. Open the bindings.tcl file to see the list of bindings.
See also
More about Sessions and Settings on page 15
Viewing Bindings with Custom Designer Tcl
Return binding sets with Tcl to see complete collections, optionally filtered.
You can use a procedure that outputs the Custom Designer platform binding
collection, filtered by attribute, into a file called bindingFile.txt.
To return the binding set in this manner, use the following Tcl procedure.
proc getBindings { } {
set binds [gi::getBindings -set "Custom Designer"]
set fileName [open "bindingFile.txt" w]
puts $fileName "Binding Set : Custom Designer"
puts $fileName "Total Bind keys defined : [db::getCount $binds]"
puts $fileName "\n"
db::foreach bind $binds {
## To get different attributes for each binding,
## db::listAttrs -of $bind
puts $fileName "[db::getAttr event
-of
[db::getAttr action
-of $bind]
[db::getAttr command
-of $bind]
[db::getAttr activeOperation -of $bind]
[db::getAttr activeObject
-of $bind]
[db::getAttr activeTool
-of $bind]
}
close $fileName
}

use
$bind] \t \
\t \
\t \
\t \
\t \
\t "

The procedure performs these Tcl operations:

gi::getBindings returns the Custom Designer binding collection.

db::foreach loops through the collection and filters it by attribute.

db::listAttrs returns the requested attributes for each binding.

Galaxy Custom Designer Platform User Guide


J-2014.12

37

Chapter 2: Sessions and Settings


Defining Session Settings

See also
More about Sessions and Settings on page 15

Specifying the Active Binding Set


Specify the binding set to offer bindings that match designer needs.
To specify the active binding set:
1. From the Console, choose Options > General.
2. Under Interface options, choose the set from the Active Binding Set list.
Available sets include the Custom Designer, IC Compiler, and Maestro sets.
Additionally, you can create custom binding sets.
3. (Optional) To save these settings as general options default settings, choose
Defaults > Save and apply the settings to a scope.
4. Click OK.
For more details about general options, see Defining Session Settings on
page 25.
See also
More about Sessions and Settings on page 15

Creating Custom Bindings


Create custom bindings to offer keyboard and mouse shortcuts tailored to
designer needs.
These sections cover:

Examples: Creating Individual Bindings on page 38

Creating Binding Sets on page 39

Examples: Creating Individual Bindings


Create individual bindings to offer single keyboard and mouse shortcuts. Use
Custom Designer Tcl to create individual bindings.
To create custom bindings:
1. Open the Custom Designer Console.

38

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 2: Sessions and Settings


Defining Session Settings

2. Use the Custom Designer Tcl command listed in Table 8 on page 39 and
refer to the example that follows for assistance. For syntax, execute
<command_name> -help in the Console. For a usage description, see the
Custom Designer Tcl Reference Manual.
Table 8

Tcl for Creating Custom Bindings

Tcl Command

Usage

gi::createBinding

Creates a binding within a binding set (or the active set


if one is not specified).

In this example, gi::createBinding binds the keyboard sequence Alt-e to


the edit in-place command.
gi::createBinding -event "Alt-e" -command {ide::descend -inPlace
true}

In this example, gi::createBinding binds the keyboard key 7 to a toggle


operation for switching Infix mode on or off.
proc toggleInFix {} {
if {[db::getPrefValue deInFixMode]} {
db::setPrefValue deInFixMode -value false
} else {
db::setPrefValue deInFixMode -value true
}
}
gi::createBinding -event "7" -command toggleInFix

See also
More about Sessions and Settings on page 15
Creating Binding Sets
Create binding sets to offer a specified selection of bindings to designers.
To create binding sets:
1. Begin by either copying the XML file for an existing binding set and altering
it, or creating a new set with bindings you have defined.
To create bindings, see Creating Custom Bindings on page 38.
2. In the Console, use the Custom Designer Tcl commands listed in Table 9 on
page 40.
Refer to the examples that follow for assistance.
Galaxy Custom Designer Platform User Guide
J-2014.12

39

Chapter 2: Sessions and Settings


Defining Session Settings

For syntax, execute <command_name> -help in the Console. For a usage


description, see the Custom Designer Tcl Reference Manual.
Table 9

Tcl for Creating Custom Binding Sets

Tcl Command

Usage

gi::createBindingSet

Creates and returns a new binding set.

gi::loadBindings

Loads bindings from an XML file into the specified set.

gi::saveBindings

Saves a collection of bindings to an XML file.

Examples
In this example, gi::createBindingSet creates a new binding set by
copying binding definitions from the Custom Designer set.
gi::createBindingSet "myBindingSet" -from "Custom Designer"

In this example, gi::loadBindings loads bindings from a


newBindings.xml file into the Maestro binding set.
gi::loadBindings -filePath newBindings.xml -set Maestro

In this example, gi::saveBindings saves the binding definitions from the


Maestro binding set to a maestro.xml file.
gi::saveBindings [gi::getBindings -set Maestro] -filePath \
maestro.xml

3. After you create the binding set, you can make it available by Specifying the
Active Binding Set on page 38.
See also
More about Sessions and Settings on page 15

40

Galaxy Custom Designer Platform User Guide


J-2014.12

3
3

Import

You can import design and library data through the Custom Designer platform
Console. The platform supports multiple formats.

You can import design libraries and individual designs from IC Compiler. You
can additionally import designs from tools that output data in Stream, LEF, DEF,
Verilog, and text formats. To import technology data instead of design data, use
the Technology Manager Tool on page 336.
This chapter covers:

Importing Design Data in GDSII Stream Format on page 41

Importing Design Data in Library Exchange Format on page 50

Importing Design Data in Design Exchange Format on page 51

Importing Design Data in Netlist Text Format on page 53

Importing Design Data in GDSII Stream Format


Import design data in GDSII format by defining settings and options for the
translation process to use.
During the import process, you need to supply mapping files.
These sections cover:

Supplying Mapping Files for GDSII Stream Format Translation on page 42

Performing the Import Task on page 47

Galaxy Custom Designer Platform User Guide


J-2014.12

41

Chapter 3: Import
Importing Design Data in GDSII Stream Format

Supplying Mapping Files for GDSII Stream Format


Translation
To successfully import and export design data in GDSII Stream format, you
need to supply mapping files to permit name conversions for cells, fonts, labels,
layers, objects, properties, and references.
This section covers mapping files, their syntax, and examples:

Cell Mapping Files on page 42

Font Mapping Files on page 42

Label Mapping Files on page 43

Layer Mapping Files for Importing on page 43

Layer Mapping Files for Exporting on page 44

Object Mapping Files on page 44

Property Mapping Files on page 45

Reference Mapping Files on page 46

Cell Mapping Files


This file maps cell and port names during translation.
The file can contain comment lines that begin with this character: #.
The system ignores blank lines.
Create an ASCII file formatted as follows:
<library name> <OA cell name > <view name> <cell name>

For example:
#lib name OA cell name view name cell name
Lib1
oa_cell1
layout
cell1
Lib2
oa_cell2
layout
cell2

Font Mapping Files


This file maps font IDs to OpenAccess font names.
The file can contain comment lines that begin with this character: #.
The system ignores blank lines.
Create an ASCII file formatted as follows:
42

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 3: Import
Importing Design Data in GDSII Stream Format

<font id> <OA font name>

For example:
#stream ID OA font name
0
EuroStyle
1
Roman
2
Gothic
3
Script

Label Mapping Files


This file is used by the translator to generate labels for OpenAccess objects.
The file also specifies which stream layers and data types should be used for
the TEXT records that constitute each label.
The file is an ASCII files with either five or six white-space separated fields.
The file can contain comment lines that begin with this character: #.
The system ignores blank lines.
For example:
# ObjectoaLayeroaPurposeGDS LayerGDS Data TypeoaSigType
Term Metal5drawing1310
Term Metal6drawing1320
Net Metal6drawing1321
Term Metal6drawing1322
power
Net Metal5drawing1313
power
Net Metal5drawing1315
clock

Layer Mapping Files for Importing


The layer mapping file maps OpenAccess layer/purpose pairs during
translation. Import and export layer mapping require separate formats. This
section covers import mapping.
For an import mapping file, create an ASCII file formatted as follows:
<OA layer name> <OA purpose name> <GDS layer number> <GDS purpose
number> <OA material name> <OA mask number>

The file can contain comment lines that begin with this character: #.
Specifying a <GDS layer number> <GDS purpose number> type combination
multiple times is not allowed. oaMaterial and oaMaskNumber are optional. If
you do not specify them, and the design has many different vias defined as
CellViews, the translator produces many new oaDesigns.

Galaxy Custom Designer Platform User Guide


J-2014.12

43

Chapter 3: Import
Importing Design Data in GDSII Stream Format

For example:
#oaLayerName
Pimp
Metal1
(continued)
oaMaterial
pImplant
pImplant

oaLayerPurposeName gdsLayer gdsPurpose


drawing
13
13
drawing
1
1
oaMaskNumber
3
6

For example, for a file that specifies a material of cut, with added CUTSIZE
information:
#oaLayerName oaLayerPurposeName gdsLayer gdsDataType oaMaterial
oaMaskNumber
V1
drawing
16
0 cut CUTSIZE:0.032:0.032
V1
drawing
16
1 cut
V1
drawing
16
15 cut CUTSIZE:0.064:0.064

Layer Mapping Files for Exporting


This file maps OpenAccess layer/purpose pairs during translation. Import and
export layer mapping files require separate formats. This section covers export
mapping files.
The file can contain comment lines that begin with this character: #.
Within the file, the <type> can be a single number as well as an interval of
numbers (for example, 0-255, 1,2,5, and so forth).
The system ignores blank lines.
Create an ASCII file formatted as follows:
<destination layer name> <destination purpose name> <layer#>
<type>

For example:
#layer name
Metal1
Via1
Metal2
Via2
Metal3

layer purpose
drawing1
drawing2
drawing3
drawing4
drawing5

layer data type


1
0-255
2
2
3
3
4
4
5
5

Object Mapping Files


This file specifies methods of mapping Boundaries and LayerBlockages
between stream shapes and OpenAccess databases.

44

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 3: Import
Importing Design Data in GDSII Stream Format

This file is a text file that have a different number of fields for different initial
keywords. Blank lines and lines starting with '#' are ignored. The first field is the
object type name.
For example, with first generation keywords:
# Boundary
PRBoundary
# Blockage
LayerBlockage
LayerBlockage

GDS Layer
27
oaLayer
Metal5
*

GDS Data Type


4
GDS Layer
GDS Data Type
52
2
72
2

For example, with industry compatible keywords:


# Boundary
Boundary
Boundary

Subtype
PR
Snap

GDS Layer
27
27

# Blockage
layerBlockage
layerBlockage
layerBlockage
layerBlockage
layerBlockage
layerBlockage

Subtype
routing
routing
routing
pin
pin
pin

oaLayer
M1
M2
M3
M1
M2
M3

GDS Data Type


4
4

GDS Layer GDS Data Type


191
31
191
32
191
33
191
34
191
35
191
36

Property Mapping Files


The property mapping file defines property names in OpenAccess for property
IDs and object types.
These object types are allowed: Dot, Line, Path, Polygon, Rect, Text, ArrayInst
and ScalarInst.
The file can contain comment lines that begin with this character: #.
Create an ASCII file formatted as follows:
<prop id> <object type> <OA prop name>

For example:
#stream ID object
1
Rect
2
Polygon
3
Path

name
instP11
poly1
sigName

Galaxy Custom Designer Platform User Guide


J-2014.12

45

Chapter 3: Import
Importing Design Data in GDSII Stream Format

Reference Mapping Files


The reference mapping file maps every structure the system writes to the
stream file and to the source OpenAccess design. This includes pcell
submasters, standard and custom vias, and pcell custom vias. Pcells are
identified by their override parameters. Vias include their viaDef name and
standard vias include the values for any override viaParams.
For example:
<!-- Created By exportStream G-2011.09 Started: Mon Mar 28 08:59:12
2012 (Hostname: Host1) -->
<file-format version="1.0" name="synopsysExportStream">
<exportStream>
<options lib="ADFULG" cell="AD4FUL" view="layout"
gds=remote/us01home10/user11/bugs/gdsprb/chklibdef.gds
hierDepth=2 noOutputBlockages text=cdba ver=3 />
<cellMappings>
<mapping cellType="design" streamName="AD4FUL" lib="ADFULG"
cell="AD4FUL" view="layout"/>
<mapping cellType="design"
streamName="p_4t_pcell_30136ea9a532e738c5494893f31a38a0"
lib="generic90RF" cell="p_4t" view="layout">
<param name="nf" type="intParam">2</param>
<param name="w" type="floatParam">0.00000058</param>
<param name="tapBottom"
type="stringParam"><![CDATA[all]]></param>
<param name="drawWell" type="booleanParam">1</param>
</mapping>
<mapping cellType="stdvia"
streamName="via12_stdvia_f67b15b30b330a6024d3f1bd9610d2c4"
techLib="ADFULG" viaDef="via12">
<viaparams cutColumns="8" cutRows="2" layer1Enc="5.5,6.1"
/>
</mapping>
<mapping cellType="customvia"
streamName="via12_cust_pcell_8972b97befe9a7af324f4962de1704a0"
lib="generic90RF" cell="via12_cust" view="layout"
techLib="ADFULG" viaDef="via12">
<param name="columns" type="intParam">2</param>
<param name="rows" type="intParam">8</param>
</mapping>
</cellMappings>
</exportStream>
</file-format>

46

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 3: Import
Importing Design Data in GDSII Stream Format

Performing the Import Task


Perform the import task after preparing mapping files.
To import design data in GDSII Stream format:
1. From the Console, choose File > Import > Stream.
2. On the Main tab, enter settings as described in Table 10 on page 47.
Table 10

Import Stream Settings (Main tab)

Settings

Description

Input

Run Directory Directory you browse to select, or a new


directory you create by entering its name. Leaving this field
blank uses the current working directory.
Stream File Stream file you browse to select.
Top Cell Cell to create and use for the import process.

Output

Library Target library for the Stream import; must be listed


in the lib.defs file.
View Name of the view to create; default is a layout view.

3. On the Options tab, enter settings as described in Table 11 on page 47.


Table 11

Import Stream Settings (Options tab)

Settings

Description

General

Overwrite Existing Designs Replaces the existing


design with the translated data.
Convert Paths to Path Segs Imports two-point
orthogonal and diagonal path records as pathSeg
objects.

Galaxy Custom Designer Platform User Guide


J-2014.12

47

Chapter 3: Import
Importing Design Data in GDSII Stream Format

Table 11

Import Stream Settings (Options tab)

Settings

Description

AutoDetect Vias Creates oaVias rather than instances for


certain structures in the GDS files. It requires either that
you have an existing technology file defining the layer
material types, or that the layer map file used during import
have the material types specified for the layers. With that
information it creates oaStdVias where a design follows
the form that can be generated as an oaStdVia.
In addition, if there is an existing tech file with
oaCustomViaDefs then the translator creates
oaCustomVias where the stream file has references to
structures that match the master of the oaCustomViaDef.
DBU Per UU The value for database units per user units;
default is 1000.
Hierarchy Depth The depth of hierarchy to which to
translate; default is 20 levels.
Convert Names Specifies translator conversion of cell
and instance name text to either uppercase, lowercase, or
no conversion.
Text Height The height to assign to imported text, in user
units.
Reference
Data

Library File The file you browse to select. This file has the
names of reference libraries for the translation process to
use when it binds cells referenced during import.
Library List The list of libraries with cells referenced in the
design.

48

Sort from the libraries Available to the libraries


Selected using the arrow buttons between the two
areas.

Where there are many libraries in the selected list, you


can use the arrow buttons at the right edge to scroll.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 3: Import
Importing Design Data in GDSII Stream Format

Table 11

Import Stream Settings (Options tab)

Settings

Description

View Names The views of reference libraries to be used


to bind cells referenced during import.
Messages to
Suppress

Info The list of informational messages to suppress during


import
Warning The list of warning messages to suppress during
import.

4. On the Map Files tab, enter settings as described in Table 12 on page 49.
Table 12

Import Stream Settings (Map Files tab)

Settings

Description

Cell

Cell mapping file you browse to select. Maps cell and port
names.

Font

Font mapping file you browse to select. Maps font IDs to their
OpenAccess names.

Layer

Layer mapping file you browse to select. Maps OpenAccess


layer purpose pairs from the input file. In a mapping line
where the material of type cut is provided, it can be followed
by the keyword CUTSIZE followed by 2 colon delimited
floating numbers that represent the size of a cut rectangle in
User Units. Where this is present, those cuts that match the
given dimensions are written to the GDS file using that
mapping, and not using any mapping provided without a
CUTSIZE option.

Object

Object mapping file you browse to select. Specifies methods


of mapping Boundaries and LayerBlockages between
stream shapes and OpenAccess databases.

Property

Property mapping file you browse to select.

Property Separator

Character you specify to use as a separator in the property


mapping file.

Galaxy Custom Designer Platform User Guide


J-2014.12

49

Chapter 3: Import
Importing Design Data in Library Exchange Format

5. Click OK.
The translator creates multiple libraries for stream files with large numbers
of cells. This avoids performance problems with large UNIX directories.
For normal FileSys libraries, the translator limits each output library to
contain a maximum of 20,000 cells, and then creates additional libraries for
the remaining cells. Additional libraries have the same name with _n
appended. For example, if the import is to library relLib, then cells
numbered 20,001 to 40,000 are created in a new library called relLib_1.
In all cases where additional libraries are created on import, the new
libraries will be defined in the lib.defs file used by the import process.
Any time the stream file contains references to a cell that is placed in a
different library, the instance in OpenAccess will refer to the other library so
that the design hierarchy remains intact.
See also
More about Import on page 41

Importing Design Data in Library Exchange Format


LEF format exchanges the library description, cells and their descriptions, and
cell port information, excluding layout geometry information.
To import design data in LEF format:
1. From the console, choose File > Import > LEF.
2. Specify input:
Enter or browse to select the Run Directory that contains the LEF file. The
default is the current directory.
Enter or browse to choose LEF File (typical file name extension is .lef).
3. Specify output by selecting the library and view to receive the imported LEF
file data.
4. Choose the Options tab.
If you are overwriting the designs, choose Overwrite Existing Designs;
otherwise leave this box unchecked.
If the correct comment character is not the pound sign (#), specify the
comment character.

50

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 3: Import
Importing Design Data in Design Exchange Format

Enter or browse to choose the layer map file. (This is an ASCII format file
that contains lines formatted with the following notation: <LEF Layer Name>
<OA Layer#>.)
This file can also contain comments starting with the # symbol. Table 13 on
page 51 shows an example.
Table 13

Library Exchange Format Import Example

#layer name

Layer number

Metal1

Via12

Metal2

Via23

Metal3

To create pin text during import, enter the layer and the text height.
To suppress specific information or warning messages, enter the messages
to suppress.
5. Click OK.
See also
More about Import on page 41

Importing Design Data in Design Exchange Format


To import design data in DEF format:
1.

If necessary, run Import LEF. (See Importing Design Data in Library


Exchange Format on page 50.)

2. From the console, select File > Import > DEF.


3. Specify input.
Enter or browse to choose the Run Directory that contains the DEF file. The
default is the current directory.

Galaxy Custom Designer Platform User Guide


J-2014.12

51

Chapter 3: Import
Importing Design Data in Design Exchange Format

Enter or browse to choose DEF File (typical file name extension is .def).
4. Specify output by selecting the library and view to receive the imported DEF
file data.
5. Choose the Options tab.
Disable Import Routing if the translator ignores any routing data during
translation, including vias section.
Enable Import Module Hierarchy if the translator will create module
hierarchy based on hierarchical names of instances and nets in the DEF file.
If you are overwriting the designs, choose Overwrite Existing Designs;
otherwise leave this box unchecked.
If the correct comment character is not the pound sign (#), specify the
comment character.
Enable Create Custom Vias if the translator will create and use
oaCustomViaDefs instead of existing oaStdViaDefs for all vias in the DEF
file.
Enter or browse to choose the layer map file. (This is an ASCII format file
that contains lines formatted with the following notation: <DEF Layer Name>
<OA Layer#>.)
This file can also contain comments starting with the pound sign character
(#).
Table 14 on page 52 shows an example.
Table 14

Design Exchange Format Import Example

#layer name

Layer number

Metal1

Via12

Metal2

Via23

Metal3

If reference data is used, specify the list of library names and view names in
which the translator will search for master cells.

52

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 3: Import
Importing Design Data in Netlist Text Format

If unspecified, the design library and reference technology library are added
automatically. The default for views is abstract.
To suppress specific information or warning messages, enter the messages
to suppress.
6. Click OK.
See also
More about Import on page 41

Importing Design Data in Netlist Text Format


Import design data as netlist text when you want to use text views for simulator
input and other processes. Available text formats include SPICE, CDL, Verilog,
Verilog-A, Verilog-AMS, and VHDL. You can optionally generate symbol views
while importing text views. You can additionally generate schematic views (for
all but VHDL text imports).
To import design data as text:
1. From the Console, choose File > Import > Netlist Text to bring up the
Import Text dialog (Figure 8).

Galaxy Custom Designer Platform User Guide


J-2014.12

53

Chapter 3: Import
Importing Design Data in Netlist Text Format

Figure 8

Import Text Dialog: Main Tab

2. On the Main tab, enter settings as described in Table 15.


Table 15

54

Import Text Settings (Main tab)

Settings

Description

Input

Language is the behavioral modeling language you specify


from the list, either SPICE, CDL, Verilog, Verilog-A, VerilogAms, or VHDL.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 3: Import
Importing Design Data in Netlist Text Format

Table 15
Settings

Import Text Settings (Main tab)


Description

Run Directory specifies the directory for this import process


to use. Browse to select the correct location.
Netlist Files specifies the source netlist for this import
process. Browse to select the file. (Multiple files can also be
selected.)
Top Subcircuit For only CDL and HSPICE format, enter the
name of a cell, where top-level SPICE/CDL design data
should be put. A name based off of the imported file name is
generated by default.
Device Map File For only SPICE and CDL formats, either
designate the required device mapping source (to resolve
instance masters to reference libraries) from a file or generate
it from a reference library. For the file option, choose the folder
icon and browse to select the file. The Edit icon opens the
selected mapping file in a text editor for adding or modifying
mapping information.
Choose Default to load the sample provided with the
installation hierarchy. This file can also be copied and edited
to address any missing information. The default mapping file
maps all devices to analogLib library cells.
To create a map file from a selected library, which can then be
edited with additional required data, choose generate to
open the Generate Device Mapping File dialog. Browse to
select the Reference Libraries and the Generated File Path
where the file will reside. Enter the View Search List from
which to generate the mapping data (default is symbol), and
the Cell Name. Wildcard characters are accepted for cell
name matching. Optionally select Overwrite to overwrite any
existing mapping file. Click generate to generate the file.
Import Modules List module names or specify name pattern
for the modules you wish to import. Match Type can be
Exact, Reg Expr, or Wildcard.

Galaxy Custom Designer Platform User Guide


J-2014.12

55

Chapter 3: Import
Importing Design Data in Netlist Text Format

Table 15
Settings

Import Text Settings (Main tab)


Description

Exclude Modules List module names or specify name


pattern for the modules you wish to exclude from the import
when files with multiple cells are imported. Match Type can
be Exact, Reg Expr, or Wildcard.
Output

Library specifies the destination library for this import


operation, which you choose from the list.
View Name shows the default view name for this format. You
can enter a different view name, if you prefer. The system
applies the view name you enter here.

3. On the Options tab (Figure 9), enter settings as described in Table 16.

56

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 3: Import
Importing Design Data in Netlist Text Format

Figure 9

Import Text Dialog: Options Tab

Table 16

Import Text Settings (Options tab)

Settings

Description

General

Include Files specifies whether include files should be


parsed, included, or ignored. Choosing parse expands
include files and creates oaViews for the contained module.

Galaxy Custom Designer Platform User Guide


J-2014.12

57

Chapter 3: Import
Importing Design Data in Netlist Text Format

Table 16

Import Text Settings (Options tab)

Settings

Description

Overwrite Designs specifies how the import process treats


imported cellViews that conflict with existing cellViews. Never
means that the existing cellView remains intact (no copy will
ever be created). Always means that existing cellviews are
overwritten.
(Verilog only) Definitions List specifies the list of define
statements to be predeclared in each cellView.
Interface Only extracts only the interfaces (ports and
parameters) of the imported modules.
Minimum Check performs checking that ensures creation of
shadow OA (a synchronized OpenAccess netlist design
database) despite any errors occurring in the module body.
Errors in the module definition or port list always result in a
failure to create shadow OA.
Preserve Directives preserves Verilog compiler directives in
the imported text views.
Generate Symbols generates a symbol view as part of the
import process. Additionally choose the Option Set for the
tool to use when creating a symbol view for each cell.
Generate Schematics (for SPICE, CDL, or Verilog views
only) generates schematic views from the imported text view.
When Generate Schematics is chosen, VIew Name shows
the default view name for generated schematic views. You
can enter a different view name, as preferred. The system
applies the view name you enter here.
Reference

58

Library Search List shows an ordered list of libraries for


reference cells. By default all the existing libraries are
considered, including the output library.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 3: Import
Importing Design Data in Netlist Text Format

Table 16
Settings

Import Text Settings (Options tab)


Description

View Search List These are the views that are considered
matches if a cell match is found. The system uses the library
and view search lists to find reference cellViews for binding
instances. The library list returns a match and the view list
completes the match and sets the view name to be used.

4. Skip this step if you are not importing Verilog and optionally choosing to
generate a schematic.
If you are importing Verilog and choose Generate Schematics in the
Options tab, after clicking the Options button the Verilog to Schematic
Options dialog box comes up (Figure 10).

Figure 10

Verilog to Schematic Options Dialog

Enter settings as described in Table 17. Click OK in the Verilog to


Schematic Options dialog box when you are done.

Galaxy Custom Designer Platform User Guide


J-2014.12

59

Chapter 3: Import
Importing Design Data in Netlist Text Format

You can choose to show unroutable connections as flight lines or by net


name. These options are especially useful with large designs.
Table 17

Verilog to Schematic Options

Settings

Description

Symbol Views

The list used to find the appropriate view to place an instance


in the schematic. The corresponding instance's master is not
symbol or the symbol is unbound.

By Name Nets

Connect by Name creates connections between nets by


name for Selected nets, All nets, or None of the nets.
Net Names is the list of names used when you choose
Selected with Connect by Name.

Unroutable
Connections

Shows these as Flightlines or By Name.

Placement Options

Minimum Vertical Spacing specifies the minimum grid


distance between symbols during placement on the vertical
axis.
Minimum Horizontal Spacing specifies the minimum grid
distance between symbols during placement on the
horizontal axis.
Instance Alignment specifies symbol alignment in each
column along the left side (default), right side, or in the center.

5. Skip this step if you are not importing SPICE or CDL and optionally choosing
to generate a schematic.
If you are importing SPICE or CDL and choose Generate Schematics in
the Options tab, after clicking the Options button the SPICE/CDL to
Schematic Options dialog box comes up (Figure 11).

60

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 3: Import
Importing Design Data in Netlist Text Format

Figure 11

SPICE/CDL to Schematic Options Dialog

enter settings as described in Table 18 on page 61. Click OK in the SPICE/


CDL to Schematic Options dialog box when you are done.
Table 18

SPICE/CDL to Schematic Options

Settings

Description

Reference Views

Symbol Views is the list of views the tool uses to find Power/
Ground like VDD and VSS symbols and to find existing
symbols.

Schematic
Generator

Auto Correct I/O Port: In SPICE, all ports are I/O so this
option (on by default) attempts to correct the port direction if
possible, which improves the overall look of the schematic/
symbols.
Make Form-gate Hierarchy: If enabled, this option attempts
to recognize common gate structures (such as inverters, and,
nand gates). If found, it will create hierarchical cells of these
gates.

Galaxy Custom Designer Platform User Guide


J-2014.12

61

Chapter 3: Import
Importing Design Data in Netlist Text Format

Table 18

SPICE/CDL to Schematic Options

Settings

Description

Without Wiring: For top-level blocks with hundreds of pins


the drawn wiring between pins might not be desired. If
enabled, this option makes all connections by name rather
than drawn wires.
Merge Sub-ports: If enabled, this option attempts to merge
subports of a bus if found in a design.
Add Net Label to All Wire Segments: If enabled, this option
adds net labels to each segment of a wire rather than just one
segment.

6. Click OK.
The system imports the text and creates the designated views.
See also
More about Import on page 41

62

Galaxy Custom Designer Platform User Guide


J-2014.12

4
Export

You can import and export design data through the Custom Designer platform
Console. You can import both designs and libraries in multiple formats.

You can export libraries and individual designs to IC Compiler, and you can
export design data to tools that accept data in GDSII Stream, OASIS, LEF,
DEF, Liberty File, and netlist formats. To protect the proprietary information
stored in your Tcl, you can export it in bytecode format. To export technology
data instead of design data, use the Technology Manager Tool on page 336.
This chapter covers:

Exporting Design Data in GDSII Stream Format on page 63

Exporting Design Data in OASIS Format on page 69

Exporting Design Data in Library Exchange Format on page 73

Exporting Design Data in Design Exchange Format on page 74

Exporting Design Data in Liberty Library File Format on page 74

Exporting Design Data in Netlist Format on page 76

Exporting Design Data in GDSII Stream Format


To export design data in GDSII Stream format:
1. From the Console, choose File > Export > Stream. The Export Stream
dialog opens (Figure 12).

Galaxy Custom Designer Platform User Guide


J-2014.12

63

Chapter 4: Export
Exporting Design Data in GDSII Stream Format

Figure 12

Export Stream Dialog: Main Tab

2. On the Main tab, enter settings as described in Table 19 on page 64.


Table 19

Export Stream Settings (Main tab)

Settings

Description

Output

Run Directory is the directory you browse to select, or a new


directory you create by entering its name.
Stream File is the Stream file you browse to select and use.

Input

64

Library contains the design designated for export.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 4: Export
Exporting Design Data in GDSII Stream Format

Table 19
Settings

Export Stream Settings (Main tab)


Description

Top Cell is the top level cell for export.


View is the name of the view to export.

3. Switch to the Options tab in the Export Stream dialog (Figure 13).

Figure 13

Export Stream Dialog: Options Tab

Galaxy Custom Designer Platform User Guide


J-2014.12

65

Chapter 4: Export
Exporting Design Data in GDSII Stream Format

4. On the Options tab, enter settings as described in Table 20 on page 66.


Table 20

Export Stream Settings (Options tab)

Settings

Description

General

Limit Characters specifies that the translator conforms to the


32-character limit on structure names
Convert All Paths to Polygons imports two-point
orthogonal and diagonal path records as pathSeg objects
Keep Half Width Paths
Export Text Displays controls translation of textDisplay
objects. Default is no translation.
Map All Texts specifies whether the translator should
attempt to name map oaTexts and oaTextDisplays that are
not oaNames.
Export Blockages controls export of blockage objects.
Default is no export of blockage objects.
Map Colors Using Locks specifies which mapping lines in
the layer map file are used to map shapes with a mask color
attribute.
Export Reference Library Cells controls translation and
output of cells referenced from a library other than the one
specified by the Library argument. Default is that these cells
are translated.
Export Route Objects controls translation of routes. Default
is no route translation.
Flatten Pcells controls conversion of pcells into their
geometry. Default is no conversion. Pcell flattening obeys the
hierarchy limit.
Stream Version specifies Stream format version for
translator to use. In versions later than Version 3, rectangles
are written as polygons.

66

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 4: Export
Exporting Design Data in GDSII Stream Format

Table 20

Export Stream Settings (Options tab)

Settings

Description

Name Space is the namespace mapping for text displays:


native, cdba, lef, def, verilog, vhdl, spef, spice, or spf. Default
is cdba.
Convert Names controls conversion of cell and instance
names to either uppercase, lowercase, or no conversion.
Cell Name Prefix specifies the string prefixed to every
structure name written in the stream file.
Blockage Data Type is the purpose number for blockages
output.
Hierarchy Depth is the number of hierarchy levels to
translate.
Label Depth specifies the depth to which the translator
provides labels.
Convert Labels controls conversion of net and terminal
names to either uppercase, lowercase, or no conversion.
Sides per Ellipse specifies the number of edges used for
ellipse to polygon conversion.
Sides per Donut specifies the number of edges used for
donut to polygon conversion.
DBU Per UU is the value for database units per user units.
Used for scaling addition computations while translating OA
database to GDSII without changing the source OA
database.
Messages to
Suppress

Info is the list of informational messages to suppress during


export.
Warning is the list of warning messages to suppress during
export.

5. Switch to the Map Files tab in the Export Stream dialog (Figure 14).

Galaxy Custom Designer Platform User Guide


J-2014.12

67

Chapter 4: Export
Exporting Design Data in GDSII Stream Format

Figure 14

Export Stream Dialog: Map Files Tab

6. On the Map Files tab, enter settings as described in Table 21 on page 68.
Table 21

68

Export Stream Settings (Map Files tab)

Settings

Description

Layer

Layer mapping file you browse to select. Select Use Tech Lib
to search in the in the technology library.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 4: Export
Exporting Design Data in OASIS Format

Table 21

Export Stream Settings (Map Files tab)

Settings

Description

Object

Object mapping file you browse to select. Specifies methods


of mapping Boundaries and LayerBlockages between
stream shapes and OpenAccess databases. Select Use
Tech Lib to search in the in the technology library.

Cell

Cell mapping file you browse to select. Maps cell and port
names.

Font

Font mapping file you browse to select. Maps font IDs to their
OpenAccess Names.

Label

Label mapping file you browse to select.

Property

Property mapping file you browse to select.

7. Click OK.
8. The translator exports the design in GDSII Stream format.
See also
More options for design and data Export on page 63
Layer Mapping Files for Exporting on page 44
Supplying Mapping Files for GDSII Stream Format Translation on page 42

Exporting Design Data in OASIS Format


To export design data in OASIS format:
1. From the Console, choose File > Export > OASIS. The Export OASIS
dialog opens (Figure 15).

Galaxy Custom Designer Platform User Guide


J-2014.12

69

Chapter 4: Export
Exporting Design Data in OASIS Format

Figure 15

Export OASIS Dialog: Main Tab

2. On the Main tab, enter settings as described in Table 22 on page 70.


Table 22

Export OASIS Settings (Main tab)

Settings

Description

Output

Run Directory is the directory you browse to select, or a new


directory you create by entering its name.
Oasis file is the OASIS file you browse to select and use.

Input

Library contains the design designated for export.


Top Cell is the top level cell for export.
View is the name of the view to export.

3. Switch to the Options tab in the Export OASIS dialog (Figure 16).

70

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 4: Export
Exporting Design Data in OASIS Format

Figure 16

Export OASIS Dialog: Options Tab

4. On the Options tab, enter settings as described in Table 23 on page 71.


Table 23

Export OASIS Settings (Options tab)

Settings

Description

General

Convert Paths to Polygons imports two-point orthogonal


and diagonal path records as pathSeg objects.
Export Text Displays controls translation of textDisplay
objects. Default is no translation.
Export Reference Library Cells controls translation and
output of cells referenced from a library other than the one
specified by the Library argument. Default is that these cells
are translated.
Compression Level is the level of compression used when
writing the file. 0 is the lowest and 9 is the highest level of
compression. Default is 0.

Galaxy Custom Designer Platform User Guide


J-2014.12

71

Chapter 4: Export
Exporting Design Data in OASIS Format

Table 23

Export OASIS Settings (Options tab)

Settings

Description

Hierarchy Depth is the number of hierarchy levels to


translate. Default is 0.
Sides per Ellipse specifies the number of edges used for
ellipse to polygon conversion. Default is 64.
Sides per Donut specifies the number of edges used for
donut to polygon conversion. Default is 64.
Messages to
Suppress

Info is the list of informational messages to suppress during


export.
Warning is the list of warning messages to suppress during
export.

5. Switch to the Map Files tab in the Export OASIS dialog (Figure 17).

Figure 17

72

Export OASIS Dialog: Map Files Tab

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 4: Export
Exporting Design Data in Library Exchange Format

6. On the Map Files tab, enter settings as described in Table 24 on page 73.
Table 24

Export OASIS Settings (Map Files tab)

Settings

Description

Cell

Cell mapping file you browse to select. Maps cell and port
names.

Layer

Layer mapping file you browse to select.

Object

Object mapping file you browse to select. Specifies methods


of mapping Boundaries and LayerBlockages between
stream shapes and OpenAccess databases.

7. Click OK.
8. The translator exports the design in OASIS format.
See also
More options for design and data Export on page 63
Layer Mapping Files for Exporting on page 44

Exporting Design Data in Library Exchange Format


To export design data in LEF format:
1. From the Console, choose File > Export > LEF.
2. Browse to choose the output run directory and LEF file.
3. Specify the input.
4. Choose the Options tab, and specify option details.
5. Click OK.

Galaxy Custom Designer Platform User Guide


J-2014.12

73

Chapter 4: Export
Exporting Design Data in Design Exchange Format

See also
More options for design and data Export on page 63

Exporting Design Data in Design Exchange Format


To export design data in DEF format:
1. From the Console, choose File > Export > DEF.
2.

Specify the Run Directory to receive the DEF file. The default is the current
directory.

3. Specify the DEF file name (recommended extension is .def).


4. Choose the Options tab.
5. Select the DEF file version (Default: 5.6).
6. To suppress specific information or warning messages, enter the messages
to suppress.
7. Click OK.
See also
More options for design and data Export on page 63

Exporting Design Data in Liberty Library File Format


You can generate and export an output file in the Liberty Library format to
provide input for synthesis tools.
To export a Liberty Library file:
1. From the Console, choose File > Export > Liberty. Alternatively, choose
the Export button from the Edit Liberty Data dialog.

74

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 4: Export
Exporting Design Data in Liberty Library File Format

2. Enter design information as described in Table 25 on page 75.


Table 25

Export Liberty File

Settings

Description

Input

Specify the Library and Cell, and specify or browse to


choose a View for the design.
Note that If the Export Liberty File dialog is called from the
Edit Liberty Data dialog, these fields are predefined and not
visible.
Corner is editable if you launched the dialog from the console
or the command line. If you launched the Export Liberty File
dialog from the Edit Liberty Data dialog, the corner is
predefined.
Defaults File shows the XML format file containing the
defaults you want to use. Accept the file name shown or
browse to open a different one.

Output

Library Name is used in the exported text as a value of the


tag "library" in the Liberty format. By default, it is composed
from current OA library name and the corner name.
Liberty File specifies the target file. Accept the Liberty file
name shown or browse to open a different file of type .lib to
overwrite with new output.
Open on Completion Opens the generated .lib file in a
text editor.

3. Click OK.
The tool generates the file as specified. To review the file, open the file in a
text editor.
See also
More options for design and data Export on page 63
Liberty Data Editor tool in the Galaxy Custom Designer IC Compiler CoDesign (ICC-CD) User Guide.

Galaxy Custom Designer Platform User Guide


J-2014.12

75

Chapter 4: Export
Exporting Design Data in Netlist Format

Exporting Design Data in Netlist Format


You can export design data in netlist format. You can do this without opening
the design.
You can optionally perform flat netlisting with this procedure. The system
flattens the design to a temporary cellView, optionally renames all instances
and nets (except global and ported nets), and then netlists the flattened design.
To export design data in netlist format:
1. From the Console, choose File > Export > Netlist.
You can optionally use the dbExportNetlist preference to set the values in
this dialog box. For information about using preferences, see Specifying
Design Preferences on page 35.
2. Enter settings on the Main tab.
Table 26 on page 76 lists and describes settings on this tab.
Table 26

Export Netlist Options (Main tab)

Option

Description

Netlister Format

Choose a format from the list, either CDL, HSPICE,


NanoSim, Spectre, VHDL, VerilogICC, lvsSPICE, or Verilog.

Design to Netlist

Specify the Library and Cell, and specify or browse to


choose a View for the design.
You can accept the current Netlist file for overwriting, browse
to a different file, or enter the name of a new file.

Hierarchy Options

View Search List - Searches these views. Accept, or enter


new values.
View Stop List - Stops the search at these views. Accept, or
enter new values.
Flatten Design - Flattens a hierarchical design before
netlisting it. Enabling this feature adds a Flattening Options
tab to accept additional settings.

3. Enter settings on the Netlister Options tab.

76

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 4: Export
Exporting Design Data in Netlist Format

Table 27 on page 77 lists and describes settings on this tab.


Table 27

Export Netlist (Netlister Options tab)

Option

Description

Maximum Line
Length

Determines the length of a line before wrapping.

Indent Depth

Determines the margin for each level of indentation.

Create Top as Module Netlists the top design (the design root) as a module.
Sort Instance
Headers

Sorts groups of instances alphabetically (ascending,


descending, or not at all) by the name of the master cellView.

Sort Instances

Within an instance group, sorts instances alphabetically by


name.

Module Order

Determines the order in which modules are listed in the


netlist, either leaf first or top first.

Ignore Estimated
Parasitic Devices

Disables inclusion of parasitics in the netlist.

Print messages

Prints message to the console, a file, or not at all.

Is Case Sensitive
Run Job in
Background
Incremental

Enables incremental netlisting. If you choose this option,


additionally browse to the directory where the design was last
netlisted.

Include Files

Adds CDL include files during CDLOut.

4. (Optional) If you enabled the option to flatten the netlist, enter settings on
the Flattening Options tab.

Galaxy Custom Designer Platform User Guide


J-2014.12

77

Chapter 4: Export
Exporting Design Data in Netlist Format

Table 28

Export Netlist (Flattening Options tab)

Option

Description

Temporary CellView

Specify the Library and Cell, and specify or browse to


choose a View for the temporary cellView to create during
this process.

Delete temporary
cellView on success

Deletes the temporary cellView created during the process


when the process succeeds.

Rename nets and


instances

Renames all instances and most nets to random strings to


obscure the design intent. Does not rename global nets and
ported nets.

5. For exporting in VerilogICC format (only), use the Power section of the
dialog box.
a. To list the supply nets for a given view and netlist, click Find Supplies.
If supply nets exist, the system lists them by Net Name, ICC Name, and
Supply Type.
b.

To optionally edit the IC Compiler name for a net, under ICC Names,
click the net name, and enter text.

c.

Consider netlist output options:


To output one netlist that includes all supply nets, leave the Write UPF
option unchecked.
If you chose the Multiple Supplies option for place and route, you can
output one netlist without supply nets and a second netlist in UPF format
with supply nets. To do this, choose Write UPF.
For UPF output, the system shows additional tabs for Domains and
Black Boxes. Under Domains, you can edit a domain name by clicking
the name and entering text.

6. Click OK.
The exported netlist file opens in the Text Viewer.
If you chose to additionally write UPF output, the Text Viewer adds a second
tab for the UPF file.
See Text Viewer Tool on page 340.

78

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 4: Export
Exporting Design Data in Netlist Format

See also
More options for design and data Export on page 63

Galaxy Custom Designer Platform User Guide


J-2014.12

79

Chapter 4: Export
Exporting Design Data in Netlist Format

80

Galaxy Custom Designer Platform User Guide


J-2014.12

5
General Designing

You can create, open, and navigate, edit, save, and run processes on designs.
You can also view design and component summaries, and save your work. At
any time, you can print and plot designs, and export design images. Close
designs to complete each session.

This chapter covers Custom Designer platform design tasks:

Creating Designs on page 82

Opening Designs on page 83

Navigating Designs on page 86

Working on Designs on page 88

Processing Jobs on page 99

Viewing Design Summaries on page 100

Viewing Component Summaries on page 101

Saving Your Designs on page 101

Printing and Plotting Designs on page 104

Exporting Design Images on page 108

Using Tcl in Tcl Bytecode Format on page 109

Closing Designs on page 110

Galaxy Custom Designer Platform User Guide


J-2014.12

81

Chapter 5: General Designing


Creating Designs

Creating Designs
Create designs by creating cellViews from the OpenAccess database.
To create a design:
1. From the Console or the Library Manager, choose File > New CellView.
2. (Optional) Choose to show cell categories.
3. Define the library and cell to hold the cellView by highlighting their names.
For each blank field in the horizontal row at the top of the form, you can filter
the list of available names by entering individual characters. Alternatively,
you can select from the lists directly. The system treats empty spaces on
both ends of a string as wildcards. To change a sorting order, click a triangle.
4. Take note of the views that now exist for this cell. Avoid duplication.
5. Specify details.
Table 29 on page 82 lists and describes new cellView details.
Table 29

New CellView

New CellView Details

Description

Cell Name

Uses the name shown or the name you


enter

View Name

Uses the name you enter here. Remember


that the system associates each view with
the editor you select. Name views with this
in mind.

Editor

Associates the editor you choose from the


list.

Open on Create (check box)

Opens the new cellView when you click OK

6. Click OK.
The new design cellView opens in the associated editor.

82

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Opening Designs

Creating a design creates a set of oaDesign objects in OpenAccess to


contain design netlists, schematics, layouts and other types of device
representations. The oaDesign objects hold the connectivity, geometry,
hierarchy, parasitics, and floorplanning information for a design.
See also
More about General Designing on page 81

Opening Designs
Open a design cellView to view or edit it.
These sections cover:

From the Console on page 83

From an Editor Window on page 84

From the Library Manager on page 84

Opening a Bookmarked Design on page 85

Responding to Warnings while Opening Designs on page 85

Reopening Recently Opened Designs on page 86

From the Console


To open a design from the Console:
1. Choose File > Open Design.
2. Specify the names of the library, category (optional), cell and view.
Entering text in an input field at the top of a column filters the set of names
offered. To return to the full list, delete text in the input field.
The unique combination of library, cell, and view name describes a design.
3. Click Open.
Alternatively, you can double-click the view name, or right-click and choose
Open.
The design opens in the editor for this view.

Galaxy Custom Designer Platform User Guide


J-2014.12

83

Chapter 5: General Designing


Opening Designs

Preference options apply. Active cellView level option settings also apply and
take precedence.
See also
More about General Designing on page 81

From an Editor Window


To open a design from an editor:
1. Choose Design > Open.
2. Specify the names of the library, category (optional), cell and view.
Entering text in an input field at the top of a column filters the set of names
offered. To return to the full list, delete text in the input field.
3. Click Open.
Alternatively, you can double-click the view name, or right-click and choose
Open.
The design opens in the editor for this view.
Preference options apply. Active cellView level preference settings also apply,
and take precedence.
See also
More about General Designing on page 81

From the Library Manager


To open a design from the Library Manager:
1. In the Library Manager, specify the names of the library, category (optional),
cell and view.
Entering text in an input field at the top of a column filters the set of names
offered. To return to the full list, delete text in the input field.
2. On the view name, either double-click, or use the alternate mouse button
and choose Open.
The design opens in the editor for this view.
Preference options apply. Active cellView level preference settings also apply,
and take precedence.
84

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Opening Designs

See also
More about General Designing on page 81

Opening a Bookmarked Design


Open a bookmarked design when you want to view a previously saved design
data and its viewport combination.
To open a bookmarked design:

In any design window, choose View > Bookmarks > bookmark_name.

See also
Adding a Bookmark on page 198
Bookmark Manager Tool on page 198
More about General Designing on page 81

Responding to Warnings while Opening Designs


Respond to warnings while opening designs to correct problems the system
detects when it scans the design before it opens.
To respond to warnings:
1. Begin by Opening Designs on page 83.
For schematic and symbol views, the system scans the entire placed
hierarchy. For layouts, the system scans the placed hierarchy down to the
view depth.
2. If the system detects problems, a warnings dialog box lists them.
Two types of warnings can occur:

Missing references, in both schematics and layouts.


These are references from the design at the current view depth to
instance and via objects not at located this view depth. The system sees
these as unbound to the design. Their definitions are not found in the
current technology file.
To address the underlying problem, check to make sure the design uses
the correct technology library, or add the object to the current
technology library.

Galaxy Custom Designer Platform User Guide


J-2014.12

85

Chapter 5: General Designing


Navigating Designs

Unbound instances occur when the corresponding OpenAccess


instance header (oaInstHeader) points to a non-existent master design.
Unbound vias occur when an OpenAccess via definition (oaViaDef) is
not found, or the master design for an OpenAccess custom via definition
(oaCustomViaDef) is not found.

Out-of-date multi-part paths (MPPs) in layouts.


An MPP definition differs between the design and the technology file.

3. Choose an option.

For missing references, you can visually identify the affected objects by
adding them to the selected set: Enable Select Missing References.

For out-of-date MPPs, you can update them: Choose Update MPPs.

4. Click OK.
See also
More about General Designing on page 81

Reopening Recently Opened Designs


Reopen a design by choosing it from the accumulated list of recently opened
designs.
To reopen a design:

In any design window, choose Design > Open Recent, and select the
design by its library, cell, and view.

See also
More about General Designing on page 81

Navigating Designs
Navigate designs to descend to varying levels of device representation. You
can descend one instance at a time, and you can navigate using alternate
methods.

86

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Navigating Designs

These sections cover:

Navigating One Instance at a Time on page 87

Navigating using Alternate Methods on page 88

Navigating One Instance at a Time


Navigate one instance at a time to descend directly into the design.
To navigate a design one instance at a time:

To descend to the next level away from the root for editing, choose Design
> Hierarchy > Descend Edit, and select an instance.
See also:
ide::descend

To descend to the next level away from the root for reading, choose Design
> Hierarchy > Descend Read and select an instance.
See also:
ide::descend

To descend and also switch the view, choose Design > Hierarchy >
Descend Into, select an instance, and choose the view.
See also:
ide::descend

To edit this instance in the same window, choose Design > Hierarchy > Edit
in Place.
If this instance is in an instance array, complete the operation by additionally
choosing a component instance.
For typical descent operations, the edit design and the view design are set
to the new design context, which is the instance's switched master. For edit
in place operations, only the edit design is modified and set to the instance's
placed master.
See also:
ide::descend

Galaxy Custom Designer Platform User Guide


J-2014.12

87

Chapter 5: General Designing


Working on Designs

To reverse the last descent, choose Design > Hierarchy > Return.

To return to the design root level, choose Design > Hierarchy > Return to
Top.

See also
More about General Designing on page 81

Navigating using Alternate Methods


Use alternate navigation methods to have additional control while navigating.

If you want to see all instances or masters in a hierarchy and select the
descent level from the list, use the Hierarchy Navigator for this purpose. See
Hierarchy Navigator Assistant on page 245.

If you want to configure a custom hierarchy that reflects the design, use the
Hierarchy Editor for this purpose. See Hierarchy Configurations on
page 353.

If you want to navigate by net name, use the Design Navigator for this
purpose. See Design Navigator Assistant on page 202.

Working on Designs
Work on a design by using the available editors and tools to develop it.
These sections cover:

Deciding Which Editor to Use on page 88

Viewing the Canvas on page 89

Executing Design Operations on page 94

Changing Edit Modes on page 98

Discarding Edits on page 99

Deciding Which Editor to Use


The view you open determines the editor you will use.
(To open a design cellView, see Opening Designs on page 83.)

88

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Working on Designs

Table 30 on page 89 lists design view types, the data they act on, and where to
find user assistance for editing.
Table 30

Design View Types and Related Documentation

View type

Design data

Reference

schematic

Schematic

Custom Designer Schematic Editor User


Guide

symbol

Symbol

Custom Designer Schematic Editor User


Guide

layout

Layout

Custom Designer Layout Editor User


Guide
Custom Designer Schematic Driven
Layout User Guide

config

Hierarchy

Hierarchy Configurations on page 353 in


this manual

netlist

Netlist components

Netlist Format Designs on page 369 in


this manual

text editor

Hardware description
language syntax

HDL Text Editor on page 363 in this


manual

See also
More about General Designing on page 81

Viewing the Canvas


When you edit a design, you can use canvas menu options to zoom to different
scales, fit the image size to an area, pan across the design, redraw after
making changes, overlay fill views, switch viewports, and, in layouts only,
highlight objects.
At any time, you can also bookmark a design data and viewport combination.
(See Adding a Bookmark on page 198.)

Galaxy Custom Designer Platform User Guide


J-2014.12

89

Chapter 5: General Designing


Working on Designs

These sections cover:

Zooming on page 90

Fitting on page 90

Panning on page 91

Redrawing Designs on page 91

Overlaying Fill Views on page 91

Switching to Previous or Next Viewports on page 92

Highlighting Layout Objects on page 92

Zooming
You can zoom to magnify the design view, changing the viewport scale by the
ratio of viewport pixels to database units.

To magnify a canvas area, choose View > Zoom > Area.


Then use the mouse to set one point and rotate the mouse wheel or drag
the mouse to adjust the scale.

To increase magnification of the canvas area, choose View > Zoom > In,
and rotate the mouse wheel forward.

To reduce current magnification of a canvas area, choose View > Zoom >
Out, and rotate the mouse wheel in reverse.
See also:
More about General Designing on page 81

Fitting
You can fit a design viewport to specified extents to magnify the image size.

To fit the viewport to the extent of the design, choose:


View > Fit View in a design schematic
View > Fit > View in a design layout

To fit the viewport to the extent of an Edit-in-Group mode figure group,


choose:
View > Fit Edit in a design schematic
View > Fit > Edit in a design layout

90

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Working on Designs

To fit the viewport to the set of selected objects, choose:


View > Fit to Selected in a design schematic
View > Fit > Selected in a design layout

In design layouts (only), to leave the center point unchanged and fit the
viewport to the finest available grid, choose View > Fit Grid.

See also:
More about General Designing on page 81

Panning
You can pan to move the viewport to a different position on the canvas without
changing the scaling factor. Use panning to view parts of the image not visible
in the current window view.
To pan a design:
1. In a design, choose View > Pan.
2. Press and slide the cursor on the canvas, or use the arrow keys.
See also
More about General Designing on page 81

Redrawing Designs
You can redraw a design to show recent changes.
To redraw a design:

In a design window, choose Edit > Redraw.

See also
More about General Designing on page 81

Overlaying Fill Views


You can draw fill views on top of a design layout without having to modify the
design.
To overlay a fill view:

To overlay the fill view, in the design layout, choose View > Overlay Fill
View.
To remove the fill view, select the menu entry a second time.

Galaxy Custom Designer Platform User Guide


J-2014.12

91

Chapter 5: General Designing


Working on Designs

See also
More about General Designing on page 81

Switching to Previous or Next Viewports


You can switch viewports to move between design contexts.
The system saves the viewport for each open design in the context and
restores former viewports upon ascending after descending into a hierarchy.
You can switch to the next and previous viewport.

To switch context to the previous viewport, choose View > Previous


Viewport.

To switch context to the next viewport, choose View > Next Viewport.

See also
More about General Designing on page 81

Highlighting Layout Objects


In design layouts (only), you can highlight objects for visual differentiation on
the canvas.
You can highlight objects by name and by their connectivity, and you can clear
highlights.
These sections cover:

Highlighting Layout Objects by Name on page 92

Highlighting Connected Layout Objects on page 93

Clearing Layout Object Highlights on page 94

Highlighting Layout Objects by Name


Highlight layout objects by name to find or identify objects within the active edit
design.
To highlight objects by name:
1. In any design canvas view, choose View > Highlight > By Name.
2. Select Highlight by Name Toolbar Options.
3. Complete the operation (click the green check mark).

92

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Working on Designs

Table 31 on page 93 lists and describes options for highlighting objects by


name.
Table 31

Highlight by Name Toolbar Options

Highlighting Option

Description

Type

Master, Instance, Evaluated Text, Unevaluated Text,


Multi-Part Path Definition, Via Definition.
For the Master selection, additionally offers the choice
of library, cell, and cellView.

Name

Finds the exact match for the name you enter here

Regular Expression

Applies a regular expression search to the name you


enter

Color

Uses this color for highlighting

Cycle

Uses this color for the first highlight, and then cycles
through the color set

See also
More about General Designing on page 81
Highlighting Connected Layout Objects
Highlight connected layout objects to view all objects physically connected to
the selected set.
To highlight connected objects:
1. In a design layout view, choose View > Highlight > Connected.
2. Select Highlight Connected Toolbar Options.
Pressing Ctrl-c interrupts this command operation.

Galaxy Custom Designer Platform User Guide


J-2014.12

93

Chapter 5: General Designing


Working on Designs

Table 32 on page 94 lists and describes options for highlighting connected


objects in a design.
Table 32

Highlight Connected Toolbar Options

Option

Description

Color

Uses this color for highlighting.

Shadow Mode

Continues to highlight connected objects, but visually dims


those objects not connected to the selected object.

Cycle

Uses this color for the first highlight, and then cycles through
the color set.

See also
More about General Designing on page 81
Clearing Layout Object Highlights
Clear layout object highlights to remove them from the current design context.
To clear highlights from objects:

In the design context with highlighted objects, choose View > Highlight >
Clear.

See also
More about General Designing on page 81

Executing Design Operations


Execute design operations through menus, toolbars, bindkeys, and Tcl
commands and scripts. You can choose a preferred method for each phase of
your design process and combine methods as necessary.
You can read this section once to get an idea of how to use the available
interfaces, and refer to it later as needed.
To execute commands:

94

Using Menus on page 95

Using the Command Options Toolbar on page 96

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Working on Designs

Using Key Bindings on page 96

Using Tcl on page 97

Using Menus
Use window, interactive, and context menus to interact with the platform.
These sections cover:

Window Menus on page 95

Window Assistant Menus on page 96

Context Menus on page 96

Window Menus
To use a window menu:
1. Position the cursor on the menu name, click, and slide downward to choose
an option.
2. Complete the operation by responding to the offered prompt:

For dialog boxes, enter requested information and click Apply to keep
the dialog box open while the operation completes, or click OK to close
it.

For a list of choices offered in a dialog box, you can find the correct
choice by filtering the list. Filter the list by entering unique characters for
any choice in the top entry field text boxes. (The system treats empty
spaces on both ends of any string as wildcard characters.)

For interactive commands, use the command option toolbar that opens.
You can enter the precision details in the toolbar first, or draw on the
canvas first. Successively pressing Tab cycles through all possible
options, including the canvas position.
For some commands, you can work instead with a dialog box. To work
with a dialog box, click the toolbar Eject button. To return to the toolbar,
click Hide in the dialog box.
To end an interactive command operation, press Esc.

Galaxy Custom Designer Platform User Guide


J-2014.12

95

Chapter 5: General Designing


Working on Designs

Window Assistant Menus


To use the menu in a window assistant:

Click the menu button (a small triangle button at the top right corner), and
then slide the cursor down the menu to choose an option.

Context Menus
To use a context menu:
1. On the canvas or other user interface location where directed, right-click the
mouse.
2. On the menu that appears, slide the pointer to choose an option.
The system executes the command.

Using the Command Options Toolbar


Use the Command Options Toolbar to complete design commands on the
canvas. For example, when you want to create a rectangle, you start with a
menu command (such as Create > Rectangle), and then use the canvas and
buttons and input areas on the command options toolbar to precisely define
details for command completion.
To use the command options toolbar:

Use the handle (vertical lines) to undock the toolbar into a floating position.

Select and drag the toolbar to allow docking in a new location.

Click the Eject button, where shown, to transform the toolbar into a dialog
box that accepts additional input options.

See also
More about General Designing on page 81

Using Key Bindings


Use key bindings (bindkeys) for command operation short-cuts.
You can view the available key binding for a menu operation by choosing the
menu and taking note of the key binding listed for the operation. For example,
you can use the F1 function key to open the online Help system, and view Help
for the currently active command.

96

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Working on Designs

See also
More about General Designing on page 81

Using Tcl
Use the Tcl (Tool Command Language) interpreter as a primary or additional
method for interacting with the Custom Designer platform and your designs.
These sections cover:

Executing Individual Tcl Commands on page 97

Running Tcl Scripts on page 98

Executing Individual Tcl Commands


Execute Tcl commands at the command input toolbar or the Console input
command line.

To execute a Tcl command, enter it at the Console or the command input


toolbar, and then press Enter.
Alternatively, you can list the command in the Console, select it, and then
click Execute. For details about listing available Tcl commands, see Help
with Custom Designer Tcl on page 14.

To repeat a command operation from this session, click History in the


Console, select the command from the history list, and click Execute.

To save a command operation from this session, select it in the history list,
click Save Selection As, and choose a Tcl file.

You can also create, register, and use your own Tcl commands. Both CAD
support groups and designers can use presentation layer (OPAL) Tcl
commands to develop custom user interfaces supporting best-practice design
processes. Commands in the Custom Designer platform gi namespace create
custom user interfaces.

Galaxy Custom Designer Platform User Guide


J-2014.12

97

Chapter 5: General Designing


Working on Designs

See also
More about General Designing on page 81
Running Tcl Scripts
Run Tcl scripts to automate Tcl command sequences. You can create, source,
and run Tcl scripts.

To create a Tcl script, open a text file, and enter the Tcl.
To find commands for scripting, see Help with Custom Designer Tcl on
page 14. To register new Tcl commands, use de::createCommand.

To source a Tcl script, at the Console prompt, enter:


source [filePath] <script_name>.tcl
You can enter the first few unique characters of the file name, and then press
Tab to see the list of all available Tcl scripts in the directory.
After sourcing the Tcl script, you can run it.

To manually run a Tcl script, at the Console prompt execute the Tcl
command it describes:
<namespace>::<command>
If you are not familiar with the script, open the script file, and find the
namespace declared at the top and follow that with the Tcl procedure you
want to run.

To automatically run a Tcl script on startup, place a copy of it in one of the


startup directories at the distribution scope you prefer.

See also
More about General Designing on page 81

Changing Edit Modes


Change the edit mode to switch the editing context between read-only and
write-enabled.

98

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Processing Jobs

To change the edit mode:

In a design window, choose Design > Make Read-Write or


Design > Make Read-Only.

If the design is currently write-enabled, you can save recent changes before
switching to read-only mode.
See also
More about General Designing on page 81

Discarding Edits
Discard edits when you want to revert the design to the last saved state.
Complete this single step:

In any design window, choose Design > Discard Edits.

Alternatively, you can revert the design to any previous state in this session by
using the Transaction History assistant. See Transaction History Assistant on
page 349.
See also
More about General Designing on page 81

Processing Jobs
When you analyze and evaluate designs using the Custom Designer platform
and integrated tools, you can monitor the job processes, and view the output.
These sections cover:

Monitoring Processes on page 100

Accessing Process Output and Command History on page 100

Galaxy Custom Designer Platform User Guide


J-2014.12

99

Chapter 5: General Designing


Viewing Design Summaries

Monitoring Processes
To monitor processes:

Use the Job Monitor Tool on page 248.

Use the Text Viewer Tool on page 340.

See also
Accessing Process Output and Command History on page 100
More about General Designing on page 81

Accessing Process Output and Command History


Access output for processes such as design rule checking through the Console
log or the Text Viewer.
For processes that change or annotate designs, you can open the design as
instructed for that process.
To access process output:

In the Console, click Output.

In a log file, open the session log in the current working directory.

For processes that produce text output, use the Text Viewer Tool on
page 340.

To only filter output and view errors and warnings, click the Console Errors/
Warnings tab.

See also
More about General Designing on page 81

Viewing Design Summaries


View a design summary to see object details for all components in a design.
To view a design summary:
1. In the window with the design, choose Design > Summary.
2. In the Console output pane, find the listed summary.

100

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Viewing Component Summaries

The system lists the design summary in the Console. The summary includes
details about database and user units, and object types and their
specifications for all objects in the design.
See also
More about General Designing on page 81

Viewing Component Summaries


View a component summary to see attribute details for a component.
To view a component summary:
1. In the window with the design, select the component.
2. Choose Edit > Query.
The system lists the component summary in the Console. The summary
includes a list of component attributes and their values, and connectivity
details where applicable.
See also
More about General Designing on page 81

Saving Your Designs


These sections cover:

Saving Designs on page 101

Saving Designs with New Names on page 102

Checking and Saving All Designs in Libraries on page 103

Saving Designs
Save a design to retain edits made after the last save operation.

Galaxy Custom Designer Platform User Guide


J-2014.12

101

Chapter 5: General Designing


Saving Your Designs

Complete this single step:

Choose Design > Save.

The system saves all design views opened from this context, committing all inmemory changes to disk, and storing a record of all undo operations performed
after the last save operation.
See also
Saving Designs with New Names on page 102
More about General Designing on page 81

Saving Designs with New Names


Save a design with a new name to create an additional version with the most
recent changes.
To save a design with a new name:
1. In the design editor, choose Design > Save As.
2. To save this design in a different library, or as a different cell or view, select
options from the Library, Cell, and View lists.
3. Click Save.
See also
Saving Designs on page 101
More about General Designing on page 81

Checking and Saving Individual Design Schematics


You can check and save a schematic to confirm its compliance with electrical
and semantic rules.
To check and save a design:

In the design schematic, choose Design > Check and Save.


If no errors are found, the Console reports information noting that no rule
violations were found.
If errors are found, a dialog box opens listing the number of errors, and the
Marker Browser tool opens to assist with locating them. You can choose to
Save anyway, or you can click Cancel, and fix the errors before checking
and saving again.

102

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Saving Your Designs

See also
More about General Designing on page 81

Checking and Saving All Designs in Libraries


You can check and save all schematic designs in libraries to validate them for
compliance with electrical and semantic rules. This operation completes by
saving all designs in the library. It is useful after importing design libraries
exported from other tools.
To check and save libraries:
1. Open the Library Manager.
From the Console or any design window, choose Tools > Library Manager
or click the Library Manager button.
2. Choose Edit > Check and Save Libraries.
3. Specify check and save settings as described in Table 33 on page 103.
Table 33

Library Check and Save Settings

Settings

Description

Force Checks

Controls whether a design will first be checked to see if the


rules need to be executed.

Check Only

Checks designs, but does not save them.

Remove all Markers

Removes markers set by all tools.

Prompt for Save

Prompts to save the design when errors are found, and lists
the number of errors. Otherwise, saves automatically.

Views

To include specific views in the check and save operation,


enter them here, and leave the Exclude check box
unchecked.

Exclude

To exclude specific views from the check and save operation,


choose the Exclude option, and enter the views by name in
the Views box.

4. Specify libraries. You can filter the list, and use the buttons to specify
libraries.
Galaxy Custom Designer Platform User Guide
J-2014.12

103

Chapter 5: General Designing


Printing and Plotting Designs

To select all listed libraries, click Check All.

To deselect all libraries, click Check None.

To hide the libraries you have not selected, click Hide Unchecked.

5. (Optional) To see a preview of the selected list of libraries and designs, click
Preview. You can further filter the set of designs to check, and optionally
click Run to run the check and save operation.
6. After settings are complete, click Run to run the library check and save
operation.
See also
More about General Designing on page 81

Printing and Plotting Designs


Print a design to view it on paper or as plotted output. You can choose to print
or plot the design, export it as a PNG, JPEG, or BMP image (see Exporting
Design Images on page 108), or create an Adobe PostScript file for later
printing.
The Job Monitor tracks printing processes. See the Job Monitor Tool on
page 248.
You can submit print requests, check the current print queue, and cancel print
requests.
These sections cover:

Submitting a Print Request on page 104

Checking the Print Queue on page 107

Cancelling a Print Request on page 107

To set up a printer, use the Tcl command db::createPrinter.

Submitting a Print Request


Submit a print request to add it to the queue.
1. Submit the print request:
From the Console or the Library Manager, choose File > Print > Submit.

104

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Printing and Plotting Designs

From a design window, choose Design > Print > Submit. Use this option
when you want to print or plot the contents of the current design viewport.
2. Specify a source cellView.
If the Source option is not already selected, you can directly choose a library,
optional category, cell, and view.
From the design view, by default, the cellView in the current viewport is
selected. To choose a different cellView, deselect the Current Viewport
option and specify the image by library, optional cell category, cell, and view.
From the Console, a current viewport cellView is not available. Specify the
image by library, optional cell category, cell, and view.
3. Specify print options.
Table 34 on page 105 lists basic print options.
Table 34

Print Options

Option

Description

Source

Current Viewport prints or plots all design data within the


viewport, including highlighting, flight lines, rulers, and the grid.
Show Cell Categories adds the category column.

Destination

Printer plots on the printer you specify from the list.


Copies: Choose a number of copies.
Print to File: For Adobe PostScript output, choose and enter, or
browse for a file name.

Page Format

Orientation choices include Portrait, Landscape, or an


Automatic option that rotates those pages whose aspect ratio is
greater than one by 90 degrees to more fully utilize the aspect
ratio of the paper.
Paper Size choices correspond to the specified printer or plotter.
Double-Sided printing plots or prints on both sides of each
page.

Margins

Sets the border width on all sides of the printed or plotted image.

4. (Optional) For display appearance, scaled size, annotation, and hierarchy


options, additionally specify advanced print options, and click OK.

Galaxy Custom Designer Platform User Guide


J-2014.12

105

Chapter 5: General Designing


Printing and Plotting Designs

Table 35 on page 106 lists advanced print options.


Table 35

Advanced Print Options

Option

Description

Appearance

Display sets the printer type from display resources


OLP Group, if available, offers the option to set an object layer
panel group
Color Mode renders the output in color, grayscale, or black and
white
Omit Background renders the background color transparent

Size

Scale fits the image to a page by width or height or by a factor


you set
Font scale scales the font size for all characters, including any
annotation fonts

Annotations

Grid and Axes adds the background grid and orientation axes
Border Rulers adds rulers
Title adds a title to the bottom border with the library, cell, and
view, the timestamp of the last save operation, and the user ID
of the person outputting the data
Legend adds a legend at the left, right, top, or bottom, or on a
separate page
Font Size sets the font (default: Arial) size for the border, rulers,
and legend, if used (see Font Scale to set the font size in
proportion to the image size)

Hierarchy

Mode: In-Context prints only the placed, or switch view. All prints
all views of the master cellView
Viewlist limits the number of hierarchy levels printed when a
config view is not used
Filter limits printed output to pattern-matched names for
libraries, cells, and views you specify. Enter lists with spaces
between entries.

5. (Optional) To view the specified output before printing, click Preview.


6. Click Print.
In the confirmation dialog, you can make changes before submitting the job.

106

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Printing and Plotting Designs

See also
More about General Designing on page 81

Checking the Print Queue


Check the print queue to view current print requests.
To check the print queue:
1. Begin by opening the queue window.
From the Console, choose File > Print > Queue.
From a design window, choose Design > Print > Queue.
2. Choose a printer.
3. View the queue.
You can sort print requests by rank, owner, job, file, or total size.
See also
More about General Designing on page 81

Cancelling a Print Request


Cancel a print request to delete it from the queue.
To cancel a print request:
1. Open the queue window:
From the Console, choose File > Print > Queue.
From a design window, choose Design > Print > Queue.
2. Select a print request.
3. Choose Edit > Cancel Print Job.

Galaxy Custom Designer Platform User Guide


J-2014.12

107

Chapter 5: General Designing


Exporting Design Images

See also
More about General Designing on page 81

Exporting Design Images


Export design images to produce output files in various image formats.
To export a design image:
1. In any design window, choose Design > Export Image.
Alternatively, from the Console choose File > Export Image.
2. Specify export options.
Table 36 on page 108 lists and describes options.
Table 36

Export Image Options

Option

Description

Source

Current Viewport prints or plots all design data within the


current viewport, including highlighting, flight lines, rulers, and
the grid.
Show Cell Categories adds the category column.
Depth specifies the deepest level to output, with 0 outputting the
top level only.

Destination

File: Enter, or browse to find a file to overwrite.


Format: PNG, JPEG, or BMP image

Appearance

Display sets the printer type from display resources


OLP Group, if available, offers the option to set an object layer
panel group
Grayscale renders the plot in grayscale instead of color or black
and white
Omit Background renders background color transparent

From the design view, by default, the cellView in the current viewport is
selected.

108

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Using Tcl in Tcl Bytecode Format

From the Console, a current viewport cellView is not available. Specify the
image by library, optional cell category, cell, and view.
3. Enter, or browse to choose a destination file name.
4. Choose an image format, PNG (lossless compression), JPEG (lossy
compression), or BMP (standard bitmap).
5. For layouts, optionally specify the image appearance by named display type
or Object/Layer Panel group (see the Object/Layer Panel Assistant on
page 294).
6. Click Export.
See also
More about General Designing on page 81

Using Tcl in Tcl Bytecode Format


Tcl bytecode format protects the proprietary information contained in Tcl code.
Bytecode format files have the file extension .tbc.
You can use Tcl delivered to you in Tcl bytecode format from other
organizations just like you use Tcl in Tcl format.
You can also export your own Tcl in bytecode format to keep its proprietary
information secret.
These sections cover:

Executing Tcl Received in Tcl Bytecode Format on page 109

Exporting Tcl in Tcl Bytecode Format on page 110

Executing Tcl Received in Tcl Bytecode Format


Tcl bytecode files can be sourced like any Tcl script. The Custom Designer
platform ships with the bytecode interpreter, which executes the Tcl bytecode
as if it were Tcl.
For example, you can source the file myTclCode.tbc by inputting source
myTclCode.tbc to the Custom Designer platform Console.
You can also place Tcl bytecode files anywhere Tcl files are normally placed,
for automatic interpretation on the Custom Designer platform.
Galaxy Custom Designer Platform User Guide
J-2014.12

109

Chapter 5: General Designing


Closing Designs

See also
More about Using Tcl in Tcl Bytecode Format on page 109
More about General Designing on page 81

Exporting Tcl in Tcl Bytecode Format


When you ship Tcl to external organizations, you can keep its proprietary
information secret by exporting it in Tcl bytecode format.
The Custom Designer platform supports the protection of Tcl source code
through the use of ActiveState's Tcl Dev Kit (TDK) Compiler product.
The ActiveState compiler generates Tcl bytecode (.tbc) files, which can be
sourced like any Tcl script. The Custom Designer platform also ships with the
bytecode interpreter, which executes the Tcl bytecode as if it were Tcl.
To export Tcl in Tcl bytecode format:
1. From the ActiveState website, obtain the Tcl Dev Kit Compiler product.
Find instructions for downloading and using the ActiveState Tcl Dev Kit
Compiler on the ActiveState website. The Tcl Dev Kit User Guide has
additional information.
2. Use the Tcl Dev Kit Compiler to compile your Tcl into Tcl bytecode format.
3. Ship the bytecode format files as you would ship Tcl files.
4. Alert organizations receiving the bytecode that although the filename
extension is different, bytecode format files can be treated in the same
manner as Tcl.
See also
More about Using Tcl in Tcl Bytecode Format on page 109
More about General Designing on page 81

Closing Designs
Close a design to remove it from view in the current editing session, and to
close all open files for the current context. To retain changes, save the design
before closing it.

110

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 5: General Designing


Closing Designs

1. Choose Design > Close.


2. If the design has unsaved changes, you can choose to discard them, save
them now, save the design with a new name, or cancel this operation.
If the design is a schematic, you can check and save it before closing it.
3. Click OK.
See also
Checking and Saving Individual Design Schematics on page 102
More about General Designing on page 81

Galaxy Custom Designer Platform User Guide


J-2014.12

111

Chapter 5: General Designing


Closing Designs

112

Galaxy Custom Designer Platform User Guide


J-2014.12

6
6

General Netlisting and Simulation

Simulate a design after drawing and updating the schematic, and any time on
an iterative basis. For simulation input, generate a design netlist. You can
perform basic netlisting and simulation using menu commands available from
the platform. You can alternatively work within the Custom Designer simulation
analysis environment (SAE) for a custom user experience. For details about
using SAE, see the Custom Designer SAE User Guide.

This chapter covers Custom Designer platform design netlisting and simulation:

Preparing for Basic Netlisting and Simulation on page 113

Running Netlisting and Simulation Processes on page 119

Viewing Simulation Output on page 121

Viewing Simulation Results as Waveforms on page 123

Viewing Simulation Results in Plot Sets on page 125

Performing Post-Layout Simulation on page 127

Preparing for Basic Netlisting and Simulation


Prepare for basic netlisting and simulating by initializing a design with a run
directory, preparing input files (and optionally editing control files), and then
loading the initialized directory for use in the simulation process.
The Custom Designer platform provides a netlist-based simulation interface for
schematics and layouts. This system generates netlists, accepts simulator
input, runs simulations using integrated tools, and produces output views by
plotting signals in a wave viewer or displaying text files in the Text Viewer tool.

Galaxy Custom Designer Platform User Guide


J-2014.12

113

Chapter 6: General Netlisting and Simulation


Preparing for Basic Netlisting and Simulation

These sections cover:

Initializing Simulation Run Directories on page 114

Preparing Simulation Input Files on page 115

Loading Simulation Run Directories on page 118

Initializing Simulation Run Directories


Initialize a simulation run directory to associate it with a design, and a simulator
in preparation for simulation. After you initialize a run directory, you can load it
each time you want to simulate using this run directory.
Initialization associates the design with a run directory and a simulator. For
successful simulation, each top level design must be initialized with a run
directory. Run directories store all netlisting, simulation and output viewing
options, and data. You can initialize a design by creating a new run directory or
by loading a previously created run directory.
To initialize a simulation run directory:
1. In the design schematic you want to simulate, choose Simulation >
Initialize > New.
(Show the Simulation menu by choosing Tools > Simulation.)
2. Visually confirm the library, cell, and view.
3. Choose a run directory. You can browse, optionally copy a path from a
previous run directory, or accept the directory shown.
Re-use a run directory for a new simulator by copying the path from the
previous run directory.
Use the same directory every time by setting the xtSimRunDirBase
preference to an existing run directory.
4. Choose an installed simulator. For Synopsys tools, you can use HSPICE,
HSIM, NanoSim, XA or Verilog.
5. Click Create.
You can edit various simulation inputs such as models, and analysis, and
design variables to be included in the final netlist. See Preparing Simulation
Input Files on page 115.
If input files are prepared and this is the first time you are simulating this
design, continue by Loading Simulation Run Directories on page 118.

114

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 6: General Netlisting and Simulation


Preparing for Basic Netlisting and Simulation

See also
xt::showInitNew

Preparing Simulation Input Files


Prepare input files by editing control templates, and specifying their use.
These sections cover:

Editing Netlist Control Templates on page 115

Specifying Netlist Input Options and Commands on page 117

Viewing Netlists for Input


View the netlist by opening the Netlist view.
Edit the final netlist to make changes to it before simulation.
To view a netlist:
1. In the design schematic view, choose Simulation > Inputs > Netlist.
The final netlist opens in the default editor.
2. Make edits to the final netlist.
3. Save, and close the netlist file.
4. Continue by Simulating Designs on page 121.
See also
More about Preparing for Basic Netlisting and Simulation on page 113

Editing Netlist Control Templates


Edit the control template to determine the structure of the final netlist. An
editable default control template is included in every newly created run
directory. Inputs are included in the final netlist according to their sequence in
the control template. Through the control template, you can add name
mapping, file substitution, and model file processing options to the netlisting
process.

Galaxy Custom Designer Platform User Guide


J-2014.12

115

Chapter 6: General Netlisting and Simulation


Preparing for Basic Netlisting and Simulation

To edit the netlist control template:


1. In the design schematic view, choose Simulation > Inputs > Control
Template.
Alternatively, you can open the associated text file. Find it in the initialized
run directory for this design. (See Preparing for Basic Netlisting and
Simulation on page 113.)
Edit the supplied control template to include any additionally required files.
Add markup syntax to indicate files to include in the final netlist. The
netlisting process adds the contents of the included files to the final netlist
in the order shown in the control template, and responds to control markups.
Table 37 on page 116 lists and describes netlist control template markups.
Table 37

Netlist Control Template Markups

Expression tag

Netlister Operation

[!filename]

Adds the contents of this file after processing for further


name mapping and file substitution. If a relative path
name is used, the process looks for the file by filename
in the run directory. To use a file outside of the run
directory, enter a full file system path name. The
process generates an error if this file is not found.

[?filename]

Same as [!filename] with this exception: The process


does not generate an error if this file is not found.

[n!filename]

Prevents the models file from being name-mapped.


Produces the same information as [!filename] with this
exception: the process does not parse the contents of
the new file, and does not interpret netlist tags. The
process generates an error if this file is not found.

[n?filename]

Prevents parsing the contents of the new file, and does


not interpret netlist tags.

2. Add markups for any files to be included in the final netlist.


The system will process the markups, and replace the text appropriately.
You can use markups to trigger name mapping, to convert names in the
database namespace to the simulator namespace.

116

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 6: General Netlisting and Simulation


Preparing for Basic Netlisting and Simulation

Table 38 on page 117 lists and describes HSPICE simulation expression


tags.
Table 38

HSPICE Simulation Expression Tags

Expression tag

For HSPICE simulation, replace the expression with...

[#netname]

The netlister-assigned node name for netname. The


netname can be a hierarchical reference in the design
namespace, for example, inst/net1. Leading hierarchy
delimeters are not allowed in certain syntaxes,
therefore the leading hierarchy delimeter's exclusion in
the target is based on the xtNameMap's
leadingDelimiter attribute value. If you omit the forward
slash (/) in the original name-space path, the leading
delimiter in the target is also excluded.

[$instname]

The netlister-assigned instance name for instname.


The instname can be a hierarchical reference in the
design namespace, for example, inst1/inst2.

[+terminal]

The netlister-assigned node name of the net attached


to the specified terminal. The terminal can be a
hierarchical reference in the design namespace, for
example, inst1/inst2:plus. If you specify a terminal
name without a hierarchical path, or set it to follow a
hierarchy delimiter, the netlister recognizes it as the
terminal of a subcircuit, as in [+in1] or [+/inst/in2].

3. Continue by Specifying Netlist Input Options and Commands on page 117.


See also
More about Preparing for Basic Netlisting and Simulation on page 113

Specifying Netlist Input Options and Commands


Specify netlist input options and commands by adding statements, analysis
options, model data, and files to the final netlist. Each integrated simulator
accepts a set of input options.

Galaxy Custom Designer Platform User Guide


J-2014.12

117

Chapter 6: General Netlisting and Simulation


Preparing for Basic Netlisting and Simulation

To specify netlist input options and commands:


1. In the design schematic view, choose Simulation > Inputs.
From the Inputs list, choose the type of data you want to define, such as
analysis, design variables or models.
Each choice opens a text file for the designated type of data, where you can
enter netlist commands.
2. Edit the files.
3. Save changes, and close the files.
4. After specifying netlist options and commands, continue by Loading
Simulation Run Directories on page 118.
See also
More about Preparing for Basic Netlisting and Simulation on page 113

Loading Simulation Run Directories


Load an initialized simulation run directory to complete simulation preparation.
To load a simulation run directory:
1. In the design schematic you want to use, at the top design level, choose
Simulation > Initialize > Load.
2. Visually confirm the library, cell, and view associated with the run directory
you plan to load.
If an incorrect library, cell, or view is shown, navigate to the correct view and
re-start this procedure.
3. Browse to find the initialized run directory for the current design.
4. Click Load.
See also xt::showInitLoad
5. (Optional) To change the simulator used to process this design, initialize a
new run directory. See Initializing Simulation Run Directories on page 114.
6. (Optional) To continue simulation for this design, see Running Netlisting and
Simulation Processes on page 119.

118

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 6: General Netlisting and Simulation


Running Netlisting and Simulation Processes

See also
More about Preparing for Basic Netlisting and Simulation on page 113

Running Netlisting and Simulation Processes


These sections cover:

Setting up and Running Netlisting or Simulation Processes on page 119

Generating Netlists on page 120

Simulating Designs on page 121

Rerunning Netlisting and Simulation Processes on page 120

Setting up and Running Netlisting or Simulation


Processes
Assign run options the first time you netlist or simulate a design, and any time
you want to change the netlist syntax, host, or the option to run the process in
the foreground or background.
To netlist or simulate with new setup options:
1. In the design schematic view, choose Simulation > Netlist and Simulate.
2. Visually confirm the library, cell, view, and run directory.
3. (Optional) Choose Netlist or Simulate, or click both options.
4. Choose the netlist output syntax.
5. Choose to run this job as a foreground or background process.
6. If you initiate the simulation process on a remote server, specify the host.
7. Click Run.
The tool netlists and simulates the design using these settings until you
change them as described here.
See also
xt::showNetlistAndSimulate
Continue by Viewing Simulation Output on page 121.
Galaxy Custom Designer Platform User Guide
J-2014.12

119

Chapter 6: General Netlisting and Simulation


Running Netlisting and Simulation Processes

Rerunning Netlisting and Simulation Processes


Netlist and simulate using current run options to iteratively analyze the design.
(To change run options, see Setting up and Running Netlisting or Simulation
Processes on page 119.)
To rerun netlisting and simulation:

In the design schematic view, choose Simulation > Run > Netlist and
Simulate
See also
xt::runNetlistAndSimulate

Continue by Viewing Simulation Output on page 121.

Generating Netlists
Note:

To retain previous netlisting results, rename or archive current


netlist files before initiating this process.

Generate a schematic netlist without simulating the design when you want to
produce a netlist, only. (To change setup options first, see Setting up and
Running Netlisting or Simulation Processes on page 119.)
You can optionally export a netlist without opening the design.
To generate a netlist:
1. Begin by opening a design schematic.
2. In the schematic window, choose Simulation > Run > Netlist.
The netlister generates the structural netlist, which corresponds to the
hierarchy of the selected cellView. Then the netlister uses the control file
template to build the final netlist from a combination of the structural netlist
and any additional files included by the control template.
The tool writes a new version of the netlist, and overwrites any previously
generated netlist in the run directory.
3. Continue by optionally Viewing Netlists for Input on page 115 or Simulating
Designs on page 121.

120

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 6: General Netlisting and Simulation


Viewing Simulation Output

See also
nl::runNetlister

Simulating Designs
Simulate using the last generated netlist to repeat the process without
changing the input.
(To use a different netlist, or to change other run options such as the netlist
syntax or host, see Setting up and Running Netlisting or Simulation Processes
on page 119. To generate a new netlist before simulating, see Generating
Netlists on page 120.)
To simulate a design:

In the design schematic view, choose Simulation > Run > Simulate.
If any input files listed in the control template have changed, the system also
generates a final netlist. You can use this method to update the final netlist
to reflect input file changes without regenerating the structural netlist.
See also
xt::runSimulator

Continue by Viewing Simulation Output on page 121.

Viewing Simulation Output


View simulation output through run and simulator logs, and netlist output.
These sections cover:

Viewing Run Logs on page 121

Viewing Netlist Output on page 122

Viewing Simulator Output Logs on page 122

Viewing Run Logs


View the run log to see logged operations for the last netlisting process.

Galaxy Custom Designer Platform User Guide


J-2014.12

121

Chapter 6: General Netlisting and Simulation


Viewing Simulation Output

To view a run log:

In the design schematic view, choose Simulation > Outputs > View Run
Log.
See also
xt::viewRunLog

You can save the log for archiving, and select text for copying. To work with the
log text, use the Text Viewer tool.

Viewing Netlist Output


View netlist output to see the final netlist as stored in the run directory.
To view netlist output:

In the design schematic view, choose Simulation > Outputs > View
Netlist.
See also
xt::viewSimInput

You can save the netlist file for archiving, and select and edit text for copying. To
work with the netlist text, use the Netlist Editor.

Viewing Simulator Output Logs


View the simulator output log to see logged operations for this simulation
process.
To view simulator output:

In the design schematic view, choose Simulation > Outputs > View
Simulator Outputs.
See also
xt::viewSimOutput

You can view all simulator-generated output. To work with the log text, use the
Text Viewer tool.

122

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 6: General Netlisting and Simulation


Viewing Simulation Results as Waveforms

Viewing Simulation Results as Waveforms


View simulation results as waveforms to see design behavior in the waveform
state.
These sections cover:

Plotting Waveforms on page 123

Launching New Waveform Viewers on page 124

Plotting Waveforms
Plot waveforms after simulation by viewing signals in the waveform viewer,
selecting wires and instance pins, and interactively viewing voltages and
currents.
When signal waveform files are available in the run directory, the associated
menu is enabled.
You can additionally display signals using plot sets. A plot set stores a set of
signals, such as voltages or currents, for plotting at a later time. Plot sets are
saved to the run directory in the plotSet.plt file. You can optionally save the plot
set files by different names (see Saving Plot Sets on page 126).
The system loads the plotSet.plt file automatically when the run directory
initializes. Any signals saved can be sent to the waveform viewer using Display
Plot Set.
For interactive plotting:
1. In the design schematic view, choose Simulation > Outputs > Plot
Waveforms.
2. Choose waveform plotting options.
Table 39 on page 123 lists and describes waveform plotting options.
Table 39

Waveform Plotting Options

Option

Description

Analysis

Sets one or all analysis types to be used.

Galaxy Custom Designer Platform User Guide


J-2014.12

123

Chapter 6: General Netlisting and Simulation


Viewing Simulation Results as Waveforms

Table 39

Waveform Plotting Options

Option

Description

Graph Options

New creates a new plot window and displays


the trace
Append adds a new trace to an existing plot
window
Replace replaces the trace in the current plot
window with the trace now selected

Add to Plot Set

Adds selections you make to the active plot set

3. Select a net or terminal as prompted.


The graph highlights the corresponding signal for this device.
4. (Optional) Change analysis and graph options.
5. Continue to select devices.
6. To end the selection process, press Esc.
See also
xt::plotWaveform
ixt::plotWaveform

Launching New Waveform Viewers


Launch a new waveform viewer to see the current waveform without previously
specified signals.
To launch a new wavform viewer:

In the design schematic view, choose Simulation > Outputs > Launch
New Viewer.
See also
xt::launchPlotViewer

To perform additional evaluation processes, continue by Viewing Simulation


Output on page 121 and choose an option.

124

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 6: General Netlisting and Simulation


Viewing Simulation Results in Plot Sets

Viewing Simulation Results in Plot Sets


View simulation results in plot sets to edit, display, load, and save plot set
components.
This section covers.

Editing Plot Sets on page 125

Displaying Plot Sets on page 125

Loading Plot Sets on page 126

Saving Plot Sets on page 126

Editing Plot Sets


Edit the plot set to add or delete nets or terminals.
To edit a plot set:
1. In the design schematic view, choose Simulation > Outputs > Edit Plot
Set.
The system highlights current plot set nets and instance pins.
2. Add or remove signals from the plot set by clicking on wires or instance pins.
Clicking on a highlighted wire or pin removes it from the plot set. The
highlight disappears. Clicking on a non-highlighted wire or pin highlights it,
and adds it to the plot set.
3. When you are done, press Esc.
See also
ixt::editPlotSet
You can continue by Displaying Plot Sets on page 125 or Saving Plot Sets on
page 126.

Displaying Plot Sets


Display a plot set to see currently selected signals plotted in the graph window.
(To set up a plot set for display, see Editing Plot Sets on page 125.)

Galaxy Custom Designer Platform User Guide


J-2014.12

125

Chapter 6: General Netlisting and Simulation


Viewing Simulation Results in Plot Sets

To display a plot set:

In the design schematic view, choose Simulation > Outputs > Display Plot
Set.
See also
xt::displayPlotSet

To perform more evaluation processes, continue by Viewing Simulation Output


on page 121, and choose an option.

Loading Plot Sets


Load a plot set to work with a set you have previously saved.
Loading a plot set replaces the current plot set but does not affect currently
loaded waveforms.
To load a plot set:
1. In the design schematic view, choose Simulation > Outputs > Load Plot
Set.
2. From the list of plot set files in the current simulation run directory, specify
the plot set you want to load.
3. Click OK.
See also
xt::loadPlotSet
Continue by Plotting Waveforms on page 123 or Saving Plot Sets on page 126.
To perform more evaluation processes, continue by Viewing Simulation Output
on page 121, and choose an option.

Saving Plot Sets


Save a plot set to retain it for comparison with future plot sets.

126

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 6: General Netlisting and Simulation


Performing Post-Layout Simulation

To save a plot set:


1. In the design schematic view, choose Simulation > Outputs > Save Plot
Set.
2. Enter a file name or accept the default name of plotSet#.plt, where # is an
incremented number for each new plot set saved.
3. Click Save.
To perform more evaluation processes, continue by Viewing Simulation Output
on page 121, and choose an option.

Performing Post-Layout Simulation


Perform post-layout simulation with the OpenAccess output from the parasitic
extraction process. Parasitic extraction generates an OpenAccess view that
contains the devices and connectivity as placed in the layout. The view also
contains parasitic devices related to the layers and interconnects.
These sections cover:

About Post-Layout Simulation on page 127

Setting Extracted Views through the Hierarchy Editor on page 128

Setting a Tcl Preference for Finding Extracted Views on page 128

About Post-Layout Simulation


For post-layout simulation processes, set the design to use the extracted view,
and choose Tools > Simulation to perform simulation on it.
Use one of these two methods to set up the design configuration so that the
post-layout simulation process uses the extracted view:

Setting Extracted Views through the Hierarchy Editor on page 128

Setting a Tcl Preference for Finding Extracted Views on page 128

Galaxy Custom Designer Platform User Guide


J-2014.12

127

Chapter 6: General Netlisting and Simulation


Performing Post-Layout Simulation

After setting up the design configuration, continue by netlisting, editing inputs,


simulating, and viewing outputs:

See Running Netlisting and Simulation Processes on page 119.

Setting Extracted Views through the Hierarchy Editor


Set an extracted view through the Hierarchy Editor to assist with post-layout
simulation processing.
To set an extracted view through the Hierarchy Editor:
1. Create a configuration (config) view for the top level schematic view.
2. Using the Hierarchy Editor, set the view for the instance being tested to use
the extracted view.
3. Save the configuration.
4. Open the design config view.
5. Invoke the simulation tool.
See Running Netlisting and Simulation Processes on page 119.

Setting a Tcl Preference for Finding Extracted Views


You can use Tcl to set a preference for finding the extracted view. This
preference controls the view search list process so that the extracted view is
found before the schematic view. This causes the hierarchy system to choose
the extracted view for any cells that contain this view.
To set a Tcl Preference for finding the extracted view:
1. Invoke the simulation tool.
See Running Netlisting and Simulation Processes on page 119.
2. Initialize a run directory.
3. Set the xt<simulator>GlobalSearchList preference using the
db::setPrefValue command.
For example, if the extracted view is generated by StarRC, and the view
name is starrcxt, this is the console Tcl input:

128

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 6: General Netlisting and Simulation


Performing Post-Layout Simulation

db::setPrefValue xtHSPICEGlobalViewSearchList -value


"hspice hspiceD cmos.sch cmos_sch starrcxt schematic"
-scope $runDir
where runDir is set to the simulation run directory used by the design.
Continue by netlisting and simulating the extracted view. See Running
Netlisting and Simulation Processes on page 119.

Galaxy Custom Designer Platform User Guide


J-2014.12

129

Chapter 6: General Netlisting and Simulation


Performing Post-Layout Simulation

130

Galaxy Custom Designer Platform User Guide


J-2014.12

7
Design Rule Checking

Verify the expected behavior of layout components by performing design rule


checks and layout-versus-schematic comparisons. Extract device parasitics to
identify devices, including resistors, capacitors, and inductors, that are not
present in the design schematic.

This chapter covers Custom Designer platform physical verification and


parasitic extraction, which includes:

Setting Verification Process Node Options on page 131

Checking for Compliance with Design Rules (DRC) on page 132

Setting Verification Process Node Options


Set physical verification and extraction options to specify the manufacturing
process node to associate with design rule checking, layout versus schematic
comparison, and parasitic extraction runs.
To set physical verification and extraction options:
1. Begin with an open design layout or schematic.
2. Choose Verification > Options.
(Choosing Tools > Verification adds the Verification menu to the window
menu bar.)
3. Choose the Process, and its Variant, from the lists.
4. (Optional) If changes have been made to the PDK, click the Reload button
to apply those changes.

Galaxy Custom Designer Platform User Guide


J-2014.12

131

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

See also

All about Design Rule Checking on page 131

Checking for Compliance with Design Rules (DRC)


Perform the design rule checking (DRC) process to evaluate the design for
compliance with layout fabrication rules. DRC results show compliance with
minimum/maximum/exact widths, spacings, enclosures, and other
requirements. DRC runs can verify the correctness of the design mask set.
The Custom Designer platform DRC process operates on OpenAccess or
Stream format data. You can optionally stream the DRC information to GDSII,
and then run the DRC process on the .gds file.
You can choose the tool you want to use from the list of integrated tools.
These sections cover:

Using the IC Validator Tool for Design Rule Checking on page 132

Using the Hercules Tool for Design Rule Checking on page 138

Using a Mentor Graphics Calibre Tool for Design Rule Checking on


page 140

Using Custom DRC Jobs for Design Rule Checking on page 147

This section also covers rerunning DRCs, viewing output, and debugging the
design:

Rerunning Design Rule Checks on page 148

Viewing Design Rule Check Output on page 148

Debugging the Design using DRC Results on page 149

Using the IC Validator Tool for Design Rule Checking


You can use the IC Validator tool for design rule checking on the Custom
Designer platform.
You can set up and run the design rule check, and then rerun it using the same
or slightly varied settings for iterative development. Use the IC Validator VUE
tool to evaluate results.

132

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

To set up and run an IC Validator design rule check:


1. In the design layout window, choose Verification > DRC > Setup and Run.
(Choosing Tools > Verification adds the Verification menu to the window
menu bar.)
2. In the DRC Setup and Run dialog box under Job Parameters, choose IC
Validator from the Tool list.
The dialog box reconfigures to reflect available options for this tool based on
the current runset, and the tool uses the runset options shown here.
Continue by entering input requirements for this tool on the Setup and Run
dialog box Main tab.
3. On the Main tab, enter settings as described in Table 40 on page 133.
Table 40

IC Validator DRC Setup and Run Settings (Main tab)

Settings

Description

Run Dir

You can accept the current run directory or browse to choose


a different directory with the <directory>/<cellname>.icv.drc
runset.

Layout Format

For OpenAccess format, additionally specify the Library,


Cell, and View.
For Stream format, additionally specify the File and the top
Cell.
To export Stream file for the DRC run, choose Export
Stream, and additionally specify the Library, Cell, and View,
and the output file name.

Job Parameters

Tool is IC Validator
Launch Debugger launches IC Validator VUE when the
process completes, if violations are found.
View Output opens a Text Viewer window with the process
log.
Runset sets the path to the runset file with rules governing
the run. Browse to select the file.
Options accepts command line options for this tool, if any.

Galaxy Custom Designer Platform User Guide


J-2014.12

133

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Table 40

IC Validator DRC Setup and Run Settings (Main tab)

Settings

Description

Host is the server to run the process. If you run this process
on a remote server, choose it from the list box. Clicking the +
button next to the host text box, and entering a name, adds a
host. Selecting the host, and clicking the - button, deletes a
host. If a grid is set in the Job Monitor, the DRC or LVS job
executed from the Custom Designer platform will be queued
on the grid.

4. On the Control Variables tab, review, and optionally modify the current
values for DRC runset control variables as preferred for this DRC run. To
modify a value, click with the alternate (non-selection) mouse button, and
edit the entry field.
Only environment variables are supported on the Control Variables tab,
which depends on runset parsing, which is off by default. To switch on runset
parsing, use the preference xtDRCICVLoadRunset.
5. On the Custom Options tab, set settings.
Table 41 on page 134 describes the Layer Map and Select Window
settings.
Table 42 on page 135 lists the runset options from the current runset as
found by the IC Validator tool. You can edit the value for any option you see
by changing it here on the Custom Options tab. You can add additional
runset options here by choosing Click-to-Add, and entering a valid IC
Validator option using the correct syntax and value.
Table 41

134

IC Validator DRC Setup and Run Settings (Custom Options tab)

Settings

Description

Layer Map

For OpenAccess format, sets the file to map OpenAccess


LPP numbers and traditional GDSII stream layers/data types.

Select Window

Area on which to run the DRC check as specified by


coordinates of its rectangle, for example: [x1, y1, x2, y2] [-20,
-20, 20, 20]. To automatically insert coordinates here for a
selection area, click the interactive selection button, and then
select the area in the design.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Table 42

IC Validator Setup and Run Settings (Custom Options Tab) Runset Options

IC Validator Function
IC Validator
Argument

Option Displayed for this Function and Argument

pex_runset_report_file
file

PEX_RUNSET_REPORT_FILE_FILE

error_options
error_limit_per
_check

ERROR_OPTIONS_ERROR_LIMIT_PER_CHECK

pcell_list

ERROR_OPTIONS_PCELL_LIST

create_vue_out ERROR_OPTIONS_CREATE_VUE_OUTPUT
put
report_layout
errors

ERROR_OPTIONS_REPORT_LAYOUT_ERRORS

hierarchy_auto_options
application

HIERARCHY_AUTO_OPTIONS_APPLICATION

flow

HIERARCHY_AUTO_OPTIONS_FLOW

optimizations

HIERARCHY_AUTO_OPTIONS_OPTIMIZATIONS

no_explode_
with_text

HIERARCHY_AUTO_OPTIONS_NO_EXPLODE_WITH_
TEXT

hierarchy_options
delete

HIERARCHY_OPTIONS_DELETE

explode

HIERARCHY_OPTIONS_EXPLODE

explode_all

HIERARCHY_OPTIONS_EXPLODE_ALL

flatten

HIERARCHY_OPTIONS_FLATTEN

no_explode

HIERARCHY_OPTIONS_NO_EXPLODE

Galaxy Custom Designer Platform User Guide


J-2014.12

135

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Table 42

IC Validator Setup and Run Settings (Custom Options Tab) Runset Options

IC Validator Function
IC Validator
Argument

Option Displayed for this Function and Argument

incremental_options
exclude_
window

INCREMENTAL_OPTIONS_EXCLUDE_WINDOW

exclude_
window_by_
cells

INCREMENTAL_OPTIONS_EXCLUDE_WINDOW_BY_
CELLS

exclude_
window_by_
cells_delta

INCREMENTAL_OPTIONS_EXCLUDE_WINDOW_BY_
CELLS_DELTA

select_window

INCREMENTAL_OPTIONS_SELECT_WINDOW

clip_window

INCREMENTAL_OPTIONS_CLIP_WINDOW

window_error_
filter

INCREMENTAL_OPTIONS_WINDOW_ERROR_FILTER

layout_grid_options
resolution

LAYOUT_GRID_OPTIONS_RESOLUTION

check_45

LAYOUT_GRID_OPTIONS_CHECK_45

check_90

LAYOUT_GRID_OPTIONS_CHECK_90

openaccess_options

136

view

OPENACCESS_OPTIONS_VIEW

layer_mapping
_file

OPENACCESS_OPTIONS_LAYER_MAPPING_FILE

generate_pin
text

OPENACCESS_OPTIONS_GENERATE_PIN_TEXT

pin_text

OPENACCESS_OPTIONS_PIN_TEXT

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Table 42

IC Validator Setup and Run Settings (Custom Options Tab) Runset Options

IC Validator Function
IC Validator
Argument

Option Displayed for this Function and Argument

merged_view
list

OPENACCESS_OPTIONS_MERGED_VIEW_LIST

prototype_options
large_cells

PROTOTYPE_OPTIONS_LARGE_CELLS

symmetry

PROTOTYPE_OPTIONS_SYMMETRY

text_options
delete_text

TEXT_OPTIONS_DELETE_TEXT

replace_text

TEXT_OPTIONS_REPLACE_TEXT

replace_text_
characters

TEXT_OPTIONS_REPLACE_TEXT_CHARACTERS

use_exploded_
text

TEXT_OPTIONS_USE_EXPLODED_TEXT

edtext

TEXT_OPTIONS_EDTEXT

net_prefix

TEXT_OPTIONS_REPLACE_NET_PREFIX

layout_power

TEXT_OPTIONS_LAYOUT_POWER

layout_ground

TEXT_OPTIONS_LAYOUT_GROUND

6. On the Include Paths tab, set DRC include paths for directories whose
include files you want to pass to IC Validator.
a. In this table, select a row, and click the mouse.
b.

Browse to select the include directory.

c.

Repeat for each include path you want to add.

d. (Optional) Delete an include path by selecting it, and then clicking the
Delete button, a red x.

Galaxy Custom Designer Platform User Guide


J-2014.12

137

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

7. Click OK to start the design rule check.


8. (Optional) If you did not choose to view output on the Main tab, and you want
to view it now, see Viewing Design Rule Check Output on page 148.
9. Complete the flow by Debugging the Design using DRC Results on
page 149.
See also
Rerunning Design Rule Checks on page 148

Using the Hercules Tool for Design Rule Checking


You can use the Hercules tool for design rule checking on the Custom Designer
platform.
You can set up and run the design rule check, and then rerun it using the same
or slightly varied settings for iterative development. Use the Hercules VUE tool
to evaluate results.
To set up and run a Hercules design rule check:
1. In the design layout window, choose Verification > DRC > Setup and Run.
(Choosing Tools > Verification adds the Verification menu to the window
menu bar.)
2. In the DRC Setup and Run dialog box under Job Parameters, choose
Hercules from the Tool list.
The dialog box reconfigures to reflect available options for this tool based on
the current runset, and the tool uses the runset options shown here.
Continue by entering input requirements for this tool on the Setup and Run
dialog box Main tab.
3. On the Main tab, enter settings as described in Table 43 on page 138.
Table 43

138

Hercules DRC Setup and Run Settings (Main tab)

Settings

Description

Run Dir

You can accept the current run directory or browse to choose


a different directory with the <directory>/
<cellname>.hercules.drc runset.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Table 43

Hercules DRC Setup and Run Settings (Main tab)

Settings

Description

Layout Format

For OpenAccess format, additionally specify the Library,


Cell, and View.
For Stream format, additionally specify the File and the top
Cell.
To export Stream file for the DRC run, choose Export
Stream, and additionally specify the Library, Cell, and View,
and the output file name.

Job Parameters

Tool is Hercules
Launch Debugger launches Hercules VUE when the
process completes, if violations are found.
View Output opens a Text Viewer window with the process
log.
Runset sets the path to the runset file with rules governing
the run. Browse to select the file.
Options accepts command line options for this tool, if any.
Host is the server to run the process. If you run this process
on a remote server, choose it from the list box. Clicking the +
button next to the host text box, and entering a name adds a
host. Selecting the host, and clicking the - button, deletes a
host. If a grid is set in the Job Monitor, the DRC or LVS job
executed from the Custom Designer platform will be queued
on the grid.

4. On the Custom Options tab, set DRC custom options as described in


Table 44 on page 139.
Table 44

Hercules DRC Setup and Run Settings (Custom Options tab)

Settings

Description

Layer Map

For OpenAccess format. Set the file that maps OpenAccess


LPP numbers with traditional GDSII stream layers/data types.

Galaxy Custom Designer Platform User Guide


J-2014.12

139

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Table 44

Hercules DRC Setup and Run Settings (Custom Options tab)

Settings

Description

Select Window

Area on which to run the DRC check as specified by


coordinates of its rectangle, for example: [x1, y1, x2, y2] [-20,
-20, 20, 20]. To automatically insert coordinates here for a
selection area, click the interactive selection button, and then
select the area in the design.

Runset Options

Additional options to append to the runset. See the Hercules


documentation for option details.

5. Click OK to begin design rule checking.


6. (Optional) If you did not choose to view output on the Main tab, but you want
to view it now, see Viewing Design Rule Check Output on page 148.
7. Complete the flow by Debugging the Design using DRC Results on
page 149.
See also
All about Design Rule Checking on page 131

Using a Mentor Graphics Calibre Tool for Design Rule


Checking
You can use the Mentor Graphics Calibre and Calibre Interactive tools for
design rule checking on the Custom Designer platform.
This section covers the use of both Calibre tools:

140

Using the Calibre Tool for Design Rule Checking on page 141

Using the Calibre Interactive Tool for Design Rule Checking on page 144

Tracking Progress for Calibre Interactive Design Rule Checks on page 146

Debugging the Design using the Calibre Results Viewing Environment on


page 146

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Using the Calibre Tool for Design Rule Checking


You can set up and run the design rule check, and then rerun it using the same
or slightly varied settings for iterative development. Use the Calibre RVE tool to
evaluate results.
To set up and run a Calibre design rule check:
1. In the design layout window, choose Verification > DRC > Setup and Run.
(Choosing Tools > Verification adds the Verification menu to the window
menu bar.)
2. In the DRC Setup and Run dialog box under Job Parameters, choose
Calibre from the Tool list.
The dialog box reconfigures to reflect available options for this tool based on
the current runset, and the tool uses the runset options shown here.
Continue by entering input requirements for this tool on the Setup and Run
dialog box Main tab.
3. On the Main tab, enter settings as described in Table 45 on page 141.
Table 45

Calibre DRC Setup and Run Settings (Main tab)

Settings

Description

Run Dir

You can accept the current run directory or browse to choose


a different directory with the <directory>/
<cellname>.calibre.drc runset.

Layout Format

For OpenAccess format, additionally specify the Library,


Cell, and View.
For Stream format, additionally specify the File and the top
Cell.
To export Stream file for the DRC run, choose Export
Stream, and additionally specify the Library, Cell, and View,
and the output file name.

Job Parameters

Tool is Calibre
Launch Debugger launches Calibre RVE tool when the
process completes, if violations are found.

Galaxy Custom Designer Platform User Guide


J-2014.12

141

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Table 45

Calibre DRC Setup and Run Settings (Main tab)

Settings

Description

View Output opens a Text Viewer window with the process


log.
Hierarchical runs a hierarchical design rule check.
Runset sets the path to the runset file with rules governing
the run. Browse to select the file.
Options accepts command line options for this tool, if any.
Host is the server to run the process. If you run this process
on a remote server, choose it from the list box. Clicking the +
button next to the host text box, and entering a name, adds a
host. Selecting the host, and clicking the - button, deletes a
host. If a grid is set in the Job Monitor, the DRC or LVS job
executed from the Custom Designer platform will be queued
on the grid.

4. On the Control Variables tab, review, and optionally modify the current
values for DRC runset control variables as preferred for this DRC run. To
modify a value, click with the alternate (non-selection) mouse button, and
edit the entry field.
5. On the Custom Options tab, set DRC custom options as described in
Table 46 on page 142.
Table 46

142

Calibre DRC Setup and Run Settings (Custom Options tab)

Settings

Description

Layer Map

For OpenAccess format. Set the file that maps OpenAccess


LPP numbers with traditional GDSII stream layers/data types.

Output Runset

Specify the output runset by accepting the listed runset or


browsing to use a new top-level control file containing the
database inputs, control variables, custom options, and
primary rules.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Table 46

Calibre DRC Setup and Run Settings (Custom Options tab)

Settings

Description

Alternatively, you can use a local runset you have edited. To


do this, click the Edit SVRF button to the right of the browse
button. In the default text editor, edit the runset, and save the
changes. The presence of an edited runset deselects the
Override Local Runset option, allowing the DRC process to
automatically use the edited version.
Override Local Runset Overrides any local runset you have
edited, and applies the options you set in this dialog box.
Override Primary Runset Overrides primary rules file SVRF
commands with top-level control file SVRF commands set
using this dialog box. Choose this option to reduce the
number of unnecessary specification statements. By default,
the Calibre tool exits with an error when it finds duplicate
specification statements.
Select Window

Area on which to run the DRC check as specified by


coordinates of its rectangle, for example: [x1, y1, x2, y2] [-20,
-20, 20, 20]. To automatically insert coordinates here for a
selection area, click the interactive selection button, and then
select the area in the design.

Results Database

Accept or browse to save the Calibre DRC Results database


file in a new location.

Summary Report

Accept or browse to save the Calibre DRC Summary Report


file in a new location.

6. Click OK to begin design rule checking.


7. (Optional) Choose to view output. See Viewing Design Rule Check Output
on page 148.
8. Complete the flow by Debugging the Design using the Calibre Results
Viewing Environment on page 146.

Galaxy Custom Designer Platform User Guide


J-2014.12

143

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

See also
All about Design Rule Checking on page 131

Using the Calibre Interactive Tool for Design Rule Checking


Use the Mentor Graphics Calibre Interactive tool as described here for
running design rule checks to take advantage of Calibre Interactive functionality
from within the Custom Designer platform.
Prepare to use the Calibre Interactive tool by setting up the Calibre Interactive
environment before you run the DRC process.
This section covers set-up for both DRC and LVS, and running a DRC.

Setting Up the Calibre Interactive Environment for DRC and LVS on


page 144

Running Calibre Interactive Design Rule Checks on page 145

Setting Up the Calibre Interactive Environment for DRC and LVS


Set up the environment before running DRC and LVS processes with the
Calibre Interactive tool by adding environment variables.
Note: If any library in the lib.defs file cannot be accessed by Calibre, an error
occurs.
To set up the environment:
1. Set the MGC_HOME or CALIBRE_HOME environment variable to the
Calibre installation path.
2. For LVS (only), set the CALIBRE_SLVS_ENABLE environment variable to
'1'.
3. Set the MGLS_LICENSE_FILE environment variable to the license server.
4. Set the OA_COMPILER environment variable to gcc411.
5. (Optional) If your designs include Python pcells, set the OA_HOME
environment variable to $CNI_ROOT/plat_linux_gcc411_32/3rd/oa.
Python pcell design requires the Ciranova Python application plug-in.
6. Follow instructions for the operation you want to perform:
Running Calibre Interactive Design Rule Checks on page 145
Using the Calibre Interactive Tool for LVS Comparisons on page 157

144

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Running Calibre Interactive Design Rule Checks


Run the DRC process with the Calibre Interactive tool when you want to use
this integrated Custom Designer platform tool for design rule checking.
To run a design rule check with Calibre Interactive:
1. (Optional) If necessary, set up the Calibre Interactive environment. See
Setting Up the Calibre Interactive Environment for DRC and LVS on
page 144.
2. In the design layout, choose Calibre > DRC.
(Choosing Tools > Calibre displays the Calibre menu.)
3. Specify a DRC run directory:
<current_dir>/<cellname>.calibre.drc.
You can accept the listed directory or browse to find a different directory.
4. Specify, but do not load, a DRC rules file:
<path>/<rules file>.svrf
You can accept the listed file or browse to find a different file. However,
choosing to load a file overwrites settings that facilitate DRC processing.
5. (Optional) To view or edit the file before loading, click View.
6. Click Inputs.
For layout inputs, confirm these settings: Correct library, top cell, view, and
format.
7. (Optional) To run the DRC on a specific design area:
a. Click Inputs.
b.

Click the Area check box.

c.

Click the browse button (...).

d. Move the cursor to the design, and draw the area on the design for the
DRC to check.
8. (Optional) For the GDSII Stream format, check mark Export from layout
viewer to set Calibre Interactive to export the layout files before it runs the
DRC.
9. Click Outputs.

Galaxy Custom Designer Platform User Guide


J-2014.12

145

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

Confirm the results file location, (optional) whether to show the results
in Calibre Interactive RVE, and confirm details about the DRC Summary
Report.

(Optional) Elect to launch RVE to show results when the process


completes.

10. Click Run DRC to begin design rule checking.


11. Continue this flow by Tracking Progress for Calibre Interactive Design Rule
Checks on page 146 and Debugging the Design using the Calibre Results
Viewing Environment on page 146.
See also
More about Using the Calibre Interactive Tool for Design Rule Checking on
page 144
Tracking Progress for Calibre Interactive Design Rule Checks
Track the Calibre Interactive DRC processes with the Custom Designer
platform Job Monitor.
To track the Calibre Interactive design rule check process:
1. In the design layout, choose Tools > Job Monitor.
2. In the Job Monitor, choose View > Job Types > Interactive.
3. Continue this flow by Debugging the Design using the Calibre Results
Viewing Environment on page 146.
See also
Setting Up the Calibre Interactive Environment for DRC and LVS on
page 144

Debugging the Design using the Calibre Results Viewing


Environment
Evaluate Calibre and Calibre Interactive DRC results in the Calibre Results
Viewing Environment (RVE).
To debug the design:
1. In the design layout, open the RVE tool:

146

If you elected to launch Calibre RVE when you set up the DRC, RVE has
opened automatically if violations were found.

If RVE is not open, you can choose Calibre > RVE.


Galaxy Custom Designer Platform User Guide
J-2014.12

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

2. (Optional) View error reports, and output files, in the Job Monitor.
3. (Optional) Double-click a rules violation to view the corresponding area in
the design layout.
4. (Optional) Clear layout violation highlights from the design by choosing
Calibre > Clear Highlights.
For additional information about using RVE, see the Calibre RVE
documentation.
5. Continue iterating the design until it achieves design compliance with layout
fabrication rules.
See also
Documentation for the Calibre Interactive RVE environment.
Setting Up the Calibre Interactive Environment for DRC and LVS on
page 144

Using Custom DRC Jobs for Design Rule Checking


Use a custom job for a DRC run to apply selected settings from a Process
Design Kit (PDK).
To use a custom job for a DRC run:
1. In the design layout window, choose Verification > <custom_job_name>
Setup and Run, where custom_job_name is the name of the job created for
your use by your CAD support group.
(Choosing Tools > Verification adds the Verification menu to the window
menu bar.)
2. In the Setup and Run dialog box for this custom job, specify settings for the
design rule check.
For assistance with settings, refer to Using the IC Validator Tool for Design
Rule Checking on page 132 or Using the Hercules Tool for Design Rule
Checking on page 138.
3. Click OK to begin design rule checking.
4. Continue by Viewing Design Rule Check Output on page 148.
5. Complete the flow by Debugging the Design using DRC Results on
page 149.

Galaxy Custom Designer Platform User Guide


J-2014.12

147

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

See also
All about Design Rule Checking on page 131

Rerunning Design Rule Checks


Rerun a design rule check after running it once. You can use the same tool, and
settings, and you can vary the runset or reload a changed runset. To rerun a
Calibre Interactive design rule check, see instead Using the Calibre Interactive
Tool for Design Rule Checking on page 144.
To rerun a DRC:
1. In the design layout window, consider your choices.

To rerun the DRC with the same tool, settings, and runset, you can
choose Verification > DRC > Run.
Alternatively, you can start the run by clicking the DRC Run button on
the command history toolbar, or the Layout Verification toolbar at the
lower left.

To rerun the DRC with the same tool, and settings, but a different runset,
choose Verification > DRC > Setup and Run. Then, on the Main tab
under Job Parameters, browse to select a new runset file.

To rerun the DRC with the same tool, and settings, and a runset file
whose contents have changed, choose Verification > DRC > Setup
and Run. Then, on the Main tab under Job Parameters reload the file
by clicking the Reload Runset button.

2. Continue the flow by Viewing Design Rule Check Output on page 148.
3. Complete the flow by Debugging the Design using DRC Results on
page 149.
See also
All about Design Rule Checking on page 131

Viewing Design Rule Check Output


View design rule check output to see logged operations, results, and errors.
(For Calibre Interactive tool DRC output, see instead Using the Calibre
Interactive Tool for Design Rule Checking on page 144.)

148

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

To view design rule check output:


1. In the design layout, choose Verification > DRC > View Output.
Alternatively, you can use the keyboard shortcut Shift-Ctrl-d.
2. In the Text Viewer, view results, and logged operations, on each tab.
3. After you view DRC run output, continue by Debugging the Design using
DRC Results on page 149.
See also
All about Design Rule Checking on page 131

Debugging the Design using DRC Results


Debug the design by viewing DRC output and using the IC Validator VUE,
Hercules VUE, or Calibre RVE tools. Running a DRC once initializes the
debugging environment for that tool. (For Calibre Interactive DRC results, see
instead Using the Calibre Interactive Tool for Design Rule Checking on
page 144.)
If you are using the IC Validator tool, you can debug results of multiple DRC
processes for one or more designs simultaneously.
To debug the design using design rule check results:
1. (Optional) Begin by Viewing Design Rule Check Output on page 148.
The Text Viewer tool opens with tabs showing the runset file, DRC results,
any errors, and the DRC run log.
2. Open the debugging tool.

If you elected to launch the debugging tool when you set up the DRC
check, it has opened automatically if violations were found.

Any time, you can choose Verification > DRC > Debug.

3. In the debugging window, identify and evaluate violations.


For IC Validator and Hercules VUE, you can use the Edit-in-Place option to
review violations. You can select a cellView in the error list to highlight it in
the design window.
You can perform cross-probing between the list of errors and the design.
For further instructions, please refer to the IC Validator VUE, Hercules VUE, or
Calibre RVE documentation.

Galaxy Custom Designer Platform User Guide


J-2014.12

149

Chapter 7: Design Rule Checking


Checking for Compliance with Design Rules (DRC)

After iterating the design until it achieves design compliance with layout
fabrication rules, you can optionally continue with the layout versus schematic
comparison process.
See also
All about Design Rule Checking on page 131

150

Galaxy Custom Designer Platform User Guide


J-2014.12

8
8

Layout Versus Schematic Comparison

Verify the expected behavior of layout components by performing design rule


checks and layout-versus-schematic comparisons. Extract device parasitics to
identify devices, including resistors, capacitors and inductors, that are not
present in the design schematic.

Perform design layout versus schematic (LVS) comparison to verify that the
design layout accurately represents the electronic equivalent of the design
schematic.
This chapter covers LVS processing:

Using Integrated Tools for LVS Comparisons on page 152

Using the Calibre Interactive Tool for LVS Comparisons on page 157

Rerunning Layout Versus Schematic Comparisons on page 160

Viewing LVS Comparison Output on page 160

Debugging the Design using LVS Results on page 161

Setting Verification Process Node Options


Set physical verification and extraction options to specify the manufacturing
process node to associate with design rule checking, layout versus schematic
comparison, and parasitic extraction runs.
To set physical verification and extraction options:
1. Begin with an open design layout or schematic.
2. Choose Verification > Options.

Galaxy Custom Designer Platform User Guide


J-2014.12

151

Chapter 8: Layout Versus Schematic Comparison


Using Integrated Tools for LVS Comparisons

(Choosing Tools > Verification adds the Verification menu to the window
menu bar.)
3. Choose the Process and its Variant from the lists.
4. (Optional) If changes have been made to the PDK, click the Reload button
to apply those changes.
See also

All about Layout Versus Schematic Comparison on page 151

Using Integrated Tools for LVS Comparisons


You can use the IC Validator, Hercules, or Calibre tool for layout versus
schematic comparisons. (To use the Calibre Interactive tool, see instead Using
the Calibre Interactive Tool for LVS Comparisons on page 157.)
You can set up and run the LVS comparison, and then rerun it using the same
or slightly varied settings for iterative development. Use the IC Validator or
Hercules VUE tool or the Calibre RVE tool to evaluate results.
To use an integrated tool for layout versus schematic comparisons:
1. In the design layout window, choose Verification > LVS > Setup and Run.
(Choosing Tools > Verification adds the Verification menu to the window
menu bar.)
2. In the LVS Setup and Run dialog box, from the Tool list, choose the tool you
want to use.
The dialog box reconfigures to reflect available options for this tool based on
the current runset.
3. On the Main tab, enter settings for all tools as described in Table 47 on
page 152.
Table 47

152

IC Validator, Hercules, Calibre LVS Setup and Run Settings (Main tab)

Settings

Description

Run Dir

You can accept the current directory or browse to choose a


different directory with the <directory>/<cellname>.icv.lvs.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 8: Layout Versus Schematic Comparison


Using Integrated Tools for LVS Comparisons

Table 47

IC Validator, Hercules, Calibre LVS Setup and Run Settings (Main tab)

Settings

Description

Layout

For OpenAccess format, additionally specify the Library,


Cell, and View. Extract Only limits the LVS process to a
netlist extraction and makes no LVS comparison.
For Stream format, additionally specify the File and the Cell.
Extract Only limits the LVS process to a netlist extraction and
makes no LVS comparison. Export Stream exports the
layout cellView used as input to the path listed in the File field.
For Netlist format, confirm the cell. The LVS process extracts
a netlist from the layout and uses it as input for the
comparison.

Schematic / Config

For OpenAccess format, additionally specify the Library,


Cell, and View.
For Netlist format, additionally browse to choose the netlist,
choose the netlist format from the list, and confirm the cell.

Job Parameters

Tool is IC Validator, Hercules, or Calibre


Launch Debugger launches the IC Validator or Hercules
VUE tools, or the Calibre RVE tool when the process
completes, if violations are found.
View Output opens a Text Viewer window with the process
log.
For Calibre only, Hierarchical runs a hierarchical layout
versus schematic comparison.
Runset is the path to runset file with rules governing the run.
Options are command line options for this tool, if any.

Galaxy Custom Designer Platform User Guide


J-2014.12

153

Chapter 8: Layout Versus Schematic Comparison


Using Integrated Tools for LVS Comparisons

Table 47

IC Validator, Hercules, Calibre LVS Setup and Run Settings (Main tab)

Settings

Description

Host is the server to run the process. If you run this process
on a remote server, choose it from the list box. Clicking the +
button next to the host text box and entering a name adds a
host. Selecting the host and clicking the - button deletes a
host. If a grid is set in the Job Monitor, the DRC or LVS job
executed from the Custom Designer platform will be queued
on the grid.

4. On the Netlisting Options tab, enter settings for IC Validator and Hercules
as described in Table 48 on page 154.
Calibre has no netlisting options. Calibre tool users can skip this step.
Table 48

IC Validator and Hercules LVS Setup and Run Settings (Netlisting Options
tab)

Settings

Description

Schematic Netlist

For the OpenAccess schematic/config format, you can accept


the suggested path shown to the schematic netlist or browse
to choose a different path.

Netlister

From the list, choose the netlister to generate a netlist from


the schematic: CDL, HSPICE, or lvsSPICE.

View Search List

Shows the list of views the LVS process will traverse during
netlisting.

View Stop List

Shows the view stop list that terminates LVS traversal.

IC Validator or
Hercules Netlisting
Options

NetTran Options shows the netlist translator options for


converting the netlist into the format recognized by IC
Validator.

5. On the Control Variables tab, review and optionally change values for
control variables as read from the runset. To modify a value, right-click and
edit the entry field.
Only environment variables are supported on the Control Variables tab,
which will depend on runset parsing, which is off by default.

154

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 8: Layout Versus Schematic Comparison


Using Integrated Tools for LVS Comparisons

6. For all tools, for OpenAccess format, on the Custom Options tab enter
settings as described in Table 49 on page 155.
Table 49

LVS Setup and Run Settings (Custom Options tab)

Settings

Description

Layer Map

For OpenAccess format only, accept or browse to choose the


file mapping OpenAccess LPP numbers and traditional
GDSII stream layers/data types.

7. For the IC Validator tool only, on the Custom Options tab, review and adjust
settings for the IC Validator options now displayed from the current runset.
8. For the Calibre tool only, on the Custom Options tab, enter additional
settings as described in Table 50 on page 155.
Table 50

Calibre Custom Options

Settings

Description

Output Runset

Specify the output runset by accepting the listed runset or


browsing to use a new top-level control file containing the
database inputs, control variables, custom options, and
primary rules.
Alternatively, you can use a local runset you have edited. To
do this, click the Edit SVRF button to the right of the browse
button. In the default text editor, edit the runset and save the
changes. The presence of an edited runset deselects the
Override Local Runset option, allowing the LVS process to
automatically use the edited version.
Override Local Runset Overrides any local runset you have
edited and applies the options you set in this dialog box.
Override Primary Runset Overrides primary rules file SVRF
commands with top-level control file SVRF commands set
using this dialog box. Choose this option to reduce the
number of unnecessary specification statements. By default,
the Calibre tool exits with an error when it finds duplicate
specification statements.

Report File

Accept or specify a new location for the LVS report file used
to capture the results of the verification.

Galaxy Custom Designer Platform User Guide


J-2014.12

155

Chapter 8: Layout Versus Schematic Comparison


Using Integrated Tools for LVS Comparisons

Table 50

Calibre Custom Options

Settings

Description

Auto-match Cells by
Name

Choose this option to match cells in the layout with cells in the
schematic by name wherever possible.

H-Cells File

Accept or browse to select a different directory to store the file


with the names of corresponding schematic and layout cells.

SVDB Directory

Accept or browse to save the LVS verification results


database in a different directory.

Generate CCI
Database

Choose this option to include in the LVS results database


information for generating the Calibre Connectivity Interface
used by parasitic extraction tools to access layout extraction
results.

Output Netlist

Accept or browse to save the exported layout netlist in a


different location during the circuit extraction step.

9. For the IC Validator tool only, on the Include Paths tab, add or delete LVS
include paths.
a. In the table, double-clicking a blank row adds an include path. Doubleclicking a populated row replaces that include path.
Cycle through the list using the arrow buttons.
To delete a path, click the Delete button.
b.

Browse to choose the path you want to add.

c.

Click Choose.

d. Repeat for each include path you want to add or replace.


10. Click OK to start the layout versus schematic comparison.
11. Track the process by Viewing LVS Comparison Output on page 160.
12. Complete the flow by Debugging the Design using LVS Results on
page 161.

156

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 8: Layout Versus Schematic Comparison


Using the Calibre Interactive Tool for LVS Comparisons

Using the Calibre Interactive Tool for LVS Comparisons


The Mentor Graphics Calibre Interactive tool is available for running layout
versus schematic comparison processes from the Custom Designer platform.
Prepare to use the Calibre Interactive tool by Setting Up the Calibre Interactive
Environment for DRC and LVS on page 144.
This section covers Calibre layout versus schematic comparison:

Running Calibre Interactive LVS Comparisons on page 157

Tracking Calibre Interactive LVS Comparisons on page 158

Debugging the Design using the Calibre Results Viewing Environment on


page 158

Running Calibre Interactive LVS Comparisons


Run the LVS process with the Mentor Graphics Calibre Interactive tool when
you want to use this integrated Custom Designer platform tool for layout versus
schematic comparison.
To run LVS with Calibre Interactive:
1. Choose Calibre > LVS.
(Choosing Tools > Calibre displays the Calibre menu.)
2. Specify, but do not load, an LVS rules file.
You can accept the listed file or browse to find a different file. However,
loading a file overwrites settings made by the system to facilitate LVS
processing.
To view or edit the file, click View.
3. Specify an LVS run directory.
You can accept the listed directory or browse to choose a different directory.
4. Click Inputs.
a. Confirm that these settings are selected: Hierarchical (to enable
OpenAccess database read-in), Layout vs. Netlist.
b.

On the Netlist tab, confirm that this setting is selected: Export from
schematic viewer.

Galaxy Custom Designer Platform User Guide


J-2014.12

157

Chapter 8: Layout Versus Schematic Comparison


Using the Calibre Interactive Tool for LVS Comparisons

5. Click Outputs.
Confirm the results file location, (optional) whether to show the results in
Calibre Interactive RVE, and confirm details about the LVS Summary
Report.
6. Click Run LVS.
7. Continue this flow by Tracking Calibre Interactive LVS Comparisons on
page 158.
See also
More about Running Calibre Interactive LVS Comparisons on page 157
Setting Up the Calibre Interactive Environment for DRC and LVS on
page 144

Tracking Calibre Interactive LVS Comparisons


Track the Calibre Interactive LVS process through the Custom Designer
platform Job Monitor.
To track the Calibre Interactive layout versus schematic comparison process:
1. In the design layout, choose Tools > Job Monitor.
2. In the Job Monitor, choose View > Job Types > Interactive.
3. Complete this flow by Debugging the Design using the Calibre Results
Viewing Environment on page 158.
See also
Setting Up the Calibre Interactive Environment for DRC and LVS on
page 144

Debugging the Design using the Calibre Results


Viewing Environment
Debug the design using Calibre or Calibre Interactive LVS results in the Calibre
Results Viewing Environment (RVE).
To debug the design:
1. In the design layout, consider your options.

158

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 8: Layout Versus Schematic Comparison


Using Custom Jobs for LVS Comparisons

If you elected to launch RVE when you set up the LVS process, RVE has
opened automatically if violations were found.

If RVE is not open, you can choose Calibre > RVE.

2. View Calibre Interactive LVS results to see mismatched devices or nets and
property warnings or violations for each equivalence point.
3. View error reports, runset details, and job output files in the Job Monitor.
4. From the RVE window, or from the netlists opened in RVE, you can cross
probe to the design layout and schematic.
5. After iterating the design until it achieves LVS equivalence, you can
optionally perform Extraction on page 163.
See also
Setting Up the Calibre Interactive Environment for DRC and LVS on
page 144
Documentation for the Calibre Results Viewing Environment

Using Custom Jobs for LVS Comparisons


Use a custom job for an LVS run to apply selected settings from a Process
Design Kit (PDK).
To use a custom job for an LVS run:
1. In the design layout window, choose Verification > <custom_job_name>
Setup and Run, where custom_job_name is the name of the job created for
your use by your CAD support group.
2. In the Setup and Run dialog box for this custom job, specify settings for the
LVS run.
For assistance with settings, refer to Using Integrated Tools for LVS
Comparisons on page 152.
3. Click OK to begin layout versus schematic comparison.
4. Continue by Viewing LVS Comparison Output on page 160.
5. Complete the flow by Debugging the Design using LVS Results on
page 161.

Galaxy Custom Designer Platform User Guide


J-2014.12

159

Chapter 8: Layout Versus Schematic Comparison


Rerunning Layout Versus Schematic Comparisons

Rerunning Layout Versus Schematic Comparisons


Rerun an LVS comparison after running it once. You can use the same tool and
settings, and you can vary the runset or reload a changed runset.
To rerun a layout versus schematic comparison:
1. In the design layout window, consider your choices.

To rerun the LVS comparison with the same tool, settings and runset,
you can choose Verification > LVS > Run.
Alternatively, you can start the run by clicking the LVS Run button on the
command history toolbar or the Layout Verification toolbar at the lower
left.

To rerun the LVS comparison with the same tool and settings, but a
different runset, choose Verification > LVS > Setup and Run. Then, on
the Main tab under Job Parameters, browse to select a new runset file.

To rerun the LVS comparison with the same tool and settings, but a
runset file whose contents have changed, choose Verification > LVS >
Setup and Run. Then, on the Main tab under Job Parameters reload
the file by clicking the Reload Runset button.

2. Continue the flow by Viewing LVS Comparison Output on page 160.


Complete the flow by Debugging the Design using LVS Results on page 161.

Viewing LVS Comparison Output


View LVS comparison output to see logged operations, results, and errors.
(For Calibre Interactive tool LVS output, see instead Using the Calibre
Interactive Tool for LVS Comparisons on page 157.)
To view layout versus schematic comparison output:
1. If the View Output option was set and the Text Viewer is now open, skip this
step. Otherwise, in the design layout, choose Verification > LVS > View
Output. Alternatively, you can use the keyboard shortcut Shift-Ctrl-d.
2. In the Text Viewer, view results and logged operations on each tab.
3. After you view LVS run output, continue by Debugging the Design using LVS
Results on page 161.
160

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 8: Layout Versus Schematic Comparison


Debugging the Design using LVS Results

Debugging the Design using LVS Results


Debug the design by viewing LVS output and using the IC Validator VUE or
Hercules VUE tools. Running an LVS once initializes the VUE environment for
that tool. (For Calibre or Calibre Interactive LVS results, see instead Debugging
the Design using the Calibre Results Viewing Environment on page 158.)
To debug the design using LVS results:
If you are using the IC Validator tool, you can debug results of multiple LVS
processes for one or more designs simultaneously.
1. In the design layout, consider these options.

If you elected to launch VUE when you set up LVS, VUE has opened
automatically if violations were found.

If VUE is not open, you can choose Verification > LVS > Debug.

2. In the VUE window, identify and evaluate violations by cross-probing error


listings with the affected design areas.
3. After iterating the design until it achieves LVS equivalence, you can
optionally perform Extraction on page 163.

Galaxy Custom Designer Platform User Guide


J-2014.12

161

Chapter 8: Layout Versus Schematic Comparison


Debugging the Design using LVS Results

162

Galaxy Custom Designer Platform User Guide


J-2014.12

9
9

Extraction

Extract device parasitics to identify devices, including resistors, capacitors and


inductors, that are not present in the design schematic. Parasitics represent the
non-ideal electrical characteristics introduced by the connectivity (metal and
poly) layers in a physical layout.

You can extract device parasitics with the StarRC tool on the Custom Designer
platform.
The StarRC tool produces a parasitic view of the design.
You can run the extraction process using LVS results from any of these tools:

IC Validator

Hercules

Calibre or Calibre Interactive

This chapter covers input options for parasitic extraction, and execution,
viewing and analysis after parasitic extraction.

Setting Options for Layout Parasitic Extraction on page 163

Running or Rerunning Parasitic Extraction on page 171

Viewing Parasitic Extraction Output on page 171

Analyzing Extracted Parasitic Views on page 172

Setting Options for Layout Parasitic Extraction


This section covers setting all options for parasitic extraction.

Galaxy Custom Designer Platform User Guide


J-2014.12

163

Chapter 9: Extraction
Setting Options for Layout Parasitic Extraction

To start, begin by setting main options.

Setting LPE Main Options on page 164

Setting LPE Extraction Options on page 165

Setting LPE Output Options on page 168

Setting LPE Custom Options on page 170

Setting LPE Main Options


Set main options by entering information about the run directory and job
parameters.
To set main parasitic extraction options:
1. In the design layout, choose Verification > LPE > Setup and Run.
For Calibre Interactive LPE, choose instead Calibre > LPE.
2. On the Main tab, enter settings as described in Table 51 on page 164.
Table 51

LPE Setup and Run Settings (Main tab) for All Tools

Settings

Description

Run Dir

You can accept the current run directory or browse to choose


a different directory with the <directory>/
<cellname>.starrc.lpe runset.

Layout

You can accept the current Library, Cell, and View or browse
to choose a different layout.

Job Parameters

Tool is StarRC
Open Parasitic View opens the parasitic view on completion.
View Output opens a Text Viewer window with the process
log.
Runset is the path to the runset file with rules governing the
run. The Reload button reloads the runset.
Options included are, by default, -clean, which deletes
temporary files on completion. Set additional options as
preferred.

164

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 9: Extraction
Setting Options for Layout Parasitic Extraction

Table 51

LPE Setup and Run Settings (Main tab) for All Tools

Settings

Description

Host is the server to run the process. If you run this process
on a remote server, choose it from the list box. Clicking the +
button next to the host text box and entering a name adds a
host. Selecting the host and clicking the - button deletes a
host. If a grid is set in the Job Monitor, the DRC or LVS job
executed from the Custom Designer platform will be queued
on the grid.

3. To complete the option setting process for a new LPE run, continue by
Setting LPE Extraction Options on page 165.
If this LPE run requires no additional setting changes, you can alternatively
continue by Running or Rerunning Parasitic Extraction on page 171.

Setting LPE Extraction Options


Set extraction options for LVS results by defining the extraction details for the
tool you used.
To set extraction options for LPE:
1. Begin by Setting LPE Main Options on page 164.
2. On the Extraction Options tab, enter settings for the tool supplying the LVS
results.

For the IC Validator tool, refer to Table 52 on page 165.

For the Hercules tool, refer to Table 53 on page 166.

For all Calibre tools, refer to Table 54 on page 166.

Table 52

IC Validator LPE Setup and Run Settings (Extraction Options tab)

Settings

Description

Layout Extraction

LVS Tool is IC Validator

Galaxy Custom Designer Platform User Guide


J-2014.12

165

Chapter 9: Extraction
Setting Options for Layout Parasitic Extraction

Table 52

IC Validator LPE Setup and Run Settings (Extraction Options tab)

Settings

Description

Runset Report File is created by IC Validator containing


pointers to the information StarRC needs to perform the
parasitic extraction. This includes the layer mapping between
the IC Validator runset and the TCAD GRD file and
OpenAccess libraries, and additional information.

Table 53

Hercules LPE Setup and Run Settings (Extraction Options tab)

Settings

Description

Layout Extraction

LVS Tool is Hercules.


MilkyWay XTR View is the file to be used as the input layout
description.
Mapping File is the file that maps TCAD process layers to
corresponding layout database layers. This option
corresponds to the StarRC MAPPING_FILE command.

Table 54

Calibre or Calibre Interactive LPE Setup and Run Settings (Extraction


Options tab)

Settings

Description

Layout Extraction

LVS Tool is Calibre.


Mask SVDB Directory is the mask SVDB database to use for
generating input to Star-RCXT. By default, this is the path the
system uses:./<cellname>.calibre.lvs/svdb.
Query Command Type offers the option of using the Default
query command file for generating input to StarRC, or a
Custom file you browse to choose. For details about the
default file format, see the StarRC documentation.
Mapping File maps TCAD process layers to corresponding
layout database layers. This setting corresponds to the
StarRC MAPPING_FILE command.

166

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 9: Extraction
Setting Options for Layout Parasitic Extraction

3. Continue on the Extraction Options tab by entering options that apply to


all tools as described in Table 55 on page 167.
Table 55

LPE Setup and Run Settings for All Tools (Extraction Options tab)

Settings

Description

TCAD GRD File

You can accept or browse to choose the file that maps TCAD
process layers to corresponding layout database layers. This
option corresponds to the StarRC MAPPING_FILE
command.

Extraction Type

Sets R, C, RC, or RKC for the type of extraction to perform.


The FSCOMPARE option is not supported. This option
corresponds to the StarRC EXTRACTION command.

Reduction

Sets the level of reduction for extracted parasitic devices


during extraction to Layer, High, No Extra Loops, Yes, or
No. Reduction preserves point-to-point resistance and total
net capacitance. The StarRC default value is Yes and the
Custom Designer platform default value is Layer. Choosing
Layer restricts the reduction so that it does not occur across
different conductor layers, facilitating correlation of parasitics
with their underlying source. This option corresponds to the
StarRC REDUCTION command.

Hierarchical
Separator

Sets the separator ( | or . or : ) to delineate hierarchy levels in


the parasitic netlist. This option corresponds to the StarRC
HIERARCHICAL_SEPARATOR command.

Extract Power Nets

Specifies whether to extract power nets (either Yes, No, or


Ronly). This option corresponds to the StarRC
POWER_EXTRACT command. If POWER_NETS need to be
set, add that option to an input command file.

Cross Ref Names

Sets the naming convention to be used in the extracted output


(either Yes or No). This option corresponds to the StarRC
XREF command.

Accuracy Mode

Sets the level of accuracy versus speed for the parasitic


extraction run (either 100, which favors speed, 200, or 400,
which favors accuracy). This option corresponds to the
StarRC MODE command.

Galaxy Custom Designer Platform User Guide


J-2014.12

167

Chapter 9: Extraction
Setting Options for Layout Parasitic Extraction

Table 55

LPE Setup and Run Settings for All Tools (Extraction Options tab)

Settings

Description

Remove Floating
Nets

Sets the LPE process to remove those nets with no


connections from the extraction output. This is a Boolean
option. This option corresponds to the StarRC
REMOVE_FLOATING_NETS command.

Case Sensitive

Applies case sensitive rules to net and cell names. This


option corresponds to the StarRC CASE_SENSITIVE
command.

Couple to Ground

Sets parasitic coupling capacitances to be lumped to ground


during extraction and netlisting. This option corresponds to
the StarRC COUPLE_TO_GROUND command.

Netlist Ground Node Sets the ground net name to be used for specifying
capacitance to non-critical material or to the SUBSTRATE. To
locate a net, click Schematic and select the net. Only one net
name can be specified. The default is 0 if not specified. This
option corresponds to the StarRC
NETLIST_GROUND_NODE_NAME command.

4. Continue by Setting LPE Output Options on page 168.


If this LPE run requires no additional setting changes, you can alternatively
continue by Running or Rerunning Parasitic Extraction on page 171.

Setting LPE Output Options


Set output options to determine StarRC output formats and related details. Use
this procedure for results from all LVS tools.
To specify parasitic extraction output options:
1. Begin by entering settings for the previous tabs in the LPE Setup and Run
dialog box.

168

Setting LPE Main Options on page 164

Setting LPE Extraction Options on page 165

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 9: Extraction
Setting Options for Layout Parasitic Extraction

2. On the Output Options tab, enter settings for all LVS tool results as
described in Table 56 on page 169.
Table 56

LPE Setup and Run Settings (Output Options tab) for All Tools

Settings

Description

Output

Format sets the output format to either OA, Net Name, SPF, SPEF,
or SBPF. For only the OpenAccess format, additionally accept or
browse to choose the View Name, Device Map, and Marker Size.
For the other format options, you can also choose a Netlist File.
This setting corresponds to the StarRC NETLIST_FORMAT
command. The Netlist File field automatically populates on
changes to the run directory, unless you manually modify the name
in the field. The default name is {RunDir}/{fileName}.{extension},
where extension is the netlist format and fileName is set, in
tokenized format, in the new preference
xt{JobPrefId}OutputNetlistTemplate. The preference
xtLPEDefaultOutputNetlistTemplate can be used for the
default LPE job.
db::setPrefValue xtLPEDefaultOutputNetlistTemplate value {%l.%c} -scope [de::getActiveContext]

Possible tokens are %l for library, %c for cell, %v for view name, %u
for user name, %j for the job name, %t for the tool.
Output Runset specifies the output file of the new runset
(command file) written from Custom Designer. The default file name
is starrcxt.cmd and the file is located in the run directory. Specifying
a relative path name gives the path relative to the directory in which
this Custom Designer platform session was started. To save current
settings from this dialog box to a runset for later batch processing,
click the Save button.
View Name is for OpenAccess format, sets the output view name,
by default starrcxt.
Device Map is for OpenAccess format, sets the file to use for
mapping device masters in StarRC to a symbol library in
OpenAccess.
Layer Map is for Hercules and Calibre Interactive results, sets the
layer map. (For IC Validator, the layer map is specified in the runset
through the pex_conducting_layer_map() command.)

Galaxy Custom Designer Platform User Guide


J-2014.12

169

Chapter 9: Extraction
Setting Options for Layout Parasitic Extraction

Table 56

LPE Setup and Run Settings (Output Options tab) for All Tools

Settings

Description

Marker Size is for OpenAccess, sets the size of markers shown in


the output parasitic view.
Net Selection

Selects specified nets for parasitic netlisting. In the net selection


area, double-click to add nets by name. To delete a row in the net
selection area, select it and click the Delete button (the red x). This
setting corresponds to the StarRC NETLIST_SELECT_NETS
command.

3. Continue by Setting LPE Custom Options on page 170.


If this LPE run requires no additional setting changes, you can alternatively
continue by Running or Rerunning Parasitic Extraction on page 171.

Setting LPE Custom Options


Set custom parasitic extraction options here for all LVS tool results.
To set custom options for parasitic extraction:
1. Begin by specifying settings for the previous tabs in the LPE Setup and Run
dialog box.

Setting LPE Main Options on page 164

Setting LPE Extraction Options on page 165

Setting LPE Output Options on page 168

2. On the Custom Options tab, specify settings accepted by StarRC. Use


StarRC syntax. Entries are not validated by the Custom Designer platform.
a. Double-click the option field.
b.

Enter an option name.

c.

Double-click the value field.

d. Enter a value.
3. Cycle through the entries using the arrow buttons.
4. Delete an entry by clicking the Delete button.

170

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 9: Extraction
Running or Rerunning Parasitic Extraction

5. If you have specified settings on all four tabs in the LPE Setup and Run
dialog box for a new LPE run, or if this run requires no additional setup
changes, continue by Running or Rerunning Parasitic Extraction on
page 171.

Running or Rerunning Parasitic Extraction


Run parasitic extraction after entering setup options.
Rerun parasitic extraction to use the current setup options.
To run or rerun parasitic extraction:
1. In the design layout window, perform the task related to the situation.

To run parasitic extraction for the first time, choose Verification >
Extract > Setup and Run, specify settings (see Setting Options for
Layout Parasitic Extraction on page 163), and then click OK.

To rerun the same extraction process again, you have two alternatives,
either choosing Verification > Extract > Run in the design layout or
clicking the Run StarRC LPE button on the Layout Verification standard
toolbar. By default, this toolbar is vertically aligned along the lower left
window edge.

If any settings are missing, the system shows blank entry fields with red
borders. Enter settings and click OK again.
2. Continue by Viewing Parasitic Extraction Output on page 171.
When you are ready, complete this flow by Analyzing Extracted Parasitic Views
on page 172.

Viewing Parasitic Extraction Output


View parasitic extraction output to track progress and see logged operations.
To view layout parasitic extraction output:
1. In the design layout, choose Verification > Extract > View Output.
Alternatively, you can use the keyboard shortcut Shift-Ctrl-d.
2. In the Text Viewer, view results and logged operations on each tab.

Galaxy Custom Designer Platform User Guide


J-2014.12

171

Chapter 9: Extraction
Analyzing Extracted Parasitic Views

3. Complete this flow by Analyzing Extracted Parasitic Views on page 172.

Analyzing Extracted Parasitic Views


Analyze parasitic and schematic or layout views to evaluate the effects of
parasitic devices in a design. You can ensure accurate representation of these
parasitic devices to isolate and minimize their effects on circuit performance.
This chapter covers Custom Designer platform parasitic view analysis, which
includes:

Locating Extracted Devices on page 172

Initializing or Reinitializing Parasitic Source Views on page 173

Viewing or Hiding Capacitance Annotations on page 174

Setting Parasitic Query Options on page 174

Querying Parasitic Views on page 174

Querying All Nets in a Parasitic View on page 177

Performing Parasitic Cross-Probing on page 177

Clearing Cross Probes on page 178

Locating Extracted Devices


Locate extracted devices in the parasitic view to see them for visualization
purposes. Results are shown at stop-level 1 to expose parasitic devices.
You can locate extracted devices after Running or Rerunning Parasitic
Extraction on page 171. (Initializing a parasitic source view is not required.)
To locate an extracted device in a parasitic view:
1. In the design parasitic view, visually locate parasitic devices by choosing
View > Zoom > Area.
2. Select a parasitic device.
The system shows any resistors within the net.
Where nets connect to ports, the port names appear instead.
For the optimal view of individual nets, apply accuracy modes in StarRC.

172

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 9: Extraction
Analyzing Extracted Parasitic Views

3. Select a net.
4.

Find the net by name in the netlist using a text search.

5. Continue by Initializing or Reinitializing Parasitic Source Views on page 173.

Initializing or Reinitializing Parasitic Source Views


Initialize parasitic source views to associate a parasitic with a design schematic
for analysis. Reinitialize source views to change the association to a new
parasitic view.
Initialization enables querying and cross-probing from the parasitic view to the
schematic.
To initialize a parasitic view with a schematic:
1. Begin by opening either the schematic or parasitic view.
2. Choose Parasitics > Initialize or Parasitics > Reinitialize.
(Choosing Tools > Parasitics displays the Parasitics menu.)
3. Enter settings as described in Table 57 on page 173.
Table 57

Initialize Parasitics Settings

Settings

Description

Extraction Tool

StarRC

Run Directory

Accept the default or browse to locate the directory to


initialize for the parasitic source view.

Parasitic or Schematic
View

Accept the current Library, Cell, and View or browse to


select a different one. Association specifies whether
to open the source view in a new window or not.

4. Click OK.
5. Continue by Viewing or Hiding Capacitance Annotations on page 174 or
Setting Parasitic Query Options on page 174.

Galaxy Custom Designer Platform User Guide


J-2014.12

173

Chapter 9: Extraction
Analyzing Extracted Parasitic Views

Viewing or Hiding Capacitance Annotations


View capacitance annotations (in schematics, only) to visualize the net
capacitance added to instance terminals.
(Prepare to perform this task, if necessary, by Initializing or Reinitializing
Parasitic Source Views on page 173.)
Choose an option:

To show annotations in the design schematic, choose Parasitics >


Annotate.

To hide annotations, choose Parasitics > Hide.

See also
More about Extraction on page 163.

Setting Parasitic Query Options


Set query options to determine the behavior of net query operations. These
options apply to the parasitic and schematic views that are currently active
(initialized) and to any subsequent queries.
(Prepare to perform this task, if necessary, by Initializing or Reinitializing
Parasitic Source Views on page 173.)
To set parasitic query options:
1. In the design schematic or parasitic view, choose Parasitics > Options.
2. Choose the instance types you plan to query.
3. Set filter thresholds for Resistance, Grounded Capacitance, Coupled
Capacitance, and Inductance.
4. Click OK.
5. Continue by Querying Parasitic Views on page 174.

Querying Parasitic Views


Query the extracted parasitic view by generating table-based query results
about different types of parasitics in the design. Queries can find all parasitics
on a net, all coupled capacitances between two nets, parasitics between two

174

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 9: Extraction
Analyzing Extracted Parasitic Views

points (instance terminals or subnode markers) on a net, and all parasitics on


all nets.
This process generates reports listing query results. After initialization, you can
initiate queries from the schematic or parasitic view.
(Prepare to perform this task, if necessary, by Initializing or Reinitializing
Parasitic Source Views on page 173.)
Note that, although this procedure is regularly performed using a parasitic view,
you can also perform it from the schematic view.
To query an extracted parasitic view:
1. In the design parasitic view, choose Parasitics > Query.
2. In the command option toolbar, specify query options.
Table 58 on page 175 lists and describes query options.
Table 58

Query Parasitics Options

Query Type

Accepts

Description

Net

A net name

Generates a report listing all parasitic


devices for this net when you select a
shape in the extracted view.

Net to Net

Two net names

Generates a report listing all parasitics


between these two nets, including
coupling capacitance, when you select
multiple shapes in the parasitic view.

Point to Point

Two terminal names

Generates a report listing all parasitic


devices that belong to the same ideal
net, when you set two coordinate points
for approximate locations. For
instructions, see the step that follows.

3. (Optional) For point-to-point query (only), follow these steps:


a. Set the type of query to pointToPoint.
b.

On the canvas, click a coordinate point in proximity to the location of the


first instance terminal you want to use.
You can perform this operation at any hierarchy level. Zooming to obtain
device identification visually is not required.

Galaxy Custom Designer Platform User Guide


J-2014.12

175

Chapter 9: Extraction
Analyzing Extracted Parasitic Views

The system finds all terminals and subnodes in proximity to the


coordinate point and attaches a flight line to your cursor.
c.

In the Terminal1 Name list box, choose the exact terminal or subnode
marker from the list.
To scroll through the list, use the available key bindings 1 and 2.

d. Set the second terminal by clicking in different canvas locations until the
system displays a name in the Terminal2 Name field, indicating
terminals connected to the same net.
e. Set the second terminal by choosing from the list box.
4. Run the query by clicking the green check mark.
5. In the Parasitic Query Results report, double-click a parasitic device name.
The system highlights a zoomed view of the device in the extracted view
using the color packet visible in the query report dialog box.
The report lists results by name and includes a summary showing
resistance totals for point-to-point query types.
6. (Optional) To modify the color packet used, choose a new one from the
Packet list box.
7. (Optional) To cycle through the color packets for each succeeding selection
in the report, click the Cycle option. (To use one color for all selections,
deselect this option.)
8. (Optional) To create probes for items in the report table, select the items and
click the Probe button (or double-click the items).
Use the Probe button menu to extend probe distribution to All Selected
items, Selected Names, Selected Nets, or All Names.
9. (Optional) To remove probes added through this report, click Remove
Probes.
10. (Optional) To save these results in a file, enter a filePath in the Results &
File field or browse to choose a file to overwrite. You can save the results
one of three formats, comma separated value (.csv), XML (.xml), or as an
ASCII table.

176

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 9: Extraction
Analyzing Extracted Parasitic Views

See also
More about Extraction on page 163.

Querying All Nets in a Parasitic View


Query all nets in a parasitic view to generate a report listing parasitic devices
for all the nets in the design.
To query all nets in a parasitic view:
1. Choose Parasitics > Query All Nets.
The report lists results by name and includes a summary showing totals for
each type of parasitic device listed in the results table except resistors.
2. (Optional) Limit the number of instances shown in the table by choosing an
Instance Limit, which will apply to each type of instance. Alternatively, show
all results by clicking Show All.
3. To create probes for items in the report table, select the items and click the
Probe button.
Use the Probe button menu to extend probe distribution to All Selected
items, Selected Names, Selected Nets, or All Names.
4. To remove probes added through this report, click Remove Probes.
5. To save these results in a file, enter a filePath in the Results File field or
browse to choose a file to overwrite.
See also
More about Extraction on page 163.

Performing Parasitic Cross-Probing


Perform cross-probing by opening the schematic and extracted views and
probing, allowing the system to highlight extracted devices.
(Prepare to perform this task, if necessary, by Initializing or Reinitializing
Parasitic Source Views on page 173.)
To perform parasitic cross-probing:
1. In the design schematic or parasitic view, zoom to an area.
2. Choose Parasitics > CrossProbe and select the desired cross probe type.

Galaxy Custom Designer Platform User Guide


J-2014.12

177

Chapter 9: Extraction
Analyzing Extracted Parasitic Views

3. Select the probe for an instance or net in this view.


The system highlights this device in the alternate view.
The Probe Assistant lists probes by name.
4. To view extracted parameters for this device in the extracted view, open the
Property Editor.
See also
More about Extraction on page 163.

Clearing Cross Probes


Clear cross probes to remove them from all views.
To clear cross probes:

In the parasitic view, choose Parasitics > Clear Cross Probes.

See also
More about Extraction on page 163.

178

Galaxy Custom Designer Platform User Guide


J-2014.12

10
Reliability Analysis

10

As you develop a design on the Custom Designer platform, you can import
reliability analysis (RA) results and evaluate them using the CustomSim-RA
feature. You can view power net reliability (PWRA) and signal net reliability
(SIGRA) results shown both in the design window and in a data table. In the
design, you can zoom or pan to view individual violations. In the data table, you
can change bin settings to control the range of violation values shown in each
bin, enabling a more targeted evaluation.

This chapter covers:

Specifying Reliability Analysis Results to Use on page 179

Browsing Reliability Analysis Results on page 180

Redistributing Bin Values on page 182

Specifying Reliability Analysis Results to Use


Specify the results to use by optionally setting the master design, setting the
run directory location, and specifying the type of results you want to analyze.
To specify the results to use:
1. In the Custom Designer Console (only), choose Tools > CustomSim >
Import Results.

Galaxy Custom Designer Platform User Guide


J-2014.12

179

Chapter 10: Reliability Analysis


Browsing Reliability Analysis Results

2. Enter settings as described in Table 59 on page 180.


Table 59

CustomSim-RA Setup

Settings

Description

Source Design

(Optional) Select the master design: Use the drop down lists
to set the Library, Cell, and View, or browse to choose them,
then click OK.

Results to Analyze

Browse to choose the Run Directory where the reliability


analysis process has created its IR drop or EM results. Doing
this enters details in the Run, Net or Pattern, and Analysis
fields, which you can accept or adjust, as you prefer.

Destination Design

Library From the list, choose the library to receive the results
you want to view. To create a new library, click Create and
enter details for a new library with no technology. If you do not
enter a library name, the system creates a target library using
the default settings.

3. Click OK.
The tool imports the specified results.
Continue by Browsing Reliability Analysis Results on page 180.
See also
More about Reliability Analysis on page 179

Browsing Reliability Analysis Results


Browse reliability analysis results with a design to concurrently view the results
in a data table and also as represented in a violation map that overlays the
design.
To browse reliability analysis results with a design:
1. Begin by Specifying Reliability Analysis Results to Use on page 179.
2. Open the cell with the reliability analysis results, if it has not opened
automatically.

180

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 10: Reliability Analysis


Browsing Reliability Analysis Results

The Layout Editor window shows a violation map where each shape
corresponds to a computed result.
3. From the CustomSim-RA menu in this window (only), choose Results
Browser.
(If the CustomSim-RA menu is not now shown, choose Tools >
CustomSim > RA Viewer in this window to show it.)
4. Choose to show or hide columns.
By default, the tool shows a column for every shape property: Resistor
Name, Node Resistance. Node Name, Resistor Value, Width, and Layer
Name.
To show or hide columns, you have two options:

Hide a single column by right-clicking its title and choosing Hide.

Hide or show columns individually:


On any column title, right-click and choose Show/Hide Columns.
In the Show/Hide Columns dialog box, use the check boxes to
designate columns to show or hide.
You can optionally choose to show a Comments column, which will
collect comments you enter about critical violations. You can save the
comments in a file using the Comments button under the results
listings.
To clear comments from the Comments column, click this button:
These settings remain through future sessions until you change them.

5. Choose the extracted layers whose results you want to show.


To choose the extracted layers:
a. Click the Extracted Layers button:
b.

Use the check boxes to mark layers whose results you want to view.

c.

Click OK.
You can use the Object Layer Panel assistant to adjust layer visibility
and selectability.

6. View bin contents.

View individual bin contents by choosing from the Bin drop down list.

Galaxy Custom Designer Platform User Guide


J-2014.12

181

Chapter 10: Reliability Analysis


Redistributing Bin Values

The tool has distributed results uniformly into 10 bins as designated in


the run specification.

Where there are more than 50 violations in one bin, you can cycle
through the set by clicking the First, Previous, Next, and Last buttons,
and you can switch directly to a page by using the Page settings.

7. View violations.

In the list of results, use your mouse to select a row describing a shape.
The system highlights the row in the list of results. It additionally
highlights the coordinate maker at the center of the violation shape in
the design.

To show a selected violation shape in the design at a magnified scale,


choose Zoom.

To pan to a selected violation shape at the current scale, choose Pan.

To remove the highlight color from a violation shape in the design, click
Clear Highlights.

8. Continue the evaluation process by selecting other violations in the form.


9. (Optional) During your evaluation, you can adjust the value range for each
bin, and threshold ranges for all results. See Redistributing Bin Values on
page 182 for details.
See also
More about Reliability Analysis on page 179

Redistributing Bin Values


Redistribute CustomSim-RA bin values to control the set of results shown in
each bin. This enables a more focused evaluation.
Prepare to change bin values by ensuring that the reliability results tool is in
your system working path. During the re-binning process, the system reruns
the reliability analysis tool and redistributes the results as you have specified.
To change bin values:
1. Begin by Browsing Reliability Analysis Results on page 180.
2. In the CustomSim-RA Results Browser, click Change Bins.

182

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 10: Reliability Analysis


Redistributing Bin Values

3. In the Change Bins form, decide which redistribution method you want to
use.
For decision assistance, see Table 60 on page 183.
Table 60

Bin Value Distribution Methods by Analysis Type

Distribution Methods

IR Drop
Analysis:
vmax

EM Analysis:
J/Jmax or I/
Imax

Upper and Lower Bound limits bin


values shown to those that fall
between thresholds

Available,
upper and
lower
thresholds

Available,
Available,
upper
upper
threshold only threshold only

Percentage divides each bin into a


percentage of the total

Available

Range shows each bin as a specified Available


value range

EM Analysis:
imax, iavg,
iabs, irms

Available

4. Continue by following the instructions for the distribution method you want
to use.

By Threshold Boundaries on page 183

By Percentage on page 184

By Range on page 185

See also
More about Reliability Analysis on page 179

By Threshold Boundaries
Redistribute reliability analysis results by upper and lower threshold boundaries
when you want to work with a specific, limited range of values. This method is
available for all analysis types.
To redistribute results by upper and lower threshold boundaries:
1. In the Change Bins form, click By Upper/Lower Bound.
(To use a different distribution method instead, see Redistributing Bin
Values on page 182.)

Galaxy Custom Designer Platform User Guide


J-2014.12

183

Chapter 10: Reliability Analysis


Redistributing Bin Values

2. Review the bin values now shown.


If this is the first time you are redistributing bin values for this set of results,
the table shows upper and lower boundaries that correspond with those of
the complete results set.
3. For all analysis types, enter the upper threshold boundary for the highest
level.
The tool immediately redistributes all values, ignoring any values greater
than the upper threshold in the results.
4. For IR drop vmax (only), you can also enter a lower threshold to apply to the
first bin. The tool immediately redistributes all values, ignoring any value
lower than the lower boundary in the results. For other analysis types, the
lower boundary is set by the system.
5. (Optional) Filter the redistributed results.

Filter by Value to eliminate from the results any resistors with current
lower than the mV Threshold you enter here.

Filer by Level to set a bin level below which results will not be shown.
For example, to show only results for the top eight bins, ignoring the
lowest two bins, choose Level and enter a Threshold of 8.

6. Click OK.
Leaving the design open, the system reruns the analysis and re-imports the
results. You can monitor the process using the Job Monitor, or wait until the
Console reports completion and reopens the Browse Results form.
See also
More about Reliability Analysis on page 179

By Percentage
Redistribute reliability analysis results by percentage when you have IR drop
vmax analysis results (only) and you want to see the results distributed across
bins. Each bin will show a specified percentage of the voltage drop range.
To redistribute results by percentage (for IR drop vmax analysis only):
1. In the Change Bins form, click By Percentage.
(To use a different distribution method instead, see Redistributing Bin
Values on page 182.)

184

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 10: Reliability Analysis


Redistributing Bin Values

2. Review the percentage now shown for each bin.


If this is the first time you are changing bins for this set of results, the table
shows all bin percentages set to 7.
3. For one or more bins, specify the percentage of the voltage drop range you
want to place in that bin.
For example, to see the voltage drop range in the first 12% of the results,
enter 12 in first bin. To see the voltage drop range in the next 10% of the
results, enter 10 in the second bin.
4. Continue to specify percentages, ensuring that the total does not exceed
100%.
5. (Optional) Filter the redistributed results.

Filter by Value to eliminate from the results any resistors with current
lower than the Threshold value you enter here.

Filer by Level to set a bin level below which results will not be shown.
For example, to show only the top eight bins, ignoring the lowest two
bins, choose Level and enter a Threshold of 8.

6. Click OK.
Leaving the design open, the system reruns the analysis and re-imports the
results. You can monitor the process using the Job Monitor, or wait until the
Console reports completion and reopens the Browse Results form.
See also
More about Reliability Analysis on page 179

By Range
Redistribute reliability analysis results by range when you want to set the
minimum and maximum values for each individual bin. This method is available
for IR drop vmax, EM J/Jmax, and EM I/Imax analyses.
To redistribute results by range:
1. In the Change Bins form, click By Range.
(To use a different distribution method instead, see Redistributing Bin
Values on page 182.)
2. Review the lower and upper range now set for each bin.

Galaxy Custom Designer Platform User Guide


J-2014.12

185

Chapter 10: Reliability Analysis


Redistributing Bin Values

3. Adjust any bin or bins to different value ranges.


The system dynamically adjusts adjacent bins to provide a continuous value
sequence.
4. (Optional) Filter the redistributed results.

Filter by Value to eliminate from the results any resistors with current
lower than the Threshold value you enter here.

Filter by Level to set a bin level below which results will not be shown.
For example, to show only the top eight bins, ignoring the lowest two
bins, choose Level and enter a Threshold of 8.

5. Click OK.
Leaving the design open, the system reruns the analysis and re-imports the
results. You can monitor the process using the Job Monitor, or wait until the
Console reports completion and reopens the Browse Results form.
See also
More about Reliability Analysis on page 179

186

Galaxy Custom Designer Platform User Guide


J-2014.12

11
11

Static Power Net Resistance Analysis

As you develop a design on the Custom Designer platform, you can import static
power net resistance (SPRES) results, and evaluate them using the
CustomSim-SPRES Viewer. You can overlay the results on the master design
layout, and view net resistance for pads to pins and pads to internal instance
pins. In the imported design with the SPRES results, you can select, and zoom
or pan to view individual violations. In the accompanying data table, you can
change bin settings to control the range of violation values shown in each bin,
enabling a more targeted evaluation.

This chapter covers:

Specifying the SPRES Results to Use on page 187

Browsing SPRES Results on page 190

Redistributing Bin Values for SPRES Results on page 192

Specifying the SPRES Results to Use


There are two ways to specify the SPRES results to use.
You can open a master design. When you import results, the system
recognizes it as the source design.
You can alternatively specify the source design without opening a design
master.
These sections cover:

Importing the SPRES Results for an Open Design on page 188

Specifying the SPRES Results without an Open Design on page 189

Galaxy Custom Designer Platform User Guide


J-2014.12

187

Chapter 11: Static Power Net Resistance Analysis


Specifying the SPRES Results to Use

Importing the SPRES Results for an Open Design


You can specify SPRES results to use from a design now open in the Layout
Editor.
To specify results for an open design:
1. In the Layout Editor window, choose Tools > CustomSim > SPRES
Viewer.
2. From the window toolbar, choose CustomSim-SPRES > Import Results.
3. In the SPRES Results dialog box, enter settings as described in Table 61
on page 188.
Table 61

CustomSim-SPRES Setup

Settings

Description

Source Design

Shows details for the design master now open

Results to Analyze

Run Directory Is where the system has stored its current


results. From this information, the system detects the run
results available, and lists them. Run is the run you choose
from the collection of runs in the list. Net shows the net that
was analyzed for this run.

Destination Design

Library Is the library to receive the results you want to import.


If the library does not exist, you must create one. To create a
new library, click Create, and enter details for a new library
with no technology. If you do not enter a library name, the
system creates a target library using the default settings. For
library creation details, see Creating New Libraries with the
Library Manager on page 260. If the cellView for the
destination design exists, you can choose Open Existing
Cell.

4. Click OK.
The tool imports the results of the specified SPRES run, and overlays the
results on the specified source design. It uses GDSII format for importing. It
creates a new design view showing the results in a visual format with
previously specified color-coding to signify violation severity.
The system remembers your specified input for the next session.

188

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 11: Static Power Net Resistance Analysis


Specifying the SPRES Results to Use

Continue by Browsing SPRES Results on page 190.


See also
More about Static Power Net Resistance Analysis on page 187

Specifying the SPRES Results without an Open Design


You can specify SPRES results to use without an open design by choosing a
existing SPRES run to show. If you want to see the results overlaid on a design,
you can optionally specify it.
To specify SPRES results without an open design:
1. From the Console, choose Tools > CustomSim > Import SPRES Results.
2. In the SPRES Results dialog box, enter settings as described in Table 62 on
page 189.
Table 62

CustomSim-SPRES Setup

Settings

Description

Source Design

Library and Cell (Optional) Specify a source design library


and cell from the list boxes. View is the layout view you
browse to select.

Results to Analyze

Run Directory Is where the SPRES process has stored its


current results. From this information, the system detects the
run results available, and lists them. Run is the run you
choose from the collection of runs in the list. Net shows the
net related to the run.

Destination Design

Library Is the library to receive the results you want to import.


To create a new library, click Create, and enter details for a
library with no technology. If you do not enter a library name,
the system creates a target library using the default settings.
For library creation details, see Creating New Libraries with
the Library Manager on page 260.

3. Click OK.

Galaxy Custom Designer Platform User Guide


J-2014.12

189

Chapter 11: Static Power Net Resistance Analysis


Browsing SPRES Results

The tool imports the results of the specified SPRES run for this source
design. It uses GDSII format for importing. It creates a new design view
showing the results in a visual format with color-coding from green to red to
signify violation severity.
Continue by Browsing SPRES Results on page 190.
See also
More about Static Power Net Resistance Analysis on page 187

Browsing SPRES Results


Browse SPRES results to concurrently view the results in a data table, and also
as represented in a violation map that overlays the master version of the
design.
To browse SPRES results:
1. Begin by Specifying the SPRES Results to Use on page 187.
2. Open the cell with the results, if it has not opened automatically.
The Layout Editor window shows a color-coded violation map where each
color corresponds to a computed result.
3. From the CustomSim-SPRES menu in this window (only), choose Results
Browser.
(If the CustomSim-SPRES menu is not now shown, choose Tools >
CustomSim > SPRES Viewer in this window to show it.)
The CustomSim-SPRES Results dialog box opens.
4. Choose to show or hide columns.
By default, the tool shows a column for every shape property: Resistor
Name, Node Resistance. Node Name, Resistor Value, Width, and Layer
Name.
To show or hide columns, you have two options:

Hide a single column by right-clicking its title, and choosing Hide.

Hide or show columns individually:


On any column title, right-click, and choose Show/Hide Columns.

190

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 11: Static Power Net Resistance Analysis


Browsing SPRES Results

In the Show/Hide Columns dialog box, use the check boxes to


designate columns to show or hide.
You can optionally choose to show a Comments column, which will
collect comments you enter about critical violations. You can save the
comments in a file using the Comments button under the results
listings.
To clear comments from the Comments column, click this button:
These settings remain through future sessions until you change them.
5. Choose the extracted layers whose results you want to show.
To choose the extracted layers:
a. Click the Extracted Layers button:
b.

Use the check boxes to mark layers whose results you want to view.

c.

Click OK.
You can use the Object Layer Panel assistant to adjust layer visibility
and selectability.

6. View bin contents.

View individual bin contents by choosing from the Bin drop down list.
The tool has distributed results uniformly into 10 bins as designated in
the run specification.
At the end of each bin listing, the tool shows the number of violations in
that bin in parentheses. The change bin name is derived from the layer
name, the violation range, and the total number of shapes.

Where there are more than 50 violations in one bin, you can cycle
through the set by clicking the First, Previous, Next, and Last buttons,
and you can switch directly to a page by using the Page settings.

7. View violations.

In the list of results, use your mouse to select a row describing a shape.
The system highlights the row in the list of results. It additionally
highlights the coordinate maker in white at the center of the violation
shape in the design.

To show a selected violation shape in the design at a magnified scale,


choose Zoom.

To pan to a selected violation shape at the current scale, choose Pan.

Galaxy Custom Designer Platform User Guide


J-2014.12

191

Chapter 11: Static Power Net Resistance Analysis


Redistributing Bin Values for SPRES Results

To remove the highlight color from a violation shape in the design, click
Clear Highlights.

8. (Optional) Adjust the range of violation values shown in each bin, and rerun
the SPRES process. See Redistributing Bin Values for SPRES Results on
page 192 for details.
See also
More about Static Power Net Resistance Analysis on page 187

Redistributing Bin Values for SPRES Results


You can redistribute SPRES results bin values to control the set of results
shown in each bin. This enables a more focused evaluation.
When SPRES first runs, the run specification determines bin distribution.
Through the CustomSim-SPRES Viewer, you can rerun SPRES, and
redistribute bin values.
Prepare to change bin values by ensuring that the HSIM tool is in your system
working path. During the re-binning process, the system reruns the tool, and
redistributes the results as you have specified.
To change bin values:
1. Begin by Browsing SPRES Results on page 190.
2. In the CustomSim Results Browser, at the bottom, click Change Bins.
3. In the Change Bins form, choose the redistribution method you want to use.

Lower/Upper Bound (Ohms) limits bin values shown to those that fall
between thresholds. The range of the bins is equally divided by eight
between the upper bound of the highest bin, and upper bound of the
lowest bin.

Resistor Count Percentage divides each bin into a percentage of the


total number for resistors.

4. Continue by following the instructions for the distribution method you want
to use.

192

By Lower/Upper Bound (Ohms) on page 193

By Resistor Count Percentage on page 193

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 11: Static Power Net Resistance Analysis


Redistributing Bin Values for SPRES Results

See also
More about Static Power Net Resistance Analysis on page 187

By Lower/Upper Bound (Ohms)


Redistribute SPRES results by upper and lower threshold boundaries when
you want to work with a specific, limited range of values.
To redistribute results by upper and lower threshold boundaries:
1. In the Change Bins form, choose Lower/Upper Bound (Ohms).
2. Specify the upper bound of the lowest bin.
3. Specify the upper bound of the highest bin.
4. Click OK.
Leaving the design open, the system saves the state of the Results Browser,
and the current viewport of the design. Then the system closes the Results
Browser, reruns the analysis, and imports the redistributed results.
You can monitor the process using the Job Monitor, or you can wait until the
Console reports completion, and reopens the Results Browser.
5. Review the bin values now shown in the SPRES Results Browser. See
Browsing SPRES Results on page 190.
See also
More about Static Power Net Resistance Analysis on page 187

By Resistor Count Percentage


Redistribute SPRES results by resistor count percentage when you want each
bin to show a specified percentage of the total number of resistors.
To redistribute results by percentage:
1. In the Change Bins form, choose Resistor Count Percentage.
Specify the bin percentages starting from the highest bin to the next
consecutive lower bin. Use a minimum of two bins.
2. For one or more bins, specify the percentage you want to place in that bin.
3. Continue to specify percentages, ensuring that the total does not exceed
100%.
Galaxy Custom Designer Platform User Guide
J-2014.12

193

Chapter 11: Static Power Net Resistance Analysis


Redistributing Bin Values for SPRES Results

4. Click OK.
Leaving the design open, the system reruns the analysis, and re-imports the
results. You can monitor the process using the Job Monitor, or wait until the
Console reports completion, and reopens the Browse Results form.
See also
More about Static Power Net Resistance Analysis on page 187

194

Galaxy Custom Designer Platform User Guide


J-2014.12

12
Tools for Designing

12

Use design tools to facilitate design development. Design tools include editors
and features that operate independently, and window assistants that help with
operations on the design in the current window.

This chapter covers instructions for using all Custom Designer platform design
tools and window assistants.

Deciding Which Tool to Use on page 196

Bookmark Manager Tool on page 198

Console Assistant on page 201

Design Navigator Assistant on page 202

Device Label Editor Assistant on page 224

Device Palette Assistant on page 229

Display Resource Editor Tool on page 232

Estimated Parasitics Assistant on page 241

Hierarchy Navigator Assistant on page 245

Job Monitor Tool on page 248

Library Manager Tool on page 257

Marker Browser Assistant on page 286

Net Tracer Assistant on page 289

Object Filter Assistant on page 292

Object/Layer Panel Assistant on page 294

Parameter Definition Editor Tool on page 306

Probe Assistant on page 308

Galaxy Custom Designer Platform User Guide


J-2014.12

195

Chapter 12: Tools for Designing


Deciding Which Tool to Use

Property Editor Assistant on page 311

Search and Replace Tool on page 317

Technology Manager Tool on page 336

Text Viewer Tool on page 340

Track Pattern Assistant on page 342

Transaction History Assistant on page 349

Deciding Which Tool to Use


Table 63 on page 196 lists tools and assistants in alphabetical order, and
describes how each tool assists with designing. Choose a tool when you want
to use its capabilities.
Table 63

Design Tools and Window Assistants

Tool or Assistant

Design Development

Bookmark Manager Tool on


page 198

Sets new bookmarks, and loads and saves


existing bookmarks.

Console Assistant on page 201

Enters precision coordinates and Tcl commands.

Constraint Editor

Creates and applies design constraints. (Use the


Constraint Manager to manage process
constraints.)
For information about placement constraints and
the Constraint Manager, see the Custom
Designer Layout Editor User Guide. For
information about routing constraints, see the
Custom Designer Router User Guide.

196

Design Navigator Assistant on


page 202

Navigates designs by component, assigns


flightline colors, applies shadow mode; operates
on nets, nets groups, and synchronized clone
figure groups.

Device Label Editor Assistant on


page 224

Controls settings for device labeling.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Deciding Which Tool to Use

Table 63

Design Tools and Window Assistants

Tool or Assistant

Design Development

Device Palette Assistant on


page 229

Automates repetitive instance placement.

Display Resource Editor Tool on


page 232

Assigns display resources; creates display


colors, stipples, and line styles; loads and
merges display resource files; defines packets
and packet aliases.

Estimated Parasitics Assistant on


page 241

Adds estimated parasitic devices to a schematic


design.

Hierarchy Navigator Assistant on


page 245

Navigates designs by instance or master name.

Job Monitor Tool on page 248

Tracks running job processes.

Liberty Data Editor

Controls settings and values for a Liberty library


file. See the Galaxy Custom Designer IC
Compiler Co-Design (ICC-CD) User Guide for
details.

Library Manager Tool on


page 257

Creates, and manages, libraries, cells, cellViews,


and cell categories.

Marker Browser Assistant on


page 286

Lists, and browses, to marked design violations


in designs.

Net Tracer Assistant on page 289 Probes nets in designs.


Object Filter Assistant on
page 292

Controls settings for precision canvas selection.

Object/Layer Panel Assistant on


page 294

Controls settings that make canvas objects


visible and selectable.

Parameter Definition Editor Tool


on page 306

Displays, defines, and sets values for


parameters.

Probe Assistant on page 308

Displays, cycles through, and deletes probes.


(Use the Add Probe command to add probes.)

Galaxy Custom Designer Platform User Guide


J-2014.12

197

Chapter 12: Tools for Designing


Bookmark Manager Tool

Table 63

Design Tools and Window Assistants

Tool or Assistant

Design Development

Property Editor Assistant on


page 311

Creates, and edits, properties, edits parameters,


and edits the values of attributes; controls
connectivity and connection assignments;
displays instance terminal connectivity.

Search and Replace Tool on


page 317

Finds and optionally replaces components in a


design.

Technology Manager Tool on


page 336

Imports and exports technology data, technology


files; resets referenced technologies.

Text Viewer Tool on page 340

Displays text output for all running jobs that


produce it.

Track Pattern Assistant on


page 342

Defines and applies track patterns for correct-byconstruction design. Available with Layout Editor
Plus.

Transaction History Assistant on


page 349

Lists committed database transactions; reverts


designs to previous states in the current session.

Bookmark Manager Tool


Adding a Bookmark
You can add a bookmark to save the association between this viewport and this
design context. You can add bookmarks to any open design.
The Bookmark Manager controls bookmarks. However, it does not need to be
open to add a bookmark.
To add a bookmark:
1. In the design window displaying the context and viewport you want to
bookmark, choose View > Bookmarks > Add.
(Alternatively, you can use the key binding Ctrl-b.)

198

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Bookmark Manager Tool

2. Enter a bookmark name using a single unbroken string of characters.


3. Click Create.
The tool creates the bookmark, and adds it to the list of bookmarks accessible
through any editor.
See also
More about the Bookmark Manager Tool on page 198

Opening the Bookmark Manager Tool


Open the Bookmark Manager to load, save, delete, or rename bookmarks.
To open the Bookmark Manager:

From the Console, choose Tools > Bookmark Manager.

From a design window, choose View > Bookmarks > Manage.


See also
More about the Bookmark Manager Tool on page 198

Managing Bookmarks with the Bookmark Manager


type some text
You can manage bookmarks to control stored design data and viewport
combinations.
These sections cover:

Loading Bookmarks on page 200

Saving Bookmarks on page 200

Deleting Bookmarks on page 200

Renaming Bookmarks on page 201

(To add a bookmark, see Adding a Bookmark on page 198.)

Galaxy Custom Designer Platform User Guide


J-2014.12

199

Chapter 12: Tools for Designing


Bookmark Manager Tool

Loading Bookmarks
You can load bookmarks to make them available for use in this session. By
default, bookmarks stored in the current working directory file
bookmarks.xml loaded automatically on session start. The
SYNOPSYS_CUSTOM_LOCAL environment variable controls this operation.
To load bookmarks:
1. Begin by Opening the Bookmark Manager Tool on page 199.
2. In the Bookmark Manager, choose File > Load.
3. Browse to choose the correct XML file.
4. Click Open.
5. When you are done, choose File > Close.
See also
More about the Bookmark Manager Tool on page 198

Saving Bookmarks
You can save bookmarks to retain them for future sessions.
Use the Bookmark Manager to save bookmarks. To add a bookmark, see
Adding a Bookmark on page 198.
To save bookmarks:
1. Begin by Opening the Bookmark Manager Tool on page 199.
2. In the Bookmark Manager, choose File > Save As.
3. Enter a new file name, or browse to choose a bookmark XML file you want
to overwrite.
4. Click Save.
5. When you are done, choose File > Close.
See also
Bookmark Manager Tool on page 198

Deleting Bookmarks
You can delete bookmarks to remove them from use.
Use the Bookmark Manager to delete a bookmark.

200

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Console Assistant

To delete bookmarks:
1. Begin by Opening the Bookmark Manager Tool on page 199.
2. In the Bookmark Manager, select the bookmark.
3. Choose Edit > Delete. (Alternatively, you can use the bindkey Ctrl-d.)
4. When you are done, choose File > Close.
See also
More about the Bookmark Manager Tool on page 198

Renaming Bookmarks
You can rename a bookmark to change the name of a stored design and
viewport combination.
Use the Bookmark Manager to rename a bookmark.
To rename a bookmark:
1. Begin by Opening the Bookmark Manager Tool on page 199.
2. In the Bookmark Manager, select the bookmark.
3. Choose Edit > Rename.
4. Enter the new name.
5. When you are done, choose File > Close.
See also
More about the Bookmark Manager Tool on page 198

Console Assistant
You can use the console assistant to enter Tcl commands and precision
coordinates. This assistant appears as a toolbar that opens at the bottom of the
design window.
To use the command input assistant:
1. In a design window, choose Window > Assistants > Console.
Alternatively, you can right-click a blank area on the window edge to show
the menu, and choose Console, or use the bindkey Shift-space.

Galaxy Custom Designer Platform User Guide


J-2014.12

201

Chapter 12: Tools for Designing


Design Navigator Assistant

The toolbar opens at the lower edge of the window.


2. Enter Tcl commands as you would on the console command input line,
entering relative and absolute coordinates for drawing operations as
accepted by the command.

For relative coordinates, the first coordinate defines a width and height
without respect to the origin, and the second coordinate locates the
shape at a point with respect to the origin. Enter relative coordinates
following this convention: <float> <float>.

For absolute coordinates, the first coordinate defines a point with


respect to the origin, and the second coordinate determines the width
and height with respect to the first point. Enter absolute coordinates
following this convention: =<float> <float>.

For example, you can create a rectangle where the first point is absolute
(such as, =4 5), and the second point is relative (such as, 2 3), and the
system commits an oaRect with a bounding box of {4 5} {6 8}.
See also
More about Tools for Designing on page 195

Design Navigator Assistant


You can use the Design Navigator to:

Navigate designs

Locate components

Rename components

Place design areas in shadow

Manage flight line colors

Work with nets

Work with groups of nets and figures

Synchronize cloned figure groups you have created with the Layout Editor

(To create and clone figure groups, see the Custom Designer Layout Editor
User Guide.)

202

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

If this is your first time using the Design Navigator, use it by opening it, locating
components, and then acting on the components.
These sections cover:

Opening the Design Navigator Assistant on page 203

Locating Components with the Design Navigator

Renaming Components with the Design Navigator

Manipulating Components with the Design Navigator

Placing Design Areas in Shadow with the Design Navigator

Managing Flight Line Colors with the Design Navigator

Working with Nets in the Design Navigator

Working with Figure Groups in the Design Navigator

Opening the Design Navigator Assistant


Open the Design Navigator assistant when you want to locate and select
instances, nets, terminals, and net and figure groups in designs in preparation
for performing design operations on them.
To open the Design Navigator assistant, use one of these methods:

From any design layout, choose Window > Assistants > Design
Navigator.

From a design layout where you are drawing routes, click the Net to Route
button on the Auto Route command toolbar.
(To display the Auto Route toolbar, choose Tools > Router, then Router >
Auto Route.)

From any toolbar where you see the Design Navigator icon, click it:

The assistant docks along the window edge. Undock it by clicking and dragging
it.
See also
Navigating through Components on page 204
More about using the Design Navigator Assistant on page 202

Galaxy Custom Designer Platform User Guide


J-2014.12

203

Chapter 12: Tools for Designing


Design Navigator Assistant

Locating Components with the Design Navigator


You can locate components in a design by navigating through them or by listing
them by type.
These sections cover:

Navigating through Components on page 204

Listing Components by Type on page 206

After you locate components, you can work with them. See Manipulating
Components with the Design Navigator on page 209.

Navigating through Components


You can navigate through the components in an open design.
You can navigate through instances, nets, and terminals. If some components
are also grouped, you can navigate through the groups.
Use the Design Navigator to navigate through components.
To navigate through components:
1. Begin by Opening the Design Navigator Assistant on page 203.
2. Begin to navigate to the component using the tabs, and the reference arrow.
Table 64 on page 204 lists, and describes, the tabs and the reference arrow.
Each tab shows symbols for several types of components, depending on
what you have chosen to view.
Table 64
Tab

204

Design Navigator Tabs


Symbol

Description

Insts

This symbol depicts instances

Nets

This symbol depicts nets

Terms

This symbol depicts terminals

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

Table 64

Design Navigator Tabs

Tab

Symbol

Description

Groups

This symbol depicts figure groups under the Groups tab.


(To see net groups instead, choose Net Groups from the
Nets tab menu.)

Reference
Arrow

This button switches by reference to the next tab list.


Shows components connected to this component. To see
this symbol, hover with the cursor to the right of any name.
To switch to the next tab list, click the symbol.

To switch to the next tab, and list, you can click the reference arrow button
that appears when you position your cursor to the right of a component
label.
For example, clicking the Nets tab shows the list of nets, and also their
connected terminals. Clicking the reference arrow to the right of a terminal
name switches your view to the Terminals tab and list for that net. You can
navigate farther through the terminals using their reference arrows, or you
can return to the list of nets by clicking the Nets tab again.
3. (Optional) Filter the number of items initially shown in any list by entering
unique characters in the Filter box.
For example, to find all ground nets in a list of nets, first click the Nets tab,
and then enter VSS in the Filter box.
4. When you locate the list of components you want to work with, highlight the
component names in the Design Navigator.
Use the keyboard, and the mouse.

To highlight one name, click the name.

To highlight a contiguous group, Shift-select the starting and ending


names.

To highlight multiple individual names, Ctrl-select one at a time.

Alternatively, you can select a shape or shapes in the design, which


highlights the shape or shapes by name in the Design Navigator.

5. (Optional) Filter the list to show only the currently highlighted names by
clicking the Filter Selected button:

Galaxy Custom Designer Platform User Guide


J-2014.12

205

Chapter 12: Tools for Designing


Design Navigator Assistant

6. With the list of components you want to use now highlighted, and optionally
filtered, select them in the design.
Table 65 on page 206 lists the toolbar buttons you can use for selecting
components in a design.
Table 65
Button

Design Navigator Toolbar Buttons for Selection


Tooltip

Action

Fit to Design Object

Fits the design viewport to the component whose


name is selected in the list

Select in Design

For components highlighted in the list, selects them


in the open design

Deselect in Design

Deselects currently selected components in the


open design

7. Use the Design Navigator to act on the selected components.


When you are ready to act on the selected components, see Manipulating
Components with the Design Navigator on page 209.
To use an alternate method of locating components, see Listing
Components by Type on page 206.
See also
More about using the Design Navigator Assistant on page 202

Listing Components by Type


You can list instances, nets, and terminals by type from the open design layout.
Use the Design Navigator to list components by type.
These sections cover:

Listing Instances on page 207

Listing Nets on page 207

Listing Terminals on page 208

After you list components by type, you can work with them. See Manipulating
Components with the Design Navigator on page 209.

206

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

Listing Instances
You can list instances in the open design.
Use the Design Navigator to list instances in the open design. To search for
specific instances by name, you can alternatively use the Search and Replace
Tool on page 317.
To list instances:
1. Begin by Opening the Design Navigator Assistant on page 203.
2. On the Design Navigator toolbar, click the Insts tab.
3. Using the menu at the right edge of the Insts tab, choose an option.
Table 66 on page 207 lists Design Navigator Instance Tab Menu Options
Table 66

Design Navigator Instance Tab Menu Options

Option

Description

All Instances

Lists all instances in the open design. Unplaced instances are


listed in gray.

Unplaced Instances

Lists unplaced instances only

From here you can act on the instances or navigate to additional


components.
See also
Manipulating Components with the Design Navigator on page 209
More about using the Design Navigator Assistant on page 202
Listing Nets
You can list nets in the open design.
Use the Design Navigator to list nets in the open design. To search for specific
nets by name, you can alternatively use the Search and Replace Tool on
page 317.
To list nets:
1. Begin by Opening the Design Navigator Assistant on page 203.
2. On the Design Navigator toolbar, click the Nets tab.
3. Using the menu at the right edge of the Nets tab, choose an option.

Galaxy Custom Designer Platform User Guide


J-2014.12

207

Chapter 12: Tools for Designing


Design Navigator Assistant

Table 67 on page 208 lists Design Navigator Nets tab menu options.
Table 67

Design Navigator Nets Tab Menu Options

Option

Description

All Nets

Lists all nets in the currently edited design. This list changes
as you adjust the hierarchical context.

Unrouted Nets

Lists only unrouted nets in the currently edited design

Net by Group

Lists nets as grouped into net groups. Lists any nets not
contained in a group under the heading Ungrouped.

Nets by Signal Type

Lists all nets organized by signal type

From here you can act on the nets or navigate to additional components.
See also
Manipulating Components with the Design Navigator on page 209
More about using the Design Navigator Assistant on page 202
Listing Terminals
You can list terminals in the open design. After you list terminals, you can act
on them.
Use the Design Navigator to list terminals in the open design. To search for
specific terminals by name, you can alternatively use the Search and Replace
Tool on page 317.
To list terminals:
1. Begin by Opening the Design Navigator Assistant on page 203.
2. On the Design Navigator toolbar, click the Terms tab.
The assistant lists all terminals in the design. From here you can act on the
terminals or navigate to additional components.
See also
Manipulating Components with the Design Navigator on page 209
More about using the Design Navigator Assistant on page 202

208

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

Renaming Components with the Design Navigator


You can rename the following components in the Design Navigator:

instances

nets

groups

To rename a component:
1. Double-click the instance, net, or group to rename.
2. Enter the new name.
3. Press Enter.
If the new name already exists in the design, the renaming is not allowed, and a
message is displayed in the Console.

Manipulating Components with the Design Navigator


You can manipulate components you have located through the Design
Navigator. You can select the components in the design. You can navigate with
them, run reports on them, and create and manage them in groups.
Prepare for this procedure by Locating Components with the Design Navigator
on page 204.
To work components using the Design Navigator:

Right-click the component name or names, and choose an option from the
available pop-up menu.
The tables that follow list menu options for each component type.
Where menu options are available as buttons, the table shows the button.

Table 68 on page 210 lists options for the Instances pop-up menu.

Table 69 on page 210 lists options for the Nets pop-up menu.

Galaxy Custom Designer Platform User Guide


J-2014.12

209

Chapter 12: Tools for Designing


Design Navigator Assistant

Table 68
Button

Table 70 on page 212lists options for the Terminals pop-up menu.


Design Navigator Pop-Up Menu for Instances
Menu Option

Description

Descend

Descends to this instance in the design

Fit

Zooms to this instance, and fits it to the viewport

Select in Design

Selects this instance in the design

Deselect in Design

Deselects this instance in the design

Select Connected

Selects this instance, and its connected Islands,


Branches, or Nets

Deselect Connected Deselects this instance, and its connected Islands,


Branches, or Nets

Table 69
Button

210

Placement Status

Shows, and allows adjustment of, the placement


status for this instance to None, Unplaced, Placed,
Fixed, or Locked. With multiple instances selected
where the placement status varies, no status is
shown.

Extract Parasitics

Performs parasitic extraction on this instance

Delete Instances

Deletes this instance or instances from the design

Design Navigator Pop-Up Menu for Nets


Menu Operation

Description

Fit

Zooms to this net, and fits it to the viewport

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

Table 69
Button

Design Navigator Pop-Up Menu for Nets


Menu Operation

Description

Select Shapes in
Design

Selects these net shapes in the design

Deselect Shapes in
Design

Deselects these net shapes in the design

Select Instances

Selects instances connected to this net

Delete Net Shapes

Deletes all shapes on all selected nets that are not


members of pins

Add to Group

Adds the selected net or nets to a net group. For


details, see Creating Net Groups on page 214, and
Adding Nets to Net Groups on page 214.

Remove from Group Removes this net from its group

Report Nets

Generates a net report. For details, see Reporting


Information about Nets on page 215.

Check EM and
Resistance

Checks electromigration and resistance for this net.

Report Resistance

Reports resistance on a net, or between source and


destination pins or coordinates on a net.

Create Constraint

Creates the constraint you choose from the list of


available constraints for this net. For information
about placement constraints, see the Custom
Designer Layout Editor User Guide. For information
about routing constraints, see the Custom Designer
Router User Guide.

Galaxy Custom Designer Platform User Guide


J-2014.12

211

Chapter 12: Tools for Designing


Design Navigator Assistant

Table 70
Button

Design Navigator Pop-Up Menu for Terminals


Menu Operation

Description

Fit

Zooms to this terminal, and fits it to the viewport

Select Shapes in
Design

Selects these terminal shapes in the design

Deselect Shapes in
Design

Deselects these terminal shapes in the design

Delete Pins

Deletes the pins on this terminal

Placing Design Areas in Shadow with the Design


Navigator
You can place design areas in shadow for additional visual contrast between
selected nets, and the surrounding design.
To place design areas in shadow:
1. Begin by Opening the Design Navigator Assistant on page 203.
2. Locate a net either in the list or by selecting it directly on the canvas.
For more information about locating nets, see Navigating through
Components on page 204.
3. From the Design Navigator toolbar, click the Shadow Mode button.
Shadow mode increases the contrast between the nets, and the
surrounding design, allowing for more targeted net viewing.

212

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

See also
More about using the Design Navigator Assistant on page 202

Managing Flight Line Colors with the Design Navigator


You can manage flight line colors to control their visual display in a design.
Flight lines identify missing connections between physical objects on the same
net in analog designs.
To manage flight line colors:
1. Begin by Opening the Design Navigator Assistant on page 203.
2. In the Design Navigator, click the Nets tab.
3. Activate the Connectivity Engine, if it is not active:

Choose Options > Design.

On the Connectivity tab, choose Connectivity Engine.

Click OK.

In the Design Navigator, the list of nets shows current flight line color
settings.
4. In the Nets column, select one or more nets by name.
5. Click the Set Flightline button menu:
6. Use the menu to assign flight line colors for the selected nets.
For example, you can select a set of nets on the canvas. The Design
Navigator highlights their net names in the list of nets. For the selected nets,
you can use the Set Flightline button menu to apply one flight line color to
all flight lines.
Nets for which flight lines are not enabled are shown in black.
See also
More about using the Design Navigator Assistant on page 202

Working with Nets in the Design Navigator


You can work with nets by generating net detail and net resistance reports,
creating net groups, and creating constraints.
Galaxy Custom Designer Platform User Guide
J-2014.12

213

Chapter 12: Tools for Designing


Design Navigator Assistant

These sections cover:

Adding Nets to Net Groups on page 214

Creating Net Groups on page 214

Reporting Information about Nets on page 215

For information about using the Design Navigator to check and report wire
resistance and electromigration, and about creating net constraints for routing,
see the Custom Designer Router User Guide.

Adding Nets to Net Groups


You can add nets to net groups to organize nets for easier selection in layout
design operations.
Use the Design Navigator assistant to add nets to net groups.
To add nets to net groups:
1. Begin by Opening the Design Navigator Assistant on page 203.
2. Click the Nets tab to list the nets in the open design.
3. In the list, select the name of the net or nets you want to add to a group.
4. On the highlighted name or names, right-click, and choose Add to Group.
5. In the Add to Group dialog box that opens, locate the group, using the Filter
box, if necessary.
6. Select the group by its name.
7. Click Add to Group.
The dialog box closes. You can confirm the new additions by clicking the
newly added net or nets by name in the Nets list. The group name now
shows.
See also
Creating Net Groups on page 214
More about using the Design Navigator Assistant on page 202

Creating Net Groups


You can create net groups to organize nets for selection in layout operations.
To create net groups:
1. Begin by Opening the Design Navigator Assistant on page 203.

214

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

2. In the Design Navigator assistant, click the Nets tab to show the list of nets.
You can navigate to the list of nets you want to group. To do this, see
Navigating through Components on page 204.
3. In the Nets list, select the nets by name.
4. In the Design Navigator toolbar, click Add to Group.
5. In the Add to Group dialog box, click New.
6. On the blank line, enter a name for the group.
7. Press Return.
8. Close the dialog box.
See also
Adding Nets to Net Groups on page 214
More about using the Design Navigator Assistant on page 202

Reporting Information about Nets


You can report information about nets in a design to collect this information in
one place. The system shows this report in the Console.
Use the Design Navigator to report information about nets.
To report information about nets in a design:
1. Begin by Opening the Design Navigator Assistant on page 203.
2. In the Design Navigator, locate the net.
For more information about locating nets, see Navigating through
Components on page 204.
3. On the net name, right-click, and choose Report Nets.
4. In the Console output pane, view the report details.
For a single net, the report lists:

Routed net length

Routed net length on each valid routing layer

Manhattan net length

Ratio of routed net length over Manhattan net length

Evidence of the use of non-foundry rules for minWidth, minSpacing,


validRoutingLayers, validRoutingVias, and minNumCut

Galaxy Custom Designer Platform User Guide


J-2014.12

215

Chapter 12: Tools for Designing


Design Navigator Assistant

For a collection of nets, the report lists the information for a single net plus
this additional information:

Via usage: the total number of vias, the number of vias between
adjacent valid routing layers, redundant via rate

Number of completely, and partially, routed nets, and un-routed nets

Number of nets that use non-foundry rules, expressed as a percentage


of all reported nets

Optionally reported nets over a user-specified ratio of routed over


Manhattan net length

Optionally reported nets longer than a user-specified length threshold

See also
More about using the Design Navigator Assistant on page 202

Working with Figure Groups in the Design Navigator


You can use the Design Navigator to work with figures that you have grouped.
You can also use it to work with figure groups you have cloned to create
multiple identical figure groups. You can synchronize the cloned figure groups.
When synchronized, edits to figures in one group automatically apply to figures
in all peer groups of this cloned group, synchronizing design development.
You can maintain clone group synchronization to easily apply editing operations
that would normally be repetitive, and you can also break synchronization when
you want to work with a cloned figure group individually. Editing the elements of
the cloned group in other tools will break synchronization. However, you can
synchronize them again in the Layout Editor tool.
(To create figure groups, and synchronous clone figure groups, use the Layout
Editor. See the Custom Designer Layout Editor User Guide for assistance.)
These sections cover:

216

Listing Figure Groups on page 217

Operating on Figure Groups on page 218

Showing Synchronous Clone Groups on page 221

Breaking Synchronization of Cloned Groups on page 222

Synchronizing Cloned Groups to Peers on page 223

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

Listing Figure Groups


You can list figure groups, including cloned figure groups, by name in the
Design Navigator. After you list groups, you can use the system to operate on
them.
To list figure groups:
1. Begin by Opening the Design Navigator Assistant on page 203.
2. In the Design Navigator, click the Groups tab.
The tool shows groups in the design that is now open for editing.
3. From the Groups tab menu (at the right edge of the Groups tab), choose
an option.
Table 71 on page 217 lists, and describes, Groups tab menu options.
Table 71

Design Navigator Groups Tab Menu Options

Option

Description

All Groups

Lists all figure groups in the open design that are not
components of custom elements such as MPPs and rulers

Synchronous Clones

Lists cloned, synchronized figure groups (only) in the open


design. Additionally shows groups with broken
synchronization.

If this is the set of groups you want to see, you can stop here. (To act on this
set of groups, see Operating on Figure Groups on page 218.)
To change the set by filtering and selecting, see the steps that follow.
4. (Optional) Choose to Select All or Deselect All groups in the list shown by
using the toolbar menu:
5. If the names of all groups you want to list share a unique identifying
character (for example, they all begin with the letter U), filter the list by
entering one or more characters in the Filter box below the Design
Navigator toolbar.
Partial matches, wildcard matches (for example, A*B), and partial match
regular expressions (for example, A.*B) are supported.

Galaxy Custom Designer Platform User Guide


J-2014.12

217

Chapter 12: Tools for Designing


Design Navigator Assistant

To enable the pattern matching option of your choice, set it in the General
Options dialog box. (To open this dialog box, in any design window, choose
Options > General.)
6. From the groups that remain, select one or more by name.

To only select one group, click its name.

To select a contiguous sequence, Shift-select the names of the starting,


and ending, groups in the sequence.

To select multiple individual groups, Ctrl-select each one by name.

The Design Navigator highlights the names of your selected groups in the
list.
7. (Optional) Filter the list to show only the currently highlighted names by
clicking the Filter Selected button:
You can stop here, or you can act on the selections.
See Operating on Figure Groups on page 218
See also
More about Working with Figure Groups in the Design Navigator on
page 216.

Operating on Figure Groups


You can operate on figure groups you have listed, and selected by name, in the
Design Navigator. The assistant offers actions from the Design Navigator
toolbar, and also through pop-up menus.
To operate on figure groups:
1. Begin by Listing Figure Groups on page 217.
2. Act on the figure groups selected in the list.
You can use the toolbar buttons. You can additionally use the pop-up menus
available when you right-click selections from the list.

218

Table 72 on page 219 describes actions you can perform using Design
Navigator toolbar buttons.

Table 73 on page 219 describes the Design Navigator icons that also
have a pop-up menu.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

Table 72
Button

Table 73
Icon

Table 74 on page 220, Table 75 on page 220, and Table 76 on page 221
describe the pop-up menus.
Design Navigator Toolbar Buttons and their Actions
Tooltip

Action

Fit to Design Object

Fits the design viewport to the group whose name is


selected in the list

Select in Design

For groups selected in the list, also selects them in


the open design

Deselect in Design

Deselects currently selected groups in the open


design

Highlight Peer
Group

Highlights peers in a synchronous clone group, and


their internal connectivity, applying the color you
choose here, in the open design. For more
information about synchronous clone groups, see
Showing Synchronous Clone Groups on page 221.

Edit in Group

Activates, and deactivates, the edit-in-group feature,


which descends into the selected group for editing in
place. For more information about editing figures in
groups, see the sections on editing figure groups in
the Custom Designer Layout Editor User Guide.

Shadow Selected
Peer Groups

Activates, and deactivates, shadow mode, which


places surrounding design areas in shadow for
easier viewing.

Design Navigator Symbols and their Pop-Up Menus


Description

Pop-Up Menu

Figure Group

Table 74 on page 220

Synchronous Clone in a Cloned Figure Group

Table 74 on page 220

Synchronous Clone in a Cloned Figure Group


(shown with synchronization broken)

Table 74 on page 220

Galaxy Custom Designer Platform User Guide


J-2014.12

219

Chapter 12: Tools for Designing


Design Navigator Assistant

Table 73
Icon

Design Navigator Symbols and their Pop-Up Menus


Description

Pop-Up Menu

Synchronous Group

Table 75 on page 220

Instance

Table 76 on page 221

Table 74

Figure Group Menu

Description

Fit, Select in Design,


Deselect in Design

(See Table 72 on page 219 for these toolbar


actions.)

Break Sync Clone

When synchronous groups are present, breaks


synchronization for the selected clone group or
groups. For more information, see Breaking
Synchronization of Cloned Groups on page 222.

Sync to Peers

When synchronous groups are present,


synchronizes the selected group to its cloned peers.
For more information, see Synchronizing Cloned
Groups to Peers on page 223.

Ungroup

Deletes the selected group or groups. Objects in the


group remain in the design.

Table 75

220

Design Navigator Figure Group Pop-Up Menu

Design Navigator Synchronous Group Pop-Up Menu

Synchronous Group Menu

Description

Fit, Select in Design,


Deselect in Design

(See Table 72 on page 219 for these toolbar


actions.)

Delete

Deletes the selected group or groups from the


cloned group.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

Table 76

Design Navigator Instance Pop-Up Menu

Instance Menu

Description

Descend

Adjusts the hierarchy level to show the selected


instance

Fit, Select in Design,


Deselect in Design

(See Table 72 on page 219 for these toolbar


actions.)

Select Connected

Selects any connected islands, branches, or nets in


the design

Deselect Connected

Deselects any connected islands, branches, or nets


in the design

Placement Status

Shows, and allows assignment of, placement status


for this instance: None, Unplaced, Placed, Fixed, or
Locked. Where placement status varies among a set
of selected instances, the tool does not indicate a
status.

Delete Instances

Deletes instances from the design that are selected


in the Design Navigator list. Ignores instances that
are visible but not available for editing.

Select Routes to Instance

Selects all the routes (paths and vias) connected to


the terminals of the selected instance

See also
More about Working with Figure Groups in the Design Navigator on
page 216

Showing Synchronous Clone Groups


You can show synchronous clone groups for an open design through the
Design Navigator. Additionally, you can highlight group connectivity.
(To create synchronous clone groups, see the sections on working with figure
groups in the Custom Designer Layout Editor User Guide.)
To show synchronous clone groups:
1. Begin by opening the Design Navigator.

Galaxy Custom Designer Platform User Guide


J-2014.12

221

Chapter 12: Tools for Designing


Design Navigator Assistant

(From a design layout open for editing, choose Window > Assistants >
Design Navigator Assistant.)
2. In the Design Navigator with an open design containing synchronous clone
groups, view the groups.
a. In the Design Navigator toolbar, click the Groups button.
By default, the system shows all groups. This icon indicates a standard
figure group:
b.

From the Groups button menu (to the right of the Groups button),
choose Synchronous Clones.

3. In the list of synchronous clone groups, view status.


Synchronous clone groups appear as group icons with circling arrows:
Clones out of synchronization with their peer group show a red x:
To synchronize unsynchronized clone groups, see Synchronizing Cloned
Groups to Peers on page 223.
4. Show in the design connectivity in a synchronous clone group:
In the toolbar, click the Highlight Peer Group button, and choose a highlight
color to apply from the drop-down menu. The color yellow has been chosen
here.
The system applies the selected color to group names in the list of
synchronous clones. The system also highlights connectivity within cloned
groups on the canvas, using this color.
See also
More about using the Working with Figure Groups in the Design Navigator
on page 216

Breaking Synchronization of Cloned Groups


You can break synchronization of cloned groups when you want to work with
their figure groups individually.
To break synchronization in synchronous cloned groups:
1. Begin by opening the Design Navigator.
(From a design layout open for editing, choose Window > Assistants >
Design Navigator Assistant.)

222

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Design Navigator Assistant

2. In the Design Navigator with an open design containing synchronous clone


groups, show the list of synchronous clone groups.
a. In the Design Navigator toolbar, click the Groups column button.
b.

From the Groups button menu, choose Synchronous Clones.

3. Select the name of the cloned group whose synchronization you want to
break, right-click, and choose Break Sync Clone.
The system indicates broken synchronization:
You can now edit this group without automatically applying the edits to all
clones of this group.
To synchronize the groups again, see Synchronizing Cloned Groups to
Peers on page 223.
See also
More about using the Working with Figure Groups in the Design Navigator
on page 216

Synchronizing Cloned Groups to Peers


You can synchronize cloned groups to their peers again after synchronization
breaks.
Synchronization can be broken by you (see Breaking Synchronization of
Cloned Groups on page 222), and it can break through editing of synchronized
clone elements when you transfer the design to another tool, and back again.
This option is only available for figure groups that have been created by
cloning.
To synchronize cloned groups to peers:
1. Begin by opening the Design Navigator.
(From a design layout open for editing, choose Window > Assistants >
Design Navigator Assistant.)
2. In the Design Navigator, locate the cloned group that is no longer
synchronized:
3. Select the cloned group name, right-click, and choose Sync to Peers.
The system synchronizes this group to its cloned peers.
You can now edit this group, and automatically apply the edits to all clones
of this group.
Galaxy Custom Designer Platform User Guide
J-2014.12

223

Chapter 12: Tools for Designing


Device Label Editor Assistant

See also
More about using the Working with Figure Groups in the Design Navigator
on page 216

Device Label Editor Assistant


You can use the Device Label Editor assistant to control the display of
evaluated labels associated with components. Through this assistant, you can
choose to display default or alternate labels from the component description
format (CDF) parameter set. You can use the device label editor with both
open, and unopened, designs.
These sections cover:

Opening the Device Label Editor Assistant on page 224

Controlling Device Label Display with the Device Label Editor on page 225

Editing Attribute Labels with the Device Label Editor on page 225

Editing Parameter Labels with the Device Label Editor on page 226

Saving and Loading Device Label Settings with the Device Label Editor on
page 228

Opening the Device Label Editor Assistant


Open the Device Label Editor to work with evaluated device labels.
To open the Device Label Editor:

In a schematic, choose Window > Assistants > Device Label Editor.

The assistant docks along the window edge. Un-dock it by clicking, and
dragging it.
To show device label details here, select a device in the design.

224

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Device Label Editor Assistant

See also
More about using the Device Label Editor Assistant on page 224

Controlling Device Label Display with the Device Label


Editor
You can control device label display to limit label information shown on the
canvas.
Use the Device Label Editor assistant to control device label display.
Begin by Opening the Device Label Editor Assistant on page 224.

You can right-click any column title, and choose which column to expose.
You can expose the label type, the parameter to be shown in the label, and
the label visibility.

To force the device to use parameters from the component description


format paramLabelSet field, check Use Defaults.

See also
More about using the Device Label Editor Assistant on page 224

Editing Attribute Labels with the Device Label Editor


You can edit attribute labels to adjust the labeling information for a name or
terminal attribute in a design.
Use the Device Label Editor assistant to edit attribute labels.
To edit device label attributes:
1. Begin by Opening the Device Label Editor Assistant on page 224.
2. In the Device Label Editor Attributes section, click the name or terminal
whose label you want to change.
3. From the list box, make a selection.
Refer to Table 77 on page 226 and Table 78 on page 226 to predict the
result of this change.
4. Apply changes (click the green check mark).

Galaxy Custom Designer Platform User Guide


J-2014.12

225

Chapter 12: Tools for Designing


Device Label Editor Assistant

Table 77 on page 226 lists, and describes, Device Label Editor name
values.
Table 77

Device Label Editor Name Values

Name Value

Description

Instance

Displays the name attribute of the current instance

Cell

Displays the cell name attribute of the current instances


placed master

Default

Inherits the display type from a more global scope

None

Suppresses the display

Table 78 on page 226 lists, and describes, Device Label Editor terminal values.
Table 78

Device Label Editor Terminal Values

Terminal Value

Description

Name

Displays the name attribute of the instances placed masters


terminal

Net Name

Displays the name of the net attribute of the instance terminal

Default

Inherits the display type from a more global scope

None

Suppresses the display

See also
More about using the Device Label Editor Assistant on page 224

Editing Parameter Labels with the Device Label Editor


You can edit parameter labels to control which component description format
parameter is shown for a device in a design.
Use the Device Label Editor assistant to edit parameter labels.

226

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Device Label Editor Assistant

To edit parameter labels:


1. Begin by Opening the Device Label Editor Assistant on page 224.
2. In the design, select the device.
3. In the Device Label Editor under Parameters, right-click the current name
of the label you want to change.
4. From the list box, make a selection.
To hide parameter labels on the canvas, set the type to none.
5. In the toolbar, choose the scope to which the change will be applied.
For scope details, refer to the table that follows.
6. Apply changes (click the green check mark).
Table 79 on page 227 lists, and describes, Device Label Editor scope
settings.
Table 79

Device Label Editor Scope Settings

Scope

Application of settings

Instance

Applies settings only to the selected/current instance. A setting of


Default will cause the corresponding label evaluation to be inherited
from a higher scope (Design, Master, or Library).

Design

Applies settings to all instances in the design whose master matches


that of the current/selected instance. A setting of Default will cause the
label display to be inherited from a higher scope (Master or Library).

Master

Applies settings to all instances whose master matches that of the


current instance. All designs in the current session will be impacted,
whether they are opened or closed at the time the change is made. A
setting of Default will allow the cdsName and cdsTerm label displays
to be inherited from the Library scope. A setting of Default for the
parameter labels will cause the display to be determined by the
information in the cell component description format.

Library

Applies settings to all instances in the same library as the current


instances master, again across all designs in the current session. A
setting of Default will restore the cdsName and cdsTerm labels to the
default settings.

Galaxy Custom Designer Platform User Guide


J-2014.12

227

Chapter 12: Tools for Designing


Device Label Editor Assistant

See also
More about using the Device Label Editor Assistant on page 224

Saving and Loading Device Label Settings with the


Device Label Editor
These sections cover:

Saving Device Label Display Settings on page 228

Loading Device Label Display Settings on page 228

Saving Device Label Display Settings


You can save current label display settings to store them for future sessions.
Use the Device Label Editor assistant to save device label settings. By default,
the system saves device label settings on session end in the file
device_displays.xml, and reloads this file on next session startup. You
can save them to the file of your choice instead.
To save device label display settings:
1. Begin by Opening the Device Label Editor Assistant on page 224.
2. From the Device Label Editor toolbar options menu, choose Save.
3. In the Save Device Display window, enter a name for the file you want to
save.
4. Click Save.
See also
More about using the Device Label Editor Assistant on page 224

Loading Device Label Display Settings


You can load device label settings to make them available in this session. By
default, the system saves device label settings on session end in the file
device_displays.xml, and reloads this file on next session startup. You
can load them from a file of your choice instead.
To load device label display settings:
1. Begin by Opening the Device Label Editor Assistant on page 224.
2. From the Device Label Editor toolbar options menu, choose Load.

228

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Device Palette Assistant

3. In the Load Device Display window, enter the name of the existing file.
4. Click Open to load the file.
See also
More about using the Device Label Editor Assistant on page 224

Device Palette Assistant


You can use the Device Palette assistant to drag-and-drop commonly placed
devices onto the design canvas. You can create, and categorize, sets of
devices on the Device Palette. (Devices that do not require added parameters
can be used.) You can place these device instances directly from the palette to
the design canvas.
These sections cover:

Opening the Device Palette Assistant on page 229

Adding Favorite Devices to the Device Palette on page 230

Placing Devices from the Palette with the Device Palette Assistant on
page 230

Adjusting Device Palette Contents with the Device Palette Assistant on


page 231

Opening the Device Palette Assistant


To open the Device Palette assistant:

In a layout or schematic view, choose Window > Assistants > Device


Palette.
The assistant docks along the window edge. Un-dock it by clicking, and
dragging it.

Galaxy Custom Designer Platform User Guide


J-2014.12

229

Chapter 12: Tools for Designing


Device Palette Assistant

See also
More about using the Device Palette Assistant on page 229

Adding Favorite Devices to the Device Palette


You can add favorite devices to the palette to create a collection of devices and
make them available directly from the palette.
Use the Device Palette assistant to add favorite devices to the palette.
To add a favorite device to the palette:
1. Begin by Opening the Device Palette Assistant on page 229.
2. On the device palette, click the plus button at the top left corner.
3. Specify or browse to find the library, cell, and view.
The palette allows referencing of a master of any view type from either the
layout or schematic editor. However, device favorites you add here appear
in the device palette for this editor only.
4. Accept the suggested alias, or enter a new alias.
Aliases provide an additional level of classification, after categories, for the
devices in the palette. Aliases are optional.
5. From the list, choose a category or enter a new category for the palette to
offer.
A new category you create here will include this favorite device.
6. Click OK.
See also
More about using the Device Palette Assistant on page 229

Placing Devices from the Palette with the Device Palette


Assistant
You can place a device from the device palette to quickly repeat the instance
creation process for favorite devices. Use the Device Palette assistant to place
commonly used devices in a design.
To place a device from the palette:

230

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Device Palette Assistant

1. Begin by Opening the Device Palette Assistant on page 229.


2. From the Device Palette toolbar options menu, choose the category.
3. From the palette list, use one of the three methods.

Select the device by name, and drag it onto the design canvas.

Double-click the device name, fine tune instance creation options, and
place the instance.

Select the device by name, click the Create Instance button, fine tune
instance creation options, and place the instance.

When the palette places a device instance, it also adds it to the Recently
Placed category for additional quick access.
See also
More about using the Device Palette Assistant on page 229

Adjusting Device Palette Contents with the Device


Palette Assistant
You can adjust device palette contents by adding or deleting categories,
deleting device favorites, and copying device favorites to new categories.
To adjust device palette contents:
1. Begin by Opening the Device Palette Assistant on page 229.
2. To the right of the Category list box, click the ellipses button (...).

Add a category by choosing <Click to Add> and entering the category


name.

Delete a category or device favorite (by its alias) by selecting it, and
clicking the red x.
The Recently Placed and Uncategorized categories cannot be deleted.
However, you can delete device favorites from any category where they
are listed.

Copy a favorite (by its alias) to another category by selecting it by name,


and dragging it to the destination category.

3. Click OK.

Galaxy Custom Designer Platform User Guide


J-2014.12

231

Chapter 12: Tools for Designing


Display Resource Editor Tool

See also
More about using the Device Palette Assistant on page 229

Display Resource Editor Tool


You can manage display resources through the Display Resource Editor. Use
the Display Resource Editor to control the visual representation of layerpurpose pairs (LPPs) in layouts, and of objects in schematics.
These sections cover:

Opening the Display Resource Editor Tool on page 232

Managing Displays with the Display Resource Editor on page 233

Managing Display Resources with the Display Resource Editor on page 235

Creating Display Packets and Packet Aliases with the Display Resource
Editor on page 237

Creating Colors, Stipples, and Line Styles with the Display Resource Editor
on page 239

Opening the Display Resource Editor Tool


Open the Display Resource Editor to view, edit, and manage display resources.
The Custom Designer tool supplies a default display resource file, which
resides in the installation path. The Display Resource Editor edits this

232

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Display Resource Editor Tool

To open the Display Resource Editor:

From the Console or a design layout view, choose Tools > Display
Resource Editor.

See next:
More about using the Display Resource Editor Tool on page 232

Managing Displays with the Display Resource Editor


You can manage displays by creating definitions for them, editing their
attributes, and renaming them when necessary. Manage displays to present
design images with the best visual effect on a variety of display devices.
These sections cover:

Creating Display Definitions on page 233

Editing Display Attributes on page 234

Renaming Displays on page 235

Creating Display Definitions


You can create a new display definition by giving it a name, and defining the
values for its set of visual attributes, or packets.
Galaxy Custom Designer Platform User Guide
J-2014.12

233

Chapter 12: Tools for Designing


Display Resource Editor Tool

Use the Display Resource Editor to create display definitions.


To create a display definition:
1. Begin by Opening the Display Resource Editor Tool on page 232.
2. In the Display Resource Editor, choose Display > New.
3. Enter a name.
4. (Optional) To limit the value options offered for attributes, click Limit
Contents and specify the number of values to offer.
5. Click Create.
A display owns the packets, packet aliases, colors, stipples, and line styles
created within it.
6. Click the Packets tab.
7. Set each packets display attributes by choosing from the list boxes.
(Optional) To additionally alter the visual definition for a display attribute
value, click Edit, make changes, and click OK.
8. The system applies changes automatically. To reset any value to its previous
state, click Reset.
9. When you are done, choose File > Close.
See also
More about Managing Displays with the Display Resource Editor on
page 233

Editing Display Attributes


You can edit display attributes when you want to change the outline or fill color,
stipple pattern, or line or fill style associated with an LPP or packet.
Use the Display Resource Editor to edit display attributes.
To edit a display attribute:
1. Begin by Opening the Display Resource Editor Tool on page 232.
2. In the Display Resource Editor, select the LPP or packet by name.
3. For the attribute you want to change, choose from the list box.
(Optional) To additionally alter the visual definition for this attribute, click
Edit, make changes, and click OK.

234

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Display Resource Editor Tool

4. The system applies changes automatically. To reset any value to its previous
state, click Reset.
5. When you are done, choose File > Close.
See also
More about Managing Displays with the Display Resource Editor on
page 233

Renaming Displays
You can rename a display to retain a set of display resources with a new name.
Display names must be unique at global scope.
Use the Display Resource Editor to rename a display.
To rename a display:
1. Begin by Opening the Display Resource Editor Tool on page 232.
2. In the Display Resource Editor, select an existing display name.
All displays except the display default are available for renaming.
3. Choose Display > Rename.
4. Enter a new name.
5. Click Rename.
6. When you are done, choose File > Close.
See also
More about Managing Displays with the Display Resource Editor on
page 233

Managing Display Resources with the Display Resource


Editor
You can manage display resource files by loading, merging, and saving them.
Display resource files make display resources available to designers.
These sections cover:

Loading Display Resource Files on page 236

Merging Display Resource Files on page 236

Saving New Display Resource Files on page 237

Galaxy Custom Designer Platform User Guide


J-2014.12

235

Chapter 12: Tools for Designing


Display Resource Editor Tool

Loading Display Resource Files


You can load display resources to make them available for this session.
Use the Display Resource Editor to load display resource files.
To load display resource files:
1. Begin by Opening the Display Resource Editor Tool on page 232.
2. In the Display Resource Editor, choose File > Load.
3. Browse to choose the display.drf or display.tcl file.
4. Click Load.
5. When you are done, choose File > Close.
See also
More about Managing Display Resources with the Display Resource Editor
on page 235

Merging Display Resource Files


You can merge display resource files to combine multiple sets of display
resources.
Use the Display Resource Editor to merge display resources.
To merge display resources:
1. Begin by Opening the Display Resource Editor Tool on page 232.
2. In the Display Resource Editor, choose File > Merge.
3. Click Add, and browse to find one or more source files.
Make any adjustments by clicking Remove, Move Up, or Move Down.
4. Browse to choose a destination file.
5. Choose a format for the destination file, or allow it to be determined
automatically.
6. (Optional) To prevent the data from being loaded into memory now, deselect
Load Merged Data.
7. Click Merge.
8. When you are done, choose File > Close.

236

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Display Resource Editor Tool

See also
More about Managing Display Resources with the Display Resource Editor
on page 235

Saving New Display Resource Files


You can save new display resource files to output display resource data from
the current session to an external Tcl script or DRF file, and retain it for future
use.
Use the Display Resource Editor to save new display resource files.
To save new display resource files:
1. Begin by Opening the Display Resource Editor Tool on page 232.
2. In the Display Resource Editor, choose File > Save As.
3. (Optional) To save only changed data from session start or last data reload
(File > Reload operation), click Modifications Only.
4. Enter a new file name or browse to find a file to overwrite.
5. Choose a file type, Tcl or DRF.
6. Click Save.
7. When you are done, choose File > Close.
See also
More about Managing Display Resources with the Display Resource Editor
on page 235

Creating Display Packets and Packet Aliases with the


Display Resource Editor
You can create display packets to define a set of attributes for association with
a display definition. You can also create packet aliases to enable adjustment of
display attributes without affecting their definitions in the technology file.
These sections cover:

Creating Packets on page 238

Creating Packet Aliases on page 238

Galaxy Custom Designer Platform User Guide


J-2014.12

237

Chapter 12: Tools for Designing


Display Resource Editor Tool

Creating Packets
You can create packets to define sets of visual attributes for design objects.
Use the Display Resource Editor to create a packet.
To create a packet:
1. Begin by Opening the Display Resource Editor Tool on page 232.
2. (Optional) In the Display Resource Editor, you can begin by selecting a
packet from which to use attributes.
3. Choose Edit > New Packet.
4. Enter a packet name.
5. Edit attributes for this packet.
For any attribute you want to change, right-click the mouse, and choose a
predefined value from the menu.
To additionally alter the visual definition for this value, click Edit, make
changes, and click OK.
6. When you are done, choose File > Close.
See also
More about Creating Display Packets and Packet Aliases with the Display
Resource Editor on page 237

Creating Packet Aliases


You can create a packet alias to modify attributes for an existing packet without
changing its packet definition in the technology file.
Use the Display Resource Editor to create a packet alias.
To create a packet alias:
1. Begin by Opening the Display Resource Editor Tool on page 232.
2. In the Display Resource Editor, select a packet.
3. Choose Edit > New PacketAlias.
4. Enter a PacketAlias name.
5. When you are done, choose File > Close.

238

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Display Resource Editor Tool

See also
More about Creating Display Packets and Packet Aliases with the Display
Resource Editor on page 237

Creating Colors, Stipples, and Line Styles with the


Display Resource Editor
Create colors, stipples, and line styles to provide additional attributes for
display packets to use.
These sections cover:

Creating Fill and Outline Colors on page 239

Creating Stipple Patterns on page 240

Creating Line Styles on page 240

Creating Fill and Outline Colors


You can create a fill and outline colors by defining their display names, RGB
(red, green, blue) luminosity values, and optionally, a blink setting.
Use the Display Resource Editor to create fill and outline colors.
To create fill or outline color:
1. Begin by Opening the Display Resource Editor Tool on page 232.
2. In the Display Resource Editor, in the section for the Fill Color or Outline
Color attribute, click Edit.
3. Click Add.
4. Enter a color name.
5. Adjust the RGB values by moving the cursor over the continuous tone
bitmap, or choose by number.
6. To cause layers with this color to blink, click Blink.
7. Click OK.
8. When you are done, choose File > Close.

Galaxy Custom Designer Platform User Guide


J-2014.12

239

Chapter 12: Tools for Designing


Display Resource Editor Tool

See also
More about Creating Colors, Stipples, and Line Styles with the Display
Resource Editor on page 239

Creating Stipple Patterns


You can create a stipple pattern for fills by defining its display name, and a
bitmap pattern, in pixels.
Use the Display Resource Editor to create stipple patterns.
To create a stipple pattern:
1. Begin by Opening the Display Resource Editor Tool on page 232.
2. In the Display Resource Editor, in the section for the Stipple attribute, click
Edit.
3. Click Add.
All displays support the built-in X stipple. This stipple is not defined as a
bitmap, and it can be referenced in any packet definition. The X stipple
causes an 'X' of fixed line width to be drawn from corner to corner in all
rectangles, and rectangular polygons, leaving other shapes unfilled.
You can override the built-in X stipple in any display by creating a bitmapbased stipple named X in that display.
4. Enter a stipple name.
5. Choose a base pattern size in number of pixels.
6. Use the cursor to select pixels for the base pattern.
To create a pattern with a dark background, define the fewer-pixel portion,
and click Invert.
7. When you are done, choose File > Close.
See also
More about Creating Colors, Stipples, and Line Styles with the Display
Resource Editor on page 239

Creating Line Styles


You can create a line style by defining its display name, a line width in pixels,
and a one-dimensional bit pattern (1's and 0's) of any length.
Use the Display Resource Editor to create a line style.

240

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Estimated Parasitics Assistant

To create a line style:


1. Begin by Opening the Display Resource Editor Tool on page 232.
2. In the Display Resource Editor, in the section for the Line Style attribute,
click Edit.
3. Click Add.
4. Enter a line style name.
5. Choose a pattern length, and a line width.
6. Use the cursor to select pixels for the pattern.
(Optional) To create a pattern with a dark background, define the fewer-pixel
portion, and click Invert.
7. When you are done, choose File > Close.
See also
More about Creating Colors, Stipples, and Line Styles with the Display
Resource Editor on page 239

Estimated Parasitics Assistant


You can use the Estimated Parasitics assistant to add estimated parasitics to
the schematic design in order to emulate parasitic effects and simulate the
design with estimated parasitics.
These sections cover:

Opening the Estimated Parasitics Assistant on page 242

Adding Devices to the Schematic with the Estimated Parasitics Assistant on


page 242

Querying Resistance Values and Adding from Layout with the Estimated
Parasitics Assistant on page 243

Ignoring Estimated Parasitic Devices in a Simulation on page 244

Galaxy Custom Designer Platform User Guide


J-2014.12

241

Chapter 12: Tools for Designing


Estimated Parasitics Assistant

Opening the Estimated Parasitics Assistant


To open the Estimated Parasitics assistant:

In a schematic view, choose Window > Assistants > Estimated


Parasitics.
The assistant docks along the window edge. Un-dock it by clicking, and
dragging it.

See also
More about using the Estimated Parasitics Assistant on page 241

Adding Devices to the Schematic with the Estimated


Parasitics Assistant
Use the Estimated Parasitics assistant to add a device type to your schematic
design. You can add multiple devices of the same type.
To add a device to the schematic design:
1. Begin by Opening the Estimated Parasitics Assistant on page 242.
2. In the Add Element tab of the Estimated Parasitics dialog, fill in the
Instance Name and choose a device type from the Device Type list. When
you choose a device type, a thumbnail to the right of the list shows what the
device will look like in the schematic.
To add a custom device to the list of device types, choose Register Custom
and fill in the Register Custom Parasitic Device dialog box.
3. You will be prompted to specify any necessary parameter values in the
Parameters section of the Add Element tab.
For resistance type parasitic devices (such as R_Metal) you can specify
physical parameters instead of fixed resistance/capacitance values. One of
the parameters for these devices is Input Method, which has the possible
values of Specify R or Specify Lengths/Widths.
It is useful to use the Estimated Parasitics assistant in conjunction with the
Property Editor to edit properties of the parasitic devices as you create
them. You must use the Property Editor if you want to edit the properties of
an already placed parasitic device instance.

242

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Estimated Parasitics Assistant

4. (Optional.) Fill in the name of the Reference Net in the Options section of
the Add Element tab.
5. (Optional.) For resistance type parasitic devices (such as R_Metal), if you
chose the Specify Length/Widths input method, you can choose the
technology library you want to use in the Options section of the Add
Element tab by choosing from the drop-down menu of the Tech Library
field.
6. Click Add Instance. The device is now attached to the cursor and you can
place it in your design by clicking in the location you want it.
Alternatively, you can drag and drop from the assistant.
Parasitic devices can be distinguished from other elements of the schematic
in that they are smaller and a different color.
7. Run the simulation as usual to include this schematic showing estimated
parasitics. You can compare simulations with and without estimated
parastics.
See also
More about using the Estimated Parasitics Assistant on page 241

Querying Resistance Values and Adding from Layout


with the Estimated Parasitics Assistant
You can use the Estimated Parasitics assistant to calculate the resistance value
for a selected net (for example, from an existing partial or complete layout) and
add that resistance value to the design.
To get the resistance value for a selected net:
1. Begin by Opening the Estimated Parasitics Assistant on page 242.
2. In the Query Resistance tab, select the Library, Cell, and View for the
layout you want to use.
3. Next, choose two points in the layout to select the net for which you want to
caculate the resistance value.

Click the
icon to the right of the Select Net field to bring up the
layout design.

Galaxy Custom Designer Platform User Guide


J-2014.12

243

Chapter 12: Tools for Designing


Estimated Parasitics Assistant

Use your mouse to click two points in the layout to populate Point 1 and
Point 2 in the Estimated Parasitics assistant.
The assistant calculates the resistance value, shown in the Resistance
field.

Click the Add R_Metal button to add the resistance value to the design.

See also
More about using the Estimated Parasitics Assistant on page 241

Ignoring Estimated Parasitic Devices in a Simulation


You can run a simulation that ignores estimated parasitic devices.
To ignore estimated parasitic devices:

In SAE, click the checkbox for Ignore Estimated Parasitic Devices in the
Environment Options dialog.

Alternatively, from the Custom Designer console, choose File > Export >
Netlist and click the checkbox for Ignore Estimated Parasitic Devices in
the Netlister Options tab.

See also
More about using the Estimated Parasitics Assistant on page 241

244

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Hierarchy Navigator Assistant

Hierarchy Navigator Assistant


You can use the Hierarchy Navigator assistant to navigate and work in the
hierarchy, by instance or master name.
These sections cover:

Opening the Hierarchy Navigator Assistant on page 245

Setting Navigation by Instance with the Hierarchy Navigator on page 245

Setting Navigation by Master with the Hierarchy Navigator on page 247

Resolving Context Issues with the Hierarchy Navigator on page 248

Opening the Hierarchy Navigator Assistant


Open the Hierarchy Navigator assistant to navigate, and edit, using a hierarchy
tree view.

In a design layout or schematic view, choose Window > Assistants >


Hierarchy Navigator.

The Hierarchy Navigator shows the hierarchy tree structure. The root of the
hierarchical tree is the top library/cell/view (LCV). Each parent node contains
the names of the child instances. Instances in the design are highlighted when
they are selected in the Hierarchy Navigator.
Continue by Setting Navigation by Instance with the Hierarchy Navigator on
page 245 or Setting Navigation by Master with the Hierarchy Navigator on
page 247.
See also Resolving Context Issues with the Hierarchy Navigator on page 248.

Setting Navigation by Instance with the Hierarchy


Navigator
You can set navigation by instance to work with instances only.
To set navigation by instance:
1. Begin by Opening the Hierarchy Navigator Assistant on page 245.
2. In the toolbar click the Hierarchy by Instance button

Galaxy Custom Designer Platform User Guide


J-2014.12

245

Chapter 12: Tools for Designing


Hierarchy Navigator Assistant

This shows the hierarchy of each occurrence of an instance in the design.

Figure 18

Hierarchy View in the Hierarchy Navigator

The Hierarchy Navigator also specifies the individual bit index into a vector
instance to descend into when navigating by instance. This index is shown
in a second column, which is right-aligned. The right-aligned column depicts
the selected index, in the vector instance, into which the Design Editor will
descend. The column shows the index, represented in angle brackets, of
any vector instance in the descend path. For any vector instance which is
not in the descend path, it shows either the current default or ellipses () if
there is no current default index. For other instances, nothing is shown and
text in the left column spans both columns.
Clicking on the index shows an in-line combo box with all indexes of the
vector instance available. It is possible to select an index with the mouse or
keyboard; typing the number of the index will scroll to it and select it from the
list.
Changing the selected index of an instance in the descend path will change
the descend path in the Design Editor without prompting or redecorating the
window. The design is redrawn in case the evaluation of any text objects
depends on the descend path.
It is possible to both show, and change, the index of a vector instance which
is not in the descend path once the column has been shown. By changing
the index of a vector instance which is not in the descend stack, it will
change the default value for the next descend operation without actually
descending into the instance. This index serves as the default for all
descend operations, including ide::descend, de::descend, and
double-clicking within the Hierarchy Navigator.

246

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Hierarchy Navigator Assistant

3. Choose viewing and editing options:


To descend into the selected instance, double-click the instance name.
To edit the instance in place, right-click the name of the instance, and
choose Edit in Place (available when the edit design and the selected view
design match).
To set a design as the view design, right-click the name of the instance, and
choose Set View Design (available when the edit design and the selected
view design match).
See also
More about using the Hierarchy Navigator Assistant on page 245

Setting Navigation by Master with the Hierarchy


Navigator
You can set navigation by master to work with master instances only.
To navigate by master:
1. Begin by Opening the Hierarchy Navigator Assistant on page 245.
2. In the toolbar click the Hierarchy by Master button

This shows the list of masters used in the design, and their hierarchy. The
Hierarchy by Master mode shows the structure of the design. Where many
instances of a single master are used in a design, only one row is shown in
the tree.
The pcell submasters are not displayed as separate masters in the Hierarchy
by Master display mode.
While in the Hierarchy by Master mode, you can open the design in a new
editor window by double-clicking a master. However, it is not possible to change
the design editors context from the Hierarchy by Master display mode.

Galaxy Custom Designer Platform User Guide


J-2014.12

247

Chapter 12: Tools for Designing


Job Monitor Tool

See also
More about using the Hierarchy Navigator Assistant on page 245

Resolving Context Issues with the Hierarchy Navigator


There are three types of context issues that can occur while working with
designs.
You can use the Hierarchy Navigator to resolve these issues automatically as
described here.

Invalid Contexts: If the context of the current edit or view design becomes
invalid (due to change in the parent lineage), the Hierarchy Navigator prunes
all the children of invalid instances from the tree except instances in the
lineage of the current edit context.

Out of context lineages: Instances can be pushed out-of-context while


working with the design. The Hierarchy Navigator will indicate out-of-context
instances by a red color font.

Invalid Placed/Switched Masters: If the placed or switched master does not


exist, the instance/master is displayed in a red color font. If the master name
is visible, the placed master is displayed instead of the switched master.

See also
More about using the Hierarchy Navigator Assistant on page 245

Job Monitor Tool


Use the Job Monitor to track running job processes.
By default, the Job Monitor tracks batch processes. Interactive process tracking
is also available. (See Viewing Running Job Processes with the Job Monitor on
page 249.)
In addition to using the Job Monitor to track jobs, you can use Tcl to add job
classes that combine multiple grid settings into one setting. You can also use
Tcl to add job process waiting to allow scripts to finish without interruption.

248

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Job Monitor Tool

These sections cover:

Opening the Job Monitor Tool on page 249

Viewing Running Job Processes with the Job Monitor on page 249

Applying Job Process Controls through the Job Monitor on page 250

Managing Job Options with the Job Monitor on page 251

Adding Job Classes with xt::createJobClass Tcl on page 253

Adding Job Process Waiting with xt::wait Tcl on page 256

Opening the Job Monitor Tool


Open the Job Monitor to view current session batch, and interactive,
processes.
To open the Job Monitor:

In any design window, choose Tools > Job Monitor.

See also
All about using the Job Monitor Tool on page 248

Viewing Running Job Processes with the Job Monitor


You can view job processes as they run with the Job Monitor.
To view a running job process:
1. Begin by Opening the Job Monitor Tool on page 249.
2. In the Job Monitor, choose View.
3. In the View menu, toggle Job Monitor View Options. The system adds, and
removes, tracking columns as directed.
Table 80 on page 249 lists Job Monitor view options.
Table 80

Job Monitor View Options

Option

Description

Job

By name, with sorting option at the top of the column

Status

Running, suspended, finished, or failed.

Galaxy Custom Designer Platform User Guide


J-2014.12

249

Chapter 12: Tools for Designing


Job Monitor Tool

Table 80

Job Monitor View Options

Option

Description

Host

Name of host associated with this job, with local host noted if the
job is running on this system

Run Description

Description of the job

Type

Type of job

Start Time

Time job was initiated

End Time

Time job ends

Process ID

ID as listed on the host

Output Files

Expected output files from this job as defined when the job was
created

Job Types

Toggles between the display of batch, and interactive, jobs

4. You can choose to show interactive job processes in addition to batch job
processes by choosing View > Job Types, and toggling the Interactive
option. (Alternatively, use the xtJobMonitorShowInteractiveJobs
preference.)
5. Choosing File > Close closes the Job Monitor.
See also
More about using the Job Monitor Tool on page 248

Applying Job Process Controls through the Job


Monitor
You can apply job process controls that suspend, resume, kill, and delete jobs.
To apply job process controls:
1. Begin by Opening the Job Monitor Tool on page 249.
2. In the Job Monitor, choose Job.
3. Select the job by name.

250

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Job Monitor Tool

(This step is not required when you are deleting all completed jobs.)
4. Choose one of the job process controls.
Table 81 on page 251 lists job process controls.
Table 81

Job Process Controls

Option

Description

Suspend

Halts this process

Resume

Resumes the halted process

Kill

Ends this process

View Output

Displays output in the Text Viewer

Delete

Removes this job

Delete All
Completed

Removes records of all completed jobs

5. Choosing File > Close closes the Job Monitor.


See also
More about using the Job Monitor Tool on page 248

Managing Job Options with the Job Monitor


You can manage job options to control batch processing limits, and to optionally
set a queue engine. You can optionally specify a job class, which assigns
queue engine resources based on a predefined job type.
To manage job options:
1. Begin by opening the Job Monitor Tool on page 248.
2. In the Job Monitor, choose File > Options.
3. Choose job management options.

Galaxy Custom Designer Platform User Guide


J-2014.12

251

Chapter 12: Tools for Designing


Job Monitor Tool

Table 82 on page 252 lists job management options.


Table 82

Job Management Options

Option

Description

Job Class

Specifies a setting that automatically includes an


analysis process, a queue engine, whether concurrent
jobs are allowed, and the number of allowable
concurrent jobs. CAD Support teams can add custom
job classes. For details, see Adding Job Classes with
xt::createJobClass Tcl on page 253.

Class Settings

Queue Engine sets the distributed computing engine


for batch processing to SGE (Sun Grid Engine) or LSF
(Load Sharing Facility), or no queue engine. To set
additional options for an engine, click Configure, and
choose Configuration options. (For information about
SGE option settings, refer to the Sun Grid Engine
documentation.)
Limit Jobs limits the concurrent jobs in this job class to
the number you set in the Concurrent Jobs box.
Concurrent Jobs sets the number of allowable jobs to
process at one time, based on the job class you have
set above. (You can create custom job classes. See
Adding Job Classes with xt::createJobClass Tcl on
page 253.)

Status Interval

Sets the number of seconds between each queue


engine status poll.

If you want to limit jobs to control license usage, and you do not have access
to a queue engine for distributed processing, you can set the number of
concurrent jobs to 1. This will effectively create a queue.
4. Click OK.
5. Choosing File > Close closes the Job Monitor.

252

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Job Monitor Tool

See also
More about using the Job Monitor Tool on page 248

Adding Job Classes with xt::createJobClass Tcl


You can create job classes that combine settings for individual analysis tools
and system platform grids into one setting option.
For example, if you want HSPICE tool simulation jobs to run on Solaris-64
machines via LSF, and to limit the number of concurrent jobs to 10, you can
create a job class that contains these settings.
In use, designers can open the Job Monitor, and select this job class to apply
the settings.
This documentation provides two script samples that create custom job
classes. To use them, choose the one that most closely matches your
requirements, adjust values to create an exact match, and implement the
script. You can also write an original script using the supplied Tcl commands
and preferences.
This section covers Tcl samples:

Sample Job Class for Design Rule Checking on Linux Systems on page 253

Sample Job Class for HSPICE Simulation on Solaris Systems on page 255

Sample Job Class for Design Rule Checking on Linux Systems


This Tcl sample configures XA and Hercules tool DRC jobs to run on Linux-64
machines via LSF, without limiting the number of concurrent jobs.
You can implement this job class using the sample code that follows.
In use, designers can specify this job class by opening the Job Monitor,
choosing File Options, and selecting LSFlinux64 as shown in Figure 19 on
page 254.

Galaxy Custom Designer Platform User Guide


J-2014.12

253

Chapter 12: Tools for Designing


Job Monitor Tool

Figure 19

Sample Job Class for Design Rule Checking on Linux Systems

# Job Class for Design Rule Checking on Linux Systems


# For reference, this sample lists available job class options.
# General options:
#
JobQueueEngine
#
JobLimit
#
JobLimitEnabled
# LSF-specific options:
#
LSFQueues
#
LSFResources
#
LSFExtraOptions
# SGE-specific options:
#
SGEProjects
#
SGESelectedProject
#
SGEExtraOptions
#
# Configure XA and Hercules DRC jobs to run on
# linux-64 machines via LSF with no limiting.
#
set lsflnx [xt::createJobClass LSFlinux64]
db::setPrefValue [xt::getJobClassOptionPrefName $lsflnx \
-option "JobQueueEngine"] -value "LSF"
db::setPrefValue [xt::getJobClassOptionPrefName $lsflnx \
-option "JobLimitEnabled"] -value false
db::setPrefValue [xt::getJobClassOptionPrefName $lsflnx \
-option "LSFResources"] -value "SOL64 0 X86_64 1"
xt::addJobClassPrefix XA -jobClass $lsflnx
xt::addJobClassPrefix hercules_drc -jobClass $lsflnx
#

254

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Job Monitor Tool

See also
Sample Job Class for HSPICE Simulation on Solaris Systems on page 255
More about Adding Job Classes with xt::createJobClass Tcl on page 253
More about Tools for Designing on page 195

Sample Job Class for HSPICE Simulation on Solaris Systems


This Tcl sample configures HSPICE tool simulation jobs to run on Solaris-64
machines via LSF, and limits the number of concurrent jobs to 10.
You can implement this job class using the sample code that follows.
In use, designers can specify this job class by opening the Job Monitor,
choosing File Options, and selecting LSFsolaris64 as shown in Figure 20 on
page 255.

Figure 20

Sample Job Class for HSPICE Simulation on Solaris Systems

# Job Class for HSPICE Simulation on Solaris Systems

Galaxy Custom Designer Platform User Guide


J-2014.12

255

Chapter 12: Tools for Designing


Job Monitor Tool

# For reference, this sample lists available job class options.


#
# General options:
#
JobQueueEngine
#
JobLimit
#
JobLimitEnabled
# LSF-specific options:
#
LSFQueues
#
LSFResources
#
LSFExtraOptions
# SGE-specific options:
#
SGEProjects
#
SGESelectedProject
#
SGEExtraOptions
#
# Configure HSPICE jobs to run on solaris-64 machines
# via LSF, limited to 10 jobs at a time.
#
set lsfsol [xt::createJobClass LSFsolaris64]
db::setPrefValue [xt::getJobClassOptionPrefName $lsfsol \
-option "JobQueueEngine"] -value "LSF"
db::setPrefValue [xt::getJobClassOptionPrefName $lsfsol \
-option "JobLimit"] -value 10
db::setPrefValue [xt::getJobClassOptionPrefName $lsfsol \
-option "JobLimitEnabled"] -value true
db::setPrefValue [xt::getJobClassOptionPrefName $lsfsol \
-option "LSFResources"] -value "SOL64 1 X86_64 0"
xt::addJobClassPrefix HSPICE -jobClass $lsfsol
#

See also
Sample Job Class for Design Rule Checking on Linux Systems on page 253
More about Adding Job Classes with xt::createJobClass Tcl on page 253
More about Tools for Designing on page 195

Adding Job Process Waiting with xt::wait Tcl


In Tcl scripts, you can add job process waiting, which blocks user interaction
until currently running jobs finish. Job process waiting is useful when your script
needs to use the results of any currently running job as input for its next
operation.
To add job process waiting to a Tcl script:
1. Identify the job.

256

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

If you created the job using the xt::createJob command, use the
returned job object.

If you want to add waiting to a standard system job process, use the job
as listed in the Job Monitor.
To find the job, run the process once using the graphic user interface.
Then, in the Job Monitor Job column, take note of the process name.
For example, to add waiting to the IC Compiler export process, choose
File > Export > To ICC, and run the process. In the Job Monitor Job
column, note that the Job Monitor identifies the process as
dbExportICC.

2. Using the identified job, add the xt::wait command to the Tcl script at the
line where you want the script to wait.
In the example that follows, xt::getJobs gets all IC Compiler export jobs.
It uses xt::wait to cause the system to wait for these jobs to finish before
executing the next Tcl command. While the system waits, it blocks user
input. After the jobs finish, the script continues.
The system individually names each job process by appending the
underscore character (_) and adding incremental numbering. For instance,
the first dbExportICC job is dbExportICC_1 and the fifteenth is
dbExportICC_15. The example uses the wildcard character (*) to capture all
dbExportICC jobs.
# wait for any dbExportICC jobs to finish
db::foreach xtJob [xt::getJobs dbExportICC*] {
xt::wait $xtJob
}

3. Implement your Tcl script.


For details about running Tcl scripts on demand, see Using Tcl on page 97.
For information about making Tcl scripts available from the installation tree,
see Applying Settings through Scope Distribution on page 19.

Library Manager Tool


Manage libraries with the Custom Designer platform Library Manager tool. Use
the Library Manager to manage libraries, cells, cellViews, and cellView
categories for the design process. Design libraries contain a design hierarchy.

Galaxy Custom Designer Platform User Guide


J-2014.12

257

Chapter 12: Tools for Designing


Library Manager Tool

Reference libraries contain the master copies of the cells you can reference in
a design. Technology libraries contain the technology parameters that
correspond to a particular design methodology, and fabrication technology. A
technology database typically contains these parameters.

Opening the Library Manager Tool on page 258

Viewing Library Attributes through the Library Manager on page 259

Copying Library, Cell, and CellView Names in the Library Manager on


page 260

Creating New Libraries with the Library Manager on page 260

Controlling Library Availability with the Library Manager Tool on page 262

Managing Individual Libraries with the Library Manager on page 267

Managing Cells with the Library Manager on page 271

Managing CellViews with the Library Manager on page 277

Managing Duplicate Name Conflicts with the Library Manager on page 283

Using Cell Categories in the Library Manager on page 284

Opening the Library Manager Tool


Open the Library Manager to view, and manage, libraries. You can open
multiple Library Manager windows, as needed.
To open the Library Manager, use one of these methods:

From the Console or any open design window, choose Tools > Library
Manager.

In any design window toolbar, click the Library Manager button.

You can optionally open a second Library Manager window by clicking the New
Library Manager icon at the top of the first Library Manager window.

258

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

See also
All about using the Library Manager Tool on page 257

Viewing Library Attributes through the Library Manager


You can view library attributes to see details about one library. You can copy
(using Ctrl+C), and paste the text you see outside of the Custom Designer
platform.
To view library attributes:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, select the library name, right-click, and choose
Library Attributes.
Table 83 on page 259 lists, and describes, the information shown.
3. When you are done, choose Close.
Table 83

Library Attributes

Attribute

Description

Name

Library name in the CDBA namespace

Name mapped for lib.defs

Library name in the UNIX namespace

Technology Library

Name of the library containing the OpenAccess


technology for this library, if found. Red font
indicates that either an OpenAccess library is not
found or the techLibName property for the current
library is not found.

DMSystem

Data Management system type, for example


oaDMFileSys; oaLib::getDMSystemName()
returns this information

Library Directory

Full path to this library; oaLib::getFullPath()


returns this information

Library Protection

Access permission: Writable, Readable,


Accessible, and No Access for Owner, Group,
and Other

Galaxy Custom Designer Platform User Guide


J-2014.12

259

Chapter 12: Tools for Designing


Library Manager Tool

Table 83

Library Attributes

Attribute

Description

Access Mode

Either Shared, Nonshared, or ReadOnly;


oaLib::getMode() returns this information

Library Directory Modified

Last modification year, month, date, and time

Library Attributes

General attributes, if available

See also
More about using the Library Manager Tool on page 257

Copying Library, Cell, and CellView Names in the


Library Manager
You can copy library, cell, and cellView names to make the names available for
use outside of the Custom Designer platform environment.
To copy names:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, select the name you want to copy.
A single name selection can extend to include the library, cell, and cellView.
Categories are not copied.
3. Choose Edit > Copy Names or use the Ctrl+L keyboard shortcut.
4. Move the cursor to a local terminal window or file, and use the locally
available paste option to paste the text. In a list of copied names, spaces
separate the library, cell, and view names.
See also
More about using the Library Manager Tool on page 257

Creating New Libraries with the Library Manager


You can create a new library to define a logical collection of data representing a
complete design or some portion of it. Additionally, you can create libraries to

260

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

define common data shared among several designs. A library is the top
organizational level of design data.
To create a new library:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, start to create the new library using one of these
methods:

Select any location in the Libraries list, right-click the mouse, and
choose New.

From the File menu, choose New > Library.

3. Enter the library name.


4. Browse to choose a directory to hold the library, and its directory of the same
name.
The system stores this directory path in the current library definition file. The
stored path includes both the parent directory you entered, and the library
directory itself.
5. Set the library type. FileSys is the default.
For FileSys and Turbo libraries, continue by entering settings as described
in Table 84 on page 261.
Table 84

FileSys and Turbo Library Settings

Settings

Description

Technology

None creates a new library using the process-neutral


technology file supplied with the platform.
Import File uses the technology file you import by browsing to
choose it.
Attach uses the technology from the library you select from the
list box.
Reference uses an ordered list of open libraries to be
incrementally referenced from the technology of the new library.
Alternatively, the browse button invokes the Technology
References dialog, which lists all the currently open libraries with
technology databases.

Galaxy Custom Designer Platform User Guide


J-2014.12

261

Chapter 12: Tools for Designing


Library Manager Tool

Table 84

FileSys and Turbo Library Settings

Settings

Description

Enable Pcell
Caching

Specifies a pcell cache to be used for supermasters in the


library, and adds an ASSIGN statement to the library definition
file with the cache directory location.

Enable Parameter Specifies that component description format parameters can be


Overlay
overlaid, and adds an ASSIGN statement to the library definition
file with the component description format file location.

6. Click OK.
See also
More about using the Library Manager Tool on page 257

Controlling Library Availability with the Library


Manager Tool
You can control library availability to offer appropriate libraries for design
sessions. You can specify availability for libraries created using the Custom
Designer platform, and you can adjust availability for libraries whose data was
imported.
Use library definition files (lib.defs) to control library availability.
Use the Library Manager to control availability for reference libraries used by
integrated tools.
These sections cover:

Specifying Library Availability on page 262

Updating Library Availability on page 264

Specifying Library Availability


Specify general library availability by editing the library definition file. You can
use this file to add, change, and remove library availability.
You can use the library definition file to directly define paths to libraries.
Additionally, you can also use it to indirectly define paths by including
references to additional library definition files.

262

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

The default version of this file is named lib.defs. However, different names
are allowed. (To specify a library definition file with a different name at session
start, use the -libDefsFile command line option, and the filePath to the
library location.)
To edit a library definition file:
1. Open the appropriate library definition file.
2. Edit the file using valid definition statements as described in Table 85 on
page 263.
Table 85

Library Definition File Statements

Statement

Description

ASSIGN
<library_name> <attribute_name> <attribute_value>

Assigns attributes such as 'libMode'


or 'dbOverlayPath' to a listed library.
For example, create an overlay
CDF (Component Description
Format) using a statement such as:
ASSIGN libName
dbOverlayPath overlay/path

DEFINE
<library_logical_name_or_label> <path_to_the_library>

Defines a library, and its library


path. The library's logical name is in
the UNIX name space, therefore, it
might appear differently in the Cdba
name space that the Custom
Designer platform uses to display
the name. The path is not namemapped, and appears just as it
would in a Unix shell command.

INCLUDE <path_to_library_definition_ file>

Includes in this library definition file


the libraries listed in another library
definition file. Add this statement for
each library definition file whose
library definitions you want to
include. When this statement is
used, and the file is not found, the
system generates an error.

SOFTINCLUDE <path_to_the_included_file>

Adds other library definitions. When


this statement is used, and the file
is not found, the system ignores it.

Galaxy Custom Designer Platform User Guide


J-2014.12

263

Chapter 12: Tools for Designing


Library Manager Tool

Table 85

Library Definition File Statements

Statement

Description

UNASSIGN <libraryName> <attribute_name>

Removes this attribute.

UNDEFINE <libraryName>

Removes a previously defined


library.

Note: The statements SOFTINCLUDE, UNASSIGN, and


UNDEFINE are Synopsys extensions to the OpenAccess
standard library definition syntax. Files that use these
statements are not guaranteed to work with non-Synopsys
OpenAccess based tools when they are run outside of this
environment. When translators, and integrated tools, run from
within the Custom Designer platform environment, the
system uses a temporary copy of the library definition file that
replaces these statements.
When library names include characters other than letters and numbers, note
that these can appear differently in the definition file and the Library
Manager. This is due to name mapping, which enables these names to be
recognized by multiple platform features. When this occurs, use the Library
Manager to both create the library and automatically add its access instead
of adding access manually.
3. Save the file.
4. Complete the process by Updating Library Availability on page 264.
See also
More about Controlling Library Availability with the Library Manager Tool on
page 262

Updating Library Availability


You can update library availability to enable the Library Manager to recognize
adjustments you have made through editing a library definition file. (To adjust
library availability before updating it, see Specifying Library Availability on
page 262.)
To update library availability:
1. Begin by Opening the Library Manager Tool on page 258.

264

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

2. In the Library Manager, choose File > Refresh or use the F5 function key.
The system re-reads the library definition file, opens libraries newly added
to the file, and closes libraries that have been removed.
See also
More about Controlling Library Availability with the Library Manager Tool on
page 262

Modifying Component Description Format (CDF) Overlays


You can modify or enhance CDF definitions and netlisting behavior for libraries
you either do not want to modify directly or are not able to modify because they
are read-only (for example, foundry supplied PDKs). Custom Designer
automatically creates it and all modifications to the CDFs through the
Parameter Definition Editor will be saved to the overlay library.
For example:
ASSIGN foundryPDK dbOverlayPath ./path/to/foundryPDKOverlay

Note that the library does not need to exist; if the specified path does not exist
the library will be automatically created.
When an overlay is in use, the Parameter Definition Editor gives you the choice
to display Overlaid Values or Underlying Values (see Figure 21). If Overlaid
Values are displayed, values derived from the base library are displayed in
italics and all values can be modified in the GUI. If Underlying Values is
selected then all values are read only.

Galaxy Custom Designer Platform User Guide


J-2014.12

265

Chapter 12: Tools for Designing


Library Manager Tool

Figure 21

Parameter Definition Editor Using CDF Overlay

Figure 21 shows what the Parameter Definition Editor looks like when using a
CDF overlay and displaying Overlaid Values. The top parameter is modified
and is an override of analogLib/pmos model. The second parameter is original
(that is, not overridden) so it is displayed in italics.

266

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

See also
More about Controlling Library Availability with the Library Manager Tool on
page 262

Managing Individual Libraries with the Library Manager


You can manage individual libraries by copying, moving, and deleting them.
After making changes, update library name references to allow recognition of
changes from referenced libraries.
These sections cover:

Copying Libraries on page 267

Moving Libraries on page 269

Deleting Libraries on page 270

Updating Library Name References on page 271

Copying Libraries
You can copy a library to create a new library with identical contents.
To copy a library:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, specify the library to copy using one of these
methods:

From the Libraries list, select the library name, right-click the mouse,
and choose Copy.

From the Edit menu, choose Copy > Library, and filter the list to select
the library.

3. Enter library copy settings as described in Table 86 on page 267.


Table 86

Library Copy Settings

Setting

Description

Source

The source library to copy. Filter the list to specify the source library or
directly select the library name.

Destination

Name The name to assign to the copied library.

Galaxy Custom Designer Platform User Guide


J-2014.12

267

Chapter 12: Tools for Designing


Library Manager Tool

Table 86

Library Copy Settings

Setting

Description

Directory The directory to contain the copied library. Accept or browse


to select a directory.
Cache pcells from the destination library saves evaluated pcells in
a cache directory for use in later sessions. If you choose this option,
browse to select the Cache Directory location.
Overlay the destination library specifies that an overlay directory
can be used to overlay CDF parameters for cells in the destination
library. If you choose this option, accept or browse to select an Overlay
Directory.
Options

Update References updates the designs in the copied library so that


all design references to copied cellViews point to the new location.
Only the references within the copied library are updated. External
references from other libraries are not modified. See Updating Library
Name References on page 271 to modify external references.
Copy Hierarchical References copies the hierarchy underneath each
cell in the library by descending the hierarchy, and copying the master
of each instance. To control where descent stops, enter a list of library
names in the Exclude Libraries text box. (Descent will stop at a
reference to any cellView within any of these libraries.) To copy only
certain views, enter them in the Include Views text box.

4. Click OK.
If the source library contains a technology database, the copy also receives it. If
the source library points to an external technology library, the copy points to the
same technology library, and the system generates this notice: "<library name>
references an external technology file that exists in <library name>".

268

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

See also
More about Managing Individual Libraries with the Library Manager on
page 267

Moving Libraries
You can move a library to a different location to provide a different point of
access to its contents.
To move a library:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, specify the library to move using one of these
methods:

From the Libraries list, select the library name, right-click the mouse,
and choose Move.

From the Edit menu, choose Move > Library, and filter the list to select
the library.

3. Enter library move settings as described in Table 87 on page 269.


Table 87

Library Move Settings

Settings

Description

Source

The source library to move. Filter the list to specify the source library
or directly select the library name.

Destination

Name The name for the moved library. The moved library must receive
a new name.
Directory The directory to contain the moved library. Accept or browse
to select a directory.
Cache pcells from the destination library saves evaluated pcells in
a cache directory for use in later sessions. If you choose this option,
browse to select the Cache Directory location. This option is not
available for IC Compiler libraries.
Overlay the destination library overlays the destination library with
the contents of the source library. If you choose this option, accept or
browse to select an Overlay Directory.

Galaxy Custom Designer Platform User Guide


J-2014.12

269

Chapter 12: Tools for Designing


Library Manager Tool

Table 87

Library Move Settings

Settings

Description

Options

Update References updates the designs in the moved library so that


all design references to moved cellViews point to the new location.
Only the references within the moved library are updated. External
references from other libraries are not modified. See Updating Library
Name References on page 271 to modify external references.
Copy Hierarchical References copies the hierarchy underneath each
cell in the library by descending the hierarchy and copying the master
of each instance. To control where descent stops, enter a list of library
names in the Exclude Libraries text box. (Descent will stop at a
reference to any cellView within any of these libraries.) To copy only
certain views, enter them in the Include Views text box.

4. Click OK.
If you have open designs with unsaved modifications in the source library,
the system prompts you to save those designs. After you save the designs,
the system closes any designs that remain open in the source library.
See also
More about Managing Individual Libraries with the Library Manager on
page 267

Deleting Libraries
You can delete a library to completely remove it from the disk. This operation
also removes the library listing from the library definition file.
When this command completes, there will be no method within this
environment to retrieve the contents of the deleted library.
Select with care. You cannot undo this operation.
To delete a library:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, from the Libraries list, select the library.
3. Delete the selected library using one of these methods.

270

Right-click the mouse, and choose Delete.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

From the Edit menu, choose Delete.

4. Click Delete to complete the operation.


See also
More about Managing Individual Libraries with the Library Manager on
page 267

Updating Library Name References


You can update library name references to change all the references from a
library to name a different library. This is useful after you replace or rename a
library.
Copying or moving libraries updates internal references for designs. However,
the system does not update external references. External references are those
that are in other libraries. This operation updates these external references.
To update library name references:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, choose Edit > Update Library Name.
3. Enter the name of the old library whose references should be replaced.
4. From the list, choose the new library to supply new references.
5. Select any additional libraries to search to find additional references to
change.
6. Click Update.
This update process updates instances in OpenAccess designs whose master
has the old library name, and also updates custom vias in a technology
database that is local to a searched library. Where the master of the custom via
uses the old library name, it also updates the reference to use the technology
database in the old library.
See also
More about Managing Individual Libraries with the Library Manager on
page 267

Managing Cells with the Library Manager


You can manage cells by creating, copying, moving, and deleting them.

Galaxy Custom Designer Platform User Guide


J-2014.12

271

Chapter 12: Tools for Designing


Library Manager Tool

These sections cover:

Creating Cells on page 272

Copying Cells on page 273

Moving Cells on page 275

Deleting Cells on page 276

Creating Cells
You can create a cell in a library to define a logically separate component or
device in a design. Creating a cell creates a cell container within the given
library. A single cell describes an individual building block of a chip or system.
Use the Library Manager to create cells.
To create a cell:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, start to create the cell using one of these methods.

From any location in the Cells list, right-click the mouse, and choose
New.

From the File menu, choose New > Cell.

3. (Optional) To add the new cell to a category as you create it, choose Show
Cell Categories, and select a category.
4. Confirm that the selected library is the correct target library to hold this cell,
or select a different library.
5. Select an existing cell on which to base the new cell.
6. Specify a cell name by editing the name shown or by entering a new name.
If you specify the exact name of an existing cell, this operation deletes the
contents of the existing cell, and creates an empty cell. Additionally, if there
are any open designs in that cell, the tool closes them.
7. To create more cells, click Apply, and repeat the process, otherwise, click
OK.
The destination library now contains the new cells.

272

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

See also
More about Managing Cells with the Library Manager on page 271

Copying Cells
You can copy a cell to create an additional version of it. You can copy cells from
one library to another with or without changing their names, and other details.
Use the Library Manager to copy cells.
These sections cover:

Copying One or More Cells without Changes on page 273

Copying Individual Cells with Changes on page 273

Copying One or More Cells without Changes


You can copy cells without changes to create duplicate versions in a different
library.
The new versions retains their names, maintain their positions within any cell
categories, and update their references. (To change these aspects of a cell
while copying it, see instead Copying Individual Cells with Changes on
page 273.)
To copy cells without changes:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager Cells list, press the Ctrl key, and use the mouse to
select one or more cell names.
3. Drag the name or names toward the destination library.
4. At the destination, drop the names in place, and release the Ctrl key.
If you do not use the Ctrl key, the system moves the cells instead of copying
them.
If the system detects cells with duplicate names in the destination library, the
Conflicts dialog box opens. See Managing Duplicate Name Conflicts with
the Library Manager on page 283.
Copying Individual Cells with Changes
You can copy an individual cell with changes to create an additional version of it
while changing some cell aspects. As you create the new version, you can

Galaxy Custom Designer Platform User Guide


J-2014.12

273

Chapter 12: Tools for Designing


Library Manager Tool

choose to change the cell name, its position in cell categories, and its
references.
To copy an individual cell with changes:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, specify the cell to copy using one of these methods:

From the Cells list, select the cell name, right-click the mouse, and
choose Copy.

From the Edit menu, choose Copy > Cell, and filter the list to select it.

3. Enter cell copy settings as described in Table 88 on page 274.


Table 88

Cell Copy Settings

Settings

Description

Source

The source cell to copy. Filter the list to specify the source cell, or
directly select the cell name. To view cell categories during this
procedure, choose Show Cell Categories.

Destination

Cell Name The name for the copied cell at its destination. Filter the list
to select a base name or directly enter one.
Maintain Cell Categories inserts copied cells into corresponding
categories at their destination, creating categories if necessary.
Alternatively, you can place the cell in a new category by deselecting
this option, and choosing a category from the list.

Options

Update References within Copied Cells causes all design


references to instantiated cells to point to the copied location. Only
references within the views of the copied cell are updated. References
from other cells, and libraries, are not modified.
Copy Hierarchical References copies the hierarchy underneath the
cell by descending the hierarchy, and copying the master of each
instance. To control where descent stops, enter a list of library names
in the Exclude Libraries text box. (Descent will stop at a reference to
any cellView within any of these libraries.) To copy only certain views,
enter them in the Include Views text box.

4. Click OK.

274

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

If the system detects cells with duplicate names in the destination library, the
Conflicts dialog box opens. See Managing Duplicate Name Conflicts with
the Library Manager on page 283.
The destination library now contains the copied cells with changes.
See also
More about Managing Cells with the Library Manager on page 271

Moving Cells
You can move a cell to rename the cell or to relocate it to a different library.
You can move cells from one library to another with or without changing their
names, and other details.
Use the Library Manager to move cells.
These sections cover:

Moving One or More Cells without Changes on page 275

Moving Individual Cells with Changes on page 275

Moving One or More Cells without Changes


You can move one or more cells without changes to rename them or relocate
them to a different library while maintaining cell categories, and references.
To move one or more cells without changes:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, select the cell names, and drag and drop them onto
a different named library in the Libraries list.
If the system detects cells with duplicate names in the destination library, the
Conflicts dialog box opens. See Managing Duplicate Name Conflicts with
the Library Manager on page 283.
Moving Individual Cells with Changes
You can move individual cells with changes to rename them or relocate them to
new libraries while adjusting category positions, and references.
To move individual cells with changes:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, choose Edit > Move > Cell.

Galaxy Custom Designer Platform User Guide


J-2014.12

275

Chapter 12: Tools for Designing


Library Manager Tool

3. Enter cell move settings as described in Table 89 on page 276.


Table 89

Cell Move Settings

Settings

Description

Source

The source cell to move. Filter the list to specify the source cell, or
directly select the cell by name. To view cell categories during this
procedure, choose Show Cell Categories.

Destination

Cell Name The name for the moved cell at its destination. Filter the list
to select a base name or directly enter one.
Maintain Cell Categories inserts moved cells into corresponding
categories at their destination, creating categories if necessary.
Alternatively, you can place the cell in a new category by deselecting
this option, and choosing a category from the list.

Options

Update References within Copied Cells causes all design


references to instantiated cells to point to the new cell. Only references
within the views of the moved cell are updated. References from other
cells, and libraries, are not modified.

4. Click OK.
If the system detects cells with duplicate names in the destination library, the
Conflicts dialog box opens. See Managing Duplicate Name Conflicts with the
Library Manager on page 283.
See also
More about Managing Cells with the Library Manager on page 271

Deleting Cells
You can delete a cell to completely remove it from the disk.
Note:

When this command completes, there will be no method within


this environment to retrieve the contents of the deleted cell.

Select with care: You cannot undo this operation.


To delete a cell:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, delete the cell using one of the following methods:
276

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

Select the cell by name, right-click the mouse, and choose Delete.

Select the cell by name, and choose Edit > Delete.

The destination library no longer contains the cell, and its files, are deleted.
See also
More about Managing Cells with the Library Manager on page 271

Managing CellViews with the Library Manager


You can manage cellViews by creating, copying, moving, and deleting them.
These sections cover:

Creating CellViews on page 277

Copying CellViews on page 278

Moving CellViews on page 280

Deleting CellViews on page 282

Deleting CellViews from a Library on page 282

Creating CellViews
You can create a cellView to hold one design representation of an individual
cell. Creating a cellView creates a container for a single representation of the
cell.
Use the Library Manager to create cellViews.
To create a cellView:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, create the cellView using one of these methods.

From any location in the CellViews list, right-click the mouse, and
choose New.

From the File menu, choose New > CellView.

3. (Optional) View cell categories during this operation by choosing Show Cell
Categories.
4. Specify cellView creation details for its library, optional cell category, cell,
and view. Select each item directly or filter the lists.
5. Enter a Cell Name for the new cellView.
Galaxy Custom Designer Platform User Guide
J-2014.12

277

Chapter 12: Tools for Designing


Library Manager Tool

To overwrite the cellView shown, accept the name shown.


6. (Optional) To use a different view, select or enter the View Name.
7. (Optional) To associate a different editor from the ones shown, choose it
from the Editor list.
8. (Optional) If you want to start creating the design using the new cellView
now, click Open on Create.
9. Click OK.
The library now contains the new cellView.
See also
More about Managing CellViews with the Library Manager on page 277

Copying CellViews
You can copy a cellView to create an additional version of it in another library.
You can copy cellViews from one library to another with or without changing
their names, and other details.
Use the Library Manager to copy cellViews.
These sections cover:

Copying One or More CellViews without Changes on page 278

Copying Individual CellViews with Changes on page 279

Copying One or More CellViews without Changes


You can copy cellViews without changes to create additional versions in a
different library. New versions retain their names, maintain their positions within
cell categories, and update their references. To change a cellView while
copying it instead, see Copying Individual CellViews with Changes on
page 279.
To copy cellViews without changes:
1. Begin by Opening the Library Manager Tool on page 258
2. In the Library Manager CellViews list, press the Ctrl key, and use the
mouse to select one or more cellView names.
3. Drag the name or names toward the destination cell.
4. At the destination, drop the names in place, and release the Ctrl key.

278

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

If you do not use the Ctrl key, the system moves the cellViews instead of
copying them.
If the system detects cellViews with duplicate names in the destination
library, the Conflicts dialog box opens. See Managing Duplicate Name
Conflicts with the Library Manager on page 283.
Copying Individual CellViews with Changes
You can copy an individual cellView with changes to create an additional
version of it while changing some cellView aspects. As you create the new
version, you can choose to change the cellView name, whether to maintain its
position in cell categories or update references, and to copy hierarchical
references.
To copy an individual cellView with changes:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, specify the cellView to copy using one of these
methods:

From the CellViews list, select the cell by name, right-click the mouse,
and choose Copy.

From the Edit menu, choose Copy > CellView, and filter the list to
select it.

3. Enter cellView copy settings as described in Table 90 on page 279.


Table 90

CellView Copy Settings

Settings

Description

Source

The source cellView to copy. Filter the list to specify the source cell or
directly select the cellView by name. To view cell categories during this
procedure, choose Show Cell Categories.

Destination

Cell Name: The cell name for the copied cellView at its destination.
Filter the list to select a base name or directly enter one.
View Name: The view name for the copied cellView at its destination.

Options

Update References within Copied CellViews causes all design


references to instantiated cellViews to point to the copied location.
Only references within the copied cellViews are updated.

Galaxy Custom Designer Platform User Guide


J-2014.12

279

Chapter 12: Tools for Designing


Library Manager Tool

Table 90

CellView Copy Settings

Settings

Description

Copy Hierarchical References copies the hierarchy underneath the


cellView by descending the hierarchy, and copying the master of each
instance. To control where descent stops, enter a list of library names
in the Exclude Libraries text box. (Descent will stop at a reference to
any cellView within any of these libraries.) To copy only certain views,
enter them in the Include Views text box.
Open on Copy opens the copied cellView when you click OK.
Copy Cell Data copies properties assigned to the cell from the source
cellView to the destination cellView, and overwrites any conflicting data
that exists in the destination cellView.

4. Click OK.
If the system detects a cellView with a duplicate name in the destination library,
the Conflicts dialog box opens. See Managing Duplicate Name Conflicts with
the Library Manager on page 283.
See also
More about Managing CellViews with the Library Manager on page 277

Moving CellViews
You can move a cellView to rename the cellView or to relocate it to a different
cell. You can move cellViews from one library to another with or without
changing cellView details.
Use the Library Manager to move cellViews.
These sections cover:

Moving One or More CellViews without Changes on page 280

Moving Individual CellViews with Changes on page 281

Moving One or More CellViews without Changes


You can move one or more cellViews without changes to automatically maintain
categories, and update cellView references during the operation.
To move cellViews without changes:

280

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

1. Begin by Opening the Library Manager Tool on page 258.


2. In the Library Manager, select one or more cellViews by name, and drag and
drop them onto a different cell in the Cells list.
If the system detects cellViews with duplicate names in the destination library,
the Conflicts dialog box opens. See Managing Duplicate Name Conflicts with
the Library Manager on page 283.
Moving Individual CellViews with Changes
You can move individual cellViews with changes to rename them or relocate
them to new cells while adjusting category positions, and references.
To move a cellView with changes:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, choose Edit > Move > CellView.
3. Enter cellView move settings as described in Table 91 on page 281.
Table 91

CellView Move Settings

Settings

Description

Source

The source cellView to move. Filter the list to specify the source
cellView or directly select the cellView by name. To view cell categories
during this procedure, choose Show Cell Categories.

Destination

Cell Name The cell name for the moved cellView at its destination.
Filter the list to select a base name or directly enter one.
View Name The view name for the moved cellView at its destination.

Options

Update References within Copied CellViews causes all design


references to instantiated cellViews to point to the new cellView
location. Only references within the moved cellViews are updated.
Copy Cell Data copies properties assigned to the cell from the source
cellView to the destination cellView, and overwrites any conflicting data
that exists in the destination cellView.

If the system detects a cellView with a duplicate name in the destination library,
the Conflicts dialog box opens. See Managing Duplicate Name Conflicts with
the Library Manager on page 283.

Galaxy Custom Designer Platform User Guide


J-2014.12

281

Chapter 12: Tools for Designing


Library Manager Tool

See also
More about Managing CellViews with the Library Manager on page 277

Deleting CellViews
You can delete cellViews by deleting them from a library or deleting them from
the disk.
Use the Library Manager to delete cellViews.
These sections cover:

Deleting CellViews from a Library on page 282

Deleting CellViews from Disk on page 282

Deleting CellViews from a Library


You can delete a cellView from a library by deleting its view list name.
To delete a cellView from a library:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, choose Edit > Delete Views by Name.
3. Specify the libraries from which to delete the view or views.
Use the check boxes to specify libraries. You can optionally filter the list.
4. At the bottom of the dialog box, enter the exact names for views to designate
for deletion from all selected libraries.
Separate each name with a space. In order to prevent inadvertent deletions,
partial names, and wildcard characters, are not accepted here.
5. (Optional) Click Preview.
6. Click Delete.
The system deletes all designated views, closing them first if they are open,
and reports the results of the operation.
Deleting CellViews from Disk
You can delete a cellView from disk to completely remove it from the system.
Note:

Select with care. You cannot undo this operation.


After this operation completes there is no method within this
environment to retrieve the contents of the deleted cellView.

282

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

To delete a cellView from disk:


1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, delete the cellView using one of the following
methods:

Select the cellView by name, right-click the mouse, and choose Delete.

Select the cellView by name, and choose Edit > Delete.

The cellView files are no longer on the disk.


See also
More about Managing CellViews with the Library Manager on page 277

Managing Duplicate Name Conflicts with the Library


Manager
You can manage duplicate name conflicts when copying or moving cells, and
cellViews, by refining and confirming your selections.
Destination conflicts can occur when a cell or view with the same name already
exists in the destination.
Source conflicts can occur when you have chosen to copy hierarchical
references, and the system finds multiple source cells or cellViews with the
same name.
To manage duplicate name conflicts:
1. View the list of duplicate items identified by the system.
2. Refine, and confirm, your selections.

If you are moving or copying cells, and you want to select individual
cellViews for the operation, click Manage Views.

To continue to copy or move all items, click Check All.

To copy or move only those items without duplicate names in the


destination location, where applicable, click Check Not in Dest.

To deselect all items, click Check None.

3. In the Conflicts dialog box, click Copy, Move, or Overwrite to confirm your
selections, and complete the operation.

Galaxy Custom Designer Platform User Guide


J-2014.12

283

Chapter 12: Tools for Designing


Library Manager Tool

See also
More about using the Library Manager Tool on page 257

Using Cell Categories in the Library Manager


You can use cell categories to classify cellViews for organized use. Category
groupings can contain cells, and their cellViews, and other cell categories. Any
cell can belong to one or more cell categories, or no category.
These sections cover:

Viewing Cell Categories on page 284

Creating New Cell Categories on page 284

Managing Cell Categories on page 285

Viewing Cell Categories


You can view categories to see the way cells are classified. Libraries group
cells in one category. Custom categories offer an additional level of cell
classification.
Use the Library Manager to view cell categories.
To view cell categories:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, choose to Show Cell Categories.
3. Select a library.
The Cell Categories column shows custom categories created by
designers, and their CAD support group. The categories with all cells, and
uncategorized cells, are maintained by the Custom Designer platform.
See also
More about Using Cell Categories in the Library Manager on page 284

Creating New Cell Categories


You can create new cell categories when you want to organize a group of cells.
Use the Library Manager to create new cell categories.

284

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Library Manager Tool

After you create the category by name, you can add cells to the category by
Managing Cell Categories on page 285.
To create cell categories:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, choose to Show Cell Categories.
3. Begin to create the category.

To create a top-level category for this library, position the cursor on the
white space at the bottom of the category list.

To create a subcategory, position the cursor over the name of the parent
category.

4. Right-click, and choose New.


5. Enter a unique name for this category.
Duplicate names generate a warning message.
6. Click OK.
See also
More about Using Cell Categories in the Library Manager on page 284

Managing Cell Categories


You can manage cell categories to organize, and classify, cells.
Use the Library Manager to manage cell categories.
To manage cell categories:
1. Begin by Opening the Library Manager Tool on page 258.
2. In the Library Manager, choose to Show Cell Categories.
3. Manage categories:

To rename a category, position your cursor on the name of the category,


right-click, choose Rename, enter a new name, and click Rename.

To move a category under another category, select its name, and drag
and drop it onto the name of the target category.

To move cells from one category to another, expand the source


category so that its contents are visible in the Cells column. From the
Cells column, drag cells you want to move to their new category in the
Cell Categories column.

Galaxy Custom Designer Platform User Guide


J-2014.12

285

Chapter 12: Tools for Designing


Marker Browser Assistant

To delete a category, select its name, right-click, and choose Delete.

To move a cell out of any category, you can optionally move it to the
Uncategorized category.

See also
More about Using Cell Categories in the Library Manager on page 284

Marker Browser Assistant


You can use the Marker Browser assistant to show design violations in design
schematics, symbols, and layouts.
The Marker Browser assistant lists all violations in the design, along with the
severity of the violation. Each violation has an associated short and long
message. The more detailed messages are grouped by type, and listed under
the shorter messages in a tree format.
These sections cover:

Opening the Marker Browser Assistant on page 286

Viewing Error Markers with the Marker Browser on page 287

Showing Error Markers by Severity with the Marker Browser on page 288

Showing Error Markers Added by Integrated Tools with the Marker Browser
on page 288

Updating Error Markers with the Marker Browser on page 289

Opening the Marker Browser Assistant


Open the Marker Browser to work with design violations.
Some operations, such as running a schematic rules check resulting in
violations, will open the Marker Browser automatically.
To open the Marker Browser assistant:

In any layout, schematic, or symbol view, choose Window > Assistants >
Marker Browser.

The assistant docks along the window edge. Un-dock it by clicking, and
dragging it.

286

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Marker Browser Assistant

See also
More about using the Marker Browser Assistant

Viewing Error Markers with the Marker Browser


You can view error markers associated with violations.
To view error markers:
1. Begin by Opening the Marker Browser Assistant on page 286.
2. In the Marker Browser, click the Prev/Next buttons on the toolbar to navigate
to the previous or next marker relative to the selected marker.
3. Click the "+" symbol next to marker groups to expand groups, and see the
underlying markers in the hierarchical tree.
Click the "-" symbol next to marker groups to collapse groups in the
hierarchical tree.
4. Click on a marker's message to highlight the marker in the design, and also
show the more detailed message associated with it. Find the longer
messages in the lower region of the assistant.
To show more than one marker or a marker group, use Ctrl + click, and
select each marker individually.
(Longer messages are shown only when single markers are selected.)
5. If the marker is not in the current design open for editing, you can optionally
double-click the marker to open the design containing the marker. The
system then highlights the marker in the newly opened design.
The Marker Browser displays error markers of the following types.
Color shorts appear as precoloring conflict violations.
Violations of Pre-defined Rules: Markers created due to the SRC/ERC
violations of the rules defined in the Check Options dialog box, when this dialog
box is available. (When it is available, you can open it by choosing Check >
Setup.) You can control markers shown by severity. See Showing Error
Markers by Severity with the Marker Browser on page 288.
Violations Found by External Tools: Markers created due to the violations found
by external tools integrated with this platform, such as a DRC engine like
Hercules DRC or a parasitic extraction tool, such as StarRC. You can control
the display of markers added by other tools. See Showing Error Markers Added

Galaxy Custom Designer Platform User Guide


J-2014.12

287

Chapter 12: Tools for Designing


Marker Browser Assistant

by Integrated Tools with the Marker Browser on page 288.


See also
More about using the Marker Browser Assistant on page 286

Showing Error Markers by Severity with the Marker


Browser
You can show error markers by severity for a more targeted evaluation process.
To show error markers by severity:
1. Begin by Opening the Marker Browser Assistant on page 286.
2. From the Marker Browser toolbar options menu, choose Severity, and then
specify a severity type from the list, or All or None.
Severity types are fixed values as defined by OpenAccess:

Error

Warning

Signed Off Error

Information

Annotation

Fatal Error

Critical Error

Acknowledge Warning

Signed Off Critical Error

See also
More about using the Marker Browser Assistant on page 286

Showing Error Markers Added by Integrated Tools with


the Marker Browser
You can selectively show error markers added by integrated tools. You can do
this to filter the violation set displayed, and limit errors shown to those errors
and warnings associated with a specific tool or tools.

288

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Net Tracer Assistant

Use the Marker Browser to show error markers added by integrated tools.
To show error markers added by integrated tools:
1. Begin by Opening the Marker Browser Assistant on page 286.
2. From the Marker Browser toolbar options menu, choose Tools, and specify
the tool or tools from the list, or All, or None.
Markers can be generated by any tool that generates violations, and then
writes them to the designs data in the OpenAccess database.
See also
More about using the Marker Browser Assistant on page 286

Updating Error Markers with the Marker Browser


The Marker Browser updates error markers when you perform one of the
following operations:

Checking the current view with Check > Current View.

Checking and saving the design with Design > Check and Save.

Changing the design lineage.

See also
More about using the Marker Browser Assistant on page 286
All about General Designing on page 81

Net Tracer Assistant


You can use the Net Tracer assistant to probe nets interactively throughout the
design hierarchy.
These sections cover:

Opening the Net Tracer Assistant on page 290

Creating a Probe with the Net Tracer on page 290

Viewing a Probed Net with the Net Tracer on page 290

Setting Probe Color with the Net Tracer on page 291

Galaxy Custom Designer Platform User Guide


J-2014.12

289

Chapter 12: Tools for Designing


Net Tracer Assistant

Clearing Probes with the Net Tracer on page 291

Filtering Nets by Name with the Net Tracer on page 291

Opening the Net Tracer Assistant


Open the Net Tracer to work with nets.
To open the Net Tracer assistant:

In any design window, choose Window > Assistants > Net Tracer.

Creating a Probe with the Net Tracer


You can click on nets in the top region of the Net Tracer assistant, or select nets
directly in the schematic and text editors to create a probe.
To create a probe:
1. In the Net Tracer, click the Probe button
ide::createProbe for selecting nets.

on the toolbar to launch

2. Click an unprobed net in the design window. As each net is selected, a probe
is created, the net and its probe color are added to the Nets section of the
Net Tracer assistant, and the Equivalent Nets region is updated to show the
result of the selection.
In addition to creating a probe, clicking on an unprobed net in the design
window populates the Net Tracer results with the list of electrically
connected nets.

Viewing a Probed Net with the Net Tracer


You can browse to the associated design editor window to view a probed net.
To view a probed net:

290

In the Net Tracer, double-click a net in the Equivalent Nets section. If Zoom
to fit is checked, the design editor is sized to view the extent of the probed
net.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Net Tracer Assistant

Setting Probe Color with the Net Tracer


You can choose the color of the next probe to be created.
To set probe color:
1. In the Color Options section, click the color selector arrow to access the
drop-down menu of predefined highlight sets.
2. The Color Options section always displays the highlight set for the next
created probe. If Cycle Colors is checked (the default), the current probe
color will be changed after each probe is created.

Clearing Probes with the Net Tracer


You can clear an individual probe you created with the Net Tracer.
To clear a probe:

Double-click the net name in the Nets section of the Net Tracer assistant.

You can also clear all probes at once.


To clear all probes:

Click the X button on the toolbar.

Filtering Nets by Name with the Net Tracer


You can filter nets by name with the Net Tracer.
To filter nets by name:

Click the Filter button

on the toolbar.

This adds a Filter field above both the Nets and the Equivalent Nets tables.
These filter fields can be used to limit and search through their respective
tables. Clicking on the Filter button a second time hides the filter fields and
updates the tables to show their full contents. Note that the equivalent nets
are only shown for the currently selected net.
When filtering is turned on the Filter button is shown sunken to indicate the
state.

Galaxy Custom Designer Platform User Guide


J-2014.12

291

Chapter 12: Tools for Designing


Object Filter Assistant

Object Filter Assistant


You can use the Object Filter assistant to control the way the system responds
to the selection of specific object types. The Object Filter works with schematic
and symbol views.
If you are working in an area of a schematic where you cannot select a wire due
to the interference of bounding boxes, you can use the Object Filter to turn off
bounding box object selection, and more easily allow wire selection.
You can also use the Object Filter during area selection, for example, in
situations where you might want to select a group of instances, and exclude
wires, and other objects, from the selection set.
These sections cover:

Opening the Object Filter Assistant on page 292

Filtering Schematic Objects with the Object Filter on page 292

Filtering Symbol Objects with the Object Filter on page 293

Opening the Object Filter Assistant


Open the Object Filter to work with object selection settings in schematics and
symbols.
To open the Object Filter:

In the schematic or symbol, choose Window > Assistants > Schematic


Object Filter or Symbol Object Filter.

The assistant docks along the window edge. Un-dock it by clicking, and
dragging it.
See next
More about using the Object Filter Assistant on page 292

Filtering Schematic Objects with the Object Filter


You can filter schematic objects control their selectability.

292

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Object Filter Assistant

To filter schematic objects:


1. Begin by Opening the Object Filter Assistant on page 292. (Alternatively, in
a design view, choose Edit > Select > Schematic Object Filter.)
2. Choose an option:
To enable or disable individual selectability for an object, click on its check
box.
To enable or disable selectability for all objects, click the buttons at the top.
The Schematic Editor object selection filter controls selectability for these
object types: flight line; instance label, name, pin, name; marker; note; note
shape; pin; pin name; wire; and wire name.
See also
More about using the Object Filter Assistant on page 292

Filtering Symbol Objects with the Object Filter


You can filter symbol objects to limit, and control their selectability.
To filter symbol objects:
1. Begin by Opening the Object Filter Assistant on page 292. (Alternatively, in
a design view, choose Edit > Select > Symbol Object Filter.)
2. Choose an option:
To enable or disable individual selectability for an object, click on its check
box.
To enable or disable selectability for all objects, click the buttons at the top.
The Symbol Editor selection filter controls selectability of label, instance, note,
note shape, pin, and pin name selectable object types. Additionally, you can
use it to filter arc, circle, ellipse, line, polygon, and rectangle device shapes.

Galaxy Custom Designer Platform User Guide


J-2014.12

293

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

See also
More about using the Object Filter Assistant on page 292

Object/Layer Panel Assistant


You can use the Object/Layer Panel assistant in layouts to configure object
selectability and visibility, to set the active LPP, and to control via and instance
selection. Use the assistants OLP Group Manager to configure layer purpose
pair (LPP) validity.
Each design has an OLP assistant. Settings you make apply immediately, and
are stored in the technology database.
These sections cover:

Opening the Object/Layer Panel Assistant

Working with Objects in the Object Layer Panel on page 295

Working with LPPs in the Object Layer Panel on page 297

Working with Layers in the Object Layer Panel on page 299

Managing Object Layer Groups with the Object Layer Panel on page 301

Controlling Via Selection Settings in the Object Layer Panel on page 304

Controlling Instance Selection Settings in the Object Layer Panel on


page 305

Opening the Object/Layer Panel Assistant


The Object Layer Panel opens automatically with design layout views. You can
also open it manually as described here.
To open the Object Layer Panel assistant:

In a design layout view, choose Window > Assistants > Object Layer
Panel.

The assistant docks along the window edge. Undock it by clicking, and
dragging it.

294

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

See next
More about using the Object/Layer Panel Assistant on page 294

Working with Objects in the Object Layer Panel


You can control the set of objects you want to be visible and selectable to more
easily access the design elements you want to change.
Visible objects are selectable when both the LPP and object type and are set to
selectable. You can manipulate selectable objects with editing commands such
as Delete or Move.
To work with objects:
1. Begin by Opening the Object/Layer Panel Assistant on page 294.
2. In the OLP assistant, click the Objects tab.

Set individual objects to be visible by check marking them by name in


the left-hand column.

Set all objects to be visible by clicking the button for this purpose in the
OLP toolbar.

Set individual objects to be selectable by check marking them by name


in the right-hand column.

Set all objects to be selectable by clicking the button for this purpose in
the OLP toolbar.

Use the quick object selector icon to select from the list of the ten most
recently selected objects (Figure 22).

Galaxy Custom Designer Platform User Guide


J-2014.12

295

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

Figure 22

Object Layer Panel: Quick Object Selector

Table 92 on page 296 lists and describes visible objects and their
corresponding OpenAccess data types.
Table 92

296

Object Layer Panel Visible Object Types

Object Type

Always visible?

OpenAccess data type

Instance

outline

oaInst

Array

outline

oaArrayInst

Scalar

outline

oaScalarInst

Via

Yes

oaVia

Custom

Yes

oaCustomVia

Standard

Yes

oaStandardIVa

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

See also
More about using the Object/Layer Panel Assistant on page 294

Working with LPPs in the Object Layer Panel


You can set the active layer purpose pair, sort the active list of LPPs, and make
LPPs visible and selectable. You can also view the display packets associated
with LPPs.
These sections cover:

Setting the Active Layer Purpose Pair on page 297

Sorting Layer Purpose Pairs on page 298

Making Layer Purpose Pairs Visible and Selectable on page 298

Setting the Active Layer Purpose Pair


You can set the active layer purpose pair to make it the target for layout
operations.
Use the Object Layer Panel assistant to set the active LPP.
To set the active LPP:
1. Begin by Opening the Object/Layer Panel Assistant on page 294.
2. Click the LPPs tab. Optionally, to view more LPPs at once, you can expand
the Object Layer Panel window so that the LPPs are listed in several visible
columns.
3. Scroll the list to locate the LPP, or filter the list by entering characters in the
Filter field. The system treats empty spaces on both ends of any string as
wildcard characters.
4. Select the LPP by name.
This sets the active LPP, makes it visible and selectable, and lists it by name
at the top of the assistant. There is always only one active LPP.
The active LPP is indicated at the top of the Object Layer Panel window.
Use the drop-down arrow next to the active LPP indicator choose from a list
of the last ten active LPPs (Figure 23).

Galaxy Custom Designer Platform User Guide


J-2014.12

297

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

Figure 23

Object Layer Panel: Active LPP Indicator

See also
More about using the Object/Layer Panel Assistant on page 294

Sorting Layer Purpose Pairs


You can sort LPPs to easily access the ones you need frequently.
Use the Object Layer Panel assistant to sort LPPs.
To sort LPPs:
1. Begin by Opening the Object/Layer Panel Assistant on page 294.
2. From the OLP toolbar options menu, choose Sort LPPs, and then choose
a sorting operation:

Priority lists LPPs in priority drawing order.

Alphanumeric lists the LPPs in this order.

Layer Number lists the LPPs by layer, and purpose number as defined
in the technology database.

Custom lists valid LPPs within the current design settings.

See also
More about using the Object/Layer Panel Assistant on page 294

Making Layer Purpose Pairs Visible and Selectable


You can make LPPs visible and selectable to improve ease of design.
Use the Object Layer Panel window assistant for this task.

298

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

You can additionally use this procedure to enable and disable LPP fill patterns.
To control LPPs:
1. Begin by Opening the Object/Layer Panel Assistant on page 294
2. In the OLP assistant, click the LPPs tab.
3. Using the keyboard, and the mouse, select the target group of LPPs.

To select one LPP, Shift-select it by name.

To select a contiguous group, Shift-select the starting, and ending LPPs,


by name.

To select multiple individual LPPs, Ctrl-select each one by name.

4. Right-click the mouse, and apply the operation of your choice to the selected
LPP group:

Set the group to be visible or invisible.

Enable or disable fill. Disabling fill ignores the fill style defined in the
associated packet, and renders the packet with a color outline, but no fill
pattern. This action does not change the resource definition for the
packet.

Set the group to be selectable or unselectable.

Remove (deselect) the currently selected group.

See also
More about using the Object/Layer Panel Assistant on page 294

Working with Layers in the Object Layer Panel


You can use the OLP to work with layers. You can use the Layers tab to change
the visibility and selectability settings of layers as well as layer blockages, route
guides, track patterns, and the routing grid.
To work with layers:
1. Begin by Opening the Object/Layer Panel Assistant on page 294.
2. Click the Layers tab.
3. View the columns for layer blockages, route guides, track patterns, and the
routing grid.
Show and hide columns by choosing them from the Layers button menu.

Galaxy Custom Designer Platform User Guide


J-2014.12

299

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

4. To change whether route guides or grids, blockages, or track patterns


appear on this layer, click on one of the columns described in Table 93 on
page 300.
Table 93 on page 300 lists and describes the settings you can adjust for
each layer, by column. Use the mouse in each column to toggle options: leftclick to make the layer active, middle-click to toggle visibility, and right-click
to toggle selectability.
Table 93

Object Layer Panel (Layers tab)

Column

Description

Layer Blockages

Indicates layer blockages on this layer and whether they are


visible (white background) or invisible (gray background).

Route Guides

For use only with IC Compiler designs, indicates whether


route guides are active (white background) or inactive (gray
background) for this layer.

Track Patterns

Shows the track pattern for this layer, and whether it is active
(white background) or inactive (gray background).

Routing Grid

Renders the routing grid visible or invisible for this layer.

For any given layer, view and optionally click the row and its columns to
change its elements, expanding the tree listing as necessary to view
associated LPPs.
A white row background indicates that this layer and all aspects of it are
visible. A gray background indicates that this layer is invisible. A light gray
background indicates a mixture of invisible and visible layer aspects.
The system shows visibility settings on the Layers tab that you have made
on the LPPs tab. It also copies visibility settings you adjust on the Layers tab
to the LPPs tab.

300

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

See also
More about using the Object/Layer Panel Assistant on page 294

Managing Object Layer Groups with the Object Layer


Panel
You can manage object layer groups to apply pre-defined object, and LPP,
settings to the design. There are default layer groups (system groups) and
user-defined layer groups (user groups).
These sections cover:

Setting Visibility and Selectability for Object Layer Groups on page 301

Creating Custom Object Layer Groups on page 302

Renaming or Deleting User Object Layer Groups on page 303

Saving Object Layer Group Settings on page 303

Setting Visibility and Selectability for Object Layer Groups


You can set visibility and selectability for object layer groups to apply these
settings to a specified set of objects.
Use the Object Layer Panel assistant to set group visibility and selectability.
To set visibility and selectability for an object layer group:
1. Begin by Opening the Object/Layer Panel Assistant on page 294.
2. From the OLP toolbar options menu, choose a group, enter a user group you
have defined or select one of the system groups.
Table 94 on page 301 lists, and describes, the three available system
groups.
Table 94

Object Layer Panel System Groups

System group

Description

Default

Sets the validity of all LPPs to the state defined in the technology file,
but does not change any visibility or selectability settings. Also sets
all Object Types to visible and selectable. All default groups contain
the order for all LPPs.

Galaxy Custom Designer Platform User Guide


J-2014.12

301

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

Table 94

Object Layer Panel System Groups

System group

Description

All

Sets all LPPs in the design to valid, but does not change any
visibility or selectability settings.

User

Sets all User LPPs to valid, and all System LPPs to invalid, but does
not change any visibility or selectability settings.
A User LPP is any LPP that has a non-system reserved layer.
A System LPP is any LPP that has a system reserved layer name
(and number). System reserved layers have numbers between 200
and 255.

You can save user-defined settings that control which objects, and LPPs,
are visible and selectable. You save the user-defined settings as user
groups.
Similarly, you can restore settings from a saved user group, and apply those
settings to a design.
See also
More about using the Object/Layer Panel Assistant on page 294

Creating Custom Object Layer Groups


You can create your own object layer groups to make specific objects visible
and selectable.
Use the OLP Group Manager to create custom object layer groups.
To create a user object layer group:
1. Begin by Opening the Object/Layer Panel Assistant on page 294.
2. From the OLP toolbar options menu, choose Group Manager.
3. In the Group Manager window, select the group whose settings you want to
use.
4. Choose File > New.
5. (Optional) Replace the temporary name User Group # with a new name.
6. Retain this group for future sessions by choosing File > Save As, and
entering an XML file name.

302

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

See also
More about using the Object/Layer Panel Assistant on page 294

Renaming or Deleting User Object Layer Groups


You can rename or delete a user object layer group to change it or remove it
from use.
Use the OLP Group Manager to rename or delete user object layer groups.
To rename or delete a user object layer group:
1. Begin by Opening the Object/Layer Panel Assistant on page 294.
2. From the OLP toolbar options menu, choose Group Manager.
3. In the Group Manager window, highlight the group by name.

Rename the group by choosing Edit > Rename, and entering a new
name.

Delete the group by choosing Edit > Delete.

(Deletion cannot be undone.)


See also
More about using the Object/Layer Panel Assistant on page 294

Saving Object Layer Group Settings


You can save object layer group settings to apply adjusted visibility and
selectability settings to a design.
Use the Object Layer Panel assistant to save group settings.
To save group settings:
1. Begin by Opening the Object/Layer Panel Assistant on page 294.
2. From the OLP toolbar options menu, choose Save to Group.
3. Enter a name for the group.
4. Click OK.
The new group name appears in both the Object Layer Panel menu and the
Group Manager.

Galaxy Custom Designer Platform User Guide


J-2014.12

303

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

See also
More about using the Object/Layer Panel Assistant on page 294

Controlling Via Selection Settings in the Object Layer


Panel
You can control via selection settings to define the way to tool selects vias with
reference to instances.
To control via selection settings:
1. Begin by Opening the Object/Layer Panel Assistant on page 294.
2. On the Objects tab, making via objects selectable. (For more information,
see Working with Objects in the Object Layer Panel on page 295.)
3. On the LPPs tab, deselect (gray out) any LPPs you want to prevent from
being included in selection on the canvas.
4. From the assistant menu at the top right corner, choose Via Selection and
then a setting option.
Table 95 on page 304 lists via selection settings you can apply.
Table 95

304

Via Selection Setting Options

Setting Option

Description

Normal

Allows selection of via if Via Selection filter is true.

One Selectable LPP

Allows selection of via if Via Selection filter is true and at


least one shape in via master is on selectable LPP.

All Selectable LPPs

Allows selection of via if Via Selection filter is true and all


shapes in via master are on selectable LPPs.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Object/Layer Panel Assistant

See also
More about using the Object/Layer Panel Assistant on page 294

Controlling Instance Selection Settings in the Object


Layer Panel
You can control instance selection settings to define the way the tool selects
instances with reference to LPPs.
To control instance selection settings:
1. Begin by Opening the Object/Layer Panel Assistant on page 294.
2. On the Objects tab, make instance objects selectable. For more
information, see Working with Objects in the Object Layer Panel on
page 295.
3. On the LPPs tab, deselect (gray out) LPPs you want to prevent from being
included in selection on the canvas.
4. From the assistant menu at the top right corner, choose Instance Selection
and then a setting option.
Table 96 on page 305 lists via selection setting options you can apply.
Table 96

Instance Selection Setting Options

Setting Options

Description

Normal

Allows selection of instance if Instance Selection filter is


true.

One Selectable LPP

Allows selection of instance if Instance Selection filter is


true and at least one shape in instance master is on
selectable LPP.

All Selectable LPPs

Allows selection of instance if Instance Selection filter is


true and all shapes in instance master are on selectable
LPPs.

Galaxy Custom Designer Platform User Guide


J-2014.12

305

Chapter 12: Tools for Designing


Parameter Definition Editor Tool

See also
More about using the Object/Layer Panel Assistant on page 294

Parameter Definition Editor Tool


You can use the Parameter Definition Editor to display, define, and set values
for parameters.
Parameters are metadata associated with instance objects. Parameters differ
from properties in that they can only be associated with instance objects.
Additionally, the definition of the parameter cannot be created directly on an
instance. Instead, the parameter definitions are inherited from data stored in
the instance masters associated cell and library.
CAD support personnel and library developers can define parameters to serve
the requirements of output tools.
These sections cover:

Opening the Parameter Definition Editor Tool on page 306

Viewing Parameter in the Parameter Definition Editor on page 307

Adding Parameters with the Parameter Definition Editor on page 307

Adjusting Parameters with the Parameter Definition Editor on page 308

Opening the Parameter Definition Editor Tool


Open the Parameter Definition Editor from the Console or the Library Manager.
To open the Parameter Definition Editor:

306

From the Console, choose Tools > Parameter Definition Editor.

From the Library Manager, choose Edit > Parameter Definitions.

For a selected cell in the Library Manager, point to the cell, right-click, and
choose Edit > Parameter Definitions.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Parameter Definition Editor Tool

See next
More about using the Parameter Definition Editor Tool on page 306

Viewing Parameter in the Parameter Definition Editor


You can view parameters in the Parameter Definition Editor to begin to work
with them.
To view parameters:
1. Begin by Opening the Parameter Definition Editor Tool on page 306.
2. In the Parameter Definition Editor, select a library or a cell within a library.
3. Scroll to view the complete tree of parameters.
4. To find text, enter it in the Find text box, and click Next or Previous.
If the Find text box is not shown, choose Edit > Find to add this input text
box to the bottom of the editor window.
See also
More about using the Parameter Definition Editor Tool on page 306

Adding Parameters with the Parameter Definition Editor


You can add a parameter to an object by defining its type, and optionally setting
its value.
To add a parameter:
1. Begin by Opening the Parameter Definition Editor Tool on page 306.
2. In the Parameter Definition Editor, choose Add > Add Parameter.
3. Enter the name of the parameter.
4. Define each parameter aspect by left-clicking next to the notation.
Define the type, prompt, callback units, defValue, display, whether editable,
use, parseAsPEL, and parseAsNumber.
5. Choose File > Save.

Galaxy Custom Designer Platform User Guide


J-2014.12

307

Chapter 12: Tools for Designing


Probe Assistant

See also
More about using the Parameter Definition Editor Tool on page 306

Adjusting Parameters with the Parameter Definition


Editor
You can adjust parameters to change values set for them.
To adjust parameters:
1. Begin by Opening the Parameter Definition Editor Tool on page 306.
2. In the Parameter Definition Editor, view the tree display.
3. Choose editing options:
Reorder the data by selecting, dragging, and dropping it into different
positions.
Edit labels by left-clicking, and entering new text.
See also
More about using the Parameter Definition Editor Tool on page 306

Probe Assistant
You can use the Probe assistant to view probes in the design or in a currently
selected set of objects. The platform displays probes visually through object
highlighting. You can use the Probe Assistant to find, and cycle through, probed
objects, to sort the list of probed objects, and to view text details for each one.
These sections cover:

308

Opening the Probe Assistant on page 309

Cycling through Probed Objects with the Probe Assistant on page 309

Viewing Probed Object Details with the Probe Assistant on page 309

Deleting Probes with the Probe Assistant on page 310

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Probe Assistant

Opening the Probe Assistant


Open the Probe Assistant to find, and cycle through, probes and their objects in
any probed design context.
To open the Probe assistant:

In any design, choose Window > Assistants > Probe Assistant.


Probes attach to objects both when designers add them manually, and when
design analysis processes add them automatically.
The assistant docks along the window edge. Un-dock it by clicking, and
dragging it.

See next
More about using the Probe Assistant on page 308

Cycling through Probed Objects with the Probe


Assistant
You can cycle through probed objects in a design to view them individually.
To cycle through probed objects:
1. Begin by Opening the Probe Assistant on page 309.
2. In the list of probes in the Probe Assistant, select a probe by name.
The system highlights the probed object in the design or selected set.
3. To cycle through all probed objects in the design or selected set, click the
toolbar arrows.
See also
More about using the Probe Assistant on page 308

Viewing Probed Object Details with the Probe Assistant


You can view probed object details to obtain information about object names,
packet colors, and short descriptions entered when the probes were created.

Galaxy Custom Designer Platform User Guide


J-2014.12

309

Chapter 12: Tools for Designing


Probe Assistant

To view probed object details:


1. Begin by Opening the Probe Assistant on page 309 in the design context
with probes you want to view.
2. In the list of probes in the Probe Assistant, select a probe by name.
The system highlights the probed object in the design, and displays details
about this probe.
The Probe Assistant shows the lineage path to the probed object, the tool
associated with this probe (signifying how the probe was created), and the
purpose, and long description, entered when this probe was created.
3. Choose an option. You can sort, set preferences for, and filter the probed
object list in several ways.

To sort by object, packet, or description, select the column titles.

To set a preference to zoom to each probe when selected, check the


Zoom option in the toolbar options menu.

To set a preference to highlight all probes in the current hierarchy when


a probe is selected, check the Hierarchy option in the toolbar options
menu.

To filter the probe list by object type, choose Type from the toolbar
options menu, and check the object types you want to include.

To filter the probe list by tool, choose Tools from the toolbar options
menu, and check the tools you want to include.

See also
More about using the Probe Assistant on page 308

Deleting Probes with the Probe Assistant


You can delete probes to remove them from designs.
To delete probes:
1. Begin by Opening the Probe Assistant on page 309 in the design context
containing probes you want to delete.
2. In the list of probes in the Probe Assistant, select the probe by name.
3. In the Probe Assistant toolbar, click Delete.

310

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Property Editor Assistant

See also
More about using the Probe Assistant on page 308

Property Editor Assistant


You can use the Property Editor assistant to create and edit, properties, edit
parameters, and edit the values of attributes.
You can also view connection assignments, instance terminal connectivity, and
attributes for pre-coloring shapes in preparation for achieving dual patterning
compliance.
If you are applying precoloring in your design, you can view and adjust the color
attribute for a shape using the Property Editor. Shapes that are explicitly
created with a color, and shapes that have a color set for them in the Property
Editor, are called color anchors. Other shapes that are on the same layer and
that touch these color anchors will be given the same color, but do not become
anchors.
These sections cover:

Opening the Property Editor Assistant on page 311

Finding and Showing Design Properties with the Property Editor on


page 312

Editing and Deleting Design Properties with the Property Editor on


page 313

Creating New Design Properties with the Property Editor on page 314

Enabling Zoom Operations while Using the Property Editor on page 316

Adjusting Parameters in the Selected Set with the Property and Parameter
Definition Editors on page 316

Opening the Property Editor Assistant


Open the Property Editor to work with properties of objects in the current
selected set.
To open the Property Editor:

In any design window, choose Window > Assistants > Property Editor.

Galaxy Custom Designer Platform User Guide


J-2014.12

311

Chapter 12: Tools for Designing


Property Editor Assistant

The assistant docks along the window edge. Un-dock it by clicking and
dragging it.
See next
More about using the Property Editor Assistant on page 311

Finding and Showing Design Properties with the


Property Editor
You can find and show design object properties to work with design aspects
related to a currently selected object set. These aspects include not only
properties, but also parameters, attributes, connectivity, and instance terminals.
After you find, and show, properties, you can edit or delete them, and you can
create new properties.
To find, and show, properties:
1. Begin by Opening the Property Editor Assistant on page 311.
2. Select one or more objects on the canvas. To see properties for the design
itself, single-click anywhere on the canvas.
If you select pre-colored shapes, the Property Editor lists their color
attributes and whether the color is a color anchor or has been propagated
from another shape. You can change these settings here.
3. In the Property Editor, review details available for the currently selected set.

312

If you selected one object, information about that object is shown. To


see additional details about that objects properties (or, for example, its
parameters or attributes if that information is available), expand each
region using the small blue triangles.

If you selected a group of objects, you can cycle through them using the
Show Previous Object and Show Next Object arrows on the
assistants toolbar. The assistant shows details for one object at a time,
and simultaneously delineates the objects shape on the canvas.

If you selected a group of objects, and you want to use tabs for quicker
access to details about each one, click Show Multiple Item View on the
assistants toolbar.

If you want to expand the scope of the selected set to include additional
items of this object type, choose an expanded scope from the black
double-arrow button menu on the assistants toolbar.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Property Editor Assistant

The assistant shows the currently applied scope below the assistant
toolbar, lists the number of objects in the selected set, and shows the
current objects position in the sets order.
4. (Optional) Adjust the Property Editor interface to show more or fewer details
about the selected set.
Decide which individual columns you want to show, right-click anywhere on
a column heading, and select or deselect the information type.
For example, if the Attributes region shows an attributes prompt, value, and
visibility, and you want to see only the prompt, right-click the column
heading, and deselect Value and Visibility.
Note that in the Visibility drop-down menu, when all selected rows already
have a matching visibility setting or are n/a, the entry that matches the
current setting is annotated with a checkmark.
See also
More about using the Property Editor Assistant on page 311

Editing and Deleting Design Properties with the


Property Editor
You can edit or delete design attribute values and other property aspects of a
design when the current values are no longer valid or the information becomes
unnecessary. The tool offers editing and deletion options based on the object
type.
To edit and delete design properties:
1. Begin by Opening the Property Editor Assistant on page 311.
2. On the canvas, select the object whose properties you want to edit or delete.
3. In the Property Editor, with the preferred objects properties showing, make
changes. For assistance in showing properties, see Finding and Showing
Design Properties with the Property Editor on page 312.

To edit a property, either enter text, or use the menus, and check boxes,
to apply new settings.
Alternatively, you can edit parameter definitions now. See Adjusting
Parameters in the Selected Set with the Property and Parameter
Definition Editors on page 316.

To delete a property, select its row, right-click, and choose Remove.

Galaxy Custom Designer Platform User Guide


J-2014.12

313

Chapter 12: Tools for Designing


Property Editor Assistant

The tool draws a line striking out the entry. When you apply changes,
the tool removes this listing altogether.

To add new properties now, see Creating New Design Properties with
the Property Editor on page 314.

4. (Optional) Adjust edits before saving the final changes:

To return all values to the default, on the Property Editor toolbar click
Reset to Defaults.

To discard the last change, move the cursor to the design window, and
choose Edit > Undo.

To discard all changes, on the Property Editor toolbar click Discard


Changes.

5. Click the Apply Changes button (the green check mark) when you are
done.
The tool validates the entries, and reports any errors it finds, by outlining the
entry fields with a red border. Move the cursor over an invalid entry to see a
tool tip for correcting the error. Adjust entries to create a valid property.
6. (Optional) Discard these applied changes by moving the cursor to the
design window, and choosing Edit > Undo.
See also
More about using the Property Editor Assistant on page 311

Creating New Design Properties with the Property


Editor
You can create new design properties to automatically associate them with
objects in a selected set.
To create a new design property:
1. Begin by Opening the Property Editor Assistant on page 311.
2. In the Property Editor, expand the Properties region of the assistant using
the small arrow button.
3. Create the property.

314

To create only one property, and its value, single-click the Click-to-Add
text box. Enter the name and the value. Click the Apply Changes button
(a green checkmark) at the top of the assistant.
Galaxy Custom Designer Platform User Guide
J-2014.12

Chapter 12: Tools for Designing


Property Editor Assistant

This completes the procedure to create a property.

To create a property with additional details, double-click the Click-toAdd text box, which opens a dialog box. (Alternatively, you can rightclick this text box, and choose Add to open the same dialog box.)
Define the property in the step that follows.

4. Define the property you are creating as described in Table 97 on page 315.
Table 97

Create Property

Definition

Description

Name

Name for this new property that does not conflict with an existing
property name

Type

One of these property types: application, Boolean, double,


enumeration, float, hierarchical, integer, string, or time

Visibility

Choose On to show this property in the Property Editor.

Value

Initial value for this property. You can edit values later. (See
Editing and Deleting Design Properties with the Property Editor
on page 313.)

Range

For double, float, integer, and time property types, optionally set
a range by choosing the range option, and defining the minimum
and maximum values for the range. For the enumeration
property type, optionally set a range by entering a list of values.

5. Click OK.
The tool validates the entries, and reports any errors it finds, by outlining the
entry fields with a red border. Move the cursor over the invalid entry to see
a tool tip for correcting the error. Adjust entries to create a valid property.

Galaxy Custom Designer Platform User Guide


J-2014.12

315

Chapter 12: Tools for Designing


Property Editor Assistant

See also
More about using the Property Editor Assistant on page 311

Enabling Zoom Operations while Using the Property


Editor
You can enable zoom operations to conveniently scale the selected set.
To enable zoom operations:
1. Begin by Opening the Property Editor Assistant on page 311.
2. From the Property Editor toolbar options menu, choose the Zoom option.
For zoom operation details, see Zooming on page 90.
3. (Optional) Cycle through the selected set.
The tool zooms to magnify each object.
For more information about viewing properties in the design, see Finding
and Showing Design Properties with the Property Editor on page 312.
4. (Optional) Disable automatic zooming by deselecting the Zoom option in the
Property Editor toolbar options menu.
See also
More about using the Property Editor Assistant on page 311

Adjusting Parameters in the Selected Set with the


Property and Parameter Definition Editors
You can navigate from the Property Editor assistant to the Parameter Editor
and adjust parameters for the currently selected set.
To adjust parameters in the currently selected set:
1. Begin by Opening the Property Editor Assistant on page 311.
2. In the design, select one or more objects.
3. From the Property Editor toolbar options menu, choose Parameter
Definitions.
The Parameter Definition Editor opens.
For more information, see Parameter Definition Editor Tool on page 306.
316

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Search and Replace Tool

See also
More about using the Property Editor Assistant on page 311

Search and Replace Tool


You can use the Search and Replace tool to locate components in your
designs. After locating components, you can use this tool to replace their
associated attribute values, properties, and parameters.
These sections cover:

Opening the Search and Replace Tool on page 318

Setting Search and Replace Options for the Search and Replace Tool on
page 318

Setting the Design Root for the Search and Replace Tool on page 319

Searching for Design Components with the Search and Replace Tool on
page 320

Browsing Component Search Results with the Search and Replace Tool on
page 324

Refining Component Search Results in the Search and Replace Tool on


page 326

Replacing Component Aspects using Search Results with the Search and
Replace Tool on page 327

Replacing Values within Search Results with the Search and Replace Tool
on page 328

Checking Whether a Property Exists on an Instance with the Search and


Replace Tool on page 329

Finding Instances with the Default Value of a Given Property with the Search
and Replace Tool on page 330

Replacing Scientific Notation with Equivalent Value with the Search and
Replace Tool on page 330

Finding Instances with a Specific Property Value with the Search and
Replace Tool on page 331

Finding Instances with a Property Not Equal to a Specific Value with the
Search and Replace Tool on page 332

Galaxy Custom Designer Platform User Guide


J-2014.12

317

Chapter 12: Tools for Designing


Search and Replace Tool

Finding Instances with a Property Value in a Given Range with the Search
and Replace Tool on page 332

Finding Text on Layer Shapes in Layouts with the Search and Replace Tool
on page 333

Finding Via Vector Values with the Search and Replace Tool on page 334

Finding Vectored Instances with the Search and Replace Tool on page 335

Opening the Search and Replace Tool


Open the Search and Replace tool to begin a component search.
To open the Search and Replace Tool:

From the Console, choose Tools > Search and Replace. Alternatively, from
the Library Manager, choose Edit > Search and Replace.
By default, the Search and Replace tool opens with the search scope set to
a single design. The tool will use the top cell in the open design as the
design root for search operations. You can optionally set a different design
root at any time. See Setting the Design Root for the Search and Replace
Tool on page 319.
To open this tool with no design root set automatically, from the Console
choose Tools > Search and Replace. From here, you can independently
set any scope and search options. You do not need to open a design first.

See next
More about using the Search and Replace Tool on page 317

Setting Search and Replace Options for the Search and


Replace Tool
There are two general search and replace options. You can make replacement
processes ignore properties that cannot be edited. You can make all searches
case sensitive.
To set general search and replace options:
1. Begin by Opening the Search and Replace Tool on page 318.
2. In the Search and Replace Tool window, from the Options menu choose
one of the options that follows.

318

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Search and Replace Tool

Honor Property Editability ignores properties that are not editable in


a search and replace operation. By default, this option is enabled, and
properties that are not editable are ignored.

Case Sensitive performs all searches in a case sensitive manner. This


option does not affect replacement values, which are applied exactly as
you enter them. By default, this option is enabled, and case is evaluated
in a search operation.

See also
More about using the Search and Replace Tool on page 317

Setting the Design Root for the Search and Replace


Tool
If you opened the Search and Replace tool from the Console, it opens at the
library level. You can set a design root to limit the scope to a single design or
design hierarchy for search and replace operations.
If you opened the Search and Replace tool from a cellView you are editing, it
opens at the level of the open design. To use a different top design for search
and replace operations, set a design root.
To set the design root:
1. Begin by Opening the Search and Replace Tool on page 318.
2. In the Search and Replace window, choose File > Design Root.
3. Enter the top design (for a new design root) by its library, cell, and view.
4. Enter traversal options to determine the extent of any searches from this top
design.
5. Click OK.

Galaxy Custom Designer Platform User Guide


J-2014.12

319

Chapter 12: Tools for Designing


Search and Replace Tool

See also
More about using the Search and Replace Tool on page 317

Searching for Design Components with the Search and


Replace Tool
Search for design components with the Custom Designer platform Search and
Replace tool.
The system recognizes design components as OpenAccess objects.
Therefore, when you perform a search, you are searching for OpenAccess
objects.
Using search results, you can replace attribute values, properties, and
parameters associated with objects either individually or as a batch operation.
To search for design components:
1. Begin by Opening the Search and Replace Tool on page 318.
2. Control the way the tool matches search criteria by setting the Match type.
Table 98 on page 320 lists, and describes, available match types.
Table 98

Search and Replace Match Types

Match Type

Description

Exact

Finds exact matches only

Reg Expr

Finds patterns that are regular expressions

Wildcard

Uses wildcard matching that conforms to IEEE


standard 1003.1-2001 sections 2.13.1 and 2.13.2
describing patterns to match a single character and
multiple characters. The symbol $ accepts a single
character wildcard match.

Partial (check box)

Additionally finds any subset of a complete string

3. Control the extent of the search by setting the Scope.

320

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Search and Replace Tool

Table 99 on page 321 lists, and describes, search scopes.


Table 99

Search and Replace Search Scopes

Scope

Description

Design

Searches all objects in the open design (offered when


you open this feature from a design)

Selection Set

Searches the current selection set

Design Hierarchy

Searches the design hierarchy for the open design


(offered when you open this feature from a design)

Library

Searches the library you specify here by choosing from


the list

All Libraries

Searches all available libraries

4. Specify the design component to find by setting the Search Type and
optionally adding search criteria to narrow the search.
Table 100 on page 321 lists, and describes, search types and additional
criteria you can specify.
Table 100 Search and Replace Search Types
Search Type

Description

Instances

Finds instances by the instance criteria you specify:


Library, Cell, View, and/or Instance Name.
To search for instances where the Placed master is
unbound (missing from the technology file) or where a
Replacement master exists, choose Advanced
Filters, and specify one or both of these options.
(To additionally search for instance properties, see
Step 5.)

Galaxy Custom Designer Platform User Guide


J-2014.12

321

Chapter 12: Tools for Designing


Search and Replace Tool

Table 100 Search and Replace Search Types


Search Type

Description

Instance Arrays

Finds instance arrays by the Library, Cell, View, and/


or Instance Name you specify. To optionally filter
results based on object attributes of rows, columns,
delta x, or delta y, choose one of these options, specify
an operator, and choose a value. You can obtain the
object attribute value to enter here by selecting an
object, and viewing its attributes in the Property Editor.
To include instance arrays where the Placed master is
unbound, or where a Replacement master exists,
choose Advanced Filters, and select one or both of
these options.
(To additionally search for instance array properties,
see Step 5.)

Vias

Finds vias by their via definition names.


To replace only vias where the given replacement via
definition exists, choose the Advanced Filters tab, and
specify this option.
(To additionally search for vias by their properties, see
Step 5.)

322

Nets

Finds nets by net name, and whether or not the net is


global. Optionally filters the list of nets by shape, and/or
LPP.

Pins

Finds pins (as pin figures) by their terminal name,


terminal type, or net name. Optionally filters by object
type, and LPP, or by master library, cell, and view.

Layout Shapes

Finds layout shapes by net name, LPP, and object type

Text

Finds text objects by their text, and LPP

Connection Definitions

Finds connection definitions by their names, or the


names of the associated default nets

Connection Assignments

Finds connection assignments by name, a new name


you specify here, or net, or visibility

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Search and Replace Tool

5. For Instances, Instance Arrays, and Vias (only), you can additionally find
their properties.
Choose the Properties tab:
a. In the first column, click to add a property.
b.

Enter the operator.


For example, to check to see if a parameter exists on an object, you can
use the =~ operator with a value of ".*".

c.

Enter the current property value you want to find in the Value column.

d. (Optional) In the New Value column, enter the replacement value if you
want this property value to be replaced.
Alternatively, you can enter <Delete> in this column to delete the found
property value and reset it to the default value.
Table 101 on page 323 lists operators for objects evaluated in property
searches.
Table 101 Search and Replace Operators for Properties
Name

Symbol

Finds design objects where the property value...

Equality

Is equal to the specified value

Pattern Match

=~

Matches the specified regular expression. The


pattern matching style is controlled by the
preference dbRegexp.

Pattern does not


match

!~

Does not match the specified regular


expression. The pattern matching style is
controlled by the preference dbRegexp.

Inequality

!=

Is not equal to the specified value

Less Than

<

Is less than the specified value

Greater Than

>

Value is greater than the specified value.

Less Than or
Equal

<=

Value is less than or equal to the specified


value.

Greater Than or
Equal

>=

Value is greater than or equal to the specified


value.

Galaxy Custom Designer Platform User Guide


J-2014.12

323

Chapter 12: Tools for Designing


Search and Replace Tool

Table 101 Search and Replace Operators for Properties


Name

Symbol

Finds design objects where the property value...

Value does not


have a local
override

isDefault

Value is the default value: returns true. Note


that this will return false if the effective value is
set by a local value, regardless of whether the
value matches the default.

Value does have a


local override

isNotDefault

Effective value is set by a local override: returns


true.

6. (Optional) Add replacement values while entering search criteria.


Alternatively, you can do this later while viewing search results.
7. Activate the search.

To search without making replacements, click the Search button.


(The Find Objects button on the toolbar also performs this operation.)

To search for, and automatically make replacements, using the criteria


you have set, on the toolbar click Find and replace all objects.

8. View process status on the Status bar (at the lower window edge).
(Optional) Halt the process, and retain results found up to this point, by
pressing Ctrl-c.
The tool expands the hierarchy, if necessary, to enable targeted viewing
within the search results.
Continue by Browsing Component Search Results with the Search and
Replace Tool on page 324.
See also
More about using the Search and Replace Tool on page 317

Browsing Component Search Results with the Search


and Replace Tool
Browse component search results to see OpenAccess objects that match your
search criteria within the specified scope.
Use the Search and Replace tool to browse component search results.

324

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Search and Replace Tool

To browse component search results:


1. If it is not now open, begin by Opening the Search and Replace Tool on
page 318.
2. Generate search results by Searching for Design Components with the
Search and Replace Tool on page 320.
3. In the Results Browser, choose from the available options to browse
through the search results.
Clicking an item in the results highlights the component on the canvas and,
in layouts, also applies the current Zoom to Fit setting. For schematics,
single-click items to highlight them, and double-click to apply the current
Zoom to Fit setting.
Table 102 on page 325 lists, and describes, options for browsing search
results. Table 103 on page 326 lists and describes options available when
you right-click an item in the search results.
Table 102 Search Results Browser Options
Options

Description

Zoom to Fit (check box)

Fills the viewport with the image of the selected item,


adjusted by the zoom level you specify

Prev

Highlights the previous item in the search results

Next

Highlights the next item in the search results, in the


order found from the designs top level (design root) to
the bottom.

Replace

Replaces existing values with new values for the


currently selected items. The system indicates
successful replacement by changing item listings to
italic type. For additional information, see Replacing
Component Aspects using Search Results with the
Search and Replace Tool on page 327.

Select All

Selects all items in the results. You can use this option
to select all objects for batch replacement of any
specified attribute values, properties, or parameters.

Delete

Deletes the selected object from the design

Galaxy Custom Designer Platform User Guide


J-2014.12

325

Chapter 12: Tools for Designing


Search and Replace Tool

Table 102 Search Results Browser Options


Options

Description

Clear

Removes the selected item or items from the search


results

From the Action menu,


choose Add to Selection

Adds all items in the search results to the selected set,


and shows the selection set on the canvas

Table 103 Search Results Pop-Up Menu Options


Options

Description

Right-click, and choose


Select

If all selected items are in the same design, selects


their design objects in the viewport

Right-click, and choose


Copy Text

Copies the text labels for selected items for later


pasting into a text file

Right-click, and choose Edit Opens the selected design object for editing in place
in Place
Right-click, and choose Fit

Fits the selected design object to the current viewport

Right-click, and choose


Descend

If all selected items are in the same design, descends


to their location in the hierarchy

See also
More about using the Search and Replace Tool on page 317

Refining Component Search Results in the Search and


Replace Tool
Refine component search results to find a subset of items within an existing set
of search results.
Use the Search and Replace tool to refine search results.
To refine search results:
1. Begin by Opening the Search and Replace Tool on page 318.

326

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Search and Replace Tool

2. Obtain search results by Searching for Design Components with the Search
and Replace Tool on page 320.
3. At the top of the tool window, adjust search criteria values for searching
within these results.
For example, you can refine a search you made previously for text labels on
LPPs (see Searching for Design Components with the Search and Replace
Tool on page 320) to now locate individual LPPs in the search results by
layout shape. To do this, change the search type to Layout Shapes, select
Any LPP from the list, and choose text as the Object Type.
4. On the toolbar, click the Refine Current Result button, or from the Action
menu, choose Refine Results.
The system performs a new search within the existing search results, and
lists a new set of results.
See also
More about using the Search and Replace Tool on page 317

Replacing Component Aspects using Search Results


with the Search and Replace Tool
You can replace attribute values, properties, and parameters. You can make
replacements while performing a search, or you can review the search results,
and then make replacements.
To replace component aspects using search results:
1. Begin by Opening the Search and Replace Tool on page 318.
2. Set up the search by Searching for Design Components with the Search and
Replace Tool on page 320.
3. In the Value column, review the values available for replacement.
4. In the New Value column, enter the replacement values.
5. Perform replacement operations:

To replace values for currently selected objects, click Replace.

To replace values as a batch operation for all items in this scope, click
Select All and then click Replace.

The system indicates successful replacement by changing item listings to


italic type.
Galaxy Custom Designer Platform User Guide
J-2014.12

327

Chapter 12: Tools for Designing


Search and Replace Tool

6. (Optional) Save all designs modified by a replacement operation (including


designs not currently shown) by choosing File > Save.
See also
More about using the Search and Replace Tool on page 317

Replacing Values within Search Results with the Search


and Replace Tool
You can enter multiple search criteria in each tab in order to specify what to
search, and then what to replace in the results of that search.
The example that follows illustrates this process.
Assume that you want to find all instances named n_4t from the library
reference90RF that have a w property greater than 2u. Then, within that group,
you want to replace any instance of the nf property with the number 4.
1. In the Instance Criteria tab, define the Library Name as reference90RF
and the Cell Name as n_4t.
2. In the Properties tab, define the Property Name as w.
3. Define the Operator as >= (greater than or equal to). (Table 101 on
page 323 lists operators for objects evaluated in property searches.)
4. Enter 2u for the Value.
5. Click row 2 to add another search criteria.
6. Define the Property Name as nf.
7. Define the Operator as =~.
8. Enter .* for the Value.
9. Enter 4 for the New Value.
10. Click Search.
11. In the Results Browser, review the list of found instances.
You can also replace the value of a property with its current value multiplied by
a constant.
The example that follows illustrates this process.

328

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Search and Replace Tool

Assume that you want to find all instances named p_4t from the library
reference90RF that have a w property less than or equal to 3u, then replace
that with the value multiplied by 4.
1. In the Instance Criteria tab, define the Library Name as reference90RF
and the Cell Name as p_4t.
2. In the Properties tab, define the Property Name as w.
3. Define the Operator as <=.
4. Enter 3u for the Value.
5. Enter 3*$w for the New Value.
6. Click Search.
7. In the Results Browser, review the list of found instances.
See also
More about using the Search and Replace Tool on page 317

Checking Whether a Property Exists on an Instance


with the Search and Replace Tool
You can use the Search and Replace tool to determine whether a property
exists on an instance.
The example that follows illustrates this process.
Assume that you have a design that contains instances with the model
property, and you want to find all the instances having that property.
1. In the Properties tab, define the Property Name as model.
2. Define the Operator as =~.
3. Use .* for the Value.
4. Click Search.
5. In the Results Browser, review the list of found instances.

Galaxy Custom Designer Platform User Guide


J-2014.12

329

Chapter 12: Tools for Designing


Search and Replace Tool

See also
More about using the Search and Replace Tool on page 317

Finding Instances with the Default Value of a Given


Property with the Search and Replace Tool
You can use the Search and Replace tool to find instances that have the given
property set at its default value.
The example that follows illustrates this process.
Assume that you have a design that contains instances with the wtot property,
and you want to find all the instances having the default value of that property.
1. In the Properties tab, define the Property Name as wtot.
2. Define the Operator as isDefault. (Alternatively, if you want to search for
instances having a non-default value of a given property, define the
Operator as isNotDefault.)
3. Click Search.
4. In the Results Browser, review the list of found instances.
See also
More about using the Search and Replace Tool on page 317

Replacing Scientific Notation with Equivalent Value


with the Search and Replace Tool
You can use the Search and Replace tool to replace regular expressions with
Perl-style substitution formats.
The grouping metacharacters () are supported, allowing for the extraction of the
parts of a string that match. For each grouping, the part that matches inside the
() goes into the special variables $1 , $2 , and so forth.
For example, the pattern "(\S+)Lib$" can be used to match "analogLib" or
"myLib". Using the substitution pattern "$1Lib2" would produce "analogLib2"
and "myLib2" respectively.
The example that follows illustrates this process.

330

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Search and Replace Tool

Assume that you have a design that contains instances with the w property, and
you want to find all the instances of that property having "u" at the end, and
replace that value with 10e - 6.
1. In the Properties tab, define the Property Name as w.
2. Define the Operator as =~.
3. Use (.+)u for the Value.
4. Use $1e-6 for the New Value.
5. Click Search.
6. In the Results Browser, review the list of found instances in which the value
has been replaced as specified.
See also
More about using the Search and Replace Tool on page 317

Finding Instances with a Specific Property Value with


the Search and Replace Tool
You can use the Search and Replace tool to find instances that have the given
property set at a specific value, or greater than or less than a specific value.
The example that follows illustrates this process.
Assume that you want to find all instances named n_4t from the library
reference90RF that have a w property greater than 1u.
1. In the Instance Criteria tab, define the Library Name as reference90RF
and the Cell Name as n_4t.
2. In the Properties tab, define the Property Name as w.
3. Define the Operator as >=. (Table 101 on page 323 lists operators for
objects evaluated in property searches.)
4. Use 1u for the Value.
5. Click Search.
6. In the Results Browser, review the list of found instances.

Galaxy Custom Designer Platform User Guide


J-2014.12

331

Chapter 12: Tools for Designing


Search and Replace Tool

See also
More about using the Search and Replace Tool on page 317

Finding Instances with a Property Not Equal to a


Specific Value with the Search and Replace Tool
You can use the Search and Replace tool to find instances with a property that
is not set at a specific value.
The example that follows illustrates this process.
Assume that you want to find all instances named n_4t from the library
reference90RF that have a w property not equal to 3u.
1. In the Instance Criteria tab, define the Library Name as reference90RF
and the Cell Name as n_4t.
2. In the Properties tab, define the Property Name as w.
3. Define the Operator as !=. (Table 101 on page 323 lists operators for
objects evaluated in property searches.)
4. Use 3u for the Value.
5. Click Search.
6. In the Results Browser, review the list of found instances.
See also
More about using the Search and Replace Tool on page 317

Finding Instances with a Property Value in a Given


Range with the Search and Replace Tool
You can use the Search and Replace tool to find instances that have the given
property within a range of values by defining more than one search criteria for
that property.
The example that follows illustrates this process.
Assume that you want to find all instances named n_4t from the library
reference90RF that have a w property between 0.5u and 3.5u.
1. In the Instance Criteria tab, define the Library Name as reference90RF
and the Cell Name as n_4t.
332

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Search and Replace Tool

2. In the Properties tab, define the Property Name as w.


3. Define the Operator as >=. (Table 101 on page 323 lists operators for
objects evaluated in property searches.)
4. Use 0.5u for the Value.
5. Click row 2 to add another search criteria.
6. Define the Property Name as w again.
7. Define the Operator as <=.
8. Use 3.5u for the Value.
9. Click Search.
10. In the Results Browser, review the list of found instances.
See also
More about using the Search and Replace Tool on page 317

Finding Text on Layer Shapes in Layouts with the


Search and Replace Tool
You can find text on layer shapes in layouts by searching for text display
(textDisplay) objects. This is useful when you have added text to pins in order to
identify the pins to integrated tools.
The example that follows illustrates this process.
Assume that you want to find text on any LPP whose layer name begins with
the letter m.
To do this, you use the search criteria that follows:
Directly enter m* into the LPP field instead of using the list box.

Match: Wildcard

Search Type: Layout Shapes

LPP: m*

Object Type: textDisplay

As a variation, you can find text on any LPP whose layer name begins with the
letter m, and whose purpose name begins with the letter p.
To do this, use the search criteria that follows:

Galaxy Custom Designer Platform User Guide


J-2014.12

333

Chapter 12: Tools for Designing


Search and Replace Tool

Directly enter m* p* into the LPP field instead of using the list box.

Match: Wildcard

Search Type: Layout Shapes

LPP: m* p*

Object Type: textDisplay

See also
More about using the Search and Replace Tool on page 317

Finding Via Vector Values with the Search and Replace


Tool
You can use the Search and Replace tool to find via vector values, and
additionally replace them with new values. An example illustrates this process.
The example that follows illustrates this process.
Assume that you want to search for an oaVia with a cutSpacing value of (0.2,
0.3) and replace it with a cutSpacing value of (0.4, 0.5). For a successful
search to find this two-value search entry, the search criteria notation must
include the parentheses.
When you use this process in practice, open the Property Editor to identify
values for input criteria.
To search for, and replace, an oaVia vector value:
1. (Optional) Open the design.
(You can perform search-and-replace operations with no design open.)
2. Open the Search and Replace tool.
See Opening the Search and Replace Tool on page 318.
3. Specify a search scope of Design.
4. Specify a search type of Vias.
5. On the Via Criteria tab, choose a via definition value of via12.
6. On the Properties tab, enter search criteria.
a. Enter the property name cutSpacing.
b.

334

Accept the default operator of ==.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Search and Replace Tool

c.

Enter a Value of (0.2, 0.3), including the parentheses.

d. Enter a New Value of (0.4, 0.5), including the parentheses.


7. Click Search.
8. In the Results Browser, select the via whose vector value you want to
replace. (If you searched for only one oaVia, this is the only via listed.)
9. Click Replace.
The tool replaces the cutSpacing value for this oaVia.
See also
More about using the Search and Replace Tool on page 317

Finding Vectored Instances with the Search and


Replace Tool
You can use the Search and Replace tool to find vectored instances.
The example that follows illustrates this process.
Assume that you have a design that contains instances with these names, and
you want to find various vectored instances within it:

R3

M17<0.4> (generic90RF/p_4t/symbol)

M18<0.4> (generic90RF/p_4t/symbol)

M27<0.4> (generic90RF/p_4t/symbol)

M34 (generic90RF/p_4t/symbol)

To search for vectored instances (example):


1. (Optional) Open the design.
(You can perform search-and-replace operations with no design open. To do
this, start by setting the design root to the design you want to search. See
Setting the Design Root for the Search and Replace Tool on page 319.)
2. Open the Search and Replace tool.
See Opening the Search and Replace Tool on page 318.

Galaxy Custom Designer Platform User Guide


J-2014.12

335

Chapter 12: Tools for Designing


Technology Manager Tool

3. Input search criteria as shown in Table 104 on page 336.


Table 104 Search and Replace Vectored Instances
Search to Find

Input

Returns

Match Type

Instance with
this name

R3

R3

Exact

Vectored
Instances

M.+<.+>

M17<0.4> (generic90RF/p_4t/symbol)

Regular
expression

M18<0.4> (generic90RF/p_4t/symbol)
M27<0.4> (generic90RF/p_4t/symbol)

Instances with
M and 7
separated by
any character

M*7

Instances
whose names
begin with M
followed by any
characters

M$

M17<0.4> (generic90RF/p_4t/symbol)

Wildcard

M27<0.4> (generic90RF/p_4t/symbol)

M17<0.4> (generic90RF/p_4t/symbol)
M18<0.4> (generic90RF/p_4t/symbol)
M27<0.4> (generic90RF/p_4t/symbol)

Single
Character
Wildcard

M34 (generic90RF/p_4t/symbol)

4. Click Search.
5. In the Results Browser, review the list of found instances.
See also
More about using the Search and Replace Tool on page 317

Technology Manager Tool


Manage technologies through the Custom Designer Technology Manager. Use
the Technology Manager to create design library access to the correct
technology database for the current design objective. The technology database
is located either inside the design library or referenced via inheritance through
another library that has the technology you want to use. If referenced, the
referenced library must exist first, otherwise, the technology is considered
unbound.

336

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Technology Manager Tool

These sections cover:

Opening the Technology Manager Tool on page 337

Considering Technology Management Options on page 337

Changing the Technology Referenced by a Design Library with the


Technology Manager on page 338

Importing Technology Data with the Technology Manager on page 339

Exporting Technology Data with the Technology Manager on page 340

Opening the Technology Manager Tool


Open the Technology Manager from the Console or from the Library Manager.

From the Console, choose Tools > Technology Manager.

From the Library Manager, choose Edit > Technology.

See next
More about using the Technology Manager Tool on page 336

Considering Technology Management Options


Consider your options given these possible situations:

If you have a technology file (without a techArray), you can create a library
that uses this technology. In this case, use the Library Manager to create the
library. Then use the Technology Manager to either compile the technology
file into it, or to reference another library with the technology you want to
use. Alternatively, you can attach the available default technology file. For all
technology options, use the Technology Manager. See Importing
Technology Data with the Technology Manager on page 339.

If you have a technology file that includes a techArray, the techArray defines
the required technology libraries to reference and these libraries need to
now exist. In this case, you can use the Technology Manager to import the
technology from the technology file. See Importing Technology Data with the
Technology Manager on page 339.

If you have a library, you can import technology into it. Additionally, if you
have manually edited a technology file, you can import it into a new or
existing library, creating a technology database for that library that matches

Galaxy Custom Designer Platform User Guide


J-2014.12

337

Chapter 12: Tools for Designing


Technology Manager Tool

the technology described in the file. Use the Technology Manager. See
Importing Technology Data with the Technology Manager on page 339.

From any library with attached technology data, you can export the
technology data for use in additional libraries or to edit for customizing. Use
the Technology Manager. See Exporting Technology Data with the
Technology Manager on page 340.

See also
More about using the Technology Manager Tool on page 336

Changing the Technology Referenced by a Design


Library with the Technology Manager
You can change the technology referenced by a library to use a different
technology for the library.
If the technology was compiled into the library, the referenced library name and
the design library name are shown as matching in the Technology Manager.
1. Begin by Opening the Technology Manager Tool on page 337.
2. In the Technology Manager, locate the design library by name, click the
technology library currently referenced, and choose a different library from
the list.
If a referenced library is read-only, the list does not appear.
Libraries whose referenced technology has been changed appear in italic
type. Libraries associated with incremental technology are identified by the
"(i)" notation after the reference name.
To reverse this operation, repeat Step 2, and choose the previously used
technology library.

338

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Technology Manager Tool

See also
More about using the Technology Manager Tool on page 336

Importing Technology Data with the Technology


Manager
You can import technology data to add a technology database where one did
not exist before, or to overwrite or merge imported data by compiling it into an
existing technology database.
To import technology data:
1. Begin by Opening the Technology Manager Tool on page 337.
2. In the Technology Manager, choose File > Import.
3. Browse to find the technology file whose technology you want to import.
4. Choose the import mode:
To combine the technology described in the file you are importing with the
technology currently defined for this library, choose Merge. Upon
completion, the system compares the two sources, and reports any conflicts
in the Console output pane.
To replace the currently defined technology for this library (effectively
purging the librarys technology) with the technology in the file you are
importing, choose Overwrite.
5. Click OK.
Libraries with names in bold letters signify those with changed technologies.
You can choose File > Revert to reverse any import operation not yet saved.
This enables you to change technologies for this session only.
6. Click Save to save the imported technology file to disk.

Galaxy Custom Designer Platform User Guide


J-2014.12

339

Chapter 12: Tools for Designing


Text Viewer Tool

See also
More about using the Technology Manager Tool on page 336

Exporting Technology Data with the Technology


Manager
You can export technology data to transfer the data from a library to an existing
or new technology file. You can use this process to back up your technology
database or to give someone else a copy of the technology you use. You can
also use this process when you want to manually edit the technology file for
customizing.
1. Begin by Opening the Technology Manager Tool on page 337.
2. In the Technology Manager, choose File > Export.
3. From the Library list, choose the library name.
4. Enter a technology file name or browse to find the technology file to receive
the exported technology.
5. To limit the data exported from the library to newly created, incremental
technology data, click the Local option. (Note: Not choosing this option
writes all technology from the library to the file.)
6. Click OK.
See also
More about using the Technology Manager Tool on page 336

Text Viewer Tool


The Text Viewer design tool displays, and dynamically updates text output for
all currently running job processes from the platform. (If you are looking for
information about text views of designs, and not text views of job processes,
see instead HDL Text Editor on page 363.)
These sections cover:

340

Opening the Text Viewer on page 341

Viewing Job Process Text with the Text Viewer on page 341

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Text Viewer Tool

Opening the Text Viewer


The Text Viewer opens automatically for many processes. You can also open
the Text Viewer any time you want to view process output that generates text,
such as log files, and other text files.

To open the Text Viewer from the Console, execute the Tcl command
xt::openTextViewer at the command input line.

To open the Text Viewer to view the output files of a running job, open the
Job Monitor, select the job, and then choose Job > View Output.

See also
More about using the Text Viewer Tool on page 340

Viewing Job Process Text with the Text Viewer


You can view text output for all job processes with the Text Viewer.
If it is not already open, begin by Opening the Text Viewer on page 341.
In the Text Viewer, choose an option:

To view different files currently opened in the text viewer, choose between
the tabs by name.

To open a text file for viewing, choose File > Open, and browse to choose
a file.

To scroll to the end of a file, use the keyboard end key.

To save a text file with a different name, open it, and then choose Save > As.

To enable searching, choose Edit > Find, and enter text and search options
at the bottom of the window.

To switch off the polling function, choose View > Poll.


By default, the tool polls for new processes generating text output, and
dynamically updates the text as it outputs.

To view Console command output in the Text Viewer, you can generate the
output, and redirect it.
For example, this statement redirects a Console Help request for
gi::createBinding help to a file, and opens it in the Text Viewer:
xt::openTextViewer -text [gi::createBinding -help]

Galaxy Custom Designer Platform User Guide


J-2014.12

341

Chapter 12: Tools for Designing


Track Pattern Assistant

From here, you can save the output as a file.

To close the Text Viewer, choose File > Close.

See also
More about using the Text Viewer Tool on page 340

Track Pattern Assistant


You can use the Track Pattern Assistant to enable correct-by-construction
layout design for advanced process nodes. Using track patterns can reduce
design time.
When you design with track patterns active, mouse movements snap the
canvas pointer to the nearest track during create, copy, move, and stretch
operations.
You need to define track patterns before you can use the Track Pattern
Assistant to apply them. A track pattern definition is a set of horizontal or
vertical tracks that indicate available routing resources, that is, both the
positions and the number of routing tracks.
To define track patterns for your designs, you can use any one of three
methods:

Use the Track Pattern Assistant.


See Creating and Editing Definitions with the Track Pattern Assistant on
page 347.

Add track pattern definitions directly to the technology file.


See the section about trackPatternDefs in the Custom Designer
Technology and Display Resource File Reference Manual.
To import an updated technology file after adding track pattern definitions,
see Importing Technology Data with the Technology Manager on page 339.
Contact your Synopsys Support representative for additional assistance.

Use Tcl to add track pattern definitions.


See the section covering the le::createTrackPatternDef command
in the Custom Designer Tcl Reference Manual.
Contact your Synopsys Support representative for additional assistance.

342

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Track Pattern Assistant

These sections cover:

Opening the Track Pattern Assistant on page 343

Viewing Track Patterns with the Track Pattern Assistant on page 343

Creating and Editing Track Patterns with the Track Pattern Assistant on
page 344

Copying Track Patterns with the Track Pattern Assistant on page 346

Renaming and Deleting Track Patterns with the Track Pattern Assistant on
page 346

Creating and Editing Definitions with the Track Pattern Assistant on


page 347

Assigning New Definitions with the Track Pattern Assistant on page 349

Opening the Track Pattern Assistant


Open the Track Pattern Assistant to work with track pattern grids of horizontal
or vertical tracks that indicate available routing resources.
To open the Track Pattern Assistant:

From a design layout, choose Window > Assistants > Track Pattern
Assistant.

The assistant docks along the window edge. Un-dock it by clicking and
dragging it.
See also
More about using the Track Pattern Assistant on page 342

Viewing Track Patterns with the Track Pattern Assistant


You can view track patterns that are set up and defined for your designs. You
can set them to be visible or invisible, and active or inactive, either individually
or all at once.
To view track patterns:
1. In a design layout, begin by Opening the Track Pattern Assistant on
page 343.

Galaxy Custom Designer Platform User Guide


J-2014.12

343

Chapter 12: Tools for Designing


Track Pattern Assistant

The Track Pattern Assistant shows a list of track patterns for the current
design, in alphabetical order by associated layer name, preferred sub-node
direction (vertical or horizontal), visibility, and active state. If a layer does not
have an associated track pattern, the system does not list the layer.
2. Choose viewing options:

Use the Filter box to enter unique characters and limit the list of track
patterns shown in the list.

To set individual track patterns to be visible or invisible and active or


inactive, in the list of track patterns, use the Visibility and Activity
columns:
Alternatively, you can right-click the track pattern name and choose from
the menu.

To set all track patterns in the list to be visible or invisible, use these two
toolbar buttons:

To set all track patterns in the list to be active or inactive, use these two
toolbar buttons:

To switch the sorting order from layer (default) to alphanumeric, from the
toolbar menu, choose Sort > Alphanumeric.
Choosing Sort > Layer Number switches back to the default.

To remove the Filter box from view, from the toolbar menu, toggle Show
Filter.

To show the list of non-preferred tracks, from the toolbar menu, choose
Show Non-Preferred Tracks.

See also
More about using the Track Pattern Assistant on page 342

Creating and Editing Track Patterns with the Track


Pattern Assistant
You can create new track patterns and you can edit existing ones.
To create and edit track patterns:
1. Begin by Opening the Track Pattern Assistant on page 343.

344

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Track Pattern Assistant

2. Choose an option:

For a new track pattern, from the assistants toolbar menu, choose New.

For an existing track pattern, select it in the list, right-click, and choose
Edit.

3. Enter or adjust settings for the track pattern.


Table 105 on page 345 lists and describes track pattern settings.
Table 105 Track Pattern Settings (New or Edit)
Setting

Description

Name

Name to assign to this track pattern. No


spaces are allowed.

Definition

Applies the track pattern definition you


choose from the list box.

Track Attributes

Offset

Overrides the applied track pattern


definition with a new offset from origin you
enter here.

Block Pitch

Overrides the applied track pattern


definition with a new block pitch you enter
here.

Visible

Makes this track pattern visible by default.

Active

Makes this track pattern active by default.

Bbox

Bounding box within which you want the


tool to create tracks, generated by the
coordinate set you define when you click
the button and draw the box area.

4. (Optional) If you want to edit an existing track pattern definition as you create
or edit the track pattern, see Table 106 on page 347.
5. Click OK.
If you created a new track pattern, to view it, locate the layer you assigned
it to in the Track Pattern list and expand the tree view for this layer.

Galaxy Custom Designer Platform User Guide


J-2014.12

345

Chapter 12: Tools for Designing


Track Pattern Assistant

See also
More about using the Track Pattern Assistant on page 342

Copying Track Patterns with the Track Pattern Assistant


You can copy existing track patterns to add to the number of track patterns
available for use.
To copy track patterns:
1. Begin by Opening the Track Pattern Assistant on page 343.
2. From the list of track patterns, select one by name.
3. Right-click and choose Copy.
4. In the Copy Track Pattern dialog box, enter a name for the new copy.
5. (Optional) Adjust settings.
Table 105 on page 345 lists track pattern settings you can adjust.
Table 106 on page 347 lists track pattern definition settings you can adjust
if you want to change the currently associated track pattern definition.
See also
More about using the Track Pattern Assistant on page 342

Renaming and Deleting Track Patterns with the Track


Pattern Assistant
You can rename existing track patterns. You can also delete track patterns from
the set available for this design.
To rename or delete track patterns:
1. Begin by Opening the Track Pattern Assistant on page 343.
2. From the list of track patterns, select one by name.
3. Right-click and choose an option:

346

To rename the track pattern, choose Rename and enter a new name
here.

To delete the track pattern, choose Delete.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Track Pattern Assistant

Choosing Edit > Undo reverses either of these operations.


See also
More about using the Track Pattern Assistant on page 342

Creating and Editing Definitions with the Track Pattern


Assistant
You can create a new track pattern definition as you create track a pattern.
Alternatively, you can create a definition independently. You can also edit
existing track pattern definitions.
To create and edit track pattern definitions:
1. Begin by Opening the Track Pattern Assistant on page 343.
2. Choose an option:

To create a new definition as you are creating a track pattern, enter


settings for the track pattern and then click New in the New Track
Pattern dialog box. To enter settings for a new track pattern, see
Creating and Editing Track Patterns with the Track Pattern Assistant on
page 344.

To create a new definition independently, with no track pattern selected,


from the assistants toolbar menu, choose New, and then click New in
the New Track Pattern dialog box.

To edit a definition assigned to an existing track pattern, select the track


pattern in the list, right-click and choose Edit. In the Edit Track Pattern
dialog box, you can alternatively choose a different definition to edit by
choosing one from the Definition list box.

3. Enter or adjust settings.


Table 106 on page 347 lists and describes settings for creating and editing
track pattern definitions.
Table 106 Track Pattern Definition Settings (New or Edit)
Setting

Type

Track Pattern Definition

Default

Galaxy Custom Designer Platform User Guide


J-2014.12

These tracks have no width requirements.


Wires of any width can route on them, with
the wider wires consuming (or blocking) the
more available area.

347

Chapter 12: Tools for Designing


Track Pattern Assistant

Table 106 Track Pattern Definition Settings (New or Edit)


Setting

Reserved

These tracks have a width parameter.


When the preference
leReservedTrackWidthCheck is set to
false, the track operates like a default track,
and any wire can route on it. The system
does not force the wire's width to match the
track. When the preference is set to true,
only wires with non-default-rule nets can
route on them and the wires must match
the width of the reserved track.

Non-Reserved

These tracks have a width parameter, and


any wires that route on them are forced to
comply with the width of the track.

Width

Width of the track path, in microns.

Layer

Associated layer for this definition.

Purpose

Associated purpose for this definition.

Tracks

Number of tracks in the pattern.

Track Pitch

Pitch distance between tracks.

Offset

Offset of pattern from origin.

Block Pitch

Pitch distance between the first track of a


block and the first track of the next block.

Orientation

Visible

348

Track Pattern Definition

Horizontal

For horizontal tracks, choose this


orientation.

Vertical

For vertical tracks, choose this orientation.


Sets the track pattern to be visible, or not,
by default.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Transaction History Assistant

Table 106 Track Pattern Definition Settings (New or Edit)


Setting

Track Pattern Definition

Active

Sets the track pattern to be active, or not,


by default; for an active track pattern,
mouse movements snap to the track during
create, copy, move, and stretch operations.

4. Click OK.
See also
More about using the Track Pattern Assistant on page 342

Assigning New Definitions with the Track Pattern


Assistant
You can assign a new definition to a track pattern by choosing it from the list of
available definitions.
To assign a new track pattern definition:
1. Begin by Opening the Track Pattern Assistant on page 343.
2. In the list, select the track pattern by name.
3. Right-click and choose Edit.
4. In the Edit Track Pattern dialog box, from the Definition list box, choose a
new definition to assign.
5. Click OK.
See also
More about using the Track Pattern Assistant on page 342

Transaction History Assistant


Use the Transaction History assistant to track each command operation
committed to the database, list all committed operations in a history sequence,
and return the design to the resulting state of any operation in the sequence for
this session.
Galaxy Custom Designer Platform User Guide
J-2014.12

349

Chapter 12: Tools for Designing


Transaction History Assistant

This assistant can save up to 128 transactions per design. It adds new
transactions while releasing the oldest ones.
During an edit-in-place context, the Transaction History assistant displays the
undo stack of the design being edited-in-place.
These sections cover:

Opening the Transaction History Assistant on page 350

Using the Transaction History List on page 351

Opening the Transaction History Assistant


Open the Transaction History assistant to start a transaction history list.
To open the Transaction History assistant:

In any layout, schematic, or symbol view, choose Window > Assistants >
Transaction History.
The assistant docks along the window edge. Un-dock it by clicking, and
dragging it.

The next committed command operation begins the transaction history


sequence, listing a descriptive name for each operation recorded. New
transactions appear at the top.
If you are using scripts, transactions involving direct calls to the OpenAccess
Tcl API are marked with the title "unnamed".
Only operations that change data are recorded as transactions. The process of
saving is transparent; saving records no transaction. (The save operation
changes the on-disk data, but not the in-memory data.)
You can use this list to return the design to any previously committed state in
this design session.
Continue by Using the Transaction History List on page 351.

350

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 12: Tools for Designing


Transaction History Assistant

See also
More about using the Transaction History Assistant on page 349

Using the Transaction History List


Use the transaction history list to track the sequence of design operations and
control the state of the design.
Begin by Opening the Transaction History Assistant on page 350.
Table 107 on page 351 lists, and describes, Transaction History assistant
operations.
Table 107 Transaction History Operations
To:

Perform this action:

Undo a command operation

Press u. This undoes the transaction.

Redo a command operation

Press Shift-u. This re-executes the


transaction. You can use the redo operation
to step forward through a transaction
history sequence one command at a time.

Return to a preceding state

Select the transaction after it

Jump to a later state

Select a later transaction

Take design development in a new


direction from any state

Jump to that state, and then execute new


commands. (The system erases all
succeeding transactions from the previous
history list. Act carefully.)

Save a version of the design that


matches a state

Return to the state. Then save the design.

See also
More about using the Transaction History Assistant on page 349

Galaxy Custom Designer Platform User Guide


J-2014.12

351

Chapter 12: Tools for Designing


Transaction History Assistant

352

Galaxy Custom Designer Platform User Guide


J-2014.12

13
Hierarchy Configurations

13

Work with hierarchy configurations to control the number of instances edited at


one time. Use the Hierarchy Editor to design with hierarchy configurations.

You can create hierarchy configurations (config views) to work with a subset of
selected instances in a design schematic. Hierarchy configurations limit the
view depth. This controls the extent of the design the system evaluates in
analysis operations. The Hierarchy Editor defines, manages, and maintains
configuration views.
These sections cover:

Opening the Hierarchy Editor on page 353

Editing Hierarchy Configurations with the Hierarchy Editor on page 354

Controlling Viewed Information in the Hierarchy Editor on page 358

Creating Hierarchy Configurations with the Hierarchy Editor on page 359

Opening the Hierarchy Editor


Open the Hierarchy Editor to work with hierarchy configuration (config) views.
The config cellView determines the switched master for each placed instance
in a design. A switched master uses rules to control which instance view
netlisters, and other tools, use in the design they process.
The config cellView also stores a reference to the root cellView of the hierarchy,
and all additional the rules necessary to traverse (or bind) the design.
To open the Hierarchy Editor:

Open the config view of a schematic, and choose Tools > Hierarchy Editor.

Galaxy Custom Designer Platform User Guide


J-2014.12

353

Chapter 13: Hierarchy Configurations


Editing Hierarchy Configurations with the Hierarchy Editor

See also
More about Hierarchy Configurations on page 353

Editing Hierarchy Configurations with the Hierarchy


Editor
Edit hierarchy configuration by working with config views.
These sections cover:

Undoing and Redoing Configuration View Modifications on page 354

Explaining Found Hierarchy Views on page 355

Importing Attributes from Existing Configuration Views on page 355

Specifying a Template for a Hierarchy Configuration View on page 356

Using Hierarchy View Name Groups on page 356

Undoing and Redoing Configuration View


Modifications
Undo or redo config modifications to reverse or re-activate changes. (To
reverse or re-activate general session operations, use the Transaction History
Assistant on page 349.)
Begin by Opening the Hierarchy Editor on page 353.

354

To undo the last config modification, in the Hierarchy Editor choose Edit >
Undo.

To redo the last config modification, in the Hierarchy Editor choose Edit >
Redo.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 13: Hierarchy Configurations


Editing Hierarchy Configurations with the Hierarchy Editor

See also
More about Hierarchy Configurations on page 353

Explaining Found Hierarchy Views


Explain found views to learn the rule that determines how a view is found for
this configuration.
1. Begin by Opening the Hierarchy Editor on page 353.
2. To explain the view found for a cellview or instance, position the cursor in the
View Found column, right-click the mouse, and choose Explain from the
menu.
You can alternately select the cell or instance first, and then choose Edit >
Explain.
See also
More about Hierarchy Configurations on page 353

Importing Attributes from Existing Configuration Views


Import attributes from existing config views to easily supply them to a current
config view. You can import the top library/cell/view combination, stop lists,
global view search lists, open view lists, view name groups, and selection rules.
1. Begin by Opening the Hierarchy Editor on page 353.
2. In the Hierarchy Editor, choose Edit > Import.
3. Specify the source config cellView.
4. Check mark the attributes to import.
5. Click Import.

Galaxy Custom Designer Platform User Guide


J-2014.12

355

Chapter 13: Hierarchy Configurations


Editing Hierarchy Configurations with the Hierarchy Editor

See also
More about Hierarchy Configurations on page 353

Specifying a Template for a Hierarchy Configuration


View
Specify a template for a config view to set the view search and view stop list for
the current configuration from predefined settings associated with a tool.
1. Begin by Opening the Hierarchy Editor on page 353.
2. In the Hierarchy Editor, choose Edit > Use Template, and select a simulator
by name.
See also
More about Hierarchy Configurations on page 353

Using Hierarchy View Name Groups


View Name Groups define aliases for commonly used lists of View Names. For
example, you can group the view name list VERILOG VLG VLG2 VHDL into a
group named DIGHDL. View name groups are referenced by pre-pending a
percent character (%) before the View Name Group.
You can add, edit, (or delete) view name groups to change view name groups
associated with a config view.
To use hierarchy view name groups:
1. Begin by Opening the Hierarchy Editor on page 353.
2. In the Hierarchy Editor, choose Edit > View Name Groups.
3. Choose an option:
To add a new group, in the dialog add an empty row (if necessary) by rightclicking the mouse, and choosing Add from the menu. In the group name
column, enter the name of the group. In the view list column, specify the view
search list.
To edit a name or view list, select the corresponding field, and edit.
To delete a name group, select the row, and choose Delete.

356

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 13: Hierarchy Configurations


Editing Hierarchy Configurations with the Hierarchy Editor

The system validates all changes and, for invalid edits, reports errors.
4. Click OK.
See also
More about Hierarchy Configurations on page 353

Setting Hierarchy Editor Options


Set Hierarchy Editor options to control which information you can view in the
Hierarchy Editor. Setting options here makes them available for selection
through the Hierarchy Editor View menu.
1. Begin by Opening the Hierarchy Editor on page 353.
2. In the Hierarchy Editor, choose Edit > Options.
3. Set options as described in Table 108 on page 357.
Table 108 Hierarchy Editor Options
Option

Description

Front Page Options

Show Top Cell View


Show Global View Search List
Show Global View Stop List
Show Library Search List

Refresh

Automatically Refresh on Design Changes


Automatically Refresh on Config Changes

View Columns

Show Bound Column


Show Selected Column
Show View Search List Column

4. Click OK.

Galaxy Custom Designer Platform User Guide


J-2014.12

357

Chapter 13: Hierarchy Configurations


Controlling Viewed Information in the Hierarchy Editor

See also
More about Hierarchy Configurations on page 353

Controlling Viewed Information in the Hierarchy Editor


Control viewed information to work more easily with a configuration.
These sections cover:

Synchronizing Design and Hierarchy Data on page 358

Showing Hierarchy View Search and Stop Lists on page 358

Showing Hierarchy Tree or Cell Views on page 359

See also
More about Hierarchy Configurations on page 353

Synchronizing Design and Hierarchy Data


Synchronize data by refreshing the design on demand or automatically, or by
refreshing the config view automatically.
Begin by Opening the Hierarchy Editor on page 353.

To synchronize the config view with the design on demand, choose View >
Refresh in the Hierarchy Editor.

To update the visible tree or cell hierarchy after each design change, choose
View > Auto Refresh Design in the Hierarchy Editor.

To update the visible tree or cell hierarchy after each config change, choose
View > Auto Refresh Config in the Hierarchy Editor.

See also
More about Hierarchy Configurations on page 353

Showing Hierarchy View Search and Stop Lists


Show hierarchy search and stop lists in the Hierarchy Editor.
1. Begin by Opening the Hierarchy Editor on page 353.

358

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 13: Hierarchy Configurations


Creating Hierarchy Configurations with the Hierarchy Editor

2. Specify the information to show.

Show, and adjust the top cellView displayed, by choosing View > Top
Cell View.

Show the search and stop lists by choosing View > Global View
Search List, and View > Global View Stop List.

Show the library search list (useful for schematic driven layout design)
by choosing View > Global Library Search List.

See also
More about Hierarchy Configurations on page 353

Showing Hierarchy Tree or Cell Views


In the Hierarchy Editor, you can show the tree or cell view of a design.
To show the tree or cell view:
1. Begin by Opening the Hierarchy Editor on page 353.
2. In the Hierarchy Editor, choose a view:

Choosing View > Tree lists the complete hierarchical instance tree.
Instance rules apply here.

Choosing View > Cell lists each cellView in the design. Cell-based rules
apply here.

See also
More about Hierarchy Configurations on page 353

Creating Hierarchy Configurations with the Hierarchy


Editor
Create hierarchy configurations by creating config cellViews. Through a config
view, you can explore the design, set proper views for netlisters, and edit the
design with concurrent visibility into the associated hierarchy.
Create config views from the source of your choice:

Creating Configuration Views from an Existing Design on page 360

Creating Configuration Views as New CellViews on page 361

Galaxy Custom Designer Platform User Guide


J-2014.12

359

Chapter 13: Hierarchy Configurations


Creating Hierarchy Configurations with the Hierarchy Editor

Creating Configuration Views from an Existing Design


Create a config view from an existing design to use this library, cell, and view
combination as the switched master.
1. Begin by opening the design. (See Opening Designs on page 83).
2. Open the Hierarchy Editor: Choose Tools > Hierarchy Editor.
3. (Optional) Supply a template by choosing Edit > Use Template, and
selecting a tool name.
Templates are available for HPSICE, HSIM, NanoSim, Verilog, and XA tools.
Supplying a template populates the design cell list and view search and stop
lists.
4. Confirm the top cellView or choose a new design.
5. (Optional) If you did not supply a template, define the View Search List by
entering view names.
A view search list is an ordered list of view names that determines the
switched master.
The views found are governed by the search list rules you are defining. If a
cell does not contain any of the views listed in the view search list, and view
selection is not set, the view found is listed as unbound in red text.
After the View Search List is added, the configuration for the top cellview will
be created.
To view the hierarchy, and see the view found for each instance, expand the
root of the tree.
6. (Optional) For an explanation of the rule governing a view found, choose
Edit > Explain (or right-click > Explain).
7. (Optional) If you did not supply a template, define a View Stop List by
entering names of views to define the lowest descent level for that leaf.
Alternatively, allow the tool to determine stop levels where it encounters
views holding no instances.
8. Choose File > Save.

360

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 13: Hierarchy Configurations


Creating Hierarchy Configurations with the Hierarchy Editor

See also
More about Hierarchy Configurations on page 353

Creating Configuration Views as New CellViews


Create a config view from a new cellView to define the switched master as you
create the cellView.
1. Open the Library Manager: Tools > Library Manager.
2. Create the cellView: File > New > CellView.
3. Select the library, cell, and the Hierarchy Editor.
4. Choose the view name config or enter a different name.
5. Click OK.
The hierarchy is populated from the root cellView. (After you open the
Hierarchy Editor, and define the view search and view stop lists, the
hierarchy expands to display the tree corresponding to the top level of the
design.)
6. Choose File > Save.
See also
More about Hierarchy Configurations on page 353

Galaxy Custom Designer Platform User Guide


J-2014.12

361

Chapter 13: Hierarchy Configurations


Creating Hierarchy Configurations with the Hierarchy Editor

362

Galaxy Custom Designer Platform User Guide


J-2014.12

14
14

HDL Text Editor

You can work with a designs HDL (hardware description language) format when
you do not need to use the canvas by using the Text Editor.

Edit a designs HDL format by using the Text Editor.


You can use the Text Editor to view, edit, and perform basic syntactic checks on
designs represented as text. This includes designs expressed as SPICE, CDL,
VHDL, Verilog, and Verilog-A modules. You can find more information about
Verilog-A cells in the Verilog-A Language Reference Manual. Find this manual
on the internet.
You can use the Text Editor to edit netlists and other text-based views while
utilizing a synchronized OpenAccess netlist design database known as shadow
OA.
This chapter covers:

Creating an HDL Text Editor View on page 363

Opening an HDL Text Editor View on page 364

Setting HDL Text Editor View Design Options on page 364

Editing HDL Text Editor Views on page 367

Creating an HDL Text Editor View


Create a Text Editor view when you want to work with the logical view of a
design. You can import the textual netlist of a design, such as a Verilog, VerilogA, or Verilog-AMS netlist, for use as a text view.

Galaxy Custom Designer Platform User Guide


J-2014.12

363

Chapter 14: HDL Text Editor


Opening an HDL Text Editor View

To create a text view, use one of the following methods:

From the Library Manager, create the new cellView, and choose an
associated Text Editor from the list.
See Creating Designs on page 82.

From a symbol view, create a cellView from cellView.

Use the Tcl command db::importText.

See also
Opening an HDL Text Editor View on page 364
More about HDL Text Editor on page 363

Opening an HDL Text Editor View


Open a Text Editor view to display formatted netlist text describing the design
intent.
To open a text view:

Open the design cellView, and specify the view associated with the Text
Editor, either SPICE, CDL, VHDL, Verilog, Verilog-A, or Verilog-AMS.
To open a design, see Opening Designs on page 83.

The Text Editor canvas displays the textual netlist using text packets for specific
language elements. Each text packet is configurable. In addition, each
language element can be bound to a command or action. For example, when
the cursor is over an instance name, you can double-click or use the 'p' bindkey
to invoke the teDescend action. This causes the current edit design to change
to the switched master of that instance.
See also
Setting HDL Text Editor View Design Options on page 364
More about HDL Text Editor on page 363

Setting HDL Text Editor View Design Options


View and set Text Editor options for current design/view.

364

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 14: HDL Text Editor


Setting HDL Text Editor View Design Options

To set text view design options:


1. Begin by Opening an HDL Text Editor View on page 364.
2. Choose Options > Design. The Text Design Options dialog box opens
(Figure 24).

Figure 24

Text Design Options Dialog

3. In the Text Design Options dialog box, specify Text Design Options.

Galaxy Custom Designer Platform User Guide


J-2014.12

365

Chapter 14: HDL Text Editor


Setting HDL Text Editor View Design Options

Table 109 on page 366 lists the Text Design options.


Table 109 Text Design Options
Option

Description

Instance
BIndings

Library Search List is the space-separated list of library names


to search when determining a master for a netlist instance. The
keyword %PLACED uses the current library name.
View Search List is the space-separated list of view names to
use when searching for a master for a netlist instance.
Interface Only (not supported for VHDL) extracts only the
interface of the current text view. This is useful for improving
performance for very large designs, which are typically
extracted.

Device Mapping

File Path specifies the path to the device mapping file. (For
SPICE/CDL.)

Hierarchy

View Switch List specifies the views to be considered and order


that will be used when descending into a cell. In order for a view
to be considered it must exist in the view search list.
Note that applications such as HED (configs), SAE, and SDL
ignore this list because they have their own view lists.

Cross Check
Views (when
check marked)

View List specifies views to use when running cross-view


checks with text views.

Severity

Warning shows cross-check violations as warnings.

Case Insensitive ignores case differences when comparing


objects, such as terminal names, between views.

Error shows cross-check violations as errors.

See also
Editing HDL Text Editor Views on page 367
More about HDL Text Editor on page 363
More about HDL Text Editor on page 363
te::showDesignOptions

366

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 14: HDL Text Editor


Editing HDL Text Editor Views

Editing HDL Text Editor Views


Edit a Text Editor view to operate on the design as represented in text format.
To edit a text view:
1. Begin by Opening an HDL Text Editor View on page 364.
Opening a text view opens the Text Editor in non-editing mode.
To open this view in an external text editing tool, use the teEditExternal
preference on startup.
2. In the standard toolbar, click the Edit Text button

Color-coding disappears while in edit mode. (During editing, the system


does not parse the text to determine the object types.)
3. Using keyboard short-cuts, edit the text to make changes. (For example, you
can use Ctrl-x to cut text, Ctrl-c to copy, Ctrl-v to paste, and Ctrl-a to select
all.) All editing operations are logged.
4. (Optional) After editing, validate the syntax changes by clicking the Check
Syntax button

in the Text Editor toolbar.

If any errors are found, the Marker Browser opens and lists all found errors
in their hierarchy locations.
See the Marker Browser Assistant on page 286.
5. (Optional) You can perform a cross-view check by clicking the Cross View
Check button

Cross-view checking compares the current text view with the list of views
specified with Text Editor design options.
See the console for the completion message, and any violations.
6. Return to non-editing mode by clicking the Edit Text button

See also
More about HDL Text Editor on page 363

Galaxy Custom Designer Platform User Guide


J-2014.12

367

Chapter 14: HDL Text Editor


Editing HDL Text Editor Views

368

Galaxy Custom Designer Platform User Guide


J-2014.12

15
15

Netlist Format Designs

You can work with netlist design representations when you do not need to use
the canvas.

Use the Netlist Editor to work with a design in netlist format.


This editor shows the logical components of a design in a non-graphical
representation. For example, you can use the verilog2oa utility to import a
design to the Custom Designer platform, and then use the Netlist Editor to view
the designs instances, terminals, and nets. You can also use this editor to
cross-check the netlist with other views.
This chapter covers:

Opening Netlist Views on page 369

Setting Netlist Editor Design Options on page 370

Working with a Netlist View on page 371

Opening Netlist Views


Open a netlist view to see the instances, terminals, and nets contained in a
designs non-graphical representation.

Galaxy Custom Designer Platform User Guide


J-2014.12

369

Chapter 15: Netlist Format Designs


Setting Netlist Editor Design Options

To open a design netlist view:

Open the design, and specify the netlist view.


The netlist view is associated with the NE - netlist editor.
To open a design, see Opening Designs on page 83.

See also
Setting Netlist Editor Design Options on page 370
More about Netlist Format Designs on page 369

Setting Netlist Editor Design Options


Set Netlist Editor design options to select the view search list for hierarchical
navigation of the design, and to set options for cross-checking the netlist view
against other views of the cell.
To set netlist editor design options:
1. Begin by Opening Netlist Views on page 369.
2. Choose Options > Design.
3. In the dialog box that opens, specify Netlist Editor Design Options as
described in the table that follows.
4. Click OK.
Table 110 on page 370 lists Netlist Editor design options.
Table 110 Netlist Editor Design Options
Option

Description

Hierarchy

View Switch List specifies the list of top level views you want to
switch into

Cross Check
Views (when
check marked)

View List specifies these views for cross checking comparison


with netlist views

Severity

Warning shows cross check violations as warnings

Case Insensitive ignores case differences when comparing


objects, such as terminal names, between views

Error shows cross check violations as errors

370

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 15: Netlist Format Designs


Working with a Netlist View

See also
Working with a Netlist View on page 371
More about Netlist Format Designs on page 369

Working with a Netlist View


Work with the netlist view of a design to visually check the logical components
at the top logic level, to navigate to switched views, and to perform on-demand
cross view checks between netlist view, and other views for the cell.
To work with a netlist view:
1. Begin by Opening Netlist Views on page 369.
Opening the netlist view of a design opens the Netlist Editor, and shows the
design logic in three columns listing instances, terminals, and nets.
2. Evaluate the schematic logic through the netlist view:

To open an instance, double-click it by name.


Navigation uses the view switch list set through Netlist Editor Design
Options.

To navigate, click the Hierarchy Navigator buttons in the toolbar.


(For navigation details, see Hierarchy Navigator Assistant on
page 245.)

To work with properties for a selected instance, click the Property Editor
button in the toolbar.
(For property editing details, see the Property Editor Assistant on
page 311.)

To perform a cross view check between the current netlist view, and the
list of views specified as Netlist Editor design options, click the Cross
View Check button.
If any errors are found, the Marker Browser opens, and lists the first
found error in its hierarchy location.
See the Marker Browser Assistant on page 286.

See also
More about Netlist Format Designs on page 369

Galaxy Custom Designer Platform User Guide


J-2014.12

371

Chapter 15: Netlist Format Designs


Working with a Netlist View

372

Galaxy Custom Designer Platform User Guide


J-2014.12

16
16

Custom Windows and Workspaces

You can create a custom environment by configuring custom windows, defining


workspaces, and adding custom dialog boxes to accept user input.

This chapter covers:

Configuring Custom Windows on page 373

Defining Custom Workspaces on page 378

Configuring Custom Windows


Configure custom windows to create an environment with preferred menu and
toolbar options for a specific type of designing.
You can rearrange, add, and delete menus, and individual menu entries, in a
custom window. You can rearrange and delete toolbars. For improved visual
separation of menu entries, you can add separator lines.
For all custom window tasks, begin by Starting to Configure Custom Windows
on page 374
These sections cover:

Starting to Configure Custom Windows on page 374

Adding New Menus and Toolbars to Custom Windows on page 375

Adding New Menu Entries in Custom Windows on page 376

Moving and Deleting Menus and Toolbars in Custom Windows on page 377

Preserving Custom Windows for Future Sessions on page 378

Galaxy Custom Designer Platform User Guide


J-2014.12

373

Chapter 16: Custom Windows and Workspaces


Configuring Custom Windows

Starting to Configure Custom Windows


Start to configure a custom window by determining what the window should
contain, and freezing the user interface for the customization process.
To start to configure a custom window:
1. For the type of custom window you want to create, open a design, and
evaluate the current user interface. You can create a custom window for any
window that contains menus and toolbars, including the Console.
2. Make a list of the items you want to add, rearrange, and delete.

You can create new menus and populate them with entries from a list of
available operations called actions.

You can add new menu entries to existing menus from the list of
available actions.

You can move menus and toolbars to different locations within the
window.

You can delete menus, individual menu entries, and toolbars from the
window.

3. When you are ready to create the custom window, choose Window >
Customize.
The Customize Window dialog box opens.
The user interface freezes.
The system freezes all menus, toolbars, and assistants to allow interface
manipulation.
For example, during this time, you can select and display a menu, but you
cannot use it.
4. Continue by developing the custom window as designed.
Choose an option:

374

Adding New Menus and Toolbars to Custom Windows on page 375

Adding New Menu Entries in Custom Windows on page 376

Moving and Deleting Menus and Toolbars in Custom Windows on


page 377

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 16: Custom Windows and Workspaces


Configuring Custom Windows

See also
More about Custom Windows and Workspaces on page 373

Adding New Menus and Toolbars to Custom Windows


Add menus and toolbars to a custom window as you create the window. Before
adding a new menu or toolbar, begin by Starting to Configure Custom Windows
on page 374.
To add a new menu or toolbar:
1. In the custom window you are developing, position your cursor along the
horizontal menu bar at the top of the window.
2. Right-click the mouse, and choose Add Menu or Add Toolbar.
3. Enter the menu or toolbar name.
4. Click Create.
The system shows new menus by name in the menu bar.
The system adds new toolbars below the existing toolbar set, and does not
show toolbar names.
5. (Optional) Delete a new menu or toolbar by right-clicking the mouse, and
choosing Remove.
6. (Optional) Reposition a new menu by selecting it, and dragging it to a new
location.
7. Continue by developing the custom window as designed.
Choose an option:

Adding New Menu Entries in Custom Windows on page 376

Moving and Deleting Menus and Toolbars in Custom Windows on


page 377

Preserving Custom Windows for Future Sessions on page 378

Galaxy Custom Designer Platform User Guide


J-2014.12

375

Chapter 16: Custom Windows and Workspaces


Configuring Custom Windows

See also
More about Custom Windows and Workspaces on page 373

Adding New Menu Entries in Custom Windows


Add new menu entries to a custom window as you create the window. Before
adding a new menu entry, begin by Starting to Configure Custom Windows on
page 374.
To new menu entries to a menu within a custom window:
1. In the custom window you are developing, from the Customize Window
dialog box, choose a category.
For the category you choose, the dialog box lists actions (automated
operations) that you can add to window menus.
For example, if you choose the Design category, the action list shows a
Summary action. You can add a Summary menu entry to any menu in the
window.
2. (Optional) Filter the list of items shown in this category by entering
characters in the Filter box.
3. After deciding on the action you want, position your cursor on the Action
listing itself, and move the cursor to drag and drop the listing onto a target
menu.
For example, to add the Design category Summary action to the Options
menu, position the cursor on the word Summary in the dialog box, and drag
and drop this text onto the Options menu in the location you prefer.
4. (Optional) Reposition the new entry by selecting it in the menu, and
dragging it to a new location.
5. (Optional) Delete a new entry by right-clicking the mouse, and choosing
Remove.
6. (Optional) Add a menu separator line by positioning the cursor, right-clicking
the mouse, and choosing Add Separator.
7. Continue by developing the custom window as designed.
Choose an option:

376

Moving and Deleting Menus and Toolbars in Custom Windows on


page 377

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 16: Custom Windows and Workspaces


Configuring Custom Windows

Preserving Custom Windows for Future Sessions on page 378

Adding New Menus and Toolbars to Custom Windows on page 375

See also
More about Custom Windows and Workspaces on page 373

Moving and Deleting Menus and Toolbars in Custom


Windows
Move, and delete, menus and toolbars in a custom window as you create the
window.
Before configuring menus and toolbars, begin by Starting to Configure Custom
Windows on page 374.
To move, and delete, menus and toolbars in a custom window:

To reorder the sequence of entries in an existing menu, select each of them


individually, and drag them to a new location.

To add a separator line between entries in a menu, position the cursor on


the menu in the preferred location, right-click the mouse, and choose Add
Separator.

To delete an entire menu or toolbar, position your cursor on the menu name
or toolbar, right-click the mouse, and choose Remove.

To delete a menu entry, position the cursor on it, right-click the mouse, and
choose Remove.

Continue by developing the custom window as designed.


Choose an option:

Preserving Custom Windows for Future Sessions on page 378

Adding New Menus and Toolbars to Custom Windows on page 375

Adding New Menu Entries in Custom Windows on page 376

Galaxy Custom Designer Platform User Guide


J-2014.12

377

Chapter 16: Custom Windows and Workspaces


Defining Custom Workspaces

See also
More about Custom Windows and Workspaces on page 373

Preserving Custom Windows for Future Sessions


Preserve custom windows for this session only or for future sessions.

To keep the custom window in place only for this session, do nothing more.
The custom settings will end when the session ends.

To preserve the custom window for use in future sessions, save this window
as a workspace or within a workspace. See Defining Custom Workspaces
on page 378

See also
More about Custom Windows and Workspaces on page 373

Defining Custom Workspaces


Define custom workspaces by arranging windows, setting their positions and
sizes, and designating the set of tools, toolbars, and window assistants you
want to automatically display at the start of a design session.
For example, you can set up a schematic window with the window toolbar and
assistant arrangement preferred for schematic editing. You can control the size,
and positions, of all schematics as they open.
After arranging the workspace, you can save it. In future sessions, you can
apply this workspace to make it available for use.
You can also save a custom window you have defined as a custom workspace.
To define a custom window now, see Configuring Custom Windows on
page 373.
These sections cover:

378

Creating Workspaces on page 379

Saving Workspaces on page 379

Applying Workspaces on page 380

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 16: Custom Windows and Workspaces


Defining Custom Workspaces

Loading Workspaces on page 380

Resetting Workspaces to System Default on page 381

Creating Workspaces
Create workspaces to present a consistent user interface for design from one
session to the next session.
To create a custom workspace:
1. In a Custom Designer platform session, open a design, and position
windows, toolbars, and window assistants in the preferred arrangement.
2. Choose Window > Workspaces > Create.
3. Enter a name for this new workspace.
4. Use the check boxes to specify the windows you want to include.
5. (Optional) Check mark Include Window Geometries to retain the current
aspect ratio of window width to height for the selected window.
6. (Optional) If only one window is specified, you can choose to set this
workspace configuration as the default for the window type.
7. Click Create.
8. (Optional) Make new workspaces available in the next design session by
saving them in a workspace file. Additionally, to retain workspace
improvements you have made in a session, save the workspace again. See
Saving Workspaces on page 379.
See also
More about Defining Custom Workspaces on page 378

Saving Workspaces
Save a custom workspace to make it available in future design sessions, and to
retain improvements that you have made in this session to an existing custom
workspace.
To save a custom workspace:
1. Choose Window > Workspaces > Save.
2. In the list of workspaces shown, select the workspaces to save.

Galaxy Custom Designer Platform User Guide


J-2014.12

379

Chapter 16: Custom Windows and Workspaces


Defining Custom Workspaces

3. In the File text box, enter the name of the file in which to save the
workspaces. Alternatively, browse to select an existing workspace file to
overwrite. The system saves workspace files in XML file format.
4. Click Save.
See also
More about Creating Workspaces on page 379

Applying Workspaces
Apply a workspace when you want to use an existing workspace in this
session.
To apply a workspace:

Choose Window > Workspaces, and select the workspace by name.


To create a custom workspace you can apply, see Defining Custom
Workspaces on page 378.
If you do not see a workspace you know exists, try loading it from its source
directory. See Loading Workspaces on page 380.

See also
More about Defining Custom Workspaces on page 378

Loading Workspaces
Load a workspace when you want to use an existing workspace in the current
session, and its file is saved in a different directory from the working directory.
To load a workspace:
1. Choose Window > Workspaces > Load.
2. Browse to select the file by name.
3. Click Open.

380

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 16: Custom Windows and Workspaces


Defining Custom Workspaces

See also
More about Custom Windows and Workspaces on page 373

Resetting Workspaces to System Default


After setting your environment to a custom workspace, you can reset it to the
default configuration by selecting Window > Workspaces > System-Default.
To reset to the default configuration of workspaces:

Choose Window > Workspaces > System-Default.

See also
More about Custom Windows and Workspaces on page 373

Galaxy Custom Designer Platform User Guide


J-2014.12

381

Chapter 16: Custom Windows and Workspaces


Defining Custom Workspaces

382

Galaxy Custom Designer Platform User Guide


J-2014.12

17
17

Custom Graphic User Interfaces

You can create custom graphic user interfaces by adding custom dialog boxes
to accept user input for Tcl scripts you write. Dialog boxes are instantiated, and
visible by default. However, they can be rendered as invisible.

This chapter covers:

Creating a Sample Dialog Box on page 383

Creating a Basic Dialog Box on page 384

Creating Elements for Collecting Input on page 385

Creating Grouping Elements on page 393

Creating Push Buttons and Labels on page 397

Creating Elements that Reconfigure on page 398

Adjusting Custom Dialog Box Layouts on page 400

Creating a Sample Dialog Box


Create a sample dialog box to learn how to add some of the available elements
you can include.
You can follow the sequence in Table 111 on page 383 to create a dialog box
sample.
Table 111 Dialog Box Sample Widgets
Widget

See instructions for:

Dialog

Creating a Basic Dialog Box on page 384

Galaxy Custom Designer Platform User Guide


J-2014.12

383

Chapter 17: Custom Graphic User Interfaces


Creating a Basic Dialog Box

Table 111 Dialog Box Sample Widgets


Widget

See instructions for:

Tab Group

Creating Tab Groups on page 395

Group

Creating Groups on page 393

File Input

Collecting File Input on page 387

Library Input

Collecting Library Input on page 388

Text Input

Creating Text Input on page 392

Checkable Group

Creating Checkable Groups on page 396

Boolean Input

Creating Boolean Input Check Boxes on page 386

Mutex Input

Creating Mutually Exclusive Input on page 390

Layout Adjustment

Adjusting Custom Dialog Box Layouts on page 400

Creating a Basic Dialog Box


Create a basic dialog box by adding the dialog box widget to your Tcl script.
You can visualize dialog box appearance by entering the Tcl for the dialog box,
and all of its widget elements, directly in the Console. When you are done, you
can copy the Tcl to your script for implementation.
To create a dialog box:
1. Add a Tcl proc to create a graphic user interface, for example proc
showImportSpice {} {}.
2. Add the Tcl command gi::createDialog at the top of the Tcl proc.
By default, dialog boxes show Help and Close buttons, only. This dialog box
format is useful for showing messages. The user reads the message, and
can choose to either click the Help button or close the dialog box.
To transform the default dialog box into one that executes a Tcl proc, add the
-execProc argument, and give it the name of a Tcl proc to execute. Adding
the -execProc argument adds OK, Apply, and Cancel buttons.

384

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 17: Custom Graphic User Interfaces


Creating Elements for Collecting Input

If you do not plan to provide access to Help, add the -showHelp argument,
and set it to false.
If you want to render the dialog as invisible, add the -shown argument, and
set it to false.
Example 1 on page 385 creates a dialog box with the title Import Spice
Subckt File.
Example 1
Dialog Box
set dialog [gi::createDialog importSpiceDialog -title \
"Import Spice Subckt File" -execProc \
cae::importSpiceFile]

3. Choose an option:

Continue to create the dialog box sample by adding a tab group to


contain Main and Options tabs. See next Creating Tab Groups on
page 395.

Add elements to the dialog box. See Creating Elements for Collecting
Input on page 385.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Elements for Collecting Input


Create widgets for collecting input so that your Tcl proc can operate on the
input.

Galaxy Custom Designer Platform User Guide


J-2014.12

385

Chapter 17: Custom Graphic User Interfaces


Creating Elements for Collecting Input

Table 112 on page 386 lists widgets you can add to accept input in a dialog
box, along with links to instructions in the sections that follow.
Table 112 Input Widgets
Input Type

Widget

See instructions for:

Single check box

Boolean
Input

Creating Boolean Input Check Boxes on


page 386

Text input field with folder


icon offering the option to
browse, and select

File Input

Collecting File Input on page 387

Text input field with pull


down list of libraries

Library
Input

Collecting Library Input on page 388

List box

List Input

Collecting Input through a List on page 389

Choice of only one option,


either a radio button or
selection from a list box

Mutually
exclusive
(mutex)
input

Creating Mutually Exclusive Input on


page 390

Number

Number
Input

Creating Number Input on page 391

Text entry

Text Input Creating Text Input on page 392

Creating Boolean Input Check Boxes


Create check boxes to collect Boolean input for user decisions that are either
true or false.
To create a Boolean input check box:
1. Add the Tcl command gi::createBooleanInput.
Example 2 on page 386 adds a Boolean input check box that offers the
option to overwrite existing cells. Users can choose this option or deselect it.
Example 2
Boolean Input Check Box
set overwriteDesign [gi::createBooleanInput overwriteDesign \
-parent $mainOptions -label "Overwrite existing cells?"]

386

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 17: Custom Graphic User Interfaces


Creating Elements for Collecting Input

2. Choose an option:

Continue to create the dialog box sample by adding mutually exclusive


input options. See next Creating Mutually Exclusive Input on page 390.

Learn more about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Collecting File Input


Collect the name of a file for input by creating a file input widget.
File input widgets support inline completion of file and directory names. They
also provide a browse button for selecting files through a file dialog box. They
align with labeled inputs, and expand horizontally.
To create a file input widget:
1. Add the Tcl command gi::createFileInput.

Galaxy Custom Designer Platform User Guide


J-2014.12

387

Chapter 17: Custom Graphic User Interfaces


Creating Elements for Collecting Input

Example 3 on page 388 adds a file input widget to the Main tab in the tab
group mainOptions. This file input widget has a mask that filters for three
specific file name extension patterns, and also accepts any file type.
Example 3
File Input Widget
set file [gi::createFileInput file -parent $mainOptions \
-label "Spice Subcircuit File:" -mode open -fileMasks \
{*.spi *.txt *.sp *} -fileType file]

2. Choose an option:

Continue to create the dialog box sample by capturing a target library.


See next Collecting Library Input on page 388.

More about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Collecting Library Input


Collect a library as input by creating a library input widget.
Library input widgets offer a pull down menu for selecting a library.
To create a library input widget:
1. Add the Tcl command dm::createLibInput.
Example 4 on page 389 adds a library input widget to the Main tab in the tab
group mainOptions. This widget offers the list of currently available libraries
for selection. See Sample GUI for Creating a Symbol from a Spice Netlist on
page 403 for a script that uses this widget.

388

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 17: Custom Graphic User Interfaces


Creating Elements for Collecting Input

Example 4
Library Input Widget
set library [dm::createLibInput library -parent $mainOptions \
-label "Target Library:" -prefName dbSpiceReaderLibName]

2. Choose an option:

Continue to create a dialog box sample by capturing the input of a


symbol view name. See next Creating Text Input on page 392.

More about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Collecting Input through a List


Create a list input widget in a dialog box when you want to offer a list of one or
more items for user selection.
To create a list input widget:
1. Add the Tcl command gi::createListInput.
Example 5 on page 389 adds a list input widget to the sample dialog box,
and, and shows user input of the word item, which leaves all listed items
displayed. If the user now enters 1, only item1 will show in the filter box.
Example 5
List Input Widget
set list1 [gi::createListInput -parent $dialog -items \
{item1 item2 item3} -showFilter true]

Galaxy Custom Designer Platform User Guide


J-2014.12

389

Chapter 17: Custom Graphic User Interfaces


Creating Elements for Collecting Input

2. Choose an option:

More about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Mutually Exclusive Input


Create a mutually exclusive widget in a dialog box when you want to allow the
selection of only one of many possible, mutually exclusive values. You can
render this widget as either a set of radio buttons or a single combo box.
Example 6 on page 391 adds two mutex input boxes where the user can select
only one of the available options in each.
To create a mutually exclusive input widget:
1. Add the Tcl command gi::createMutexInput.
Example 6 on page 391 adds two mutex input widgets. The first widget
offers the option to set a pin type. The second widget offers the alternate,
and mutually exclusive option to set a pin direction.

390

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 17: Custom Graphic User Interfaces


Creating Elements for Collecting Input

Example 6
Mutex Input Widget
set outputPinType [gi::createMutexInput outputPinType \
-parent $subOptions -label "Type:" -enum {input \
output inputOutput} -viewType combo]
set outputPinDirection [gi::createMutexInput \
outputPinDirection -parent $subOptions -label "Side:" \
-enum {left right top bottom} -viewType combo]

2. Choose an option:

Continue to create a dialog box sample by adjusting the arrangement of


the widgets. See next Adjusting Custom Dialog Box Layouts on
page 400.

More about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Number Input


Create a number input widget in a dialog box when you want the UI to accept
input of an integer or float value.
1. Add the Tcl command gi::createNumberInput.
2. Choose an option:

More about Custom Graphic User Interfaces on page 383.

Galaxy Custom Designer Platform User Guide


J-2014.12

391

Chapter 17: Custom Graphic User Interfaces


Creating Elements for Collecting Input

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Text Input


Create a text input widget in a dialog box when you want to accept text input,
and this information is not available to offer for selection through a list.
To create a text input widget:
1. Add the Tcl command gi::createTextInput.
Example 7 on page 392 creates a text input widget on a Main tab in the
mainOptions tab group. This widget captures the symbol view name the
user enters.
Example 7
Text Input Widget
set symbolView [gi::createTextInput symbolView -parent \
$mainOptions -label "Symbol View Name:"]

2. Choose an option:

392

Continue to create a dialog box sample by adding a checkable group


with a single check box, and a text input widget. See next Creating
Checkable Groups on page 396.

More about Custom Graphic User Interfaces on page 383.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 17: Custom Graphic User Interfaces


Creating Grouping Elements

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Grouping Elements


Create grouping elements when you want a dialog box to suggest a usage
sequence by surrounding elements with borders and labels, and tabs.
Table 113 on page 393 lists grouping element widgets you can add, along with
links to instructions in the sections that follow.
Table 113 Input Widgets
Grouping Element

Widget

See instructions for:

Bordered area with or


without a label

Group

Creating Groups on page 393

Labeled line of elements

Inline Group

Creating Inline Groups on page 394

Labeled tabs with separate


usage areas

Tab Group

Creating Tab Groups on page 395

Multiple check boxes under


one label

Checkable
Group

Creating Checkable Groups on


page 396

Creating Groups
Create a basic group in a dialog box when you want to arrange similar items
together, and surround them graphically with a lined border. A group can be
labeled in a group box or unlabeled in a frame.
To create a group:
1. Add the Tcl command gi::createGroup.
Example 8 on page 394 adds two groups to the last defined tab group, and
labels them Main and Options. Note that the tab group widget extends
across the dialog box, and allows the addition of more tabs.

Galaxy Custom Designer Platform User Guide


J-2014.12

393

Chapter 17: Custom Graphic User Interfaces


Creating Grouping Elements

Example 8
Group Widgets
set mainOptions [gi::createGroup mainOptions -parent $tabG1 \
-label "Main"]
set subOptions [gi::createGroup subOptions -parent $tabG1 \
-label "Options"]

2. Choose an option:

Continue to create a dialog box sample by adding a file input widget.


See next Collecting File Input on page 387.

Learn more about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Inline Groups


Create an inline group in a dialog box when you want to present a group of
widgets in a horizontal line.
To create an inline group:
1. Add the Tcl command gi::createInlineGroup.
2. Choose an option:

394

Learn more about Custom Graphic User Interfaces on page 383.

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 17: Custom Graphic User Interfaces


Creating Grouping Elements

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Tab Groups


Create tab groups in a dialog box when you want to offer separate usage areas.
You can separate different types of input or provide a use model that
progresses from one tab to another.
A tab group is an ordered, dynamic container of other group containers, which
are rendered as separate tabs.
To create tab groups:
1. Add the Tcl command gi::createTabGroup.
Example 9 on page 395 creates a tab group called tabG1 whose parent is
the last dialog defined. Before you add the tabs themselves, the tab group
renders as a horizontal line above the standard buttons, as shown.
Example 9
Tab Group Widget
set tabG1 [gi::createTabGroup tabG1 -parent $dialog]

2. Choose an option:

Continue to create a dialog box sample by defining the tabs in the group.
See next Creating Groups on page 393.

Learn more about Custom Graphic User Interfaces on page 383.

Galaxy Custom Designer Platform User Guide


J-2014.12

395

Chapter 17: Custom Graphic User Interfaces


Creating Grouping Elements

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Checkable Groups


Create a checkable group in a dialog box when you want to offer multiple check
boxes under one label.
To create a checkable group:
1. Add the Tcl command gi::createCheckableGroup.
Example 10 on page 396 creates a checkable group. When the user adds a
check mark to the Create Schematic Views box, the second line of Tcl
activates a text input widget to collect the text.
Example 10 Checkable Group Widget
set createSchem [gi::createCheckableGroup createSchem \
-parent $mainOptions -label "Create schematic views"]
set schemView [gi::createTextInput schemView -parent \
$createSchem -label "Schematic View Name:"]

396

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 17: Custom Graphic User Interfaces


Creating Push Buttons and Labels

2. Choose an option:

Continue to create a dialog box sample by adding a single check box for
Boolean input. See next Creating Boolean Input Check Boxes on
page 386.

Learn more about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Push Buttons and Labels


Create push buttons to execute single operations immediately. Create labels to
identify ungrouped elements.
These sections cover:

Creating Push Buttons on page 398

Creating Labels on page 398

Galaxy Custom Designer Platform User Guide


J-2014.12

397

Chapter 17: Custom Graphic User Interfaces


Creating Elements that Reconfigure

Creating Push Buttons


Create a push button widget in a dialog box when you want to add a stateless
button that performs a single operation. Push button widgets align with labeled
inputs, and do not expand in either the horizontal or vertical direction.
To create a push button:
1. Add the Tcl command gi::createPushButton.
2. Choose an option:

Learn more about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Labels
Create a label in a dialog box when you want to add a stateless text label to
show text.
To create a label:
1. Add the Tcl command gi::createLabel.
2. Choose an option:

Learn more about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Elements that Reconfigure


Create elements that reconfigure when you want to guide the user to a targeted
choice from a larger set of information. You can create tables, and dynamic
lists, which adjust in response to user interaction. These elements save space,
and show only the information you designate.

398

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 17: Custom Graphic User Interfaces


Creating Elements that Reconfigure

These sections cover:

Creating Tables on page 399

Creating Dynamic Lists on page 399

Creating Tables
Create a table in a dialog box when you want to offer an graphic arrangement in
which each cell can contain data or an additional widget. You can choose to
represent the table in standard format or as a tree where the parent of a row
object is another row.
Tables are labeled widgets, and they expand both horizontally and vertically.
To create a table:
1. Add the Tcl command gi::createTable.
2. Choose an option:

Learn more about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Creating Dynamic Lists


Create a dynamic list in a dialog box when you want offer a list in which the
user can add or remove entries. The input value of a dynamic list is taken from
the items which have been specified.
Dynamic lists are labeled widgets, and expand both horizontally and vertically.
Clicking on any item changes the item to an editable field. Erasing a name
removes the row. Clicking on Click to Add adds an additional row.
To create a dynamic list:
1. Add the Tcl command gi::createDynamicList.
2. Choose an option:

Learn more about Custom Graphic User Interfaces on page 383.

Galaxy Custom Designer Platform User Guide


J-2014.12

399

Chapter 17: Custom Graphic User Interfaces


Adjusting Custom Dialog Box Layouts

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Adjusting Custom Dialog Box Layouts


Adjust dialog box layouts to arrange the elements in proper relationship to each
other.
For example, the standard usage sequence for a dialog box progresses from
left to right, and top to bottom. By default. However, dialog box creation adds
each element in a vertical arrangement from top to bottom, and not from left to
right. Adjust the layout to display the best suggested usage sequence from left
to right in addition to top to bottom.
To arrange a dialog box layout:
1. Add the Tcl gi::layout.
Example 11 on page 400 adjusts the arrangement of the two input fields
from stacked to side by side.
Example 11 Adjusting Layouts
gi::layout $outputPinType -rightOf $outputPinRegExp
gi::layout $outputPinDirection -rightOf $outputPinType

400

Galaxy Custom Designer Platform User Guide


J-2014.12

Chapter 17: Custom Graphic User Interfaces


Adjusting Custom Dialog Box Layouts

2. Choose an option:

More about Custom Graphic User Interfaces on page 383.

See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Galaxy Custom Designer Platform User Guide


J-2014.12

401

Chapter 17: Custom Graphic User Interfaces


Adjusting Custom Dialog Box Layouts

402

Galaxy Custom Designer Platform User Guide


J-2014.12

A
A

Tcl Sample: Custom Graphic User Interfaces


This appendix offers samples of custom user interface Tcl. The currently
supplied sample consists of a utility script that takes as input a Spice netlist, and
generates a symbol view.

This appendix covers:

Sample GUI for Creating a Symbol from a Spice Netlist on page 403

Preferences for Sample Creating a Symbol from a Spice Netlist on page 412

For general instructions on creating dialog boxes, see Custom Graphic User
Interfaces on page 383.

Sample GUI for Creating a Symbol from a Spice Netlist


The sample Tcl script that follows creates a symbol view using a Spice netlist
for input. Script execution dynamically creates a dialog box user interface with
two tabs.

Galaxy Custom Designer Platform User Guide


J-2014.12

403

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Sample GUI for Creating a Symbol from a Spice Netlist

#########################################
# Sample Custom User Interface Script
# Symbol creation from a spice netlist
#########################################
namespace eval cae {
proc isPinInList { pin pinList rexp } {
set returnCode 0
if { $rexp == false } {
foreach pinListElement $pinList {
if [string match -nocase $pin $pinListElement] {
set returnCode 1
}
}
} else {
if [regexp -nocase $pinList $pin] {
set returnCode 1
}
}
return $returnCode
}
# continued

404

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Sample GUI for Creating a Symbol from a Spice Netlist

proc importSpiceFile { d } {
### Preferences
set overwrite [db::getPrefValue dbSpiceReaderOverwriteDesigns]
set createSchematic [db::getPrefValue
\
dbSpiceReaderCreateSchematic]
set libName [gi::findChild library.value -in $d]
set symbolViewName [db::getPrefValue
\
dbSpiceReaderSymbolViewName]
set extraViewNames [db::getPrefValue
\
dbSpiceReaderExtraViewNames]
set schematicViewName [db::getPrefValue \
dbSpiceReaderSchematicViewName]
set outputPins [db::getPrefValue dbSpiceReaderOutputPins]
set outputPinType [db::getPrefValue dbSpiceReaderOutputPinType]
set outputPinSide [db::getPrefValue \
dbSpiceReaderOutputPinDirection]
set outputRexp [db::getPrefValue dbSpiceReaderOutputPinRexp]
set inputPins [db::getPrefValue dbSpiceReaderInputPins]
set inputPinType [db::getPrefValue dbSpiceReaderInputPinType]
set inputPinSide [db::getPrefValue
\
dbSpiceReaderInputPinDirection]
set inputRexp [db::getPrefValue dbSpiceReaderInputPinRexp]
set powerPins [db::getPrefValue dbSpiceReaderPowerPins]
set powerPinType [db::getPrefValue dbSpiceReaderPowerPinType]
set powerPinSide [db::getPrefValue \
dbSpiceReaderPowerPinDirection]
set powerRexp [db::getPrefValue dbSpiceReaderPowerPinRexp]
set groundPins [db::getPrefValue dbSpiceReaderGroundPins]
set groundPinType [db::getPrefValue dbSpiceReaderGroundPinType]
set groundPinSide [db::getPrefValue \
dbSpiceReaderGroundPinDirection]
set groundRexp [db::getPrefValue dbSpiceReaderGroundPinRexp]
set findSubckt 0
set file [db::getPrefValue dbSpiceReaderFileName]
if [file exists $file] {
set fileID [open $file r]
foreach line [split [read $fileID] \n] {
if [regexp {(?i)^\.subckt.*} $line match] {
set subline $line
#create a hash table of the pins based on cell names
set cellArray([lindex $subline 1]) [lrange
$subline 2 [llength $subline]]
set findSubckt 1
set cellName [lindex $subline 1]
} elseif {$findSubckt} {

Galaxy Custom Designer Platform User Guide


J-2014.12

405

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Sample GUI for Creating a Symbol from a Spice Netlist

if [regexp {(?i)^\+} $line match] {


set portList $cellArray($cellName)
regsub {^\+[ \t]*} $line {} newline
append portList " "
append portList $newline
set cellArray($cellName) $portList
} else {
set findSubckt 0
}
}
}
close $fileID
} else {
de::sendMessage "File not found!" -severity error
}
foreach cell [array names cellArray] {
if {[oa::CellDMDataExists $libName $cell]} {
if {$overwrite} {
db::destroy [dm::findCell $cell -libName $libName]
} else {
de::sendMessage "Cell $cell exists! Skipping..."
continue
}
}
de::sendMessage "Importing subckt for $cell..."
set dmCell [dm::createCell $cell -libName $libName]
if {$createSchematic} {
set seCellView [dm::createCellView $schematicViewName -cell\
$dmCell -viewType schematic]
### Retrieve the design from the dmCellView objct
set context [de::open $seCellView -headless true]
set design [db::getAttr editDesign -of $context]
set y 0
}
set interfacePinList {}
set termOrder [list "(" $cellArray($cell) ")"]
set pos_in 0
set pos_out 0
set pos_gnd 0
set pos_pwr 0
foreach pin $cellArray($cell) {
if [amd::isPinInList $pin $inputPins $inputRexp] {
set type $inputPinType
set side $inputPinSide
incr pos_in

406

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Sample GUI for Creating a Symbol from a Spice Netlist

lappend interfacePinList [db::createInterfacePin $pin \


-type $type -side $side -position $pos_in]
} elseif [amd::isPinInList $pin $outputPins $outputRexp] {
set type $outputPinType
set side $outputPinSide
incr pos_out
lappend interfacePinList [db::createInterfacePin $pin \
-type $type -side $side -position $pos_out]
} elseif [amd::isPinInList $pin $groundPins $groundRexp] {
set type $groundPinType
set side $groundPinSide
incr pos_gnd
lappend interfacePinList [db::createInterfacePin $pin -type
$type -side $side -position $pos_gnd]
} elseif [amd::isPinInList $pin $powerPins $powerRexp] {
set type $powerPinType
set side $powerPinSide
incr pos_pwr
lappend interfacePinList [db::createInterfacePin $pin -type
$type -side $side -position $pos_pwr]
} else {
set type $inputPinType
set side $inputPinSide
incr pos_in
lappend interfacePinList [db::createInterfacePin $pin -type
$type -side $side -position $pos_in]
}
if {$createSchematic} {
set points [list 0 $y]
se::createPin $pin -design $design -type $type -points [list
$points]
set y [expr $y + 0.25]
}
}
set interface [db::createInterfaceSet -pins
[db::createCollection $interfacePinList]]
puts $interfacePinList
set viewsToCreate $symbolViewName
append viewsToCreate " "
append viewsToCreate $extraViewNames
foreach view $viewsToCreate {
de::sendMessage "Creating symbol view for $cell..."
set cellview [dm::createCellView $view -cell $dmCell -viewType
schematicSymbol]
db::generateCellView -dest $cellview -interface $interface viewType symbolSchematic
}

Galaxy Custom Designer Platform User Guide


J-2014.12

407

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Sample GUI for Creating a Symbol from a Spice Netlist

oa::getAccess [oa::LibFind $libName] write 1


set dmData [oa::DMDataOpen [oa::CellFind [oa::LibFind $libName]
$cell ] write ]
db::setNetlistInfo termOrder -data $dmData -netlister hspiceD type list -value "($cellArray($cell))"
oa::save $dmData
oa::close $dmData
oa::releaseAccess [oa::LibFind $libName]
}
de::sendMessage "Done importing Spice subcircuit file!"
}
# continued

408

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Sample GUI for Creating a Symbol from a Spice Netlist

proc showImportSpice {} {
###### Create the user interface widgets
### This proc creates the GUI
### Create the dialog widget to contain the input widgets
### and capture input
set dialog [gi::createDialog importSpiceDialog -title \
"Import Spice Subcircuit File" -execProc \
cae::importSpiceFile -showHelp false]
### Create a tab group to contain the two tabs
set tabG1 [gi::createTabGroup tabG1 -parent $dialog]
### Create an individual tab called Main
set mainOptions [gi::createGroup mainOptions -parent $tabG1 \
-label "Main"]
### Create an individual tab called Options
set subOptions [gi::createGroup subOptions -parent $tabG1 \
-label "Options"]
### Create a file input field on the Main tab to capture the Spice
### file
set file [gi::createFileInput file -parent $mainOptions \
-label "Spice Subcircuit File:" -mode open -fileMasks \
{*.spi *.txt *.sp *} -fileType file -prefName \
dbSpiceReaderFileName]
### Create a library input widget with a pulldown menu offering
### existing libraries to capture the target library
set library [dm::createLibInput library -parent $mainOptions \
-label "Target Library:" -prefName dbSpiceReaderLibName]
### Create a text input widget to capture the symbol view name
set symbolView [gi::createTextInput symbolView -parent \
$mainOptions -label "Symbol View Name:" -prefName \
dbSpiceReaderSymbolViewName]
### Create a text input widget to capture optional extra view names
set extraViews [gi::createTextInput extraViews -parent \
$mainOptions -label "Extra View Name(s):" -prefName \
dbSpiceReaderExtraViewNames]
### Create a checkable group widget offering the option to create
### schematic views
set createSchem [gi::createCheckableGroup createSchem -parent \
$mainOptions -label "Create schematic views" -prefName \
dbSpiceReaderCreateSchematic]

Galaxy Custom Designer Platform User Guide


J-2014.12

409

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Sample GUI for Creating a Symbol from a Spice Netlist

### Create a single text input widget in the checkable group


### that is only enabled when the group is enabled
set schemView [gi::createTextInput schemView -parent \
$createSchem -label "Schematic View Name:" -prefName \
dbSpiceReaderSchematicViewName]
### Create a boolean input widget (a check box) for
### optionally overwriting existing designs
set overwriteDesign [gi::createBooleanInput overwriteDesign \
-parent $mainOptions -label "Overwrite existing cells?" \
-prefName dbSpiceReaderOverwriteDesigns]
###
###
###
set
set
set

set

set

Create four required fields for the output pins on the


Options tab: one text input, one boolean input,
and two mutex input widgets
outputPins [gi::createTextInput outputPins -parent \
$subOptions -label "Output pins:" -prefName \
dbSpiceReaderOutputPins]
outputPinRegExp [gi::createBooleanInput outputPinRegExp \
-parent $subOptions -label "Regexp" -prefName \
dbSpiceReaderOutputPinRexp]
outputPinType [gi::createMutexInput outputPinType \
-parent $subOptions -label "Type:" -prefName \
dbSpiceReaderOutputPinType -enum \
{input output inputOutput} -viewType combo]
outputPinDirection [gi::createMutexInput \
outputPinDirection -parent $subOptions -label "Side:" \
-prefName dbSpiceReaderOutputPinDirection -enum \
{left right top bottom} -viewType combo]
inputPins [gi::createTextInput inputPins -parent \
$subOptions -label "Input pins:" -prefName \
dbSpiceReaderInputPins]

###
###
###
set

Create four fields for input pins on the Options tab:


one text input, one boolean input, and two mutex
input widgets
inputPinRegExp [gi::createBooleanInput inputPinRegExp \
-parent $subOptions -label "Regexp" -prefName \
dbSpiceReaderInputPinRexp]
set inputPinType [gi::createMutexInput inputPinType \
-parent $subOptions -label "Type:" -prefName \
dbSpiceReaderInputPinType -enum \
{input output inputOutput} -viewType combo]
set inputPinDirection [gi::createMutexInput \
inputPinDirection -parent $subOptions -label "Side:" \
-prefName dbSpiceReaderInputPinDirection -enum {left \
right top bottom} -viewType combo]

410

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Sample GUI for Creating a Symbol from a Spice Netlist

### Create four fields for the power pins on the Options tab
set powerPins [gi::createTextInput powerPins -parent \
$subOptions -label "Power pins:" -prefName \
dbSpiceReaderPowerPins]
set powerPinRegExp [gi::createBooleanInput powerPinRegExp \
-parent $subOptions -label "Regexp" -prefName \
dbSpiceReaderPowerPinRexp]
set powerPinType [gi::createMutexInput powerPinType \
-parent $subOptions -label "Type:" -prefName \
dbSpiceReaderPowerPinType -enum {input output \
inputOutput} -viewType combo]
set powerPinDirection [gi::createMutexInput powerPinDirection parent $subOptions -label "Side:" -prefName
dbSpiceReaderPowerPinDirection -enum {left right top bottom} viewType combo]
### Create four fields for the ground pins on the Options tab
set groundPins [gi::createTextInput groundPins -parent \
$subOptions -label "Ground pins:" -prefName \
dbSpiceReaderGroundPins]
set groundPinRegExp [gi::createBooleanInput \
groundPinRegExp -parent $subOptions -label "Regexp" \
-prefName dbSpiceReaderGroundPinRexp]
set groundPinType [gi::createMutexInput groundPinType \
-parent $subOptions -label "Type:" -prefName \
dbSpiceReaderGroundPinType -enum {input output \
inputOutput} -viewType combo]
set groundPinDirection [gi::createMutexInput \
groundPinDirection -parent $subOptions -label \
"Side:" -prefName dbSpiceReaderGroundPinDirection \
-enum {left right top bottom} -viewType combo]
### Arrange the widgets in an orderly manner within the
### dialog box
gi::layout $outputPinRegExp -rightOf $outputPins
gi::layout $outputPinType -rightOf $outputPinRegExp
gi::layout $outputPinDirection -rightOf $outputPinType
gi::layout $inputPinRegExp -rightOf $inputPins
gi::layout $inputPinType -rightOf $inputPinRegExp
gi::layout $inputPinDirection -rightOf $inputPinType
gi::layout $powerPinRegExp -rightOf $powerPins
gi::layout $powerPinType -rightOf $powerPinRegExp
gi::layout $powerPinDirection -rightOf $powerPinType
gi::layout $groundPinRegExp -rightOf $groundPins
gi::layout $groundPinType -rightOf $groundPinRegExp
gi::layout $groundPinDirection -rightOf $groundPinType
db::setAttr geometry -of $dialog -value \
Galaxy Custom Designer Platform User Guide
J-2014.12

411

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Preferences for Sample Creating a Symbol from a Spice Netlist

[db::getPrefValue dbSpiceReaderDialogGeometry]
}
}

See also
More about Tcl Sample: Custom Graphic User Interfaces on page 403

Preferences for Sample Creating a Symbol from a Spice


Netlist
The sample preferences.tcl file that follows sets values for the preferences
referenced in the supplied sample Tcl script in this appendix.

412

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Preferences for Sample Creating a Symbol from a Spice Netlist

namespace eval ::startup {


db::createPref "dbSpiceReaderOverwriteDesigns" -value true \
-description "Overwrite Existing designs" \
-labels {dataIO spice_reader} -type bool
db::createPref "dbSpiceReaderCreateSchematic" -value false \
-description "Create Schematics?" \
-labels {dataIO spice_reader} -type bool
db::createPref "dbSpiceReaderSymbolViewName" -value "symbol" \
-description "Name of the Symbol View" \
-labels {dataIO spice_reader}
db::createPref "dbSpiceReaderExtraViewNames" -value {hspice} \
-description "Name(s) of extra view(s) to create" \
-labels {dataIO spice_reader}
db::createPref "dbSpiceReaderSchematicViewName" -value \
"schematic" \
-description "Name of the schematic view" \
-labels {dataIO spice_reader}
db::createPref "dbSpiceReaderLibName" -value "" \
-description "Target Library Name" \
-labels {dataIO spice_reader}
db::createPref "dbSpiceReaderFileName" -value "" \
-description "Input File Name" \
-labels {dataIO spice_reader}
db::createPref "dbSpiceReaderOutputPins" -value "" \
-description "Output Pins" \
-labels {dataIO spice_reader}
db::createPref "dbSpiceReaderOutputPinRexp" -value false \
-description "Output Pin Regular Exp" \
-labels {dataIO spice_reader} -type bool
db::createPref "dbSpiceReaderInputPins" -value "" \
-description "Input Pins" \
-labels {dataIO spice_reader}
db::createPref "dbSpiceReaderInputPinRexp" -value false \

Galaxy Custom Designer Platform User Guide


J-2014.12

413

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Preferences for Sample Creating a Symbol from a Spice Netlist

-description "Input Pin Regular Exp" \


-labels {dataIO spice_reader} -type bool
db::createPref "dbSpiceReaderPowerPins" -value "" \
-description "Power Pins" \
-labels {dataIO spice_reader}
db::createPref "dbSpiceReaderPowerPinRexp" -value false \
-description "Power Pin Regular Exp" \
-labels {dataIO spice_reader} -type bool
db::createPref "dbSpiceReaderGroundPins" -value "" \
-description "Ground Pins" \
-labels {dataIO spice_reader}
db::createPref "dbSpiceReaderGroundPinRexp" -value false \
-description "Ground Pin Regular Exp" \
-labels {dataIO spice_reader} -type bool
db::createPref "dbSpiceReaderDialogGeometry" -value
"802x334+346+166" \
-description "Spice Reader Dialog Geometry" \
-labels {dataOP spice_reader}
db::createPref "dbSpiceReaderOutputPinType" -value "output" \
-description "Spice Reader Output Pin type" \
-labels {dataOP spice_reader}
db::createPref "dbSpiceReaderOutputPinDirection" -value \
"right" \
-description "Spice Reader Output Pin Direction" \
-labels {dataOP spice_reader}
db::createPref "dbSpiceReaderInputPinType" -value "input" \
-description "Spice Reader Input Pin type" \
-labels {dataOP spice_reader}
db::createPref "dbSpiceReaderInputPinDirection" -value \
"left" \
-description "Spice Reader Input Pin Direction" \
-labels {dataOP spice_reader}
db::createPref "dbSpiceReaderPowerPinType" -value
"inputOutput" \
-description "Spice Reader Power Pin type" \
-labels {dataOP spice_reader}
db::createPref "dbSpiceReaderPowerPinDirection" -value "top" \
-description "Spice Reader Power Pin Direction" \
-labels {dataOP spice_reader}
db::createPref "dbSpiceReaderGroundPinType" -value \
"inputOutput" \
-description "Spice Reader Ground Pin type" \
-labels {dataOP spice_reader}
db::createPref "dbSpiceReaderGroundPinDirection" -value \
"bottom" \
-description "Spice Reader Ground Pin Direction" \
-labels {dataOP spice_reader}
}

414

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Preferences for Sample Creating a Symbol from a Spice Netlist

See also
More about Tcl Sample: Custom Graphic User Interfaces on page 403

Galaxy Custom Designer Platform User Guide


J-2014.12

415

Appendix A: Tcl Sample: Custom Graphic User Interfaces


Preferences for Sample Creating a Symbol from a Spice Netlist

416

Galaxy Custom Designer Platform User Guide


J-2014.12

B
B

Application Note: PDK Configuration

You can configure access to process design kits (PDKs) through the addition of
process design kit configuration files. PDK configuration files are XML files you
create and supply for designers running design rule checking, layout versus
schematic, layout parasitic extraction, and additional custom processes on their
designs.

This appendix covers:

Introduction on page 418

Overview on page 418

Tools Used on page 418

PDK Identification on page 419

Configuration File Elements on page 420

Process and Variant Selection on page 432

Default Interfaces on page 433

Default Interfaces on page 433

Custom Jobs on page 438

Attribute Versus Element Table on page 441

Summary on page 443

Galaxy Custom Designer Platform User Guide


J-2014.12

417

Appendix B: Application Note: PDK Configuration


Introduction

Introduction
This application note describes:

The attributes used to determine a PDK library

How to set up and use a Process Design Kit (PDK) configuration file on the
Custom Designer platform

How to configure the setup for Physical Verification and Extraction (PVE)
jobs

See also
More about this Application Note: PDK Configuration

Overview
Use of a pre-packaged PDK greatly speeds up design development when one
is available for the targeted foundry/process.
Each customer has specific needs for physical verification setup. For ease of
use, users typically need to provide metal stacks for project targeted
processes, preset the process and rules file, control user ability to edit tool and
rules files options, and need to be able to customize the graphical interface.
Custom Designer addresses these needs through a PVE configuration
infrastructure and built-in Tcl based graphical interface.
Identifying and locating the application specific components and support files
makes it possible for a user to run their physical verification jobs on a newly
created layout design with the click of a button without having to specify
additional information.
See also
More about this Application Note: PDK Configuration

Tools Used
Custom Designer F-2011.09-1

418

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


PDK Identification

IC Validator F-2011.09
StarRC F-2011.06-SP2
See also
More about this Application Note: PDK Configuration

PDK Identification
Two different attributes are used to automatically identify a PDK library. You can
also use environment variables when using both these attributes.
These sections cover:

PDKLib attribute on page 419

PDKConfigPath attribute on page 419

PDKLib attribute
This is a Boolean attribute in the lib.defs file that you set to true for a PDK
library. The location of the PDK library mentioned in the lib.defs file has to
be defined relative to the configuration file location (see Configuration File
Elements on page 420). A sample lib.defs file follows.
DEFINE reference40nm ./reference40nm
ASSIGN reference40nm libMode shared
ASSIGN reference40nm PDKLib true

See also
More about PDK Identification on page 419

PDKConfigPath attribute
This is an attribute in the lib.defs file that you can use to specify the location
of the configuration file. This is useful if you want to store the configuration file
outside of the PDK library. In that case, you use an absolute path to specify the
location. Two examples for using this attribute in the lib.defs file follow.
DEFINE reference40nm ./reference40nm
ASSIGN reference40nm PDKConfigPath /remote/disk1/
pdkIntegTestcase/snps_reference40nm/current/pdk.xml

Galaxy Custom Designer Platform User Guide


J-2014.12

419

Appendix B: Application Note: PDK Configuration


Configuration File Elements

DEFINE
ASSIGN
DEFINE
ASSIGN

reference40nm
reference40nm
reference40nm
reference40nm

$ref40PDK/reference40nm
PDKConfigPath $ref40PDK/pdk.xml
$ref40PDK/reference40nm
PDKConfigPath $ref_40/current/pdk.xml

If a path is relative, it will be considered relative to library's parent directory.


See also
More about PDK Identification on page 419

Configuration File Elements


Because each foundry has its own directory structure, it is not easy to
generically locate application data from different foundries. So it is useful to
specify the location of application specific data, such as runsets in a
configuration file.
A configuration file named pdk.xml can be found in the same directory as the
sample PDK library. This file contains additional information about file locations
and settings for specific applications.
The configuration file is loaded by default if the library is identified as a PDK
library (see PDK Identification on page 419).
The pdk.xml sample configuration file uses XML syntax to describe paths to
runsets and common settings/options for the PVE verification runs.
By placing the configuration file in the directory containing the PDK library, the
paths to runsets become relative to the directories found at the same level.
Paths to process files, however, can be absolute or relative to the PDK library
location.
Typically, foundries provide the different runsets, model files, and the PDK
library separately. All the relevant data that you gather from the foundry can be
put together in a central location.
Figure 25 on page 421 illustrates the recommended organization of PDKrelated data.

420

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Configuration File Elements

Figure 25

Recommended Organization for PDK Data

These sections cover:

The File Format Element on page 421

The Process Element on page 422

The Application Element on page 423

The Variant Element on page 423

The pveJob Element on page 424

The Tool Element on page 426

The Preference Element on page 427

The Action Element on page 430

The Value Element on page 430

The Item Element on page 431

The File Format Element


The file-format element is the document root and identifies the file format
and version.
XML is chosen as the format for the configuration file because the Custom
Designer platform has an XML parser and some other applications use the
XML syntax.

Galaxy Custom Designer Platform User Guide


J-2014.12

421

Appendix B: Application Note: PDK Configuration


Configuration File Elements

Table 114 on page 422 list and describes file-format element attributes.
Table 114 File-Format Element Attributes
Attribute

Type

Description

name

string

Name of the file format. The file format for a PDK


Configuration File used by Custom Designer
integrations is synopsysPDK.

version

decimal

Version of the file format

Example:
<file-format name="synopsysPDK" version="1.0">

See also
More Configuration File Elements on page 420

The Process Element


The process element represents a foundry process node.
Table 115 on page 422 lists and describes process element attributes.
Table 115 Process Element Attributes
Attribute

Type

Description

name

string

Name that uniquely identifies the process node.

default

boolean

If true, the xtPDKProcess preference will be set


to the name of the process node at startup.
Changes made by the user are kept persistent
using the defaults button on the Physical
Verification and Extraction Options dialog.
Defaults to false. If no process default is
specified, the one specified first in the
configuration file pdk.xml is considered the
default.

Example:
<process name="reference40nm" title="Sample pdk.xml">
422

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Configuration File Elements

Process selection can be performed using the Physical Verification and


Extraction Options dialog box (see Process and Variant Selection on
page 432).
See also
More Configuration File Elements on page 420

The Application Element


The application element represents a section that describes application
specific data and settings.
Currently, this is used only for PVE applications, but is extensible to other
applications.
The application name used to identify a PVE application section of a PDK
Configuration File is PVE.
The application preference prefix for PVE is xt.
Table 116 on page 423 lists and describes application element attributes.
Table 116 Application Element Attributes
Attribute

Type

Description

name

string

Name that uniquely identifies the application


section.

prePrefix

string

Two character lower-case preference prefix used


to identify application specific preferences.

Example:
<application name="PVE" prefPrefix="xt">

See also
More Configuration File Elements on page 420

The Variant Element


The variant element represents a variation on a process node. Examples
include metallization stacks and device voltage characteristics.

Galaxy Custom Designer Platform User Guide


J-2014.12

423

Appendix B: Application Note: PDK Configuration


Configuration File Elements

Table 117 on page 424 lists and describes variant element attributes.
Table 117 Variant Element Attributes
Attribute

Type

Description

name

string

Name that uniquely identifies the process variant.

default

boolean

If true, the xtPDKVariant preference will be set


to the name of the process variant at startup.
Changes made by the user are kept persistent
via the defaults button on the Physical Verification
and Extraction Options dialog. Defaults to false. If
no variant default is specified, the one specified
last in the configuration file pdk.xml is
considered the default.

Example:
<variant name="1P10M" title="1-Poly 10-Metal" default="true">

The variant selection can be performed using the Physical Verification and
Extraction Options dialog (see Process and Variant Selection on page 432).
See also
More Configuration File Elements on page 420

The pveJob Element


The pveJob element represents a physical verification or extraction job for
running design checks and extracting parasitics in a specific process variant.
All PVE integration job-related preferences are based on the job type, for
example, xtJobLayLCV. Preference labels are created using the application
preference prefix and the job name; for example {xt DRC}. All PVE integration
job related actions (menu choices) will be created if they do not already exist for
the job name; for example, xtJobViewOutputs.
Table 118 on page 425 lists and describes pveJob element attributes.

424

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Configuration File Elements

Table 119 on page 425 lists and describes the mappings between job types
and window types.
Table 118 pveJob Element Attributes
Attribute

Type

Description

name

string

Alpha-numeric name that uniquely identifies the


job. This should follow a camelBack notation for
custom jobs; for example, lpeSPF. For default
jobs, names are DRC, LVS, and LPE.

prefId

string

Job identifier used to encode job-specific


preference and action names. Defaults to job
name.

type

string

Job type by function and database inputs.


Restricted to DRC, LVS, or LPE.

title

string

Job name as displayed in interface; for example,


DRC, LVS, LPE (no name restrictions). Defaults
to job name.

windowTypes

string

Specifies the window types for which actions


related to this job should be made available. The
value for this attribute is a space delimited list of
window types. By default, actions are enabled in
only those windows that support the design
inputs required by the job as determined by the
job type. Restricted to valid window types within
the Custom Designer platform.

Table 119 Job Type to Window Type Default Mappings


Job Type

Custom Designer Window Types

DRC

leLayout

LVS

leLayout, seSchematic

LPE

leLayout

Galaxy Custom Designer Platform User Guide


J-2014.12

425

Appendix B: Application Note: PDK Configuration


Configuration File Elements

Example:
<pveJob name="density" jobType="DRC" title="Density"
windowTypes="leLayout">

See also
More Configuration File Elements on page 420

The Tool Element


The tool element represents a physical verification or extraction tool capable
of running a specific job. The tool name must match a registered xtTool
object. If a direct match is not found, names are matched against tool aliases.
All PVE integration job-tool related preferences based on the job type will be
created if they do not already exist for the tool name; for example,
xtJobToolRunsetFile. Preference labels will be created using the
application preference prefix, job, and tool names, such as {xt DRC ICV}.
Tool elements that are direct descendants of an application element can be
used to configure tool specific preferences for example,
xtToolRunsetFileSuffix.
Table 120 on page 426 lists and describes tool element attributes.
Table 120 Tool Element Attributes
Attribute

Type

Description

name

string

Name that uniquely identifies the tool; for


example, ICV, Hercules, StarRC.

default

boolean

If true, the xtJobTool preference will be set to


the name of the tool at startup. Defaults to false.

Example:
<tool name="ICV" default="true">

426

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Configuration File Elements

See also
More Configuration File Elements on page 420

The Preference Element


The preference element represents a configuration setting in the PVE
integration. Each preference must be defined as part of the PVE integration
framework and must already exist. This does not preclude you from creating a
preference in the Tcl startup scripts for Custom Designer and then setting or
configuring the preference from a PDK Configuration file. The PVE preferences
available for the Custom Designer platform are listed in the section covering
integrated tool preferences in the Custom Designer Tcl Reference Manual.
Table 121 on page 427 lists preference attributes.
Table 122 on page 427 lists preference naming rules.
Table 121 Preference Element Attributes
Attribute

Type

Description

name

string

Name that uniquely identifies the preference.

valueType

string

Preference value type. Restricted to path, string,


float, integer, bool, or custom.

visible

boolean

If true, the graphical representation of the


preference is visible. Defaults to true.

mutable

boolean

If true, the graphical representation of the


preference is editable. Setting the visible attribute
to false implies that the mutable attribute is false
as well. Defaults to true.

required

boolean

If true, the preference value cannot be null when


Ok/Apply is pressed.

Table 122 Preference Naming Rules


Element Hierarchy
(pref==preference)

Preference

application/pref

prefPrefix+prefName

Galaxy Custom Designer Platform User Guide


J-2014.12

427

Appendix B: Application Note: PDK Configuration


Configuration File Elements

Table 122 Preference Naming Rules


Element Hierarchy
(pref==preference)

Preference

application/variant/pref

prefPrefix+prefName

application/tool/pref

prefPrefix+toolName+prefName

application/variant/pveJob/pref

prefPrefix+jobName+prefName

application/variant/pveJob/tool/

prefPrefix+jobName+toolName+prefName

pref

fName

Example for preference xtDensityICVRunsetFile


(prefPrefix+jobName+toolName+prefName):
<application name="PVE" prefPrefix="xt">
<variant name="1P10M" title="1-Poly 10-Metal" default="true">
<pveJob name="density" jobType="DRC" title="Density" \
windowTypes="leLayout">
<tool name="ICV">
<preference name="RunsetFile" required="true" \
valueType="path">
<value>./icv/drc/reference40nm_mod_icv_drc.rs</value>
</preference>
</tool>
</pveJob>
</variant>
</application>

Example for preference xtLVSLayDBformat


(prefPrefix+jobName+prefName):
<application name="PVE" prefPrefix="xt">
<variant name="1P10M" title="1-Poly 10-Metal" \
default="true">
<pveJob name="LVS" jobType="LVS">
<preference name="LayDBFormat" visible="true" \
required="true" valueType="string">
<value>OpenAccess</value>
</preference>

428

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Configuration File Elements

Example for preference xtLVSICVOptions (complete preference name


specified):
<application name="PVE" prefPrefix="xt">
<variant name="1P10M" title="1-Poly 10-Metal" default="true">
<tool name="ICV">
<preference name="xtLVSICVOptions" required="true">
<value>-sf SPICE -ndg -quiet=0</value>
</preference>
</tool>
</pveJob>
</variant>
</application>

The following table lists the preference names used for the preferences that are
available through the tabs in the DRC, LVS and LPE Setup and Run dialog
boxes.
Table 123 on page 429 lists and describes custom preferences for tabs.
Table 123 Custom Preferences for Tabs
Preference Name

Tab Name

Tools

Variables

Control
Variables

ICV, Hercules

IncludePaths

Include
Paths

ICV

RunsetOptions

Custom
Options

ICV, Hercules, StarRC

PDK configuration file preference values override the user scoped preference
values and runset variable values obtained by parsing the runset. However, by
default, run directory scoped preference values override PDK configuration file
preference values.
To force the PDK configuration file preference values to override the run
directory scoped preferences, set the override attribute to true for the specific
preferences.
This can be useful for propagating any rule deck changes globally across all
the end users.

Galaxy Custom Designer Platform User Guide


J-2014.12

429

Appendix B: Application Note: PDK Configuration


Configuration File Elements

Example:
<preference name="RunsetFile" visible="true" mutable="false"
required="true" valueType="path" override="true">
<value>./icv/lvs/reference10lm_lvs.rs</value>
</preference>

See also
More Configuration File Elements on page 420

The Action Element


The action element represents an action performed for a specific job. Each
action must be defined as part of the PVE integration framework and already
exist.
Table 124 on page 430 lists and describes action element attributes.
Table 124 Action Element Attributes
Attribute

Type

Description

name

string

Alpha-numeric name that uniquely identifies the


action. Restricted to Setup, Run and
ViewOutputs.

binding

string

Key binding used to execute the action.

icon

string

File path to the icon used to represent the action


in menus and toolbars.

See also
More Configuration File Elements on page 420

The Value Element


The value element is a simple text element that holds the value of a
preference. Relative file path preference values are considered relative to the
location of the PDK configuration file in which they are defined.

430

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Configuration File Elements

Example:
<preference name="RunsetFile" valueType="path">
<value>./icv/drc/reference40nm_mod_icv_drc.rs</value>
</preference>

See also
More Configuration File Elements on page 420

The Item Element


The item element is used to hold a value for a custom preference type.
Item elements share the same visible, mutable, and required attributes as the
preference, with the item attributes taking precedence.
Multiple item elements can exist for a preference.
Table 125 on page 431 lists and describes item element attributes.
Table 126 on page 432 lists and describes custom preferences for item
element attributes.
Table 125 Item Element Attributes
Attribute

Type

Description

visible

boolean

If true, the graphical representation of the item is


visible. Defaults to true.

mutable

boolean

If true, the graphical representation of the item is


editable. Setting the visible attribute to false
implies that the mutable attribute is false as well.
Defaults to true.

required

boolean

If true, the item value cannot be null when OK or


Apply is clicked.

The following attributes are added to the item element for representing values
for custom preferences xtJobToolVariables and
xtJobToolRunsetOptions.

Galaxy Custom Designer Platform User Guide


J-2014.12

431

Appendix B: Application Note: PDK Configuration


Process and Variant Selection

Table 126 Custom Preferences for Item Element Attributes


Attribute

Type

Description

name

string

The name of a runset variable or option.

valueType

string

The value type of a runset variable. Restricted to


boolean, integer, double, string.

scope

string

The scope of a runset variable. Restricted to


define, environment, or variable.

section

string

The runset option section.

Example:
<preference name="Variables" valueType="custom" visible="true"
mutable="true" required="true">
<item name="DENSITY_RULES"
valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="DFM_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
</preference>

See also
More Configuration File Elements on page 420

Process and Variant Selection


The Physical Verification and Extraction Options dialog can be accessed from
the Verification > Options menu available in the Layout Editor. This dialog box
contains controls for selecting both a Process and a Variant from those defined
in the PDK configuration file.

432

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Default Interfaces

Figure 26

Physical Verification and Extraction Options Dialog Box

Parsing the contents of the PDK configuration file in the order in which the
corresponding PDK library is opened populates the Process and Variant fields.
If no PDK Configuration file is found, the Process and Variant fields are
populated with the string Not Defined.
The refresh button available through the Physical Verification and Extraction
Options dialog can be used to reload the configuration. This can be useful
when the configuration file is updated while the Custom Designer platform is
running.
See also
More about this Application Note: PDK Configuration

Default Interfaces
The default interfaces use built-in menu entries and built-in dialogs. The built-in
dialogs are coded in OPAL and Custom Designer Tcl API is used for the GUI.
The fields in these dialogs correspond to preferences. Preference names are
constructed using the preference naming rules listed and described in
Table 122 on page 427.
Example:
xtDRCICVRunsetFile
prefPrefix+jobName+toolName+prefName

The same infrastructure can be used as a template for custom jobs.

Galaxy Custom Designer Platform User Guide


J-2014.12

433

Appendix B: Application Note: PDK Configuration


Default Interfaces

Some sections from the default DRC, LVS, and LPE jobs are included as
examples below. Please use the example data provided in this application note
for the complete pdk.xml configuration file. See the README file for more
details.
These sections cover:

434

The DRC Interface on page 435

The LVS Interface on page 437

The LPE Interface on page 438

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Default Interfaces

The DRC Interface


<?xml version="1.0"?>
<file-format name="synopsysPDK" version="1.0">
<process name="Reference 40nm" default="true">
<application name="PVE" prefPrefix="xt">
<variant name="1P10M" title="1-Poly 10-Metal" default="true">
<pveJob name="DRC" jobType="DRC">
<tool name="ICV" default="true">
<preference name="RunsetFile" valueType="path">
<value>./icv/drc/reference40nm_mod_icv_drc.rs</value>
</preference>
<preference name="LoadRunset" visible="false">
<value>true</value>
</preference>
<preference name="Variables" valueType="custom" visible="true"
mutable="true" required="true">
<item name="WIDTH_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="AREA_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="SPACING_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"true"</item>
<item name="ENCLOSURE_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"true"</item>
<item name="NWELL_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="DIFF_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="POLY_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="RPOLY_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="PPLUS_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="NPLUS_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="LOWVTN_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="LOWVTP_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="HIGHVTN_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"true"</item>
<item name="HIGHVTP_RULES" valueType="string"
Galaxy Custom Designer Platform User Guide
J-2014.12

435

Appendix B: Application Note: PDK Configuration


Default Interfaces

visible="true" mutable="true" scope="environment">"true"</item>


<item name="DIFF18_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="DIFF25_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="DIFF33_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="CONT_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="METAL1_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="METALX_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="VIAX_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="RESISTOR_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"true"</item>
<item name="VAR_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
<item name="DENSITY_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"false"</item>
<item name="DFM_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
</preference>
</tool>
</pveJob>
</variant>
</application>
</process>
</file-format>

436

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Default Interfaces

See also
More Default Interfaces on page 433

The LVS Interface


<pveJob name="LVS" jobType="LVS">
<preference name="LayDBFormat" visible="true" required="true"
valueType="string">
<value>OpenAccess</value>
</preference>
<preference name="SchDBFormat" visible="true" required="true"
valueType="string">
<value>OpenAccess</value>
</preference>
<tool name="ICV">
<preference name="RunsetFile" visible="true" mutable="false"
required="true" valueType="path" override="true">
<value>./icv/lvs/reference10lm_lvs.rs</value>
</preference>
<preference name="xtLVSICVOptions" required="true">
<value>-sf SPICE -ndg -quiet=0</value>
</preference>
<preference name="RunsetOptions" valueType="custom">
<item section="OPTIONS" name="IGNORE_CASE">FALSE</item>
</preference>
</tool>
</pveJob>

Galaxy Custom Designer Platform User Guide


J-2014.12

437

Appendix B: Application Note: PDK Configuration


Custom Jobs

See also
More Default Interfaces on page 433

The LPE Interface


<pveJob name="LPE" jobType="LPE">
<preference name="ViewOutput">
<value>true</value>
</preference>
<tool name="StarRC">
<preference name="RunsetFile" required="true">
<value>./snps_reference40nm/25FEB11_ICV201109/starrc/
star_icv_cmd</value>
</preference>
<preference name="RunsetOptions" valueType="custom"
visible="true" mutable="true">
<item name="xref" visible="true" mutable="false">yes</item>
<item name="oa_remove_spicecard_prefix" visible="true"
mutable="true">no</item>
</preference>
</tool>
</pveJob>

See also
More Default Interfaces on page 433

Custom Jobs
The configuration file lets you create custom jobs using the default
infrastructure for DRC, LVS, and LPE job types.
The menu entries are loaded automatically and the job and tool preferences
are created automatically.
Custom job definitions for the current process and variant as specified by the
xtPDKProcess and xtPDKVariant preferences are added to the list of jobs
in the Verification menu, sorted by type.

438

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Custom Jobs

Some sections from the custom DFM job are included as examples in the
section that follows. You can obtain example data from your Synopsys Support
representative for the complete pdk.xml configuration file.

Galaxy Custom Designer Platform User Guide


J-2014.12

439

Appendix B: Application Note: PDK Configuration


Custom Jobs

This section covers:

The DFM Interface on page 440

The DFM Interface


<pveJob name="dfm" jobType="DRC" title="DFM">
<tool name="ICV">
<preference name="RunsetFile" valueType="path"> <value>./icv/
drc/reference40nm_mod_icv_drc.rs</value>
</preference>
<preference name="LoadRunset" visible="true"> <value>true</
value>
</preference>
<preference name="Variables" valueType="custom" visible="true"
mutable="true" required="true">
<item name="WIDTH_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="AREA_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="SPACING_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"false"</item>
<item name="ENCLOSURE_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"false"</item>
<item name="NWELL_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="DIFF_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="POLY_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="RPOLY_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="PPLUS_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="NPLUS_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="LOWVTN_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="LOWVTP_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="HIGHVTN_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"false"</item>
<item name="HIGHVTP_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"false"</item>

440

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Attribute Versus Element Table

<item name="DIFF18_RULES" valueType="string" visible="true"


mutable="true" scope="environment">"false"</item>
<item name="DIFF25_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="DIFF33_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="CONT_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="METAL1_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="METALX_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="VIAX_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="RESISTOR_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"false"</item>
<item name="VAR_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"false"</item>
<item name="DENSITY_RULES" valueType="string"
visible="true" mutable="true" scope="environment">"false"</item>
<item name="DFM_RULES" valueType="string" visible="true"
mutable="true" scope="environment">"true"</item>
</preference>
</tool>
</pveJob>

See Also
See also Default Interfaces on page 433

Attribute Versus Element Table


Table 127
Attribute

process

variant

default

true
default:
false

true
default:
false

pveJob

binding

Galaxy Custom Designer Platform User Guide


J-2014.12

action

tool

preference

item

true
default:
false
<userdefined
bindkey>

441

Appendix B: Application Note: PDK Configuration


Attribute Versus Element Table

Table 127
Attribute

process

variant

pveJob

icon /
large icon

action

tool

preference

item

<absolute
path
relative to
PDK>
default:
jobName

scope

environment
variable
define

visible

default:
true false

default:
true false

mutable

default:
true false

default:
true false

valueType

path
custom

path
string
double

required

true
default:
false

true
default:
false

name

<userdefined>

windowType

<userdefined>

<userdefined>

Run
Setup
View
Output

ICV
Hercules
StarRC

<pre-exist> <runset<predefined>
created>

seSchematic
le Layout

title

<userdefined>

jobType

DRC LVS
LPE

442

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix B: Application Note: PDK Configuration


Summary

Table 127
Attribute

process

prefId

variant

pveJob

action

tool

preference

item

<userdefined>
default:
jobName

See also
More about this Application Note: PDK Configuration

Summary
A PDK Configuration File lets you control file set up and the basic configuration
of built-in dialogs. Tcl based physical verification dialogs allow for the complete
ability to customize the interface. And you can create custom jobs easily using
the infrastructure of the DRC, LVS and LPE jobs.
See also
More about this Application Note: PDK Configuration

Galaxy Custom Designer Platform User Guide


J-2014.12

443

Appendix B: Application Note: PDK Configuration


Summary

444

Galaxy Custom Designer Platform User Guide


J-2014.12

C
C

White Paper: Integrating External Applications


You can extend Custom Designer platform functionality by integrating external
tools. The platform provides an easy-to-use interface to allow communication
with other applications. This white paper covers a step-by-step procedure with
examples for creating a custom tool integration. The complete source code is
available in files gui.tcl and gui_launcher.tcl, which you can obtain from
Synopsys Technical Support.

This white paper covers:

Glossary of Terms on page 445

Handshaking with the Custom Designer Platform on page 447

Walk-Up with the Custom Designer Platform on page 448

Blocking and Non-Blocking IPC on page 449

A Sample Integration on page 452

The Tcl Event Loop on page 467

Launching from the Custom Designer Platform on page 468

Glossary of Terms
IPC
(Inter-Process Communication) is the exchange of data between two
programs. The exchange can be done between programs running on the
same machine, or between programs running on different machines on a
network.

Galaxy Custom Designer Platform User Guide


J-2014.12

445

Appendix C: White Paper: Integrating External Applications


Glossary of Terms

RPC
(Remote Procedure Call) is a programming interface that allows one
program to request a service from another program via IPC. The calling
program sends a message and data to the other program, the request is
executed, and the result is returned to the caller.
Tcl
(Tool Command Language) is a freely available interpreted scripting
language. See http://tcl.tk for documentation and information.
Tk
(Tool Kit) is a freely available extension to Tcl that provides commands to
create graphical user interfaces. See http://tcl.tk for details.
wish
is a command-line Tcl interpreter with Tk command support. Graphical
applications can be created by writing Tcl/Tk scripts, and executing them
through the wish interpreter.
Tcl-Dp
is a freely available extension to Tcl/Tk that allows socket based remote
procedure calls between Tcl interpreters. The Tcl-Dp website is http://
tcldp.sourceforge.net.
API
(Application Programming Interface) - An API is a programmatic interface for
accessing an application. In the context of this paper, the term API refers to
the set of Tcl commands that the platform provides in its scripting interface.
Handshaking
is the process of forming an IPC channel between two programs.
Listening port
a file descriptor that accepts incoming network connections.
Walkup
occurs when an external application that was not launched by the platform
connects with it.

446

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


Handshaking with the Custom Designer Platform

See also
More about this White Paper: Integrating External Applications on page 445

Handshaking with the Custom Designer Platform


This section provides a high-level view of how the IPC channel is formed
between the platform and an external application. A concrete coding example
follows later in this chapter with sample code that an application integrator can
copy.
There are seven steps in the handshaking process between the platform and
an external application. The seven steps are illustrated in Figure 27 on
page 447 and described in this section.

Figure 27

Handshaking with the Custom Designer Platform

To launch the external application, the integrator must call the


xt::createJob command within the platform.
The call to xt::createJob automatically performs the first three steps:
1. The platform opens a listening port.
2. The platform launches a light-weight monitoring process called
ipc_wrapper.
3. The ipc_wrapper process launches the external application.

Galaxy Custom Designer Platform User Guide


J-2014.12

447

Appendix C: White Paper: Integrating External Applications


Walk-Up with the Custom Designer Platform

The ipc_wrapper process sets up two special environment variables in the


execution environment of the external application.
They are:
_SYNOPSYS_CUSTOM_SERVER - This is the network address of the
listening port from the first step. It is a string variable of the form
<hostname>:<port number>.
_SYNOPSYS_CUSTOM_JOBID - This is the unique job identifier for the
external application. It is used during handshaking to associate the external
application with the correct job in the Job Monitor.
After the external application is launched, it must connect-back to the
platform. The external application must perform the following three steps to
continue handshaking.
4. The external application opens a listening port.
5. The external application forms a connection with the platform on the
listening port that was defined in the first step of this procedure (using the
_SYNOPSYS_CUSTOM_SERVER environment variable).
6. The external application uses the connection formed in the previous step to
send the following details:
The job identifier (the value of _SYNOPSYS_CUSTOM_JOBID)
The network address of the listening port from Step 4 in the form
<hostname>:<port number>
7. Finally, the platform uses the network address given in Step 6 to form a
connection with the External Application.
Steps 1, 2, 3, and 7 are performed automatically by the platform when the
job is launched, and in response to incoming network events. It is the
responsibility of the application integrator to write the code to perform steps
4, 5, and 6 during the external application startup.
See also
More about this White Paper: Integrating External Applications on page 445

Walk-Up with the Custom Designer Platform


A running application can also connect to the platform through a process called
walkup. Walkup is used to form a connection between the two applications
448

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


Blocking and Non-Blocking IPC

without having to launch the application from the platform. External applications
can walk up to the platform by performing the following steps:
1. The application opens a listening port.
2. The application scans the files in $HOME/.synopsys_custom/processes.
Each file in the directory contains detailed information in XML format about
all currently running platform applications for the user.
The information directly required for walkup stored in the file includes:

The host name where the tool is running

The listening port number of the running session

Each file contains other information that might be useful to the application to
make special arrangements for the connection (for example, the product
version number), or to select between multiple concurrently running
sessions (for example, the display or process ID).
3. The application forms a connection with the platform given the host name
and port number from Step 2.
4. The application sends its host name and listening port from Step 1 over the
connection formed in Step 3.
The following steps occur automatically on the platform, triggered by Step 4.
5. The system uses the information received in Step 4 form a connection with
the application.
6. The system internally generates a postman event called onPostWalkup to
indicate that a walkup connection has been formed. Integrator code within
the platform can be notified about the new connection by binding a Tcl
callback procedure in Tcl or using a notifier in C++.
See also
More about this White Paper: Integrating External Applications on page 445

Blocking and Non-Blocking IPC


There are two methods to send commands to other applications: commands
can be sent in blocking mode, or non-blocking mode. Each method has
advantages and disadvantages, and the choice of which to use is application
specific.

Galaxy Custom Designer Platform User Guide


J-2014.12

449

Appendix C: White Paper: Integrating External Applications


Blocking and Non-Blocking IPC

These sections cover:

Blocking Mode IPC on page 450

Non-Blocking Mode IPC on page 451

Recommendation on page 451

Blocking Mode IPC


When a command is sent to a remote application using blocking mode IPC, the
call will block while waiting for the remote application to send a result. A timeout value can be provided to prevent infinite blocking in the local application
when the remote application does not respond.

Advantage:
The code to send commands to applications can be written linearly is very
simple to follow.

Disadvantages:

Since the code blocks while waiting for the result of the RPC, it can lead
to a sluggish user-interface if the remote application takes a long time
to return a response.

If the RPC is done using a time-out to prevent infinite blocking, there can
be cases where machine load or network latency can cause the timeout to expire erroneously.

How to do it with Tcl-Dp:


The Tcl-Dp library provides the dp_RPC command to perform blocking
RPC. Please refer to the documentation for this library at the Cornell
University Department of Computer Science website.

How to do it within the platform:


Calling xt::sendCommand in the platform with a non-zero time-out value
will block while waiting for a response. There is no way to block indefinitely
using xt::sendCommand.
See also
More about Blocking and Non-Blocking IPC on page 449

450

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


Blocking and Non-Blocking IPC

Non-Blocking Mode IPC


Non-blocking mode IPC sends the command to the remote application, but
does not wait for a response.

Advantage:
Because the command is sent and there is no waiting, the code will run
smoothly without interruption, and generally will provide a more responsive
user interface.

Disadvantage:
The calling application does not receive a response, so if the command fails
to execute in the remote application, the local application is not aware of a
problem. However, this can be solved by having the remote application call
back to the sender when it finishes processing a command. This capability
is built into the Tcl-Dp framework.

How to do it with Tcl-Dp:


The Tcl-Dp library provides the dp_RDO command to perform non-blocking
RPC. Please refer to the documentation for this library at the Cornell
University Department of Computer Science website.

How to do it within the platform:


Calling xt::sendCommand with a zero value time-out (or omitting the timeout argument) will send the command in non-blocking mode.

See also
More about Blocking and Non-Blocking IPC on page 449

Recommendation
In general, the code author should strive to use non-blocking mode IPC
wherever possible to have a smooth user-interface and prevent the need for
time-outs.

Galaxy Custom Designer Platform User Guide


J-2014.12

451

Appendix C: White Paper: Integrating External Applications


A Sample Integration

See also
More about Blocking and Non-Blocking IPC on page 449

A Sample Integration
This section is a tutorial on how to integrate an application with the Custom
Designer platform. The example application is shown in Figure 2 and the code
is contained in the file gui.tcl. This section does a step-by-step walk-through of
the code to explain how it works.

Using the Sample Integration on page 452

The External Application on page 453

Using the Sample Integration


To use the sample integration:
1. Put the files gui.tcl and gui_launcher.tcl into the same directory.
2. Launch the Custom Designer platform.
3. In the Console, source the gui_launcher.tcl file.
source ./gui_launcher.tcl
4. Use the IPCTest menu in the main console window to launch and interact
with the application.

452

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


A Sample Integration

The External Application


These sections cover:

The Interpreter on page 454

Opening a Design on page 454

Zoom on page 456

Probing a Net on page 457

Probe an Instance on page 458

Highlighting and Clearing Highlights on page 458

Creating a Rectangle on page 460

A Label to Modify on page 461

The Connection Status Frame on page 461

Galaxy Custom Designer Platform User Guide


J-2014.12

453

Appendix C: White Paper: Integrating External Applications


A Sample Integration

The Window Layout on page 462

Walkup Utilities on page 462

Sending Commands to the Custom Designer Platform on page 464

The Handshaking Code on page 465

The Interpreter
The very first line of the external application spawns the interpreter.
#!/usr/bin/env wish
Following that, we define a single global variable that will store the Tcl-DP
connection to the Custom Designer platform.
# Global Vars
# This variable represents the connection to Custom Designer
set cdesigner_fh ""

Then we create the basic Tk GUI. It is divided into eight frames. The first six
frames provide examples of commands that can be sent to the platform. The
seventh frame contains a horizontal label entitled Color and is used as an
example of how to send a command from the platform to the external
application. The eighth frame indicates the connection status.
See also
More about A Sample Integration on page 452

Opening a Design
The first frame contains three regular single-line text entry fields. There, the lib
name, cell name, and view name of a design can be entered to send a
command to the platform to open that design using the de::open command.
# GUI Creation
# Open a Design

First, we create the frame to house the widgets:


frame .f1 -relief groove -bd

Then, we create three sets of labels and entry fields to put inside of the frame:

454

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


A Sample Integration

label
entry
label
entry
label
entry

.f1.l1
.f1.e1
.f1.l2
.f1.e2
.f1.l3
.f1.e3

-text "Lib: " -width 15 -anchor e


-bg white
-text "Cell: " -width 15 -anchor e
-bg white
-text "View: " -width 15 -anchor e
-bg white

Then, we add a button to trigger sending the command:


button .f1.b -text "Open Design" -command openDesign

These lines of Tk code configure rows and columns within the frame so that the
widgets will resize nicely when laid out in a grid:
grid columnconfigure .f1 1 -weight 1
grid rowconfigure .f1 10 -weight

This code lays out the widgets in four rows with some padding in between:
grid
grid
grid
grid

.f1.l1 .f1.e1 -sticky EW


.f1.l2 .f1.e2 -sticky EW
.f1.l3 .f1.e3 -sticky EW
x .f1.b -sticky EW -padx

-padx 3
-padx 3
-padx 3
3 -pady

-pady 3
-pady 3
-pady 3
3

Finally, there is a Tcl callback procedure that is called when the button is
clicked. The procedure first obtains the user-entered lib, cell and view names
from the entry fields, and then it calls a utility function to send the de::open
command to the tool.
proc openDesign {} {
global .f1.e1 .f1.e2 .f1.e3
set lib [.f1.e1 get]
set cell [.f1.e2 get]
set view [.f1.e3 get]

Note that the square brackets below are escaped using a backslash. This is
necessary for nested commands, and prevents the wish interpreter from trying
to execute dm::findCellView locally.
The sendCommand utility procedure is defined in a section that follows:
Sending Commands to the Custom Designer Platform on page 464.
sendCommand "de::open \[dm::findCellView $view -libName $lib
-cellName
$cell\]"
}

Galaxy Custom Designer Platform User Guide


J-2014.12

455

Appendix C: White Paper: Integrating External Applications


A Sample Integration

See also
More about A Sample Integration on page 452

Zoom
The next example calls de::setViewPort to change the zoom level on the
currently opened design.
# Zoom

Then, the labels and entry fields are created to receive user input:
label
entry
label
entry

.f2.l1
.f2.e1
.f2.l2
.f2.e2

-text "Top Left: " -width 15 -anchor e


-bg white
-text "Bottom Right: " -width 15 -anchor e
-bg white

And, a button with a callback to trigger sending the command:


button .f2.b -text "Zoom" -command zoom

Then, as in the previous example, the frame is configured so that the widgets
will look nice when laid-out in a grid:
grid columnconfigure .f2 1 -weight 1
grid rowconfigure .f2 10 -weight 1

The labels, entries and button are laid-out in three rows:


grid .f2.l1 .f2.e1 -sticky EW -padx 3 -pady 3
grid .f2.l2 .f2.e2 -sticky EW -padx 3 -pady 3
grid x .f2.b -sticky EW -padx 3 -pady 3

The callback procedure for the button first obtains the values of the top-left and
bottom-right coordinates of the zoom (allowing either comma-separated or
space-separated coordinates), and then sends the de::setViewPort
command with the coordinates:
proc zoom {} {
global .f2.e1 .f2.e2
set topleft [string map {"," " "} [.f2.e1 get]]
set bottomright [string map {"," " "} [.f2.e2 get]]
sendCommand "de::setViewport -box {{$topleft}
{$bottomright}}"
}

456

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


A Sample Integration

See also
More about A Sample Integration on page 452

Probing a Net
The next example uses the de::createProbe command to probe a net in the
currently opened design.
# Probe a net

As usual, first the housing frame is created:


frame .f3 -relief groove -bd 2

And then a single label and entry field for the user to input the net name to
probe.
label .f3.l -text "Net Name:" -width 15 -anchor e
entry .f3.e -bg white

And a button to trigger the operation:


button .f3.b -text "Probe" -command probeNet

Finally, the layout code:


grid
grid
grid
grid

columnconfigure .f3 1 -weight 1


rowconfigure .f3 10 -weight 1
.f3.l .f3.e -sticky EW -padx 3 -pady 3
x .f3.b -sticky EW -padx 3 -pady 3

And the button callback to send the de::createProbe command with the
given net name:
proc probeNet {} {
global .f3.e
set net [.f3.e get]

In this example, there are two nested calls. Each square bracket is escaped by
a single backslash:
sendCommand "de::createProbe $net -type net -context
\[db::getAttr
hierarchy -of \[de::getActiveContext\]\]"
}

Galaxy Custom Designer Platform User Guide


J-2014.12

457

Appendix C: White Paper: Integrating External Applications


A Sample Integration

See also
More about A Sample Integration on page 452

Probe an Instance
This example uses de::createProbe to probe an instance in the currently
opened design.
# Probe an instance

The housing frame and a label and entry widget for the user-input:
frame .f4 -relief groove -bd 2
label .f4.l -text "Instance Name:" -width 15 -anchor e
entry .f4.e -bg white

The button to trigger the operation:


button .f4.b -text "Probe" -command probeInst

The widget layout:


grid
grid
grid
grid

columnconfigure .f4 1 -weight 1


rowconfigure .f4 10 -weight 1
.f4.l .f4.e -sticky EW -padx 3 -pady 3
x .f4.b -sticky EW -padx 3 -pady 3

The callback procedure obtains the instance name from the entry and sends
the de::createProbe command:
proc probeInst {} {
global .f4.e
set inst [.f4.e get]
sendCommand "de::createProbe $inst -type instance -context
\[db::getAttr hierarchy -of \[de::getActiveContext\]\]"
}

See also
More about A Sample Integration on page 452

Highlighting and Clearing Highlights


The next example illustrates how to create and clear highlights in a design
using xt::highlightViolation and xt::clearViolations. These
commands create visible highlights on the design, but do not modify the
underlying database.
# Highlight and clear violations

458

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


A Sample Integration

The housing frame:


frame .f5 -relief groove -bd 2

For simplicity, this example contains four entry fields to create only rectangular
shapes, but in general, the xt::highlightViolation command can be
used to create an arbitrary polygon. Each entry field will be used for the x and y
coordinates of each point in the rectangle.
label
entry
label
entry
label
entry
label
entry

.f5.l1
.f5.e1
.f5.l2
.f5.e2
.f5.l3
.f5.e3
.f5.l4
.f5.e4

-text "Point
-bg white
-text "Point
-bg white
-text "Point
-bg white
-text "Point
-bg white

1: " -width 15 -anchor e


2: " -width 15 -anchor e
3: " -width 15 -anchor e
4: " -width 15 -anchor e

This button triggers the highlight creation:


button .f5.b1 -text "Highlight violation"
-command highlightViolation

This button clears existing highlights in the current design:


button .f5.b2 -text "Clear violations" -command clearViolations

The widgets are laid out in a grid within the housing frame:
grid
grid
grid
grid
grid
grid
grid
grid

columnconfigure .f5 1 -weight 1


rowconfigure .f5 10 -weight 1
.f5.l1 .f5.e1 -sticky EW -padx 3 -pady
.f5.l2 .f5.e2 -sticky EW -padx 3 -pady
.f5.l3 .f5.e3 -sticky EW -padx 3 -pady
.f5.l4 .f5.e4 -sticky EW -padx 3 -pady
x .f5.b1 -sticky EW -padx 3 -pady 3
x .f5.b2 -sticky EW -padx 3 -pady 3

3
3
3
3

The callback to create the highlights first obtains the four coordinates (allowing
comma or space-separated strings), and then sends the
xt::highlightViolation command:
proc highlightViolation {} {
global .f5.e1 .f5.e2 .f5.e3 .f5.e4
set p1 [string map {"," " "} [.f5.e1
set p2 [string map {"," " "} [.f5.e2
set p3 [string map {"," " "} [.f5.e3
set p4 [string map {"," " "} [.f5.e4

Galaxy Custom Designer Platform User Guide


J-2014.12

get]]
get]]
get]]
get]]

459

Appendix C: White Paper: Integrating External Applications


A Sample Integration

Note the use of the ed command. This special command provides shortcut
access to the oaDesign from the currently active design:
sendCommand "xt::highlightViolation {{$p1} {$p2} {$p3} {$p4}}
-design
\[ed\] -toolName testGui"
}

The callback to clear the highlights also uses the ed shortcut command to get
the currently active oaDesign.
proc clearViolations {} {
sendCommand "xt::clearViolations -design \[ed\] -toolName
testGui"
}

See also
More about A Sample Integration on page 452

Creating a Rectangle
This example creates a rectangle in the currently opened schematic using the
se::createRectangle command.
# Create Rectangle

As usual, there is a frame to house the widgets:


frame .f6 -relief groove -bd 2

The rectangle is defined by its top-left and bottom-right coordinates, so there is


an entry field for each:
label
entry
label
entry

.f6.l1
.f6.e1
.f6.l2
.f6.e2

-text "Top Left: " -width 15 -anchor e


-bg white
-text "Bottom Right: " -width 15 -anchor e
-bg white

There is a button to trigger the operation:


button .f6.b -text "Create Rectangle" -command createRectangle

This is the typical layout code:


grid
grid
grid
grid
grid

460

columnconfigure .f6 1 -weight 1


rowconfigure .f6 10 -weight 1
.f6.l1 .f6.e1 -sticky EW -padx 3 -pady 3
.f6.l2 .f6.e2 -sticky EW -padx 3 -pady 3
x .f6.b -sticky EW -padx 3 -pady 3

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


A Sample Integration

The procedure to create the rectangle obtains the top-left and bottom-right
coordinates from the entries, and sends the se::createRectangle
command. Note that for a layout window, the le::createRectangle
command could be used instead:
proc createRectangle {} {
global .f6.e1 .f6.e2
set topleft [string map {"," " "} [.f6.e1 get]]
set bottomright [string map {"," " "} [.f6.e2 get]]
sendCommand "se::createRectangle {{$topleft} {$bottomright}}
-design
\[ed\]"
}

See also
More about A Sample Integration on page 452

A Label to Modify
This label's background color can be changed. It is here to demonstrate how to
send commands from the platform to the external application.
# Color label
label .l -text "Color"

And here's a procedure that the tool can call that will change the color:
proc changeColor {color} {
global .l
.l configure -bg $color
}

See also
More about A Sample Integration on page 452

The Connection Status Frame


The frame at the bottom of the window contains information about the
connection to Custom Designer. Later, there will be examples of how to watch
for changes to the connection so the widgets can be updated to reflect them.
frame .f7
label .f7.l1 -text "Status:"
pack .f7.l1 -side left -ipadx 3 -ipady 3 -padx 3 -pady 3
label .f7.l2 -text "Not connected" -relief sunken -bg pink
pack .f7.l2 -side left -expand yes -fill x -ipadx 3 -ipady 3 padx 3 -pady 3

Galaxy Custom Designer Platform User Guide


J-2014.12

461

Appendix C: White Paper: Integrating External Applications


A Sample Integration

This button will be used to initiate walkup to Custom Designer.


button .f7.b -text "Connect" -command walkupToCustomDesigner
pack .f7.b -side left -ipadx 3 -ipady 3 -padx 3 -pady 3

See also
More about A Sample Integration on page 452

The Window Layout


This GUI setup code lays out the frames and the label in a grid, and configures
the window resizing behavior.
# Arrange the frames in the window
grid columnconfigure . 0 -weight 1
grid columnconfigure . 1 -weight 1
grid rowconfigure . 0 -weight 1
grid rowconfigure . 1 -weight 1
grid rowconfigure . 2 -weight 1
grid rowconfigure . 3 -weight 1
grid .f1 .f2 -sticky NEWS -ipadx 3 -ipady 3 -padx 3 -pady 3
grid .f3 .f4 -sticky NEWS -ipadx 3 -ipady 3 -padx 3 -pady 3
grid .f5 .f6 -sticky NEWS -ipadx 3 -ipady 3 -padx 3 -pady 3
grid .l -sticky NEWS -columnspan 2
grid .f7 -sticky NEWS -columnspan 2
# Set the minsize of the window
update
wm minsize . [winfo width .] [winfo height .]

See also
More about A Sample Integration on page 452

Walkup Utilities
These procedures demonstrate a simple example of forming a walkup
connection with Custom Designer.
# Walkup to Custom Designer
proc walkupToCustomDesigner {} {
variable local_host
variable local_port
variable cdesigner_fh

462

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


A Sample Integration

This loop scans each process file to find a running session to connect to:
foreach filename [glob ~/.synopsys_custom/processes/*] {
getHostPort $filename host port
puts "Trying to connnect to $host:$port ..."

The code attempts to make a connection given the host and port information
from the file:
if {![catch {dp_MakeRPCClient $host $port} fh]} {

When the connection is formed, the following line of code completes the
handshaking with the platform from this end. It provides a string token to
identify the type of application that is walking up, and also provides the address
of the local listening port for connect-back. The string token (in this case
demo_gui) will be used later in this example by the platforms Tcl integrator
code.
dp_RDO $fh xt::createDPWalkupConnection "demo_gui"
$local_host:$local_port

This registers a callback procedure to be invoked when the connection with the
platform is closed.
dp_atclose $fh append connectionClosed

And the global variable for the connection is set.


set cdesigner_fh $fh
puts " OK"
break
} else {

If the connection attempt fails, this code prints the error message to stdout:
puts " $fh"
}
}

If all of the process files have been tested and there is still no connection, this
will bring up an error dialog:
if {$cdesigner_fh == ""} {
error "Could not find a running Custom Designer."
}
}

Galaxy Custom Designer Platform User Guide


J-2014.12

463

Appendix C: White Paper: Integrating External Applications


A Sample Integration

The next procedure parses an individual system process file to obtain the host
name and walkup port:
proc getHostPort {walkupFilename hostRef portRef} {
upvar $hostRef host
upvar $portRef port
set fd [open $walkupFilename]
set data [read $fd]
close $fd
set lines [split $data "\n"]
set host ""
set port ""
foreach line $lines {
regexp {<host>(.*?)</host>} $line match host
regexp {<walkupPort>(.*?)</walkupPort>} $line match port
}
}

This utility procedure controls the status widgets in the GUI depending on the
state of the connection which is tracked by the global variable cdesigner_fh. It
will be referenced later using the Tcl trace command:
proc connectionChanged { args } {
variable cdesigner_fh
if {$cdesigner_fh != ""} {
.f7.b configure -state disabled
.f7.l2 configure -text "Connected" -bg lightgreen
} else {
.f7.b configure -state normal
.f7.l2 configure -text "Not connected" -bg pink
}
}

And here's the callback that will be called when the connection to the platform
is closed. It resets the cdesigner_fh variable:
proc connectionClosed { args } {
variable cdesigner_fh
set cdesigner_fh ""
}

See also
More about A Sample Integration on page 452

Sending Commands to the Custom Designer Platform


This little utility function will send commands to the platform if the connection
exists; otherwise, it will simply print the command to stdout.
464

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


A Sample Integration

# Send a command to the platform


proc sendCommand {cmd} {
global cdesigner_fh
if {$cdesigner_fh == ""} {
# Not connected to Custom Designer.
# Simply print out the command for debugging purposes.
puts $cmd
} else {
# Send the command to the platform and wait for the return value
# If there's an error, bring up an error dialog.

The dp_RPC command is a blocking remote procedure call, and so it will wait
for the command to complete execution on the platform before returning. The
catch command can detect errors and then the code will bring up an error
dialog to display the message:
if {[catch {dp_RPC $cdesigner_fh $cmd} res]} {
tkerror $res
}
}
}

See also
More about A Sample Integration on page 452

The Handshaking Code


The platform provides the Tcl-DP extension library, and it can be loaded into
the interpreter by the external application through the following code:
# load the Tcl-DP library
if {[catch {source "$::env(SYNOPSYS_CUSTOM_INSTALL)/ipc/
dp.tcl"}]} {
source $::env(SYNOPSYS_CUSTOM_INSTALL)/etc/ipc/dp.tcl
}

The platform dependent Tcl/DP library is bundled with the platform and can be
found in the installation (we try to load the 64-bit library if the 32-bit library fails
to load):
set tcldp32 [file join [string map {amd64 linux} $env(TCLDP_PATH)]
libdp40.so]
set tcldp64 [file join [string map {linux amd64} $env(TCLDP_PATH)]
libdp40.so]
if {[catch {load $tcldp32}]} {
load $tcldp64
}
load "$::env(TCLDP_PATH)/libdp40.so"

Galaxy Custom Designer Platform User Guide


J-2014.12

465

Appendix C: White Paper: Integrating External Applications


A Sample Integration

After the Tcl-DP extension library is loaded, the external application creates a
Tcl-DP listening socket, as described in the handshaking instructions,
Handshaking with the Custom Designer Platform on page 447:
# Create a socket for incoming connections
set local_fh [dp_MakeRPCServer]

The call to dp_MakeRPCServer above chooses a free port number at random.


The following line of code queries the returned file handle to determine which
port number was chosen:
set local_port [fconfigure $local_fh -myport]
set local_host [info hostname]

As described in the section above, we track the cdesigner_fh variable to find


out when connectivity changes so that the widgets can be updated:
# watch the cdesigner_fh variable
trace add variable cdesigner_fh write connectionChanged

Now that the listening port was created and callbacks are set, the application
can operate in two different modes:

Launched from the platform via xt::createJob - form a connection and


send and receive commands via Tcl-DP

Walkup: The user initiates a connection to a running session using a button


in the GUI.

#
#
#
#

Connect-back to Custom Designer


The presence of the environment variables
_SYNOPSYS_CUSTOM_SERVER and _SYNOPSYS_CUSTOM_JOBID
indicate that we were launched by Custom Designer

if {[info exists ::env(_SYNOPSYS_CUSTOM_SERVER)]} {

Now, the external application can connect to the platform using the special
environment variable _SYNOPSYS_CUSTOM_SERVER as described above
in Step 5:
# Create a connection to Custom Designer's listening port
# contained in the _SYNOPSYS_CUSTOM_SERVER env var
set cdesigner_host [lindex [split $::env
(_SYNOPSYS_CUSTOM_SERVER) ":"] 0]
set cdesigner_port [lindex [split $::env
(_SYNOPSYS_CUSTOM_SERVER) ":"] 1]

466

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


The Tcl Event Loop

Here, the connection to the platform is formed. The result is a file handle and it
is stored in the global variable cdesigner_fh:
set cdesigner_fh [dp_MakeRPCClient $cdesigner_host
$cdesigner_port]
dp_atclose $cdesigner_fh append connectionClosed

The last responsibility of the external application is to communicate the job


identifier and local listening port address to Custom Designer, as described
above in Step 6.
# Send the platform the address of our listening port and
# our job id
# The job id is contained in the _SYNOPSYS_CUSTOM_JOBID env var
set job_id $::env(_SYNOPSYS_CUSTOM_JOBID)
# dp_RDO is a non-blocking call

Note that the xt::dpInteractiveConnectBack procedure is only available


for external applications to call via Tcl-DP. It cannot be called from the
command Console:
dp_RDO $cdesigner_fh xt::dpInteractiveConnectBack $job_id \
$local_host:$local_port
}

See also
More about A Sample Integration on page 452

The Tcl Event Loop


The Tcl-DP package makes use of the Tcl interpreter's event loop for
processing incoming connections and network messages. In this example, the
use of the interpreter automatically starts the Tcl event loop and so the
processing is done without any special code.
To integrate applications that do not have a Tcl event loop built-in, the integrator
must make periodic calls to the Tcl update command, or the Tcl C API call
Tcl_DoOneEvent() function. Unless the Tcl Event Loop in the external
application periodically enters the Tcl event loop, the Tcl-DP library will not
function correctly and will prevent a successful connection with Custom
Designer.

Galaxy Custom Designer Platform User Guide


J-2014.12

467

Appendix C: White Paper: Integrating External Applications


Launching from the Custom Designer Platform

See also
More about this White Paper: Integrating External Applications on page 445

Launching from the Custom Designer Platform


This section is a tutorial on how to create and manipulate menus and actions in
Custom Designer, and demonstrates how to launch the example external
application. Figure 3 is a screen shot of the platform main Console window with
the example menu. The complete code example can be found in the file
gui_launcher.tcl.

Figure 28

Example Menu

These sections cover:

468

Defining a Namespace on page 469

Adding a Menu and Actions on page 469

Action Callbacks on page 471

Job Callbacks on page 473

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


Launching from the Custom Designer Platform

Defining a Namespace
The first line of code defines a new namespace. Having a namespace that is
specific to this particular application keeps the variables and procedures
organized and separate from other utilities and top-level commands.
namespace eval guiTest {
# Namespace Vars
# Store the path to this file when it is first sourced
set script_path [info script]
# This will contain an xtJob object when the test app is launched
set job ""

See also
More about Launching from the Custom Designer Platform on page 468

Adding a Menu and Actions


As shown in Figure 3, the example adds a Menu to the main console window
with four menu actions.
# Create the IPC Test menu
proc createMenu {} {
# each of these actions will be a menu item in the IPC Test menu

Actions represent items that can be inserted into menus, toolbars and context
menus. The action has a different visual representation depending on what it is
inserted into. For example, an action will be rendered using only its icon if it is
inserted into a toolbar widget, but it will display its textual title when placed into
a menu, but, clicking on either the toolbar representation or the menu item will
run the same command. And if the action is disabled, all of its inserted
instances will also be disabled.
The first action calls the launch procedure within the guiTest namespace when
clicked:
gi::createAction "launchIPCTestApp" -title
"Launch Test App" -command \
[namespace current]::launch

Galaxy Custom Designer Platform User Guide


J-2014.12

469

Appendix C: White Paper: Integrating External Applications


Launching from the Custom Designer Platform

The other actions also have command callback procedures that they call when
clicked:
gi::createAction "changeIPCTestAppColor1" -title \
"Color: lightblue" -command [namespace current]::changeColor1
gi::createAction "changeIPCTestAppColor2" -title \
"Color: yellow"-command [namespace current]::changeColor2
gi::createAction "terminateIPCTestApp" -title \
"Terminate Test App" -command [namespace current]::terminate

Then, a menu is created and the actions are added to the menu:
# create the menu and add the actions to it
set m [gi::createMenu "ipcTest" -title "IPC Test"]
gi::addActions {"launchIPCTestApp" "changeIPCTestAppColor1" \
"changeIPCTestAppColor2" "terminateIPCTestApp"} -to $m

And the menu is added to the main console window (window index 0):
# add the menu to the Console window
gi::addMenu $m -to [gi::getWindows 0]

Finally, each action is enabled or disabled so that the user can only activate the
action that launches the example application. The other actions will remain
disabled until after the example application is launched:
setActionEnabled "launchIPCTestApp" true
setActionEnabled "changeIPCTestAppColor1" false
setActionEnabled "changeIPCTestAppColor2" false
setActionEnabled "terminateIPCTestApp" false
}

The following short utility procedure to enables or disables actions by name.


# Utility to enable / disable actions
proc setActionEnabled { actionName enabled } {
set m [gi::getMenus ipcTest -from [gi::getWindows 0]]
set a [gi::getActions $actionName -from $m]
db::setAttr enabled -of $a -value $enabled
}

470

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


Launching from the Custom Designer Platform

See also
More about Launching from the Custom Designer Platform on page 468

Action Callbacks
The next part of the file defines the action callbacks. Whenever an action is
clicked, its callback procedure will be called.
The launch callback is used to start the external application.
# Action callback procedures
proc launch {} {
variable script_path
variable job

This small section of code assumes that the example application is contained in
the file gui.tcl and in the same directory as this script. It forms a Bourne Shell
command for launching the job.
# Here we assume that gui.tcl is in the same directory as this
# script, so we take the path to this script and replace the filename
# with gui.tcl and then we have our command.
set l [split $script_path "/"]
set l [lrange $l 0 end-1]
set l [lappend l "gui.tcl"]
set s [join $l "/"]
# This is the sh-style command-line syntax to launch the gui.tcl app
set cmd "$s > log.txt 2>&1"
set run_desc "Graphical Tcl/DP integration test application"
# start the job

The xt::createJob command on the platform launches external processes


and associates them with an xtJob in the system. It is important to note the
value of the -type argument used here. The string dp signifies a Tcl-Dp
integration and initiates the communication handshaking sequence:
set job [xt::createJob \
demo_gui \
-type dp \
-cmdLine "$cmd" \
-runDesc "$run_desc" \
-files "log.txt" \

The -exitProc argument specifies a Tcl procedure to call when the external
application exits. In this case the procedure is called exitProc:
-exitProc [namespace current]::exitProc \
Galaxy Custom Designer Platform User Guide
J-2014.12

471

Appendix C: White Paper: Integrating External Applications


Launching from the Custom Designer Platform

The -readyProc argument specifies a Tcl procedure to call when


handshaking with the external application is complete, indicating that
commands may be sent and received:
-readyProc [namespace current]::readyProc]
# set this preference so that we can see interactive jobs
# in the job monitor for debugging
db::setPrefValue xtJobMonitorInteractiveJobs -value true

After the application has been launched, the action item for launching is
disabled. This prevents the user from launching the app twice in one session:
# update the menu items
setActionEnabled "launchIPCTestApp" false
}

The next callback sends a command to the external application to change the
label color to blue.
Note the use of the -timeout argument to xt::sendCommand.
If xt::sendCommand is not given a timeout, it operates in non-blocking mode,
and does not return a value or produce an error if the command fails during
remote execution. When xt::sendCommand is given a timeout, it operates in
blocking mode, and will return the result of the sent command, or in the case of
error during remote execution, it will re-throw the error.
proc changeColor1 {} {
variable job
# the "timeout" argument causes the command to be sent in blocking
# mode, so if there is an error, we'll know about it.
# with a 0 value for timeout, the command would be sent
# in non-blocking mode and if there's a return value / error,
# it would not be detected.
xt::sendCommand "changeColor lightblue" -job $job -timeout 1
}

This callback is very similar to the previous one, and it will send a command to
the external application to change the label color to green.
proc changeColor2 {} {
variable job
xt::sendCommand "changeColor yellow" -job $job -timeout 1
}

The last callback sends the Tcl exit command to the external application. This
causes the external application to quit.

472

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


Launching from the Custom Designer Platform

proc terminate {} {
variable job
xt::sendCommand "exit" -job $job
}

See also
More about Launching from the Custom Designer Platform on page 468

Job Callbacks
The last part of the file defines the exitProc and readyProc callbacks for the job.
# xtJob callbacks
# this proc is called when the job exits
proc exitProc {job} {

The following piece of code checks the exit status of the external application. If
there was a problem during execution, it will bring up a text viewer window
displaying the log file where standard out and standard error were captured.
This helps with debugging problems that occur when starting up the external
application. If the application exited normally, there is no need to view the log
file.
# if the script fails to execute, bring up a text viewer window to
# display the job log file (if one is not already open)
if {[db::getAttr status -of $job] != "FINISHED"} {
set filename [db::getAttr files -of $job]
set windows [gi::getWindows -type \
[gi::getWindowTypes xtTextViewer]]
set text_viewer ""
db::foreach win $windows {
if {![catch {gi::getField $filename -in $win}]} {
set text_viewer $win
}
}
if {$text_viewer == ""} {
set text_viewer [xt::openTextViewer -files $filename]
}
gi::setActiveWindow $text_viewer -raise true
}

Galaxy Custom Designer Platform User Guide


J-2014.12

473

Appendix C: White Paper: Integrating External Applications


Launching from the Custom Designer Platform

When the application exits, the menu items are reset back to their original
states so that the user can re-launch, but not attempt to send commands:
# Reset the menu item
setActionEnabled
setActionEnabled
setActionEnabled
setActionEnabled
}

states
"launchIPCTestApp" true
"changeIPCTestAppColor1" false
"changeIPCTestAppColor2" false
"terminateIPCTestApp" false

As described above, the following procedure is called when the handshaking is


complete. This example enables the menu items that send commands to the
external application:
proc readyProc {job} {
# the test app is ready to receive commands, enable the menu items
setActionEnabled "changeIPCTestAppColor1" true
setActionEnabled "changeIPCTestAppColor2" true
setActionEnabled "terminateIPCTestApp" true
}

The following code defines and registers a callback that will be called whenever
a job walks up to Custom Designer.
#Walkup
proc registerWalkupProc {} {
db::createCallback "walkup" \
-callbackType "onPostWalkup" \
-procedure [namespace current]::walkupProc \
-priority 1
}

Note the signature of the postman callback: the string token to identify the
walked up app, and a special job object that was created to manage the
connection.
proc walkupProc {token walkupJob} {
variable job
if {$token == "demo_gui"} {
set job $walkupJob
setActionEnabled "launchIPCTestApp" false
setActionEnabled "changeIPCTestAppColor1" true
setActionEnabled "changeIPCTestAppColor2" true
setActionEnabled "terminateIPCTestApp" true
db::setAttr exitProc -of $job -value \
[namespace current]::exitProc
}
}

474

Galaxy Custom Designer Platform User Guide


J-2014.12

Appendix C: White Paper: Integrating External Applications


Launching from the Custom Designer Platform

Then the main flow control registers the walkup callback procedure and creates
the menu in Custom Designer:
# main flow control
registerWalkupProc
createMenu
}

See also
More about Launching from the Custom Designer Platform on page 468

Galaxy Custom Designer Platform User Guide


J-2014.12

475

Appendix C: White Paper: Integrating External Applications


Launching from the Custom Designer Platform

476

Galaxy Custom Designer Platform User Guide


J-2014.12

Index
Symbols
$EDITOR 23, 28

A
advanced print options, table 106
attribute
and hierarchy config view 355
display 234
auto-refresh, hierarchy 358

B
bindkey 27
bindkeys
command start 94
load active set 27
with infix mode 29
bookmarks
add 198
delete 200
go to 85
load 200
manage 199
rename 201
save 200

C
Calibre
DRC
run 140
Calibre Interactive
DRC
output 146
run 145
environment setup 144
LPE
custom option setup 170
extraction option setup 165
main option setup 164
output option setup 168
output viewing 171
run 171

LVS
run 157
tracking 158
canvas view options 89
CDF 263
CDF overlay 265
Component Description Format 263
component description format (CDF) 265
component summaries 101
config view 89
console
errors/warnings tab 100
standard toolbar buttons, table 2

D
design exchange format
export 74
import 51
import example, table 52
Design Navigator Assistant 202
design rule check
monitoring 146, 158
verifying results 146
with Calibre Interactive 144
design view types and documentation, table 89
designs
close 110
image export 108
print 104
redraw 91
re-open 86
save 101
device labels
assistant to manage 224
load 228
name values, table 226
save 228
scope settings, table 227
device labels terminal values, table 226
Device Palette Assistant 229, 241
device_displays.xml file 228

477

Index
E

devices, favorite 229, 241


display attribute
edit 234
display resource
colors 239
data, load 236
data, save 237
display, rename 235
editor for 232
line styles 240
new display, create 233
packet aliases 237
packets 237
stipples 240

E
edit modes 98
engineering notation 29
environment variables
for Calibre Interactive setup 144
export image options, table 108

F
fit canvas view 89

G
GDSII Stream format
export 63, 69
import 41
general preference options, table 27

H
Hercules
DRC
evaluation 149
output 148
run 138
LPE
custom option setup 170
extraction option setup 165
main option setup 164
output option setup 168
output viewing 171
run 171

478

LVS
evaluation 161
hierarchy
auto-refresh 358
configuration, creating 359
editor, opening 353
explaining 360
modifying 354
view name group 356
hierarchy navigation
assistant for 245
context issue resolution 248
opening assistant 245
highlight by name toolbar options, table 93
highlight connected toolbar options, table 94
hot key 27
HSPICE simulation expression tags, table 117

I
IC Validator
DRC
evaluation 149
output 148
run 132
LPE
custom option setup 170
extraction option setup 165
main option setup 164
output option setup 168
output viewing 171
run 171
LVS
evaluation 161
image export 108
infix mode 29
instance naming preference 28

J
job monitor
tool 248
view options, table 249
job process controls, table 251

K
key binding 27
key bindings See bindkeys

Index
L

L
layout versus schematic comparison
with Calibre Interactive 157
layout view 89
Liberty File export 74
libraries
copying 267
creating new 260
moving 269
updating name references 271
library access
adjusting 262
updating 264
library definition file statements, table 263
library exchange format
export 73
import 50
import example, table 51
library management 257
Library Manager 257
line style
display resource 239

M
markers
assistant for browsing 286, 289
external tools 287
opening assistant 286, 290
missing references 85

N
netlist
control template 115
control template markups, table 116
simulation input 115
netlist editor design options, table 370
netlist view 89
nets, reporting 202
new designs 82

O
object filter
assistant for 292
open assistant 292
schematic objects 292
symbol objects 293

object highlight 89
object layer panel
assistant 294
system groups, table 301
visible object types, table 296
object layers
assistant for (OLP) 294
opening assistant for 294
overlay 265

P
pan canvas view 89
parameter
adding 307
definition 306
editing 308
viewing 307
parameter notation preference 29
parameter overlay, enabling 262
parameter precision preference 29
parameters
in Property Editor 313
parasitic extraction 164
parastic extraction
output viewing 171
pcell caching, enabling 262
post-layout simulation
extracted view 128
process 127
Tcl preference for extracted view 128
preference options
import 31
purge 32
preferences
custom 35
default from dialog 33
general 26
prefs.xml
settings, save 34
print options
advanced 106
table 105
print queue 104
print request 104
probes
assistant for 308
cycle through 309
delete 310

479

Index
Q

details 309
opening assistant 309
properties
window assistant 311
property editing
opening assistant 311, 314

Q
query components 101
queue engine 251

R
read-only mode 98
redo 351
redraw canvas view 89
redraw designs 91
references, missing 85

S
schematic view 89
scientific notation 29
session startup command line options, table 16
sessions
end 18
start 15
shadow mode
dim design around nets 202
highlight connected layout objects 93
simulation
initialize run directory 114
input files 115
netlist 115
startup options, table 16
state
jump to 351
return to 351
save 351
stipple, display resource 239
surround brightness preference 29
symbol view 89

T
Tcl
execution 97
interface 97

480

scripts 98
Tcl sample
custom user interface 403
dialog box 383
job class 253, 255
template
hierarchy 360
text editor
design options, table 366
view type 89
text viewer 340
transaction history
assistant for 349
list 351
operations, table 351
start 350

U
undo 351

V
Verilog
format, import 53
view name group 356
view options, canvas 89
viewport switch 89

W
warnings, opening designs 85
waveform plotting options, table 123
window
custom user interface 373
write-enable mode 98

X
xt::wait, in Tcl scripts 256

Z
zoom
canvas view 89
probes 310

You might also like