Uploaded by 1598419401

TCL

advertisement
Laker³ Tcl Reference Manual
Version K-2015.06, June 2015
Copyright and Proprietary Information Notice
© 2015 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary information that is
the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and may be used or
copied only in accordance with the terms of the license agreement. No part of the software and documentation may be reproduced,
transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without prior written
permission of Synopsys, Inc., or as expressly provided by the license agreement.
Destination Control Statement
All technical data contained in this publication is subject to the export control laws of the United States of America.
Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader’s responsibility to
determine the applicable regulations and to comply with them.
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH
REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys, as set forth at
http://www.synopsys.com/Company/Pages/Trademarks.aspx.
All other product or company names may be trademarks of their respective owners.
Synopsys, Inc.
690 E. Middlefield Road
Mountain View, CA 94043
www.synopsys.com
ii
Laker³ Tcl Reference Manual
K-2015.06
Contents
1.
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
x
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Getting Started with Tcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Running Tcl Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Tcl Commands and Command Substitution. . . . . . . . . . . . . . . . . . . . . . .
2
Tcl Variables and Variable Substitution . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Tcl Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Basic Flow Control (if, while, for, foreach) . . . . . . . . . . . . . . . . . . . . . . . .
if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
foreach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
4
5
5
5
Data Structures: Lists and Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
Built-in Commands and Math Functions in Tcl. . . . . . . . . . . . . . . . . . . . .
7
Loading a Tcl Script File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Laker and Tcl/Tk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Tk Command Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Invoking Laker from Another Tk Application. . . . . . . . . . . . . . . . . . .
Invoking Commands from Another Tk Application . . . . . . . . . . . . . .
Sending Command to Laker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Getting System-assigned Tk Name . . . . . . . . . . . . . . . . . . . . . . . . .
Adding Event Callbacks to the Tk Application . . . . . . . . . . . . . . . . .
Replaying Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tk Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
13
13
13
15
15
16
18
18
Socket Command Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Environment Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setting Up Laker as a Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setting Up a Client Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tcl Commands for Socket Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
19
20
20
21
iii
Contents
2.
3.
4.
iv
Integration Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
Application Programming Interface (API) References . . . . . . . . . . . . . . . . . . .
25
General Tcl Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
New Data Types and Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
Bounding Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
Point List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
Basic User-definable Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
GUI Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
Bottom-Up Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
Global Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
Form and Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
Pre-processing Tcl Callback Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
121
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
126
Database Extensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
143
Database Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
144
Database Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
144
Object Access Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
145
Library Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
147
Cell View Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
163
Tcl PCells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
185
Shape Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
197
Shape Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
214
Instances and Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
219
Figure Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
225
Accessory Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
253
Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
254
Contents
Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
260
Logic Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
266
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
281
General Object Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
288
Parameterized Test Structure Devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
334
Schematic Object Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
343
DFM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
349
Technology File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
351
Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
373
File Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
373
Library Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
435
Category Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
466
Cell Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
470
Floorplan Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
479
Options Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
482
Symbol Callback Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
530
Netlist Procedure Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
532
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
540
6.
Library Mapping Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
583
7.
Layout Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
591
Cell Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
592
View Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
606
Create Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
628
Edit Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
684
SDL Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
730
MCell Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
748
Options Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
798
Query Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
826
5.
v
Contents
vi
EIP Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
880
Verification Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
886
Placer Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
920
Router Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
950
Window Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1013
Schematic Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1018
UDD Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1023
DFM Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1039
Selection Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1040
Highlight Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1055
User Entry Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1069
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1074
8.
Custom Digital Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1119
9.
Automatic Place and Route (APR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1195
10. Design Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1337
11. Matching Device Creator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1381
12. Stick Diagram Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1461
13. Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1491
Cell Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1491
View Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1504
Create Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1513
Edit Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1535
Options Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1548
Query Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1550
Check Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1560
Contents
Tools Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1574
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1587
14. Symbol Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1601
Cell Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1601
View Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1605
Create Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1610
Edit Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1623
Query Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1634
Options Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1641
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1644
15. Hierarchy Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1647
A.
Symbol Callback Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1657
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1657
Attaching Tcl Procedures to Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1657
Attaching Tcl File to Symbol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1657
Attaching Tcl Procedure to Symbol’s Parameter . . . . . . . . . . . . . . . . . . .
1658
Callback Working Scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1659
Callback Procedure Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1659
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1661
vii
Contents
viii
About This Manual
The Laker3 Tcl Reference Manual covers general Tcl commands for Tk and Cbased applications, and the definable Tcl commands to access the database
and the Graphical User Interface (GUI) which applied within the Laker3.
Audience
The audience for this manual includes physical layout and circuit designers and
CAD support groups with general proficiency in Tcl. These audiences use
Laker Tcl commands for both layout design optimizing and design environment
customizing.
Related Publications
For additional information about this product, see
■
Documentation installed with the software and available through the Help
menu in any window
■
Release Notes, available on SolvNet (see Accessing SolvNet on page xi)
■
Documentation on the Web, which provides PDF documents and is
available on SolvNet (see Accessing SolvNet on page xi)
Conventions
The following conventions are used in Synopsys documentation.
Convention
Description
Courier
Indicates command syntax.
Laker³ Tcl Reference Manual
K-2015.06
ix
Customer Support
Convention
Description
Italic
Indicates a user-defined value, such as object_name.
Purple
■
■
Within an example, indicates information of special
interest.
Within a command-syntax section, indicates a default
value, such as:
include_enclosing = true | false
Bold
■
■
[]
Within syntax and examples, indicates user input—text
you type verbatim.
Indicates a graphical user interface (GUI) element that has
an action associated with it.
Denotes optional parameters, such as:
write_file [-f filename]
...
Indicates that parameters can be repeated as many times as
necessary:
pin1 pin2 ... pinN
|
Indicates a choice among alternatives, such as
low | medium | high
\
Indicates a continuation of a command line.
/
Indicates levels of directory structure.
Edit > Copy
Indicates a path to a menu command, such as opening the
Edit menu and choosing Copy.
Ctrl+C
Indicates a keyboard combination, such as holding down the
Ctrl key and pressing the C key.
Customer Support
Customer support is available through the Synopsys SolvNet customer support
website and by contacting the Synopsys support center.
x
Laker³ Tcl Reference Manual
K-2015.06
Customer Support
Accessing SolvNet
The SolvNet support site includes an electronic knowledge base of technical
articles and answers to frequently asked questions about Synopsys tools. The
site 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 the SolvNet site:
1. Go to the 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.)
If you need help using the site, click Help on the menu bar.
Contacting Synopsys Support
If you have problems, questions, or suggestions, you can contact Synopsys
support in the following ways:
■
Go to the Synopsys Global Support site on synopsys.com. There you can
find e-mail addresses and telephone numbers for Synopsys support centers
throughout the world.
■
Go to either the Synopsys SolvNet site or the Synopsys Global Support site
and open a case online (Synopsys user name and password required).
Laker³ Tcl Reference Manual
K-2015.06
xi
Customer Support
xii
Laker³ Tcl Reference Manual
K-2015.06
1
Introduction
1
This chapter introduces the essential elements of Tcl and explains how to invoke
and replay the commands.
Tcl stands for Tool Command Language. It is a simple, embeddable scripting
language for controlling and extending applications. Like other scripting
languages, Tcl provides programmability that allows you to build up compound
scripts to complete a task.
Laker’s Tcl programming functions with 6-digit floating number. For example, a
floating number 0.0000015 is rounded off to 0.000002 during value
evaluation.
You can have a test in the message frame of the Home Page by typing the
following example:
set
set
puts
puts
a 0.0000015
=> 0.0000015
b [expr 1.0*$a]
=>1.5e-06
[format "%10.8f" $b] =>0.00000150
[format "%10.6f" $b] => 0.000002
This chapter contains the following sections:
■
Getting Started with Tcl
■
Laker and Tcl/Tk
■
Application Programming Interface (API) References
Laker³ Tcl Reference Manual
K-2015.06
1
Chapter 1: Introduction
Getting Started with Tcl
Getting Started with Tcl
This section briefly introduces the essential elements of Tcl programs with the
following sections:
■
Running Tcl Programs
■
Tcl Commands and Command Substitution
■
Tcl Variables and Variable Substitution
■
Tcl Procedures
■
Basic Flow Control (if, while, for, foreach)
■
Data Structures: Lists and Arrays
■
Built-in Commands and Math Functions in Tcl
■
Loading a Tcl Script File
Running Tcl Programs
Since Tcl is an interpreted language, to run a Tcl program, users can pass the
script file to the Tcl interpreters, tclsh and wish. To leave the program, use
the exit command.
Tcl Commands and Command Substitution
Tcl is a string-based, interpreted command language with a simple structure.
Each line begins with a command and a number of arguments. Each command
is implemented as a C function or is defined as a Tcl procedure. This function is
responsible for handling all the arguments.
The basic syntax for a Tcl command is as follows:
command arg1 arg2 ...
The command is either the name of a built-in command or a Tcl procedure
name. White space is used to separate the command name and its arguments.
arg1 and arg2 are the first two arguments of this command.
Nested commands are allowed in a Tcl script. To write a nested command, the
command must be placed in a pair of brackets. The Tcl interpreter replaces the
2
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Getting Started with Tcl
outer command by substituting the nested command with its result. For
example:
format “\”%s\” size = %d” $fName [file size $fName]
The Tcl interpreter replaces [file size $fName] with its result for the
format command.
Tcl Variables and Variable Substitution
Variables in Tcl can be considered as boxes in which various types of data can
be stored. These variables are given names, which are then used to access the
values stored in them.
Tcl variables need not be declared before they are used. These variables are
simply created when they are first assigned values, using the set command,
as illustrated below.
set varName varValue
Tcl variables can be deleted by using the unset command as follows:
unset varName
The value stored in a variable can be accessed by prefacing the variable name
with a dollar sign (“$”). This is known as Variable Substitution, and is described
as follows.
set
set
set
set
set
set
set
a 100
b 200
sum1 [expr
sum2 [expr
1 100
sum3 [expr
sum3 [expr
$a+$b]
$sum1+100]
1+2]; #return 3
$1+2]; #return 102
Tcl Procedures
Procedures are Tcl built-in commands that can be defined at any time and
users can pass arguments by value. By default, the return value from a
procedure is the result of the last statement in its body. However, the return
command may be used to return another value. If an argument is assigned to
the return command, then the value of this argument becomes the result of
the procedure.
Laker³ Tcl Reference Manual
K-2015.06
3
Chapter 1: Introduction
Getting Started with Tcl
The following example is a Tcl procedure computing the sum of the values of
two arguments and returning the sum.
proc sum {arg1 arg2} {
set r [expr $arg1+$arg2]
return $r
}
The procedure, starts with the proc command, is followed by argument(s) and
a procedure body. These arguments are separated by white spaces, and the
procedure body is a group of Tcl commands. After a procedure is declared, it is
considered a Tcl command. For example:
sum 1 2
The result 3 is then returned.
Basic Flow Control (if, while, for, foreach)
Tcl offers decision-making construct (if-statement) and looping constructs
(while, for, and foreach statements), both of which can change the flow of
execution in response to some conditions.
These constructs are explained in the following sections:
■
if
■
while
■
for
■
foreach
if
This command executes scripts conditionally. The syntax of the if command
is:
if bool then body1 else body2
where bool is a Boolean expression; and body1 and body2 are the command
body. The following is a simple example of the if command.
4
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Getting Started with Tcl
set r [expr $b%10]
set q [expr $b/10]
if {$r >= 5} then {
set b [expr ($q+1)*10]
} else {
set b [expr $q*10]
}
while
This command executes script repeatedly as long as a condition is met. The
syntax of the while command is:
while bool body
where bool is a Boolean expression, and body is the command body. The
following is an example of the while command.
## calculate the sum of all even positive
## integers smaller than or equal to 1000
set a 0
set sum 0
while {$a <= 1000} {
set sum [expr $sum+$a]
set a [expr $a + 2]
}
for
This is a looping command. The syntax of the for command is:
for init bool step body
where init is a command body to initialize the for loop; bool is a Boolean
expression; step is a command body which is executed after body; and body
is a loop body. The following is a simple example of the for command.
## calculate the sum of all even positive
## integers smaller than or equal to 1000
for {set a 0; set sum 0} {$a <= 1000} {set a [expr $a + 2]} {
set sum [expr $sum + $a]
}
foreach
This command iterates over all elements in a list. The syntax of the foreach
command is:
foreach var valueList body
Laker³ Tcl Reference Manual
K-2015.06
5
Chapter 1: Introduction
Getting Started with Tcl
where var is a variable used to hold each element in valueList for each
loop, and body is executed once for each element in valueList. The
following is a simple example of the foreach command.
## calculate the sum of all even positive
## integers smaller than or equal to 1000
set L [list]
for {set a 0} {$a <= 1000} {incr a 2} {
lappend L $a
}
set sum 0
foreach b $L {
set sum [expr $sum + $b]
}
Data Structures: Lists and Arrays
Tcl supports two primitive data structures: lists and arrays. Lists provide a
simple means by which to group collections of elements, and deal with the
collection as a single entity. In Tcl, lists are represented as strings with a
specified format and interpretation. The elements of a list are also strings
enclosed by left and right braces, and are separated by white space(s).
For example, {1 2 a {3 {4 5} 6} “bcd ef” 7 {g h}} is a list with
seven elements; they are 1, 2, a, {3 {4 5} 6}, “bcd ef”, 7, and {g h}.
The forth element is a list with three elements, and the fifth element is a string
“bcd ef”.
Another way of grouping data in Tcl is to use arrays. Arrays are collections of
elements in which each element is given a unique string index. The element of
an array may be referred to by using the array name, followed immediately by
the index of the element, enclosed in parentheses. For example:
ArrName(stringIdx)
Array elements are treated much like any other Tcl variables. They are created
by means of the set command, and their values can be substituted using the
dollar sign “$”. White spaces may not be used as part of the string index
because they often cause confusion.
The usage of a list and an array is presented in the example below. This
example completes the task to store 100 integers (from 0 to 99) to a list (or an
array) and computes the sum of the list (or array).
6
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Getting Started with Tcl
## example of list usage
set List [list]; #make an empty list
set num 0
while {$num < 100} {
lappend List $num; #append num to List
incr num
}
set sum 0
foreach element $List {
set sum [expr $sum + $element]
}
puts “sum = $sum”
## example of array usage
set idx 0
while {$idx < 100} {
set Arr($idx) $idx; #save 0 to Arr(0), 1 to Arr(1), ...
incr idx
}
set sum 0
set idx 0
while {$idx < 100} {
set sum [expr $sum + $Arr($idx)]
incr idx
}
puts “sum = $sum”
Like strings, there are plenty of commands to manipulate lists and arrays. For
more details on list and array manipulations, please refer to the reference
books introducing Tcl programming.
Built-in Commands and Math Functions in Tcl
The following table lists the built-in commands in Tcl and their descriptions.
Command
Description
after
Set up commands to be run in the future.
append
Append values to some variable’s value without spaces.
array
Query the information about array variables.
break
Force to exit from a loop.
catch
Trap errors raised by a command.
Laker³ Tcl Reference Manual
K-2015.06
7
Chapter 1: Introduction
Getting Started with Tcl
8
Command
Description
cd
Change current working directory.
clock
Get time and make a date string according to some format string.
close
Close an I/O channel.
concat
Concatenate arguments with spaces separating them.
continue
Skip current loop and run next loop immediately.
error
Raise an error to halt the execution of the Tcl script.
eof
Determine end-of-file status of a channel.
eval
Run the Tcl command that is made by the arguments of this
command.
exec
Run the UNIX program in Tcl.
exit
Terminate the process.
expr
Analyze and compute a Tcl math expression.
fblocked
Query whether the data is ready on some channel or not.
fconfigure
Query the status of a channel.
fcopy
Copy data from one channel to another.
file
Query file information.
fileevent
Register a procedure for an I/O channel event.
flush
Force data in the channel buffer outputted.
for
Construct loops.
foreach
Construct loops.
format
Make a string by a conversion format string and arguments.
gets
Get a line of input.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Getting Started with Tcl
Command
Description
global
Declare global variables.
if
Execute the then-clause commands if the condition is true; otherwise,
execute the else-clause commands.
incr
Increase the value of a variable with an integer amount.
info
Query the Tcl interpreter about the information of variables,
procedures, commands, etc.
join
Concatenate elements of a list together into a string with a string
separating them.
lappend
Append elements to a list.
lindex
Get an element from a list by its index.
linsert
Insert values into a list.
list
Create a list.
llength
Measure the length of a list.
lrange
Get a range of elements from a list.
lreplace
Replace a range of list elements with some value.
lsearch
Search an element in a list.
lsort
Sort elements of a list with some order.
open
Open an I/O channel.
pid
Get process identifier.
proc
Declare a user-define procedure.
puts
Output data to an I/O channel.
pwd
Get current working directory.
read
Read data from an I/O channel.
Laker³ Tcl Reference Manual
K-2015.06
9
Chapter 1: Introduction
Getting Started with Tcl
Command
Description
regexp
Tell whether a string matches a pattern (regular expression).
regsub
Substitute a string if it matches a pattern.
rename
Change the Tcl command name.
return
Return from a procedure and set a value as the result of procedure
execution.
scan
Parse a string and get value it.
seek
Set the seek position of an I/O channel.
set
Assign a value to a variable or get the value of a variable.
socket
Open a socket.
source
Execute a Tcl script file.
split
Split a string.
string
Manipulate strings.
subst
Do command and variable substitutions in a string.
switch
Establish multiple branches (command bodies).
tell
Inform the seek position of an I/O channel.
time
Inform the run time of a command.
trace
Monitor the assignments of a variable.
unset
Make a variable undeclared.
uplevel
Execute a command at an upper scope.
upvar
Get a variable value at an upper scope.
while
Construct loops.
The built-in math functions in Tcl are: acos(x), asin(x), atan(x),
atan2(x,y), ceil(x), cos(x), cosh(x), exp(x), floor(x),
fmod(x,y), hypot(x,y), log(x), log10(x), pow(x,y), sin(x),
10
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Laker and Tcl/Tk
sinh(x), sqrt(x), tan(x), tanh(x), abs(x), double(x), int(x),
round(x), rand(), and srand(x).
A Tcl interpreter does not evaluate any math expressions, and thus the expr
command may be issued to evaluate a math expression.
Loading a Tcl Script File
To load a Tcl script file, use the following command:
source fileName
For more details on Tcl, please refer to the reference books introducing Tcl
programming.
Laker and Tcl/Tk
Laker supports a command language interface for Tk and C-based
applications. An overview of Laker Command Language Architecture is shown
in the diagram below.
Tk Application
C-based Application
Tk Communication Protocol
TCP/IP Communication Protocol
Tcl Interpreter
Laker Kernel
Figure 1
Laker Tcl Command Language Architecture
With Laker’s embedded Tcl interpreter, Laker can communicate with Tk and Cbased applications using Tk and TCP/IP communication protocol respectively.
The communication methods for the Tk command client and socket command
client are described in detail in the following section. The tutorials and
references are also provided in the succeeding paragraphs.
Laker³ Tcl Reference Manual
K-2015.06
11
Chapter 1: Introduction
Laker and Tcl/Tk
The Laker and Tcl/Tk section contains the following sections:
■
Tk Command Client
■
Socket Command Client
Tk Command Client
Laker’s embedded Tcl interpreter is used when the Tcl Send command is
called, enabling Laker to communicate with other Tcl applications.
Communication is done by sending pre-defined commands to Laker.
Laker provides the following capabilities with the Tk application:
■
Invoking Laker from Another Tk Application
■
Invoking Commands from Another Tk Application
■
Sending Command to Laker
■
Getting System-assigned Tk Name
■
Adding Event Callbacks to the Tk Application
■
Replaying Commands
■
Tk Commands
■
Debugging
Two commands, sysTcpPortNumber and sysTkName, are registered to get
the tkName and serverPort value.
The following diagram depicts Laker’s Command Language Interface with Tk
applications (Tk command clients).
Laker
Graphical
User Interface
Tk send command
Laker
Command
Language
Interface
Return Value
Tk
Applications
Event Restration
Return Value
Laker
Kernel
Playback
Figure 2
12
Command File
(Tcl Script)
Laker Command Language Interface with Tk applications
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Laker and Tcl/Tk
Invoking Laker from Another Tk Application
Commands cannot be sent as soon as Laker is invoked. The registration of
commands and the Tk name must be completed before proceeding. The
following polling mechanism is used to check the status of the registration
process. For example:
exec laker -tkName <tk name goes here> &
while {1} {
set s [winfo interps]
if {-1 != [string first <tk name goes here> $s]} {
break;
}
after 500
}
send <tk name goes here> <user Tcl procedures>
Invoking Commands from Another Tk Application
To invoke Laker’s commands from another Tk application, a Tk name must be
registered for Laker with the command line option -tkName.
The syntax for registering Laker’s Tk name is as follows:
> laker -tkName <Tk name>
where <Tk name> indicates the Tk name that is automatically assigned when
Laker is invoked. The default Tk name is Laker. Alternatively, you can choose
any name for the Tk name. To avoid having the same Tk name on a machine, if
another Tk application has the same name then a sequential numeric value
(_<number>) is appended to the Tk name so that it is unique. For example,
Laker_2 is assigned for the second Laker Tk name of Laker when there is
already an existing Laker with the Tk name of Laker.
Sending Command to Laker
To send a command to Laker, use the Tcl send command. The syntax of the Tcl
send command is shown below:
send <Tk name> <Laker’s Command Reference>
For example:
Laker³ Tcl Reference Manual
K-2015.06
13
Chapter 1: Introduction
Laker and Tcl/Tk
#!/bin/sh
# the next line restarts using wish \
exec wish "$0" "$@"
set tkAppList [winfo interp]
set LAKER "Laker[pid]";
# used to get the PID number as the unique name
if {[lsearch $tkAppList $LAKER] < 0} {
exec laker -tkName $LAKER &
}
while {1} {
set tkAppList [winfo interp]
if {-1 != [string first $LAKER $tkAppList]} {
break;
}
after 1000
}
set topLib"cpu"
set techFile"/dq3/qa/LEO/PACK/laker2.3v3/etc/default.tf"
set topCell"test"
send $LAKER "lakerNewLib -path . -lib $topLib -tech $techFile"
send $LAKER "lakerNewCell -path . -lib $topLib -cell $topCell"
The results of the above example are illustrated as follows:
Figure 3
14
Laker Design Window is Displayed after Playing Command File
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Laker and Tcl/Tk
Getting System-assigned Tk Name
To get the Tk name assigned while invoking Laker, the sysTkName command
can be used to get the desired information. For example:
# Invoke Laker by giving a Tk name Synopsys
% laker -tkName Synopsys
# Enter the following command in the Home page to get
# the Tk name and assign to variable: tkName
set tkName [sysTkName]
Adding Event Callbacks to the Tk Application
Laker can call back the invoking Tk application when specific events occur. This
is done by sending a command to Laker which registers a callback function
along with a reason used to determine when to call the callback function. A
special command AddEventCallback is used to set up the callback
information.
Note:
In earlier versions AddCommandCallback was used to add
event callbacks. However, this command has been superceded
by AddEventCallback.
AddCommandCallback forces all events to be sent
asynchronously which can cause problems for some events
which must be sent synchronously.
Note:
Tk applications do not accept commands that use xhost-style
security protection. For this reason, xauth must be used instead.
Another alternative is to compile Tk with security turned off.
The syntax of AddEventCallback is as follows:
AddEventCallback TkAppName CallbackFunc Reason
async
where:
■
TkAppName: Indicates the Tk application name (which is usually the name
that appears in the title). Laker uses this name to identify the Tcl interpreter
to send commands to. If the Tk application is running under the control of a
script file it is usually the name of the script file.
The following Tk commands can be used to get the application name:
winfo name .
winfo interps
selection get APPLICATION
Laker³ Tcl Reference Manual
K-2015.06
15
Chapter 1: Introduction
Laker and Tcl/Tk
■
CallbackFunc: Indicates the Tk callback command/procedure.
■
Reason: Indicates the reason for callbacks. Laker invokes the callback
when the specified reason occurs. The following table lists the possible
reasons for callbacks.
Reason
Description
Calldata
guiInfoMessage
Sent when an information message is
displayed
Message body
guiWarnMessage
Sent when a warning message is displayed
Message body
■
async: Specifies whether event callbacks are always asynchronous. This
parameter is required for backward compatibility but is ignored.
The following is an example to use the callback.
# Modify the Laker.menu file to add a user-defined menu
Menu File
{
"Test" s f.tcl "Test" "EventTrigger UDR_MY_REASON clientdata"
...
}
Tk Application: (myTkApp)
# Register Callbacks
#
send Laker {AddEventCallback myTkApp myEventCallbackProc
UDR_MY_REASON 0}
Replaying Commands
Commands can be replayed by typing the following line when starting Laker:
> Laker -play <filename>
where <filename> corresponds to the name of the command file that has
been programmed manually.
Create a Command Replay File
Generally, most executed commands are prompted in the message frame of
the Home Page. It is very convenient for users to identify necessary commands
by executing the procedures through Laker graphical user interface (GUI).
16
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Laker and Tcl/Tk
Figure 4
Executed Commands Listed in the Home Page’s Message Frame
On the other hand, under the working directory, Laker creates a <lakerLog>
directory to store generated log file(s). All operations that have been done
through the graphical user interface (GUI) are recorded in a laker.cmd file. This
file is updated each time Laker is started and a backup of the file is saved with
the filename laker.cmd.bak.
lakerOpenDesign -lib top -cell CPU -mode edit
lakerSetActiveWnd Wnd1
lakerLayerTable -side left
lakerPreSel -point (-111.243,284.019) -traversedist 18.133
lakerZoomAll
lakerPreSel -point (161.197,316.928) -traversedist 15.602
lakerMaxViewLevel
lakerPreSel -point (100.351,354.372) -traversedist 15.602
lakerZoomInByArea -point (100.351,234.239) (245.447,354.372)
lakerPreSel -point (176.213,358.935) -traversedist 3.683
lakerSetActiveWnd Wnd1
lakerPreSel -point (153.013,329.842) -traversedist 3.683
lakerSingleSel -point (153.013,329.842) -traversedist 3.683
...
"laker.cmd" 14 lines, 559 characters
This laker.cmd file stores more detailed information of the executed commands.
By replaying the commands, users may redo the procedures previously done in
the last Laker session.
Play Command File
The Tcl-based command file can be played by the -play option. Users may
replay the commands or play the application written by Laker Tcl commands by
typing the following command:
> laker -play laker.cmd
Since the laker.cmd file under <lakerLog> directory is updated each time Laker
is started, to avoid overwriting the modified command file (laker.cmd), do not
use the following command:
> laker -play lakerLog/laker.cmd
Laker³ Tcl Reference Manual
K-2015.06
17
Chapter 1: Introduction
Laker and Tcl/Tk
Tk Commands
A full set of Tk commands is available for tool customization and integration. Tk
commands allow the creation of sophisticated graphical user interfaces by
using the Tcl scripting language. The Tk commands are registered by default
when Laker starts and can be used in scripts with -play and the Tcl source
commands.
Examples can be found under the <install_dir>/etc/tk_library/demos/*.tcl
directory. The Tcl source command can be specified in the message frame of
the Home Page or -play command line option to run the samples.
Debugging
Commands can be displayed to stdout as they are received by setting the
following environment variable.
To turn on the display of commands:
> setenv CMD_TRACE 1
To turn off the display of commands:
> setenv CMD_TRACE 0
The command and its arguments are both output.
Socket Command Client
Laker’s command language interface supports a communication interface using
C++ for Laker and third-party client-side integration.
Third party tools can use this interface to send commands to and receive event
notifications from a command server (for example: laker). The name of the
library to link to is libcmd.a. The header file cmdclt.h contains the function
prototypes that are needed.
The following diagram depicts the Laker’s Command Language Interface with C
applications (Socket Command Clients).
18
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Laker and Tcl/Tk
Call Command
Client Kernel
Command
TRUE/FALSE
(Some C Apps)
Client
Return Value/Error Message
Command
Server
Server
Kernel - Laker
Event
Event Data
Client Side
Figure 5
Communication Protocol
Server Side
Laker Tcl Interface with C Applications
In order to communicate with one another, the third-party tool can be launched
from a command line in Laker or it runs stand-alone and the third-party tool
must also support interface to connect Laker via its communications GUI or
UNIX command prompt.
This communication interface allows the third-party tool to execute all Laker
provided Tcl commands or the built-in Tcl commands in an active design
window of Laker.
The section includes the following sections:
■
Environment Setup
■
Setting Up Laker as a Server
■
Setting Up a Client Process
■
Tcl Commands for Socket Port
■
Integration Flows
Environment Setup
You must set up the environment before setting up Laker as a server or setting
up a client process. Follow the steps below:
1. Locate the packed .a files in the following path:
<install_path>/share/libcmd/<platform>
2. After completing the C++ API application, the following two .a files are
required to build the program: libnclt.a and libnsys.a.
Laker³ Tcl Reference Manual
K-2015.06
19
Chapter 1: Introduction
Laker and Tcl/Tk
Copy these files to the local working directory or assign the absolute path to
each of them. Then, use one of the following methods to build the C++ API
application (test is the execution file and main.cpp is the source code):
g++ -o test main.cpp libnclt.a libnsys.a -lpthread -ldl
or
g++ -o test -g main.cpp
<install_path>/share/libcmd/<platform>/libnclt.a
<install_path>/share/libcmd/<platform>/libnsys.a
-lpthread -ldl
3. If there is no other compiling error message, now run the program (test).
Setting Up Laker as a Server
To start the server so that it can accept commands, the command line
argument -serverPort <port> must be passed for socket interface when
invoking Laker.
Many clients can connect to a server through the specified port. The port
number can be specified in the range of 1024 and 65535. For example:
> laker -serverPort 11060
Setting Up a Client Process
Use the following steps to setup a client application so it can send commands
to Laker:
1. Create (CmdCltCreate)
2. Connect (CmdCltConnect)
3. Call Command (CmdCltCallCommand)
The following is an example for setting up a client application:
CMDCLT cmdclt;
char* result; cmdclt = CmdCltCreate(0);
CmdCltConnect(cmdclt, 11060, “sps32”, -1);
if (CmdCltCallCommand(cmdclt, “lakerVersion”, 0, &result))
printf(“Command successful. Result = %s\n”, result);
else
printf(“Command failed. Error = %s\n”, result);
...
CmdCltDestroy(cmdclt);
20
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Laker and Tcl/Tk
To get the TCP/IP socket port number assigned when invoking Laker, use the
command sysTcpPortNumber to get the desired information. For example:
# Invoke Laker by giving a TCP/IP socket port number
% laker -serverPort 8251
# Enter the following command in the Home page to get
# the socket port number and assign to variable: tcpPortName
set tcpPortName [sysTcpPortNumber]
Tcl Commands for Socket Port
Laker’s command language supports a socket interface, that is, a C application
can send commands to Laker or any other product that uses the command
language interface.
The following two Tcl commands are used for communication:
■
sysServerPort
■
sysTcpPortNumber
sysServerPort
The command starts Laker listening for connections over the -serverPort
interface. Clients must link with libnclt.a and libnsys.a and use the C API
provided in cmdclt.h to send commands to Laker and retrieve the result.
sysServerPort can only be called once successfully per Laker instance.
Subsequent calls return the port Laker is currently listening on.
The command starts Laker so it functions as a server. It can only do this on the
local machine. The client program can be on another machine if needed but it is
up to the user.
The command syntax is as follows:
sysServerPort [-port num]
where -port num specifies a port number to use, and it must be free. If the
port is not specified, a free port is used.
The command returns a correct port number if successful; otherwise, it returns
-1.
Laker³ Tcl Reference Manual
K-2015.06
21
Chapter 1: Introduction
Laker and Tcl/Tk
sysTcpPortNumber
To get the TCP/IP socket port number assigned while invoking Laker, use the
command sysTcpPortNumber to get the desired information. The command
syntax is as follows:
sysTcpPortNumber
The command returns a correct port number if successful; otherwise, it returns
-1.
Integration Flows
Laker provides the following two integration flows to communicate with the C++
interface:
■
■
Laker stands a server and you can fire it up as a TCP/IP socket server
through one of the following methods:
•
laker -serverPort 11060 when invoking Laker.
•
Execute the sysServerPort Tcl command in the Home Page.
After/before Laker is running in stand-alone mode, you can do one of the
following ways:
•
Create a C++ API application by using the Tcl command [exec
myCppClient [sysServerPort] &] in the Home Page.
•
Execute the C++ API application on the UNIX/Linux platform. You may
assign the desired socket port number manually to connect to Laker.
myCppClient is the C++ API application execution file.
Note: TCP/IP integration is only supported with Laker 2012.03b,
LakerOA2012.04p1, or later versions.
myCppClient links with the API provided in libnclt.a (cmdclt.h) and
connects to Laker on the returned port which is passed as a parameter. It
can connect between different machines. The related API prototype takes a
serverName parameter which if 0 means the local host.
The communication scheme between Laker and the C++ API application is
based on the TCP/IP socket. The following sections are related to the TCP/IP
integration:
22
■
TCP/IP Sockets
■
Start and Connect
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Laker and Tcl/Tk
TCP/IP Sockets
Laker provides a client/server architecture based on TCP/IP sockets to build
the communication with a third-party tool if both tools are already running
individually.
■
The hostname (or, use the IP address) and the port number must be
specified before starting Laker and the C++ API application.
It is unnecessary to specify the hostname (or, use the IP address) if running
and displaying on the same machine, but the port number (that is available
to facilitate the connection) shall be specified.
■
It is preferable to set the Environment Variables in a UNIX setup file (the
.cshrc file).
Start and Connect
When Laker is installed correctly and all of the files are setup for the C++ API
application, start and verify the socket connection with the following scenario:
■
Invoking Laker by firing up a TCP/IP Server on the console or terminal:
> laker -serverPort 9189
■
Invoking Laker and firing up a TCP/IP Server later in the Home Page:
> sysServerPort -port 9189
■
Executing the C++ API application via another console/terminal.
The test program connects to Laker with the specified port number. Once it
connects to Laker, the test program requests Laker to execute the
lakerVersion Tcl command and retrieves or displays the returned value
from Laker via the socket port as below.
./test 9189
@@@connecting with socket port number 9189 ....
Connecting to 172.26.3.76 on port 9189 ...
SocketClient::connectToServer: Connected successfully
@@@connected.
CallCommand successful: Return Value: "Laker - Custom Layout
Automation System, 2012.07 64-bit (Linux x86_64/64bit) 05/22/
2012"
See below for the sample code of the test program.
Laker³ Tcl Reference Manual
K-2015.06
23
Chapter 1: Introduction
Laker and Tcl/Tk
#include
#include
#include
#include
"cmdclt.h"
<stdio.h>
<unistd.h>
<stdlib.h>
void
EventProc(char* event, char* clientData, char* callData)
{
if (!callData)
callData = "no calldata";
printf("Event: \"%s\"\nCalldata: \"%s\"\n", event, callData);
}
int
main(int argc, char** argv)
{
CMDCLT cmdclt;
char
buf[128], *myargv[10], *returnValue;
int
port;
setbuf(stdout, NULL);
setbuf(stderr, NULL);
// Find free port, fork an instance of Laker and
// start as a command server.
//
if (1 == argc) {
fprintf(stderr, "Please specify a port number!\n");
return 0;
}
port = atoi(argv[1]);
if (port == -1)
{
fprintf(stderr, "Could get free port!\n");
return 0;
}
// Initialize the client communication.
cmdclt = CmdCltCreate(0);
sleep(3);
// Connect on local machine, wait until connected.
fprintf(stderr, "@@@connecting with socket port number %d
...\n", port);
CmdCltConnect(cmdclt, port, NULL, -1);
fprintf(stderr, "@@@connected.\n");
// Query the current Laker release info and print the value
returned.
if (CmdCltCallCommand(cmdclt, "lakerVersion", 0,
&returnValue))
24
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Application Programming Interface (API) References
printf("CallCommand successful: Return Value: \"%s\"\n",
returnValue);
else
printf("CallCommand NOT successful: Return Value: \"%s\"\n",
returnValue);
// Close connection/release resources
CmdCltDestroy(cmdclt);
return 0;
}
Application Programming Interface (API) References
This section contains the application programming interface (API) references
and describes how to use the C interface. Use of this API hides the details of
the communication protocol.
This section includes the following basic and helper functions:
■
■
Basic Functions:
•
CMDCLT CmdCltCreate(char silent)
•
void CmdCltDestroy(CMDCLT cmdclient)
•
void CmdCltConnect(CMDCLT cmdclient, int port, char* serverName,
int timeout)
•
void CmdCltSetAbortProc(CMDCLT cmdclient, procVoid func, void*
clientData)
•
char CmdCltCallCommand(CMDCLT cmdclient, char* command, char
async, char** returnString)
•
char CmdCltAddEventCallback(CMDCLT cmdclient, char* reason,
procVoid func, void* clientData);
•
void CmdCltCheckForEvents(CMDCLT cmdclient)
Helper Functions:
•
char CmdCltCheckConnection(CMDCLT cmdclient, char** errorMsg)
•
char* CmdCltGetDotFormat(char* machineName);
•
char* CmdCltGetLocalMachineName()
•
int CmdCltGetFreePort()
Laker³ Tcl Reference Manual
K-2015.06
25
Chapter 1: Introduction
Application Programming Interface (API) References
•
char CmdCltIsPortFree(int port)
CMDCLT CmdCltCreate(char silent)
Creates an instance of a Command Client object. CmdCltDestroy MUST be
called to free the returned object.
Syntax
CMDCLT CmdCltCreate(char silent)
Returns
Pointer to a Command Client object.
Arguments
silent
If TRUE, suppress the status information from being dumped to stdout.
Examples
CMDCLT cmdclt;
cmdclt = CmdCltCreate(0);
...
CmdCltDestroy(cmdclt);
void CmdCltDestroy(CMDCLT cmdclient)
Destroys a Command Client object. This function MUST be called to free the
object returned by CmdCltCreate.
Syntax
void CmdCltDestroy(CMDCLT cmdclient)
Arguments
cmdclient
: Indicates the pointer to the Command Client object.
Examples
CMDCLT cmdclt;
cmdclt = CmdCltCreate(0);
...
CmdCltDestroy(cmdclt);
26
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Application Programming Interface (API) References
void CmdCltConnect(CMDCLT cmdclient, int port, char*
serverName, int timeout)
Connects to server. This function does not return until a connection has been
established. The server side must be started with the command line option serverPort <port number> where <port number> is the same as port.
It is unnecessary to start the server first. For example:
> laker -serverPort 11060
Syntax
void CmdCltConnect(CMDCLT cmdclient, int port, char*
serverName, int timeout)
Arguments
cmdclient
Indicates the pointer to the Command Client object.
port
Indicates the port on which to communicate with the server. The port
number is in the range of 1024 and 65535.
serverName
Specifies the server name. This can be the machine name or an IP address.
A value of NULL indicates the local machine.
timeout
Indicates the timeout period. If a connection cannot be made within timeout,
CmdCltConnect returns. A value of -1 means the function does not return
until a connection has been established.
Examples
CMDCLT cmdclt;
cmdclt = CmdCltCreate(0);
CmdCltConnect(cmdclt, 11060, “sps32”, -1);
...
CmdCltDestroy(cmdclt);
Laker³ Tcl Reference Manual
K-2015.06
27
Chapter 1: Introduction
Application Programming Interface (API) References
void CmdCltSetAbortProc(CMDCLT cmdclient,
procVoid func, void* clientData)
Used to set a function that is called back when the connection with the server is
broken.
Whenever CmdCltCallCommand or CmdCltAddEventCallback is called, a
check of the connection with the server is made. If the connection is broken,
func is called. CmdCltCheckConnection can be called to manually check
the connection.
Syntax
void CmdCltSetAbortProc(CMDCLT cmdclient, procVoid func,
void* clientData)
Arguments
cmdclient
Indicates the pointer to the Command Client object.
cmdclient
Indicates the callback function.
clientData
Indicates the application defined data that is passed to the callback. This
value can be NULL.
Examples
void AbortProc(void* clientData)
{
char* myString = (char*)clientData;
printf(“%s\n”, myString);
}
int main()
{
CMDCLT cmdclt;
char myString[100];
cmdclt = CmdCltCreate(0);
CmdCltConnect(cmdclt, 11060, “sps32”, -1);
strcpy(myString, “Connection broken”);
CmdCltSetAbortProc(cmdclt, AbortProc, myString);
...
CmdCltDestroy(cmdclt);
return 1;
}
28
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Application Programming Interface (API) References
char CmdCltCallCommand(CMDCLT cmdclient, char*
command, char async, char** returnString)
This function sends a command/Tcl expression to the server and retrieves the
results. Sending the command asynchronously can greatly speed up the
execution of the command. However, it is not possible to get returnString
when using asynchronous commands. CmdCltCallCommand always returns
TRUE in this situation. This function calls CmdCltCheckForEvents to check
for any pending events before sending the command.
Syntax
char CmdCltCallCommand(CMDCLT cmdclient, char* command, char
async, char** returnString)
Returns
0 on error.
Arguments
cmdclient
Indicates the pointer to the Command Client object.
command
Indicates the command to call. This can be any valid Tcl command.
async
If 0, this command is executed synchronously, otherwise it is executed
asynchronously.
returnString
Indicates the point to the result of the call. If the return value is 0, an error
message appears; otherwise the return value points to the return result.
Examples
CMDCLT cmdclt;
char*
result;
cmdclt = CmdCltCreate(0);
CmdCltConnect(cmdclt, 11060, “sps32”, -1);
if (CmdCltCallCommand(cmdclt, “Test A B C”, 0, &result))
printf(“Command successful. Result = %s\n”, result);
else
printf(“Command failed. Error = %s\n”, result);
...
CmdCltDestroy(cmdclt);
Laker³ Tcl Reference Manual
K-2015.06
29
Chapter 1: Introduction
Application Programming Interface (API) References
char CmdCltAddEventCallback(CMDCLT cmdclient,
char* reason, procVoid func, void* clientData);
Registers a function to be called when a particular event (reason) in the server
occurs. To check for events CmdCltCheckForEvents MUST be called.
If an event is registered for with this function, CmdCltCheckForEvents must
be called at some regular intervals. Refer to CmdCltCheckForEvents for
details.
Syntax
char CmdCltAddEventCallback(CMDCLT cmdclient, char* reason,
procVoid func, void* clientData);
Returns
0 on error.
Arguments
cmdclient
Indicates the pointer to the Command Client object.
reason
Indicates the event notification callback reason (see below).
func
Indicates the callback function, which must be of the form: void
myEventCB(char* eventname, void* clientData, char*
callData). The value pointed to by callData is always a string, the value
of which depends on reason.
30
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Application Programming Interface (API) References
Examples
void CursorTimeChangeCB(void* clientData, void* callData)
{
char* cursorTime = (char*)callData;
printf(“Received CursorTimeChange Event. Value = %s\n”,
cursorTime);
}
int main()
{
CMDCLT cmdclt;
cmdclt = CmdCltCreate(0);
CmdCltConnect(cmdclt, 11060, “sps32”, -1);
CmdCltAddEventCallback(cmdclient, “CursorTimeChange”,
CursorTimeChangeCB, NULL);
...
CmdCltDestroy(cmdclt);
return 1;
}
void CmdCltCheckForEvents(CMDCLT cmdclient)
Flushes all pending events. Call this function to check for any pending events
and call registered event handlers. This function must be called at regular
intervals. Every 100~500 milliseconds is a reasonable interval. For GUI-based
applications a timer can be used.
If the events have been registered for with CmdCltAddEventCallback then
this function MUST be called; otherwise, this function does nothing and does
not need to be called.
Syntax
void CmdCltCheckForEvents(CMDCLT cmdclient)
Arguments
cmdclient
Indicates the pointer to the Command Client object.
Laker³ Tcl Reference Manual
K-2015.06
31
Chapter 1: Introduction
Application Programming Interface (API) References
char CmdCltCheckConnection(CMDCLT cmdclient,
char** errorMsg)
This function tests whether the listening socket is still alive. It returns TRUE if
successful, and FALSE if unsuccessful. errorMsg can only be set if there is an
error.
This function calls the function registered with CmdCltSetAbortProc if the
connection is broken.
CmdCltCallCommand and CmdCltAddEventCallback both call this
function.
Syntax
char CmdCltCheckConnection(CMDCLT cmdclient, char**
errorMsg)
Arguments
cmdclient
Indicates the pointer to the Command Client object.
char* CmdCltGetDotFormat(char* machineName);
This function returns the dot notation (IP Address) given the machine name.
Syntax
char* CmdCltGetDotFormat(char* machineName);
char* CmdCltGetLocalMachineName()
This function gets the local machine name.
Syntax
char* CmdCltGetLocalMachineName()
int CmdCltGetFreePort()
This function gets a free port on the local machine. Returns -1 on error. After
1000 failed attempts, it returns -1.
32
Laker³ Tcl Reference Manual
K-2015.06
Chapter 1: Introduction
Application Programming Interface (API) References
Syntax
int CmdCltGetFreePort()
char CmdCltIsPortFree(int port)
This function tests if the given port is free or not (local machine). The return
value is TRUE if the port is free, and FALSE if the port is not free or an error has
occurred.
Syntax
char CmdCltIsPortFree(int port)
Laker³ Tcl Reference Manual
K-2015.06
33
Chapter 1: Introduction
Application Programming Interface (API) References
34
Laker³ Tcl Reference Manual
K-2015.06
2
General Tcl Extensions
2
This chapter introduces the Tcl commands applied for general usage.
Laker3 applies the Tcl interpreter and supports a command language interface
for Tk and C-based applications. To meet the design requirements, Tcls are
extended by augmenting the Tcl commands and data types.
A shortcut of these data types is provided for users’ convenience. Laker3
supports plenty of commands for users to manipulate their designs. The syntax
of Laker3’s Tcl commands is similar to the built-in Tcl commands and C shell
commands.
Laker3 adopts name-mapping as the strategy to pass arguments to a
command. This makes users not have to care the arguments’ order and makes
them comfortable to write their script files. As for other tools, they usually adopt
a so-called position-mapping strategy, which makes program-writing a longwinded work.
Besides strings, lists, and arrays, Laker3 supports several new data types, such
as point, bounding box, and point list.
Furthermore, Laker3 also supports several fundamental commands for users to
write their own script files.
This chapter contains the following sections:
■
New Data Types and Shortcut
■
Basic User-definable Commands
Laker³ Tcl Reference Manual
K-2015.06
35
Chapter 2: General Tcl Extensions
New Data Types and Shortcut
New Data Types and Shortcut
Laker supports three new data types in Tcl extensions: point, bounding box,
and point list.
Each data type can be represented by three approaches. In each format, a
useful shortcut is provided to input a mathematical expression to express an xaxis or y-axis coordinate.
The data types and shortcut are described in the following sections:
■
Point
■
Bounding Box
■
Point List
Point
A point that represents a planar coordinate is a pair of floating numbers. A point
can be specified by using the following formats (where x and y are
mathematical expressions):
■
(x,y): The two expressions are enclosed by a pair of left and right
parentheses and are separated by a comma character (,).
■
x y: The two expressions are separated by a white space.
■
{x y}: A list with two elements stands for a point.
This shortcut must be used carefully because white spaces in a command are
always recognized as the separator of these two expressions. If the expression
contains spaces, the command mis-interprets the input. Besides, the {x y}
format disables variable substitution.
Any of the following examples can be used to represent a point.
(1.234, -3.456)
(1.234+$a, [expr 2.345*$b]+(15*$c)*2.71828)
1.234 -3.456
1.234+$a 2.345*$b
{1.234 -3.456}
{1.234+3 -3.456/2.5}
Note:
The following examples are illegal point representations:
((1 -3)*4,5)
(1 -3)*4 5
36
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
New Data Types and Shortcut
{(1 -3)*4 5}
Bounding Box
A bounding box is represented by two planar points. A bounding box can be
specified with the following three formats:
(x1,y1) (x2,y2)
x1 y1 x2 y2
{{x1 y1} {x2 y2}}
where x1, x2, y1, and y2 are the mathematical expressions.
In the x1 y1 x2 y2 format, the x1 and y1 expressions represent a point, and
x2 and y2 expressions represent another point.
Refer to the Point description for more details on the shortcut and restriction of
the bounding box.
Any of the following examples can be used to specify a bounding box.
(-1,-3) (1,3)
(-1+$deltaX, -3+$deltaY) (1+$deltaX, 3+$deltaY)
-1 -3 1 3
-1+$deltaX -3+$deltaY 1+$deltaX 3+$deltaY
{{-1 -3}{1 3}}
Point List
A point list contains two or more planar points. It can be represented by the
following three formats:
(x1,y1) (x2,y2) ... (xn,yn)
x1 y1 x2 y2 ... xn yn
{{x1 y1} {x2 y2} ...{xn yn}}
where x1, x2, ... xn, y1, y2, ..., and yn are the mathematical
expressions.
In the x1 y1 x2 y2 ... xn yn format, the x1 and y1 expressions represent
a point, x2 and y2 expressions represent another point, and so on. Give heed
to the expressions since the second format is sensitive to white spaces.
Refer to the Point description for more details on the shortcut and restriction of
the point list.
Any of the following examples can be used to specify a point list.
Laker³ Tcl Reference Manual
K-2015.06
37
Chapter 2: General Tcl Extensions
Basic User-definable Commands
(0,0) (2,0) (2,2) (0,2)
0 0 2 0 2 2 0 2
{{0 0} {2 0} {2 2} {0 2}}
($a+$b,0)($b-2,8)($x,$y)
{{1 2}{3 4}}
Basic User-definable Commands
This section describes basic user-definable commands. These commands
include:
38
■
atof
■
atoi
■
beautyFileName
■
car
■
caar
■
cadr
■
cdar
■
cddr
■
cdr
■
cxyzr
■
cwxyzr
■
cdrN
■
charToInt
■
concatInstallDir
■
comment
■
cons
■
currentTime
■
decr
■
echo
■
elemN
■
encrypt
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
■
firstIdxStr
■
getenv
■
getInstallDir
■
incr
■
intToChar
■
isEmptyList
■
isEqual
■
isEven
■
isFileEncrypted
■
isFloat
■
isInteger
■
isNegative
■
isNEqual
■
isNumber
■
isOdd
■
isOne
■
isPositive
■
isSymbolicLink
■
isZero
■
lastElem
■
lastIdxStr
■
max
■
member
■
min
■
mod
■
pdecr
■
pincr
■
putenv
■
random
Laker³ Tcl Reference Manual
K-2015.06
39
Chapter 2: General Tcl Extensions
Basic User-definable Commands
■
reverseList
■
source_enc
■
srandom
■
stop
■
strcat
■
stringLess
■
strncat
■
strncmp
■
subStr
■
timeCmp
■
timeStrToTime
■
timeToTimeStr
■
tmpFileName
■
tmpName
atof
The atof command returns a floating point number if the string can be
converted to a floating point number. This command is similar to the C function
atof.
Syntax
atof aString
Returns
A floating point number if successful; otherwise, returns nothing.
Arguments
Argument
Description
aString
A string.
Examples
atof “-3.14159e2”
40
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
atoi
The atoi command returns an integer number if the string can be converted to
an integer number. This command is similar to the C function atoi.
Syntax
atoi aString
Returns
An integer number if successful; otherwise, returns nothing.
Arguments
Argument
Description
aString
A string.
Examples
atoi “2”
beautyFileName
The beautyFileName command returns an absolute file name if the file name
can be made with an absolute path.
Syntax
beautyFileName aFileName
Returns
An absolute file name if successful; otherwise, returns nothing.
Arguments
Argument
Description
aFileName
A file name.
Examples
beautyFileName ~mozart/concert
beautyFileName gauss/theory1
beautyFileName /usr/usr1/
Laker³ Tcl Reference Manual
K-2015.06
41
Chapter 2: General Tcl Extensions
Basic User-definable Commands
car
The car command returns a list if the first element in the list can be obtained.
Syntax
car aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
Examples
car [list 1 2 3]
car [list [list 1 2 3] [list 4 5 6] x y z]
caar
This command is equivalent to car [car aList].
Syntax
caar aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
Examples
caar [list [list 1 2 3] [list 4 5 6] x y z]
See Also
car
42
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
cadr
This command is equivalent to car [cdr aList].
Syntax
cadr aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
Examples
cadr [list [list 1 2 3] [list 4 5 6] x y z]
See Also
car
cdr
cdar
This command is equivalent to cdr [car aList].
Syntax
cdar aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
Examples
cdar [list [list 1 2 3] [list 4 5 6] x y z]
Laker³ Tcl Reference Manual
K-2015.06
43
Chapter 2: General Tcl Extensions
Basic User-definable Commands
See Also
car
cdr
cddr
This command is equivalent to cdr [cdr aList].
Syntax
cddr aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
Examples
cddr [list [list 1 2 3] [list 4 5 6] x y z]
See Also
cdr
cdr
The cdr command returns a list if the tail list, which is the original list with the
first list element removed, of a specific list can be obtained.
Syntax
cdr aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
44
Argument
Description
aList
A list.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Examples
cdr [list 1 2 3]
cdr [list [list 1 2 3] [list 4 5 6] x y z]
cxyzr
This command is equivalent to cxr [cyr [czr aList]]; where x, y, z is
one of a or d; this means it is a set of 8 commands.
Syntax
cxyzr aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
Examples
cdadr [list [list 1 2 3] [list 4 5 6] x y z]
caddr [list [list 1 2 3] [list 4 5 6] x y z]
cwxyzr
This command is equivalent to cwr [cxr [cyr [czr aList]]]; where w,
x, y, z is one of a or d; this means it is a set of 16 commands.
Syntax
cwxyzr aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
Laker³ Tcl Reference Manual
K-2015.06
45
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Examples
cddddr [list [list 1 2 3] [list 4 5 6] x y z]
cdrN
The cdrN command returns a list if the cdr operation can be applied on a list
with n times.
Syntax
cdrN aList n
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
n
An integer.
Examples
cdrN [list 1 2 3 4 5 6 7 8] 5
;# {6 7 8} is returned
See Also
cdr
charToInt
The charToInt command returns an integer if the first character in the
specified string can be converted to an integer which encodes this character in
the machine.
Syntax
charToInt aString
Returns
An integer if successful; otherwise, returns nothing.
46
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
Argument
Description
aString
A string.
Examples
charToInt a
charToInt “abc”
charToInt abc
concatInstallDir
The concatInstallDir command returns a string if the install directory of
this string can be concated with a string.
Syntax
concatInstallDir aString
Returns
A string if successful; otherwise, returns nothing.
Arguments
Argument
Description
aString
A string.
Examples
concatInstallDir “file1”
comment
The comment command returns an empty string if the block comment in Tcl
can be simulated. We simulate a block-comment in Tcl by this command to
consume its arguments but does nothing. This command returns a value (““),
unlike a line comment skiped by Tcl interpreter.
Syntax
comment { commands }
Returns
An empty string (for example: ““) if successful; otherwise, returns nothing.
Laker³ Tcl Reference Manual
K-2015.06
47
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
None
Examples
comment {
set a 100
set b 200
set c [expr $a+$b]
}
cons
This cons command returns a list if the element can be inserted to the head of
a list.
Syntax
cons aElem aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aElem
Any data.
aList
A list.
Examples
cons 9 {10 11 12}
cons a [list x y z]
currentTime
The currentTime command returns a time string if the current time in the
machine can be obtained.
Syntax
currentTime
Returns
A time string if successful; otherwise, returns nothing.
48
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
None
Examples
set curTime [currentTime]
decr
The decr command returns a number if the variable, whose content is a
number, with some amount can be decreased.
Syntax
decr varName [amount]
Returns
A number if successful; otherwise, returns nothing.
Arguments
Argument
Description
varName
A variable name.
amount
A number (default=1).
Examples
set var1 5.7
set var2 100
decr var1 9
decr var2 4.5
echo
The echo command returns the input content if the user input can be echoed.
Syntax
echo anyInput
Returns
The input content if successful; otherwise, returns nothing.
Laker³ Tcl Reference Manual
K-2015.06
49
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
Argument
Description
anyInput
Any content that user inputs.
Examples
echo abcd
set abcd [random 1024]
echo $abcd
echo {$abcd}
elemN
The elemN command returns a list if the nth element in a list can be obtained.
This command treats the first element in the list as rank 1 but not 0.
Syntax
elemN aList n
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
n
An integer.
Examples
elemN [list 10 9 8 7 6 5 4 3 2 1] 3
;# 8 is returned
encrypt
The encrypt command returns 1 if the device ASCII file can be encrypted to
an unreadable format.
Syntax
encrypt plainFile cypherFile
50
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
plainFile
Any input device file.
cypherFile
An output file name.
Examples
encrypt leoArc.tcl leoArc.cp
firstIdxStr
The firstIdxStr command returns a string if the substring of str2 can be
obtained from the first occurrence of str1 to the end.
Syntax
firstIdxStr str1 str2
Returns
A string if successful; otherwise, returns nothing.
Arguments
Argument
Description
str1, str2
Strings.
Examples
firstIdxStr a xyzabcdef
firstIdxStr abc xyzababab
;# abcdef is returned
;# ““ is returned
getenv
The getenv command returns the content of the environment variable if the
content of some environment variables can be obtained under UNIX shell.
Syntax
getenv envVar
Laker³ Tcl Reference Manual
K-2015.06
51
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Returns
The content of the environment variable if successful; otherwise, returns
nothing.
Arguments
Argument
Description
envVar
The environment variable.
Examples
getenv DISPLAY
getenv PATH
getenv abc
getInstallDir
The getInstallDir command returns the install directory of the product if
the install directory of the product can be obtained.
Syntax
getInstallDir
Returns
The install directory of the product if successful; otherwise, returns nothing.
Arguments
None
Examples
set installDir [getInstallDir]
incr
The incr command returns a number if the variable, whose content is a
number, with some amount can be increased.
Syntax
incr varName [amount]
Returns
A number if successful; otherwise, returns nothing.
52
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
Argument
Description
varName
A variable name.
amount
A number (default=1).
Examples
set var1 5.7
set var2 100
incr var1 9
incr var2 4.5
intToChar
The intToChar command returns a character if the integer can be converted
to a character where the integer encodes the character in the machine.
Syntax
intToChar aInt
Returns
A character if successful; otherwise, returns nothing.
Arguments
Argument
Description
aInt
An integer.
Examples
intToChar 97
intToChar [charToInt a]
isEmptyList
The isEmptyList command returns 1 if the given list is empty.
Syntax
isEmptyList aList
Returns
1 if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
53
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
Argument
Description
aList
A list.
Examples
set listL [myProc1 “abc.def”]
if {[isEmptyList $listL]} {
stop “something wrong while processing \”abc.def\””
}
isEqual
The isEqual command returns 1 if two objects are equal.
Syntax
isEqual obj1 obj2
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
obj1, obj2
Data objects.
Examples
set listL [myProc1 “abc.def”]
if {[isEqual $listL [list]]} {
stop “something wrong while processing \”abc.def\””
}
isEven
The isEven command returns 1 if the number is even.
Syntax
isEven aInt
Returns
1 if successful; otherwise, returns 0.
54
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
Argument
Description
aInt
An integer.
Examples
isEven [random]
isFileEncrypted
The isFileEncrypted command returns 1 if the input file is encrypted.
Syntax
isFileEncrypted aFileName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
aFileName
An input encrypted file.
Examples
isFileEncrypted leoArc.cp
isFloat
The isFloat command returns 1 if the input is a decimal floating point
number.
Syntax
isFloat anyInput
Returns
1 if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
55
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
Argument
Description
anyInput
Any input.
Examples
isFloat [expr sin(3.14/2)]
isFloat 2.0
isInteger
The isInteger command returns 1 if the decimal input is an integer.
Syntax
isInteger anyInput
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
anyInput
Any input.
Examples
isInteger [expr sin(3.14/2)]
isInteger 2
isNegative
The isNegative command returns 1 if the decimal number is negative.
Syntax
isNegative aNum
Returns
1 if successful; otherwise, returns 0.
56
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
Argument
Description
aNum
A number.
Examples
isNegative -2.71828
isNEqual
The isNEqual command returns 1 if two objects are “not equal”.
Syntax
isNEqual obj1 obj2
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
obj1, obj2
Data objects.
Examples
isNEqual ““ [list]
isNEqual [list 1 2 3] [list a b c]
isNEqual 97 [charToInt a]
isNumber
The isNumber command returns 1 if the input is a decimal number.
Syntax
isNumber anyInput
Returns
1 if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
57
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
Argument
Description
anyInput
Any input.
Examples
isNumber [expr sin(3.14/2)]
isNumber 2
isOdd
The isOdd command returns 1if the integer is odd.
Syntax
isOdd aInt
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
aInt
An integer.
Examples
isOdd [random]
isOdd -45
isOne
The isOne command returns 1 if the number is equal to 1.
Syntax
isOne aNum
Returns
1 if successful; otherwise, returns 0.
58
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
Argument
Description
aNum
A number.
Examples
isOne [random 2]
isOne 1.00000
isPositive
The isPositive command returns 1 if the number is positive.
Syntax
isPositive aNum
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
aNum
A number.
Examples
isPositive [expr sin([random])]
isSymbolicLink
The isSymbolicLink command returns 1 if the file is symbolic link.
Syntax
isSymbolicLink fileName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
fileName
A file name.
Laker³ Tcl Reference Manual
K-2015.06
59
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Examples
isSymbolicLink abc
isZero
The isZero command returns 1 if the number is equal to 0.
Syntax
isZero aNum
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
aNum
A number.
Examples
isZero [random 2]
lastElem
The lastElem command returns a data object if the last element in a list can
be obtained.
Syntax
lastElem aList
Returns
A data object if successful, otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
Examples
lastElem {a b c 1 2 3}
lastElem [list a b c [list 1 2 3]]
60
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
lastIdxStr
The lastIdxStr command returns a string if the substring of str2 can be
obtained from the last occurrence of str1 to the end.
Syntax
lastIdxStr str1 str2
Returns
A string if successful; otherwise, returns nothing.
Arguments
Argument
Description
str1, str2
Strings.
Examples
lastIdxStr abc 1abcdabcdefabcx
;# abcx is returned
max
The max command returns a number if the maximum can be obtained among
several numbers.
Syntax
max num1 [num2 [num3 ...]]
Returns
A number if successful, otherwise, returns nothing.
Arguments
Argument
Description
num1, num2, num3
Numbers.
Examples
max 1 2 3 4 4.05 -8 3
Laker³ Tcl Reference Manual
K-2015.06
61
Chapter 2: General Tcl Extensions
Basic User-definable Commands
member
The member command returns a list if the maximum sublist of aList can be
obtained from the first occurrence of aElem in aList to the end.
Syntax
member aElem aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aElem
Any data objects.
aList
A list.
Examples
member a [list 1 2 3 a b c 1 2 3]
;# {a b c 1 2 3} is returned
member [list 1 2] [list 1 2 3 [list 1 2] a b]
;# {{1 2} a b} is returned
min
The min command returns a number if the minimum can be obtained among
several numbers.
Syntax
min num1 [num2 [num3 ...]]
Returns
A number if successful; otherwise, returns nothing.
Arguments
Argument
Description
num1, num2, num3
Numbers.
Examples
min $a $b $c
62
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
mod
The mod command returns an integer if the remainder, that the divisor (int2)
divides the dividend (int1), can be obtained. This remainder has the same
sign as the dividend.
Syntax
mod int1 int2
Returns
An integer if successful; otherwise, returns nothing.
Arguments
Argument
Description
int1,int2
Integers.
Examples
mod 5 3
mod -5 3
;# 2 is returned
;# -2 is returned
pdecr
The pdecr command returns the original value that stored in the variable if the
variable, whose content is a number, with some amount can be decreased.
Syntax
pdecr varName [amount]
Returns
The original value that stored in the variable if successful; otherwise, returns
nothing.
Arguments
Argument
Description
varName
A variable name.
amount
A number (default=1).
Laker³ Tcl Reference Manual
K-2015.06
63
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Examples
set var1 200
pdecr var1
set var1
pdecr var1 3.5
set var1
;# 200 is returned
;# 199 is returned
;# 199 is returned
;# 195.5 is returned
pincr
The pincr command returns the original value that stored in the variable if the
variable, whose content is a number, with some amount can be increased.
Syntax
pincr varName [amount]
Returns
The original value that stored in the variable if successful; otherwise, returns
nothing.
Arguments
Argument
Description
varName
A variable name.
amount
A number (default=1).
Examples
set var1 200
pincr var1
set var1
pincr var1 3.5
set var1
;#
;#
;#
;#
200 is returned
201 is returned
201 is returned
204.5 is returned
putenv
The putenv command returns 1 if the shell (UNIX shell) environment variable
is set up.
The input string should be in “xxx=yyy” format.
The substring before ‘=’ is the environment variable and the substring after ‘=’
is the content of the variable.
64
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
If ‘=’ doesn’t exist within the string, a shell environment variable is set without
any content.
Syntax
putenv aString
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
aString
A string.
Examples
putenv
putenv
getenv
getenv
abc
def=1
abc
def
random
The random command returns a random number if the random number can be
obtained.
The argument, aInt, is optional. If it is specified, the random number is modulo
aInt; otherwise, no modulation is done. For example, the following two
statements are equivalent.
set rNum [random 1024]
;# statement 1
set rNum [random] ; set rNum [mod $rNum 1024]
;#
statement 2
XX
Syntax
random [aInt]
Returns
A random number if successful; otherwise, returns nothing.
Arguments
Argument
Description
aInt
An integer.
Laker³ Tcl Reference Manual
K-2015.06
65
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Examples
set rNum [random 2]
if {$rNum == 0} {
puts “even”
} else {
puts “odd”
}
reverseList
The reverseList command returns a list if the order of elements in a list can
be reversed.
Syntax
reverseList aList
Returns
A list if successful; otherwise, returns nothing.
Arguments
Argument
Description
aList
A list.
Examples
reverseList [list a c [list 1 2 3] 1 2 3 b c [list 1 2 3] 1 2 3]
source_enc
The source_enc command returns 1 if the encrypted device file can be
sourced. This command is similar to the Tcl function source.
Syntax
source_enc encryptedFile
Returns
1 if successful; otherwise, returns 0.
Arguments
66
Argument
Description
encryptedFile
An input encrypted file.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Examples
source_enc leoArc.cp
srandom
The srandom command returns 1 if the random seed is set.
Syntax
srandom aInt
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
aInt
An integer.
Examples
srandom [random [random [random]]]
stop
The stop command halts the execution of the Tcl script file. If the argument
aString is not specified, no warning messages are shown.
Syntax
stop [aString]
Returns
None
Arguments
Argument
Description
aString
A string.
Laker³ Tcl Reference Manual
K-2015.06
67
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Examples
set status [myProc1 $fName]
if {$status == “unknown”} {
set warnMsg [format “fail to process file %s” $fName]
stop $warnMsg
}
strcat
The strcat command returns a string if several strings can be concatenated
to a new one.
Syntax
strcat str1 [str2 [ ...]]
Returns
A string if successful; otherwise, returns nothing.
Arguments
Argument
Description
str1, str2 ...
Strings.
Examples
strcat 123 abc
stringLess
The stringLess command returns 1 if str1 is less than str2 in alphabetical
order.
Syntax
stringLess str1 str2
Returns
1 if successful, otherwise, returns 0.
Arguments
68
Argument
Description
str1, str2 ...
Strings.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Examples
stringLess “abcdef” “defghi”
strncat
The strncat command returns a string if two strings can be concatenated to
a new one, where the second string is concatenated to the first one with at
most n characters.
Syntax
strncat str1 str2 n
Returns
A string if successful; otherwise, returns nothing.
Arguments
Argument
Description
n
An integer.
str1, str2
Strings.
Examples
strncat
abcdef
ghi
2
strncmp
The strncmp command compares two strings by n characters.
Syntax
strncmp str1 str2 n
Returns
0 if the two strings are equal by n characters.
1 if str1 is greater than str2 in alphabetical order.
-1 if str1 is less than str2 in alphabetical order.
Laker³ Tcl Reference Manual
K-2015.06
69
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Arguments
Argument
Description
n
An integer.
str1, str2
Strings.
Examples
strncmp abcdef
abcxyz
5
subStr
The subStr command returns a string if the substring of aString can be
obtained from index (idx) to the end with length n. If idx is negative, the index
counts from the right to the left.
Syntax
subStr aString idx [n]
Returns
A string if successful; otherwise, returns nothing.
Arguments
Argument
Description
aString
A string.
idx, n
Integers.
Examples
subStr
subStr
subStr
subStr
abcdefghi
abcdefghi
abcdefghi
abcdefghi
3
3 4
-8
-8 4
;# cdefghi is returned
;# cdef is returned
;# bcdefghi is returned
;# bcde is returned
timeCmp
The timeCmp command compares two time strings and returns their difference
in seconds.
70
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Syntax
timeCmp timeStr1 timeStr2
Returns
An integer if successful; otherwise, returns nothing.
Arguments
Argument
Description
timeStr1, timeStr2
Time strings.
Examples
timeCmp [currentTime] [timeToTimeStr [file mtime addring.tcl]]
set secThisYear [timeCmp “Jan 1 0:0:0 2001” “Jan 1 0:0:0 2000”]
timeStrToTime
The timeStrToTime command returns an absolute time clock in seconds if
the time string can be converted to the absolute time clock in seconds, which is
a decimal integer.
Syntax
timeStrToTime aString
Returns
An absolute time clock in seconds if successful; otherwise, returns nothing.
Arguments
Argument
Description
aString
A string.
Examples
timeStrToTime “Nov 11 9:9:9 2000”
timeToTimeStr
The timeToTimeStr command returns a time string if the absolute time clock
can be converted to a time string.
Laker³ Tcl Reference Manual
K-2015.06
71
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Syntax
timeToTimeStr aInt
Returns
A time string if successful; otherwise, returns nothing.
Arguments
Argument
Description
aInt
An integer.
Examples
timeToTimeStr [file mtime ioPrep.tcl]
tmpFileName
The tmpFileName command returns a file name if the unique temporary file
name can be made.
Syntax
tmpFileName [aString]
Returns
A file name if successful; otherwise, returns nothing.
Arguments
Argument
Description
aString
A string.
Examples
## make a temp file and write something on it
set fName [tmpFileName]
set fHandle [open $fName w]
set str [format “How are you?\n %s %d” abc 123]
puts $fHandle $str
close $fHandle
tmpName
The tmpName command returns a symbol if the unique temporary symbol can
be made.
72
Laker³ Tcl Reference Manual
K-2015.06
Chapter 2: General Tcl Extensions
Basic User-definable Commands
Syntax
tmpName [aString]
Returns
A symbol if successful; otherwise, returns nothing.
Arguments
Argument
Description
aString
A string.
Examples
tmpName “abc”
tmpName
Laker³ Tcl Reference Manual
K-2015.06
73
Chapter 2: General Tcl Extensions
Basic User-definable Commands
74
Laker³ Tcl Reference Manual
K-2015.06
3
3
GUI Extensions
This chapter describes the definable Tcl commands for the Graphical User
Interface (GUI) which applied within the Laker3 system.
This chapter contains the following sections:
■
Bottom-Up Construction
■
Global Symbols
■
Menu
■
Dialog Box
■
Form and Field
■
Pre-processing Tcl Callback Functions
■
Miscellaneous
Laker³ Tcl Reference Manual
K-2015.06
75
Chapter 3: GUI Extensions
Bottom-Up Construction
Bottom-Up Construction
All composite user-interface objects should be created in a bottom-up method.
In other words, each sub-object must be created before the composite objects.
Global Symbols
All commands must specify a unique symbol name to identify the objects, and
all creating commands return a system-generated handle to the user.
If the create commands of two different objects are specified with the same
symbol name, the former created objects are overwritten by the latter.
The handle or symbol can be used to identify the objects. For example:
set cyclicHandle [gtCreateCyclicField \
-name cyclicSymbol \
-prompt “choose Animal: “ \
-value “dog” \
-defValue “cat” \
-choices [list “elephant” “mouse” “cat” “dog” “whale” “dophine”
“tiger” “snake” “shark”]]
set formHandle [gtCreateAppForm \
-name formSymbol \
-title “demo” \
-buttonLayout OKCancelDefApply \
-fields $cyclicHandle \
-callback {puts “you press OK or apply”}]
To get the value of a sub-object after the composite object is created, the
command formSymbol(cyclicSymbol:value) must be used to get the
value in cyclicSymbol.
The symbol of each created object must be different, otherwise it gets confused
when trying to get the information via a symbol name.
Refer to the Form and Field section for more details.
76
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Menu
Menu
Three types of menus are supported in GUI extensions: Popup menu, Pulldown menu, and Fixed menu (not supported currently).
Each menu item must be created before building a popup menu or a pulldown
menu. After creating the menu items, assign them to Menu, PullDown Menu,
PopupMenu, Cascade Menu, etc.
The Menu Create commands are described as follows:
■
gtAppendBannerMenu
■
gtCreateMenu
■
gtCreateMenuItem
■
gtCreatePulldownMenu
■
gtCreateSliderMenuItem
■
gtHideBannerMenu
■
gtShowBannerMenu
gtAppendBannerMenu
The gtAppendBannerMenu command appends a pull-down menu to the
menu bar of the Home Page or Design/Layout window pane.
Syntax
gtAppendBannerMenu [ -window windowId | -windowType
windowType] -file user_defined_menu_file
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
77
Chapter 3: GUI Extensions
Menu
Arguments
Argument
Description
-file
user_defined_menu_file
Specify the user-defined menu file. The menu file is as
follows:Menu your_pulldown_menu_name {
# Label Mnemonic Type Dummy
Your_Tcl_Command
"myTcl1" 1 f.tcl dummy "puts my tcl command 1"
"SubMenu2" 2 f.menu
"mySubMenu2" "
}
Menu mySubMenu2 {
#_Label Mnemonic Type Dummy
Your_Tcl_Command
"myTcl3" 3 f.tcl dummy "puts my tcl command 3"
}
-window
windowId
Specify the destination window. The window identifier
can be obtained by calling lakerGetwtWndId, which only
affects the active window.
-windowType
windowType
Specify the window type. This argument is case
insensitive.
Valid values for Laker: lakerDsgWnd (Design/Layout
window pane) and lakerMasterWnd (Home Page).
Valid values for ADP: LEOMASTERWND (Home Page)
AMSFM_TOP_DSGWND (Schematic Editor
SIM_MAINMGR_WND), (Simulation Console),
nAnalyzer (LakerWave window), and
SYMFM_TOP_DSGWND (Symbol Editor).
78
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Menu
Examples
gtAppendBannerMenu -windowType lakerDsgWnd -file ~/Tcl/laker3/
lakerAppend1.menu
#lakerAppend1.menu
Menu myTclCmd2
{
# Label Mnemonic Type Dummy "your Tcl command"
"myTcl2"
_2
f.tcl dummy
"puts
{***************myTcl2*************}"
"myTcl3"
_3
f.tcl dummy
"puts
{***************myTcl3*************}"
"myTcl4"
_4
f.tcl dummy
"puts
{***************myTcl4*************}"
"myTcl5"
_5
f.tcl dummy
"puts
{***************myTcl5*************}"
"myTclMenu6" _6 f.menu
"myTclMenu6"
}
Menu myTclMenu6
{
"myTcl61"
_1
f.tcl dummy
"puts
{***************myTcl61*************}"
"myTcl62"
_2
f.tcl dummy
"puts
{***************myTcl62*************}"
"myTcl63"
_3
f.tcl dummy
"puts
{***************myTcl63*************}"
"myTcl64"
_4
f.tcl dummy
"puts
{***************myTcl64*************}"
}
gtCreateMenu
The gtCreateMenu command returns an object handle if the popup menu
(with menu items created in the gtCreateMenuItem call) can be created.
Syntax
gtCreateMenu -name menuSymbol -prompt “menu title” -fields
$field1 $field2 ...
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-fields
$field1 $field2
Specify the menu items created in gtCreateMenuItem and
gtCreateSliderMenuItem.
Laker³ Tcl Reference Manual
K-2015.06
79
Chapter 3: GUI Extensions
Menu
Argument
Description
-name menuSymbol
Specify the menu symbol.
-prompt “menu title”
Specify the menu title.
Examples
set menu1 [gtCreateMenu -name menu1 -fields $item1 $item2]
gtCreateMenuItem
The gtCreateMenuItem command returns an object handle if the menu item
can be created.
Syntax
gtCreateMenuItem -name menuSymbol -itemText {text} -callback
{commands} -disable 0|1
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-callback {commands}
Specify the Tcl procedures to be executed when the
MenuItem is selected.
-disable 0|1
If set to 1, the item is grayed (not selectable).
Valid values: Boolean values, 0 and 1.
-itemText {text}
Specify the text shown on the button.
-name menuSymbol
Specify the symbol of the menu item.
Examples
set item1 [gtCreateMenuItem -name item1 -itemText "item1" \
-callback [list sum 1 $var1] ]
set item2 [gtCreateMenuItem -name item2 -itemText "exit" \
-callback {exit} ]
80
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Menu
gtCreatePulldownMenu
The gtCreatePulldownMenu command returns an object handle if the pulldown menu on the window menu bar can be created. This kind of menus
cannot be existed on a form.
Syntax
gtCreatePulldownMenu -name menuSymbol -prompt “Menu Text” fields $menufield1 $menufield2 ...
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-fields
$menufield1 $menufield2
Specify the menu items created in gtCreateMenuItem
and gtCreateSliderMenuItem.
-name menuSymbol
Specify the menu symbol.
-prompt “Menu Text”
Specify the menu title.
Examples
set puldwn1 [gtCreatePulldownMenu -name menu1 \
-prompt "pulldown1" -fields [list $item1 $item2]]
gtCreateSliderMenuItem
The gtCreateSliderMenuItem command returns an object handle if the
cascade menu item can be created. gtCreateMenu must be used to create a
menu before assigning it to a Slider Menu.
Syntax
gtCreateSliderMenuItem -name menuSymbol -subMenu $menu1 itemText “SliderMenu Text” -disable 0|1
Returns
An object handle if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
81
Chapter 3: GUI Extensions
Menu
Arguments
Argument
Description
-disable 0|1
If set to 1, the item is grayed (no selectable).
Valid values: Boolean values, 0 and 1.
-itemText
“SliderMenu Text”
Specify the prompt string shown on the slider menu item.
-name menuSymbol
Specify the slider menu symbol.
-subMenu $menu1
Specify the menu handle created in gtCreateMenu, not
the menu symbol.
Examples
set menu1 [gtCreateMenu -name menu1 -fields $item1 $item2]
set sld1 [gtCreateSliderMenuItem -name slider1 \
-itemText "slider menu1" -subMenu $meun1]
See Also
The following shows an example of a popup menu.
Figure 1
Example of Menu
The Tcl example is listed as follows:
proc sum {arg1 arg2 arg3} {
set result [expr $arg1 + $arg2 + $arg3]
puts “$arg1+$arg2+$arg3 = $result”
}
set var1 10
set itm1 [gtCreateMenuItem -name item1 -itemText “item1” \
-callback {sum 1 1 $var1}]
set itm2 [gtCreateMenuItem -name exit -itemText “exit” \
-callback {exit}]
set itm3 [gtCreateMenuItem -name item3 -itemText “item3” \
-callback {sum 3 3 3}]
set itm4 [gtCreateMenuItem -name item4 -itemText “item4” \
82
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Menu
-callback {sum 4 4 4}]
set itm5 [gtCreateMenuItem -name item5 -itemText “item5” \
-callback {sum 5 5 5}]
set men1 [gtCreateMenu -name menu1 \
-fields [list $itm1 $itm2]]
set sld1 [gtCreateSliderMenuItem -name slider1 \
-itemText “slider menu1” -subMenu $men1]
set men2 [gtCreateMenu -name menu2 \
-fields [list $itm3 $itm4 $sld1]]
set sld2 [gtCreateSliderMenuItem -name slider2 \
-itemText “slider menu2” -subMenu $men2]
gtCreateMenu -name popupmenu1 -prompt “a cascade menu” \
-fields [list $itm4 $itm5 $sld2]
gtDisplay -name popupmenu1
gtHideBannerMenu
The gtHideBannerMenu command hides a pull-down menu or a command
item on the window menu bar.
Syntax
gtHideBannerMenu [-window windowId | -windowType windowType]
[-itemName name | -menuname name]
Returns
None
Arguments
Argument
Description
-itemName name
Specify the command item in the menu file.
-menuname name
Specify the menu to be hidden.
-window windowId
Specify the destination window. The window identifier can be
obtained by calling lakerGetwtWndId, which only affects the
active window.
Laker³ Tcl Reference Manual
K-2015.06
83
Chapter 3: GUI Extensions
Menu
Argument
Description
-windowType
windowType
Specify the window type. This argument is case insensitive.
Valid values for Laker: lakerDsgWnd (Design/Layout window
pane) and lakerMasterWnd (Home Page).
Valid values for ADP: LEOMASTERWND (Home Page),
AMSFM_TOP_DSGWND (Schematic Editor),
SIM_MAINMGR_WND (Simulation Console), nAnalyzer
(LakerWave window), and SYMFM_TOP_DSGWND
(Symbol Editor).
Examples
# Example 1
# Hide the "Cell>Open" command in the Design window
# Before executing the Tcl, check the menu file, leoDsgWnd.menu,
# to find the item name:
#
Menu Cell
#
{
#
"Open..." _O f.exec "LEODSGOpen"
#
...
#
}
gtHideBannerMenu -windowType lakerDsgWnd -itemName LEODSGOpen
# Example 2
# Hide the Window pull-down menu and “Cell>Open” in the Home Page
gtHideBannerMenu -windowType lakerMasterWnd -menuName Window
gtHideBannerMenu -windowType lakerMasterWnd -itemName
LEOMasterOpen
# Example 3
# Hide the Window menu and “Cell > Open” in the Layout window
gtHideBannerMenu -window [lakerGetActiveWnd] -menuName Window
gtHideBannerMenu -window [lakerGetActiveWnd] -itemName
LEOMasterOpen
gtHideBannerMenu -windowType lakerDsgWnd -menuName Window
gtHideBannerMenu -windowType lakerDsgWnd -itemName LEODSGOpen
See Also
gtShowBannerMenu
gtShowBannerMenu
The gtShowBannerMenu command shows a pull-down menu or a command
item on the window menu bar.
84
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Menu
Syntax
gtShowBannerMenu [-window windowId | -windowType windowType]
[-itemName name | -menuname name]
Returns
None
Arguments
Argument
Description
-itemName name
Specify the command item in the menu file.
-menuname name
Specify the menu to be shown.
-window windowId
Specify the destination window. The window identifier can be
obtained by calling lakerGetwtWndId, which only affects
the active window.
-windowType
windowType
Specify the window type. This argument is case insensitive.
Valid values for Laker: lakerDsgWnd (Design/Layout window
pane) and lakerMasterWnd (Home Page).
Valid values for ADP: LEOMASTERWND (Home Page),
AMSFM_TOP_DSGWND (Schematic Editor),
SIM_MAINMGR_WND (Simulation Console), nAnalyzer
(LakerWave window), and SYMFM_TOP_DSGWND
(Symbol Editor).
Examples
# Example 1
# Show the "Cell>Open" command in the Design window
# Before executing the Tcl, check the menu file, leoDsgWnd.menu,
# to find the item name:
#
Menu Cell
#
{
#
"Open..." _O f.exec "LEODSGOpen"
#
...
#
}
gtShowBannerMenu -windowType lakerDsgWnd -itemName LEODSGOpen
# Example 2
# Show the Window pull-down menu and “Cell>Open” in the Home page
gtShowBannerMenu -windowType lakerMasterWnd -menuName Window
gtShowBannerMenu -windowType lakerMasterWnd -itemName
LEOMasterOpen
Laker³ Tcl Reference Manual
K-2015.06
85
Chapter 3: GUI Extensions
Dialog Box
# Example 3
# Show the Window menu and “Cell>Open” in the Layout window
gtShowBannerMenu -window [lakerGetActiveWnd] -menuName Window
gtShowBannerMenu -window [lakerGetActiveWnd] -itemName
LEOMasterOpen
gtShowBannerMenu -windowType lakerDsgWnd -menuName Window
gtShowBannerMenu -windowType lakerDsgWnd -itemName LEODSGOpen
See Also
gtHideBannerMenu
Dialog Box
Dialog boxes are popup windows containing messages displayed to the user.
Currently, Laker3’s GUI extensions support the following basic dialogs: Error,
Information, Warning, Working, and Question.
Each dialog box has at least three buttons: OK, Cancel, and Help. Only the OK
and Cancel buttons can dismiss the current dialog box. The dialog styles are
summarized as follows.
Style
Sub-style
Affect
Modal
Application Modal
Block all applications in GUI
Modal
System Modal
Block all System Process
Modeless
-
Non-block
In the Application Modal, all applications in GUI extensions or other
applications, such as Laker3, are blocked when the OK or Cancel button is
clicked.
In the System Modal, all processes in the environment are blocked when the
OK or Cancel button is clicked. The programs for Modeless style can be run at
the same time.
86
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Dialog Box
All the dialogs have the same options. The Dialog Create Command is
described as follows.
■
gtDisplayAppDBox
gtDisplayAppDBox
The gtDisplayAppDBox command returns an object handle if the dialog box
can be created.
Syntax
gtDisplayAppDBox -name dialogSymbol -dboxBanner “Title” dboxText “message shown in the dialog” -dialogType “Type”
-buttonLayout “ButtonType” -defaultButton (1|2|3|4) callback {commands 1} {commands2} ... -location {X Y}
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-buttonLayout
“ButtonType”
Specify the type of buttons in a dialog.
Valid values: OKCancel, YesNo, YesNoCancel, and
Close.
-callback {commands 1}
{commands2} ...
Run user-specified actions when the OK, Yes, and
Apply buttons are clicked.
-dboxBanner “Title”
Specify the dialog title.
-dboxText “message
shown in the dialog”
Specify the message shown in the Dialog.
-defaultButton (1|2|3|4)
Specify the initial focus button when the dialog first
appears. The valid range is 1-4 (depends on the
buttons created), the maximum is 4. Exceeded number
is replaced by 1 as the initial focus button.
-dialogStyle
Specify the dialog style.
Valid values: Modeless, Modal, and systemModal.
Laker³ Tcl Reference Manual
K-2015.06
87
Chapter 3: GUI Extensions
Dialog Box
Argument
Description
-dialogType “Type”
Specify the dialog type.
Valid values: WarningDialog, ErrorDialog,
InformationDialog, MessageDialog,
QuestionDialog, and WorkingDialog.
-location {X Y}
Specify the X/Y position related to the entire Screen.
The origin is upperleft.
The valid format is {X Y}, where X and Y are integers
that are greater than or equal to 0, for example: {123
234}.
If an invalid position (for example: {-1 123.456}) is
specified, the system uses {0 0} as the default
position.
-name dialogSymbol
Specify the symbol name that is specified by the user.
Examples
The following shows an example of a warning dialog.
Figure 2
88
Dialogs for Error, Information, Message, Question, Warning and Working
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
The Tcl example is demonstrated as follows:
set dlg [gtDisplayAppDBox -name Dialog2 \
-dialogType “WarningDialog” -defaultButton 2 \
-dboxBanner “a dialog” -buttonLayout “YesNoCancel” \
-dboxText “Warning DIALOG “ -location {200200} \
-callback {puts “you press YES”} {sum 3 3 3}]
Form and Field
A standard form is used to solicit data from the user under normal operation. A
form is like a container, which contains fields receiving user input. The creation
order is from bottom up. That means you must create fields before using them,
then create a form to include those fields.
Each standard form contains a banner showing the title of the current form and
four selectable buttons. These buttons perform the following actions:
■
The OK button applies all changes indicated in the form, executes any userdefined Tcl commands, and hides the form from the screen.
■
The Cancel button cancels any changes made to the form, and hides the
form from the screen.
■
The Defaults button sets all values in the form to their default values.
■
The Apply button applies the changes indicated in the form and leaves the
form displayed for further changes.
Note:
All fields must be ready before creating a form. gtDisplay must
be called to display the form on screen since it does not appear
immediately after gtCreateAppForm is called.
Laker³ Tcl Reference Manual
K-2015.06
89
Chapter 3: GUI Extensions
Form and Field
The meaning of symbols and argument comments are explained as follows:
■
formSymbol, fieldSymbol: User-defined symbols for forms and fields.
■
formHandle, fieldHandle: System-created pointer address
(hexadecimal value).
■
Point Argument: The currently supported argument is [list X Y] or
(X,Y).
In the argument [list X Y], spaces are used to differentiate two
coordinates, for example, [list $x1+$x2 $y1+$y2] is legal.
However, [list $x1 +$x2 $y1 +$y2] is illegal since in Tcl, it expands
[list $x1+$x2 $y1+$y2] as {20 30}, supposed that x1=5, y1=10,
x2=15, y2=20; and [list $x1 +$x2 $y1 +$y2] is expanded to {5 +15
15 +20}, it is ambiguous to explain “+”15 that stands for “add” or “sign”.
In addition, it is ambiguous that how we group the expression ? 5, +15 15
+20 or 5 +15 15 , +20.
In the argument (X,Y), spaces are not allowed between two coordinates,
for example, ($x1+$x2,$y1+$y2) is legal, but ($x1 +$x2,$y1 +$y2)
is illegal.
Note: Do not leave spaces for unnecessary places.
When all fields are created and displayed under a form, GUI extensions create
a specific set of variables, which can be used directly to control the form.
After all fields are instantiated in a form, for example, you can type the
command set myform(stringfield:value) under the command window
to get the value, or you can type set myform(stringfield:value) =
{Hello Laker!} to set the field value.
The following paragraphs explain the definition of those variables.
The table below lists six reserved attributes in the Form and Field structures,
respectively.
Form Reserved Attributes
Field Reserved Attributes
GtFormSym
Value
FieldList
DefValue
_formType
90
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Form Reserved Attributes
Field Reserved Attributes
DoneAction
FieldType
dialogStyle
Choices
Font
The Form data structure is illustrated in the following table:
Array Name
Key
MyForm
gtFormSym
Attribute Value
fieldList
_formType
doneAction
dialogStyle
Font
MyField1
value
lastValue
fieldType
choices
MyField2
...
MyField3
...
MyField4
value
defValue
fieldType
choices
...
Laker³ Tcl Reference Manual
K-2015.06
...
91
Chapter 3: GUI Extensions
Form and Field
In the C-based argument, formSymbol>fieldSymbol>value is used to
retrieve the attribute value in a form while in Tcl
formSymbol(fieldSymbol:value) is used.
The difference is shown in the following table.
Argument
Description
formSymbol>gtFormSym (read only)
formSymbol >fieldList (read only)
formSymbol>_formType (read only)
formSymbol>doneAction (read only)
formSymbol>font (read only)
formSymbol>dialogStyle (read only)
formSymbol(gtFormSym)
formSymbol(fieldList)
formSymbol(_formType)
formSymbol(doneAction)
formSymbol(font)
formSymbol(dialogStyle)
formSymbol>fieldSymbol>value
formSymbol>fieldSymbol>defValue
formSymbol>fieldSymbol>fieldType
formSymbol>fieldSymbol>choices
formSymbol(fieldSymbol:value)
formSymbol(fieldSymbol:defValue)
formSymbol(fieldSymbol:fieldType)
formSymbol(fieldSymbol:choices)
A Tcl array is indeed a hash table; its argument is summarized in the following
table.
■
Each entry in the hash table is indexed by a key.
■
ArrayName(IndexKey): No space is allowed between “(” and “)” - left and
right parentheses.
If the user types ArrayName(Index1)(Index2) in Tcl, it does not mean 2D
array key index instead, it means ArrayName(“Index1)(Index2”). Thus,
typing formSymbol(fieldSymbol:value) means
formSymbol>fieldSymbol>value.
92
Array Name
Key
Attribute Value
MyForm
hiFormSym
MyForm
MyForm
fieldList
MyField1 MyField2 ...
MyForm
_formType
nonoption
MyForm
DoneAction
Callback Commands
MyForm
DialogStyle
Modeless, Modal,...
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Array Name
Key
Attribute Value
MyForm
Font
MyForm
MyField1:value
...
MyForm
MyField1:defValue
...
MyForm
MyField1:FieldType
...
MyForm
MyField1:choices
...
MyForm
MyField2:value
...
MyForm
MyField2:defValue
...
MyForm
MyField2:FieldType
...
MyForm
MyField2:choices
...
...
...
...
The Form and Field commands are described as follows.
■
gtCreateAppForm
■
gtCreateBooleanButton
■
gtCreateButton
■
gtCreateButtonBoxField
■
gtCreateCyclicField
■
gtCreateFileOpenField
■
gtCreateFloatField
■
gtCreateForm
■
gtCreateIntField
■
gtCreateLabel
■
gtCreateListBoxField
■
gtCreateListField
■
gtCreatePointField
■
gtCreatePointListField
Laker³ Tcl Reference Manual
K-2015.06
93
Chapter 3: GUI Extensions
Form and Field
■
gtCreateRadioField
■
gtCreateSeparatorField
■
gtCreateStringField
■
gtCreateToggleField
■
gtDeleteForm
■
gtDisableField
■
gtDisplay
■
gtEnableField
■
gtFormApply
■
gtFormCancel
■
gtFormDone
gtCreateAppForm
The gtCreateAppForm command returns an object handle if the form can be
created.
Syntax
gtCreateAppForm -name formSymbol -fields [list $field1
$field2 ...] [-title “Form Title”] [-dialogStyle
(Modeless | modal | systemModal)] [-initialSize {width
height}] [-buttonLayout “ButtonType”] [-callback
{command1} {command2} ...]
Returns
An object handle if successful; otherwise, returns 0.
Arguments
94
Argument
Description
-buttonLayout
“ButtonType”
Specify the type of buttons in a dialog.
Valid values: OKCancel, OKCancelDef, OKCancelApply,
ApplyCancel, ApplyCancelDef, and OKCancelDefApply
(default=OKCancelDefApply).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Argument
Description
-callback
{commands 1}
{commands2} ...
Specify the Tcl Callback command list to be executed
when the OK or Apply button is clicked.
-dialogStyle
(Modeless | modal |
systemModal)
Specify the dialog style.
Valid values: modeless, modal, and systemModal
(default=modeless).
-fields
[list $field1 $field2 ...]
Specify the list of field handles returned from
gtCreateXXXFields. To specify more than one field,
use [list $field1 $field2 ...] to enclose the fields.
-formType
Specify the form type.
Valid values: Options and NonOptions
(default=NonOptions).
-initialSize
{width height}
Specify an initial form size by giving a value for width and
height.
-name formSymbol
Specify the form symbol (for example: demo).
-title "Form Title"
Specify the form title (for example: "This is a form").
Examples
set form1 [gtCreateAppForm -name demo -title “This is a form” \
-buttonLayout OKCancelDefApply \
-fields [list $btn2 $btn1 $cyc2 $int1 $bol1 $list1 $bbox1 $rad1] \
-callback {puts “you press OK or apply”} -initialSize {800 600}]
gtCreateBooleanButton
The gtCreateBooleanButton command returns an object handle if the
state of the Boolean button, 1 (pressed) or 0 (unpressed), can be defined.
Syntax
gtCreateBooleanButton -name fieldSymbol -buttonText
“Boolean Text” [-value 0|1] [-defValue 0|1] [-callback
{command1} {command2} ...]
Returns
An object handle if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
95
Chapter 3: GUI Extensions
Form and Field
Arguments
Argument
Description
-buttonText
“Boolean Text”
Specify the string shown beside the Boolean button.
-callback {command1}
{command2} ...
Specify the Tcl callback command list to be executed.
-defValue 0|1
Specify the default value.
Valid values: Boolean values, 0 and 1.
-name fieldSymbol
Specify the field symbol.
-value 0|1
Valid values: Boolean values, 0 and 1.
Examples
set bol1 [gtCreateBooleanButton -name bool1 -prompt “Boolean” \
-value 1 -defValue 0]
# Output Result, see figure below
gtCreateButton
The gtCreateButton command returns an object handle if the push button
can be created.
Syntax
gtCreateButton -name fieldSymbol -buttonText “ButtonText”
[-callback {command1} {command2} ...]
Returns
An object handle if successful; otherwise, returns 0.
96
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Arguments
Argument
Description
-buttonText
“ButtonText”
Specify the string shown on the button.
-callback
{command1}
{command2} ...
Specify the Tcl callback command list to be executed.
-name fieldSymbol
Specify the field symbol.
Examples
set btnA [gtCreateButton -name buttonA \
-buttonText “buttonA” -callback {myformB}]
# Output Result, see figure below
gtCreateButtonBoxField
The gtCreateButtonBoxField command returns an object handle if the
group of buttons in a field can be created.
Syntax
gtCreateButtonBoxField -name fieldSymbol -choices {choice1
choice2 ... choicen} [-callback {command1} {command2} ...
{commandn}]
Returns
An object handle if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
97
Chapter 3: GUI Extensions
Form and Field
Arguments
Argument
Description
-callback {command1}
{command2} ...
{commandn}
Specify the Tcl callback command list to be executed.
The number of callback commands must be the same
with the one in the choice list.
-choices
{choice1 choice2 ...
choicen}
Specify a list of button choices.
-name fieldSymbol
Specify the field symbol.
Examples
set bbox1 [gtCreateButtonBoxField -name car \
-choices “BMW” “BENZ” “Toyota” “Honda” \
“VolksWagon” “Land Rover”
-callback {sum 1 1} {puts “BENZ”} {pubs “Toyota”} \
{puts “Honda”} {puts “VolksWagon”} {puts “Land Rover”} \
-prompt “choose CAR:” ]
# The output result is shown in the following figure:
gtCreateCyclicField
The gtCreateCyclicField command returns an object handle if the cyclic
field for option-select can be created.
Syntax
gtCreateCyclicField -name fieldSymbol -choices {choice1
choice2 ... choicen} [-value “the value in choice list”]
[-defValue “the default value chosen from the choices”]
[-callback {command1} {command2} ... {commandn}] [-prompt
“Prompt Text”]
Returns
An object handle if successful; otherwise, returns 0.
98
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Arguments
Argument
Description
-callback {command1}
{command2} ... {commandn}
Specify the Tcl callback commands to be executed
when the user changes the field items.
-choices {choice1 choice2
... choicen}
Specify a string list of choices (for example: “puma”
or “leopard”).
-defValue “the default value
chosen from the choices”
Specify the default value, which must be one of the
choices.
-name fieldSymbol
Specify the field symbol.
-prompt “Prompt Text”
Specify the prompt text.
-value “the value in choice list”
Specify the first appeared value when creating the
form, which must be one of the choices.
Examples
set cyc2 [gtCreateCyclicField -name animal \
-prompt “choose Animal:” \
-value “dog” -defValue “cat” \
-choices [list “elephant” “mouse” “cat” “dog” \
“whale” “dophine” “tiger” “snake” “shark”] \
-callback {cmd1} {cmd2} {cmd3} {cmd4}]
# The output result is shown in the following figure:
Laker³ Tcl Reference Manual
K-2015.06
99
Chapter 3: GUI Extensions
Form and Field
gtCreateFileOpenField
The gtCreateFileOpenField command creates a field which can browse
files.
Syntax
gtCreateFileOpenField -name fieldSymbol [-prompt “prompt
text”] [-initPath “initial dir, if working dir not
specified”] [-filter “for example, *.tcl”] [-callback
“Tcl to be executed”]
Returns
None
Arguments
Argument
Description
-callback “Tcl to be executed”
Specify the Tcl command to be executed when the
file name is specified and the Return key is pressed.
-filter “for example, *.tcl”
Specify the file filter, for example: *.cpp or *.tcl.
-initPath “initial dir, if
working dir not specified”
Specify the user-specified path to find files.
-name fieldSymbol
Specify the field symbol.
-prompt “prompt text”
Specify the prompt text.
Examples
# Example 1
set file1 [gtCreateFileOpenField -name filefield \
-prompt “Filename:”-initPath “tcl/” -filter “*.tcl” \
-callback {puts “filefield(value): $filefield(value)”} \
{source $filefield(value)}]
# The output result is shown in the following figure:
100
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
# Example 2
set rad1 [gtCreateFileOpenField -name radiofield \
-prompt "radio field:" \
-initPath "./" -filter "*.cpp *.h" \
-callback {puts hello1} {puts hello2}]
set formradio [gtCreateAppForm -name radioform -title "radio" \
-buttonLayout OKCancelDefApply -fields $rad1 \
-callback {puts "you press OK or apply"}]
gtDisplay -name radioform
gtCreateFloatField
The gtCreateFloatField command returns an object handle if the field for
user-input floating numbers can be created. The range of the input limitation
can also be specified.
Syntax
gtCreateFloatField -name fieldSymbol [-value {integer} ] [defValue {integer}] [-range {min max}] [-prompt “Prompt
Text”] [-editable 0|1] [-callback {command1} {command2}]
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-callback {command1}
{command2}
Specify the Tcl callback commands list to be executed.
-defValue {integer}
Specify the default value.
Valid value: an integer.
-editable 0|1
Specify whether the field is editable.
Valid values: Boolean values, 0 and 1.
-name fieldSymbol
Specify the field symbol.
-prompt “Prompt Text”
Specify the prompt text.
-range {min max}
Specify the range for the input value. When {min max} is
specified, it checks whether the input value is valid.
-value {integer}
Specify the first appeared value when creating the form.
Laker³ Tcl Reference Manual
K-2015.06
101
Chapter 3: GUI Extensions
Form and Field
Examples
set float1 [gtCreateFloatField -name floatfield \
-prompt “fish weight (1.00 : 3.99):” \
-value 1.02 -defValue 2.00 -range {1.00 3.99}]
# The output result is shown in the following figure:
gtCreateForm
The gtCreateForm command returns an object handle if the form can be
created. This is a simplified command derived from gtCreateAppForm.
Syntax
gtCreateForm -name formSymbol -title formTitle -fields [list
$field1 $field2 ... $fieldn] -callback {callback1}
{callback2} ... {callbackn}
Returns
An object handle if successful; otherwise, returns 0.
Arguments
102
Argument
Description
-callback {callback1}
{callback2} ...
{callbackn}
Specify the Tcl callback command list to be executed when
the OK or Apply button is clicked.
-fields
[list $field1 $field2 ...
$fieldn]
Specify the fields which are created from the CreateField
commands.
-name formSymbol
Specify the form symbol.
-title formTitle
Specify the form title.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Examples
set stringhandle1 [gtCreateStringField -name stringSym \
-value “First appear string” -defValue “this is a default string”\
-prompt “Input your name:” -editable 1 -callback {puts “Hello!”}]
set formHandle [gtCreateForm -name demo2 \
-fields [list $stringhandle1] \
-callback "You press OK/Apply button!"
gtCreateIntField
The gtCreateIntField command returns an object handle if the field for
user-input integers can be created. The range of the input limitation can also be
specified.
Syntax
gtCreateIntField -name fieldSymbol [-value {integer} ]
[-defValue {integer}] [-range {min max}] [-prompt “Prompt
Text”] [-editable 0|1] [-callback {command1} {command2}]
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-callback {command1}
{command2}
Specify the Tcl callback command list to be executed.
-defValue {integer}
Specify the default value.
Valid value: an integer.
-editable 0|1
Specify whether the field is editable.
Valid values: Boolean values, 0 and 1.
-name fieldSymbol
Specify the field symbol.
-prompt “Prompt Text”
Specify the text string.
-range {min max}
Specify the range for the input value. When {min max} is
specified, it checks whether the input value is valid. For
example: {-100 100} means the invalid value range is
between -100 and 100.
Laker³ Tcl Reference Manual
K-2015.06
103
Chapter 3: GUI Extensions
Form and Field
Argument
Description
-value {integer}
Specify the first appeared value when the form is created.
Valid value: an integer.
Examples
set inthandle [gtCreateIntField -name intSym -value “30” \
-defValue “35” -range {1 99} -prompt “Your Age: “ \
-editable 1 -callback {sum 1 3}]
# The output result is shown in the following figure:
gtCreateLabel
The gtCreateLabel command returns an object handle if the label can be
created.
Syntax
gtCreateLabel -name fieldSymbol -labelText “text”
-justification “Justification”
Returns
An object handle if successful; otherwise, returns 0.
Arguments
104
Argument
Description
-justification
“Justification”
Specify the justification of the label.
Valid values: left, center, and right.
-labelText “text”
Specify the text string.
-name fieldSymbol
Specify the field symbol.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Examples
set lab1 [gtCreateLabel -name label1 \
-labelText “labelfield: this is a label”]
# The output result is shown in the following figure:
gtCreateListBoxField
The gtCreateListBoxField command returns an object handle if the list
box field entry for a form can be created.
Syntax
gtCreateListBoxField -name fieldSymbol [-prompt “prompt
text”] -choices {choice1 choice2 ... choicen} [-value
{“the value in choice list”}] [-defValue {“the value in
choice list”}] [-multipleSelect 0|1] [-numRows numRows ]
[-changeCB {Tcl command when changed}] [-doubleClickCB
{Tcl command as double-click}]
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-changeCB
Specify the Tcl command to be executed when the
{Tcl command when changed} selected item changed.
-choices
{choice1 choice2 ... choicen}
Specify the string list choices.
-defValue
{“the value in choice list”}
Specify the default selected item in the list box.
-doublieClickCB
{Tcl command as doubleclick}
Specify the Tcl command to be executed when
double-click on one item.
Laker³ Tcl Reference Manual
K-2015.06
105
Chapter 3: GUI Extensions
Form and Field
Argument
Description
-multipleSelect 0|1
Valid values: Boolean values, 0 and 1.
0 : Disallow multiple select items at a time.
1 : Allow multiple select items at a time.
-name fieldSymbol
Specify the field Symbol.
-numRows numRows
Specify the number of rows to be appeared one time.
-prompt “prompt text”
Specify the prompt text.
-value
{“the value in choice list”}
Specify the first appeared value when the item is
selected in the list box.
Examples
# Example 1
set list1 [gtCreateListBoxField -name listbox \
-prompt “ListBox Field” -value “choice4” \
-defValue “choice9” -numRows 5 \
-choices [list “choice1” “choice2” “choice3” “choice4” \
“choice5” “choice6” “choice7” “choice8” “choice9” “choice10”] \
-changeCB {puts “changeCB: $listbox(value)”} \
-multipleSelect 0 -doubleClickCB {doubleclick}]
# The output result is shown in the following figure:
106
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
# Example 2
# get the index of the selected item
set list1 [gtCreateListBoxField -name listbox \
-prompt "ListBox Field" -value "choice4" \
-defValue "choice9" -numRows 5 \
-choices [list "choice1" "choice2" "choice3" "choice4" \
"choice5" "choice1" "choice6" "choice7" "choice8" "choice9" \
"choice10"]\
-changeCB {puts "changeCB: $listbox(value)"} \
-doubleClickCB {doubleclick}]
set formlistbox [gtCreateAppForm -name listboxform \
-title "demo ListBox" -buttonLayout "OKCancelDefApply" \
-fields $list1 -callback {puts "you press OK or apply"}]
gtDisplay -name listboxform
# select identical item "choice1" and try:
set stringObj [gtGet -obj $list1 -attr listbox]
set result [gtGet -obj $stringObj -attr index]
puts "the StringField's value is : $result"
# Instead of returning value, this command may return index
# of the selected item in single select mode.
gtCreateListField
The gtCreateListField command returns an object handle if the list field
can be created.
Syntax
gtCreateListField -name fieldSymbol [-value {choice}] [defValue {choice}] [-prompt “Prompt Text”] [-editable
0|1] [-callback {command1} {command2}]
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-callback
{command1} {command2}
Specify the Tcl callback command list to be executed.
-defValue {choice}
Specify the default value list.
Laker³ Tcl Reference Manual
K-2015.06
107
Chapter 3: GUI Extensions
Form and Field
Argument
Description
-editable 0|1
Specify whether the field is editable.
Valid values: Boolean values, 0 and 1.
-name fieldSymbol
Specify the field symbol.
-prompt “Prompt Text”
Specify the prompt text.
-value {choice}
Specify the value list, for example: “ab” “cd” 1234
$a.
Examples
set list1 [gtCreateListField -name listfield \
-prompt "list Field" -value [list "a" "b" "c" 123] \
-defValue {"A" "B" "C" 456} -callback {sum 3 9} ]
# The output result is shown in the following figure:
gtCreatePointField
The gtCreatePointField command returns an object handle if the point
field for a form can be created.
A point field accepts only a point as input, the point can be floating point
numbers or integers.
Mixed types of point values are acceptable, for example: (123,3.345e3).
No spaces are allowed between the point values, for example, (123 ,345) is
illegal.
Syntax
gtCreatePointField -name fieldSymbol [-value {X Y}] [defValue {X Y}] [-prompt “Prompt Text”] [-callback
{command1} {command2} ... {commandn}] [editable 0|1]
108
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-callback {command1}
{command2} ...
{commandn}
Specify one or more Tcl commands to be executed when
current field value changed.
-defValue {X Y}
Specify the default point value.
-editable 0|1
Specify whether the field is editable.
Valid values: Boolean values, 0 and 1 (default=1).
-name fieldSymbol
Specify the field symbol.
-prompt “Prompt Text”
Specify the prompt text.
-value {X Y}
Specify the point value with the following format: (x,y) or {x
y}. No spaces are allowed in (x,y) format, but in {x y}
format, spaces can be used to separate two values.
Examples
set pnt1 [gtCreatePointField -name point1 \
-prompt “Point: “ -value (123,345) -defValue (111,222)]
# The output result is shown in the following figure:
gtCreatePointListField
The gtCreatePointListField command returns an object handle if the
point list field entry for a form can be created.
A point list field accepts only a point list as input.
A valid point list is represented by one or more points separated by spaces.
Laker³ Tcl Reference Manual
K-2015.06
109
Chapter 3: GUI Extensions
Form and Field
Syntax
gtCreatePointListField -name fieldSymbol [-prompt “Prompt
Text” ] [-value {choice}] [-defValue {choice}][-editable
0|1] [-callback {command1} {command2} ... {commandn}]
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-callback {command1}
{command2} ...
{commandn}
Specify one or more Tcl commands to be executed when
the current field value changed.
-defValue {choice}
Specify the default point list value.
-editable 0|1
Specify whether the field is editable.
Valid values: Boolean values, 0 and 1.
-name fieldSymbol
Specify the field symbol.
-prompt “Prompt Text”
Specify the prompt text, for example: “Point List
Field:”.
-value {choice}
Specify the point list enclosed by [list (x1,y1)
(x2,y2) (x3,y3) ...].
The point format is similar to gtCreatPointField.
Spaces are used to separate different point pairs.
Examples
set pntlst1 [gtCreatePointListField -name pointlist1 \
-prompt “Point List:” -value [list (123,345) (3,4) (333,321)] \
-defValue (111,222)]
# The output result is shown in the following figure:
110
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
gtCreateRadioField
The gtCreateRadioField command returns an object handle if the radio
field for a form can be created.
This option is similar to gtCreateToggleField, except that in the radio field,
the user can only select one radio button at a time.
Syntax
gtCreateRadioField -name fieldSymbol -choices {choice1
choice2 ... choicen} [-value {choice}][-defValue
{choice}] [-direction direction] [-callback {command1}
{command2} ... {commandn}] [-prompt “Prompt Text”] [itemsPerRow {integer}]
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-callback {command1}
{command2} ...
{commandn}
Specify the Tcl callback commands to be executed.
-choices {choice1 choice2
... choicen}
Specify the list of choices.
-defValue {choice}
Specify the default value that must be one of the values
in the list of choices.
-direction direction
Specify the direction to arrange the radio field.
Valid values: horizontal and vertical (default=horizontal).
-itemsPerRow {integer}
Specify the number of radio buttons per row.
-name fieldSymbol
Specify the field symbol.
-prompt “Prompt Text”
Specify the prompt text.
-value {choice}
Specify the valid value that must be one of the values in
the list of choices.
Laker³ Tcl Reference Manual
K-2015.06
111
Chapter 3: GUI Extensions
Form and Field
Examples
set rad1 [gtCreateRadioField -name color -prompt “Color:” \
-choices [list “white” “golden” “yellow” “red” “green”] \
-value “red” -defValue “green” -callback {sum 9 9}]
# The output result is shown in the following figure:
gtCreateSeparatorField
The gtCreateSeparatorField command returns an object handle if the
separator field for a form can be created.
Syntax
gtCreateSeparatorField -name fieldSymbol
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-name fieldSymbol
Specify the field symbol.
Examples
set sep1 [gtCreateSeparatorField -name aseparator]
gtCreateStringField
The gtCreateStringField command returns an object handle if the field for
user-input string can be created.
112
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Syntax
gtCreateStringField -name fieldSymbol [-value “Initial shown
on the form” ] [-defValue “default value”] [-prompt
“Prompt Text”] [-editable 0|1] [-callback {command1}
{command2} ... {commandn}]
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-callback
Specify the Tcl callback command list to be executed.
{command1} {command2} ...
{commandn}
-defValue “default value”
Specify the default value.
-editable 0|1
Specify whether the field is editable.
Valid values: Boolean values, 0 and 1.
-name fieldSymbol
Specify the field symbol, for example: stringSym.
-prompt “Prompt Text”
Specify the text string.
-value
“Initial shown on the form”
Specify the first appeared value when creating the form.
Examples
set stringhandle1 [gtCreateStringField -name stringSym \
-prompt "string field:" -value {SSoft, Inc.} \
-defValue {this is default value} ]
set theForm [gtCreateAppForm -name formName -title "string" \
-buttonLayout "OKCancelDefApply" \
-fields [list $stringhandle1] -callback {puts "Hello!"} ]
gtDisplay -handle $theForm
# The output result is shown in the following figure:
Laker³ Tcl Reference Manual
K-2015.06
113
Chapter 3: GUI Extensions
Form and Field
gtCreateToggleField
The gtCreateToggleField command returns an object handle if the state
of toggle button for a form can be defined. This command returns 1 when
pressed (toggled), and 0 when unpressed (untoggled).
Syntax
gtCreateToggleField -name fieldSymbol [-prompt “Prompt
Text”] -choices {choice1 choice2 ... choicen} [-value
{choice}] [-defValue {choice}] [-callback {command1}
{command2} ... {commandn}]
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-callback {command1}
{command2} ...
{commandn}
Specify the Tcl callback commands to be executed.
-choices {choice1 choice2
... choicen}
Specify the toggle list.
-defValue {choice}
Specify the default value, for example: [list 0 0 1
1].
The count of true/false values must be matched with
the count of choices.
114
-name fieldSymbol
Specify the field symbol.
-prompt “Prompt Text”
Specify the prompt text.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Argument
Description
-value {choice}
Specify a list of true/false values, for example: [list
1 1 0 0].
The count of true/false values must be matched with
the count of choices.
Examples
set tgl1 [gtCreateToggleField -name foods -prompt “Foods:” \
-choices [list “fish” “chicken” “pork” “beef”] \
-value [list 1 1 0 0] -defValue [list 0 1 0 1] \
-callback {sum 1 1} {sum 2 2}]
# The output result is shown in the following figure:
gtDeleteForm
The gtDeleteForm command deletes a form and returns the object handle if
the form can be deleted.
Syntax
gtDeleteForm (-name formSymbol | -handle $formhandle)
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-handle $formhandle
Specify the form handle.
-name formSymbol
Specify the form symbol.
Laker³ Tcl Reference Manual
K-2015.06
115
Chapter 3: GUI Extensions
Form and Field
Examples
# Example 1
set form1 [gtCreateAppForm -name demo ...]
gtDisplay -name demo
# Example 2
set form1 [gtCreateAppForm -name demo ...]
gtDeleteForm -handle $form1
gtDisableField
The gtDisableField command disables a field.
Syntax
gtDisableField -form formName -field fieldName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-field fieldName
Specify the field name.
-form formName
Specify the form which contains the field.
Examples
# disable the "wRouteMode" field of "wRouteNetForm" form
gtDisableField -form wRouteNetForm -field wRouteMode
gtDisplay
The gtDisplay command displays a form, a popup menu or a window.
Syntax
gtDisplay [-block] (-name formSymbol | -handle $formHandle)
Returns
None
116
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Arguments
Argument
Description
-block
Block the execution of gtDisplay. All Tcl commands
executed after gtDisplay is blocked until an action is
taken on the frame which is displayed by gtDisplay.
-handle $formHandle
Specify the system-generated handle.
-name formSymbol
Specify the user-specified symbol name.
Examples
# Example 1
set form1 [gtCreateAppForm -name demo ...]
gtDisplay -name demo
# Example 2
set form1 [gtCreateAppForm -name demo ...]
gtDisplay -handle $form1
# Example 3
# Show $your_form without "Hello" printed out.
# The string "Hello" is printed out until an action is taken
# on $your_form, like a button is clicked.
gtDisplay -block -handle $your_form
puts "Hello"
gtEnableField
The gtEnableField command enables a field.
Syntax
gtEnableField -form formName -field fieldName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-field fieldName
Specify the field name.
-form formName
Specify the form which contains the field.
Laker³ Tcl Reference Manual
K-2015.06
117
Chapter 3: GUI Extensions
Form and Field
Examples
# enable the "wRouteMode" field of "wRouteNetForm" form
gtEnableField -form wRouteNetForm -field wRouteMode
gtFormApply
The gtFormApply command executes the operation of clicking the Apply
button in a form. This command can also be executed with user-defined Tcl
commands.
Syntax
gtFormApply (-name formSymbol | -handle $formhandle)
Returns
None
Arguments
Argument
Description
-handle $formhandle
Specify the form handle.
-name formSymbol
Specify the form symbol.
Examples
# Example 1
set form1 [gtCreateAppForm -name demo ...]
gtFormApply -name demo
# Example 2
set form1 [gtCreateAppForm -name demo ...]
gtFormApply -handle $form1
gtFormCancel
The gtFormCancel command returns an object handle if the operation of
clicking the Cancel button in a form can be executed. This command can also
be executed with user-defined Tcl commands.
Syntax
gtFormCancel (-name formSymbol | -handle $formhandle)
118
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Form and Field
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-handle $formhandle
Specify the form handle.
-name formSymbol
Specify the form symbol.
Examples
# Example 1
set form1 [gtCreateAppForm -name demo ...]
gtFormCancel -name demo
# Example 2
set form1 [gtCreateAppForm -name demo ...]
gtFormCancel -handle $form1
gtFormDone
The gtFormDone command executes the operation of clicking the OK button
in a form. This command can also be executed with user-defined Tcl
commands.
Syntax
gtFormDone (-name formSymbol | -handle $formhandle)
Returns
None
Arguments
Argument
Description
-handle $formhandle
Specify the form handle.
-name formSymbol
Specify the form symbol.
Laker³ Tcl Reference Manual
K-2015.06
119
Chapter 3: GUI Extensions
Form and Field
Examples
# Example 1
set form1 [gtCreateAppForm -name demo ...]
gtFormDone -name demo
# Example 2
set form1 [gtCreateAppForm -name demo ...]
gtFormDone -handle $form1
The following is an example of forms and fields.
Figure 3
Example of Form and Field
The Tcl example is demonstrated as follows:
proc sum {arg1 arg2} {
set result [expr $arg1 + $arg2]
puts “$arg1+$arg2 = $result”
}
set list1 [gtCreateListField -name listfield \
-prompt “list Field” -value [list “a” “b” “c” 123] \
-defValue {“A” “B” “C” 456} -callback {sum 3 9} ]
set bbox1 [gtCreateButtonBoxField -name car \
-choices “BMW” “BENZ” “Toyota” “Honda” “VolksWagon” “Land Rover”
-callback {sum 1 1} {puts “BENZ”} {pubs “Toyota”} \
120
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Pre-processing Tcl Callback Functions
{puts “Honda”} {puts “VolksWagon”} {puts “Land Rover”} \
-prompt “choose CAR:” ]
set cyc2 [gtCreateCyclicField -name animal \
-prompt “choose Animal: “ -value “dog” -defValue “cat” \
-choices [list “elephant” “mouse” “cat” “dog” \
“whale” “dophine” “tiger” “snake” “shark”]]
set str1 [gtCreateStringField -name string1 \
-editable 1 -prompt “input name:” -value “SS inc.” \
-defValue “Made In Taiwan!”]
set btn1 [gtCreateButton -name button1 \
-buttonText “call Tcl func” -callback {myformA}]
set btn2 [gtCreateButton -name button2 \
-buttonText “call popup menu” \
-callback {gtDisplay -name popupmenu}]
set int1 [gtCreateIntField -name intfield” \
-prompt “input your age (1-60):” \
-range {1 60} -value 25 -defValue 30]
set tgl1 [gtCreateToggleField -name foods -prompt “Foods: “ \
-choices [list “fish” “chicken” “pork” “beef”] \
-value [list 1 1 0 0] -defValue [list 0 1 0 1] \
-callback {sum 1 1} {sum 2 2}]
set tgl2 [gtCreateToggleField -name flower -prompt “Flower :” \
-choices [list “rose” “lily” “lotus” “carnation”] \
-value [list 1 1 0 1] -defValue [list 0 1 0 0] \
-callback {sum 1 1} {sum 2 2}]
set rad1 [gtCreateRadioField -name color -prompt “Color:” \
-choices [list “white” “golden” “yellow” “red” “green”]\
-value “red” -defValue “green” -callback {sum 9 9}]
set bol1 [gtCreateBooleanButton -name bool1 -prompt “Boolean” \
-value 1 -defValue 0]
set lab2 [gtCreateLabel -name label1 \
-labelText “label: A demo case”]
set form11 [gtCreateAppForm -name demo -title “demo” \
-buttonLayout OKCancelDefApply \
-fields [list $lab2 $tgl1 $str1 $tgl2 $btn2 $btn1 \
$cyc2 $int1 $bol1 $list1 $bbox1 $rad1] \
-callback {puts “you press OK or apply”}]
gtDisplay -name demo
Pre-processing Tcl Callback Functions
This section describes the pre-processing Tcl callback functions for drag-anddrop actions.
You can source the following Tcl functions in Laker3, and then hold the Shift
key and perform the drag-and-drop action.
Laker³ Tcl Reference Manual
K-2015.06
121
Chapter 3: GUI Extensions
Pre-processing Tcl Callback Functions
proc gtProcessDragData {type args} {
puts "gtProcessDragData: type=$type, value=$args"
switch $type {
COMPOUND_TEXT
{return "123"}
default
{}
}
return
}proc
gtProcessDropData
{type args} {
puts "gtProcessDropData: type=$type, value=$args"
switch $type {
COMPOUND_TEXT
{return "ABC"}
default
{}
}
return
}
proc
gtProcessDropType
{args} {
puts "gtProcessDragType: type=$args"
switch $args {
SPS_SOURCE_NAME
{return "MY_DND_TYPE"}
default
{}
}
return
}
proc
gtProcessDragType
{args} {
puts "gtProcessDragType: type=$args"
switch $args {
MY_DND_TYPE
{return "SPS_SOURCE_NAME"}
default
{}
}
return
}
122
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Pre-processing Tcl Callback Functions
The function replaces the COMPOUND_TEXT type data for both drag and drop
actions. If the drag-and-drop type name for drag is SPS_SOURCE_NAME then it
is replaced with a user-defined name when dragging from Laker3.
Likewise the user-defined type (assuming it was dragged from another
application) is mapped to SPS_SOURCE_NAME.
The Tcl callback functions are described in the following sections:
■
gtProcessDragData
■
gtProcessDragType
■
gtProcessDropData
■
gtProcessDropType
gtProcessDragData
The gtProcessDragData command changes the drag data from Laker3 for
compatibility with other applications.
The command interface for gtProcessDragData and gtProcessDropData
is the same. Both take the following two arguments:
■
A type string. This is the drag-and-drop drag type. Some types are listed as
follows: SPS_SIGNAL, SPS_INST, SPS_INST_PIN, and COMPOUND_TEXT.
Type can be dumped from the callback function to obtain the type names
relevant for a particular drag-and-drop action.
■
The drag data. This data may be encoded differently for each drag-and-drop
type. To modify drag-and-drop data:
•
The callback function can use the Tcl return command to pass back
to Laker the modified drag or drop string.
•
If the return command is called with no arguments or an empty string
then the data for that type is not modified.
Syntax
gtProcessDragData
Returns
None
Arguments
None
Laker³ Tcl Reference Manual
K-2015.06
123
Chapter 3: GUI Extensions
Pre-processing Tcl Callback Functions
Examples
proc gtProcessDragData {type args} {
puts "gtProcessDragData: type=$type, value=$args"
switch $type {
COMPOUND_TEXT
{return "123"}
default
{}
}
return
}
gtProcessDragType
The gtProcessDragType command maps the type name Laker3 uses to a
name that another application uses as a drop target.
The command interface for gtProcessDragType and gtProcessDropType
is the same. Both take the following single argument:
■
The drag-and-drop type name. To map the drag-and-drop type name:
•
The callback function can use the Tcl return command to pass back
to Laker the mapped type name. The mapped type name is used in
place of the original name in all further processing.
•
If the return command is called with no arguments or an empty string
then the type name is not mapped.
Syntax
gtProcessDragType
Returns
None
Arguments
None
124
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Pre-processing Tcl Callback Functions
Examples
proc gtProcessDropType {args} {
puts "gtProcessDragType: type=$args"
switch $args {
SPS_SOURCE_NAME
{return "MY_DND_TYPE"}
default
{}
}
return
}
gtProcessDropData
The gtProcessDropData command changes the drop data from other
application for compatibility with Laker3.
The command interface for gtProcessDragData and gtProcessDropData
is the same.
Syntax
gtProcessDropData
Returns
None
Arguments
None
Examples
proc gtProcessDropData {type args} {
puts "gtProcessDropData: type=$type, value=$args"
switch $type {
COMPOUND_TEXT
{return "ABC"}
default
{}
}
return
}
gtProcessDropType
The gtProcessDropType command maps the type name another application
uses to a type name that Laker3 uses as a drop target.
Laker³ Tcl Reference Manual
K-2015.06
125
Chapter 3: GUI Extensions
Miscellaneous
The command interface for gtProcessDragType and gtProcessDropType
is the same.
Syntax
gtProcessDropType
Returns
None
Arguments
None
Examples
proc gtProcessDragType {args} {
puts "gtProcessDragType: type=$args"
switch $args {
MY_DND_TYPE
{return "SPS_SOURCE_NAME"}
default
{}
}
return
}
Miscellaneous
This section describes the other Tcl commands applied to GUI extensions.
These commands include:
126
■
gtAddFields
■
gtCancelNumberKeyPad
■
gtDeleteFields
■
gtDeleteField
■
gtDestroyAllObjs
■
gtGet
■
gtGetBBox
■
gtGetOrigin
■
gtIsGTObj
■
gtMaxWnd
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Miscellaneous
■
gtMoveIntoScreen
■
gtSet
■
gtSetBBox
■
gtSetBindKey
■
gtSetOrigin
■
gtSetWndBgColor
gtAddFields
The gtAddFields command adds new fields after the form is created.
The origin point and bounding box may be specified if the specified form is in
2D form style.
Syntax
gtAddFields (-name formSymbol | -handle $handle) -fields
[list $field1 $field2 ... $fieldn]
Returns
None
Arguments
Argument
Description
-fields
[list $field1 $field2 ... $fieldn]
Specify the fields created with gtCreateXXXField.
-handle $handle
Specify the name or handle of the form.
-name formSymbol
Specify the form symbol.
Examples
# Example 1
# 1D form style
gtAddFields -handle demo -fields [list $field1 $field2]
# Example 2
# 2D form style
gtAddFields -handle demo \
-fields [list [list $field1 {0 0} {100 100}] \
[list $fields {101 101} {200 200}]
Laker³ Tcl Reference Manual
K-2015.06
127
Chapter 3: GUI Extensions
Miscellaneous
gtCancelNumberKeyPad
The gtCancelNumberKeyPad command maps keys on the key pad of Linux
X server to the following:
■
0> <Key>Insert
■
1> <Key>End
■
2> <Key>Down
■
3> <Key>Next
■
4> <Key>Left
■
5> <Key>Begin
■
6> <Key>Right
■
7> <Key>Home
■
8> <Key>Up
■
9> <Key> Prior
Syntax
gtCancelNumberKeyPad
Returns
None
Examples
gtCancelNumberKeyPad
gtDeleteFields
The gtDeleteFields command deletes fields from the form.
Syntax
gtDeleteFields -handle $handle \
-fields [list $field1 $field2 ... $fieldn]
Returns
None
128
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Miscellaneous
Arguments
Argument
Description
-fields
[list $field1 $field2 ... $fieldn]
Specify the fields created with gtCreateXXXField.
-handle $handle
Specify the name or handle of the form.
Examples
gtDeleteFields -handle form -fields [list docfile1 docfile2]
See Also
gtDeleteField
gtDeleteField
The gtDeleteField command deletes one field after the form is created.
Syntax
gtDeleteField -form $form -handle $handle -field $field1
Returns
None
Arguments
Argument
Description
-field $field1
Specify the fields created with gtCreateXXXField.
-form $form
Specify the name or handle of the form.
-handle $handle
Specify the name or handle of the field.
Examples
set Fieldid [gtGet -obj $Formid -attr MY_Field]
gtDeleteField -form $Formid -handle $Fieldid -field $MY_Fieldid
See Also
gtDeleteFields
gtAddFields
Laker³ Tcl Reference Manual
K-2015.06
129
Chapter 3: GUI Extensions
Miscellaneous
gtDestroyAllObjs
The gtDestroyAllObjs command calls the objects created via GUI
commands, and free the memory. This is useful after creating many forms,
windows, and other GUI extensions.
Syntax
gtDestroyAllObjs
Returns
None
Examples
gtDestroyAllObjs
gtGet
The gtGet command returns the value of form or field if the attribute of a form
or field can be obtained.
Syntax
gtGet -obj $handle -handle $handle -attr attribute
Returns
The value of form or field if successful; otherwise, returns nothing.
Arguments
130
Argument
Description
-attr attribute
Specify the attribute, similar to Form dialogStyle, FieldList,
Fields value, or gtCreateStringField value. The fields of a form
is also an attribute of the form.
-handle $handle
Specify the form or field handle.
-obj $handle
Specify the form or field handle.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Miscellaneous
Examples
# Example 1
# Get the StringField value.
set stringhandle1 [gtCreateStringField -name stringSym \
-value "First appear string" -defValue "this is a default string"\
-prompt "Input your name: " -editable 1 -callback {puts "Hello!"}]
set formObj [gtCreateAppForm -name demo2 \
-fields [list $stringhandle1]]
# Example 2
# Get form's attribute
set demo2FieldList [gtGet -obj $formObj -attr FieldList]
set demo2DialogStyle [gtGet -obj $formObj -attr dialogStyle]
# Example 3
# Get form's field's value
set stringObj [gtGet -obj $formObj -attr stringSym]
set result [gtGet -obj $stringObj -attr value]
puts "the StringField's value is : $result"
gtGetBBox
The gtGetBBox command returns a point that contains the bounding box of
the window/form if the size of window/form can be obtained.
Syntax
gtGetBBox (-name formSymbol | -handle $handle)
Returns
Point that contains the bounding box of the window/form (the format is {width
height}) if successful; otherwise, returns nothing.
Arguments
Argument
Description
-handle $handle
Specify the name or handle of the window/form.
-name formSymbol
Specify the form symbol.
Examples
set bbox [gtGetBBox -name demo]
then bbox may look like {100 200}
Laker³ Tcl Reference Manual
K-2015.06
131
Chapter 3: GUI Extensions
Miscellaneous
gtGetOrigin
The gtGetOrigin command returns the point of the origin if the origin of the
form can be obtained.
Syntax
gtGetOrigin -name formSymbol -handle $handle -obj $handle
Returns
The point of the origin, where the origin coordinate is at the upper left screen, if
successful; otherwise, returns nothing.
Arguments
Argument
Description
-handle $handle
Specify the form handle created from gtCreateAppForm.
-name formSymbol
Specify the form symbol.
-obj $handle
Specify the form handle created from gtCreateAppForm.
Examples
set point [ gtGetOrigin -name demo]
echo $point 100 200
gtIsGTObj
The gtIsGTObj command returns 1 if the object is created from Tcl
commands.
Syntax
gtIsGTObj -obj $handle
Returns
1 if successful; otherwise, returns 0.
Arguments
132
Argument
Description
-obj $handle
Specify the form or field handle.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Miscellaneous
Examples
set stringhandle1 [gtCreateStringField -name stringSym \
-value "First appear string" -defValue "this is a default string"\
-prompt "Input your name: " -editable 1 -callback {puts "Hello!"}]
set ret [gtIsGTObj -obj $formObj]
puts "ret= $ret"
# ret = 1
gtMaxWnd
The gtMaxWnd command gets the correct window identifier and maximizes the
window to fit the screen.
Syntax
gtMaxWnd [-window windowId | -windowType windowType]
Returns
None
Arguments
Argument
Description
-window
windowId
Specify the destination window. The window identifier can be
obtained by calling lakerGetwtWndId, which only affects the
active window.
-windowType
windowType
Specify the window type. This argument is case insensitive.
Valid values for Laker: lakerDsgWnd (Design/Layout window
pane) and lakerMasterWnd (Home Page).
Valid values for ADP: LEOMASTERWND (Home Page),
AMSFM_TOP_DSGWND (Schematic Editor),
SIM_MAINMGR_WIND (Simulation Console), nAnalyzer
(LakerWave window), and SYMFM_TOP_DSGWND (Symbol
Editor).
Examples
gtMaxWnd -windowType lakerMasterWnd
Laker³ Tcl Reference Manual
K-2015.06
133
Chapter 3: GUI Extensions
Miscellaneous
gtMoveIntoScreen
The gtMoveIntoScreen command gets the correct window identifier or
resets the position of all windows on the screen.
Syntax
gtMoveIntoScreen [-window windowId | -windowType windowType]
Returns
None
Arguments
Argument
Description
-window
windowId
Specify the destination window. The window identifier can be
obtained by calling lakerGetwtWndId, which only affects the
active window.
-windowType
windowType
Specify the window type. This argument is case insensitive.
Valid values for Laker: lakerDsgWnd (Design/Layout window
pane) and lakerMasterWnd (Home Page).
Valid values for ADP: LEOMASTERWND (Home Page),
AMSFM_TOP_DSGWND (Schematic Editor),
SIM_MAINMGR_WND (Simulation Console), nAnalyzer
(LakerWave window), and SYMFM_TOP_DSGWND (Symbol
Editor).
Examples
gtMoveIntoScreen -windowType lakerMasterWnd
gtSet
The gtSet command sets the attribute of the form or field.
Syntax
gtSet -obj $handle -handle $handle -attr attribute -value
attrValue
Returns
None
134
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Miscellaneous
Arguments
Argument
Description
-attr attribute
Specify the attribute, similar to Form dialogStyle, FieldList,
Fields value, or gtCreateStringField value. The fields of a form
is also an attribute of the form.
-handle $handle
Same as -obj.
-obj $handle
Specify the form or field handle.
-value attrValue
Specify the attribute value.
Examples
# Modify StringField value
set stringhandle1 [gtCreateStringField -name stringSym \
-value "First appear string" -defValue "this is a default string"\
-prompt "Input your name: " -editable 1 -callback {puts "Hello!"}]
set formObj [gtCreateAppForm -name demo2 -fields [list
$stringhandle1]]
set stringObj [gtGet -obj $formObj -attr stringSym]
gtSet -obj $stringObj -attr value -value "A new string!"
gtSetBBox
The gtSetBBox command changes the size of the window/form after creation.
Syntax
gtSetBBox (-name formSymbol | -handle $handle) -bBox {width
height}
Returns
None
Arguments
Argument
Description
-bBox {width height}
Specify the bounding box with the following format: {width
height}
-handle $handle
Specify the name or handle of the window/form.
-name formSymbol
Specify the form symbol.
Laker³ Tcl Reference Manual
K-2015.06
135
Chapter 3: GUI Extensions
Miscellaneous
Examples
gtSetBBox -name demo -bBox {300 400}
gtSetBindKey
The gtSetBindKey command sets user-defined hotkeys with a specified
definition file and dynamically updates the customized hotkeys onto pull-down
menu.
A bind key definition file may contain the following lines:
Keys myBindKey
{
#bindkey
AppliedArea
Type
Ctrl<Key>b
DRAWINGAREAWND f.tcl
Alt<Key>b
DRAWINGAREAWND f.tcl
<Key>Z
DRAWINGAREAWND f.tcl
}
dummy Tcl_Commands
dummy “lakerZoomIn”
dummy “lakerZoomOut”
dummy “puts {you press Z}”
gtSetBindKey does not support the bind key that is set as Shift<Key>*
(where * represents all characters having ASCII code), because this may
cause confusion, such as Shift<Key>a = <Key>A. To avoid this situation,
<Key>* must be used instead of Shift<Key>*; Shift<Key>Tab, however,
is an exception.
To define bindkey in the definition file, use Ctrl/Alt + <Key>a~z or
<Key>A~Z. For example:
<Key>a
<Key>A
Ctrl<Key>a
Alt<Key>a
Ctrl<Key>A
Alt<Key>A
Note:
:
:
:
:
:
:
a
Shift + a
Ctrl + a
Alt + a
Ctrl + Shift + a
Alt + Shift + a
Pressing Shift+A and Shift+a may have the same result
under X-Window in all Unix platforms because the <Caps
Lock> key takes no effect upon such invocation.
To define the AppliedArea:
■
Use asterisk (*) to apply the user-defined bind key in the active window.
■
Use DRAWINGAREAWND to apply the bind key in the drawing area only.
For detailed information about key definition, use the hotkey application to test
all bind keys.
136
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Miscellaneous
Syntax
gtSetBindKey [-window windowId | -windowType windowType] file user_defined_bind_key_file
Returns
None
Arguments
Argument
Description
-file
user_defined_bind_key_file
Specify the definition file for customized bind key.
-window windowId
Specify the destination window. The window identifier
can be obtained by calling lakerGetwtWndId, which
only affects the active window.
-windowType
windowType
Specify the window type. This argument is case
insensitive.
Valid values for Laker: lakerDsgWnd (Design/Layout
window pane) and lakerMasterWnd (Home Page).
Valid values for ADP: LEOMASTERWND (Home
Page), AMSFM_TOP_DSGWND (Schematic Editor),
SIM_MAINMGR_WND (Simulation Console),
nAnalyzer (LakerWave window), and
SYMFM_TOP_DSGWND (Symbol Editor).
Laker³ Tcl Reference Manual
K-2015.06
137
Chapter 3: GUI Extensions
Miscellaneous
Examples
gtSetBindKey -windowType lakerDsgWnd -file demo.key
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
contents of demo.key:
Keys myBindKey
{
<Key>e
* f.exec
LEOMasterPreferences
<Key>a
* f.exec
LEODSGAlign
<Key>A
* f.exec
LEODSGSmashOne
<Key>F8
DRAWINGAREAWND
f.exec LEODSGCreateRect
<Key>F9
DRAWINGAREAWND
f.exec LEODSGCreatePoly
<Key>F10
DRAWINGAREAWND
f.exec LEODSGCreatePath
<Key>F11
DRAWINGAREAWND
f.exec LEODSGCreateText
}
These customized hotkeys are dynamically updated onto pull-down
menu in the same Laker session after executing the command.
Pressing <Key>e invokes LEOMasterPreferences.
When <Caps Lock> is off, pressing <Key>a invokes LEODSGAlign.
When <Caps Lock> is on, pressing <Key>a invokes LEODSGAlign.
Pressing <Shift> + <Key>A invokes LEODSGSmashOne.
Pressing F8 invokes the Create Rectangle command.
Pressing F9 invokes the Create Polygon command.
Pressing F10 invokes the Create Path command.
Pressing F11 invokes the Create Text command.
gtSetOrigin
The gtSetOrigin command sets the origin of the form.
Syntax
gtSetOrigin -name formSymbol -handle $handle -obj $handle orig {X Y}
Returns
None
Arguments
138
Argument
Description
-handle $handle
Specify the form handle created from gtCreateAppForm.
-name formSymbol
Specify the form symbol.
-obj $handle
Specify the form handle which is the same as -handle.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Miscellaneous
Argument
Description
-orig {X Y}
Specify the X/Y position with {X Y} format. The origin is at the
upperleft screen.
Examples
gtSetOrigin -name demo -orig {100 200}
gtSetWndBgColor
The gtSetWndBgColor command changes the background color of the active
Layout, Schematic Editor, or Symbol Editor windows.
Syntax
gtSetWndBgColor [-window windowId][-color color]
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
139
Chapter 3: GUI Extensions
Miscellaneous
Arguments
Argument
Description
-color
color
Specify the background color for windows. The color is changed after
lakerRedraw is executed.
Valid values: black, Gray1, Gray2, Gray3, Gray4, Gray5, Gray6,
white, red1, red2, red3, red4, red5, red6, red7, red8,
orange1, orange2, orange3, orange4, orange5, orange6,
orange7, orange8, yellow1, yellow2, yellow3, yellow4,
yellow5, yellow6, yellow7, yellow8, green1, green2, green3,
green4, green5, green6, green7, green8, cyan1, cyan2, cyan3,
cyan4, cyan5, cyan6, cyan7, cyan8, blue1, blue2, blue3,
blue4, blue5, blue6, blue7, blue8, purple1, purple2,
purple3, purple4, purple5, purple6, purple7, purple8,
lavender, LightYellow2, MistyRose, gray, SlateGray, red,
OrangeRed, tomato, red3, orange, DarkOrange, yellow,
OliveDrab1, DarkOliveGreen2, gold, LightGoldenrod,
YellowGreen, green, MediumSpringGreen, SpringGreen2,
SeaGreen3, LimeGreen, ForestGreen, blue, CornflowerBlue,
MediumSlateBlue, DeepSkyBlue, LightSkyBlue, CadetBlue2,
cyan, PaleTurquoise, DarkTurquoise, MediumAquamarine,
aquamarine, purple, DarkKhaki, sienna, peru, burlywood,
SandyBrown, chocolate, brown, salmon, HotPink, DeepPink,
LightPink, wheat2, magenta, violet, aquamarine1,
chartreuse2, pink2, gray80, SpringGreen, OliveDrab,
DarkSeaGreen, DarkSeaGreen2, SeaGreen, MediumSeaGreen,
LightSeaGreen, PaleGreen, pink, wheat (default=black).
140
Laker³ Tcl Reference Manual
K-2015.06
Chapter 3: GUI Extensions
Miscellaneous
Argument
Description
The color is changed after adpDsgRedraw or symDsgRedraw is
executed.
Valid values: black, Gray1, Gray2, Gray3, Gray4, Gray5, Gray6,
white, red1, red2, red3, red4, red5, red6, red7, red8,
orange1, orange2, orange3, orange4, orange5, orange6,
orange7, orange8, yellow1, yellow2, yellow3, yellow4,
yellow5, yellow6, yellow7, yellow8, green1, green2, green3,
green4, green5, green6, green7, green8, cyan1, cyan2, cyan3,
cyan4, cyan5, cyan6, cyan7, cyan8, blue1, blue2, blue3,
blue4, blue5, blue6, blue7, blue8, purple1, purple2,
purple3, purple4, purple5, purple6, purple7, purple8,
white, lavender, LightYellow2, MistyRose, gray, SlateGray,
red, OrangeRed, tomato, red3, orange, DarkOrange, yellow,
OliveDrab1, DarkOliveGreen2, gold, LightGoldenrod,
YellowGreen, green, MediumSpringGreen, SpringGreen2,
SeaGreen3, LimeGreen, ForestGreen, blue, CornflowerBlue,
MediumSlateBlue, DeepSkyBlue, LightSkyBlue, CadetBlue2,
cyan, PaleTurquoise, DarkTurquoise, MediumAquamarine,
aquamarine, purple, DarkKhaki, sienna, peru, burlywood,
SandyBrown, chocolate, brown, salmon, HotPink, DeepPink,
LightPink, wheat2, magenta, violet, aquamarine1,
chartreuse2, pink2, gray80, SpringGreen, OliveDrab,
DarkSeaGreen, DarkSeaGreen2, SeaGreen, MediumSeaGreen,
LightSeaGreen, PaleGreen, pink, wheat (default=black).
-window
windowId
Specify the destination window.
The window identifier can be obtained by calling lakerGetwtWndId,
which only affects the active window. If it is not specified, the
background color of all Layout windows is changed.
The window identifier can be obtained by calling adpGetwtWndId,
which only affects the active window. If it is not specified, the
background color of all Schematic Editor or Symbol Editor windows is
changed.
Examples
# Example 1
gtSetWndBgColor -color white
# Example 2
gtSetWndBgColor -window [lakerGetwtWndId -type layout] \
-color white
gtSetWndBgColor -window [adpGetwtWndId] -color white
Laker³ Tcl Reference Manual
K-2015.06
141
Chapter 3: GUI Extensions
Miscellaneous
142
Laker³ Tcl Reference Manual
K-2015.06
4
4
Database Extensions
This chapter introduces the database model and describes the Tcl commands
to access the database. The records in the database can be accessed through
the object identifiers.
The Tcl commands are explained in the following sections. Tcl commands and
arguments are sorted alphabetically.
■
Database Overview
■
Library Management
■
Cell View Management
■
Tcl PCells
■
Shape Creation
■
Shape Conversion
■
Instances and Arrays
■
Figure Manipulation
■
Accessory Objects
■
Property
■
Group
■
Logic Objects
■
Parameters
■
General Object Manipulation
■
Parameterized Test Structure Devices
■
Schematic Object Manipulation
Laker³ Tcl Reference Manual
K-2015.06
143
Chapter 4: Database Extensions
Database Overview
■
DFM
■
Technology File
Database Overview
This section briefly introduces the database model and the object access fields.
This section contains the following parts:
■
Database Model
■
Object Access Fields
Database Model
The relationship among objects is illustrated in the following figure.
Figure 1
Database Model
In this figure, each rectangle or ellipse has an identifier. For example, a label
has a label identifier; a cell view has a cell view identifier; a net has a net
identifier, and so on.
144
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Database Overview
A dash-arrow line means inherence, for example: a path object is a shape and
a figure, an array is a figure but not a shape.
A solid-single-arrow line means a single derivation and a solid-double-arrow
line represents multiple derivations. For example, port identifiers can be
derived by a cell view identifier; a cell view identifier can be derived by a port
identifiers; a net identifier can be used to derive multiple instance port
identifiers, and so on.
Object Access Fields
The following table shows the defined fields in each object.
Identifier
Access Fields
CellView
Props, Type, Arrays, BBox, CellName, CellViewType,
DBUPerUU, FileName, GroupMembers, Groups, InstCount,
InstHeaders, Insts, IsModified, Lib, LibName, Masters, Mode,
NetCount, Nets, PortCount, Ports, Shapes, UserUnit,
ViewName, LPs
LP
CV, Type, Layer, LayerNum, Purpose, PurposeNum,
ShapeCount, Shapes
Instance
CV, Props, BBox, Net, Parent, IsVisible, Pin, Type, CellName,
InstHeader, InstPins, InstPorts, LibName, Mag, Master, Name,
Num, Orient, Point, ViewName
InstHeader
(Instance Header)
CV, Props, Type, CellName, Insts, LibName, Master, ViewName
Array
CV, Props, BBox, Net, Parent, IsVisible, Pin, Type, CellName,
ColSpace, Cols, LibName, Mag, Master, Name, Orient, Point,
RowSpace, Rows, ViewName
Rectangle
CV, Props, BBox, Net, Parent, IsVisible, Pin, Layer, LayerNum,
Purpose, PurposeNum, Type
Polygon
CV, Props, BBox, Net, Parent, IsVisible, Pin, Layer, LayerNum,
Purpose, PurposeNum, Type, PointNum, Points
Line
CV, Props, BBox, Net, Parent, IsVisible, Pin, Layer, LayerNum,
Purpose, PurposeNum, Type, PointNum, Points
Laker³ Tcl Reference Manual
K-2015.06
145
Chapter 4: Database Extensions
Database Overview
Identifier
Access Fields
Path
CV, Props, BBox, Net, Parent, IsVisible, Pin, Layer, LayerNum,
Purpose, PurposeNum, Type, BeginExt, EndExt, PointNum,
Points, Style, Width
Label
CV, Props, BBox, Net, Parent, IsVisible, Pin, Layer, LayerNum,
Purpose, PurposeNum, Type, Font, Height, IsDrafted,
IsOverbar, Justify, Orient, Point, Text
Arc
CV, Props, BBox, Net, Parent, IsVisible, Pin, Layer, LayerNum,
Purpose, PurposeNum, Type, EllipseBBox, StartAngle,
StopAngle
Ellipse
CV, Props, BBox, Net, Parent, IsVisible, Pin, Layer, LayerNum,
Purpose, PurposeNum, Type
Doughnut
CV, Props, BBox, Net, Parent, IsVisible, Pin, Layer, LayerNum,
Purpose, PurposeNum, Type, Inner, Outer, Point
Dot
CV, Props, BBox, Net, Parent, IsVisible, Pin, Layer, LayerNum,
Purpose, PurposeNum, Type, Height, Point, Width
Property
Type, Name, Obj, Value, ValueType
Group
Type, DeleteWhen, GroupType, IsOrdered, IsUniqueName,
Members, Name, Objects
Group Member
Type, Group, Object
Net
CV, Props, Type, InstPins, InstPortCount, InstPorts, Figs, Name,
NumBits, Pins, Port, Priority
Port
CV, Props, Type, Dir, Name, Net, NumBits, PinCount, Pins
Pin
CV, Props, Type, Dir, Fig, Name, Net, Port
Instance Port
CV, Props, Type, Inst, InstPins, Name, Net, Port
Instance Pin
CV, Props, Type, BBox, InstPort, Name, Net, Pin
Before issuing a command to get the identifiers, make sure that the
dbOpenLib command has been issued to open the library with the proper
open mode. The concept is shown as the following diagram.
Open Library > Access Library Information > Close Library
146
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Library Management
For example, the library may be opened before opening a cell view:
dbOpenLib -lib cpu
dbOpenCV -lib cpu -cell cpu -view layout
Library Management
This section describes the Tcl commands that are related to the library
database management. These commands include:
■
dbCloseLib
■
dbCreateLib
■
dbFindOrphanCell
■
dbGetAllCellRefNumber
■
dbGetAllLibs
■
dbGetLayerIdByLayerPurposeName
■
dbGetLayerIdByLayerPurposeNum
■
dbGetLayerIdsByLib
■
dbGetLayerNameByLayerId
■
dbGetLayerNumByLayerId
■
dbGetLDMFile
■
dbGetLibNameByLibId
■
dbGetLibIdByLibName
■
dbGetLibPath
■
dbGetMasterLibName
■
dbGetTechParam
■
dbGetPurposeNameByLayerId
■
dbGetPurposeNumByLayerId
■
dbGetOpenLib
■
dbLibExist
■
dbOpenLib
Laker³ Tcl Reference Manual
K-2015.06
147
Chapter 4: Database Extensions
Library Management
■
dbSaveLib
■
dbSaveAllLib
dbCloseLib
The dbCloseLib command returns 1 if the specified library can be closed.
Syntax
dbCloseLib -lib libName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
Specify the logical library name or library identifier.
Examples
set libId1
set libId2
...
dbCloseLib
dbCloseLib
[dbOpenLib -lib cpu]
[dbOpenLib -lib cpu64]
-lib $libId1
-lib cpu64
dbCreateLib
The dbCreateLib command returns a library identifier if a new library can be
created.
Syntax
dbCreateLib -lib libName [-path libPath]
Returns
A library identifier if successful; otherwise, returns 0.
Arguments
148
Argument
Description
-lib libName
Specify the library name.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Library Management
Argument
Description
-path libPath
Specify the working directory (default=current directory).
Examples
dbCreateLib -lib RAM
dbCreateLib -lib RAM -path “../”
See Also
lakerNewLib
Home Page: Library > New
dbFindOrphanCell
If the orphan cell views are opened, the dbFindOrphanCell command finds
or removes orphan MCell sub-masters. Once the orphan cell views are
opened, they cannot be deleted.
The dbFindOrphanCell command is only valid for the cell views with the
mdevice view name.
When -exec Delete is specified, the log file is generated with the following
format:
Performed by User at Date Time
Delete un-used sub-masters from lib(libName)
cell(cellName) view(viewName)
cell(cellName) view(viewName)
cell(cellName) view(viewName)
...
Total ### sub-masters deleted
When -exec Find is specified, the log file is generated with the following
format:
Performed by User at Date Time
Used sub-masters of lib(libName)
cell(cellName) view(viewName)
cell(cellName) view(viewName)
cell(cellName) view(viewName)
...
Total ### sub-masters are used
Un-used sub-msaters of lib(libName)
cell(cellName) view(viewName)
cell(cellName) view(viewName)
Laker³ Tcl Reference Manual
K-2015.06
149
Chapter 4: Database Extensions
Library Management
cell(cellName) view(viewName)
...
Total ### sub-masters are not used in other cells
Syntax
dbFindOrphanCell -lib libName -exec command [-rcmap 0|1]
[-cellType cellType] -log logFile
Returns
None
Arguments
Argument
Description
-cellType cellType
Specify the cell type.
Valid values: mcell and pcell (default=mcell).
-exec command
Specify the command for orphan MCell sub-masters.
Valid values: Delete and Find.
Delete : Delete orphan MCell sub-masters.
Find : Find and list the active and orphan MCell sub-masters
separately.
-lib libName
Specify the library name or a list of libraries. Use brackets when
specifying a list of libraries, for example:
-lib {A B C}.
-log logFile
Specify the file name of the log file.
-rcmap 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Map all libraries from the laker.rc resource file.
0 : Do not map all libraries from the laker.rc resource file.
Examples
# Example 1
dbFindOrphanCell -lib qa -exec Find -cellType pcell -log findlog
# Example 2
dbFindOrphanCell -lib qa -exec Delete -cellType pcell -log dellog
150
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Library Management
dbGetAllCellRefNumber
The dbGetAllCellRefNumber command returns a list of all referenced cell
views in the specified library, and the time they have been referenced by other
cell views.
The dbGetAllCellRefNumber command shows the referenced cell views
only when they have been referenced more than the specified threshold value.
If the threshold value is not specified, the default threshold time -1 is used.
Syntax
dbGetAllCellRefNumber -lib libName [-threshold threshold]
Returns
A list of all referenced cell views in the specified library, and the time they have
been referenced by other cell views if successful; otherwise, returns nothing.
Arguments
Argument
Description
-lib libName
Specify the library name or library identifier.
-threshold threshold
Define a threshold value.
Valid value: an integer number (default=-1).
Examples
# Example 1
set libId [dbOpenLib -lib mLibtar]
set cvId [dbOpenCV -lib mLibtar -cell c1 -mode edit]
dbGetAllCellRefNumber -lib $libId
dbGetAllCellRefNumber -lib mLibtar
dbSaveCV -cv $cvId
dbCloseCV -cv $cvId
dbSaveLib -lib $libId
dbCloseLib -lib mLibtar
Laker³ Tcl Reference Manual
K-2015.06
151
Chapter 4: Database Extensions
Library Management
#
#
#
#
#
#
#
The results are:
{c1 layout 0} {tt layout 0} {MCELL_XTR_4209531 mdevice 0}
{t1 layout 0} {MCELL_XTR_4209004 mdevice 0}
{MCELL_PCO_339137 mdevice 0} {MCELL_PCO_639488 mdevice 0}
{MCELL_XTR_1151794 mdevice 0} {rr layout 0}
{MCELL_XTR_4210058 mdevice 0} {r1 layout 0}
{MCELL_XTR_1150740 mdevice 0}
# Example 2
# In library TEST, there are 4 cells test1, test2, test3, test4.
# test1 is the top cell, test2 and test4 are referenced by other
cells
# once, and test3 is referenced by other cells twice.
# Execute the Tcl if the threshold value is not specified.
dbGetAllCellRefNumber -lib TEST
# The results are: {test1 layout 0} {test2 layout 1}
# {test3 layout 2} {test4 layout 1}
# Execute the Tcl if the threshold value is 1.
dbGetAllCellRefNumber -lib TEST -threshold 1
# The results are:
# {test2 layout 1} {test3 layout 2} {test4 layout 1}
dbGetAllLibs
The dbGetAllLibs command returns a list of library identifiers if all logical
library names that are defined in the laker.rc file can be obtained and they exist
within the disk.
Syntax
dbGetAllLibs
Returns
A list of library identifiers if successful; otherwise, returns nothing.
Arguments
None
Examples
set libList [dbGetAllLibs]
foreach x $libList {
puts “[dbGetAllCells -lib $x]”
}
152
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Library Management
dbGetLayerIdByLayerPurposeName
The dbGetLayerIdByLayerPurposeName command returns a layer
identifier if the layer identifier can be obtained by giving the library ID, layer
number and purpose number.
Syntax
dbGetLayerIdByLayerPurposeName -lib libId -layer layerNum
-purpose purposeNum
Returns
A layer identifier if successful; otherwise, returns nothing.
Arguments
Argument
Description
-lib libId
Specify the library identifier.
-layer layerNum
Specify the layer number.
-purpose purposeNum
Specify the purpose number.
Examples
# Get the layer identifier of the layer whose layer name is MT1 and
# whose purpose name is drawing in the library Test.
set libId [dbOpenLib -lib Test -mode readOnly]
set layerId [dbGetLayerIdByLayerPurposeName \
-lib $libId -layer MT1 -purpose drawing]
See Also
dbGetLayerIdByLayerPurposeNum
dbGetLayerIdByLayerPurposeNum
The dbGetLayerIdByLayerPurposeNum command returns a layer identifier
if the layer identifier can be obtained by giving the library ID, layer number and
purpose number.
Syntax
dbGetLayerIdByLayerPurposeNum -lib libId -layer layerNum
-purpose purposeNum
Laker³ Tcl Reference Manual
K-2015.06
153
Chapter 4: Database Extensions
Library Management
Returns
A layer identifier if successful; otherwise, returns nothing.
Arguments
Argument
Description
-lib libId
Specify the library identifier.
-layer layerNum
Specify the layer number (0-255).
-purpose purposeNum
Specify the purpose number (0-255).
Examples
dbGetLayerIdByLayerPurposeNum -lib $libId -layer 255 -purpose 255
See Also
dbGetLayerIdByLayerPurposeName
dbGetLayerIdsByLib
The dbGetLayerIdsByLib command returns a list of layer identifiers if the
layer identifiers can be obtained by giving a library name.
Syntax
dbGetLayerIdsByLib -lib libName
Returns
A list of layer identifiers if successful; otherwise, returns nothing.
Arguments
Argument
Description
-lib libName
Specify the logical library name or library identfier.
Examples
set layerIdList [dbGetLayerIdsByLib -lib cpu]
dbGetLayerNameByLayerId
The dbGetLayerNameByLayerId command returns a layer name if the layer
name can be obtained by giving a layer identifier.
154
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Library Management
Syntax
dbGetLayerNameByLayerId -layer $layerId
Returns
A layer name if successful; otherwise, returns 0.
Arguments
Argument
Description
-layer $layerId
Specify the layer identifier.
Examples
set layerIdList [dbGetLayerIdsByLib -lib cpu]
foreach layerId $layerIdList {
set layerName [dbGetLayerNameByLayerId -layer $layerId]
puts "$layerName"
}
dbGetLayerNumByLayerId
The dbGetLayerNumByLayerId command returns a layer number if the layer
number can be obtained by giving a layer identifier.
Syntax
dbGetLayerNumByLayerId -layer $layerId
Returns
A layer number if successful; otherwise, returns nothing.
Arguments
Argument
Description
-layer $layerId
Specify the layer identifier.
Examples
dbOpenLib -lib cpu
set layerIds [dbGetLayerIdsByLib -lib cpu]
foreach x $layerIds {
puts “[dbGetLayerNumByLayerId -layer $x]”
}
Laker³ Tcl Reference Manual
K-2015.06
155
Chapter 4: Database Extensions
Library Management
dbGetLDMFile
The dbGetLDMFile command returns the full file path of the library definition
mapping file (*.defs) if it can be obtained by giving a library name or identifier.
The library definition mapping file includes the given library name.
Syntax
dbGetLDMFile -lib libName
Returns
The full file path of the library definition mapping file (*.defs) if successful;
otherwise, returns nothing.
Arguments
Argument
Description
-lib libName
Specify the library name or identifier.
Examples
# local lib.defs
INCLUDE /home/tools/project2/lib.defs
DEFINE analogLib /home/tools/xxx/analogLib
....
# /home/tools/project2/lib.defs
DEFINE tech2Lib /home/iWork/tech2Lib
puts "[dbGetLDMFile -lib tech2Lib]"
# Returned value: /home/tools/project2/lib.defs
puts "[dbGetLDMFile -lib analogLib]"
# Returned value: /home/test/lib.defs
dbGetLibNameByLibId
The dbGetLibNameByLibId command returns a logical library name if the
logical library name can be obtained by giving a library identifier.
Syntax
dbGetLibNameByLibId -lib libId
Returns
A logical library name if successful; otherwise, returns 0.
156
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Library Management
Arguments
Argument
Description
-lib libId
Specify the library identifier.
Examples
dbGetLibNameByLibId -lib [dbOpenLib -lib cpu]
dbGetLibIdByLibName
The dbGetLibIdByLibName command returns a library identifier if the library
identifier can be obtained by giving a library name.
Syntax
dbGetLibIdByLibName -lib libName
Returns
A library identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
Specify the library name.
Examples
set libId [dbGetLibIdByLibName -lib cpu]
dbGetLibPath
The dbGetLibPath command returns an absolute path if the directory, where
the library is located, can be obtained.
Syntax
dbGetLibPath -lib libName
Returns
An absolute path to indicate where the library is.
Laker³ Tcl Reference Manual
K-2015.06
157
Chapter 4: Database Extensions
Library Management
Arguments
Argument
Description
-lib libName
Specify the library name.
Examples
dbGetLibPath -lib cpu
dbGetLibPath -lib [dbOpenLib -lib cpu]
dbGetMasterLibName
The dbGetMasterLibName command gets the master library name by giving
a slave library name. If the slave library has no master, the master library
returns itself.
Syntax
dbGetMasterLibName -lib libName
Returns
A logical library name if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
Specify the logical libray name or libray identifier.
Examples
# Example 1
dbGetMaserLibName -lib SLAVE
# Example 2
set slaveId [dbOpenLib -lib SLAVE]
dbGetMaserLibName -lib $slaveId
dbGetTechParam
The dbGetTechParam command retrieves the parameter defined in the
tfTechParameter section of the technology file by giving a library name.
Syntax
dbGetTechParam -lib libName -param paramName
158
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Library Management
Returns
Parameter value that defined in the associated technology file section.
Arguments
Argument
Description
-lib libName
Specify the logical libray name or libray identifier.
-param paramName
Specify the parameter name.
Examples
dbGetTechParam -lib CPU -param minMT1Width
See Also
Layout Window: Create > Device
dbGetPurposeNameByLayerId
The dbGetPurposeNameByLayerId command returns a purpose name if
the purpose name can be obtained by giving a layer identifier.
Syntax
dbGetPurposeNameByLayerId -layer $layerId
Returns
A purpose name if successful; otherwise, returns 0.
Arguments
Argument
Description
-layer $layerId
Specify the layer identifier.
Examples
set layerIdList [dbGetLayerIdsByLib -lib cpu]
foreach layerId $layerIdList {
set purposeName [dbGetPurposeNameByLayerId -layer $layerId]
puts “$purposeName”
}
Laker³ Tcl Reference Manual
K-2015.06
159
Chapter 4: Database Extensions
Library Management
dbGetPurposeNumByLayerId
The dbGetPurposeNumByLayerId command returns a purpose number if
the purpose number can be obtained by giving a layer identifier.
Syntax
dbGetPurposeNumByLayerId -layer $layerId
Returns
A purpose number (0-255) if successful; otherwise, returns nothing.
Arguments
Argument
Description
-layer $layerId
Specify the layer identifier.
Examples
set layers [dbGetLayerIdsByLib -lib [dbOpenLib -lib cpu]]
foreach x $layers {
puts “[dbGetPurposeNumByLayerId -layer $x]”
}
dbGetOpenLib
The dbGetOpenLib command returns a list of all opened library identifiers if
these library identifiers can be obtained.
Syntax
dbGetOpenLib
Returns
A list of all opened library identifiers if successful; otherwise, returns nothing.
Arguments
None
Examples
dbGetOpenLib
dbLibExist
The dbLibExist command returns 1 if the specified library exists.
160
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Library Management
Syntax
dbLibExist -lib libName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
Specify the logical library name or library identfier.
Examples
dbLibExist -lib cpu
dbOpenLib
The dbOpenLib command returns a library identifier if the specified library can
be opened.
Syntax
dbOpenLib -lib libName [-mode openMode]
Returns
A library identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
Specify the library name.
-mode openMode
Specify the open mode of a library.
Valid values: edit and readOnly (default=edit).
Examples
dbOpenLib -lib cpu
dbOpenLib -lib cpu -mode edit
dbOpenLib -lib cpu -mode readOnly
dbSaveLib
The dbSaveLib command returns 1 if the specified library can be saved.
Laker³ Tcl Reference Manual
K-2015.06
161
Chapter 4: Database Extensions
Library Management
Syntax
dbSaveLib -lib libName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
Specify the logical library name or library identifier.
Examples
set libId [dbOpenLib -lib cpu]
set cvId [dbOpenCV -lib $libId -cell test -view test -mode edit]
dbSet -obj $cvId -attr CellViewType -value maskLayout
dbSaveCV -cv $cvId
dbCloseCV -cv $cvId
dbSaveLib -lib $libId
dbCloseLib -lib cpu
dbSaveAllLib
The dbSaveAllLib command returns 1 if all logical libraries can be saved.
Syntax
dbSaveAllLib
Returns
1 if successful; otherwise, returns 0.
Arguments
None
162
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
Examples
dbCreateLib -lib AA
dbCreateLib -lib BB
set libId [dbOpenLib -lib AA]
set masterId [dbOpenLib -lib BB]
set cvId [dbOpenCV -lib $libId -cell Top -view layout -mode create]
set cvId2 [dbOpenCV -lib $masterId -cell cell -view layout -mode
create]
dbCreateRect -cv $cvId -layer 8 -purpose 252 -bbox
(-100,-100)(100,100)
dbCreatePolygon -cv $cvId2 -layer 8 -point
(-500,-500)(-300,-500)\
(-100,-300)(-300,-100)(-500,-100) -purpose 252
dbSaveCV -cv $cvId
dbSaveCV -cv $cvId2
dbCloseCV -cv $cvId
dbCloseCV -cv $cvId2
dbSaveAllLib
dbCloseLib -lib $libId
dbCloseLib -lib $masterId
Cell View Management
This section describes the Tcl commands that are related to the cell view
management. These commands include:
■
dbChangeCVMode
■
dbCheckBBox
■
dbCheckCV
■
dbCheckRecursion
■
dbCloseCV
■
dbCopyCV
■
dbCVExist
■
dbDelCV
■
dbDumpTCL
■
dbFindCV
■
dbGetAllCells
Laker³ Tcl Reference Manual
K-2015.06
163
Chapter 4: Database Extensions
Cell View Management
■
dbGetAllViews
■
dbGetCbInstId
■
dbGetCVFullPath
■
dbGetDummyMOS
■
dbGetInstByLogicName
■
dbGetInstSwitchMaster
■
dbGetOpenCV
■
dbGetOpenCVNum
■
dbOpenCV
■
dbOpenHier
■
dbOpenRecoveryCV
■
dbPurgeCV
■
dbRegisterCVPurge
■
dbSaveCV
■
dbUnregisterCVPurge
dbChangeCVMode
The dbChangeCVMode command returns 1 if the opening mode of the
specified cell view can be changed.
Syntax
dbChangeCVMode -cv cellviewId -mode openMode
Returns
1 if successful; otherwise, returns 0.
Arguments
164
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-mode openMode
Specify the opening mode of a cell view.
Valid values: edit and readOnly (default=edit).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
Examples
set cvId [dbOpenCV -lib cpu -cell an2d1 -mode readOnly]
dbChangeCVMode -cv $cvId -mode edit
See Also
lakerChgmodeDesign
Layout Window: Cell > Change To Edit/ReadOnly Mode
dbCheckBBox
The dbCheckBBox command returns 1 if the bounding box of the library (or
cell view) has been modified.
Syntax
dbCheckBBox -lib libName [-cell cellName]
Returns
1 if the bounding box of the library (or cell view) has been modified; otherwise,
returns 0 if the bounding of the library (or cell view) are correct. If the specified
library or cell view is incorrect, warning messages are shown in the message
pane.
Arguments
Argument
Description
-cell cellName
Specify the cell name. This is an optional argument. If the cell
name is not specified, all cells in the specified library are
checked.
-lib libName
Specify the library that is located in the working directory, or
specify a library with its full path.
Examples
# Example 1
# Check and fix the bounding box of all cells in the Local library
dbCheckBBox -lib Local
# Example 2
# Check and fix the bounding of the new1 cell in the Local library
dbCheckBBox -lib Local2 -cell new1
See Also
Utility: dbCheckBBox
Laker³ Tcl Reference Manual
K-2015.06
165
Chapter 4: Database Extensions
Cell View Management
dbCheckCV
The dbCheckCV command returns 1 if a legal cell view Id can be obtained;
otherwise returns 0 if the cell view Id is illegal.
Syntax
dbCheckCV [-cv cellviewId]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
Examples
dbCreateLib -lib BB
set libId [dbOpenLib -lib BB]
set cvId [dbOpenCV -lib $libId -cell Top -view layout -mode create]
set cvId2 [dbOpenCV -lib $libId -cell Top2 -view layout -mode
create]
...
dbCheckCV
dbCheckCV
-cv $cvId
dbCheckCV
-cv $cvId2
...
dbSaveCV -cv $cvId
dbSaveCV -cv $cvId2
dbSaveLib -lib $libId
dbCloseCV -cv $cvId
dbCloseCV -cv $cvId2
dbCloseLib -lib $libId
dbCheckRecursion
The dbCheckRecursion command returns 0 if the hierarchical relation of the
cell view masters is recursive. If the reference count of the specified cell view is
166
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
1, the cell view is purged. If the reference count is greater than 1, the reference
count is decreased by 1.
Syntax
dbCheckRecursion -cv cellviewId
Returns
1 if non-recursive; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
Examples
set cvId [dbOpenCV -lib cpu -cell cpu]
dbCheckRecursion -cv $cvId
dbCloseCV
The dbCloseCV command returns 1 if the specified cell view can be closed. If
all the views of the cell are closed, the cell name on the Cell pane of the Open
Cell form is reset to black color.
Syntax
dbCloseCV -cv cellviewId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
Examples
set cv1 [dbOpenCV -lib cpu -cell cpu]
...
set cv2 [dbOpenCV -lib cpu -cell cpu]
dbCloseCV -cv $cv2
...
dbCloseCV -cv $cv1
Laker³ Tcl Reference Manual
K-2015.06
167
Chapter 4: Database Extensions
Cell View Management
See Also
lakerCloseDesign
Layout Window: Cell > Close
adpDsgCloseWnd
Schematic Editor: Cell> Close
dbCopyCV
The dbCopyCV command returns 1 if the specified cell view can be created in
the target library. The -overWrite option forces to overwrite the existing cell
views by the new cell views.
Syntax
dbCopyCV -cell cellName -cv cellviewId -lib libName [-view
viewName] [-overWrite 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
168
Argument
Description
-cell cellName
Specify the cell name of the specified cell view.
-cv cellviewId
Specify the cell view identifier.
-lib libName
Specify the library name or library identifier.
-overWrite 0|1
Specify the switch mode.
Valid values: Boolean values, 0 and 1 (default=0).
-view viewName
Specify the view type of the target cell view.
Valid values: layout, abs, and schematic
(default=layout).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
Examples
# Copy and overwrite the layout view of the cell an2d1 from
# library cpu to library temp1.
set cv [dbOpenCV -lib cpu -cell an2d1 -mode create]
set newLib [dbCreateLib -lib temp1]
dbCopyCV -cell an2d1 -cv $cv -lib $newLib -overWrite 1
# Output Result
1
See Also
lakerCopyCell
Home Page: Cell > Copy
dbCVExist
The dbCVExist command returns 1 if the specified cell view exists within the
library.
Syntax
dbCVExist -lib libName -cell cellName [-view viewName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell name of the specified cell view.
-lib libName
Specify the library name or library identifier.
-view viewName
Specify the view type of the target cell view.
Valid values: layout, abs, and schematic
(default=layout).
Examples
if {[dbCVExist -lib cpu -cell cpu]} {
set cvId [dbOpenCV -lib cpu -cell cpu]
} else {
set cvId [dbOpenCV -lib cpu -cell cpu -mode create]
}
Laker³ Tcl Reference Manual
K-2015.06
169
Chapter 4: Database Extensions
Cell View Management
See Also
lakerOpenDesign
lakerNewCell
Layout Window: Cell > Open
adpLibMgrOpenDesign
Schematic Editor: Cell> Open
dbDelCV
The dbDelCV command returns 1 if the specific cell view can be removed from
the specified library.
Syntax
dbDelCV -lib libName -cell cellName [-view viewName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell name of the specified cell view.
-lib libName
Specify the library name or library identifier.
-view viewName
Specify the view type of the target cell view.
Valid values: layout, abs, and schematic
(default=layout).
Examples
dbDelCV -lib cpu -cell cpu -view layout
dbDelCV -lib cpu -cell cpu32
See Also
lakerDelCell
Home Page: Cell > Delete
170
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
dbDumpTCL
The dbDumpTCL command returns 1 if the specified cell view content can be
dumped, hierarchically or non-hierarchically, to a Tcl script file that can
reconstruct this cell view.
If -mode append is specified, the cell view content is appended to the
specified file. If -mode write is specified and the specified file exists, the
existing file is updated by the cell view content.
If -hier 0 is specified, only the specified cell view is dumped. If -hier 1 is
specified, the cell view is dumped hierarchically.
Syntax
dbDumpTCL -cv cellviewId -file fileName [-mode fileOpenMode]
[-hier 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-file fileName
Specify the output file.
-hier 0|1
Specify the switch mode.
Valid values: Boolean values, 0 and 1 (default=0).
-mode fileOpenMode
Specify the opening mode of the file.
Valid values: write and append (default=write).
Examples
set cvId1
set cvId2
dbDumpTCL
dbDumpTCL
dbDumpTCL
[dbOpenCV -lib cpu -cell cpu -mode readOnly]
[dbOpenCV -lib cpu -cell an2d1 -mode readOnly]
-cv $cvId1 -file outfile1
-cv $cvId1 -file outfile2 -hier 1
-cv $cvId2 -file outfile1 -mode append
Laker³ Tcl Reference Manual
K-2015.06
171
Chapter 4: Database Extensions
Cell View Management
dbFindCV
The dbFindCV command returns a cell view identifier if an opened cell view
can be found.
Syntax
dbFindCV -lib libName -cell cellName [-view viewName]
Returns
A cell view identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell name.
-lib libName
Specify the library name or library identifier.
-view viewName
Specify the view name.
Valid values: layout, abs, schematic, and device
(default=layout).
Examples
dbOpenCV -lib cpu -cell an2d1
...
set cvId [dbFindCV -lib cpu -cell an2d1]
See Also
Layout Window: Query > Find
Schematic Editor: Query > Find
dbGetAllCells
The dbGetAllCells command returns a list of cell names if all cell names in
the specified library can be obtained.
This command returns all cell names, which include cell names from Tcl PCells
or the cells created by Import LEF, Import Stream, New Cell, Rename Cell or
Save As commands.
172
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
Syntax
dbGetAllCells -lib libName|libId [-psubmaster 1] [-view
viewname]
Returns
A list of cell names of the specified library if successful; otherwise, returns
nothing.
Arguments
Argument
Description
-lib libName|libId
Specify the logical library name or library identifier.
-psubmaster 1
Valid value: Boolean value, 1.
1 : Get the sub-master of Tcl PCells.
-view viewname
Specify the view name.
Valid values: layout, symbolic, pcc, spc, abs,
mdevice_superMaster, mdevice, logic, netlist,
graphic, schematic, and symbol.layout: Layout
view.symbolic: The super-master or sub-master of Tcl
PCells.pcc: The super-master of UDDs.spc: The submaster of UDDs.abs: Abstract
view.mdevice_superMaster: The MCell super-master
for MCell version control.mdevice: The sub-master of
MCells.logic: Logic view.netlist: Netlist
view.graphic: Graphic view.schematic: Schematic
view.symbol: Symbol view.
Examples
# Example 1
set libId1 [dbCreateLib -lib newLib1]
set libId2 [dbCreateLib -lib newLib2]
dbOpenCV -lib $libId1 -cell c1 -mode create
...
dbGetAllCells -lib $libId1
dbGetAllCells -lib newLib2
# Example 2
dbGetAllCells -lib qa -psubmaster 1
See Also
dbGetAllViews
lakerOpenDesign
Layout Window: Cell > Open
Laker³ Tcl Reference Manual
K-2015.06
173
Chapter 4: Database Extensions
Cell View Management
adpLibMgrOpenDesign
Schematic Editor: Cell> Open
Home Page: File > Open
dbGetAllViews
The dbGetAllViews command returns a list of view names if all view names
of the specified cell and library can be obtained.
Syntax
dbGetAllViews -lib libName|libId -cell cellName
Returns
A list of view names of the specified cell and library if successful; otherwise,
returns nothing.
Arguments
Argument
Description
-cell cellName
Specify the cell name.
-lib libName|libLib
Specify the logical library name or library identifier.
Examples
dbGetAllViews -lib cpu -cell and2d1
See Also
dbGetAllCells
lakerOpenDesign
Layout Window: Cell > Open
adpLibMgrOpenDesign
Schematic Editor: Cell> Open
Home Page: File > Open
dbGetCbInstId
The dbGetCbInstId command returns the current instance identifier after the
parameter change callbacks or attribute evaluations. This command can only
be called from within the parameter attribute scripts.
174
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
Syntax
dbGetCbInstId
Returns
The instance identifier if successful; otherwise, returns 0.
Arguments
None
Examples
proc getCurrentRef { } {
puts [dbGetCbInstId]
return [dbGetCbInstId]
}
dbGetCVFullPath
The dbGetCVFullPath command returns the full path of the specified cell
view if the full path of a cell view can be obtained. Each cell view is a file under
the directory <libName>.lib++/<cellName>.
Syntax
dbGetCVFullPath -cv cellviewId
Returns
The full path of the specified cell view if successful; otherwise, returns nothing.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
Examples
dbGetCVFullPath -cv [dbOpenCV -lib cpu -cell an2d1]
dbGetDummyMOS
The dbGetDummyMOS command returns a string which contains all information
of dummy gates if such information can be obtained in the specified cell view.
Syntax
dbGetDummyMOS -cv cellviewId
Laker³ Tcl Reference Manual
K-2015.06
175
Chapter 4: Database Extensions
Cell View Management
Returns
A string contains all information of dummy gates if successful; otherwise,
returns an empty string.
The syntax of the returned value is explained as follows:
{{GateName Net_Drain Net_Gate Net_Source Net_Bulk
ModelName Width Length AD AS PD PS} ... }
where:
GateName refers to the gate name of dummy gates.
Net_Drain, Net_Gate, Net_Source, and Net_Bulk refer to the net names
that connect to drains, gates, sources, and bulk nets.
ModelName refers to the MCell super-master name.
Width and Length refer to the gate width and length of dummy gates.
AD AS PD and PS refer to the area and perimeter for drains and sources.
If the net/gate name is nil, the empty net/gate name is filled by {}.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
Examples
set cvId [dbOpenCV -lib cpu -cell an2d1 -mode readOnly]
set dummyInfo [dbGetDummyMOS -cv $cvId]
dbGetInstByLogicName
The dbGetInstByLogicName command returns a list of instance identifiers
associated with the specified logic instance if the corresponding layout
instances can be obtained by instance name in the logic cell view.
Syntax
dbGetInstByLogicName -cv cellviewId -logicName
logicInstName
Returns
A list of instance identifiers associated with the specified logic instance if
successful; otherwise, returns nothing.
176
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
For MCell instances, each element in the returned list is for each gate of the
instances, so the list includes pairs of the instance identifier and the gate glue
number.
For other types of instances, each element in the returned list is for each
instance identifier.
Arguments
Argument
Description
-cv cellviewId
Specify the layout cell view identifier.
-logicName
logicInstName
Specify the logic instance name.
Examples
# Example 1
# Logic instance M1 is realized as some PyCell instances
# Value returned: A list of Ids (for example: oa::001 oa::002)
dbGetInstByLogicName -cv $cvId -logicName M1
# Example 2
# Logic instance M2 is realized as some gates in some MCell
instances
# Value returned: A list of pairs of Ids and gate glue number
# (for example: {oa:003 2} {oa:003 3} {oa:004 1} {oa:004 2})
dbGetInstByLogicName -cv $cvId -logicName M2
dbGetInstSwitchMaster
The dbGetInstSwitchMaster command returns an instance identifier if the
instance master can be replaced with the specified cell view.
Syntax
dbGetInstSwitchMaster -inst instId [-view viewName]
Returns
An instance identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-inst instId
Specify the instance identifier.
Laker³ Tcl Reference Manual
K-2015.06
177
Chapter 4: Database Extensions
Cell View Management
Argument
Description
-view viewName
Specify the view name.
Valid values: layout, abs, schematic, and device
(default=layout).
Examples
set tcvId [dbOpenCV -lib cpu -cell cpu -mode edit]
set mcvId [dbOpenCV -lib cpu -cell or_2 -view layout -mode create]
...
set instId [dbCreateInst -cv $tcvId -master $mcvId -point (0, 1.2)]
...
dbGetInstSwitchMaster -inst $instId -view schematic
dbGetOpenCV
The dbGetOpenCV command returns a list of all opened cell view identifiers in
the specified library if these cell view identifiers can be obtained.
Syntax
dbGetOpenCV -lib libName
Returns
A list of all opened cell view identifiers in the specified library if successful;
otherwise, returns nothing.
Arguments
Argument
Description
-lib libName
Specify the logical library name of library identifier.
Examples
dbGetOpenCV -lib testLib
dbGetOpenCVNum
The dbGetOpenCVNum command returns the number of opened cell views if
these cell views can be counted.
Syntax
dbGetOpenCVNum
178
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
Returns
The number of opened cell views if successful; otherwise, returns nothing.
Arguments
None
Examples
dbCreateLib -lib AA
set libId [dbOpenLib -lib AA ]
set cvId [dbOpenCV -lib $libId -cell c1 -view layout -mode create]
set cvId2 [dbOpenCV -lib $libId -cell r1 -view layout -mode create]
set cvId3 [dbOpenCV -lib $libId -cell master -view layout -mode
create]
dbGetOpenCVNum
dbSaveLib -lib $libId
dbCloseCV -cv $cvId
dbCloseCV -cv $cvId2
dbCloseCV -cv $cvId3
dbCloseLib -lib $libId
dbOpenCV
The dbOpenCV command returns a cell view identifier if the specified cell view
can be opened.
Syntax
dbOpenCV -lib libName -cell cellName [-view viewName] [-mode
openMode]
Returns
A cell view identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell name.
-lib libName
Specify the library name or library identifier.
-mode openMode
Specify the opening mode of the cell view.
Valid values: create, readOnly, and edit
(default=edit).
Laker³ Tcl Reference Manual
K-2015.06
179
Chapter 4: Database Extensions
Cell View Management
Argument
Description
-view viewName
Specify the view name.
Valid values: layout, abs, schematic, and device
(default=layout).
Examples
set libId1 [dbCreateLib -lib temp]
dbOpenCV -lib $libId1 -cell c1 -mode create
dbOpenCV -lib $libId1 -cell c2 -view schematic -mode create
set cpuId [dbOpenCV -lib cpu -cell cpu -mode edit]
See Also
lakerOpenDesign
lakerNewCell
Layout Window: Cell > Open
adpLibMgrOpenDesign
Schematic Editor: Cell> Open
Home Page: File > Open
dbOpenHier
The dbOpenHier command returns a list of opened cell view identifiers if the
specified cell view masters can be opened hierarchically.
Syntax
dbOpenHier -cv cellviewId [-level openLevel]
Returns
A list of opened cell view identifiers if successful; otherwise, returns 0.
Arguments
180
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-level openLevel
Specify the hierarchical view level.
Valid value: a positive integer (default=49).
The range of the maximum hierarchical view level is from 0
to 49. The maximum positive integer value is 49.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
Examples
dbOpenHier -cv [dbOpenCV -lib cpu -cell cpu] -level 10
See Also
dbOpenCV
lakerViewLevel
lakerEditInPlace
Layout Window: View > View Level
Layout Window: EIP > Descend Mode
Layout Window: EIP > Edit In Place
dbOpenRecoveryCV
The dbOpenRecoveryCV command returns a cell view identifier if the
recovery copy of the specified cell view can be opened.
Syntax
dbOpenRecoveryCV -lib libName -cell cellName [-view
viewName] [-mode openMode]
Returns
A cell view identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell name.
-lib libName
Specify the library name.
-mode openMode
Specify the opening mode of the cell view.
Valid values: readOnly and edit (default=edit).
-view viewName
Specify the view name.
Valid values: layout, abs, schematic, and device
(default=layout).
Examples
dbOpenRecoveryCV -lib cpu -cell cpu -mode readOnly
See Also
lakerOpenDesign
Laker³ Tcl Reference Manual
K-2015.06
181
Chapter 4: Database Extensions
Cell View Management
Layout Window: Cell > Open
adpLibMgrOpenDesign
Schematic Editor: Cell> Open
Home Page: File > Open
dbPurgeCV
The dbPurgeCV command returns 1 if the content of the specified cell view
can be purged from memory. The specified cell view is always purged,
regardless of the reference count.
Syntax
dbPurgeCV -cv cellviewId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
Examples
dbPurgeCV -cv 2028c0
dbRegisterCVPurge
The dbRegisterCVPurge command returns 1 if an invoking Tcl procedure
can be registered when a cell view is purged.
The Tcl procedure that a user registers for the purging event should always
have one and only one argument. When a purging event occurs on the
specified cell view, the callback is invoked and the cell view identifier is passed
to the callback.
When the specified cell view is purged, the procedure with the higher priority is
executed first. If there are more than two procedures having the same priority,
the latest registered procedure is executed in a higher priority.
Syntax
dbRegisterCVPurge -fun procedure [-priority priorityNo]
182
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Cell View Management
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-fun procedure
Specify the name of the Tcl procedure.
-priority priorityNo
Specify the priority number.
Valid value: a positive integer with 0 being the highest
priority (default=0).
Examples
proc cvPurge1 {cvId} {
puts "cvPurg1 is called"
puts "$cvId is purged from memory"
return 1
}
proc cvPurge2 {cvId} {
puts "cvPurge2 is called"
return 0
}
dbRegisterCVPurge -fun cvPurge1 -priority 30
dbRegisterCVPurge -fun cvPurge2
dbSaveCV
The dbSaveCV command returns 1 if the specified cell view can be saved to
the disk.
Syntax
dbSaveCV -cv cellviewId [-dst dstCVId]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier to be saved.
-dst dstCVId
Specify the identifier of the destination cell view. If this
argument is not specified, the content of cellviewId is
saved to itself.
Laker³ Tcl Reference Manual
K-2015.06
183
Chapter 4: Database Extensions
Cell View Management
Examples
set cv1 [dbOpenCV -lib cpu -cell cpu -mode edit]
dbCreateRect -cv $cv1 -layer THIN -bbox (0,0)(5.5,10)
...
dbSaveCV -cv $cv1
dbSaveCV -cv $cv1 -dst [dbOpenCV -lib cpu2 -cell cpu -mode create]
See Also
lakerSaveDesign
lakerSaveAsDesign
Layout Window: Cell > Save
Layout Window: Cell > Save As
adpDsgSave
adpDsgSaveAs
Schematic Editor: Cell> Save
Schematic Editor: Cell> Save As
dbUnregisterCVPurge
The dbUnregisterCVPurge command returns 1 if the Tcl procedure, which
was registered as a purging callback, cannot be invoked when a cell view is
purged.
Syntax
dbUnregisterCVPurge -fun procedure
Returns
1 if successful; otherwise, returns 0.
Arguments
184
Argument
Description
-fun procedure
Specify the name of the Tcl procedure.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Tcl PCells
Examples
proc cvPurge1 {cvId} {
puts "cvPurg1 is called"
puts "$cvId is purged from memory"
return 1
}
proc cvPurge2 {cvId} {
puts "cvPurge2 is called"
return 0
}
dbRegisterCVPurge -fun cvPurge1 -priority 30
dbRegisterCVPurge -fun cvPurge2
...
dbUnregisterCVPurge -fun cvPurge1
dbUnregisterCVPurge -fun cvPurge2
Tcl PCells
This section describes the Tcl commands that are related to Tcl PCells. These
commands include:
■
dbDefineParameterizedCell
■
dbCreateParameterizedInst
■
dbSetPCellParam
■
dbGetInstParam
■
dbGetPcellDefValue
dbDefineParameterizedCell
The dbDefineParameterizedCell command returns the results to
evalulate the script of Tcl PCells if any symbolic parameterized cells in the
specified library can be defined.
The view name of a parameterized cell is symbolic. For example, assume that
the master is B, if a Tcl PCell is created within another parameterized cell (for
example: A) and the same variable is used in these two scripts of the Tcl
PCells, this variable should be delared as the local variable in both scripts;
otherwise, errors may be occured. It is recommended to declare all variables
that appear in the script of Tcl PCells as the local variables.
Laker³ Tcl Reference Manual
K-2015.06
185
Chapter 4: Database Extensions
Tcl PCells
Syntax
dbDefineParameterizedCell -lib libName -cell cellName params parameters [-vars localVariables] [-refresh 0|1]
[-encrypt encryptionKey] [-pcellVersion num] -exec
Tcl_commands
Returns
The results to evalulate the script of Tcl PCells if successful; otherwise, returns
nothing.
Arguments
Argument
Description
-cell cellName
Specify the cell name of the Tcl PCell.
The cell name must not end with _number (for example:
cellName_1, cellName_18, or cellName_33)
because this naming pattern is treated as a sub-master in
certain situations.
If any Tcl PCell cell names match with the above pattern,
the Tcl PCells are not created after copying the Tcl PCells
to another library.
-encrypt
encryptionKey
Specify the encryption key to encrypt the ASCII script of
Tcl PCells. If it is not specified, the plain text (ASCII) of Tcl
PCells is saved.
-exec
Tcl_commands
Specify the Tcl script that creates Tcl PCells. The
variables dbParameterizedCell,
dbSuperMasterId, and dbSuperMasterLibId can
be used in the script.
dbParameterizedCell can access the evaluating submaster.
dbSuperMasterId can access the cell view identifier of the
super-master.
dbSuperMasterLibId can access the library identifier of
the super-master.
The variables that are defined in the parameter list of Tcl
PCells can also be accessed.
-lib libName
186
Specify the library name in which Tcl PCells are defined.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Tcl PCells
Argument
Description
-params
parameters
Specify the parameter list. A parameter is a list of two or
three items.
If the parameter consists of two items, the two items in the
list represent the parameter name and the default value of
the parameter, respectively. For the parameter with two
items, the default data type of the parameter is String.
If the parameter consists of three items, the three items in
the list indicate the parameter name, the default value,
and the data type of the parameter. The valid values of the
data type for each parameter can be String, Integer,
Float, or Boolean.
-pcellVersion num
Specify the version tag. If the Tcl PCell supermaster is
changed, the -pcellVersion value should also be
increased.
Valid value: an integer.
-refresh 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : All Tcl PCells in DB are re-evaluted with new definition.
0 : All Tcl PCells are not re-evaluated.
-vars
localVariables
Specify the list of variable names which are treated as
local variables in the script of Tcl PCells.
Laker³ Tcl Reference Manual
K-2015.06
187
Chapter 4: Database Extensions
Tcl PCells
Examples
# create a spiral inductor
dbDefineParameterizedCell -lib parameterizedCellLib \
-cell Spiral_v2 -params [list [list spiralNo 10 Integer] \
[list radius
10.0 Float] [list gap
3.0 Float] \
[list width
2.0 Float] [list space
0.8 Float]] \
-vars {Layer PI2 sin45 sec hgap cvId nCnt os is om im} \
-exec {
# create a spiral inductor
set cvId
$dbParameterizedCell
set Layer MET1
set PI2
[expr acos(0)]
set sin45 [expr sin($PI2/2)]
set sec
[expr 1.0/cos($PI2/4)]
set hgap
[expr $gap*0.5]
for {set nCnt 0} {$nCnt < $spiralNo} {incr nCnt} {
set os [expr $radius*$sec]
set is [expr double($radius-$width)*$sec]
set om [expr $os*$sin45]
set im [expr $is*$sin45]
dbCreatePolygon -cv $cvId -layer $Layer \
-point ($os,$hgap) ($om,[expr $om+$hgap])\
(0,[expr $os+$hgap]) (0,[expr $is+$hgap])\
($im,[expr $im+$hgap]) ($is,$hgap)
dbCreatePolygon -cv $cvId -layer $Layer \
-point ([expr -$os],$hgap)\
([expr -$om],[expr $om+$hgap]) (0,[expr $os+$hgap])\
(0,[expr $is+$hgap]) ([expr -$im],[expr $im+$hgap]) \
([expr -$is],$hgap)
dbCreatePolygon -cv $cvId -layer $Layer \
-point ($os,[expr -$hgap]) ($om,[expr -$om-$hgap])\
(0,[expr -$os-$hgap]) (0,[expr -$is-$hgap])\
($im,[expr -$im-$hgap]) ($is,[expr -$hgap])
dbCreatePolygon -cv $cvId -layer $Layer \
-point ([expr -$os],[expr -$hgap])\
([expr -$om],[expr -$om-$hgap]) \
(0,[expr -$os-$hgap]) (0,[expr -$is-$hgap]) \
([expr -$im],[expr -$im-$hgap])\
([expr -$is],[expr -$hgap])
set radius [expr double($radius+$width+$space)]
}
# return 1
expr 1
}
188
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Tcl PCells
# create one rectangle in current evaluating master
set libName "device"
dbDefineParameterizedCell -lib $libName -cell ViaChain \
-params [list ...
-exec {
dbCreateRect -cv $
dbParameterizedCell
-layer MET1 \
-bbox ((0,0) (100,100))
# create ViaChain device instance for hierarchical Tcl PCell
set libName "device"
dbDefineParameterizedCell -lib $libName \
-cell ViaChainCellTypeSubBlock -params [list ...
-exec {
...
set curCvId $
dbParameterizedCell
set mCvId [dbOpenCV -lib $
dbSuperMasterLibId
-cell ViaChain \
-view symbolic]
set devId [dbCreateParameterizedInst -cv $curCvId \
-master $mCvId -point (0,0) \
-params [list [list Layer VIA1 String] \
[list Via_size $Via_size Float] ] ]
# create device name label of super master
...
-exec {
...
set curCvId $
dbParameterizedCell
dbCreateLabel -cv $curCvId -text [dbGet -obj $
dbSuperMasterId
\
-attr CellName] ...
# re-evaluate all Tcl PCells in db
dbDefineParameterizedCell -lib test -cell pDev1 \
-params [list \
[list a 1.0 ] \
[list b 5 ] \
[list c 5 ] \
[list d 1.122 ] \
] \
-vars {cvId _instCV_ _devCV_ \
-refresh FALSE \
} \
-exec {
Laker³ Tcl Reference Manual
K-2015.06
189
Chapter 4: Database Extensions
Tcl PCells
set cvId $dbParameterizedCell
dbCreateRect -cv $cvId -layer MET1 \
-bbox ($a,$a) ([expr $a+$b],[expr $a+$b]) \
dbCreateRect -cv $cvId -layer MET2 \
-bbox ($c,$c) ([expr $c+$d],[expr $c+$d])\
}
dbCreateParameterizedInst
The dbCreateParameterizedInst command returns an instance identifier
if the Tcl PCell, whose master is a symbolic parameterized cell, can be created.
Syntax
dbCreateParameterizedInst -cv tcvId -master
parameterizedCellId [-name parameterizedInstName] -point
origin -orient orientation [-params parameters]
Returns
An instance identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv tcvId
Specify the cell view identifier on which the
parameterized instance is created.
-master
parameterizedCellId
Specify the master cell view identifier of the
parameterized instance.
-name
Specify the parameterized instance.
parameterizedInstName
-orient orientation
190
Specify the orientation of this parameterized instance.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Tcl PCells
Argument
Description
-params parameters
Specify the parameter list. A parameter is a list of two
or three items.
If the parameter is of two items, the two items in the
list represent the parameter name and the default
value of the parameter, respectively.
If the parameter is of three items, the three items in
the list indicate the parameter name, the default value,
and the data type of the parameter.
Valid value of the data type for each parameter is
either String, Integer, Float, or Boolean.
If the parameter is of two items, the default data type
of the parameter is String.
-point origin
Specify the origin point of this parameterized
instance.
Examples
# define Tcl PCell C0
dbDefineParameterizedCell -encrypt xxxxxxxx \
-lib parameterizedCellLib -cell C0
\
-params [list [list p1 0 Integer] [list p2 0 Integer] ] \
-vars [list textString]
-exec {
set textString "p1 on C0 = $p1"
dbCreateLabel -cv $dbParameterizedCell -layer MT1 \
-text $textString -height 2 -point 0 0
set textString "p2 on C0 = $p2"
dbCreateLabel -cv $dbParameterizedCell -layer MT1 \
-text $textString -height 2 -point 30 30
expr 1
}
#define Tcl PCell C1
dbDefineParameterizedCell -lib parameterizedCellLib
\
-cell C1 -params [list [list p1 0 Integer] [list p2 0 Integer]]\
-vars {textString1 textString mcvId bbox_mcv xlen_mcv ylen_mcv}\
-exec {
dbOpenLib -lib parameterizedCellLib
set mcvId [dbOpenCV -lib parameterizedCellLib -cell C0 \
-view symbolic]
set bbox_mcv [dbGet -obj $mcvId -attr BBox]
set xlen_mcv [expr [getBBoxRight -bbox $bbox_mcv]
Laker³ Tcl Reference Manual
K-2015.06
191
Chapter 4: Database Extensions
Tcl PCells
- [getBBoxLeft -bbox $bbox_mcv]]
set ylen_mcv [expr [getBBoxTop -bbox $bbox_mcv]
- [getBBoxBottom -bbox $bbox_mcv]]
dbCreateParameterizedInst -cv $dbParameterizedCell \
-master $mcvId
-point 0 0
\
-params [list [list p1 [expr 2*$p1] Integer]
[list p2 [expr 2*p2] Integer]]
dbCloseCV -cv $mcvId
dbCloseLib -lib parameterizedCellLib
expr 1
}
# define Tcl PCell C2
dbDefineParameterizedCell -lib parameterizedCellLib
\
-cell C2 -params [list [list p1 0 Integer] [list p2 0 Integer]]\
-vars [list textString]
-exec {
set textString "p1 on C2= $p1"
dbCreateLabel -cv $dbParameterizedCell -layer MT1 \
-text $textString -height 2 -point 0 0
set textString "p2 on C2= $p2"
dbCreateLabel -cv $dbParameterizedCell -layer MT1 \
-text $textString -height 2 -point 30 30
expr 1
}
# define Tcl PCell C3
dbDefineParameterizedCell -encrypt abcdefxyz123
-lib parameterizedCellLib -cell C3
-params [list [list p1 0 Integer] [list p2 0 Integer] ]
-vars [list textString]
-exec {
set textString "p1 on C3= $p1"
dbCreateLabel -cv $dbParameterizedCell -layer MT1 \
-text $textString -height 2 -point 0 0
set textString "p2 on C3= $p2"
dbCreateLabel -cv $dbParameterizedCell -layer MT1 \
-text $textString -height 2 -point 30 30
\
\
\
expr 1
}
192
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Tcl PCells
# define Tcl PCell C4
dbDefineParameterizedCell -lib parameterizedCellLib
\
-cell C4 -params [list [list p1 0 Integer] [list p2 0 Integer]]\
-vars [list textString]
-exec {
set textString "p1 on C4= $p1"
dbCreateLabel -cv $dbParameterizedCell -layer MT1 \
-text $textString -height 2 -point 0 0
set textString "p2 on C4= $p2"
dbCreateLabel -cv $dbParameterizedCell -layer MT1 \
-text $textString -height 2 -point 30 30
expr 1
}
#define Tcl PCell C5
dbDefineParameterizedCell -lib parameterizedCellLib
\
-cell C5 -params [list [list p1 0 Integer] [list p2 0 Integer]]\
-vars {textString1 textString mcvId1 mcvId2 bbox_mcv \
xlen_mcv ylen_mcv} \
-exec {
dbOpenLib -lib parameterizedCellLib
set mcvId1 [dbOpenCV -lib parameterizedCellLib \
-cell C1 -view symbolic]
set mcvId2 [dbOpenCV -lib parameterizedCellLib \
-cell C2 -view symbolic]
dbCreateParameterizedInst -cv $dbParameterizedCell \
-master $mcvId1 -point 0 0
\
-params [list [list p1 [expr 2*$p1] Integer] \
[list p2 [expr 2*p2] Integer]]
set
set
set
-
bbox_mcv [dbGet -obj $mcvId1 -attr BBox]
xlen_mcv [expr [getBBoxRight -bbox $bbox_mcv]
[getBBoxLeft -bbox $bbox_mcv]]
ylen_mcv [expr [getBBoxTop -bbox $bbox_mcv]
[getBBoxBottom -bbox $bbox_mcv]]
dbCreateParameterizedInst -cv $dbParameterizedCell \
-master $mcvId2 -point [list $xlen_mcv $ylen_mcv] \
-params [list [list p1 [expr 2*$p1+1] Integer]
[list p2 [expr 2*p2+1] Integer]]
dbCloseCV -cv $mcvId1
dbCloseCV -cv $mcvId2
Laker³ Tcl Reference Manual
K-2015.06
193
Chapter 4: Database Extensions
Tcl PCells
dbCloseLib -lib parameterizedCellLib
expr 1
}
#define Tcl PCell C6
dbDefineParameterizedCell -lib parameterizedCellLib
\
-cell C6 -params [list [list p1 0 Integer] [list p2 0 Integer]]\
-vars {textString1 textString mcvId1 mcvId2 bbox_mcv \
xlen_mcv ylen_mcv} \
-exec {
dbOpenLib -lib parameterizedCellLib
set mcvId1 [dbOpenCV -lib parameterizedCellLib \
-cell C3 -view symbolic]
set mcvId2 [dbOpenCV -lib parameterizedCellLib \
-cell C4 -view symbolic]
dbCreateParameterizedInst -cv $dbParameterizedCell
-master $mcvId1 -point 0 0
\
-params [list [list p1 [expr 2*$p1] Integer] \
[list p2 [expr 2*p2] Integer]]
set bbox_mcv [dbGet -obj $mcvId1 -attr BBox]
set xlen_mcv [expr [getBBoxRight -bbox $bbox_mcv]
- [getBBoxLeft -bbox $bbox_mcv]]
set ylen_mcv [expr [getBBoxTop -bbox $bbox_mcv]
- [getBBoxBottom -bbox $bbox_mcv]]
\
dbCreateParameterizedInst -cv $dbParameterizedCell \
-master $mcvId2 -point [list $xlen_mcv $ylen_mcv] \
-params [list [list p1 [expr 2*$p1+1] Integer]
[list p2 [expr 2*p2+1] Integer]]
dbCloseCV -cv $mcvId1
dbCloseCV -cv $mcvId2
dbCloseLib -lib parameterizedCellLib
expr 1
}
#define Tcl PCell C7
dbDefineParameterizedCell -encrypt "pwd = abc"
\
-lib parameterizedCellLib -cell C7
\
-params [list [list p1 1 Integer] [list p2 1 Integer]]\
-vars {textString1 textString mcvId1 mcvId2 bbox_mcv \
xlen_mcv ylen_mcv} \
-exec {
dbOpenLib -lib parameterizedCellLib
set mcvId1 [dbOpenCV -lib parameterizedCellLib \
-cell C5 -view symbolic]
194
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Tcl PCells
set mcvId2 [dbOpenCV -lib parameterizedCellLib \
-cell C6 -view symbolic]
dbCreateParameterizedInst -cv $dbParameterizedCell \
-master $mcvId1 -point 0 0
\
-params [list [list p1 [expr 2*$p1] Integer] \
[list p2 [expr 2*p2] Integer]]
set
set
set
-
bbox_mcv [dbGet -obj $mcvId1 -attr BBox]
xlen_mcv [expr [getBBoxRight -bbox $bbox_mcv]
[getBBoxLeft -bbox $bbox_mcv]]
ylen_mcv [expr [getBBoxTop -bbox $bbox_mcv]
[getBBoxBottom -bbox $bbox_mcv]]
dbCreateParameterizedInst -cv $dbParameterizedCell \
-master $mcvId2 -point [list $xlen_mcv $ylen_mcv]
-params [list [list p1 [expr 2*$p1+1] Integer]
[list p2 [expr 2*p2+1] Integer]]
\
dbCloseCV -cv $mcvId1
dbCloseCV -cv $mcvId2
dbCloseLib -lib parameterizedCellLib
expr 1
}
dbSetPCellParam
The dbSetPCellParam command changes the value of an existing parameter
in the PCell superMaster. It only works for an existing parameter.
Syntax
dbSetPCellParam -cv cellviewId -name paramName -value
paramValue
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier of the PCell superMaster.
-name paramName
Specify an existing parameter name.
-value paramValue
Specify a new value for the parameter.
Laker³ Tcl Reference Manual
K-2015.06
195
Chapter 4: Database Extensions
Tcl PCells
Examples
set logfile [open ./super.log w ]
set libId [dbOpenLib -lib pcellLib]
set cvId [dbOpenCV -lib $libId -cell superMaster -view layout]
set ANS [dbSetPCellParam -cv $cvId -name pin1Side -value 5]
if { 1 == $ANS } {
puts $logfile "SUCCESS"
} else {
puts $logfile "FAIL"
}
dbSaveCV -cv $cvId
dbSaveLib -lib $libId
dbCloseCV -cv $cvId
dbCloseLib -lib $libId
close $logfile
dbGetInstParam
The dbGetInstParam command is used to query the valid spacing or spacing
interval (in the x or y direction) between two instances.
Syntax
dbGetInstParam -inst instId [ -paramName paramName [-attr
attrName] ]
Returns
The value returned may vary depending on the following conditions:
■
{ {paramName type value} ... } if only -inst is specified.
■
{ type value } if only -inst and -paramName are specified.
■
{ type } or { value } if -inst, -paramName, and -attr are specified.
Arguments
196
Argument
Description
-attr attrName
Specify the attribute name.
Valid values: Type and Value.
-inst instId
Specify the instance identifier (instId).
-paramName
paramName
Specify the parameter name.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Creation
Examples
# Example 1
dbGetInstParam -inst $instA -paramName leftDPoly -attr Value
# Example 2
dbGetInstParam -inst $instB -paramName leftDPoly -attr Value
dbGetPcellDefValue
The dbGetPcellDefValue command gets the value of the corresponding
name for Tcl PCell data.
Syntax
dbGetPcellDefValue -cv superCVId -name name
Returns
The value of the corresponding name if successful.
Arguments
Argument
Description
-cv superCVId
Specify the identifier of the super master cell view.
-name name
Specify the name of the addData.
Examples
# Example 1
# If the addData name is ScriptEngineName, and the value is
oaTclEngine
dbGetPcellDefValue -cv $superCVId -name ScriptEngineName
# Returned value: oaTclEngine
Shape Creation
This section describes the Tcl commands that are related to the shape
creation. These commands include:
■
dbCreateArc
■
dbCreateDoughnut
■
dbCreateDot
Laker³ Tcl Reference Manual
K-2015.06
197
Chapter 4: Database Extensions
Shape Creation
■
dbCreateEllipse
■
dbCreateFinRegion
■
dbCreateLabel
■
dbCreateLine
■
dbCreatePath
■
dbCreatePathRouter
■
dbCreatePolygon
■
dbCreateRect
■
dbCreateTextToPoly
■
dbPtToPtRouter
■
dbCreateRoute
dbCreateArc
The dbCreateArc command returns an arc identifier if the arc shape can be
created.
Syntax
dbCreateArc -cv cellviewId -layer layer [-purpose purpose]
-bbox eBBox -startAngle angle1 -stopAngle angle2
Returns
An arc identifier if successful; otherwise, returns 0.
Arguments
198
Argument
Description
-bbox eBBox
Specify the ellipse bounding box of the arc.
-cv cellviewId
Specify the cell view identifier.
-layer layer
Specify the layer number (0-255) or layer name.
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
-startAngle angle1
Specify the starting angle in radian.
Valid value: a floating number.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Creation
Argument
Description
-stopAngle angle2
Specify the ending angle in radian.
Valid value: a floating number.
Examples
dbCreateArc -cv $cvId -layer 1 -bbox (0,0)(3,3) -startAngle 0 \
-stopAngle 3.1415926/2
dbCreateArc -cv $cvId -layer PWELL -bbox (1,1) (9,9) \
-startAngle 0 -stopAngle 3.1415926/2
dbCreateDoughnut
The dbCreateDoughnut command returns a doughnut identifier if the
doughnut shape can be created.
Syntax
dbCreateDoughnut -cv cellviewId -layer layer [-purpose
purpose] -point center -inner r1 -outer r2
Returns
A doughnut identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-inner r1
Specify the inner radius of a doughnut shape.
Valid value: a positive floating number.
-layer layer
Specify the layer number (0-255) or layer name.
-outer r2
Specify the outer radius of a doughnut shape.
Valid value: a positive floating number.
-point center
Specify the central point of a doughnut shape in one of
the following formats: (a, b), a b, or {a b}.
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
Laker³ Tcl Reference Manual
K-2015.06
199
Chapter 4: Database Extensions
Shape Creation
Examples
dbCreateDoughnut -cv $cvId -layer 8 -point (2.25,-5.25) \
-inner 0 -outer 3.2
dbCreateDoughnut -cv $cvId -layer MT1 -point (-1.35,-1.35) \
-inner 0.35 -outer 1.35
See Also
lakerCreateDoughnut
Layout Window: Create > Conics > Doughnut
dbCreateDot
The dbCreateDot command returns a dot identifier if the dot shape can be
created.
Syntax
dbCreateDot -cv cellviewId -layer layer [-purpose purpose]
-point point
Returns
A dot identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-layer layer
Specify the layer number (0-255) or layer name.
-point point
Specify the place of a dot shape in one of the following
formats: (a, b), a b, or {a b}.
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
Examples
dbCreateDot -cv $cvId -layer 1 -point (-2.25,5.20)
dbCreateDot -cv $cvId -layer MT1 -point (-1.0,-1.0)
200
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Creation
dbCreateEllipse
The dbCreateEllipse command returns an ellipse identifier if the ellipse
shape can be created.
Syntax
dbCreateEllipse -cv cellviewId -layer layer [-purpose
purpose] -bbox eBBox
Returns
An ellipse identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-bbox eBBox
Specify the bounding box of the ellipse in one of the
following formats:
(a, b) (c d), a b c d, or {{a b} {c d}}.
-cv cellviewId
Specify the cell view identifier.
-layer layer
Specify the layer number (0-255) or layer name.
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
Examples
dbCreateEllipse -cv $cvId -layer 1 -bbox (0,0)(10,5)
dbCreateEllipse -cv $cvId -layer MT1 -bbox (-1,1) (1,2)
See Also
lakerCreateEllipse
Layout Window: Create > Conics > Ellipse
symDsgCreateEllipse
Symbol Editor: Create> Ellipse
dbCreateFinRegion
The dbCreateFinRegion command creates fin regions by honoring the
tfWideAlignments definition in the technology file section
lakerLayerRule.
Laker³ Tcl Reference Manual
K-2015.06
201
Chapter 4: Database Extensions
Shape Creation
Syntax
dbCreateFinRegion -cv cellviewId -layerName layerName purpose purpose -point (x1,y1) (x2,y2) (x3,y3) (x4,y4)
Returns
None
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-layerName layerName
Specify the name of the fin boundary layer.
-point (x1,y1) (x2,y2)
(x3,y3) (x4,y4)
(x1,y1) specifies the lower left corner of the
boundary, (x2,y2) specifies the upper left corner,
(x3,y3) specifies the upper right corner, and
(x4,y4) specifies the lower right corner.
-purpose purpose
Specify the purpose of the fin boundary layer.
Examples
dbCreateFinRegion -layer FINFET -purpose FB1 \
-point (0.286,0.76) (0.286,1.202) (0.8225,1.202) (0.8225,0.76)
See Also
lakerCreateFinRegion
Layout Window: Create > Fin Region
dbCreateLabel
The dbCreateLabel command returns a label identifier if the label can be
created.
Syntax
dbCreateLabel -cv cellviewId -layer layer [-purpose purpose]
-point origin -text textString -height height [-spacing
dSpacing] [-orient orientation] [-justify justification]
[-font textFont]
Returns
A label identifier if successful; otherwise, returns 0.
202
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Creation
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-font textFont
Specify the text font.
Valid values: Modern, Script, Roman and
Contemplate1 (default=Modern).
-height height
Specify the label height.
Valid value: a positive floating number.
-justify
justification
Specify the justification for labels.
Valid values: UpperLeft, CenterLeft, LowerLeft,
UpperCenter, CenterCenter, LowerCenter,
UpperRight, CenterRight, and LowerRight
(default=LowerLeft).
-layer layer
Specify the layer number (0-255) or layer name.
-orient
orientation
Specify the orientation for labels.
Valid values: R0, R90, R180, R270, MXR0, MXR90, MYR0,
and MYR90 (default=R0).
-point origin
Specify the origin point of labels in one of the following
formats: (a, b), b, or {a b}.
-purpose
purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
-spacing
dSpacing
Specify the spacing between Contemplate1 font text
labels (default=1.0).
-text textString
Specify the content of the label.
Examples
dbCreateLabel
-height 1.2
dbCreateLabel
-height 1.2
dbCreateLabel
-text {This
-cv $cvId -layer 1 -point (100,100) -text cpu \
-font Script
-cv $cvId -layer 2 -point (200,200) -orient R90 \
-text { i_ALUB/i_alu/sub_38_1/B_not[3]}
-cv $cvId -layer 3 -point (50,50) -height 1.2 \
is a label!}
See Also
dbCreateTextToPoly
Laker³ Tcl Reference Manual
K-2015.06
203
Chapter 4: Database Extensions
Shape Creation
lakerCreateText
Layout Window: Create > Text
symDsgCreateText
Symbol Editor: Create> Text
dbCreateLine
The dbCreateLine command returns a line identifier if the line can be
created.
Syntax
dbCreateLine -cv cellviewId -layer layer [-purpose purpose]
-point pointList
Returns
A line identifier if successful; otherwise, returns 0.
Arguments
204
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-layer layer
Specify the layer number (0-255) or layer name.
-point pointList
Specify a point list through which the line goes. The point
list can be specified in one of the following formats: (a,
b) (c, d) ... (y, z), a b c d ... y z, or {{a
b} {c d} ... {y z}}.
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Creation
Examples
set 2Pi [expr 2*3.1415926]
set count 0
set pointList [list] ; #make an empty list
while {$count < 1000} {
set x [expr $count*$2Pi/1000]
set y [expr sin($x)]
lappend pointList [list $x $y]
incr count
}
set cvId [dbOpenCV -lib cpu -cell test -mode create]
dbCreateLine -cv $cvId -layer 1 -point $pointList
dbCreateLine -cv $cvId -layer 1 \
-point 0 0 20 0 20 20 0 20 0 0 10 0 10 20 0 20 0 10 20 10
dbCreatePath
The dbCreatePath command returns a path identifier if the path shape can
be created.
Syntax
dbCreatePath -cv cellviewId -layer layer [-purpose purpose]
-point pointList -width pathWidth [-style pathStyle] [beginExt pathBegExt -endExt pathEndExt]
Returns
A path identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-beginExt
pathBegExt
Specify the start point of the path extension. It is used in
combination with -endExt and it is only valid when style Variable is specified.
Valid value : a positive floating number.
-cv cellviewId
Specify the cell view identifier.
-endExt
pathEndExt
Specify the end point of the path extension. It is used in
combination with -endExt and it is only valid when style Variable is specified.
Valid value : a positive floating number.
-layer layer
Specify the layer number (0-255) or layer name.
Laker³ Tcl Reference Manual
K-2015.06
205
Chapter 4: Database Extensions
Shape Creation
Argument
Description
-point pointList
Specify a point list through which the path goes. The
point list can be specified in one of the following
formats:(a, b) (c, d) ... (y, z), a b c d
... y z, or {{a b} {c d} ... {y z}}.
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
-style pathStyle
Specify the path style at two ends.
Valid values: Truncate, Extend, Round, and
Variable (default=Truncate).
-width pathWidth
Specify the path width.
Valid value: a positive floating number.
Examples
dbCreatePath -cv $cvId -layer 1 -width 0.5 \
-point (0,0)(10,0)(10,10)(0,10)(0,20)(10,20)
See Also
lakerCreatePath
Layout Window: Create > Path
dbCreatePathRouter
The dbCreatePathRouter command returns a routing path identifier if two
points can be connected by the available routing layers.
Syntax
dbCreatePathRouter -cv cellviewId -point (x1,y1)(x2,y2)
(-lp | -layer layer [-purpose purpose]) -width pathWidth
[-style pathStyle] [-snapMode snapMode]
Returns
A routing path identifier if successful; otherwise, returns 0.
Arguments
206
Argument
Description
-cv cellviewId
Specify the cell view identifier.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Creation
Argument
Description
-layer layer
Specify the layer name or layer number (0-255).
-point
(x1,y1)(x2,y2)
Specify two points that are to be connected.
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
-snapMode
snapMode
Specify the snap mode for routing.
Valid values: AnyAngle, Orthogonal, YFirst,
XFirst (default=AnyAngle).
-style pathStyle
Specify the path style at two ends.
Valid values: Truncate, Extend, Round, and
Variable (default=Truncate).
-width pathWidth
Specify the path segment width.
Valid value: a positive floating number.
Examples
dbCreatePathRouter -cv $cvId -point (-11.5,4.6) (2.5,5.0) \
-layer MET1 -width 0.35
dbCreatePathRouter -cv $cvId -point (15 54) (25 54) -layer POLY \
-width 0.18 -snapMode XFirst
See Also
lakerCreatePath
dbCreatePath
lakerPtToPtRouter
dbPtToPtRouter
Layout Window: Create > Path
Layout Window: Router > Point To Point Router
dbCreatePolygon
The dbCreatePolygon command returns a polygon identifier if the polygon
shape can be created.
Syntax
dbCreatePolygon -cv cellviewId -layer layer [-purpose
purpose] -point pointList
Laker³ Tcl Reference Manual
K-2015.06
207
Chapter 4: Database Extensions
Shape Creation
Returns
A polygon identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-layer layer
Specify the layer number (0-255) or layer name.
-point pointList
Specify a point list of coordinates to the polygon vertices.
The point list can be specified in one of the following
formats: (a, b) (c, d) ... (y, z), a b c d ...
y z, or {{a b} {c d} ... {y z}}.
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
Examples
dbCreatePolygon -cv $cvId -layer 1 -point (0,0)(1,1)(0,1)
See Also
lakerCreatePoly
Layout Window: Create > Polygon
symDsgCreatePolygon
Symbol Editor: Create> Polygon
dbCreateRect
The dbCreateRect command returns a rectangle identifier if the rectangle
can be created.
Syntax
dbCreateRect -cv cellviewId -layer layer [-purpose purpose]
-bbox bBox
Returns
A rectangle identifier if successful; otherwise, returns 0.
208
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Creation
Arguments
Argument
Description
-bbox bBox
Specify the bounding box of the rectangle in one of the
following formats: (a, b) (c, d), a b c d, or {{a
b} {c d}}.
-cv cellviewId
Specify the cell view identifier.
-layer layer
Specify the layer number (0-255) or layer name.
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
Examples
dbCreateRect -cv $cvId -layer THIN -bbox (0,0)(1,2)
See Also
lakerCreateRect
Layout Window: Create > Rectangle
symDsgCreateRect
Symbol Editor: Create> Rectangle
dbCreateTextToPoly
The dbCreateTextToPoly command returns a polygon identifier if the
polygon shape, that are determined by a text string, can be created.
Syntax
dbCreateTextToPoly -cv cellviewID -layer layer [-purpose
purpose] -point origin -text textString -height height
[-width width] [-orient orientation] [-justify
justification] [-font textFont] [-spacing spacing] [non45free 0|1]
Returns
A polygon identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
Laker³ Tcl Reference Manual
K-2015.06
209
Chapter 4: Database Extensions
Shape Creation
210
Argument
Description
-font textFont
Specify the font type of the input text string.
Valid values: Simple, Merit and Contemplate
(default=Merit).
-height height
Specify the height of polygons.
Valid value: a positive number.
-justify
justification
Specify the justification.
Valid values: UpperLeft, CenterLeft, LowerLeft,
UpperCenter, CenterCenter, LowerCenter,
UpperRight, CenterRight, and LowerRight
(default=LowerLeft).
-layer layer
Specify the layer name or layer number (0-255).
-non45free 0|1
Valid values: Boolean values, 0 and 1. (default=0).
1: Do not allow non45 polygon texts.
0: Allow non45 polygon texts.
-orient
orientation
Specify the orientation.
Valid values: R0, R90, R180, R270, MYR0, MYR90, MXR0,
and MXR90 (default=R0).
-point origin
Specify the origin point.
-purpose
purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
-spacing
spacing
Specify the spacing between polygonal texts.
Valid value: a floating number (default=0).
-text
textString
Specify the text string that determines the polygon shape.
-width width
Specify the stick width of the polygonal label in
Contemplate font type. The height must be greater than
5 times of the specified stick width; and the stick width must
be the even multiple resolutions.
Valid value: a positive number.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Creation
Examples
dbOpenLib -lib CPU
set cvId [dbOpenCV -lib CPU -cell test -mode create]
dbCreateTextToPoly -cv $cvId -layer MT1 -point 1000 1000
-height 10 -font Simple -text GND -non45free 1
See Also
dbCreateLabel
lakerCreateText
Layout Window: Create > Text
symDsgCreateText
Symbol Editor: Create> Text
dbPtToPtRouter
The dbPtToPtRouter command connects two selected objects by the
available routing layers.
Syntax
dbPtToPtRouter -cv cellviewId -point (x1,y1)(x2,y2) [routingLayer routingLayer] [-minContacts n]
dbPtToPtRouter -cv cellviewId -point {(x1,y1) [LayerName]}
{(x2,y2) [LayerName]} [-routingLayer routingLayer] [minContacts n]
Returns
None
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-minContacts n
Specify the minimum number of contacts to be used.
-point
(x1y1)(x2,y2)
Specify two points to select the objects to be connected.
Laker³ Tcl Reference Manual
K-2015.06
211
Chapter 4: Database Extensions
Shape Creation
Argument
Description
-routingLayer
routingLayer
Specify the list of available routing layer(s). If it is not
specified, all routing layers defined in the technology file
are used. The list can be specified by one of these two
formats:
■
■
Use {MET1 MET2 MET3} to indicate that the available
layer list can be used without rule specification.
Use {MET1 2 2 0.5 0.5} {MET2 2 2 0.5 0.5}
to indicate that the available layer list shall be used with
rule specification, in the order of {LayerName Hcost
Vcost Width Space}.
Examples
# Example 1
dbPtToPtRouter -cv cellviewId -point (-11.576,4.691) \
(2.528,5.019) -routingLayer {MET1 MET2 POLY MET3}
# Example 2
dbPtToPtRouter -cv cellviewId -point {(2.400,0.500) POLY} \
{(8.000,8.000) MET1} -routingLayer {POLY 2 3 0.5 0.5} \
{MET1 2 3 0.5 0.5} -minContacts 2
See Also
lakerCreatePath
dbCreatePath
lakerPtToPtRouter
Layout Window: Create > Path
Layout Window: Router > Point-To-Point Router
dbCreateRoute
The dbCreateRoute command returns a route identifier if the route can be
created.
Syntax
dbCreateRoute -cv cellviewId [-purpose purpose] [-net netId]
-route {{ PATHSEG -layer layer -beginPt beginPoint -endPt
endpoint [-width width -beginStyle beginStyle -endStyle
endStyle -beginExt beginExt -endExt endExt beginLeftDiagExt beginLeftDiagExt -beginRightDiagExt
beginRightDiagExt -beginRightHalfWidth
beginRightHalfWidth -endLeftDiagExt endLeftDiagExt 212
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Creation
endRightHalfWidth endRightHalfWidth]} {CUSTOMVIA -def
defName [-orient orient]} {STDVIA -def defName [-orient
orient]} ...}
Returns
A route identifier if successful; otherwise returns 0.
Arguments
Argument
Description
-beginExt beginExt
-endExt endExt
-beginLeftDiagExt
beginLeftDiagExt
Specify the segment extension beyond the begin or
end points.
Valid value: a positive floating number.
-beginRightDiagExt
beginRightDiagExt
-beginRightHalfWidth
beginRightHalfWidth
-endLeftDiagExt
endLeftDiagExt
-endRightHalfWidth
endRightHalfWidth
-beginPt beginPoint
-endPt endpoint
Specify a point list through which the line goes. The
point list can be specified in one of the following
formats: (a, b) (c, d) ... (y, z), a b c d
... y z, or {{a b} {c d} ... {y z}}.
-beginStyle beginStyle
-endStyle endStyle
Specify the style type of path segments.
Valid values: Truncate, Extend, Variable,
Chamfer, and Custom (default=Extend).
-cv cellviewId
Specify the cell view identifier.
-def defName
Specify the standard vias and custom vias.
This is the default rule setting in the LEF/DEF data.
-layer layer
Specify the layer number (0-255) or layer name.
-net netId
Specify the net identifier.
Laker³ Tcl Reference Manual
K-2015.06
213
Chapter 4: Database Extensions
Shape Conversion
Argument
Description
-orient orientation
Specify the orientation of via objects.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
-width pathWidth
Specify the path segment width.
Valid value: a positive floating number.
Examples
# Example 1
dbCreateRoute -cv $masterId -route {{PATHSEG -layer METAL1 \
-beginPt {-100,-100} -endPt {100,100} -width 20 -beginExt 20 \
-endExt 20 -beginLeftDiagExt 15 -beginRightDiagExt 15 \
-beginRightHalfWidth 20 -endLeftDiagExt 15 \
-endRightHalfWidth 20 }}
# Example 2
dbCreateRoute -cv $masterId -route {{PATHSEG -layer VIA23 \
-beginPt {-25,-25} -endPt {25, 25} -width 10} {CUSTOMVIA \
-def Via23} {PATHSEG -layer VIA23 -beginPt {-100, -100} \
-endPt {100,100} -width 10}}
# Example 3
dbCreateRoute -cv $masterId -route {{PATHSEG -layer VIA23 \
-beginPt {-25,-25} -endPt {25, 25} -width 10} {STDVIA -def Via23 \
-orient MXR180 } {PATHSEG -layer VIA23 -beginPt {-100, -100} \
-endPt {100,100} -width 10}}
Shape Conversion
This section describes the Tcl commands that are related to shape conversion.
These commands include:
214
■
dbArcToLine
■
dbDoughnutToPolygon
■
dbEllipseToPolygon
■
dbLineToPath
■
dbPathToPolygon
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Conversion
■
dbPathSideToPolygonSide
■
dbPolygonToTrap
dbArcToLine
The dbArcToLine command returns a line identifier if the target arc can be
converted to a line.
Syntax
dbArcToLine -arc arcId -side sideNo
Returns
A line identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-arc arcId
Specify the arc identifier.
-side sideNo
Specify the number of sides.
Valid value: a positive integer.
Examples
set arcId [dbCreateArc -cv $cvId -layer 1 -bbox (0,0)(20,10) \
-startAngle 0 -stopAngle 3.14]
set lineId [dbArcToLine -arc $arcId -side 10]
dbDoughnutToPolygon
The dbDoughnutToPolygon command returns a polygon identifier if the
target doughnut shape can be converted to a polygon shape.
Syntax
dbDoughnutToPolygon -doughnut doughnutId -side sideNo
Returns
A polygon identifier if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
215
Chapter 4: Database Extensions
Shape Conversion
Arguments
Argument
Description
-doughnut doughnutId
Specify the doughnut identifier.
-side sideNo
Specify the number of sides.
Valid value: a positive integer.
Examples
set doughnutId [dbCreateDoughnut -cv $cvId -layer 1 \
-point (0,0) -inner 5 -outer 10]
set polygonId [dbDoughnutToPolygon -doughnut $doughnutId -side 8]
dbEllipseToPolygon
The dbEllipseToPolygon command returns a polygon identifier if the target
ellipse shape can be converted to a polygon shape.
Syntax
dbEllipseToPolygon -ellipse ellipseId -side sideNo
Returns
A polygon identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-ellipse ellipseId
Specify the ellipse identifier.
-side sideNo
Specify the number of sides.
Valid value: a positive integer.
Examples
set ellipseId [dbCreateEllipse -cv $cvId -layer 1 \
-bbox (0,0)(10,20)]
set polygonId [dbEllipseToPolygon -ellipse $ellipseId -side 4]
216
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Shape Conversion
dbLineToPath
The dbLineToPath command returns a path identifier if the target line shape
can be converted to a path shape.
Syntax
dbLineToPath -line lineId -width pathWidth [-style
pathStyle]
Returns
A path identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-line lineId
Specify the line identifier.
-style pathStyle
Specify the path style at two ends.
Valid values: Truncate, Extend, Round, and Variable
(default=Truncate).
-width pathWidth
Specify the path segment width.
Valid value: a positive floating number.
Examples
set lineId [dbCreateLine -cv $cvId -layer 1 -point (0,0)(10,0)]
dbLineToPath -line $lineId -width 0.5
dbPathToPolygon
The dbPathToPolygon command returns a polygon identifier if the target
path shape can be converted to a polygon shape.
Syntax
dbPathToPolygon -path pathId
Returns
A polygon identifier if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
217
Chapter 4: Database Extensions
Shape Conversion
Arguments
Argument
Description
-path pathId
Specify the path identifier.
Examples
set pathId [dbCreatePath -cv $cvId -layer 1 \
-point (0,0)(10,0) -width 0.5 ]
dbPathToPolygon -path $pathId
See Also
lakerConvertToPoly
Layout Window: Edit > Others > Convert To Polygon
dbPathSideToPolygonSide
The dbPathSideToPolygonSide command returns a list of point
coordinates to one side of the path boundary if the specified side of the path
boundary can be obtained.
Syntax
dbPathSideToPolygonSide -point pointList -width extendWidth
Returns
A list of point coordinates to one side of the path boundary if successful;
otherwise, returns 0.
Arguments
Argument
Description
-point pointList
Specify a list of point coordinates to the center path.
-width extendWidth
Specify the extend width.
Valid value: a floating number.
Examples
dbPathSideToPolygonSide -point (0,0) (0,5) (5,5) -width -3
# The output is {3.0 0.0} {3.0 2.0} {5.0 2.0}
See Also
None
218
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Instances and Arrays
dbPolygonToTrap
The dbPolygonToTrap command returns a list of trapezoid figIds if the target
shape can be partitioned to trapezoids.
Syntax
dbPolygonToTrap -fig figId [-deloldobj 0|1]
Returns
A list of trapezoid figIds if successful; otherwise, returns 0.
Arguments
Argument
Description
-fig figId
Specify the shape identifier.
-deloldobj 0|1
Specify the switch mode for object deletion.
Valid values: Boolean values, 0 and 1 (default=0).
1 : Delete original figures.
0 : Do not delete original figures.
Examples
set polyId [lakerCreatePoly -layerName MET2 \
-point (9.05,5.725) (9.05,2.1) (13.925,2.1) \
(13.925,-2.65) (8.25,-2.65) (8.25,-5.625) \
(3.775,-5.625) (3.775,-1.35) (6.275,-1.35) \
(6.275,2.15) (3.775,2.15) (3.775,3.275) \
(1.85,3.275) (1.85,5.725)]
dbPolygonToTrap -fig $polyId -deloldobj 1
Instances and Arrays
This section describes the Tcl commands that are related to instances and
arrays. These commands include:
■
dbCreateArray
■
dbCreateInst
■
dbFindInst
Laker³ Tcl Reference Manual
K-2015.06
219
Chapter 4: Database Extensions
Instances and Arrays
■
dbIsSameMaster
■
dbSetInstHeaderMasterName
dbCreateArray
The dbCreateArray command returns an array identifier if the array can be
created.
There are two approaches to create an array: (1) specify the master by its
identifier if this master is opened; (2) specify the master by its cell name, view
name, and library name (or library identifier) where the cell view exists.
Syntax
dbCreateArray -cv tcvId (-master mcvId | -lib libName -cell
cellName [-view viewName]) [-name arrayName] -point
origin [-orient orientation] -rows rowNo -cols colNo rowSpace rowSpace -colSpace colSpace
Returns
An array identifier if successful; otherwise, returns 0.
Arguments
220
Argument
Description
-cell cellName
Specify the cell name.
-cols colNo
Specify the number of columns of the array.
Valid value: a positive integer.
-colSpace
colSpace
Specify the spacing between two columns.
Valid value: a floating number.
-cv tcvId
Specify the identifier of the top cell view.
-lib libName
Specify the library name or library identifier.
-master mcvId
Specify the identifier of the master cell view.
-name
arrayName
Specify the created array. This name is generated by the
database.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Instances and Arrays
Argument
Description
-orient
orientation
Specify the orientation of arrays.
Valid values: R0, R90, R180, R270, MXR0, MXR90, MYR0,
and MYR90 (default=R0).
-point origin
Specify the original point of the array in one of the following
formats:
(a, b), a b, or {a b}.
-rows rowNo
Specify the number of rows of the array.
Valid value: a positive integer.
-rowSpace
rowSpace
Specify the spacing between two rows.
Valid value: a floating number.
-view
viewName
Specify the view name.
Valid values: layout, abs, schematic, and device
(default=layout).
Examples
set tcvId [dbOpenCV -lib libraryA -cell cell2]
set mcvId [dbOpenCV -lib libraryA -cell cell3]
dbCreateArray -cv $tcvId -master $mcvId -name A1 \
-point (0,0) -rows 2 -cols 10 -rowSpace 1.0 -colSpace 0
dbCreateArray -cv $tcvId -lib libraryA -cell cell32 -name A2
-point (0,0) -rows 3 -cols 1 -rowSpace 1.0 -colSpace 0
dbCreateInst
The dbCreateInst command returns an instance identifier if the instance can
be created.
There are two approaches to create an instance: (1) create an instance by
specifying the master with its identifier; (2) specify the master by its cell name,
view name, and library name (or library identifier) where the cell view exists.
Laker³ Tcl Reference Manual
K-2015.06
221
Chapter 4: Database Extensions
Instances and Arrays
Syntax
dbCreateInst -cv tcvId (-master mcvId | -lib libName -cell
cellName [-view viewName]) [-name instName] -point origin
[-orient orientation] [-justification justification] [returnOrigin 0|1]
Returns
An instance identifier if successful; otherwise, returns 0.
Arguments
222
Argument
Description
-cell cellName
Specify the cell name.
-cv tcvId
Specify the identifier of the top cell view.
-justification
justification
Specify the justification of the instance.
Valid values: UL, CL, LL, UC, CC, LC, UR, CR, LR, and
Origin.
-lib libName
Specify the library name or library identifier.
-master mcvId
Specify the identifier of the master cell view.
-name instName
Specify the created instance. This name is generated by
the database.
-orient
orientation
Specify the orientation of instances.
Valid values: R0, R90, R180, R270, MXR0, MXR90, MYR0,
and MYR90 (default=R0).
-point origin
Specify the original point of the instance in one of the
following formats: (a, b), a b, or {a b}.
-returnOrigin 0|1
Valid values: Boolean values, 0 and 1.
1 : Return the origin of the instance.
0 : Do not return the origin of the instance.
-view viewName
Specify the view name.
Valid values: layout, abs, schematic, and device
(default=layout).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Instances and Arrays
Examples
set tcvId [dbOpenCV -lib libraryA -cell cell2]
set mcvId [dbOpenCV -lib libraryA -cell cell3]
dbCreateInst -cv $tcvId -master -mcvId -point (0,0) -name I1
dbCreateInst -cv $tcvId -lib libraryA -cell cell33 -name I2 \
-point (10,10)
dbCreateInst -cv $tcvId -lib libraryB -cell cell33 -name I3 \
-point (-10,-10)
See Also
lakerCreateInstance
Layout Window: Create > Instance
dbFindInst
The dbFindInst command returns an instance identifier if the target instance
can be found by its name.
Syntax
dbFindInst -cv tcvId -name instName
Returns
An instance identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv tcvId
Specify the identifier of the top cell view.
-name instName
Specify the instance name.
Examples
dbFindInst -cv 202810 -name I0
See Also
lakerFindObj
Layout Window: Query > Find
Laker³ Tcl Reference Manual
K-2015.06
223
Chapter 4: Database Extensions
Instances and Arrays
dbIsSameMaster
The dbIsSameMaster command returns 1 if two instances have the same
master.
Syntax
dbIsSameMaster -inst1 instId1 -inst2 instId2
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-inst1 instId1
Specify the first instance identifier.
-inst2 instId2
Specify the second instance identifier.
Examples
dbIsSameMaster -inst1 $instId1 -inst2 $instId1
dbIsSameMaster -inst1 $instId2 -inst2 $instId1
dbSetInstHeaderMasterName
The dbSetInstHeaderMasterName command returns 1 if the master cell
view of an instance can be replaced with another cell view.
Syntax
dbSetInstHeaderMasterName -instHeader instHId [-lib
libName] -cell cellName [-view viewName]
Returns
1 if successful; otherwise, returns 0.
Arguments
224
Argument
Description
-cell cellName
Specify the cell name.
-instHeader instHId
Specify the identifier of the instance header.
-lib libName
Specify the library name or library identifier.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Argument
Description
-view viewName
Specify the view name.
Valid values: layout, abs, schematic, and device
(default=layout).
Examples
set instId [dbCreateInst -cv $tcvId -lib libraryA -cell c1 \
-point (0,0)]
set instHId [dbGet -obj $instId -attr InstHeader]
dbSetInstHeaderMasterName -instHeader $instHId -cell c2
dbSetInstHeaderMasterName -instHeader $instHId \
-lib libraryB -cell c3
Figure Manipulation
This section describes the Tcl commands that are related to figure
manipulation. These commands include:
■
dbBreakTraverse
■
dbConcatTransform
■
dbCopyFig
■
dbCorrectPolygon
■
dbGetTrueOverlaps
■
dbLayerGen
■
dbMoveFig
■
dbRepairCellViewRouteObj
■
dbSeparateRouteObj
■
dbShiftOrigin
■
dbSizing
■
dbSmashInst
■
dbSnapToGrid
■
dbTransformBBox
Laker³ Tcl Reference Manual
K-2015.06
225
Chapter 4: Database Extensions
Figure Manipulation
■
dbTransformPoint
■
dbTraverse
■
getBBoxBottom
■
getBBoxCenter
■
getBBoxLeft
■
getBBoxLeftBottom
■
getBBoxRight
■
getBBoxRightTop
■
getBBoxTop
dbBreakTraverse
The dbBreakTraverse command breaks the command file used in
dbTraverse and dbGetTrueOverlaps.
Syntax
dbBreakTraverse
Returns
None
Arguments
None
Examples
proc cbFun {id} {
if {xxx} {
dbBreakTraverse
}
}
dbTraverse -cv $cvId -shapeOnly on -cbFun cbFun
dbGetTrueOverlaps -cv $masterId -bbox (-500,-500) (800, 700) \
-shapeOnly 0 -cbFun cbFun -condition EO
See Also
dbTraverse
dbGetTrueOverlaps
226
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
dbConcatTransform
The dbConcatTransform command returns a list of result transform if two
transformations can be concated to a new one.
Syntax
dbConcatTransform [-orient1 orientation1] -offsetPoint1
offset1 [-mag1 magnification1] [-orient2 orientation2]
-offsetPoint2 offset2 [-mag2 magnification2]
Returns
A list of the result transform if successful; otherwise, returns nothing.
Arguments
Argument
Description
-mag1 magnification1,
-mag2 magnification2
Specify the magnification of the transformation.
Valid value: a floating number (default=1.0).
-offsetPoint1 offset1,
-offsetPoint2 offset2
Specify the offset point of the transformation in one of
the following formats: (a, b), a b, or {a b}.
-orient1 orientation1,
-oritne2 orientation2
Specify the orientation of the transformation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
Examples
dbConcatTransform -orient1 R90 -offsetPoint1 (10,10) \
-offsetPoint2 (-4,5) -mag2 3.5
dbCopyFig
The dbCopyFig command returns a figure identifier if the figure, transformed
by a transformation, can be copied to a destination cell view. If the destination
cell view is not specified, the figure is copied to the cell view in which this figure
exists.
Syntax
dbCopyFig -fig figId [-dst dstCVId] [-orient orientation]
-offsetPoint offset [-mag magnification]
Laker³ Tcl Reference Manual
K-2015.06
227
Chapter 4: Database Extensions
Figure Manipulation
Returns
A figure identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-dst dstCVId
Specify the identifier of the destination cell view.
-fig figId
Specify the figure identifier.
-mag magnification
Specify the magnification of the transformation.
Valid value: a floating number (default=1.0).
-offsetPoint offset
Specify the offset point of the transformation in one of
the following formats: (a, b), a b, or {a b}.
-orient orientation
Specify the orientation of the transformation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
Examples
set rectId [dbCreateRect -cv $cvId1 -layer 8 -bbox (0,0)(10,20)]
dbCopyFig -fig $rectId -offsetPoint (0,0) -dst $cvId3
set arrayId [dbCreateArray -cv $cvId1 -master $cvId2 \
-point (0,0) -rows 2 -cols 3 -rowSpace 0.5 -colSpace 0.5]
set instId [dbCreateInst -cv $cvId1 -master $cvId2 \
-point (-20,-20)]
dbCopyFig -fig $arrayId -offsetPoint (30,30)
dbCopyFig -fig $instId -offsetPoint (-30,-30)
See Also
lakerCopyObj
adpDsgCopy
dbCorrectPolygon
The dbCorrectPolygon command returns 1 if reentrant and self-intersecting
polygons can be fixed.
228
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Self-intersecting polygons, which may be created by third-party tools, can be
reported in the gdsIn.err and gdsOut.err files by setting the following keyword in
the laker.rc file. The default is FALSE.
[LeoPreference]
IoReportSelfIntersectingPolygons=TRUE
Syntax
dbCorrectPolygon -cv cellviewID [-type polygonType] [snapGrid 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewID
Specify the cell view identifier to be corrected.
-snapGrid 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Snap new objects onto the grid resolution.
0 : Do not snap any new objects onto the grid resolution.
-type polygonType
Specify the polygon type to be corrected.
Valid values: Reentrant, Self-Intersecting, or
All (default=All).
Examples
#To fix reentrant and self-intersecting polygons in cell 'cpu'
set cvId [dbOpenCV -lib cpu -cell cpu]
dbCorrectPolygon -cv $cvId -type All
# Example results:
Laker³ Tcl Reference Manual
K-2015.06
229
Chapter 4: Database Extensions
Figure Manipulation
dbGetTrueOverlaps
The dbGetTrueOverlaps command returns a list of all objects in a cell view;
these objects overlap the area specified by the specified bounding box.
The intersecting condition of the bounding box (BBox) with objects can be
specified by -condition. The condition can be any combination of E
(enclosed), O (overlapping), B (butting) and S (singular). For example, when
-condition {E} is specified, only the objects that are enclosed by the
bounding box are returned. When -condition {EO} is specified, the objects
that are enclosed by and overlaps with the bounding box are returned.
When -attachBBox and -attachPoint are specified at the same time,
-attachBBox has the higher priority.
Syntax
dbGetTrueOverlaps -cv cellviewId [-bbox bBox] [-layer layer]
[-purpose purpose] [-startLevel level1] [-stopLevel
level2] [-cbFun callBackFunc] ([-shapeOnly 0|1]|[instOnly 0|1]) [-attachBBox 0|1] [-attachPoint 0|1] [condition [{O|E|B|S}]]
Returns
One of the following is returned:
■
A list of identifiers. Neither -attachBBox nor -attachPoint is turned on.
■
A list of lists, each of which is composed of an identifier and a bounding box.
The -attachBBox option is turned on.
■
A list of lists, each of which is composed of an identifier and a list of points.
The -attachPoint option is turned on.
Arguments
230
Argument
Description
-attachBBox 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Compute and attach the bounding box of the figure
related to top cell views.
0 : Return the figure Ids only.
-attachPoint 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Compute and attach the point of each shape related to
top cell views.
0 : Return the figure Ids only.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Argument
Description
-bbox bBox
Specify the bounding box in one of the following formats:
(a, b) (c, d), a b c d, or {{a b} {c d}}. The
default is cell view BBox.
-cv cellviewId
Specify the cell view identifier.
-cbFun
callBackFunc
Specify a user-defined Tcl procedure for the callback
results. The procedure syntax is as follows: proc
callBackFunc {p_pCallData } { ... }, where
p_pCallData is the return value.
-condition
[{O|E|B|S}]
Specify one of the following conditions:O: Overlapping
(includes enclosed[E]).
E: Enclosed.
B: Butting.
S: Singular.
-instOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Traverse instances, instance arrays, MCells, and Tcl
PCells only. This argument cannot be used with -layer.
0 : No restrictions on the above traversing.
-layer layer
Specify the layer number or layer name (default=all
layers).
-purpose purpose
Specify the purpose number or purpose name (default=all
purposes).
-shapeOnly 0|1
Restrict the traversing for shapes only.
Valid values: Boolean values, 0 and 1 (default=0).
-startLevel level1
Specify the starting level.
Valid value: a positive integer (default=0).
-stopLevel level2
Specify the stopping level.
Valid value: a positive integer (default=0).
Laker³ Tcl Reference Manual
K-2015.06
231
Chapter 4: Database Extensions
Figure Manipulation
Examples
# Example 1
dbGetTrueOverlaps -cv $masterId -bbox (-500,-500) (800, 700) \
-shapeOnly 0 -attachBBox 1 -attachPoint 0 -condition EO
# Value returned as follows:
# {2a962b7400 {{678.000 650.000} {800.000 700.000}}}
# {2a962b5c00 {{500.000 100.000} {1000.000 800.000}}}
# Example 2
dbGetTrueOverlaps -cv $masterId -bbox (-500,-500) (800, 700) \
-shapeOnly 0 -attachBBox 1 -attachPoint 0 -condition O
# Value returned as follows:
# {2a962b7400 {{678.000 650.000} {800.000 700.000}}}
{2a962b5c00 {{500.000 100.000} {1000.000 800.000}}}
# Example 3
dbGetTrueOverlaps -cv $masterId -bbox (-500,-500) (800, 700) \
-shapeOnly 0 -attachBBox 1 -attachPoint 0 -condition E
# Value returned as follows:
# {2a962b7400 {{678.000 650.000} {800.000 700.000}}}
See Also
dbTraverse
dbLayerGen
The dbLayerGen command returns a list of figure identifiers if the shapes of
two specific layers or figures can be changed by using the Boolean operations.
Syntax
dbLayerGen -op booleanOperation -dst dstCVID (-lp layerName
[purposeName] | -layer layerName [-purpose purposeName])
(-figs1 figures | -lp1 layerName [purposeName] | -layer1
layerName [-purpose1 purposeName]) (-figs2 figures | lp2 layerName [purposeName] | -layer2 layerName [purpose2 purposeName])
Returns
A list of figure identifiers if successful; otherwise, returns 0.
Arguments
232
Argument
Description
-op
booleanOperation
Set the Boolean operation.
Valid values: OR, AND, NOT, and XOR.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Argument
Description
-dst dstCVID
Specify the identifier of the destination cell view.
-lp layerName
purposeName
Specify the layer name and purpose name of resulting
shapes.
-layer layerName
Specify the one of resulting shapes with layer name.
-purpose
purposeName
Specify the one of resulting shapes with purpose name
(default=drawing).
-figs1 figures
Specify the list of figure identifiers of main shapes.
-lp1 layerName
purposeName
Specify the layer name and purpose name of main
shapes.
-layer1 layerName
Specify the layer of main shapes with layer name.
-purpose1
purposeName
Specify the layer of main shapes with purpose name
(default=drawing).
-figs2 figures
Specify the list of figure identifiers of operating shapes.
-lp2 layerName
purposeName
Specify the layer of operating shapes with layer name
and purpose name.
-layer2 layerName
Specify the layer of operating shapes with layerName.
-purpose2
purposeName
Specify the layer of main operating with purpose name
(default=drawing).
Examples
# example1. or PWELL layers and put the results to layer POLY
set cvId [dbOpenCV -lib cpu -cell cpu]
set figList [dbTraverse -cv $cvId -layer PWELL -shapeOnly 1]
dbLayerGen -op OR -dst $cvId -layer POLY -figs1 $figList
# example2. put the results to layer POLY
set cvId [dbOpenCV -lib cpu -cell cpu]
set figList1 [dbTraverse -cv $cvId -layer PWELL -shapeOnly 1]
set figList2 [dbTraverse -cv $cvId -layer CONT -shapeOnly 1]
dbSizing -op NOT -dst $cvId -layer POLY -figs1 $figList1 \
-figs2 $figList2
Laker³ Tcl Reference Manual
K-2015.06
233
Chapter 4: Database Extensions
Figure Manipulation
# example3. xor both PWELL and POLY layers and
# put the results to layer THIN
set cvId [dbOpenCV -lib cpu -cell cpu]
set figList [dbTraverse -cv $cvId -layer PWELL -shapeOnly 1]
dbLayerGen -op XOR -dst $cvId -layer THIN -figs1 $figList \
-layer2 POLY
# example4. and both PWELL and POLY layers and
# put the results to layer THIN
set cvId [dbOpenCV -lib cpu -cell cpu]
dbLayerGen -op AND -dst $cvId -layer THIN \
-layer1 PWELL -layer2 POLY
See Also
dbSizing
lakerBoolean
lakerLayerGen
Layout Window: Edit > Boolean
Layout Window: Edit > Others > Layer Gen...
dbMoveFig
The dbMoveFig command returns a figure identifier if the figure, transformed
by a transformation, can be moved to the target cell view.
Syntax
dbMoveFig -fig figId -dst dstCVId [-orient orientation] offsetPoint offset [-mag magnification]
Returns
A figure identifier if successful; otherwise, returns 0.
Arguments
234
Argument
Description
-dst dstCVId
Specify the identifier of the target cell view.
-fig figId
Specify the figure identifier.
-mag magnification
Specify the magnification of the transformation.
Valid value: a floating number (default=1.0).
-offsetPoint offset
Specify the offset point of the transformation in one of
the following formats: (a, b), a b, or {a b}.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Argument
Description
-orient orientation
Specify the orientation of the transformation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
Examples
set pathId [dbCreatePath -cv $tcvId -layer 1 \
-point (0,0) (1,1) -width 0.2]
set instId1 [dbCreateInst -cv $tcvId -master $mcvId -point (0,0)]
set arrayId1 [dbCreateArray -cv $tcvId -master $mcvId \
-point (10,10) -rows 2 -cols 5 -rowSpace 0 -colSpace 0]
set pathId2 [dbMoveFig -fig $pathId -dst $tcvId \
-offsetPoint (-10,-10)]
dbMoveFig -fig $pathId2 -dst $cvId3 -offsetPoint (0,0) -mag 1.5
set instId2 [dbMoveFig -fig $instid1 -dst $tcvId \
-offsetPoint (-10,-10)]
dbMoveFig -fig $instId2 -dst $cvId3 -offsetPoint (0,0) -mag 1.5
set arrayId2 [dbMoveFig -fig $arrayId1 -dst $tcvId \
-offsetPoint (-10,-10)]
dbMoveFig -fig $arrayId2 -dst $cvId3 -offsetPoint (0,0) -mag 1.5
See Also
lakerMoveObj
adpDsgMove
dbRepairCellViewRouteObj
The dbRepairCellViewRouteObj command returns a list of fixed route
object identifiers if all invalid route objects can be found and fixed in the current
working cell view.
Syntax
dbRepairCellViewRouteObj (-lib libName -cell cellName [-view
viewName] | -cv cellviewId)
Returns
A list of fixed route object identifiers if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
235
Chapter 4: Database Extensions
Figure Manipulation
Arguments
Argument
Description
-cell cellName
Specify the cell name.
-cv cellviewId
Specify the cell view identifier.
-lib libName
Specify the library name.
-view viewName
Specify the view name. The default is layout.
Examples
# Example 1
dbRepaireCellViewRouteObj -lib DEF -cell mc_top
dbSeparateRouteObj
The dbSeparateRouteObj command returns a list of route object identifiers
if a route (dbRoute) object can be separated into multiple route objects,
pathSeg and via objects, or path and rectangle objects.
Syntax
dbSeparateRouteObj -figs figIds [-separateAll 0|1 -checkRule
0|1] [-transShape 0|1]
Returns
A list of route object identifiers if successful; otherwise, returns 0.
Arguments
236
Argument
Description
-checkRule 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Re-evaluate the rule of new route objects.
0 : Set the rule of original route object to new route objects.
-figs figIds
Specify a list of route object identifiers.
-separateAll 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Separate a route object into path segment (pathSeg) and via
objects.
0 : Separate a route object into multiple route objects composed
of one pathSeg and one via.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Argument
Description
-transShape 0|1
Valid values: Boolean values, 0 and 1.
1 : Separate a route object into a path and flatten the via on the
path as a rectangle.
0 : Separate a route object into multiple route objects composed
of one pathSeg and one via.
Examples
# Example 1
dbSeparateRouteObj -figs [lakerGetSelSet]
# Example 2
dbSeparateRouteObj -figs [lakerGetSelSet] -separateAll 1 \
-checkRule 1
# Example 3
# Separate a route object to a path and flatten the via
# into a rectangle
dbSeparateRouteObj -figs [lakerGetSelSet] -transShape 1
dbShiftOrigin
The dbShiftOrigin command shifts the original point of the target cell view
to new origin.
Syntax
dbShiftOrigin -cv dstCVId -point (x0,y0)
Returns
None
Arguments
Argument
Description
-cv dstCVId
Specify the identifier of the target cell view.
-point (x0,y0)
x0 specifies a position value for x coordinate point while y0
specifies the one for y coordinate point.
Examples
set cvId [dbOpenCV -lib cpu -cell cpu]
dbShiftOrigin -cv $cvId -point (100,50)
Laker³ Tcl Reference Manual
K-2015.06
237
Chapter 4: Database Extensions
Figure Manipulation
See Also
lakerShiftOrigin
Layout Window: Edit > Others > Shift Origin
symDsgEditOrigin
Symbol Editor: Edit> Origin
dbSizing
The dbSizing command returns a list of figure identifiers if each side of the
specified objects can be expanded or shrunk.
Syntax
dbSizing -size sizeValue -figs figures [-layer layer]
[-purpose purpose] [-deloldobj 0|1] [-truncate
floatValue] [-convert 0|1] [-keepOrthogonal 0|1] [absolute 0|1]
Returns
A list of figure identifiers if successful; otherwise, returns 0.
Arguments
238
Argument
Description
-absolute 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Multiply the truncate value by sizing value.
0 : Do not multiply any truncate value.
-convert 0|1
Valid values: Boolean values, 0 and 1.
1 : Convert the round path to polygon before sizing.
This is valid for round path only.0 : Do not convert the
round path to polygon before sizing.
-deloldobj 0|1
Specify the switch mode for object deletion.
Valid values: Boolean values, 0 and 1 (default=0).
1 : Delete original figures.
0 : Do not delete original figures.
-figs figures
Specify the list of figure identifiers.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Argument
Description
-keepOrthogonal 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Keep orthogonal edges.
0 : Cutting acute angle by its bisection regardless of
the vertical or horizontal edges.
-layer layer
Specify the layer number (0-255) or layer name
(default=the layer where the figure exists.)
If -layer is specified, the results are placed on it after
the sizing operation. If -layer is not specified, the
results of these objects are placed to their original
layers.
-purpose purpose
Specify the purpose number (0-255) or purpose name
(default=drawing).
-size sizeValue
Specify the size of the expanding or shrinking sides.
Valid value: a floating number.
-truncate floatValue
Specify a value to cut out the sharp angle.
Valid value: a floating number, larger than 0.
Examples
# Example 1
# Delete the original figures
set cvId [dbOpenCV -lib cpu -cell cpu]
set figList [dbTraverse -cv $cvId -layer PWELL -shapeOnly 1]
dbSizing -size 1.0 -figs $figList
# Example 2
# Keep the original figures
set cvId [dbOpenCV -lib cpu -cell cpu]
set figList [dbTraverse -cv $cvId -layer PWELL -shapeOnly 1]
dbSizing -size -1.25 -figs $figList -deloldobj 0
# Example 3
# Put the results to layer THIN and keep the original figures
set cvId [dbOpenCV -lib cpu -cell cpu]
set figList [dbTraverse -cv $cvId -layer PWELL -shapeOnly 1]
dbSizing -size 1.0 -figs $figList -layer THIN \
-purpose drawing -deloldobj 0
Laker³ Tcl Reference Manual
K-2015.06
239
Chapter 4: Database Extensions
Figure Manipulation
# Example 4
set cvId [dbOpenCV -lib cpu -cell cpu]
set figList [dbTraverse -cv $cvId -layer MET1 -shapeOnly 1]
dbSizing -size 2.0 -figs $figList -layer MET2 -deloldobj 0 \
-truncate 1.0 -convert 1
# Example 5
dbSizing -size 0.5 -figs [lakerGetSelSet] -layer MET2 \
-deloldobj 0 -truncate 1 -keepOrthogonal 1 -absolute 1 -convert 1
See Also
dbLayerGen
lakerBoolean
lakerLayerGen
Layout Window: Edit > Boolean
Layout Window: Edit > Others > Layer Gen
dbSmashInst
The dbSmashInst command flattens the number of levels of instances,
including Tcl PCells, MCells, arrays and leaf cells as a polygon data, based on
the specified level.
Syntax
dbSmashInst -inst instId [-level level][-smashArrayInst 0|1]
Returns
A list of object identifiers if successful; otherwise, returns 0.
Arguments
240
Argument
Description
-inst instId
Specify the instance identifier.
-level level
Specify the number of design hierarchy levels to be
smashed.
Valid value: a positive integer, 1-50 (default=1).
-smashArrayInst 0|1
Specify whether to smash an instance, array, or MCell.
Valid value: Boolean values, 0 and 1 (default=0).
1 : Smash instances, arrays, or MCells. All array
instances are smashed when this is specified.
0 : Do not smash instances, arrays, or MCells.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Examples
set pMyCVId [dbOpenCV -lib libraryA -cell cell1]
set pInst [dbCreateInst -cv $pMyCVId -lib libraryA \
-cell cell2 -point (0,0)]
set pShapes [dbSmashInst -inst $pInst -level 49]
puts "shape list: $pShapes"
See Also
lakerSmashObj
Layout Window: Edit > Smash
dbSnapToGrid
The dbSnapToGrid command returns an on-grid coordinate if a coordinate
can be snapped to an on-grid coordinate.
Syntax
dbSnapToGrid -cv cellviewId -coord coordinate
Returns
An on-grid coordinate if successful; otherwise, returns nothing.
Arguments
Argument
Description
-coord coordinate
Specify the coordinate.
Valid value: a floating number.
-cv cellviewId
Specify the cell view identifier.
Examples
dbSnapToGrid -cv [set cvId [dbOpenCV -lib cpu -cell cpu]] \
-coord 1.234678
dbSnapToGrid -cv $cvId -coord [expr 10*cos(3.1415926/4)]
dbTransformBBox
The dbTransformBBox command returns a bounding box if the
transformation can be applied on a bounding box.
Laker³ Tcl Reference Manual
K-2015.06
241
Chapter 4: Database Extensions
Figure Manipulation
Syntax
dbTransformBBox -bbox bBox [-orient orientation] offsetPoint offset [-mag magnification]
Returns
A bounding box if successful; otherwise, returns 0.
Arguments
Argument
Description
-bbox bBox
Specify the bounding box in one of the following
formats:
(a, b) (c, d), a b c d, or {{a b} {c d}}.
-mag magnification
Specify the magnification of the transformation.
Valid value: a floating number (default=1.0).
-offsetPoint offset
Specify the offset point of the transformation in one of
the following formats: (a, b), a b, or {a b}.
-orient orientation
Specify the orientation of the transformation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
Examples
dbTransformBBox -bbox (0,0) (5,10) -offsetPoint (5,5)
dbTransformBBox -bbox 0 0 5 10 -offsetPoint (5,5) -orient R90
dbTransformBBox -bbox [dbGet -obj $cvId -attr BBox] \
-offset 0 0 -orient R180
dbTransformPoint
The dbTransformPoint command returns a point if the transformation can
be applied on a point.
Syntax
dbTransformPoint -point point [-orient orientation] offsetPoint offset [-mag magnification]
Returns
A point if successful; otherwise, returns 0.
242
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Arguments
Argument
Description
-mag magnification
Specify the magnification of the transformation.
Valid value: a floating number (default=1.0).
-offsetPoint offset
Specify the offset point of the transformation in one of
the following formats: (a, b), a b, or {a b}.
-orient orientation
Specify the orientation of the transformation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
-point point
Specify the desired point in one of the following formats:
(a, b), a b, or {a b}.
Examples
dbTransformPoint -point (5,10) -offsetPoint (5,5)
dbTransformPoint -point 5 10 -offsetPoint (5,5) -orient R90
dbTraverse
The dbTraverse command returns a list of identifiers or a list of lists if it can
get the objects, whose bounding boxes overlap the specified bounding box, and
can get the extra information associated with these objects with the top cell
view.
When the -instOnly and -attachPoint arguments are both specified, the
same array instance identifier and the origin point of different array instances
are returned. For example, when traversing the cell view with a 1x2 array:
dbTraverse -cv $cvId -instOnly 1 -attachPoint 1
# Value returned:
# 0x123456 {0,0}
0x123488
{0,0}
# 0x123488
{100,0}
# arrayId arrOrigin arrInst[0,0] origin
# arrInst[0,1] origin
When the -instOnly and -attachBBox arguments are both specified, the
same array instance identifier and the bounding box of different array instances
are returned. For example, when traversing the cell view with a 1x2 array:
dbTraverse -cv $cvId -instOnly 1 -attachBBox 1
# Value returned:
Laker³ Tcl Reference Manual
K-2015.06
243
Chapter 4: Database Extensions
Figure Manipulation
# 0x123456 {{0,0}{200,100}} 0x123488 {{0,0}{100,100}}
# 0x123488 {{100,0}{200,100}}
# arrayId arrBBox arrInst[0,0] bbox arrInst[0,1] bbox
When the -attachOutlinePoint and -instOnly arguments are both
specified, the same array instance identifier and the origin point of different
array instances are returned. For example, when traversing the cell view with a
1x2 array:
dbTraverse -cv $cvId -instOnly 1 -attachOutlinePoint 1
# Value returned:
# 2a971d9100 {{0.000 0.000} {0.000 10.000}
# {20.000 10.000} {20.000 0.000}} 2a971d9d28
# {{0.000 0.000} {0.000 10.000} {10.000 10.000}
# {10.000 0.000}} 2a971d9d28 {{10.000 0.000}
# {10.000 10.000} {20.000 10.000} {20.000 0.000}}
# arrayId_outline_points_of_bbox
arrInst[0,0]_outline_points_of_bbox
# arrInst[0,1]_outline_points_of_bbox
The attach preference is as follows:
toAttachBBox > toAttachPoint > toAttachOutlinePoint
For example, when -toAttachBBox 1 and -toAttachOutlinePoint 1
are specified at the same time, -toAttachBBox is set as 1, but toAttachOutlinePoint is set as 0.
Syntax
dbTraverse -cv cellviewId [-cbFun callBackFunc] [-bbox bBox]
[-layer layer] [-purpose purpose] [-startLevel level1]
[-stopLevel level2] [-trueOverlap 0|1] ([-shapeOnly 0|1]
| [-instOnly 0|1]) [-attachBBox 0|1] [-attachPoint 0|1]
[-disableArrayInst 0|1] [-attachOutlinePoint 0|1 [-side
sideNum]]
Returns
One of the following values is returned:
244
■
A list of identifiers. Neither -attachBBox nor -attachPoint is specified.
■
A list of lists (each of which is composed of an identifier and a bounding box)
when the -attachBBox option is specified.
■
A list of lists (each of which is composed of an identifier and a list of points)
when the -attachPoint option is specified.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Arguments
Argument
Description
-attachBBox 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Compute and attach the bounding box of the figure
related to the top coordinate of the cell view.
0 : Return the figure identifier only.
-attachOutlinePoint 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Compute and attach the outline coordinates. The
attachment depends on the following figure types:
■
When the figure is an instance or an array, the list of
outline points is the object’s bounding box.
■
When the figure is a polygon, rectangle, ellipse,
path, doughnut, or arc, the outline points of the
figure are attached.
■
When the figure is a line, the points where it passes
are attached.
■
If the figure is a label, the original point of the label
is attached.
■
If the figure is dot, its center point is attached.
0 : Return the figure identifier only.
-attachPoint 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Compute and attach the list of points related to the
top coordinate of the cell view. The attachment
depends on the following figure types:
■
When the figure is an instance, array, rectangle,
ellipse, or arc, the list of points is the object’s
bounding box.
■
When the figure is a polygon, the points of the
polygon vertices are attached.
■
When the figure is a line or path, the points where it
passes are attached.
■
When the figure is a label, the original point of the
label is attached.
■
When the figure is a dot or doughnut, its center point
is attached.
0 : Return the figure identifier only.
Laker³ Tcl Reference Manual
K-2015.06
245
Chapter 4: Database Extensions
Figure Manipulation
246
Argument
Description
-bbox bBox
Specify the bounding box (BBox) in one of the following
formats:
(a, b) (c, d), a b c d, or {{a b} {c d}}. The
default is cell view BBox.
-cv cellviewId
Specify the cell view identifier.
-cbFun callBackFunc
Specify a user-defined Tcl procedure for callback
results. The procedure syntax is: proc
callBackFunc {p_pCallData } { ... }, where
p_pCallData is the return value.
-disableArrayInst 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Disable the dbArrayInst report in the result.
0 : Enable the dbArrayInst report in the result.
-instOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Return instances only. The -shapeOnly and
-instOnly arguments cannot be specified
simultaneously. The same array instance identifier can
be returned multiple times. For example, to traverse the
cell view with a 1x2 array:dbTraverse -cv $cvId
-instOnly 1
0x123456
0x123488
0x123488
(arrayId) arrInst[0,0] arrInst[0,1]0 :
No restriction on the above traversing.
-layer layer
Specify the layer number or layer name (default=all
layers).
-purpose purpose
Specify the purpose number or purpose name
(default=all purposes).
-shapeOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Return shapes only. The -shapeOnly and
-instOnly arguments cannot be specified
simultaneously.
0 : No restriction on the above traversing.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Argument
Description
-side sideNum
Specify the number of sides for a shape/object, or the
number of points for an arc, ellipse, or doughnut
shapes.
Valid value: a positive integer (default=32).
-startLevel level1
Specify the starting level.
Valid value: a positive integer (default=0).
-stopLevel level2
Specify the stopping level.
Valid value: a positive integer (default=0).
-trueOverlap 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Return the objects that are totally covered by the
specified bounding box only.
0 : No restriction on the above traversing.
This argument is invalid when the -instOnly or
-shapeOnly argument is specified.
Examples
#Example 1
#Define callback procedure
proc traverseCB { p_pCallData } {
if {"Instance" == [dbGet -obj $p_pCallData -attr type]} {
if {"contact" == [dbGet -obj $p_pCallData -attr cellName]} {
#.....
puts $p_pCallData
}
}
}
#Open processing CV
set cvId [dbOpenCV -lib CPU -cell CPU]
#Call dbTraverse with callback style
dbTraverse -cv $cvId -cbFun traverseCB -instOnly 1
#Example 2
dbTraverse -cv $cvId1
dbTraverse -cv $cvId1 -layer MET1 -shapeOnly 1 \
-bbox (-100,-100) (100,100)
dbTraverse -cv $cvId2 -instOnly 1
Laker³ Tcl Reference Manual
K-2015.06
247
Chapter 4: Database Extensions
Figure Manipulation
### an example and its result
### program begin
set cv1 [dbOpenCV -lib cpu -cell k1 -mode create]
set cv2 [dbOpenCV -lib cpu -cell k2 -mode create]
set cv3 [dbOpenCV -lib cpu -cell k3 -mode create]
set cv4 [dbOpenCV -lib cpu -cell k4 -mode create]
puts "rect: [dbCreateRect -cv $cv1 -bbox 0 0 1 1 -layer 1] on cv1"
puts "rect: [dbCreateRect -cv $cv2 -bbox 0 0 1 1 -layer 1] on cv2"
puts "rect: [dbCreateRect -cv $cv3 -bbox 0 0 1 1 -layer 1] on cv3"
puts "rect: [dbCreateRect -cv $cv4 -bbox 0 0 1 1 -layer 1] on cv4"
puts "inst: [dbCreateInst -cv $cv1 -master $cv2 -point 1 1]"
puts "inst: [dbCreateInst -cv $cv2 -master $cv3 -point 1 1]"
puts "inst: [dbCreateInst -cv $cv3 -master $cv4 -point 1 1]"
puts "\n\nResult:\n"
puts "[dbTraverse -cv $cv4 -attachBBox 1 -stopLevel 0 \
-shapeOnly 1] \n"
puts "[dbTraverse -cv $cv3 -attachBBox 1 -stopLevel 1 \
-shapeOnly 1] \n"
puts "[dbTraverse -cv $cv2 -attachBBox 1 -stopLevel 2 \
-shapeOnly 1] \n"
puts "[dbTraverse -cv $cv1 -attachBBox 1 -stopLevel 3 \
-shapeOnly 1] \n"
### program end
### result
rect: 30a850 on cv1
rect: 30a450 on cv2
rect: 30a050 on cv3
rect: 309c50 on cv4
inst: 30a890
inst: 30a490
inst: 30a090
Result:
{309c50 {{0 0} {1 1}}}
{30a050 {{0 0} {1 1}}} {309c50 {{1 1} {2 2}}}
{30a450 {{0 0} {1 1}}} {30a050 {{1 1} {2 2}}} {309c50 {{2 2} {3 3}}}
{30a850 {{0 0} {1 1}}} {30a450 {{1 1} {2 2}}} {30a050 {{2 2} {3
3}}} {309c50 {{3 3} {4 4}}}
# Example 3
# Assume that 1 array(1*2), 1 instance, 1 ellipse, and 1 dot are
# in library BB
dbOpenLib -lib BB
set cvId [dbOpenCV -lib BB -cell Top -view layout -mode create]
set objlist [dbTraverse -cv $cvId -attachOutlinePoint 1 -side 50]
foreach obj $objlist {
set id [lindex $obj 0]
set tp [dbGet -obj $id -attr Type]
puts "Type= $tp"
puts "\tobj= $obj\n"
}
dbCloseCV -cv $cvId
dbCloseLib -lib BB
248
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
# The traversed results are:
# Type= Array
# obj= 2a971d9100 {{0.000 0.000} {20.000 10.000}}
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
Type= ArrayInst
obj= 2a971d9d28 {{10.000 0.000} {10.000 10.000} {20.000 10.000}
{20.000 0.000}}
Type= ArrayInst
obj= 2a971d9d28 {{10.000 0.000} {10.000 10.000} {20.000 10.000}
{20.000 0.000}}
Type= Instance
obj= 2a971d9d00 {{-790.000 -490.000} {-790.000 710.000}
{810.000 710.000} {810.000 -490.000}}
Type= Ellipse
obj= 2a971d9e00 {{-600.000 650.000} {-601.000 656.000}
{-603.000 662.000} {-607.000 668.000}
{-612.000 674.000} {-619.000 679.000}
{-627.000 684.000} {-636.000 689.000}
{-646.000 692.000} {-657.000 695.000}
{-669.000 698.000} {-681.000 699.000}
{-694.000 700.000} {-706.000 700.000}
{-719.000 699.000} {-731.000 698.000}
{-743.000 695.000} {-754.000 692.000}
{-764.000 689.000} {-773.000 684.000}
{-781.000 679.000} {-788.000 674.000}
{-793.000 668.000} {-797.000 662.000}
{-799.000 656.000} {-800.000 650.000}
{-799.000 644.000} {-797.000 638.000}
{-793.000 632.000} {-788.000 626.000}
{-781.000 621.000} {-773.000 616.000}
{-764.000 611.000} {-754.000 608.000}
{-743.000 605.000} {-731.000 602.000}
{-719.000 601.000} {-706.000 600.000}
{-694.000 600.000} {-681.000 601.000}
{-669.000 602.000} {-657.000 605.000}
{-646.000 608.000} {-636.000 611.000}
{-627.000 616.000} {-619.000 621.000}
{-612.000 626.000} {-607.000 632.000}
{-603.000 638.000} {-601.000 644.000}}
Type= Dot
obj= 2a971da000 {50.000 -50.000}
getBBoxBottom
The getBBoxBottom command returns a coordinate if the y-axis coordinate of
the lower left point of a bounding box can be obtained.
Syntax
getBBoxBottom -bbox bBox
Laker³ Tcl Reference Manual
K-2015.06
249
Chapter 4: Database Extensions
Figure Manipulation
Returns
A coordinate if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
Specify the bounding box in one of the following formats: (a,
b) (c, d), a b c d, or {{a b} {c d}}.
Examples
getBBoxBottom -bbox [dbGet -obj $cvId -attr BBox]
getBBoxBottom -bbox (0,0)(1,3)
getBBoxCenter
The getBBoxCenter command returns a planar pointer if the center point of a
bounding box can be obtained.
Syntax
getBBoxCenter -bbox bBox
Returns
A planar pointer if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
Specify the bounding box in one of the following formats: (a,
b) (c, d), a b c d, or {{a b} {c d}}.
Examples
getBBoxCenter -bbox [list [list 0 0] [100 100]]
getBBoxCenter -bbox [dbGet -obj $cvId -attr BBox]
getBBoxLeft
The getBBoxLeft command returns a coordinate if the x-coordinate of the
lower left point of a bounding box can be obtained.
Syntax
getBBoxLeft -bbox bBox
250
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Figure Manipulation
Returns
A coordinate if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
Specify the bounding box in one of the following formats: (a,
b) (c, d), a b c d, or {{a b} {c d}}.
Examples
getBBoxLeft -bbox [dbGet -obj $cvId -attr BBox]
getBBoxLeft -bbox (1,0)(5,3)
getBBoxLeftBottom
The getBBoxLefBottom command returns a planar pointer if the bottom left
corner point of a bounding box can be obtained.
Syntax
getBBoxLeftBottom -bbox bBox
Returns
A planar pointer if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
Specify the bounding box in one of the following formats: (a,
b) (c, d), a b c d, or {{a b} {c d}}.
Examples
set cvId [dbOpenCV -lib [dbOpenLib -lib CPU -cell CPU]
getBBoxLeftBottom -bbox [dbGet -obj $cvId -attr BBox]
getBBoxRight
The getBBoxRight command returns a coordinate if the x-coordinate of the
upper right point of a bounding box can be obtained.
Syntax
getBBoxRight -bbox bBox
Laker³ Tcl Reference Manual
K-2015.06
251
Chapter 4: Database Extensions
Figure Manipulation
Returns
A coordinate if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
Specify the bounding box in one of the following formats: (a,
b) (c, d), a b c d, or {{a b} {c d}}.
Examples
getBBoxRight -bbox [dbGet -obj $cvId -attr BBox]
getBBoxRight -bbox (0,0)(5,3)
getBBoxRightTop
The getBBoxRightTop command returns a planar pointer if the top right
corner point of a bounding box can be obtained.
Syntax
getBBoxRightTop -bbox bBox
Returns
A planar pointer if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
Specify the bounding box in one of the following formats: (a,
b) (c, d), a b c d, or {{a b} {c d}}.
Examples
getBBoxRightTop -bbox [dbGet -obj $cvId -attr BBox]
getBBoxTop
The getBBoxTop command returns a coordinate if the y-coordinate of the
upper right point of a bounding box can be obtained.
Syntax
getBBoxTop -bbox bBox
252
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Accessory Objects
Returns
A coordinate if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
Specify the bounding box in one of the following formats: (a,
b) (c, d), a b c d, or {{a b} {c d}}.
Examples
getBBoxTop -bbox [dbGet -obj $cvId -attr BBox]
getBBoxTop -bbox (-1,0)(5,3)
Accessory Objects
The accessory objects include Property and Group, which are explained later
in the following sections.
Property is used to keep additional information of the attached dbObject. For
example, you can create a property with specified property name, data type
and value on a dbObject, and then query the property from this dbObject.
Group is a container that groups a set of dbObjects. Groups can be created
and dbObjects can be created to one or many groups. Group can be used to
build a relationship for some dbObjects which should have the same attributes.
Group members can be queried from one group, and the groups that the
dbObject belongs to can also be queried.
The relationship of accessory objects is illustrated in the following figure.
Laker³ Tcl Reference Manual
K-2015.06
253
Chapter 4: Database Extensions
Property
Figure 2
Accessory Objects
Property
This section describes the Tcl commands that are related to properties. These
commands include:
■
dbCellPro
■
dbCopyProp
■
dbCreateProp
■
dbDeletePropByName
■
dbFindProp
dbCellPro
The dbCellPro command assigns a string (cell property) to a cell view of the
specified library so that the LefOut process can refer to the string and dump the
information to the CLASS token.
254
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Property
Syntax
dbCellPro -lib libName -cell cellName -view {abs | layout |
abs layout} -property {None -attr None | COVER -attr
{None|BUMP} RING -attr None| BLOCK -attr {None | BLACKBOX}
PAD -attr {None | INPUT | OUTPUT | INOUT | POWER | SPACER
| AREAIO} CORE -attr {None | FEEDTHRU | TIEHIGH | TIELOW
| SPACER | ANTENNACELL} ENDCAP -attr {PRE | POST | TOPLEFT
| TOPRIGHT | BOTTOMLEFT | BOTTOMRIGHT} SITE -attr
{coresite | User-defined Site} SYMMETRY -attr {X | Y | X
Y | Any}} -site {coresite | User-defined Site}
Returns
None
Arguments
Argument
Description
-attr propertyType
Specify the attribute of the property type.
-cell cellName
Specify the cell name of the specified cell view.
-lib libName
Specify the library name or library identifier.
-property
propertyName
Specify the name of the property type.
-site
{coresite|User-defined Site}
Specify the site name.
Valid values: coresite, and any user-defined
site (default=coresite).
-view
{abs | layout | abs layout}
Specify the cell view to be updated with the cell
property.
Valid values: abs, layout, and abs layout
(default=abs).
Examples
dbCellPro -lib demo -cell cell1 -property RING -attr None
See Also
lakerCellPro
Layout Window: Cell > Cell Type
Laker³ Tcl Reference Manual
K-2015.06
255
Chapter 4: Database Extensions
Property
dbCopyProp
The dbCopyProp command returns 1 if all properties can be copied from one
object to another.
Syntax
dbCopyProp -obj1 objId1 -obj2 objId2
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-obj1 objId1
Specify the identifier of the source object.
-obj2 objId2
Specify the identifier of the destination object.
Examples
set rectId [dbCreateRect -cv $cvId -layer 1 -bbox 1 1 3 5]
set pathId [dbCreatePath -cv $cvId -layer 1
-path (0,0)(1,1)(2,1)(3,0) -width 0.1]
dbCreateProp -obj $rectId -name p1 -type Integer -value 1
dbCreateProp -obj $rectId -name p2 -type Float -value 1.2
dbCopyProp -obj1 $rectId -obj2 $pathId
dbCopyProp -obj1 $rectId -obj2 $cvId
dbCreateProp
The dbCreateProp command returns a property identifier if the property can
be created on an object.
When -replace 1 is specified, the existing property is replaced by the new
property if their names are similar. When -type HierProp is specified, no
value should be specified to the -value argument.
Syntax
dbCreateProp -obj objId -name propName -type propType -value
propValue [-displayed 0|1] [-replace 0|1] [-appType
typeName]
Returns
Property Identifier if successful; otherwise, returns 0.
256
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Property
Arguments
Argument
Description
-appType typeName
Specify the application type for -type AppProp. Any
name can be entered.
-displayed 0|1
Specify the switch mode for display.
Valid values: Boolean values, 0 and 1 (default=0).
-name propName
Specify the property name.
-obj objId
Specify the object identifier.
-replace 0|1
Specify the switch mode for replacement.
Valid values: Boolean values, 0 and 1 (default=0).
-type propType
Specify the property type.
Valid values: String, Int, Float, DBId, Boolean,
Time, LpPair, AppProp, and UserPair.
-value propValue
Specify the property value. This value depends on the
-type argument.
Examples
dbCreateProp -obj $cvId -name p1 -type Int -value 1
dbCreateProp -obj $cvId -name p2 -type Boolean -value 0
dbCreateProp -obj $cvId -name p1 -type String -value string1
-replace 1
# Open any existing design with a mode
set cv [dbOpenCV -lib l1 -cell cell1 -view layout -mode a]
# The return value is oa:0x2a9685f39a
# Create oaAppProp
set p [dbCreateProp -obj $cv -name testAppProp -type AppProp
-appType testApp -value appvalue]
# The return value is oa:0x2a9685f01a
# Use
dbGet
dbGet
dbGet
dbGet to get atributes
-obj $p -attr Name testAppProp
-obj $p -attr Value appvalue
-obj $p -attr AppType testApp
Laker³ Tcl Reference Manual
K-2015.06
257
Chapter 4: Database Extensions
Property
dbDeletePropByName
The dbDeletePropByName command returns 1 if the property can be deleted
by giving a property name.
Syntax
dbDeletePropByName -obj objId -name propName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-name propName
Specify the property name.
-obj objId
Specify the object identifier.
Examples
dbDeletePropByName -obj $cvId -name IntProp1
dbDeletePropByName -obj $instId -name FProp2
dbFindProp
The dbFindProp command returns a property identifier if the property can be
found by giving a property name.
Syntax
dbFindProp -obj objId -name propName
Returns
Property identifier if successful; otherwise, returns 0.
Arguments
258
Argument
Description
-name propName
Specify the property name.
-obj objId
Specify the object identifier.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Property
Examples
# Example 1
dbFindProp -obj $instId -name FProp2
dbFindProp -obj $cvId -name IntProp1
# Example 2
# please use the technology file under demo directory and
# make sure the file name is changed to “laker.tf”
lakerNewLib -lib PROP -tech laker.tf
# create a library “PROP” with tech file “laker.tf”
# value returned: null
set libId [dbOpenLib -lib PROP ]
# open the library created.
# value returned: an id , ex “264780c”
set cvId [dbOpenCV -lib $libId -cell cell -mode create
-view layout]
# create a cell in library “PROP” with layout view
# value returned: an id , ex “264680c”
set rect1 [dbCreateRect -cv $cvId -layer 16 -bbox (1,1) (5,5) ]
set rect2 [dbCreateRect -cv $cvId -layer 16 -bbox (6,1) (11,5) ]
set rect3 [dbCreateRect -cv $cvId -layer 16 -bbox (16,1) (21,5) ]
# create a rectagle
# value returned: an id , ex “2646847”
set pathId01 [dbCreatePath -cv $cvId -layer 16 -width 1
-point (0,0) (10,0) ]
set pathId02 [dbCreatePath -cv $cvId -layer 16 -width 1
-point (0,10) (10,10) ]
set pathId03 [dbCreatePath -cv $cvId -layer 16 -width 1
-point (0,20) (10,20) ]
# create a path
# value returned: an id , ex “2646875”
dbCreateProp -obj $rect1 -name P1 -type Integer -value 1
dbCreateProp -obj $rect2 -name P2 -type Boolean -value 0
dbCreateProp -obj $rect2 -name P3 -type String -value text
-replace 1
# create a property
# value returned: an id , ex “2646875”
set hpId1 [dbCreateProp -obj $pathId01 -name HP1 -type HierProp ]
set hpId2 [dbCreateProp -obj $pathId02 -name HP2 -type HierProp ]
# create a hier property
Laker³ Tcl Reference Manual
K-2015.06
259
Chapter 4: Database Extensions
Group
# value returned: an id , ex “2646875”
dbCreateProp -obj $hpId1 -type Integer -value 1
dbCreateProp -obj $hpId2 -type String -value h_text
dbFindProp -obj $hpId1 -name HP1
# save cell
# value returned: 1
dbSaveCV -cv $cvId
# close cell
# value returned: 1
dbCloseCV -cv $cvId
# close library
# value returned: 1
dbCloseLib -lib $libId
#
#
#
#
#
Example 3
To distinguish the pin created by Soft Pin Realizer and Create Pin
attach a property "SP_Realized" to the extra pin shapes created by
Soft Pin Realizer, and adopt the following script to judge if the
shape is created by that feature.
proc IsSoftPinRealized { FigId } {
set Property [dbFindProp -obj $FigId -name SP_Realized]
if { $Property == 0 } {
return 0;
} else {
set Value [dbGet -obj $Property -attr Value]
set Type [dbGet -obj $Property -attr ValueType]
if { $Value == 1 && $Type == "Boolean" } {
return 1;
} else {
return 0;
}
}
}
Group
This section describes the Tcl commands that are related to groups. These
commands include:
260
■
dbAddObjectToGroup
■
dbCreateGroup
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Group
■
dbDeleteGroupByName
■
dbDeleteObjectFromGroup
■
dbFindGroup
■
dbMoveMember
dbAddObjectToGroup
The dbAddObjectToGroup command returns a member identifier if the
object can be added to a group.
Syntax
dbAddObjectToGroup -obj objId -group groupId
Returns
A member identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-group groupId
Specify the group identifier.
-obj objId
Specify the object identifier.
Examples
dbAddObjectToGroup -obj $pathId -group $groupId
dbAddObjectToGroup -obj $rectId -group $groupId
dbCreateGroup
The dbCreateGroup command returns a group identifier if the group can be
created.
When -ordered 1 and -type Set are specified, the order of group members
may be changed.
When the -uniqueName 1 is specified, this allows the group to share the
same group name with other groups.
Syntax
dbCreateGroup -cv cellviewId -name groupName -type groupType
[-ordered 0|1] [-uniqueName 0|1]
Laker³ Tcl Reference Manual
K-2015.06
261
Chapter 4: Database Extensions
Group
Returns
A group identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-name groupName
Specify the group name.
-ordered 0|1
Specify the switch mode for the order of group members.
Valid values: Boolean values, 0 and 1 (default=0).
-type groupType
Specify the group type.
Valid values: Collect and Set (default=Set).
-uniqueName 0|1
Specify the switch mode for unique names.
Valid values: Boolean values, 0 and 1 (default=0).
Examples
dbCreateGroup -cv $cvId -name G1 -type Set
dbCreateGroup -cv $cvId -name G2 -type Collect
dbCreateGroup -cv $cvId -name G3 -type Set -ordered 1 -uniqueName 1
dbDeleteGroupByName
The dbDeleteGroupByName command returns 1 if the group can be deleted
by giving a group name.
Syntax
dbDeleteGroupByName -cv cellviewId -name groupName
Returns
1 if successful; otherwise, returns 0.
Arguments
262
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-name groupName
Specify the group name.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Group
Examples
dbDeleteGroupByName -cv $cvId -name G1
dbDeleteObjectFromGroup
The dbDeleteObjectFromGroup command returns 1 if the object can be
deleted from its group.
Syntax
dbDeleteObjectFromGroup -obj objId -group groupId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-group groupId
Specify the group identifier.
-obj objId
Specify the object identifier which belongs to the group.
Examples
dbAddObjectToGroup -obj $pathId -group $groupId
dbAddObjectToGroup -obj $rectId -group $groupId
...
dbDeleteObjectFromGroup -obj $pathId -group $groupId
dbFindGroup
The dbFindGroup command returns group identifier if the object can be found
from its group.
Syntax
dbFindGroup -cv cvId -name groupName
Returns
Group identifier if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
263
Chapter 4: Database Extensions
Group
Arguments
Argument
Description
-cv cvId
Specify the cell view identifier.
-name groupName
Specify the group name.
Examples
set groupId [dbFindGroup -cv $cvId -name "Group1"]
dbMoveMember
The dbMoveMember command returns 1 if the order of a member can be
changed in a group.
Syntax
dbMoveMember -member1 memId1 [-member2 memId2]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-member1 memId1
Specify the moving member.
-member2 memId2
Specify the member before which memId1 is placed
(default=the first member in the group).
Examples
# Use the technology file under "demo" directory and
# make sure the file name is changed to "laker.tf"
lakerNewLib -lib GROUP -tech laker.tf
# create a library "GROUP" with tech file "laker.tf"
# value returned: null
set libId [dbOpenLib -lib GROUP ]
# open the library created.
# value returned: an id , ex "264780c"
set cvId [dbOpenCV -lib $libId -cell cell -mode create
-view layout]
# create a cell in library "GROUP" with layout view
# value returned: an id , ex "264680c"
264
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Group
set rect1 [dbCreateRect -cv $cvId -layer 16 -bbox (1,1) (5,5) ]
# create a rectagle
# value returned: an id , ex "2646844"
set rect2 [dbCreateRect -cv $cvId -layer 16 -bbox (6,1) (11,5) ]
# create a rectagle
# value returned: an id , ex "2646847"
set pathId01 [dbCreatePath -cv $cvId -layer 16 -width 1
-point (0,0) (10,0) ]
# create a path
# value returned: an id , ex "264684c"
set pathId02 [dbCreatePath -cv $cvId -layer 16 -width 1
-point (0,10) (10,10) ]
# create a path
# value returned: an id , ex "264684a"
set pathId03 [dbCreatePath -cv $cvId -layer 16 -width 1
-point (0,20) (10,20) ]
# create a path
# value returned: an id , ex "2646875"
set gId1 [dbCreateGroup -cv $cvId -name G1 -type Set]
# create a group
# value returned: an id , ex "2646875"
set gId2 [dbCreateGroup -cv $cvId -name G2 -type Collect
-ordered 1]
# create a group
# value returned: an id , ex "2646875"
dbAddObjectToGroup -obj $rect1 -group $gId1
# add object to a group
# value returned: an id , ex "2646875"
dbAddObjectToGroup -obj $rect2 -group $gId1
# add object to a group
# value returned: an id , ex "2646875"
set memId1 [dbAddObjectToGroup -obj $pathId01 -group $gId2]
# add object to a group
# value returned: an id , ex "2646875"
set memId2 [dbAddObjectToGroup -obj $pathId02 -group $gId2]
# add object to a group
# value returned: an id , ex "2646875"
set memId3 [dbAddObjectToGroup -obj $pathId03 -group $gId2]
# add object to a group
# value returned: an id , ex "2646875"
dbGet -obj $gId2
# value returned: ex# Type: Group DeleteWhen: Never GroupType: Collect \
# IsOrdered: 1 IsUniqueName: 0 \
# Members: 267493c 2674954 267496c \
# Name: G2 Objects: 267488c 26748a4 26748bc
Laker³ Tcl Reference Manual
K-2015.06
265
Chapter 4: Database Extensions
Logic Objects
dbMoveMember -member1 $memId3
# change sequence in an ordered group
# value returned: 1
dbMoveMember -member1 $memId2 -member2 $memId3
# change sequence in an ordered group
# value returned: 1
dbDeleteObjectFromGroup -obj $pathId01 -group $gId2
# remove object from group
# value returned: 1
dbDeleteGroupByName -cv $cvId -name G1
# remove a group name
# value returned: 1
dbSaveCV -cv $cvId
# save cell
# value returned: 1
dbCloseCV -cv $cvId
# close cell
# value returned: 1
dbCloseLib -lib $libId
# close library
# value returned: 1
Logic Objects
This section describes the Tcl commands that are related to logic objects.
These commands include:
266
■
dbCreateBusNet
■
dbCreateInstPin
■
dbCreateInstPort
■
dbCreateNet
■
dbCreatePin
■
dbCreatePort
■
dbCreateSingleNet
■
dbDeleteAllNet
■
dbDeviceSetParameter
■
dbFindNet
■
dbFindPort
■
dbGenPin
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Logic Objects
■
dbGetGlobalNet
■
dbMakeBusNet
■
dbCreateSingleNet
dbCreateBusNet
The dbCreateBusNet command returns a net identifier if the bus net in the
specified cell view can be created.
Syntax
dbCreateBusNet -cv cellViewId -name netName -leftIdx n1 rightIdx n2 [-step n3]
Returns
A net identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-leftIdx n1
Specify the left index of bus nets. n1 is an integer.
-name netName
Specify the net name.
-rightIdx n2
Specify the right index of bus nets. n2 is an integer.
-step n3
Specify the interval size of bus nets.
n3 is an integer (default=1).
This argument is valid only if the -leftIdx and
-rightIdx arguments exist.
Examples
# Example 1
dbCreateBusNet -cv $cvId -name G -leftIdx 0 -rightIdx 5
# Example 2
dbCreateBusNet -cv $cvId -name D -leftIdx 0 -rightIdx 6 -step 2
Laker³ Tcl Reference Manual
K-2015.06
267
Chapter 4: Database Extensions
Logic Objects
dbCreateInstPin
The dbCreateInstPin command returns an instance pin identifier if the
specified instance pin can be created. The pin can be specified by its identifier
or by its name.
Syntax
dbCreateInstPin -instPort instPortId (-pin pinId | -name
pinName) [-net netId]
Returns
An instPin (instance pin) identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-instPort instPortId
Specify the identifier of the instance port.
-name pinName
Specify the pin name.
-net netId
Specify the net identifier to which the created instance
pin connects (default=no net).
-pin pinId
Specify the pin identifier.
Examples
## open two cellviews
set mcvId [dbOpenCV -lib cpu -cell c1 -mode edit]
set tcvId [dbOpenCV -lib cpu -cell c2 -mode edit]
## create a net in the master cell view
set netId [dbCreateNet -cv $mcvId -name N]
## create a port and a pin in the master cell view
set portId [dbCreatePort -net $netId -dir Input]
set rectId [dbCreateRect -cv $mcvId -layer 1 -bbox (0,0)(1,1)]
set pinId [dbCreatePin -net $netId -fig $rectId]
##create an instance
set instId [dbCreateInst -cv $tcvId -master $mcvId -point (0,0)]
##create an instance port
set instPortId [dbCreateInstPort -inst $instId -port $portId]
##create a instance pin
dbCreateInstPin -instPort $instPortId -pin $pinId
268
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Logic Objects
dbCreateInstPort
The dbCreateInstPort command returns an instance port identifier if the
specified instance port can be created. The port can be specified by its
identifier or by its name.
Syntax
dbCreateInstPort -inst instId (-port portId | -name portName)
[-net netId]
Returns
An instPort (instance port) identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-inst instId
Specify the instance identifier.
-name portName
Specify the port name on the master cell view.
-net netId
Specify the net identifier to which the created instance
port connects (default=no net).
-port portId
Specify the port identifier.
Examples
set portId1 [dbCreatePort -cv $mcvId -net $netId1 -dir Input]
set portId2 [dbCreatePort -cv $mcvId -net $netId2 \
-name outPort -dir Output]
set instId1 [dbCreateInst -cv $tcvId -master $mcvId \
-point ($x,$y)]
set instId2 [dbCreateInst -cv $tcvId -master $mcvId \
-point ($x+3,$y-3)]
dbCreateInstPort -inst instId1 -port portId1
dbCreateInstPort -inst instId2 -name outPort
dbCreateNet
The dbCreateNet command returns a net identifier if the net can be created.
Laker³ Tcl Reference Manual
K-2015.06
269
Chapter 4: Database Extensions
Logic Objects
■
If -get 1 is specified and a net with netName already exists, then the id of
the existing net is returned. If a net with netName does not exist, a new net
is created and the id of the new net is returned.
■
If -get 0 is specified and a net with netName already exists, then 0 is
returned. If a net with netName does not exist, a new net is created and the
id of the new net is returned.
■
If -declaration 1 is specified, a declaration net is created.
■
If -declaration 0 is specified and a declaration net with netName
already exists, then a new operation net is created. If a declaration net with
netName does not exist, a new declaration net is created before creating a
new operation net.
Syntax
dbCreateNet -cv cellviewId -name netName -get 0|1
[-declaration 0|1] [-leftIdx n1 -rightIdx n2 [-step n3]]
Returns
A net identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-declaration 0|1]
Valid values: Boolean values, 0 and 1 (default=1).
1 : Create a declaration net. See details in Description.
0 : Create a declaration net first and then an operation net.
-get 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Get the net identifier. See details in Description.
0 : Do not get the net identifier.
-leftIdx n1
Specify the left index of bus nets. n1 is an integer.
-name netName
Specify the net name.
-rightIdx n2
Specify the right index of bus nets. n2 is an integer.
-step n3
Specify the interval size of bus nets.
n3 is an integer (default=1).
This argument is valid only if the -leftIdx and
-rightIdx arguments exist.
270
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Logic Objects
Examples
dbCreateNet -cv $cvId -name N
...
dbCreateNet -cv $cvId -name N -get 1
set netId [dbCreateNet -cv $cvId -name tin]
set netId [dbCreateNet -cv $cvId -name tin -declaration 0]
set GNetId [dbCreateNet -cv $cvId -name G -leftIdx 1 \
-rightIdx 6 -step 2]
...
See Also
dbCreatePin
lakerCreatePin
lakerAttribute
Layout Window: Create > Pin
Layout Window: Query > Attribute
symDsgCreatePin
symDsgQueryAttribute
Symbol Editor: Create > Pin
Symbol Editor: Query > Attribute
dbCreatePin
The dbCreatePin command returns a pin identifier if the pin can be created.
Syntax
dbCreatePin -net $netId -fig $figId [-name pinName] [-portDir
PortDir] [-dir accessDirection] [-jointType JointType]
Returns
A pin identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-dir accessDirection
Specify the pin direction.
Valid values: the combination of {Top}, {Bottom},
{Left}, and {Right} (default=all directions, that is,
{Top}{Bottom}{Left}{Right}).
-fig figId
Specify the figure identifier.
Laker³ Tcl Reference Manual
K-2015.06
271
Chapter 4: Database Extensions
Logic Objects
Argument
Description
-jointType JointType
Specify the joint type for the specified pin.
Valid values: Disjointed, Strong, and Weak.
-name pinName
Specify the pin name (default=one sequence number
for all pins on the port).
-net netId
Specify the net identifier.
-portDir PortDir
Specify the port pin type.
Valid values: Input, Output, InputOutput, Jumper,
and Feedthrough (default=Input).
Examples
set rectId [dbCreateRect -cv $cvId -layer 1 -bbox (1,1)(2,2)]
dbCreatePin -net $netId1 -fig $rectId
See Also
dbCreatePort
lakerCreatePin
lakerAttribute
Layout Window: Create > Pin
Layout Window: Query > Attribute
symDsgCreatePin
symDsgQueryAttribute
Symbol Editor: Create > Pin
Symbol Editor: Query > Attribute
dbCreatePort
The dbCreatePort command returns a port identifier if the port can be
created.
Syntax
dbCreatePort -net $netId -dir direction [-name portName]
Returns
A port identifier if successful; otherwise, returns 0.
272
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Logic Objects
Arguments
Argument
Description
-dir direction
Specify the direction of the port.
Valid values: Input, Output, InputOutput, and
Jumper.
-name portName
Specify the port name (default=name of netId).
-net netId
Specify the net identifier.
Examples
dbCreatePort -net $netId1 -dir Input
dbCreatePort -net $netId2 -dir Output -name O
See Also
dbCreatePin
dbCreateNet
lakerCreatePin
lakerAttribute
Layout Window: Create > Pin
Layout Window: Query > Attribute
symDsgCreatePin
symDsgQueryAttribute
Symbol Editor: Create > Pin
Symbol Editor: Query > Attribute
dbCreateSingleNet
The dbCreateSingleNet command returns a net identifier if the single net in
the specified cell view can be created.
Syntax
dbCreateSingleNet -cv cellViewId -name netName
Returns
A net identifier if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
273
Chapter 4: Database Extensions
Logic Objects
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-name netName
Specify the net name.
Examples
# Example 1
dbCreateSingleNet -cv $cvId -name N1
dbDeleteAllNet
The dbDeleteAllNet command returns 1 if all nets in the specified cell view
can be deleted.
Syntax
dbDeleteAllNet -cv cellviewId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
Examples
dbDeleteAllNet -cv $cvId
dbDeviceSetParameter
The dbDeviceSetParameter command sets the value to the specified
parameter and triggers the callback of this paramter.
Syntax
dbDeviceSetParameter -cv cellviewId -inst instName -param
parameterName -value value
Returns
None
274
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Logic Objects
Arguments
Argument
Description
-cv cellViewId
Specify the cell view identifier.
-inst instName
Specify the instance name.
-param parameterName
Specify the parameter name.
-value value
Specify the parameter value.
Examples
dbDeviceSetParameter -cv oa:0x2a978cef1a -inst X1 -param ln \
-value 1
dbFindNet
The dbFindNet command returns a net identifier if the net in the specified cell
view can be found.
Syntax
dbFindNet -cv cellviewId -name netName [-leftIdx num
-rightIdx num [-step num]]
Returns
A net identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-leftIdx num
Specify the left index of bus nets.
Valid value: an integer.
-name netName
Specify the net name.
-rightIdx num
Specify the right index of bus nets.
Valid value: an integer.
Laker³ Tcl Reference Manual
K-2015.06
275
Chapter 4: Database Extensions
Logic Objects
Argument
Description
-step num
Specify the interval size of bus nets.
Valid value: an integer (default=1).
This argument is used only when the -leftIdx and rightIdx exist.
Examples
# Example 1
dbFindNet -cv $cvId -name N1
# Example 2
dbCreateNet -cv $cv -name A
dbCreateNet -cv $cv -name A -declaration 0 -leftIdx 0 -rightIdx 4
dbCreateNet -cv $cv -name B
dbCreateNet -cv $cv -name B -declaration 0 -leftIdx 0 -rightIdx
4 -step 2
dbCreateNet -cv $cv -name C
dbCreateNet -cv $cv -name C -declaration 0
dbFindNet -cv $cv -name A -leftIdx 0 -rightIdx 4
dbFindNet -cv $cv -name C
dbFindNet -cv $cv -name B -leftIdx 0 -rightIdx 4 -step 2
See Also
lakerConnBrowser
lakerFindObj
Layout Window: Query > Find
adpDsgQueryFind
Schematic Editor: Query> Find
dbFindPort
The dbFindPort command returns a port identifier if the port in the specified
cell view can be found.
Syntax
dbFindPort -cv cellviewId -name portName
Returns
A port identifier if successful; otherwise, returns 0.
276
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Logic Objects
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-name portName
Specify the port name.
Examples
dbFindPort -cv $cvId -name P1
See Also
lakerFindObj
Layout Window: Query > Find
adpDsgQueryFind
Schematic Editor: Query> Find
dbGenPin
The dbGenPin command creates real pin shapes from the traversed shapes
with net and port properties and removes the soft pins after realization.
Syntax
dbGenPin -cv cellviewId -genPinBy label|net|mix
-topLevelOnly 0|1 -extLevel levelNo -useColonVirtual 0|1
-pinSize 0|1 -width width
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the working cell view.
-genPinBy
label|net|mix
Specify the method for pin creation.
Valid values: label, net, mix (default=label).
Laker³ Tcl Reference Manual
K-2015.06
277
Chapter 4: Database Extensions
Logic Objects
Argument
Description
-topLevelOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Create pin shapes from the traversed shapes with net
and port properties at top level, and the soft pin is
removed.
0: Not only create pin shapes from top level, but also
from instance.
-useColonVirtual 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Use colon as the virtual connection.
0 : Do not use colon as the virtual connection.
This option decides whether the joint type of a
generated pin shape is weak or disjointed. If the label is
followed by a colon (:), it is weak.
-extLevel levelNo
Specify the extraction level.
Valid value: an integer, from 0 to 49 (default=0).
-pinSize 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Limit the size of pin shapes.
0 : Do not limit the size of pin shapes.
This option controls the size of generated pin shapes.
-width width
Specify the width of a rectangle to limit the size of
generated pin shape.
Valid value: a floating number.
Examples
set lib1 [dbOpenLib -lib cpu]
if { $lib1 != 0 } {
set cv1 [dbOpenCV -lib lib -cell na2c -view layout]
if { $cv1 != 0 } {
dbGenPin -cv $cv1 -genPinBy mix -topLevelOnly 0 -extLevel 1 \
-useColonVirtual 1 -pinSize 1 -width 100
dbSaveCV -cv $cv1
dbCloseCV -cv $cv1
}
dbCloseLib -lib $lib1
}
See Also
lakerGenPin
Layout Window: SDL > Gen Pin
278
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Logic Objects
dbGetGlobalNet
The dbGetGlobalNet command returns a name list of power nets, ground
nets and global nets of the specified cell view.
Syntax
dbGetGlobalNet -cv cellviewId
Returns
{net name list of power} {net name list of ground} {net
name list of global net} if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier of the specified cell view.
Examples
set globalNet [dbGetGlobalNet -cv [lakerGetWndCellViewId]]
# The returned globalNet can be {VDD VDD1} {VSS} {signet}
dbMakeBusNet
The dbMakeBusNet command returns a net identifier if the bus net in the
specified cell view can be made.
Syntax
dbMakeBusNet -cv cellViewId -name netName -leftIdx n1
-rightIdx n2 [-step n3]
Returns
A net identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-leftIdx n1
Specify the left index of bus nets. n1 is an integer.
-name netName
Specify the net name.
Laker³ Tcl Reference Manual
K-2015.06
279
Chapter 4: Database Extensions
Logic Objects
Argument
Description
-rightIdx n2
Specify the right index of bus nets. n2 is an integer.
-step n3
Specify the interval size of bus nets. This argument is valid
only if the
-leftIdx and -rightIdx arguments exist. n3 is an
integer (default=1).
Examples
# Example 1
dbMakeBusNet -cv $cvId -name G -leftIdx 0 -rightIdx 5
# Example 2
dbMakeBusNet -cv $cvId -name D -leftIdx 0 -rightIdx 6 -step 2
dbCreateSingleNet
The dbMakeSingleNet command returns a net identifier if the single net in
the specified cell view can be made.
Syntax
dbMakeSingleNet -cv cellViewId -name netName
Returns
A net identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-name netName
Specify the net name.
Examples
# Example 1
dbMakeSingleNet -cv $cvId -name N1
280
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Parameters
Parameters
This section describes the Tcl commands that are related to parameters. These
commands include:
■
dbCellFind
■
dbCopyParam
■
dbCreateParam
■
dbDeleteParamByName
■
dbFindParam
■
dbLoadCellCDF
■
dbLoadLibCDF
■
dbSaveCellCDF
■
dbSaveLibCDF
dbCellFind
The dbCellFind command locates the cell view identifier (ID) by specifying a
library ID and cell name.
Syntax
dbCellFind -lib $libId -cell cellName
Returns
None
Arguments
Argument
Description
-cell cellName
Specify the cell name.
-lib $libId
Specify the library identifier.
Examples
dbCellFind -lib $libId -cell cellA
Laker³ Tcl Reference Manual
K-2015.06
281
Chapter 4: Database Extensions
Parameters
dbCopyParam
The dbCopyParam command returns 1 if all parameters can be copied from
one object to another.
Syntax
dbCopyParam -obj1 objId1 -obj2 objId2
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-obj1 objId1
Specify the identifier of the source object.
-obj2 objId2
Specify the identifier of the destination object.
Examples
dbCopyParam -obj1 $MasterId1 -obj2 $MasterId2
dbCreateParam
The dbCreateParam command returns 1 if all parameters can be copied from
one object to another.
Syntax
dbCreateParam -obj objId -name paramName [-promptName
promptName] -type paramType [-value paramValue] [displayed 0|1] [-visible 0|1] [-editable 0|1] [-asTCL
0|1] [-asVarExpr 0|1] [-replace 0|1] [-hasdefault 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
282
Argument
Description
-asTCL 0|1
Specify the switch mode of asTCL.
Valid values: Boolean values, 0 and 1 (default=0).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Parameters
Argument
Description
-asVarExpr 0|1
Specify the switch mode of asVarExpr.
Valid values: Boolean values, 0 and 1 (default=0).
-displayed 0|1
Specify the switch mode of the display setting.
Valid values: Boolean values, 0 and 1 (default=0).
-editable 0|1
Specify the switch mode of the editable setting.
Valid values: Boolean values, 0 and 1 (default=0).
-hasdefault 0|1
Specify the switch mode of the default setting.
Valid values: Boolean values, 0 and 1 (default=0).
-name paramName
Specify the parameter name.
-obj objId
Specify the object identifier.
-promptName
promptName
Specify the prompt name.
-replace 0|1
Specify the switch mode of the replacement setting.
Valid values: Boolean values, 0 and 1 (default=0).
-type paramType
Specify the parameter type.
Valid values for Laker: Int, Float, String, and
Boolean.
Valid values for ADP: Int, Float, String, Radio,
Cyclic, Boolean, Checkbox, , PccInt, PccFloat,
PccString, PccBoolean, PccLpPair , Hidden, and
PccUserPair.
-value paramValue
Specify the parameter value. This value depends on the
-type option.
-visible 0|1
Specify the switch mode of the visibility setting.
Valid values: Boolean values, 0 and 1 (default=0).
Examples
# Example 1
dbCreateParam -obj $inst1 -name qaqa -promptName qaqa_prompt \
-type String -value aaaaaa -displayed 0 -visible 1 \
-editable 1 -asTCL 0 -asVarExpr 0
# Example 2
Laker³ Tcl Reference Manual
K-2015.06
283
Chapter 4: Database Extensions
Parameters
dbCreateParam -obj $inst1 -name xxxx -promptName xxxx_prompt \
-type String -value xxxxxx -displayed 1 -visible 0 \
-editable 1 -asTCL 0 -asVarExpr 0
# Example 3
dbCreateParam -obj $rectId -name rect_A \
-promptName rect_prompt -type Hidden -value D -displayed 0 \
-visible 1 -editable 1 -asTCL 0 -asVarExpr 0
# Example 4
dbCreateParam -obj $instId -name inst_A \
-promptName inst_prompt -type Hidden \
-value aaa -displayed 0 -visible 1 -editable 1 \
-asTCL 0 -asVarExpr 0
dbDeleteParamByName
The dbDeleteParamByName command returns 1 if the parameter can be
deleted by giving a parameter name.
Syntax
dbDeleteParamByName -obj objId -name paramName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-name paramName
Specify the parameter name.
-obj objId
Specify the object identifier.
Valid values: Figure identifier, net identifier, port identifier,
pin identifier, instance port identifier, and instance pin
identifier.
Examples
dbDeleteParamByName -obj $inst2 -name aaa
dbFindParam
The dbFindParam command returns a parameter identifier if the parameter
can be found by giving a parameter name.
284
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Parameters
Syntax
dbFindParam -obj cellId -name paramName
Returns
Parameter identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-name paramName
Specify the parameter name.
-obj cellId
Specify the object identifier. Use dbGet -obj $cellId
to get all parameter identifiers. Use dbGet -obj
anyParamId to get the name of any parameters.
Examples
# Example 1
# Check find parameter by name
puts $file "\n#####Check Find Parameter by Name#####"
puts $file "#inst1's parameter:#"
set tmp [dbFindParam -obj $inst1 -name xxxx]
set P_Name [dbGet -obj $tmp -attr Name ]
set P_Type [dbGet -obj $tmp -attr Type ]
set P_ProName [dbGet -obj $tmp -attr PromptName ]
set P_ParamType [dbGet -obj $tmp -attr ParamType ]
set P_Value [dbGet -obj $tmp -attr Value ]
set P_Visible [dbGet -obj $tmp -attr Visible ]
set P_Editable [dbGet -obj $tmp -attr Editable ]
set P_AsTCL [dbGet -obj $tmp -attr AsTCL ]
set P_AsVarExpr [dbGet -obj $tmp -attr AsVarExpr ]
set P_Displayed [dbGet -obj $tmp -attr Displayed ]
set P_HasDefault [dbGet -obj $tmp -attr HasDefault ]
puts $file "$P_Name $P_Type $P_ProName $P_ParamType $P_Value
$P_Visible $P_Editable $P_AsTCL $P_AsVarExpr
$P_Displayed $P_HasDefault"
close $file
# Example 2
set libId [dbOpenLib -lib analogADP -mode readOnly]
set cellId [dbCellFind -lib analogADP -cell nmos]
dbLoadCellCDF -cellId $cellId
dbFindParam -obj $cellId -name trise
dbFindParam -obj $cellId -name ls
dbFindParam -obj $cellId -name ld
dbFindParam -obj $cellId -name geo
Laker³ Tcl Reference Manual
K-2015.06
285
Chapter 4: Database Extensions
Parameters
dbLoadCellCDF
The dbLoadCellCDF command loads the CDF data from a file (for example:
data.dm) to memory.
Syntax
dbLoadCellCDF -cellId $cellId
Returns
None
Arguments
Argument
Description
-cellId $cellId
Specify the cell view identifier.
Examples
dbLoadCellCDF -cellId $cellId
See Also
dbLoadLibCDF
dbSaveCellCDF
dbSaveLibCDF
dbLoadLibCDF
The dbLoadLibCDF command loads the CDF data from a library to memory.
Syntax
dbLoadLibCDF -lib $libId
Returns
None
Arguments
Argument
Description
-lib $libId
Specify the library identifier.
Examples
dbLoadLibCDF -lib $libId
286
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Parameters
See Also
dbLoadCellCDF
dbSaveCellCDF
dbSaveLibCDF
dbSaveCellCDF
The dbSaveCellCDF command saves the CDF data from memory to a file (for
example: data.dm).
Syntax
dbSaveCellCDF -cellId $cellId
Returns
None
Arguments
Argument
Description
-cellId $cellId
Specify the cell view identifier.
Examples
dbSaveCellCDF -cellId $cellId
See Also
dbLoadCellCDF
dbLoadLibCDF
dbSaveLibCDF
dbSaveLibCDF
The dbSaveLibCDF command saves the CDF data from memory to a library.
Syntax
dbSaveLibCDF -lib $libId
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
287
Chapter 4: Database Extensions
General Object Manipulation
Arguments
Argument
Description
-lib $libId
Specify the library identifier.
Examples
dbSaveLibCDF -lib $libId
See Also
dbLoadCellCDF
dbLoadLibCDF
dbSaveCellCDF
General Object Manipulation
This section describes the Tcl commands that are related to the manipulation
on general objects. These commands include:
288
■
dbAddChildToParent
■
dbArea
■
dbColorBackAnno
■
dbColorPropagation
■
dbDelete
■
dbGet
■
dbGetChild
■
dbGetLastModifyTime
■
dbGetParent
■
dbGetShapeDimension
■
dbIterateDB
■
dbIsDbObj
■
dbIterateLib
■
dbSelObjsByType
■
dbSet
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
dbAddChildToParent
The dbAddChildToParent command returns 1 if there is a parent/child
relationship between two objects.
Syntax
dbAddChildToParent -child objId1 -parent objId2
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-child objId1
Specify the child object identifier.
-parent objId2
Specify the parent object identifier.
Examples
set obj1 [dbCreateRect -cv $cvId -layer 1 -bbox
(1.0,2.0)(3.5,4.2)]
set obj2 [dbCreateRect -cv $cvId -layer 2 -bbox
(3.3,4.4)(5.5,6.6)]
dbAddChildToParent -child $obj2 -parent $obj1
dbArea
The dbArea command estimates the area of pointed shapes.
Syntax
dbArea -cv cellviewId [-layer {layerName purposeName} {...}]
[-fromlevel Level] [-tolevel Level] [-file fileName]
dbArea -figs dbFig [-file fileName]
Returns
None
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
Laker³ Tcl Reference Manual
K-2015.06
289
Chapter 4: Database Extensions
General Object Manipulation
Argument
Description
-figs dbFig
Specify the list of figures.
-file fileName
Save the measurement results to a specified file (*.log).
The file path is printed in the message pane of the Home
page.
-fromlevel Level
Specify the start level (default=current start level).
Valid value: an integer (default=0).
-layer {{layerName
purposeName} {...}
Specify the layer of the displayed shapes (default=layer
of all displayed shapes).
-tolevel Level
Specify the view level (default=current view level).
Valid value: an integer (default=0).
Examples
None
See Also
lakerArea
dbColorBackAnno
The dbColorBackAnno command returns 1 if all uncolored and unlocked
shapes in the top cell can be scanned and their color attribute can be updated
according to the attribute on the corresponding shapes in the color cell.
Syntax
Syntax 1:
dbColorBackAnno {{-topLib libName -topCell cellName [topView viewName]} | -topCv cellViewId}
Syntax 2:
dbColorBackAnno {{-colorLib libName -colorCell cellName [colorView viewName]} | -colorCv cellViewId}
Returns
1 if successful; otherwise, returns 0.
290
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Arguments
Argument
Description
-colorCell cellName
Specify the cell name of the color cell.
-colorCv cellViewId
Specify the cell view identifier of the color cell.
-colorLib libName
Specify the library name of the color cell.
-colorView viewName
Specify the view type of the color cell. The default is layout.
-topCell cellName
Specify the top cell name.
-topCv cellViewId
Specify the cell view identifier of the top cell.
-topLib libName
Specify the library name of the top cell.
-topView viewName
Specify a view type. The default is layout.
Examples
dbColorBackAnno -topCv CvId -colorLib libName -colorCell cellName
dbColorPropagation
The dbColorPropagation command returns 1 if locked shapes can be
created on 0x for the unlocked shapes that are connected to the locked shapes
but not fully covered by them.
Syntax
dbColorPropagation {{{-lib libName -cell cellName [-view
viewName]} | -cv cellViewId} [-clearOnly] [mapToFullLock] }
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell name.
Laker³ Tcl Reference Manual
K-2015.06
291
Chapter 4: Database Extensions
General Object Manipulation
Argument
Description
-clearOnly
When specified, only delete shapes created by
dbColorPropagation.
When not specified, delete shapes created by
dbColorPropagation and regenerate the shapes
according to the current design. This argument is off by
default.
-cv cellViewId
Specify the cell view identifier.
-lib libName
Specify the library name.
-mapToFullLock
When specified, propagate the color by colored shapes.
When not specified, propagate the color by locked shapes.
This argument is off by default.
-view viewName
Specify a view type. The default is layout.
Examples
dbColorPropagation -cv [lakerGetWndCellViewId]
dbDelete
The dbDelete command returns 1 if the specified object can be deleted.
Syntax
dbDelete -obj objId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-obj objId
Specify the object identifier.
Valid values: Figure identifier, net identifier, port identifier, pin
identifier, instance port identifier, and instance pin identifier.
Examples
set rectId [dbCreateRect -cv $cvId -layer 1 -bbox (0,0)(1,2)]
dbDelete -obj $rectId
292
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
dbGet
The dbGet command returns an attribute value if the attribute value of a
certain object attribute can be obtained.
The object attributes and their valid values are described in the following tables.
Objects
Attribute Names
AppType
appTypeName
Arc
All, AllNames, CV, Params, Props, BBox, Net, Parent,
IsVisible, Pin, Layer, LayerNum, Purpose, PurposeNum,
Type
Array
All, AllNames, CV, Props, Params, BBox, Net, Parent,
IsVisible, Pin, Type, CellName, ColSpace, Cols, LibName,
Mag, Master, Name, Orient, Point, RowSpace, Rows,
ViewName, ParamContent
CellView
All, AllNames, CV, Props, Params, Type, Arrays, BBox,
CellName, CellViewType, DBUPerUU, FileName,
GroupMembers, Groups, InstCount, InstHeaders, Insts,
IsModified, Lib, LibName, Masters, Mode, NetCount, Nets,
Parameters, PortCount, Ports, Shapes, UserUnit,
ViewName, LPs, UsedIn, RepType, UnneedAPR, opNets,
ParamContent, SimInfos, OtherInfos
CustomViaHeader
All, AllNames, Params, Props, Type, Arrays, BBox,
CellName, CellViewType, DBUPerUU, FileName,
GroupMembers, Groups, InstCount, InstHeaders, Insts,
IsModified, Lib, LibName, Masters, Mode, NetCount, Nets,
PortCount, Ports, RepType, Shapes, UserUnit, ViewName,
LPs, UsedIn
Dot
All, AllNames, CV, Props, Params, BBox, Net, Parent,
IsVisible, Pin, Layer, LayerNum, Purpose, PurposeNum,
Type, Height, Point, Width, ParamContent
Doughnut
All, AllNames, CV, Props, Params, BBox, Net, Parent,
IsVisible, Pin, Layer, LayerNum, Purpose, PurposeNum,
Type, Inner, Outer, Point, ParamContent, Color, Lock
Laker³ Tcl Reference Manual
K-2015.06
293
Chapter 4: Database Extensions
General Object Manipulation
294
Objects
Attribute Names
Ellipse
All, AllNames, CV, Props, Params, BBox, Net, Parent,
IsVisible, Pin, Layer, LayerNum, Purpose, PurposeNum,
Type, ParamContent, Color, Lock
Group
Type, GroupType, Members, Name, Objects, ParamContent
Group Member
All, AllNames, CV, Params, Props, Type, Dir, Name, Net,
NumBits, PinCount, Pins, JointType
HET
All, AllNames, CV, Props, Params, Type, InstPins,
InstPortCount, InstPorts, Figs, Name, NameWithRange,
NumBits, Pins, Port, Priority, DefShieldNetName,
DefNetNondefRuleName, DefNetSource,
DefOriginalNetName, DefNetUsage, DefNetProperty,
Range, Step, ZeroBus, NetType, UserDefName,
ParamContent
Instance
All, AllNames, CV, Props, Params, BBox, Net, Parent,
IsVisible, Pin, Type, CellName, InstHeader, InstPins,
InstPorts, LibName, Mag, Master, Name, Num, Orient,
Point, ViewName, DefCompSource, DefCompPlaceStatus,
DefCompProperty, IsDefSpecialNetObj,
DefShieldNetName, DefWireShape, ParamContent
InstPin
All, AllNames, CV, Props, Params, Type, BBox, InstPort,
Name, Net, Pin, ParamContent
InstPort
All, AllNames, CV, Props, Params, Type, Inst, InstPins,
Name, Net, NumBits, Port, IsWidthOK,
IsDefSpecialNetObj, ParamContent
InstHeader
All, AllNames, CV, Props, Params, Type, CellName, Insts,
Arrays, LibName, Master, ViewName, ParamContent
Label
All, AllNames, CV, Props, Params, BBox, Net, Parent,
IsVisible, Pin, Layer, LayerNum, Purpose, PurposeNum,
Type, Font, Height, IsDrafted, IsOverbar, Justify, Orient,
Point, Text, Spacing, LabelType, ParamContent
Layer
Name, Lib, LayerNum, PurposeNum, Stipple, OutlineColor,
FillColor, LineStyle, Packet, Params, ParamContent
LD
Type, Layer, Purpose, ShapeNum, BBox
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Objects
Attribute Names
Lib
Mode, Name, Scale, Resolution, Params, ParamContent
Line
All, AllNames, CV, Props, Params, BBox, Net, Parent,
IsVisible, Pin, Layer, LayerNum, Purpose, PurposeNum,
Type, PointNum, Points, ParamContent
LP
All, AllNames, CV, Params, Props, BBox, Net, Parent,
IsVisible, Pin, Type, CellName, InstHeader, InstPins,
InstPorts, LibName, Mag, Master, Name, Num, Orient,
Point, ViewName, DefCompSource, DefCompPlaceStatus,
DefCompProperty, IsDefSpecialNetObj,
DefShieldNetName, DefWireShape
Net
All, AllNames, CV, Params, Props, Type, Dir, Fig, Name,
Net, Port, UserDefName, Range, IsBus, IsSingle, IsBundle
Netlist
All, AllNames, Name, namePrefix, termOrder
Path
All, AllNames, CV, Props, BBox, IsVisible, Net, Parent, Pin,
Layer, LayerNum, Purpose, PurposeNum, Type, BeginExt,
EndExt, PointNum, Points, Style, Width, IsDefSpecialPin,
DefPinPlaceStatus, DefPinPosition, DefPinOrient,
IsDefSpecialNetObj, DefShieldNetName, DefWireShape,
ParamContent, OutlinePoints, Status, Color, Lock
Pin
All, AllNames, CV, Props, Params, Type, Dir, JointType, Fig,
Name, Net, Port, PortDir, Origin, ParamContent
Polygon
All, AllNames, CV, Props, Params, BBox, Net, Parent,
IsVisible, Pin, Layer, LayerNum, Purpose, PurposeNum,
Type, PointNum, Points, IsDefSpecialPin,
DefPinPlaceStatus, DefPinPosition, DefPinOrient,
IsDefSpecialNetObj, DefShieldNetName, DefWireShape,
ParamContent, Color, Lock
Port
All, AllNames, CV, Props, Params, Type, Dir, Name, Net,
NumBits, PinCount, Pins, PortType, ParamContent
Property
All, AllNames, Type, Group, Object
Laker³ Tcl Reference Manual
K-2015.06
295
Chapter 4: Database Extensions
General Object Manipulation
Objects
Attribute Names
Rectangle
All, AllNames, CV, Props, Params, BBox, Net, Parent,
IsVisible, Pin, Layer, LayerNum, Purpose, PurposeNum,
Type, IsDefSpecialPin, DefPinPlaceStatus, DefPinPosition,
DefPinOrient, IsDefSpecialNetObj, DefShieldNetName,
DefWireShape, ParamContent, Color, Lock
Route
All, AllNames, CV, Props, Params, BBox, Net, Parent,
IsVisible, Pin, Purpose, PurposeNum, Type, IsSpecial,
Status, Topology, Spec, Color, Lock
RowArea
Type, BBox, Points
siteDef
All, AllNames, Type, Name, SiteDefType, Width, Height,
IsSymmX, IsSymmY, IsSymmRot, IsVirtual
StdViaHeader
Mode, Name, Scale, Resolution
If -attr All is specified, all attribute values of the specified object are
returned.
If -attr AllNames is specified, all attribute names that belong to the specified
object are returned.
The following table represents the valid values of each attribute.
296
Attribute Name
Valid Values
appTypeName
Any name strings.
Arrays
A list of identifiers of arrays.
BBox
abcd
(a, b)(c, d)
{{a b}{c d}}
BeginExt
A positive floating number.
beginPoint, endPoint
A point.
beginStyle, endStyle
{Truncate}, {Extend}, {Variable Ext}, {Chamfer},
{Custom Ext LefDiagExt RightDiagExt RightHalfWidth}
CellName
A cell name which is a string.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Attribute Name
Valid Values
CellViewType
maskLayout, schematicSymbol, schematic, netlist,
state, stranger, vhEntityHier, vhEntityData, vhArchHier,
vhArchData, vhConfHier, vhConfData, vhPackHier,
vhPackBodyData, vhPackData.
Color
String.
Color value, 0-7
Cols
A positive integer.
ColSpace
A floating number.
CustomVia
{CustomVia DefName {Origin} Orient ViaHeader
Master}
Example:
{CustomVia Via23 {-445.900 240.125} R0 3aa6758
36e800c}
cutColumns, cutRows
A postive integer.
cutPattern
{1 0 1 ... } where the number of 0/1 sequence is
cutColums*cutRows. cutPattern is optional if all
specified values are 1.
cutWidth, cutHeight
A floating number.
CV
A cell view identifier.
DBUPerUU
A floating number.
DefCompPlaceStatus
Place status of the input component: FIXED, COVER,
PLACED, UNPLACED.
DefCompProperty
DEF property string of the input component.
DefCompSource
Source type of the input component: NETLIST, DIST,
USER, TIMING.
DefName
Name of via definition.
DefNetNondefRuleName The non-default rule used by the input net.
Laker³ Tcl Reference Manual
K-2015.06
297
Chapter 4: Database Extensions
General Object Manipulation
298
Attribute Name
Valid Values
DefNetProperty
DEF property string of the input net.
DefNetSource
Source type of the input net: NETLIST, DIST, USER,
TIMING, TEST.
DefNetUsage
Usage of the input net: ANALOG, CLOCK, GROUND,
POWER, RESET, SCAN, SIGNAL, TIEOFF.
DefOriginalNetName
The original net of the input net.
DefPinOrient
Orientation: R0, R90, R180, R270, MXR0, MXR90,
MYR0, MYR90.
DefPinPlaceStatus
Place status of the input pin: FIXED, COVER, PLACED,
UNPLACED.
DefPinPosition
(a,b), a b, {a b}
DefShieldNetName
For “Net” object type, this specifies the net shielding the
input net. For other object types, this specifies the net
shielded by the input object.
DefWireShape
Wire shape type of the input object: RING, PADRING,
BLOCKRING, STRIPE, FOLLOWPIN, IOWIRE,
OREWIRE, BLOCKWIRE, BLOCKAGEWIRE,
FILLWIRE, DRCFILL.
DeleteWhen
Never, First, Last.
Dir (access direction of a
pin)
Single value: Left, Right, Top, Bottom.
Multiple values: Value string with braces, like {Left Top}
or {Left Bottom Right}.
Dir (port direction)
Input, Output, InputOutput, Jumper, Feedthrough.
ElementId
A list of identifiers of route objects.
EllipseBBox
An ellipse bounding box (the same as BBox).
EndExt
A positive floating number.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Attribute Name
Valid Values
Ext LefDiagExt
RightDiagExt
RightHalfWidth
A floating number.
Figs
A list of identifiers of figures.
FileName
A file name.
FillColor
Fill color.
Font
Modern, Fixed, Raster, Modern1, Script, Roman,
TTAGth, TTARoman, TTASlab.
Group
A group identifier.
GroupMembers
A list of identifiers of group members.
Groups
A list of identifiers of groups.
GroupType
Set, Collect.
Height
A positive floating number.
Inner
A positive floating number.
InstCount
A positive integer.
InstHeader
Identifier of an instance header.
InstHeaders
A list of identifiers of instance headers.
InstPins
A list of identifiers of instance pins.
InstPort
Identifier of an instance port.
InstPortCount
A positive integer.
InstPorts
A list of identifiers of instance ports.
Insts
A list of identifiers of instances.
IsBundle
0, 1
Laker³ Tcl Reference Manual
K-2015.06
299
Chapter 4: Database Extensions
General Object Manipulation
300
Attribute Name
Valid Values
IsBus
0, 1
IsDefSpecialNetObj
0, 1
IsDefSpecialPin
0, 1
IsDrafted
0, 1
IsModified
0, 1
IsOrdered
0, 1
IsOverbar
0, 1
IsSingle
0, 1
IsSpecial
0, 1
IsSymmRot
0, 1
IsSymmX
0, 1
IsSymmY
0, 1
IsUniqueName
0, 1
IsVirtual
0, 1
IsVisible
0, 1
JointType
Disjointed, Strong, Weak.
Justify
UpperLeft, CenterLeft, LowerLeft, UpperCenter,
CenterCenter, LowerCenter, UpperRight, CenterRight,
LowerRight.
LabelType
Normal, Annotate, Comment.
Layer
0~255 or a layer name.
Layer1, Layer2, cutLayer
The same as Layer.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Attribute Name
Valid Values
layer1Enclosure,
A pair of floating numbers.
layer2Enclosure,
implant1Enc,
implant2Enc,
layer1Offset, layer2Offset,
originOffset, cutSpacing
Layer1Num, Layer2Num, The same as LayerNum.
cutLayerNum
LayerNum
0~255
Lib
A library identifier.
LibName
Logical name of a library.
LineStyle
Line style.
List of Params
{layer1Enclosure}{layer2Enclosure}{implant1Enc}
{implant2Enc}{layer1Offset}{layer2Offset}
{originOffset}{cutSpacing}
cutLayer cutLayerNum cutPurpose cutPurposeNum
cutWidth cutHeight cutColumns cutRows {cutPatterns}
Example:
{{0.600 0.600} {0.600 0.600} {0.000 0.000}
{0.000 0.000} {0.000 0.000} {0.000 0.000}
{0.000 0.000} {0.450 0.450}
VIA12 17 drawing 252 0.5 0.5 15 15}
Lock
String.
Mag
A floating number.
Master
Identifier of a master cell view.
Masters
A list of identifiers of master cellviews.
Members
A list of identifiers of members.
Mode
create, edit, readOnly
Name
Object name.
Laker³ Tcl Reference Manual
K-2015.06
301
Chapter 4: Database Extensions
General Object Manipulation
302
Attribute Name
Valid Values
NameWithRange
Object name with range (only useful for nets).
Net
A net identifier or 0.
NetCount
A positive integer.
Nets
A list of identifiers of declaration nets.
NumBits
An integer.
opNets
A list of identifiers of operation nets.
Obj
An object identifier.
Object
An object identifier.
Objects
A list of identifiers of objects.
Orient
Orientation: R0, R90, R180, R270, MXR0, MXR90,
MYR0, MYR90.
Origin
A point value, for example: (x,y).
OtherInfos
All other information.
Outer
A positive floating number.
OutlineColor
Outline color.
OutlinePoints
Coordinate points of the path outline, path segment
outline, or via.
Packet
Display group.
Params
Type, Name, PromptName, ParamType, Value, Visible,
Editable, AsTCL, AsVarExpr, Displayed, HasDefault,
CellView, Instance, InstHeader, Array, Rectangle,
Polygon, Line, Path, Label, Arc, Ellipse, Doughnut, Dot,
Net, Port, Pin, Instance Port, Instance Pin, Route,
CustomViaHeader, StdViaHeader
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Attribute Name
Valid Values
PathSeg
{PathSeg LayerNum {beginPoint} {endPoint} width
{beginStyle} {endStyle}}
Example:
{PathSeg 28 {-192.500 296.025} {-192.500 297.325}
0.6 {Extend} {Extend}}
Pin
A pin identifier or 0.
PinCount
A positive integer.
Pins
A list of identifiers of pins.
Point
A point.
PointNum
A positive integer.
Points
A list of points.
PortCount
A positive integer.
Ports
A list of identifiers of ports.
PortType
Unknown, Data, Clock, SyncSet, SyncReset,
AsyncSet, AsyncReset, Control, TriEnable,
ComboOutput, TriOutput, Latched, Registered,
InferLatch, FSMControl, FSMOutput, OffPageConn,
Hidden.
If the PortType is not defined, the return value is
"UnknownPort {}".
Priority
0~127
Props
A list of identifiers of properties.
Purpose
0~255 or a purpose name.
Purpose1, Purpose2,
cutPurpose
The same as Purpose.
Purpose1Num,
Purpose2Num,
cutPurposeNum
The same as PurposeNum.
Laker³ Tcl Reference Manual
K-2015.06
303
Chapter 4: Database Extensions
General Object Manipulation
304
Attribute Name
Valid Values
PurposeNum
0~255
Range
<bus range>, for example: <0:5>
RepType
UnknownCell, NotCell, OrCell, AndCell, NorCell,
NandCell, BufCell, XorCell, XNorCell, AOICell,
OAICell, ComboCell, MacroCell, TriBufCell, InBufCell,
OutBufCell, TriCell, FlipFlopCell, LatchCell, DelayCell,
MosCell, InputPadCell, OutputPadCell, InoutPadCell,
GroundPadCell, PowerPadCell, IOCell, PullUpCell,
PullDownCell, BusRepeaterCell, FpgaRamCell,
FpgaRomCell, InternalRamCell, InternalRomCell,
InternalAsycCell, ExternalRamCell, ExternalRomCell,
MuxCell, CpmCell, DecoderCell, AdderCell, MulCell,
DivCell, SubCell, AssignCell, OpCell, ConnectorCell,
FSMCell, InitCell, EQCell, GenerateCell, UserCell,
InfLatchCell, GlobalSignalCell, TranCell,
FlipFlopGroupCell, ConcatCell, BusKeeperCell,
BiDirectionCell, FlipFlopResetGroupCell,
LatchGroupCell, LatchResetGroupCell, GateClkCell,
RipperCell, BusSplitterCell, MacroGroupCell,
BufGroupCell, NotGroupCell, LogoCell, Bd2scrCell,
Bt2crpCell, SchmitcdqCell, Bd2crdqpCell,
Bd2hzicaruqpCell, BdstardqpCell, SheetCell,
TerminatorCell, NMosCell, PMosCell, DiodeCell,
NPNCell, PNPCell, NJFCell, PJFCell, ResCell,
CapCell, IndCell, SubcktCell, VoltageSource,
CurrentSource, VCVSource, VCCSource, VCResistor,
VCCapacitor, CCVSource, CCCSource, OpAmpCell,
TransformerCell, BVSource, BCSource, MutualIndCell
Resolution
The resolution of the cell view in the library.
Rows
A positive integer.
RowSpace
A floating number.
Scale
dbScale.
ShapeCount
A positive integer.
ShapeNum
A positive integer.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Attribute Name
Valid Values
Shapes
A list of identifiers of shapes.
SimInfos
All netlist information.
SiteDefType
Core, Pad
Spec
The Spec name of routes. When SpecValue is NULL,
the Spec value in $routeId is cleared.
StartAngle
A floating number.
Status
Normal, Cover, Fixed, Routed, Shield, NoShield
StdVia
{StdVia DefName {Origin} Orient ViaHeader Master}
Stipple
Stipple pattern.
StopAngle
A floating number.
Style
Truncate, Extend, Round, Variable
Text
A string.
Topology
None, Ring, PadRing, BlockRing, Stripe, FollowPin,
IOWire, CoreWire, BlockWire, BlockageWire, FillWire,
DrcFill
Type
Array, Arc, ArrayInst, Cell view, Instance,
InstanceHeader, Dot, Doughnut, Ellipse, Label, Line,
Path, Polygon, Rectangle, InstPort, Port, InstPin, Pin,
Net, Property, Group, RowArea, dbSiteDef,
GroupMember, LP, Route, CustomViaHeader,
StdViaHeader, 0|1 (if return value=0, then
UnneedAPR=FALSE; if return value=1, then
UnneedAPR=TRUE).
Type (for NetType)
SIGNAL, GROUND, SUPPLY, GLOBAL.
UsedIn
A list of cell view identifiers.
Laker³ Tcl Reference Manual
K-2015.06
305
Chapter 4: Database Extensions
General Object Manipulation
Attribute Name
Valid Values
UserDefName
0, 1
Returns 1 when the net is a user-defined net.
Returns 0 when the net is not a user-defined net.
UserUnit
micro, millimeter, centimeter, meter, mil, inch.
Value
A property value which may be 0, 1, a string, an integer,
a floating number, or an identifier.
ValueType
Integer, Float, String, Boolean, HierProp.
ViaHeader
Identifier of a via header.
ViewName
A view name.
Width
A positive floating number.
Syntax
dbGet -obj objId [-attr attrName] [-attType attType]
Returns
An attribute value if successful; otherwise, returns nothing.
Arguments
306
Argument
Description
-attr attrName
Specify the attribute name (default=All).
-attType attType
Specify the attribute type.
Valid values: original, and user.
-obj objId
Specify the object identifier.
Valid values: cell view identifier, instance identifier, instance
header identifier, array identifier, rectangle identifier,
polygon identifier, line identifier, path identifier, label
identifier, arc identifier, ellipse identifier, doughnut identifier,
dot identifier, parameter identifier, property identifier, group
identifier, group member identifier, net identifier, netlist
identifier, pin identifier, port identifier, instance port identifier,
instance pin identifier, route identifier, library identifier, layer
identifier, and via header identifier.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Examples
# Example 1
dbGet -obj $cvId
dbGet -obj $cvId -attr BBox
dbGet -obj $rectId -attr AllNames
dbGet -obj $rectId -attr All
dbGet -obj $instId -attr DefCompSource
dbGet -obj $rectId -attr DefPinPlaceStatus
dbGet -obj $polyId -attr DefPinPosition
dbGet -obj $pathId -attr DefPinOrient
dbGet -obj $netId -attr DefNetUsage
dbGet -obj $instPortId -attr IsDefSpecialNetObj
# Example 2
# Return value: 0.0001
dbGet -obj $libId -attr Scale
# Example 3
# Return value: 0.005
dbGet -obj $libId -attr Resolution
# Example 4
set workLib [dbOpenLib -lib def]
set layers [dbGetLayerIdsByLib -lib $workLib]
foreach layer $layers {
lakerMessage [dbGet -obj $layer]
}
# Example 5
dbGet -obj $PropId -attr Value
#(a) When this Prop's value Type are LpPair, UserPair return
#
{layerNum purposeNum}
#(b) When this Prop's value Type is Time return
#
{Mar 31 12:50:30 2005}
#(c) When this Prop's value Type is Boolean return
#
0
or
1
#(d) Other supported types: String, Int, Float, DBId.
#(e) Not supported types: HierProp, BString.
# Example 6
# For JointType
dbGet -obj $pinId -attr JointType
# The return value is one of {Disjointed, Strong, Weak}
Laker³ Tcl Reference Manual
K-2015.06
307
Chapter 4: Database Extensions
General Object Manipulation
# Example 7
# For AccessDirection
dbGet -obj $pinId -attr Dir -value Value
# (1) When Value is a single value,
#
then the Value is one of the following four strings
#
Top, Buttom, Left, Right
#
For example:
#
dbGet -obj $pinId -attr Dir > Top
# (2) When Value is a multiple value,
#
then the Value is composed string with braces of the following
#
four strings Top, Buttom, Left, and Right
#
For example:
#
dbGet -obj $pinId -attr Dir > {Top Bottom}
# Example 8
# For pinType(PortDirType)
dbGet -obj $pinId -attr PortDir
# The return value is one of
#
{Input, Output, InputOutput, Jumper, Feedthrough}
# Example 9
# When SpecValue=="NULL", it clears the Spec Value in $routeId.
dbSet -obj $routeId -attr Spec -value SpecValue
# Example 10
# this returns 0|1
dbGet -obj $pathSegId -attr IsSpecial
# Example 11
foreach rowarealist [dbGet -obj $cvId -attr RowArea] {
dbGet -obj $rowarealist -attr Type > return Type(RowArea)
dbGet -obj $rowarealist -attr BBox
dbGet -obj $rowarealist -attr Points
}
# the results are:
# Row (Type) : RowArea
# Row (BBox) : {{0.195 0.170} {70.150 54.365}}
# Row (Points): {0.195 0.170} {70.150 0.170} {70.150 54.365}
#
{0.195 54.365}
#
#
#
#
308
Example 12
If -attr = " " or "All" or no -attr option, all of the RowArea
related information is returned. But if -attr = ALL,
no results are returned.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
set Ans [dbGet -obj $rowarealist]
puts $file "Row (no -attr)
: $Ans "
set Ans [dbGet -obj $rowarealist -attr ]
puts $file "Row (
)
: $Ans "
set Ans [dbGet -obj $rowarealist -attr All]
puts $file "Row (All)
: $Ans "
set Ans [dbGet -obj $rowarealist -attr ALL]
puts $file "Row (ALL)
: $Ans "
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
the results are:
Row (no -attr): Type: RowArea
BBox: {{0.195 0.170} {70.150 54.365}}
Points: {{0.195 0.170} {70.150 0.170}
{70.150 54.365} {0.195 54.365}}
ParamContent:
Row (
)
: Type: RowArea
BBox: {{0.195 0.170} {70.150 54.365}}
Points: {{0.195 0.170} {70.150 0.170}
{70.150 54.365} {0.195 54.365}}
ParamContent:
Row (All)
: Type: RowArea
BBox: {{0.195 0.170} {70.150 54.365}}
Points: {{0.195 0.170} {70.150 0.170}
{70.150 54.365} {0.195 54.365}}
ParamContent:
Row (ALL)
:
# Example 13
# get AppType
dbSet -obj $id -attr AppType -value appTypeName
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
Example 14
1. Get drawing pattern (stipple, outline color, fill color,
line style, display group) by layerID:
dbGet -obj layerId -attr Stipple
dbGet -obj layerId -attr LineStyle
dbGet -obj layerId -attr FillColor
dbGet -obj layerId -attr OutlineColor
dbGet -obj layerId -attr Packet
2. If drawing pattern of one layer is a display group, use the
command dbGetDispGroupInfo -disp $dispGroup
to get the attribute string/list of the group.
Attribute string: { fillColor stipple outColor lineStyle }
3. The stipple settings to Tcl interpreter by their names defined
in display file.
4. The color settings to Tcl interpreter as a Tcl variable array.
The indices are the color names defined in display file.
Laker³ Tcl Reference Manual
K-2015.06
309
Chapter 4: Database Extensions
General Object Manipulation
#
Ex. LayerColor(winColor0)
# 5. The line style settings to Tcl interpreter as a Tcl variable
#
array.
#
The indices are the line style names defined in display file.
#
Ex. LayerLine(dots)
# 6. The line width can be got by the following command
#
dbGetLineStyleWidth -lineStyle $lineStyle
# 7. "Solid" line style is a special case.
#
When LayerLine($lineStyle) is empty, that means the line
#
is solid type.
# 8. "bigX" stipple is a special case. Remember to draw "X"
#
by lines.
# 9. In Tk, if the line width > 1, the drawing results of lines
#
may look different from Laker layer table.
#
That is because the line expands and the spaces between
#
segments are shrunk. 92109.gif is for reference.
#
# Sample Tcl script:
#
#!/usr/bin/wish
# Creation d'un nouveau canvas
wm deiconify .
canvas .can -width 610 -height 610 -background "#C0C0C0"
pack .can
set
set
set
set
set
set
set
cvId [lakerGetWndCellViewId]
libName [dbGet -obj $cvId -attr LibName]
layerList [dbGetLayerIdsByLib -lib $libName]
x1 10
x2 40
y1 10
y2 40
foreach layer $layerList {
set dispGroup [dbGet -obj $layer -attr Packet]
if { 0 == [string length $dispGroup] } {
set stipple [dbGet -obj $layer -attr Stipple]
set lineStyle [dbGet -obj $layer -attr LineStyle]
set fillColor [dbGet -obj $layer -attr FillColor]
set outColor [dbGet -obj $layer -attr OutlineColor]
} else {
set grpPattern [dbGetDispGroupInfo -disp $dispGroup]
set stipple [lindex $grpPattern 1]
set lineStyle [lindex $grpPattern 3]
set fillColor [lindex $grpPattern 0]
set outColor [lindex $grpPattern 2]
}
set lineWidth [dbGetLineStyleWidth -lineStyle $lineStyle]
set box "$x1 $y1 $x2 $y2"
# LineStyle: solid type
if { 0 == [string length $LayerLine($lineStyle)] } {
310
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
.can create rectangle $box -stipple $stipple \
-fill $LayerColor($fillColor) \
-outline $LayerColor($outColor) \
-width $lineWidth
# Stipple: bigX type
if { 0 == [string compare $stipple "bigX"] } {
.can create line $x1 $y1 $x2 $y2 -fill \
$LayerColor($fillColor) -width $lineWidth
.can create line $x1 $y2 $x2 $y1 -fill \
$LayerColor($fillColor) -width $lineWidth
}
} else {
.can create rectangle $box -stipple $stipple \
-fill $LayerColor($fillColor) \
-outline $LayerColor($outColor) \
-dash $LayerLine($lineStyle) -width $lineWidth
# Stipple: bigX type
if { 0 == [string compare $stipple "bigX"] } {
.can create line $x1 $y1 $x2 $y2 -fill \
$LayerColor($fillColor) -dash \
$LayerLine($lineStyle) -width $lineWidth
.can create line $x1 $y2 $x2 $y1 -fill \
$LayerColor($fillColor) -dash \
$LayerLine($lineStyle) -width $lineWidth
}
}
set x1 [expr $x1+40]
set x2 [expr $x1+30]
if { $x2 > 610 } {
set y1 [expr $y1+40]
set y2 [expr $y1+30]
if { $y2 > 610 } break
set x1 10
set x2 40
}
}
# output of the above Tcl script:
Laker³ Tcl Reference Manual
K-2015.06
311
Chapter 4: Database Extensions
General Object Manipulation
# Example 15
set a [dbIterLib -lib $libId -attr siteDef]
foreach objId $a {
set g2 [dbGet -obj $objId -attr Type]
set g4 [dbGet -obj $objId -attr SiteDefType]
}
# the results are:
# g2 = SiteDef
# g4 = Core
# Example 16
set lib "path"
dbCreateLib -lib $lib
set cvid [dbOpenCV -lib $lib -cell top -mode create]
set ph [dbCreatePath -cv $cvId -layer 8 -purpose 252 \
-point (0,10) (30,10) -width 2 -style Variable -begExt 1 -endExt
1]
....
puts "Type:[dbGet -obj $path -attr Type]"
puts "Status:[dbGet -obj $path -attr Status]"
dbSaveCV
-cv $cvId
dbCloseCV -cv $cvId
dbCloseLib -lib $lib
# The results are:
# Type:Path
# Status:Shield
# Example 17
set list [dbIterateDB -cv $cv -attr LD]
foreach ob $list {
set L [dbGet -obj $ob -attr Layer]
set P [dbGet -obj $ob -attr Purpose]
312
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
set S [dbGet -obj $ob -attr ShapeNum]
set B [dbGet -obj $ob -attr BBox]
puts "LP($L $P) ShapeNum($S) BBox:$B"
}
#
#
#
#
The results are:
LP(8 252) ShapeNum(2)
BBox:{{-200.000 -200.000} {100.000 100.000}}
LP(9 253) ShapeNum(1) BBox:{{100.000 100.000} {200.000 200.000}}
# Example 18
# The return value is origin (-500,500)
dbSet -obj $PinId -attr Origin -value (-500,500)
set gorigin [dbGet -obj $PinId -attr Origin]
# Example 19
# The return value is one of {Normal, Annotate, Comment}
dbGet -obj $labelId -attr LabelType
# Example 20
# The return value is one of {SIGNAL, GROUND, SUPPLY, GLOBAL, ""}
# If the return value = "", it means NetType = Unknown
dbGet -obj $netId -attr Type
# Example 21
# The return value is one of dbRepType {NotCell, OrCell..}
dbGet -obj $cvId -attr RepType
# Example 22
dbGet -obj $cvId -attr Type
# If the return value=0, it means UnneedAPR = FALSE.
# If the return value=1, it means UnneedAPR = TRUE.
# Example 23
dbSet -obj $SNetId -attr UserDefName -value 1 ##return :1
dbGet -obj $SNetId -attr UserDefName
##return :1
dbSet -obj $VNetId -attr UserDefName -value 0 ##return :1
dbGet -obj $VNetId -attr UserDefName
##return :0
# Example 24
# Return the PortType of $portId
dbSet -obj $DPortId -attr PortType -value AsyncReset #return: 1
dbGet -obj $DPortId -attr PortType
#return:AsyncReset
dbSet -obj $GPortId -attr PortType -value Clock
dbGet -obj $GPortId -attr PortType
#return: 1
#return: Clock
# If the PortType of this PortId is not defined, return: UnknownPort
{}
dbGet -obj $NPortId -attr PortType
Laker³ Tcl Reference Manual
K-2015.06
313
Chapter 4: Database Extensions
General Object Manipulation
# Example 25
# Get the declaration netId (DeclaNetId) that can only be used
# to find the reference of the netId
dbGet -obj $CellId -attr Nets
# Get the operation netId (OpNetId) that can be used in the
following
# application (DeclaNetId vs. OpNetId). For example, there are two
# opNetIds A[0:1]:0x1234 and A[2:3]:0x2468;
# but they have the common DeclaNetId A[0:3]:0x5678;
# the DeclaNetId can get the two opNetIds.
dbGet -obj $CellId -attr opNets
# Example 26
# To get the path outline coordinate with given pathId
# result: OutlinePoints:{{-1.000 9.000} {31.000 11.000}}
set lib "path"
dbCreateLib -lib $lib
set cvid [dbOpenCV -lib $lib -cell top -mode create]
set ph [dbCreatePath -cv $cvid -layer 8 -purpose 252 \
-point (0,10) (30,10) -width 2 -style Variable -begExt 1 -endExt
1]
set ans [dbGet -obj $ph -attr OutlinePoints]
puts "OutlinePoints:$ans"
dbSaveCV
-cv $cvid
dbCloseCV -cv $cvid
dbCloseLib -lib $lib
# Example 27
# Use the "ElementId" attribute to get Ids of route objects, and
then
# use the "OutlinePoints" attribute to get the outline points for
PathSegId or
# ViaId (the boundary points of via’s bbox for ViaId)
puts "[dbGet -obj routeId -attr Type]"
> Route
set id [dbGet -obj routeId -attr ElementId]
foreach ob $id {
puts "type :[dbGet -obj $ob -attr Type]"
puts "op
:[ dbGet -obj $ob -attr OutlinePoints]"
}
>type :PathSeg
>op
:{197.530 389.900} {197.530 662.900} \
>
{197.810 662.900} {197.810 389.900}
>type :CustomVia
>op
:{{197.450 662.620} {197.450 662.900} \
>
{197.890 662.900} {197.890 662.620}}
314
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
# Example 28
# Get all attributes/values for a paramId
dbGet -obj $paramId [-attType original]
# Example 29
# Get one attribute/value for a paramId
dbGet -obj $paramId -attr attName [-attType user]
# Example 30
# Show all netList information
dbGet -obj $cellId -attr SimInfos
# Example 31
# show all other information
dbGet -obj $cellId -attr OtherInfos
# Example 32
# Return a value for the netlistId
dbGet -obj $netlistId -attr namePrefix [-attType original]
# Example 33
# Output the netlist name
dbGet -obj $netlistId -attr Name
# Example 34
set shape [lakerGetSelSet]
dbGet -obj $shape -attr Color
# Example 35
set shape [lakerGetSelSet]
dbGet -obj $shape -attr Lock
dbGetChild
The dbGetChild command is used to get all child objects that belong to the
specified parent object.
Syntax
dbGetChild -obj objId
Returns
The list of child objects that belongs to the specific parent object if successful;
otherwise, returns nothing.
Laker³ Tcl Reference Manual
K-2015.06
315
Chapter 4: Database Extensions
General Object Manipulation
Arguments
Argument
Description
-obj objId
Specify the parent object.
Examples
dbGetChild -obj $parentId
See Also
dbAddChildToParent
dbGetParent
dbGetLastModifyTime
The dbGetLastModifyTime command returns the time information if the last
modified time of the specified library or cellview can be obtained.
Syntax
dbGetLastModifyTime -lib libName|libId [-cell cellName
[-view viewName]]
Returns
The time information (for example: "Mon Dec 15 11:11:11 2008") if
successful; otherwise, returns nothing.
Arguments
316
Argument
Description
-cell cellName
Specify the cell name.
-lib libName|libId
Specify the library name or library identifier.
-view viewName
Specify the view name (default=layout).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Examples
# Library ZZ is created and saved at 15 Dec, 2008 11:11:01
# Cell KK in library ZZ is created and saved at 15 Dec, 2008 11:11:11
# Example 1
# If the library ZZ or cell KK is not opened, return the time
# information from disk
# return the last modified time of library ZZ:
# “Mon Dec 15 11:11:01 2008”
dbGetLastModifyTime -lib ZZ
# return the last modified time of cell KK:
# “Mon Dec 15 11:11:11 2008”
dbGetLastModifyTime -lib ZZ -cell KK
# Example 2
# If the library ZZ or cell KK is opened but not modified,
# return the time information from the opening design
# If library ZZ is opened with readOnly mode and it is not modified,
# return the last modified time of library ZZ:
# “Mon Dec 15 11:11:01 2008”
dbGetLastModifyTime -lib ZZ
# If cell KK in library ZZ is opened with readOnly mode and
# it is not modified, return the last modified time of cell KK:
# “Mon Dec 15 11:11:11 2008”
dbGetLastModifyTime -lib ZZ -cell KK
# Example 3
# If library ZZ is opened with edit mode and it is not modified,
# return the current system time of library ZZ:
# “Tue Dec 16 15:48:02 2008”
dbGetLastModifyTime -lib ZZ
# If cell KK in library ZZ is opened with edit mode and
# it is not modified, return the last modified time of cell KK:
# “Mon Dec 15 11:11:11 2008”
dbGetLastModifyTime -lib ZZ -cell KK
# Example 4
# If library ZZ is opened with edit mode and it is modified,
# return the current system time of library ZZ:
# “Tue Dec 16 15:48:02 2008”
dbGetLastModifyTime -lib ZZ
# If cell KK in library ZZ is opened with edit mode and
# it is modified, return the current system time of cell KK:
# “Tue Dec 16 15:48:02 2008”
dbGetLastModifyTime -lib ZZ -cell KK
Laker³ Tcl Reference Manual
K-2015.06
317
Chapter 4: Database Extensions
General Object Manipulation
dbGetParent
The dbGetParent command is used to get the parent object for the specified
child object.
Syntax
dbGetParent -obj objId
Returns
The parent object idenfiers if successful; otherwise, returns nothing.
Arguments
Argument
Description
-obj objId
Specify the child object.
Examples
dbGetParent -obj $childId
See Also
dbAddChildToParent
dbGetChild
dbGetShapeDimension
The dbGetShapeDimension command returns the area or perimeter of the
shape if Area or Perimeter is specified.
This command returns 0 if the shape is not a legal shape.
Syntax
dbGetShapeDimension -obj objId -attr attrName
Returns
If successful, the Area option returns the area of the shape. The Perimeter
option returns the perimeter of the shape. Otherwise, 0 is returned if the shape
is not a legal shape.
318
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Arguments
Argument
Description
-attr attrName
Specify the attribute name.
Valid values: Area and Perimeter.
-obj objId
Specify a general identifier.
Examples
dbGetShapeDimension -obj $PolygonId -attr Area
See Also
Layout Window: Query > Measure > Area
Layout Window: Query > Measure > Perimeter
dbIterateDB
The dbIterateDB command works as dbGen which generates the data of the
design library.
Syntax
dbIterateDB [-cv cellviewId] -attr attrName
Returns
If -cv is not specified but -attr cellview is specified, all DB cell views that
were opened in memory are returned.
If -attr is not specified or -attr " " is specified, all of the dbIterateDB
related information is returned.
Arguments
Argument
Description
-attr attrName
Specify the attribute of the dbIterateDB related
information.
Valid values: Type, cellview, Row, and LD.
-cv cellviewId
Specify the cell view identifier.
Examples
# Example 1
# Return all DB cell views opened in the memory
Laker³ Tcl Reference Manual
K-2015.06
319
Chapter 4: Database Extensions
General Object Manipulation
# Example 2
# Return all row Ids in the specified DB cell view
dbIterateDB -cv $cvId -attr Row
# Example 3
#set b0 [dbIterateDB]
# TCLError
#set b2 [dbIterateDB -attr Type]
# TCLError
#set b3 [dbIterateDB -attr Row]
# TCLError
set b1 [dbIterateDB -attr cellview]
set b4 [dbIterateDB -cv $cvId -attr Type]
set b5 [dbIterateDB -cv $cvId -attr Row]
foreach rowlist $b5 {
set h3 [dbGet -obj $rowlist -attr AllNames]
set h4 [dbGet -obj $rowlist -attr Type]
set h5 [dbGet -obj $rowlist -attr RowName]
set h6 [dbGet -obj $rowlist -attr SiteOrigin]
set h7 [dbGet -obj $rowlist -attr RowOrient]
set h8 [dbGet -obj $rowlist -attr NumSites]
set h9 [dbGet -obj $rowlist -attr SiteSpacing]
set h10 [dbGet -obj $rowlist -attr RowArea]
}
# The results are:
# a1 = a243c18
# a4 = dbIterateDB
# a5 = a247d20 a247d00 a247ce0 a247cc0 a247ca0 ...
#
h3 = Type RowName SiteDefName SiteOrigin RowOrient NumSites
# SiteSpacing RowArea ParamContent
#
h4 = Row
#
h5 = Row_:8
#
h6 = 7
#
h7 = {0.195 35.450}
#
h8 = 105
#
h9 = 0
#
h10= a245800
#
h3 = Type RowName SiteDefName...
# Example 4
# Return the layer and purpose pair of the specified cell view
dbIterateDB -cv $cvId -attr LD
320
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
# Example 5
set list [dbIterateDB -cv $cv -attr LD]
foreach ob $list {
set L [dbGet -obj $ob -attr Layer]
set P [dbGet -obj $ob -attr Purpose]
set S [dbGet -obj $ob -attr ShapeNum]
set B [dbGet -obj $ob -attr BBox]
puts "LP($L $P) ShapeNum($S) BBox:$B"
}
# The results are:
# LP(8 252) ShapeNum(2) BBox:{{-200.000 -200.000} {100.000
100.000}}
# LP(9 253) ShapeNum(1) BBox:{{100.000 100.000} {200.000 200.000}}
dbIsDbObj
The dbIsDbObj command returns 1 if the general identifier is a dbObject.
Syntax
dbIsDbObj -obj objId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-obj objId
Specify a general identifier.
Examples
dbIsDbObj -obj [dbOpenCV -lib cpu -cell cpu]
dbIsDbObj -obj 123456
dbIterateLib
The dbIterateLib command works as dbGen which generates the data of
the design library.
Syntax
dbIterateLib -lib libName [-attr attrName]
Laker³ Tcl Reference Manual
K-2015.06
321
Chapter 4: Database Extensions
General Object Manipulation
Returns
If -attr is not specified or -attr " " is specified, all of the dbIterateLib
related information is returned.
Arguments
Argument
Description
-attr attrName
Specify the attribute of the dbIterateLib related
information.
Valid values: Type, siteDef, cell, view, and
cellview.
-lib libName
Specify the library name or library identifier.
Examples
# Example 1
set a0 [dbIterateLib -lib $libId -attr Type]
set a1 [dbIterateLib -lib $libId -attr Type]
set a2 [dbIterateLib -lib $libId -attr siteDef]
set a3 [llength [dbIterateLib -lib $libId -attr cell]]
set a4 [llength [dbIterateLib -lib $libId -attr view]]
set a5 [llength [dbIterateLib -lib $libId -attr cellview]]
#
#
#
#
#
#
#
#
#
#
the results are:
a0 = Type: dbIterateLib siteDef: a074000
cell: a06e010 9f56c60 9f56c00 a146a00 a06d890 9f56c30 ...
view: 9f56a40 9f56950 9f56a10 ...
cellview: a0b0700 a00eb00 a008940 9f57080 ...
a1 = dbIterLib
a2 = 9f60800
a3 = a071810 9f69460 9f69400 a14a200 a071090 ...
a4 = 9f69240 9f69150 9f69210 9f69030 9f69270 ...
a5 = a0b3f00 a012300 a00c140 9f69880 9fdda80 ...
dbSelObjsByType
The dbSelObjsByType command returns a list of object identifiers if the
objects from a list of specified object identifiers can be selected by giving an
object type.
Syntax
dbSelObjsByType -objs objIds -type objType
Returns
A list of object identifiers if successful; otherwise, returns nothing.
322
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Arguments
Argument
Description
-objs objIds
Specify a list of object identifiers.
-type objType
Specify the desired object type.
Valid values: CellView, Instance, InstHeader, Array,
Rectangle, Polygon, Line, Path, Label, Arc,
Ellipse, Dot, Property, Group, GroupMember, Net,
Port, Pin, InstPort, and InstPin.
Examples
# please use the technology file under "demo" directory and
# make sure the file name is changed to "laker.tf"
lakerNewLib -lib GEN_OBJ -tech laker.tf
# create a library "GEN_OBJ" with tech file "laker.tf"
# value returned: null
set libId [dbOpenLib -lib GEN_OBJ ]
# open the library created.
# value returned: an id , ex "264780c"
set cvId [dbOpenCV -lib $libId -cell cell -mode create
-view layout]
# create a cell in library "GEN_OBJ" with layout view
# value returned: an id , ex "264680c"
set rect1 [dbCreateRect -cv $cvId -layer 16 -bbox (1,1) (5,5) ]
# create a rectagle
# value returned: an id , ex "2646844"
set rect2 [dbCreateRect -cv $cvId -layer 16 -bbox (6,1) (11,5) ]
# create a rectagle
# value returned: an id , ex "2646847"
set pathId01 [dbCreatePath -cv $cvId -layer 16 -width 1
-point (0,0) (10,0) ]
# create a path
# value returned: an id , ex "264684c"
set pathId02 [dbCreatePath -cv $cvId -layer 16 -width 1
-point (0,10) (10,10) ]
# create a path
# value returned: an id , ex "264684a"
set pathId03 [dbCreatePath -cv $cvId -layer 16 -width 1
-point (0,20) (10,20) ]
# create a path
# value returned: an id , ex "2646875"
dbAddChildToParent -child $rect2 -parent $rect1
Laker³ Tcl Reference Manual
K-2015.06
323
Chapter 4: Database Extensions
General Object Manipulation
# make rectange 2 a child object to rect1
# value returned: 1
dbDelete -obj $pathId03
# delete a path
# value returned: 1
dbIsDbObj -obj $cvId
# check an id is an db object or not
# value returned: 1
set allIds [dbTraverse -cv $cvId -shapeOnly on]
# generate a list of ids
# value returned: list of ids.
# ex: 26468a4 264688c 2646874 2646844
dbSelObjsByType -objs $allIds -type Path
# select objects
# value returned: list of ids. ex: 2646874 2646844
dbSaveCV -cv $cvId
# save cell
# value returned: 1
dbCloseCV -cv $cvId
# close cell
# value returned: 1
dbCloseLib -lib $libId
# close library
# value returned: 1
dbSet
The dbSet command returns 1 if the attribute value of a certain object attribute
can be set.
The object attributes, which set up the contents and their valid values, are
described in the following tables.
324
Objects
Attribute Names
Arc
Net, Parent, Purpose, Layer, EllipseBBox, StartAngle,
StopAngle
Array
Net, Parent, Purpose, ColSpace, Cols, Mag, Master, Name,
Orient, Point, RowSpace, Rows
CellView
CellViewType, DBUPerUU, UserUnit, Flag, RepType, Type
Dot
Net, Parent, Purpose, Layer, BBox, Height, Point, Width
Doughnut
Net, Parent, Purpose, Layer, Inner, Outer, Point, Color, Lock
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Objects
Attribute Names
Ellipse
Net, Parent, Purpose, Layer, BBox, Color, Lock
Group
DeleteWhen, GroupType, IsOrdered, IsUniqueName, Name
Instance
Net, Parent, Purpose, Mag, Master, Name, Orient, Point,
DefCompSource, DefCompPlaceStatus, DefCompProperty,
DefSpecialNetObj, DefShieldNetName, DefWireShape
Instance Pin
Net
Instance Port
All, AllNames, CV, Props, Type, Inst, InstPins, Name, Net,
Port, DefSpecialNetObj
Label
Net, Parent, Purpose, Layer, Font, Height, IsDrafted,
IsOverbar, IsVisible, Justify, Orient, Point, Text, LabelType
Line
Net, Parent, Purpose, Layer, Points
Net
All, AllNames, CV, Props, Type, InstPins, InstPortCount,
InstPorts, Figs, Name, NumBits, Pins, Port, Priority,
DefShieldNetName, DefNetNondefRuleName, DefNetSource,
DefOriginalNetName, DefNetUsage, DefNetProperty, Net,
Parent, Type, UserDefName
Netlist
All, AllNames, namePrefix, termOrder
Path
Net, Parent, Purpose, Layer, BeginExt, EndExt, Points, Style,
Width, DefSpecialPin, DefPinPlaceStatus, DefPinPosition,
DefPinOrient, DefSpecialNetObj, DefShieldNetName,
DefWireShape, Color, Lock
Pin
Dir, PortDir, Name, JointType, Origin
Polygon
Net, Parent, Purpose, Layer, Points, DefSpecialPin,
DefPinPlaceStatus, DefPinPosition, DefPinOrient,
DefSpecialNetObj, DefShieldNetName, DefWireShape, Color,
Lock
Port
Dir, Name, PortType
Property
AllNames, Value
Laker³ Tcl Reference Manual
K-2015.06
325
Chapter 4: Database Extensions
General Object Manipulation
Objects
Attribute Names
Rectangle
Net, Parent, Purpose, Layer, BBox, DefSpecialPin,
DefPinPlaceStatus, DefPinPosition, DefPinOrient,
DefSpecialNetObj, DefShieldNetName, DefWireShape, Color,
Lock
Route
AllNames, Net, Parent, Purpose, IsVisible, IsSpecial, Status,
Topology, Spec, Color, Lock
viaCellViewId
ViaCell
The following table shows the valid values for each attribute.
326
Attribute Name
Valid Values
BBox
(a, b) (c,d)
a b c d
{{a b}{c d}}
BeginExt
A positive floating number.
CellViewType
Graphic, maskLayout, schematic, symbolic, netlist, state,
stranger, vhEntityHier, vhEntityData, vhArchHier,
vhArchData, vhConfHier, vhConfData, vhPackHier,
vhPackBodyData, vhPackData.
Color
String of the new color value.
Cols
A positive integer.
ColSpace
A floating number.
DBUPerUU
A floating number.
DefCompPlaceStatus
Place status of the input component: FIXED, COVER,
PLACED, UNPLACED. Case is ignored.
DefCompProperty
DEF property string of the input component.
DefCompSource
Source type of the input component: NETLIST, DIST,
USER, TIMING. Case is ignored.
DefNetNondefRuleName
The non-default rule used by the input net.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Attribute Name
Valid Values
DefNetProperty
DEF property string of the input net.
DefNetSource
Source type of the input net: NETLIST, DIST, USER,
TIMING, TEST. Case is ignored.
DefNetUsage
Usage of the input net: ANALOG, CLOCK, GROUND,
POWER, RESET, SCAN, SIGNAL, TIEOFF. Case is
ignored.
DefOriginalNetName
The original net of the input net.
DefPinOrient
Orientation: R0, R90, R180, R270, MXR0, MXR90,
MYR0, MYR90.
DefPinPlaceStatus
Place status of the input pin: FIXED, COVER, PLACED,
UNPLACED. Case is ignored.
DefPinPosition
(a,b)
ab
{a b}
DefShieldNetName
For “Net” object type, this specifies the net shielding the
input net. For other object types, this specifies the net
shielded by the input object.
DefSpecialNetObj
0, 1
DefSpecialPin
0, 1
DefWireShape
Wire shape type of the input object: RING, PADRING,
BLOCKRING, STRIPE, FOLLOWPIN, IOWIRE,
OREWIRE, BLOCKWIRE, BLOCKAGEWIRE,
FILLWIRE, DRCFILL. Case is ignored.
DeleteWhen
Never, First, Last.
Dir (access direction of a
pin)
Single value: Left, Right, Top, Bottom.
Multiple values: value string with braces, like {Left Top} or
{Left Bottom Right}.
Dir (port direction)
Input, Output, InputOutput, Jumper, Feedthrough.
EllipseBBox
An ellipse bounding box (the same as BBox).
Laker³ Tcl Reference Manual
K-2015.06
327
Chapter 4: Database Extensions
General Object Manipulation
328
Attribute Name
Valid Values
EndExt
A positive floating number.
Flag
An integer.
Font
Modern, Fixed, Raster, Modern1, Script, Roman,
TTAGth, TTARoman, TTASlab.
GroupType
Set, Collect.
Height
A positive floating number.
Inner
A positive floating number.
IsDrafted
0, 1
IsOrdered
0, 1
IsOverbar
0, 1
IsSpecial
0, 1
IsUniqueName
0, 1
IsVisible
0, 1
JointType
Disjointed, Strong, Weak.
Justify
UpperLeft, CenterLeft, LowerLeft, UpperCenter,
CenterCenter, LowerCenter, UpperRight, CenterRight,
LowerRight.
LabelType
Normal, Annotate, Comment.
Layer
0~255 or a layer name.
Lock
0, 1
Mag
A floating number.
Master
A cell view identifier.
Name
A string.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Attribute Name
Valid Values
Net
A net identifier.
Orient
Orientation: R0, R90, R180, R270, MXR0, MXR90,
MYR0, MYR90.
Origin
A point value, for example: (x,y).
Outer
A positive floating number.
Parent
A db object identifier.
Point
(a,b)
a b
{a b}
Points
(a,b) (c,d) ...(y,z)
a b c d ... y z
{{a b}{c d} ... {y z}}
PortType
Unknown, Data, Clock, SyncSet, SyncReset, AsyncSet,
AsyncReset, Control, TriEnable, ComboOutput,
TriOutput, Latched, Registered, InferLatch, FSMControl,
FSMOutput, OffPageConn, Hidden
If return=1, then set PortType successfully.
If return=0, then fail to set PortType.
Priority
0~127
Purpose
0~255 or a purpose name.
RepType
Refer to RepType in dbGet.
Rows
A positive integer.
RowSpace
A floating number.
Spec
The Spec name of routes. When SpecValue is NULL, it
clears the Spec value in $routeId.
StartAngle
A floating number.
Laker³ Tcl Reference Manual
K-2015.06
329
Chapter 4: Database Extensions
General Object Manipulation
Attribute Name
Valid Values
Status
Normal, Cover, Fixed, Routed, Shield, NoShield
StopAngle
A floating number.
Style
Truncate, Extend, Round, Variable.
Text
A string.
Topology
None, Ring, PadRing, BlockRing, Stripe, FollowPin,
IOWire, CoreWire, BlockWire, BlockageWire, FillWire,
DrcFill
Type (cellviewType)
0, 1
If value=1, then set UnneedAPR=TRUE.
If value=0, then set UnneedAPR=FALSE.
The return value=1 if successful; otherwise, returns 0.
Type (NetType)
SIGNAL, GROUND, SUPPLY, GLOBAL.
UserDefName
0, 1
If value=1, return=1, then set "the net is user-defined".
If value=1, return=0, then do not set "the net is userdefined".
If value=0, return=1, then unset "the net is user-defined".
If value=0, return=0, then do not unset "the net is userdefined".
UserUnit
Micro, millimeter, centimeter, meter, mil, inch.
ViaCell
1
If value=1, then add the via cell property.
Width
A positive floating number.
Syntax
dbSet -obj objId -attr attrName -value attrValue [-attType
attType]
Returns
1 if successful; otherwise, returns 0.
330
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
Arguments
Argument
Description
-attr attrName
Specify the attribute name.
-attType attType
Specify the attribute type.
Valid values: original and user.
-obj objId
Specify the object identifier.
Valid values: cell view identifier, instance identifier, array
identifier, rectangle identifier, polygon identifier, line
identifier, path identifier, label identifier, arc identifier,
ellipse identifier, doughnut identifier, dot identifier, net
identifier, netlist identifier, pin identifier, port identifier,
instance port identifier, instance pin identifier, property
identifier, group identifier, and cell view identifier of a via.
-value attrValue
Specify the attribute value. This value depends on the attr option.
Examples
# Example 1
dbSet -obj $pathId -attr Points -value (0,0)(1,1)(2,1)(3,1)
dbSet -obj $rectId -attr BBox -value (0,0)(3,5)
dbSet -obj $instId -attr Master -value [dbOpenCV -lib lib2
-cell C2]
dbSet -obj $instId -attr DefCompSource -value netlist
dbSet -obj $rectId -attr DefPinPlaceStatus -value COVER
dbSet -obj $polyId -attr DefPinPosition -value (1.23,-1.23)
dbSet -obj $pathId -attr DefPinOrient -value MXR90
dbSet -obj $netId -attr DefNetUsage -value signal
dbSet -obj $instPortId -attr IsDefSpecialNetObj -value 1
# Example 2
# set via cell property
set viaCvId [dbOpenCV -lib cpu -cell via12 -view abs -mode edit]
dbSet -obj $viaCvId -attr ViaCell -value 1
# Example 3
set a [lakerGetSelSet]
set cvId [lakerGetWndCellViewId]
set netId [dbCreateNet -cv $cvId -name N -get 1]
dbSet -obj $a -attr Net -value $netId
# Example 4
dbSet -obj $PropId -attr Value -Value XXX
Laker³ Tcl Reference Manual
K-2015.06
331
Chapter 4: Database Extensions
General Object Manipulation
#(a) When this Prop's value Type is LpPair, UserPair, then
#
dbSet -obj $PropId -attr Value -Value "{layerNum purposeNum}"
#
or
#
dbSet -obj $PropId -attr Value -Value "(layerNum purposeNum)"
#
or
#
dbSet -obj $PropId -attr Value -Value "layerNum purposeNum"
#(b) When this Prop's value Type is Time, then
#
dbSet -obj $PropId -attr Value -Value "Mar 31 12:50:30 2005"
#(c) When this Prop's value Type is Boolean return
#
dbSet -obj $PropId -attr Value -Value 1 > for true
#
dbSet -obj $PropId -attr Value -Value 0 > for false
#(d) Other supported types: String, Int, Float, DBId.
#(e) Not supported types: HierProp, BString.
# Example 5
# For JointType
dbSet -obj $pinId -attr JointType -value XXX
# XXX can be one of {Disjointed, Strong, Weak}
# Example 6
# For AccessDirection
dbSet -obj $pinId -attr Dir -value Value
# (1) When Value is a single value,
#
then the Value is one of the following four strings
#
Top, Bottom, Left, Right
#
For example:
#
dbSet -obj $pinId -attr Dir -value {Top};
# (2) When Value is a multiple value,
#
then the Value is composed string with braces of following
#
four strings Top, Bottom, Left, Right
#
For example:
#
dbSet -obj $pinId -attr Dir -value {Top Bottom};
# Example 7
# For pinType(PortDirType)
# XXX can be one of {Input, Output, InputOutput,
#
Jumper, Feedthrough}
dbSet -obj $pinId -attr PortDir -value XXX
# Example 8
dbSet -obj $pathSegId -attr IsSpecial -value 0|1
# Example 9
# The return value is origin (-500,500)
dbSet -obj $PinId -attr Origin -value (-500,500)
set gorigin [dbGet -obj $PinId -attr Origin]
# Example 10
dbSet -obj $labelId -attr LabelType -value XXX
# XXX can be one of {Normal, Annotate, Comment}
# LabelType
# "Unknown",
// dbcNormalLabel >tclErrMsg
332
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
General Object Manipulation
# "Normal",
# "Annotate",
# "Comment",
// dbcNormalLabel
// dbcAnnotateLabel
// dbcCommentLabel
# Example 11
dbSet -obj $netId -attr Type -value XXX
#
#
#
#
#
#
XXX can be one of {SIGNAL, GROUND, SUPPLY, GLOBAL}
"", // dbcUnknownNetType
"SIGNAL", // dbcSignalNet
"GROUND", // dbcGroundNet
"SUPPLY", // dbcSupplyNet
"GLOBAL", // dbcGlobalNet
# Example 12
dbSet -obj $cvId -attr RepType -value XXX
# XXX can be one of dbRepType {NotCell, OrCell..}
# Example 13
dbSet -obj $cvId -attr Type -value 1|0
# if value=1, then set UnneedAPR=TRUE, the return value=1 if
successful.
# if value=0, then do not call setUnneedAPR(), the return value=0.
# Example 14
dbSet -obj $SNetId -attr UserDefName -value 1 ##return :1
dbGet -obj $SNetId -attr UserDefName
##return :1
dbSet -obj $VNetId -attr UserDefName -value 0 ##return :1
dbGet -obj $VNetId -attr UserDefName
##return :0
# Example 15
dbSet -obj $portId -attr PortType -value XXX
# XXX can be one of
# {
# "Unknown", "Data",
"Clock",
"SyncSet",
"SyncReset",
# "AsyncSet", "AsyncReset", "Control",
# "TriEnable", "ComboOutput", "TriOutput", "Latched",
# "Registered","InferLatch", # "FSMControl",
# "FSMOutput", "OffPageConn","Hidden"
# }
# If the value is the other type, a Tcl error is shown.
# Example 16
# Set one attribute/value for a paramId
dbSet -obj $paramId -attr attrName -value v [-attType original]
# Example 17
# Set a value to the property for a netlistId
dbSet -obj $netlistId -attr namePrefix -value xxx [-attType user]
Laker³ Tcl Reference Manual
K-2015.06
333
Chapter 4: Database Extensions
Parameterized Test Structure Devices
# Example 18
dbSet -obj $shape -attr Color -value colorA
# Example 19
dbSet -obj $shape -attr Lock -value 1
Parameterized Test Structure Devices
This section describes the Tcl commands that are related to the manipulation
on parameterized test structure devices. These commands include:
■
dbUDDBool
■
dbUDDCopy
■
dbUDDDelete
■
dbUDDFill
■
dbUDDGetParameter
■
dbUDDSetParameter
dbUDDBool
The dbUDDBool command returns a list of figures after the Boolean operation.
Syntax
Apply Boolean operation on two sets of figures:
dbUDDBool -action [AND | OR | NOT | SIZE | GROW | SHRINK |
SIZE4DIR] -outputLayer layerPurpose -opnd1 figList1 opnd2 figList2
Apply Boolean operation on specific layers:
dbUDDBool -action [AND | OR | NOT | SIZE | GROW | SHRINK |
SIZE4DIR] -outputLayer layerPurpose -opnd1Layer
layerPurpose -opnd2Layer layerPurpose -sizeValue
sizeValue -cv cellviewId
Returns
List of figures after the Boolean operation if successful; otherwise returns
nothing.
334
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Parameterized Test Structure Devices
Arguments
Apply the Boolean operation on two sets of figures:
Argument
Description
-action
[AND|OR|NOT|SIZE|
GROW|SHRINK|
SIZE4DIR]
Specify the Boolean operation.
Valid values: AND, OR, NOT, SIZE, GROW, SHRINK,
and SIZE4DIR.
GROW, SHRINK, and SIZE4DIR have to be used with
-left, -right,
-top, or -bottom.
-opnd1 figList1
Specify the first input list of figures.
-opnd2 figList2
Specify the second input list of figures.
-outputLayer
layerPurpose
Specify the output layer for the results from the
Boolean operation.
Apply the Boolean operation on specific layers:
Argument
Description
-action
[AND|OR|NOT|SIZE|
GROW|SHRINK|
SIZE4DIR]
Specify the Boolean operation.
Valid values: AND, OR, NOT, SIZE, GROW, SHRINK,
and SIZE4DIR.
GROW, SHRINK, and SIZE4DIR have to be used with
-left, -right,
-top, or -bottom.
-cv cellviewId
Specify the cell view that the Boolean operation
applies to. It is only needed when using layer-base
operation.
-opnd1Layer layerPurpose Specify the input layer1.
-opnd2Layer layerPurpose Specify the input layer2.
-outputLayer layerPurpose Specify the output layer for the results from the
Boolean operation.
-sizeValue sizeValue
Laker³ Tcl Reference Manual
K-2015.06
Specify the value for the SIZE operation (only valid
for SIZE).
335
Chapter 4: Database Extensions
Parameterized Test Structure Devices
Examples
dbUDDBool -action [AND|OR|NOT|SIZE] -outputLayer layerPurpose \
-opnd1Layer {OD drawing } -opnd2Layer POLY -sizeValue 0.5 \
-cv $CVId
dbUDDCopy
The dbUDDCopy command returns a list of figures resulting from copy
procedure if the procedure can be defined.
Syntax
dbUDDCopy -figs figList -cols colNo -rows rosNo -colSpace
colSpace -rowSpace rowSpace
Returns
List of figures resulting from the copy procedure if successful, otherwise returns
nothing.
Arguments
Argument
Description
-cols colNo
Specify an integer number for the repeated columns of
the copied figures.
-colSpace colSpace
Specify the spacing between two columns.
-figs figList
Specify the list of figures.
-rows rosNo
Specify an integer number for the repeated rows of the
copied figures.
-rowSpace rowSpace
Specify the spacing between two rows.
Examples
set Pitch 3.4
set Figx0 [expr -1.04]
set Figx2 [expr $Figx0+0.4]
set Figy1 [expr -1.04]
set Figy3 [expr [max [expr 0.875] [expr $Figx2+1.515]]]
set __colSpace__ [expr $Pitch]
set __rowSpace__ [expr $Pitch]
set _Fig0 [dbCreateRect -cv $cvId -layer CellBdry \
-purpose boundary -bbox ($Figx0, $Figy3) ($Figx2, $Figy1)]
336
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Parameterized Test Structure Devices
set _Fig1 [dbCreateRect -cv $cvId -layer CellBdry \
-purpose boundary -bbox ($Figy1, $Figx0) ($Figy3, $Figx2)]
set copiedFigs [dbUDDCopy -figs [list $_Fig0 $_Fig1] -cols 2 \
-rows 2 -colSpace $__colSpace__ -rowSpace $__rowSpace__]
dbUDDDelete
The dbUDDDelete command deletes a list of figures.
Syntax
dbUDDDelete -figs figList
Returns
None
Arguments
Argument
Description
-figs figList
Specify the list of figures to be deleted.
Examples
dbUDDDelete -figs [list $_Fig0 $_Fig1]
set ActRegion [dbUDDBool -action NOT -outputLayer MET1 \
-opnd1Layer { OD drawing } -opan2Layer {POLY drawing} ]
set FillResult [ dbFill -figs $ActRegion -lib Test \
-cell cont08 -XPitch 1.0 -YPitch 1.0 -LEncl 0.5 \
-REncl 0.5 -TEncl 0.5 -BEncl 0.5]
dbUDDDelete -figs $ActRegion
set METObj1 [dbUDDBool -action SIZE -outputLayer MET1 \
-opnd1 $FillResult -value 0.3]
set METObj2 [dbUDDBool -action SIZE -outputLayer MET1 \
-opnd1 $METObj1 -value -0.2]
dbUDDDelete -figs $METObj1
#// the METObj2 is the objecet that user want in MET1 layer
#// overlapped Active Region
set ALL [dbUDDBool -action OR -outputLayer PWELL \
-opnd1Layer { OD drawing } -opan2Layer {POLY drawing} ]
#// create well object
dbUDDFill
The dbUDDFill command returns a list of instances or arrays if the fill
procedure can be defined.
Laker³ Tcl Reference Manual
K-2015.06
337
Chapter 4: Database Extensions
Parameterized Test Structure Devices
Syntax
dbUDDFill -figs figList [-lib libraryName -cell cellName [view viewName] | -fillInObj figId|figIdList] -colSpace
colSpace -rowSpace rowSpace [-leftEnc leftEnc] [-rightEnc
rightEnc] [-topEnc topEnc] [-bottomEnc bottomEnc] [method contact|guardring] [-justify jusification] [magni manification] [-orient orientation]
Returns
A list of instances or arrays if successful; otherwise, returns nothing.
Arguments
338
Argument
Description
-bottomEnc
bottomEnc
Specify the bottom enclosure space to the filled figure.
Valid value: positive floating number (default=0.0).
-cell cellName
Specify the cell name of the filling cell.
-colSpace colSpace
Specify the spacing between two columns.
-figs figList
Specify the list of figures to be filled.
-fillInObj figId|figIdList
Define the filled object by a figure or a list of figures.
-justify jusification
Specify the justification of the filling cell.
Valid values: UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight,
LowerRight (default=CenterCenter).
-leftEnc leftEnc
Specify the left enclosure spacing to the filled figure.
Valid value: positive floating number (default=0.0).
-lib libraryName
Specify the library name of the filling cell view.
-magni manification
Specify the magnification of the filling cell.
Valid value: positive floating number (default=1.0).
-method
contact|guardring
Specify the method to be used to fill the figures.
Valid value: contact, and guardring
(default=contact).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Parameterized Test Structure Devices
Argument
Description
-orient orientation
Specify the orientation of the filling cell.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, MYR90 (default=R0).
-rightEnc rightEnc
Specify the right enclosure spacing to the filled figure.
Valid value: positive floating number (default=0.0).
-rowSpace rowSpace
Specify the spacing between two rows.
-topEnc topEnc
Specify the top enclosure spacing to the filled figure.
Valid value: positive floating number (default=0.0).
-view viewName
Specify the view name of the filling cell
(default=layout).
Examples
set Pitch 3.4
set Figx0 [expr -1.04]
set Figx2 [expr $Figx0+0.4]
set Figy1 [expr -1.04]
set Figy3 [expr [max [expr 0.875] [expr $Figx2+1.515]]]
set __colSpace__ [expr $Pitch]
set __rowSpace__ [expr $Pitch]
set _Fig0 [dbCreateRect -cv $cvId -layer CellBdry \
-purpose boundary -bbox ($Figx0, $Figy3) ($Figx2, $Figy1)]
set _Fig1 [dbCreateRect -cv $cvId -layer CellBdry \
-purpose boundary -bbox ($Figy1, $Figx0) ($Figy3, $Figx2)]
set instList [dbUDDFill -figs [list $_Fig0 $_Fig1] \
-lib qa -cell cont1 -colSpace $__colSpace__ \
-rowSpace $__rowSpace__ -method guardring ]
# The following example is to fill with parameterized
# test structures
# Variable Cont_2pair keeps the instance id for sub master cell
set Cont_2pairMasterId [dbGet -obj $Cont_2pair -attr Master]
set libName [dbGet -obj $Cont_2pairMasterId -attr LibName]
set cellName [dbGet -obj $Cont_2pairMasterId -attr CellName]
set viewName [dbGet -obj $Cont_2pairMasterId -attr ViewName]
set Cont_2pair_BBox [dbGet -obj $Cont_2pair -attr BBox]
Laker³ Tcl Reference Manual
K-2015.06
339
Chapter 4: Database Extensions
Parameterized Test Structure Devices
set
set
set
set
set
set
colSpace [expr $CT_s + $CT_w]
rowSpace [expr $CT_s + $CT_w]
LeftEnc $M1_CT_E
RightEnc $GateOd1_CT_S
TopEnc $M1_CT_E
BottomEnc $M1_CT_E
set FillResult [dbUDDFill -figs $LeftSide -lib $libName \
-cell $cellName -view $viewName -colSpace $colSpace \
-rowSpace $rowSpace -leftEnc $LeftEnc -rightEnc $RightEnc \
-topEnc $TopEnc -bottomEnc $BottomEnc -method guardring \
-justify CenterCenter]
dbUDDGetParameter
The dbUDDGetParameter command returns all UDD parameter definitions.
Syntax
dbUDDGetParameter -cv cellviewId [-availOnly [0|1]]
Returns
The parameter definition { {paramName type value} ... } is returned if
successful; where:
■
paramNam corresponds to the parameter name.
■
type corresponds to the parameter type.
■
value corresponds to the parameter value.
The valid parameter types and values are as follows:
340
■
String: {parName string $x+1 }
■
Integer: {parName int 3}
■
Float: {parName float 3.3}
■
Boolean: {parName Boolean
■
Layer: {parName layer 16 252}
■
PathStyle: {parName pathStyle
[Truncate|Extend|Round|Variable]}
[0|1]}
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Parameterized Test Structure Devices
■
Rotate: {parName Rotate
[R0|R90|R180|R270|MXR0|MXR90|MYR0|MYR90]
■
Justify: {parName Justify
[UpperLeft|UpperCenter|UpperRight|
CenterLeft|CenterCenter|CenterRight|
LowerLeft|LowerCenter|LowerRight]}
Arguments
Argument
Description
-availOnly 0|1
Valid values: Boolean values, 0, and 1 (default=1).
1 : Return the available parameters only.
0 : Return all parameters.
-cv cellviewId
Specify the cell view identifier.
Examples
# Example 1
# Return the available parameter(s) only
dbUDDGetParameter -cv $cvId
# Example 2
# Return all parameters
dbUDDGetParameter -cv $cvId -availOnly 0
See Also
dbUDDSetParameter
dbUDDSetParameter
The dbUDDSetParameter command modifies the existing parameter
definitions when both the -type and -value arguments must be specified.
Alternatively, it deletes the existing parameter when the -delete argument is
specified.
Syntax
dbUDDSetParameter -cv cellviewId -name parName -value
parValue [-delete] -type [string | int | float | Boolean
| layer | pathStyle | Rotate | Justify]
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
341
Chapter 4: Database Extensions
Parameterized Test Structure Devices
Arguments
Argument
Description
-cv cellviewId
Specify the cell view identifier.
-delete
Delete the specified parameter.
-name parName
Specify the parameter to be modified or deleted.
-type
Specify the parameter type. Refer to the parameter types
and values description in dbUDDGetParameter for details.
Valid values: string, int, float, Boolean, layer,
pathStyle, Rotate, and Justify.
-value parValue
Specify the parameter value. Refer to the parameter types
and values description in dbUDDGetParameter for details.
Examples
# Example 1
# Modify the Param1 definition (paramType: int, value: 12)
dbUDDSetParameter -cv $cvId -name Param1 -type int -value 12
# Example 2
# Modify the Param1 definition (paramType: string,
# value: {$a1*4+1})
dbUDDSetParameter -cv $cvId -name Param1 -type string \
-value {$a1*4+1}
# Example 3
# Modify the Param1 definition (paramType: layer, value: "1 252")
dbUDDSetParameter -cv $cvId -name Param1 -type layer "1 252"
# Example 4
# Modify the Param1 definition (paramType: Justify, value:
CenterCenter)
dbUDDSetParameter -cv $cvId -name Param1 -type Justify \
-value CenterCenter
# Example 5
# Modify the Param1 definition (paramType: float,
# value: 30.123456)
dbUDDSetParameter -cv $cvId -name Param1 -type float \
-value 30.123456
342
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Schematic Object Manipulation
# Example 6
# Modify the Param1 definition (paramType: Boolean, value: 1)
dbUDDSetParameter -cv $cvId -name Param1 -type Boolean -value 1
# Example 7
# Modify the Param1 definition (paramType: pathStyle,
# value: Truncate)
dbUDDSetParameter -cv $cvId -name Param1 -type pathStyle \
-value Truncate
# Example 8
# Modify the Param1 definition (paramType: Rotate, value: R0)
dbUDDSetParameter -cv $cvId -name Param1 -type Rotate -value R0
# Example 9
# Delete the Param1 parameter
dbUDDSetParameter -cv $cvId -name Param1 -delete
See Also
dbUDDGetParameter
Schematic Object Manipulation
This section describes the Tcl commands that are related to the manipulation
on the schematic. These commands include:
■
dbSchCloneMaster
■
dbSchExpandMFactor
■
dbSchFlatten
■
dbSchGroup
■
dbSchInstanceMap
■
dbSchMakeNode
■
dbSchUngroup
dbSchCloneMaster
The dbSchCloneMaster command copies the master cell of the specified
instance to another cell.
Laker³ Tcl Reference Manual
K-2015.06
343
Chapter 4: Database Extensions
Schematic Object Manipulation
Syntax
dbSchCloneMaster -cv cellviewId -inst inst_list -newCell
cell_name
Returns
None
Arguments
Argument
Description
-cv cellviewId
Specify the working cell view.
-inst inst_list
Specify the instances.
-newCell cell_name
Specify the new cell for hard blocks.
Examples
# clone master
set lib [dbOpenLib !Vlib demo]
set cvId [dbOpenCV -lib $lib -cell and]
dbSchCloneMaster -cv $cvId -inst x1 -newCell CloneCell
dbSchExpandMFactor
The dbSchExpandMFactor command expands M-Factor of the specified
instances.
Syntax
dbSchExpandMFactor -cv cellviewId -inst inst_list
Returns
None
Arguments
Argument
Description
-cv cellviewId
Specify the working cell view.
-inst inst_list
Specify the instances.
Examples
dbSchExpandMFactor -cv $cvId -inst x0 x1
344
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Schematic Object Manipulation
dbSchFlatten
The dbSchFlatten command flattens the specified schematic objects.
Syntax
dbSchFlatten -cv cellviewId -inst inst_list [-level
flatten_level]
Returns
None
Arguments
Argument
Description
-cv cellviewId
Specify the working cell view.
-inst inst_list
Specify the instances.
-level flatten_level
Specify the flatten level.
Valid value: Integer from 1 to 50 (default=1).
Examples
# flatten instances
set lib [dbOpenLib -lib demo]
set cvId [dbOpenCV -lib $lib -cell and]
dbSchFlatten -cv $cvId -inst x0 x1 -level 2
See Also
lakerSchFlattenAll
lakerSchFlattenLvl
lakerSchFlattenOne
lakerSmashObj
dbSchGroup
The dbSchGroup command is used for the ECO extraction when the Expand
Schematic command is executed. This command rebuilds the user-defined
group and stacking MOS group in the target library.
Syntax
dbSchGroup -cv cellviewId -inst instList [-name groupName]
-type groupType
Laker³ Tcl Reference Manual
K-2015.06
345
Chapter 4: Database Extensions
Schematic Object Manipulation
Returns
None
Arguments
Argument
Description
-cv cellviewId
Specify the logic cell view.
-inst instList
Specify the instances. Multiple instances must be
separated by spaces, for example: -inst x1 x2.
-name groupName
Specify the group name. If it is not specified, the system
generates a unique name automatically.
-type groupType
Specify the group type.
Valid values: user and stacking (default=user).
Examples
# Example 1
set lib [dbOpenLib -lib demo]
set cvId [dbOpenCV -lib $lib -cell and]
dbSchGroup -cv $cvId -inst x1 x2 x3 -name G1 -type user
# Example 2
set lib [dbOpenLib -lib demo]
set cvId [dbOpenCV -lib $lib -cell and]
dbSchGroup -cv $cvId -inst x11 x12 x13 -name StackMOS_1 \
-type stacking
dbSchInstanceMap
The dbSchInstanceMap command changes the instance mapping
information.
Syntax
dbSchInstanceMap -cv cellviewId -inst instName -mapLib
refLib -mapCell refCell -mapView refView [-parameterMap
{parameterMapping}] [-portMap {portMappingList}] [hierInstMap hierInstMap][-hierNetMap hierNetMap]
Returns
None
346
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Schematic Object Manipulation
Arguments
Argument
Description
-cv cellviewId
Specify the working cell view.
-hierInstMap
hierInstMap
Specify the hierarchical instance mapping.
-hierNetMap
hierNetMap
Specify the hierarchical net mapping.
-inst instName
Specify the modified instance.
-mapCell refCell
Specify the layout mapping cell.
-mapLib refLib
Specify the layout mapping library
(default=current library).
-mapView refView
Specify the layout mapping view.
-parameterMap
parameterMapping
Specify the parameter mapping list.
Refer to the definition of the MODEL_MAP section in
the model map file for more details on the formats of
ParameterMap.
-portMap mappingPort
Specify the layout mapping port in format:
{ port1:Mapped_port1 ...
portn:Mapped_portn}
Examples
# Example 1
set lib [dbOpenLib -lib demo]
set cvId [dbOpenCV -lib $lib -cell and]
# change mapping of instance(x1) to cell(devCell) in the
# library(demo)
dbSchInstanceMap -cv $cv -inst x1 -mapLib demo \
-mapCell devCell -mapView symbolic
dbSchMakeNode
The dbSchMakeNode command groups the specified instances to a schematic
hierarchy hard block.
Laker³ Tcl Reference Manual
K-2015.06
347
Chapter 4: Database Extensions
Schematic Object Manipulation
Syntax
dbSchMakeNode -cv cellviewId -inst instList -newCell
cellName [-newInst instName]
Returns
None
Arguments
Argument
Description
-cv cellviewId
Specify the working cell view.
-inst instList
Specify the instances.
-newCell cellName
Specify the new cell name for hard block.
-newInst instName
Specify the new instance name. If it is not specified, a
unique system-generated name is used.
Examples
# make node instances
set lib [dbOpenLib -lib demo]
set cvId [dbOpenCV -lib $lib -cell and]
dbSchMakeNode -cv $cvId -inst x0 x1 -newCell MkCell -newInst xMk1
See Also
lakerSchMakeNode
lakerMakeCell
dbSchUngroup
The dbSchUngroup command is used for the ECO extraction when the
Expand Schematic command is executed. This command ungroups the autocreated stacking MOS group in the target library.
Syntax
dbSchGroup -cv cellviewId -inst instList -type groupType
Returns
None
348
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
DFM
Arguments
Argument
Description
-cv cellviewId
Specify the logic cell view.
-inst instList
Specify the instances. Multiple instances must be
separated by spaces, for example: -inst x1 x2.
-type groupType
Specify the group type.
Valid value: stacking.
Examples
set lib [dbOpenLib -lib demo]
set cvId [dbOpenCV -lib $lib -cell and]
dbSchUngroup -cv $cvId -inst x11 x12 x13 -type stacking
DFM
This section describes the Tcl commands that are related to the manipulation
on the DFM process. These commands include:
■
dbGetAllMCellDeviceNames
■
dbGetAllMCellRuleValues
dbGetAllMCellDeviceNames
The dbGetAllMCellDeviceNames command gets all device names of the
specified MCell type defined in the technology file of the specified library.
Syntax
dbGetAllMCellDeviceNames -lib library_name -type
MCell_type_name
Returns
None
Arguments
Argument
Description
-lib library_name
Specify the library name.
Laker³ Tcl Reference Manual
K-2015.06
349
Chapter 4: Database Extensions
DFM
Argument
Description
-type MCell_type_name
Specify the MCell type name.
Valid values: transistor, resistor,
capacitor, guardRing, and contactDevice.
Examples
# Example 1
dbGetAllMCellDeviceNames -lib "cpu" -type "transistor"
# Return: "pmos nmos pmos1 nmos1"
See Also
Layout Window: DFM > DFM
dbGetAllMCellRuleValues
lakerUpdateMCell
dbGetAllMCellRuleValues
The dbGetAllMCellRuleValues command gets all MCell rule values of the
specified device by giving a device name, library name and MCell type.
Syntax
dbGetAllMCellRuleValues -lib library_name -type
MCell_type_name -dev device_name
Returns
None
Arguments
Argument
Description
-dev device_name
Specify the device name.
-lib library_name
Specify the library name.
-type MCell_type_name
Specify the MCell type.
Valid values: transistor, resistor,
capacitor, guardRing, and contactDevice.
Examples
# Example 1
dbGetAllMCellRuleValues -lib "cpu" -type "transistor" -dev "pmos"
# Return: "minPoly2GateExtension 0.1 minOd2GateExtension 0.3 ..."
350
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
See Also
Layout Window: DFM > DFM
dbGetAllMCellDeviceNames
lakerUpdateMCell
Technology File
This section describes the Tcl command that is related to the manipulation on
the technology file.
■
tfGet
tfGet
The tfGet command returns an attribute value if the attribute value of the
specified section rule can be obtained.
The tfGet command is available in the execPlugIn section for MCell Plugins
when the tfLayoutMagicCell or tfLayoutMagicCellCallBack sections
have been encrypted.
Rules in technology file sections and their valid attribute names and values can
be manipulated through the tfGet Tcl command. These sections includes:
■
■
tfTechParameter: Parameter names defined in this section are returned
in the condition of:
•
If -attr <Parameter_Name> is specified, returns the value of the
specified parameter.
•
If -attr All is specified, returns a list of the defined parameter names
and their values. For example: {<Parameter_Name> <Value>}
{<Parameter_Name> <Value>}...
•
If -attr AllNames is specified, returns a list of the defined parameter
names. For example: <Parameter_Name> <Parameter_Name>
...
tfLayoutSystemUnit: Settings defined in this section are returned in the
condition of:
Laker³ Tcl Reference Manual
K-2015.06
351
Chapter 4: Database Extensions
Technology File
■
352
•
If -attr UserUnit is specified, returns the value defined with
userUnit. Valid values: micro, millimeter, centimeter, meter,
mil, and inch.
•
If -attr Scale is specified, returns the value defined with dbScale.
Valid value: a floating number.
•
If -attr Resolution is specified, returns the value defined with
dbResolution. Valid value: a floating number.
•
If -attr XGridSpacing is specified, returns the value defined with
xGridSpacing. Valid value: a floating number.
•
If -attr YGridSpacing is specified, returns the value defined with
yGridSpacing. Valid value: a floating number.
•
If -attr GridSpacing is specified, returns a pair of values defined
with xGridSpacing and yGridSpacing. The format is
<X_Grid_Spacing> <Y_Grid_Spacing>.
•
If -attr MajorGridRatio is specified, returns the value defined with
majorGridRatio. Valid value: a positive integer.
•
If -attr GridType is specified, returns the value defined with
gridType. Valid values: None, Dot, and Line.
•
If -attr ContactCenterGrid is specified, returns the value defined
with contactCenterGrid. Valid value: a floating number.
•
If -attr All is specified, returns a list of attribute-value pairs. For
example: {UserUnit <Value>} {Scale <Value>} ...
•
If -attr AllNames is specified, returns a list of the attribute names.
For example: UserUnit Scale ...
tfSystemPurpose: User-defined and built-in purpose names
(substrate, blockage, control, softBdry, warning, tool,
label, flight, error, annotate, boundary, pin, drawing,
net, cell) in the tfSystemPurpose section are returned in the
condition of:
•
If -attr <Purpose_Name> is specified, returns the purpose number
of the specified purpose. Valid value: 0-255.
•
If -attr PurposeNum<Purpose_Number> is specified, returns the
corresponding purpose name.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
■
•
If -attr All is specified, returns a list of user-defined purpose namenumber pairs. For example: {<Purpose_Name> <Purpose_Num>}
{<Purpose_Name> <Purpose_Num>}...
•
If -attr AllNames is specified, returns a list of user-defined purpose
names. For example: <Purpose_Name> <Purpose_Name> ...
•
If -attr AllBuiltIn is specified, returns a list of built-in purpose
name-number pairs. For example: {<Purpose_Name>
<Purpose_Num>} {<Purpose_Name> <Purpose_Num>}...
•
If -attr AllNamesBuiltIn is specified, returns a list of built-in
purpose names. For example: <Purpose_Name> <Purpose_Name>
...
tfLayoutLayerTable: Attributes for a specified layer identifier defined in
this section are returned in the condition of:
•
If -attr LayerName is specified, returns the layer name of the layer.
•
If -attr LayerNum is specified, returns the layer number of the layer.
Valid value: 0-255.
•
If -attr PurposeName is specified, returns the purpose name of the
layer.
•
If -attr PurposeNum is specified, returns the purpose number of the
layer. Valid value: 0-255.
•
If -attr FillColor is specified, returns the fill color name of the
layer.
•
If -attr Stipple is specified, returns the stipple name of the layer.
•
If -attr LineColor is specified, returns the line color name of the
layer.
•
If -attr LineStyle is specified, returns the line style name of the
layer.
•
If -attr Packet is specified, returns the packet name of the layer.
•
If -attr Visible is specified, returns 1 if the shapes in the layer is
visible; otherwise, returns 0.
•
If -attr Selectable is specified, returns 1 if the shapes in the layer
is selectable; otherwise, returns 0.
•
If -attr Appear is specified, returns 1 if the layer appears in the layer
table pane; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
353
Chapter 4: Database Extensions
Technology File
•
If -attr All is specified, returns a list of attribute-value pairs for the
specified layer. If FillColor, Stipple, LineColor, and LineStyle
are defined but Packet is not, the packet is not listed. For example:
{LayerName <Layer_Name>} {LayerNum <Layer_Num>} ...
•
If -attr AllNames is specified, returns a list of the above attribute
names. If FillColor, Stipple, LineColor, and LineStyle are
defined but Packet is not, the packet is not listed. For example:
LayerName LayerNum ...
Other attributes without any specified layer identifier are also returned.
These attributes include all user-defined and built-in layers ({PinBorder
substrate}, {PlaceBlockage blockage}, {PassThrough
control}, {SoftBdry softBdry}, {RouteBlockage warning},
{Mark tool}, {PinBlockage label}, {TLRDevBdry flight},
{TLRPadBdry annotate}, {CellBdry boundary}, {SoftPin pin},
{ShortErr drawing}, {R_Extent net}, and {CoreBdry cell})
defined in the tfLayoutLayerTable section.
■
•
If -attr All is specified, returns a list of layer identifiers.
•
If -attr AllNames is specified, returns a list of the above attribute
names. For example: LayerName LayerNum ...
•
If -attr AllBuiltIn is specified, returns a list of the above built-in
layer identifiers.
tfStreamIoTable: Attributes for a specified layer identifier defined in this
section are returned in the condition of:
•
If -attr StreamNum is specified, returns the mapped stream number
of the layer. Valid value: 0-65535.
•
If -attr DataType is specified, returns the mapped data type number
of the layer. Valid value: 0-65535.
•
If -attr Available is specified, returns 1 if the layer mapping is
available; otherwise, returns 0.
•
If -attr All is specified, returns a list of the above attribute names
and their values for the layer. For example: {StreamNum
<Stream_Num>} {DataType <Date_Type_Num>} ...
Other attributes without any specified layer identifier are also returned in the
condition of:
•
354
If -attr All is specified, returns a list of the layer identifiers.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
•
■
If -attr AllNames is specified, returns a list of the above attribute
names. For example: StreamNum DataType ...
tfLayoutMagicCell: Attributes defined in this section are returned in the
condition of:
•
If -attr DeviceName is specified, returns the device name.
•
If -attr DeviceType is specified, returns the device type. Only the
transistor device type is supported currently.
Before getting the Version or AllVersions attributes, the
MCellVersionControl flag must be set under the [LeoPreference]
section of the laker.rc resource file:
MCellVersionControl = TRUE
•
If -attr AllVersions is specified, returns a list of versions for the
device identifier.
•
If -attr Version is specified, returns the version of the device
identifier. The value 0 corresponds to the latest version.
If the attributes for layerDef are specified, returns the following attributes:
•
If -attr LayerDef<Mapped_Layer_Name>Name is specified,
returns the mapped layer name defined in the device.
•
If -attr LayerDef<Mapped_Layer_Name>Layer is specified,
returns a layer identifier for the mapped layer defined in the device.
•
If -attr LayerDef<Mapped_Layer_Name>Generate is specified,
returns the value defined with generate for the mapped layer in the
device. Valid values: on, off, user, and <constraint>.
•
If -attr LayerDef<Mapped_Layer_Name>Stretchable is
specified, returns the value defined with stretchable for the mapped
layer in the device.
•
If -attr LayerDef<Mapped_Layer_Name>Extend is specified,
returns the value defined with extend for the mapped layer in the
device. Valid values: on, fillNotch, and rectangle.
•
If -attr LayerDef<Mapped_Layer_Name>BoolOper is specified,
returns the Boolean operations defined for the mapped layer in the
device.
•
If -attr LayerDef<Mapped_Layer_Name>IsUser is specified,
returns 1 if the mapped layer is user-defined; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
355
Chapter 4: Database Extensions
Technology File
356
•
If -attr LayerDef<Mapped_Layer_Name>,
LayerDef<Mapped_Layer_Name>All is specified, returns a list of
attribute-value pairs for the mapped layer defined in the device. For
example: {LayerDef<Mapped_Layer_Name>Name
<Mapped_Layer_Name>}
{LayerDef<Mapped_Layer_Name>Layer
<Layer_Identifier>} ...
•
If -attr LayerDef<Mapped_Layer_Name>AllNames is specified,
returns a list of attribute names for the mapped layer defined in the
device. For example: LayerDef<Mapped_Layer_Name>Name
LayerDef<Mapped_Layer_Name>Layer ...
•
If -attr LayerDef<Mapped_Layer_Name>String is specified, the
rule string for the mapped layer defined in the device is returned.
•
If -attr LayerDef or -attr LayerDefAll is specified, returns a
list of attribute-value pairs for all mapped layers defined in the device.
For example: {LayerDef<Mapped_Layer1_Name>Name
<Mapped_Layer1_Name>}
{LayerDef<Mapped_Layer1_Name>Layer
<Layer_Identifier>} ...
{LayerDef<Mapped_Layer2_Name>Name
<Mapped_Layer2_Name>}
{LayerDef<Mapped_Layer2_Name>Layer
<Layer_Identifier>} ...
•
If -attr LayerDefAllNames is specified, returns a list of the mapped
layer names defined in the device. For example:
LayerDef<Mapped_Layer1_Name>
LayerDef<Mapped_Layer2_Name> ...
•
If -attr LayerDefReservedNames is specified, returns a list of the
reserved mapped layer names defined in the device. For example:
LayerDef<Mapped_Layer1_Name>
LayerDef<Mapped_Layer2_Name> ...
•
If -attr LayerDefUserNames is specified, returns a list of
LayerDef<Mapped_Layer_Name> where the user-defined mapped
layer names defined in the device. For example:
LayerDef<Mapped_Layer1_Name>
LayerDef<Mapped_Layer2_Name> ...
•
If -attr LayerDefString is specified, returns the rule string for the
layerDef rule defined in the device.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
If the attributes for traitDef are specified, returns the following attributes:
•
If -attr TraitDef<Trait_Name>Name is specified, returns the trait
name defined in the device.
•
If -attr TraitDef<Trait_Name>RepPattern is specified, returns
the repeat pattern for the trait defined in the device.
•
If -attr TraitDef<Trait_Name>OptLayer is specified, returns a
list of option layer names for the trait defined in the device.
•
If -attr TraitDef<Trait_Name> or -attr
TraitDef<Trait_Name>All is specified, returns a list of attributevalue pairs for the trait defined in the device. For example:
{TraitDef<Trait_Name>Name <Trait_Name>}
{TraitDef<Trait_Name>RepPattern <0, 1>} ...
•
If -attr TraitDef<Trait_Name>AllNames is specified, returns a
list of attribute names for the trait defined in the device. For example:
TraitDef<Trait_Name>Name
TraitDef<Trait_Name>RepPattern ...
•
If -attr TraitDef<Trait_Name>String is specified, returns the
rule string for the trait defined in the device.
•
If -attr TraitDef or -attr TraitDefAll is specified, returns a
list of attribute-value pairs for all traits defined in the device. For
example:
{TraitDef<Trait1_Name>Name <Trait1_Name>}
{TraitDef<Trait1_Name>RepPattern <0, 1>} ...
{TraitDef<Trait2_Name>Name <Trait2_Name>}
{TraitDef<Trait2_Name>RepPattern <0, 1>} ...
•
If -attr TraitDefAllNames is specified, returns a list of the trait
names defined in the device. For example:
TraitDef<Trait1_Name>Name TraitDef<Trait2_Name>Name
...
•
If -attr TraitDefString is specified, returns the rule string for the
traitDef rule defined in the device.
If the attributes for ruleDef, stackVia, Esd, and polyContact with/
without ruleSwitch are specified, returns the following attributes.
Laker³ Tcl Reference Manual
K-2015.06
357
Chapter 4: Database Extensions
Technology File
When specifying the attributes, <Rule_Type> can be RuleDef,
StackVia, ESD, or PolyContact; and <Command_Name> must be
capitalized.
358
•
If -attr
[RuleSwitch<Switch_Name>]<Rule_Type><Command_Name>De
fault is specified, returns the default value defined with the command
in the rule type (within the rule switch) for the device. Valid value: a
floating point or pairs of floating points.
•
If -attr
[RuleSwitch<Switch_Name>]<Rule_Type><Command_Name>Co
ndition is specified, returns a list of conditional rules with its value
defined with the command in the rule type (within the rule switch) for the
device.
•
If -attr
[RuleSwitch<Switch_Name>]<Rule_Type><Command_Name> or
-attr
[RuleSwitch<Switch_Name>]<Rule_Type><Command_Name>Al
l is specified, returns a list of attribute-value pairs for the command
defined in the rule type (within the rule switch) of the device. For
example:
{[RuleSwitch<Switch_Name>]RuleDef<Command_Name>Defau
lt <Default_Value>} {[RuleSwitch<Switch_Name>]
RuleDef<Command_Name>Condition <Conditional_Rules>}
•
If -attr
[RuleSwitch<Switch_Name>]<Rule_Type><Command_Name>Al
lNames is specified, returns a list of attribute names where this
command name is defined in the rule type (within the rule switch) for the
device. For example: [RuleSwitch<Switch_Name>]
RuleDef<Command_Name>Default
[RuleSwitch<Switch_Name>]
RuleDef<Command_Name>Condition
•
If -attr [RuleSwitch<Switch_Name>]<Rule_Type> or -attr
[RuleSwitch<Switch_Name>]<Rule_Type>All is specified,
returns a list of attribute-value pairs for the rule type defined (within the
rule switch) in the device. For example:
{[RuleSwitch<Switch_Name>]RuleDef<Command1_Name>Defa
ult <Default_Value>} ...
{[RuleSwitch<Switch_Name>]RuleDef<Command2_Name>Defa
ult <Default_Value>} ...
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
•
If -attr [RuleSwitch<Switch_Name>]<Rule_Type>AllNames
is specified, returns a list of
[RuleSwitch<Switch_Name>]<Rule_Type><Command_Name>
where the command names defined in the rule type (within the rule
switch) for the device. For example: [RuleSwitch<Switch_Name>]
RuleDef<Command1_Name> [RuleSwitch<Switch_Name>]
RuleDef<Command2_Name> ...
•
If -attr RuleSwitchDefault or -attr RuleSwitchDefaultAll
is specified, returns a list of attribute-value pairs for all rule types without
any rule switch definition in the device. For example:
{RuleDef<Command_Name>Default <Default_Value>} ...
{StackVia<Command_Name>Default <Default_Value>} ...
•
If -attr RuleSwitchDefaultAllNames is specified, returns a list
of <Rule_Type> where the rule types without any rule switch definition
in the device. For example: RuleDef StackVia ...
•
If -attr RuleSwitchDefaultString is specified, returns the rule
string for the rule type without any rule switch definition in the device.
•
If -attr RuleSwitch<Switch_Name> or -attr
RuleSwitch<Switch_Name>All is specified, returns a list of
attribute-value pairs for all rule types defined within the rule switch in the
device. For example:
{RuleSwitch<Switch_Name>RuleDef<Command_Name>Default
<Default_Value>} ...
{RuleSwitch<Switch_Name>StackVia<Cmd_Name>Default
<Default_Value>} ...
•
If -attr RuleSwitch<Switch_Name>AllNames is specified,
returns a list of RuleSwitch<Switch_Name><Rule_Type> where
the rule types defined within the rule switch in the device. For example:
RuleSwitch<Switch_Name>RuleDef
RuleSwitch<Switch_Name>StackVia ...
•
If -attr RuleSwitch<Switch_Name>String is specified, returns
the rule string for the rule type defined (within the rule switch) in the
device.
•
If -attr RuleSwitchAllNames is specified, returns a list of rule
switch names defined in the device.
If the attributes for CallBack are specified, returns the following attributes:
•
If -attr CallBackParams<Parameter_Name>Name is specified,
returns the variable name defined in the device.
Laker³ Tcl Reference Manual
K-2015.06
359
Chapter 4: Database Extensions
Technology File
360
•
If -attr CallBackParams<Parameter_Name>Default is
specified, returns the default value defined for the variable name in the
device.
•
If -attr CallBackParams<Parameter_Name>Type is specified,
returns the value type of the variable name defined in the device. Valid
values: string, integer, float, and Boolean.
•
If -attr CallBackParams<Parameter_Name>Editable is
specified, returns the editable status of the variable name defined in the
device. Valid values: editable and strict.
•
If -attr CallBackParams<Parameter_Name> or -attr
CallBackParams<Parameter_Name>All is specified, returns a list
of attribute-value pairs for the variable name defined in the device. For
example: {CallBackParams<Parameter_Name>Name
<Parameter_Name>}
{CallBackParams<Parameter_Name>Default
<Default_Value>} ...
•
If -attr CallBackParams<Parameter_Name>AllNames is
specified, returns a list of attribute names where the variable is defined
in the device. For example:
CallBackParams<Parameter_Name>Name
CallBackParams<Parameter_Name>Default ...
•
If -attr CallBackParams<Parameter_Name>String is specified,
returns the rule string for the params rule defined in the device.
•
If -attr CallBackParams or -attr CallBackParamsAll is
specified, returns a list of attribute-value pairs for all variable names
defined with the params rule in the device.
{CallBackParams<Parameter1_Name>Name
<Parameter1_Name>}
{CallBackParams<Parameter1_Name>Default
<Default_Value>} ...
{CallBackParams<Parameter2_Name>Name
<Parameter2_Name>}
{CallBackParams<Parameter2_Name>Default
<Default_Value>} ...
•
If -attr CallBackParamsAllNames is specified, returns a list of
variable names defined with the params rule in the device. For example:
CallBackParams<Parameter1_Name>
CallBackParams<Parameter2_Name> ...
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
•
If -attr CallBackMcellInstId is specified, returns the variable
name defined with the mcellInstId rule in this device.
•
If -attr CallBackExec is specified, returns the rule strings of Tcl
command sets defined with the exec rule in the device.
•
If -attr CallBack or -attr CallBackAll is specified, returns a
list of attribute-value pairs for all attributes defined in the device. For
example: {CallBackParams<Parameter_Name>Name
<Parameter_Name>} ... {CallBackMcellInstId
<Variable_Name>} ...
•
If -attr CallBackAllNames is specified, returns a list of attribute
names where the rules are defined in the device. For example:
CallBackParams<Parameter1_Name>
CallBackParams<Parameter2_Name> ...
CallBackMcellInstId CallBackExec
•
If -attr CallBackString is specified, returns the rule string for the
callBack rule defined in the device.
If -attr All or -attr AllNames is specified, returns the following
attributes:
■
•
If -attr All is specified, returns a list of attribute-value pairs of all
above attribute names defined in the device. For example:
{DeviceName <Device_Name>} {AllVersions
<Version_Num_List>} {Version
<Version_Num>} ...
{LayerDef<Mapped_Layer_Name>Name
<Mapped_Layer_Name>} ... {TraitDef<Trait_Name>Name
<Trait_Name>} ...
{RuleSwitch<Switch_Name>RuleDef<Command_Name>Default
<Default_Value>} ...
{CallBackParams<Parameter_Name>Name
<Parameter_Name>} ...
•
If -attr AllNames is specified, returns a list of the above attribute
names defined in the device. For example: DeviceName DeviceType
AllVersions Version LayerDef TraitDef RuleSwitch
CallBack.
tfLayoutConnection: Attributes for a specified layer identifier are
returned in the condition of:
•
If -attr IsWireLayer is specified, returns 1 if the layer is defined as
a wiring layer in the general connection rule; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
361
Chapter 4: Database Extensions
Technology File
362
•
If -attr IsViaLayer is specified, returns 1 if the layer is defined as
a via layer; otherwise, returns 0.
•
If -attr IsStopLayer is specified, returns 1 if the layer is defined as
a stop layer; otherwise, returns 0.
•
If -attr IsMultiPolyLayer is specified, returns 1 if the layer is
defined as a poly layer in the multi-poly connection rule; otherwise,
returns 0.
•
If -attr WireLayers is specified, returns a list of wiring layer
identifiers defined in the same general connection rules with the layer.
•
If -attr ViaLayers is specified, returns a list of via layer identifiers
defined in the same rules with the layer.
•
If -attr StopLayers is specified, returns a list of stop layer identifiers
defined in the same rules with the layer.
•
If -attr MultiPolyLayers is specified, returns a list of poly layer
identifiers defined in the same multi-poly rules with the layer.
•
If -attr ConnectLayers is specified, returns a list of layer identifiers
in the same rules where the layer is defined. For example:
{<Layer1_Identifier> <Layer2_Identifier>
{<Via_Layer_Identifier_List>}
[<Stop_Layer_Identifier>]} ...
{{<Poly_Layer_Identifier_List>}
{<Via_Layer_Identifier_List>}
[<Stop_Layer_Identifier>]} ...
•
If -attr IsMetalLayer is specified, returns 1 if the layer is defined
in defMetalLayer; otherwise, returns 0.
•
If -attr IsPolyLayer is specified, returns 1 if the layer is defined in
defPolyLayer; otherwise, returns 0.
•
If -attr IsOdLayer is specified, returns 1 if the layer is defined in
defOdLayer; otherwise, returns 0.
•
If -attr All is specified, returns a list of the above attribute names
and their values for the layer. For example: {IsWireLayer <0, 1>}
{IsViaLayer <0, 1>} ...
•
If -attr AllNames is specified, returns a list of the above attribute
names. For example: IsWireLayer IsViaLayer ...
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
Other attributes without any specified layer identifier are also returned in the
condition of:
■
•
If -attr WireLayers is specified, returns a list of wiring layer
identifiers defined in all general connection rules.
•
If -attr ViaLayers is specified, returns a list of via layer identifiers
defined in all rules.
•
If -attr StopLayers is specified, returns a list of stop layer identifiers
defined in all rules.
•
If -attr MultiPolyLayers is specified, returns a list of poly layer
identifiers defined in all rules.
•
If -attr MetalLayers is specified, returns a list of layer identifiers
defined in defMetalLayer.
•
If -attr PolyLayers is specified, returns a list of layer identifiers
defined in defPolyLayer.
•
If -attr OdLayers is specified, returns a list of layer identifiers
defined in defOdLayer.
•
If -attr All is specified, returns a list of the above attribute names
and their values. For example: {WireLayers
<Wire_Layer_Identifier_List>} {ViaLayers
<Via_Layer_Identifier_List>} ...
•
If -attr AllNames is specified, returns a list of the above attribute
names. For example: WireLayers ViaLayers ...
tfNetRouteRule: Attributes for a specified layer identifier are returned in
the condition of:
•
If -attr IsPolyLayer is specified, returns 1 if the layer is defined in
defPolyLayer; otherwise, returns 0.
•
If -attr IsMetalLayer is specified, returns 1 if the layer is defined
in defMetalLayer; otherwise, returns 0.
•
If -attr IsRouteLayer is specified, returns 1 if the layer is defined
in defPolyLayer or defMetalLayer; otherwise, returns 0.
•
If -attr HRouteCost is specified, returns the horizontal routing cost
of the layer. Valid value: a positive integer.
•
If -attr VRouteCost is specified, returns the vertical routing cost of
the layer. Valid value: a positive integer.
Laker³ Tcl Reference Manual
K-2015.06
363
Chapter 4: Database Extensions
Technology File
364
•
If -attr RouteCost is specified, returns a pair of values for the
horizontal and vertical routing costs of the layer. For example:
<Horizontal_Route_Cost> <Vertical_Route_Cost>
•
If -attr MinWidth is specified, returns the minimum width of the
layer. Valid value: a floating point.
•
If -attr PreferWidth is specified, returns the preferred width of the
layer. Valid value: a floating point.
•
If -attr MinSpacing is specified, returns the minimum spacing of the
layer. Valid value: a floating point.
•
If -attr Direction is specified, returns the routing direction of the
layer. Valid values: H, V, HV, and VH.
•
If -attr MaxWireLen is specified, returns the maximum wiring length
of the layer. This is only valid for the layer defined in defPolyLayer.
Valid value: a floating point.
•
If -attr TrackPitch is specified, returns the pitch of the routing track
along the x-axis and y-axis for the layer. For example:
<X_Track_Pitch> <Y_Track_Pitch> (two floating points).
•
If -attr TrackOffset is specified, returns the offset of the routing
track along the x-axis and y-axis for the layer. For example:
<X_Track_Offset> <Y_Track_Offset> (two floating points).
•
If -attr Display is specified, returns 1 if displaying the routing track
for the layer; otherwise, returns 0.
•
If -attr Available is specified, returns 1 if the routing track for the
layer is available; otherwise, returns 0.
•
If -attr Spacing is specified, returns a list of other layer identifiers
and the spacing values in the same rules where the layer is defined. For
example: {<Other_Layer_Identifier> <Spacing_Value>}
...
•
If -attr ContactCost is specified, returns a list of contact device
names and their costs in the same rules where the layer is defined. For
example: {<Contact_Device_Name> <Cost>} ...
•
If -attr FatSpacing is specified, returns a list of value sets in the
same rule where the layer is defined. Valid value: a list of floating points.
•
If -attr All is specified, returns a list of the above attribute names
and their values for the layer. For example: {IsPolyLayer <0, 1>}
{IsMetalLayer <0, 1>} ...
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
•
If -attr AllNames is specified, returns a list of above attribute names.
For example: IsPolyLayer IsMetalLayer ...
Other attributes without any specified layer identifier are also returned in the
condition of:
■
•
If -attr PolyLayers is specified, returns a list of layer identifiers
defined in defPolyLayer.
•
If -attr MetalLayers is specified, returns a list of layer identifiers
defined in defMetalLayer.
•
If -attr RouteLayers is specified, returns a list of layer identifiers
defined in defPolyLayer or defMetalLayer.
•
If -attr SpacingLayers is specified, returns a list of layer identifiers
defined in the spacingRule rules.
•
If -attr ContactCost is specified, returns a list of all contact device
names and their costs defined in the defContDevice rules. For
example: {<Contact_Device_Name> <Cost>} ...
•
If -attr FatSpacingLayers is specified, returns a list of layer
identifiers defined in the fatSpaceRule rules.
•
If -attr All is specified, returns a list of attribute-value pairs of all
above attributes. For example: {PolyLayers
<Poly_Layer_Identifier_List>} {MetalLayers
<Poly_Layer_Identifier_List>} ...
•
If -attr AllNames is specified, returns a list of the above attribute
names. For example: PolyLayers MetalLayers ...
tfMaskResolution: Attributes for a specified layer identifier are returned
in the condition of:
•
If -attr XGridSpacing is specified, returns a pair of the spacing
distances of the minor grid along the x-axis for the layer. Valid value: a
floating point.
•
If -attr YGridSpacing is specified, returns a pair of the spacing
distances of the minor grid along the y-axis for the layer. Valid value: a
floating point.
•
If -attr GridSpacing is specified, returns a pair of the spacing
distances of the minor grid along the x-axis and y-axis for the layer. For
example: <X_Grid_Spacing> <Y_Grid_Spacing>.
Laker³ Tcl Reference Manual
K-2015.06
365
Chapter 4: Database Extensions
Technology File
•
If -attr Available is specified, returns 1 if the minor grid for the
layer is available; otherwise, returns 0.
•
If -attr All is specified, returns a list of the above attribute names
and their values for the layer. For example: {XGridSpacing
<X_Grid_Spacing>} {YGridSpacing <Y_Grid_Spacing>}
{Available <0, 1>} ...
•
If -attr AllNames is specified, returns a list of the above attribute
names. For example: XGridSpacing YGridSpacing
GridSpacing Available
Other attributes without any specified layer identifier are also returned in the
condition of:
■
•
If -attr All is specified, returns a list of the layer identifiers defined
in the tfMaskResolution section.
•
If -attr AllNames is specified, returns a list of the above attribute
names. For example: XGridSpacing YGridSpacing
GridSpacing Available
tfStandardDefinition: Attributes are returned in the condition of:
•
If -attr DeviceName is specified, returns the device name.
•
If -attr IsStandardVia is specified, returns 1 if the device is a
standard via; otherwise, returns 0.
•
If -attr IsCustomVia is specified, returns 1 if the device is a custom
via; otherwise, returns 0.
If the attributes for the stdViaDef rules are specified, returns the
layerDef attributes in the conditon of:
366
•
If -attr LayerDef<Mapped_Layer_Name>Name is specified,
returns the mapped layer name defined in the device.
•
If -attr LayerDef<Mapped_Layer_Name>Layer is specified,
returns a layer identifier for the mapped layer defined in the device.
•
If -attr LayerDef<Mapped_Layer_Name> or -attr
LayerDef<Mapped_Layer_Name>All is specified, returns a list of all
attribute names and their values for the mapped layer defined in the
device. For example: {LayerDef<Mapped_Layer_Name>Name
<Mapped_Layer_Name>}
{LayerDef<Mapped_Layer_Name>Layer
<Layer_Identifier>}.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
•
If -attr LayerDef<Mapped_Layer_Name>AllNames is specified,
returns a list of the attribute names for the mapped layer defined in the
device. For example: LayerDef<Mapped_Layer_Name>Name
LayerDef<Mapped_Layer_Name>Layer.
•
If -attr LayerDef<Mapped_Layer_Name>String is specified,
returns the rule string for the mapped layer defined in the device.
•
If -attr LayerDef or -attr LayerDefAll is specified, returns a
list of attribute-value pairs for all mapped layer defined in the device. For
example: {LayerDef<Mapped_Layer1_Name>Name
<Mapped_Layer1_Name>}
{LayerDef<Mapped_Layer1_Name>Layer
<Layer_Identifier>}
{LayerDef<Mapped_Layer2_Name>Name
<Mapped_Layer2_Name>}
{LayerDef<Mapped_Layer2_Name>Layer
<Layer_Identifier>} ...
•
If -attr LayerDefAllNames is specified, returns a list of
LayerDef<Mapped_Layer_Name> where the mapped layer names
defined in the device. For example:
LayerDef<Mapped_Layer1_Name>
LayerDef<Mapped_Layer2_Name> ...
•
If -attr LayerDefString is specified, returns the rule string for the
layerDef rule defined in the device.
If the attributes for the stdViaDef rules are specified, returns the ruleDef
attributes as follows. When specifying the attributes, <Command_Name>
must be capitalized.
•
If -attr RuleDef<Command_Name>Default is specified, returns a
list of the default values defined with the command name in the device.
Valid value: a list of floating points or pairs of floating points.
•
If -attr RuleDef<Command_Name> or -attr
RuleDef<Command_Name>All is specified, returns a list of attributevalue pairs for the command name defined in the device. For example:
RuleDef<Command_Name>Default <Default_Value>
•
If -attr RuleDef<Command_Name>AllNames is specified, returns a
list of the attribute names where the command name is defined in the
device. For example: RuleDef<Command_Name>Default
Laker³ Tcl Reference Manual
K-2015.06
367
Chapter 4: Database Extensions
Technology File
•
If -attr RuleDef or -attr RuleDefAll is specified, returns a list
of the attribute names and their values for all rules defined in the device.
For example: {RuleDef<Command1_Name>Default
<Default_Value>} {RuleDef<Command2_Name>Default
<Default_Value>} ...
•
If -attr RuleDefAllNames is specified, returns a list of
RuleDef<Command_Name> where the command names defined in the
device. For example: RuleDef<Command1_Name>
RuleDef<Command2_Name> ...
•
If -attr RuleDefString is specified, returns the rule string for the
ruleDef rule defined in the device.
If the attributes for the customViaDef rules are specified, returns the
layerDef attributes. The layerDef attributes of the customViaDef
rules are similar to the layerDef attributes of the stdViaDef rules.
If the attributes for the customViaDef rules are specified, returns the
masterDef attributes in the condition of:
368
•
If -attr MasterDefLibName is specified, returns the library name of
the master cell view for the device.
•
If -attr MasterDefCellName is specified, returns the cell name of
the master cell view for the device.
•
If -attr MasterDefViewName is specified, returns the view name of
the master cell view for the device.
•
If -attr MasterDef or -attr MasterDefAll is specified, returns
a list of attribute-value pairs of all attributes defined in the device. For
example: {MasterDefLibName <Library_Name>}
{MasterDefCellName <Cell_Name>} {MasterDefViewName
<View_Name>}
•
If -attr MasterDefAllNames is specified, returns a list of all
attribute names defined in the device. For example:
MasterDefLibName MasterDefCellName MasterDefViewName.
•
If -attr MasterDefString is specified, returns the rule string of the
masterDef rule defined in the device.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
If -attr All or -attr AllNames is specified, returns the following
attribues:
•
If -attr All is specified, returns a list of attribute-value pairs of all
above attributes defined in the device. For example: {DeviceName
<Device_Name>} {IsStandardVia <0, 1>} {IsCustomVia
<0, 1>} ... {LayerDef<Mapped_Layer_Name>Name
<Mapped_Layer_Name>} ...
{RuleDef<Command_Name>Default <Default_Value>}...
{DeviceName <Device_Name>} {IsStandardVia <0, 1>}
{IsCustomVia <0, 1>} ...
{LayerDef<Mapped_Layer_Name>Name
<Mapped_Layer_Name>} ... {MasterDefLibName
<Library_Name>}...
•
If -attr AllNames is specified, returns a list of the above attribute
names defined in the device. For example: DeviceName
IsStandardVia IsCustomVia LayerDef RuleDef
MasterDefLibName MasterDefCellName MasterDefViewName.
Syntax
Method 1:
tfGet -lib libId -sect sectName [-deviceName deviceName [deviceType deviceType] [-ver version]]
Method 2:
tfGet -obj objId [-layer layerId] [-attr attrName]
Method 3:
tfGet -lib libId -sect sectName [-deviceName deviceName [deviceType deviceType] [-ver version]] [-layer layerId]
-attr attrName
Method 4:
tfGet -lib libName -param parameters
Returns
For Method 1, a section or device identifier is returned if successful; otherwise,
returns nothing.
For Method 2, 3 and 4, the value of the specified attribute is returned if
successful; otherwise, returns nothing.
Laker³ Tcl Reference Manual
K-2015.06
369
Chapter 4: Database Extensions
Technology File
Arguments
370
Argument
Description
-attr attrName
Specify the attribute name.
Valid values: All and AllNames (default=All).
All : Retuen a list of all attribute names and their values.
AllNames : Return a list of all attribute names.
-deviceName
deviceName
Specify the device name. This argument is valid for the
tfLayoutMagicCell and tfStandardDefinition
sections. For the tfLayoutMagicCell section, only the
transistor device names are supported.
-deviceType
deviceType
Specify the device type. This argument is valid for the
transistor device type defined in the
tfLayoutMagicCell section.
-layer layerId
Specify the layer identifier.
-lib libId/libName
Specify the library identifier only for Method 1, 2, and 3.
Specify the logical library name or library identifier for
Method 4.
-obj objId
Specify the section or device identifier.
-param parameters
Specify the parameters.
Valid values: fileName and lastModifiedDate.
fileName : Get the full path of the specified technology
file.
lastModifiedDate : Get the last modified date of the
specified technology library. This date is updated when
creating a library or replacing a technology file.
-sect sectName
Specify the section name to query rules.
Valid values: tfTechParameter,
tfLayoutSystemUnit, tfSystemPurpose,
tfLayoutLayerTable, tfStreamIoTable,
tfLayoutMagicCell, tfLayoutConnection,
tfNetRouteRule, tfMaskResolution, and
tfStandardDefinition.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 4: Database Extensions
Technology File
Argument
Description
-ver version
Specify the version number. This argument is valid for the
tfLayoutMagicCell section.
Valid value: a positive integer, less than or equal to the
latest version number (default=0, which corresponds to the
latest version number).
For example, assuming that the latest version number is 5,
and the version number of the working MCell sub-master
is 3, when -ver 0 is specified, the rule value of the latest
version is returned. When -ver 1 is specified, the rule
value of version number 1 is returned. When -ver is not
specified, the rule value of the working sub-master version
is returned.
Examples
# Example 1
# return the purpose number (240) of substrate
tfGet -lib sample -sect tfSystemPurpose -attr substrate
# Example 2
# return the purpose name (substrate) of the purpose number (240)
tfGet -lib sample -sect tfSystemPurpose -attr PurposeNum240
# Example 3
# Return the full path of the technology file
tfGet -lib sample -param fileName
# Output Results:
# /home/sample/mytf/sample.tf
# Example 4
# Return the last modified time of the technology library
set libId [dbOpenLib -lib sample -mode readOnly]
tfGet -lib $libId -param lastModifiedTime
# Output Results:
# Thu May 6 20:31:44 CST 2010
Laker³ Tcl Reference Manual
K-2015.06
371
Chapter 4: Database Extensions
Technology File
372
Laker³ Tcl Reference Manual
K-2015.06
5
5
Home Page
This chapter describes the definable Tcl commands to access the Graphical
User Interface (GUI) which applied within the Home Page.
The Tcl commands are explained in the following sections. Tcl commands and
arguments are sorted alphabetically.
■
File Commands
■
Library Commands
■
Category Commands
■
Cell Commands
■
Floorplan Commands
■
Options Commands
■
Symbol Callback Commands
■
Netlist Procedure Commands
■
Miscellaneous
File Commands
This section describes the Tcl commands applied to the File commands of the
Home Page. These commands include:
■
adpLibMgrExportSpice
■
adpLibMgrExportVeri
■
adpLibMgrImportTextView
■
adpLibMgrOpenDesign
Laker³ Tcl Reference Manual
K-2015.06
373
Chapter 5: Home Page
File Commands
■
adpOpenWaveAna
■
lakerCDLIn
■
lakerCDLOut
■
lakerCheckSchTimeStamp
■
lakerCheckUnsavedDesign
■
lakerChmod
■
lakerEDIFIn
■
lakerExit
■
lakerExpandSchParameter
■
lakerExportConstraint
■
lakerExportDEF
■
lakerExportLEF
■
lakerExportOASIS
■
lakerExportStream
■
lakerImportConstraint
■
lakerImportDEF
■
lakerImportLEF
■
lakerImportOASIS
■
lakerImportStream
■
lakerImportTLUPlus
■
lakerImportVerilog
■
lakerOpenDesign
■
lakerSession
adpLibMgrExportSpice
The adpLibMgrExportSpice command exports the Laker ADP database to
a Spice format database.
374
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Syntax
adpLibMgrExportSpice -lib libName -cell cellName [-view
viewName] [-file fileName] [-case case] [-sim netType]
[-include 0|1] [-flatten 0|1 [-delimiter delimiter]] [level 0|1] [-forkChild 0|1] [-end 0|1] [-genPseu 0|1] [genIncVa 0|1] [-addu 0|1] [-spiceStop 0|1] [-outputBorder
0|1] [-dummySuffix 0|1] [-busParentheses style] [linespace lineSpace] [-popupInfoDlg 0|1] [-extScript 0|1
[-command command] [-argv arguments]] [-pinInfo 0|1] [removeDevice 0|1]
Returns
None
Arguments
Argument
Description
-addu 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Apply the ‘u’ scale to the width and length.
0 : Do not apply the ‘u’ scale to the width and length.
-argv arguments
Specify the arguments for the script command when
-extScript is specified.
-busParentheses
style
Specify the bus translation style.
Valid values: Angle, Square, Underscore, and None
(default=Angle).
-case case
Specify the case sensitivity setting for the design.
Valid values: preserve, upper, and lower
(default=preserve).
-cell cellName
Specify the cell name of the output design.
-command
command
Specify the script command file when -extScript is
specified.
-delimiter
delimiter
Specify the hierarchical delimiter for objects when
-flatten is specified.
-dummySuffix 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Append Port Name for Dummy Nodes option.
0 : Disable the Append Port Name for Dummy Nodes option.
Laker³ Tcl Reference Manual
K-2015.06
375
Chapter 5: Home Page
File Commands
376
Argument
Description
-end 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Add the .end statement.
0 : Do not add the .end statement.
-extScript 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Invoke Script option.
0 : Disable the Invoke Script option.
-file fileName
Specify the file name of the output file.
-flatten 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Output the design to a flattened netlist.
0 : Output the design to a hierarchical netlist.
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Invoke batch mode.
0: Do not invoke batch mode.
-genIncVa 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Generate the IncVA file (Include Verilog-A Modules in Eldo/
Spice netlist).
0 : Do not generate the IncVA file.
-genPseu 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Display the pseudo device statement.
0 : Do not display the pseudo device statement.
-include 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Export the header for each subcircuit.
0 : Do not export the header for each subcircuit.
-level 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Declare all levels in the output file as subckt.
0 : Do not declare all levels in the output file as subckt.
-lib libName
Specify the library name.
-linespace
lineSpace
Specify the number of maximum characters per line.
Valid value: an integer, from 32 to 4096 (default=128).
-outputBorder 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Export the border information of the top schematic.
0 : Do not export the border information of the top schematic.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-pinInfo 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Append the pin direction information after the subckt
statement in the netlist.
0 : Do not append the pin direction information after the subckt
statement in the netlist.
-popupInfoDlg 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show the Export Results Report form after exporting.
0 : Do not show the above form after exporting.
-removeDevice 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Remove the instance with the RemoveDevice parameter.
0 : Do not remove the instance with the RemoveDevice
parameter.
-sim netType
Specify the netlist type for the simulation.
Valid values: Hspice, CDL, Eldo, SmartSpice, and
Spectre (default=Hspice).
-spiceStop 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Ignore the spiceStop statement.
0 : Do not ignore the spiceStop statement.
-view viewName
Specify the view name for the output file.
Valid values: schematic and config.
Examples
# Example 1
adpLibMgrExportSpice -lib mixMode -cell inst -view schematic \
-file inst.sp -case preserve -sim Hspice -include 0 -level 0 \
-forkChild 0 -end 0 -genPseu 0 -genIncVa 0 -addu 0 \
-spiceStop 1 -outputBorder 0 -dummySuffix 0 \
-busParentheses Angle -linespace 72 -extScript 0
# Example 2
adpLibMgrExportSpice -lib mixMode -cell test1 -view config \
-file test1.sp -case preserve -sim Hspice -include 0 -level 0 \
-forkChild 0 -end 0 -genPseu 0 -genIncVa 0 -addu 0 \
-spiceStop 1 -outputBorder 0 -busParentheses Angle \
-linespace 72 -extScript 0 -popupInfoDlg 1
See Also
Home Page: File > Export > Spice
Laker³ Tcl Reference Manual
K-2015.06
377
Chapter 5: Home Page
File Commands
adpLibMgrExportVeri
The adpLibMgrExportVeri command exports the design database to the
Verilog format database.
Syntax
adpLibMgrExportVeri -lib libName -cell cellName -view
viewName -file fileName [-by callStyle] [-expand 0|1] [splitBundle 0|1] [-veriStop 0|1] [-hiddenPort port] [popupInfoDlg 0|1] [-linespace num] [-outTextView 0|1][cellHeader 0|1][-pwr netNames][-gnd netNames] [splitInstArray 0|1] [-insteadToken insteadValue]
Returns
None
Arguments
378
Argument
Description
-by callStyle
Specify the calling style for the port instance statement.
Valid values: name and reference (default=name).
-cell cellName
Specify the cell name.
-cellHeader 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Dump the cell information before the module body.
0 : Do not dump the cell information before the module body.
-expand 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Execute the bus expansion.
0 : Do not execute the bus expansion.
-file fileName
Specify the output file name.
-gnd netNames
Specify the ground net name to be supply0 in the netlist.
-hiddenPort port
Specify the direction of hidden ports when exporting the
Verilog netlist.
Valid values: input and inout (default=inout).
-insteadToken
insteadValue
Specify the parentheses style for the instance array.
Valid values: line, square, and arc (default=line).
-lib libName
Specify the library name.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-linespace num
Specify the number of maximum characters per line.
Valid value: an integer, from 32 to 4096 (default=128).
-outTextView 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Merge the plain text files into one netlist file when exporting
Verilog netlist.
0 : Do not merge the plain text files into one netlist file when
exporting Verilog netlist.
-popupInfoDlg 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show the Export Results Report form after exporting.
0 : Do not show the above form after exporting.
-pwr netNames
Specify the power net name to be supply1 in the netlist.
-splitBundle 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Expand bundle ports.
0 : Do not expand bundle ports.
-splitInstArray 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Expand instance array.
0 : Do not expand instance array.
-veriStop 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Ignore the verilogStop statement.
0 : Do not ignore the verilogStop statement.
-view viewName
Specify the view name.
Examples
# Example 1
adpLibMgrExportVeri -lib aa -cell BIT4_SW_CP_CELL \
-file BIT4_SW_CP_CELL.v -by name -expand 0 -veriStop 0
# Example 2
adpLibMgrExportVeri -lib IO -cell BBC4F -view schematic \
-file BBC4F.v -by name -expand 0 -splitBundle 0 \
-veriStop 0 -hiddenPort inout -linespace 128 -popupInfoDlg 1
See Also
Home Page: File > Export > Verilog
Laker³ Tcl Reference Manual
K-2015.06
379
Chapter 5: Home Page
File Commands
adpLibMgrImportTextView
The adpLibMgrImportTextView command imports a text file into the Laker
ADP database.
Syntax
adpLibMgrImportTextView [-file|-list] listFilename -path
runPath -lib libName -refLib refLib -tech techLibName [append] -textType textType
Returns
None
Arguments
Argument
Description
-append
Specify that the technology file is from a library.
-file listFilename
Specify the name of the file.
-lib libName
Specify the library name of the imported results.
-list listFilename
Specify the name of the list file for the Verilog family.
-path runPath
Specify the location of the imported results.
-textType textType
Specify the language of text.
Valid Values: verilog, veriloga, verilogams,
spice, and spectre (default=verilog).
Examples
adpLibMgrImportTextView -textType verilog \
-file /home2/REG/FA.v -path /REG -lib wk2
See Also
Home Page: File > Import > Text
adpLibMgrOpenDesign
The adpLibMgrOpenDesign command returns 1 if the design data, with the
specified path and open mode, can be opened in a new Schematic Editor
window.
380
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Syntax
adpLibMgrOpenDesign -lib libName -cell cellName [-mode mode]
[-viewType cellviewType] [-view viewName] [-showDsgWnd
restoreNum] [-topCell topCell] [-viewList {viewList}] [stopList {stopList}] [-openConfig] [-openTopCell] [dmCVCkout 0|1] [-dmCVCkin 0|1][-restorenum 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell to be opened.
-dmCVCkin 0|1
Valid values: Boolean values, 0 and 1.
1 : Check in cell view files, that are checked out automatically.
The default value depends on the setting in the laker.rc
resource file.
0 : Do not check in cell view files.
-dmCVCkout 0|1
Valid values: Boolean values, 0 and 1.
1 : Check out cell view files. The default value depends on the
setting in the laker.rc resource file.
0 : Do not check out cell view files.
-lib libName
Specify the library database.
-mode mode
Specify an open mode.
Valid values: edit and readOnly (default=edit).
-openConfig
When specified, open the config view of the selected cell in the
Hierarchy Editor window.
-openTopCell
When specified, open the top cell of the selected config view in
the Schematic Editor window.
-restorenum 0|1
Valid values: Boolean values, 0 and 1.
1 : Open the backup version cell view file.
0 : Do not open the backup version cell view file.
-showDsgWnd
restoreNum
Restore the backup database (default=-1).
Laker³ Tcl Reference Manual
K-2015.06
381
Chapter 5: Home Page
File Commands
Argument
Description
-stopList {stopList}
Specify a stop list at the global level with the following format:
{view1 view2 ... viewn}. For example: {schematic
symbol}.
Valid values: schematic, symbol, simulation, config,
veriloga, verilog, spice, and any user-defined view
name.
-topCell topCell
Specify the top cell of the config view with the following
format: {libName cellName viewName}.
-view viewName
Specify the view name of the cell to be opened.
Valid values: schematic, symbol, simulation, config,
veriloga, verilog, spice, and any user-defined view
name (default=schematic).
-viewList {viewList}
Specify an inherited view list at the cell level with the following
format: {view1 view2 ... viewn}. For example:
{schematic symbol}.
Valid values: schematic, symbol, simulation, config,
veriloga, verilog, spice, and any user-defined view
name.
-viewType
cellviewType
Specify the cell view type of the cell to be opened.
Valid values: schematic, schematicSymbol, simulation,
config, veriloga, verilog, and spice
(default=schematic).
Examples
# Example 1
# Create a new schematic view of library "a1", cell "ss"
adpLibMgrOpenDesign -lib a1 -cell ss -view schematic \
-mode edit -showDsgWnd 1
# Example 2
# Create a new symbol view of library "a1", cell "ss"
adpLibMgrOpenDesign -lib a1 -cell ss -view symbol \
-mode edit -showDsgWnd 1
# Example 3
# Create cell aaa with sym01 view, its cell view type is schematic
adpLibMgrOpenDesign -lib test -cell aaa -mode edit \
-viewType schematic -view sym01 -showDsgWnd 1
# Example 4
382
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
# Create cell aaa with schematic view, its cell view type is
# schematic
adpLibMgrOpenDesign -lib test -cell aaa -mode edit \
-view schematic -showDsgWnd 1
# Example 5
# Open cell aaa with sym01 view
adpLibMgrOpenDesign -lib test -cell aaa -mode edit \
-view sym01 -showDsgWnd 1
# Example 6
# Create a new config view
adpLibMgrOpenDesign -lib FA4 -cell HA -mode edit -view config \
-showDsgWnd 1 -topCell {FA4 HA schematic} -viewList schematic
# Example 7
# Open an existing config view
adpLibMgrOpenDesign -lib FA4 -cell XOR2 -mode edit -view config \
-showDsgWnd 1 -openConfig -openTopCell
See Also
adpDiscardDesign
Home Page: File> Open
Home Page: Cell > New
Schematic Editor: Cell> Open
adpOpenWaveAna
The adpOpenWaveAna command returns 1 if the LakerWave window is
opened.
Syntax
adpOpenWaveAna -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-topWnd winId
Specify the top window identifier.
Examples
adpOpenWaveAna -topWnd _adp1
Laker³ Tcl Reference Manual
K-2015.06
383
Chapter 5: Home Page
File Commands
See Also
Home Page: File > Waveform Analyzer
lakerCDLIn
The lakerCDLIn command imports a CDL format design to the Laker
database.
Syntax
lakerCDLIn -file fileName [-topCell topCells] [-excludedCell
excludedCells] -lib libName [-path path] ([-tech
techFile]| [-attachToLib masterLib]) [-forkChild 0|1] [ps 0|1] [-scale scale_LW] [-case case] [-cellCase case]
[-instCase case] [-netCase case] [-paraCase case] [modelMap modelMap] [-expandLog logFile] [-refLib
refLibName] [-execECO 0|1] [-extractConstraint 0|1] [priority priority] [-suffix suffix] [-ecoFile
ecoFileName] [-dumpMap modelMapFile] [-genAllSchematic
0|1] [-preProc 0|1] [-preProcBckp 0|1] [preProcBckpSuffix suffix] [-preProcCmd filename] [preProcArgs args] [-postProc 0|1] [-postProcCmd filename]
Returns
None
Arguments
384
Argument
Description
-attachToLib
masterLib
Specify the master library. This creates a library with the
technology file settings of the specified master library.
-case case
Globally set the case sensitivity in cell names, instance names,
pin/port/net names and parameter names.
Valid values: upper, lower, and preserve
(default=preserve).
-cellCase case
Set the case sensitivity in cell names only.
If not specified, the global setting specified by -case is used.
Valid values: upper, lower, and preserve.
-dumpMap
modelMapFile
Specify the model map file to be dumped from the reference
library.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-ecoFile
ecoFileName
Specify the extracting command file.
-excludedCell
excludedCells
Specify the cells to be excluded. Multiple names must be
separated by spaces.
-execECO 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Execute the ECO command file automatically.
0: Do not execute the ECO command file.
-expandLog
logFile
Specify the log file to describe the relationship between the
parameter and logic view name of expanded cells.
-extractConstraint
0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Extract design-driven layout (DDL) constraints.
0: Do not extract DDL constraints.
-file fileName
Specify the input CDL netlist file name.
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Invoke batch mode.
0: Do not invoke batch mode.
-genAllSchematic
0|1
Valid value: Boolean values, 0 and 1 (default=1).
1: Generate schematics with placement and routing.
0: Generate schematics without placement and routing.
-instCase case
Set the case sensitivity in instance names only.
If not specified, the global setting specified by -case isused.
Valid values: upper, lower, and preserve.
-lib libName
Specify the library database.
-modelMap
modelMap
Specify the model map file.
-netCase case
Set the case sensitivity in pin/port/net names only.
If not specified, the global setting specified by -case is used.
Valid values: upper, lower, and preserve.
-paraCase case
Set the case sensitivity in parameter names only.
If not specified, the global setting specified by -case is used.
Valid values: upper, lower, and preserve.
Laker³ Tcl Reference Manual
K-2015.06
385
Chapter 5: Home Page
File Commands
386
Argument
Description
-path path
Specify the working directory (default=current directory).
-postProc 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Post-process option.
0 : Disable the Post-process option.
-postProcCmd
filename
Specify the Tcl script file. This argument is valid only if postProc 1 is specified.
-preProc 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Pre-process option.
0 : Disable the Pre-process option.
-preProcArgs args
Specify the arguments for the Tcl script. This argument is valid
only if
-preProc 1 is specified.
-preProcBckp 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Backup Input File with Suffix option.
0 : Disable the Backup Input File with Suffix option.
-preProcBckpSuffix
suffix
Specify the suffix string for the backup input file.
Valid value: a string (default=_bak).
-preProcCmd
filename
Specify the Tcl script file. This argument is valid only if preProc 1 is specified.
-priority priority
Specify a priority to handle conflicted constraints.
Valid values: schematic and layout (default=schematic).
-ps 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Extract the swapping information of equivalent ports from the
imported netlist data.
0: Do not extract any swapping information.
-refLib
refLibName
Specify the referenced library for extracting the object tree
information.
-scale scale_LW
Set a scale factor to evaluate the final width and length of
transistors in the schematic. The unit is micron (u), and the
default value is 1.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-suffix suffix
Specify the suffix for renaming conflicted constraints
(default=_LK).
-tech techFile
Specify the technology file.
-topCell topCells
Specify the top cells of the design to be translated. Multiple
names must be enclosed by brackets { } and separated by
spaces, commas, or semicolons.
Examples
# Example 1
lakerCDLIn -file demo.cir -tech demo.tf -lib test
-modelMap demo.map
# Example 2
lakerCDLIn -file AutoPortMap.cir -tech leo306.tf -lib testDB \
-forkChild 0 -ps 1 -case preserve -modelMap AutoPortMap.map
# Example 3
lakerCDLIn -refLib q1 -ecoFile ./q1_ECO.cmd -file retree.cir \
-tech demo.tf -lib q2 -forkChild 0 -ps 1 -case preserve
# Example 4
lakerCDLIn -refLib q1 -retreeView schematic -backup 0 \
-ecoFile ./q1_ECO.cmd -dumpMap ./q1.map -file retree.cir \
-tech sample.tf -lib q2 -forkChild 0 -ps 1 -case preserve \
-modelMap test2.map
# Example 5
lakerCDLIn -file demo.cir -tech demo.tf -lib test \
-modelMap demo.map -expandLog ./demo_expand.log
# Example 6
lakerCDLIn -file laker.cir -lib top -tech ./a.tf -ps 1 \
-modelMap ./a.map -case upper -cellCase preserve -netCase lower
# Example 7
# Specify OPG & Sum as top cells; specify inv as the excluded cell
lakerCDLIn -file rcMfactor.cir -lib PCell -topCell {OPG Sum} \
-excludedCell {inv} -modelMap rcMfactor.map
# Specify script tab
lakerCDLIn -file rcMfactor.cir -lib PCell \
-modelMap rcMfactor.map -preProc 1 -preProcBckp 0 \
-preProcBckpSuffix _bak -preProcCmd preProc.tcl \
-preProcArgs {$FileName} -postProc 1 -postProcCmd postProc.tcl
Laker³ Tcl Reference Manual
K-2015.06
387
Chapter 5: Home Page
File Commands
See Also
Home Page: File > Import > CDL In
lakerCDLOut
The lakerCDLOut command exports the Laker design database to a CDL
format database.
Syntax
lakerCDLOut -file fileName -lib libName [-topCell
topCellName] [-prefix 0|1] [-modelMap mapFile] [forkChild 0|1]
Returns
None
Arguments
Argument
Description
-file fileName
Specify the output CDL netlist file name.
-forChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Invoke batch mode.
0 : Do not invoke batch mode.
-lib libName
Specify the library database.
-modelMap
mapFile
Specify the model map file if adding prefix to the element name.
-prefix 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Add prefix to the element name.
0 : Do not add prefix to the element name.
-topCell
topCellName
Specify the top cell name.
Examples
# Example 1
lakerCDLOut -file CkSpiceout.cir -lib qqq -forkChild 1
# Example 2
lakerCDLOut -file test.sp -lib test -topCell “TEST” \
388
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
-prefix 1 -modelMap new.map
See Also
Home Page: File > Export > CDL Out
lakerCheckSchTimeStamp
The lakerCheckSchTimeStamp command checks whether the
corresponding schematics are modified since the last expansion by verifying
the schematic time stamp for all logic cell views in the specified libraries.
Syntax
lakerCheckSchTimeStamp -autoCheck | -lib libraryNameList [showResultForm 0|1] | -closeResultForm | -checkOpenResult
Returns
When -autocheck or -lib is specified:
■
If successful, a list of designs is returned when any of the designs are not
synchronized. This is a compound list, and the format is
{library_name_1 {cell_name_11 cell_name12 ...}}
{library_name_2 {cell_name_21 cell_name_22 ...}} ...
■
Or, nothing is returned if all designs are synchronized.
When -checkOpenResult is specified:
■
A pair of library/cell names is returned if successful when some working
designs are not synchronized.
Arguments
Argument
Description
-autoCheck
Automatically check the schematic time stamp of working
designs.
-checkOpenResult
Get the checked results from the working design.
-closeResultForm
Close the Checked Results form.
-lib libraryNameList
Specify a set of libraries to be checked.
Laker³ Tcl Reference Manual
K-2015.06
389
Chapter 5: Home Page
File Commands
Argument
Description
-showResultForm 0|1
Valid value: Boolean values, 0 and 1 (default=0).
1 : Show the Checked Results form.
0 : Hide the Checked Results form.
Examples
# Auto check on working designs
lakerCheckSchTimeStamp -autoCheck
# Check the "LibA", "LibB" and "LibC" libraries,
# and show the Checked Results form
lakerCheckSchTimeStamp -lib LibA LibB LibC -showResultForm 1
# and found that the following designs are not synchronized
# CellA2, CellA10, and CellA23 in LibA; CellC3 in LibC
# {LibA {CellA2 CellA10 CellA23}} {LibC {CellC3}}
# Close the checked results form
lakerCheckSchTimeStamp -closeResultForm
# Get the checking results from the working design
lakerOpenDesign -lib LibA -cell CellA2
lakerCheckSchTimeStamp -checkOpenResult
# and found that the working design is not synchronized
# LibA CellA2
See Also
Home Page: File > Check Schematic Time Stamp
lakerCheckUnsavedDesign
The lakerCheckUnsavedDesign command checks whether all layout
designs are saved in memory.
390
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
A Save Confirmation form appears if there are any unsaved designs. You can
click Check All to check all designs in the Save field, or click Check None to
uncheck all designs in the Save field.
Figure 1
Save Confirmation Form
Syntax
lakerCheckUnsavedDesign
Returns
1 if OK is clicked in the Save Confirmation form; otherwise returns 0 if Cancel
is clicked in the form.
Arguments
None
Examples
lakerCheckUnsavedDesign
lakerChmod
The lakerChmod command configures the access permission of the specified
library or cell.
Syntax
lakerChmod -lib libName [-cell cellName [-view viewName]]
[-ownerW 0|1] [-groupR 0|1] [-groupW 0|1] [-otherR 0|1]
[-otherW 0|1]
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
391
Chapter 5: Home Page
File Commands
Arguments
Argument
Description
-cell cellName
Specify the cell to be configured.
-lib libName
Specify the library database.
-groupR 0|1
Valid values: Boolean values, 0 and 1.
1 : Restrict the read permission to group members.
0 : Disallow the read permission to group members.
-groupW 0|1
Valid values: Boolean values, 0 and 1.
1 : Restrict the write permission to group members.
0 : Disallow the write permission to group members.
-otherR 0|1
Valid values: Boolean values, 0 and 1.
1 : Restrict the read permission to others who are not in the
same group.
0 : Disallow the read permission to others who are not in the
same group.
-otherW 0|1
Valid values: Boolean values, 0 and 1.
1 : Restrict the write permission to others who are not in the
same group.
0 : Disallow the write permission to others who are not in the
same group.
-ownerW 0|1
Valid value: Boolean values, 0 and 1.
1 : Restrict the write permission to the owner.
0 : Disallow the write permission to the owner.
-view viewName
Specify the view name of the cell to be configured.
Examples
# Example 1
# configure the access permission of demoCell in demoLib library
lakerChmod -lib demoLib -cell demoCell -groupR 1 -groupW 1 \
-otherR 1 -otherW 0
# Example 2
# Disallow the write permission of layout view of demoCell cell
# in demoLib library to the owner
lakerChmod -lib demoLib -cell demoCell -view layout -ownerW 0
392
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
See Also
Home Page: File > Access Permission
lakerEDIFIn
The lakerEDIFIn command imports an EDIF format design to the Laker
database.
Syntax
lakerEDIFIn -file fileName [-topCell topCellName] -lib
libName [-from fromSource] ([-tech techFile] | [attachToLib masterLib]) [-path path] [-cvMode
cellviewMode] [-forkChild 0|1] [-ps 0|1] [-case case] [cellCase case] [-instCase case] [-netCase case] [paraCase case][-scale scale_LW] [-refLib refLibName] [execECO 0|1] [-overwriteCell 0|1] [-modelMap modelMdap]
[-expandLog logFile] [-extractConstraint 0|1] [-priority
schematic|layout] [-cdf cdfPath] [-suffix suffix] [ecoFile ecoFileName] [-dumpMap modelMapFile] [ignoreNameList {IgnoreList}] [-shortNameList
{ShortList}]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-attachToLib
masterLib
Specify the master library. This creates a library with the
technology file settings of the specified master library.
-case case
Globally set the case sensitivity in cell names, instance names,
pin/port/net names and parameter names.
Valid values: upper, lower, and preserve
(default=preserve if it imports from Composer;
default=upper if it imports from ViewDraw).
-cdf cdfPath
Specify the iCDF directory.
-cellCase case
Set the case sensitivity in cell names only.
If not specified, the global setting specified by -case is used.
Valid values: upper, lower, and preserve.
Laker³ Tcl Reference Manual
K-2015.06
393
Chapter 5: Home Page
File Commands
394
Argument
Description
-cvMode
cellviewMode
Get the EDIF information.
Valid values: netlist and schematic (default=schematic).
netlist: Cell views with logic information only.
schematic: Cell views with logic and physical information.
-dumpMap
modelMapFile
Specify the model map file that is to be dumped from the
reference library.
-ecoFile
ecoFileName
Specify the extracting command file.
-execECO 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Execute the ECO command file automatically.
0: Do not execute the ECO command file.
-expandLog logFile
Specify the log file to describe the relationship between the
parameter and logic view name of expanded cells.
-extractConstraint
0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Extract design-driven layout (DDL) constraints.
0: Do not extract DDL constraints.
-file fileName
Specify the input EDIF schematic file name.
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Invoke batch mode.
0: Do not invoke batch mode.
-from fromSource
Indicate the file source of EDIF data.
Valid values: Composer and ViewDraw. (default=Composer).
-ignoreNameList
{IgnoreList}
Specify the property used to ignore devices or symbols.
-instCase case
Set the case sensitivity in instance names only.
If not specified, the global setting specified by -case is used.
Valid values: upper, lower, and preserve.
-lib libName
Specify the library database.
-modelMap
modelMap
Specify the model map file.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-netCase case
Set the case sensitivity in pin/port/net names only.
If not specified, the global setting specified by -case is used.
Valid values: upper, lower, and preserve.
-overwriteCell 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Overwrite existing cell views.
0: Do not overwrite any existing cell views.
-paraCase case
Set the case sensitivity in parameter names only.
If not specified, the global setting specified by -case is used.
Valid values: upper, lower, and preserve.
-path path
Specify the working directory (default=current directory).
-priority
schematic|layout
Specify a priority to handle conflicted constraints.
Valid values: schematic and layout (default=schematic).
-ps 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Extract the swapping information of equivalent ports from the
imported schematic.
0: Do not extract any swapping information.
-refLib refLibName
Specify the referenced library for extracting the object tree
information.
-scale scale_LW
Set a scale factor to evaluate the final width and length of
transistors in the schematic. The unit is micron (u), and the
default value is 1.
-shortNameList
{ShortList}
Specify the property used to ignore devices and short pins.
-suffix suffix
Specify the suffix for renaming conflicted constraints
(default=_LK).
-tech techFile
Specify the technology file.
-topCell
topCellName
Specify the top cell name of the design to be translated.
Examples
# Example 1
lakerEDIFIn -file ./16adder.edif -tech ./16adder.tf -path . \
Laker³ Tcl Reference Manual
K-2015.06
395
Chapter 5: Home Page
File Commands
-forkChild 0 -ps 1 -case preserve -modelMap ./16adder.map
# Example 2
lakerEDIFIn -file ./16adder.edif -tech ./16adder.tf -path . \
-forkChild 0 -ps 1 -case preserve -modelMap ./16adder.map
# Example 3
lakerEDIFIn -file ./16adder.edif -tech ./16adder.tf -path . \
-forkChild 0 -ps 1 -case preserve -modelMap ./16adder.map \
-expandLog ./16adder_expand.log
# Example 4
lakerEDIFIn -file ./adder.edif -tech ./adder.tf -path . \
-ps 1 -modelMap ./adder.map -case upper -cellCase preserve \
-netCase lower
See Also
Home Page: File > Import > EDIF200 From Composer
Home Page: File > Import > EDIF200 From ViewDraw
lakerExit
The lakerExit command closes and leaves the program. This command is
usually written on the last line of the command file (*.cmd) to exit the program.
Syntax
lakerExit [-confirm 0|1][-dmCkinDesign design_name
[design_name ...]] [-dmCkcancelDesign design_name
[design_name ...]]
Returns
None
Arguments
396
Argument
Description
-confirm 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Prompt a confirmation form when exiting the program.
0 : Do not prompt a confirmation form when exiting the
program.
-dmCkinDesign
design_name
[design_name ...]
Specify a design name or a set of design names, which are
checked out automatically, to be checked in.
Valid value: {library_name cell_name view_name}.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-dmCkcancelDesign
design_name
[design_name ...]
Specify a design name or a set of design names, which are
checked out automatically, to cancel the check out.
Valid value: {library_name cell_name view_name}.
Examples
# Example 1
# Exit the program
lakerExit
# Example 2
# Check in or cancel checkouts automatically as exiting process
lakerExit -dmCkcancelDesign \
{CPU AN2D1 layout} {CPU AN3D1 schematic} \
-dmCkinDesign {CPU INV0 symbol} {CPU INV1 abs}
# Example 3
lakerExit -saveToDisk 1
See Also
Home Page: File > Exit
lakerExpandSchParameter
The lakerExpandSchParameter command expands the schematic data to
the Laker database.
This command is only available for the Laker_L3 and Laker_Viewer license
features.
Syntax
lakerExpandSchParameter -lib libName [-topCell topCellName]
[-toLib toLib] [-path path] [-tech techFile | -attachToLib
masterLib] [-refLib refLibName] [-execECO 0|1] [extractConstraint 0|1] [-suffix suffix] [-ps 0|1] [-copy
0|1 -copyRefLib copyRefLib] [-overwriteCell 0|1] [priority priority] [-scale scale] [-ecoFile ecoFileName]
[-dumpMap modelMapFile] [-modelMap modelMapFile] [showOnly [-cbFunc cbProcName]] [-expandLog logFile] [switchViews viewList] [-ignoreNameList {IgnoreList}] [shortNameList {ShortList}] [-expandVectorInst 0|1] [skipSaveModelMap 0|1] [-expandLevel level]
Laker³ Tcl Reference Manual
K-2015.06
397
Chapter 5: Home Page
File Commands
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-attachToLib
masterLib
Specify the master library. This creates a library with the
technology file settings of the specified master library.
-cbFunc
cbProcName
Specify the callback procedure name when the user action
is completed.
The callback procedure has a parameter with string, which
can be written in the following format: {srcLibName
srcTopCellName srcTopViewName} {destLibName
destTopCellName destTopViewName}.
When the user action failed or is cancelled, the parameter
of the callback procedure is empty. The callback procedure
is discarded when the command is aborted.
398
-copy 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Copy expanded source cell views to the target cell
views.
0: Do not copy any expanded source cell views.
-copyRefLib copyRefLib
Copy referenced libraries. This argument works with copy.
Valid values: all, noRef, and ignoreRef.
all : Copy expanded source cell views with all referenced
libraries.
noRef : Copy expanded source cell views without any
referenced libraries.
ignoreRef : Copy expanded source cell views with all
referenced libraries except those specified. ignoreRef is
not supported as copying a category.
-dumpMap
modelMapFile
Specify the model map file that is to be dumped from the
reference library.
-ecoFile
ecoFileName
Specify the extracting command file.
-execECO 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Execute the ECO command file automatically.
0: Do not execute the ECO command file.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-expandLevel level
Specify the hierarchy level to be expanded to.
Valid value: an integer from 0 to 49.
-expandLog logFile
Specify the log file to describe the relationship between the
parameter and logic view name of expanded cells.
-expandVectorInst 0|1
Valid values: Boolean values, 0 and 1.
1: Expand array objects (vector instances) to scalar
instances in the logic view.
0: Retain array objects (vector instances) in the logic view.
-extractConstraint
0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Extract design-driven layout (DDL) constraints from
layout and schematic databases.
0: Extract DDL constraints from schematic database.
-ignoreNameList
{IgnoreList}
Specify the property used to ignore devices or symbols.
-lib libName
Specify the library database to be expanded.
-modelMap
modelMap
Specify the model map file.
-overwriteCell 0|1
This argument comes along with -copy.
Valid values: Boolean values, 0 and 1 (default=0).
1: Overwrite existing cell views when copying the source
cell view.
0: Do not overwrite any existing cell views.
-path path
Specify the working directory (default=current directory).
-priority priority
Specify a priority to handle conflicted constraints.
Valid values: schematic and layout
(default=schematic).
-ps 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Extract the swapping information of equivalent ports.
0: Do not extract any swapping information.
-refLib
refLibName
Specify the reference library for extracting the object tree
information.
Laker³ Tcl Reference Manual
K-2015.06
399
Chapter 5: Home Page
File Commands
Argument
Description
-scale scale
Set a scale factor to evaluate the final width and length of
transistors in the schematic. The unit is micron (u).
-showOnly
If specified, show the Expand Schematic Parameter form
with settings passed from this Tcl
lakerExpandSchParameter.
-shortNameList
{ShortList}
Specify the property used to ignore devices and short pins.
-skipSaveModelMap
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Do not save the specified model map file to the target
library.
0: Save the specified model map file to the target library.
-suffix suffix
Specify the suffix for renaming conflicted constraints
(default=_LK).
-switchViews viewList
Specify one or more view names.
-tech techFile
Specify the defined ASCII technology file.
-toLib toLib
Specify the destination library of the expanded results.
-topCell
topCellName
Specify the top cell name of the expanded design.
Examples
# Example 1
lakerExpandSchParameter -lib demo1 -toLib demo2 -refLib demo1 \
-extractConstraint 1 -priority layout -suffix _LK -execECO 1
# Example 2
lakerExpandSchParameter -showOnly -lib demo1 -toLib demo2 \
-refLib demo1 -extractConstraint 1 -priority layout \
-suffix _LK -execECO 1 -topCell test -cbFunc myProc
# Example 3
# Copy schematic with all referenced libraries except the
# specified libraries libA", libB, and libC
lakerExpandSchParameter -copy 1 \
-copyRefLib ignoreRef libA libB libC
400
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
See Also
Home Page: File > Expand Schematic
lakerExportConstraint
The lakerExportConstraint command exports library level constraints
from specified cells and views.
Syntax
lakerExportConstraint -lib libName -file fileName [-cell
cellNameList] [-view viewNameList] [-logFile logErrName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellNameList
Specify a list of cell names separated by spaces.
If the cell list is not specified, constraints within each cell in
the selected library are exported.
If it is specified, constraints within the specified cell list are
exported.
-file fileName
Specify the output file name that is determined by the
specified library, cell and view names. The default is
<libName>_<cellName>_<viewName>.cons.
-lib libName
Specify the target library for constraints to be exported.
-logFile logErrName
Specify the file name for the log and error files
(default=constExport).
-view viewNameList
Specify a list of view names separated by spaces.
If the view list is not specified, constraints of all views in the
selected cell are exported.
If the view list is specified, constraints of the view list are
exported.
Examples
# Example 1
# Extract constraints from the logic view of cell 'TEST_01'
# from library 'TEST_LIB'
Laker³ Tcl Reference Manual
K-2015.06
401
Chapter 5: Home Page
File Commands
lakerExportConstraint -lib TEST_LIB -file TEST_LIB_logic.cons \
-cell TEST_01 -view logic
See Also
Home Page: File > Export > Constraint
lakerExportDEF
The lakerExportDEF command exports the Laker3 database to a DEF
format database.
Syntax
lakerExportDEF -file fileName -lib libName [-topCell
topCellName] [-view viewName] [-logFile logErrName] [forkChild 0|1] [-rectDrcFill 0|1] [-keepSoftPinShapes
0|1]
Returns
None
Arguments
402
Argument
Description
-file fileName
Specify the output DEF file.
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Invoke batch mode.
0 : Do not invoke batch mode.
-keepSoftPinShapes
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Keep shapes in soft pins.
0 : Filter shapes in soft pins.
-lib libName
Specify the library name.
-logFile
logErrName
Specify the file name for the log and error files
(default=DefOut).
-rectDrcFill 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Write DRC fillers as rectangles in the output file.
0 : Do not write DRC fillers as rectangles in the output file.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-topCell
topCellName
Specify the top cell name of the output design.
-view viewName
Specify the output view name of the specified cell.
Examples
lakerExportDEF -file demo.def -lib demoLib -topCell design
See Also
Home Page: File > Export > DEF
lakerExportLEF
The lakerExportLEF command exports the Laker database to an LEF
format database.
Syntax
lakerExportLEF -file fileName -lib libName [-topCell
topCellList] [-cellList cellName] [-view viewName] [forkChild 0|1] [-logFile logErrName] [-version
[5.3|5.4|5.5|5.6|5.7]]
Returns
None
Arguments
Argument
Description
-cellList cellName
Specify a cell name.
-file fileName
Specify the file name of the output LEF file.
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Invoke batch mode.
0 : Do not invoke batch mode.
-lib libName
Specify the library name.
-logFile logErrName
Specify the file name for the log and error files
(default=LefOut).
Laker³ Tcl Reference Manual
K-2015.06
403
Chapter 5: Home Page
File Commands
Argument
Description
-topCell topCellList
Specify the top cell name(s) of the output design. Multiple
names must be enclosed by brackets { } and separated
by spaces, commas, or semicolons.
-version
[5.3|5.4|5.5|5.6|5.7]
Specify the supported LEF version.
Valid values: 5.3, 5.4, 5.4, 5.6, and 5.7 (default=5.6).
-view viewName
Specify the output the view name of the specified cell.
Examples
# Example 1
lakerExportLEF -file demo.lef -lib demoLib
See Also
Home Page: File > Export > LEF
lakerExportOASIS
The lakerExportOASIS command exports the Laker database to an OASIS
database.
Syntax
lakerExportOASIS -file expFileName -lib expLibName [-topCell
topCellList] [-case case] [-renameMode mode] [layerMapMode mode] [-layerMap layerMapFile] [-cellMap
cellMapFile] [-fontMap fontMapFile] [-forkChild 0|1] [label label] [-mergeRefLib 0|1] [-smashMCell mode}] [con3Layer 0|1] [-smashPCell 0|1] [-snapGrid 0|1] [-filter
0|1] [-filterDummyCellInst 0|1] [-scale dbScale] [expLevel levelRange] [-logicProp 0|1] [-MCellProp 0|1]
[-cvtRoundPath mode] [-path2Rect 0|1] [-cmpLevel level]
[-logInfo 0|1] [-dumpTree 0|1] [-logUndefInst 0|1] [logFile logErrName] [-showOnly 0|1] [-rotateArIdv 0|1]
Returns
None
404
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Arguments
Argument
Description
-case case
Set the case sensitivity in cell names.
Valid values: Preserve, Upper, and Lower
(default=Preserve).
-cellMap cellMapFile
Specify the cell map file.
-cmpLevel level
Specify the compression level.
Valid value: an integer, from 0 to 1 (default=0).
-con3Layer 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Export MCells’ contact top/bottom layers.
0 : Do not export MCells’ contact top/bottom layers.
-cvtRoundPath mode
Specify the path conversion mode.
Valid values: Polygon, Truncate, and Extend
(default=Polygon).
Polygon: Convert Round type paths to polygons.
Truncate: Change the path type to Truncate.Extend:
Change the path type to Extend.
-dumpTree 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Dump the design tree to a log file.
0 : Do not dump the design tree to a log file.
-expLevel levelRange
Specify the export level range from Level X to Level Y,
where X and Y are integers with value ranges from >=0
to <=49.
-file expFileName
Specify the exported OASIS file.
-filter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Filter illegal polygons or paths.
0 : Do not filter any illegal polygons or paths.
-filterDummyCellInst 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Filter the empty cell and the reference but undefined
instance.
0 : Do not filter the empty cell and the reference but
undefined instance.
-fontMap fontMapFile
Specify the font map file.
Laker³ Tcl Reference Manual
K-2015.06
405
Chapter 5: Home Page
File Commands
406
Argument
Description
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Invoke batch mode.
0 : Do not invoke batch mode.
-layerMapMode mode
Specify the layer mapping mode.
Valid values: Map, Filter, and Off (default=Map).
Map: Use the layer map file, which has higher priority, or
the tfStreamIoTable section for layer mapping.
Filter: Filter the undefined layers and only convert the
layers that are defined in the layer map file or the
tfStreamIoTable section.
Off: Disable the option.
-label label
Set the case sensitivity in text labels.
Valid values: Preserve, Upper, and Lower
(default=Preserve).
-layerMap layerMapFile
Specify the layer map file.
-lib expLibName
Specify the exported library database.
-logFile logErrName
Specify the file name for the log and error files
(default=oasisOut).
-logicProp 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Export the logic information to the property.
0 : Do not export any logic information to the property.
-logInfo 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Save information messages to the log file.
0 : Do not save any information messages to the log file.
-logUndefInst 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Report undefined instances with their coordinate
location to the error file.
0 : Do not report any undefined instances with their
coordinate location to the error file.
-mergeRefLib 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Merge the referenced library.
0 : Do not merge any referenced libraries.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-MCellProp 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Export the MCell information to the property.
0 : Do not export the MCell information to the property.
-path2Rect 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Convert 2-point paths to rectangles.
0 : Do not convert 2-point paths to rectangles.
-renameMode mode
Specify the renaming mode for duplicate cells.
Valid values: AppendLibName, AppendOrdinalNo,
and Off (default=AppendLibName).
AppendLibName: Append the library name to
duplicated cell names.
AppendOrdinalNo: Append a random number to
duplicated cell names.
Off: Do not rename any duplicated cells.
-rotateArrIdv 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Convert the array rotation rule to rotate individual
elements of the array by 90 degrees.
0: Convert the array rotation rule to convert the whole
array by 90 degrees.
-scale dbScale
Specify the output design with a new dbScale.
dbScale=double.
-showOnly 0|1
Valid values: Boolean values, 0 and 1.
1: Show the Export OASIS form.
0: Do not show the form.
-smashMCell mode
Smash MCells to cell instances.
Valid values: ExpCont, Off, and All
(default=ExpCont).
ExpCont: Smash MCells except contacts.
Off: Disable the option.
All: Smash all MCells.
-smashPCell 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Smash Tcl PCells to cell instances.
0: Do not smash any Tcl PCells.
Laker³ Tcl Reference Manual
K-2015.06
407
Chapter 5: Home Page
File Commands
Argument
Description
-snapGrid 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Snap vertices to the minimum grid resolution.
0 : Do not snap vertices to the minimum grid resolution.
-topCell topCellList
Specify the top cell name(s) of the output design.
Multiple names must be enclosed by brackets { } and
separated by spaces, commas, or semicolons.
Examples
lakerExportOASIS -file demo.oas -lib demo -topCell {top} \
-case Preserve -label Preserve -mergeRefLib 1 \
-smashMCell ExpCont -layerMapMode Map \
-cvtRoundPath Polygon
See Also
Home Page: File > Export > OASIS
lakerExportStream
The lakerExportStream command exports the Laker3 database to a GDSII
format database.
Syntax
lakerExportStream [-showOnly 0|1] -file fileName -lib
libName [-viewName viewName] [-topCell topCellList] [snapGrid 0|1] [-case case] [-forkChild 0|1] [-scale scale]
[-duplicatedCell ordinal] [-instProp instProp] [-netProp
netProp] [-mcellProp MCellProp] [-logicProp logicProp]
[-finShapeProp finShapeProp] [-fullColoringProp
fullColoringProp] [-maxVerti maxVerti] [-mergeRefLib
0|1] [-logInfo 0|1] [-skip200 0|1] [-SmashMCell mode] [filter 0|1] [-cellNameLen maxNameLen] [-layerMap
layerMap] [-exportLevel levelRange] [-logFile
logErrName] [-cellMap cellMap] [-purposeMap 0|1] [fontMap fontMap] [-label mode] [-IoLayerMapMode mode [IoLayerMapFullLock 0|1]] [-filterDummyCell 0|1] [filterDummyInst 0|1] [-filterText 0|1] [-OutAbsCell
{Off|ViaOnly|All}] [-dumpTree 0|1] [-con3Layer 0|1] [LogInstLoc 0|1] [-renPCell 0|1] [-rptZeroNegPitch 0|1]
[-propMap propMapFile] [-filterSysPin 0|1] [filterSoftPin 0|1] [-reduceDevice 0|1] [408
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
colorPropagation 0|1] [-convertPolyText 0|1] [convertTextBrackets 0|1] [-keepPCell 0|1] [-SmashPCell
0|1] [-designIntention 0|1 [-diLayerMapFile mapFileName
[-diIncludeOriginLayers 0|1]]
Returns
None
Arguments
Argument
Description
-case case
Set the case sensitivity in cell names.
Valid values: Preserve, Upper, and Lower
(default=Preserve).
-cellMap cellMap
Specify the cell map file.
-cellNameLen
maxNameLen
Specify the maximum length of cell names (default=32).
-colorPropagation 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Automatically propagate coloring shapes.
0 : Do not propagate coloring shapes.
-con3Layer 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Export MCells’ top/bottom contact layers.
0 : Do not export MCells’ top/bottom contact layers.
-convertPolyText 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Convert text labels using the Contemplate1 font type to
polygons.
0 : Do not export convert text labels using the Contemplate1
font to polygons.
-convertTextBrackets
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Convert the angle brackets of text labels to square
brackets.
0 : Do not convert the angle brackets of text labels to square
brackets.
-designIntention 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Export net-based shapes with mapped layers.
0 : Do not export net-based shapes with mapped layers.
Laker³ Tcl Reference Manual
K-2015.06
409
Chapter 5: Home Page
File Commands
410
Argument
Description
-diIncludeOriginLayers
0|1
This argument is valid only if -designIntention is
specified.
Valid values: Boolean values, 0 and 1 (default=1).
1 : Export net-based shapes with mapped and original
layers.
0 : Export net-based shapes with mapped layers only.
-diLayerMapFile
mapFileName
Specify the layer map file for design intention.
This argument is valid only if -designIntention is
specified.
-dumpTree 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Dump the design tree to a log file.
0 : Do not the dump design tree to a log file.
-duplicatedCell
ordinal
Append a random number to duplicated cell names. The
library name is appended by default.
-exportLevel
levelRange
Specify the export level range from Level X to Level Y, where
X and Y are integers with value ranges from >=0 to <=49.
-file fileName
Specify the output GDSII file in *.db, *.gds, *.gz, or *.Z
formats.
-filter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Filter illegal polygons or paths.
0 : Do not filter any illegal polygons or paths.
-filterDummyCell 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Filter empty cells.
0 : Do not filter any empty cells.
-filterDummyInst 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Filter undefined instances.
0 : Do not filter any undefined instances.
-filterSoftPin 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Filter soft pin shapes.
0 : Do not filter any soft pin shapes.
-filterSysPin 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Filter system pins.
0 : Do not filter any system pins.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-filterText 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Filter text data.
0 : Do not filter any text data.
-finShapeProp
finShapeProp
Export the real fin shape information with the specified
property number.
Valid value: an integer with value ranges from 1 to 127
(default=105).
-fontMap fontMap
Specify the font map file.
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Invoke batch mode.
0 : Do not invoke batch mode.
-fullColoringProp
fullColoringProp
Export the color propagation of coloring shapes with the
specified property number.
Valid value: an integer with value ranges from 1 to 127
(default=106).
-instProp instProp
Export the instance name information with the specified
property number.
Valid value: an integer with value ranges from 1 to 127
(default=102).
-IoLayerMapFullLock
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Map to Full Locked option.
0 : Disable the Map to Full Locked option.
-IoLayerMapMode
mode
Specify the layer mapping mode.
Valid values: Off, Map, and Filter (default=Off).
■
■
■
Laker³ Tcl Reference Manual
K-2015.06
Off: Disable the option.
Map: Use the layer map file, which has higher priority, or
the tfStreamIoTable section in the technology
section lakerLayerRule for layer mapping.
Filter: Filter the undefined layers and only convert the
layers that are defined in the layer map file or the
tfStreamIoTable section.
411
Chapter 5: Home Page
File Commands
Argument
Description
-keepPCell 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Keep the Tcl PCell and UDD information.
0 : Do not keep the Tcl PCell and UDD information.
-label mode
Set the case sensitivity in text labels.
Valid values: Preserve, Upper, and Lower
(default=Preserve).
-layerMap layerMap
Specify the layer map file for basic layer mapping.
-lib libName
Specify the library database.
-logFile logErrName
Specify the file name for the log and error files
(default=streamOut).
-logicProp logicProp
Export the logic information with the specified property
number.
Valid value: an integer with value ranges from 1 to 127
(default=103).
-logInfo 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Save information messages to the log file.
0 : Do not save any information messages to the log file.
-LogInstLoc 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Report undefined instances with their coordinate location
to the error file.
0 : Do not report any undefined instances with their
coordinate location to the error file.
-maxVerti maxVerti
Load maximum vertices in paths and polygons
(maximum=4096).
-mergeRefLib 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Merge the referenced library.
0 : Do not merge any referenced libraries.
-mcellProp MCellProp
Export the MCell information with the specified property
number.
Valid value: an integer with value ranges from 1 to 127
(default=104).
412
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-netProp netProp
Export the net name information with the specified property
number.
Valid value: an integer with value ranges from 1 to 127
(default=102).
-OutAbsCell mode
Export the abstract cell view.
Valid values: Off, ViaOnly, and All (default=Off).
■
■
■
Off: Do not export any abstract cell views.
ViaOnly: Export the abstract view of referenceVIA cells,
but do not export the abstract view of other cells.
All: Export the abstract view of all reference cells.
-propMap
propMapFile
Specify the property map file.
-purposeMap 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Reference Purpose Map File option.
0 : Disable the Reference Purpose Map File option.
-reduceDevice 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Reduce the duplicates of MCells, Tcl PCells or UDDs to
one MCell, Tcl PCell or UDD and then export to the GDSII
file.
0: Export all duplicates of MCells, Tcl PCells or UDDs to the
GDSII file.
-renameMode 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Enable the renaming mode for duplicated cells.
0: Disable the renaming mode for duplicated cells.
-renPCell 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Rename modified Tcl PCells, naming in
string$$number, with new format stringSCnumber.
0: Do not rename any modified Tcl PCells.
-rptZeroNegPitch 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Report zero or negative array pitch values.
0: Do not report any zero or negative array pitch values.
-scale scale
Set the db scale.
Laker³ Tcl Reference Manual
K-2015.06
413
Chapter 5: Home Page
File Commands
Argument
Description
-showOnly 0|1
Valid values: Boolean values, 0 and 1.
1: Show the Export Stream form.
0: Do not show the form.
-skip200 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Skip warning messages for over-200-vertex polygons.
0: Do not skip any warning messages.
-SmashMCell mode
Smash MCells to cell instances.
Valid values: Off, ExpCont, and All (default=ExpCont).
■
■
■
Off: Disable the option.
ExpCont: Smash MCells except contacts.
All: Smash all MCells.
-SmashPCell 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Smash Tcl PCells to cell instances.
0: Do not smash any Tcl PCells.
-snapGrid 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Snap vertices to the minimum grid resolution.
0 : Do not snap vertices to the minimum grid resolution.
-topCell topCellList
Specify the top cell name(s) of the output design. Multiple
names must be enclosed by brackets { } and separated by
spaces, commas, or semicolons.
-viewName viewName
Specify the view name for the specified cell
(default=layout).
Examples
# Example 1
lakerExportStream -file demo.db -Lib demoLib
# Example 2
lakerExportStream -file demo.db -lib demoLib -topCell "TOP" \
-case Preserve -maxVerti 1024 -mergeRefLib 1 -SmashMCell ExpCont
# Example 3
# Show the Export Stream form and specify the top cell and GDS file
lakerExportStream -showOnly 1 -file $sFileName \
-lib $sLibName -topCell $sCellName
# Example 4
414
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
lakerExportStream -file out01.db -lib lib01 -topCell {cell01} \
-case Preserve -label Preserve -maxVerti 1024 -mergeRefLib 1 \
-SmashMCell ExpCont -SmashPCell 1 -IoLayerMapMode Map
See Also
Home Page: File > Export > Stream
lakerImportConstraint
The lakerImportConstraint command imports library level constraints to
the Laker database.
Syntax
lakerImportConstraint -lib libName -file fileName [-mode
importMode] [-suffix suffix] [-cell cellNameList] [-view
viewNameList] [-logFile logErrName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellNameList
Specify a list of cell names separated by spaces.
If the cell list is not specified, constraints within each cell in
the selected library are exported.
If it is specified, constraints within the specified cell list are
exported.
-file fileName
Specify the input file that contains the information of
constraints to be imported.
-lib libName
Specify the target library for constraints to be imported.
-logFile logErrName
Specify the file name for the log and error files
(default=constImport).
-mode importMode
Specify the import mode.
Valid values: Rebuild, Overwrite, and Preserve
(default=Rebuild).
-suffix suffix
Specify the suffix for renaming conflicted constraints
(default=_LK).
Laker³ Tcl Reference Manual
K-2015.06
415
Chapter 5: Home Page
File Commands
Argument
Description
-view viewNameList
Specify a list of view names separated by spaces.
If the view list is not specified, constraints of all views in the
selected library are imported.
If the view list is specified, constraints of the view list are
imported.
Examples
# Example 1
# Check constraints in the logic view of each cell from file
# 'TEST_LIB_all.cons' and import related constraints to the target
# library 'TEST_LIB01'.
lakerImportConstraint -lib TEST_LIB01 -view logic -file
TEST_LIB_all.cons
See Also
Home Page: File > Import > Constraint
lakerImportDEF
The lakerImportDEF command imports an DEF format design to the Laker
database.
Syntax
lakerImportDEF -file fileName -lib libName [-path libPath]
[-tech techFile | -attachToLib masterLib] [-forkChild
0|1] [-logFile logErrName]
Returns
None
Arguments
416
Argument
Description
-attachToLib
masterLib
Specify the master library. This imports a library with the
technology file settings of the specified master library.
-file fileName
Specify the input file.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Invoke batch mode.
0 : Do not invoke batch mode.
-lib libName
Specify the imported library.
-logFile
logErrName
Specify the file name for the log and error files
(default=DefIn).
-path libPath
Specify the working directory (default=current directory).
-tech techFile
Specify the technology file.
Examples
lakerImportDEF -file demo.def -lib demoLib
See Also
Home Page: File > Import > DEF
lakerImportLEF
The lakerImportLEF command imports an LEF format design to the Laker
database.
Syntax
lakerImportLEF -file fileName -lib libName [-path libPath]
[-forkChild 0|1] [-tech techFile | -attachToLib
masterLib] [-logFile logErrName]
Returns
None
Arguments
Argument
Description
-attachToLib
masterLib
Specify the master library. This imports a library with the
technology file settings of the specified master library.
-file fileName
Specify the input LEF file.
Laker³ Tcl Reference Manual
K-2015.06
417
Chapter 5: Home Page
File Commands
Argument
Description
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Invoke batch mode.
0 : Do not invoke batch mode.
-lib libName
Specify the imported library.
-logFile logErrName
Specify the file name for the log and error files
(default=LefIn).
-path libPath
Specify the working directory (default=current directory).
-tech techFile
Specify the technology file.
Examples
lakerImportLEF -file demo.lef -lib demoLib
See Also
Home Page: File > Import > LEF
lakerImportOASIS
The lakerImportOASIS command imports an OASIS format design to the
Laker database.
Syntax
lakerImportOASIS -file impOasisFile -lib impLibName [-tech
techFile | -attachToLib masterLib] [-path libPath] [topCell topCellList] [-case case] [-showOnly 0|1] [-label
{Preserve|Upper|Lower}] [-renameMode
{Overwrite|Rename|Query|Skip}] [-layerMapMode
{Map|Filter|Off}] [-layerMap layerMapFile] [-cellMap
cellMapFile] [-fontMap fontMapFile] [-forkChild 0|1] [refOtherFirst 0|1] [-refLib [ libList]] [-snapGrid 0|1]
[-filter 0|1] [-filterBadChar 0|1] [-resize resizeFactor]
[-dumpTree 0|1] [-logicProp 0|1] [-MCellProp 0|1] [impLayerOnly 0|1] [-correctNon90Inst 0|1] [-useLAYERNAME
0|1] [-logInfo 0|1] [-logUndefInst 0|1] [-logFile
logErrName] [-rotateArIdv 0|1]
Returns
None
418
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Arguments
Argument
Description
-attachToLib
masterLib
Specify the master library. This imports a library with the
technology file settings of the specified master library.
-case case
Set the case sensitivity in cell names.
Valid values: Preserve, Upper, and Lower
(default=Preserve).
-cellMap
cellMapFile
Specify the cell map file.
-correctNon90Inst 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Correct angle for non-90 degree based instance by
smashing its master and rotating it to a desired angle.
0 : Do not smash and rotate the master cell of non-90
degree based instance.
-dumpTree 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Dump the design tree to a log file.
0 : Do not dump the design tree to a log file.
-file impOasisFile
Specify the imported OASIS file.
-filter 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Filter the illegal polygon or path.
0 : Do not filter the illegal polygon or path.
-filterBadChar 0|1
This argument is used only when the imported OASIS file
has illegal characters in the string sections.
Valid values: Boolean values, 0 and 1 (default=0).
1 : Filter illegal characters in the string sections without
reporting any FATAL messages in the oasisIn.err file.
0 : The oasisIn process fails and a FATAL message is
reported in the oasisIn.err file.
-fontMap
fontMapFile
Specify the font map file.
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Invoke batch mode.
0 : Do not invoke batch mode.
Laker³ Tcl Reference Manual
K-2015.06
419
Chapter 5: Home Page
File Commands
Argument
Description
-impLayerOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Populate the layer table with layers in OASIS file only.
0 : Do not populate the layer table.
-layerMapMode
{Map|Filter|Off}
Specify the layer mapping mode.
Valid values: Map, Filter, and Off (default=Map).
Map: Use the layer map file, which has higher priority, or the
tfStreamIoTable section for layer mapping;
Filter: Filter the undefined layers and only convert the
layers that are defined in the layer map file or the
tfStreamIoTable section.
Off: Disable the option.
-label
Set the case sensitivity in text labels.
{Preserve|Upper|Lower} Valid values: Preserve, Upper, and Lower
(default=Preserve).
420
-layerMap
layerMapFile
Specify the layer map file.
-lib impLibName
Specify the imported library.
-logFile logErrName
Specify the file name for the log and error files
(default=oasisIn).
-logicProp 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Restore the logic information from the property.
0 : Do not restore any logic information from the property.
-logInfo 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Save the information message into log file.
0 : Do not save any information messages into log file.
-logUndefInst 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Report undefined instances with the coordinate location
to the error file.
0 : Do not report any undefined instances with the
coordinate location to the error file.
-MCellProp 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Restore the MCell information from the property.
0 : Do not restore the MCell information from the property.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-path libPath
Specify the working directory (default=working directory).
-refLib [libList]
Specify the reference libraries by using one of these
options:
■
■
■
Default: Do not specify -refLib to reference any
libraries defined in the RC file.
-refLib: Do not reference other libraries.
-refLib libList: Reference other libraries with the
sequence in libList, which is {Lib1 Lib2 Lib3}.
-refOtherFirst 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Reference instances from other existing libraries first.
0 : Reference instances from the imported library first.
-renameMode
{Overwrite|Rename|
Query|Skip}
Specify the renaming mode for duplicate cells.
Valid values: Overwrite, Rename, Query, and Skip
(default=Overwrite).
■
■
■
■
Overwrite: Overwrite existing cells.
Rename: Rename imported cells.
Query: Ask the user for next action.
Skip: Skip imported cells.
-resize resizeFactor
Specify a resize factor to resize the design.
resizeFactor: double >=0.
-rotateArrIdv 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Convert the array rotation rule to rotate individual
elements of the array by 90 degrees.
0: Convert the array rotation rule to convert the whole array
by 90 degrees.
-showOnly 0|1
Valid values: Boolean values, 0 and 1.
1 : Show the Import OASIS form.
0 : Do not show the form.
-snapGrid 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Snap vertices to the minimum grid resolution.
0 : Do not snap vertices to the minimum grid resolution.
-tech techFile
Specify the technology file.
Laker³ Tcl Reference Manual
K-2015.06
421
Chapter 5: Home Page
File Commands
Argument
Description
-topCell topCellList
Specify the top cell name(s) of input design. Multiple names
must be enclosed by brackets { } and separated by
spaces, commas, or semicolons.
-useLAYERNAME 0|1
Valid values: Boolean values, 0 and 1.
1 : Use LAYERNAME records in the imported file as layer
mapping.
0 : Do not use LAYERNAME records in the imported file.
Examples
lakerImportOASIS -file demo.oas -tech demo.tf -path . \
-lib demo -case Preserve -label Preserve \
-correctNon90Inst 1 -layerMapMode Map
See Also
Home Page: File > Import > OASIS
lakerImportStream
The lakerImportStream command imports a GDSII format design to the
Laker database.
Syntax
lakerImportStream -file fileName -lib libName [-showOnly
0|1] [-tech techFile | -attachToLib masterLibName] [-path
libPath] [-topCell topCellList] [-snapGrid 0|1] [-logInfo
0|1] [-keepPCell 0|1] [-skip200 0|1] [-refOther 0|1] [filter 0|1] [-forkChild 0|1] [-maxVerti maxVerti] [instProp instProp] [-netProp netProp] [-MCellProp
MCellProp] [-logicProp logicProp] [-finShapeProp
finShapeProp] [-fullColoringProp fullColoringProp] [case case] [-layerMap layerMap] [-cellMap cellMap] [fontMap fontMap] [-logFile logErrName] [-resize
resizeFactor] [-CorrectNon90Inst 0|1] [-label mode] [IoLayerMapMode mode] [-refLib {libList}] [strmInLayerOnly 0|1] [-dumpTree 0|1] [-renameMode mode]
[-LogInstLoc 0|1] [-rptZeroNegPitch 0|1] [-propMap
propMapFile] [-sumExtraLayer 0|1] [-replaceTF mode] [updateMCell mode] [-updateMCellLib libList] [-
422
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
updateSlaveMCell 0|1] [-ignoreConflictMCell 0|1] [ignoreDupMap 0|1] [-convertTextBrackets 0|1] [convertTextAngBrackets 0|1] [-detectVias 0|1]
Returns
None
Arguments
Argument
Description
-attachToLib
masterLibName
Specify the master library name. This imports a library
with the technology file settings of the specified master
library.
-case case
Specify the case sensitivity in cell names.
Valid values: Preserve, Upper, and Lower
(default=Preserve).
-cellMap cellMap
Specify the cell map file.
-convertTextBrackets 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Convert the angle brackets of text labels to square
brackets.
0 : Do not convert the angle brackets of text labels to
square brackets.
-convertTextAngBrackets
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Convert the square brackets of text labels to angle
brackets.
0 : Do not convert the square brackets of text labels to
angle brackets.
-CorrectNon90Inst 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Correct angle for non-90 degree based instances by
smashing the master cell and rotating them to a desired
angle.
0 : Do not smash and rotate the master cell of non-90
degree based instances.
-detectVias 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Detect via definitions and create vias.
0 : Convert vias as instances.
Laker³ Tcl Reference Manual
K-2015.06
423
Chapter 5: Home Page
File Commands
Argument
Description
-dumpTree 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Dump the design tree to a log file.
0 : Do not dump the design tree to a log file.
-file fileName
Specify the input GDSII file in *.db, *.gds, *.gz, or
*.Z formats.
-filter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Filter illegal polygons or paths.
0 : Do not filter illegal polygons or paths.
-finShapeProp
finShapeProp
Restore the fin shape information with the specified
property number.
Valid value: an integer with value ranges from 1 to 127
(default=105).
-fontMap fontMap
Specify the font map file.
-forkChild 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Invoke batch mode.
0 : Do not invoke batch mode.
-fullColoringProp
fullColoringProp
Restore the color propagation of coloring shapes with
the specified property number.
Valid value: an integer with value ranges from 1 to 127
(default=106).
424
-ignoreConflictMCell 0|1
This argument is used with -MCellProp only.
Valid values: Boolean values, 0 and 1 (default=0).
1 : If the input GDSII file has the same MCell name as
the technology file, and the MCell rules of these files are
different, the MCell rules of the input GDSII file are
ignored. Only the sub-master cells are imported in this
situation.
0 : If the above situation occurs, the MCell rules of the
input GDSII file are renamed and appended to the
corresponding technology file.
-ignoreDupMap 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Ignore Duplicated Mappings options.
0 : Disable the Ignore Duplicated Mappings options.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-instProp instProp
Restore the instance name information with the
specified property number.
Valid value: an integer with value ranges from 1 to 127
(default=102).
-IoLayerMapMode
mode
Specify the layer mapping mode.
Valid values: Off, Map, and Filter (default=Map).
■
■
■
Off: Disable the option.
Map: Use the layer map file, which has higher priority,
or the tfStreamIoTable section for layer mapping.
Filter: Filter undefined layers and only convert the
layers that are defined in the layer map file or the
tfStreamIoTable section.
-keepPCell 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Restore the Tcl PCell and UDD information.
0 : Do not restore any Tcl PCell and UDD information.
-label mode
Set the case sensitivity in text labels.
Valid values: Preserve, Upper, and Lower
(default=Preserve).
-layerMap layerMap
Specify the layer map file.
-lib libName
Specify the library name.
-logFile logErrName
Specify the file name for the log and error files
(default=streamIn).
-logicProp logicProp
Restore the logic information with the specified property
number.
Valid value: an integer with value ranges from 1 to 127
(default=103).
-logInfo 0|1
Laker³ Tcl Reference Manual
K-2015.06
Valid values: Boolean values, 0 and 1 (default=0).
1 : Save the information message to the log file.
0 : Do not save any information messages to the log file.
425
Chapter 5: Home Page
File Commands
Argument
Description
-LogInstLoc 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Report undefined instances with the coordinate
location to the error file.
0 : Do not report any undefined instances with the
coordinate location to the error file.
-maxVerti maxVerti
Specify the maximum number of vertices to split a
polygon or path. The paths or polygons with 16384
vertices can be loaded into the Laker database, but such
paths or polygons are sliced by the maximum vertices of
4096.
-MCellProp MCellProp
Restore the MCell information with the specified
property number.
Valid value: an integer with value ranges from 1 to 127
(default=104).
-netProp netProp
Restore the net name information with the specified
property number.
Valid value: an integer with value ranges from 1 to 127
(default=102).
-path libPath
Specify the working directory (default=working
directory).
-propMap propMapFile
Specify the property map file.
-refLib {libList}
Specify the reference libraries by these options:
■
■
■
-refOther 0|1
426
Default: Do not specify -refLib to reference all
libraries defined in RC file.
-refLib: Do not reference other libraries.
-refLib libList: Reference other libraries with
the sequence in libList, which is {Lib1 Lib2
Lib3}.
Valid values: Boolean values, 0 and 1 (default=0).
1 : Reference instances from other existing libraries first.
0 : Do not reference instances from other existing
libraries.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Argument
Description
-renameMode mode
Specify the renaming mode for duplicate cells.
Valid values: overwrite, rename, query, and skip
(default=overwrite).
■
■
■
■
-replaceTF mode
overwrite: Overwrite existing cells.
rename: Rename imported cells.
query: Ask the user for the next action.
skip: Skip imported cells.
Replace the existing technology file or attach it to
another library.
Valid values: All, Partial, and Off (default=Off).
■
■
■
All: Replace all existing technology file sections.
Partial: Replace partial technology file sections. It
only works when -tech techFile is specified.
Off: Do not replace the technology file.
-resize resizeFactor
Specify a resize factor to resize the design.
resizeFactor: double >=0.
-rptZeroNegPitch 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Report zero or negative array pitch values.
0: Do not report zero or negative array pitch values.
-showOnly 0|1
Valid values: Boolean values, 0 and 1.
1 : Show the Import Stream form.
0 : Do not show the form.
-skip200 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Skip the warning message for over-200-vertex
polygons.
0 : Do not skip the warning message.
-snapGrid 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Snap vertices to the minimum grid resolution.
0 : Do not snap vertices to the minimum grid resolution.
-strmInLayerOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Populate the layer table with layers in GDSII file only.
0 : Do not populate the layer table.
Laker³ Tcl Reference Manual
K-2015.06
427
Chapter 5: Home Page
File Commands
Argument
Description
-sumExtraLayer 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Check extra layers in the imported GDS database.
0 : Do not check extra layers in the imported GDS
database.
-tech techFile
Specify the technology file.
-topCell topCellList
Specify the top cell name(s) of input design. Multiple
names must be enclosed by brackets { } and separated
by spaces, commas, or semicolons.
-updateMCell mode
Decide whether to update MCells. It does not work when
-replaceTF Off is specified.
Valid values: All, Off, and MCellList (default=Off).
■
■
■
All: Update all MCells.
MCellList: Specify the MCell devices to be
updated in format { dev1 dev2 ... devn }.
MCell names in the MCellList must be separated
by spaces.
Off: Do not update any MCell definitions.
-updateMCellLib libList
Specify the libraries to be updated in format { Lib1
Lib2 ... Libn}. Library names in the libList must
be separated by spaces.
-updateSlaveMCell 0|1
Update MCell definitions for slave libraries. It does not
work when -updateMCell Off is specified.
Valid values: Boolean values, 0 and 1 (default=0).
1 : Update MCell definitions for slave libraries.
0 : Do not update MCell definitions for slave libraries.
Examples
# Example 1
lakerImportStream -file demo.db -lib demoLib
# Example 2
lakerImportStream -file demo.db -lib demoLib -attachToLib demo2
# Example 3
# Show the Import Stream form and specify the top cell and GDS file
lakerImportStream -showOnly 1 -file demo.db -lib demoLib \
-topCell cell_a
428
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
# Example 4
lakerImportStream -file out05.db -tech laker_demo301v3.tf \
-path . -lib imp01 -CorrectNon90Inst 1 -IoLayerMapMode Off \
-case Preserve -label Preserve -maxVerti 1024
# Example 5
# Update all MCell devices dev1 and dev2 in Lib1 and Lib2
# All these devices have a master library ImLib
lakerImportStream -lib ImLib ... -updateMCell {dev1 dev2} \
-updateMCellLib {Lib1 Lib2}
See Also
Home Page: File > Import > Stream
lakerImportTLUPlus
The lakerImportTLUPlus command extracts the sheet resistance
information from a Table Look Up Plus (TLU+) file and saves the extracted
information with a sheetResistance constraint in the specified database.
Syntax
lakerImportTLUPlus inputFile -to output [-layerMap layerMap]
[-defaultThickness mode] [-layerThicknessFile file]
Returns
None
Arguments
Argument
Description
-defaultThickness mode
Specify the default thickness for all layers.
Valid values: minimum, nominal, and maximum
(default=nominal).
-layerMap layerMap
Specify the layer map file.
-layerThicknessFile file
Specify the layer thickness file containing the userspecified thickness for each layer.
Laker³ Tcl Reference Manual
K-2015.06
429
Chapter 5: Home Page
File Commands
Argument
Description
-to output
Specify the output in one of the following formats:
libName or {libName cellName viewName},
where libName represents the technology library file,
and {libName cellName viewName} represents
the target library, cell, and view names.
inputFile
Specify the TLU Plus file with its full path.
Examples
lakerImportTLUPlus path ./tech/icc/reference40_10lm.tluplus \
-to {chip_top cpu_routed layout} -layerMap \
./tech/ref4_1_tluplus.map -defaultThickness nominal
# Example 2
lakerImportTLUPlus path ./tech/ref4_1.tluplus \
-to chip_top -layerMap ./tech/ref4_1_tluplus.map \
-defaultThickness nominal
See Also
Home Page: File > Import > TLU+
lakerImportVerilog
The lakerImportVerilog command imports a Verilog format design to the
Laker database.
Syntax
lakerImportVerilog [-file | -list] verilogListFilename [path runPath] -lib libName [-topCell topCellName] [showOnly] [-impRefLib refereLib] [-tech techFile | attachToLib masterLib] [-power powerName] [-gnd gndName]
[-rmEsc 0|1] [-ps 0|1] [-modelMap modelMap] [-expandLog
logFile] [-refLib refLibName [-ecoFile ecoFileName] [extractConstraint 0|1] [-priority priority] [-suffix
suffix] [-dumpMap modelMapFile] [-execECO 0|1]] [genAllSchematic 0|1]
Returns
None
430
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Arguments
Argument
Description
-attachToLib
masterLib
Specify the master library. This creates a library with the
technology file settings of the specified master library.
-dumpMap
modelMapFile
Specify the model map file to be dumped from the reference
library.
-ecoFile
ecoFileName
Specify the extracting command file.
-execECO 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Execute the ECO command file automatically.
0: Do not execute the ECO command file.
-expandLog
logFile
Specify the log file to describe the relationship between the
parameter and logic view name of expanded cells.
-extractConstraint
0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Extract design-driven layout (DDL) constraints.
0: Do not extract DDL constraints.
-file
verilogListFilename
Specify the name of the Verilog file.
-genAllSchematic 0|1
Valid value: Boolean values, 0, and 1 (default=1).
1: Generate schematics with placement and routing.
0: Generate schematics without placement and routing.
-gnd gndName
Specify the ground net name.
-impRefLib refLib
Specify the cell reference libraries.
-lib libName
Specify the library name of the imported results.
-list
verilogListFilename
Specify the name of the list file.
-modelMap
modelMap
Specify the model map file.
-path runPath
Specify the location of the imported results. The default is “.”
-power powerName
Specify the power net name.
Laker³ Tcl Reference Manual
K-2015.06
431
Chapter 5: Home Page
File Commands
Argument
Description
-priority priority
Specify a priority to handle conflicted constraints.
Valid values: schematic and layout
(default=schematic).
-ps 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Extract the swapping information of equivalent ports from
the imported netlist data.
0: Do not extract any swapping information.
-refLib
refLibName
Specify the reference library for extracting the object tree
information.
-rmEsc 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Remove the first backslash of all escaped identifiers.
0: Do not remove the first backslash of all escaped
identifiers.
-showOnly
When specified, the Import Verilog form is shown with
settings passed from lakerImportVerilog.
-suffix suffix
Specify the suffix for renaming conflicted constraints
(default=_LK).
-tech techFile
Specify the technology file.
-topCell topCellName
Specify the top cell name of the design to be translated.
Only one top cell name can be specified.
Examples
lakerImportVerilog -file inv.v -path . -lib inv \
-tech default.tf -append -power VSS -gnd VDD
See Also
Home Page: File > Import > Verilog
lakerOpenDesign
The lakerOpenDesign command returns 1 if the design data, with the
specified path and open mode, can be opened in a new layout window.
432
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
File Commands
Syntax
lakerOpenDesign -lib libName -cell cellName [-mode mode] [viewType cellviewType] [-view viewName] [-restorenum
restoreNum] [-autosave] [-dmCVCkout 0|1] [-dmCVCkin 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-autosave
Open the autosave file if it exists.
-cell cellName
Specify the cell to be opened.
-dmCVCkin 0|1
Valid values: Boolean values, 0 and 1.
1 : Check in cell view files, that are checked out automatically.
The default value depends on the setting in the laker.rc
resource file.
0 : Do not check in cell view files.
-dmCVCkout 0|1
Valid values: Boolean values, 0 and 1.
1 : Check out cell view files. The default value depends on the
setting in the laker.rc resource file.
0 : Do not check out cell view files.
-lib libName
Specify the library database.
-mode mode
Specify the opening mode.
Valid values: edit or readOnly (default=edit).
-restorenum
restoreNum
Restore the backup database (default=-1).
-view viewName
Specify the view name of the cell to be opened.
Valid values: layout, logic, schematic, and any userdefined view name (default=layout).
-viewType
cellviewType
Specify the cell view type of the cell to be opened. The only
available type is maskLayout.
Laker³ Tcl Reference Manual
K-2015.06
433
Chapter 5: Home Page
File Commands
Examples
# Example 1
# Open the layout view of the cell (ram) in the library (ram)
lakerOpenDesign -lib ram -cell ram -mode edit
# Example 2
# Open the previous version of the layout view of the cell (ram)
# in the library (ram)
lakerOpenDesign -lib ram -cell ram -mode edit -restorenum 1
# Example 3
# Library CPU and its full path: /tmp/CPU.lib++
# All design files and library level files are read-only
# Open a design in edit mode and check out its file automatically
lakerOpenDesign -lib CPU -cell AN2D1 -mode edit -dmCVCkout 1 dmCVCkin 0
See Also
dbGetAllCells
dbGetAllViews
Home Page: File > Open
Layout Window: Cell > Open
lakerSession
The lakerSession command saves the current working environment to a
session file, or restores the previous session from a session file.
Syntax
lakerSession [-save filename] [-restore filename]
Returns
None
Arguments
434
Argument
Description
-restore filename
Specify the file name of the session file to be restored.
-save file
Specify a file name for the session file to be saved as.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
Examples
# Example 1
# Save a session file
lakerSession -save a.ses
# Example 2
# Restore a session file
lakerSession -restore a.ses
See Also
Home Page: File > Save Session
Home Page: File > Restore Session
Library Commands
This section describes the Tcl commands applied to the Library commands in
the Home Page. These commands include:
■
adpNetlistMapping
■
lakerAbstractCell
■
lakerAddICCLib
■
lakerChangeRefLib
■
lakerCopyLib
■
lakerDelLib
■
lakerDefGlobalNet
■
lakerDiscrepancyHier
■
lakerDumpModelMap
■
lakerEncryptLib
■
lakerLibCellDumpParam
■
lakerLibCellParam
■
lakerMCellTechPorting
■
lakerNewLib
■
lakerPurgeBackup
■
lakerRefLib
Laker³ Tcl Reference Manual
K-2015.06
435
Chapter 5: Home Page
Library Commands
■
lakerRefreshMCell
■
lakerRefreshUDD
■
lakerRenLib
■
lakerRepModelMap
■
lakerSwapPort
■
lakerTechDump
■
lakerTechReplace
■
lakerTechSave
■
lakerText2Prop
■
lakerUpdateCellProp
adpNetlistMapping
The adpNetlistMapping command sets the netlist mapping before
exporting the design.
Syntax
adpNetlistMapping -netlistMap netlistMap -defNetlist
netlistType
Returns
None
Arguments
436
Argument
Description
-defNetlist netlistType
Specify the default netlist type.
Valid values: hspiceD, auCdl, smartspice, eldoD,
spectre, and verilog.
-netlistMap netlistMap
Specify the netlist mapping table can be specified with
format:
{“netlistType disp exportSpiceFormat” ...}
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
Examples
# Example 1
# The default netlist type is hspiceD; and the hspiceD, auCdl
# and verilog netlist types are shown in the Netlist Table
# selection field
adpNetlistMapping -netlistMap \
{"hspiceD 1 SPICE" "auCdl 1 CDL" "smartspice 0 SPICE" \
"eldoD 0 SPICE" "spectre 0 Spectre" "verilog 1 SPICE"} \
-defNetlist hspiceD
See Also
Home Page: Library > Global Netlist Mapping
lakerAbstractCell
The lakerAbstractCell command extracts the cell information of a cell
view or a library, including pin extraction, blockage generation, and boundary
generation.
Syntax
lakerAbstractCell [-showOnly 0|1] -lib libname -cell
cellname [-view viewName] -extDepth depth -onlyLevel0 0|1
-useColonVirtual 0|1 [-genPolyPin 0|1] [boundaryFromLayer layerName purpname] [-extractThrPin
0|1]
Returns
None
Arguments
Argument
Description
-boundaryFromLayer
layerName purpName
Specify a layer to transfer into cell boundary. When it is not
specified, the rule defined in the technology file is used to
generate a boundary.
-cell cellName
Specify the cell to be extracted. If this argument is not
specified, all cells in the library are extracted.
-extDepth depth
Specify the extraction depth.
Valid value: an integer from 0 to 49 (default=49).
Laker³ Tcl Reference Manual
K-2015.06
437
Chapter 5: Home Page
Library Commands
Argument
Description
-extractThrPin 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Extract pins through via/contact.
0 : Do not extract pins through via/contact.
-genPolyPin 0|1
Valid values: Boolean values, 0 and 1.
1 : Extract the on-grid POLY pin shapes on MET1 routing
track.
0 : Do not extract the on-grid POLY pin shapes on MET1
routing track.
-lib libName
Specify the library database.
-onlyLevel0 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Only process labels (text) at level 0.
0 : Do not process labels (text) at level 0.
-showOnly 0|1
Valid values: Boolean values, 0 and 1.
1: Show the Abstract Cell form.
0: Hide the Abstract Cell form.
-useColonVirtual
Valid values: Boolean values, 0 and 1 (default=0).
1 : Use a colon as the virtual connection.
0 : Do not use a colon as the virtual connection.
-view viewName
Specify the view name of the cell to be extracted.
Valid values: layout, logic, schematic, and any userdefined view name (default=layout).
Examples
# Example 1
# Extract the layout view of cell "chk" and cell "adder"
lakerAbstractCell -lib Demotest2 -cell chk adder
# Example 2
# Extract the layout000 view of cell "test1" and cell "test2"
lakerAbstractCell -lib Demotest2 -cell test1 test2 -view layout000
See Also
Home Page: Library > Abstract Cell
Layout Window: Cell > Abstract Cell
438
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
lakerAddICCLib
The lakerAddICCLib command adds an ICC library with the specified library
name.
Syntax
lakerAddICCLib -lib libName -path path [-addICCRefLibs 0|1]
[-useOATech attachToLib [-layerMap layerMapLib]
[-viaMap viaMapLib]]
Returns
None
Arguments
Argument
Description
-lib libName
Specify the added ICC library name.
-path path
Specify the added ICC library’s directory.
-addICCRefLibs
Valid values: Boolean values, 0 and 1 (default=1).
1 : Add the ICC reference libraries.
0 : Do not add the ICC reference libraries.
-useOATech
Valid values: Boolean values, 0 and 1 (default=0).
1 : Attach an OA technology file.
0 : Do not attach an OA technology file.
-layerMap
layerMapLib
Specify the layer mapping file when a separate OA technology
file is attached.
-viaMap
viaMapLib
Specify the via mapping file when a separate OA technology
file is attached.
Examples
# Example 1
# Add an ICC library chip_mstop_icc and its all reference libraries
lakerAddICCLibNewLib -lib chip_mstop_icc -path . -addICCRefLibs 1
# Example 2
# Add an ICC library chip_mstop_icc and using OA tech:
# Attach library (qa), layerMap library (demoLib), viaMap (viaLib)
lakerAddICCLibNewLib -lib chip_mstop_icc -path . \
-useOAtech qa -layerMap demoLib -viaMap viaLib
Laker³ Tcl Reference Manual
K-2015.06
439
Chapter 5: Home Page
Library Commands
See Also
Home Page: Library > Add ICC Libraries
lakerChangeRefLib
The lakerChangeRefLib command changes the original referenced library
to another. With the optional arguments, -refView and -toView, this
command may also change the original reference view of the original
referenced library to another view with another library.
Syntax
lakerChangeRefLib -lib libName -refLib refLib [-refView
viewName] -toLib toLib [-toView viewName]
Returns
None
Arguments
440
Argument
Description
-lib libName
Specify the library database.
-refLib refLib
Specify the original referenced library.
-refView
viewName
Specify the view name of the original reference library.
Valid values: layout and abs.
-refView and -toView must be specified or not specified at
the same time.
-toLib toLib
Specify the new target of the referenced library.
-toView
viewName
Specify the view name for the new target of the referenced
library.
Valid values: layout and abs.
-refView and -toView must be specified or not specified at
the same time.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
Examples
# Example 1
# Change the reference library (oriLib) of library (demoLib) to
# the new reference library (newRefLib)
lakerChangeRefLib -lib demoLib -refLib oriLib -toLib newRefLib
# Example2
lakerChangeRefLib -lib CPU -refLib CPU_REF -refView layout \
-toLib CPU_REF -toView abs
# Example 3
lakerChangeRefLib -lib CPU -refLib CPU -refView abs -toLib CPU_REF
-toView abs
See Also
Home Page: Library > Change Reference
lakerCopyLib
The lakerCopyLib command duplicates another copy of the specified cell
view(s) from source library to target library.
Syntax
lakerCopyLib -lib libName -toLib toLib [-toPath toPath] view viewNameList -overwrite 0|1
Returns
None
Arguments
Argument
Description
-lib libName
Specify the library database.
-overwrite 0|1
Valid values: Boolean values, 0 and 1.
1 : Overwrite the cell view if it is existed in the target library.
0 : Do not overwrite the cell view if it is existed in the target
library.
-toLib toLib
Specify the new target library database.
-toPath toPath
Specify the working directory (default=current directory).
Laker³ Tcl Reference Manual
K-2015.06
441
Chapter 5: Home Page
Library Commands
Argument
Description
-view
viewNameList
Specify a list of cell views to be copied.
Examples
# Example 1
# Duplicate another copy of library (demoLib)
# with different name (demo2Lib)
lakerCopyLib -lib demoLib -toLib demo2Lib
# Example 2
# Copy specific view name of cell view from source library to
# target library
lakerCopyLib -lib demoLib -toLib demo2Lib -view layout abs \
-overwrite 1
See Also
Home Page: Library > Copy
lakerDelLib
The lakerDelLib command deletes the entire database in the library and
removes the directory of the library.
Syntax
lakerDelLib -lib libName
Returns
None
Arguments
Argument
Description
-lib libName
Specify the library database.
Examples
# Delete the library (demoLib)
lakerDelLib -lib demoLib
See Also
Home Page: Library > Delete
442
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
lakerDefGlobalNet
The lakerDefGlobalNet command defines global net of the specified
library.
Syntax
Append Mode:
lakerDefGlobalNet -lib libName -power powNetNameList -ground
gndNetNameList
Remove Mode:
lakerDefGlobalNet -lib libName -power powNetNameList -ground
gndNetNameList -global globalNetNameList -remove
Returns
A list of global net names if it is defined in the library; otherwise, returns
nothing.
Arguments
Argument
Description
-lib libName
Specify the library database.
-power
powNetNameList
Specify the list of operation power nets.
-ground
gndNetNameList
Specify the list of operation ground nets.
-global
globalNetNameList
Specify the list of operation global nets.
-remove
Remove the specified global nets.
Examples
# Example 1
lakerDefGlobalNet -lib demo -power VDD -ground VSS GND
# Example 2
set AllGlobalNet [lakerDefGlobalNet -lib demo]
# Example 3
lakerDefGlobalNet -lib -global $AllGlobalNet -remove
Laker³ Tcl Reference Manual
K-2015.06
443
Chapter 5: Home Page
Library Commands
lakerDiscrepancyHier
The lakerDiscrepancyHier command makes a discrepancy report for the
specified library with data comparison between the schematic and layout.
Syntax
lakerDiscrepancyHier -lib libName [-lib2 libName] [-view1
viewName] [-view2 viewName] [-topCkt topCktList] [ignoreBulk 0|1] [-cmpHierarchy 0|1] [-dumpMapInfo 0|1]
[-reportDiscOnly 0|1] [-groupsDis 0|1] [-groupInst 0|1]
[-file filename]
Returns
None
Arguments
444
Argument
Description
-dumpMapInfo 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Dump Mapping Information option.
0 : Disable the Dump Mapping Information option.
-file filename
Specify the file to save the discrepancy results.
-groupDis 0|1
Valid values: Boolean values, 0 and 1.
1 : Dump the discrepancy information and group the results
by mismatched type.
0 : Do not dump the discrepancy information and group the
results by mismatched type.
-groupInst 0|1
Valid values: Boolean values, 0 and 1.
1 : Dump the discrepancy information and group the results
by instance name.
0 : Do not dump the discrepancy information and group the
results by instance name.
-ignoreBulk 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Ignore Bulk Checking option.
0 : Disable the Ignore Bulk Checking option.
-lib libName
Specify the library to make the discrepancy report.
-lib2 libName
Specify the second library that is to be compared with the
library specified by -lib.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
Argument
Description
-reportDiscOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Report Discrepancy Only option.
0 : Disable the Report Discrepancy Only option.
-topCkt topCktList
Specify a list of top cells to get the hierarchical discrepancy
report.
-view1
viewName
Specify the first view name for the comparison.
Valid values: layout, logic, and netlist
(default=logic).
-view2
viewName
Specify the second view name for the comparison.
Valid values: layout, logic, and netlist
(default=layout).
Examples
# Example 1
# save the discrepancy results to the file (diff.rpt)
lakerDiscrepancyHier -lib demoLib -topCkt topCell1 topCell2 \
-file diff.rpt
# Example 2
lakerDiscrepancyHier -lib lib2 -view1 netlist -ignoreBulk 1 \
-dumpMapInfo 1 -groupDis 1 -groupInst 1 -file ./
lakerDiscHier.log.1
See Also
Home Page: Library > Discrepancy Report
lakerDumpModelMap
The lakerDumpModelMap command dumps the model map file of a specified
library.
Syntax
lakerDumpModelMap -lib libName -file fileName
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
445
Chapter 5: Home Page
Library Commands
Arguments
Argument
Description
-lib libName
Specify the library that is related to the model map file to be
dumped.
-file fileName
Specify the file to save the dumped model map file with its
full path.
Examples
lakerDumpModelMap -lib Demo -file ./test.map
See Also
Home Page: Library > Model Map File > Dump
lakerEncryptLib
The lakerEncryptLib command encrypts user-defined devices (UDDs) to
prevent from modifying the UDDs.
Syntax
lakerEncryptLib -lib libName -toPath pathName -toLib
newLibName
Returns
None
Arguments
Argument
Description
-lib libName
Specify the source library.
-toLib newLibName
Specify the destination library.
-toPath pathName
Specify the path of the destination library.
Examples
lakerEncryptLib -lib Demo -toPath . -toLib EDemo
See Also
Home Page: Library > Encrypt UDD
446
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
lakerLibCellDumpParam
The lakerLibCellDumpParam command dumps the parameter setting for
the symbol library.
Syntax
lakerLibCellDumpParam -lib libName [-file cdfFile] [allCell] [-dir icdfDir]
Returns
None
Arguments
Argument
Description
-allCell
When specified, parameters from all cells in the specified
library are dumped.
-dir icdfDir
Specify the iCDF directory to save the dumped
parameters.
-file cdfFile
Specify the cdf file.
-lib libName
Specify the library name.
Examples
# Example 1
lakerLibCellDumpParam -lib q -file q.cdf
# Example 2
lakerLibCellDumpParam -allCell -lib q2 -dir ./iCDF
See Also
Home Page: Library > Dump Parameter
lakerLibCellParam
The lakerLibCellParam command adds the parameters into the Parameter
Dialog form for the symbol library.
Laker³ Tcl Reference Manual
K-2015.06
447
Chapter 5: Home Page
Library Commands
Syntax
lakerLibCellParam -topWnd winId -lib libName -cell cellName
[-add] [-delete] -paname paramName [-paramAttr
{{paramAttr}...} -value {{value}...}] [-nlsimtype
netlistType -netlistAttr {{nlAttr}...} -value
{{value}...}] [-dispAttr {{dispAttr} ...} -value
{{value}...}]
Argument
Description
-add
Add a parameter.
-cell cellName
Specify the cell name.
-delete
Delete a parameter.
-dispAttr {{dispAttr}
Specify the display attribute with format:
{{opDisp} {paramDisp}}
-lib libName
Specify the library name.
-netlistAttr {{nlAttr}
Specify the netlist attribute with format:
{{namePrefix} {netlistProc} {pinOrder}
{otherParams} {compName} {modelName}
{instParams} {subParams} {propMap}}
-nlsimtype netlistType
Specify the netlist type.
Valid values: hspiceD, auCdl, smartspice, eldoD,
spectre, and verilog.
-paname paramName
Specify the parameter name.
-paramAttr {{paramAttr}...} Specify the parameter attribute with format:
{{name} {type} {value} {dispPrio}
{promptName} {type} {value} {callback}
{parseAsNum} {parseAsPEL} {editable}
{visible}}
448
-topWnd winId
Specify the top window identifier.
-value {{value}...}
The attribute values vary depending on the assigned
-dispAttr, -paramAttr, or -netlistAttr.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
Examples
# Example 1
# Modify the Parameter information
#Add parameters
lakerLibCellParam -topWnd _adp1 -lib q -cell inv -add -paname
new_0 \
-paramAttr {{dispPrio}} -value {{6}}
lakerLibCellParam -topWnd _adp1 -lib q -cell inv -add -paname
new_0 \
-paramAttr {{type} {value} {dispPrio}} -value {{button} {} {6}}
# Delete parameters
lakerLibCellParam -topWnd _adp1 -lib q -cell inv -delete -paname ln
# Modify the parameter name
lakerLibCellParam -topWnd _adp1 -lib q -cell inv -paname old \
-paramAttr {{name} {value} {dispPrio}} -value {{new} {11} {0}}
# Modify other fields in the parameter table
lakerLibCellParam -topWnd _adp1 -lib q -cell inv -paname mp \
-paramAttr {{promptName} {type} {value} {callback} {parseAsNum}
\
{parseAsPEL} {editable} {visible}} \
-value {{PMOS Multiplierq} {Boolean} {t} {q} {q} {q} {f} {f}}
# Modify the parameter type
lakerLibCellParam -topWnd _adp1 -lib q -cell inv -paname ln \
-paramAttr {{type}} -value {{button}}
# Example 2
# Modify the Netlist information
lakerLibCellParam -topWnd _adp1 -lib q -cell inv -nlsimtype
hspiceD \
-netlistAttr {{namePrefix} {netlistProc} {pinOrder}
{otherParams} \
{compName} {modelName} {instParams} {subParams} \
{propMap}} \
-value {{X} {} {a b c} {} {} {} {} {} {}}
# Example 3
# Modify the Display information
lakerLibCellParam -topWnd _adp1 -lib q -cell inv \
-dispAttr {{opDisp} {paramDisp}} -value {{test1} {test2}}
See Also
Home Page: Library > Parameter
Laker³ Tcl Reference Manual
K-2015.06
449
Chapter 5: Home Page
Library Commands
lakerMCellTechPorting
The lakerMCellTechPorting command changes the related
tfLayoutMagicCell section of the existing design library and then reevaluates MCells based on the new rule.
Syntax
lakerMCellTechPorting -lib libName -topCell topCellName toLib targetLibName [-toPath toPath] [-overwrite 0|1] [shiftOrigin 0|1 | transistor|contact] [-updateMCell mode]
[-tech techFile | -attachToLib masterLibName] [keepEditValue 0|1] [-keepTxLenWidth 0|1]
Returns
None
Arguments
450
Argument
Description
-attachToLib
masterLib
Specify the master library. This causes the technology file
settings of the target library identical with that of the
specified master library.
-keepEditValue 0|1
Valid values: Boolean values, 0 and 1 (default=0).
It is used only when -updateMCell optimize is
specified.
1 : Maintain edited values.
0 : Reset edited values, except for transistor length/width, to
new minimum values.
-keepTxLenWidth 0|1
Valid values: Boolean values, 0 and 1 (default=0).
It is used only when -updateMCell optimize is
specified.
1 : Do not update previous minimum gate length/width to
new minimum rule, unless it violates the new one.
0 : Reset minimum gate length/width to new minimum rule.
-lib libName
The library database.
-overwrite 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Overwrite the existing cell view in the target library.
0 : Do not overwrite the existing cell view in the target library.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
Argument
Description
-shiftOrigin
Valid values: Boolean values (0 and 1), transistor, and
0 | 1 | transistor | contact contact (default=0).
1 : Shift the origin of MCells (transistors and contact
devices).
0 : Do not shift the origin of MCells (transistors and contact
devices).
transistor : Shift the origin of transistors only.contact :
Shift the origin of contact devices only.
-tech techFile
Specify the technology file.
-toLib targetLibName
Specify the new target library database.
-toPath toPath
Specify the working directory (default=current directory).
-topCell topCellName
Specify the top cell name of the design to be translated.
-updateMCell mode
Valid values: optimize, keepConn and off
(default=off).
optimize : Optimization mode.
keepConn : Keep the connection.
off : Do not update MCells.
Examples
lakerMCellTechPorting -lib sourceLib -topCell cell \
-toLib destLib -updateMCell optimize -keepEditValue 1 \
-keepTxLenWidth 1 -shiftOrigin transistor -attachToLib libB
See Also
Home Page: Library > Technology File > Porting
lakerNewLib
The lakerNewLib command creates a new library with the specified library
name.
Syntax
lakerNewLib -lib libName [-path path] [-tech techFile | attachToLib masterLib | -refTechLib refTechLibs]
Laker³ Tcl Reference Manual
K-2015.06
451
Chapter 5: Home Page
Library Commands
Returns
None
Arguments
Argument
Description
-attachToLib
masterLib
Specify the master library. This creates a library with the
technology file settings of the specified master library.
-lib libName
Specify the library name.
-path path
Specify the working directory (default=current directory).
-refTechLib
refTechLibs
Set the reference for technology libraries.
-tech techFile
Specify the ASCII technology file (default=default.tf).
Examples
# Example 1
# Create a new library demoLib
lakerNewLib -lib demoLib
# Example 2
# Create a new library test and attach it to library demoLib
lakerNewLib -lib test -path . -attachToLib demoLib
# Example 3
# Create a new library newLib, and set the reference technology
# libraries refLib1, refLib2, and refLib3
lakerNewLib -lib newLib -refTechLib refLib1 refLib2 refLib3
See Also
dbCreateLib
Home Page: Library > New
lakerPurgeBackup
The lakerPurgeBackup command purges the backup data.
Syntax
lakerPurgeBackup -lib Liblist -backupnum nKeepBackupNum
452
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
Returns
None
Arguments
Argument
Description
-backupnum
nKeepBackupNum
Reserve the number of backup database.
Valid value: positive integer number.
-lib Liblist
Specify the database (DB) list.
Examples
# Example 1
# If the backup version is older than 3 in library (Lib1, Lib2),
# remove the backup data
lakerPurgeBackup -backupnum 3 -lib Lib1 Lib2
# Example 2
# Remove all the backup data in library (Lib1, Lib2)
lakerPurgeBackup -backupnum 0 -lib Lib1 Lib2
See Also
Home Page: Library > Purge Backup
lakerRefLib
The lakerRefLib command checks and fixes the unmatched cell view and
library structure.
Syntax
lakerRefLib -lib libName [-updateCellBBox 0|1]
Returns
None
Arguments
Argument
Description
-lib libName
Specify the library database to be refreshed.
Laker³ Tcl Reference Manual
K-2015.06
453
Chapter 5: Home Page
Library Commands
Argument
Description
-updateCellBBox 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Check the DB bounding box when updating the specified
library. The checking results are shown on the console.
0 : Do not check the DB bounding box.
Examples
# refresh demoLib and check db bounding box
lakerRefLib -lib demoLib -updateCellBox 1
See Also
Home Page: Library > Refresh
lakerRefreshMCell
The lakerRefreshMCell command refreshes the MCell definition in the
technology file.
Syntax
lakerRefreshMCell -lib libName [-update 0|1]
Returns
None
Arguments
Argument
Description
-lib libName
Specify the library database.
-update 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Refresh the MCell definition.
0 : Do not refresh the MCell definition.
Examples
lakerRefreshMCell -lib demoLib -update 1
454
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
lakerRefreshUDD
The lakerRefreshUDD command refreshes parameterized test structure
devices to synchronize the Tcl scripts if the scripts can be found in the user
environment.
Syntax
lakerRefreshUDD -lib libName [-updateProcScript 0|1]
Returns
None
Arguments
Argument
Description
-lib libName
Specify the library to be refreshed.
-updateProcScript 0|1
This argument is only used with -lib.
Valid values: Boolean values, 0 and 1 (default=1).
1 : Update the procedure scripts of the specified library and
UDD supermasters.
0 : Do not update the procedure scripts of the specified
library and UDD supermasters.
Examples
# Example 1
# Library-based Refresh Device: All UDD/Tcl PCell submasters in
# the library are deleted and re-generated
lakerRefreshUDD -lib LibA -updateProcScript 1
See Also
Home Page: Library > Refresh Device
lakerRenLib
The lakerRenLib command changes the name of the specified library.
Syntax
lakerRenLib -lib libName -rename rename [-update 0|1]
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
455
Chapter 5: Home Page
Library Commands
Arguments
Argument
Description
-lib libName
Specify the library database.
-rename rename
Specify a new name for the library.
-update 0|1
Valid values: Boolean values, 0 and 1.
1 : Update all instances that use the specified library.
0 : Do not update all instances that use the specified library.
Examples
# change the library name (demoLib) to (renameLib) and
# update all instances that use this library
lakerRenLib -lib demoLib -rename renameLib -update 1
See Also
Home Page: Library > Rename
lakerRepModelMap
The lakerRepModelMap command returns 1 if the model map file of the
specified library can be replaced.
Syntax
lakerRepModelMap -lib libName -modelMap modelMapFile
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
Specify the library database.
-modelMap
modelMapFile
Specify a new model map file for the library.
Examples
lakerRepModelMap -lib demo -modelMap demo.map
456
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
See Also
Home Page: Library > Model Map File > Replace
lakerSwapPort
The lakerSwapPort command edits the port swapping information in the
specified library.
The perm_string syntax is as follows:
perm_string: {p|f|c perm_string}
| {p|f|c port_list}
| perm_string perm_string
port_list: port_name port_name
port_name: any ASCII string
where:
■
perm_string: Consists of an ordered sequence of expressions beginning
f, p, c.
■
f (fixed): Indicates that the group elements cannot be swapped (nonpermutable).
■
p (permutable): Indicates that any of the group elements can be swapped
(independently swappable).
■
c (cyclic): Indicates that the set of group elements may be rotated (cyclically
permutable). For example, {c A B C} indicates that the permissible
permutations are A B C, B C A and C B A.
Notice that:
■
The port name is not in brackets twice. For example, {p{f A A}{f C D}}.
■
If one group is assigned f, the port number of the next group needs to be
the same with the former. For example, {p{f A B C}{c C D E}}.
■
p is the default.
■
Different swapping types (p, f, c) are not allowed in the same swapping
level, or a discrepancy could result. For example,
{p {f NODE_0 NODE_1} {f NODE_2 NODE_3}} and
{p {c NODE_0 NODE_1} {c NODE_2 NODE_3}} are legal;
but {p {f NODE_0 NODE_1} {p NODE_2 NODE_3}} is illegal because
f and p are different types. The swap port function is disabled if different
Laker³ Tcl Reference Manual
K-2015.06
457
Chapter 5: Home Page
Library Commands
swapping types are found and an error message is prompted as follows:
swap type inconsistent in {p {f NODE_0 NODE_1} {p NODE_2
NODE_3}}
Syntax
lakerSwapPort [-purge 0|1] -lib libName -swapInfo {{cell1
perm_string} {cell2 perm_string}...}
lakerSwapPort -lib libName -save filename
lakerSwapPort -lib libName -load filename
Returns
None
Arguments
458
Argument
Description
-lib libName
Specify the library database.
-load filename
Load the previously saved port swapping information by
specifying the file name.
-purge 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Clean previous port swapping information in the
specified library and show new information. This option is
arbitrary.
0: Do not clean previous information but append the new
information.
-save filename
Specify the file to save the port swapping information. The
file format is as follows:
[PORT_SWAP]
cell_name1
{p{f A B C}{f D E F}}
cell_name2
{p{p1 p2 p3}{p4 p5 p6}}
cell_name3
{p{c A B}{f C D}{f E F}}
-swapInfo
{{cell1 perm_string}
{cell2 perm_string}...}
Specify the port swapping information of the cell.
perm_string consists of an ordered sequence of
expressions beginning f, p, or c.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
Examples
# Example 1
lakerSwapPort -lib lib3 -save PnSwInfo.swa
#
#
#
#
contents of PnSwInfo.swa
[PORT_SWAP]
c3_1
{p{f r1 r2}{f o1 o2}{f g1 g2}}
c3_2
{p{c r g}{c j y}}
# Example 2
lakerSwapPort -purge 0 -lib lib3 -swapInfo {{cell3{p{f 1 2 3}{f
3 4 5}}} }
See Also
Home Page: Library > Swap Port...
lakerSwapInstPort
lakerTechDump
The lakerTechDump command obtains a writable ASCII technology file.
Syntax
lakerTechDump -lib libName -tech techFile [-local 0|1] [unique 0|1] [-section sectionName] [-editor 0|1] [getMasterLibName 0|1] [-returnContent 0|1]
Returns
None
Arguments
Argument
Description
-editor 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Invoke the editor after dumping the technology file.
0 : Do not invoke the editor after dumping the technology
file.
-getMasterLibName 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : When specified, only -lib is valid, other arguments are
skipped.
0 : When specified, all arguments are valid.
-lib libName
Specify the library database.
Laker³ Tcl Reference Manual
K-2015.06
459
Chapter 5: Home Page
Library Commands
Argument
Description
-local 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Local option.
0 : Disable the Local option.
-returnContent 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : When specified, -getMasterLibName is invalid. No
matter the library is master or slave, the content of the
desired section is placed to the returning of that Tcl
command.
0 : When specified, returns nothing.
-section sectionName
Specify the sections to be dumped.
Value values: tfLayoutSystemUnit,
tfSystemPurpose, tfLayoutLayerTable,
tfStreamIoTable, tfLayoutLayerRule,
tfLayoutVerifyRule, tfLayoutDevice,
tfLayoutMagicCell, tfLayoutConnection,
tfDeviceRule, tfNetlistDrivenRule,
tfSubstrateExtraction, tfAreaEstimation,
tfAbstractCell, tfLVSRule, tfLayoutMetalSlot,
and tfLayoutCompaction.
All sections are dumped if this option is not specified.
-tech techFile
Specify the technology file.
-unique 0|1
This argument is valid only when -local 0 is specified.
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Unique option.
0 : Disable the Unique option.
Examples
# Example 1
# Dump all technology file sections
lakerTechDump -lib demoLib -tech demo.tf
# Example 2
# Dump “tfSystemPurpose” and “tfLayoutLayerTable” sections
lakerTechDump -lib demoLib -tech demo1.tf \
-section tfSystemPurpose tfLayoutLayerTable
See Also
Home Page: Library > Technology File > Dump
460
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
lakerTechReplace
The lakerTechReplace command compiles and permanently replaces the
ASCII technology file to library database after it is updated. This command also
attaches the technology file to the specified master library.
Syntax
lakerTechReplace -lib libName [-partial 0|1] (-tech techFile
| -attachToLib masterLib) [[-updateMCell 0|1] [updateMCellList MCellList] [-updateSlaveMCell 0|1]]
Returns
None
Arguments
Argument
Description
-attachToLib
masterLib
Specify the master library. This imports a library with the
technology file settings of the specified master library.
-lib libName
The library database.
-partial 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Replace partial technology file sections. It only works
when
-tech is specified.
0 : Do not replace partial technology file sections.
-tech techFile
The defined ASCII technology file.
-updateMCell 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Update the related MCell definitions.
0 : Do not update the related MCell definitions.
-updateMCellList
MCellList
Specify the MCells to be updated. This argument only
works when -updateMCell 1 is specified.
Valid values: {All}, {None}, and {device1 device2
...} (default={All}).
-updateSlaveMCell 0|1
This argument only works when -updateMCell is turned
on.
Valid values: Boolean values, 0 and 1 (default=0).
1 : Update MCell definitions for slave libraries.
0 : Do not update MCell definitions for slave libraries.
Laker³ Tcl Reference Manual
K-2015.06
461
Chapter 5: Home Page
Library Commands
Examples
# Example 1
lakerTechReplace -tech demo.tf -lib demoLib
# Example 2
lakerTechReplace -lib test -attachToLib demoLib -updateMCell 1
# Example 3
lakerTechReplace -lib test -updateMCell 1 -updateMCellList {pmos
nmos}
See Also
Home Page: Library > Technology File > Replace
lakerTechSave
The lakerTechSave command permanerntly saves the changes of the
technology file to the library after the layer pattern or layer category is changed.
Syntax
lakerTechSave -lib libName [-sect sectionName]
Returns
None
Arguments
Argument
Description
-lib libName
Specify the library database.
-sect sectionName
Specify the section to be saved.
Valid values: tfLayoutLayerTable,
tfLayoutLayerCategory, and tfStreamIoTable.
Examples
lakerTechSave -lib demoLib
See Also
Technology File Editor: File > Save
462
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
lakerText2Prop
The lakerText2Prop command assigns the text property with net/port
names to polygons in the current cell view or all cell views in the specified
library.
Syntax
lakerText2Prop -lib libName [-cell cellName] [-view
viewName] [-mode mode] [-pinSize 0|1 -width width [excludePoly 0|1] [-topMetalLayer number] [-thruVia 0|1]]
[-extDepth depth] [-extLabelDepth labelDepth] [useColonVirtual 0|1] [-createPinFromInstance 0|1] [checkLogicNet 0|1]
Returns
None
Arguments
Argument
Description
-cell cellName
Specify the cell to be extracted. When it is not specified,
all cells in the library are extracted.
-checkLogicNet 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Check if Nets Exist in Schematic option.
0 : Disable the Check if Nets Exist in Schematic option.
-createPinFromInstance
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Create additional pin shapes, which overlap with
labels, at level 0 and assign nets or ports for them.
0 : Do not create any additional pin shapes at level 0.
-excludePoly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Do not generate system pins with poly shapes.
0 : Generate system pins with poly shapes.
-extDepth depth
Specify the shape extraction depth.
Valid value: an integer, from 0 to 49 (default=0).
-extLabelDepth
labelDepth
Specify the label extraction depth.
Valid value: an integer, from 0 to 49 (default=0).
This argument is only valid for -mode assignShape.
-lib libName
Specify the library database.
Laker³ Tcl Reference Manual
K-2015.06
463
Chapter 5: Home Page
Library Commands
Argument
Description
-mode mode
Specify the method to assign nets or ports.
Valid values: genSystemPin, genPinPurpose, and
assignShape (default=genSystemPin).
-pinSize 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Pin Size option.
0 : Disable the Pin Size option.
-thruVia 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Propagate system pins through vias/contacts.
0 : Do not propagate system pins through vias/contacts.
-topMetalLayer number
Valid value: an integer, greater than or equal to 1
(default=1).
When it is specified, the number of top metal layers is
used to generate system pins.
When it is not specified, the top metal layers are not used
to generate system pins.
-useColonVirtual 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Use a colon as the virtual connection.
0 : Do not use a colon as the virtual connection.
-view viewName
Specify the view name of the cell to be extracted (default=
layout).
-width width
Specify the width of a rectangle to limit the size of
generated pin shapes. This argument is only valid for
-pinSize 1.
Valid value: a floating number.
Examples
# Example 1
# Poly-layer shape is extracted by the Generate System Pin method
# Extract labels from level 0~3 and shapes from 0~10
lakerText2Prop -lib Demotest2 -cell test2 -mode genSystemPin \
-extDepth 10 -extLabelDepth 3 -excludePoly 0
# Example 2
# Pin shapes on first 2 top layers are created by
# the Generate System Pin method
lakerText2Prop -lib Demotest2 -cell test2 -mode genSystemPin \
-topMetalLayer 2
464
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Library Commands
# Example 3
lakerText2Prop -lib all -cell OPA -mode genSystemPin \
-excludePoly 0 -thruVia 0 -pinSize 0 -checkLogicNet 1 \
-extDepth 0 -extLabelDepth 0 -useColonVirtual 1
# Example 4
# Extract the view "layout.routed" of cell "top"
lakerText2Prop -lib TestLib -cell top -view layout.routed \
-extDepth 0 -createPinFromInstance 0 -useColonVirtual 1
See Also
Home Page: Library > Assign Net/Port
Layout Window: Cell > Assign Net/Port
lakerUpdateCellProp
The lakerUpdateCellProp command updates the cell type and pin
direction after pin extraction (abstract cell) according to the specified cell
property file.
Syntax
lakerUpdateCellProp -lib libName -cellPropFile filename view {viewName}
Returns
None
Arguments
Argument
Description
-cellPropFile filename
Specify the cell property file (*.cpf) with its full path.
-lib libName
Specify the library database.
-view {viewName}
Specify the cell view to be updated with cell property.
Multiple view names must be separated by spaces. The
wildcard characters * and ? are supported.
Valid values: all view names (default=abs layout).
Laker³ Tcl Reference Manual
K-2015.06
465
Chapter 5: Home Page
Category Commands
Examples
# Example 1
# Update the abstract, layout and layout1 views of cell "test"
lakerUpdateCellProp -lib qa -cellPropFile demo.cpf \
-view abstract layout layout1
# Example 2
# Update the view leading with "abs"
lakerUpdateCellProp -lib qa -cellPropFile demo.cpf -view abs*
# Example 3
# Update the abstract view
lakerUpdateCellProp -lib test -cellPropFile demo.cpf
See Also
Home Page: Library > Update Cell Property
Category Commands
This section describes the Tcl commands applied to the Category commands
in the Home Page.
■
lakerDelCategory
■
lakerModifyCategory
■
lakerNewCategory
■
lakerRenCategory
lakerDelCategory
The lakerDelCategory command deletes the specified category. However,
this does not delete the cells that are included in this category.
Syntax
lakerDelCategory -lib libName -category catgPath
Returns
None
466
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Category Commands
Arguments
Argument
Description
-category catgPathName
Specify the category to be deleted in full path.
-lib libName
Specify the library database.
Examples
# Example 1
# Delete catg1_1 sub-category under catg1 category in
# demoLib library
lakerDelCategory -lib demoLib -category /catg1/catg1_1
See Also
Home Page: Category > Delete
lakerModifyCategory
The lakerModifyCategory command assigns cells and sub-categories into
a specified category, or removes cells and sub-categories from a specified
category.
Syntax
lakerModifyCategory -lib libName -cell cellList -category
catgList (-toCategory catgPathName | -remove)
Returns
None
Arguments
Argument
Description
-category catgList
Specify the operating category list.
-cell cellList
Specify the operating cell list.
-lib libName
Specify the library database.
-remove
Specify the Remove operation.
-toCategory
catgPathName
Specify the target category (Assignment) in full path.
Laker³ Tcl Reference Manual
K-2015.06
467
Chapter 5: Home Page
Category Commands
Examples
# Example 1
# Assign demoCell1, demoCell2 and catg1_1 to /catg1 in
# demoLib library
lakerModifyCategory -lib demoLib -cell demoCell1 demoCell2 \
-category catg1_1 -toCategory /catg1
# Example 2
# Remove demoCell1 from category in demoLib library
lakerModifyCategory -lib demoLib -cell demoCell1 -remove
See Also
Home Page: Category > Modify
lakerNewCategory
The lakerNewCategory command creates a new category, that can group
cells and categories, by the existing library name and fabrication category
name.
Syntax
lakerNewCategory -lib libName -category catgPathName
Returns
None
Arguments
Argument
Description
-category
catgPathName
Specify the new category in full path.
-lib libName
Specify the library database.
Examples
# Example 1
# Create catg1 category to group the cells in demoLib library
lakerNewCategory -lib demoLib -category /catg1
# Example 2
# Create catg1_1 sub-category under catg1 category
# to group the cells in demoLib library
lakerNewCategory -lib demoLib -category /catg1/catg1_1
468
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Category Commands
See Also
Home Page: Category > New
lakerRenCategory
The lakerRenCategory command renames a category of the specified
library.
Syntax
lakerRenCategory -lib libName -category catgPathName newName newCatgPathName
Returns
None
Arguments
Argument
Description
-category catgPathName
Specify the category to be renamed in full path.
-lib libName
Specify the library database.
-newName
newCatgPathName
Specify the new name and path of the category after
renaming.
Examples
# Example 1
# rename “catg1_1” sub-category under catg1 category as
# “subCatg1” in demoLib library
lakerRenCategory -lib demoLib -category /catg1/catg1_1 \
-newName /catg1/subCatg1
See Also
Home Page: Category > Rename
Laker³ Tcl Reference Manual
K-2015.06
469
Chapter 5: Home Page
Cell Commands
Cell Commands
This section describes the Tcl commands applied to the Cell commands in the
Home Page.
■
lakerCopyCell
■
lakerDelCell
■
lakerExportUDDGC
■
lakerImportUDDGC
■
lakerNewCell
■
lakerRenCell
■
lakerReuseCell
lakerCopyCell
The lakerCopyCell command copies a cell view, a cell, or a category of the
specified library to its own or to another library.
Syntax
lakerCopyCell -lib libName -cell cellName [-view viewName]
[-toLib toLib] -toCell toCatgPathCellName [-hierarchy
hierarchy] [-copyView viewList] [-updateInst updateInst]
[-opt options]
lakerCopyCell -lib libName -category catgName -toLib toLib
-toCategory toCatgPathName [-hierarchy hierarchy] [-opt
options]
Returns
None
Arguments
470
Argument
Description
-category
catgName
Specify the source category.
-cell cellName
Specify the source cell to be copied.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Cell Commands
Argument
Description
-copyView
viewList
Specify a list of views to be copied. If none, all views are
copied. This option is not supported when copying a category.
-hierarchy
hierarchy
Copy design hierarchies.
Valid values: all, noRef, and ignoreRef.
all: Copy cells hierarchically, including those cells in
reference libraries.
noRef: Copy cells hierarchically, excluding those in reference
libraries.ignoreRef: Copy cells hierarchically, excluding
those in specified reference libraries. ignoreRef is not
supported as copying category.
-lib libName
Specify the source library.
-opt options
Specify the options to copy cell.
Valid values: overwrite, ignorecopy, updateinst, and
rename -nameFormat %C_%L (default=overwrite).
overwrite: Replace an existing cell in target library with the
cell, including design hierarchy, copied from source library.
ignorecopy: Copy selected cell to target library but keep the
reference of instances to source library.
updateinst: Copy selected cell to target library and update
the reference of instances to target library.
rename -nameFormat %C_%L: Copy selected cell to target
library and assign a new name to the copied cell and its
instances with rename format.
-toCategory
toCatgPathName
Specify the destination category with its full path.
-toCell
Specify the destination cell with its category path.
toCatgPathCellName
-toLib toLib
Specify the destination library.
-updateInst
updateInst
Update instance references. This option is not supported
when copying a category.
Valid values: all and newCopied.
Laker³ Tcl Reference Manual
K-2015.06
471
Chapter 5: Home Page
Cell Commands
Argument
Description
-view viewName
Specify the view name of the cell. The available views vary
depend on the license invoked.
Valid values: layout, pcc, symbolic, schematic,
symbol, simulation, config, veriloga, verilog,
spice, verilogAMS, vhdlAMS, vhdl, systemVerilog,
hspice, cdl, spectre, and any user-defined view name.
Examples
# Example 1
# Copy demoCell in demoLib library to demoCell2
lakerCopyCell -lib demoLib -cell demoCell -toCell demoCell2
# Example 2
# Copy catg1 category from demoLib library to
# catg1 category in demoLib2
lakerCopyCell -lib demoLib -category catg1 -toLib demoLib2 \
-toCategory catg1
# Example 3
# Copy CellA (with hierarchy) from Lib1 to Lib2
# and rename it as CellA_Lib2
lakerCopyCell -lib Lib1 -cell CellA -toLib Lib2 -toCell CellA \
-hierarchy all -opt rename -nameFormat %C_%L
# Example 4
# Copy CellA (with hierarchy) from Lib1 to Lib2
# and reference cell under CellA's hierarchy to same cell in Lib2
lakerCopyCell -lib Lib1 -cell CellA -toLib Lib2 -toCell CellA \
-hierarchy all -opt updateinst -nameFormat %C_%L
# Example 5
# Copy CellA (without all reference libraries) from Lib1 to Lib2
# and only copy abs and layout views
lakerCopyCell -lib Lib1 -cell CellA -toLib Lib2 -toCell CellA \
-hierarchy noRef -copyView abs layout
# Example 6
# Copy CellA (with hierarchy) from Lib1 to Lib2 and update all
# references of all instances in Lib2
lakerCopyCell -lib Lib1 -cell CellA -toLib Lib2 -toCell CellA \
-hierarchy all -updateInst all
# Example 7
# Copy CellA (ignore reference library RefLib1 and RefLib2)
# from Lib1 to Lib2
lakerCopyCell -lib Lib1 -cell CellA -toLib Lib2 -toCell CellA \
-hierarchy ignoreRef RefLib1 RefLib2
472
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Cell Commands
See Also
Home Page: Cell > Copy
lakerDelCell
The lakerDelCell command deletes a cell with the specified view name, or
a category of the specified library.
Syntax
lakerDelCell -lib libName -cell cellName [-view viewName]
[-category catgName] [-filterCell filterContent] [filterView filterContent] [-dmCVCkdelete 0|1]
Returns
None
Arguments
Argument
Description
-category
catgName
Specify the category name.
-cell
cellName
Specify the cell to be deleted. The wildcard character * is
supported.
-dmCVCkdelete 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Remove cell view files.
0 : Do not remove any cell view files.
-filterCell
filterContent
Specify the cells to be filtered. The wildcard character * is
supported.
-filterView
filterContent
Specify the views to be filtered. The wildcard character * is
supported.
-lib libName
Specify the library name.
-view viewName
Specify the view name of the cell to be deleted. The wildcard
character * is supported.
Valid values: schematic, symbol, simulation, config,
veriloga, verilog, spice, and any user-defined view
name (default=schematic).
Laker³ Tcl Reference Manual
K-2015.06
473
Chapter 5: Home Page
Cell Commands
Examples
# Example 1
# Delete cells nand2, nand 3, and nand 4 from library demolib
lakerDelCell -lib demolib -cell nand2 nand3 nand 4
# Example 2
# Delete cells nand2, nand 3, and nand 4 from library demolib,and
locate
# the specified view name "layout01"
lakerDelCell -lib demolib -cell nand2 nand3 nand 4 -view layout01
# Example 3
# Delete cells nand2, nand 3, and nand 4 from library demolib, and
# locate the specified view name matching "layout*"
lakerDelCell -lib demolib -cell nand2 nand3 nand 4 -view layout*
# Example 4
# Delete all cells and views of library demolib
lakerDelCell -lib demolib -cell * -view *
# Example 5
# Delete cell views of category axv in library demolib, and locate
# the cell names matching "all*", and the view names matching "pcc*"
# The cell filter is "a*", and the view filter is "p*"
lakerDelCell -lib demolib -cell all* -view pcc* \
-withCategory ./axv -filterCell a* -filterView p*
# Example 6
# Delete a design and remove it from DM system automatically
lakerDelCell -lib CPU -cell AND21 -view layout -dmCVCkdelete 1
See Also
Home Page: Cell > Delete
lakerExportUDDGC
The lakerExportUDDGC command exports global constant to a text file
(*.gc).
Syntax
lakerExportUDDGC -lib libName -file fileName
Returns
None
474
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Cell Commands
Arguments
Argument
Description
-file fileName
Specify the gc file to be exported.
-lib libName
Specify the library database.
Examples
lakerExportUDDGC -lib TEST -file testB.gc
See Also
Home Page: Cell > UDD > Export Global Constant
lakerImportUDDGC
The lakerImportUDDGC command imports global constant from a text file
(*.gc).
Syntax
lakerImportUDDGC -lib libName -file fileName
Returns
None
Arguments
Argument
Description
-file fileName
Specify the gc file to be imported.
-lib libName
Specify library database.
Examples
lakerImportUDDGC -lib TEST -file testA.gc
See Also
Home Page: Cell > UDD > Import Global Constant
Laker³ Tcl Reference Manual
K-2015.06
475
Chapter 5: Home Page
Cell Commands
lakerNewCell
The lakerNewCell command creates a new cell, library subset, by the
existing library name and fabrication cell name with the specified category
path.
Syntax
lakerNewCell -lib libName -cell cellName [-withCategory
catgPathName] [-view viewName] [-viewType cellviewType]
Returns
None
Arguments
Argument
Description
-cell cellName
Specify the new cell.
-lib libName
Specify the library database.
-view viewName
Specify a view name for the new cell.
-viewType
cellviewType
Specify the view type for the new cell. The available view
types vary depend on the license invoked.
Valid values: maskLayout, schematic, symbol,
simulation, config, veriloga, verilog, spice,
verilogAMS, vhdlAMS, vhdl, systemVerilog, hspice,
cdl, spectre, and any user-defined view name.
-withCategory
catgPathName
Specify the category for the new cell in full path (default=/).
Examples
# Example 1
# create new cell "aa" of library "aaa" in Laker OA
lakerNewCell -lib aaa -cell aa
# Example 2
# create new maskLayout view of library "aaa", cell "aa" in Laker OA
lakerNewCell -lib aaa -cell aa -view layout2
lakerNewCell -lib aaa -cell aa -view layout2 -viewType maskLayout
476
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Cell Commands
See Also
dbOpenCV
Home Page: Cell > New
lakerRenCell
The lakerRenCell command renames a cell of the specified library.
Syntax
lakerRenCell -lib libName -cell cellName [-view viewName] toCell newCellName [-toView newViewName] -update 0|1
Returns
None
Arguments
Argument
Description
-cell cellName
Specify the cell to be renamed.
-lib libName
Specify the library database.
-toCell
newCellName
Specify a new file name for the cell.
-toView
newViewName
Specify a new file name for the view.
-update 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Update all instances which use the specified cell and view.
0 : Do not update all instances which use the specified cell and
view.
-view viewName
Specify the view name of the cell to be renamed.
Valid values for Laker: layout, logic, schematic and any
user-defined view name (default=layout).
Valid values for ADP: schematic, symbol, simulation,
config, veriloga, verilog, spice, and any user-defined
view name (default=schematic).
Laker³ Tcl Reference Manual
K-2015.06
477
Chapter 5: Home Page
Cell Commands
Examples
# Example 1
# Rename cellview (the same cell)
# Rename cell aa view layout in library aaa to cell aa view layout1
# and do not update all instances
lakerRenCell -lib aaa -cell aa -view layout -toCell aa \
-toView layout1 -update 0
# Example 2
# Rename cellview (different cell)
# Rename cell aa view sch1 in library aaa to cell bb view sch2
# and update all instances
lakerRenCell -lib aaa -cell aa -view sch1 -toCell bb \
-toView sch2 -update 1
# Example 3
# Rename cellview (the same cell)
# Rename cell aa view layout in library aaa to cell aa view
# schematic and do not update all instances
lakerRenCell -lib aaa -cell aa -view schematic -toCell aa \
-toView schematic -update 0
See Also
Home Page: Cell > Rename
lakerReuseCell
The lakerReuseCell command reuses the cells that are created with
Expand Schematic or ECO by mapping the copied layout view with the logic
view.
Syntax
lakerReuseCell -lib libName -cell cellName -toLib toLib [hierarchy hierarchy]
Returns
None
Arguments
478
Argument
Description
-cell cellName
Specify the source cell to be copied.
-hierarchy hierarchy
Copy design hierarchies.
Valid values: all and noRef.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Floorplan Commands
Argument
Description
-lib libName
Specify the source library.
-toLib toLib
Specify the destination library.
Examples
# Example 1
# Copy CellA from demoLib to demoLib2 with all design hierarchies
lakerReuseCell -lib demoLib -cell CellA -toLib demoLib2 \
-hierarchy all
# Example 2
# Copy CellA from demoLib to demoLib2 without copying
# design hierarchies
lakerReuseCell -lib demoLib -cell CellA -toLib demoLib2
See Also
Home Page: Cell > Reuse
Floorplan Commands
This section describes the Tcl commands applied to the Floorplan commands
in the Home Page. These commands include:
■
lakerCreateSite
■
lakerDeleteSite
■
lakerModifySite
lakerCreateSite
The lakerCreateSite command creates the site information for the
specified library.
Syntax
lakerCreateSite -lib libName -site siteName -width width height height -class className [-symmetry symmetry]
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
479
Chapter 5: Home Page
Floorplan Commands
Arguments
Argument
Description
-class className
Valid values: CORE, and PAD (default=CORE).
-height height
Specify the site height.
Valid value: a floating number.
-lib libName
Specify the library database.
-site siteName
Specify the site name to be defined.
-symmetry symmetry
Valid values: X, Y, R90, X Y, Y R90, X R90, and X Y R90.
-width width
Specify the site width.
Valid value: a floating number.
Examples
lakerCreateSite -lib testLib -site io_site -width 1.0 \
-height 211.75 -class PAD -symmetry X Y R90
See Also
Home Page: Floorplan > Site > Create
lakerDeleteSite
The lakerDeleteSite command removes the site information from the
specified library.
Syntax
lakerDeleteSite -lib libName -site siteName
Returns
None
Arguments
480
Argument
Description
-lib libName
Specify the library database.
-site siteName
Specify the site to be removed.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Floorplan Commands
Examples
lakerDeleteSite -lib testLib -site io_site
See Also
Home Page: Floorplan > Site > Delete
lakerModifySite
The lakerModifySite command modifies the site information for the
specified library.
Syntax
lakerModifySite -lib libName -site siteName -width width height height -class className [-symmetry symmetry]
Returns
None
Arguments
Argument
Description
-class className
Valid values: CORE, and PAD (default=CORE).
-height height
Specify the site height.
Valid value: a floating number.
-lib libName
Specify the library database.
-site siteName
Specify the site name.
-symmetry symmetry
Valid values: X, Y, R90, X Y, Y R90, X R90, and X Y R90.
-width width
Specify the site width.
Valid value: a floating number.
Examples
lakerModifySite -lib testLib -site io_site -width 1.5 \
-height 211.5 -class PAD -symmetry X Y R90
See Also
Home Page: Floorplan > Site > Modify
Laker³ Tcl Reference Manual
K-2015.06
481
Chapter 5: Home Page
Options Commands
Options Commands
This section describes the Tcl commands applied to the Options commands in
the Home Page. These commands include:
■
adpLakerWavePreference
■
adpDumpDsgTree
■
adpDsgPref
■
adpSimConPreference
■
lakerChangeLicense
■
lakerGetLicenseName
■
lakerLoadDispFile
■
lakerPreference
■
lakerRefreshLockedLayerFile
■
lakerSchBroPreference
■
lakerSetUserStrokeFile
adpLakerWavePreference
The adpLakerWavePreference command returns 1 if one or more
preferences have been set in the LakerWave Preferences form.
Syntax
adpLakerWavePreference [-numDispMode digDisplayed] [widthSelWave num] [-fullName 0|1] [-datapoints 0|1] [anchorMeter 0|1] [-stickResults 0|1] [-grid gridSetting
[-minDis num]] [-ToFSDB 0|1] [-snap mode] [-shape shape]
[-gravity 0|1 [-type type] [-range num]]
Returns
1 if successful; otherwise, returns 0.
482
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Arguments
Argument
Description
-anchorMeter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Show Anchor Measurement option.
0 : Disable the Show Anchor Measurement option.
-datapoints 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Show Data Points option.
0 : Disable the Show Data Points option.
-fullName 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Hierarchical Signal Name option.
0 : Disable the Hierarchical Signal Name option.
-gravity 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Gravity option.
0 : Disable the Gravity option.
-grid gridSetting
Specify whether to show horizontal or vertical grids.
Valid values: vLine and hLine.
-minDis num
Specify the minimum grid distance.
Valid value: an integer (default=60).
-numDispMode
digDisplayed
Specify the number of digits to be displayed and the display
mode.
Valid values: an integer (for the number of digits to be
displayed), engineer and scientific (for the display
mode).
-range num
Specify a gravity range.
Valid value: an integer (default=50).
-shape shape
Specify the property shape for the preselector.
Valid values: square, squareCross, cross, and vLine
(default=square).
-snap mode
Specify the property mode for the preselector.
Valid values: x, y, and xy.
-stickResults 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Show Stick Measurement Results option.
0 : Disable the Show Stick Measurement Results option.
Laker³ Tcl Reference Manual
K-2015.06
483
Chapter 5: Home Page
Options Commands
Argument
Description
-ToFSDB 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Convert to FSDB File option.
0 : Disable the Convert to FSDB File option.
-type type
Specify the desired gravity types.
Valid values: max, min, and avg.
-widthSelWave num
Specify the width for the selected waveform.
Valid value: an integer (default=5).
Examples
# Example 1
adpLakerWavePreference -minDis 60 -numDispMode 2 engineer \
-widthSelWave 5 -fullName 1 -datapoints 1 -anchorMeter 1 \
-stickResults 1 -grid vLine hLine -ToFSDB 1 -gravity 1 \
-type min -range 50 -snap x -shape square
See Also
Home Page: Options > LakerWave Preferences
adpDumpDsgTree
The adpDumpDsgTree command returns 1 if the tree node information can be
dumped successfully.
Syntax
adpDumpDsgTree -topWnd winId [-all] [-np 0|1] [-fullpath 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
484
Argument
Description
-all
Dump all nodes in the design tree.
-fullpath 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Dump instances with their full path.
0 : Do not dump instances with their full path.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-np 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Ignore primative devices.
0 : Do not ignore primative devices.
-topWnd winId
Specify the top window identifier.
Examples
# Example 1
adpDumpDsgTree -topWnd _adp2 -np 0 -fullpath 0
See Also
Home Page: Options > Schematic Preferences > View Options > Design
Window > Display Cell Name in Tree Node
adpDsgPref
The adpDsgPref command defines the display of extra information on the
window.
Syntax
adpDsgPref [-portName 0|1] [-instName 0|1] [-libName 0|1]
[-netName 0|1] [-pinName 0|1 [-topPort 0|1]] [localNetName 0|1] [-netLabel 0|1] [-treeNodeCellName 0|1]
[-showComment 0|1] [-vtop design] [-PseudoRC 0|1] [dimMode 0|1] [-changescope 0|1] [-defaultPinSize value]
[-zoomToSelectSet 0|1] [-zoomToHighlightObject 0|1] [zoomRatio value] [-correctIOPortForSpice 0|1] [makeFGateHier 0|1] [-undoSize value] [-withoutWiring 0|1]
[-showNamedNet 0|1] [-allPortNet 0|1] [-pinLabelSize
pinLabelSize] [-ignorePinOrderforPrimitive 0|1] [defaultSysNetNamePrefix prefix] [-highlightFloatPoint
0|1] [-multipleOfFontOfPitchValue value] [caseSensInNetName case] [-defaultBorder 0|1 [defaultBorderCell cell -defaultBorderLib lib]] [showMessageForAutoCheck 0|1] [-showMessageForAutoFixing
0|1] [-instParamDisp 0|1] [-emptyValueParam 0|1] [precision value] [-dispmode dispMode] [-texteditor
texteditor] [-panRatioValue value] [-parmsym 0|1 [parmSymSkipDefaultValue 0|1]] [-instSelectable 0|1] [netLabelSelectable 0|1] [-wireLabelSelectable 0|1] [-
Laker³ Tcl Reference Manual
K-2015.06
485
Chapter 5: Home Page
Options Commands
crossCursor 0|1] [-portSelectable 0|1] [-pinSelectable
0|1] [-textSelectable 0|1] [-shapeSelectable 0|1] [annoTextSelectable 0|1] [-borderSelectable 0|1] [directManipulation 0|1] [-snapCreate snapCreate] [snapEdit snapEdit] [-keepNonEditParamValue 0|1] [gravity 0|1 [-gravityRadius value]] [-honorMOSMfactor
0|1] [-autoCreateWideWire 0|1 -autoWireWidth num] [dmAutoCheckOutCV option] [-dmAutoCheckInCV option] [dmAutoCheckOutInFile option] [-dmAutoExcludeViewName
viewNameList] [-dummyNMOSGateNet 0|1] [dummyNMOSGateNetName netname] [-dummyPMOSGateNet 0|1] [dummyPMOSGateNetName netname] [-dummyNMOSSDNet 0|1] [dummyNMOSSDNetName netname] [-dummyPMOSSDNet 0|1] [dummyPMOSSDNetName netname] [-highlightWithXSymbol 0|1 PixelSensitiveRadius value] [-autoSave 0|1 autoSaveInterval value][-autoBackup value] [allSegWireLbl 0|1] [-keepNetNameWhileDeleting 0|1] [parmList 0|1] [-keepNetNameWhenDelLabel 0|1] [keepNetNameWhileDeletingPort 0|1] [-chkERC 0|1 checkERCMode checkMode] [-powerFtr value] [-NetExprDisp
value] [-evaluateParamValue 0|1] [-resistanceFtr value]
[-conductanceFtr value] [-capacitanceFtr value] [inductanceFtr value] [-lengthMetricFtr value] [-timeFtr
value] [-frequencyFtr value] [-voltageFtr value] [currentFtr value] [-viewListDefaultBinding format] [avoidDiffUserNets 0|1] [-enableAreaSelFilter 0|1][instAreaSelFilter 0|1][-wireAreaSelFilter 0|1] [netLabelAreaSelFilter 0|1][-portAreaSelFilter 0|1][pinAreaSelFilter 0|1] [-textAreaSelFilter 0|1][shapeAreaSelFilter 0|1][-annTextAreaSelFilter 0|1] [borderAreaSelFilter 0|1]
Returns
None
Arguments
486
Argument
Description
-allPortNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Change all net names when renaming a port.
0 : Do not change the net name when renaming a
port.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-allSegWireLbl 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Add Net Label to All Wire Segments
option.
0 : Disable the Add Net Label to All Wire
Segments option.
-annoTextSelectable 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the selectability of annotation text
labels.
0 : Disable the selectability of annotation text
labels.
-annTextAreaSelFilter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the area selectability of annotation text
labels.
0 : Disable the area selectability of annotation text
labels.
-autoBackup value
Specify the number of backup copies.
Valid value: an integer (default=1)
-autoCreateWideWire 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Auto Create Wide Wire option.
0 : Disable the Auto Create Wide Wire option.
-autoSave 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Auto Save Interval option.
0 : Disable the Auto Save Interval option.
-autoSaveInterval value
Specify the auto saving time interval.
This argument is valid only when -autoSave 1
is specified.
Valid value: an integer (default=0).
-autoWireWidth num
Specify the width for the wide wires that are
created automatically. This argument is valid only
if -autoCreateWideWire 1 is specified.
Valid value: an integer (default=10).
Laker³ Tcl Reference Manual
K-2015.06
487
Chapter 5: Home Page
Options Commands
Argument
Description
-avoidDiffUserNets 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Avoid Connecting Different
User-defined Nets option.
0 : Disable the Avoid Connecting Different
User-defined Nets option.
-borderAreaSelFilter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the area selectability of border
instances.
0 : Disable the area selectability of border
instances.
-borderSelectable 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the selectability of border instances.
0 : Disable the selectability of border instances.
-capacitanceFtr value
Specify the unit for the capacitance.
Valid values: auto, none, fF, pF, nF, uF, mF,
and F (default=auto).
-caseSensInNetName
case
Case sensitivity in net names.
Valid values: Preserve, Upper, and Lower
(default=Preserve).
-cellNameInTitle 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show the following format in the title banner:
libraryName:cellName
0 : Show the following format in the title banner:
libraryName:cellName.instanceName.....instance
Name(cellname)
-changescope 0|1
488
Valid values: Boolean values, 0 and 1 (default=1).
1 : Change the design scope of the schematic
view by double-clicking on the instance.
0 : Change the design scope by selecting the
View > Pop View Up command when
double-clicking on a port, or by selecting the
View > Push View In command when
double-clicking on a pin.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-checkERCMode
checkMode
Specify the ERC check level.
Valid values: Whole Hierarchy and Top Only.
-chkERC 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Always execute the ERC checking before
Spice exporting.
0 : Execute the ERC checking based on the Stop
Export setting in the Logic tab of the Setup
Schematic Check Rules form, invoked by
Check > Setup ERC Rules in the Schematic
Editor window.
-conductanceFtr value
Specify the unit for the conductance.
Valid values: auto, none, uMhos, and mMhos
(default=auto).
-correctIOPortForSpice
0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Correct I/O ports for the spice netlist.
0 : Do not correct I/O ports for the spice netlist.
-crossCursor 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Cross Cursor option.
0 : Disable the Cross Cursor option.
-currentFtr value
Specify the unit for the current.
Valid values: auto, none, pA, nA, uA, mA, and A
(default=auto).
-defaultBorder 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Add the default border to newly created cells.
0 : Do not add the default border to newly created
cells.
-defaultBorderCell cell
Specify the name of the cell which is set as the
sheet symbol cell.
This argument is valid only if -defaultBorder
1 is specified.
-defaultBorderLib lib
Specify the name of the library where the default
border is located.
This argument is valid only if -defaultBorder
1 is specified.
Laker³ Tcl Reference Manual
K-2015.06
489
Chapter 5: Home Page
Options Commands
490
Argument
Description
-defaultPinSize value
Set the default size for the pin's dot and
connection dot.
Valid value: an integer (default=8).
-defaultSysNetNamePrefix
prefix
Specify the prefix for default system net names.
Valid value: a text string (default=N_).
-directManipulation 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Direct Manipulation option.
0 : Disable the Direct Manipulation option.
-dispmode dispMode
Specify the display mode of parameters.
Valid values: Normal, Engineering, and
Scientific (default=Engineering).
-dmAutoCheckInCV
option
Specify the automatic way to check in cell view
files.
Valid values: Always, Prompt, and Never.
Always : Always check in cell view files
automatically.
Prompt : Show a prompt notification prior to the
check in of cell view files, which are automatically
checked out.
Never : Never automatically check in cell view
files, which are automatically checked out.
-dmAutoCheckOutCV
option
Specify the automatic way to check out cell view
files.
Valid values: Always, Prompt, and Never.
Always : Always check out cell view files
automatically.
Prompt : Show a prompt notification prior to the
check out of cell view files.
Never : Never check out cell view files
automatically.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-dmAutoCheckOutInFile
option
Specify the automatic way to check in/out other
files.
Valid values: Always, Prompt, and Never.
Always : Always check in/out other files
automatically.
Prompt : Show a prompt notification prior to
checking in/out other files.
Never : Never check in/out other files
automatically.
-dmAutoExcludeViewName
viewNameList
Specify a list of excluded view names for auto
check-in and check-out of Data Management with
format: {viewName1 viewName2 viewName3
... viewNamen}.
This argument is only valid for dbGetAllCells dm0|1 and dbGetAllViews -dm0|1.
-dummyNMOSGateNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Gate Net Name for Dummy NMOS
option.
0 : Disable the Gate Net Name for Dummy NMOS
option.
-dummyNMOSGateNetName
netname
Assign a single net name for all dummy NMOS
devices.
-dummyNMOSSDNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the S/D Net Name for Dummy NMOS
option.
0 : Disable the S/D Net Name for Dummy NMOS
option.
-dummyNMOSSDNetName
netname
Assign a single source/drain net name for all
dummy NMOS devices.
-dummyPMOSGateNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Gate Net Name for Dummy PMOS
option.
0 : Disable the Gate Net Name for Dummy PMOS
option.
Laker³ Tcl Reference Manual
K-2015.06
491
Chapter 5: Home Page
Options Commands
492
Argument
Description
-dummyPMOSGateNetName
netname
Assign a single net name for all dummy PMOS
devices.
-dummyPMOSSDNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the S/D Net Name for Dummy PMOS
option.
0 : Disable the S/D Net Name for Dummy PMOS
option.
-dummyPMOSSDNetName
netname
Assign a single source/drain net name for all
dummy NMOS devices.
-emptyValueParam 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show parameters with the empty value.
0 : Hide parameters with the empty value.
-enableAreaSelFilter 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Enable Area Selectable Filter
option.
0 : Do not enable the Enable Area Selectable
Filter option.
-evaluateParamValue 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show the evaluated parameter value.
0 : Do not show the evaluated parameter value.
-frequencyFtr value
Specify the unit for the frequency.
Valid values: auto, none, Hz, kHz, MHz, and GHz
(default=auto).
-gravity 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Gravity function for Create Wire.
0 : Disable the Gravity function for Create Wire.
-gravityRadius value
Specify the radius value for -gravity.
Valid value: an integer (default=20).
-highlightAllSeg 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Highlight All Wire Segments when
Pre-selecting Nets option.
0 : Disable the Highlight All Wire Segments when
Pre-selecting Nets option.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-highlightFloatPoint 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Highlight Floating Point for Wires
option.
0 : Disable the Highlight Floating Point for Wires
option.
-highlightWithXSymbol 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Highlight wires with X.
0 : Do not highlight wires.
-honorMOSMfactor 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Honor MOS M-factor option.
0 : Disable the Honor MOS M-factor option.
-ignorePinOrderforPrimitive
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Ignore checking the inconsistent pin order for
primitive symbols.
0 : Check the inconsistent pin order for primitive
symbols.
-inductanceFtr value
Specify the unit for the inductance.
Valid values: auto, none, pH, nH, uH, mH, and H
(default=auto).
-instAreaSelFilter 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the area selectability of instances.
0 : Disable the area selectability of instances.
-instName 0|1
Valid values: Boolean values, 0 and 1.
1 : Show instance names.
0 : Hide instance names.
-instParamDisp 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Display option in the Parameter tab
of the Attribute form (invoked by Query > Attribute)
when a new instance is created in the schematic.
0 : Do not enable the above Display option
automatically.
-instSelectable 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the selectability of instances.
0 : Disable the selectability of instances.
Laker³ Tcl Reference Manual
K-2015.06
493
Chapter 5: Home Page
Options Commands
Argument
Description
-keepNetNameWhenDelLabel
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Keep the original net name after net labels are
deleted.
0 : Replace the net name with a system-assigned
net name when net labels are deleted.
-keepNetNameWhileDeleting
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Keep the original net name after wire
connections are deleted.
0 : Replace the net name with a system-assigned
net name when wire connections are deleted.
-keepNetNameWhileDeletingPort Valid values: Boolean values, 0 and 1 (default=1).
0|1
1 : Keep the original net name after ports are
deleted.
0 : Replace the net name with a system-assigned
net name when ports are deleted. Refer to the
Keep Net Name when Deleting Ports description
for these specific ports.
494
-keepNonEditParamValue 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Keep Non-editable Parameter
Value of New Master option.
0 : Disable the Keep Non-editable Parameter
Value of New Master option.
-lengthMetricFtr value
Specify the unit for the length (metric).
Valid values: auto, none, uM, mM, cM, and M
(default=auto).
-libName 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show the library name.
0 : Hide the library name.
-localNetName 0|1
Valid values: Boolean values, 0 and 1.
1 : Show local net names.
0 : Hide local net names.
-makeFGateHier 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the form-gate block to make a new
hierarchical design.
0 : Disable the form-gate block.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-multipleOfFontOfPitchValue
value
Set the display font size based on the pitch value.
Valid value: an integer with value ranges from 1 to
1024 (default=1).
-NetExprDisp
Specify the net expression display format.
Valid values: valueOnly, valueDefault,
valueProperty, valueExpr, and ExprOnly
(default=valueProperty).
-netLabel 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show physical net labels.
0 : Hide physical net labels.
-netLabelAreaSelFilter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the area selectability of net labels.
0 : Disable the area selectability of net labels.
-netLabelSelectable 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the selectability of net labels.
0 : Disable the selectability of net labels.
-netName 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show dynamic net names.
0 : Hide dynamic net names.
-panRatioValue value
Set the pan ratio increment for the panning
distance.
Valid value: a floating number with value ranges
from 0.1 to 1.0 (default=0.333).
-parmList 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show the parameter list.
0 : Hide the parameter list.
-parmsym 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show symbol parameters.
0 : Hide symbol parameters.
Laker³ Tcl Reference Manual
K-2015.06
495
Chapter 5: Home Page
Options Commands
Argument
Description
-parmSymSkipDefaultValue
0|1
This argument is valid only if -parmSym is
specified.
Valid values: Boolean values, 0 and 1 (default=0).
1 : Hide symbol parameters (for example: the
default W and L values) if they are not realized
onto the instance.
0 : Show the symbol parameters.
-pinAreaSelFilter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the area selectability of pins.
0 : Disable the area selectability of pins.
-pinLabelSize
pinLabelSize
Set the default font size of the pin name when
generating a symbol from the schematic.
Valid value: an integer (default=10).
-pinName 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show I/O port names.
0 : Hide I/O port names.
-pinSelectable 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the selectability of pins.
0 : Disable the selectability of pins.
-PixelSensitiveRadius value
Specify the pixel size. Only available when the
-highlightWithSymbol option is specified.
Valid value: an integer with value ranges 10 to 30
(default=10).
496
-portAreaSelFilter 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the area selectability of ports.
0 : Disable the area selectability of ports.
-portName 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show instance port names.
0 : Hide instance port names.
-portSelectable 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the selectability of ports.
0 : Disable the selectability of ports.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-powerFtr value
Specify the unit for the power.
Valid values: auto, none, uW, mW, and W
(default=auto).
-precision value
Specify the number of digits of the hierarchical
signals displayed in the Schematic Editor window.
Valid value: an integer, from 0 to 8 (default=2).
-PseudoRC 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Display pseudo RC devices for backannotation.
0 : Do not display pseudo RC devices for backannotation.
-resistanceFtr value
Specify the unit for the resistance.
Valid values: auto, none, Ohms, kOhms, and
MOhms (default=auto).
-shapeAreaSelFilter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the area selectability of shapes.
0 : Disable the area selectability of shapes.
-shapeSelectable 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the selectability of shapes.
0 : Disable the selectability of shapes.
-showComment 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show comments.
0 : Hide comments.
-showMessageForAutoCheck
0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show messages for auto checking.
0 : Do not show messages for auto checking.
-showMessageForAutoFixing
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show messages for auto fixing.
0 : Do not show messages for auto fixing.
Laker³ Tcl Reference Manual
K-2015.06
497
Chapter 5: Home Page
Options Commands
498
Argument
Description
-showNamedNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show a warning message when two userdefined nets are shorted together.
0 : Do not show the warning message when two
user-defined nets are shorted together.
-snapCreate snapCreate
Snap mode for creation.
Valid values: anyAngle, diagonal,
orthogonal, xFirst, and yFirst
(default=orthogonal).
-snapEdit snapEdit
Snap mode for editing.
Valid values: anyAngle, diagonal, and
orthogonal (default=orthogonal).
-textAreaSelFilter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the area selectability of text labels.
0 : Disable the area selectability of text labels.
-texteditor
texteditor
Set the preferred text editor.
Valid values: default, textedit, gvim, joe,
and vi (default=default).
-textSelectable 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the selectability of text labels.
0 : Disable the selectability of text labels.
-timeFtr value
Specify the unit for the time.
Valid values: auto, none, pS, nS, uS, mS, and S
(default=auto).
-topPort 0|1
This argument is valid only if -pinName 1 is
specified.
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show top level port names.
0 : Hide top level port names.
-treeNodeCellName 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show the master cell name on tree nodes.
0 : Hide the master cell name on tree nodes.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-undoSize value
Specify the number of times undo is allowed.
Valid value: an integer from 1 to 256 (default=5).
-viewListDefaultBinding
format
Specify the netlist type, switch views, and stop
views for exporting the netlist with the following
format:
{"{hspiceD}{viewNames}{viewName}"
"{auCdl}{viewNames}{viewName}"
"{smartspice}{viewNames}{viewName}"
"{eldoD}{viewNames}{viewName}"
"{spectre}{viewNames}{viewName}"
"{verilog}{viewNames}{viewName}"}
-voltageFtr value
Specify the unit for the voltage.
Valid values: auto, none, uV, mV, V, and kV
(default=auto).
-vtop design
Specify a virtual top design.
-wireAreaSelFilter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the area selectability of net labels.
0 : Disable the area selectability of net labels.
-wireLabelSelectable 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the selectability of net labels.
0 : Disable the selectability of net labels.
-withoutWiring 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Place the netlist data without physical direct
wires (not routed).
0 : Place the netlist data with physical direct wires
(routed).
-zoomRatio value
Set the ratio to zoom in to the highlighted objects.
This argument is valid only if zoomToHighlighObject 1 is specified.
Valid value: an integer, greater than or equal to 0
(default=1).
-zoomToHighlightObject 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Zoom to the highlighted objects.
0 : Do not zoom to the highlighted objects.
Laker³ Tcl Reference Manual
K-2015.06
499
Chapter 5: Home Page
Options Commands
Argument
Description
-zoomToSelectSet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Zoom to the select set.
0 : Do not zoom to the select set.
Examples
# Example 1
adpDsgPref -treeNodeCellName 1 -portName 1 -pinName 0 \
-instName 0 -netName 1 -localNetName 1 -parmList 0 \
-zoomToSelectSet 0 -zoomToHighlighSet 0 -labelSelectable 1 \
-pinSelectable 1 -dimMode 0 -correctIOPortForSpice 1 \
-showMessageForAutoCheck 1 -showMessageForAutoFixing 0 \
-ignorePinOrderforPrimitive 1
# Example 2
# Exclude view names with "schematic" in DM environment
adpDsgPref -dmAutoExcludeViewName {schematic}
# Example 3
# No views are excluded in DM environment
adpDsgPref -dmAutoExcludeViewName {}
# or the curly brackets can be omitted
adpDsgPref -dmAutoExcludeViewName
# Example 4
# Set the following automation for DM:
# - Always check out cell view files automatically;
# - Never check in cell view files automatically;
# - Show a prompt notification prior to the check in/out of other
files
adpDsgPref -dmAutoCheckOutCV Always -dmAutoCheckInCV Never \
-dmAutoCheckOutInFile Prompt
# Example 5
# Specify net expression display
adpDsgPref -NetExprDisp valueProperty
See Also
Home Page: Options > Schematic Preferences
adpSimConPreference
The adpSimConPreference command returns 1 if one or more preferences
have been set.
500
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Syntax
adpSimConPreference [-simCtrlSeg 0|1] [-bgmode 0|1] [openLog 0|1] [-addu 0|1] [-busParentheses style] [simBackupDir] [-include 0|1] [-spiceStop 0|1] [-end 0|1]
[-genIncVa 0|1] [-genPseu 0|1] [-linespace lineSpace] [dummySuffix 0|1] [-regenControlDecks 0|1] [IgnoredParamNames {param1 ... paramn}] [-pinInfo 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-addu 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Apply the ‘u’ scale to the width and length.
0 : Do not apply the ‘u’ scale to the width and length.
-bgmode 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Run the simulation in batch mode.
0 : Do not run the simulation in batch mode.
-busParentheses style
Specify the bus translation style.
Valid values: Angle, Square, Underscore, and None
(default=Angle).
-dummySuffix 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Append Port Name for Dummy Nodes
option.
0 : Disable the Append Port Name for Dummy Nodes
option.
-end 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Add the .end statement.
0 : Do not add the .end statement.
-genIncVa 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Generate the IncVA file (Include Verilog-A Modules in
Eldo/Spice netlist).
0 : Do not generate the IncVA file.
-genPseu 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Display the pseudo device statement.
0 : Do not display the pseudo device statement.
Laker³ Tcl Reference Manual
K-2015.06
501
Chapter 5: Home Page
Options Commands
Argument
Description
-IgnoredParamNames
{param1 ... paramn}
Specify the parameters to be ignored when extracting
design variables.
-include 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Export the header for each subcircuit.
0 : Do not export the header for each subcircuit.
-linespace
lineSpace
Specify the number of maximum characters per line.
Valid value: an integer, from 32 to 4096 (default=128).
-openLog 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Open the log file after the simulation is finished.
0 : Do not open the log file after the simulation is finished.
-pinInfo 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Output Pin Information option.
0 : Disable the Output Pin Information option.
-regenControlDecks 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Re-generate the *_tb and *_t.sp files.
0 : Do not re-generate the *_tb, *_t.sp, and *_sch files.
-simBackupDir
Specify the name of the netlist backup directory.
-simCtrlSeg 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Place the include file in ahead of the design netlist.
0 : Do not place the include file in ahead of the design
netlist.
-spiceStop 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Ignore the spiceStop statement.
0 : Do not ignore the spiceStop statement.
Examples
adpSimConPreference -simCtrlSeg 1 -bgmode 0 -openLog 0 \
-genPseu 0 -applyUToWL 0 -busParentheses Angle \
-simBackupDir -include 0 -spiceStop 0 -end 0 -genIncVa 0 \
-addu 0 -linespace 80
See Also
Home Page: Options > SimCon Preferences
502
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
lakerChangeLicense
The lakerChangeLicense command returns 1 if the desired license level
can be changed successfully after closing all opened layout windows.
Syntax
lakerChangeLicense -Level licenseLevel
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-Level licenseLevel
Specify the license level.
Valid values: LViewer, L0, L1, L2, L3, L4, SE, and ADP.
Examples
# Example 1
# Change to L2
lakerChangeLicense -Level L2
See Also
lakerGetLicenseName
lakerGetLicenseName
The lakerGetLicenseName command returns the current check-out license
name (such as LViewer, L0, L1, L2, L3, L4, SE, or ADP) or version if the
license name or version can be obtained successfully.
Syntax
lakerGetLicenseName [-version]
Returns
A license name or a license name and version if successful; otherwise, returns
nothing.
Laker³ Tcl Reference Manual
K-2015.06
503
Chapter 5: Home Page
Options Commands
Arguments
Argument
Description
-version
Return the license version for L0, L1, L2, L3, L4, SE, or ADP.
Examples
# Example 1
# Get the license name in L2, it returns "L2"
lakerGetLicenseName
# Example 2
# Get the license name and version in L3, it returns "L3 2011.02"
lakerGetLicenseName -version
See Also
lakerChangeLicense
lakerLoadDispFile
The lakerLoadDispFile command modifies the current display definition by
loading a dsp or drf display file. Replace all definitions with appendOverwrite
or append only the current definitions with appendIgnore.
Syntax
lakerLoadDispFile -fileName dispFileName [-format
fileFormat] [-method method] [-dumpFile fileName]
Returns
None
Arguments
504
Argument
Description
-dumpFile fileName
Dump a drf file to a dsp file and save the result under the
laker3Log directory.
-fileName
dispFileName
Load the specified display file name.
-format fileFormat
Specify the file format.
Valid values: dsp and drf (default=dsp).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-method method
Specify the method to load the file.
Valid values: default, appendOverwrite, and
appendIgnore (default=default).
Examples
# Example 1
# The file is in dsp format and the loading method is default
lakerLoadDispFile -fileName /temp/Laker/default.dsp
# Example 2
# The file is in drf format and the loading method is
# appendOverwrite
lakerLoadDispFile -fileName /temp/Laker/default.drf \
-format drf -method appendOverwrite
# Example 3
# The file is in drf format and dump the result to tmp.dsp
lakerLoadDispFile -fileName /temp/Laker/default.drf \
-format drf -dumpFile tmp.dsp
See Also
Home Page: Options > Load Display File
lakerPreference
The lakerPreference command defines the preference settings.
Syntax
lakerPreference [-shortDetector 0|1] [-flightLine 0|1] [SkipWarnNo number] [-overrideSwap 0|1] [-hlObjPathWidth
number] [-offGridRouter 0|1] [-shapeToLine 0|1] [DimColorLevel level] [-drawing level] [-drawingMethod
method] [-relativeLibPath 0|1] [-drawingMaxFilter
filter] [-createDummyGate 0|1] [-EIPDimNeighbor 0|1] [ShowNetNameTip 0|1] [-dummyGateNumbers numberSingle
numberMulti numberInner] [-dummyGateInnerTolerance
toleranceValue] [-dummyGateLengthType LengthType] [maxPropagation number] [-updateMCell 0|1] [resistorSegNum number] [-discreteGatePitch 0|1] [keepUpdatedCreateValue 0|1] [-showWarnMsgWnd 0|1] [dispCellName style] [-snapRowRadius dRadius] [-
Laker³ Tcl Reference Manual
K-2015.06
505
Chapter 5: Home Page
Options Commands
autoCreateSoftPin 0|1] [-instRubberBandBorderOnly 0|1]
[-setGrAlignCenterLine 0|1] [-delConnVia 0|1] [showLayerAlias 0|1] [-showStreamNumber 0|1] [autoMergeSplitTx 0|1] [-getDelimiter] [-confirmEIPSave
0|1] [-ioDefaultDirectory filePath] [-DRCOperMode mode]
[-enableDevObjMode 0|1] [-alignSpacingValue
AlignSpacing] [-fixEnc 0|1] [-dmAutoCheckOutCV option]
[-dmAutoCheckOutInFile option] [-dmAutoExcludeViewName
viewNameList] [-dmAutoCheckInCV option] [-abutDevice 0|1
-abutmentMode mode -abutPCellPath path] [-stretchDevice
0|1] [-bindFlightLine 0|1] [-showFlightLineBySel 0|1] [flightLineMode mode] [-maxFlightLineByNet number] [maxFlightLine number] [-MsgLineNumber number] [draglineDisplayStyle style] [-flightLineDisplay style]
[-setDimensionMarkUnit unit] [-sheetResFile fileName] [ToolTipMaxChars value] [-ShowRulerWithMinResolution 0|1]
[-useAbutProcedure 0|1] [-ProcedureToOpenSchematic name]
[-mouseWheel 0|1] [-instanceLoopChecking 0|1] [rightClickCommandMenu 0|1] [-maxFinHierLevel number] [SnapToFinSeparately 0|1] [-constraintAwareLevel level]
[-checkValidRoutingLayer 0|1] [-propagateColor 0|1] [propagateLock 0|1] [-viewPathLabel 0|1] [-viewInstPin
0|1] [-viewPinLabel Off|Port|Net] [-createColor 0|1|2]
[-createColorMode cMode] [-drdColorMode cMode] [pastePickedParameterMethod method] [-enableSelectUndo
0|1] [-undoCnt value] [-selectUndoCnt value] [selectUndoMaxObj value]
Returns
None
Arguments
506
Argument
Description
-abutDevice 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Device Abutment option.
0 : Disable the Device Abutment option.
-abutmentMode mode
Specify the abutment mode.
Valid values: Auto, 2Connections, and
3Connections (default=Auto).
-abutPCellPath path
Specify the path for abutment PCells. This argument
is valid only if -abutDevice is specified.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-alignSpacingValue
AlignSpacing
The spacing values for alignment.
Valid value: a floating number, or a list of floating
numbers. Multiple values must be separated by
spaces.
-autoMergeSplitTx 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable Auto Merge/Split when moving or
stretching transistors.
0 : Disable Auto Merge/Split when moving or
stretching transistors.
-bindFlightLine 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Merge Instance's Flight Lines into
Single Line option.
0 : Disable the Merge Instance's Flight Lines into
Single Line option.
-checkValidRoutingLayer 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Check Valid Routing Layer option.
0 : Disable the Check Valid Routing Layer option.
-confirmEIPSave 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Always Confirm EIP Save option.
0 : Disable the Always Confirm EIP Save option.
-constraintAwareLevel level
Specify the constraint aware level.
Valid values: all, foundry, and off (default=off).
-createColor 0|1|2
Specify the color index for the coloring behavior of
creation features.
Valid values: 0, 1, and 2 (default=0).
■
■
■
-createColorMode cMode
0: No color.
1: Color 1.
2: Color 2.
Specify the color behavior of creation features.
Valid values: keep and locked (default=locked).
-createDummyGate 0|1
Laker³ Tcl Reference Manual
K-2015.06
Valid values: Boolean values, 0 and 1 (default=0).
1 : Create dummy gates.
0 : Do not create dummy gates.
507
Chapter 5: Home Page
Options Commands
508
Argument
Description
-delConnVia 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Delete path segments with connected vias.
0 : Keep path segments with connected vias.
-DimColorLevel level
Specify the dim/bright level.
Valid value: an integer, from 0 to 4 (default=2).
-discreteGatePitch 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Discrete Gate Pitch option.
0 : Disable the Discrete Gate Pitch option.
-dispCellName style
Specify the display style of cell names on the layout.
Valid values: master and instance.
-dmAutoCheckInCV
option
Specify the automatic way to check in cell view files.
Valid values: Always, Prompt, and Never.
Always : Always check in cell view files
automatically.
Prompt : Show a prompt notification prior to the
check in of cell view files, which are automatically
checked out.
Never : Never automatically check in cell view files,
which are automatically checked out.
-dmAutoCheckOutCV
option
Specify the automatic way to check out cell view files.
Valid values: Always, Prompt, and Never.
Always : Always check out cell view files
automatically.
Prompt : Show a prompt notification prior to the
check out of cell view files.
Never : Never check out cell view files automatically.
-dmAutoCheckOutInFile
option
Specify the automatic way to check in/out other files.
Valid values: Always, Prompt, and Never.
Always : Always check in/out other files
automatically.
Prompt : Show a prompt notification prior to
checking in/out other files.
Never : Never check in/out other files automatically.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-dmAutoExcludeViewName
viewNameList
Specify a list of excluded view names for auto checkin and check-out of Data Management with format:
{viewName1 viewName2 viewName3 ...
viewNamen}.
This argument is valid for dbGetAllCells -dm0|1
and dbGetAllViews -dm0|1.
-draglineDisplayStyle style
Specify the dragline display style.
Valid values: none, all, and nearest
(default=nearest).
-drawing level
Specify the drawing level. The higher the level the
better the performance.
Valid value: an integer, from 0 to 5 (default=2).
-drawingMaxFilter filter
Specify the filter threshold in drawing level 5. The unit
is in screen pixel.
Valid value: an integer.
-drawingMethod method
Specify the drawing method.
Valid values: fast and normal.
-DRCOperMode mode
Specify the operate mode for design rule checking.
Valid values: LiveDRC and RuleDriven.
-drdColorMode cMode
Specify the coloring behavior for DRD checking.
Valid values: visual, keep, and locked
(default=visual).
-dummyGateInnerTolerance
toleranceValue
Specify a threshold value (micro) for dummy gates. If
the difference of gate width (between two adjacent
gates) exceeds this value, dummy gates are added
within the adjacent gates.
Valid value: a floating number, greater than or equal
to 0.0 (default=0.0).
-dummyGateLengthType
LengthType
Specify the length type for dummy gate length.
Valid values: AdjacentNarrower,
AdjacentWider, and MinChannelLength
(default=AdjacentNarrower).
Only valid when -createDummyGate is specified.
Laker³ Tcl Reference Manual
K-2015.06
509
Chapter 5: Home Page
Options Commands
510
Argument
Description
-dummyGateNumbers
numberSingle numberMulti
numberInner
Specify the number of dummy gates with these
values:
numberSingle: (default=2) for a transistor with one
normal gate.
numberMulti: (default=1) for a transistor with
multiple normal gates.
numberInner: (default=1) for a transistor with gate
width difference (between two adjacent gates)
exceeding the toleranceValue.
Valid value: integer, greater than or equal to 0.
-EIPDimNeighbor 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the EIP Dim Neighbor option.
0 : Disable the EIP Dim Neighbor option.
-enableDevObjMode 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Device Object Mode option.
0 : Disable the Device Object Mode option.
-enableSelectUndo 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Enable Select Undo/Redo option.
0 : Disable the Enable Select Undo/Redo option.
-fixEnc 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Fix StdVia Enclosure Value option.
0 : Disable the Fix StdVia Enclosure Value option.
-flightLine 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show flight lines.
0 : Do not show flight lines.
-flightLineDisplayStyle style
Specify the flight line display style.
Valid values: cc, vv, and ve (default=vv).
-flightLineMode mode
Specify the flight line mode.
Valid values: wireplan and floorplan
(default=wireplan).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-getDelimiter
The argument is mutually exclusive with the other
arguments, and has the highest priority. It is used for
Laker/Composer integration.
lakerPreference returns the delimiter string used
in Laker for this argument only. For other arguments,
it returns nothing.
-hlObjPathWidth number
Specify the status of Path Width of Highlighted
Object which controls the path width of those objects
for highlighting lines and pairs.
Valid value: an integer, greater than or equal to 1.
-instanceLoopChecking 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Check Loops for Instances option.
0 : Disable the Check Loops for Instances option.
-instRubberBandBorderOnly
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Show the rubber band of the instance border as
creating or editing objects.
0 : Do not show the rubber band of the instance
border.
-ioDefaultDirectory filePath
Specify the default directory for the output GDSII file.
If it is not specified, the output file is saved under the
working directory.
-keepUpdatedCreateValue 0|1 Valid values: Boolean values, 0 and 1 (default=0).
1 : Reserve the value of Contact to Gate, X-spacing,
and Y-spacing in the Create Transistor form.
0 : Reset to the default value.
-maxFinHierLevel number
Specify the maximum number of hierarchy levels to
be traversed when snapping fin regions or OD
shapes.
Valid value: an integer (default=1).
-maxFlightLine number
Specify the maximum number of flight lines to be
displayed for all nets.
Valid value: an integer (maximum=20000).
Laker³ Tcl Reference Manual
K-2015.06
511
Chapter 5: Home Page
Options Commands
Argument
Description
-maxFlightLineByNet number
Specify the maximum number of flight lines to be
displayed for a specified net.
Valid value: an integer (maximum=20000).
-maxPropagation number
Specify the maximum number of propagation
objects.
Valid value: an integer.
-mouseWheel 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Enable Mouse Wheel option.
0 : Disable the Enable Mouse Wheel option.
-MsgLineNumber number
Valid values: 0, 1, and 2 (default=1).
0 : Enable the On the Same Row option.
1 : Enable the One Message Line option.
2 : Enable the Two Message Lines option.
-offGridRouter 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : The point-to-point router supports routing on offgrid shapes.
0 : The point-to-point does not support off-grid
routing.
-overrideSwap 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Serial gates are not swappable in the Layout
window and Stick Diagram Compiler.
0 : Serial gates are swappable.
-pastePickedParameterMethod Specify the method to paste the parameters.
method
Valid values: updateAll,
updateAllWithSameType, and
updateModifiedParameterWithCB
(default=updateAllWithSameType).
512
-ProcedureToOpenSchematic
procName
Specify the procedure to open the schematic data.
-propagateColor 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Enable the Propagate Color Information option.
0: Disable the Propagate Color Information option.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-propagateLock 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Enable the Propagate Locked Information
option.
0: Disable the Propagate Locked Information
option.
-propagation 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Enable the Propagate Net Information option.
0: Disable the Propagate Net Information option.
-relativeLibPath 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Translate all mapping paths into a relative path.
0 : Translate all mapping paths into an absolute path.
-resistorSegNum number
Specify the number of resistor segments.
Valid value: an integer (default=5).
-rightClickCommandMenu 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the right-click command menu in the
layout.
0 : Disable the right-click command menu in the
layout.
-selectUndoCnt value
Specify the number of times undo is allowed for
select operations.
Valid value: an integer from 1 to 128 (default=10).
-selectUndoMaxObj value
Specify the maximum number of selected objects to
be reserved for Select Undo actions.
Valid value: an integer from 1 to 1000
(default=1000).
-setDimensionMarkUnit unit
Specify the unit of the dimension value to be
displayed on screen.
Valid values: none, auto, micrometer, and
millimeter.
-setGrAlignCenterLine 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: The reference point of the guard ring alignment
can be its centerline only.
0: The reference point of the guard ring alignment
can be its centerline, vertices, and edges of contacts.
Laker³ Tcl Reference Manual
K-2015.06
513
Chapter 5: Home Page
Options Commands
Argument
Description
-shapeToLine 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Shapes can be stretched to a line.
0: Shapes cannot be stretched to a line.
-sheetResFile fileName
Specify the sheet resistance file with its file path, for
example: ./sheet.res.
-shortDetector 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Enable the Activate Short Detector option.
0: Disable the Activate Short Detector option.
-showFlightLineBySel 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Show flight lines by selection.
0: Do not show flight lines by selection.
-showLayerAlias 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Enable the Show Layer Alias Name option.
0: Disable the Show Layer Alias Name option.
-ShowNetNameTip 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Show Net Name when Pre-selecting
Objects option.
0 : Disable the Show Net Name when Preselecting Objects option.
-ShowRulerWithMinResolution Valid values: Boolean values, 0 and 1 (default=0).
0|1
1: Enable the Show Ruler with Min Resolution
option.
0: Disable the Show Ruler with Min Resolution
option.
514
-showStreamNumber 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Enable the Show Stream Number option.
0: Disable the Show Stream Number option.
-showWarnMsgWnd 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1: Show warning or error messages in a separate
window.
0: Show warning or error messages in the message
frame of the Home Page.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-SkipWarnNo number
Specify the number of warning messages to be
ignored.
Valid value: an integer (default=100, maximum).
-snapRowRadius dRadius
Specify the snapping distance for tile cells.
Valid value: a positive floating number (default=0.3).
-SnapToFinSeparately 0|1
Valid values: Boolean values, 0 and 1.
1: Enable the Snap to Fin Grid Individually option.
0: Disable the Snap to Fin Grid Individually option.
-stretchDevice 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Device Stretch option.
0 : Disable the Device Stretch option.
-ToolTipMaxChars value
Specify the maximum characters per line to be
displayed in the yellow tip window.
Valid value: an integer (default=32).
This argument corresponds to the value saved in the
[LeoPreference] section of the laker.rc resource
file designated by the keyword ToolTipMaxChars.
-undoCnt value
Specify the number of times undo is allowed for
creating and editing operations.
Valid value: an integer from 1 to 256 (default=5).
-updateMCell 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Update MCell definitions.
0: Do not update MCell definitions.
-useAbutProcedure 0|1
Valid values: Boolean values, 0 and 1.
1: Use AbutProcedure to perform the abutment.
0: Use AbutControlPcell to perform the
abutment.
-viewInstPin 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Enable the View Instance Pin option.
0: Disable the View Instance Pin option.
-viewPathLabel 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Enable the View Path Label option.
0: Disable the View Path Label option.
Laker³ Tcl Reference Manual
K-2015.06
515
Chapter 5: Home Page
Options Commands
Argument
Description
-viewPinLabel Off|Port|Net
Specify the display mode of pin labels.
Valid values: Off, Port, and Net (default=Off).
Examples
# Example 1
# Turn on "Activate Short Detector"
lakerPreference -shortDetector 1
# Example 2
# Turn on "Show Flight Line"
lakerPreference -flightLine 1
# Example 3
# Turn off "Show Global Flight Line"
lakerPreference -globalFlightLine 0
# Example 4
# Specify the number of warning messages to be ignored
lakerPreference -SkipWarnNo 100
# Example 5
# Turn on "Shape Can't Stretch to Line"
lakerPreference -shapeToLine 0
# Example 6
# Translate all mapping paths into absolute path
lakerPreference -relativeLibPath 0
# Example 7
# Translate all mapping paths into relative path
lakerPreference -relativeLibPath 1
# Example 8
# Turn off Create Dummy Gate
lakerPreference -createDummyGate 0
# Example 9
# Turn on Create Dummy Gate and specify the number of gates and
# tolerance and dummy gate length type
lakerPreference -createDummyGate 1 -dummyGateNumbers 2 1 1 \
-dummyGateInnerTolerance 0.2 -dummyGateLengthType \
MinChannelLength
# Example 10
# Specify the Spacing values for alignment
lakerPreference -alignSpacingValue {1.0 2.5 3.0}
516
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
# Example 11
# Enable the checking when opening a logic cell view.
lakerPreference -checkSchTimeStampWhenOpen 1
# Example 12
# Enable the checking periodically and the interval is 30 minutes.
lakerPreference -autoCheckSchTimeStamp 1 \
-autoCheckSchTimeStampInterval 30
# Example 13
# Exclude view names with "logic" and "schematic" in DM environment
lakerPreference -dmAutoExcludeViewName {logic schematic}
# Example 14
# No views are excluded in DM environment
lakerPreference -dmAutoExcludeViewName {}
# or the curly brackets can be omitted
lakerPreference -dmAutoExcludeViewName
# Example 15
# Set the following automation for DM:
# - Always check out cell view files automatically;
# - Never check in cell view files automatically;
# - Show a prompt notification prior to the check in/out
# of other files
lakerPreference -dmAutoCheckOutCV Always -dmAutoCheckInCV Never \
-dmAutoCheckOutInFile Prompt
lakerRefreshLockedLayerFile
The lakerRefreshLockedLayerFile command refreshes the locked layer
definition if the locked layer file exists.
Syntax
lakerRefreshLockedLayerFile
Returns
None
Arguments
None
Examples
lakerRefreshLockedLayerFile
See Also
Home Page: Options > Refresh Locked Layer File
Laker³ Tcl Reference Manual
K-2015.06
517
Chapter 5: Home Page
Options Commands
lakerSchBroPreference
The lakerSchBroPreference command configures the settings of the
Design Browser pane and the tolerance sensitivity of mismatched values
between the netlist and layout.
Syntax
lakerSchBroPreference [-mosDim 0|1] [-mosExtraDevArg 0|1]
[-mosPort 0|1] [-mosLayoutPort 0|1] [-mosSchPort 0|1] [resDim 0|1] [-resExtraDevArg 0|1] [-resPort 0|1] [resLayoutPort 0|1] [-resSchPort 0|1] [-capDim 0|1] [capExtraDevArg 0|1] [-capPort 0|1] [-capLayoutPort 0|1]
[-capSchPort 0|1] [-instDim 0|1] [-instExtraDevArg 0|1]
[-instPort 0|1] [-instLayoutPort 0|1] BrowserShowGateType 0|1 | -BrowserShowGroup 0|1 | BrowserShowStack 0|1 [-BrowserShowStackDetail 0|1] | BrowserShowConstraint 0|1 | -BrowserCmpDetail 0|1 | BrowserCmpFormgate 0|1 | -BrowserAutoExpandGrp 0|1 | BrowserAutoFlatnGrp 0|1 | -BrowserTipLayPara 0|1 | BrowserTipSchPara 0|1] [[-BrowserAutoGenText 0|1] [BrowserGenTextFor {deviceType}] [-BrowserGenTextHeight
textHeight] [-BrowserGenTextFont textFont] [BrowserGenTextCase textCase] [BrowserUnsetGenTextLayer] [-BrowserGenTextLayer
layerName [purposeName]] [-BrowserGenTextJustify
textJustify] [-BrowserGenTextOrient textMirror]] [BrowserDimTolerance num | -BrowserMosLenTolerance num |
-BrowserMosWidthTolerance num | BrowserResValueTolerance num | -BrowserResLenTolerance
num | -BrowserResWidthTolerance num | BrowserCapValueTolerance num] [-BrowserIgnoreBulk 0|1]
[-dummyNMOSGateNet 0|1] [-dummyNMOSGateNetName netname]
[-dummyPMOSGateNet 0|1] [-dummyPMOSGateNetName netname]
[-dummyNMOSSDNet 0|1] [-dummyNMOSSDNetName netname] [dummyPMOSSDNet 0|1] [-dummyPMOSSDNetName netname][instSchPort 0|1] [-honorMOSMfactor 0|1] [BrowserSyncStatusWithADP 0|1] [-BrowserSyncScopewithADP
0|1] [-useStickPostProc 0|1] [-stickPostProc procName]
[-stickPostProcScript file] [-useMatchPostProc 0|1] [matchPostProc procName] [-matchPostProcScript file] [[useSpacingProc 0|1] [-spacingProc procName]] [displayStickAtLeastObj value] [-autoCheckSchTimeStamp
0|1] [-autoCheckSchTimeStampInterval interval] [-
518
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
autoCreateSoftPin 0|1] [-checkSchTimeStampWhenOpen 0|1]
[-schTopology 0|1] [-autochain 0|1] [-multiInstDelimiter
delimiter] [-selectObjectWhenCrossProbe 0|1]
Returns
None
Arguments
Argument
Description
-autoChain 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Auto Transistor Chaining and
Placement option.
0 : Disable the Auto Transistor Chaining and
Placement option.
-autoCheckSchTimeStamp 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Automatically check the schematic time stamp
when the specified interval is passed. The auto
checking is enabled only when the interval is
greater than 0.
0 : Do not check the schematic time stamp
automatically.
-autoCheckSchTimeStampInterval Set the period of time to automatically check the
interval
schematic time stamp. The time unit is minutes.
Valid values: integer, greater than or equal to 0
(default=0).
The auto checking is enabled only when
-autoCheckSchTimeStamp 1 is specified and
the interval is greater than 0.
-autoCreateSoftPin 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Auto Create Soft Pin option.
0 : Disable the Auto Create Soft Pin option.
-BrowserAutoExpandGrp 0|1
Valid values: Boolean values, 0 and 1.
1 : Grouping after expanding instances.
0 : No grouping after expanding instances.
-BrowserAutoFlatnGrp 0|1
Valid values: Boolean values, 0 and 1.
1 : Grouping after flattening instances.
0 : No grouping after flattening instances.
Laker³ Tcl Reference Manual
K-2015.06
519
Chapter 5: Home Page
Options Commands
520
Argument
Description
-BrowserAutoGenText 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Generate text labels for specified object types.
0 : Do not generate text labels for specified object
types.
-BrowserCapValueTolerance num
Specify the tolerance percentage for the capacitor
value.
Valid value: a positive floating number.
-BrowserCmpDetail 0|1
Valid values: Boolean values, 0 and 1.
1 : Show the detailed report in a tip window.
0 : Hide the detailed report in a tip window.
-BrowserCmpFormgate 0|1
Valid values: Boolean values, 0 and 1.
1 : Show the discrepancy report by the form gate
information.
0 : Hide the discrepancy report by the form gate
information.
-BrowserDimTolerance 0|1
Valid values: Boolean values, 0 and 1.
1 : Allow tolerance to dimension.
0 : Do not allow tolerance to dimension. The
dimension must be matched.
-BrowserGenTextFor
{deviceType}
Set the object type of the target for text
generation. Multiple types can be specified.
Valid values: Transistor, Resistor,
Capacitor, Instance, and Device
(default={}).
-BrowserGenTextHeight
textHeight
Specify the text height for generated text labels.
Valid values: a positive floating number
(default=1.0).
-BrowserGenTextFont
textFont
Specify the font type for generated text labels.
Valid values: Modern, Script, and Roman
(default=Roman).
-BrowserGenTextCase
textCase
Specify the case sensitivity setting for generated
text labels.
Valid values: Original, Upper, and Lower
(default=Original).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-BrowserGenTextLayer
layerName purposeName
Specify the layer for generated text labels. If the
purpose is not specified, the default is drawing. If
the specified layer is not found in the library, the
layer setting in the SDL Preferences form keeps
the original value and a warning message is
shown in the message pane of the Home page.
-BrowserGenTextJustify
textJustify
Specify the justification for generated text labels.
Valid values: UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight,
and LowerRight (default=CenterCenter).
-BrowserGenTextOrient
textMirror
Specify the mirror and rotation status for
generated text labels.
Valid values: R0, R90, R180, R270, MXR0,
MXR90, MYR0, and MYR90 (default=R0).
-BrowserIgnoreBulk 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Ignore Bulk Checking option.
0 : Disable the Ignore Bulk Checking option.
-BrowserMosLenTolerance num
Specify the tolerance percentage of the length of
MOS devices.
Valid value: a positive floating number.
-BrowserMosWidthTolerance num Specify the tolerance percentage of the width of
MOS devices.
Valid value: a positive floating number.
-BrowserResLenTolerance num
Specify the tolerance percentage of the length of
resistor devices.
Valid value: a positive floating number.
-BrowserResValueTolerance num
Specify the tolerance percentage of the resistor
value.
Valid value: a positive floating number.
-BrowserResWidthTolerance num
Specify the tolerance percentage of the width of
resistor devices.
Valid value: a positive floating number.
Laker³ Tcl Reference Manual
K-2015.06
521
Chapter 5: Home Page
Options Commands
522
Argument
Description
-BrowserShowConstraint 0|1
Valid values: Boolean values, 0 and 1.
1 : Show the information of Device Matching and
Chain constraints on the Design Browser pane.
0 : Hide the information of Device Matching and
Chain constraints on the Design Browser pane.
-BrowserShowGateType 0|1
Valid values: Boolean values, 0 and 1.
1 : Show the form gate type.
0 : Hide the form gate type.
-BrowserShowGroup 0|1
Valid values: Boolean values, 0 and 1.
1 : Show the user-defined group information on
the Design Browser pane.
0 : Hide the user-defined group information on the
Design Browser pane.
-BrowserShowStack 0|1
Valid values: Boolean values, 0 and 1.
1 : Show the stacking MOS group information on
the Design Browser pane.
0 : Hide the stacking MOS information on the
Design Browser pane.
-BrowserShowStackDetail 0|1
Valid values: Boolean values, 0 and 1
(default=0).
1 : Show the detailed stacking MOS group
information on the Design Browser pane.
0 : Hide the detailed stacking MOS information on
the Design Browser pane.
-BrowserSyncStatusWithADP 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Synchronize Realization Status
option.
0 : Disable the Synchronize Realization Status
option.
-BrowserSyncScopewithADP 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Synchronize Scope Changes
option.
0 : Disable the Synchronize Scope Changes
option.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-BrowserTipLayPara 0|1
Valid values: Boolean values, 0 and 1.
1 : Show the layout device parameter information
in a tip window.
0 : Hide the layout device parameter information.
-BrowserTipSchPara 0|1
Valid values: Boolean values, 0 and 1.
1 : Show the schematic parameter information in
a tip window.
0 : Hide the schematic parameter information.
-BrowserUnsetGenTextLayer
If specified, the layer setting in the SDL
Preferences form is cleared.
-capDim 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of dimensions for
capacitors.
0 : Disable the comparison.
-capExtraDevArg 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra arguments in
the layout for capacitors.
0 : Disable the comparison.
-capLayoutPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra ports in the
layout for capacitors.
0 : Disable the comparison.
-capPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of port connections for
capacitors.
0 : Disable the comparison.
-capSchPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra ports in the
schematic for capacitors.
0 : Disable the comparison.
Laker³ Tcl Reference Manual
K-2015.06
523
Chapter 5: Home Page
Options Commands
524
Argument
Description
-checkSchTimeStampWhenOpen
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Check the schematic time stamp when
opening a logic cell view.
0 : Do not check the schematic time stamp when
opening a logic cell view.
-displayStickAtLeastObj value
Specify the minimum number of the selected
MOS device in the Design Browser pane or the
Schematic window.
Valid value: an integer.
-dummyNMOSGateNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Gate Net Name for Dummy
NMOS option.
0 : Disable the Gate Net Name for Dummy
NMOS option.
-dummyNMOSGateNetName
netname
Assign a single net name for all dummy NMOS
devices.
-dummyNMOSSDNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the S/D Net Name for Dummy NMOS
option.
0 : Disable the S/D Net Name for Dummy NMOS
option.
-dummyNMOSSDNetName
netname
Assign a single source/drain net name for all
dummy NMOS devices.
-dummyPMOSGateNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Gate Net Name for Dummy PMOS
option.
0 : Disable the Gate Net Name for Dummy PMOS
option.
-dummyPMOSGateNetName
netname
Assign a single net name for all dummy PMOS
devices.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-dummyPMOSSDNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the S/D Net Name for Dummy PMOS
option.
0 : Disable the S/D Net Name for Dummy PMOS
option.
-dummyPMOSSDNetName
netname
Assign a single source/drain net name for all
dummy NMOS devices.
-honorMOSMfactor 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Honor MOS M-factor option.
0 : Disable the Honor MOS M-factor option.
-instDim 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of dimensions for
instances.
0 : Disable the comparison.
-instExtraDevArg 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra arguments in
the layout for instances.
0 : Disable the comparison.
-instLayoutPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra ports in the
layout for instances.
0 : Disable the comparison.
-instPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of port connections for
instances.
0 : Disable the comparison.
-instSchPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra ports in the
schematic for instances.
0 : Disable the comparison.
-matchPostProc procName
Specify the name of the post-process procedure
used in the Matching Device Creator window.
Laker³ Tcl Reference Manual
K-2015.06
525
Chapter 5: Home Page
Options Commands
526
Argument
Description
-matchPostProcScript file
Specify the script file with the post-process
procedure used in the Matching Device Creator
window.
-mosDim 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of dimensions for MOS
devices.
0 : Disable the comparison.
-mosExtraDevArg 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra arguments in
the layout for MOS devices.
0 : Disable the comparison.
-mosLayoutPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra ports in the
layout for MOS devices.
0 : Disable the comparison.
-mosPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of port connections for
MOS devices.
0 : Disable the comparison.
-mosSchPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra ports in the
schematic for MOS devices.
0 : Disable the comparison.
-multiInstDelimiter delimiter
Specify the delimiter for multiple instances. If the
string is empty, the default delimiter is "::".
-resDim 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of dimensions for
resistors.
0 : Disable the comparison.
-resExtraDevArg 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra arguments in
the layout for resistors.
0 : Disable the comparison.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
Argument
Description
-resLayoutPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra ports in the
layout for resistors.
0 : Disable the comparison.
-resPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of port connections for
resistors.
0 : Disable the comparison.
-resSchPort 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the comparison of extra ports in the
schematic for resistors.
0 : Disable the comparison.
-schTopology 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Schematic Topology Cloned
Placement option.
0 : Disable the Schematic Topology Cloned
Placement option.
-selectObjectWhenCrossProbe
0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Cross Select option.
0 : Disable the Cross Select option.
-spacingProc procName
Specify the spacing procedure name when
-useSpacingProc 1 is specified.
-stickPostProc procName
Specify the name of the post-process procedure
used in the Stick Diagram Compiler window.
-stickPostProcScript file
Specify the script file with the post-process
procedure used in the Stick Diagram Compiler
window.
-useMatchPostProc 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Procedure for Matching Device
Creator option.
0 : Disable the Procedure for Matching Device
Creator option.
Laker³ Tcl Reference Manual
K-2015.06
527
Chapter 5: Home Page
Options Commands
Argument
Description
-useSpacingProc 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Device Spacing Procedure option.
0 : Disable the Device Spacing Procedure option.
-useStickPostProc 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Procedure for Stick Diagram
Compiler option.
0 : Disable the Procedure for Stick Diagram
Compiler option.
Examples
# Example 1
# If it is a transistor type, show the length and width.
# If it is a resistor type, show the resistor value.
# If it is a capacitor type, show the capacitor value.
# If it has an M-factor, show its M-factor.
# Disable the group information, and show the form gate
# as PnP level.
lakerSchBroPreference -BrowserFormat \
{[%L %L/%W]\n[%C %C]\n[%R %R]\n[%F m=%F]} -BrowserShowGroup 0 \
-BrowserShowGateType 1
528
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Options Commands
# Example 2
# Set tolerance of mos's length and width to be 2%, tolerance of
# Resistor's value to be 2%, and tolerance of Capacitor's
# value to be 2%, it allows mismatch between netlist and
# layout inside the tolerence
lakerSchBroPreference -BrowserDimTolerance 1 \
-BrowserMosLenTolerance 2.0 -BrowserMosWidthTolerance 2.0 \
-BrowserResValueTolerance 2.0 -BrowserCapValueTolerance 2.0
# Example 3
lakerSchBroPreference -BrowserDimTolerance 1 \
-BrowserMosLenTolerance 0.85 -BrowserMosWidthTolerance 0.75 \
-BrowserResValueTolerance 2.5 -BrowserCapValueTolerance 1.8
# Example 4
lakerSchBroPreference -BrowserShowGateType 0 \
-mosLayoutPort 1 -resLayoutPort 1 -capLayoutPort 1 \
-instLayoutPort 0
# Example 5
# Turn on the Generate Text option for MCell Transistors,
# MCell Capacitors, and Devices
lakerSchBroPreference -BrowserGenTextFor \
{Transistor Capacitor Device}
# Example 6
# Turn off the Enable Auto Text Generation option
lakerSchBroPreference -BrowserAutoGenText 0
# Example 7
# Specify the text layer with layer name and purpose name
lakerSchBroPreference -BrowserGenTextLayer MT1 drawing
# Example 8
# Clear the layer setting
lakerSchBroPreference -BrowserUnsetGenTextLayer
# Example 9
# Use post-process procedure "alignPoly" which is defined
# in "alignPoly.tcl" for Stick Diagram Compiler
lakerSchBroPreference -useStickPostProc 1 \
-stickPostProc alignPoly -stickPostProcScript ../alignPoly.tcl
See Also
Home Page: Options > SDL Preferences
Laker³ Tcl Reference Manual
K-2015.06
529
Chapter 5: Home Page
Symbol Callback Commands
lakerSetUserStrokeFile
The lakerSetUserStrokeFile command updates the UserStrokeFile
settings in the [LeoPreference] section of the laker.rc resource file, and
then replaces the mouse wheel binding with new definitions immediately.
Syntax
lakerSetUserStrokeFile fileName
Returns
None
Arguments
Argument
Description
fileName
Specify the user-defined stroke file with its full path and
enclose the file path with double quotes.
Examples
lakerSetUserStrokeFile "/usr/myMouseWheel.stk"
Symbol Callback Commands
This section describes the Tcl commands for symbol callbacks. These
commands include:
■
paramGetAttr
■
paramSetAttr
paramGetAttr
The paramGetAttr command returns the field value of the parameter if the
value of the parameter can be obtained.
This command only works in the script file of symbol parameter callbacks.
Refer to Appendix A, Symbol Callback Procedures for more details.
Syntax
paramGetAttr -name parameterName -attr fieldName [-eval] [lib] [-cell]
530
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Symbol Callback Commands
Returns
The field value of the parameter if successful; otherwise, returns nothing.
Arguments
Argument
Description
-attr fieldName
Specify the field name of the parameter.
Valid values: promptname, type, value, visible, and
editable.
-cell
Return the cell name of the master cell for the current instance.
-eval
Return the final real value for the expression value of the
parameter.
-lib
Return the library name of the master cell for the current
instance.
-name
parameterName
Specify the parameter name (not "Prompt Name").
Examples
# Example 1
paramGetAttr -name w -attr value -eval
# Example 2
paramGetAttr -name 1 -attr visible
# Example 3
paramGetAttr -name area -attr value
See Also
Home Page: Library > Parameter > Callback
paramSetAttr
The paramSetAttr command sets a new value into the parameter.
This command only works in the script file of symbol parameter callbacks.
Refer to Appendix A, Symbol Callback Procedures for more details.
Syntax
paramSetAttr -name parameterName -attr fieldName -value
value
Laker³ Tcl Reference Manual
K-2015.06
531
Chapter 5: Home Page
Netlist Procedure Commands
Returns
None
Arguments
Argument
Description
-attr fieldName
Specify the field name of the parameter.
Valid values: promptname, type, value, visible, and
editable.
-name parameterName
Specify the parameter name (not "Prompt Name").
-value value
Specify the new value.
Examples
# Example 1
paramSetAttr -name l -attr value –value 0.1u
# Example 2
paramSetAttr -name w -attr visible –value 1
See Also
Home Page: Library > Parameter > Callback
Netlist Procedure Commands
This section describes the Tcl commands for netlist procedures. These
commands include:
■
nlEval
■
nlGetAttr
■
nlPuts
nlEval
The nlEval command returns a string if the evaluated value from the netlist
table can be obtained.
The netlist table is specified in the Netlist tab of the Parameter Dialog form,
invoked by the Library > Parameter command in the Home Page.
532
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Netlist Procedure Commands
Syntax
nlEval [-modelName modelName | -pin allTerm | -instParam
instParam [-keyword 0|1] | -subcktParam subcktParam
[-keyword 0|1]] [-componentName componentName]
[-instModelName model]
Returns
A string if successful; otherwise, returns nothing.
Arguments
Argument
Description
-componentName
componentName
Get the evaluated component name in the Component Name
text field of the netlist table.
The componentName is with the following format:
[nlGetAttr -attr componentName].
-instModelName
model
Get the evaluated instance model name if the netlist is not
exported from the netlist procedure.
-instParam
instParam
[-keyword 0|1]
Get the evaluated instance parameter in the Instance
Parameters text field of the netlist table.
-modelName
modelName
Get the evaluated model name in the Model Name text field of
the netlist table.
-pin allTerm
Get the evaluated pin order (for example: connected names) in
the Pin Order text field of the netlist table.
-subcktParam
subcktParam
[-keyword 0|1]
Get the evaluated subckt parameter in the Subckt Parameters
text field of the netlist table.
Laker³ Tcl Reference Manual
K-2015.06
533
Chapter 5: Home Page
Netlist Procedure Commands
Examples
# Example 1
proc outInstProc {} {
set nlPinOrder [nlGetAttr -attr nlPinOrder]
set nlNamePreFix [nlGetAttr -attr nlNamePreFix]
set nlModelName [nlGetAttr -attr nlModelName]
set nlInstParam [nlGetAttr -attr nlInstParam]
set nlInstName [nlGetAttr -attr nlInstName]
set outInstName ""
append outInstName $nlNamePreFix
append outInstName $nlInstName
nlPuts "$outInstName"
set connectedNet [
nlEval -pin $nlPinOrder
]
nlPuts "$connectedNet"
set modelName [
nlEval -modelName $nlModelName
]
set nlength [llength $modelName]
if {$nlength > 0} {
nlPuts "$modelName "
}
set InstParamEval [
nlEval -instParam $nlInstParam -keyword 1
534
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Netlist Procedure Commands
]
nlPuts "$InstParamEval"
}
proc myCProc {} {
outInstProc
}
proc myMProc {} {
outInstProc
}
proc myRProc {} {
outInstProc
}
# Example 2
# Return connected net
# If they are floating
# n corresponds to the
nlEval -pin "A B C D"
# Return the connected
nlEval -pin "A[0:3]"
names "1 2 3 4" of ports A, B, C and D.
nets, return dummy_node_n where
index of dummy nets.
net names "A[0] A[1] A[2] A[3]"
# Example 3
# Return the cell name
nlEval -modelName "@[CellName]"
# If the parameter XXX exists, return the evaluated value of
# parameter XXX. If the parameter XXX does not exist, return
# a string XXX.
nlEval -modelName "XXX"
# Example 4
# Return the cell name of the instance master
nlEval -instParam "@[CellName]"
# Return the value 2 if X equals to 2
nlEval -instParam X -keyword 0
# Return the value X=2 if X equals to 2
nlEval -instParam X -keyword 1
See Also
nlGetAttr
nlPuts
Laker³ Tcl Reference Manual
K-2015.06
535
Chapter 5: Home Page
Netlist Procedure Commands
nlGetAttr
The nlGetAttr command returns a string if the simulation information in the
netlist table or the export options of the File > Export > Spice, Verilog, and
EDIF commands can be obtained.
The netlist table is specified in the Netlist tab of the Parameter Dialog form,
invoked by the Library > Parameter command in the Home Page.
Syntax
nlGetAttr -attr attrName [-attType attrType]
Returns
A string if successful; otherwise, returns nothing.
The following table lists the available attribute names.
536
Attribute Name
Description
componentName
Get the value of the Component field of the netlist table.
instParameters
Get the value of the Instance Parameters field of the netlist table.
namePrefix
Get the value of the Name Prefix field of the netlist table.
netlistProcedure
Get the value of the Netlist Procedure field of the netlist table.
netlistType
Get the netlist type. Supported netlist types: Hspice, CDL, Eldo,
SmartSpice, Spectre, and UserDefine.
Default procedure name for these netlist types:
adpHspiceProc, adpCDLProc, adpEldoProc,
adpSmartSpiceProc, and adpSpectreProc.
nlInstId
Get the instanceId when exporting an instance’s statement.
nlInstName
Get the instance name when exporting an instance’s statement.
nlSchematicCV
Get the schematic cellviewId when exporting a subckt's
statement.
nlSymbolCV
Get the symbol cellviewId when exporting a subckt’s statement.
If the symbol cellviewId does not exist, an empty string is
returned.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Netlist Procedure Commands
Attribute Name
Description
otherParameters
Get the value of the Other Parameters field of the netlist table.
propMapping
Get the value of the Property Mapping field of the netlist table.
pseudoDevice
Get the option status of the Generate Pseudo Device option.
termOrder
Get the value of the Term Order field of the netlist table.
Arguments
Argument
Description
-attr attrName
Specify the attribute name. Refer to the Attribute Name
Table for more details on the available attribute names.
-attType attrType
Specify the attribute type.
Valid values: user, and original.
■
user : Get the user-defined value of the simulation
information.
■
original : Get the original value of the simulation
information.
If the attribute type is not specified, return the user-defined
value if it exists, otherwise, return the original value of the
simulation information.
Examples
# Example 1
proc outInstProc {} {
set nlPinOrder [
nlGetAttr -attr nlPinOrder
]
set nlNamePreFix [
nlGetAttr -attr nlNamePreFix
]
set nlModelName [
nlGetAttr -attr nlModelName
]
set nlInstParam [
nlGetAttr -attr nlInstParam
Laker³ Tcl Reference Manual
K-2015.06
537
Chapter 5: Home Page
Netlist Procedure Commands
]
set nlInstName [
nlGetAttr -attr nlInstName
]
set outInstName ""
append outInstName $nlNamePreFix
append outInstName $nlInstName
nlPuts "$outInstName"
set connectedNet [nlEval -pin $nlPinOrder]
nlPuts "$connectedNet"
set modelName [nlEval -modelName $nlModelName]
set nlength [llength $modelName]
if {$nlength > 0} {
nlPuts "$modelName "
}
set InstParamEval [nlEval -instParam $nlInstParam -keyword 1]
nlPuts "$InstParamEval"
}
proc myCProc {} {
outInstProc
}
proc myMProc {} {
outInstProc
}
proc myRProc {} {
outInstProc
}
See Also
nlEval
nlPuts
Home Page: Library > Parameter > Netlist Procedure
nlPuts
The nlPuts command is used in the Tcl script file of netlist procedures, it
returns a string if the desired text string of the Spice command can be
exported.
Syntax
nlPuts "string"
538
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Netlist Procedure Commands
Returns
A string if successful; otherwise, returns nothing.
Arguments
Argument
Description
"string"
Specify the desired text string.
Examples
# Example 1
proc outInstProc {} {
set nlPinOrder [nlGetAttr -attr nlPinOrder]
set nlNamePreFix [nlGetAttr -attr nlNamePreFix]
set nlModelName [nlGetAttr -attr nlModelName]
set nlInstParam [nlGetAttr -attr nlInstParam]
set nlInstName [nlGetAttr -attr nlInstName]
set outInstName ""
append outInstName $nlNamePreFix
append outInstName $nlInstName
nlPuts "$outInstName"
set connectedNet [nlEval -pin $nlPinOrder]
nlPuts "$connectedNet"
set modelName [nlEval -modelName $nlModelName]
set nlength [llength $modelName]
if {$nlength > 0} {
nlPuts "$modelName "
}
set InstParamEval [nlEval -instParam $nlInstParam -keyword 1]
nlPuts "$InstParamEval"
}
proc myCProc {} {
outInstProc
}
proc myMProc {} {
outInstProc
}
proc myRProc {} {
outInstProc
}
Laker³ Tcl Reference Manual
K-2015.06
539
Chapter 5: Home Page
Miscellaneous
See Also
nlGetAttr
nlEval
Miscellaneous
This section describes the other Tcl commands applied to the Home Page.
These commands include:
540
■
adpAddHighLightInst
■
adpAddHighLightNet
■
adpAddPortPad
■
adpAutoCheck
■
adpChgBusChar
■
adpDelGNet
■
adpDelRNet
■
adpDiscardDesign
■
adpDsgSaveSchCV
■
adpFixBundleNet
■
adpFixNetFig
■
adpFixPinDot
■
adpGetActiveWnd
■
adpGetNetListType
■
adpGetTextEditor
■
adpGetWindowVar
■
adpGetWndByCV
■
adpGetWndCellViewId
■
adpRegWndCB
■
adpRmHighLight
■
adpRmParam
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
■
adpSetInstParamCB
■
adpSetLibGrid
■
adpSetObjType
■
adpTriggerPropertyCB
■
lakerEcho
■
lakerExportSIF
■
lakerGetLibCell
■
lakerExtractECOCommand
■
lakerExtractSwapPort
■
lakerGetDesign
■
lakerImportSIF
■
lakerIpcHdl
■
lakerLoadNanoScopeFile
■
lakerRegWndCB
■
lakerSetDeviceObjMode
■
lakerVersion
■
sysGetRcValue
■
sysSetRcValue
■
wtShowLicStatus
adpAddHighLightInst
The adpAddHighLightInst command returns 1 if any instances have been
highlighted.
Syntax
adpAddHighLightInst -topWnd winId -name instName1 instName2
[-color colorType]
Returns
1 if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
541
Chapter 5: Home Page
Miscellaneous
Arguments
Argument
Description
-color colorType
Specify the color code.
-name
instName1 instName2...
Specify the instance name(s).
-topWnd winId
Specify the top window identifier.
Examples
adpAddHighLightInst -topWnd _adp2 -name aa -color ID_Red4
adpAddHighLightNet
The adpAddHighLightNet command returns 1 if any nets have been
highlighted.
Syntax
adpAddHighLightNet -topWnd winId -name netName1 netName2 [color colorType]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-color colorType
Specify the color code.
-name
netName1 netName2...
Specify the net name(s).
-topWnd winId
Specify the top window identifier.
Examples
adpAddHighLightNet -topWnd _adp2 -name aa -color ID_Red4
542
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
adpAddPortPad
The adpAddPortPad command returns 1 if there is any port pads have been
created.
Syntax
adpAddPortPad [-lib libname [-cell cellname]]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellname
Specify the cell name.
-lib libname
Specify the library name.
Examples
adpAddPortPad -lib aa
adpAutoCheck
The adpAutoCheck command invokes an offline auto fix to the schematic or
symbol views of the current cell in the database when the schematic ERC,
symbol check pin, Save Design or Save As features are executed.
Syntax
adpAutoCheck [-lib libName [-cell cellName [-view
viewName]]] [-fix] [-log [-file FileName]]
Returns
None
Arguments
Argument
Description
-cell cellName
Specify the cell name.
-file FileName
Specify the file to save the checking/fixing results.
This argument is valid only if -log is specified.
Laker³ Tcl Reference Manual
K-2015.06
543
Chapter 5: Home Page
Miscellaneous
Argument
Description
-fix
Fix the DB errors.
-lib libName
Specify the library name.
-log
Dump the auto checking/fixing results to a log file.
-view viewName
Specify the view name.
Valid values: schematic, and symbol.
Examples
# Example 1
# Check DB errors in a symbol cell view
adpAutoCheck -lib local -cell test -view symbol
# Example 2
# Check DB errors in a cell
adpAutoCheck -lib local -cell test
# Example 3
# Check DB errors in a library
adpAutoCheck -lib local
# Example 4
# Check DB errors in all libraries with mapping path
adpAutoCheck
# Example 5
# Fix DB errors in a symbol cell view
adpAutoCheck -lib local -cell test -view symbol -fix
# Example 6
# Fix DB errors in a cell
adpAutoCheck -lib local -cell test -fix
# Example 7
# Fix DB errors in a library
adpAutoCheck -lib local -fix
# Example 8
# Fix DB errors in all libraries with mapping path
adpAutoCheck -fix
# Example 9
# Fix DB errors in a symbol cell view and log the results
adpAutoCheck -lib local -cell 4_bit_adder2 -view symbol -fix -log
544
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
adpChgBusChar
The adpChgBusChar command changes different bus parenthesis to create
bus type objects. It checks the following objects:
■
instance names (in the schematic)
■
bundle net names (in the schematic)
■
base names of buses (in the schematic)
■
net name labels (in the schematic)
■
port names (in the schematic)
■
pin names (in the symbol)
■
pin name labels (in the symbol)
■
the Pin Order field for all kinds of netlist type (in the symbol)
■
the adpBusParenthesis property (in the library), which supports characters
[ and ( only.
Since this Tcl may update the pin name of the symbol, ERC must be executed
to fix the connection in the schematic. Alternatively, the adpFixNetFig
command can be used to fix the related instance connection in the schematic.
Syntax
adpChgBusChar -lib libName -orig OrigChar -rep RepChar [dump]
Returns
None
Arguments
Argument
Description
-dump
Dump a report of the modified results to a file. The file name can
be _adpChgBusCharCmd%d where %d corresponds to an integer
starting from 0.
-lib libName
Specify library name.
-orig OrigChar
The old bus parenthesis can be specified by < or [.
Specifying {<} changes <> to a new bus parenthesis.
Specifying {[} changes [] to a new bus parenthesis.
Laker³ Tcl Reference Manual
K-2015.06
545
Chapter 5: Home Page
Miscellaneous
Argument
Description
-rep RepChar
The new bus parenthesis can be specified by < or [ only.
Examples
adpChgBusChar -lib local -orig {[} -rep < -dump
# the log message (dumped to the file) can be:
# Original = TR[1:0] Replace = TR<1:0> (Symbol Pin Label)
# Original = TOUT[3:0] Replace = TOUT<3:0> (Symbol Pin Name)
# Original = N1<1> Replace = N1[1] (Net Name)
# Original = A<0><0:1> Replace = A[0][0:1] (Instance Name)
# Original = <> Replace = [] (Bus Parenthesis)
adpDelGNet
The adpDelGNet command returns 1 if the global net is deleted.
Syntax
adpDelGNet -lib libName -name net1 net2 net3...
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
Specify the library name.
-name netName
Specify the name of the global net that is deleted.
Examples
adpDelGNet -lib aa -name VDD VSS VDD! VSS!
adpDelRNet
The adpDelRNet command returns 1 if the net or port without figures is
deleted.
Syntax
adpDelRNet -lib libName -cell cellName [-name netName]
546
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell name.
-lib libName
Specify the library name.
-name netName
Specify the name of the non-figured net that is deleted.
Otherwise, delete all the nets with no figures.
Examples
adpDelRNet -lib local -cell dm_chan
adpDelRNet -lib local -cell dm_chan -name EQ1_18
adpDiscardDesign
The adpDiscardDesign command discards the active design and restores
the original design.
Syntax
adpDiscardDesign -topWnd winId -lib libName -cell cellName
-view viewName
Returns
None
Arguments
Argument
Description
-cell cellName
Specify the cell to be discarded.
-lib libName
Specify the library database.
-topWnd winId
Specify the active window identifier.
-view viewName
Specify the view name of the cell to be discarded.
Valid values: schematic, symbol, and any user-defined view
name (default=schematic).
Laker³ Tcl Reference Manual
K-2015.06
547
Chapter 5: Home Page
Miscellaneous
Examples
# Discard saving the schematic cell aaa with sch001 view
adpDiscardDesign -topWnd _adp5 -lib test -cell aaa -view sch001
See Also
adpLibMgrOpenDesign
adpDsgSaveSchCV
adpDsgSaveSchCV
The adpDsgSaveSchCV command saves the schematic cell design.
Syntax
adpDsgSaveSchCV -topWnd winId -lib libName -cell cellName view viewName
Returns
None
Arguments
Argument
Description
-cell cellName
Specify the cell to be saved.
-lib libName
Specify the library database.
-topWnd winId
Specify the active window identifier.
-view viewName
Specify the view name of the cell to be saved.
Valid values: schematic, symbol, and any user-defined
view name (default=schematic).
Examples
# Save the schematic cell aaa with sch001 view
adpDsgSaveSchCV -topWnd _adp5 -lib test -cell aaa -view sch001
See Also
adpLibMgrOpenDesign
adpDiscardDesign
548
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
adpFixBundleNet
The adpFixBundleNet command returns 1 if the Laker ADP database with
bundle net issue has been fixed.
Syntax
adpFixBundleNet
Returns
1 if successful; otherwise, returns 0.
Arguments
None
Examples
adpFixBundleNet
adpFixNetFig
The adpFixNetFig command returns 1 if the old wire model has been
converted to a new wire model.
Syntax
adpFixNetFig -lib libName -cell cellName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell name.
-lib libName
Specify the library name.
Examples
adpFixNetFig -lib local -cell dm_chan
Laker³ Tcl Reference Manual
K-2015.06
549
Chapter 5: Home Page
Miscellaneous
adpFixPinDot
The adpFixPinDot command returns 1 if the label size is kept fixed while
changing the grid resolution.
Syntax
adpFixPinDot -lib libName [-cell cellName] -dotSize dotSize
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell name. If it is not specified, all cells are fixed.
-dotSize dotSize
Specify the label size.
Valid value: an integer (default=8).
When the grid resolution is 16, the dot size is set as 12.
When the grid resolution is 10, the dot size is set as 8.
When the grid resolution is 1, the dot size is set as 0.
-lib libName
Specify the library name.
Examples
adpFixPinDot -lib aa -dotSize 12
adpGetActiveWnd
The adpGetActiveWnd command returns the current schematic/symbol
window identifier (or window name).
Syntax
adpGetActiveWnd [-id] | [-name]
Returns
The current schematic/symbol window identifier (or window name) if
successful; otherwise, returns nothing.
550
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
Arguments
Argument
Description
-id
Get the current schematic/symbol window identifier.
-name
Get the current schematic/symbol window name.
Examples
adpGetActiveWnd -id
adpGetNetListType
The adpGetNetListType command returns the netlist type Hspice, CDL,
Eldo, SmartSpice or Spectre.
Syntax
adpGetNetListType
Returns
The netlist type Hspice, CDL, Eldo, SmartSpice or Spectre if successful;
otherwise, returns nothing.
Arguments
None
Examples
adpGetSelectHierName -topWnd _adp2 -net -delimiter . \
-netlist [adpGetNetListType]
adpGetTextEditor
The adpGetTextEditor command returns the default text editor.
Syntax
adpGetTextEditor
Returns
The default text editor if successful; otherwise, returns nothing.
Arguments
None
Laker³ Tcl Reference Manual
K-2015.06
551
Chapter 5: Home Page
Miscellaneous
Examples
adpGetTextEditor
adpGetWindowVar
The adpGetWindowVar command returns a window identifier if the window
identifier is given.
Syntax
adpGetWindowVar winId
Returns
Window identifier if successful; otherwise, returns nothing.
Arguments
Argument
Description
winId
Specify the window identifier.
Examples
adpGetWindowVar la22810
adpGetWndByCV
The adpGetWndByCV command returns a window identifier if the window
identifier can be obtained by the cell view identifier.
Syntax
adpGetWndByCV -cv cellViewId | [-lib libName [-cell cellName]
-view viewName]
Returns
A window identifier if successful; otherwise, returns nothing.
Arguments
552
Argument
Description
-cell cellName
Specify the cell name of the opened cell.
-cv cellViewId
Specify the cell view identifier.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
Argument
Description
-lib libName
Specify the library.
-view viewName
Specify the view name of the opened cell.
Valid values: schematic, and symbol.
Examples
# Example 1
adpGetWndByCV -cv la22810
# Example 2
adpGetWndByCV -lib testLib -cell testCell -view schematic
adpGetWndCellViewId
The adpGetWndCellViewId command returns a cell view identifier if the cell
view identifier of the current Design window can be obtained.
Syntax
adpGetWndCellViewId -topWnd winId
Returns
The cell view identifier if successful; otherwise, returns nothing.
Arguments
Argument
Description
-topWnd winId
Specify the top window identifier.
Examples
adpGetWndCellViewId -topWnd _adp2
adpRegWndCB
The adpRegWndCB command returns 1 if an event can be registered or
unregistered for the specified design window. This command is used for the
ADP/Composer Integration.
When evaluating the specified callback procedures, several global Tcl variables
are provided to keep the information for accessing. They are explained with the
following Examples:
Laker³ Tcl Reference Manual
K-2015.06
553
Chapter 5: Home Page
Miscellaneous
_adpWndCBReasonName SelectSchematic (SelectSchematic,
PreSelect, MouseMoving, MouseLeftClick, MouseRightClick,
WndEnter,or WndClose)
_adpWndCBLibName
xxxLib (library logic name)
_adpWndCBCellName
xxxCell
_adpWndCBViewName
Schematic
_adpWndCBWndName
_adp3
_adpWndCBDBCoord
(0.567,0.409)
_adpWndCBScrCoord
(562 284)
_adpWndCBObjId
7fb5478 (Only for the preSelect event
and return 0 when no object is
pre-selected.)
Syntax
adpRegWndCB -type typeName -callback procedureName [-topWnd
_adp#] [-remove]
Returns
1 if successful; otherwise, returns 0.
Arguments
554
Argument
Description
-callback
procedureName
Specify the callback procedure name.
-remove
To unregister the event with the specified callback procedure
name.
-topWnd _adp#
Specify the name of the design window to register/unregister.
The default is the active window, but if the active window is not
the design window, the command fails.
-type typeName
Specify the register/unregister type.
Valid values: SelectSchematic, WndEnter, WndClose,
PreSelect, MouseMoving, MouseLeftClick, and
MouseRightClick.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
Examples
# Example 1
adpRegWndCB -type SelectSchematic -callback SchematicSelectChange
-topWnd _adp2
# Example 2
adpRegWndCB -type PreSelect -callback SchematicPreSelect -topWnd
_adp2 -remove
adpRmHighLight
The adpRmHighLight command returns 1 if the highlighted object(s) has
been removed.
Syntax
adpRmHighLight -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-topWnd winId
Specify the top window identifier.
Examples
adpRmHighLight -topWnd _adp2
adpRmParam
The adpRmParam command removes the duplicate parameter data from the
schematic view.
Syntax
adpRmParam -lib libName
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
555
Chapter 5: Home Page
Miscellaneous
Arguments
Argument
Description
-lib libName
Specify the library name.
Examples
adpRmParam -lib aa
adpSetInstParamCB
The adpSetInstParamCB command sets the value to the specified
parameter and triggers the callback of this paramter.
Syntax
adpSetInstParamCB -cv cellviewId -inst instName -param
parameterName -value value
Returns
None
Arguments
Argument
Description
-cv cellViewId
Specify the cell view identifier.
-inst instName
Specify the instance name.
-param parameterName
Specify the parameter name.
-value value
Specify the parameter value.
Examples
adpSetInstParamCB -cv oa:0x2a978cef1a -inst X1 -param ln -value 1
adpSetLibGrid
The adpSetLibGrid command returns 1 if the resolution of the library has
been changed.
Syntax
adpSetLibGrid -lib libName -resolution resolutionValue
556
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
Specify the library name.
-resolution
Specify the resolution of the library grid.
resolutionValue
Valid value: an integer.
Examples
adpSetLibGrid -lib aa -resolution 4
adpSetObjType
The adpSetObjType command filters unnecessary objects when selecting
objects in the schematics.
Syntax
adpSetObjType -obj objtype -sel selmode
Returns
None
Arguments
Argument
Description
-obj objtype
Specify the object type to be set.
Valid values: all, instance, wire, wirelabel, port, pin,
frame, pseudorc, text, shape, and annotationtext.
-sel
0|1
Valid values: Boolean values, 0 and 1.
1 : The specified object type is selectable.
0 : The specified object type is unselectable.
Examples
adpSetObjType -obj all -sel 1
Laker³ Tcl Reference Manual
K-2015.06
557
Chapter 5: Home Page
Miscellaneous
adpTriggerPropertyCB
The adpTriggerPropertyCB command updates parameter values when
changing and updating the script file. It uses the current parameter value as the
input and trigger the procedure function of the parameter (if the parameter has
a procedure function), and update all modified parameter values if needed. It is
a cell-based command.
Syntax
adpTriggerPropertyCB -lib libname [-cell cellname] [callback callbackFuncName] [-masterLib masterlibName masterCell masterCellName] -param Name
Returns
None
Arguments
Argument
Description
-callback
callbackFuncName
Specify the procedure name (callback function name) in the
script file.
-cell cellname
Specify the schematic cell view.
-lib libname
Specify the library name.
-masterCell
masterCellName
Specify the master symbol view name of an instance.
-masterLib
masterlibName
Specify the master library name of an instance.
-param Name
Specify the parameter name of an instance.
Examples
# Example 1
# Update param w of all instances of all schematic views in
# library a
adpTriggerPropertyCB -lib a -param w
# Example 2
# Update param w of all instances of schematic view b in
# library a
adpTriggerPropertyCB -lib a -cell b -param w
558
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
# Example 3
# Update param w of all instaces of all schematic views in
# library a. The master library of these instances is b and
# the master cell is c.
adpTriggerPropertyCB -lib a -masterLib b -masterCell c -param w
lakerEcho
The lakerEcho command specifies whether to echo messages in the Home
Page.
Syntax
lakerEcho 0|1
Returns
None
Arguments
Argument
Description
0|1
Valid values: Boolean values, 0 and 1.
1 : Enable echo messages.
0 : Disable echo messages.
Examples
# Disable the echo in the Home page
lakerEcho 0
lakerExportSIF
The lakerExportSIF command exports the Laker database to a SIF format
database.
Syntax
lakerExportSIF -file fileName -lib libName -design
designName [-logFile logErrName]
Returns
1 if successful; otherwise, returns 0.
Laker³ Tcl Reference Manual
K-2015.06
559
Chapter 5: Home Page
Miscellaneous
Arguments
Argument
Description
-design designName
Specify the design name.
-file fileName
Specify the input SIF file.
-lib libName
Specify the library name.
-logFile logErrName
Specify the file name for the log and error files.
Examples
lakerExportSIF -file test.sif -lib test -design test
lakerGetLibCell
The lakerGetLibCell command shows a dialog for user to select a library
and a cell.
Syntax
lakerGetLibCell [-initLib initLibName [-initCell
initCellName]] [-canNew 0|1]
Returns
The selected library and a list of cell names if successful; otherwise, returns
nothing.
Arguments
560
Argument
Description
-canNew 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Allow to open a new cell.
0: Do not allow to open a new cell.
-initCell
initCellName
The cell name is selected initially if it exists in the -initLib
argument is specified. If this option is not specified, nothing is
selected. If the -initLib argument is not specified, this option
is ignored.
-initLib
initLibName
The logical library name is selected initially if it exists. If this
argument is not specified, nothing is selected.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
Examples
# Popup this dialog with initially-selected library, named LibA,
# and cell named CellA. And user can open a new cell.
lakerGetLibCell -initLib LibA -initCell CellA -canNew 1
lakerExtractECOCommand
The lakerExtractECOCommand command extracts ECO commands from
the referenced library.
Syntax
lakerExtractECOCommand -refLib refLibName -targetLib
targetLibName [-topCell topCellName] [-ecoFile
ecoFileName] [[-extractConstraint 0|1] [-priority
priority] [-suffix constraintSuffix]] [-extractReadOnly
0|1]
Returns
None
Arguments
Argument
Description
-ecoFile
ecoFileName
Specify the extracted command file. If not specified, the
ecoFileName is the name of the referenced library with a
suffix _ECO.cmd.
-extractConstraint 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Extract constraint information from the referenced library.
0 : Do not extract constraint information from the referenced
library.
-extractReadOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Extract ECO commands even if the cell view is readOnly.
0 : Do not extract ECO commands for readOnly cell views.
-priority priority
Valid values: schematic, and layout
(default=schematic).
schematic: Constraints in the schematic view have higher
priority.
layout: Constraints in the logic view have higher priority.
Laker³ Tcl Reference Manual
K-2015.06
561
Chapter 5: Home Page
Miscellaneous
Argument
Description
-refLib
refLibName
Specify the referenced library to extract the object tree
information.
-suffix
constraintSuffix
Specify the suffix added when the constraint names conflict.
-targetLib
targetLibName
Specify the new target library database. Recovering
hierarchy manipulation on this library.
-topCell
topCellName
Specify the top cell name of the design to be extracted. Its
library should be the referenced library. If not specified, the
whole library is analyzed.
Examples
# Example 1
lakerExtractECOCommand -refLib chkLib -target myLib \
-extractConstranit 0 -priority layout -extractReadOnly 1
# Example 2
lakerExtractECOCommand -refLib chkLib -target myLib \
-topCell topCkt -ecoFile result_ECO.cmd
lakerExtractSwapPort
The lakerExtractSwapPort command extracts the swap port information
and appends it into the model mapping file.
Syntax
lakerExtractSwapPort -lib libName [-cell cellName]
Returns
None
Arguments
562
Argument
Description
-cell cellName
Specify the cell to be extracted. If the option is null, all cells in
the library are extracted.
-lib libName
Specify the library database.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
Examples
lakerExtractSwapPort -lib chkLib
lakerExtractSwapPort -lib chkLib -cell sum
lakerGetDesign
The lakerGetDesign command shows a dialog for user to select
miscellaneous types of designs.
Syntax
lakerGetDesign -type designType [-initLib initLibName [initCell initCellName [-initView initViewName] ] ] | [initView initViewName] [-canNew 0|1]
Returns
The value returned depends on the design type you specified with -type. See
table below.
Design Type
Value Returned
-type library
A selected library name if successful; otherwise, returns nothing.
-type cellView A list of the selected library, cell and view names if successful;
otherwise, returns nothing.
-type cell
A list of the selected library and selected cell names if successful;
otherwise, returns nothing.
-type view
A list of the selected view names (which might be empty) if
successful; otherwise, returns 0.
Arguments
Argument
Description
-canNew 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Allow to specify a new library, a new cell view, or one or more
new cells.
0: Do not allow to specify a new library, a new cell view, or one or
more new cells.
This option is not supported if -type library, -type
cellView or -type cell is specified.
Laker³ Tcl Reference Manual
K-2015.06
563
Chapter 5: Home Page
Miscellaneous
Argument
Description
-initCell
initCellName
Specify one or more cell names to be selected initially if they
exists. If this option is not specified, nothing is selected.
This option is not supported if -type library or -type view
is specified.
More than one cell names can be specified only if -type cell
is specified.
-initLib
initLibName
Specify a logical library name to be selected initially if it exists. If
this option is not specified, nothing is selected.
This option is not supported if -type view is specified.
-initView
initViewName
Specify one or more view names to be selected initially if they
exists. If this option is not specified, nothing is selected.
This option is not supported if -type library or -type cell
is specified.
More than one view names can be specified only if -type view
is specified.
-type designType
Specify a design type to select.
Valid values: library, cellView, cell, and view.
library: Select a library.
cellView: Select a cell view.
cell: Select one or more cells in some library.
view: Select one or more views.
Examples
# Example 1
# Show a dialog to select a library.
lakerGetDesign -type library
# User selects library LibB; Laker returns LibB
# User clicks on "Cancel" button, Laker returns empty.
# Example 2
# Show a dialog to select a cell view, with initially-selected
# library named LibA, cell named CellA, and view named layout.
lakerGetDesign -type cellView -initLib LibA -initCell CellA \
-initView layout
# User selects library LibA, cell CellB, and view schematic;
# Laker returns LibA CellB schematic
# User clicks on "Cancel" button, Laker returns empty.
564
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
# Example 3
# Show a dialog to select one or more cells, with initially-selected
# library named LibA, and cells named CellA, and CellB
lakerGetDesign -type cell -initLib LibA -initCell CellA CellB
# User selects library LibB, cells CellB1, CellB3 and CellB7;
# Laker returns LibB {CellB1 CellB3 CellB7}
# User clicks on "Cancel" button, Laker returns empty.
# Example 4
# Show a dialog to select one or more cells, and also specify new
# cells.
lakerGetDesign -type cell -canNew 1
# User selects library LibB, specify NewA, NewB, and NewC in Text
# field; Laker returns LibB {NewA NewB NewC}
# User clicks on "Cancel" button, Laker returns empty.
# Example 5
# Show a dialog to select one or more views, with initially-selected
# views, named layout, symbol, and abs.
lakerGetDesign -type view -initView layout symbol abs
# User selects views schematic, and logic;
# Laker returns schematic logic
# User clicks on "Cancel" button, Laker returns empty.
# User selects nothing and clicks on "OK" button; Laker returns 0
lakerImportSIF
The lakerImportSIF command imports an SIF format to the Laker
database. The specified library and design (cell) name must be opened.
Syntax
lakerImportSIF -file fileName -lib libName -design
designName [-logFile logErrName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-design designName
Specify the design name.
-file fileName
Specify the file input SIF file.
-lib libName
Specify the library name.
Laker³ Tcl Reference Manual
K-2015.06
565
Chapter 5: Home Page
Miscellaneous
Argument
Description
-logFile logErrName
Specify the file name for the log and error files.
Examples
lakerImportSIF -file test.sif -lib test -design test
lakerIpcHdl
The lakerIpcHdl command invokes an independent Tcl process from Laker.
This command helps you to keep writing data to the process, or to terminate
the invoked Tcl process.
The -error and -end arguments are not ready at current stage. The
procedure defined in -end is not triggled when you submit the terminate
command to the specific IPC number.
At the current stage, the IPC Handler sends a special word, _TERMINATE_, to
the child process if you run lakerIpcHdl command with -terminate option.
To use the -terminate option correctly, you should make your child process
terminated itself if it receives the special word _TERMINATE_.
More than one process can be invoked even if you specify the same read
procedure in the -read option with the lakerIpcHdl command. However,
you have to take charge of handling those messages from various invoked
processes in the read procedure.
Syntax
lakerIpcHdl -opt option {-script tclScriptFile -read
readHdlProc -error errorHdlProc -end endHdlProc | -id
virProcId [-content content]}
lakerIpcHdl -opt option {-cmdLine Executable_Command -read
readHdlProc -error errorHdlProc -end endHdlProc | -id
virProcId [-content content]}
Returns
1 if successful; otherwise, returns 0.
566
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
Arguments
Argument
Description
-cmdLine
Executable_Command
Specify an executable program that can run on UNIX
environment and talk with Laker through IPC protocol.
-content content
Specify the content to be written to an invoked Tcl
process.
-end endHdlProc
Specify the Tcl procedure when terminating a Tcl
process.
-error errorHdlProc
Specify the Tcl procedure when failing to read data from a
Tcl process.
-id virProcId
Specify a virtual process identifier which is written to or
terminated. You can get it from the result value after a Tcl
process is invoked.
-opt option
Specify an action of the Tcl process.
Valid values: invoke, write, and terminate.
where invoke starts a Tcl process; write writes data to
a Tcl process; and terminate ends a Tcl process.
-read readHdlProc
Specify the Tcl process when succeeding to read data
from a Tcl process.
-script tclScriptFile
Specify the Tcl script file which is executed by the invoked
Tcl process.
Examples
# Example 1
# Invoke a Tcl process
lakerIpcHdl -opt invoke -script tcpServer.tcl \
-read IpcReadHdlProc -error IpcErrHdlProc -end IpcEndHdlProc
# Write to a Tcl process
lakerIpcHdl -opt write -id 2222 -content \
{lakerProbeShape -mode net}
# Terminate a Tcl process
lakerIpcHdl -opt terminate -id 2222
Laker³ Tcl Reference Manual
K-2015.06
567
Chapter 5: Home Page
Miscellaneous
# Example 2
# submit a process and communicate with Laker
# through IPC protocol
lakerIpcHdl -opt invoke \
-script $env($COHESION_TOOL_PATH)/scripts/navclient.tcl \
-read ProcessReadHdl -error ProcessErrorHdl -end ProcessEndHdl
# terminate the IPC process
lakerIpcHdl -opt terminate -id $ipcVar(nVirTcpProcessId)
# Example 3
set Global(ecsPort) "-porttosch $porttosch \
-portfromsch $portfromsch"
set Global(ecsCmd) "$Global(ecsCmdPath)/hdsshell
$Global(ecsPort)"
lakerIpcHdl -opt invoke -cmdLine "$Global(ecsCmd)" \
-read ProcessECSReadHdl -error ProcessErrorHdl \
-end ProcessECSEndHdl
lakerLoadNanoScopeFile
The lakerLoadNanoScopeFile command loads the defect and simulation
data generated by NanoScope and shows the defect and simulation objects on
screen.
Syntax
lakerLoadNanoScopeFile -view viewName [-output outputFile]
[-contour contourFile] [-point (x1,y1) (x2,y2)] [quality]
Returns
1 if successful; otherwise, returns 0.
Arguments
568
Argument
Description
-contour contourFile
Specify the output ASCII file from NanoScope, which
contains simulation contours.
-output outputFile
Specify the output ASCII file from NanoScope, which
contains inspected defects.
-point (x1,y1) (x2,y2)
Specify the bounding box of the selected area for
inspecting and contouring.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
Argument
Description
-quality
Specify whether those inspected defects are with qualities
in the specified output file from NanoScope.
-view viewName
Specify the view name to be appended to the cell.
Examples
# Example 1
# Load only output file from NanoScope
lakerLoadNanoScopeFile -view ns_output -output nsOutput.rpt
# Example 2
# Load output file and contour file with a specified area from
# NanoScope
lakerLoadNanoScopeFile -view ns_output -output nsOutput.rpt \
-contour nsContour.rpt -point \
(1698.65,3142.28) (2190.22,3617.98)
# Example 3
# Load output file containing qualities from NanoScope
lakerLoadNanoScopeFile -view quality -output nsOutput.rpt
lakerRegWndCB
The lakerRegWndCB command is an event registered or unregistered for a
specific design window. This command is used for Laker/Composer integration.
When evaluating the specified callback procedure, several global Tcl variables
are provided to keep the information for accessing. They are
_lkWndCBReasonName, _lkWndCBWndName, _lkWndCBLibName,
_lkWndCBCellName, _lkWndCBViewName, _lkWndCBInstList,
_lkWndCBNetList, _lkWndCBScrCoord, _lkWndCBDBCoord,
_lkWndCBObjId, _lkWndCBLibName2, _lkWndCBCellName2,
_lkWndCBViewName2, _lkWndCBHLInstList, and _lkWndCBHLNetList.
Laker³ Tcl Reference Manual
K-2015.06
569
Chapter 5: Home Page
Miscellaneous
570
SelectLayout
V V V V V V V
SelectBrowser
V V V V V V V
MouseMoving
V V V V V
V V
MouseLeftClick
V V V V V
V V
MouseRightClick V V V V V
V V
preSelect
V V V V V
WndEnter
V V V V V
EIP
V V V V V
V V V
Descend
V V V V V
V V V
ReturnTo
V V V V V
V V V
Save
V V V V V
SaveAs
V V V V V
Discard
V V V V V
Load
V V V V V
Highlight
V V V V V
ClearHighlight
V V V V V
_lkWndCBHLNetList
_lkWndCBHLInstList
_lkWndCBViewName2
_lkWndCBCellName2
_lkWndCBLibName2
_lkWndCBObjId
_lkWndCBDBCoord
_lkWndCBScrCoord
_lkWndCBNetList
_lkWndCBInstList
_lkWndCBViewName
_lkWndCBCellName
_lkWndCBLibName
_lkWndCBWndName
CallBack Type
_lkWndCBReasonName
The following table shows the relationship of callback types and global Tcl
variables.
V V V
V V V
V V V
V V
Laker³ Tcl Reference Manual
K-2015.06
WndClose
V V V V V
WndOpen
V V V V V
_lkWndCBHLNetList
_lkWndCBHLInstList
_lkWndCBViewName2
_lkWndCBCellName2
_lkWndCBLibName2
_lkWndCBObjId
_lkWndCBDBCoord
_lkWndCBScrCoord
_lkWndCBNetList
_lkWndCBInstList
_lkWndCBViewName
_lkWndCBCellName
_lkWndCBLibName
_lkWndCBWndName
CallBack Type
_lkWndCBReasonName
Chapter 5: Home Page
Miscellaneous
Syntax
lakerRegWndCB -type typeName -callback procedureName [-wnd
wndName] [-remove]
Returns
1 if successful, otherwise returns 0.
Arguments
Argument
Description
-callback
procedureName
Specify the callback procedure name.
-remove
Unregister the event with the specified callback procedure name.
Laker³ Tcl Reference Manual
K-2015.06
571
Chapter 5: Home Page
Miscellaneous
Argument
Description
-type typeName
Specify the registered or unregistered callback type.
Valid values are listed and explained as follows:
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
-wnd wndName
SelectLayout: Used when the select set in the layout is
changed.
SelectBrowser: Used when the select set in the Design
Browser pane is changed.
MouseMoving: Used for mouse moving in the Layout
window.
MouseLeftClick: Used for left-click in the Layout window.
MouseRightClick: Used for right-click in the Layout
window.
preSelect: Used for pre-selecting the layout in the Layout
window.
WndEnter: Used for mouse entering in the Layout window.
EIP: Used for editing a cell with EIP mode.
Descend: Used for descending a cell in EIP mode.
ReturnTo: Used for returning to the EIP/Descend level.
Save: Used for saving a design with the same name.
SaveAs: Used for saving the design with another name.
Discard: Used for discard editing.
Load: Used for loading another design in the current Layout
window.
Highlight: Used for showing highlights in the layout.
ClearHighlight: Used for clearing highlights in the layout.
WndClose: Used for closing the Design window.
WndOpen: Used for opening the Design window.
Specify the name of the registered or unregistered design
window. The default is the active window, but if the active window
is not the design window, the command fails.
Do not specify this argument when -type WndOpen is
specified.
Examples
# Example 1. Evaluate the callback procedure
# LayoutSelectChange with the following global
# Tcl variables for the SelectLayout event
572
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
proc LayoutSelectChange {} {
global _lkWndCBReasonName
global _lkWndCBWndName
global _lkWndCBLibName
global _lkWndCBCellName
global _lkWndCBViewName
global _lkWndCBInstList
global _lkWndCBNetList
lakerMessage "CallBack Type: $_lkWndCBReasonName
Window:$_lkWndCBWndName Library:$_lkWndCBLibName
Cell:$_lkWndCBCellName View:$_lkWndCBViewName"
lakerMessage "instList: $_lkWndCBInstList\nnetList:
$_lkWndCBNetList"
}
# register the SelectLayout callback event
lakerRegWndCB -type SelectLayout \
-callback LayoutSelectChange -wnd Wnd2
# unregister the SelectLayout callback event
lakerRegWndCB -type SelectLayout -callback LayoutSelectChange \
-wnd Wnd2 -remove
# Example 2. Various Examples for supported callback events.
proc DumpGlobalVar {} {
global _lkWndCBReasonName
global _lkWndCBWndName
global _lkWndCBLibName
global _lkWndCBCellName
global _lkWndCBViewName
lakerMessage "CallBack Type: $_lkWndCBReasonName
Window:$_lkWndCBWndName Library:$_lkWndCBLibName
Cell:$_lkWndCBCellName View:$_lkWndCBViewName"
}
proc EIPLayoutWnd {} {
DumpGlobalVar
# Information of the previous editing cell view
global _lkWndCBLibName2
global _lkWndCBCellName2
global _lkWndCBViewName2
lakerMessage "Old: libName: $_lkWndCBLibName2, cellName:
$_lkWndCBCellName2, viewName: $_lkWndCBViewName2"
}
Laker³ Tcl Reference Manual
K-2015.06
573
Chapter 5: Home Page
Miscellaneous
proc DescendLayoutWnd {} {
DumpGlobalVar
# Information of the previous editing cell view
global _lkWndCBLibName2
global _lkWndCBCellName2
global _lkWndCBViewName2
lakerMessage "Old: libName: $_lkWndCBLibName2, cellName:
$_lkWndCBCellName2, viewName: $_lkWndCBViewName2"
}
proc ReturnToLayoutWnd {} {
DumpGlobalVar
# Information of the previous editing cell view
global _lkWndCBLibName2
global _lkWndCBCellName2
global _lkWndCBViewName2
lakerMessage "Old: libName: $_lkWndCBLibName2, cellName:
$_lkWndCBCellName2, viewName: $_lkWndCBViewName2"
}
proc SaveLayoutWnd {} {
DumpGlobalVar
}
proc SaveAsLayoutWnd {} {
DumpGlobalVar
# Information of the current editing cell view
global
_lkWndCBLibName2
global
_lkWndCBCellName2
global
_lkWndCBViewName2
lakerMessage "Old: libName: $_lkWndCBLibName2, cellName:
$_lkWndCBCellName2, viewName: $_lkWndCBViewName2"
}
proc closeLayoutWnd {} {
DumpGlobalVar
}
proc DiscardLayoutWnd {} {
DumpGlobalVar
}
proc LoadLayoutWnd {} {
DumpGlobalVar
# Information of the previous editing cell view
global
_lkWndCBLibName2
global
_lkWndCBCellName2
global
_lkWndCBViewName2
574
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
lakerMessage "Old: libName: $_lkWndCBLibName2, cellName:
$_lkWndCBCellName2, viewName: $_lkWndCBViewName2"
}
proc selObjsInLayout {} {
DumpGlobalVar
global _lkWndCBWndName
global _lkWndCBInstList
global _lkWndCBNetList
#lakerMessage {Callback Type: SelectLayout|SelectBrowser}
lakerMessage "instList: $_lkWndCBInstList\nnetList:
$_lkWndCBNetList"
}
proc MouseMovingCB {} {
DumpGlobalVar
global _lkWndCBDBCoord
global _lkWndCBScrCoord
lakerMessage "Coordinate: $_lkWndCBDBCoord, coor:
$_lkWndCBScrCoord"
}
proc MouseLeftClickCB {} {
DumpGlobalVar
global _lkWndCBDBCoord
global _lkWndCBScrCoord
lakerMessage "Coordinate: $_lkWndCBDBCoord, coor:
$_lkWndCBScrCoord"
}
proc MouseRightClickCB {} {
DumpGlobalVar
global _lkWndCBDBCoord
global _lkWndCBScrCoord
lakerMessage "Coordinate: $_lkWndCBDBCoord, coor:
$_lkWndCBScrCoord"
}
proc preSelectCB {} {
DumpGlobalVar
global _lkWndCBDBCoord
global _lkWndCBScrCoord
global _lkWndCBObjId
if {$_lkWndCBObjId == "0"} {
lakerMessage "Clear Pre-select data"
} else {
lakerMessage "Pre-select objId: $_lkWndCBObjId"
}
lakerMessage "Coordinate: $_lkWndCBDBCoord, coor:
$_lkWndCBScrCoord"
Laker³ Tcl Reference Manual
K-2015.06
575
Chapter 5: Home Page
Miscellaneous
}
proc enterCB {} {
DumpGlobalVar
}
proc highlightCB {} {
DumpGlobalVar
global _lkWndCBHLInstList
global _lkWndCBHLNetList
lakerMessage "InstList: $_lkWndCBHLInstList NetList:
$_lkWndCBHLNetList"
}
proc clearhighlightCB {} {
DumpGlobalVar
}
proc regSDLCallBack {} {
set cv [leoGetWndCellViewId]
set wndId [lakerGetWndByCV -cv $cv]
set result [lakerRegWndCB -wnd $wndId -type WndClose -callback
closeLayoutWnd]
set result [lakerRegWndCB -wnd $wndId -type EIP -callback
EIPLayoutWnd]
set result [lakerRegWndCB -wnd $wndId -type Descend -callback
DescendLayoutWnd]
set result [lakerRegWndCB -wnd $wndId -type ReturnTo \
-callback ReturnToLayoutWnd]
set result [lakerRegWndCB -wnd $wndId -type Save -callback
SaveLayoutWnd]
set result [lakerRegWndCB -wnd $wndId -type SaveAs -callback
SaveAsLayoutWnd]
set result [lakerRegWndCB -wnd $wndId -type Discard -callback
DiscardLayoutWnd]
set result [lakerRegWndCB -wnd $wndId -type Load -callback
LoadLayoutWnd]
set result [lakerRegWndCB -wnd $wndId -type MouseMoving \
-callback MouseMovingCB]
set result [lakerRegWndCB -wnd $wndId -type MouseLeftClick \
-callback MouseLeftClickCB]
set result [lakerRegWndCB -wnd $wndId -type MouseRightClick \
-callback MouseRightClickCB]
set result [lakerRegWndCB -wnd $wndId -type preSelect \
-callback preSelectCB]
set result [lakerRegWndCB -wnd $wndId -type SelectLayout \
-callback selObjsInLayout]
set result [lakerRegWndCB -wnd $wndId -type SelectBrowser \
-callback selObjsInLayout]
set result [lakerRegWndCB -wnd $wndId -type WndEnter \
576
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
-callback enterCB]
set result [lakerRegWndCB -wnd $wndId -type Highlight \
-callback highlightCB]
set result [lakerRegWndCB -wnd $wndId -type ClearHighlight \
-callback clearhighlightCB]
}
# Example 3. Specify a callback for window opened event
proc OpenLayoutWnd {} {
set logoutFile [open RegWndCB.log a+]
global
global
global
global
global
_lkWndCBReasonName
_lkWndCBWndName
_lkWndCBLibName
_lkWndCBCellName
_lkWndCBViewName
puts $logoutFile "Callback Type: $_lkWndCBReasonName"
puts $logoutFile "Window : $_lkWndCBWndName"
puts $logoutFile "Current: libName: $_lkWndCBLibName, cellName:
$_lkWndCBCellName, viewName: $_lkWndCBViewName"
puts $logoutFile
"========================================================"
close $logoutFile
}
lakerRegWndCB -type WndOpen -callback OpenLayoutWnd
lakerSetDeviceObjMode
The lakerSetDeviceObjMode command sets the device object mode to
treat MCells as regular instances.
Syntax
lakerSetDeviceObjMode [-mode 0|1]
Returns
None
Arguments
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Device Object Mode option.
0 : Disable the Device Object Mode option.
Laker³ Tcl Reference Manual
K-2015.06
577
Chapter 5: Home Page
Miscellaneous
Examples
lakerSetDeviceObjMode -mode 1
See Also
Home Page: Options > Preferences > General tab > Selector > Device
Object Mode
lakerVersion
The lakerVersion command returns the current release information, such
as the current release date and version. The version related information is not
displayed on the Home Page if this command is used in a Tcl script.
Syntax
lakerVersion [-release | -date]
Returns
The information of the current version if successful, otherwise returns an error
message.
Arguments
Argument
Description
-date
Specify the release date of the current version.
-release
Specify the version of the current release.
Examples
# Example 1
lakerVersion
# Return:
# Laker - Toward Custom Layout Automation,
# Release 3.0v6 32-bit (SOLARIS) 04/15/2003
lakerVersion -release
# Return: 3.0v6
lakerVersion -date
# Return: 04/15/2003
578
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
sysGetRcValue
The sysGetRcValue command is used to get the value of the specified
keyword in the laker.rc resource file.
Syntax
sysGetRcValue -section section -key key
Returns
None
Arguments
Argument
Description
-key key
Specify the keyword.
Valid values: InfixEditing, PopUpInformation,
SetColorNameForShapeCreation, and
SetLockForShapeCreation.
-section section
Specify the section name.
Valid value: LeoPreference.
Examples
# Example 1
sysGetRcValue -section LeoPreference -key InfixEditing
# Example 2
sysGetRcValue -section LeoPreference -key PopUpInformation
# Example 3
sysGetRcValue -section LeoPreference \
-key SetColorNameForShapeCreation
# Example 4
sysGetRcValue -section LeoPreference -key SetLockForShapeCreation
sysSetRcValue
The sysSetRcValue command is used to set or modify the value of the
specified keyword in the laker.rc resource file.
You can specify the color and lock in the [LeoPreference] section of the
laker.rc resource file with the following keywords:
Laker³ Tcl Reference Manual
K-2015.06
579
Chapter 5: Home Page
Miscellaneous
SetColorNameForShapeCreation = ColorName
SetLockForShapeCreation = TRUE | FALSE
Syntax
sysSetRcValue -section section -key key -value value
Returns
None
Arguments
Argument
Description
-key key
Specify the keyword.
Valid values: InfixEditing, PopUpInformation,
SetColorNameForShapeCreation, and
SetLockForShapeCreation.
-section section
Specify the section name.
Valid value: LeoPreference.
-value value
Specify the value to be set.
Valid values: true and false for InfixEditing,
PopUpInformation, and SetLockForShapeCreation;
colorName for SetColorNameForShapeCreation, where
colorName can be any string like colorA.
Examples
# Example 1
sysSetRcValue -section LeoPreference -key InfixEditing \
-value true
# Example 2
sysSetRcValue -section LeoPreference -key PopUpInformation \
-value true
# Example 3
sysSetRcValue -section LeoPreference \
-key SetColorNameForShapeCreation -value colorA
# Example 4
sysSetRcValue -section LeoPreference \
-key SetLockForShapeCreation -value FALSE
580
Laker³ Tcl Reference Manual
K-2015.06
Chapter 5: Home Page
Miscellaneous
wtShowLicStatus
The wtShowLicStatus command shows the license status.
When the command is invoked without -feature, the system displays an
Information form showing the Laker_AdvancedNode license status.
Figure 2
Information Form Shows Laker_AdvancedNode License Status
When the command is invoked with -feature, the system displays an
Information form showing the status of the specified license feature.
Figure 3
Information Form Shows Specified License Feature
Syntax
wtShowLicStatus [-feature feature]
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
581
Chapter 5: Home Page
Miscellaneous
Arguments
Argument
Description
-feature feature
Specify the license feature to be checked.
Valid values: Laker_Viewer, Laker_L1, Laker_L2,
Laker_L3, Laker_L4, Laker_FPD_L2, Laker_SE,
Laker_ADP, and Laker_AdvancedNode
(default=Laker_AdvancedNode).
Examples
# Example 1
wtShowLicStatus -feature Laker_L3
# Example 2
wtShowLicStatus -feature Laker_Viewer
582
Laker³ Tcl Reference Manual
K-2015.06
6
6
Library Mapping Editor
This chapter describes the definable Tcl commands to access the Graphical
User Interface (GUI) which applied within the Library Mapping Editor window,
invoked by Library > Mapping Path in the Home Page.
The Tcl commands are explained in the following sections. Tcl commands and
arguments are sorted alphabetically.
■
lakerLME
■
lakerLMEBack2Top
■
lakerLMEClose
■
lakerLMEOpen
■
lakerLMESave
■
lakerLMESaveAs
■
lakerMapPath
lakerLME
The lakerLME command invokes the Library Mapping Editor window and
creates and deletes the mapping record by the specified -purge and buildmap option.
Syntax
lakerLME [-logicName logicName -mapPath mapPath | -purge 0|1
| -buildmap buildmap | -include fileName]
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
583
Chapter 6: Library Mapping Editor
lakerLMEBack2Top
Arguments
Argument
Description
-buildmap buildmap
Build all libraries in the directory into the Library Mapping
Editor (default=current directory).
-include fileName
Include the library mapping file. Specify the file with its full
path.
-logicName logicName
Specify the logic name of the mapping library.
-mapPath mapPath
Specify the mapping library in full path.
-purge 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Clear all mapping paths in the Library Mapping Editor.
0 : Keep all mapping paths in the Library Mapping Editor.
Examples
# Example 1
lakerLME -purge 1
lakerLME -logicName a1 -mapPath /local/test/a1.lib++
lakerLME -logicName demo -mapPath /local/test/demo.lib++
lakerLME -include /local/test/aa.lib
See Also
Library Mapping Editor
lakerLMEBack2Top
lakerLMEClose
lakerLMEOpen
lakerLMESave
lakerLMESaveAs
lakerLMEBack2Top
The lakerLMEBack2Top command returns to the initial state of the library
mapping record.
Syntax
lakerLMEBack2Top
584
Laker³ Tcl Reference Manual
K-2015.06
Chapter 6: Library Mapping Editor
lakerLMEClose
Returns
None
Arguments
None
Examples
None
See Also
Library Mapping Editor: File > Back to Top
lakerLME
lakerLMEClose
lakerLMEOpen
lakerLMESave
lakerLMESaveAs
lakerLMEClose
The lakerLMEClose command closes the Library Mapping Editor window.
Syntax
lakerLMEClose
Returns
None
Arguments
None
Examples
None
See Also
Library Mapping Editor: File > Close
lakerLME
lakerLMEBack2Top
lakerLMEOpen
lakerLMESave
lakerLMESaveAs
Laker³ Tcl Reference Manual
K-2015.06
585
Chapter 6: Library Mapping Editor
lakerLMEOpen
lakerLMEOpen
The lakerLMEOpen command opens an existing library mapping file in the
Library Mapping Editor.
Syntax
lakerLMEOpen -file fileName
Returns
None
Arguments
Argument
Description
-file fileName
Specify the library mapping file with its full path.
Examples
lakerLMEOpen -file /local/test/aa.lib
See Also
Library Mapping Editor: File > Open
lakerLME
lakerLMEBack2Top
lakerLMEClose
lakerLMESave
lakerLMESaveAs
lakerLMESave
The lakerLMESave command saves the library mapping file. If the file does
not exist, save it to the laker.rc file.
Syntax
lakerLMESave [-file fileName]
Returns
None
586
Laker³ Tcl Reference Manual
K-2015.06
Chapter 6: Library Mapping Editor
lakerLMESaveAs
Arguments
Argument
Description
-file fileName
Specify the library mapping file with its full path.
Examples
None
See Also
Library Mapping Editor: File > Save
lakerLME
lakerLMEBack2Top
lakerLMEClose
lakerLMEOpen
lakerLMESaveAs
lakerLMESaveAs
The lakerLMESaveAs command saves the library mapping file with another
file name.
Syntax
lakerLMESaveAs
Returns
None
Arguments
None
Examples
None
See Also
Library Mapping Editor: File > Save As
lakerLME
lakerLMEBack2Top
lakerLMEClose
lakerLMEOpen
lakerLMESave
Laker³ Tcl Reference Manual
K-2015.06
587
Chapter 6: Library Mapping Editor
lakerMapPath
lakerMapPath
The lakerMapPath command creates and deletes the mapping path in the
Library Mapping Editor window by the specified -purge and -buildmap
options.
By specifying the -add and -del options, the lakerMapPath command can
also create and delete the mapping path without invoking the Library Mapping
Editor window.
Syntax
Operations in the GUI:
lakerMapPath [-logicName logicName -mapPath mapPath | -purge
0|1 | -buildmap buildmap]
Add or remove the library definition without invoking the GUI:
lakerMapPath [-add|-del] -logicName logicName [-mapPath
mapPath]
Returns
None
Arguments
588
Argument
Description
-add
If specified, create the library mapping path.
-buildmap buildmap
Build all libraries in the directory into mapping path
window (default=current directory).
-del
If specified, delete the library mapping path.
-logicName logicName
Specify the logic name of the mapping path.
-mapPath mapPath
Specify the library of the mapping path.
-purge 0|1
Clear all mapping paths in the GUI and save the results
to the laker.rc file.
Valid values: Boolean values, 0 and 1 (default=0).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 6: Library Mapping Editor
lakerMapPath
Examples
# Example 1
#clear all mapping paths in the GUI
lakerMapPath -purge 1
# Example 2
# build all libraries in directory (/usr/home/work)
# into mapping path
lakerMapPath -buildmap /usr/home/work
# Example 3
# create a mapping path for library (demoLib) on “/usr/home/work”
lakerMapPath -logicName demoLib -mapPath /usr/home/work/demoLib
# Example 4
# Add a library mapping of library "a1"
lakerMapPath -add -logicName a1 -mapPath /local/test/a1
# Example 5
lakerMapPath -logicName a1 -mapPath /local/test/a1
# Example 6
# Delete a library mapping "a1"
lakerMapPath -del -logicName a1
See Also
Library Mapping Editor
Laker³ Tcl Reference Manual
K-2015.06
589
Chapter 6: Library Mapping Editor
lakerMapPath
590
Laker³ Tcl Reference Manual
K-2015.06
7
Layout Window
7
This chapter describes the definable Tcl commands to access the Graphical
User Interface (GUI) which applied within the Layout window (including the
Schematic Area). In general, each command in these windows has a
corresponding Tcl command for configuration.
The Tcl commands are categorized in the following sections. Tcl commands
and arguments are sorted alphabetically.
■
Cell Commands
■
View Commands
■
Create Commands
■
Edit Commands
■
SDL Commands
■
MCell Commands
■
Options Commands
■
Query Commands
■
EIP Commands
■
Verification Commands
■
Placer Commands
■
Router Commands
■
Window Commands
■
Schematic Commands
■
UDD Commands
■
DFM Commands
Laker³ Tcl Reference Manual
K-2015.06
591
Chapter 7: Layout Window
Cell Commands
■
Selection Commands
■
Highlight Schemes
■
User Entry Functions
■
Miscellaneous
Cell Commands
This section describes the Tcl commands applied to the Cell commands of the
Layout window. These commands include:
■
lakerAssocNet
■
lakerCapture
■
lakerCapturePNG
■
lakerCellPro
■
lakerCheckReference
■
lakerChgmodeDesign
■
lakerCloseDesign
■
lakerDiscardDesign
■
lakerIPMerge
■
lakerLoadDesign
■
lakerOpenDesign
■
lakerPrintDesign
■
lakerSaveDesign
■
lakerSaveAsDesign
■
lakerSummaryDesign
■
lakerSynchronize
lakerAssocNet
The lakerAssocNet command associates nets to top level shapes and
instance ports.
592
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Cell Commands
Syntax
lakerAssocNet -fromView viewName [-rptFile reportFileName]
[-tolerance tolerance] [-overwrite 0|1] -layer
layerMappingList
Returns
None
Arguments
Argument
Description
-fromView
viewName
Specify the view name having “LVS” or “Net Tracer”
connection results.
-layer
layerMappingList
Specify the layer mapping list. Each layer mapping
includes the use flag, the layer name of the LVS stage (this
is needed only when -from View lvs is specified), the
layer number in the From View, the purpose number in the
From View, the layer number in the layout view, and the
purpose number in the layout view. If the use flag is 0, that
means that layer is not processed. Otherwise, if the use
flag is 1, that layer is processed.
-overwrite 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Overwrite the original net names in the layout.
0 : Do not overwrite the original net names in the layout.
-rptFile
reportFileName
Specify the file name of the report file.
-tolerance
tolerance
Specify the tolerance to equivalent layers between
fromView and layout view. The default is 0 micron.
Examples
lakerAssocNet -fromView {lvs} -rptFile ./AssocNet.rpt \
-tolerance 0 -overwrite 1 \
-layer { 0 NSD 1 252 46 252 }
{ 0 PSD 1 26 1 26 } \
{ 1 POLY 2 252 2 252 }
{ 1 MET1 3 252 3 252 }
{ 1 MET2 4 252 4 252 }
\
See Also
Layout Window: Cell > Associate Net
Laker³ Tcl Reference Manual
K-2015.06
593
Chapter 7: Layout Window
Cell Commands
lakerCapture
The lakerCapture command captures the image of the Layout window pane.
Syntax
lakerCapture -footer footercomment -file filename -Inverse
lakerCapture -printer printerName -type printType -copy
copyNumber -orient orientation -paper paperSize [fitpage]
Returns
None
Arguments
Argument
Description
-copy copyNumber
Specify the number of copies.
-file filename
Save the captured image to a file.
-fitpage
Fit the printout to paper size.
-footer footercomment
Specify the footer comment.
-Inverse
Inverse the image color.
-orient orientation
Specify the orientation.
Valid values: Landscape and Portrait.
-paper paperSize
Specify the paper size.
Valid values: Letter, A4, A3, A2, A1, A0, B, C, D, and
E.
-printer printerName
Specify the printer name.
-type printType
Specify the postscript print type.
Valid values: Level1, and Level2.
Examples
# Specify the file name (test.png) and footer (Sheet1)
# and specify to inverse the image color
lakerCapture -footer Sheet1 -file test.png -Inverse
lakerCapture -printer Jupiter -type Level2 -copy 1 \
-orient Landscape -paper D -fitpage
594
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Cell Commands
See Also
Layout Window: Cell > Capture
lakerCapturePNG
The lakerCapturePNG command captures a PNG image.
Syntax
lakerCapturePNG -file filename
Returns
None
Arguments
Argument
Description
-file filename
Save the captured PNG image to a file.
Examples
lakerCapturePNG -file caplamg
See Also
lakerCapture
lakerCellPro
The lakerCellPro command assigns a string (cell property) to a cell view so
that the LefOut process can refer to the string and dump the information to the
CLASS token.
Syntax
lakerCellPro -property {None -attr None | COVER -attr {None
| BUMP} RING -attr None | BLOCK -attr {None | BLACKBOX}
| PAD -attr {None | INPUT | OUTPUT | INOUT | POWER |
SPACER | AREAIO} | CORE -attr {None | FEEDTHRU | TIEHIGH
| TIELOW | SPACER | ANTENNACELL | WELLTAP} | ENDCAP -attr
{PRE | POST | TOPLEFT | TOPRIGHT | BOTTOMLEFT |
BOTTOMRIGHT} | SITE -attr {coresite | User-defined Site}
| ANTENNAINFO -attr {pinName antennaAreaType antennaArea
[layerName]} | SYMMETRY -attr {X|Y|X Y|Any}} -site
siteName
Laker³ Tcl Reference Manual
K-2015.06
595
Chapter 7: Layout Window
Cell Commands
Returns
None
Arguments
Argument
Description
-attr propertyType
Specify the attributes of the property type. If -property
ATTENNAINFO is specified, the ATTENNAINFO
attributes is a list of parameters with this format:
-attr {pinName antennaAreaType
antennaArea [layerName]}
■
■
■
■
pinName: The pin that has the antenna info.
antennaAreaType: The antenna area type. Valid
values: ANTENNADIFFAREA, and
ANTENNAGATEAREA.
antennaArea: The antenna area. Valid values: a
positive floating number. The default is 0.0.
layerName: Layer name. The layer is not specified
by default. When the layer is not specified, the
antenna area applies to all layers.
-property
propertyName
Specify the name of the property type.
Valid values: None, COVER, RING, BLOCK, PAD, CORE,
ENDCAP, SITE, ATTENNAINFO, and SYMMETRY.
-site siteName
Specify the site name.
Valid values: coresite, and any user-defined sites
(default=coresite).
Examples
# Example 1
lakerCellPro -property RING -attr None
# Example 2
lakerCellPro -property CORE -attr WELLTAP
# Example 3
lakerCellPro -property ANTENNAINFO \
-attr {I2 ANTENNADIFFAREA 4.8} {F3 ANTENNAGATEAREA 6.0 MET1}
# Example 4
# Antenna diffusion area in pin A2 has two values 4.0 and 4.8
lakerCellPro -property ANTENNAINFO \
-attr {A2 ANTENNADIFFAREA 4.8} {A2 ANTENNADIFFAREA 4.0}
596
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Cell Commands
See Also
dbCellPro
Layout Window: Cell > Cell Type
lakerCheckReference
The lakerCheckReference command checks whether all used master cell
views exist in the current design hierarchy.
Syntax
lakerCheckReference
Returns
None
Examples
lakerCheckReference
See Also
Layout Window: Cell > Check Reference
lakerChgmodeDesign
The lakerChgmodeDesign command changes the editing mode of the
activated design.
Syntax
lakerChgmodeDesign
Returns
None
Examples
# Change the editing mode of the activated design
lakerChgmodeDesign
See Also
Layout Window: Cell > Change to Edit/ReadOnly Mode
Laker³ Tcl Reference Manual
K-2015.06
597
Chapter 7: Layout Window
Cell Commands
lakerCloseDesign
The lakerCloseDesign command closes the activated design.
Syntax
lakerCloseDesign
Returns
None
Examples
# Example 1
# Close the activated design
lakerCloseDesign
See Also
Layout Window: Cell > Close
lakerDiscardDesign
The lakerDiscardDesign command discards the activated design and
restores the original design.
Syntax
lakerDiscardDesign
Returns
None
Examples
# Discard the activated design and restore the original design
lakerDiscardDesign
See Also
Layout Window: Cell > Discard Edit
lakerIPMerge
The lakerIPMerge command returns 1 if the specified masters can be
searched and replaced.
598
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Cell Commands
Syntax
lakerIPMerge [-logFile 0|1] [-logFileName fileName] [skipEmptyCell 0|1] [-gdsOut 0|1] [-gdsOutFileName
fileName] [-changedMasters masterList]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-changedMasters
masterList
Record the changed masters of the design.
-gdsOut 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Export the merged results to a stream file.
0 : Do not export the merged results to a stream file.
-gdsOutFileName
fileName
Specify the file name for the output stream file.
-logFile 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Save messages to a log file.
0 : Do not save messages to a log file.
-logFileName
fileName
Specify the file name for the log file.
-skipEmptyCell 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Skip empty cells when exporting the merged results.
0 : Keep empty cells when exporting the merged results.
Examples
# Example 1
# Save the results to IPMergeResult.log and export the results to
# the stream file, IPMergeResult.gz
lakerIPMerge -logFile 1 -logFileName IPMergeResult \
-skipEmptyCell 1 -gdsOut 1 -gdsOutFileName IPMergeResult.gz
# Example 2
# Display AND2X1, AND2X2 and AND2X4 in the Master Cell List table
lakerIPMerge -changedMasters {{AND2X1 s1423_lef AND2X1} \
{AND2X2 s1423_lef AND2X2} {AND2X4 s1423_lef AND2X4}}
Laker³ Tcl Reference Manual
K-2015.06
599
Chapter 7: Layout Window
Cell Commands
See Also
Layout Window: Cell > IP Merge
lakerLoadDesign
The lakerLoadDesign command returns 1 if the design data (with the
specified file path and opening mode) can be loaded into the current layout
window.
Syntax
lakerLoadDesign -lib libName -cell cellName [-mode mode] [view viewName] [-restorenum restoreNum]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
Specify the cell to be opened.
-lib libName
Specify the library database.
-mode mode
Specify an opening mode.
Valid values: edit and readOnly (default=edit).
-view viewName
Specify the view type of the opened cell.
Valid values: layout, abs, and schematic
(default=layout).
-restorenum
restoreNum
Restore the backup database (default=-1).
Examples
# Example 1
# Load the layout view of cell (ram) in the library (ram)
lakerLoadDesign -lib ram -cell ram -mode edit
# Example 2
# Load the previous version of layout view of cell (ram)
# in the library (ram)
lakerLoadDesign -lib ram -cell ram -mode edit -restorenum 1
600
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Cell Commands
See Also
Layout Window: Cell > Load
lakerOpenDesign
Refer to the lakerOpenDesign command in the Home Page: File Commands
section for more details.
lakerPrintDesign
The lakerPrintDesign command prints the layout design.
Syntax
lakerPrintDesign [-printerName printerName] [-orient
orientation] [-paperSize paperSize] [-copy printCopy] [color printColor] [-toFile printToFile] [-fileName
fileName] [-header paperHeader] [-footer paperFooter] [magni magnification] [-view viewName] [-layerPattern 0|1]
[-ruler 0|1] [-type Type] [-filter filterValue]
Returns
None
Arguments
Argument
Description
-color printColor
Set the output format in color.
-copy printCopy
Specify the number of copies (default=1).
-fileName fileName
Specify the output file.
Laker³ Tcl Reference Manual
K-2015.06
601
Chapter 7: Layout Window
Cell Commands
Argument
Description
-filter filterValue
Specify the print quality.
Valid values: -1, 0, and 1 (default=0).
-1 : Print at the highest resolution. This is not
recommended for layouts with an extremely large
scale because this prints all layout objects (no layout
objects are filtered) in the printout.
0 : Print at a moderate resolution. This can slow
down the printing process, and some layout objects
might be filtered.
1 : Print at a lower resolution in a short time.
-footer paperFooter
Print the footer string.
-header paperHeader
Print the header string.
-layerPattern 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Print the layer patterns.
0 : Do not print the layer patterns.
-magni magnification
View size is printed compared with a real chip size.
Valid value: a positive floating number (default=1.0).
-orient orientation
Specify the paper orientation.
Valid values: Portrait and Landscape
(default=Landscape).
-paperSize paperSize
Specify the paper size.
Valid values: Letter, Legal, A4, A3, A2, A1, A0, B,
C, D, E, and User-defined (default=A4).
-printerName printerName Specify the printer name.
602
-ruler 0|1
Print the ruler lines.
Valid values: Boolean values, 0 and 1 (default=1).
-toFile printToFile
Set the output to file or printer.
-type Type
Specify the print file type.
Valid values: PS2, PS1, and GL2 (default=PS2).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Cell Commands
Argument
Description
-view viewName
Print the whole chip or screen area.
Valid values: screen, and cell
(default=cell).screen : Print the viewing area on
screen (a part of the cell view).
cell : Print the full cell view (the whole chip).
Examples
# Example 1
lakerPrintDesign -paper A4 -header "%L, %C, %M, %T, %H" \
-footer "%U" -file "Auto.ps" -type GL2 \
-filter 0 -view screen
# Example 2
lakerPrintDesign -orient portrait -paper Letter \
-file “32v3.ps” -type PS2 -filter -1
See Also
Layout Window: Cell > Print Layout
Layout Window: Cell > Print Schematic
lakerSaveDesign
The lakerSaveDesign command saves the activated design to the
database.
Syntax
lakerSaveDesign [-autosave]
Returns
None
Arguments
Argument
Description
-autosave
Create the autosave file.
Examples
# Example 1
# save the activated design to database
lakerSaveDesign
Laker³ Tcl Reference Manual
K-2015.06
603
Chapter 7: Layout Window
Cell Commands
# Example 2
# save the activated design to an autosave file
lakerSaveDesign -autosave
tclExec “cp ./A.lib++/a/layout.autosave .”
See Also
Layout Window: Cell > Save
lakerSaveAsDesign
The lakerSaveAsDesign command saves the activated design to another
cell.
Syntax
lakerSaveAsDesign -cell cellName [-lib libName] [IgnoreLogicSchematicView 0|1] [-SavemaskLayoutOnly 0|1]
Returns
None
Arguments
Argument
Description
-cell cellName
Specify the cell to be saved.
Valid values: Boolean values, 0 and 1 (default=0).
IgnoreLogicSchematicView 1 : Enable the Ignore Logic/Schematic Views
0|1
option.
0 : Disable the Ignore Logic/Schematic Views
option.
604
-lib libName
Specify the library database (default=the current
library).
-SavemaskLayoutOnly 0|1
Valid values: Boolean values, 0 and 1.
1 : Do not save the logic and schematic views of the
selected cell.
0 : Save the selected cell with all of its existing
views.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Cell Commands
Examples
# Example 1
# Save the activated design to another cell (demo)
# in the library (demo)
lakerSaveAsDesign -lib demo -cell demo
# Example 2
# Save the activated design to another cell (demo) in the
# library (demo)
# without logic/schematic views
lakerSaveAsDesign -lib demo -cell demo \
-IgnoreLogicSchematicView 1
See Also
dbSaveCV
Layout Window: Cell > Save As
lakerSummaryDesign
The lakerSummaryDesign command displays the summary of the design.
Syntax
lakerSummaryDesign [-mode modeName [-level levelNum]] [logFile logFileName]
Returns
None
Arguments
Argument
Description
-level levelNum
Specify the design hierarchy level.
Valid value: an integer, from 0 to 49 (default=0).
-logFile logFileName
Specify the summary file in ASCII format.
-mode modeName
Specify the mode to be used to get the summary.
Valid values: full and select (default=full).
Examples
# Example 1
# summary for default mode (full) and default level (0)
lakerSummaryDesign
Laker³ Tcl Reference Manual
K-2015.06
605
Chapter 7: Layout Window
View Commands
# Example 2
# summary for default mode (full) and maximum level (49)
lakerSummaryDesign -mode full -level 49
# Example 3
lakerSummaryDesign -mode select
# Example 4
lakerSummaryDesign -logFile /tmp/Laker/summary.log
See Also
Layout Window: Cell > Summary
lakerSynchronize
The lakerSynchronize command synchronizes and updates the cell view
content in several processes if any of the cell views opened in several
processes are modified.
Syntax
lakerSynchronize
Returns
None
Examples
# Reload data from database
lakerSynchronize
See Also
Layout Window: Cell > Synchronize
View Commands
This section describes the Tcl commands applied to the View commands of the
Layout window. These commands includes:
606
■
lakerBackwardView
■
lakerDelAllAreaDsp
■
lakerDelAreaDsp
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
■
lakerFitSelObj
■
lakerForwardView
■
lakerLastView
■
lakerMaxViewLevel
■
lakerMinViewLevel
■
lakerPanDown
■
lakerPanLeft
■
lakerPanRight
■
lakerPanUp
■
lakerPanXY
■
lakerRedraw
■
lakerSetAbsMode
■
lakerSetAreaDsp
■
lakerSetBothViewMode
■
lakerSetLayoutMode
■
lakerViewInsAbs
■
lakerViewInsLayout
■
lakerViewInsNormal
■
lakerViewLevel
■
lakerViewLevelDec
■
lakerViewLevelInc
■
lakerViewMark
■
lakerViewPinLabelNet
■
lakerViewPinLabelOff
■
lakerViewPinLabelPort
■
lakerViewTopSysPin
■
lakerZoomAll
■
lakerZoomIn
Laker³ Tcl Reference Manual
K-2015.06
607
Chapter 7: Layout Window
View Commands
■
lakerZoomInByArea
■
lakerZoomOut
lakerBackwardView
The lakerBackwardView command changes to the previous view.
Syntax
lakerBackwardView
Returns
None
Examples
# Example 1
# Change to the previous view
lakerBackwardView
See Also
Layout Window: View > Cycle Last View > Backward View
lakerDelAllAreaDsp
The lakerDelAllAreaDsp command deletes all area displays.
Syntax
lakerDelAllAreaDsp
Returns
None
Examples
# Example 1
# Clean all area displays
lakerDelAllAreaDsp
See Also
Layout Window: View > Area Display > Delete All Areas
608
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
lakerDelAreaDsp
The lakerDelAreaDsp command deletes the area display at the specified
point.
Syntax
lakerDelAreaDsp -point (x0,y0)
Returns
None
Arguments
Argument
Description
-point (x0,y0)
x0 specifies a position value for the x coordinate point while
y0 specifies the value for the y coordinate point.
Examples
# Example 1
# Remove the area display on point (100,100)
lakerDelAreaDsp -point (100,100)
See Also
Layout Window: View > Area Display > Delete Area Display
lakerFitSelObj
The lakerFitSelObj command zooms in the view area to the bounding box
of the selected objects.
Syntax
lakerFitSelObj
Returns
None
Examples
# Example 1
# Zoom in the view area to the bounding box of the selected objects
lakerFitSelObj
Laker³ Tcl Reference Manual
K-2015.06
609
Chapter 7: Layout Window
View Commands
See Also
Layout Window: View > Fit Selected Obj
lakerForwardView
The lakerForwardView command changes to the next view.
Syntax
lakerForwardView
Returns
None
Examples
# Example 1
# Change to the next view
lakerForwardView
See Also
Layout Window: View > Cycle Last View > Forward View
lakerLastView
The lakerLastView command changes the current view area to the last view
area.
Syntax
lakerLastView
Returns
None
Examples
# Example 1
# Switch to the last view area
lakerLastView
See Also
Layout Window: View > Last View
610
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
lakerMaxViewLevel
The lakerMaxViewLevel command sets the view level to maximum (49) to
view all levels of hierarchial design.
Syntax
lakerMaxViewLevel
Returns
None
Examples
# Example 1
# Set the view level to 49
lakerMaxViewLevel
See Also
Layout Window: View > View Level > Max View Level
lakerMinViewLevel
The lakerMinViewLevel command sets the view level to the minimum (0) to
view the top level of hierarchial design.
Syntax
lakerMinViewLevel
Returns
None
Examples
# Example 1
# Set the view level to 0
lakerMinViewLevel
See Also
Layout Window: View > View Level > Min View Level
Laker³ Tcl Reference Manual
K-2015.06
611
Chapter 7: Layout Window
View Commands
lakerPanDown
By following the specified ratio, the lakerPanDown command pans the current
view area downward the current window or the view box boundary.
Syntax
lakerPanDown [-ratio ratio]
Returns
None
Arguments
Argument
Description
-ratio ratio
Specify the size of the scrolled view box (default=2).
0: Scroll to the bottom of the view box boundary.
n: 1/n of the view box for each scrolled size.
Examples
# Example 1
# Pan 1/4 down of current view area to the current window
lakerPanDown -ratio 4
# Example 2
# Pan to the bottom of the view box boundary
lakerPanDown -ratio 0
See Also
Layout Window: View > Pan
lakerPanLeft
By following the specified ratio, the lakerPanLeft command pans the current
view area to the left of the current window or the view box boundary.
Syntax
lakerPanLeft [-ratio ratio]
Returns
None
612
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
Arguments
Argument
Description
-ratio ratio
Specify the size of the scrolled view box (default=2).
0: Scroll to the bottom of the view box boundary.
n: 1/n of the view box for each scrolled size.
Examples
# Example 1
# Pan 1/4 left of current view area to the current window
lakerPanLeft -ratio 4
# Example 2
# Pan to the left of the view box boundary
lakerPanLeft -ratio 0
See Also
Layout Window: View > Pan
lakerPanRight
By following the specified ratio, the lakerPanRight command pans the
current view area to the right of the current window or the view box boundary.
Syntax
lakerPanRight [-ratio ratio]
Returns
None
Arguments
Argument
Description
-ratio ratio
Specify the size of the scrolled view box (default=2).
0: Scroll to the bottom of the view box boundary.
n: 1/n of the view box for each scrolled size.
Examples
# Example 1
# Pan 1/4 right of current view area to the current window
lakerPanRight -ratio 4
Laker³ Tcl Reference Manual
K-2015.06
613
Chapter 7: Layout Window
View Commands
# Example 2
# Pan to the right of the view box boundary
lakerPanRight -ratio 0
See Also
Layout Window: View > Pan
lakerPanUp
By following the specified ratio, the lakerPanUp command pans the current
view area upward the current window or the view box boundary.
Syntax
lakerPanUp [-ratio ratio]
Returns
None
Arguments
Argument
Description
-ratio ratio
Specify the size of the scrolled view box (default=2).
0: Scroll to the top of the view box boundary.
n: 1/n of the view box for each scrolled size.
Examples
# Example 1
# Pan 1/4 up of current view area to the current window
lakerPanUp -ratio 4
# Example 2
# Pan to the top of the view box boundary
lakerPanUp -ratio 0
See Also
Layout Window: View > Pan
lakerPanXY
The lakerPanXY command pans the current view area to the specified point
or place a mark on the specified point.
614
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
Syntax
lakerPanXY [-load loadFile | -save saveFile | -disall 0|1 |
-delall 0|1 | -changeall 0|1 | -point (x0,y0) [-mark 0|1]
[-delmark 0|1] [-dismark 0|1] [-zoomsize zoomSize] [snapcursor 0|1] ]
Returns
None
Arguments
Argument
Description
-changeall 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable all marks.
0 : Disable all marks.
-delall 0|1
Valid values: Boolean values, 0 and 1.
1 : Delete all marks.
0 : Keep all marks.
-delmark 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Delete the mark.
0 : Keep the mark.
-disall 0|1
Valid values: Boolean values, 0 and 1.
1 : Disable all marks.
0 : Enable all marks.
-dismark 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Disable the mark.
0 : Enable the mark.
-load loadFile
Load mark data from file.
-mark 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Set the mark.
0 : Do not set the mark.
-point (x0,y0)
x0 specifies a position value for the x coordinate point
while y0 specifies the value for the y coordinate point.
-save saveFile
Save mark data to file.
Laker³ Tcl Reference Manual
K-2015.06
615
Chapter 7: Layout Window
View Commands
Argument
Description
-snapcursor 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Snap the cursor to the desired point.
0 : Do not snap the cursor to the desired point.
-zoomsize zoomSize
Zoom in to the specified scale.
Valid value: an integer.
Examples
# Example 1
# Load a mark data from demofile.mark
lakerPanXY -load demofile.mark
# Example 2
# Save the current mark data to demofile.mark
lakerPanXY -save demofile.mark
# Example 3
# Disable all marks
lakerPanXY -disall 1
# Example 4
# Delete all marks
lakerPanXY -changeall 1
# Example 5
# Place a mark on point (100,100)
lakerPanXY -point (100,100) -mark 1
# Example 6
# Disable the mark of point (100,100)
lakerPanXY -point (100,100) -dismark 1
# Example 7
# Delete the mark of point (100,100)
lakerPanXY -point (100,100) -delmark 1
# Example 8
# Pan to the point (100,100) and
# change its view box as (95,95) (105,105)
lakerPanXY -point (100,100) -zoomsize 5
# Example 9
# Set the desired point (-3.615,2.77) and snap cursor to this point
lakerPanXY -point (-3.615,2.77) -snapcursor 1
See Also
Layout Window: View > Pan
616
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
lakerRedraw
The lakerRedraw command redraws the current viewing area.
Syntax
lakerRedraw
Returns
None
Examples
# Redraw the current viewing area
lakerRedraw
See Also
Layout Window: View > Redraw
lakerSetAbsMode
The lakerSetAbsMode command sets the viewing mode of the Layout
window to the Abstract Mode.
Syntax
lakerSetAbsMode
Returns
None
Examples
lakerSetAbsMode
See Also
Layout Window: View > View Mode > Abstract View
lakerSetAreaDsp
The lakerSetAreaDsp command sets the area display bounding box and its
view level.
Laker³ Tcl Reference Manual
K-2015.06
617
Chapter 7: Layout Window
View Commands
Syntax
lakerSetAreaDsp -lowerLeft (x0,y0) -upperRight (x1,y1) [StartViewLevel StartViewLevel] [-ViewLevel ViewLevel]
Returns
None
Arguments
Argument
Description
-lowerLeft (x0,y0)
x0 specifies a position value for the x coordinate point
while y0 specifies the value for the y coordinate point.
-StartViewLevel
StartViewLevel
Start of the view level in this area.
Valid value: an integer (default=0).
-upperRight (x1,y1)
x1 specifies a position value for the x coordinate point
while y1 specifies the value for the y coordinate point.
-ViewLevel
ViewLevel
End of the hierarchical view level in this area.
Valid value: an integer (default=49).
The range of the maximum hierarchical view level is
from 0 to 49. The maximum non-negative integer value
is 49.
Examples
# set the area display on area (100,100) (110,110)
# and its view level from 0 to 49
lakerSetAreaDsp -lowerLeft (100,100) -upperRight (110,110)
-StartViewLevel 0 -ViewLevel 10
See Also
Layout Window: View > Area Display > Set Area Display
lakerSetBothViewMode
The lakerSetBothViewMode command sets the viewing mode of the layout
window to the Layout and Abstract Mode.
Syntax
lakerSetBothViewMode
618
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
Returns
None
Examples
lakerSetBothViewMode
See Also
Layout Window: View > View Mode > Both View
lakerSetLayoutMode
The lakerSetLayoutMode command sets the viewing mode of the layout
window to the Layout Mode.
Syntax
lakerSetLayoutMode
Returns
None
Examples
lakerSetLayoutMode
See Also
lakerOpenDesign
lakerChgmodeDesign
Layout Window: View > View Mode > Layout Mode
lakerViewInsAbs
The lakerViewInsAbs command sets the view type of the selected instance
to the abstract view.
Syntax
lakerViewInsAbs
Returns
None
Examples
lakerViewInsAbs
Laker³ Tcl Reference Manual
K-2015.06
619
Chapter 7: Layout Window
View Commands
See Also
Layout Window: View > View Instance > Abstract View
lakerViewInsLayout
The lakerViewInsLayout command sets the view type of the selected
instance to the layout view.
Syntax
lakerViewInsLayout
Returns
None
Examples
lakerViewInsLayout
See Also
Layout Window: View > View Instance > Layout View
lakerViewInsNormal
The lakerViewInsNormal command sets the view type of the selected
instance to the original view.
Syntax
lakerViewInsNormal
Returns
None
Examples
lakerViewInsNormal
See Also
Layout Window: View > View Instance > Normal
620
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
lakerViewLevel
The lakerViewLevel command sets the view level by following the specified
value.
Syntax
lakerViewLevel -level level [-startlevel startlevel]
Returns
None
Arguments
Argument
Description
-level level
Specify the value of the view level.
Valid value: an integer.
-startlevel startlevel
Specify the starting value of the view level.
Valid value: an integer (default=0).
Examples
# Example 1
# Set the view level from 0 to 5
lakerViewLevel -startlevel 0 -level 5
See Also
Layout Window: View > View Level > View Level
lakerViewLevelDec
The lakerViewLevelDec command decreases the view level in the
hierarchial design by one.
Syntax
lakerViewLevelDec
Returns
None
Examples
# Example 1
# Decrease on current view level
lakerViewLevelDec
Laker³ Tcl Reference Manual
K-2015.06
621
Chapter 7: Layout Window
View Commands
See Also
Layout Window: View > View Level > View Level-1
lakerViewLevelInc
The lakerViewLevelInc command increases the view level in the
hierarchial design by one.
Syntax
lakerViewLevelInc
Returns
None
Examples
# Example 1
# Increase one current view level
lakerViewLevelInc
See Also
Layout Window: View > View Level > View Level+1
lakerViewMark
The lakerViewMark command records the specified viewing area to a *.mark
file.
Syntax
lakerViewMark [ -load loadFile | -save saveFile | -del
delitem | -delall 0|1 | -point (x1,y1)(x2,y2) [ -view 0|1
| -addkey keystr]]
Returns
None
Arguments
622
Argument
Description
-load loadFile
Load the view mark data from a file.
-save saveFile
Save the view mark data to a file.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
Argument
Description
-delall 0|1
Valid values: Boolean values, 0 and 1.
1 : Delete all view marks.
0 : Keep all view marks.
-del delItem
Delete the view mark.
-point (x1,y1) (x2,y2)
(x1,y1) specifies the lower left point of the viewing
area while (x2,y2) specifies the upper right point.
-view 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the zoom area.
0 : Disable the zoom area.
-addkey keystr
Add the viewing area and keystr as its comment.
Examples
# Example 1
# Load the view marks from the demo.mark file
lakerViewMark -load demo.mark
# Example 2
# Save the current view marks to the demo.mark file
lakerViewMark -save demo.mark
# Example 3
# Delete all marks
lakerViewMark -delall 1
# Example 4
# Delete the “View_area1” view mark
lakerViewMark -del View_area1
# Example 5
# Add to “View_area1” view area (0,0)(100,100) to view mark notes
lakerViewMark -point (0,0)(100,100) -addkey “View_area1”
# Example 6
# Zoom to the (0,0)(100,100) area
lakerViewMark -point (0,0)(100,100) -view 1
See Also
Layout Window: View > View Mark
Laker³ Tcl Reference Manual
K-2015.06
623
Chapter 7: Layout Window
View Commands
lakerViewPinLabelNet
The lakerViewPinLabelNet command sets the display mode of pin labels
to Net Name.
Syntax
lakerViewPinLabelNet
Returns
None
Arguments
None
Examples
lakerViewPinLabelNet
See Also
Layout Window: View > View Pin > View Pin Label > Net Name
lakerViewPinLabelOff
The lakerViewPinLabelOff command sets the display mode of pin labels
to Off.
Syntax
lakerViewPinLabelOff
Returns
None
Arguments
None
Examples
lakerViewPinLabelOff
See Also
Layout Window: View > View Pin > View Pin Label > Off
624
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
lakerViewPinLabelPort
The lakerViewPinLabelPort command sets the display mode of pin labels
to Port Name.
Syntax
lakerViewPinLabelPort
Returns
None
Arguments
None
Examples
lakerViewPinLabelPort
See Also
Layout Window: View > View Pin > View Pin Label > Port Name
lakerViewTopSysPin
The lakerViewTopSysPin command sets the display mode of top system
pins in the layout.
Syntax
lakerViewTopSysPin [-mode 0|1]
Returns
None
Arguments
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show top system pins.
0 : Hide top system pins.
Examples
lakerViewTopSysPin
Laker³ Tcl Reference Manual
K-2015.06
625
Chapter 7: Layout Window
View Commands
See Also
Layout Window: View > View Pin > View Top System Pin
lakerZoomAll
The lakerZoomAll command fits the current design in the layout window.
Syntax
lakerZoomAll
Returns
None
Examples
# Example 1
# Fit the current design in the layout window
lakerZoomAll
See Also
Layout Window: View > Zoom All
lakerZoomIn
The lakerZoomIn command zooms in the view area by 1/2 of the active
layout window.
Syntax
lakerZoomIn [-ratio ratio]
Returns
None
Arguments
626
Argument
Description
-ratio ratio
Specify a value to determine the size of the view area. When
specified, the view area is zoomed in by 1/<value> of the
active layout window.
Valid value: a positive integer, greater than or equal to 2.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
View Commands
Examples
# Example 1
# Zoom in the view area by 1/2 of the active layout window
lakerZoomIn
See Also
Layout Window: View > Zoom In
lakerZoomInByArea
The lakerZoomInByArea command zooms to a desired viewing area by
specifying an area in the active layout window.
Syntax
lakerZoomInByArea -point (x1,y1) (x2,y2) [-refTop level]
Returns
None
Arguments
Argument
Description
-point
(x1,y1) (x2,y2)
(x1,y1) specifies the lower left point of the zoomIn area
while (x2,y2) specifies the upper right point.
-refTop level
Specify the design hierarchy level to be referenced.
Valid value: an integer, 0-49 (default=0).
This argument only takes effect in the EIP (Descend)
mode. It automatically transforms the input cooridinate
based on the specified hierarchy level.
Examples
# Example 1
# Zoom to the desired viewing area (100,100) (200,200)
lakerZoomInByArea -point (100,100) (200,200)
# Example 2
lakerZoomInByArea -point (100,100) (200,200) -refTop 2
See Also
Layout Window: View > Area Zoom
Laker³ Tcl Reference Manual
K-2015.06
627
Chapter 7: Layout Window
Create Commands
lakerZoomOut
The lakerZoomOut command zooms out the view area by 1/2 of the active
layout window.
Syntax
lakerZoomOut [-ratio ratio]
Returns
None
Arguments
Argument
Description
-ratio ratio
Specify a value to determine the size of the view area. When
specified, the view area is zoomed out by 1/<value> of the
active layout window.
Valid value: a positive integer, greater than or equal to 2.
Examples
# Example 1
# Zoom out the view area by 1/2 of the active layout window
lakerZoomOut
See Also
Layout Window: View > Zoom Out
Create Commands
This section describes the Tcl commands applied to the Create commands of
the Layout window. These commands include:
628
■
lakerCreateBus
■
lakerCreateCapacitor
■
lakerCreateCircle
■
lakerCreateContact
■
lakerCreateDoughnut
■
lakerCreateEllipse
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
■
lakerCreateFinRegion
■
lakerCreateGuardRing
■
lakerCreateInstance
■
lakerCreateMetalSlot
■
lakerCreatePath
■
lakerCreatePickedDevice
■
lakerCreatePin
■
lakerCreatePoly
■
lakerCreateRect
■
lakerCreateResistor
■
lakerCreateStackedPath
■
lakerCreateText
■
lakerCreateTransistor
■
lakerDimensionMark
■
lakerGenText
■
lakerRulerLabel
lakerCreateBus
The lakerCreateBus command draw a bus.
Syntax
lakerCreateBus -point point (x0,y0)...(xn,yn) -style
pathStyle -pattern {number {{width [layer purpose]
colorName 0|1} ...} {spacing ...} }
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
629
Chapter 7: Layout Window
Create Commands
Arguments
Argument
Description
-pattern {number
{{width [layer purpose]
{colorName 0|1}} ...}
{spacing ...} }
Specify the number of buses and the repeated pattern of
the layer (width), color attributes, and spacing as follows:
■
■
■
■
■
■
■
number: Specifies the number of buses.
width: Specifies the width of the drawing path.
layer: Specifies the layer of the drawing path
(default=current).
purpose: Specifies the purpose of the layer
(default=drawing).
colorName: Specifies the color of the shape.
0|1: Specifies the shape’s lock status.
spacing: Specifies the spacing between paths.
-point point
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the point array
while y0...yn specify the y coordinate.
-style pathStyle
Specify the path style.
Valid values: Truncate, Extend, Round, and
Variable -beginExt value -endExt value
(default=Truncate).
Examples
# Example 1
lakerCreateBus -point \
(-11.705,11.26) (-2.535,11.26) (-2.535,7.035)\
-style Extend -pattern \
{10 {0.1 {0.1 OD} {0.5 MET1 drawing} {0.2 VIA2} 0.3} {0.1 0.2 0.5}}
# Example 2
lakerCreateBus -point (0.185,1.01) (7.56,1.01) \
(7.56,7.56) (12.67,7.56) -pattern \
{10 {0.1 {0.1 OD} {0.5 MET1 drawing} {0.2 VIA2} 0.3} {0.1 0.2 0.5}}
See Also
Layout Window: Create > Bus
lakerCreateCapacitor
The lakerCreateCapacitor command returns a dbFigId if the specified
capacitor can be created.
630
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Syntax
lakerCreateCapacitor -device deviceName -point (x0,y0) value value [-contType contType [-metEncCo metEncCo metWidth metWidth -unitDist unitDist]] [-inst instName]
[-orient orientation] [-magni magnification] [-pattern
pattern] [-cutDist cutDist] [-originOffset xOffset
yOffset] [-dummyCapValue dummyCapValue] [-xRepeat
xRepeat] [-yRepeat yRepeat] [-unitSpaceX unitSpaceX] [unitSpaceY unitSpaceY] [-unitValue unitValue] [unitWidth unitWidth] [-useMaskResolution 0|1] [-xCoSpace
spacing_in_x_direction] [-yCoSpace
spacing_in_y_direction]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument
Description
-contactMode
contact_mode
Specify the contact mode.
Valid values: normal, and cross (default=normal).
-contType contType
Specify the contact type.
Valid values: maximum or contactArray
(default=maximum).
maximum : Insert a maximum number of
contacts.contactArray : Insert a contact array with
the number of columns and rows, such as
contactArray [column_number]
[row_number]. This is only valid for square-type
capacitors.
-cutDist cutDist
Cut distance for capacitor corners.
Valid value: a positive floating number (default=0.0).
-device deviceName
Specify the name of capacitor devices.
-dummyCapValue
dummyCapValue
Specify the capacitance (in pF) of dummy capacitors.
-inst instName
Specify the instance name (default=system-assigned).
-magni magnification
View size is printed compared with a real chip size.
Valid value: a positive floating number (default=1.0).
Laker³ Tcl Reference Manual
K-2015.06
631
Chapter 7: Layout Window
Create Commands
Argument
Description
-metEncCo metEncCo Specify the enclosure distance between the metal and
contact layers (for Cross contact mode only).
632
-metWidth metWidth
Specify the width of Metal layer shapes that connect
cross type contacts (for Cross contact mode only).
-orient orientation
Specify the orientation of capacitors.
Valid values: R0, R90, R180, R270, MXR0, MXR90, MYR0,
and MYR90 (default=R0).
-originOffset
xOffset yOffset
xOffset is the offset value from the point x0 while
yOffset is the offset value from the point y0.
The origin of MCell instances is calculated by
(x0+xOffset, y0+yOffset).
-pattern pattern
Specify the capacitor pattern.
Valid values: patternA, patternB, patternC, and
patternD (default=patternA).
-point (x0,y0)
x0 specifies a position value for the x coordinate point
while y0 specifies the value for the y coordinate point.
-unitDist unitDist
Specify the unit distance of the cross contact array
structure (for Cross contact mode only).
-unitSpaceX
unitSpaceX
Specify the horizontal spacing between unit capacitors.
Valid value: a positive floating number.
-unitSpaceY
unitSpaceY
Specify the vertical spacing between unit capacitors.
Valid value: a positive floating number.
-unitValue
unitValue
Specify the unit capacitance in pF.
Valid value: a positive floating number.
-unitWidth
unitWidth
Specify the width (in microns) of unit capacitors.
Valid value: a positive floating number.
-useMaskResolution
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Use the Mask/General resolution.
0 : Use the MCell resolution.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-value value
Specify the capacitor value. The equation is defined in
the technology file.
Valid value: a positive floating number.
-width width
Specify the width of capacitors.
-xCoSpace
Specify the contact spacing in X direction when the
contact type is contactArray or maximum. The
spacing_in_x_direction spacing_in_x_direction is in user units.
-xRepeat xRepeat
Specify the number of capacitors in x-direction.
Valid value: a positive integer.
-yCoSpace
Specify the contact spacing in Y direction when the
contact type is contactArray or maximum. The
spacing_in_y_direction spacing_in_y_direction is in user units.
-yRepeat yRepeat
Specify the number of capacitors in y-direction.
Valid value: a positive integer.
Examples
# Example 1
# The origin of this capacitor is (23.76,-11.41)
lakerCreateCapacitor -point (23.26,-11.91) \
-originOffset 0.5 0.5 -device PCAP -value 100.0 \
-metEncCo 0.8 -unitDist 5.0 -metWidth 1.2 -pattern patternB
# Example 2
# Create 2x1 unit capacitors with dummy capacitors. Each unit is
# 1.0pF, distance between units is 1 micron and dummy is 0.5pF.
lakerCreateCapacitor -point (147.3,-146.725) -device PCAP \
-metEncCo 0.35 -unitDist 2.000000 -metWidth 0.5 \
-pattern patternA -xRepeat 2 -yRepeat 1 -unitValue 1.0 \
-unitSpaceX 1.0 -unitSpaceY 1.0 -dummyCapValue 0.5
# Example 3
# Same as Example 2 but no dummy capacitors
lakerCreateCapacitor -point (147.3,-146.725) -device PCAP \
-metEncCo 0.35 -unitDist 2.000000 -metWidth 0.5 \
-pattern patternA -xRepeat 2 -yRepeat 1 -unitValue 1.0 \
-unitSpaceX 1.0 -unitSpaceY 1.0
Laker³ Tcl Reference Manual
K-2015.06
633
Chapter 7: Layout Window
Create Commands
# Example 4
# Create an PCAP capacitor with patternA type, and which
# has 10x10 contacts with spacing in X direction 1.0 and spacing
# in Y direction 1.5 on CAP1 layer. The spacing of contacts on CAP2
# layer is the maximum of spacing_in_x_direction and spacing
# in_y_direction.
lakerCreateCapacitor -point (-2.62,-9.64) -useMaskResolution 0 \
-device PCAP -value 36.903320 -width 10.000000 -cutDist 1.0 \
-metEncCo 0.35 -unitDist 2.000000 -metWidth 0.5 \
-pattern patternA -contactType contactArray 10 10 \
-xConSpace 1.0 -yConSpace 1.5
See Also
Layout Window: Create > Capacitor
lakerCreateCircle
The lakerCreateCircle command returns a dbFigId if the specified circle
shape can be created.
Syntax
lakerCreateCircle -point (x0,y0) -radius radius [-layerName
layerName [-purpose purpose]] [-color colorName] [-lock
0|1]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
634
Argument
Description
-colorName colorName
Specify the color name.
Valid value: a string.
-layerName
layerName
Specify the layer name (default=the active layer).
-lock 0|1
Valid values: Boolean values, 0 and 1.
1 : Lock the color of the shape.
0 : Unlock the color of the shape.
-point (x0,y0)
x0 specifies a center value for the x coordinate point
while y0 specifies the value for the y coordinate point.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-purpose purpose
Specify the purpose name (default=drawing).
-radius radius
Specify the radius of the circle.
Examples
lakerCreateCircle -layerName poly -purpose drawing \
-point (0,0) -radius 10.5
See Also
Layout Window: Create > Conics > Circle
lakerCreateContact
The lakerCreateContact command returns a dbFigId if the specified
contact device can be created.
Syntax
To create contact in a regular way:
lakerCreateContact -device deviceName -point (x0,y0) -width
width -length length -xSpace xSpace -ySpace ySpace xLay1Enc xLay1Enc -yLay1Enc yLay1Enc -xLay2Enc xLay2Enc
-yLay2Enc yLay2Enc [-xRepeat xRepeat] [-yRepeat
yRepeat][-inst instName] [-orient orientation] [originOffset xOffset yOffset] [-viaGroup mode] [-param
parameters] [-updateAs 0|1] [-autoPoint (x1,y1) (x2,y2)]
[-sameNetOnly 0|1] [-sameMetWidth 0|1] [-split 0|1] [nonOverlapVia 0|1] [-routeStatus routeStatus] [routeParam attributeList] [-routeType routeType]
To create auto contact in the route library:
lakerCreateContact [-autoPoint (x1,y1) (x2,y2) [-fill 0|1]
[-sameMetWidth 0|1] [[-atLeastOne 0|1] | [-minContact
contNumber] [-direction direction] [-minEnclosureSet
0|1] [-align justification]] [-contMode contMode] [autoContNum autoContNum] [-routeStatus routeStatus] [layerSeparateStackVia layerName [purposeName]] [routeParam attributeList] [-routeType routeType]]
Returns
A dbFigId if successful; otherwise, returns nothing.
Laker³ Tcl Reference Manual
K-2015.06
635
Chapter 7: Layout Window
Create Commands
Arguments
636
Argument
Description
-align justification
Specify the justification for minimum contact creation.
Valid values: UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight, and
LowerRight (default=CenterCenter).
-autoContNum
autoContNum
Specify the number of contacts to be created in the
Auto Contact mode.
Valid values: maximum and single
(default=maximum).
-autoPoint
(x1,y1) (x2,y2)
(x1,y1) (x2,y2) indicate the dragging rectangle
when creating contacts automatically.
-atLeastOne 0|1
Valid values: Boolean values, 0 and 1 (default=1).
This argument is used for the Auto Contact mode
only.
1: Generate contacts on the overlapping area
regardless of the area width.
0: No contact is generated if the area is too small to
contain a contact.
-contMode
contMode
Specify the relation of shapes for cut layers.
Valid values: centerAlign and maximum
(default=maximum).
centerAlign : The center of the cut layer is
aligned.
maximum : Each cut layer is independent and the
number of rows/columns for each cut layer is as large
as possible.
-device
deviceName
Specify the name of contact devices. The device
name can be StackVia for stack vias, or
viaStacking for via stackings.
-direction direction
Specify a direction for minimum contact creation.
Valid values: horizontal and vertical
(default=horizontal).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-fill 0|1
This argument is used for auto contact mode only.
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Fill Overlapped Metal option.
0 : Disable the Fill Overlapped Metal option.
-inst instName
Specify the instance name (default=systemassigned).
-layerSeparateStackVia
layerName
[purposeName]
Specify the layer to separate a stack via by assigning
layerName [purposeName], where
purposeName is optional. The default purpose
name is drawing.
-length length
Specify the cutting length of contacts.
-minContact
contNumber
Specify the number of contacts to be generated when
the overlapped metal area or the selected area is
smaller than the contact area.
This argument is used for the Auto Contact mode and
it works for rectangular overlapped areas only. If it is
specified, -atLeastOne is ignored.
-minEnclosureSet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Min Enclosure Set option.
0 : Disable the Min Enclosure Set option.
-nonOverlapVia 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Allow non-overlapping contacts/vias.
0 : Allow overlapping contacts/vias.
-orient orientation
Specify the orientation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
-originOffset
xOffset yOffset
xOffset is the offset value from the point x0 while
yOffset is the offset value from the point y0.
The origin of MCell instances is calculated by
(x0+xOffset, y0+yOffset).
Laker³ Tcl Reference Manual
K-2015.06
637
Chapter 7: Layout Window
Create Commands
638
Argument
Description
-param parameters
Specify the parameter list. Each parameter includes
the device name, the number of columns, the number
of rows, the contact width, the contact length, the
align type (m for maximum type), optional parameters
for the width and height of the bottom layer, the
horizontal spacing between contact layers, the
vertical spacing between contact layers, the
horizontal enclosure distance between the contact
layer and the first connected layer, the vertical
enclosure distance between the contact layer and the
first connected layer, the horizontal enclosure
distance between the contact layer and the second
connected layer, the vertical enclosure distance
between the contact layer and the second connected
layer, the align type (c for align center, other for no
align center), the horizontal distance between the
leftmost contact’s center of the current contact layer
and the first contact layer, the vertical distance
between the leftmost contact's center of the current
contact layer and the first contact layer.
-point (x0,y0)
x0 specifies a position value for the x coordinate
point while y0 specifies the value for the y coordinate
point.
-routeParam
attributeList
Specify the list of attributes for the modified element
of route objects. The format is {elementIndex
{attrKey attrValue} ...}. Some attributes for
path and via elements are illustrated in
lakerAttribute.
-routeType
routeType
Specify the route type.
-sameMetWidth 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Force each metal layer to be the same size.
0 : Do not force each metal layer to be the same size.
Valid values: none, ring, padRing, blockRing,
stripe, followPin, IOWire, coreWire, and
blockWire (default=none).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-sameNetOnly 0|1
This argument is used for auto contact mode only.
Valid values: Boolean values, 0 and 1 (default=0).
1: Generate contacts for the overlapped area with the
same net.
0: Generate contacts on all overlapped areas.
-split 0|1
This argument is used for auto contact mode only.
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Split Contact Device option.
0 : Disable the Split Contact Device option.
-updateAs 0|1
This argument is used for manual create mode only.
Valid values: Boolean values, 0 and 1 (default=0).
1: Set CreateContactUpdateAs=TRUE and save
the setting to the laker.rc resource file.
0: Set CreateContactUpdateAs=FALSE and save
the setting to the laker.rc resource file.
-viaGroup mode
Specify the via group for auto contact creation.
Valid values: MCell, and RouteVia.
If -viaGroup MCell is specified and the MCell
contact device definition exists in the technology file,
contacts are created based on the MCell contact
device definition.
If -viaGroup RouteVia is specified and the
standard via definition exists in the technology file,
contacts are created based on the standard via
definition.
-width width
Specify the cutting width of contacts.
-xLay1Enc
xLay1Enc
Specify the horizontal enclosure distance between
the contact layer and the first connected layer.
-xLay2Enc
xLay2Enc
Specify the horizontal enclosure distance between
the contact layer and the second connected layer.
-xRepeat xRepeat
Specify the number of columns for contact arrays.
Valid value: an integer (default=1).
-xSpace xSpace
Specify the horizontal spacing between contact
layers.
Laker³ Tcl Reference Manual
K-2015.06
639
Chapter 7: Layout Window
Create Commands
Argument
Description
-yLay1Enc
yLay1Enc
Specify the vertical enclosure distance between the
contact layer and the first connected layer.
-yLay2Enc
yLay2Enc
Specify the vertical enclosure distance between the
contact layer and the second connected layer.
-yRepeat yRepeat
Specify the number of rows for contact arrays.
Valid value: an integer (default=1).
-ySpace ySpace
Specify the vertical spacing between contact layers.
Examples
# Example 1
# The origin of this contact device becomes (0.3,10.5)
lakerCreateContact -point (-0.2,10) -originOffset 0.5 0.5 \
-device M1_P1 -yRepeat 1 -xSpace 0.4 -ySpace 0.4 -length 0.4 \
-width 0.4 -xLay1Enc 0.15 -yLay1Enc 0.15 -xLay2Enc 0.15 \
-yLay2Enc 0.15
# Example 2
# Create a 2x3 contact device with M1_PDIFF type
lakerCreateContact -point (-2.03,3.005) -device M1_PDIFF -param \
{M1_PDIFF 2 3 0.4 0.4 0.4 0.4 0.15 0.15 0.15 0.15 0 0.0 0.0 }
# Example 3
# Create a 2x3 stack via from P1 to M3 with align center
# and no offset
lakerCreateContact -point (-6.48,1.67) -device StackVia -param \
{ M1_P1 2 3 0.45 0.45 0.45 0.45 0.15 0.15 0.15 0.15 0 0.0 0.0 } \
{ M1_M2 2 3 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 c 0.0 0.0 } \
{ M2_M3 2 3 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 c 0.0 0.0 }
# Example 4
# Create a 2x3 stack via from P1 to M3 with no align center
# and no offset
lakerCreateContact -point (-4.325,2.74) -device StackVia -param \
{ M1_P1 2 3 0.45 0.45 0.45 0.45 0.15 0.15 0.15 0.15 0 0.0 0.0 } \
{ M1_M2 2 3 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 0 0.0 0.0 } \
{ M2_M3 2 3 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 0 0.0 0.0 }
# Example 5
# Create auto contact with device = M1_P1 inside
# the bounding box, (-7.875,-1.97) (14.025,12.885)
lakerCreateContact -autoPoint (-7.875,-1.97) (14.025,12.885) \
-point (-5.05,1.175) -device M1_P1 -param \
{ M1_P1 20 12 0.4 0.4 0.4 0.4 0.15 0.15 0.15 0.15 0 0.0 0.0 }
640
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
# Example 6
# If the device name is "Auto", no "-param" parameter is needed.
# The program automatically finds the matched contact devices
# and create contacts inside the bounding box,
# (-7.815,-1.495) (14.0,11.88)
lakerCreateContact -autoPoint (-7.815,-1.495) (14.0,11.88) \
-device Auto
# Example 7
lakerCreateContact -autoPoint (-763.065,-5411.435) \
(210.91,-4445.61) -sameNetOnly 1 -device Auto
# Example 8
lakerCreateContact -autoPoint (2.85,-4.08) (5.395,-1.805) \
-atLeastOne 0 -device Auto
# Example 9
lakerCreateContact -point (3.443,1.755) -device viaStacking1 \
-sameMetWidth 1 -param \
{ M1_P1 0 0 0.4 0.4 0.4 0.4 0.15 0.15 0.15 0.15 c 0.0 0.0 3.0 4.0 } \
{ M1_M2 0 0 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 c 0.0 0.0 3.0 4.0 } \
{ M2_M3 0 0 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 c 0.0 0.0 3.0 4.0 }
# Example 10
lakerCreateContact -autoPoint (0,0) (100,100) -device Auto \
-split 1
See Also
Layout Window: Create > Contact
lakerCreateDoughnut
The lakerCreateDoughnut command returns a dbFigId if the specified
doughnut shape can be created.
Syntax
lakerCreateDoughnut -point (x0,y0) -inner r1 -outer r2 [layerName layerName [-purpose purpose]] [-color
colorName] [-lock 0|1]
Returns
A dbFigId if successful; otherwise, returns nothing.
Laker³ Tcl Reference Manual
K-2015.06
641
Chapter 7: Layout Window
Create Commands
Arguments
Argument
Description
-colorName colorName Specify the color name.
Valid value: a string.
-inner r1
Specify the inner radius of doughnuts.
-layerName layerName Specify the layer name (default=the active layer).
-lock 0|1
Valid values: Boolean values, 0 and 1.
1 : Lock the color of the shape.
0 : Unlock the color of the shape.
-outer r2
Specify the outer radius of doughnuts.
-point (x0,y0)
x0 specifies a center value for the x coordinate point
while y0 specifies the value for the y coordinate point.
-purpose purpose
Specify the purpose name (default=drawing).
Examples
lakerCreateDoughnut -layerName poly -purpose drawing \
-point (0,0) -inner 10.5 -outer 20
See Also
dbCreateDoughnut
Layout Window: Create > Conics > Doughnut
lakerCreateEllipse
The lakerCreateEllipse command returns a dbFigId if the specified
ellipse shape can be created.
Syntax
lakerCreateEllipse -point (x1,y1) (x2,y2) [-layerName
layerName [-purpose purpose]] [-color colorName] [-lock
0|1]
Returns
A dbFigId if successful; otherwise, returns nothing.
642
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Arguments
Argument
Description
-colorName colorName
Specify the color name.
Valid value: a string.
-layerName layerName
Specify the layer name (default=the active layer).
-lock 0|1
Valid values: Boolean values, 0 and 1.
1 : Lock the color of the shape.
0 : Unlock the color of the shape.
-point (x1,y1)(x2,y2)
(x1,y1) specifies the lower left corner of the ellipse
while (x2,y2) specifies the upper right corner.
-purpose purpose
Specify the purpose name (default=drawing).
Examples
lakerCreateEllipse -layerName poly -purpose drawing \
-point (0,0) (10,10)
See Also
Layout Window: Create > Conics > Ellipse
lakerCreateFinRegion
The lakerCreateFinRegion command creates fin regions by honoring the
tfWideAlignments definition in the technology file section
lakerLayerRule.
Syntax
lakerCreateFinRegion -layerName layerName -purpose purpose
-point (x1,y1) (x2,y2) (x3,y3) (x4,y4)
Returns
None
Arguments
Argument
Description
-layerName layerName
Specify the name of the boundary layer.
Laker³ Tcl Reference Manual
K-2015.06
643
Chapter 7: Layout Window
Create Commands
Argument
Description
-point (x1,y1) (x2,y2)
(x3,y3) (x4,y4)
(x1,y1) specifies the lower left corner of the
boundary, (x2,y2) specifies the upper left corner,
(x3,y3) specifies the upper right corner, and
(x4,y4) specifies the lower right corner.
-purpose purpose
Specify the purpose of the boundary layer.
Examples
lakerCreateFinRegion -layerName FINFET2 -purpose boundary \
-point (-0.2,-0.19) (-0.2,0.49) (0.288,0.49) (0.288,-0.19)
See Also
Layout Window: Create > Fin Region
lakerCreateGuardRing
The lakerCreateGuardRing command returns a dbFigId if the specified
guard ring can be created.
Syntax
lakerCreateGuardRing -device deviceName -point (x0,y0) (centerLine centerLine | -mode select [-fitRect 0|1]) [rows rows] [-inst instName] [-orient orientation] [-magni
magnification] [-impEnc impEnc] [-useMaskResolution 0|1]
[-originOffset xOffset yOffset] [-bodyWidth floatValue]
[-contMode contMode] [-topLayer layerName] [createCornerContact 0|1] [-contactDevice $deviceName] [sameMetWidth 0|1] [-SameAsBodyWidth 0|1] [-globalRule
$rule_name] [-rectContactStyle 0|1] [-bboxSpace
spacingValue | -layerSpace {GRLayerName GRPurposeName
RefLayerName RefPurposeName spacingValue} +] [layerSetting {layerName purposeName enable | disable
rectangle | fillNotch | none | fillHole} {value1 value2}
+] [-plugInParam {{$paramName $paramValue}[{$paramName
$paramValue} +]}]
Returns
A dbFigId if successful; otherwise, returns nothing.
644
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Arguments
Argument
Description
-bboxSpace spacingValue
Specified with -mode select only.
Specify the spacing between the bounding box of
selected objects and the guard ring’s boundary.
-bodyWidth floatValue
Specify the body width of guard rings. The number
of contact rows is determined by the body width
and contact spacing.
Valid value: a positive floating number.
-centerLine centerLine
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the point
array of the center line while y0...yn specify the
y coordinate.
-contactDevice
$deviceName
Specify the contact device name.
-contMode contMode
Specify the contact mode.
Valid values: normal and stackVia
(default=normal).
-createCornerContact 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Create corner contacts.
0 : Do not create corner contacts.
-device deviceName
Specify the name of guard ring devices.
Valid values: PGR, NGR, TGR, and Auto.
-fitRect 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Fit to Rectangle option.
0 : Disable the Fit to Rectangle option.
-globalRule
$rule_name
Specify the global rule (default=default, which
indicates the default rule).
-impEnc impEnc
Specify the enclosure distance between Imp and
Body layers.
-inst instName
Specify the instance name (default=systemassigned).
Laker³ Tcl Reference Manual
K-2015.06
645
Chapter 7: Layout Window
Create Commands
Argument
Description
-layerSetting {layerName
purposeName enable|disable
rectangle|fillNotch|none|fillHole}
{value1 value2}+
■
■
■
■
■
■
enable or disable enables or disables the
specified layer, and rectangle, fillNotch,
none, or fillHole sets the extend type of that
layer.
The parameter set {layerName
purposeName enable|disable
rectangle|fillNotch|none|fillHole}
is ignored if the specified layer is disabled
(setting generate off and control off in
the technology file).
enable or disable is ignored if the layer is
locked (setting control off in the technology
file).
rectangle, fillNotch, none, or fillHole
is ignored if this layer is set to be disable.
{value1 value2} sets the enclosure distance
between preserved option layers (Imp, L1-L9)
and the body layer.
The layers without layer editing parameters use
the default value defined in the technology file.
-layerSpace {GRLayerName
Specified with -mode select only.
GRPurposeName
Specify the spacing between GR and Ref layers
RefLayerName
individually.
RefPurposeName spacingValue}
+
-magni magnification
View size is printed compared with a real chip size.
Valid value: a positive floating number
(default=1.0).
-mode select
Create guard rings automatically enclosing the
selected objects.
-plugInParam {{$paramName
$paramValue}[{$paramName
$paramValue} +]}
Define a list of parameters for MCell callbacks.
■
■
646
$paramName: Specify the parameter name,
which is defined in params of the callBack
section.
$paramValue: Specify the parameter value for
the corresponding $paramName.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-orient orientation
Specify the orientation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
-originOffset xOffset yOffset
xOffset is the offset value from the point x0 while
yOffset is the offset value from the point y0.
The origin of the MCell instance is calculated by
(x0+xOffset, y0+yOffset).
-point (x0,y0)
x0 specifies a position value for the x coordinate
point while y0 specifies the value for the y
coordinate point.
-rectContactStyle 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Rectangle Contact Style option.
0 : Disable the Rectangle Contact Style option.
-ring rings
Specify the number rings to be added when the
-device auto option is specified.
-rows rows
Specify the number of rows for cutting array of
contacts.
Valid value: an integer (default=1).
-SameAsBodyWidth 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Force M1 width to be the same as the body
width.
0 : M1 width may not be the same as the body
width.
-sameMetWidth 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enlarge all metal layers to fit all contacts/vias
and metal rules.
0 : Do not enlarge all metal layers.
-topLayer layerName
Specify the top layer is selected from one of the
metal layers defined in the technology file.
This argument is valid only if -contMode
stackVia is specified.
Laker³ Tcl Reference Manual
K-2015.06
647
Chapter 7: Layout Window
Create Commands
Argument
Description
-useMaskResolution 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Use the Mask/General resolution.
0 : Use the MCell resolution.
Examples
# Example 1
# The origin of this guard ring is (1.24,3.02)
lakerCreateGuardRing -point (0.74,2.52) -device TGR \
-originOffset 0.5 0.5 \
-centerLine (0.74,2.52) (15.84,2.52) (15.84,-5.36) \
(-9.66,-5.36) (-9.66,10.23)
# Example 2
lakerCreateGuardRing -mode select -device auto -ring 2 \
-conSpace 0.5
# Example 3
lakerCreateGuardRing -mode select -device TGR -rows 2 \
-conSpace 0.800000 -impEnc 0.350000 \
-layerSpace {{OD drawing} {POLY drawing} 0.45} \
{{MET1 drawing} {MET1 drawing} 0.45} \
{{OD drawing} {OD drawing} 0.6} -layerSetting \
{ PP drawing enable none }
See Also
Layout Window: Create > Guard Ring
lakerCreateInstance
The lakerCreateInstance command returns a dbFigId if the specified
instance or array cell can be created.
Syntax
lakerCreateInstance -cell cellName -point (x0,y0) [-lib
libName] [-inst instName] [-orient orientation] [justification justification] [-rowSpace rowSpace colSpace colSpace [-rows rowsNo] [-cols colsNo]] [-view
viewName] [-param $param] [-reEval 0|1]
Returns
A dbFigId if successful; otherwise, returns nothing.
648
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Arguments
Argument
Description
-cell cellName
Specify the instance cell.
-cols colsNo
Specify the number of instance columns.
Valid value: an integer (default=1).
-colSpace colSpace
Specify the number of instances for y coordinate spacing.
-inst instName
Specify the instance name (default=system-assigned).
-justification
justification
Specify the instance justification.
Valid values: UL, CL, LL, UC, CC, LC, UR, CR, LR, and
Origin.
-lib libName
Specify the library database.
-orient orientation
Specify the orientation.
Valid values: R0, R90, R180, R270, MXR0, MXR90, MYR0,
and MYR90 (default=R0).
-param $param
Specify the variable parameters ($param), which consist
of pairs of a name and value, for example: {pd
{1.15u}}.
-point (x0,y0)
Specify the reference point of Justification.
x0 specifies a position value for the x coordinate point
while y0 specifies the value for the y coordinate point.
-reEval 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Re-evaluate and update the existing device.
0: Do not re-evaluate the existing device.
-rows rowsNo
Specify the number of instance rows.
Valid value: an integer (default=1).
-rowSpace rowSpace Specify the number of instances for the x coordinate
spacing.
-view viewName
Laker³ Tcl Reference Manual
K-2015.06
Specify the view name for the specified cell
(default=layout).
649
Chapter 7: Layout Window
Create Commands
Examples
# Example 1
lakerCreateInstance -point (8.65,5.82) -cell in01d1
# Example 2
lakerCreateInstance -point (8.65,5.82) -lib y1 \
-cell in01d1 -rows 2 -cols 3 -rowSpace 21.3 -colSpace 5.5
# Example 3
lakerCreateInstance -point (25.079,1.511) -cell xtr \
-lib device_lib -view symbolic
# Example 4
lakerCreateInstance -point (-0.45,0.915) -cell nch -lib N1 \
-view layout -param {drawDnw FALSE} {tieL {35n}} {tieW {20n}} \
{vshareSD {None}} {sb {17n}} {sa {17n}} {nrd {0.5}} {nrs {0.5}} \
{pd {75n}} {ps {75n}} {ad {3.5e-14}} {as {3.5e-14}} \
{POshrink {(0 0 0)}} {SDshrink {(0 0 0 0 0)}} {RdiffExt {0}} \
{LdiffExt {0}} {fingers_SP_INC {0}} {w {20n}} {l {6n}}
See Also
Layout Window: Create > Instance
lakerCreateMetalSlot
The lakerCreateMetalSlot command creates slot shapes on wide wires.
Besides, All rules may also be maintained in the user's own laker.ms file.
Syntax
To create slots:
lakerCreateMetalSlot -action create -mode mode -slotCell
slotCellName (-switch ruleName | -ruleDef modifiedRules)
[-ignore 0|1] [-rotateSlots 0|1] [-mergeLayer {layer
purpose}] [-area bboxSet] [-toViewLevel | -toMaxLevel]
To change a rule switch:
lakerCreateMetalSlot -action change -switch ruleName
To create and save a rule set:
lakerCreateMetalSlot -action save -switch ruleName -ruleDef
modifiedRules
Returns
None
650
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Arguments
Argument
Description
-action action
Specify the action type.
Valid values: create, change, and save.
create : Create slot shapes.change : Change a rule
set.save : Save a new rule set to the laker.ms file.
-area bboxSet
Specify the bounding boxes. This option is only used with mode area.
-ignore 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Ignore Existing Slot Instances option.
0 : Disable the Ignore Existing Slot Instances option.
-mergeLayer
{layer purpose}
Specify the layer and purpose of the merger layer to connect
end edges.
-mode mode
Specify the action mode. Valid values: cell, and
area.cell : Create slot shapes on whole cell view.area :
Create slot shapes on the bounding boxes specified by the
-area option.
-rotateSlots 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Rotate Square Slots in Diagonal Metal option.
0 : Disable the Rotate Square Slots in Diagonal Metal
option.
-ruleDef
modifiedRules
Specify the modified rule values.
-slotCell
slotCellName
Specify the cell that stores all slot shapes created in this
feature.
-switch
ruleName
Assign the rule set name (defined in the technology file) for
metal slotting to be adopted to. This option can be assigned
with -ruleDef when creating a new rule set.
-toMaxLevel
Set the traverse depth for slot shape creation. If this option
is set, this function works on all design data.
-toViewLevel
Set the traverse depth for slot shape creation. If this option
is set, this function works on the design data from top level
to the current view level. This option is set by default.
Laker³ Tcl Reference Manual
K-2015.06
651
Chapter 7: Layout Window
Create Commands
Examples
# Example 1
# Create slot shapes in cell mode with rule set, al_process
lakerCreateMetalSlot -action create -switch al_process \
-toViewLevel -ignore 0 -slotCell CellMode -mode cell
# Example 2
# Create slot shapes
# and modified rules
lakerCreateMetalSlot
-slotCell SelectMode
-ruleDef {slotLength
in select mode with action rule set
-action create -toViewLevel -ignore 0 \
-mode select \
100.0 20.0 60.0}
# Example 3
# Create slot shapes in area mode with rule set, al_process
lakerCreateMetalSlot -action create -switch al_process
-toMaxLevel -ignore 1 -slotCell AreaMode -mode area \
-area (1698.65,3142.28) (2190.22,3617.98) \
(1696.67,2295.91) (2206.07,2753.78)
# Example 4
# Change rule set to al_process
lakerCreateMetalSlot -action change -switch al_process
# Example 5
# Save modified rules to rule set, al_process, in "laker.ms"
lakerCreateMetalSlot -action save -switch al_process \
-ruleDef {slotLength 100.0 20.0 60.0}
# Example 6
# Rotate the square slots in diagonal metal
lakerCreateMetalSlot -action create -switch checker \
-toViewLevel -ignore 0 -rotateSlots 0 -slotCell LakerMetalSlot \
-mode select
# Example 7
# Do not rotate the square slots in diagonal metal
lakerCreateMetalSlot -action create -switch checker \
-toViewLevel -ignore 0 -rotateSlots 1 -slotCell LakerMetalSlot \
-mode select
# Example 8
# Specify the merger layer to decide the connected end edge
lakerCreateMetalSlot -action create -switch checker \
-toViewLevel -ignore 0 -mergeLayer {MT1 drawing} \
-slotCell LakerMetalSlot -mode select
See Also
Layout Window: Create > Metal Slot
652
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
lakerCreatePath
The lakerCreatePath command returns a dbFigId if the specified path
shape, wire with contact or bus can be created.
Syntax
lakerCreatePath -point point -width pathWidth [contWidth]
[-layerName layerName [-purpose purpose]] [-style
pathStyle] [-busNo busNo -pitch pitch -via2via via2via
[-push segmentNo] [-pathStartPos pathStartPos]] [contactPos contactPos -cell cellName -rows rowsNo -cols
colsNo -yDist yDist -xDist xDist -length length -justify
justification [-busAlignStyle busAlignStyle] [-router
snapmode [-onGrid 0|1]]] [-net netName] [-useDropVia] [commitDropVia] [-globalRule $rule_name] [-routeParam
attributeList] [-viaGroup mode] [-routeStatus
routeStatus] [-routeType routeType] [-color colorName]
[-lock 0|1]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument
Description
-busAlignStyle
busAlignStyle
Specify the bus alignment style.
Valid values: line, saw, inc, and dec (default=saw).
-busNo busNo
Specify the number of buses.
Valid value: an integer (default=1).
-cell cellName
Specify the cell to be renamed.
-colorName colorName
Specify the color name.
Valid value: a string.
-cols colsNo
Specify the number of instance columns.
Valid value: an integer.
-commitDropVia
Execute the dropping via action.
-contactPos contactPos
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the center
position of contacts while y0...yn specify the y
coordinate.
Laker³ Tcl Reference Manual
K-2015.06
653
Chapter 7: Layout Window
Create Commands
Argument
Description
-globalRule $rule_name
Specify the global rule (default=default, which
indicates the default rule).
-justify justification
Specify the justification of contacts.
Valid values: UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight, and
LowerRight.
-layerName layerName
Specify the layer name (default=the active layer).
-length length
Specify the cutting length of contacts.
-lock 0|1
Valid values: Boolean values, 0 and 1.
1 : Lock the color of the shape.
0 : Unlock the color of the shape.
-net netName
Specify the net name of the path to be created. The
net name is not assigned if -net is not specified.
-onGrid 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : The drawing points must be on-grid.
0 : The drawing points may be off-grid.
-pathStartPos pathStartPos
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the start of the
bus position while y0...yn specify the y coordinate.
-pitch pitch
Specify the spacing between the path centerlines.
Valid value: a floating number.
654
-point point
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the point array
while y0...yn specify the y coordinate.
-purpose purpose
Specify the purpose name (default=drawing).
-push segmentNo
Enable the push-wire function and start pushing from
the number of path segments specified.
Valid value: an integer, greater than 0.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-routeParam
attributeList
Specify the list of attributes for the modified element
of route objects. The format is {elementIndex
{attrKey attrValue} ...}. Some attributes for
path and via elements in lakerAttribute.
-router snapmode
Create connection paths with Auto Route mode,
where the snap mode may be one of the following:
■
■
■
■
auto: The path is automatically decided by the
router.
orthogonal: The target point aligns to the source
point horizontally or vertically, depending on the
larger direction offset.
xFirst: The router creates horizontal paths from
the start point first.
yFirst: The router creates vertical paths from the
start point first.
-routeStatus
routeStatus
Specify the route status.
Valid values: Fixed, Routed, and Cover
(default=Fixed).
-routeType
routeType
Specify the route type.
-rows rowsNo
Specify the number of instance rows.
Valid value: an integer.
-style pathStyle
Specify the path style.
Valid values: Truncate, Extend, Round, and
Variable -beginExt value -endExt value
(default=Truncate).
-useDropVia
Adopt via dropping at the same net intersection.
-via2via via2via
Specify the spacing for the center of the contact
position to another between two paths.
Valid value: a floating number.
Laker³ Tcl Reference Manual
K-2015.06
Valid values: none, ring, padRing, blockRing,
stripe, followPin, IOWire, coreWire, and
blockWire (default=none).
655
Chapter 7: Layout Window
Create Commands
Argument
Description
-viaGroup mode
Specify the via group for auto contact creation.
Valid values: MCell and RouteVia.
If -viaGroup MCell is specified and the MCell
contact device definition exists in the technology file,
contacts are created based on the MCell contact
device definition.
If -viaGroup RouteVia is specified and the
standard via definition exists in the technology file,
contacts are created based on the standard via
definition.
-width
pathWidth [contWidth]
Specify the path width and cutting width of contacts.
Valid value: a floating number.
-xDist xDist
Specify the number of instances for the y coordinate
spacing.
-yDist yDist
Specify the number of instances for the x coordinate
spacing.
Examples
# Example 1
lakerCreatePath -layerName poly -purpose drawing \
-point (0,0) (10,10) (25,20) (30,-35) -width 0.6
# Example 2
lakerCreatePath -router auto -layerName MET1 \
-point (-6.12,4.58) (-12.17,-2.20) -width 0.350000
# Example 3
lakerCreatePath -router auto -onGrid 1 -layerName MET1 \
-point (-6.12,4.58) (-12.17,-2.20) -width 0.350000
# Example 4
lakerCreatePath -push 1 -layerName MET1 \
-point (1.62,4.23) (1.62,8.76) (11.27,8.76) -width 0.5 0.0
# Example 5
lakerCreatePath -layerName poly -purpose drawing -point \
(0,0) (10,10) (25,20) (30,-35) -width 0.6 -net VDD
656
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
# Example 6
lakerCreatePath -contactPos (145.542,-88.091) \
-busAlignStyle saw -device M1_M2 -param \
{M1_M2 1 1 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 0 0.0 0.0 } \
-layerName MET2 -point (88.649,-87.841) (145.792,-87.841) \
-width 0.600000 0.500000 -net net1 -useDropVia
lakerCreatePath -contactPos (145.542,-131.402) \
-busAlignStyle saw -orient MXR90 -device M1_M2 -param \
{M1_M2 1 1 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 0 0.0 0.0 } \
-pathStartPos (145.792,-87.841) -layerName MET1 -point \
(145.792,-87.841) (145.792,-131.152) -width 0.500000 0.500000 \
-net net1 -useDropVia
lakerCreatePath -pathStartPos (145.792,-131.152) \
-layerName MET2 -point (145.792,-131.152) (92.083,-131.152) \
-width 0.600000 0.000000 -net net1 -useDropVia
lakerCreatePath -commitDropVia
# Example 7
lakerCreatePath -routeParam {0 {layerName METAL1} \
{purpose drawing} {points (-1.48,4.255) (2.19,4.255)} \
{width 0.5} {beginStyle Truncate} {endStyle Truncate}}
# Example 8
# Create a path object with color attribute
lakerCreatePath -pathStartPos (145.792,-131.152) \
-layerName MET2 -point (145.792,-131.152) (92.083,-131.152) \
-width 0.6 0.0 -net net1 -useDropVia -color ColorA -lock 0
# Example 9
# Create a route object with color attribute
lakerCreatePath -routeParam \
{0 {layerName METAL1} {purpose drawing} \
{points (-1.48,4.255) (2.19,4.255)} {width 0.5} \
{beginStyle Truncate} {endStyle Truncate}} {color ColorA} {lock 0}
See Also
dbCreatePath
Layout Window: Create > Path
lakerCreatePickedDevice
The lakerCreatePickedDevice command creates picked devices from the
schematic.
Laker³ Tcl Reference Manual
K-2015.06
657
Chapter 7: Layout Window
Create Commands
Syntax
lakerCreatePickedDevice -point (x,y) [-viewList {listName}]
[-spacing value] [-MFactor {MFacotrName}] [-instName 0|1]
[-connectivity 0|1]
Returns
None
Arguments
Argument
Description
-connectivity 0|1
Valid values: Boolean values, 0 and 1.
1 : Keep the connectivity from schematic.
0 : Do not keep the connectivity from schematic.
-instName 0|1
Valid values: Boolean values, 0 and 1.
1 : Keep the instance name from schematic.
0 : Do not keep the instance name from schematic.
-MFactor
{MFacotrName}
Specify the priority to search M-factor names.
-point (x,y)
x specifies the x coordinate while y specifies the y
coordinate.
-spacing value
Specify the spacing between devices.
-viewList {listName}
Specify the priority to search view names.
Examples
# Example 1
lakerCreatePickedDevice -point (-4.917,-8.348) \
-viewList {layout} -spacing 2 -instanceName 1 -connectivity 1
See Also
Layout Window: Create > Picked Device
lakerCreatePin
The lakerCreatePin command returns a dbFigId if the specified pin can
be created.
658
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Syntax
lakerCreatePin [-layerName layerName] [-purpose purpose] net netName -port portName -pin pinName [-dir pinType]
[-accDir accDir] -point point [-jointType jointType] [placementStatus status] [-color colorName] [-lock 0|1]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument
Description
-accDir accDir
Specify the pin direction.
Valid values: the combination of {Top}, {Bottom},
{Left}, and {Right} (default=all directions, that is,
{Top}{Bottom}{Left}{Right}).
-colorName colorName Specify the color name.
Valid value: a string.
-dir pinType
Specify the pin type.
Valid values: Input, Output, InputOutput,
Jumper, and Feedthrough (default=Input).
-jointType jointType
Specify the joint type for the specified pin.
Valid values: Disjointed, Strong, and Weak.
-layerName layerName
Specify the layer name (default=the active layer).
-lock 0|1
Valid values: Boolean values, 0 and 1.
1 : Lock the color of the shape.
0 : Unlock the color of the shape.
-net netName
Specify the net name.
-pin pinName
Specify the pin name.
-placementStatus status Specify the pin placement status.
Valid values: Fixed, Cover, Placed, Unplaced, and
Null (default=Placed).
-point point
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the pin shape,
while y0...yn specify the y coordinate.
-port portName
Specify the port name.
Laker³ Tcl Reference Manual
K-2015.06
659
Chapter 7: Layout Window
Create Commands
Argument
Description
-purpose purpose
Specify the purpose name (default=drawing).
Examples
# Example 1
lakerCreatePin -layerName POLY -net ABC -port ABC \
-dir Input -pin 1 -accDir Top -point (0.159,-0.96) \
(0.159,1.225) (2.146,1.225) (2.146,-0.96)
# Example 2
lakerCreatePin -layerName MET4 -purpose drawing -net ABC \
-port ABC -dir Jumper -pin ABC -accDir {Right} {Left} -point \
(4.81,1.51) (4.81,2.73) (3.62,2.73) (3.62,1.51)
See Also
dbCreatePin
Layout Window: Create > Pin
lakerCreatePoly
The lakerCreatePoly command returns a dbFigId if the specified polygon
shape can be created.
Syntax
lakerCreatePoly -point point [-layerName layerName [-purpose
purpose]] [-color colorName] [-lock 0|1]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
660
Argument
Description
-colorName colorName
Specify the color name.
Valid value: a string.
-layerName layerName
Specify the layer name (default=the active layer).
-lock 0|1
Valid values: Boolean values, 0 and 1.
1 : Lock the color of the shape.
0 : Unlock the color of the shape.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-point point
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the point array
while y0...yn specify the y coordinate.
-purpose purpose
Specify the purpose name (default=drawing).
Examples
lakerCreatePoly -layerName poly -purpose drawing \
-point (0,0) (10,10) (25,20) (30,-35)
See Also
dbCreatePolygon
Layout Window: Create > Polygon
lakerCreateRect
The lakerCreateRect command returns a dbFigId if the specified rectangle
shape can be created.
Syntax
lakerCreateRect -point (x1,y1)(x2,y2) [-layerName layerName
[-purpose purpose]] [-color colorName] [-lock 0|1]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument
Description
-colorName colorName
Specify the color name.
Valid value: a string.
-layerName layerName
Specify the layer name (default=the active layer).
-lock 0|1
Valid values: Boolean values, 0 and 1.
1 : Lock the color of the shape.
0 : Unlock the color of the shape.
-point (x1,y1)(x2,y2)
(x1,y1) specifies the lower left corner of the
rectangle while (x2,y2) specifies the upper right
corner.
Laker³ Tcl Reference Manual
K-2015.06
661
Chapter 7: Layout Window
Create Commands
Argument
Description
-purpose purpose
Specify the purpose name (default=drawing).
Examples
lakerCreateRect -layerName poly -purpose drawing \
-point (0,0.3) (10.1,10)
See Also
dbCreateRect
Layout Window: Create > Rectangle
lakerCreateResistor
The lakerCreateResistor command returns a dbFigId if the specified
resistor can be created.
Syntax
lakerCreateResistor -device deviceName -point (x0,y0) [totalLength length|-value value] -fit (seg|block)
fitValue -width width -space deviceSpace -metWidth
metWidth [-inst instName] [-orient orientation] [-magni
magnification] [-contType contType] [-connectType
connectType] [-interDist interContDistance] [-resEncCo
enclosure_value] [-originOffset xOffset yOffset] [dummyWidth value] [-dummyContact 0|1] [-extSegLength 0|1]
[-param parameter] [-useMaskResolution 0|1] [-xCoSpace
spacing_in_x_direction] [-yCoSpace
spacing_in_y_direction]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
662
Argument
Description
-connectType
connectType
Specify the connected type for resistors.
Valid values: metal, res, and none (default=res).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-contType contType
Specify the contact type.
Valid values: maxRow, single, maximum, and
contactArray (default=maxRow).maxRow : Insert
as many contact rows as possible, such as maxRow
row_number.
single : Insert a single contact.
maximum : Insert a maximum number of contacts.
contactArray : Insert a contact array with the
number of columns and rows, such as
contactArray column_number row_number.
-device deviceName
Specify the name of resistor devices.
-dummyContact 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Add contacts and metal on dummy resistors.
0 : Do not add contacts and metal on dummy
resistors.
-dummyWidth value
Specify the dummy width for resistors. By default,
the value is equal to the -width option.
-extSegLength 0|1
Valid values: Boolean values, 0 and 1 (default=0).
This argument is used for disconnected resistors
only.
1 : Extend each segment to make each segment
having the same length.
0 : Do not extend each segment of the resistor.
-fit (seg|block) fitValue
Specify the segment or blockLength value.
-inst instName
Specify the instance name (default=systemassigned).
-interDist
interContDistance
Each inter contact distance (default=empty string).
-magni magnification
View size is printed compared with a real chip size.
Valid value: a floating number (default=1.0).
-metWidth metWidth
Specify the width of the Metal layer.
Laker³ Tcl Reference Manual
K-2015.06
663
Chapter 7: Layout Window
Create Commands
664
Argument
Description
-orient orientation
Specify the orientation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
-originOffset
xOffset yOffset
xOffset is the offset value from the point x0 while
yOffset is the offset value from the point y0.
The origin of MCell instances is calculated by
(x0+xOffset, y0+yOffset).
-param parameter
Specify the parameter list. Each parameter includes
the resistor’s value, length, width, align, offset, and
metal-option string.
This argument is used for disconnected resistors
only.
-point (x0,y0)
x0 specifies a position value for the x coordinate
point while y0 specifies the value for the y coordinate
point.
-resEncCo
enclosure_value
Specify the horizontal enclosure distance between
the resistor body layer and contact layer.
-space deviceSpace
Specify the spacing between resistor shapes.
-totalLength length
Specify the total length between outmost contact
layers (default=100.0).
-useMaskResolution 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Use the Mask/General resolution.
0 : Use the MCell resolution.
-value value
Specify the resistance value. If -totalLength is
specified, this argument is ignored.
-width width
Specify the width of the resistor body layer.
-xCoSpace
spacing_in_x_direction
Specify the contact spacing in X direction when the
contact type is contactArray or maximum. The
spacing_in_x_direction is in user units.
-yCoSpace
spacing_in_y_direction
Specify the contact spacing in Y direction when the
contact type is contactArray or maximum. The
spacing_in_y_direction is in user units.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Examples
# Example 1
# The origin of this resistor is (4.1,1.5)
lakerCreateResistor -point (3.6,1) -originOffset 0.5 0.5
-device TRES -totalLength 100 -width 4 -space 2 \
-metWidth 4 -fit seg 5
# Example 2
lakerCreateResistor -point (0.00425,0.00478) -device TRES \
-totalLength 100.000000 -width 4.000000 -space 2.000000 \
-metWidth 2.000000 -fit segment 4 -connectType none \
-param { length 100.0 4.0 asIs 0.0 "" } \
{ length 100.0 4.0 left 0.0 "" } \
{ length 100.0 4.0 left 0.0 "" } \
{ length 100.0 4.0 left 0.0 "" }
# Example 3
# create a TRES resistor with 3x3 contact, and the contact spacing
# in X and Y directions is 1.0 user unit.
lakerCreateResistor -point (-38.7,8.715) -useMaskResolution 0 \
-device TRES -totalLength 100.000000 -width 4.000000 \
-space 2.000000 -metWidth 2.000000 -fit segment 5 \
-contType contactArray 3 3 -xConSpace 1.0 -yConSpace 1.0 \
-extSegLength 0
See Also
Layout Window: Create > Resistor
lakerCreateStackedPath
The lakerCreateStackedPath command returns a dbFigId if the
specified stack path can be created.
Syntax
lakerCreateStackedPath -point point (x0,y0)...(xn,yn) useMaskResolution 0|1 -width width [-pathOffset value]
[-style pathStyle] -topLayer topLayerName [topPurpose] bottomLayer bottomLayerName [bottomPurpose] [-device
viaStackName] [-createContact 0|1] [-createCornerContact
0|1] [-contAlignMode Center|Max] [-param parameters]
Returns
A dbFigId if successful; otherwise, returns nothing.
Laker³ Tcl Reference Manual
K-2015.06
665
Chapter 7: Layout Window
Create Commands
Arguments
666
Argument
Description
-bottomLayer
bottomLayerName
[bottomPurpose]
Specify the layer name (and purpose name) for the
bottommost layer.
-contAlignMode
Center|Max
Specify the contact pattern.
Valid values: Center, and Max (default=Center).
Center : Center-aligned contacts;
Max : Maximum contacts.
-createContact 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Create contacts in stack paths.
0 : Do not create contacts in stack paths.
-createCornerContact 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Create corner contacts.
0 : Do not create any corner contacts.
-device viaStackName
Specify the via stacking name (or contact device
name) for stack paths (default=StackVia). If it is
StackVia, the contact device sequence is
connected automaically.
-param parameters
Specify the parameter list. Each parameter includes
the contact device name, contact width, contact
length, horizontal/vertical spacing between contact
layers, horizontal/vertical enclosure distance
between contact layer and the first connected layer,
horizontal/vertical enclosure distance between
contact layer and the second connected layer.
-pathOffset value
Specify the path offset for user-defined justification.
Valid value: a floating number (default=0.0).
-point point
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the point array
while y0...yn specify the y coordinate.
-style pathStyle
Specify the path style.
Valid values: Truncate, Extend, and Variable
-beginExt value -endExt value
(default=Truncate).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-topLayer
topLayerName
[topPurpose]
Specify the layer name (and purpose name) for the
topmost layer.
-useMaskResolution 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Use the Mask/General resolution.
0 : Use the MCell resolution.
-width width
Specify the path width.
Valid value: a floating number.
Examples
# Example 1
lakerCreateStackedPath -point (60.7708,90.3622)
(60.7708,90.3622)\
-useMaskResolution 0 -topLayer MET2 -bottomLayer POLY \
-width 0.900000 -pathOffset 0.200000
#
#
#
#
Example 2
Create stacked path by specifying a contact device instead of
a viaStacking,creating corner contact(default value) and with
contact pattern "Center"(default value):
lakerCreateStackedPath -point (-6.858,7.947) (-6.858,7.947)\
(3.391,7.947) (3.391,3.003) (15.613,3.003) -device M1_P1 \
-param {M1_P1 0.4 0.4 0.4 0.4 0.15 0.15 0.15 0.15 } \
-topLayer MET1 -bottomLayer POLY -width 2.000000
#
#
#
#
Example 3
Create stacked path by specifying a viaStacking "viaStacking1"
contains three contact device without creating corner contact
and with contact pattern "Maximum":
lakerCreateStackedPath -point (0.0,0.0) (-11.719,15.168)\
(8.169,15.168) (8.169,-6.275) (-16.163,-6.275) \
-device viaStacking1 \
-param {M1_P1 0.4 0.4 0.4 0.4 0.15 0.15 0.15 0.15 } \
{M1_M2 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 } \
{M2_M3 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 } \
-topLayer MET3 -bottomLayer POLY -width 4.000000 \
-createCornerContact 0 -contAlignMode Max
See Also
Layout Window: Create > Stack Path
Laker³ Tcl Reference Manual
K-2015.06
667
Chapter 7: Layout Window
Create Commands
lakerCreateText
The lakerCreateText command returns a dbFigId if the specified text label
can be created.
Syntax
lakerCreateText -point (x0,y0) | (x1,y1) (x2, y2) ... (xn,
yn) -height height [-width width] -text textString [layerName layerName [-purpose purpose]] [-orient
orientation] [-justify justification] [-font textFont]
[-offsetPoint (x0,y0)] [-drafting 0|1] [-toPoly 0|1] [attachFig figId | -attach 0|1] [-spacing dSpacing] [non45free 0|1] [-placeOn 0|1] [-skip skipVal] [-textLayer
textLayer] [-mapFile fileName]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
668
Argument
Description
-attach 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Attach text strings/labels to a pre-selected object.
0 : Do not attach text strings/labels to objects.
-attachFig figId
Specify the figure identifier to be attached. When it is
specified, the -attach argument is ignored.
-drafting 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show the orientation of the text at zero degrees.
0 : Do not show the orientation of the text at zero
degrees.
-font textFont
Specify the font type of the input text string.
Valid values: Modern, Script, Roman, Simple,
Merit, Contemplate, and Contemplate1
(default=Modern).
-height height
Specify the text height.
Valid value: a positive floating number (default=1.0).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-justify justification
Specify the justification of the input text string.
Valid values: Original, UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight, and
LowerRight (default=LowerLeft). The Original
value is available only if -toPoly 1 is specified.
-layerName
layerName
Specify the layer name (default=the active layer).
-mapFile fileName
Specify the layer map file. This argument is valid only if
-textLayer userDef is specified.
-non45free
Valid values: Boolean values, 0 and 1.
1: Do not allow non-45 polygons for all polygonal text
labels.
0: Allow non-45 polygons for all polygonal text labels.
This argument is valid only if -toPoly 1 is specified.
-offsetPoint (x0,y0)
x0 specifies an offset value from the x coordinate point
while y0 specifies the value from the y coordinate point.
-orient orientation
Specify the orientation of the input text string.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, MYR90, and auto (default=R0).
When -orient auto is used, the orientation of serial
texts is adjusted by the direction of line segments:
■
■
■
If it is a vertical line, the orientation is R0.
If it is a horizontal line, the orientation is R90.
If it is a non-orthogonal line, the orientation is R0.
-placeOn 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Place serial texts on the selected objects which
overlap the drawing line.
0: Place serial texts on objects which overlap the
drawing line.
-point (x0,y0) | (x1,y1)
(x2, y2) ... (xn, yn)
x0 specifies a position value for the x coordinate point
while y0 specifies the value for the y coordinate point.
If point count is more than one, it means a drawing point
array is used to trace the overlapped shapes.
Laker³ Tcl Reference Manual
K-2015.06
669
Chapter 7: Layout Window
Create Commands
Argument
Description
-purpose purpose
Specify the purpose name (default=drawing).
-skip skipVal
Specify a skip width to ignore the shape that exceeds
the specified value during text creation.
If the width of a shape is greater than the specified Skip
Width value, the text string is not placed on that shape.
If the Skip Width field is empty, the checking is ignored.
-spacing dSpacing
Specify the spacing between polygonal labels
(default=1.0).
This argument is valid only if -toPoly 1 or -font
Contemplate1 is specified.
-text textString
Specify the text string list.
-textLayer textLayer
Specify the layer for text creation.
Valid values: active, tf, and userDef.
active: Current selected layer.
tf: The rule of tfAbstractCell in technology file.
userDef: The rule defined in the layer map file,
specified by -mapFile.
-toPoly 0|1
Create the border of text with polygon segments.
Valid values: Boolean values, 0 and 1 (default=1).
1: All font types are available.
0: Only three font types (for example: Modern, Script,
and Roman) are available.
-width width
Specify the stick width of polygonal labels in
Contemplate font type. The height must be greater
than 5 times of the specified stick width, and the stick
width must be the even multiple resolutions.
Valid value: a positive number.
Examples
# Example 1
lakerCreateText -layerName poly -purpose drawing -point (0,0) \
-orient R90 -justify CenterCenter -font Roman -height 0.6 \
-text demostring
670
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
# Example 2
lakerCreateText -toPoly 1 -layerName POLY -purpose drawing \
-point (0,0) -orient R0 -justify Original -font Contemplate \
-height 40.0 -width 8.0 -spacing 0.0 -text demostring
# Example 3
lakerCreateText -toPoly 1 -spacing 1.0 -layerName poly \
-purpose drawing -point (0,0) -justify Original -font Merit \
-height 0.6 -text {demostring}
# Example 4
lakerCreateText -layerName poly -point (1.02,-3.26) \
-font Contemplate1 -height 1.0 -text {abc}
# Example 5
lakerCreateText -textLayer active -skip 1.6 -layerName NWELL \
-height 1.0 -spacing 1.000000 -text {a[0:3]-b[0:3],c[0:3]} \
-point {(-8.95,12.75) (-8.95,1.44) (1.86,1.44) } -orient auto
See Also
dbCreateLabel
Layout Window: Create > Text
lakerCreateTransistor
The lakerCreateTransistor command returns a dbFigId if the specified
transistor can be created.
Syntax
lakerCreateTransistor -device deviceName -point (x0,y0) gates gates -param parameter [-globalRule $rule_name] [inst instName] [-orient orientation] [-magni
magnification] [-contType contType] [-contAlign
contAlign] [-contMode contMode] [-type deviceType] [disableImpNotch 0|1] [-optLayerRepeatPattern
optLayerRepeatPattern] [-traitRepeatPattern Pattern] [co2Gate number [$rule_name]] [[-conSpaceRule
coSpaceRuleName]|[-xConSpace xConSpace [$rule_name]] [yConSpace yConSpace [$rule_name]]] [-discreteGatePitch
0|1] [-originOffset xOffset yOffset] [-useMaskResolution
0|1] [-coWidth value [value2]] [-layerSetting {layerName
purposeName enable|disable rectangle|fillNotch|none}
{value1 value2}+ ] [-createDummyGate {numberSingle
numberMulti numberInner | {numberInner toleranceValue}}
[-dummyGateLengthType LengthType]] [-createPolyCont 0|1]
Laker³ Tcl Reference Manual
K-2015.06
671
Chapter 7: Layout Window
Create Commands
[-polyContType polyContType] [-polyConSymmetry 0|1] [xPolyCoEnc value] [-yPolyCoEnc value] [-xPolyCoConSpace
xConSpace [$rule_name]] [-yPolyCoConSpace yConSpace
[$rule_name]] [-dummyGatePolyCoSym mode] [-xCo2OdEnc
xValue -yCo2OdEnc yValue] [-plugInParam {{$paramName
$paramValue}[{$paramName $paramValue}...]}]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
672
Argument
Description
-co2Gate
number [$rule_name]
Specify the spacing between contacts and gates.
number: The number is in user units, and it must be
greater than or equal to the minCo2GateSpace
value defined in the technology file. The default is
the minCo2GateSpace value.
$rule_name: The rule to be used
(default=default, which indicates the default rule).
-conSpaceRule
coSpaceRuleName
Specify the contact spacing.
If the specified rule name is not defined in the super
master of the referenced transistor, the default rule
is used.
If -conSpaceRule is specified, -xConSpace and
-yConSpace are ignored.
-coWidth value [value2]
Specify the contact width.
The value or the value pair of {value value2}
should be one of the defined value of minCoWidth
in the super master of the referenced transistor;
otherwise, the create or modify attribute operation
fails.
-contAlign contAlign
Specify the contact alignment.
Valid values: top, center, and bottom
(default=center).
-contMode contMode
Specify the contact mode.
Valid values: Normal, Esd, and StackVia
(default=Normal).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-contType contType
Specify the contact type.
Valid values: SingleContact, MaxContact,
ContactArray, and NoContact
(default=MaxContact).
-createDummyGate
Create dummy gates for a transistor with these
{ numberSingle
conditions:
numberMulti numberInner | ■ numberSingle: Number of dummy gates
{ numberInner
(default=2) for a transistor with one normal gate.
toleranceValue } }
■
numberMulti: Number of dummy gates
(default=1) for a transistor with multiple normal
gates.
■
numberInner: Number of dummy gates
(default=1) for a transistor with different gate
width (between two adjacent gates) exceeding
the toleranceValue. This toleranceValue
must be greater than or equal to 0.0.
■
numberSingle, numberMulti and
numberInner must be specified when this
option is used.
Valid value: an integer, greater than or equal to 0.
-createPolyCont 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Create poly contacts.
0 : Do not create any poly contacts.
-device deviceName
Name of transistor devices.
-disableImpNotch 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Create a notch shape on IMP/L1/L2 layers.
0 : Do not create any notch shapes on IMP/L1/L2
layers.
-discreteGatePitch 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Discrete Gate Pitch option.
0 : Disable the Discrete Gate Pitch option.
Laker³ Tcl Reference Manual
K-2015.06
673
Chapter 7: Layout Window
Create Commands
Argument
Description
-dummyGateLengthType
LengthType
Specify the length type for dummy gates. This
argumant is valid only if -createDummyGate is
specified.
Valid values: AdjacentNarrower,
AdjacentWider, and MinChannelLength
(default=AdjacentNarrower).
-dummyGatePolyCoSym
mode
Set the poly contact structure for dummy gates.
Valid values: none, polyOnly, and all
(default=none).
-gates gates
Specify the number of gates to be used.
Valid values: a positive integer (maximum=2500).
-globalRule $rule_name
Specify the global rule (default=default, which
indicates the default rule).
-inst instName
Specify the instance name (default=systemassigned).
-layerSetting {layerName
purposeName
enable|disable
rectangle|fillNotch|none}
{value1 value2}+
■
■
■
■
■
■
-magni magnification
674
enable or disable enables or disables the
specified layer, and rectangle, fillNotch, or
none sets the extend type of that layer.
The parameter set {layerName purposeName
enable|disable
rectangle|fillNotch|none} is ignored if
the specified layer is disabled (setting generate
off and control off in the technology file).
enable or disable is ignored if the layer is
locked (setting control off in the technology
file).
rectangle, fillNotch, or none is ignored if
this layer is set to be disable.
{value1 value2} sets the enclosure distance
between preserved option layers (Imp, L1-L9)
and the OD layer.
The layers without layer editing parameters use
the default value defined in the technology file.
View size is printed compared with a real chip size.
Valid value: a floating number (default=1.0).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-optLayerRepeatPattern
optLayerRepeatPattern
Define the repeated sequence of option layers.
-orient orientation
Specify the orientation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
-originOffset xOffset
yOffset
xOffset is the offset value from the point x0 while
yOffset is the offset value from the point y0.
The origin of MCell instances is calculated by
(x0+xOffset, y0+yOffset).
-param parameter
Specify the parameter list for transistors. The list is
defined with this format:
-param {pattern width length align
offset [{polyConPattern
polyConLocation polyConShift}]
[$rule_name] [dummyGate]}+
■
■
■
■
■
■
■
■
■
■
Laker³ Tcl Reference Manual
K-2015.06
pattern: Gate pattern. Valid values:
patternA, patternB, patternC, patternD,
and patternE.
width: Channel width. Valid value: a floating
number.
length: Channel length. Valid value: a floating
number.
align: Contact alignment between gates. Valid
values: top, center, bottom, and asIs.
offset: Offset value. Valid value: a floating
number.
polyConPattern: Poly contact pattern. Valid
values: none, top, bottom, and both
(default=none).
polyConLocation: Poly contact location. Valid
values: inner, and outer (default=inner).
polyConShift: Poly contact shift. Valid values:
left, center, and right.(default=center).
$rule_name: Refer to the global rule.
dummyGate: If specified, the auto generation of
dummy gates is ignored.
675
Chapter 7: Layout Window
Create Commands
Argument
Description
-plugInParam
{{$paramName
$paramValue}[{$paramNa
me $paramValue}...]}
Define a list of parameters for MCell callbacks.
■
■
676
$paramName: Specify the parameter name,
which is defined in params of the callBack
section.
$paramValue: Specify the parameter value for
the corresponding $paramName.
-point (x0,y0)
x0 specifies a position value for the x coordinate
point while y0 specifies the value for the y
coordinate point.
-polyContType
contType
Specify the contact type for poly contacts.
Valid values: NoContact, SingleContact,
MaxContact, and ContactArray
(default=MaxContact).
SingleContact : Insert a single contact.
MaxContact : Insert the maximum number of
contacts.
ContactArray : Insert a contact array with the
number of columns and rows, such as
contactArray row column.
-polyConSymmetry 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Symmetry option for poly contacts.
0 : Disable the Symmetry for poly contacts.
-traitRepeatPattern
Pattern
Define the trait repeat pattern for transistors. The
valid value can be any combinations from the
defined trait in technology file.
-type deviceType
Specify the device type.
Valid values: parallel and serial
(default=serial).
-useMaskResolution 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Use the Mask/General resolution.
0 : Use the MCell resolution.
-xCo2OdEnc xValue
Horizontal enclosure distance between the contact
layer and the adjacent edge of the Thin-oxide layer.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Argument
Description
-xConSpace xConSpace
[$rule_name]
Specify the contact x-spacing
(default=minCoSpace in ruleDef).
Valid value: a floating number, greater than or equal
to the minCoSpace value.
$rule_name: Rule to be used (default=default,
which indicates the default rule).
-xPolyCoConSpace
xConSpace [$rule_name]
Specify the contact x-spacing for poly contacts
(default=minCoSpace in polyContact). The valid
value and $rule_name settings are similar to the xConSpace argument.
-xPolyCoEnc value
Specify the minimum horizontal enclosure distance
from contacts to metals.
Valid value: a floating number.
-yCo2OdEnc yValue
Specify the vertical enclosure distance between the
contact layer and the adjacent edge of the Thinoxide layer.
-yConSpace xConSpace
[$rule_name]
Specify the contact y-spacing
(default=minCoSpace in ruleDef).
Valid value: a floating number, greater than or equal
to the minCoSpace value.
$rule_name: Rule to be used (default=default,
which indicates the default rule).
-yPolyCoConSpace
yConSpace [$rule_name]
Specify the contact y-spacing for poly contacts
(default=minCoSpace in polyContact). The valid
value and $rule_name settings are similar to the yConSpace argument.
-yPolyCoEnc value
Specify the minimum vertical enclosure distance
from contacts to metals.
Valid value: a floating number.
Examples
# Example 1
# The origin of this transistor instance is (3.5,7.3)
lakerCreateTransistor -point ((3.0,6.8) -originOffset 0.5 0.5 \
-device pmos -gates 1 -param {patternA 0.7 0.35 bottom 0.0}
Laker³ Tcl Reference Manual
K-2015.06
677
Chapter 7: Layout Window
Create Commands
# Example 2
lakerCreateTransistor -point (5.25,0.235) -device pmos -gates 1 \
-disableImpNotch 0 -contType MaxContact -xConSpace 0.4 \
-yConSpace 0.4 -co2Gate 0.5 -contAlign center \
-param {patternA 0.7 0.35 bottom 0.0 } -optLayerRepeatPattern { }
# Example 3
lakerCreateTransistor -point (-1.175,2.055) -device pmos \
-gates 2 -type parallel -contType MaxContact -ConSpaceRule 0.4 \
-yConSpace 0.4 -co2Gate 0.3 -contAlign center \
-param {patternA 1.0 0.35 asIs 0.0 } \
{patternA 1.2 0.35 bottom 0.0 } \
-optLayerRepeatPattern { } -layerSetting \
{ PP drawing enable none } -createDummyGate {2 1 1}
# Example 4
lakerCreateTransistor -point (-1.175,2.055) -device pmos \
-gates 2 -type parallel -contType MaxContact -xConSpace 0.4 \
-yConSpace 0.4 -co2Gate 0.3 -contAlign center \
-param {patternA 1.0 0.35 asIs 0.0 } \
{patternA 1.2 0.35 bottom 0.0 } \
-optLayerRepeatPattern { } -layerSetting \
{ PP drawing enable none } -createDummyGate {2 1 {1 0.2}}
# Example 5
lakerCreateTransistor -point (37.145,16.653) \
-useMaskResolution 0 -device pfet -gates 2 -type parallel \
-contType MaxContact -xConSpace 1.0 -yConSpace 1.0 \
-co2Gate 0.8 -contAlign center -param \
{patternA 2.0 1.0 asIs 0.0 } {patternA 3.0 2.0 bottom 0.0 } \
-optLayerRepeatPattern { } -layerSetting \
{ PIMP drawing enable none } -createDummyGate {2 1 1} \
-dummyGateLengthType AdjacentNarrower
# Example 6
lakerCreateTransistor -point (52.192,17.547) \
-useMaskResolution 0 -device PMOS_plugIn_dummyPoly \
-gates 2 -type parallel -contType MaxContact -xEnc 0.5 \
-yEnc 0.45 -xConSpace 1.0 -yConSpace 1.0 -co2Gate 0.8 \
-contAlign center -xCo2OdEnc 0.5 -yCo2OdEnc 0.5 \
-param {patternA 6.0 0.8 asIs 0.0 } {patternA 3.0 0.8 bottom 0.0 } \
-optLayerRepeatPattern { } -traitRepeatPattern { } \
-layerSetting {PIMP drawing enable none} \
-plugInParam {{normalPitch 4.0} {dummyPitch 2.0} {numDummy 1}}
See Also
Layout Window: Create > Transistor
678
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
lakerDimensionMark
The lakerDimensionMark command draws a dimension line from an object,
and saves the dimension line drawing into the related cell view for later
reference.
Syntax
lakerDimensionMark -point point [-layerName layerName] [purpose purpose] [-font textFont] [-height height] [hideDim 0|1] [-showExtensionLine 0|1] [-justify
justification]
Returns
None
Arguments
Argument
Description
-font textFont
Specify the font type for text labels.
Valid values: Modern, Script, and Roman
(default=Modern).
-height height
Specify the text height for text labels.
Valid value: a positive floating number (default=1.0).
-hideDim 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Hide Value of Dimension Mark option.
0 : Disable the Hide Value of Dimension Mark option.
-justify justification
Specify the justification of dimension mark labels.
Valid values: Auto, UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight, and
LowerRight.
-layerName layerName
Specify the layer name (default=the active layer).
-point point
(x0,y0),(x1,y1),(x2,y2)
x0, x1 and x2 specify the x coordinate for point0,
point1 and point2 while y0, y1 and y2 specify the y
coordinate for point0, point1 and point2.
-purpose purpose
Specify the purpose name (default=drawing).
Laker³ Tcl Reference Manual
K-2015.06
679
Chapter 7: Layout Window
Create Commands
Argument
Description
-showExtensionLine 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Show Extension Line option.
0 : Disable the Show Extension Line option.
Examples
# Example 1
lakerDimensionMark -layerName poly -purpose drawing \
-point (0,0) (10,0) (10,10)
# Example 2
lakerDimensionMark -layerName poly -purpose drawing \
-point (0,0) (10,0) (10,10) -font Modern -height 1.2 -hideDim 0 \
-showExtensionLine 1 -justify auto
See Also
Layout Window: Create > Dimension Mark
lakerGenText
The lakerGenText command generates text labels from the logical
information, and attaches the text labels to shapes, transistors, resistors,
capacitors, Tcl PCells and instances. The content of text labels refers to the net
name or instance name.
Syntax
lakerGenText -from pin -mode mode -height height [-attach
0|1] [-font textFont] [-justify justification] [-orient
orientation] [-busParentheses bracket] [-fromTF | fromObj | -fromFile fileName | [-layerName layerName purpose purpose]] [-useVirtual 0|1] [-ThruVia 0|1]
lakerGenText -from net -mode mode -height height [-attach
0|1] [-font textFont] [-justify justification] [-orient
orientation] [-busParentheses bracket] [-fromTF | fromObj | -fromFile fileName | [-layerName layerName purpose purpose]] [-useVirtual 0|1] [-ThruVia 0|1]
lakerGenText -from instance -mode mode -height height [attach 0|1] [-font textFont] [-justify justification] [orient orientation] [-layerName layerName -purpose
purpose] [-useVirtual 0|1] [-ThruVia 0|1]
680
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
Returns
None
Arguments
Argument
Description
-attach 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Attach to Object option.
0 : Disable the Attach to Object option.
-busParentheses bracket Specify the bus translation style.
Valid values: angle and square (default=square).
angle: angle bracket < >.
square: square bracket [ ].
-font textFont
Specify the font type for text labels.
Valid values: Modern, Script, and Roman
(default=Modern).
-fromFile fileName
Use layers that are defined in a separate file for label
generation; otherwise, nothing is generated.
-fromObj
Use the same layer of the selected object for label
generation.
-fromTF
Use layers that are defined in tfAbstractCell for
label generation; otherwise, nothing is generated.
-height height
Specify the text height.
Valid value: a positive floating number (default=1.0).
-justify justification
Specify the text justification.
Valid values: UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight, and
LowerRight (default=CenterCenter).
-layerName layerName
Specify the layer name of the layer to be used for label
generation.
Laker³ Tcl Reference Manual
K-2015.06
681
Chapter 7: Layout Window
Create Commands
Argument
Description
-mode mode
Specify the attach mode of text labels.
Valid values: select, full, area, line, and click.
select: selected objects.
full: full cell.
area: -area (0.0, 0.0) (2.0, 2.0)
line: -line (0.0, 0.0) (0.0, 2.0)
(2.0, 2.0) (4.0, 2.0) (6.0, 3.0)
click: -point (0.0, 0.0)
-orient orientation
Specify the text orientation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0,and MYR90 (default=R0).
-purpose purpose
Specify the purpose name (default=drawing).
-ThruVia 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Generate text labels through Via and treate text
label as connected physically.
0 : Do not generate text labels through Via.
-useVirtual 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Connect text labels appended with ":" for objects
belonging to a same net but which are not connected
together.
0 : Do not connect text labels appended with ":"
Examples
# Example 1
lakerGenText -from instance -mode full -height 1.0 -font Roman \
-justify LowerLeft -orient R90 -layerName POLY -purpose drawing
# Example 2
lakerGenText -from pin -mode full -height 1.0 -font Roman \
-justify CenterCenter -orient R0 -busParentheses square -fromTF
# Example 3
lakerGenText -from net -mode select -height 1.0 -font Modern \
-justify CenterCenter -orient R0 -busParentheses angle \
-layerName POLY -purpose drawing -attach 0
See Also
Layout Window: Create > Generate Text
682
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Create Commands
lakerRulerLabel
The lakerRulerLabel command draws ruler labels, and saves the drawing
of ruler labels into the related cell view for later reference.
Syntax
lakerRulerLabel -point point [-layerName layerName] [purpose purpose] [-font textFont] [-height height]
Returns
None
Arguments
Argument
Description
-font textFont
Specify the font type for text labels.
Valid values: Modern, Script, and Roman
(default=Modern).
-height height
Specify the text height.
Valid value: a positive floating number (default=1.0).
-layerName layerName
Specify the layer name (default=the active layer).
-point point
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the point array
while y0...yn specify the y coordinate.
-purpose purpose
Specify the purpose name of the layer
(default=drawing).
Examples
lakerRulerLabel -layerName poly -purpose drawing \
-point (0,0) (10,0) (0,10)
See Also
Layout Window: Create > Ruler Label
Laker³ Tcl Reference Manual
K-2015.06
683
Chapter 7: Layout Window
Edit Commands
Edit Commands
This section describes the Tcl commands applied to the Edit commands of the
Layout window. These commands include:
684
■
lakerAlignObj
■
lakerAnnotatePin
■
lakerAttachObj
■
lakerAutoFix
■
lakerBoolean
■
lakerChgVia
■
lakerChopObj
■
lakerCloneMaster
■
lakerContinueBus
■
lakerConvertToPoly
■
lakerCopyObj
■
lakerCopyToClipboard
■
lakerCorrectOffGridObj
■
lakerCutCorner
■
lakerCutFinBdry
■
lakerCutPolyShape
■
lakerDeleteObj
■
lakerDtbAlign
■
lakerGroupObj
■
lakerHybridAlign
■
lakerLayerGen
■
lakerMakeCell
■
lakerMergeObj
■
lakerMirrorX
■
lakerMirrorY
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
■
lakerMoveObj
■
lakerPasteObj
■
lakerPropagateNet
■
lakerReassignNet
■
lakerRedo
■
lakerRepeatObj
■
lakerReshapeObj
■
lakerRotate
■
lakerRotate90
■
lakerSelGroupByName
■
lakerShiftOrigin
■
lakerSlitSlot
■
lakerSmashObj
■
lakerSplitArray
■
lakerSplitNet
■
lakerSplitObj
■
lakerStretchObj
■
lakerStripeWire
■
lakerSwapInstPort
■
lakerTrimWire
■
lakerTunnelObj
■
lakerUndo
■
lakerUngroupObj
■
lakerYankObj
lakerAlignObj
The lakerAlignObj command aligns each specified position of objects to a
reference edge.
Laker³ Tcl Reference Manual
K-2015.06
685
Chapter 7: Layout Window
Edit Commands
Syntax
lakerAlignObj [ -point point -mode selMode | -refPoint
(x0,y0) [-space space] ] [-traversedist traverseDist]
Returns
None
Arguments
Argument
Description
-mode selMode
Specify the select mode of alignment, the mode for
the first point is start, the second one is select/
deselect.
-point
point (x0,y0)...(xn,yn)
Specify each position of the aligned objects.
x0...xn specify the x coordinate for the point array
while y0...yn specify the y coordinate.
-refPoint (x0,y0)
Specify a reference coordinate to align. x0 specifies
a position value for the x coordinate point while y0
specifies the value for the y coordinate point.
-space space
Make a spacing from each aligned edge to the
reference edge.
Valid value: a floating number, greater than 0.
-traversedist
traverseDist
Specify the traversing distance.
Valid value: a floating number.
Examples
# align the point (10,0) object and point (20,0) object
# to point (0,0) object
lakerPreSel -point (10,0)
lakerAlignObj -point (10,0) -mode start
lakerPreSel -point (20,0)
lakerAlignObj -point (20,0) -mode select
lakerPreSel -point (0,0)
lakerAlignObj -refPoint (0,0)
See Also
Layout Window: Edit > Others > Align
686
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
lakerAnnotatePin
The lakerAnnotatePin command validates new instance ports to nets.
Syntax
lakerAnnotatePin -annotate {{instPortName netName} ... }
Returns
None
Arguments
Argument
Description
-annotate
{{instPortName netName} ... }
Set the net name to the instance ports of the
selected instance.
Examples
lakerAnnotatePin -annotate {{yb n1n29} {i n1n27} {vdd vdd} {vss
vss}}
See Also
Layout Window: Edit > Annotate Pin
lakerAttachObj
The lakerAttachObj command attaches a child object to a parent object.
When moving, copying, or deleting a parent object, the child object is also
moved, copied, or deleted.
Syntax
lakerAttachObj -mode attachMode
Returns
None
Arguments
Argument
Description
-mode attachMode
Specify the attach mode for the selected objects.
Valid values: children and toParent.
Laker³ Tcl Reference Manual
K-2015.06
687
Chapter 7: Layout Window
Edit Commands
Examples
lakerSingleSel -point (0,0)
lakerAttachObj -mode children
lakerSingleSel -point (0,10)
lakerAttachObj -mode toParent
See Also
Layout Window: Edit > Others > Attach
lakerAutoFix
The lakerAutoFix command runs AutoFix.
Syntax
lakerAutoFix [-region { {x1 y1} {x2 y2} }] [-insertJogs mode]
[-lockVias 0|1] [-lockInstances 0|1] [lockInvisibleShapes 0|1]
Returns
None
Arguments
688
Argument
Description
-insertJogs mode
Specifies whether to insert jogs.
Valid values: conservatively, aggressively,
and never (default=conservatively).
-lockInstances 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Lock the position of instances.
0 : Move instances.
-lockInvisibleShapes 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Lock the position of invisible shapes.
0 : Move invisible shapes.
-lockVias 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Lock the position of vias.
0 : Move vias.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Argument
Description
-region { {x1 y1} {x2 y2} }
Specifies the window extent with coordinates { {x1
y1} {x2 y2} } . If not specified, the full design layout
is applied by default.
Examples
lakerAutoFix -region { { -27.0 -2.8 } { 84.3 , 59.9 } } \
-insertJogs aggressively -lockInstances 0 -lockVias 0 \
-lockInvisibleShapes 0
lakerBoolean
The lakerBoolean command changes the selected shapes by using the
Boolean operation with point array.
Syntax
lakerBoolean -op booleanOperation -point point [-truncate
value] [-newObj 0|1] [-layerName layerName [-purpose
purpose]] [-convert 0|1] [-keepOrthogonal 0|1] [-absolute
0|1]
Returns
None
Arguments
Argument
Description
-absolute 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Multiply the truncate value by sizing value.
0 : Do not multiply the truncate value.
-convert 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Convert the round path to polygon before sizing it.0
: Do not convert the round path to polygon before
sizing.
-keepOrthogonal 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Keep orthogonal edges.
0 : Cutting acute angle by its bisection regardless of
the vertical or horizontal edges.
Laker³ Tcl Reference Manual
K-2015.06
689
Chapter 7: Layout Window
Edit Commands
Argument
Description
-layerName layerName
Assign to another layer. The operation shape is
changed by a specific layer.
-newObj 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Assign to the newly created shape.
0 : Do not assign to the newly created shape.
-op booleanOperation
Set Boolean operation.
Valid values: OR, AND, NOT, XOR, and SIZE. If this is
set to SIZE, the point option has no effect; and in this
case, four values need to be specified by the order
Left, Bottom, Right, Top, for example,
{SIZE 0.5 -0.3 0 0.15}
-point point
(x0,y0)...(xn,yn)
Draw a point array. x0...xn specify the x coordinate
for the point array while y0...yn specify the y
coordinate.
-purpose purpose
Assign to another layer purpose. The operation shape
is changed by a specific purpose.
-truncate value
Specify a value to cut out the sharp angle.
Valid value: a floating number, greater than 0
(default=2.61).
Examples
# Example 1
lakerBoolean -op {SIZE -0.1 -0.1 0.1 0.1} -newObj 1 \
-layerName THIN
# Example 2
lakerBoolean -op AND -point (2.42,4.87) (2.42,12.3) \
(4.74,12.3) (4.74,4.87)
# Example 3
lakerBoolean -op NOT
-point (1.29,8.13) (1.29,9.89) (9.84,9.89) (9.84,8.13) \
-layerName poly
# Example 4
lakerBoolean -op {SIZE 0.2 0.2 0.2 0.2} -truncate 3.0
690
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
# Example 5
lakerBoolean -op {SIZE 3.0 3.0 3.0 3.0} -truncate 2.61 \
-convert 1 -newObj 1 -layerName OD
# Example 6
lakerBoolean -op {SIZE 0.5 0.5 0.5 0.5} -truncate 2.0 \
-keepOrthogonal 1 -absolute 1 -convert 1 -selObj 0
See Also
Layout Window: Edit > Boolean
lakerChgVia
The lakerChgVia command replaces all vias by specified net name or
location.
Syntax
lakerChgVia {-netName name -point (x0,y0)| -area (x1,y1)
(x2,y2)} -from viaName -to replaceName [-normalOnly 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-area (x1,y1) (x2,y2)
Specify the area to select via devices. x1 and x2 specify
the x coordinate for the area while y1 and y2 specify the
y coordinate.
-from viaName
Specify the via candidate for replacement.
-netName name
Specify the net name.
-normalOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Filter special routes during replacement.
0 : No filter.
-point (x0,y0)
Specify the position point to select a via device. x0
specifies a position value for the x coordinate point while
y0 specifies the value for the y coordinate point.
-to replaceName
Specify the target via (the via to be substituted).
Laker³ Tcl Reference Manual
K-2015.06
691
Chapter 7: Layout Window
Edit Commands
Examples
# Example 1
lakerChgVia -netName net1 -from via12E -to via12S
# Example 2
lakerChgVia -netName net1 -area (0,0)(10,10) -from via12E \
-to via12S
# Example 3
lakerChgVia -area (0,0)(10,10) -from via12E -to via12S \
-normalOnly 1
See Also
Layout Window: Edit > Others > Change Via
lakerChopObj
The lakerChopObj command chops the selected object with a point array.
Syntax
lakerChopObj -point point [-mode chopMode] [-keep 0|1] [keepPath 0|1] [-keepExtendPathEnds 0|1]
Returns
None
Arguments
Argument
Description
-keep 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Keep Chopped Area option.
0 : Disable the Keep Chopped Area option.
-keepExtendPathEnds 0|1 Valid values: Boolean values, 0 and 1.
1 : Enable the Keep Extend Path Ends in Chopped
Area option.
0 : Disable the Keep Extend Path Ends in Chopped
Area option.
-keepPath 0|1
692
Valid values: Boolean values, 0 and 1.
1 : Enable the Chop Path Centerline option.
0 : Disable the Chop Path Centerline option.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Argument
Description
-mode chopMode
Specify the chop mode.
Valid values: line, polygon, and rectangle
(default=rectangle). When line is specified, the
remove action has no effect.
-point point
(x0,y0)...(xn,yn)
Draw a point array to chop shapes. x0...xn specify
the x coordinate for the point array while y0...yn
specify the y coordinate.
Examples
# Example 1
lakerChopObj -mode line -point (0,0) (10,10) (25,20) (30,-35)
# Example 2
lakerChopObj -mode rectangle -point \
(21.368,32.128) (26.781,41.427) -keepExtendPathEnds 0|1
See Also
Layout Window: Edit > Chop
lakerCloneMaster
The lakerCloneMaster command copies the master cell of the specified
instance to another.
Syntax
lakerCloneMaster -cellname cellName -inst instName
Returns
None
Arguments
Argument
Description
-cellname cellName
Specify a new cell name.
-inst instName
Specify the action instance.
Examples
# Change the master cell of instance (xinvB) to cell (NewINV)
lakerCloneMaster -cellname NewINV -inst xinVB
Laker³ Tcl Reference Manual
K-2015.06
693
Chapter 7: Layout Window
Edit Commands
See Also
Layout Window: Edit > Clone Master
Design Browser: Clone Master
lakerContinueBus
The lakerContinueBus command continues drawing a bundle of the
selected paths or stack paths, and then changes their direction via the end
point of each path or stack path.
Syntax
lakerContinueBus -point point (x0,y0)...(xn,yn) [-ignoreNet
0|1]
Returns
None
Arguments
Argument
Description
-ignoreNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Ignore the net after the continue bus operation.
0 : Do not ignore the net after the continue bus operation.
-point point
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the point array
while y0...yn specify the y coordinate.
Examples
lakerContinueBus -point (16.265,-0.745) (14.87,-0.745) \
(14.87,-0.745) (13.33,-0.745) (13.33,0.42)
See Also
Layout Window: Edit > Continue Bus
lakerConvertToPoly
The lakerConvertToPoly command converts the selected objects to
polygon shapes.
Syntax
lakerConvertToPoly [-snapGrid 0|1]
694
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Returns
None
Arguments
Argument
Description
-snapGrid 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Snap vertices to the minimum grid resolution.
0 : Do not snap vertices to the minimum grid resolution.
Examples
lakerConvertToPoly
See Also
dbPathToPolygon
Layout Window: Edit > Others > Convert To Polygon
lakerCopyObj
The lakerCopyObj command copies the selected objects from the reference
point to the offset point.
Syntax
lakerCopyObj -refPoint (x0,y0) -offsetPoint offsetPoint [orient orientation] [-rows rowsNo] [-cols colsNo] [layerName layerName [-purpose purpose]] [-keepLogic 0|1]
[-autoArrange 0|1 [-colSpace colSpace | -rowSpace
rowSpace]]
Returns
None
Arguments
Argument
Description
-autoArrange 0|1
Valid values: Boolean values, 0 and 1.
1 : Arrange the array of copied objects automatically.
0 : Do not arrange the array of copied objects.
-cols colsNo
Specify the number of columns in the array of copied
objects.
Valid value: an integer (default=1).
Laker³ Tcl Reference Manual
K-2015.06
695
Chapter 7: Layout Window
Edit Commands
Argument
Description
-colSpace colSpace
Specify the interval between two columns.
Valid value: a positive or negative floating number.
-layerName layerName
Copy a shape to another layer. The copied shapes
are changed by a specific layer.
-keepLogic 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Preserve the logic information of copied
object(s).
0 : Do not preserve the logic information of copied
object(s).
-offsetPoint offsetPoint
(x0,y0) [(x1,y1) [(x2,y2)]]
Control the position of the copied object. xn
specifies an offset value from the x coordinate point
while yn specifies the value from the y coordinate
point.
-orient orientation
Specify the orientation for objects.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
-purpose purpose
Copy a shape to another layer purpose. The copied
shapes are changed by a specific purpose.
-refPoint (x0,y0)
Specify a reference coordinate to copy. x0 specifies
a reference position value for the x coordinate point
while y0 specifies the value for the y coordinate
point.
-rows rowsNo
Specify the number of rows in the array of copied
objects.
Valid value: an integer (default=1).
-rowSpace rowSpace
Specify the interval between two rows.
Valid value: a positive or negative floating number.
Examples
lakerCopyObj -refPoint (-17.73,24.571) -offsetPoint \
(-57.084,65.527) (-57.084,56.445) (-48.002,56.089) \
-cols 2 -rows 2 -orient R90 -layerName MET1 -purpose pin \
-keepLogic 1
696
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
See Also
Layout Window: Edit > Copy
lakerCopyToClipboard
The lakerCopyToClipboard command copies the selected objects to a
temporay memory area for later pasting action.
Syntax
lakerCopyToClipboard
Returns
None
Examples
lakerCopyToClipboard
See Also
Layout Window: Edit > Paste
lakerCorrectOffGridObj
The lakerCorrectOffGridObj command fixes off-grid instance or
geometric shape in the working cell view by shifting the off-grid point to the
closest grid point.
Syntax
lakerCorrectOffGridObj -mode mode -show option -correct item
Returns
None
Arguments
Argument
Description
-correct item
Specify the item to be corrected.
Valid values: index and all.
index: fixes particular object by giving its index number (1 2
3 ...) such as 1 represents the first matched item.all: fixes
all objects.
Laker³ Tcl Reference Manual
K-2015.06
697
Chapter 7: Layout Window
Edit Commands
Argument
Description
-mode mode
Define the filter mode for the search of off-grid objects.
Valid values: cell and select.
cell: searches on all objects within the working cell view.
select: searches on the selected objects only.
-show option
Define the filter mode for the matches of your search result.
Valid values: Instance and Shape.
Instance: displays off-grid instance only.
Shape: displays off-grid geometric shape only.
Examples
# Fix matched items 1 and 3 that the Find process found
# in the working cell view
lakerCorrectOffGridObj -mode cell -show Instance Shape \
-correct 1 3
See Also
Layout Window: Edit > Others > Correct Off-grid Object
lakerCutCorner
The lakerCutCorner command cuts the object corner at 45 degrees or
smooths the object corner with the Arc Sides setting.
Syntax
lakerCutCorner [-cutangleLen nLength] [-cutangleSides
nSides]
Returns
None
Arguments
698
Argument
Description
-cutangleLen nLength
Specify the cutting length (default=1.0).
-cutangleSides nSides
Specify the arc sides of the cutting corner (default=8).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Examples
# Example 1
# Cut the selected object corner to 8 sides using 0.2 radius
lakerCutCorner -cutangleLen 0.2 -cutangleSides 8
See Also
Layout Window: Edit > Others > Cut Corner
lakerCutFinBdry
The lakerCutFinBdry command cuts the fin boundary on design.
Syntax
lakerCutFinBdry [-cutLen nLength] [-stepTracksNum num] [lastStepTracks mode]
Returns
None
Arguments
Argument
Description
-cutLen nLength
Specify the cut length.
Valid value: a floating number (default=1.0).
-lastStepTracks mode
Specify the minimum number of tracks to be covered in
the last step.
Valid values: stepTracks and minTracks
(default=stepTracks).
-stepTrackNum num
Specify the number of step tracks to be covered in the
vertical segment for each step.
Valid value: an integer (default=1).
Examples
# Example 1
lakerCutFinBdry -cutLen 0.2 - stepTracksNum 2 \
-lastStepTracks stepTracks
See Also
Layout Window: Edit > Others > Cut Fin Boundary
Laker³ Tcl Reference Manual
K-2015.06
699
Chapter 7: Layout Window
Edit Commands
lakerCutPolyShape
When a poly shape is entirely crossed by a cut shape, and they are both on the
same design hierarchy, the lakerCutPolyShape command divides the poly
shape into two poly shapes.
Syntax
lakerCutPolyShape -cutoffLayer layerName [-cutoffPurpose
purposeName] -polyLayer layerName [-polyPurpose
purposeName]
Returns
None
Arguments
Argument
Description
-cutoffLayer
layerName
Specify the layer name of the cut layer.
-cutoffPurpose
purposeName
Specify the purpose name of the cut layer
(default=drawing).
-polyLayer
layerName
Specify the layer name of the poly layer.
-polyPurpose
purposeName
Specify the purpose name of the poly layer
(default=drawing).
Examples
# Example 1
lakerCutPolyShape -cutoffLayer POLY2 -polyLayer POLY
See Also
Layout Window: Edit > Others > Cut Poly Shape
lakerDeleteObj
The lakerDeleteObj command deletes the selected object(s).
Syntax
lakerDeleteObj
700
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Returns
None
Examples
lakerDeleteObj
See Also
Layout Window: Edit > Delete
lakerDtbAlign
The lakerDtbAlign command aligns more than one object at one time.
Syntax
lakerDtbAlign -opt alignOpt
Returns
None
Arguments
Argument
Description
-opt alignOpt
Valid values: left, right, verCenter, hozCenter,
bottom, top, verDistrib, and hozDistrib.
left: Align to the left.
right: Align to the right.
verCenter: Align to the vertical center.
hozCenter: Align to the horizontal center.
bottom: Align to the bottom.
top: Align to the top.
verDistrib: Vertical distribution with spacing.
hozDistrib: Horizontal distribution with spacing.
Examples
lakerDtbAlign -opt left
See Also
Layout Window: Edit > Others > Distributed & Align
Laker³ Tcl Reference Manual
K-2015.06
701
Chapter 7: Layout Window
Edit Commands
lakerGroupObj
The lakerGroupObj command joins selected objects into one group so they
behave as one unit.
Syntax
lakerGroupObj -append 0|1 -name groupName
Returns
None
Arguments
Argument
Description
-append 0|1
Valid values: Boolean values, 0 and 1.
1 : Append selected objects to an existing group.
0 : Create a new group.
-name groupName
Specify the group name.
Examples
lakerGroupObj -append 1 -name g1
See Also
Layout Window: Edit > Group
lakerHybridAlign
The lakerHybridAlign command aligns more objects at one time with
hybrid modes.
Syntax
lakerHybridAlign -mode mode [-align 0|1] [-distribute 0|1]
[-distributeMethod method] [-spacing value] [-orthogonal
0|1] [-sorting 0|1] [-orthogonalDirection Direction] [orthogonalSpacing value] [-reverseSorting 0|1] [sortMethod method] [-layerName layerName -purpose
purposeName] [-snap 0|1]
Returns
None
702
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Arguments
Argument
Description
-align 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Align option.
0 : Disable the Align option.
-distribute 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Distribute by option.
0 : Disable the Distribute by option.
-layerName layerName
-purpose purposeName
Specify the layer and the layer’s purpose name for
snapping boundary.
-distributeMethod method
Specify the distribute method.
Valid values: spacing and pitch.
-mode mode
Specify the align mode.
Valid values: alignLeft, alignRight, alignTop,
alignBottom, alignVerticalCenter, and
alignHorizontalCenter.
-orthogonal 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Orthogonal option.
0 : Disable the Orthogonal option.
-orthogonalDirection
Direction
Specify the orthogonal direction.
Valid values: rightUp, rightDown, topLeft, and
topRight.
-orthogonalSpacing value
Specify the orthogonal distance between objects’
edges or centers.
-reverseSorting 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Reverse option.
0 : Disable the Reverse option.
-snap 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Snap by Reference Point option.
0 : Disable the Snap by Reference Point option.
-sorting 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Sorting by option.
0 : Disable the Sorting by option.
Laker³ Tcl Reference Manual
K-2015.06
703
Chapter 7: Layout Window
Edit Commands
Argument
Description
-sortMethod method
Specify the sorting method.
Valid values: InstanceName, CellName, and
NetName.
-spacing value
Specify the distance between objects’ edges or
centers.
Examples
lakerHybridAlign -align 1 -alignMode alignLeft -distribute 1 \
-spacing 100 -orthogonalSpacing 1 -orthogonalSpacingValue 200 \
-distributeMethod spacing -sorting 1 -sortingMethod CellName \
-reverseSorting 0 -snap 0
See Also
Layout Window: Edit > Others > Distributed and Align
lakerLayerGen
The lakerLayerGen command changes the shapes of specific layer by using
the Boolean operation.
Syntax
lakerLayerGen -layerName layerName1 layerName2 layerName3
[-with operationWith] [-purpose purpose1 purpose2
purpose3] [-op booleanOperation]
Returns
None
Arguments
Argument
Description
-layer layerName1
layerName1 specifies the layer of main shapes,
layerName2 layerName3 layerName2 specifies the layer of operating shapes,
and layerName3 specifies the layer of resulting
shapes.
-op booleanOperation
704
Set the Boolean operation.
Valid values: OR, AND, NOT, and XOR (default=OR).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Argument
Description
-purpose purpose1
purpose2 purpose3
purpose1 specifies the purpose of main shapes,
purpose2 specifies the purpose of operating
shapes, and purpose3 specifies the purpose of
resulting shapes. (default=drawing)
-with operationWith
Set the operation objects are from visible layers or
selectable layers.
Valid values: visible and select
(default=visible).
Examples
lakerLayerGen -op AND -layerName PIMP POLY PWELL
lakerLayerGen -op NOT -with select -layerName PIMP POLY PWELL
See Also
dbLayerGen
Layout Window: Edit > Others > Layer Gen...
lakerMakeCell
The lakerMakeCell command makes a cell view from the selected objects.
Syntax
lakerMakeCell -cell cellName [-lib libName] -view viewName
-instname instName [-replace 0|1] [-overwrite 0|1] [originOffset (Dx,Dy)] [-originPoint (x,y)]
Returns
None
Arguments
Argument
Description
-cell cellName
Specify the new cell.
-instname
instName
Specify the new instance name.
-lib libName
Specify the library database. The default is the active
library.
Laker³ Tcl Reference Manual
K-2015.06
705
Chapter 7: Layout Window
Edit Commands
Argument
Description
-originOffset (Dx,Dy)
Set the origin offset. The default is (0,0).
-originOffset takes higher priority than
-originPoint.
-originPoint (x,y)
Set the point of the top cell view as the instance origin. The
default is (0,0).
-overwrite 0|1
Valid values: Boolean values, 0 and 1.
1 : Overwrite the selected cell.
0 : Do not overwrite the selected cell.
-replace 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Replace Figures option.
0 : Disable the Replace Figures option.
-view viewName
Specify the view type of the cell (default=layout).
Examples
# Example 1
lakerMakeCell -replace 1 -cell INV_0 -view layout \
-instname aaa -overwrite 1
See Also
lakerSchMakeNode
dbSchMakeNode
Layout Window: Edit > Make Cell
lakerMergeObj
The lakerMergeObj command merges the selected shapes that touch or
overlap each other into one shape. Shapes on different layers cannot be
merged.
Syntax
lakerMergeObj [-sameNetOnly 0|1] [-moveColPoint 0|1]
Returns
None
706
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Arguments
Argument
Description
-sameNetOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Merge shapes with the same net.
0 : Merge shapes but the belonging net name is cleared.
-moveColPoint 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Delete the points that approximate to collinear after
merging.
0 : Keep the points that approximate to collinear after
merging.
Examples
# Example 1
lakerMergeObj -sameNetOnly 1
# Example 2
lakerMergeObj -moveColPoint 1
See Also
Layout Window: Edit > Merge
lakerMirrorX
The lakerMirrorX command mirrors the selected objects along the x-axis.
Syntax
lakerMirrorX [-individual 0|1]
Returns
None
Arguments
Argument
Description
-individual 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Individual Swap option.
0 : Disable the Individual Swap option.
Examples
lakerMirrorX
Laker³ Tcl Reference Manual
K-2015.06
707
Chapter 7: Layout Window
Edit Commands
See Also
Layout Window: Edit > Others > Mirror X
lakerMirrorY
The lakerMirrorY command mirrors the selected objects along the y-axis.
Syntax
lakerMirrorY [-individual 0|1] [-refPoint (x0,y0)]
Returns
None
Arguments
Argument
Description
-individual 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Individual Swap option.
0 : Disable the Individual Swap option.
-refPoint (x0,y0)
Specify a reference coordinate to mirror. x0 specifies a
reference position value for the x coordinate point while y0
specifies the value for the y coordinate point.
Examples
# Example 1
lakerMirrorY -refPoint (-16.58169,-13.31044)
# Example 2
lakerMirrorY -individual 1
See Also
Layout Window: Edit > Others > Mirror Y
lakerMoveObj
The lakerMoveObj command moves the selected object from reference point
to offset point.
708
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Syntax
lakerMoveObj -refPoint (x0,y0) -offsetPoint (x0,y0) [-orient
orientation] [-layerName layerName [-purpose purpose]]
[-ignoreNet 0|1]
Returns
None
Arguments
Argument
Description
-ignoreNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Ignore the net of shapes/contacts.
0 : Do not ignore the net of shapes/contacts.
-layerName layerName
Move a shape to another layer. The moved shapes
are changed by a specific layer.
-offsetPoint (x0,y0)
Specify an offset direction to move. x0 specifies an
offset value from the x coordinate point while y0
specifies the value from the y coordinate point.
-orient orientation
Specify the orientation for objects.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
-purpose purpose
Move a shape to another layer purpose. The moved
shapes are changed by a specific purpose.
-refPoint (x0,y0)
Specify a reference coordinate to move. x0 specifies
a reference position value for the x coordinate point
while y0 specifies the value for the y coordinate point.
Examples
lakerMoveObj -refPoint (3.440,15.890) \
-offsetPoint (9.210,11.890) -orient R90 -layerName FUSE1
See Also
Layout Window: Edit > Move
Laker³ Tcl Reference Manual
K-2015.06
709
Chapter 7: Layout Window
Edit Commands
lakerPasteObj
The lakerPasteObj command pastes the copied or yanked object from
clipboard to the current cell view.
Syntax
lakerPasteObj -point (x0,y0) [-stack 0|1] [-guiMode 0|1]
[-oneExecute 0|1] [-procedure procedureName] [clientData clientData] [-orient orientation] [-justify
justification]
Returns
None
Arguments
710
Argument
Description
-clientData
clientData
Specify the client data, which is treated as the second
argument of the specified procedure.
-guiMode 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Apply the interactive GUI mode after this Tcl is exectued
and show the rubber banding of stacked layout objects.
0 : Do not apply the interactive GUI mode after this Tcl is
executed.
-justify
justification
Specify the justification of the pasting referenced point.
Valid values: Original, UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight, and
LowerRight (default=Original).
-oneExecute 0|1
Valid values: Boolean values, 0 and 1.
1 : Execute this Tcl in one time execution mode.
0 : Execute this Tcl in continuous mode.
-orient
orientation
Specify the orientation.
Valid values: R0, R90, R180, R270, MXR0, MXR90, MYR0,
and MYR90 (default=R0).
-point (x0,y0)
Specify a position to paste. x0 specifies a position value for
the x coordinate point while y0 specifies the value for the y
coordinate point.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Argument
Description
-procedure
procedureName
Specify a Tcl procedure name. For example:
proc tcl_procedure {reason clientData} {...}
-stack 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the stacking function.
0 : Disable the stacking function.
Examples
# Example 1
lakerPasteObj -point (9.210,11.890) -orient R90
# Example 2
lakerPasteObj -point (0.0,2.89) -justify Original -stack 1 \
-guiMode 1 -oneExecute 0 -procedure iPasteCB \
-clientData [lakerGetSelSet]
# Example 3
lakerPasteObj -point (22.935,12.25) -justify CenterCenter \
-stack 1 -guiMode 1 -procedure iPasteCB
See Also
Layout Window: Edit > Paste
lakerPropagateNet
The lakerPropagateNet command assigns a net to all shapes, route
objects, or instance pins without a net name in the working cell view by
propagating the net name from their overlapping shapes, route objects, or
instance pins.
Syntax
lakerPropagateNet
Returns
None
Examples
lakerPropagateNet
See Also
Layout Window: Edit > Net Operation > Propagate Net
Laker³ Tcl Reference Manual
K-2015.06
711
Chapter 7: Layout Window
Edit Commands
lakerReassignNet
The lakerReassignNet command reassigns an existing net to another net
name.
Syntax
lakerReassignNet -netName newName
Returns
None
Arguments
Argument
Description
-netName newName
Specify a net name to the selected objects.
Examples
lakerReassignNet -netName n1
See Also
Layout Window: Edit > Net Operation > Reassign Net
lakerRedo
The lakerRedo command repeats the last editing command.
Syntax
lakerRedo
Returns
None
Examples
# redo the last editing command
lakerRedo
See Also
Layout Window: Edit > Redo
712
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
lakerRepeatObj
The lakerRepeatObj command repeats the last copy command to newly
selected objects.
Syntax
lakerRepeatObj
Returns
None
Examples
lakerRepeatObj
See Also
Layout Window: Edit > Others > Repeat
lakerReshapeObj
The lakerReshapeObj command reshapes the selected object with a point
array.
Syntax
lakerReshapeObj -point point [-mode reshapeMode] [-swap
swapNo]
Returns
None
Arguments
Argument
Description
-mode reshapeMode
Reshape mode sets whether you are adding a
rectangle, polygon or redrawing a path.
Valid values: rectangle and line
(default=rectangle).
-point point
(x0,y0)...(xn,yn)
Draw a point array to reshape a shape. x0...xn specify
the x coordinate for the point array while y0...yn
specify the y coordinate.
Laker³ Tcl Reference Manual
K-2015.06
713
Chapter 7: Layout Window
Edit Commands
Argument
Description
-swap swapNo
The reshape action always makes two shapes but only
one can be selected; while the swap option selects the
value that is not selected by default.
Examples
lakerReshapeObj -mode line -swap 1 \
-point (0,0) (10,10) (25,20) (30,-35)
See Also
Layout Window: Edit > Reshape
lakerRotate
The lakerRotate command rotates the selected objects at any angle. This
command does not support the rotation of MCells, instances, text labels, Tcl
PCells, ruler labels, and dimension marks.
Syntax
lakerRotate -point (x0,y0) -angle angle [-snap 0|1]
Returns
None
Arguments
Argument
Description
-angle angle
Specify the angle to rotate the object.
-point (x0,y0)
x0 specifies a position value for the x coordinate point while y0
specifies the value for the y coordinate point.
-snap 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Snap rotated objects onto the grid resolution.
0 : Do not snap rotated objects onto the grid resolution.
Examples
lakerRotate -point (0,0) -angle 20.0 -snap 1
See Also
Layout Window: Edit > Others > Rotate
714
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
lakerRotate90
The lakerRotate90 command turns the selected objects at 90 degrees
counterclockwise.
Syntax
lakerRotate90
Returns
None
Examples
lakerRotate90
See Also
Layout Window: Edit > Others > Rotate 90
lakerSelGroupByName
The lakerSelGroupByName command queries groups by name and adds
the matched group to the select set.
Syntax
lakerSelGroupByName -groupName groupName -zoomTo 0|1
Returns
None
Arguments
Argument
Description
-groupName
groupName
Specify the group name. Multiple groups must be separated
by spaces.
-zoomTo 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Fit the highlighted group to screen.
0 : Highlight the group with the current viewing area.
Examples
lakerSelGroupByName -groupName g3 g5 -zoomTo 1
Laker³ Tcl Reference Manual
K-2015.06
715
Chapter 7: Layout Window
Edit Commands
See Also
Layout Window: Edit > Group Operation > Select Group By Name
lakerShiftOrigin
The lakerShiftOrigin command shifts the original point of the active cell
view to a new origin.
Syntax
lakerShiftOrigin -point (x0,y0)
Returns
None
Arguments
Argument
Description
-point (x0,y0)
x0 specifies a position value for the x coordinate point while
y0 specifies the value for the y coordinate point.
Examples
lakerShiftOrigin -point (9.210,11.890)
See Also
dbShiftOrigin
Layout Window: Edit > Others > Shift Origin
lakerSlitSlot
The lakerSlitSlot command slots on AnyAngle metal shapes.
Syntax
lakerSlitSlot -action create -mode mode [-slitLayer {layer
purpose}] [-guideline {layer purpose} [deleteGuideline]] [-operation booleanOP -blockLayer
{layer purpose}] [-ruleDef rules]
lakerSlitSlot -loadRuleFile -filename fileName
lakerSlitSlot -saveRuleFile -filename fileName
Returns
None
716
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Arguments
Argument
Description
-action create
Generate slot shapes.
-blockLayer
{layer purpose}
Specify the layer and purpose of the blockage layer.
-deleteGuideline
Delete the guildline after slitting.
-fileName
fileName
Specify the rule file for loading and saving.
-guideline
{layer purpose}
Specify the layer and purpose of the guideline layer.
-loadRuleFile
Load the rules from an existing file.
-mode mode
Specify the slitting mode.
Valid values: Cell and Select (default=Cell).
-operation
booleanOP
Specify the Boolean operation between the slit layer and
the blockage layer.
Valid values: AND and NOT.
-ruleDef rules
Specify the slit rules with the following format:
{rulename value}.
-saveRuleFile
Save the rules to a file.
-slitLayer
{layer purpose}
Specify the layer and purpose of the slit layer.
Laker³ Tcl Reference Manual
K-2015.06
717
Chapter 7: Layout Window
Edit Commands
Examples
# Example 1
lakerSlitSlot -action create -slitLayer {Met1 drawing} \
-guideline {poly drawing} -operation not -blockLayer \
{BLOCK1 drawing} -mode cell -ruleDef {slitWidth 3}
# Example 2
# Load the rule file
lakerSlitSlot -loadRuleFile -filename /home/work/laker.st \
-saveToRC 0
# Example 3
# Save the rule file
lakerSlitSlot -saveRuleFile -filename /home/work/laker.st \
-saveToRC 0
See Also
Layout Window: Edit > Slit
lakerSmashObj
The lakerSmashObj command flattens the number of levels of instances,
which include Tcl PCells, MCells and leaf cells as polygon data, based on the
user-specified level.
Syntax
lakerSmashObj [-level level] [-SmashArrayInst 0|1] [autoGroup 0|1] [-smashStripedWire 0|1]
Returns
None
Arguments
718
Argument
Description
-autoGroup 0|1
Valid value: Boolean values, 0 and 1 (default=0).
1 : Group objects of the smashed instance automatically.
0 : Do not group objects of the smashed instance.
-level level
Specify the number of design hierarchy levels to be
smashed (default=all levels).
Valid value: a non-negative integer, 1-50 (default=1).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Argument
Description
-SmashArrayInst 0|1
Valid value: Boolean values, 0 and 1 (default=0).
1 : Smash instances, arrays or MCells.
0 : Do not smash any instances, arrays or MCells.
-smashStripedWire 0|1
Valid value: Boolean values, 0 and 1 (default=0).
1 : Only the striped wire is smashed and the normal
instance or MCell are not smashed.
0 : Do not smash any stripe wires or normal instances/
MCells.
Examples
# Example 1
lakerSmashObj -level 1 -SmashArrayInst 1
# Example 2
lakerSmashObj -level 2 -autoGroup 1
See Also
dbSmashInst
dbSchFlatten
lakerSchFlattenAll
lakerSchFlattenLvl
lakerSchFlattenOne
Layout Window: Edit > Smash
lakerSplitArray
The lakerSplitArray command separates selected instance arrays.
Syntax
lakerSplitArray [-swap swapNo] -point (x1,y1) (x2,y2)
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
719
Chapter 7: Layout Window
Edit Commands
Arguments
Argument
Description
-point
(x1,y1) (x2,y2)
Draw a line to split instance array. x1, x2 specify the x
coordinate for the point array while y1, y2 specify the y
coordinate.
-swap swapNo
The split action makes two parts of split segment but only
one can be selected; while the swap option selects the
value that is not selected, by default.
Examples
lakerSplitArray -swap 1 -point (7.318,6.349) (13.533,6.349)
See Also
Layout Window: Edit > Split Array
lakerSplitNet
The lakerSplitNet command splits an existing net to multiple net segments.
Syntax
lakerSplitNet [-mode splitMode] -points point list -net
{{netName (x,y)} ... }
Returns
None
Arguments
720
Argument
Description
-mode splitMode
Specify the split mode to control the shape to be used
as the cutter.
Valid values: rectangle and polygon
(default=rectangle).
-net
{{netName (x,y)} ... }
Specify the objects included in the region, the point
(x,y) located on, with the net name.
-points point list
Draw a point array to split net. x0...xn specifies x
corrdinate for the point array while y0...yn specifies
y coordinate.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Examples
# Example 1
lakerSplitNet -mode rectangle -points \
(21.368,32.128) (26.781,41.427) \
-net {n1_1 (21.368,33.763)} {n1_2 (26.781,33.763)}
# Example 2
lakerSplitNet -mode polygon \
-points (20.813,41.288) (20.813,32.128) (8.877,32.128) \
(8.877,27.548) (8.877,27.548) (25.671,27.548) (25.671,41.288) \
-net {n1_1 (25.671,30.794)} {n1_2 (18.395,27.548)} \
{n1_3 (11.074,32.128)} {n1_4 (23.553,27.548)}
See Also
Layout Window: Edit > Net Operation > Split Net
lakerSplitObj
The lakerSplitObj command uses a line to spilt and stretches the selected
object from reference point to offset point.
Syntax
lakerSplitObj -point point -refPoint (x0,y0) -offsetPoint
(x0,y0) [-swap swapNo] [-lockAngle 0|1] [-layerName
layerName] [-purpose purpose]
Returns
None
Arguments
Argument
Description
-layerName
layerName
Stretch a shape to another layer. The stretched shapes
are changed by a specific layer.
-lockAngle 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Lock the angle of objects while stretching in order to
prevent changes.
0 : Do not lock the angle of objects while stretching.
-offsetPoint (x0,y0)
Specify an offset direction to stretch part of splitter
edges. x0 specifies an offset value from the x
coordinate point while y0 specifies the value from the y
coordinate point.
Laker³ Tcl Reference Manual
K-2015.06
721
Chapter 7: Layout Window
Edit Commands
Argument
Description
-point point
(x0,y0)...(xn,yn)
Draw a line to split shapes. x0...xn specify the x
coordinate for the point array while y0...yn specify
the y coordinate.
-purpose purpose
Stretch a shape to another layer purpose. The
stretched shapes are changed by a specific purpose.
-refPoint (x0,y0)
Specify a reference coordinate to stretch part of splitter
edges. x0 specifies a reference position value for the x
coordinate point while y0 specifies the value for the y
coordinate point.
-swap swapNo
The split action makes two parts of stretched edges but
only one can be selected; while the swap option selects
the value that is not selected, by default.
Examples
lakerSplitObj -lockAngle 1 -point (0,0) (10,10) (25,20) (30,-35)
-refPoint (-6.020,13.650) -offsetPoint (-4.420,12.120) layerName POLY
See Also
Layout Window: Edit > Split
lakerStretchObj
The lakerStretchObj command stretches the selected object from a
reference point to an offset point.
Syntax
lakerStretchObj [-push] -refPoint (x0,y0) -offsetPoint
(x0,y0) [-lockAngle 0|1] [-layerName layerName [-purpose
purpose]] [-ignoreNet 0|1] [-slideRail mode]
Returns
None
722
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Arguments
Argument
Description
-ignoreNet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Ignore Logic Information (Shape/Contact)
option.
0 : Disable the Ignore Logic Information (Shape/Contact)
option.
-layerName
layerName
Stretch a shape to another layer. The stretched shapes
are changed by a specified layer.
-lockAngle 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Lock Angle option.
0 : Disable the Lock Angle option.
-offsetPoint (x0,y0)
Specify an offset direction to stretch. x0 specifies an
offset value from the x coordinate point while y0
specifies the value from the y coordinate point.
-purpose purpose
Stretch a shape to another layer purpose. The stretched
shapes are changed by a specific purpose.
-push
Enable the push-wire function.
-refPoint (x0,y0)
Specify a reference coordinate to stretch. x0 specifies a
reference position value for the x coordinate point while
y0 specifies the value for the y coordinate point.
-slideRail mode
Specify the slide-rail mode.
Valid values: individual, backbone, and fixedVia
(default=individual).
Examples
# Example 1
lakerStretchObj -refPoint (-6.0,13.6) -offsetPoint (4.420,12.120) \
-layerName POLY
# Example 2
lakerStretchObj -push -refPoint (-1.49,1.28) -ignoreNet 0 \
-offsetPoint (-1.49,-0.96)
# Example 3
lakerStretchObj -slideRail fixedVia -refPoint (3.425,1.855) \
-ignoreNet 0 -offsetPoint (3.425,2.105)
Laker³ Tcl Reference Manual
K-2015.06
723
Chapter 7: Layout Window
Edit Commands
See Also
Layout Window: Edit > Stretch
lakerStripeWire
The lakerStripeWire command stripes selected wire objects, including
paths, pathSegs, and vias.
Syntax
lakerStripeWire [-policy StripePolicy] [-beginStrap 0|1] [endStrap 0|1] [-expandSel]
Returns
None
Arguments
Argument
Description
-beginStrap 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Indicate there is a strap at the begin terminal.
0 : Do not indicate the strap at the begin terminal.
-endStrap 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Indicate there is a strap at the end terminal.
0 : Do not indicate the strap at the end terminal.
-expandSel
When specified, expands selection from current selected
objects.
-policy StripePolicy
Sets striped width, spacing, and number.
Valid values: Optimal, Footprint, and Width
(default=Optimal).
Examples
# Stripe the selected wire objects with optimal policy,
# do not create strap at begin/end.
lakerStripeWire -policy Optimal -beginStrap 0 -endStrap 0 \
-expandSel
724
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
lakerSwapInstPort
The lakerSwapInstPort command swaps the net of two specified instance
ports.
Syntax
lakerSwapInstPort [[-inst instance_name] | -portName
port_name]
Returns
None
Arguments
Argument
Description
-inst instance_name
Specify the instance.
-portName port_name
Specify the two ports to be swapped.
Examples
# Swap the net of instance(xsc) port(a,b)
lakerSwapInstPort -inst xsc -portName a b
See Also
Layout Window: Edit > Net Operation > Swap Instance Port
lakerSwapPort
lakerTrimWire
The lakerTrimWire command trims the edge of selected objects to the
nearest wire, the cross edge or area.
Syntax
lakerTrimWire [-mode mode] [-net 0|1]
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
725
Chapter 7: Layout Window
Edit Commands
Arguments
Argument
Description
-mode mode
Specify the preferred mode for trimming.
Valid values: Wire, ViaEdge, and ViaCnter
(default=Wire).
-net 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Trim by Net option.
0 : Disable the Trim by Net option.
Examples
# To trim the wire to the nearest edge of the cross object
# without considering the net relationship
lakerTrimWire -mode Wire -net 0
See Also
Layout Window: Edit > Others > Trim Wire
lakerTunnelObj
The lakerTunnelObj command makes an opening through the selected path
with a point array, and then replaces the opening with a contact and connects
the path with a new layer.
Syntax
lakerTunnelObj -point point -cutoffLayerName
cutoffLayerName [-cutoffPurpose cutoffPurpose] replaceLayerName replaceLayerName [-replacePurpose
replacePurpose] [-via2via via2via] [-contRow contRow]
[-repWidth repWidth] [-xLay1Enc xLay1Enc] [-yLay1Enc
yLay1Enc] [-xLay2Enc xLay2Enc] [-yLay2Enc yLay2Enc] [viaGroup mode -viaDef ViaName]
Returns
None
Arguments
726
Argument
Description
-contRow contRow
Specify the number of rows for contact arrays.
Valid value: an integer (default=1).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
Argument
Description
-cutoffLayerName
cutoffLayerName
Assign to a cutoff layer. The operation shape is cut by
a specified layer.
-cutoffPurpose
cutoffPurpose
Assign to a cutoff layer purpose. The operation shape
is cut by a specified purpose (default=drawing).
-point point
(x0,y0)...(xn,yn)
Draw a point array to tunnel path shapes. x0...xn
specify the x coordinate for the point array while
y0...yn specify the coordinate.
-replaceLayerName
replaceLayerName
Assign to another layer. The operation shape is
changed by a specified layer.
-replacePurpose
replacePurpose
Assign to another layer purpose. The operation shape
is changed by a specified purpose (default=drawing).
-repWidth repWidth
Change to the replaced path width. The cutoff width is
kept by default.
-via2via via2via
Specify the spacing for the center of the contact
position to another between two paths.
Valid value: a floating number (default=0.0)
-viaDef ViaName
Specify the name of the via definition.
-viaGroup mode
Specify the via group.
Valid values: MCell and RouteVia.
If -viaGroup MCell is specified and the MCell
contact device definition exists in the technology file,
vias are created based on the MCell contact device
definition.
If -viaGroup RouteVia is specified and the
standard/custom via definition exists in the technology
file, vias are created based on the standard/custom via
definition.
If -viaGroup is not specified, vias are created
automatically when changing the layer.
-xLay1Enc xLay1Enc
Laker³ Tcl Reference Manual
K-2015.06
Specify the horizontal enclosure distance between the
contact layer and the first connected layer.
727
Chapter 7: Layout Window
Edit Commands
Argument
Description
-xLay2Enc xLay2Enc
Specify the horizontal enclosure distance between the
contact layer and the second connected layer.
-yLay1Enc yLay1Enc
Specify the vertical enclosure distance between the
contact layer and the first connected layer.
-yLay2Enc yLay2Enc
Specify the vertical enclosure distance between the
contact layer and the second connected layer.
Examples
# Example 1
lakerTunnelObj -point (0,0) (10,10) (25,20) (30,-35) \
-cutoffLayerName POLY -replaceLayerName MET1
# Example 2
lakerTunnelObj -point (-1547.94,-27.495) (-1547.94,-19.99) \
(-1537.81,-19.99) (-1537.81,-27.495) \
-cutoffLayerName METAL1 -replaceLayerName METAL2 \
-viaGroup RouteVia -viaDef via1Array -xLay1Enc 0.2 \
-yLay1Enc 0.2 -xLay2Enc 0.2 -yLay2Enc 0.2
# Example 3
lakerTunnelObj -point (-1552.89,-20.195) (-1552.89,-15.795) \
(-1545.705,-15.795) (-1545.705,-20.195) \
-cutoffLayerName METAL1 -replaceLayerName METAL2 \
-viaGroup MCell -viaDef M1_M2 -xLay1Enc 0.2 -yLay1Enc 0.2 \
-xLay2Enc 0.2 -yLay2Enc 0.2
See Also
Layout Window: Edit > Tunnel
lakerUndo
The lakerUndo command reverses the last editing command.
Syntax
lakerUndo
Returns
None
Examples
# undo the last editing command
lakerUndo
728
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Edit Commands
See Also
Layout Window: Edit > Undo
lakerUngroupObj
The lakerUngroupObj command separates previously grouped objects so
that they can be manipulated individually.
Syntax
lakerUngroupObj [-level level]
Returns
None
Arguments
Argument
Description
-level level
Specify the number of design hierarchy levels to be ungrouped.
Valid value: a non-negative integer, 1-50.
Examples
lakerUngroupObj -level 1
See Also
Layout Window: Edit > Ungroup
lakerYankObj
The lakerYankObj command returns a clipboard cell view identifier if the
selected objects or a set of area enclosing the objects can be copied to the
yank buffer for later pasting.
Syntax
lakerYankObj -refPoint (x,y) [-point (x1,y1) ... (xn,yn)]
Returns
A clipboard cell view identifier if successful; otherwise, returns nothing.
Laker³ Tcl Reference Manual
K-2015.06
729
Chapter 7: Layout Window
SDL Commands
Arguments
Argument
Description
-point (x1,y1) ... (xn,yn)
Specify the coordinate points for yank area. If you
specify two points only, (x1,y1) specifies the lower
left corner of the bounding box while (x2,y2)
specifies the upper right corner. If this argument is
not specified, the selected objects are copied to the
yank buffer.
-refPoint (x,y)
Specify the referenced point for later pasting.
Examples
# for yank the selected objects
lakerYankObj
# if nothing selection, yank with rectangle
lakerYankObj -point (3.0,15.0) (9.0,11.5)
# if nothing selection, yank with polygon
lakerYankObj -point (0.0,0.0) (0.0,5.0) (5.0,5.0) (5.0,10.0)
(10.0,10.0) (10.0,0.0)
See Also
Layout Window: Edit > Yank
SDL Commands
This section describes the Tcl commands applied to the SDL commands of the
Layout window. These commands include:
730
■
lakerCopyAssoc
■
lakerCrSoftPin
■
lakerDelPin
■
lakerDelSoftPin
■
lakerGenPin
■
lakerMatch
■
lakerPasteWithLogic
■
lakerPatternReuse
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
SDL Commands
■
lakerToStickDiagram
■
lakerYankWithLogic
lakerCopyAssoc
The lakerCopyAssoc command copies a selected layout pattern on the
layout window and associate the logic information for the matched candidates.
Syntax
Dump the searched results of candidates:
lakerCopyAssoc [-mode mode] [-selObj 0|1] [-parameter 0|1]
[-autoMapInfo fileName]
Create and associate the data:
lakerCopyAssoc [-arrayMode 0|1] [-rearrangeMaster 0|1] [cols columnNum -rows rowNum -typeIn 0|1 -colSpace colSpace
-rowSpace rowSpace] [-orient orientationList] [-mapInfo
mapInfoList -point point (x0,y0)...(xn,yn)] [[rowDoubleBack 0|1] [-colDoubleBack 0|1] [-flipRow 0|1]
[-flipCol 0|1]]
Returns
None
Arguments
Argument
Description
-arrayMode 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Arrange objects by array style.
0 : Do not arrange objects by array style.
-autoMapInfo
fileName
Specify the output file to save the candidate data.
-colDoubleBack 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Double Back for Columns option.
0 : Disable the Double Back for Columns option.
This argument is valid only if -arrayMode 1 is
specified.
-cols colsNum
Specify the number of columns for instances.
Valid value: an integer (default=1).
Laker³ Tcl Reference Manual
K-2015.06
731
Chapter 7: Layout Window
SDL Commands
732
Argument
Description
-colSpace
colSpace
Specify the number of instances for y coordinate
spacing.
Valid value: a floating number.
-flipCol 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Flip All Columns option.
0 : Disable the Flip All Columns option.
This argument is valid only if -arrayMode 1 is
specified.
-flipRow 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Flip All Rows option.
0 : Disable the Flip All Rows option.
This argument is valid only if -arrayMode 1 is
specified.
-mapInfo
mapInfoList
Specify the mapping information list with the following
format:
{ {userDefInstName1} {mapInstName1}
{userDefInstName2} {mapInstName2}...}
{ {userDefNetName1} {mapNetName1}
{userDefNetName2} {mapNetName2}...}}
where userDefInstName is the specified instance,
userDefNetName is the specified net, mapInstName
is the instance to be reused, and mapNetName is the net
to be reused.
-mode mode
Valid values: connection and topology
(default=connection).
connection : Only the net connection is considered
when searching candidates.
topology : No net connection but the topology
relationship is considered when searching candidates.
-orient
orientationList
Specify the orientation list with the following format: {
R0 R0 R90 R180 ... }
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
SDL Commands
Argument
Description
-parameter 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Compare with the device parameters (dimension), for
example: W and L for MOS devices, and value for
resistors and capacitors.
0 : Do not compare with the above device parameters.
-point point
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the point array
while y0...yn specify the y coordinate.
-rearrangeMaster 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Rearrange master cells.
0 : Do not rearrange master cells.
This argument is valid only if -arrayMode 1 is
specified.
-rowDoubleBack 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Double Back for Rows option.
0 : Disable the Double Back for Rows option.
This argument is valid only if -arrayMode 1 is
specified.
-rows rowsNum
Specify the number of rows for instances.
Valid value: an integer (default=1).
-rowSpace
rowSpace
Specify the number of instances for the x coordinate
spacing.
Valid value: a floating number.
-selObj 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Selected Objects option.
0 : Disable the Selected Objects option.
-typeIn 0|1
Valid values: Boolean values, 0 and 1.
1 : Specify the x- and y-spacing between objects when
copying them with array mode.
0 : Do not specify the x- and y-spacing between objects
when copying them with array mode.
Laker³ Tcl Reference Manual
K-2015.06
733
Chapter 7: Layout Window
SDL Commands
Examples
# Example 1
# Dump the searched results to a file
lakerCopyAssoc -mode topology -selObj 1 -parameter 0 \
-autoMapInfo topology.out
# Example 2
lakerCopyAssoc -arrayMode 1 -cols 2 -rows 3 -typeIn 1 \
-colSpace 2.5 -rowSpace 3.3 -mapInfo \
{{{M10} {M9} {M11} {M12}} {{M14} {M13} {M15} {M16}} \
{{M20} {M19} {M17} {M18}} {{M25} {M26} {M28} {M27}} \
{{M95} {M96} {M97} {M98}} {{M5} {M6} {M8} {M7}}} \
-point (31.25,11.02) -orient { R0 }
# Example 3
lakerCopyAssoc -arrayMode 0 -mapInfo \
{{{M10} {M9} {M11} {M12}} {{M14} {M13} {M15} {M16}} \
{{M20} {M19} {M17} {M18}} {{M25} {M26} {M28} {M27}} \
{{M95} {M96} {M97} {M98}} {{M5} {M6} {M8} {M7}}} \
-point (40.72,52.668) (34.096,47.463) (30.31,35.633) \
(52.55,44.624) (31.257,28.772) (63.906,42.494) \
-orient { R0 R0 R90 R180 R270 R0 }
See Also
Layout Window: SDL > Copy & Associate
lakerCrSoftPin
The lakerCrSoftPin command creates soft pin after opening the layout cell.
Syntax
lakerCrSoftPin
Returns
None
Examples
lakerCrSoftPin
See Also
Layout Window: SDL > Soft Pin > Create Soft Pin
734
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
SDL Commands
lakerDelPin
The lakerDelPin command deletes all system pins, generated by the
Generate System Pin command.
Syntax
lakerDelPin
Returns
None
Examples
lakerDelPin
See Also
Layout Window: SDL > Delete System Pin
lakerDelSoftPin
The lakerDelSoftPin command deletes the selected soft pin.
Syntax
lakerDelSoftPin
Returns
None
Examples
lakerDelSoftPin
See Also
Layout Window: SDL > Soft Pin > Delete Soft Pin
lakerGenPin
The lakerGenPin command creates real pins for soft pins. It automatically
creates pin shapes from the traversed shape with net and port properties and
removes the soft pin(s) after realization.
Laker³ Tcl Reference Manual
K-2015.06
735
Chapter 7: Layout Window
SDL Commands
Syntax
lakerGenPin [-points points] [-genPinBy label|net|mix]
[-report 0|1] [-topLevelOnly 0|1] [-extLevel levelNo]
[-useColonVirtual 0|1] [-pinSize 0|1 -width width [excludePoly 0|1] [-topMetalLayer number] [-thruVia 0|1]]
[-usePinPurpose 0|1] [-placementStatus status]
Returns
1 if successful; otherwise, returns 0.
Arguments
736
Argument
Description
-excludePoly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Do not generate system pins with poly shapes.
0 : Generate system pins with poly shapes.
-extLevel levelNo
Specify the extraction level.
Valid value: an integer, 0-49 (default=0).
-genPinBy
label|net|mix
Specify the method to create system pins.
Valid values: label, net, mix (default=label).
-pinSize 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Pin Size option.
0 : Disable the Pin Size option.
-placementStatus status
Specify the pin placement status.
Valid values: Fixed, Cover, Placed, Unplaced,
and Null (default=Placed).
-points points
Specify a region to generate system pins. If it is not
specified, system pins are generated in the top cell.
-report 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Show a report after the command is invoked.
0 : Do not show the report after the command is
invoked.
-thruVia 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Propagate system pins through via/contact.
0 : Do not propagate system pins through via/contact.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
SDL Commands
Argument
Description
-topLevelOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1: Create pin shapes from the traversed shapes with
net and port properties at the top level, and the soft
pin is removed.
0: Not only create pin shapes from the top level, but
also from instances.
-topMetalLayer number
Valid value: an integer, larger than or equal to 1
(default=1).
If it is specified, use the specified number of top metal
layers to generate system pins.
If it is not specified, do not use top metal layers to
generate system pins.
-useColonVirtual 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Use colon as the virtual connection.
0 : Do not use colon as the virtual connection.
This option decides whether the joint type of a
generated pin shape is weak or disjointed. If the label
is followed by a colon (:), it is weak.
-usePinPurpose 0|1
Valid values: Boolean values, 0 and 1.
1 : Use pin purpose.
0 : Do not use pin purpose.
This option decides whether the pin purpose is copied
to the pin shapes.
-width width
Specify the width of a rectangle to limit the size of
generated pin shapes.
Valid value: a floating number.
This argument is only valid for -pinSize 1.
Laker³ Tcl Reference Manual
K-2015.06
737
Chapter 7: Layout Window
SDL Commands
Examples
# Example 1
lakerGenPin -genPinBy label -extLevel 1 -useColonVirtual 1
-pinSize 1 -width 5.0
# Example 2
lakerGenPin -points (-2.07,3.58) (-2.07,9.71) \
(7.08,9.71) (7.08,3.58) -genPinBy net -topLevelOnly 0
# Example 3
lakerGenPin -points \
{(-2.07,3.58) (-2.07,9.71) (7.08,9.71) (7.08,3.58)} \
{(-13.82,6.02) (-9.28,6.02) (-9.28,3.15) \
(-7.015,3.15) (-7.015,-0.41) (-13.82,-0.41)} \
-genPinBy net -topLevelOnly 0
# Example 4
lakerGenPin -genPinBy net -topLevelOnly 1 -topMetalLayer 2 \
-excludePoly 1
See Also
Layout Window: SDL > Generate System Pin
lakerMatch
The lakerMatch command makes the arrangement of symmetrical patterns
for analog circuits, according to the selected transistors and instances in the
Layout window pane.
Refer to the lakerSchMatch description for more details.
Syntax
lakerMatch -XSpace xSpace -YSpace ySpace -repeatRow
repeatRow -repeatCol repeatCol -param matchPattern [ODSharing 0|1] [-inst instName1]
Returns
Refer to the Arguments section in lakerSchMatch for more details on
arguments.
738
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
SDL Commands
Examples
# Example 1
lakerMatch -XSpace 1.0 -YSpace 2.0 -repeatRow 1 -repeatCol 1 \
-param {0 {0 my} 0 {0 my}}
# Example 2
lakerMatch -XSpace 1.0 -YSpace 4.0 -repeatRow 1 -repeatCol 1 \
-param {0 {1 my} 0 {0 my} 1 {0 my} } {{1 mx} {0 mxy} {1 mx} \
{1 mxy} {0 mx} {1 mxy} } {0 {1 my} 0 {0 my} 1 {0 my} }
# Example 3
lakerMatch -XSpace 1.2 -YSpace 1.2 -repeatRow 1 -repeatCol 2 \
-param {0 {1 my} 1 {0 my}} {{1 mx} {0 mxy} {0 mx} {1 mxy}}
See Also
Layout Window: SDL > Match
Matching Device Creator
lakerPasteWithLogic
The lakerYankWithLogic command copies selected layout instances with
their logic information to a yank buffer for later pasting action.
The lakerPasteWithLogic command pastes instances with their logic
information from a yank buffer.
The combination of these two commands allows copying instances to another
design.
Syntax
lakerPasteWithLogic [-point (x0, y0)] [-shortNet 0|1] [globalNet 0|1] [-dim 0|1] [-formGate 0|1] [-arrayMode
0|1] [-cols colsNo] [-rows rowsNo] [-typeIn 0|1] [colSpace colSpace] [-cmpInnerNet 0|1] [-rowSpace
rowSpace] [-autoMapInfo fileName] [-cmpSubstrate 0|1] [mapInfo { {mappingInformation1} {mappingInformation2}
...}] [-corrPointFile corrPointFile] [-orient
orientation]
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
739
Chapter 7: Layout Window
SDL Commands
Arguments
740
Argument
Description
-arrayMode 0|1
Valid values: Boolean values, 0 and 1.
1 : Arrange the objects by array style.
0 : Do not arrange the objects by array style.
-autoMapInfo fileName
Specify a file in which the candidate data can be
accessed.
-cmpInnerNet 0|1
Valid values: Boolean values, 0 and 1.
1 : Compare inner nets.
0 : Do not compare any inner nets.
-cmpSubstrate 0|1
Valid values: Boolean values, 0 and 1.
1 : Compare substrates.
0 : Do not compare any substrates.
-cols colsNo
Number of instance columns.
Valid value: an integer (default=1).
-colSpace colSpace
Number of instance for y coordinate spacing.
Valid value: a floating number.
-corrPointFile
corrPointFile
Specify the initial corresponding file in full path.
-dim 0|1
Valid values: Boolean values, 0 and 1.
1 : Consider the dimension net of primitive object if
the object to be copied is a primitive object like MOS.
0 : Do not consider the dimension net of primitive
object.
-globalNet 0|1
Valid values: Boolean values, 0 and 1.
1 : Consider global nets.
0 : Do not consider any global nets.
-shortNet 0|1
Valid values: Boolean values, 0 and 1.
1 : Consider external short nets.
0 : Do not consider any external short nets.
-find 0|1
Valid values: Boolean values, 0 and 1.
1 : Get the matching list of the specified cell.
0 : Do not get the matching list of the specified cell.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
SDL Commands
Argument
Description
-formGate 0|1
Valid values: Boolean values, 0 and 1.
1 : Consider the form gate topology, which treats
serial or parallel device structure as equalivlent
schematic circuit.
0 : Do not consider the form gate topology, which
treats serial or parallel device structure as equalivlent
schematic circuit.
-mapInfo {
{mappingInformation1}
{mappingInformation2}
...}
Specify the mapping information with the following
format:
{ {userDefInstName1} {mapInstName1}
{userDefInstName2} {mapInstName2}...}
{ {userDefNetName1} {mapNetName1}
{userDefNetName2} {mapNetName2}...}}
where:
userDefInstName: The specified instance.
userDefNetName: The specified net.
mapInstName: The instance to be reused.
mapNetName: The net to be reused.
-orient orientation
Specify the orientation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
-point (x0, y0)
x0 specifies a position value for the x coordinate point
while y0 specifies the value for the y coordinate point.
-rows rowsNo
Specify the number of instance rows.
Valid value: an integer (default=1).
-rowSpace rowSpace
Specify the number of instances for the x coordinate
spacing.
Valid value: a floating number.
-typeIn 0|1
Valid values: Boolean values, 0 and 1.
1 : Specify the x- and y-spacing between objects if
copying them with array mode.
0 : Do not specify the x- and y-spacing between
objects if copying them with array mode.
Laker³ Tcl Reference Manual
K-2015.06
741
Chapter 7: Layout Window
SDL Commands
Examples
lakerPreSel -point (-0.702,6.89) -traversedist 0.37 \
lakerYankWithLogic \
lakerSetActiveWnd Wnd3
lakerPasteWithLogic -shortNet 0 -globalNet 1 -dim 1 -formGate 0 \
-cmpSubstrate 0 -cmpInnerNet 1 -arrayMode 1 -cols 1 -rows 1 \
-typeIn 0 -point (6.78,-11.66) -orient R0 \
-mapInfo {{ {{N4} {N4} {P4} {P4} } {{LATCH_N} {LATCH_N} \
{LATCH_P} {LATCH_P} {NET046} {NET046} {OUTPUTB} \
{OUTPUTB} {VDD!} {VDD!} {VSS!} {VSS!} } } \
{ {{N3} {N4} {P3} {P4} } {{LATCH_N} {LATCH_N} \
{LATCH_P} {LATCH_P} {NET0115} {NET046} {OUTPUT} \
{OUTPUTB} {VDD!} {VDD!} {VSS!} {VSS!} } }}
See Also
lakerCopyAssoc
lakerYankWithLogic
Layout Window: SDL > Paste with Logic View
lakerPatternReuse
The lakerPatternReuse command defines the logic information on a layout
instance when it is reused from a cell that is made from other layout objects
with the same layout topology.
Syntax
To invoke the Pattern Reuse feature:
lakerPatternReuse -start
To search for candidates and dump the matched results:
lakerPatternReuse -mode mode -selObj 0|1 [-autoMapInfo
fileName]
To select the pattern cell view:
lakerPatternReuse -patternLib patternLibName -patternCell
patternCellName -patternView patternViewName
To select the layout mapping cell view:
lakerPatternReuse -mapLib mapLibName -mapCell mapCellName mapView mapViewName
742
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
SDL Commands
To create and associate the logic/layout data:
lakerPatternReuse -realizeToLayout 0|1 [-arrayMode 0|1 -cols
columnNum -rows rowNum -typeIn 0|1 -colSpace colSpace rowSpace rowSpace -rearrangeMaster 0|1] -mapInfo
mapInfoList [-point pointList -orient orientationList instPrefix instNamePrefix -cellPrefix cellNamePrefix] [dumpTip fileName]
To abort the Pattern Reuse feature:
lakerPatternReuse -end
Returns
None
Arguments
Argument
Description
-arrayMode 0|1
Valid values: Boolean values, 0 and 1.
1 : Arrange objects by array style.
0 : Do not arrange objects by array style.
-autoMapInfo
fileName
Specify the output file to save the candidate data to.
-cellPrefix
cellNamePrefix
Specify the cell name prefix for new nodes.
-colDoubleBack 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Double Back for Columns option.
0 : Disable the Double Back for Columns option.
This argument is valid only if -arrayMode 1 is specified.
-cols colsNum
Specify the number of columns for instances.
Valid value: an integer (default=1).
This argument is valid only if -arrayMode 1 is specified.
-colSpace
colSpace
Specify the number of instances for y coordinate spacing.
Valid value: a floating number.
This argument is valid only if -arrayMode 1 is specified.
-dumpTip
fileName
Specify the file to save the dumped tips to. The default file
name is MismatchTip.log.
-end
Abort this feature.
Laker³ Tcl Reference Manual
K-2015.06
743
Chapter 7: Layout Window
SDL Commands
744
Argument
Description
-flipCol 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Flip All Columns option.
0 : Disable the Flip All Columns option.
This argument is valid only if -arrayMode 1 is specified.
-flipRow 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Flip All Rows option.
0 : Disable the Flip All Rows option.
This argument is valid only if -arrayMode 1 is specified.
-instPrefix
instNamePrefix
Specify the instance name prefix for new nodes.
-mapCell
mapCellName
Specify the cell name of the mapped layout.
-mapInfo
mapInfoList
Specify the format of mapping information as follows:
{ {cellName [instName]}
{ {userDefInstName1} {mapInstName1}
{userDefInstName2} {mapInstName2}...}
{ {userDefNetName1} {mapNetName1}
{userDefNetName2} {mapNetName2}...}}
where:
cellName is the pattern cell name, instName is the
pattern instance name, userDefInstName is the
specified instance, userDefNetName is the specified net,
mapInstName is the instance to be reused, and
mapNetName is the net to be reused.
-mapLib
mapLibName
Specify the library name of the mapped layout.
-mapView
mapViewName
Specify the view name of the mapped layout.
-mode mode
Valid values: connection and topology
(default=connection).
connection : Only the net connection is considered
when searching for candidates.
topology : The topology relationship (not the net
connection) is considered when searching for candidates.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
SDL Commands
Argument
Description
-orient
orientationList
Specify the orientation list with the following format: { R0
R0 R90 R180 ... }
Valid values: R0, R90, R180, R270, MXR0, MXR90, MYR0,
and MYR90 (default=R0).
-patternCell
patternCellName
Specify the cell name of the pattern cell.
-patternLib
patternLibName
Specify the library name of the pattern cell.
-patternView
patternViewName
Specify the view name of the pattern cell.
-point pointList
Specify a point list of coordinates to paste the mapping
object to. For example, fill in three coordinates in the
pointList when there are three mapping objects.
Only one point value is needed if -arrayMode is
specified. The coordinate is reset to (0,0) when the point
value is not specified.
-realizeToLayout 1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Realize the selected candidates to the layout.
0 : Do not realize the selected candidates to the layout.
-rearrangeMaster
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Rearrange master cells.
0 : Do not rearrange master cells.
This argument is valid only if -arrayMode 1 is specified.
-rowDoubleBack 0|1 Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Double Back for Rows option.
0 : Disable the Double Back for Rows option.
This argument is valid only if -arrayMode 1 is specified.
-rows rowsNum
Laker³ Tcl Reference Manual
K-2015.06
Specify the number of rows for instances.
Valid value: an integer (default=1).
This argument is valid only if -arrayMode 1 is specified.
745
Chapter 7: Layout Window
SDL Commands
Argument
Description
-rowSpace
rowSpace
Specify the number of instances for the x coordinate
spacing.
Valid value: a floating number.
This argument is valid only if -arrayMode 1 is specified.
-selObj 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Selected Objects option.
0 : Disable the Selected Objects option.
-start
Start this feature.
-typeIn 0|1
Valid values: Boolean values, 0 and 1.
1 : Specify the x- and y- spacings between objects if
copying them with array mode.
0 : Do not specify the x- and y- spacings between objects
if copying them with array mode.
This argument is valid only if -arrayMode 1 is specified.
Examples
lakerPatternReuse -start
lakerPatternReuse -mode topology -selObj 1 \
-autoMapInfo topology.out
lakerPatternReuse -realizeToLayout 1 -arrayMode 1 -cols 1 -rows 1 \
-typeIn 1 -colSpace 3.1 -rowSpace 13.954 -DoubleBackForRows 1 \
-DoubleBackForColumns 0 -FlipAllRows 0 -FlipAllColumns 0 \
-rearrangeMaster 0 -mapInfo { { { {NewInstName} {NewCellName} } \
{ {M28} {M27} {M26} {M25} {M35} } } } -point (-2.892,28.9) \
-orient { R0 } -instPrefix xLK -cellPrefix PatternCell_LK
lakerPatternReuse -realizeToLayout 1 -arrayMode 0 -mapInfo \
{ { { {xPT0} {NewCell0} } { {I127} {I131} {I130} {I129} } } \
{ { {xPT1} {NewCell1} } { {I128} {I132} {I133} {I134} } } \
{ { {} {} } { {I135} {I141} {I140} {I139} } } { { {} {} } \
{ {I136} {I142} {I143} {I144} } } { { {} {} } { {I137} {I147} \
{I146} {I145} } } { { {} {} } { {I138} {I148} {I149} {I150} } } } \
-point (62.254,26.792) (71.529,61.014) (52.499,34.788) \
(77.126,52.379) (73.608,10.001) (42.264,7.922) \
-orient { R0 R90 R180 R270 R0 R90 } -instPrefix xLK \
-cellPrefix PatternCell_LK
lakerPatternReuse -end
746
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
SDL Commands
See Also
lakerSchPatternReuse
Design Browser: Pattern Reuse
Layout Window: SDL > Pattern Reuse
lakerToStickDiagram
This lakerToStickDiagram command puts the selected transistors from the
Layout window pane to the Stick Diagram Compiler window for further editing.
Syntax
lakerToStickDiagram
Returns
None
Examples
lakerToStickDiagram
See Also
Layout Window: SDL > To Stick Diagram
lakerYankWithLogic
The lakerYankWithLogic command copies selected layout instances with
their logic information to a yank buffer for later pasting action.
The lakerPasteWithLogic command pastes instances with their logic
information from a yank buffer.
The combination of these two commands allows copying instances to another
design.
Syntax
lakerYankWithLogic
Returns
None
Examples
lakerPreSel -point (-0.702,6.89) -traversedist 0.37
Laker³ Tcl Reference Manual
K-2015.06
747
Chapter 7: Layout Window
MCell Commands
lakerYankWithLogic \
lakerSetActiveWnd Wnd3 \
lakerPasteWithLogic -shortNet 0 -globalNet 1 -dim 1 -formGate 0 \
-cmpSubstrate 0 -cmpInnerNet 1 -arrayMode 1 -cols 1 -rows 1 \
-typeIn 0 -point (6.78,-11.66) -orient R0 \
-mapInfo {{ {{N4} {N4} {P4} {P4} } {{LATCH_N} {LATCH_N} \
{LATCH_P} {LATCH_P} {NET046} {NET046} {OUTPUTB} \
{OUTPUTB} {VDD!} {VDD!} {VSS!} {VSS!} } } \
{ {{N3} {N4} {P3} {P4} } {{LATCH_N} {LATCH_N} \
{LATCH_P} {LATCH_P} {NET0115} {NET046} {OUTPUT} \
{OUTPUTB} {VDD!} {VDD!} {VSS!} {VSS!} } }}
See Also
Layout Window: SDL > Yank with Logic View
MCell Commands
This section describes the Tcl commands applied to the MCell commands of
the Layout window. These commands include:
748
■
lakerAddDummyGate
■
lakerAutoChopGR
■
lakerChangeStack
■
lakerChopContact
■
lakerChopGuardRing
■
lakerDeleteDummyGate
■
lakerDivideObj
■
lakerFillContact
■
lakerFillGuardRing
■
lakerFold
■
lakerFuseObj
■
lakerInsert
■
lakerLinkMCell
■
lakerMergeGate
■
lakerMoveContact
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
■
lakerMoveGate
■
lakerOptimize
■
lakerReGuardRing
■
lakerRmOverlapGRCont
■
lakerStretchCapacit
■
lakerStretchContact
■
lakerStretchGate
■
lakerStretchResist
■
lakerSubduce
■
lakerSwapGate
■
lakerUnlinkMCell
■
mcGet
■
mcSet
■
schLakerSetMosType
lakerAddDummyGate
The lakerAddDummyGate command adds dummy gates to the selected
MCell transistor by honoring the Auto Dummy Gate Settings section in the
Preferences form, invoked by Options > Preferences > MCell_Tx tab. If the
selected transistor contains dummy gates, this command does nothing.
Syntax
lakerAddDummyGate
Returns
None
Examples
lakerAddDummyGate
See Also
Layout Window: MCell > Dummy Gates > Create
Home Page: Options > Preferences > MCell_Tx
Laker³ Tcl Reference Manual
K-2015.06
749
Chapter 7: Layout Window
MCell Commands
lakerAutoChopGR
The lakerAutoChopGR command chops guard ring metals and removes
contact/via that violates DRC rule, minMetSpace.
Syntax
lakerAutoChopGR [-bbox (x1,y1) (x2,y2)] [-fullCell 0|1] [ignoreSameNet 0|1] [-checkGroupMet 0|1]
Returns
None
Arguments
750
Argument
Description
-bbox (x1,y1) (x2,y2)
Draw an area to chop guard ring. x1 and x2 specify the
x coordinate for the point array while y1 and y2 specify
the y coordinate.
-checkGroupMet 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Check all metal layers which belong to the same
group.
0 : Do not check all metal layers which belong to the
same group.
-fullCell 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : All overlapping areas of guard rings and metal
shapes in the cell is checked and the contact/via that
causes DRC violations is removed.
0 : Only the fully selected guard rings and metal
shapes are checked and the contact/via that causes
DRC violations is removed.
-ignoreSameNet 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Do not chop the overlapping areas of guard rings
and metal shapes which have the same nets.
0 : Chop the overlapping areas of guard rings and
metal shapes even they are having the same nets.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Examples
# Example 1
# check guard rings and metal shapes in the cell and do not chop
# overlapping area of guard rings and metals that have the same net
lakerAutoChopGR -fullCell 1
# Example 2
# check selected guard rings and/or metal shapes and do not chop
# overlapping area of guard rings and metals that have the same net
lakerAutoChopGR
# Example 3
# check guard rings and metal shapes within specified chop
# area and chop overlapping area of guard rings and metals
# even they have the same net
lakerAutoChopGR -bbox (0,100) (100,200) -ignoreSameNet 0
See Also
Layout Window: MCell > Auto Chop Guard Ring
lakerChangeStack
The lakerChangeStack command modifies the selected activeLayer-region
of a transistor by chopping contact/via or filling with specified layer in particular
conditions.
Syntax
lakerChangeStack -point (x1,y1) (x2,y2) [-stackViaLayerName
layerName [-stackViaPurpose purpose]] [-removeContact
0|1]
Returns
None
Arguments
Argument
Description
-point (x1,y1) (x2,y2)
(x1,y1) specifies the lower left point and (x2,y2)
specifies the upper right point of the area where the
stack layer of the stack vias inside is changed.
Laker³ Tcl Reference Manual
K-2015.06
751
Chapter 7: Layout Window
MCell Commands
Argument
Description
-removeContact 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Remove the contact(s) and change the layer to
MET1 layer. This argument only works if the layer
specified by
-stackViaLayerName or -stackViaPurpose is
MET1 layer.
0 : Change the layer to MET1 layer and keep the
contact(s).
-stackViaLayerName
layerName
Specify the layer name to be changed to.
-stackViaPurpose
purpose
Specify the purpose name of the layer to be changed
to (default=drawing).
Examples
lakerChangeStack -point (0,0) (5,5) -stackViaLayerName MET1 \
-removeContact 1
See Also
Layout Window: MCell > Modify Contact/Via
lakerChopContact
The lakerChopContact command chops contact(s) in a selected contact/via
array or stack path.
Syntax
lakerChopContact -point point -topLayerName topLayerName [topPurpose topPurpose] -bottomLayerName bottomLayerName
[-bottomPurpose bottomPurpose] [-removeContactOnly 0|1]
[-clip 0|1]
Returns
None
752
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Arguments
Argument
Description
-bottomLayerName
bottomLayerName
Specify the layer name for the bottommost layer.
-bottomPurpose
bottomPurpose
Specify the purpose name for the bottommost layer
(default=drawing).
-clip 0|1
Valid values: Boolean values, 0 and 1 (default=1;
only works for contact device).
1 : Force the chopped boundary for each conductor
layer between the top/bottom layers become the
same.
0 : The chopped boundary for each conductor layer
keeps the minimum enclosure rule to the related
contact/via layer and may be different with each
other.
-point point
(x0,y0)...(xn,yn)
Draw a point array (rectangle) to chop shapes.
x0...xn specify the x coordinate for the point array
while y0...yn specify the y coordinate.
-removeContactOnly 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Remove the contact layer(s) only and keep the
conductor layers.
0 : Remove both contact layer(s) and conductor
layers.
-topLayerName
topLayerName
Specify the layer name for the topmost layer.
-topPurpose topPurpose
Specify the purpose name for the topmost layer
(default=drawing).
Examples
lakerChopContact -point (-231.677,972.795) \
(-231.677,985.241) (-218.928,985.241) (-218.928,972.795) \
-topLayerName MET3 -bottomLayerName POLY -removeContactOnly 1 \
-clip 0
See Also
Layout Window: MCell > Chop Contact
Laker³ Tcl Reference Manual
K-2015.06
753
Chapter 7: Layout Window
MCell Commands
lakerChopGuardRing
The lakerChopGuardRing command chops the selected guard ring with a
point array.
Syntax
lakerChopGuardRing -point point [-split 0|1] [-chopType
chopType]
Returns
None
Arguments
Argument
Description
-chopType chopType
Valid values: metal, split, and contact.
metal : Chop metals and contacts in the guard ring.
split : Split one guard ring into two guard rings.
contact : Remove contacts in the guard ring only.
Overwrite the -split option when the -chopType
option is defined.
-point point
(x0,y0)...(xn,yn)
Draw a point array (rectangle) to chop guard ring.
x0...xn specify the x coordinate for the point array
while y0...yn specify the y coordinate.
-split 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Split one guard ring into two guard rings.
0 : Do not split one guard ring into two guard rings.
Examples
# Example 1
lakerChopGuardRing -point (0,0) (0,20) (25,20) (25,0)
# Example 2
lakerChopGuardRing -point (6.91,1.21) (6.91,4.13) \
(10.56,4.13) (10.56,1.21) -chopType contact
See Also
Layout Window: MCell > Chop Guard Ring
754
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
lakerDeleteDummyGate
The lakerDeleteDummyGate command removes dummy gates from the
selected MCell transistor. If the selected transistor does not have any dummy
gates, this command does nothing.
Syntax
lakerDeleteDummyGate [-keepGatePosition 0|1] [-optimizeOD
0|1]
Returns
None
Arguments
Argument
Description
-keepGatePosition 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the Keep Gate Positions option.
0 : Disable the Keep Gate Positions option.
-optimizeOD 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Optimize OD option.
0 : Disable the Optimize OD option.
Examples
lakerDeleteDummyGate -keepGatePosition 1 -optimizeOD 1
See Also
Layout Window: MCell > Dummy Gates > Delete
lakerDivideObj
The lakerDivideObj command splits the selected transistor to two
transistors.
Syntax
lakerDivideObj
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
755
Chapter 7: Layout Window
MCell Commands
Examples
lakerDivideObj
See Also
Layout Window: MCell > Split
lakerFillContact
The lakerFillContact command refills contact(s) in a selected contact/via
array or stack path.
Syntax
lakerFillContact -point point -topLayerName topLayerName [topPurpose topPurpose] -bottomLayerName bottomLayerName
[-bottomPurpose bottomPurpose]
Returns
None
Arguments
Argument
Description
-bottomLayerName
bottomLayerName
Specify the layer name for the bottommost layer.
-bottomPurpose
bottomPurpose
Specify the purpose name for the bottommost layer
(default=drawing).
-point point
(x0,y0)...(xn,yn)
Draw a point array (rectangle) to fill shapes. x0...xn
specify the x coordinate for the point array while
y0...yn specify the y coordinate.
-topLayerName
topLayerName
Specify the layer name for the topmost layer.
-topPurpose
topPurpose
Specify the purpose name for the topmost layer
(default=drawing).
Examples
lakerFillContact -point \
(-5.884,6.041) (-5.884,8.79) (-1.829,8.79) (-1.829,6.041)
-topLayerName MET1 -bottomLayerName MET1
756
\
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
See Also
Layout Window: MCell > Fill Contact
lakerFillGuardRing
The lakerFillGuardRing command fills the selected guard ring with a point
array.
Syntax
lakerFillGuardRing -point point
Returns
None
Arguments
Argument
Description
-point point
(x0,y0)...(xn,yn)
Draw a point array (rectangle) to fill guard ring. x0...xn
specify the x coordinate for the point array while y0...yn
specify the y coordinate.
Examples
lakerFillGuardRing -point (0,0) (0,20) (25,20) (25,0)
See Also
Layout Window: MCell > Fill Guard Ring
lakerFold
The lakerFold command splits a selected transistor gate.
Syntax
lakerFold -glueNo glueNo (-segment segmentNum|-width
gateWidth) -contAlign alignMode
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
757
Chapter 7: Layout Window
MCell Commands
Arguments
Argument
Description
-contAlign
alignMode
Specify the alignment style of contacts after folding gate.
Valid value: top, center, and bottom (default=bottom).
-glueNo
glueNo
Specify a glue block number of the transistor gate (or that of
the range of gates) to be folded.
Valid value: a positive integer.
-segment
segmentNum
Specify the segment number that the specified gate(s) to be
folded to.
Valid value: a positive integer.
-width
gateWidth
Specify the maximum gate width for the resulting gates.
Valid value: a positive integer.
Examples
# Example 1
lakerFold -glueNo 2 -width 3.0
# Example 2
lakerFold -glueNo 2 -segment 2 -contAlign center
See Also
Layout Window: MCell > Fold
lakerFuseObj
The lakerFuseObj command merges two selected transistors.
Syntax
lakerFuseObj -fixed 0|1 | [-align align [-offset offset]]
[-swap swapNo]
Returns
None
758
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Arguments
Argument
Description
-align align
Specify the alignment of transistors.
Valid values: top, center, bottom, and ruleDist. If align ruleDist is set, the offset option has no effect.
-fixed 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Position of both transistors remains unchanged, the
merged region expands after fusion.
0 : Adjust the position of both transistors.
-offset offset
Specify an offset value for alignment.
Valid value: an integer (default=0).
-swap swapNo
Select the transistor to be merged (default=the first selected).
Examples
# Example 1
# Merge two transistors at fixed position
lakerFuseObj -fixed 1
# Example 2
# Merge two transistors and align them on top with offset (1.0)
lakerFuseObj -align top -offset 1.0
See Also
Layout Window: MCell > Merge Transistors
lakerInsert
The lakerInsert command inserts a transistor with the entire object
selected to another transistor with an activeLayer-region selected.
Syntax
lakerInsert
Returns
None
Examples
lakerInsert
Laker³ Tcl Reference Manual
K-2015.06
759
Chapter 7: Layout Window
MCell Commands
See Also
Layout Window: MCell > Insert
lakerLinkMCell
The lakerLinkMCell command groups selected MCells together if their submaster is the same.
Syntax
lakerLinkMCell
Returns
None
Examples
lakerLinkMCell
See Also
Layout Window: MCell > Link
lakerMergeGate
The lakerMergeGate command merges the selected gate into the target
merged gate in the same transistor.
Syntax
lakerMergeGate -selGlueNo num1 -mergeGlueNo num2 -optimize
0|1
Returns
None
Arguments
760
Argument
Description
-mergeGlueNo num2
num2 is the glue number for the target gate.
Valid value: an integer.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Argument
Description
-optimize 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Optimize the source/drain after merging gates, even
if the order of some gates have to be changed.
0 : Optimize such source/drain only if the transistor,
which contains only one gate and no gate order change,
needs to be reversed.
-selGlueNo num1
num1 is the glue number for the selected gate.
Valid value: an integer.
Examples
lakerMergeGate -selGlueNo 2 -mergeGlueNo 4
See Also
Layout Window: MCell > Merge Gates
lakerMoveContact
The lakerMoveContact command moves an inner contact of MCell devices.
Syntax
lakerMoveContact -refPoint (x0,y0) -offsetPoint (x0,y0)
Returns
None
Arguments
Argument
Description
-offsetPoint (x0,y0)
Specify an offset direction to move. x0 specifies an offset
value from the x coordinate point while y0 specifies the
value from the y coordinate point.
-refPoint (x0,y0)
Specify a reference coordinate to move. x0 specifies a
reference position value for the x coordinate point while
y0 specifies the value for the y coordinate point.
Examples
lakerMoveContact -refPoint (5.59,5.63) -offsetPoint (8.01,5.63)
Laker³ Tcl Reference Manual
K-2015.06
761
Chapter 7: Layout Window
MCell Commands
lakerMoveGate
The lakerMoveGate command moves a gate of the transistor device to a new
location.
Syntax
lakerMoveGate -refPoint (x0,y0) -offsetPoint (x0,y0) [alignWith alignWith]
Returns
None
Arguments
Argument
Description
-alignWith alignWith
Specify a side of the gate on which all gates are kept at
the original position after the Move Gate command.
Valid values: left, right, and both (default=right).
-offsetPoint (x0,y0)
Specify an offset direction to move. x0 specifies an
offset value from the x coordinate point while y0
specifies the value from the y coordinate point.
-refPoint (x0,y0)
Specify a reference coordinate to move. x0 specifies a
reference position value for the x coordinate point while
y0 specifies the value for the y coordinate point.
Examples
lakerMoveGate -refPoint (5.59,5.63) -offsetPoint (8.01,5.63)
lakerOptimize
The lakerOptimize command optimizes an activeLayer-region or the entire
selected transistor. It is auto-adjusted horizontally in order to meet the minimum
design rule.
Syntax
lakerOptimize
Returns
None
762
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Examples
lakerOptimize
See Also
Layout Window: MCell > Optimize
lakerReGuardRing
The lakerReGuardRing command reforms the shape of the selected guard
ring with a point array.
Syntax
lakerReGuardRing -point point [-swap 0|1]
Returns
None
Arguments
Argument
Description
-point point
(x0,y0)...(xn,yn)
Draw a point array to reform guard ring. x0...xn specify
the x coordinate for the point array while y0...yn specify
the coordinate.
-swap 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Select a new conjunction from the first or the last
drawing point.
0: Do not select a new conjunction from the first or the last
drawing point.
Examples
lakerReGuardRing -point (0,0) (0,10) (10,10) (10,15)
See Also
Layout Window: MCell > Re-Guard Ring
lakerRmOverlapGRCont
The lakerRmOverlapGRCont command removes the contacts of overlapping
guard rings that violate the contact DRC rules.
Laker³ Tcl Reference Manual
K-2015.06
763
Chapter 7: Layout Window
MCell Commands
Syntax
lakerRmOverlapGRCont [-fullCell 0|1] [-viewLevel viewLevel]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-fullCell 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : All guard rings in the cell are checked and the contacts that
cause DRC violations are removed.
0 : Only the fully selected guard rings are checked and the
contacts that cause DRC violations are removed.
-viewLevel
viewLevel
Check guard rings at a specified view level.
Valid values: current, max, and min (default=current).
current : Check guard rings that could be viewed at current
view level only.
min : Check the DRC errors of guard rings that belong to the
current cell.
max : Check the DRC errors of guard rings that belong to the
current cell and all descendants.
Examples
# Example 1
# Select mode:
lakerRmOverlapGRCont
# or
lakerRmOverlapGRCont -fullCell 0
# Example 2
# Full Cell mode:
lakerRmOverlapGRCont -fullCell 1
# Example 3
lakerRmOverlapGRCont -viewLevel max
See Also
Layout Window: MCell > Remove Overlapping Guard Ring Contacts
764
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
lakerStretchCapacit
The lakerStretchCapacit command stretches an edge of the capacitor.
The total value of the capacitor remains unchanged.
Syntax
lakerStretchCapacit -refPoint (x0,y0) -offsetPoint (x0,y0)
Returns
None
Arguments
Argument
Description
-offsetPoint (x0,y0)
Specify an offset direction to stretch. x0 specifies an
offset value from the x coordinate point while y0 specifies
the value from the y coordinate point.
-refPoint (x0,y0)
Specify a reference coordinate to stretch. x0 specifies a
reference position value for the x coordinate point while
y0 specifies the value for the y coordinate point.
Examples
lakerStretchCapacit -refPoint (5.59,5.63) \
-offsetPoint (8.01,5.63)
See Also
Layout Window: MCell > Stretch Capacitor
lakerStretchContact
The lakerStretchContact command stretches the edge or vertice of L1/L2
bounding box in a contact array.
Syntax
lakerStretchContact -refPoint (x0,y0) -offsetPoint (x0,y0)
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
765
Chapter 7: Layout Window
MCell Commands
Arguments
Argument
Description
-offsetPoint (x0,y0)
Specify an offset direction to stretch. x0 specifies an
offset value from the x coordinate point while y0
specifies the value from the y coordinate point.
-refPoint (x0,y0)
Specify a reference coordinate to stretch. x0 specifies a
reference position value for the x coordinate point while
y0 specifies the value for the y coordinate point.
Examples
lakerStretchContact -refPoint (5.5,5.3) -offsetPoint (8.0,5.3)
See Also
Layout Window: MCell > Stretch Contact
lakerStretchGate
The lakerStretchGate command stretches the gate edge of a transistor
device.
Syntax
lakerStretchGate -refPoint (x0,y0) -offsetPoint (x0,y0)
Returns
None
Arguments
Argument
Description
-offsetPoint (x0,y0)
Specify an offset direction to stretch. x0 specifies an
offset value from the x coordinate point while y0 specifies
the value from the y coordinate point.
-refPoint (x0,y0)
Specify a reference coordinate to stretch. x0 specifies a
reference position value for the x coordinate point while
y0 specifies the value for the y coordinate point.
Examples
lakerStretchGate -refPoint (5.59,5.63) -offsetPoint (8.01,5.63)
766
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
lakerStretchResist
The lakerStretchResist command stretches the resistor in two ways, at
the end point, or at the edge with fixed one of the end point.
Syntax
lakerStretchResist -refPoint (x0,y0) -offsetPoint (x0,y0)
Returns
None
Arguments
Argument
Description
-offsetPoint (x0,y0)
Specify an offset direction to stretch. x0 specifies an
offset value from the x coordinate point while y0 specifies
the value from the y coordinate point.
-refPoint (x0,y0)
Specify a reference coordinate to stretch. x0 specifies a
reference position value for the x coordinate point while
y0 specifies the value for the y coordinate point.
Examples
lakerStretchResist -refPoint (5.59,5.63) -offsetPoint (8.01,5.63)
See Also
Layout Window: MCell > Stretch Resistor
lakerSubduce
The lakerSubduce command divides one selected transistor into two
transistors.
Syntax
lakerSubduce -glueNo glueNo
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
767
Chapter 7: Layout Window
MCell Commands
Arguments
Argument
Description
-glueNo glueNo
Specify two numbers to divide the glue blocks.
Valid value: an integer.
Examples
lakerSubduce -glueNo 3 5
See Also
Layout Window: MCell > Subduce
lakerSwapGate
The lakerSwapGate command swaps the gate(s) or active(s) of an MCell.
Syntax
lakerSwapGate -selGlueNo num1 num2 -swapGlueNo num3 num4
Returns
None
Arguments
Argument
Description
-selGlueNo num1 num2
num1 and num2 may have the same value; they refer
to the number of the selected glue block.
Valid value: an integer.
-swapGlueNo num3 num4 num3 and num4 may have the same value; they refer
to the number of glue block that is swapped with.
Valid value: an integer.
Examples
#swap glue block 1 with glue block 7
lakerSwapGate -selGlueNo 1 1 -swapGlueNo 7 7
# swap glue block 2 to 4 with glue block 5 to 9
lakerSwapGate -selGlueNo 2 4 -swapGlueNo 5 9
See Also
Layout Window: MCell > Swap
768
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
lakerUnlinkMCell
The lakerUnlinkMCell command ungroups selected MCells from their
group.
Syntax
lakerUnlinkMCell
Returns
None
Examples
lakerUnlinkMCell
See Also
Layout Window: MCell > Unlink
mcGet
The mcGet command gets parameters of transistors and guard rings for the
encrypted technology file sections tfLayoutMagicCell and
tfLayoutMagicCellCallBack.
The available attributes of mcGet and mcSet are listed in the following tables.
Syntax
To get parameters of transistors:
mcGet -obj <obj_Id> [glueSyntax] [-all | -attr attr_name]
To get parameters of guard rings:
mcGet -obj <obj_Id> [-all | -attr attr_name [segmentSyntax] ]
Returns
Varies based on the attribute settings.
Laker³ Tcl Reference Manual
K-2015.06
769
Chapter 7: Layout Window
MCell Commands
Arguments
Argument
Description
-all | -attr attr_name
The -attr argument specifies the attribute to be obtained.
If -all or -attr All is specified, displays all attributes,
including values, for the whole transistor, the whole guard ring,
the specified glue block of a transistor, or the specified segment
of a guard ring.
If -attr attr_name is not specified, the default is -all.
The available attributes are listed in the Whole Transistor
Attributes tables, the Transistor Gate Region Attributes tables,
the Transistor activeLayer Region Attributes tables, the Whole
Guard Ring Attributes tables, and the Guard Ring Segment
Attributes tables.
-obj <obj_Id>
obj_id can be an instanceId of an MCell transistor or an
MCell guard ring, or a cellviewId of an MCell sub-master cell.
■
■
770
Using mcGet with an instanceId can get the following types
of attributes: transistor/guard ring parameter, logic
information, geometry attribute name, physical geometry
(the coordinates are based on the top cell view.)
Using mcGet with a cellviewId of an MCell sub-master cell
can get the following types of attributes: transistor/guard
ring parameter, geometry attribute name, physical geometry
(the coordinates are based on the sub-master cell view),
and physical geometry identifier.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Argument
Description
glueSyntax
This only works for MCell transistors. glueSyntax refers to
[-glueNo glue_block_number] | [-glueGateNo
gate_glue_number] | [-glueActiveNo
active_glue_number], where:
■
-glueNo, -glueGateNo, and -glueActiveNo are
exclusive.
■
-glueNo specifies the number of glue blocks for
activeLayer regions or gates of a transistor.
■
The glue_block_number value must be greater than or
equal to 1; and the total_glue_block_number must be
greater than or equal to the glue_block_number value.
■
The odd value corresponds to activeLayer region glue
blocks.
■
The even value corresponds to gate glue blocks.
■
-glueGateNo specifies the number of gate glue blocks.
■
The gate_glue_number value must be greater than or
equal to 1; and the value of
(total_glue_block_number-1)/2 must be greater
than or equal to the gate_glue_number value.
■
-glueActiveNo specifies the number of activeLayer
region glue blocks.
■
The active_glue_number value must be greater than or
equal to 1; and the value of
(total_glue_block_number+1)/2 must be greater
than or equal to the active_glue_number value.
If this glueSyntax is not specified, using mcGet can get the
attributes of the whole transistor. Refer to the Whole Transistor
Attributes tables for more details.
If the glueSyntax is specified with gate glue blocks, then
using mcGet can get the attributes of gate regions. Refer to the
Transistor Gate Region Attributes tables for more details.
If the glueSyntax is specified with activeLayer region glue
blocks, then using mcGet can get the attributes of activeLayer
regions. Refer to the Transistor activeLayer Region Attributes
tables for more details.
Laker³ Tcl Reference Manual
K-2015.06
771
Chapter 7: Layout Window
MCell Commands
Argument
Description
segmentSyntax
This only works for MCell guard rings with the Segment
column checked in attributes. segmentSyntax refers to [segHori] | [-segVert], where:
■
-segHori and -segVert are exclusive.
-segHori specifies the horizontal segment of a guard ring.
■
-segVert specifies the vertical segment of a guard ring.
The return values are sorted by the location of segments, from
left to right and from bottom to top.
■
If this segmentSyntax is not specified, using mcGet can get
the attributes of the whole guard ring. Refer to the Whole
Guard Ring Attributes tables for more details.
If -segHori or -segVert is specified, then using mcGet can
get the attributes of horizontal or vertical guard ring segments.
Refer to the Guard Ring Segment Attributes tables for more
details.
Examples
# Create Dummy Poly by defining the callBack subsection
# in the tfLayoutMagicCell section with mcGet and mcSet:
tfLayoutMagicCell {
device {
deviceName {PMOS_plugIn_dummyPoly}
layerDef { {Co CONT} {Met MT1} {Poly POLY} {Od $L_OD} {Imp PIMP}
{Met2 MT2} {Via VIA1} }
callBack { params { { NormalPitch
4.0
String editable }
{ DummyPitch
2.0
String editable }
{ NumDummy
1
String editable } }
execPlugIn {
set gatePoints [
mcGet -obj $dbMCellSubMasterId -glueNo 2 -attr ObjPoly ]
set tmp [lindex $gatePoints end]
set numTmp [llength $tmp]
for { set j 0 } { $j<$NumDummy } { incr j} {
set newPoints {}
for { set i 0 } { $i<$numTmp } { incr i } {
set t1 [lindex $tmp $i]
set p1 [lindex $t1 0]
set p1 [expr $p1 - ($NormalPitch + ($j * $DummyPitch) )]
set p2 [lindex $t1 1]
772
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
lappend newPoints [format {(%s,%s)} $p1 $p2]
}
dbCreatePolygon -cv $dbMCellSubMasterId -layer POLY \
-point $newPoints
}
set idxRGate [expr [
mcGet -obj $dbMCellSubMasterId -attr GlueNum] - 1]
set gatePoints [
mcGet -obj $dbMCellSubMasterId -glueNo $idxRGate \
-attr ObjPoly]
set tmp [lindex $gatePoints end ]
set numTmp [llength $tmp]
for { set j 0 } { $j<$NumDummy } { incr j } {
set newPoints {}
for { set i 0 } { $i<$numTmp } { incr i } {
set t1 [lindex $tmp $i]
set p1 [lindex $t1 0]
set p1 [expr $p1 + ($NormalPitch + ($j * $DummyPitch) )]
set p2 [lindex $t1 1]
lappend newPoints [format {(%s,%s)} $p1 $p2]
}
dbCreatePolygon -cv $dbMCellSubMasterId -layer POLY \
-point $newPoints
}
}
ruleDef
}
{ { minChannelLength 0.8 }
{ minChannelWidth 1.0 }
{ minGateSpace 1.2 }
{ minOd2GateExtension 1.2 }
{ minOdNotch 0.7 }
{ minPoly2GateExtension 0.8 }
{ minCo2OdEnclosure 0.5 }
{ minCoSpace 1.0 }
{ minCo2GateSpace 0.8 }
{ minCoWidth $CONT_WIDTH }
{ minCo2MetEnclosure {{0.5 0.45} {0.55 0.4}} }
{ minOd2PolySpace 0.4 }
{ minOdWidth $OD_WIDTH }
{ minOd2ImpEnclosure 0.6}
{ minMetSpace 1.45}
{ minImpNotch 1.4}
{ diagonalGateBendCompensation 0.02}
{ minPoly2ImpEnclosureX 0.3}
{ minPoly2ImpEnclosureY 0.4}
{ minOdSpace 1.3}
}
}}
Laker³ Tcl Reference Manual
K-2015.06
773
Chapter 7: Layout Window
MCell Commands
See Also
This section includes attributes tables for transistors: Whole Transistor
Attributes, Transistor Gate Region Attributes, and Transistor activeLayer
Region Attributes; and attributes tables for guard rings: Whole Guard Ring
Attributes and Guard Ring Segment Attributes.
Whole Transistor Attributes
The attributes of the whole transistor are summarized in the following tables:
Table 1, Table 2, Table 3, Table 4, and Table 5.
Table 1
774
Parameter Type for Whole Transistor Attributes
Arguments
Description
Return Values
Applicable
Tcls
DeviceName
Device name
String
mcGet,
mcSet
OptLayerMaskResolution
Enable/disable the Use
Tech. File's Mask/General
Resolution For Option
Layers option
0, 1
mcGet,
mcSet
PolyContact
Enable/disable the Poly
Contact option
0, 1
mcGet,
mcSet
DiscreteGatePitch
Enable/disable the
Discrete Gate Pitch option
0, 1
mcGet,
mcSet
GateNum
Number of gates
Integer
mcGet,
mcSet
ActiveNum
Number of activeLayer
regions
Integer
mcGet
GlueNum
Number of glue blocks
Integer
mcGet
UserDefOptRepeatPattern
The repeat pattern of user- A list of user- mcGet,
defined option layers
defined option mcSet
layers, for
example:
Imp2 none
Imp1 none
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Table 1
Parameter Type for Whole Transistor Attributes
Arguments
Description
Return Values
Applicable
Tcls
TraitRepeatPattern
Trait repeat pattern
A list of trait
names, for
example: HV2
None HV2
mcGet,
mcSet
RuleSwGlobalRule
Global rule
String
mcGet,
mcSet
ParamXXX
Plug-in parameter value
Parameter
type value
mcGet,
mcSet
Table 2
Logic Information for Whole Transistor Attributes
Arguments
Description
Return Values
Applicable
Tcls
SubstrateNet
Substrate nets
String
mcGet,
mcSet
Table 3
Geometry Attribute Name for Whole Transistor Attributes
Arguments
Description
Return Values
Applicable
Tcls
AllLayerObjName
Attribute names to get
geometries for available
layers
A list of attribute
names, for
example:
objOd
objPoly ...
mcGet
AllDevLayerObjName
Attribute names to get
geometries for available
device layers
A list of attribute
names
mcGet
AllResvLayerObjName
Attribute names to get
geometries for available
reserved option layers
A list of attribute
names
mcGet
Laker³ Tcl Reference Manual
K-2015.06
775
Chapter 7: Layout Window
MCell Commands
Table 3
Arguments
Description
Return Values
Applicable
Tcls
AllUserLayerObjName
Attribute names to get
geometries for available
user-defined option layers
A list of attribute
names, for
example:
objUserImp1
...
mcGet
Table 4
776
Geometry Attribute Name for Whole Transistor Attributes
Physical Geometry for Whole Transistor Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjOd
For Od layer (whole and
individual)
Several lists of
coordinates, for
example: {
{200.002
100.005} { } ...
} {...}
mcGet
ObjPoly
For Poly layer
Several lists of
coordinates
mcGet
ObjCo
For Co layer
Several lists of
coordinates
mcGet
ObjMet
For Met layer
Several lists of
coordinates
mcGet
ObjVia
For Via layer
Several lists of
coordinates
mcGet
ObjMet2
For Met2 layer
Several lists of
coordinates
mcGet
ObjPolyCoPoly
For polyCo Poly layer
Several lists of
coordinates
mcGet
ObjPolyCoCo
For polyCo Co layer
Several lists of
coordinates
mcGet
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Table 4
Physical Geometry for Whole Transistor Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjPolyCoMet
For polyCo Met layer
Several lists of
coordinates
mcGet
Obj<Imp, L1~L9>
For reserved option
layers
Several lists of
coordinates
mcGet
ObjUser<userdefined name>
For user-defined option
layers
Several lists of
coordinates
mcGet
Table 5
Physical Geometry Identifier (Id) for Whole Transistor Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjIdOd
For Od layer (whole and
individual)
Several lists of
identifiers
mcGet
ObjIdPoly
For Poly layer
A list of identifiers, for
example:
6fccd22acb00
caff0000213b...
mcGet
ObjIdCo
For Co layer
A list of identifiers
mcGet
ObjIdMet
For Met layer
A list of identifiers
mcGet
ObjIdVia
For Via layer
A list of identifiers
mcGet
ObjIdMet2
For Met2 layer
A list of identifiers
mcGet
ObjIdPolyCoPoly
For polyCo Poly layer
A list of identifiers
mcGet
ObjIdPolyCoCo
For polyCo Co layer
A list of identifiers
mcGet
ObjIdPolyCoMet
For polyCo Met layer
A list of identifiers
mcGet
ObjId<Imp, L1~L9>
For reserved option
layers
A list of identifiers
mcGet
Laker³ Tcl Reference Manual
K-2015.06
777
Chapter 7: Layout Window
MCell Commands
Table 5
Physical Geometry Identifier (Id) for Whole Transistor Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjIdUser<userdefined name>
For user-defined option
layers
A list of identifiers
mcGet
Transistor Gate Region Attributes
The attributes of the gate regions are summarized in the following tables:
Table 6, Table 7, Table 8, Table 9, Table 10, and Table 11.
Table 6
Parameter Type for Transistor Gate Region Attributes
Arguments
Description
Return Values
Applicable
Tcls
GatePattern
Gate pattern
patternA, patternB,
patternC, patternD,
patternE
mcGet,
mcSet
Length
Gate length
Positive floating
number
mcGet,
mcSet
Width
Gate width
Positive floating
number
mcGet,
mcSet
Align
Gate alignment
bottom, center, top
mcGet,
mcSet
Offset
Gate offset
Floating number
mcGet,
mcSet
OptLayer
Option layer
A list of user-defined
option layers
mcGet,
mcSet
Trait
Trait name
A list of trait names
mcGet,
mcSet
IsDummy
Dummy gate
definition
0, 1
mcGet,
mcSet
Rule name (String)
mcGet,
mcSet
RuleSwGatePatternRule Gate rule
778
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Table 7
Parameter (polyContact) for Transistor Gate Region Attributes
Arguments
Description
Return
Values
Applicable
Tcls
PolyCoPattern
polyContact pattern
none, top,
bottom,
both
mcGet,
mcSet
PolyCoLoc
polyContact location
inner, outer
mcGet,
mcSet
PolyCoShift
polyContact shift
left, center,
right
mcGet,
mcSet
PolyCoSymmetry
Enable/disable the
Poly Contact
Symmetry option
0, 1
mcGet,
mcSet
RuleSwPolyCoCo2MetEncRule
polyContact
Co2MetEnc rule
Rule name
(String)
mcGet,
mcSet
RuleSwPolyCoCoSpacingRule
polyContact Contact
spacing rule
Rule name
(String)
mcGet,
mcSet
PolyCoTopContactType
Contact type
user, single,
max
mcGet,
mcSet
PolyCoTopRow
Number of contact
rows
Positive
integer
mcGet,
mcSet
PolyCoTopColumn
Number of contact
columns
Positive
integer
mcGet,
mcSet
PolyCoTopMetEncX
Contact to Met
Enclosure X
Positive
floating
number
mcGet,
mcSet
PolyCoTopMetEncY
Contact to Met
Enclosure Y
Positive
floating
number
mcGet,
mcSet
PolyCoTopCoSpaceX
Contact spacing X
Positive
floating
number
mcGet,
mcSet
Laker³ Tcl Reference Manual
K-2015.06
779
Chapter 7: Layout Window
MCell Commands
Table 7
780
Parameter (polyContact) for Transistor Gate Region Attributes
Arguments
Description
Return
Values
Applicable
Tcls
PolyCoTopCoSpaceY
Contact spacing Y
Positive
floating
number
mcGet,
mcSet
PolyCoTopCoWidth
Contact width X,Y
A pair of x,y
values, for
example:
1.0,1.1
mcGet,
mcSet
PolyCoBottomContactType
Contact type
user, single,
max
mcGet,
mcSet
PolyCoBottomRow
Number of contact
rows
Positive
integer
mcGet,
mcSet
PolyCoBottomColumn
Number of contact
columns
Positive
integer
mcGet,
mcSet
PolyCoBottomMetEncX
Contact to Met
Enclosure X
Positive
floating
number
mcGet,
mcSet
PolyCoBottomMetEncY
Contact to Met
Enclosure Y
Positive
floating
number
mcGet,
mcSet
PolyCoBottomCoSpaceX
Contact spacing X
Positive
floating
number
mcGet,
mcSet
PolyCoBottomCoSpaceY
Contact spacing Y
Positive
floating
number
mcGet,
mcSet
PolyCoBottomCoWidth
Contact width X,Y
A pair of x,y
values, for
example:
1.0,1.1
mcGet,
mcSet
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Table 8
Logic Information for Transistor Gate Region Attributes
Arguments
Description
Return
Values
Applicable
Tcls
GateName
Gate name
String
mcGet,
mcSet
GateNet
Nets on the gate
String
mcGet,
mcSet
SourceNet
Nets on the left side of the
specified gate
String
mcGet,
mcSet
DrainNet
Nets on the right side of the
specified gate
String
mcGet,
mcSet
Table 9
Geometry Attribute Name for Transistor Gate Region Attributes
Arguments
Description
Return Values
Applicable
Tcls
AllLayerObjName
Attribute names to get
geometries for available
layers
A list of
attribute
names
mcGet
AllDevLayerObjNa
me
Attribute names to get
geometries for available
device layers
A list of
attribute
names
mcGet
Table 10
Physical Geometry for Transistor Gate Region Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjPoly
For Poly layer
Several lists of
coordinates
mcGet
ObjGate
For gate area
Several lists of
coordinates
mcGet
ObjPolyCoPoly
For polyCo Poly layer
Several lists of
coordinates
mcGet
Laker³ Tcl Reference Manual
K-2015.06
781
Chapter 7: Layout Window
MCell Commands
Table 10
Physical Geometry for Transistor Gate Region Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjPolyCoCo
For polyCo Co layer
Several lists of
coordinates
mcGet
ObjPolyCoMet
For polyCo Met layer
Several lists of
coordinates
mcGet
Table 11
Physical Geometry Identifier (Id) for Transistor Gate Region Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjIdPoly
For Poly layer
A list of identifiers
mcGet
ObjIdPolyCoPoly
For polyCo Poly layer
A list of identifiers
mcGet
ObjIdPolyCoCo
For polyCo Co layer
A list of identifiers
mcGet
ObjIdPolyCoMet
For polyCo Met layer
A list of identifiers
mcGet
Transistor activeLayer Region Attributes
The attributes of the activeLayer regions are summarized in the following
tables: Table 12, Table 13, Table 14, Table 15, Table 16, and Table 17.
Table 12
782
Parameter Type for Transistor activeLayer Region Attributes
Arguments
Description
Return Values
Applicable
Tcls
GlueBlockType
glueBlock type
left, inter, right
mcGet
BlockLength
glueBlock length
Positive floating
number
mcGet,
mcSet
LeftWidth
glueBlock left width (related
to the left gate width and
pattern)
Positive floating
number
mcGet
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Table 12
Parameter Type for Transistor activeLayer Region Attributes
Arguments
Description
Return Values
Applicable
Tcls
RightWidth
glueBlock right width (related
to the right gate width and
pattern)
Positive floating
number
mcGet
OptLayer
Option layer
String
mcGet,
mcSet
Trait
Trait name
String
mcGet,
mcSet
AutoExpand
Decide the expand direction
of diffusion when the
diffusion cannot contain the
user-defined contacts
no, top, bottom,
topBottom
mcGet,
mcSet
CoAlign
Align contacts within OD
active regions of transistors
to the center in the xdirection
xCenter
mcSet
Table 13
Parameter (Contact) for Transistor activeLayer Region Attributes
Arguments
Description
Return
Values
Applicable
Tcls
CoType
Contact type
no, single,
max, user
mcGet,
mcSet
CoRow
Number of contact rows
Positive
integer
mcGet,
mcSet
CoColumn
Number of contact columns
Positive
integer
mcGet,
mcSet
Co2MetX
Co2MetEnclosure X
Positive
floating
number
mcGet,
mcSet
Laker³ Tcl Reference Manual
K-2015.06
783
Chapter 7: Layout Window
MCell Commands
Table 13
784
Parameter (Contact) for Transistor activeLayer Region Attributes
Arguments
Description
Return
Values
Applicable
Tcls
Co2MetY
Co2MetEnclosure Y
Positive
floating
number
mcGet,
mcSet
Co2OdX
Co2OdEnclosure X
Positive
floating
number
mcGet,
mcSet
Co2OdY
Co2OdEnclosure Y
Positive
floating
number
mcGet,
mcSet
CoSpaceX
Contact spacing X
Positive
floating
number
mcGet,
mcSet
CoSpaceY
Contact spacing Y
Positive
floating
number
mcGet,
mcSet
CoWidth
ContactWidth X,Y
A pair of x,y
values, for
example:
1.0,1.1
mcGet,
mcSet
CoMode
Contact mode
normal, Esd, mcGet,
stackVia
mcSet
RuleSwCo2GateRule
Co2Gate rule name
String
mcGet,
mcSet
RuleSwCoModeRule
CoMode rule name
String
mcGet,
mcSet
RuleSwCo2MetEncRule
Co2MetEnclosure rule name String
mcGet,
mcSet
RuleSwCoSpacingRule
Co spacing rule name
mcGet,
mcSet
String
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Table 14
Logic Information for Transistor activeLayer Region Attributes
Arguments
Description
Return Values Applicable
Tcls
Net
Net name
String
Table 15
mcGet,
mcSet
Geometry Attribute Name for Transistor activeLayer Region Attributes
Arguments
Description
Return Values
Applicable
Tcls
AllLayerObjName
Attribute names to get
geometries for available
layers
A list of attribute
names
mcGet
AllDevLayerObjName
Attribute names to get
geometries for available
device layers
A list of attribute
names
mcGet
Table 16
Physical Geometry for Transistor activeLayer Region Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjOd
For Od layer
Several lists of
coordinates
mcGet
ObjCo
For Co layer
Several lists of
coordinates
mcGet
ObjMet
For Met layer
Several lists of
coordinates
mcGet
ObjVia
For Via layer
Several lists of
coordinates
mcGet
ObjMet2
For Met2 layer.
Several lists of
coordinates.
mcGet
Laker³ Tcl Reference Manual
K-2015.06
785
Chapter 7: Layout Window
MCell Commands
Table 17
Physical Geometry Identifier (Id) for Transistor activeLayer Region
Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjIdOd
For Od layer
Several lists of identifiers
mcGet
ObjIdCo
For Co layer
A list of identifiers
mcGet
ObjIdMet
For Met layer
A list of identifiers
mcGet
ObjIdVia
For Via layer
A list of identifiers
mcGet
ObjIdMet2
For Met2 layer
A list of identifiers
mcGet
Whole Guard Ring Attributes
The attributes of the whole guard ring are summarized in the following
tables: Table 18, Table 19, Table 20, Table 21, and Table 22.
Table 18
786
Parameter Type for Whole Guard Ring Attributes
Arguments
Description
Return Values
Applicable
Tcls
DeviceName
Device name
String
mcGet
OptLayerMaskResolution
Enable/disable the
option layer referring
to mask resolution
0, 1
mcGet,
mcSet
RuleSwGlobalRule
Global rule name
String
mcGet,
mcSet
CenterLine
Centerline of a guard
ring
Several lists of
coordinates of
segments, for
example: { {x1
y1} {x2 y2 } }
{…}
mcGet
Met<2~4>Seg
A list of segments
Several lists of
coordinates of
segments
mcGet
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Table 18
Parameter Type for Whole Guard Ring Attributes
Arguments
Description
Return Values
Applicable
Tcls
Via<2~3>Seg
A list of segments
Several lists of
coordinates of
segments
mcGet
RowNumber
Contact row number
Integer
mcGet,
mcSet
CornerContact
Enable/disable to
0, 1
create corner contacts
mcGet,
mcSet
MetalWidthAsBody
Enable/disable metal
width = body
0, 1
mcGet,
mcSet
SameMetalWidth
Enable/disable all
metal widths are the
same
0, 1
mcGet,
mcSet
BodyWidth
Body layer width
Positive floating
number
mcGet,
mcSet
BodyWidthHori
Body layer width in
horizontal segments
Positive floating
number
mcGet
BodyWidthVert
Body layer width in
vertical segments
Positive floating
number
mcGet
MetWidthHori
Met layer width in
horizontal segments
Positive floating
number
mcGet
MetWidthVert
Met layer width in
vertical segments
Positive floating
number
mcGet
Met<2~4>WidthHori
Met<2~4> layer width Positive floating
in horizontal segments number
mcGet
Met<2~4>WidthVert
Met<2~4> layer width
in vertical segments
Positive floating
number
mcGet
CoSpaceX
Contact spacing X
Positive floating
number
mcGet,
mcSet
Laker³ Tcl Reference Manual
K-2015.06
787
Chapter 7: Layout Window
MCell Commands
Table 18
788
Parameter Type for Whole Guard Ring Attributes
Arguments
Description
Return Values
Applicable
Tcls
CoSpaceY
Contact spacing Y
Positive floating
numberPositive
floating number
mcGet,
mcSet
Co2BodyX
Co2BodyEnclosureX
Positive floating
number
mcGet,
mcSet
Co2BodyY
Co2BodyEnclosureY
Positive floating
number
mcGet,
mcSet
Co2MetX
Co2MetEnclosreX
Positive floating
number
mcGet,
mcSet
Co2MetY
Co2MetEnclosreY
Positive floating
number
mcGet,
mcSet
CoWidth
Contact width
Positive floating
number
mcGet,
mcSet
CoLength
Contact length
Positive floating
number
mcGet,
mcSet
Via<2~3>SpaceX
Via<2~3> spacing X
Positive floating
number
mcGet,
mcSet
Via<2~3>SpaceY
Via<2~3> spacing Y
Positive floating
number
mcGet,
mcSet
Via<2~3>Layer1X
Via<2~3> to Layer1
enclosure X
Positive floating
number
mcGet,
mcSet
Via<2~3>Layer1Y
Via<2~3> to Layer1
enclosure Y
Positive floating
number
mcGet,
mcSet
Via<2~3>Layer2X
Via<2~3> to Layer2
enclosure X
Positive floating
number
mcGet,
mcSet
Via<2~3>Layer2Y
Via<2~3> to Layer2
enclosure Y
Positive floating
number
mcGet,
mcSet
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Table 18
Parameter Type for Whole Guard Ring Attributes
Arguments
Description
Return Values
Applicable
Tcls
Via<2~3>Width
Via<2~3> width
Positive floating
number
mcGet,
mcSet
Via<2~3>Length
Via<2~3> length
Positive floating
number
mcGet,
mcSet
Body2<Imp,L1~L9>EncX
Body to <Imp, L1~L9>
enclosure X
Positive floating
number
mcGet,
mcSet
Body2<Imp,L1~L9>EncY
Body to <Imp, L1~L9>
enclosure Y
Positive floating
number
mcGet,
mcSet
ParamXXX
Plug-in parameter
value
Positive floating
number
mcGet,
mcSet
Table 19
Logic Information for Whole Guard Ring Attributes
Arguments
Description
Return
Values
Applicable
Tcls
NetName
Net name
String
mcGet,
mcSet
Table 20
Geometry Attributes for Whole Guard Ring Attributes
Arguments
Description
Return Values
Applicable
Tcls
AllLayerObjName
Attribute names to get
geometries for available
layers
A list of
attribute
names, for
example:
objBody
objMet ...
mcGet
AllDevLayerObjName
Attribute names to get
geometries for available
device layers
A list of
mcGet
attribute names
Laker³ Tcl Reference Manual
K-2015.06
789
Chapter 7: Layout Window
MCell Commands
Table 20
Arguments
Description
Return Values
AllResvLayerObjName
Attribute names to get
geometries for available
reserved option layers
A list of
mcGet
attribute names
AllUserLayerObjName
Attribute names to get
geometries for available
user-defined option layers
A list of
attribute
names, for
example:
objUserImp1
...
Table 21
790
Geometry Attributes for Whole Guard Ring Attributes
Applicable
Tcls
mcGet
Physical Geometry for Whole Guard Ring Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjBody
For Body layer (whole
and individual)
Several lists of
coordinates, for
example: {
{200.002
100.005} { } ...
} {...}
mcGet
Obj<Imp, L1~L9>
For reserved option
layers
Several lists of
coordinates
mcGet
ObjUser<userdefined name>
For user-defined
option layers
Several lists of
coordinates
mcGet
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Table 22
Physical Geometry Identifier (Id) for Whole Guard Ring Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjIdBody
For Body layer (whole and
individual)
Several lists of
identifiers, for
example:
6fccd22acb00
caff0000213b
...
mcGet
ObjId<Imp, L1~L9> For reserved option layers
A list of identifiers
mcGet
ObjIdUser<userdefined name>
A list of identifiers
mcGet
For user-defined option
layers
Guard Ring Segment Attributes
The attributes of segments are summarized in the following tables: Table 23,
Table 24, and Table 25.
Table 23
Parameter Type for Guard Ring Segment Attributes
Arguments
Description
Return Values
Applicable
Tcls
BodySeg
A list of segments for
the centerline
Several lists of
coordinates of
segments, for example:
{ {x1 y1} {x2 y2 }
} {…}
mcGet
MetSeg
A list of segments for
the centerline
(available segments
without a chopped
region)
Several lists of
coordinates of
segments
mcGet
ContSeg
A list of segments for
the centerline
Several lists of
coordinates of
segments
mcGet
Laker³ Tcl Reference Manual
K-2015.06
791
Chapter 7: Layout Window
MCell Commands
Table 24
Physical Geometry for Guard Ring Segment Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjCo
For Co layer
Several lists of
coordinates
mcGet
ObjMet
For Met layer
Several lists of
coordinates
mcGet
ObjVia
For Via layer
Several lists of
coordinates
mcGet
ObjMet<2~4>
For MetX layer
Several lists of
coordinates
mcGet
ObjVia<2~3>
For ViaX layer
Several lists of
coordinates
mcGet
Table 25
Physical Geometry Identifier (Id) for Guard Ring Segment Attributes
Arguments
Description
Return Values
Applicable
Tcls
ObjIdCo
For Co layer
A list of identifiers
mcGet
ObjIdMet
For Met layer
A list of identifiers
mcGet
ObjIdVia
For Via layer
A list of identifiers
mcGet
ObjIdMet<2~4>
For MetX layer
A list of identifiers
mcGet
ObjVia<2~3>
For ViaX layer
A list of identifiers
mcGet
mcSet
The mcSet command sets parameters of transistors or guard rings for
encrypted the technology file sections tfLayoutMagicCell and
tfLayoutMagicCellCallBack.
When default settings are required, settings in the attributes form are applied
without referencing the MCell.rc resource file. When using mcSet to modify
792
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
multiple parameters, you must follow the settings in the attribute form. That is, if
a field in the current setting cannot be modified in the attribute form, using
mcSet to modify it may get a return value 0.
The default settings of mcSet attributes are similar to the settings in the
Transistor Attribute form. For example, when the Discrete Gate Pitch option is
not editable in the Transistor Attribute form, using mcSet to modify the
discreteGatePitch attribute returns 0.
Syntax
To set parameters of transistors:
mcSet -obj <obj_Id> [glueSyntax] -attr attr_name -value
new_value [-submit]
To re-generate the layout with the logic information of the specified transistor:
mcSet -obj <instance_Id> -regen
To set parameters of guard rings:
mcSet -obj <obj_Id> -attr attr_name -value new_value [submit]
To apply the modification of mcSet to a transistor or guard ring immediately:
mcSet -submit
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-attr attr_name
Specify the attribute to be set. The available attributes are listed
in the Whole Transistor Attributes tables, the Transistor Gate
Region Attributes tables, the Transistor activeLayer Region
Attributes tables, the Whole Guard Ring Attributes tables, and the
Guard Ring Segment Attributes tables.
-obj <obj_Id>
obj_id must be an instanceId of the MCell transistor or guard
ring. Using mcSet with an instanceId can set the followings types
of attributes: transistor/guard ring parameter and logic
information.
Laker³ Tcl Reference Manual
K-2015.06
793
Chapter 7: Layout Window
MCell Commands
Argument
Description
-regen
When an MCell transistor contains any callBack definitions in
the tfLayoutMagicCell or tfLayoutMagicCellCallBack
sections, the logic information of this MCell transistor is used to
re-generate the layout.
-submit
Apply the modification of mcSet to the MCell transistor or guard
ring immediately.
■
■
■
-value new_value
When -submit is not specified, the modification is kept in the
buffer. The buffer is cleared each time after specifying
-submit, regardless of the return value of mcSet; however, if
a set command has a return value 0, the following -submit is
ignored.
When a new object Id (obj_Id) is specified in an mcSet
command C, the mcSet -submit command is called
automatically before the mcSet command C runs, and the
auto submit does not return any values.
The mcGet command always returns the evaluated value.
When a value has been set but not submitted by mcSet, using
mcGet can get the old value.
Specify a new attribute value. Refer to the return values in the
Whole Transistor Attributes tables, the Transistor Gate Region
Attributes tables, the Transistor activeLayer Region Attributes
tables, the Whole Guard Ring Attributes tables, and the Guard
Ring Segment Attributes tables for the supported value types of
each attribute. mcSet returns 0 if any wrong value types are set.
No new value is set if -value “” is specified.
794
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
Argument
Description
glueSyntax
This only works for MCell transistors. glueSyntax refers to
[-glueNo glue_block_number] | [-glueGateNo
gate_glue_number] | [-glueActiveNo
active_glue_number], where:
■
-glueNo, -glueGateNo and -glueActiveNo are
exclusive.
■
-glueNo specifies the number of glue blocks for activeLayer
regions or gates of a transistor.
■
The glue_block_number value must be greater than or
equal to 1; and the total_glue_block_number must be
greater than or equal to the glue_block_number value.
■
The odd value corresponds to activeLayer region glue blocks.
■
The even value corresponds to gate glue blocks.
■
-glueGateNo specifies the number of gate glue blocks.
■
The gate_glue_number value must be greater than or equal
to 1; and the value of (total_glue_block_number-1)/2
must be greater than or equal to the gate_glue_number
value.
■
-glueActiveNo specifies the number of activeLayer region
glue blocks.
■
The active_glue_number value must be greater than or
equal to 1; and the value of
(total_glue_block_number+1)/2 must be greater than
or equal to the active_glue_number value.
If glueSyntax is not specified, using mcSet can set the
attributes of the whole transistor. Refer to the Whole Transistor
Attributes tables for more details.
If glueSyntax is specified with gate glue blocks, then using
mcSet can set the attributes of gate regions. Refer to the
Transistor Gate Region Attributes tables for more details.
If glueSyntax is specified with activeLayer region glue block,
then using mcSet can set the attributes of activeLayer regions.
Refer to the Transistor activeLayer Region Attributes tables for
more details.
Examples
# Example 1
dbOpenLib -lib reg_mcGetSet
set CVID [dbOpenCV -lib reg_mcGetSet -cell reg_1]
set INSTID [dbGet -obj $CVID -attr Insts]
Laker³ Tcl Reference Manual
K-2015.06
795
Chapter 7: Layout Window
MCell Commands
#1~5
mcSet
mcSet
mcSet
mcSet
mcSet
-obj $INSTID -attr SubstrateNet -value ""
-obj $INSTID -glueGateNo 4 -attr GatePattern -value patternA
-obj $INSTID -glueGateNo 4 -attr Length -value 2
-obj $INSTID -glueGateNo 4 -attr Width -value 5
-obj $INSTID -glueGateNo 3 -attr IsDummy -value 0
#6~10
mcSet -obj $INSTID -glueGateNo 4 -attr IsDummy -value 1
mcSet -obj $INSTID -glueGateNo 2 -attr PolyCoPattern -value both
mcSet -obj $INSTID -glueGateNo 1 -attr PolyCoTopContactType \
-value single
mcSet -obj $INSTID -glueGateNo 1 -attr PolyCoBottomRow -value 2
mcSet -obj $INSTID -glueGateNo 1 -attr PolyCoBottomColumn -value 2
#11~15
mcSet -obj
-value 0.6
mcSet -obj
-value 0.7
mcSet -obj
-value 1.2
mcSet -obj
-value 1.4
mcSet -obj
#16~20
mcSet -obj
mcSet -obj
mcSet -obj
mcSet -obj
mcSet -obj
796
$INSTID -glueGateNo 1 -attr PolyCoBottomMetEncX \
$INSTID -glueGateNo 1 -attr PolyCoBottomMetEncY \
$INSTID -glueGateNo 1 -attr PolyCoBottomCoSpaceX \
$INSTID -glueGateNo 1 -attr PolyCoBottomCoSpaceY \
$INSTID -glueGateNo 1 -attr GateName -value gate001
$INSTID
$INSTID
$INSTID
$INSTID
$INSTID
-glueGateNo 1
-glueGateNo 1
-glueGateNo 1
-glueActiveNo
-glueActiveNo
-attr GateNet -value ""
-attr SourceNet -value a1
-attr DrainNet -value a2
3 -attr BlockLength -value 3.9
4 -attr CoType -value user
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
MCell Commands
#21~25
mcSet -obj $INSTID -glueActiveNo 4 -attr CoRow -value 2
mcSet -obj $INSTID -glueActiveNo 4 -attr CoColumn -value 1
mcSet -obj $INSTID -glueActiveNo 5 -attr Net -value net5
mcSet -submit
mcSet -submit -regFile empty_file
dbSaveCV -cv $CVID
dbCloseCV -cv $CVID
# Example 2
# The priority of this option is lower than the rules and
# the compact form of transistors. If the left and right sides
# of contact related rules are not the same, the contact is set
# as close as possible to the center in the x-direction, but
# not always at the center. It also depends on the rules and
# whether the active region is in a compact form.
# For a compact MOS:
# - In the left or right OD region, the contact follows rules
# minCo2ODEnclsure and minCo2GateSpacing at different sides. If
# the values are not equal, the contact is not at the center.
# - In an internal OD region, the contact follows rules
# minCo2GateSpacing and minMetSpace. The metal of different sides
# of neighboring OD regions can be different. If the metal of one
# side is closer than another, the metal of the contact may be
# pushed away to keep the minimum metal spacing.
mcSet -glueNo 2 -attr CoAlign -value xCenter
schLakerSetMosType
The schLakerSetMosType command specifies preferable NMOS/PMOS
symbols for certain MOS types. The available MOS symbols are shown in the
following figure.
Laker³ Tcl Reference Manual
K-2015.06
797
Chapter 7: Layout Window
Options Commands
Figure 1
Default Mos and Special Mos
Syntax
schLakerSetMosType -type MosType
Returns
None
Arguments
Argument
Description
-type MosType
Specify the preferable MOS symbol type.
Valid values: Mos3T, Mos4T, Std4T, Ind4T, Ind3T,
Dep3T, Asy3T, Sym3T, and Nv4T.
Examples
schLakerSetMosType -type Ind4T
Options Commands
This section describes the Tcl commands applied to the Options commands of
the Layout window. These commands include:
798
■
lakerCellTemplate
■
lakerChangeGrid
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
■
lakerDispFinGrid
■
lakerDispGlobalFinGrid
■
lakerDispGrid
■
lakerDispHier
■
lakerDispMCellInfo
■
lakerDispRow
■
lakerDispTrack
■
lakerLayerTap
■
lakerSetColPat (for Layer Attribute Setup)
■
lakerSetColPat (for Layer Filter Setup)
■
lakerSetColPat (for Layer Session Setup)
■
lakerSetColPat (for Layer Attribute Editing)
■
lakerSetColPat (for Layer Category Editing)
■
lakerSnapFinGrid
■
lakerSnapRow
■
lakerSnapTrack
lakerCellTemplate
The lakerCellTemplate command specifies a set of constraints for
transistor placement and realization.
Syntax
lakerCellTemplate [-PlaceConstraint PlaceConstraint]
[-RowNum rowNum] [-RowPattern rowPattern] [-PAlignment
PAlignment] [-NAlignment NAlignment] [-PNSpacing
PNSpacing] [-PStripHeight PStripHeight] [-NStripHeight
NStripHeight] [-PPowerSpacing PPowerSpacing] [NGroundSpacing NGroundSpacing] [-PowerRailWidth
PowerRailWidth] [-PowerRailLayer 0|1] [-GroundRailWidth
GroundRailWidth] [-GroundRailLayer 0|1] [-WellLower
WellLower] [-WellUpper WellUpper] [-WellLayer 0|1] [ContactStyle ContStyle] [-PwrGndContactAlignment 0|1] [ContactRowNo ContRowNo] [-ContactColNo ContColNo] [ContactXSpacing ContXSpacing] [-ContactYSpacing
Laker³ Tcl Reference Manual
K-2015.06
799
Chapter 7: Layout Window
Options Commands
ContYSpacing] [-PContactAlignment PContAlign] [NContactAlignment NContAlign] [-DefContSpacing 0|1] [PowGndSpacing PowGndSpacing] [-MergeParalle2Single 0|1]
[-PolyGateAlign 0|1] [-GateFolding 0|1] [-FoldingStyle
FoldingStyle] [-StraightMaxPStrip StrMaxPStrip] [StraightMaxNStrip StrMaxNStrip] [-ThresholdPStrip
ThresPStrip] [-ThresholdNStrip ThresNStrip] [-save
fileName] [-section sectionName] [-backwardStacking 0|1
-backwardStackingRange float] [-mergeDiffWidthTxOD 0|1]
[-useLocalPowerGround 0|1] [-localPower PowerNameList]
[-localGround GroundNameList] [-DefThinOdSpacing 0|1] [ThinOdXSpace spacing]
Returns
None
Arguments
800
Argument
Description
-backwardStacking 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Allow backward transistor placement though it
slightly violates the signal flow.
0 : Place the transistors by the signal flow.
-backwardStackingRange
float
Specify the placement range value.
Valid value: a positive floating number
(default=0.0).
-ContactColNo
ContColNo
Specify the number of columns for the contact array
to be created.
Valid value: an integer (default=1).
-ContactRowNo
ContRowNo
Specify the number of rows for the contact array to
be created.
Valid value: an integer (default=1).
-ContactStyle
ContStyle
Specify the contact style of transistors.
Valid values: Maximum, Single, User-Defined,
None, and Default (default=Maximum).
-ContactXSpacing
ContXSpacing
Specify the spacing between the horizontal contact
layers. The default value relies on the technology
file setting.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
Argument
Description
-ContactYSpacing
ContYSpacing
Specify the spacing between the vertical contact
layers. The default value relies on the technology
file setting.
-DefContactSpacing 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Use the defined spacing between contact layers.
0 : Do not use the defined spacing between contact
layers.
-DefThinOdSpacing 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the OD or Boundary Spacing option.
0 : Disable the OD or Boundary Spacing option.
-FoldingStyle
FoldingStyle
Specify the folding style.
Valid values: Uniform and Maximum
(default=Uniform).
-GateFolding 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Fold gates.
0 : Do not fold gates.
-GroundRailLayer 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Specify the layer for ground rails with
layer_num purpose_num (for example: GroundRailLayer 1 1 252).
0 : Do not specify any layers for ground rails.
-GroundRailWidth
GroundRailWidth
Specify the height for ground rails.
Valid value: a floating number (default=2.3).
-localGround
GroundNameList
Specify the local ground nets. Multiple nets must be
separated by spaces.
-localPower
PowerNameList
Specify the local power nets. Multiple nets must be
separated by spaces.
-mergeDiffWidthTxOD
0|1
Valid values: Boolean values, 0 and 1.
1 : Merge OD for different width transistors.
0 : Merge OD for the same width transistors.
Laker³ Tcl Reference Manual
K-2015.06
801
Chapter 7: Layout Window
Options Commands
802
Argument
Description
-MergeParalle2Single
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Combine various parallel gates to form a single
gate.
0 : Do not combine various parallel gates.
-NAlignment
NAlignment
Specify the alignment mode while placing an NMOS
within the N strip.
Valid values: PMos, Center, and Ground
(default=PMos).
-NContactAlignment
NContAlign
Specify the alignment mode of NMOS contacts.
Valid values: PMos, Center, and Ground
(default=Center).
-NGroundSpacing
NGroundSpacing
Specify the spacing between N strips and ground
rails.
Valid value: a floating number (default=1.0).
-NStripHeight
NStripHeight
Specify the height for N strips.
Valid value: a real number (default=3.5).
-PAlignment
PAlignment
Specify the alignment mode while placing a PMOS
within the P strip.
Valid values: Power, Center, and NMos
(default=NMos).
-PContactAlignment
PContAlign
Specify the alignment mode of PMOS contacts.
Valid values: Power, Center, and NMos
(default=Center).
-PlaceConstraint
PlaceConstraint
Specify the constraint to get an optimized transistor
placement.
Valid values: Default, MinRoutingTrack,
MaxGateAlignment, and MaxDiffSharing
(default=Default).
-PNSpacing
PNSpacing
Specify the spacing between P and N strips.
Valid value: a floating number (default=5.0).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
Argument
Description
-PolyGateAlign 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Correct the relative position of the poly gates
between PMOS and NMOS vertically by following
the -PAlignment and
-NAlignment options.
0 : Do not correct the relative position of poly gates
between PMOS and NMOS vertically.
-PowerRailLayer
PowerRailLayer
Valid values: Boolean values, 0 and 1 (default=1).
1 : Specify the layer for power rails with layer_num
purpose_num, for example,
-PowerRailLayer 1 1 252.
0 : Do not specify any layers for power rails.
-PowerRailWidth
PowerRailWidth
Specify the height for power rails.
Valid value: a floating number (default=2.3).
-PowGndSpacing
PowGndSpacing
Specify the spacing between contact layers. It is
used when
-ContactRowNo is greater than 1.
Valid value: a floating number (default=3.0).
-PPowerSpacing
PPowerSpacing
Specify the spacing between P strips and power
rails.
Valid value: a floating number (default=1.0).
-PStripHeight
PStripHeight
Specify the height for P strips.
Valid value: a real number (default=4.2).
-PwrGndContactAlignment Valid values: Boolean values, 0 and 1 (default=0).
0|1
1 : Align power and ground contacts. When it is
used, the power contact aligns with Vdd, and the
ground contact aligns with Vss.
0 : Do not align any power and ground contacts.
-RowNum rowNum
Specify the number of rows to be used.
Valid value: an integer (default=1). The -rowNum
should be greater than 1 if -RowPattern PNNP or
-RowPattern NPPN is specified.
-RowPattern rowPattern
Specify the row pattern.
Valid values: PN, NP, PNNP, and NPPN (default=PN).
Laker³ Tcl Reference Manual
K-2015.06
803
Chapter 7: Layout Window
Options Commands
Argument
Description
-save fileName
Save the changes of the cell template to a file
(default=laker.rc).
-section sectionName
Specify the section to be loaded in the Cell Template
form.
-StraightMaxNStrip
StrMaxNStrip
Specify the N strip height to determine whether to
fold a straight gate in an NMOS. When a straight
gate exceeds the maximum value, it is folded.
Valid value: a floating number (default=5.0).
-StraightMaxPStrip
StrMaxPStrip
Specify the P strip height to determine whether to
fold a straight gate in a PMOS. When a straight gate
exceeds the maximum value, it is folded.
Valid value: a floating number (default=5.0).
804
-ThinOdXSpace spacing
Specify the horizontal OD spacing for MOS devices.
This argument only works with
-DefThinOdSpacing.
Valid value: a floating number (default=0.0).
-ThresholdNStrip
ThresNStrip
Specify the minimum strip height of the folded gate
in an NMOS.
Valid value: a floating number (default=5.0).
-ThresholdPStrip
ThresPStrip
Specify the minimum strip height of the folded gate
in a PMOS.
Valid value: a floating number (default=5.0)
-useLocalPowerGround
0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Apply local power/ground nets.
0 : Do not apply local power/ground nets.
-WellLayer 0|1
Specify whether to add a new Well layer.
Valid values: Boolean values, 0 and 1 (default=1).
layer_num purpose_num may be specified when
the value is 1 (for example: -WellLayer 1 1
252).
-WellLower
WellLower
Specify the lower location of the Well layer.
Valid value: a floating number (default=10.0).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
Argument
Description
-WellUpper
WellUpper
Specify the upper location of the Well layer.
Valid value: a floating number (default=20.0).
Examples
lakerCellTemplate -useLocalPowerGround 1 \
-localPower {VDDA VDDB VDDC} -localGround {GNDA GNDB GNDC}
See Also
Layout Window: Options > Cell Template
lakerChangeGrid
The lakerChangeGrid commad sets up the grid attributes and the rules of
cursor snapping.
Syntax
lakerChangeGrid -resolution resolution
lakerChangeGrid -default
lakerChangeGrid [-dx horDist | -dy verDist | -ratio ratio |
-type gridType] [-CursorOnGrid CursorOnGrid] [coordinateOnGrid 0|1] [-mask maskRuleList] [maskCursorOnGrid 0|1] [-track trackRuleList]
[-trackCursorOnGrid 0|1] [-displayTrack 0|1] [-saveTF]
Returns
None
Arguments
Argument
Description
-coordinateOnGrid 0|1
Valid values: Boolean values, 0 and 1 (default=0). This
argument is valid only when -CursorOnGrid is
specified.
1 : Enable the Snap User Input Coordinate option.
0 : Disable the Snap User Input Coordinate option.
-CursorOnGrid
CursorOnGrid
If specified, enable the Snap Cursor to Minor Ratio
option and set the ratio.
Valid value: an integer.
Laker³ Tcl Reference Manual
K-2015.06
805
Chapter 7: Layout Window
Options Commands
806
Argument
Description
-default
Reload the default grid settings from the technology
file.
-displayTrack 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the Display Routing Track option.
0 : Disable the Display Routing Track option.
-dx horDist
Specify the horizontal distance of grids.
Valid value: a floating number.
-dy verDist
Specify the vertical distance of grids.
Valid value: a floating number.
-mask maskRuleList
Specify mask resolution rules, listed by the following
sequence: LayerName, PurposeName, X-spacing, Yspacing, and Available (Boolean values).
-maskCursorOnGrid 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Snap Cursor to Mask Resolution option.
0 : Disable the Snap Cursor to Mask Resolution
option.
-ratio ratio
Specify the value of (Major Grid)/(Minor
Grid).
Valid value: an integer.
-resolution resolution
Specify the digital resolution value.
Valid value: an integer.
-saveTF
Update and save the current system unit settings in
the Change Grid form to the technology file.
-track track RuleList
Specify routing track rules, listed by the following
sequence: LayerName, PurposeName, X-pitch, Ypitch, X-offset, Y-offset, Direction (V, H, or Orth),
Available (Boolean values), and Display (Boolean
values).
-trackCursorOnGrid 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Snap Cursor to Routing Track option.
0 : Disable the Snap Cursor to Routing Track option.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
Argument
Description
-type gridType
Specify the grid type.
Valid values: none, line, and dot.
Examples
#
#
#
#
#
#
#
Example 1
Change the minimum resolution to 0.01
Change the minor X and Y spacing to 0.1
Change the major grid ratio to 5
Set the 'Snap Cursor to Min Ratio' to 2
Change the grid type to “dot”
Reload the default grid setting of the technology file
lakerChangeGrid -resoultion 0.01 -dx 0.1 -dy 0.1 -ratio 5 \
-type dot -CursorOnGrid 2
lakerChangeGrid -track { PO1 drawing 0.5 0.5 0.25 0.25 H 0 0 } \
{ ME1 drawing 0.5 0.5 0.25 0.25 V 0 0 } \
{ ME3 drawing 0.5 0.5 0.0 0.0 Orth 1 1 } \
{ ME4 drawing 0.5 0.5 0.2 0.2 Orth 1 1 } \
{ ME5 drawing 0.5 0.5 0.3 0.3 Orth 1 1 } \
lakerChangeGrid -mask { ME1 drawing 0.05 0.05 1 } \
-maskCursorOnGrid 1
lakerChangeGrid -default
# Example 2
lakerChangeGrid -dx 0.1 -dy 0.1 -ratio 5 -type dot \
-CursorOnGrid 2 -saveTF
lakerChangeGrid -dx 0.5 -dy 0.5 -saveTF
# Example 3
# Set the minimum resolution to 0.001
lakerChangeGrid -resolution 0.001
# Example 4
lakerChangeGrid -CursorOnGrid 1 -coordinateOnGrid 1
See Also
Layout Window: Options > Change Grid
lakerDispFinGrid
The lakerDispFinGrid command turns on/off the display of fin grids (or
tracks) within a local fin region on screen.
Laker³ Tcl Reference Manual
K-2015.06
807
Chapter 7: Layout Window
Options Commands
Syntax
lakerDispFinGrid -mode 0|1
Returns
None
Arguments
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the display of fin grids (or tracks) within a local fin
region on screen.
0 : Disable the display of fin grids (or tracks) within a local fin
region on screen.
Examples
# Display fin grids (or tracks) within a local fin region
lakerDispFinGrid -mode 1
See Also
Layout Window: Options > Display Fin-grid > Fin Region
lakerDispGlobalFinGrid
The lakerDispGlobalFinGrid command turns on/off the display of fin
grids (or tracks) within a global fin region on screen.
Syntax
lakerDispGlobalFinGrid -mode 0|1
Returns
None
Arguments
808
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the display of fin grids (or tracks) within a global fin
region on screen.
0 : Disable the display of fin grids (or tracks) within a global fin
region on screen.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
Examples
# Display fin grids (or tracks) within a global fin region
lakerDispGlobalFinGrid -mode 1
See Also
Layout Window: Options > Display Fin-grid > Global Fin
lakerDispGrid
The lakerDispGrid command turns on/off the display of the background grid
on screen.
Syntax
lakerDispGrid [-mode 0|1]
Returns
None
Arguments
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Enable the display of the background grid on screen.
0 : Disable the display of the background grid on screen.
Examples
# display the grid
lakerDispGrid -mode 1
See Also
Layout Window: Options > Display Grid
lakerDispHier
The lakerDispHier command fits the screen size to the selected cell of the
design hierarchy.
Syntax
lakerDispHier -point (x1,y1)(x2,y2)
Laker³ Tcl Reference Manual
K-2015.06
809
Chapter 7: Layout Window
Options Commands
Returns
None
Arguments
Argument
Description
-point (x1,y1)(x2,y2)
(x1,y1) specifies the lower left corner of the bounding
box while (x2,y2) specifies upper right corner.
Examples
# zoom in the view area to (100,100)(200,200)
lakerDispHier -point (100,100)(200,200)
See Also
Layout Window: Options > Design Hierarchy
lakerDispMCellInfo
The lakerDispMCellInfo command turns on/off the display of the MCell
information in the Layout window.
Syntax
lakerDispMCellInfo -mode 0|1
Returns
None
Arguments
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the display of the MCell information.
0 : Disable the display of the MCell information.
Examples
# turn off the display of MCell information
lakerDispMCellInfo -mode 0
See Also
Layout Window: Options > Display MCell Information
810
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
lakerDispRow
The lakerDispRow command turns on/off the drawing of the row and row
area on the screen.
Syntax
lakerDispRow -mode 0|1
Returns
None
Arguments
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the drawing of the row site on screen.
0 : Disable the drawing of the row site on screen.
Examples
# display the row site
lakerDispRow -mode 1
See Also
Layout Window: Options > Display Row
lakerDispTrack
The lakerDispTrack command turns on/off the drawing of the routing track
on screen.
Syntax
lakerDispTrack [-mode 0|1]
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
811
Chapter 7: Layout Window
Options Commands
Arguments
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the drawing of the routing track on screen.
0 : Disable the drawing of the routing track on screen.
Examples
# display the routing track
lakerDispTrack -mode 1
See Also
Layout Window: Options > Display Routing Track
lakerLayerTap
The lakerLayerTap command taps the layer at the specified point into the
active layer.
Syntax
lakerLayerTap -point (x0,y0)
Returns
None
Arguments
Argument
Description
-point (x0, y0)
(x0,y0) specifies the location of tap for the layer.
Examples
# Example 1
# Tap the layer at point (100,100) into active layer
lakerLayerTap -point (100,100)
See Also
Layout Window: Options > Layer Tap
812
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
lakerSetColPat (for Layer Attribute Setup)
The lakerSetColPat command sets up the attributes of outline colors, fill
colors, stipple patterns, line styles, and line widths for the specified layer and
purpose.
Syntax
To set layer attributes in the layer table:
lakerSetColPat -selall 0|1 | -visall 0|1
To set the visibility or selectability of all valid layers in the layer table:
lakerSetColPat -selValid 0|1 | -visValid 0|1
To edit global settings in the layer table:
lakerSetColPat -default [category] | -LoadDispFile |
-SaveDispFile [-fileName fileName [-saveToRC 0|1]
To edit layer attributes in the layer table:
lakerSetColPat [-AddLayer|-DelLayer] -layerNo layerNum [purpose purposeName] | -layerName layerName [-purpose
purposeName] | -lp {layerName [purposeName]} ... [[outlineColor colorName -fillColor colorName -stipple
stippleName -style lineStyleName -width width -vis 0|1 sel 0|1 -use 0|1] [-streamNo streamNum -dataTypeNo
dataTypeNum -apply 0|1]]
To show/hide all layers in the layer table:
lakerSetColPat -useall 0|1
Returns
None
Arguments
Argument
Description
-AddLayer
Add a layer.
-apply 0|1
Valid values: Boolean values, 0 and 1.
1 : Specify the layer to be streamed in/out.
0 : Do not specify the layer to be streamed in/out.
Laker³ Tcl Reference Manual
K-2015.06
813
Chapter 7: Layout Window
Options Commands
814
Argument
Description
-dataTypeNo
dataTypeNum
Specify the data type number.
-default [category]
Reload the default value of technology file.
-default: Reload tfLayoutLayerTable, and
tfStreamIoTable.
-default category: Reload
tfLayoutLayerCategory.
-DelLayer
Delete a layer.
-fileName fileName
Specify the display file for loading and saving.
-fillColor colorName
Specify the name of the fill color.
-layerName layerName
Specify the layer name of the shape.
-layerName layerName
Specify the layer name of the specified layer.
-layerNo layerNum
Specify the layer number of the shape.
-LoadDispFile
Load a display file to replace display definition.
-lp {layerName
[purposeName]}
Specify layer name and purpose name at the same time.
If the layer purpose is not specified, the default purpose,
drawing, is used.
-outlineColor colorName
Specify the name of the outline color.
-purpose purposeName
Specify the purpose name of the shape
(default=drawing).
-purpose purposeName
Specify the purpose name of the specified layer
(default=drawing).
-SaveDispFile
Save the display definition to a file.
-saveToRC 0|1
Valid values: Boolean values, 0 and 1.
1 : Update UserDispFile attribute in the laker.rc file.
0 : Do not update UserDispFile attribute in the laker.rc
file.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
Argument
Description
-sel 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the selectability of a layer.
0 : Disable the selectability of a layer.
-selall 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the selectability of all layers.
0 : Disable the selectability of all layers.
-selValid 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the selectability of all valid layer purpose pairs
(LPPs).
0 : Disable the selectability of valid LPPs.
-stipple stippleName
Specify the name of the stipple.
-streamNo streamNum
Specify the stream number.
-style lineStyleName
Specify the name of the line style.
-use 0|1
Valid values: Boolean values, 0 and 1.
1 : Specify the appearance of a layer.
0 : Do not specify the appearance of a layer.
-useall 0|1
Valid values: Boolean values, 0 and 1.
1 : Show all layers.
0 : Hide all layers.
-vis 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the visibility of layers.
0 : Disable the visibility of layers.
-visall 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the visibility of all layers.
0 : Disable the visibility of all layers.
-visValid 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the visibility of all valid LPPs.
0 : Disable the visibility of valid LPPs.
-width width
Specify the line width.
Examples
# Example 1
Laker³ Tcl Reference Manual
K-2015.06
815
Chapter 7: Layout Window
Options Commands
# Set all layers to be selectable
lakerSetColPat -selall 1
# Example 2
# Load a display file, save it as another display file and
# update "UserDispFile" attribute in laker.rc.
lakerSetColPat -LoadDispFile /tmp/Laker/display.dsp \
lakerSetColPat -SaveDispFile /tmp/Laker/default.dsp -saveToRC 1
# Example 3
# Add/Delete/Modify a layer
lakerSetColPat -AddLayer -layerName NEWLL -layerNo 12 \
-purpose drawing -outlineColor red -fillColor red \
-stipple blank -style solid -width 2 -vis 1 -sel 1
lakerSetColPat -DelLayer -layerNo 12 -purpose drawing
lakerSetColPat -layerNo 12 -purpose drawing -outlineColor red \
-fillColor red -stipple blank -style solid -width 2 -vis 1 \
-sel 1 -streamNo 10 -dataTypeNo 10 -apply 1
# Example 4
# Deselect three layer purposes “POLY drawing”, “POLY pin”,
# and “MET blockage” with one of the following methods:
# method 1
lakerSetColPat -lp [list POLY {POLY pin} {MET1 blockage}] -sel 0
# method 2
lakerSetColPat -lp POLY {POLY pin} {MET1 blockage} -sel 0
# Example 5
# Allow the layer (11 drawing) to stream in/out with stream
# number (11) and data type number (0)
lakerSetColPat -layerNo 11 -purpose drawing -streamNo 11 \
-dataTypeNo 0 -apply 1
# Example 6
# Set all valid layers to be selectable
lakerSetColPat -selValid 1
See Also
Layout Window: Options > Layer Color/Pattern > Layer Setting
Layer Table Frame: Sel/Vis Control Panel
lakerSetColPat (for Layer Filter Setup)
The lakerSetColPat command sets up the layer filter.
816
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
Syntax
To set or clear a layer filter in the layer table:
lakerSetColPat -clearFilter | -setFilter filterPattern
Returns
None
Arguments
Argument
Description
-clearFilter
Clear the existing layer filter.
-setFilter filterPattern
Set the filter pattern for the layer filter.
Examples
# Example 1
# Clear the existing layer filter
lakerSetColPat -clearFilter
# Example 2
# Set filter pattern "od"
lakerSetColPat -setFilter od
# Example 3
# Set filter pattern "{m1:drawing via}"
lakerSetColPat -setFilter {m1:drawing via}
See Also
Layer Table Frame: Search Panel
lakerSetColPat (for Layer Session Setup)
The lakerSetColPat command sets up the layer session.
Syntax
To set a session in the layer table:
lakerSetColPat -saveSession index | -clearSession index | restoreSession index
Returns
None
Laker³ Tcl Reference Manual
K-2015.06
817
Chapter 7: Layout Window
Options Commands
Arguments
Argument
Description
-clearSession index
Clear data in the indexed session.
Valid value: an integer, from 1 to 5.
-restoreSession index
Restore data from the indexed session.
Valid value: an integer, from 1 to 5.
-saveSession index
Save data to the indexed session.
Valid value: an integer, from 1 to 5.
Examples
# Example 1
# Save data to the indexed session 1
lakerSetColPat -saveSession 1
# Example 2
# Clear data in the indexed session 2
lakerSetColPat -clearSession 2
# Example 3
# Restore data from the indexed session 3
lakerSetColPat -restoreSession 3
See Also
Layer Table Frame: Session Panel
lakerSetColPat (for Layer Attribute Editing)
The lakerSetColPat command edits the fill colors, line styles, stipple
patterns, and display groups.
Syntax
To edit colors:
lakerSetColPat -AddColor | -DeleteColor | -ModifyColor colorName colorName [-r redKey -g greenKey -b blueKey blink 0|1]
818
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
To edit line styles:
lakerSetColPat -AddLineStyle | -DeleteLineStyle |
-ModifyLineStyle -lineStyleName lineStyleName [-length
length -width width -pattern lineStyle]
To edit stipples:
lakerSetColPat -AddStipple | -DeleteStipple | -ModifyStipple
-stippleName stippleName [-width width -height height pattern stipplePatten]
To edit display groups:
lakerSetColPat -AddGroup | -DeleteGroup | -ModifyGroup
-groupName groupName [-outlineColor color -fillColor
color -stipple stipple -lineStyle lineStyle]
Returns
None
Arguments
Argument
Description
-AddColor
Add a color.
-AddGroup
Add a display group pattern.
-AddLineStyle
Add a line style.
-AddStipple
Add a stipple pattern.
-blink 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Specify the blink state of the color.
0 : Do not specify the blink state of the color.
-colorName
Specify the color name.
-DeleteColor
Delete a color.
-DeleteGroup
Delete a display group pattern.
-DeleteLineStyle
Delete a line style.
-DeleteStipple
Delete a stipple pattern.
-fillColor color
Specify the fill color name of the display group pattern.
Laker³ Tcl Reference Manual
K-2015.06
819
Chapter 7: Layout Window
Options Commands
820
Argument
Description
-groupName
groupName
Specify the display group name.
-height height
Specify the height of stipple pattern.
-length length
Specify the length of the line style.
-lineStyle lineStyle
Specify the line style name of the display group pattern.
-lineStyle
lineStyleName
Specify the name of the line style.
-ModifyColor
Modify a color.
-ModifyGroup
Modify a display group pattern.
-ModifyLineStyle
Modify a line style.
-ModifyStipple
Modify a stipple pattern.
-outlineColor color
Specify the outline color name of the display group
pattern.
-pattern lineStyle
Specify the pattern of the line style starting from left to
right, each digit (1/0) represents the pattern (fill/blank) on
the mapping position.
-pattern stipplePatten
Specify the stipple pattern starting from left top to right
bottom. Each digit (1/0) represents the pattern (fill/blank)
on the mapping position.
-r redKey -g greenKey
-b blueKey
Specify the value of the RGB color.
Valid values: redKey, greenKey and blueKey.
-stipple stipple
Specify the stipple name of the display group pattern.
-stippleName
stippleName
Specify the name of the stipple pattern.
-width width
Specify the width (thickness) of the line style.
-width width
Specify the width of the stipple pattern.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
Examples
# Example 1
# Add a color, a line style, a stipple and a display group pattern
lakerSetColPat -AddGroup -groupName DGgreen -outlineColor green \
-fillColor green -stipple blank -lineStyle solid
# Example 2
# Delete a color, a line style, a stipple and a display group pattern
lakerSetColPat -DeleteGroup -groupName DGgreen
# Example 3
# Modify a color, a line style, a stipple and a display group pattern
lakerSetColPat -ModifyGroup -groupName DGgreen \
-outlineColor green -fillColor green -stipple blank \
-lineStyle solid
See Also
Layout Window: Options > Layer Color/Pattern > Layer Setting
lakerSetColPat (for Layer Category Editing)
The lakerSetColPat command adds, deletes, or modifies a layer category.
Syntax
To add a layer category set:
lakerSetColPat -addCategory Name -use 0|1 -layerInfo Layer1
[Layer2]...
To delete a layer category set:
lakerSetColPat -delCategory Name
To modify a layer category set:
lakerSetColPat -modCategory Name -newName newName -use 0|1
-layerInfo Layer1 [Layer2] ...
To enable all layer category sets:
lakerSetColPat -useAllCategory 0|1
To enable/disable the SysPin category set and the list of PinBorder related
layers:
lakerSetColPat -modCategory SysPinSet -use 0|1
Laker³ Tcl Reference Manual
K-2015.06
821
Chapter 7: Layout Window
Options Commands
To enable/disable the visibility and selectability of each PinBorder related layer:
lakerSetColPat [-syspin layerName] [-vis 0|1] [-set 0|1]
To append layer category sets by the category file:
lakerSetColPat -LoadCatFile | -SaveCatFile -fileName
fileName [-saveToRC 0|1]
Returns
None
Arguments
822
Argument
Description
-addCategory Name
Add a user-defined layer category set. The default
category names (RoutingSet, DrawingSet, and
DesignSet) cannot be used in this argument.
-delCategory Name
Delete a user-defined layer category. The default
category names, RoutingSet, DrawingSet, and
DesignSet, cannot be used in this argument.
-fileName fileName
Specify the category file for loading and saving.
-layerInfo
Layer1 [Layer2]...
Specify the layer name and purpose name with
{LayerName PurposeName} | SystemLayerName
| LayerName. The default purpose name is drawing.
-layerInfo
Layer1 [Layer2]...
Specify the layer name and purpose name
(default=drawing) with {LayerName PurposeName}
| SystemLayerName | LayerName.
-LoadCatFile
Load a category file.
-modCategory Name
Modify a user-defined layer category set. The default
category names, RoutingSet, DrawingSet, and
DesignSet, cannot be used in this argument.
-modCategory
SysPinSet
Modify the SysPin category set.
-newName newName
Rename a user-defined layer category set. The default
category names, RoutingSet, DrawingSet, and
DesignSet, cannot be used in this argument.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
Argument
Description
-SaveCatFile
Save a category file.
-saveToRC 0|1
Valid values: Boolean values, 0 and 1.
1 : Update the LayerCategory attributes in laker.rc.
0 : Do not update the LayerCategory attributes in
laker.rc.
-sel 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the selectability of PinBorder related layers.
0 : Disable the selectability of PinBorder related layers.
-syspin layerName
Specify the PinBorder related layers, defined in the
tfLayoutConnection section of the technology file.
-use 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the appearance of a layer category set.
0 : Disable the appearance of a layer category set.
-useAllCategory 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable all layer category sets.
0 : Disable all layer category sets.
-vis 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the visibility of PinBorder related layers.
0 : Disable the visibility of PinBorder related layers.
Examples
# Example 1
# Add a layer category set
lakerSetColPat -addCategory drawingSet1 -use 1 \
-layerInfo {MET1 drawing} {MET2 drawing} {MET3 drawing}
# Example 2
# Delete a layer category set
lakerSetColPat -delCategory drawingSet2
# Example 3
# Modify a layer category set
lakerSetColPat -modCategory drawingSet1 -newName drawing1 \
-use 1 -layerInfo {MET1 drawing} {VIA1 drawing} \
{MET2 drawing}
# Example 4
# Disable the selectability of the PinBorder related layer, MET1
Laker³ Tcl Reference Manual
K-2015.06
823
Chapter 7: Layout Window
Options Commands
lakerSeColPat -syspin MET1 -sel 0
# Example 5
# Disable the visibility of the PinBorder related layer, MET1
lakerSeColPat -syspin MET1 -vis 0
See Also
Layout Window: Options > Layer Color/Pattern > Category Setting
Layer Table Frame: Category List Panel
lakerSnapFinGrid
The lakerSnapFinGrid command turns on/off the cursor snap action to the
nearest fin grid (or track) within a fin region when creating or editing a fin region
or an OD shape.
Syntax
lakerSnapFinGrid -mode 0|1
Returns
None
Arguments
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the snap action to the nearest fin grid or track.
0 : Disable the snap action to the nearest fin grid or track.
Examples
# Example 1
# Snap cursor to the nearest fin grid or track
lakerSnapFinGrid -mode 1
See Also
Layout Window: Options > Snap Fin-grid
lakerSnapRow
The lakerSnapRow command turns on/off the cursor snap action to the
nearest row site when creating or editing instances for cell placement.
824
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Options Commands
Syntax
lakerSnapRow -mode 0|1
Returns
None
Arguments
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the snap action to the nearest row site.
0 : Disable the snap action to the nearest row site.
Examples
# Example 1
# Snap cursor to the nearest row site
lakerSnapRow -mode 1
See Also
Layout Window: Options > Snap Row
lakerSnapTrack
The lakerSnapTrack command turns on/off the cursor snap action to the
nearest routing track when moving or pointing to objects.
Syntax
lakerSnapTrack [-mode 0|1]
Returns
None
Arguments
Argument
Description
-mode 0|1
Valid values: Boolean values, 0 and 1.
1 : Enable the cursor snap action to the nearest routing track.
0 : Disable the cursor snap action to the nearest routing track.
Examples
# Example 1
# Snap cursor to the nearest routing track
Laker³ Tcl Reference Manual
K-2015.06
825
Chapter 7: Layout Window
Query Commands
lakerSnapTrack -mode 1
See Also
Layout Window: Options > Snap Routing Track
Query Commands
This section describes the Tcl commands applied to the Query commands of
the Layout window. These commands include:
826
■
lakerAdjacentNet
■
lakerArea
■
lakerAttribute
■
lakerClearHighLight
■
lakerClearConn
■
lakerClearDimensionMarks
■
lakerClearRuler
■
lakerClearRulerLabels
■
lakerClearTagRulers
■
lakerConfigFlightLine
■
lakerConnBrowser
■
lakerConnChecker
■
lakerDistance
■
lakerEstimateCellArea
■
lakerFindObj
■
lakerFindNetByArea
■
lakerFlightLine
■
lakerMeasureResistance
■
lakerP2PResistance
■
lakerPadWindow
■
lakerRefreshShortError
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Query Commands
■
lakerReplaceObj
■
lakerRuler
■
lakerShortClean
■
lakerShortLocator
■
lakerShowHPWireLength
■
lakerSpareCell
■
lakerUDP
lakerAdjacentNet
The lakerAdjacentNet command extracts adjacent objects in accordance
with user-specified spacing rule.
Syntax
lakerAdjacentNet -with applyWith -margin marginRatio [highlight 0|1] [-addSel 0|1] [-gdsOut fileName]
Returns
None
Arguments
Argument
Description
-with applyWith
Define the extraction input.
Valid values: highlight, netTracer, and select.
-margin marginRatio
Specify the margin ratio, it is multiplied by the spacing
value, defined in tfNetRouteRule.
-highlight 0|1
Valid values: Boolean values, 0 and 1.
1 : Draw the output data with highlight color by sequence.
0 : Do not draw the output data with highlight color by
sequence.
-addSel 0|1
Valid values: Boolean values, 0 and 1.
1 : Add the output data into the select set.
0 : Do not add the output data into the select set.
-gdsOut fileName
Save the output data to a GDSII file.
Laker³ Tcl Reference Manual
K-2015.06
827
Chapter 7: Layout Window
Query Commands
Examples
# Extract the adjacent objects from the currently selected set.
# The space between selected object and adjacent object should be
# smaller than 0.63 (margin multiplied by spacing: 1.4*0.45=0.63 if
# the spacing rule is 0.45). If the checking object meets the rule,
# it adds into the select set.
lakerAdjacentNet -with select -addSel 1 -margin 1.4
See Also
Layout Window: Query > Adjacent Net
lakerArea
The lakerArea command estimates the area of pointed shapes.
Syntax
lakerArea [-layer {layerName purposeName} {...}] [-fromlevel
Level] [-tolevel Level] [-file fileName]
Returns
None
Arguments
Argument
Description
-file fileName
Save the measurement result to a specified file (*.log).
The file path is printed in the message frame of the Home
page.
-fromlevel Level
Specify the start level (default=current start level).
Valid value: an integer (default=0).
-layer {{layerName
purposeName} {...}
Specify the layer of the displayed shapes (default=layer of
all displayed shapes).
-tolevel Level
Specify the view level (default=current view level).
Valid value: an integer (default=0).
Examples
None
See Also
Layout Window: Query > Measure > Area
828
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Query Commands
lakerAttribute
The lakerAttribute command modifies the attributes of selected objects or
devices.
The following table shows the six attributes of path elements for
-routeParam.
Argument
Description
beginStyle pathStyle
Choose one of the path styles, either Truncate, Extend,
or Variable.
color colorName
Specify the color name.
endStyle pathStyle
Choose one of the path styles, either Truncate, Extend,
or Variable.
layerName layer
Specify the layer name.
lock 0|1
Lock or unlock the color of the shape.
points (x0, y0) (x1, y1)
Specify two ends of the modified path segment.
purpose purpose
Specify the purpose name.
width width
Specify a float value as the width of the modified path
segment.
The following table shows the nine attributes of via elements.
Argument
Description
colSpace colSpace
Specify the interval between columns.
columns colsNo
Specify the number of columns for via arrays.
height height
Specify a float value as the height of vias.
orient orientation
Specify the orientation.
Valid values: R0, R90, R180, R270, MXR0, MXR90, MYR0,
and MYR90.
point (x, y)
Specify the via location.
Laker³ Tcl Reference Manual
K-2015.06
829
Chapter 7: Layout Window
Query Commands
Argument
Description
rows rowsNo
Specify the number of rows for via arrays.
rowSpace rowSpace
Specify the interval between rows.
viaDef viaName
Specify the via name.
width width
Specify a float value as the width of vias.
Syntax
lakerAttribute [-index index] [-point point | [-lowerLeft
(x0,y0)] [-upperRight (x0,y0)]] [-offsetPoint (x0,y0)]
[-style pathStyle] [-layerName layerName [-purpose
purpose] ] [-width width] [-length length] [-orient
orientation] [-magni magnification] [-cell cellName] [inst instName] [-rows rowsNo] [-cols colsNo] [-rowSpace
rowSpace] [-colSpace colSpace] [-justify justification]
[-font textFont] [-height height] [-text textString] [inner r1] [-outer r2] [-changeToArray changeToArray] [device deviceName] [-xSpace xSpace] [-ySpace ySpace] [xLay1Enc xLay1Enc] [-yLay1Enc yLay1Enc] [-xLay2Enc
xLay2Enc] [-yLay2Enc yLay2Enc] [-xRepeat xRepeat] [yRepeat yRepeat] [-device viaStackName] [-contType
contType] [-contAlign contAlign] [[-contMode contMode]
[-topLayer layerName]] [-createContact 0|1] [createCornerContact 0|1] [-contAlignMode Center|Max] [contLen number] [-totalLength length] [-fit seg | [block]
fitValue] [-space deviceSpace] [-metWidth metWidth] [connectType connectType] [-interDist interContDistance]
[-value value] [-metEncCo metEncCo] [-unitDist unitDist]
[-pattern pattern] [-centerLine centerLine] [-param
parameters] [-netName netName] [-gateName gateName] [portName portName] [-pinName pinName] [-portType
portType] [-accDir accDir] [-status status] [disableImpNotch 0|1] [-resEncCo enclosure_value] [co2Gate number [$rule_name]] [-optLayerRepeatPattern
optLayerRepeatPattern] [-traitRepeatPattern Pattern] [trait Pattern] [-layerSetting {layerName purposeName
enable | disable rectangle | fillNotch | none | fillHole}
{value1 value2} + ] [-createDummyGate {numberSingle
numberMulti numberInner | {numberInner toleranceValue}}
[-dummyGateLengthType LengthType]] [-dummyCapValue
dummyCapValue] [-unitSpaceX unitSpaceX] [-unitSpaceY
830
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Query Commands
unitSpaceY] [-unitValue unitValue] [-unitWidth
unitWidth] [-dummyWidth value] [-dummyContact 0|1] [extSegLength 0|1] [-segNo value] [-bodyWidth floatValue]
[-pivot top|bottom|firstEnd|secondEnd] [useMaskResolution 0|1|AsIs] [-xConSpace xConSpace
[$rule_name]] [-yConSpace yConSpace [$rule_name]] [routeParam attributeList] [-pathOffset value] [globalRule $rule_name] [-topLayerName name1] [topPurpose name2] [-botLayerName name3] [-botPurpose
name4] [-bottomLayer bottomLayerName [bottomPurpose]] [topLayer topLayerName [topPurpose]] [-nonOverlapVia 0|1]
[-discreteGatePitch 0|1] [-contLay1Width layerWidth] [reEval 0|1] [-contLay1Height layerHeight] [createPolyCont 0|1] [-routeStatus routeStatus] [routeType routeType] [-polyContType contType]
[-polyConSymmetry 0|1] [-showExtensionLine 0|1] [xPolyCoEnc value] [-yPolyCoEnc value] [-xPolyCoConSpace
xConSpace [$rule_name]] [-yPolyCoConSpace yConSpace
[$rule_name]] [-dummyGatePolyCoSym mode] [-xCo2OdEnc
xValue -yCo2OdEnc yValue] [-plugInParam {{$paramName
$paramValue} [{$paramName $paramValue}...]}] [placementStatus status] [-rectContactStyle 0|1] [avgDCCurrent avgDCCurrent] [-avgACCurrent avgACCurrent]
[-peakACCurrent peakACCurrent] [-rmsACCurrent
rmsACCurrent] [-object objectName] [-beginStyle
beginStyle [-beginExt beginExt extendValue]] [-endStyle
endStyle [-endExt extendValue]] [-beginStrap 0|1] [endStrap 0|1] [-striped 0|1] [-stripeSegIndex index] [viaDef viaName] [-spacing spacing] [-number number] [color colorName] [-lock 0|1]
Returns
None
Arguments
Argument
Description
-accDir accDir
Specify the pin direction.
Valid values: the combination of {Top},
{Bottom}, {Left}, and {Right} (default=all
directions, that is,
{Top}{Bottom}{Left}{Right}).
Laker³ Tcl Reference Manual
K-2015.06
831
Chapter 7: Layout Window
Query Commands
832
Argument
Description
-avgACCurrent
avgACCurrent
Specify the average AC current value.
Valid value: a positive floating number.
-avgDCCurrent
avgDCCurrent
Specify the average DC current value.
Valid value: a positive floating number.
-beginExt extendValue
Specify the extension value if the begin style is
Variable.
Valid value: a floating number.
-beginStrap 0|1
Valid values: Boolean values, 0 and 1.
1 : Indicate there is a strap at the begin terminal.
0 : Do not indicate any strap at the begin terminal.
-beginStyle beginStyle
Specify the begin style of striped wires.
Valid values: Truncate, Extend, and Variable.
-bodyWidth floatValue
Specify the body width of guard rings. The number
of contact rows is determined by the body width
and contact spacing.
Valid value: a positive floating number.
-botLayerName name3
This argument is used for contact devices.
name3 is the bottommost layer name of stack vias.
-botPurpose name4
This argument is used for contact devices.
name4 is the bottommost layer purpose of stack
vias.
-bottomLayer
bottomLayerName
[bottomPurpose]
Specify the layer name (and purpose name) for the
bottommost layer.
-cell cellName
Specify the cell name.
-centerLine centerLine
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the point
array of the center line while y0...yn specify the
y coordinate. Objects can be aligned by XY
coordinates respectively:
(*, -12.3) : X is AsIs and Y aligns to -12.3
(12.3, *) : Y is AsIs and X aligns to 12.3
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Query Commands
Argument
Description
-changeToArray
changeToArray
Change the instance type to one-by-one array type.
-co2Gate
number [$rule_name]
Specify the spacing between contacts and gates.
number: The number is in user units, and it must
be greater than or equal to the
minCo2GateSpace value defined in the
technology file. The default is the
minCo2GateSpace value.
$rule_name: The rule to be used
(default=default, which indicates the default
rule).
-colorName colorName
Specify the color name.
Valid value: a string.
-cols colsNo
Specify the number of columns.
Valid value: an integer.
-colSpace colSpace
Specify the number of instances for y coordinate
spacing.
-connectType
connectType
Specify the connected type for resistors.
Valid values: metal, res, and none
(default=res).
-contAlign contAlign
Specify the alignment of contacts.
Valid values: top, center, and bottom
(default=center).
If the value of -contAlign is none of the above
values, or it is not specified, the contact align status
for the selected transistor/activeLayer-region
remains unchanged.
-contAlignMode
Center|Max
Specify the contact pattern.
Valid values: Center, and Max (default=Center).
Center : Center-aligned contacts;
Max : Maximum contacts.
-contLay1Height
layerHeight
Specify the height for the bottom layer of contact
arrays.
Laker³ Tcl Reference Manual
K-2015.06
833
Chapter 7: Layout Window
Query Commands
Argument
Description
-contLay1Width l
ayerWidth
Specify the width for the bottom layer of contact
arrays.
-contLen number
Specify the contact length. It accepts two kinds of
unit, that is, db unit and user-defined unit as
follows.
■
■
-contMode contMode
Specify the contact mode. The following valid
values vary depending on different MCell devices.
■
■
■
-contType contType (for
transistors)
Transistors: Normal, Esd, and StackVia
(default=Normal). Refer to
lakerCreateTransistor.
Guard rings: normal, and stackVia
(default=normal). Refer to
lakerCreateGuardRing.
Contacts: centerAlign, and maximum
(default=maximum). Refer to
lakerCreateContact.
Specify the contact type. The following valid values
vary depending on different MCell devices.
■
834
With a decimal point, the user- defined unit is
used.
Without a decimal point, the db unit is used.
Transistors: asIs, NoContact,
SingleContact, MaxContact, and
ContactArray (default=MaxContact).
asIs : Keep the existing condition without
modification.
NoContact: Remove contacts.
SingleContact : Change to a single contact
structure.
MaxContact : Change to a maximum contact
structure.
ContactArray : Insert a contact array with the
number of columns and rows, such as
contactArray column row.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Query Commands
Argument
Description
-contType contType (for resistors) Specify the contact type. The following valid values
vary depending on different MCell devices.
■
-contType contType (for
capacitors)
Resistors: maxRow, single, maximum, and
contactArray (default=maxRow).
maxRow : Change to a contact structure with
maximum row, such as maxRow row.
single : Change to a single contact structure.
maximum : Change to a maximum contact
structure.
contactArray : Insert a contact array with the
number of columns and rows, such as
contactArray column row.
Specify the contact type. The following valid values
vary depending on different MCell devices.
■
Capacitors: maximum, contactArray, and
AsIs (default=maximum).
maximum : Change to a maximum contact
structure.
contactArray : Insert a contact array with the
number of columns and rows, such as
contactArray column row.
AsIs : Keep the existing condition without
modification.
-createContact 0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Create contact in stack paths.
0 : Do not create contact in stack paths.
-createCornerContact
0|1
Valid values: Boolean values, 0 and 1 (default=1).
1 : Create corner contacts.
0 : Do not create any corner contacts.
Laker³ Tcl Reference Manual
K-2015.06
835
Chapter 7: Layout Window
Query Commands
836
Argument
Description
-createDummyGate
{ numberSingle
numberMulti
numberInner |
{ numberInner
toleranceValue } }
Create dummy gates for a transistor with these
conditions:
numberSingle: Number of dummy gates
(default=2) for a transistor with one normal gate.
numberMulti: Number of dummy gates
(default=1) for a transistor with multiple normal
gates.
numberInner: Number of dummy gates
(default=1) for a transistor with different gate width
(between two adjacent gates) exceeding the
toleranceValue. This toleranceValue must
be greater than or equal to 0.0.
numberSingle, numberMulti and
numberInner must be specified when this option
is used.
Valid value: an integer, greater than or equal to 0.
-createPolyCont 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Create poly contacts.
0 : Do not create any poly contacts.
-device deviceName
Specify the name of contacts, transistors, resistors,
capacitors or guard rings.
-device viaStackName
Specify the via stacking name (or contact device
name) for stack paths (default=StackVia). If it is
StackVia, the contact device sequence is
connected automatically.
-disableImpNotch 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Create a notch shape on IMP/L1/L2 layers.
0 : Do not create any notch shapes on IMP/L1/L2
layers.
-discreteGatePitch 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Discrete Gate Pitch option.
0 : Disable the Discrete Gate Pitch option.
-dummyCapValue
dummyCapValue
Specify the capacitance (in pF) of dummy
capacitors.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Query Commands
Argument
Description
-dummyGateLengthType
LengthType
Specify the length type for dummy gates. This
argument is valid only if -createDummyGate is
specified.
Valid values: AdjacentNarrower,
AdjacentWider and MinChannelLength
(default=AdjacentNarrower).
-dummyContact 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Add contacts and metal on dummy resistors.
0 : Do not add contacts and metal on dummy
resistors.
-dummyWidth value
Specify the dummy width for resistors. By default,
the value is equal to the -width option.
-dummyGatePolyCoSym
mode
Set the poly contact structure for dummy gates.
Valid values: none, polyOnly, and all
(default=none).
-endExt extendValue
Specify the extension value if the end style is
Variable.
Valid value: a floating number.
-endStrap 0|1
Valid values: Boolean values, 0 and 1.
1 : Indicate there is a strap at the end terminal.
0 : Do not indicate any strap at the end terminal.
-endStyle endStyle
Specify the end style of striped wires.
Valid values: Truncate, Extend, and Variable.
-extSegLength 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Extend each segment to make each segment
having the same length. This argument is used for
disconnected resistors only.
0 : Do not extend the segment length.
-fit seg|[block] fitValue
Specify the value of segment or blockLength.
Laker³ Tcl Reference Manual
K-2015.06
837
Chapter 7: Layout Window
Query Commands
Argument
Description
-font textFont
Specify the font type of created text strings, ruler
labels, genText labels or dimension marks.
Valid values for created text strings: Modern,
Script, Roman, Simple, Merit, Contemplate
and Contemplate1 (default=Modern).
Valid values for ruler labels, genText labels and
dimension marks: Modern, Script, and Roman
(default=Modern).
838
-gateName gateName
Assign a gate name to the transistor gate.
-globalRule $rule_name
Specify the global rule for transistors, contact
devices, guard rings (default=default, which
indicates the default rule).
-height height
Specify the text height of created text strings, ruler
labels, genText labels or dimension marks.
Valid value: a positive floating number
(default=1.0).
-index index
Edit an index of the selected objects.
Valid value: an integer.
The starting index number is 1. If this is not set, all
selected objects can be edited.
-inner r1
Specify the inner radius of doughnuts.
-inst instName
Specify the instance name (default=systemassigned).
-interDist
interContDistance
Specify each inter contact distance (default=empty
string).
-jointType jointType
Specify the joint type for the specified pin.
Valid values: Disjointed, Strong, and Weak.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Query Commands
Argument
Description
-justify
justification
Specify the contact justification of paths, or the text
justification of created text strings, dimension mark
and genText labels.
Valid values for contacts in paths: UpperLeft,
CenterLeft, LowerLeft, UpperCenter,
CenterCenter, LowerCenter, UpperRight,
CenterRight, and LowerRight.
Valid values for created text strings: Original,
UpperLeft, CenterLeft, LowerLeft,
UpperCenter, CenterCenter, LowerCenter,
UpperRight, CenterRight, and LowerRight
(default=LowerLeft). The Original value is
available only when -toPoly is turned on.
Valid values for genText labels: UpperLeft,
CenterLeft, LowerLeft, UpperCenter,
CenterCenter, LowerCenter, UpperRight,
CenterRight, and LowerRight
(default=CenterCenter).
Valid values for dimension mark labels: Auto,
UpperLeft, CenterLeft, LowerLeft,
UpperCenter, CenterCenter, LowerCenter,
UpperRight, CenterRight, and LowerRight.
-layerName
layerName
Laker³ Tcl Reference Manual
K-2015.06
Specify the layer name.
839
Chapter 7: Layout Window
Query Commands
Argument
Description
-layerSetting
{layerName
purposeName
enable|disable
rectangle|fillNotch|none|fillHole}
{value1 value2}+
■
■
■
■
■
■
840
enable or disable enables or disables the
specified layer, and rectangle, fillNotch,
none, or fillHole sets the extend type of that
layer. fillHole is used for MCell guard rings
only.
The parameter set {layerName
purposeName enable|disable
rectangle|fillNotch|none|fillHole}
is ignored if the specified layer is disabled
(setting generate off and control off in
the technology file).
enable or disable is ignored if the layer is
locked (setting control off in the technology
file).
rectangle, fillNotch, none, or fillHole
is ignored if this layer is set to be disable.
{value1 value2} sets the enclosure distance
between preserved option layers (Imp, L1-L9)
and the OD layer for MCell transistors or the
body layer for MCell guard rings.
The layers without layer editing parameters use
the default value defined in the technology file.
-length length
Specify the cutting length of contacts.
-lock 0|1
Valid values: Boolean values, 0 and 1.
1 : Lock the color of the shape.
0 : Unlock the color of the shape.
-lowerLeft (x0,y0)
x0 specifies the x coordinate for the lower left
corner of the rectangle while y0 specifies the y
coordinate. Objects can be aligned by XY
coordinates respectively:
(*, -12.3) : X is AsIs and Y aligns to -12.3
(12.3, *) : Y is AsIs and X aligns to 12.3
-magni magnification
Specify the view size is printed compared with a
real chip size.
Valid value: a positive floating number
(default=1.0).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Query Commands
Argument
Description
-metEncCo metEncCo
Specify the enclosure distance between the metal
and contact layers (for Cross contact mode only).
-metWidth metWidth
Specify the width of Metal layer shapes that
connect cross type contacts (for Cross contact
mode only).
-netName netName
Assign a net name to the selected shape or MCell.
-nonOverlapVia 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Allow non-overlapping contacts/vias.
0 : Allow overlapping contacts/vias.
-number number
Specify the number of stripes for the striped
segment.
Valid value: an integer.
-object objectName
Specify the name of the striped wire.
-offsetPoint (x0,y0)
x0 specifies an offset value from the x coordinate
point while y0 specifies the value from the y
coordinate point.
-optLayerRepeatPattern
optLayerRepeatPattern
Define the repeated sequence of option layers.
-orient orientation
Specify the orientation.
Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).
-outer r2
Specify the outer radius of doughnuts.
-pathOffset value
Specify the path offset for user-defined justification.
Valid value: a floating number (default=0.0).
Laker³ Tcl Reference Manual
K-2015.06
841
Chapter 7: Layout Window
Query Commands
Argument
Description
-param parameters
Specify the parameter list for contacts. Each
parameter includes the device name, the number
of columns, the number of rows, the contact width,
the contact length, the align type (m for maximum
type), optional parameters for the width and height
of the bottom layer, the horizontal spacing between
contact layers, the vertical spacing between
contact layers, the horizontal enclosure distance
between the contact layer and the first connected
layer, the vertical enclosure distance between the
contact layer and the first connected layer, the
horizontal enclosure distance between the contact
layer and the second connected layer, the vertical
enclosure distance between the contact layer and
the second connected layer, align type (c for align
center, other for no align center), the horizontal
distance between the leftmost contact’s center of
the current contact layer and the first contact layer,
the vertical distance between the leftmost contact's
center of the current contact layer and the first
contact layer.
Specify the parameter list for stack paths. Each
parameter includes the contact device name, the
contact width, the contact length, the horizontal/
vertical spacings between contact layers, the
horizontal/vertical enclosure distances between
contact layer and the first connected layer, the
horizontal/vertical enclosure distances between
contact layer and the second connected layer.
Refer to the -param parameter description for more
details of the parameter list for transistors.
842
-pattern pattern
Specify the capacitor pattern.
Valid values: patternA, patternB, patternC,
and patternD (default=patternA).
-peakACCurrent
peakACCurrent
Specify the peak AC current value.
Valid value: a positive floating number.
-pinName pinName
Assign a pin name to the selected shape.
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Query Commands
Argument
Description
-pivot top | bottom |
firstEnd | secondEnd
Specify the end point under consideration.
Valid values: top, bottom, firstEnd, and
secondEnd.
top and bottom are for metal/res-connected
resistor.
firstEnd and secondEnd are for disconnected
resistor and are ignored if -segNo is not specified.
-placementStatus status
Specify the pin placement status.
Valid values: Fixed, Cover, Placed, Unplaced,
and Null (default=Placed).
-plugInParam {{$paramName
$paramValue}[{$paramName
$paramValue}...]}
Define a list of parameters for MCell callbacks. This
applies to MCell transistors and guard rings.
■
■
$paramName: Specify the parameter name,
which is defined in params of the callBack
section.
$paramValue: Specify the parameter value for
the corresponding $paramName.
-point point
Specify the centerline of the striped segment.
-point point
(x0,y0)...(xn,yn)
x0...xn specify the x coordinate for the point
array while y0...yn specify the y coordinate.
Objects can be aligned by XY coordinates
respectively, for example:
(*, -12.3) : X is AsIs and Y aligns to -12.3
(12.3, *) : Y is AsIs and X aligns to 12.3
-polyContType
contType
Specify the contact type for poly contacts.
Valid values: NoContact, SingleContact,
MaxContact, and ContactArray
(default=MaxContact).
SingleContact : Insert a single contact.
MaxContact : Insert the maximum number of
contacts.
ContactArray : Insert a contact array with the
number of columns and rows, such as
contactArray row column.
Laker³ Tcl Reference Manual
K-2015.06
843
Chapter 7: Layout Window
Query Commands
844
Argument
Description
-polyConSymmetry 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Symmetry option for poly contacts.
0 : Disable the Symmetry for poly contacts.
-portName portName
Assign a port name to the selected shape.
-portType portType
Set the pin shape type.
Valid values: in, out, inout, jumper, and
device.
-purpose purpose
Specify the purpose name (default=drawing).
-rectContactStyle 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Rectangle Contact Style option.
0 : Disable the Rectangle Contact Style option.
-reEval 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Refresh Signature Number option.
0 : Disable the Refresh Signature Number option.
-resEncCo
enclosure_value
Specify the horizontal enclosure distance between
the resistor body layer and contact layer.
-rmsACCurrent
rmsACCurrent
Specify the root-mean-square (rms) AC current
value.
Valid value: a positive floating number.
-routeParam
attributeList
Specify the list of attributes for the modified
element of route objects. The format is
{elementIndex {attrKey attrValue}
...}. Some attributes for path and via elements
are illustrated the Description section.
-routeStatus
routeStatus
Specify the route status.
Valid values: Fixed, Routed, and Cover
(default=Fixed).
Laker³ Tcl Reference Manual
K-2015.06
Chapter 7: Layout Window
Query Commands
Argument
Description
-routeType
routeType
Specify the route type.
-rows rowsNo
Specify the number of instance rows.
Valid value: an integer (default=1).
-rowSpace rowSpace
Specify the number of instances for the x
coordinate spacing.
Valid value: a floating number.
-segNo value
Specify the segment index of a disconnected
resistor.
-showExtensionLine 0|1
Valid values: Boolean values, 0 and 1 (default=0).
1 : Enable the Show Extension Line option.
0 : Disable the Show Extension Line option.
-space deviceSpace
Specify the spacing between resistor shapes.
-spacing spacing
Specify the stripe spacing for this striped segment.
-status status
Set the pin shape status.
Valid values: fix and float.
-striped 0|1
Valid values: Boolean values, 0 and 1.
1 : Specify the geometry as stripes.
0 : Specify the geometry as fat wires.
-stripeSegIndex index
Specify the index of the active striped segment.
Valid value: an integer (default=1).
-style pathStyle
Specify the path style.
Valid values: Truncate, Extend, Round, and
Variable
-beginExt value -endExt value
(default=Truncate).
-text textString
Specify the text string.
Laker³ Tcl Reference Manual
K-2015.06
Valid values: none, ring, padRing, blockRing,
stripe, followPin, IOWire, coreWire,
blockWire, signalUser, pgStripe,
clockStripe, and miscFillTrack
(default=none).
845
Chapter 7: Layout Window
Query Commands
846
Argument
Description
-topLayer layerName
Specify the top layer is selected from one of the
metal layers defined in the technology file.
This argument is valid only if -contMode
stackVia is specified.
-topLayerName name1
This argument is used for contact devices.
name1 is the topmost layer name of stack vias.
-topLayer
topLayerName
[topPurpose]
Specify the layer name (and purpose name) for the
topmost layer.
-topPurpose name2
This argument is used for contact devices.
name2 is the topmost layer purpose of stack vias.
-totalLength length
Specify the total length between outmost contact
layers (default=100.0).
-trait Pattern
Define the trait repeat pattern for partially selected
transistors. The valid value can be any
combinations from the defined trait in technology
file.
-traitRepeatPattern
Pattern
Define the trait repeat pattern for fully selected
transistors. The valid value can be any
combinations from the defined trait in technology
file.
-unitDist unitDist
Specify the unit distance of cross contact array
structure (for Cross contact mode only).
-unitSpaceX
unitSpaceX
Specify the horizontal spacing between unit
capacitors.
Valid value: a positive floating number.
-unitSpaceY
unitSpaceY
Specify the vertical spacing between unit
capacitors.
Valid valu
Download