Professional Documents
Culture Documents
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
iii
iv
Contents
1.
2.
xxi
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxi
Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxii
Platform Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Layout Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Design Phases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schematic Entry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Post-Layout Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Platform Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
10
Session Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Display Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Technology Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
15
Starting Sessions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
Ending Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
19
19
Contents
3.
4.
vi
22
24
25
26
30
30
31
32
33
35
36
36
38
38
Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
41
42
42
42
43
43
44
44
45
46
47
50
51
53
Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
63
69
73
74
Contents
5.
74
76
General Designing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
Creating Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
Opening Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
83
84
84
85
85
86
Navigating Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
87
88
Working on Designs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
88
89
90
90
91
91
91
92
92
94
95
96
96
97
98
Discarding Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
Processing Jobs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
Monitoring Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
100
100
100
101
vii
Contents
6.
viii
101
Saving Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
101
102
102
103
104
104
107
107
108
109
109
110
Closing Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
110
113
113
114
115
115
115
117
118
119
119
120
Generating Netlists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
120
Simulating Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
121
121
121
122
122
123
Plotting Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
123
124
Contents
7.
8.
125
125
125
126
126
127
127
128
128
131
131
132
132
138
140
141
144
146
147
148
148
149
151
151
152
157
157
158
158
159
160
160
161
ix
Contents
9.
Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
163
163
164
165
168
170
171
171
172
172
173
174
174
174
177
177
178
179
179
180
182
By Threshold Boundaries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
183
By Percentage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
184
By Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
185
187
187
188
189
190
192
193
193
Contents
195
196
198
Adding a Bookmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
198
199
199
200
200
200
201
Console Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
201
202
203
204
204
206
209
209
212
213
213
214
214
215
216
217
218
221
222
223
224
224
225
225
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
229
229
230
Placing Devices from the Palette with the Device Palette Assistant . . . .
230
231
232
232
233
233
234
235
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
241
242
242
243
244
245
245
245
247
248
248
249
249
250
251
Contents
253
253
255
256
257
258
259
260
260
262
262
264
265
267
267
269
270
271
271
272
273
275
276
277
277
278
280
282
283
284
284
284
285
286
286
287
288
288
289
xiii
Contents
xiv
289
290
290
290
291
291
291
292
292
292
293
294
294
295
297
297
298
298
299
301
301
302
303
303
304
305
306
306
307
307
308
Probe Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
308
309
309
309
310
Contents
311
311
312
313
314
316
316
317
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
326
327
Replacing Values within Search Results with the Search and Replace
Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
328
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
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
335
336
337
337
338
xv
Contents
xvi
339
340
340
341
341
342
343
343
Creating and Editing Track Patterns with the Track Pattern Assistant . . .
344
346
Renaming and Deleting Track Patterns with the Track Pattern Assistant.
346
347
349
349
350
351
353
353
354
354
355
355
356
356
357
358
358
358
359
359
360
361
363
363
Contents
364
364
367
369
369
370
371
373
373
374
375
376
377
378
378
Creating Workspaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
379
Saving Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
379
Applying Workspaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
380
Loading Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
380
381
383
383
384
385
386
387
388
389
390
391
392
xvii
Contents
A.
B.
xviii
393
Creating Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
393
394
395
396
397
398
Creating Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
398
398
Creating Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
399
399
400
403
403
412
417
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
418
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
418
Tools Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
418
PDK Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
419
PDKLib attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
419
PDKConfigPath attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
419
420
421
422
423
423
424
426
427
430
430
431
Contents
C.
432
Default Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
433
435
437
438
Custom Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
438
440
441
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
443
445
Glossary of Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
445
447
448
449
450
451
Recommendation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
451
A Sample Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
452
452
453
454
454
456
457
458
458
460
461
461
462
462
464
465
467
468
Defining a Namespace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
469
xix
Contents
xx
469
Action Callbacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
471
Job Callbacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
473
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
477
Conventions
The following conventions are used in Synopsys documentation.
Convention
Description
Courier
xxi
Customer Support
Convention
Description
Italic
Purple
[]
...
Ctrl+C
Customer Support
Customer support is available through SolvNet online customer support and
through contacting the Synopsys support center.
xxii
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.
Go to either the Synopsys SolvNet site or the Synopsys Global Support site
and open a case online (Synopsys user name and password required).
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 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.
xxiv
Customer Support
Figure 1
xxv
Customer Support
xxvi
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:
Customization on page 13
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
Button Icon
Description
Library Manager
Create Library
Creates a library
Create CellView
Creates a CellView
Open File
Copy
Paste
Schematic Editor
The Galaxy Custom Designer Schematic Editor (SE) tool offers a canvas for
placing and connecting components.
One unified platform for both cell-based and custom content speeds
complex chip design and integration tasks
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.
One unified platform for both cell-based and custom content speeds,
complex chip design, and integration tasks
Supports the IPL Alliances Interoperable PDK (iPDK) libraries for industrywide design data sharing
The Layout Editors Schematic Driven Layout feature (SDL) generates a design
layout from a schematic.
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.
Simulation on page 7
Analysis on page 8
Extraction on page 9
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
VHDL
VerilogICC
lvsSPICE
Verilog
HSIM
HSPICE
NanoSim
VHDL
Verilog
XA
Use the SE Simulation and Analysis Environment (SAE) to define and work in a
custom environment for netlisting and simulation.
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
Next phase: Design Rule Checking and Layout Versus Schematic Comparison
on page 9
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.
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:
Customization on page 13
IC Compiler format
GDSII Stream
Netlist Text
10
IC Compiler format
GDSII Stream
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
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.
Display Resources
You can use display resources to determine the visual appearance of a design
on different output devices, from monitors to plotters.
11
Using the Display Resource Editor, you can perform these operations:
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:
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
Customization
You can customize the Custom Designer platform for a seamless design
experience.
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.
13
14
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.
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>]
<string>]
15
Figure 2
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
Option
Description
-help
-libDefFile
-command
-replay
-logName
-numThreads
Table 2
Option
Description
-dynamicThreads
-loadAll
-lakerLicense
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
17
See also
More about Sessions and Settings on page 15
Ending Sessions
To end a Custom Designer session, choose one of these options:
Figure 3
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.
See also
More about Sessions and Settings on page 15
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.
19
Available Distribution
How to Customize
display.tcl
startup/startup.tcl
.cdesigner.tcl
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
Scopes
Scope
Description
install
site
project
user
local
For example, Table 5 on page 21 lists sample directories for all scopes and
the Tcl startup files they can contain.
Table 5
Sample Scope
Contents
custom_site
startup/startup.tcl
display.tcl
Display resources
.cdesigner.tcl
startup/startup.tcl
display.tcl
Display resources
.cdesigner.tcl
startup/startup.tcl
display.tcl
Display resources
custom_project
custom_user
21
Table 5
Sample Scope
Contents
user_home (~)
display.tcl
Display resources
.cdesigner.tcl
startup/startup.tcl
display.tcl
Display resources
.cdesigner.tcl
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
22
23
Directory
24
Subdirectory
Startup Files
Description
bin/cdesigner
auxx/
Auxiliary directory
Table 6
Directory
Startup Files
cdesigner/
Description
<package>/
startup.tcl
help/
fonts/
Application-specific fonts
images/
samples/
tech/
display.tcl
examples/
See also
More about Sessions and Settings on page 15
25
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:
26
Figure 4
Option Group
Description
Interface
27
Table 7
Option Group
Description
28
Table 7
Option Group
Description
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.
29
See also
More about Sessions and Settings on page 15
30
Figure 5
31
Figure 6
32
Figure 7
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
33
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.
34
35
36
<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 "
37
See also
More about Sessions and Settings on page 15
38
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 Command
Usage
gi::createBinding
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
Tcl Command
Usage
gi::createBindingSet
gi::loadBindings
gi::saveBindings
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"
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
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:
41
Chapter 3: Import
Importing Design Data in GDSII Stream Format
For example:
#lib name OA cell name view name cell name
Lib1
oa_cell1
layout
cell1
Lib2
oa_cell2
layout
cell2
Chapter 3: Import
Importing Design Data in GDSII Stream Format
For example:
#stream ID OA font name
0
EuroStyle
1
Roman
2
Gothic
3
Script
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.
43
Chapter 3: Import
Importing Design Data in GDSII Stream Format
For example:
#oaLayerName
Pimp
Metal1
(continued)
oaMaterial
pImplant
pImplant
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
For example:
#layer name
Metal1
Via1
Metal2
Via2
Metal3
layer purpose
drawing1
drawing2
drawing3
drawing4
drawing5
44
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
*
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
For example:
#stream ID object
1
Rect
2
Polygon
3
Path
name
instP11
poly1
sigName
45
Chapter 3: Import
Importing Design Data in GDSII Stream Format
46
Chapter 3: Import
Importing Design Data in GDSII Stream Format
Settings
Description
Input
Output
Settings
Description
General
47
Chapter 3: Import
Importing Design Data in GDSII Stream Format
Table 11
Settings
Description
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
Chapter 3: Import
Importing Design Data in GDSII Stream Format
Table 11
Settings
Description
4. On the Map Files tab, enter settings as described in Table 12 on page 49.
Table 12
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
Object
Property
Property Separator
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
50
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
#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
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
#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
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
53
Chapter 3: Import
Importing Design Data in Netlist Text Format
Figure 8
54
Settings
Description
Input
Chapter 3: Import
Importing Design Data in Netlist Text Format
Table 15
Settings
55
Chapter 3: Import
Importing Design Data in Netlist Text Format
Table 15
Settings
3. On the Options tab (Figure 9), enter settings as described in Table 16.
56
Chapter 3: Import
Importing Design Data in Netlist Text Format
Figure 9
Table 16
Settings
Description
General
57
Chapter 3: Import
Importing Design Data in Netlist Text Format
Table 16
Settings
Description
58
Chapter 3: Import
Importing Design Data in Netlist Text Format
Table 16
Settings
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
59
Chapter 3: Import
Importing Design Data in Netlist Text Format
Settings
Description
Symbol Views
By Name Nets
Unroutable
Connections
Placement Options
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
Chapter 3: Import
Importing Design Data in Netlist Text Format
Figure 11
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.
61
Chapter 3: Import
Importing Design Data in Netlist Text Format
Table 18
Settings
Description
6. Click OK.
The system imports the text and creates the designated views.
See also
More about Import on page 41
62
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:
63
Chapter 4: Export
Exporting Design Data in GDSII Stream Format
Figure 12
Settings
Description
Output
Input
64
Chapter 4: Export
Exporting Design Data in GDSII Stream Format
Table 19
Settings
3. Switch to the Options tab in the Export Stream dialog (Figure 13).
Figure 13
65
Chapter 4: Export
Exporting Design Data in GDSII Stream Format
Settings
Description
General
66
Chapter 4: Export
Exporting Design Data in GDSII Stream Format
Table 20
Settings
Description
5. Switch to the Map Files tab in the Export Stream dialog (Figure 14).
67
Chapter 4: Export
Exporting Design Data in GDSII Stream Format
Figure 14
6. On the Map Files tab, enter settings as described in Table 21 on page 68.
Table 21
68
Settings
Description
Layer
Layer mapping file you browse to select. Select Use Tech Lib
to search in the in the technology library.
Chapter 4: Export
Exporting Design Data in OASIS Format
Table 21
Settings
Description
Object
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
Property
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
69
Chapter 4: Export
Exporting Design Data in OASIS Format
Figure 15
Settings
Description
Output
Input
3. Switch to the Options tab in the Export OASIS dialog (Figure 16).
70
Chapter 4: Export
Exporting Design Data in OASIS Format
Figure 16
Settings
Description
General
71
Chapter 4: Export
Exporting Design Data in OASIS Format
Table 23
Settings
Description
5. Switch to the Map Files tab in the Export OASIS dialog (Figure 17).
Figure 17
72
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
Settings
Description
Cell
Cell mapping file you browse to select. Maps cell and port
names.
Layer
Object
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
73
Chapter 4: Export
Exporting Design Data in Design Exchange Format
See also
More options for design and data Export on page 63
Specify the Run Directory to receive the DEF file. The default is the current
directory.
74
Chapter 4: Export
Exporting Design Data in Liberty Library File Format
Settings
Description
Input
Output
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.
75
Chapter 4: Export
Exporting Design Data in Netlist Format
Option
Description
Netlister Format
Design to Netlist
Hierarchy Options
76
Chapter 4: Export
Exporting Design Data in Netlist Format
Option
Description
Maximum Line
Length
Indent Depth
Create Top as Module Netlists the top design (the design root) as a module.
Sort Instance
Headers
Sort Instances
Module Order
Ignore Estimated
Parasitic Devices
Print messages
Is Case Sensitive
Run Job in
Background
Incremental
Include Files
4. (Optional) If you enabled the option to flatten the netlist, enter settings on
the Flattening Options tab.
77
Chapter 4: Export
Exporting Design Data in Netlist Format
Table 28
Option
Description
Temporary CellView
Delete temporary
cellView on success
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.
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
Chapter 4: Export
Exporting Design Data in Netlist Format
See also
More options for design and data Export on page 63
79
Chapter 4: Export
Exporting Design Data in Netlist Format
80
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.
81
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
Description
Cell Name
View Name
Editor
6. Click OK.
The new design cellView opens in the associated editor.
82
Opening Designs
Open a design cellView to view or edit it.
These sections cover:
83
Preference options apply. Active cellView level option settings also apply and
take precedence.
See also
More about General Designing on page 81
See also
More about General Designing on page 81
See also
Adding a Bookmark on page 198
Bookmark Manager Tool on page 198
More about General Designing on page 81
85
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
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
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
87
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
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:
88
Table 30 on page 89 lists design view types, the data they act on, and where to
find user assistance for editing.
Table 30
View type
Design data
Reference
schematic
Schematic
symbol
Symbol
layout
Layout
config
Hierarchy
netlist
Netlist components
text editor
Hardware description
language syntax
See also
More about General Designing on page 81
89
Zooming on page 90
Fitting on page 90
Panning on page 91
Zooming
You can zoom to magnify the design view, changing the viewport scale by the
ratio of viewport pixels to database units.
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.
90
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:
See also
More about General Designing on page 81
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.
91
See also
More about General Designing on page 81
To switch context to the next viewport, choose View > Next Viewport.
See also
More about General Designing on page 81
92
Highlighting Option
Description
Type
Name
Finds the exact match for the name you enter here
Regular Expression
Color
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.
93
Option
Description
Color
Shadow Mode
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
94
Using Menus
Use window, interactive, and context menus to interact with the platform.
These sections cover:
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.
95
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.
Use the handle (vertical lines) to undock the toolbar into a floating position.
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
96
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:
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.
97
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 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.
See also
More about General Designing on page 81
98
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:
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:
99
Monitoring Processes
To monitor processes:
See also
Accessing Process Output and Command History on page 100
More about General Designing on page 81
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
100
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
Saving Designs
Save a design to retain edits made after the last save operation.
101
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
102
See also
More about General Designing on page 81
Settings
Description
Force Checks
Check Only
Prompts to save the design when errors are found, and lists
the number of errors. Otherwise, saves automatically.
Views
Exclude
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
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
104
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
Destination
Page Format
Margins
Sets the border width on all sides of the printed or plotted image.
105
Option
Description
Appearance
Size
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.
106
See also
More about General Designing on page 81
107
See also
More about General Designing on page 81
Option
Description
Source
Destination
Appearance
From the design view, by default, the cellView in the current viewport is
selected.
108
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
109
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
111
112
6
6
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:
113
114
See also
xt::showInitNew
115
Expression tag
Netlister Operation
[!filename]
[?filename]
[n!filename]
[n?filename]
116
Expression tag
[#netname]
[$instname]
[+terminal]
117
118
See also
More about Preparing for Basic Netlisting and Simulation on page 113
119
In the design schematic view, choose Simulation > Run > Netlist and
Simulate
See also
xt::runNetlistAndSimulate
Generating Netlists
Note:
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
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
121
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.
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.
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
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
Option
Description
Analysis
123
Table 39
Option
Description
Graph Options
In the design schematic view, choose Simulation > Outputs > Launch
New Viewer.
See also
xt::launchPlotViewer
124
125
In the design schematic view, choose Simulation > Outputs > Display Plot
Set.
See also
xt::displayPlotSet
126
127
128
129
130
7
Design Rule Checking
131
See also
Using the IC Validator Tool for Design Rule Checking on page 132
Using the Hercules Tool for Design Rule Checking on page 138
Using Custom DRC Jobs for Design Rule Checking on page 147
This section also covers rerunning DRCs, viewing output, and debugging the
design:
132
Settings
Description
Run Dir
Layout Format
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.
133
Table 40
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
Settings
Description
Layer Map
Select Window
Table 42
IC Validator Setup and Run Settings (Custom Options Tab) Runset Options
IC Validator Function
IC Validator
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
135
Table 42
IC Validator Setup and Run Settings (Custom Options Tab) Runset Options
IC Validator Function
IC Validator
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
Table 42
IC Validator Setup and Run Settings (Custom Options Tab) Runset Options
IC Validator Function
IC Validator
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.
c.
d. (Optional) Delete an include path by selecting it, and then clicking the
Delete button, a red x.
137
138
Settings
Description
Run Dir
Table 43
Settings
Description
Layout Format
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.
Settings
Description
Layer Map
139
Table 44
Settings
Description
Select Window
Runset Options
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
Settings
Description
Run Dir
Layout Format
Job Parameters
Tool is Calibre
Launch Debugger launches Calibre RVE tool when the
process completes, if violations are found.
141
Table 45
Settings
Description
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
Settings
Description
Layer Map
Output Runset
Table 46
Settings
Description
Results Database
Summary Report
143
See also
All about Design Rule Checking on page 131
144
c.
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.
145
Confirm the results file location, (optional) whether to show the results
in Calibre Interactive RVE, and confirm details about the DRC Summary
Report.
146
If you elected to launch Calibre RVE when you set up the DRC, RVE has
opened automatically if violations were found.
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
147
See also
All about Design Rule Checking on page 131
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
148
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.
149
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
8
8
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 the Calibre Interactive Tool for LVS Comparisons on page 157
151
(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
152
IC Validator, Hercules, Calibre LVS Setup and Run Settings (Main tab)
Settings
Description
Run Dir
Table 47
IC Validator, Hercules, Calibre LVS Setup and Run Settings (Main tab)
Settings
Description
Layout
Schematic / Config
Job Parameters
153
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
Netlister
Shows the list of views the LVS process will traverse during
netlisting.
IC Validator or
Hercules Netlisting
Options
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
6. For all tools, for OpenAccess format, on the Custom Options tab enter
settings as described in Table 49 on page 155.
Table 49
Settings
Description
Layer Map
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
Settings
Description
Output Runset
Report File
Accept or specify a new location for the LVS report file used
to capture the results of the verification.
155
Table 50
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
SVDB Directory
Generate CCI
Database
Output Netlist
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.
c.
Click Choose.
156
On the Netlist tab, confirm that this setting is selected: Export from
schematic viewer.
157
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
158
If you elected to launch RVE when you set up the LVS process, RVE has
opened automatically if violations were found.
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
159
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.
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.
161
162
9
9
Extraction
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
This chapter covers input options for parasitic extraction, and execution,
viewing and analysis after parasitic extraction.
163
Chapter 9: Extraction
Setting Options for Layout Parasitic Extraction
LPE Setup and Run Settings (Main tab) for All Tools
Settings
Description
Run Dir
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
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.
Table 52
Settings
Description
Layout Extraction
165
Chapter 9: Extraction
Setting Options for Layout Parasitic Extraction
Table 52
Settings
Description
Table 53
Settings
Description
Layout Extraction
Table 54
Settings
Description
Layout Extraction
166
Chapter 9: Extraction
Setting Options for Layout Parasitic Extraction
LPE Setup and Run Settings for All Tools (Extraction Options tab)
Settings
Description
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
Reduction
Hierarchical
Separator
Accuracy Mode
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
Case Sensitive
Couple to Ground
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.
168
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.)
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
c.
d. Enter a value.
3. Cycle through the entries using the arrow buttons.
4. Delete an entry by clicking the Delete button.
170
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.
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.
171
Chapter 9: Extraction
Analyzing Extracted Parasitic Views
172
Chapter 9: Extraction
Analyzing Extracted Parasitic Views
3. Select a net.
4.
Settings
Description
Extraction Tool
StarRC
Run Directory
Parasitic or Schematic
View
4. Click OK.
5. Continue by Viewing or Hiding Capacitance Annotations on page 174 or
Setting Parasitic Query Options on page 174.
173
Chapter 9: Extraction
Analyzing Extracted Parasitic Views
See also
More about Extraction on page 163.
174
Chapter 9: Extraction
Analyzing Extracted Parasitic Views
Query Type
Accepts
Description
Net
A net name
Net to Net
Point to Point
175
Chapter 9: Extraction
Analyzing Extracted Parasitic Views
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
Chapter 9: Extraction
Analyzing Extracted Parasitic Views
See also
More about Extraction on page 163.
177
Chapter 9: Extraction
Analyzing Extracted Parasitic Views
See also
More about Extraction on page 163.
178
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.
179
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
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
180
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:
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.
View individual bin contents by choosing from the Bin drop down list.
181
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 remove the highlight color from a violation shape in the design, click
Clear Highlights.
182
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
Distribution Methods
IR Drop
Analysis:
vmax
EM Analysis:
J/Jmax or I/
Imax
Available,
upper and
lower
thresholds
Available,
Available,
upper
upper
threshold only threshold only
Available
EM Analysis:
imax, iavg,
iabs, irms
Available
4. Continue by following the instructions for the distribution method you want
to use.
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.)
183
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
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.
185
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
11
11
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.
187
CustomSim-SPRES Setup
Settings
Description
Source Design
Results to Analyze
Destination Design
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
CustomSim-SPRES Setup
Settings
Description
Source Design
Results to Analyze
Destination Design
3. Click OK.
189
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
190
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.
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.
191
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
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.
4. Continue by following the instructions for the distribution method you want
to use.
192
See also
More about Static Power Net Resistance Analysis on page 187
193
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
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.
195
Tool or Assistant
Design Development
Constraint Editor
196
Table 63
Tool or Assistant
Design Development
197
Table 63
Tool or Assistant
Design Development
Defines and applies track patterns for correct-byconstruction design. Available with Layout Editor
Plus.
198
199
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
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.
201
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 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
Navigate designs
Locate components
Rename components
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
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:
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
203
After you locate components, you can work with them. See Manipulating
Components with the Design Navigator on page 209.
204
Description
Insts
Nets
Terms
Table 64
Tab
Symbol
Description
Groups
Reference
Arrow
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.
5. (Optional) Filter the list to show only the currently highlighted names by
clicking the Filter Selected button:
205
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
Action
Select in Design
Deselect in Design
After you list components by type, you can work with them. See Manipulating
Components with the Design Navigator on page 209.
206
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
Option
Description
All Instances
Unplaced Instances
207
Table 67 on page 208 lists Design Navigator Nets tab menu options.
Table 67
Option
Description
All Nets
Lists all nets in the currently edited design. This list changes
as you adjust the hierarchical context.
Unrouted Nets
Net by Group
Lists nets as grouped into net groups. Lists any nets not
contained in a group under the heading Ungrouped.
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
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.
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.
209
Table 68
Button
Description
Descend
Fit
Select in Design
Deselect in Design
Select Connected
Table 69
Button
210
Placement Status
Extract Parasitics
Delete Instances
Description
Fit
Table 69
Button
Description
Select Shapes in
Design
Deselect Shapes in
Design
Select Instances
Add to Group
Report Nets
Check EM and
Resistance
Report Resistance
Create Constraint
211
Table 70
Button
Description
Fit
Select Shapes in
Design
Deselect Shapes in
Design
Delete Pins
212
See also
More about using the Design Navigator Assistant on page 202
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
213
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.
214
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
215
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
See also
More about using the Design Navigator Assistant on page 202
216
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
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.
217
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.
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.
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.
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
Select in Design
Deselect in Design
Highlight Peer
Group
Edit in Group
Shadow Selected
Peer Groups
Pop-Up Menu
Figure Group
219
Table 73
Icon
Pop-Up Menu
Synchronous Group
Instance
Table 74
Description
Sync to Peers
Ungroup
Table 75
220
Description
Delete
Table 76
Instance Menu
Description
Descend
Select Connected
Deselect Connected
Placement Status
Delete Instances
See also
More about Working with Figure Groups in the Design Navigator on
page 216
221
(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.
222
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
223
See also
More about using the Working with Figure Groups in the Design Navigator
on page 216
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
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
See also
More about using 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.
See also
More about using the Device Label Editor Assistant on page 224
225
Table 77 on page 226 lists, and describes, Device Label Editor name
values.
Table 77
Name Value
Description
Instance
Cell
Default
None
Table 78 on page 226 lists, and describes, Device Label Editor terminal values.
Table 78
Terminal Value
Description
Name
Net Name
Default
None
See also
More about using the Device Label Editor Assistant on page 224
226
Scope
Application of settings
Instance
Design
Master
Library
227
See also
More about using the Device Label Editor Assistant on page 224
228
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
Placing Devices from the Palette with the Device Palette Assistant on
page 230
229
See also
More about using the Device Palette Assistant on page 229
230
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
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.
3. Click OK.
231
See also
More about using the Device Palette Assistant on page 229
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
232
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
233
234
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
235
236
See also
More about Managing Display Resources with the Display Resource Editor
on page 235
237
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
238
See also
More about Creating Display Packets and Packet Aliases with the Display
Resource Editor on page 237
239
See also
More about Creating Colors, Stipples, and Line Styles with the Display
Resource Editor on page 239
240
Querying Resistance Values and Adding from Layout with the Estimated
Parasitics Assistant on page 243
241
See also
More about using the Estimated Parasitics Assistant on page 241
242
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
Click the
icon to the right of the Select Net field to bring up the
layout design.
243
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
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
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.
245
Figure 18
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
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.
247
See also
More about using the Hierarchy Navigator Assistant on page 245
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.
See also
More about using the Hierarchy Navigator Assistant on page 245
248
Viewing Running Job Processes with the Job Monitor on page 249
Applying Job Process Controls through the Job Monitor on page 250
See also
All about using the Job Monitor Tool on page 248
Option
Description
Job
Status
249
Table 80
Option
Description
Host
Name of host associated with this job, with local host noted if the
job is running on this system
Run Description
Type
Type of job
Start Time
End Time
Process ID
Output Files
Expected output files from this job as defined when the job was
created
Job Types
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
250
(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
Option
Description
Suspend
Resume
Kill
View Output
Delete
Delete All
Completed
251
Option
Description
Job Class
Class Settings
Status Interval
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
See also
More about using the Job Monitor Tool on page 248
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
253
Figure 19
254
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
Figure 20
255
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
256
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
}
257
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.
Controlling Library Availability with the Library Manager Tool on page 262
Managing Duplicate Name Conflicts with the Library Manager on page 283
From the Console or any open design window, choose Tools > Library
Manager.
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
See also
All about using the Library Manager Tool on page 257
Library Attributes
Attribute
Description
Name
Technology Library
DMSystem
Library Directory
Library Protection
259
Table 83
Library Attributes
Attribute
Description
Access Mode
Library Attributes
See also
More about using the Library Manager Tool on page 257
260
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.
Settings
Description
Technology
261
Table 84
Settings
Description
Enable Pcell
Caching
6. Click OK.
See also
More about using the Library Manager Tool on page 257
262
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
Statement
Description
ASSIGN
<library_name> <attribute_name> <attribute_value>
DEFINE
<library_logical_name_or_label> <path_to_the_library>
SOFTINCLUDE <path_to_the_included_file>
263
Table 85
Statement
Description
UNDEFINE <libraryName>
264
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
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.
265
Figure 21
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
See also
More about Controlling Library Availability with the Library Manager Tool on
page 262
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.
Setting
Description
Source
The source library to copy. Filter the list to specify the source library or
directly select the library name.
Destination
267
Table 86
Setting
Description
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
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.
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.
269
Table 87
Settings
Description
Options
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
271
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.
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
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:
273
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.
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
4. Click OK.
274
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:
275
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
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:
Select the cell by name, right-click the mouse, and choose 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
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.
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
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:
278
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.
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
279
Table 90
Settings
Description
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:
280
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
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.
281
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:
282
Select the cellView by name, right-click the mouse, and choose Delete.
If you are moving or copying cells, and you want to select individual
cellViews for the operation, click Manage Views.
3. In the Conflicts dialog box, click Copy, Move, or Overwrite to confirm your
selections, and complete the operation.
283
See also
More about using the Library Manager Tool on page 257
284
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.
To move a category under another category, select its name, and drag
and drop it onto the name of the target category.
285
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
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
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
See also
More about using the Marker Browser Assistant
287
Error
Warning
Information
Annotation
Fatal Error
Critical Error
Acknowledge Warning
See also
More about using the Marker Browser Assistant on page 286
288
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
Checking and saving the design with Design > Check and Save.
See also
More about using the Marker Browser Assistant on page 286
All about General Designing on page 81
289
In any design window, choose Window > Assistants > Net Tracer.
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.
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.
Double-click the net name in the Nets section of the Net Tracer assistant.
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.
291
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
292
293
See also
More about using the Object Filter Assistant on page 292
Managing Object Layer Groups with the Object Layer Panel on page 301
Controlling Via Selection Settings in the Object Layer Panel on page 304
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
See next
More about using the Object/Layer Panel Assistant on page 294
Set all objects to be visible by clicking the button for this purpose in the
OLP toolbar.
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).
295
Figure 22
Table 92 on page 296 lists and describes visible objects and their
corresponding OpenAccess data types.
Table 92
296
Object Type
Always visible?
Instance
outline
oaInst
Array
outline
oaArrayInst
Scalar
outline
oaScalarInst
Via
Yes
oaVia
Custom
Yes
oaCustomVia
Standard
Yes
oaStandardIVa
See also
More about using the Object/Layer Panel Assistant on page 294
297
Figure 23
See also
More about using the Object/Layer Panel Assistant on page 294
Layer Number lists the LPPs by layer, and purpose number as defined
in the technology database.
See also
More about using the Object/Layer Panel Assistant on page 294
298
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.
4. Right-click the mouse, and apply the operation of your choice to the selected
LPP group:
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.
See also
More about using the Object/Layer Panel Assistant on page 294
299
Column
Description
Layer Blockages
Route Guides
Track Patterns
Shows the track pattern for this layer, and whether it is active
(white background) or inactive (gray background).
Routing Grid
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
See also
More about using the Object/Layer Panel Assistant on page 294
Setting Visibility and Selectability for Object Layer Groups on page 301
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.
301
Table 94
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
302
See also
More about using the Object/Layer Panel Assistant on page 294
Rename the group by choosing Edit > Rename, and entering a new
name.
303
See also
More about using the Object/Layer Panel Assistant on page 294
304
Setting Option
Description
Normal
See also
More about using the Object/Layer Panel Assistant on page 294
Setting Options
Description
Normal
305
See also
More about using the Object/Layer Panel Assistant on page 294
306
For a selected cell in the Library Manager, point to the cell, right-click, and
choose Edit > Parameter Definitions.
See next
More about using the Parameter Definition Editor Tool on page 306
307
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
Cycling through Probed Objects with the Probe Assistant on page 309
Viewing Probed Object Details with the Probe Assistant on page 309
See next
More about using the Probe Assistant on page 308
309
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
310
See also
More about using the Probe Assistant on page 308
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
In any design window, choose Window > Assistants > Property Editor.
311
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
312
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.
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
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.
313
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.
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.
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
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
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
Visibility
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.
315
See also
More about using the Property Editor Assistant on page 311
See also
More about using the Property Editor Assistant on page 311
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
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
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
317
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
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
318
See also
More about using the Search and Replace Tool on page 317
319
See also
More about using the Search and Replace Tool on page 317
Match Type
Description
Exact
Reg Expr
Wildcard
320
Scope
Description
Design
Selection Set
Design Hierarchy
Library
All 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
321
Description
Instance Arrays
Vias
322
Nets
Pins
Layout Shapes
Text
Connection Definitions
Connection Assignments
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.
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
Equality
Pattern Match
=~
!~
Inequality
!=
Less Than
<
Greater Than
>
Less Than or
Equal
<=
Greater Than or
Equal
>=
323
Symbol
isDefault
isNotDefault
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
324
Description
Prev
Next
Replace
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
325
Description
Clear
Description
Right-click, and choose Edit Opens the selected design object for editing in place
in Place
Right-click, and choose Fit
See also
More about using the Search and Replace Tool on page 317
326
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
To replace values as a batch operation for all items in this scope, click
Select All and then click Replace.
327
328
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
329
See also
More about using the Search and Replace Tool on page 317
330
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
331
See also
More about using the Search and Replace Tool on page 317
Match: Wildcard
LPP: m*
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:
333
Directly enter m* p* into the LPP field instead of using the list box.
Match: Wildcard
LPP: m* p*
See also
More about using the Search and Replace Tool on page 317
334
c.
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)
335
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
336
See next
More about using the Technology Manager Tool on page 336
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
337
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
338
See also
More about using the Technology Manager Tool on page 336
339
See also
More about using the Technology Manager Tool on page 336
340
Viewing Job Process Text with the Text Viewer on page 341
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
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 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 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]
341
See also
More about using the Text Viewer Tool on page 340
342
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
Assigning New Definitions with the Track Pattern Assistant on page 349
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
343
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 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
344
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.
Description
Name
Definition
Track Attributes
Offset
Block Pitch
Visible
Active
Bbox
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.
345
See also
More about using the Track Pattern Assistant on page 342
346
To rename the track pattern, choose Rename and enter a new name
here.
Type
Default
347
Reserved
Non-Reserved
Width
Layer
Purpose
Tracks
Track Pitch
Offset
Block Pitch
Orientation
Visible
348
Horizontal
Vertical
Active
4. Click OK.
See also
More about using the Track Pattern Assistant on page 342
349
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:
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.
350
See also
More about using the Transaction History Assistant on page 349
See also
More about using the Transaction History Assistant on page 349
351
352
13
Hierarchy Configurations
13
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:
Open the config view of a schematic, and choose Tools > Hierarchy Editor.
353
See also
More about Hierarchy Configurations 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.
See also
More about Hierarchy Configurations on page 353
355
See also
More about Hierarchy Configurations on page 353
356
The system validates all changes and, for invalid edits, reports errors.
4. Click OK.
See also
More about Hierarchy Configurations on page 353
Description
Refresh
View Columns
4. Click OK.
357
See also
More about Hierarchy Configurations on page 353
See also
More about Hierarchy Configurations 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
358
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
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
359
360
See also
More about Hierarchy Configurations on page 353
361
362
14
14
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.
363
From the Library Manager, create the new cellView, and choose an
associated Text Editor from the list.
See Creating Designs on page 82.
See also
Opening an HDL Text Editor View on page 364
More about HDL Text Editor on page 363
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
364
Figure 24
3. In the Text Design Options dialog box, specify Text Design Options.
365
Description
Instance
BIndings
Device Mapping
File Path specifies the path to the device mapping file. (For
SPICE/CDL.)
Hierarchy
Cross Check
Views (when
check marked)
Severity
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
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
367
368
15
15
You can work with netlist design representations when you do not need to use
the canvas.
369
See also
Setting Netlist Editor Design Options on page 370
More about Netlist Format Designs on page 369
Description
Hierarchy
View Switch List specifies the list of top level views you want to
switch into
Cross Check
Views (when
check marked)
Severity
370
See also
Working with a Netlist View on page 371
More about Netlist Format Designs on page 369
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
371
372
16
16
Moving and Deleting Menus and Toolbars in Custom Windows on page 377
373
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
See also
More about Custom Windows and Workspaces on page 373
375
See also
More about Custom Windows and Workspaces on page 373
376
See also
More about Custom Windows and Workspaces on page 373
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.
377
See also
More about Custom Windows and Workspaces on page 373
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
378
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.
379
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:
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
See also
More about Custom Windows and Workspaces on page 373
See also
More about Custom Windows and Workspaces on page 373
381
382
17
17
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.
Dialog
383
Tab Group
Group
File Input
Library Input
Text Input
Checkable Group
Boolean Input
Mutex Input
Layout Adjustment
384
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:
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
385
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
Boolean
Input
File Input
Library
Input
List box
List Input
Mutually
exclusive
(mutex)
input
Number
Number
Input
Text entry
386
2. Choose an option:
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
387
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:
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
388
Example 4
Library Input Widget
set library [dm::createLibInput library -parent $mainOptions \
-label "Target Library:" -prefName dbSpiceReaderLibName]
2. Choose an option:
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
389
2. Choose an option:
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
390
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:
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
391
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
2. Choose an option:
392
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
Widget
Group
Inline Group
Tab Group
Checkable
Group
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.
393
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:
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
394
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
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.
395
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
396
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.
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
397
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:
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
398
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:
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
399
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
400
2. Choose an option:
See also
Sample GUI for Creating a Symbol from a Spice Netlist on page 403
401
402
A
A
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.
403
#########################################
# 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
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} {
405
406
407
408
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]
409
set
set
###
###
###
set
410
### 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
[db::getPrefValue dbSpiceReaderDialogGeometry]
}
}
See also
More about Tcl Sample: Custom Graphic User Interfaces on page 403
412
413
414
See also
More about Tcl Sample: Custom Graphic User Interfaces on page 403
415
416
B
B
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.
417
Introduction
This application note describes:
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
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
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
419
DEFINE
ASSIGN
DEFINE
ASSIGN
reference40nm
reference40nm
reference40nm
reference40nm
$ref40PDK/reference40nm
PDKConfigPath $ref40PDK/pdk.xml
$ref40PDK/reference40nm
PDKConfigPath $ref_40/current/pdk.xml
420
Figure 25
421
Table 114 on page 422 list and describes file-format element attributes.
Table 114 File-Format Element Attributes
Attribute
Type
Description
name
string
version
decimal
Example:
<file-format name="synopsysPDK" version="1.0">
See also
More Configuration File Elements on page 420
Type
Description
name
string
default
boolean
Example:
<process name="reference40nm" title="Sample pdk.xml">
422
Type
Description
name
string
prePrefix
string
Example:
<application name="PVE" prefPrefix="xt">
See also
More Configuration File Elements on page 420
423
Table 117 on page 424 lists and describes variant element attributes.
Table 117 Variant Element Attributes
Attribute
Type
Description
name
string
default
boolean
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
424
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
prefId
string
type
string
title
string
windowTypes
string
DRC
leLayout
LVS
leLayout, seSchematic
LPE
leLayout
425
Example:
<pveJob name="density" jobType="DRC" title="Density"
windowTypes="leLayout">
See also
More Configuration File Elements on page 420
Type
Description
name
string
default
boolean
Example:
<tool name="ICV" default="true">
426
See also
More Configuration File Elements on page 420
Type
Description
name
string
valueType
string
visible
boolean
mutable
boolean
required
boolean
Preference
application/pref
prefPrefix+prefName
427
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
428
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
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.
429
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
Type
Description
name
string
binding
string
icon
string
See also
More Configuration File Elements on page 420
430
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
Type
Description
visible
boolean
mutable
boolean
required
boolean
The following attributes are added to the item element for representing values
for custom preferences xtJobToolVariables and
xtJobToolRunsetOptions.
431
Type
Description
name
string
valueType
string
scope
string
section
string
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
432
Figure 26
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
433
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
435
436
See also
More Default Interfaces on page 433
437
See also
More Default Interfaces on page 433
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
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.
439
440
See Also
See also Default Interfaces on page 433
process
variant
default
true
default:
false
true
default:
false
pveJob
binding
action
tool
preference
item
true
default:
false
<userdefined
bindkey>
441
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
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
443
444
C
C
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.
445
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
See also
More about this White Paper: Integrating External Applications on page 445
Figure 27
447
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:
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
449
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.
450
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.
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.
451
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.
452
453
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
Then, we create three sets of labels and entry fields to put inside of the frame:
454
label
entry
label
entry
label
entry
.f1.l1
.f1.e1
.f1.l2
.f1.e2
.f1.l3
.f1.e3
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
-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\]"
}
455
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
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 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
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
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 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\]\]"
}
457
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 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
458
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
The widgets are laid out in a grid within the housing frame:
grid
grid
grid
grid
grid
grid
grid
grid
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
get]]
get]]
get]]
get]]
459
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
.f6.l1
.f6.e1
.f6.l2
.f6.e2
460
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
461
See also
More about A Sample Integration on page 452
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
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
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."
}
}
463
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
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 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"
465
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]
Now that the listening port was created and callbacks are set, the application
can operate in two different modes:
#
#
#
#
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
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
See also
More about A Sample Integration on page 452
467
See also
More about this White Paper: Integrating External Applications on page 445
Figure 28
Example Menu
468
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
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
469
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
}
470
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 -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
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
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
}
473
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
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
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
475
476
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
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