Está en la página 1de 1690

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 readers responsibility to
determine the applicable regulations and to comply with them.

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

Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys, as set forth at
http://www.synopsys.com/Company/Pages/Trademarks.aspx.
All other product or company names may be trademarks of their respective owners.
Synopsys, Inc.
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Getting Started with Tcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Running Tcl Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tcl Commands and Command Substitution. . . . . . . . . . . . . . . . . . . . . . .

Tcl Variables and Variable Substitution . . . . . . . . . . . . . . . . . . . . . . . . . .

Tcl Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Basic Flow Control (if, while, for, foreach) . . . . . . . . . . . . . . . . . . . . . . . .


if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
foreach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4
4
5
5
5

Data Structures: Lists and Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Built-in Commands and Math Functions in Tcl. . . . . . . . . . . . . . . . . . . . .

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.

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 Symbols 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 inputtext


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

Denotes optional parameters, such as:


write_file [-f filename]

...

Indicates that parameters can be repeated as many times as


necessary:
pin1 pin2 ... pinN

Indicates a choice among alternatives, such as


low | medium | high

Indicates a continuation of a command line.

Indicates levels of directory structure.

Edit > Copy

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


Edit menu and choosing Copy.

Ctrl+C

Indicates a keyboard combination, such as holding down the


Ctrl key and pressing the C key.

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

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

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.
Lakers 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

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

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

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.

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

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).

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 variables 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

Chapter 1: Introduction
Getting Started with Tcl

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

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 Lakers 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
Lakers 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 Lakers 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 Lakers commands from another Tk application, a Tk name must be
registered for Laker with the command line option -tkName.
The syntax for registering Lakers 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> <Lakers 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 Pages 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


Lakers 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 Lakers 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


Lakers 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

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 Laker3s 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.

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.

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 = doesnt 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

An integer.

str1, str2

Strings.

Examples
strncat

abcdef

ghi

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

An integer.

str1, str2

Strings.

Examples
strncmp abcdef

abcxyz

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, Laker3s 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 objects 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 objects
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 vias 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 librarys 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 instances statement.

nlInstName

Get the instance name when exporting an instances statement.

nlSchematicCV

Get the schematic cellviewId when exporting a subckt's


statement.

nlSymbolCV

Get the symbol cellviewId when exporting a subckts 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

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 shapes 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 contacts 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 rings 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 resistors 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 layers 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 contacts 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 value: a positive floating number.

-unitValue unitValue

Specify the unit capacitance in pF.


Valid value: a positive floating number.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

Argument

Description

-unitWidth unitWidth

Specify the width (in microns) of unit capacitors.


Valid value: a positive floating number.

-upperRight (x0,y0)

x0 specifies the x coordinate for the top right


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

-useMaskResolution
0|1|AsIs

Valid values: Boolean values, 0 and 1, and AsIs


(default=AsIs).
1 : Use the Mask/General resolution.
0 : Use the MCell resolution.
AsIs : The same value, inheriting from
lakerCreateCapacitor, lakerCreateResistor,
lakerCreateTransistor, lakerCreateGuardRing and
lakerCreateStackedPath.

-value value

For capacitor value, the equation is defined in the


technology file.
For resistance value, if -totalLength is
specified, this argument is ignored.
Valid value: a positive floating number.

-viaDef viaName

Specify the used via of the striped wire.

-width width

Specify the width of paths, stack paths, capacitors,


resistor body layers, or the cutting width of
contacts.
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.
Specify the stripe width for this striped segment.
Valid value: a floating number.

Laker Tcl Reference Manual


K-2015.06

847

Chapter 7: Layout Window


Query Commands

Argument

Description

-xCo2OdEnc
xValue

Specify the horizontal enclosure distance between


the contact layer and the adjacent edge of the Thinoxide layer.

-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).

-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.

-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.

-xRepeat xRepeat

Specify the number of capacitors in x-direction.


Number of columns for contact arrays.
Valid value: a positive integer (default=1).

848

-xSpace xSpace

Specify the horizontal spacing between contact


layers.

-yCo2OdEnc yValue

Specify the vertical enclosure distance between


the contact layer and the adjacent edge of the Thinoxide layer.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

Argument

Description

-yConSpace
yConSpace
[$rule_name]

Specify the contact y-spacing


(default=minCoSpace).
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).

-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.

-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.

-ySpace ySpace

Specify the vertical spacing between contact


layers.

-yRepeat yRepeat

Specify the number of rows for contact arrays.


The number of capacitors in y-direction.
Valid value: a positive integer (default=1).

Examples
# Example 1
# Change the layer name of all selected shapes to poly layer
# and change the bounding box to (0,0) (10,10)
lakerAttribute -layerName poly -point (0,0) (10,10)
# Example 2
# Change the layer name of the 2nd object among these
# selected objects to FRAM
lakerAttribute -index 2 -layerName FRAM

Laker Tcl Reference Manual


K-2015.06

849

Chapter 7: Layout Window


Query Commands

# Example 3
# Change the layer name of the 5th object among these selected
# objects to FRAM and change the string content to demo string
lakerAttribute -index 5 -layerName MT1 -text demo string
# Example 4
lakerAttribute -index 1 -point (1.325,-3.43) -device pmos \
-glueNo 3 -contLen 850 -contType MaxContact -xEnc 0.150000 \
-yEnc 0.150000 -xConSpace 0.4 -yConSpace 0.4 -co2Gate 0.3
# Example 5
# Modify stack via
lakerAttribute -index 1 -point (1.57,2.905) -device StackVia \
-justify LowerLeft -param \
{M1_P1 1 2 0.4 0.4 0.4 0.4 0.15 0.15 0.15 0.15 0 0.0 0.0 } \
{M1_M2 1 2 0.5 0.5 0.45 0.45 0.2 0.2 0.15 0.15 c 0.0 0.0 } \
# Example 6
lakerAttribute -index 1 -point (-1.175,2.055) -device pmos \
-gates 2 -type parallel -contLen 1.15 -contType MaxContact \
-xEnc 0.150000 -yEnc 0.150000 -xConSpace 0.4 -yConSpace 0.4 \
-param \
{patternA 1.0 0.35 asIs 0.0 } {patternA 1.2 0.35 bottom 0.0 } \
-layerSetting { PP drawing enable none } \
-createDummyGate {2 1 {1 0.2}}
# Example 7
# Modify selected capacitor to be 2x2 and dummy capacitors is 0.1pF
lakerAttribute -index 1 -point (22.325,62.495) -device PCAP \
-metEncCo 0.350000 -unitDist 2.000000 -metWidth 0.500000 \
-pattern patternA -xRepeat 2 -yRepeat 2 -unitValue 1.000000 \
-unitSpaceX 1.0 -unitSpaceY 1.0 -dummyCapValue 0.100000
# Example 8
lakerAttribute -index 1 -point (37.145,16.653) \
-useMaskResolution 0 -device pfet -gates 2 -type parallel \
-contLen asIs -contType MaxContact -xEnc 0.5 -yEnc 0.45 \
-xConSpace 1.0 -yConSpace 1.0 -param \
{patternA 2.0 1.0 asIs 0.0 } {patternA 3.0 2.0 bottom 0.0 } \
-layerSetting { PIMP drawing enable none } \
-createDummyGate {2 1 1} -dummyGateLengthType AdjacentWider
# Example 9
# change the contact type to contactArray with 2 columns and
# 3 rows. The contact spacing in X direction is 0.6, and the
# contact spacing in Y direction is 0.7.
lakerAttribute -index 1 -point (-67.625,8.17) \
-useMaskResolution 0 -device TRES -totalLength 100.0 \
-width 4.0 -space 2.3 -fit segment 5 -contType \
contactArray 2 3 -xConSpace 0.6 -yConSpace 0.7 -extSegLength 0

850

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

# Example 10
# change the contact type to contactArray with 2 columns and
# 3 rows. The contact spacing in X direction is 1.0, and the
# contact spacing in Y direction is 1.5.
lakerAttribute -index 1 -point (41.875,4.47) \
-useMaskResolution 0 -device PCAP -value 38.200001 \
-metEncCo 0.350000 -unitDist 2.000000 \
-metWidth 0.500000 -pattern patternA -contactType \
contactArray 2 3 -xConSpace 1.0 -yConSpace 1.5
# Example 11
lakerAttribute -index 1 -routeParam {11 {layerName METAL1} \
{points (-382.9,100.725) (-382.9,104.925)} {width 0.7} \
{beginStyle Truncate} {endStyle Truncate}}
# Example 12
lakerAttribute -index 1 -routeParam {0 {point (-654.5,-645.875)} \
{columns 16} {rows 18} {width 0.6} {height 0.6} {colSpace 0.5}}
# Example 13
lakerAttribute -point (1.36,3.64) -orient R0 -magni 1.000000 \
-cols 3 -xRepeat 3 -rows 4 -yRepeat 4 -colSpace 0.400000 \
-xSpace 0.400000 -rowSpace 0.400000 -ySpace 0.400000 \
-topLayerName MET2 -topPurpose drawing -botLayerName MET1 \
-botPurpose drawing -xLay1Enc 0.150000 -yLay1Enc 0.150000 \
-xLay2Enc 0.150000 -yLay2Enc 0.150000 -width 0.700000 \
-length 0.500000 -device M1_M2 -justify LowerLeft \
-netName remove -netName2 remove -gateName remove -portName \
remove -pinName remove -substrate remove -status float
# Example 14
# Change a stack path to be with viaStacking "viaStacking2"
# and use its two contact device "M1_P1" and "M1_M2", without
# creating corner contact and with contact pattern Max":
lakerAttribute -index 1 -point (-8.108,26.557) (-8.108,26.557)\
(25.334,26.557) (25.334,-6.33) -device viaStacking2 -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 } -topLayer MET2 \
-bottomLayer POLY -width 3.500000 -style Variable \
-beginExt 1.000000 -endExt 2.000000 -createCornerContact 0 \
-contAlignMode Max
# Example 15
# "Lower Left XY" (*, -12.3)
lakerAttribute -layerName POLY -purpose label \
-lowerLeft (*, -12.3) -netName remove -netName2 remove \
-gateName remove -portName remove \
-pinName remove -substrate remove -status float

Laker Tcl Reference Manual


K-2015.06

851

Chapter 7: Layout Window


Query Commands

# Example 16
lakerAttribute -index 1 -point (50.22,48.248) \
-useMaskResolution 0 -device PMOS_plugIn -gates 2 \
-type parallel -contLen asIs -contType MaxContact \
-xEnc 0.5 -yEnc 0.45 -xConSpace 1.0 -yConSpace 1.0 \
-param {patternA 4.0 2.0 asIs 0.0 } {patternA 4.0 0.8 bottom 0.0 } \
-layerSetting { PIMP drawing enable none } \
-plugInParam {{b1 25.0} {b2 15.0} }
# Example 17
lakerAttribute -routeType signalUser
lakerAttribute -avgDCCurrent 0.5 -peakACCurrent 1.3 \
-rmsACCurrent 0.9

See Also
Layout Window: Query > Attribute

lakerClearHighLight
The lakerClearHighLight command clears all highlights in the layout, and
also clears the highlighted drawings generated by lakerConnChecker,
lakerConnBrowser, and lakerAddHighLightObj.
Syntax
lakerClearHighLight
Returns
None
Examples
lakerClearHighLight

See Also
Layout Window: Query > Clear Highlight

lakerClearConn
The lakerClearConn command clears all highlighted drawings generated by
lakerConnChecker and lakerConnBrowser.
Syntax
lakerClearConn

852

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

Returns
None
Examples
lakerClearConn

lakerClearDimensionMarks
The lakerClearDimensionMarks command clears all dimension marks in
the layout.
Syntax
lakerClearDimensionMarks -mode 0|1
Returns
None
Arguments
Argument

Description

-mode 0|1

Valid values: Boolean values, 0 and 1.


1 : Clear all dimension marks.
0 : Do not clear any dimension marks.

Examples
# Example 1
# Clear all dimension marks
lakerClearDimensionMarks -mode 1

See Also
Layout Window: Query > Clear Ruler > Clear Dimension Marks

lakerClearRuler
The lakerClearRuler command clears all rulers in the layout.
Syntax
lakerClearRuler
Returns
None

Laker Tcl Reference Manual


K-2015.06

853

Chapter 7: Layout Window


Query Commands

Examples
# Example 1
# Clear all rulers
lakerClearRuler

See Also
Layout Window: Query > Clear Ruler > Clear Ruler

lakerClearRulerLabels
The lakerClearRulerLabels command clears all ruler labels in the layout.
Syntax
lakerClearRulerLabels -mode 0|1
Returns
None
Arguments
Argument

Description

-mode 0|1

Valid values: Boolean values, 0 and 1.


1 : Clear all ruler labels.
0 : Do not clear any ruler labels.

Examples
# Example 1
# Clear all ruler labels
lakerClearRulerLabels -mode 1

See Also
Layout Window: Query > Clear Ruler > Clear Ruler Labels

lakerClearTagRulers
The lakerClearTagRulers command clears all tag rulers in the layout.
Syntax
lakerClearTagRulers -mode 0|1

854

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

Returns
None
Arguments
Argument

Description

-mode 0|1

Valid values: Boolean values, 0 and 1.


1 : Clear all tag rulers.
0 : Do not clear any ruler labels.

Examples
# Example 1
# Clear all tag rulers
lakerClearTagRulers -mode 1

See Also
Layout Window: Query > Clear Ruler > Clear Tag Rulers

lakerConfigFlightLine
The lakerConfigFlightLine command configures the display attributes of
flight line segments for individual nets.
Syntax
lakerConfigFlightLine [-addNet netName] [-removeNet
netName] [-zoomBBox (x,y1)(x2,y2)]
Returns
None
Arguments
Argument

Description

-addNet netName

Estimate flight lines by net name. Multiple nets are


separated by spaces.

-removeNet netName

Remove flight lines by net name. Multiple nets are


separated by spaces.

-zoomBBox
(x,y1)(x2,y2)

Zoom to selected flight lines in the layout and fit on


screen.

Laker Tcl Reference Manual


K-2015.06

855

Chapter 7: Layout Window


Query Commands

Examples
# Example 1
lakerConfigFlightLine -addNet {n1}
# Example 2
lakerConfigFlightLine -zoomBBox (0.253,-0.374) (1.079,0.378)

See Also
Layout Window: Query > Configure Flight Line

lakerConnBrowser
The lakerConnBrowser command loads the net information extracted by the
net tracer or other vendors.
Syntax
lakerConnBrowser [ -net netName | -clear | -highlightAll ]
Returns
None
Arguments
Argument

Description

-clear

Clear the highlighted drawings generated by the


Highlight Net command only. To clear all highlighted
drawings in the layout, use lakerClearConn.

-highlightAll

Highlight all nets (listed in the net list) in the layout.

-net netName

Highlight or de-highlight a net by netName. Multiple


net names can be specified.

-show

When specified, show the Find Short form. This


argument works with -loadDRCShortResult.

Examples
# Example 1
# Highlight net VDD
lakerConnBrowser -net VDD
# Example 2
# Clear all highlighted drawings in the layout
lakerConnBrowser -highlightAll

856

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

See Also
Layout Window: Query > Highlight Net

lakerConnChecker
The lakerConnChecker command extracts the connection relationship
according to the technology file section lakerLayoutConnection, and then
shows the relationship with highlights.
Syntax
lakerConnChecker [-toMaxLevel|-toViewLevel] -resultFile
fileName [-speedMode|-normalMode] [-mode mode|-area
(x0,y0) (x1,y1)] [-addNet] [-net NetName] [-startPoint
(x, y)] [-traceViaArray 0|1] [-highlightVisibleLayerOnly
0|1] [-disableConnStop | -disableConnAll | -enableConnAll
layoutConnection]
Returns
None
Arguments
Argument

Description

-addNet

Add a net to the trace list.

-area
(x0,y0) (x1,y1)

Set the trace mode as area with the given coordinates.


(x0,y0) specifies the first point of the bounding box
while (x1,y1) specifies the second point.

-disableConnAll

Disable the connection relationship.

-disableConnStop

Ignore the stop condition.

-enableConnAll
layoutConnection

Enable the connection relationship.

-highlightVisibleLayerOnly
0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Highlight on Visible Layer Only option.
0 : Disable the Highlight on Visible Layer Only option.

Laker Tcl Reference Manual


K-2015.06

857

Chapter 7: Layout Window


Query Commands

Argument

Description

-mode mode

Set the trace mode.


Valid values: full, screen, and area (default=full).
full: Trace the entire cell.
screen: Trace the screen viewing area.
area: Trace the user-specified area.

-net NetName

Specify a net name.

-normalMode

Get the traced results in normal mode. This argument is


specified by default.

-resultFile
fileName

Specify the file name to save the traced results.

-speedMode

When specified, get the traced results at a fast rate.


When not specified, get the traced results in normal
mode, with a regular sampling rate.

-startPoint (x, y)

Specify a start point for the selected net object. When


-startPoint is not specified, the center point of the
selected object is the start point by default.

-traceViaArray 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Trace All Vias in a Via Array option.
0 : Disable the Trace All Vias in a Via Array option.

-toMaxLevel

Set the traverse depth to extract connections. When this


argument is specified, the maximum level is extracted.

-toViewLevel

Set the traverse depth to extract connections. When this


argument is specified, only the current view level is
extracted. This argument is specified by default.

Examples
# Example 1
lakerConnChecker -toViewLevel -resultFile trace -normalMode
# Example 2
lakerConnChecker -toMaxLevel -net LakerNet_1 -speedMode
# Example 3
lakerConnChecker -addNet -net LakerNet_2 \
-startPoint (7.715,0.615)

858

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

# Example 4
lakerConnChecker -disableConnStop METAL1 METAL2 VIA12 MMC
# Example 5
lakerConnChecker -disableConnAll METAL1 METAL2 VIA12 MMC
# Example 6
lakerConnChecker -enableConnAll METAL1 METAL2 VIA12 MMC

See Also
Layout Window: Query > Hierarchical Net Tracer

lakerDistance
The lakerDistance command creates a minimum distance ruler in the
Layout window pane.
Syntax
lakerDistance -point (x1,y1)(x2,y2)
Returns
None
Arguments
Argument

Description

-point (x1, y1) (x2, y2)

(x1, y1) specifies the first point of the ruler while


(x2,y2) specifies the second point.

Examples
lakerDistance -point (100,100) (200,200)

See Also
Layout Window: Query > Measure > Distance

lakerEstimateCellArea
The lakerEstimateCellArea command estimates the cell area.
Syntax
lakerEstimateCellArea -lib libName -cell cellName [utilization floatNum] [-ratio floatNum]

Laker Tcl Reference Manual


K-2015.06

859

Chapter 7: Layout Window


Query Commands

Returns
None
Arguments
Argument

Description

-cell CellName

Specify the cell name.

-lib LibName

Specify the library name.

-ratio floatNum

Specify the ratio of width/length (W/L).


Valid value: a positive floating number (default=1.0). It
forms a square area when the value is 1.0.

-utilization
floatNum

Create a row area by area utilization.


Valid value: a positive floating number.

Examples
None

lakerFindObj
The lakerFindObj command searches for the specified objects according to
the search criteria.
Syntax
lakerFindObj -type searchType -searProp searchProp [-index
index] [-matchCase 0|1] [-regular 0|1] [-zoomTo 0|1] [level level] [-point (x1, y1)(x2, y2)(x3,y3)...] [isEnclose 0|1] [-highlight 0|1]
Returns
None
Arguments

860

Argument

Description

-highlight 0|1

Valid values: Boolean values, 0 and 1.


1 : Highlight the found objects without selection.
0 : No highlight action.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

Argument

Description

-index index

Select an index of objects in the search group.


Valid value: an integer.
The starting index number is 1. If this is not set, all
searched objects are selected.

-isenclose 0|1

Valid values: Boolean values, 0 and 1.


1 : The search target should be totally inside the specific
area.
0 : The search target can be totally or partially inside the
specific area.

-level level

Control the number of design hierarchy levels that are


searched.
Valid value: an integer (default=0).

-matchCase 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Specify the case sensitivity of comparing string(s).
0 : Do not specify the case sensitivity of comparing
string(s).

-point (x1, y1)


(x2, y2) (x3, y3)...

Points (x1, y1) (x2, y2) (x3, y3) specify the


point array of the selected polygon area.

-regular 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Specify all possible variants in a search and precisely
control the replacements.
0 : Do not specify all possible variants in a search.

-searProp
searchProp

Specify the search criteria list. The criteria include name,


operation, and value field. The name is for specific
attributes, instance, library, or properties for the object
type. The operation is for objects equal to (==) or not
equal to (!=) the criteria; and, the value field sets the
attribute value.

-type searchType

Set the type of object to be searched.


Valid values: Text, Rectangle, Polygon, Path,
Doughnut, Ellipse, AnyShape, Route, Instance,
Array, AnyInstance, Contact, Transistor,
Resistor, Capacitor, GuardRing, StackPath,
Device, Net and Pin.

Laker Tcl Reference Manual


K-2015.06

861

Chapter 7: Layout Window


Query Commands

Argument

Description

-zoomTo 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Zoom the window view to the searched object.
0 : Do not zoom the window view to the searched object.

Examples
lakerFindObj -index 1 -zoomTo 0 -type Polygon \
-searProp {Layer != {mt1 drawing}}

See Also
Layout Window: Query > Find

lakerFindNetByArea
The lakerFindNetByArea command returns the net name of connected
objects in the Hierarchical Net Tracer Viewer, having the specified layers in
specified boundary.
Syntax
lakerFindNetByArea -area Rect -layer L1 -view viewName [condition condition] [-bLayer L2] [-tLayer L3] [-prefix
Name] [-gateLayer L4] [-mode w|a]
Returns
Name1 Name2 Name3 ... Namen if successful.
Arguments

862

Argument

Description

-area Rect

Specify the tracing area at the start.


Rect: [[x1 y1] [x2 y2]].

-bLayer L2

Specify the bottom layer for tracing (for example: L2). If


specified, trace from L2 to the topmost layer only.

-condition
condition

Specify the condition to trace the path.


Valid values: P and E (default=P).
P: P.Extract; tracing the path overlaps with area.
E: Extract; tracing the path which has an endpoint inside
area.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

Argument

Description

-gateLayer L4

If the gate layer L4 is specified, only finding the net which has
a shape on gate layer.

-layer L1

L1: [layer1 layer2 ...], specify the tracing layer at the


start.

-mode w|a

Specify the mode of the view saving scheme.


Valid values: w and a (default=w).
w: write ; a: append.

-prefix Name

Specify the prefix name. The returned net name can be


Name1, Name2, Name3, ..., Namen.

-tLayer L3

Specify the top layer for tracing (for example: L3). If specified,
trace from the bottom layer to L3 only.

-view viewName

Specify the view name (for example: v1) that used to save the
result.

Examples
# The following line returns => Net__1 Net__2
lakerFindNetByArea -area (-20.0,-30.0) (40.0,50.0) \
-layer {ME1 ME2 ME3} -view view1 -condition p -bLayer PO1 \
-TLayer ME3 -prefix Net_-gateLayer PO1 -mode w

See Also
Layout Window: Query > Hierarchical Net Tracer

lakerFlightLine
The lakerFlightLine command toggles on/off the display of flight lines in
the Layout window pane, without making selection on shapes.
Syntax
lakerFlightLine -showAll 0|1
Returns
None

Laker Tcl Reference Manual


K-2015.06

863

Chapter 7: Layout Window


Query Commands

Arguments
Argument

Description

-showAll 0|1

Valid values: Boolean values, 0 and 1.


1 : Show flight lines in the Layout window pane.
0 : Hide flight lines in the Layout window pane.

Examples
# Display Flight Lines in the layout
lakerFlightLine -showAll 1
# Hide Flight Lines in the layout
lakerFlightLine -showAll 0

See Also
Layout Window: Query > Show Flight Lines

lakerMeasureResistance
The lakerMeasureResistance command gets the resistance measurement
results after creating MCell resistors with equal resistance.
Syntax
To measure the resistance at a faster speed:
lakerMeasureResistance -measure [[-sheetResist
sheetResistValue] [-cornerRatio cornerRatioValue] [extend extendValue] [-etchValue etchValue] [includeConnShape 0|1] [-shortestPathMeasurement 0|1]] [sort 0|1 [-horizontal 0|1] [-figs figIds]] [resistanceList resList]
To measure the resistance at a precision level:
lakerMeasureResistance -measure [[-sheetResist
sheetResistValue] [-factor factorValue] [-cornerRatio
cornerRatioValue] [-extend extendValue]] [-etchValue
etchValue] [-sort 0|1 [-horizontal 0|1] [-figs figIds]]
[-resistanceList resList] [-measEffort 0|1|2|3|4|5]
Other operations:
lakerMeasureResistance -query -condition conditionString
lakerMeasureResistance -save [-file filename]
lakerMeasureResistance -pointSel start|end
864

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

lakerMeasureResistance
lakerMeasureResistance
sortType 0|1]
lakerMeasureResistance
lakerMeasureResistance

-delGrid -rowItem rowNum


-sortGrid [-colItem colNum ] [[-diagram 0|1]
[-returnValue 0|1]

Returns
None
Arguments
Argument

Description

-colItem colNum

Specify the column to be sorted. The following


numbers correspond to the associated columns:
0: The Index column (default).
1: The Resistance column.
2: The Dev. To Previous column.
3: The Dev. To Minimum column.
4: The Effective Length column.
5: The Length column.
6: The Width column.
7: The Spacing To Previous column.
8: The Jog Count column.

-condition
conditionString

Specify the query condition with the following format:


"Property1 [Operator1 Value1]
[Conjunction Property2 [Operator2
Value2]]", where:

The valid values of Property1 and Property2


are All, DevToPrevious, DevToMin,
EffectiveLength, Width and
SpacingToPrevious.
The valid values of Operator1 and Operator2
are >, >=, < and <=.
The valid value of Value1 and Value2 is a floating
number.
The valid values of Conjunction are And and Or.

-cornerRatio
cornerRatioValue

Specify the corner ratio of the sheet resistance.

-delGrid

Specify the action to delete items from the


measurement table.

Laker Tcl Reference Manual


K-2015.06

Valid value: a floating number, greater than 0.0.

865

Chapter 7: Layout Window


Query Commands

866

Argument

Description

-diagram 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Display the Resistance Diagram form.
0 : Do not display the Resistance Diagram form.

-etchValue etchValue

Specify the etch value.


Valid value: a floating number, greater than or equal to
0.0.

-extend extendValue

Specify the extension length.


Valid value: a floating number, greater than or equal to
0.0.

-factor factorValue

Specify the process factor.


Valid value: a floating number, greater than 0.0.

-figs figIds

Measure resistance by specified figIds, and report the


results by the input order of figIds.

-file fileName

Specify a file to save the measurement results.

-horizontal 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Sort shapes in horizontal direction.
0 : Sort shapes in vertical direction.

-includeConnShape
0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Include Connected Shapes option.
0 : Disable the Include Connected Shapes option.

-measEffort 0|1|2|3|4|5

Specify a measurement effort.


Valid values: 0, 1, 2, 3, 4, and 5.

-measure

Measure the selected shapes.

-pointSel start|end

Set the start and end points.

-query

Filter the measurement results with the specified


condition string.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

Argument

Description

-returnValue 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Show the returned value with the following format:
{{Index Resistance DevToPrevious
DevToMin EffectiveLength Length Width
SpacingToPrevious JogCount} {.....} ...}
0 : Hide the returned value.

-rowItem rowNum

Specify the number of rows to be deleted.

-save

Save the filtered measurement results to a specified


file.

-sheetResist
sheetResistValue

Specify the sheet resistance.


Valid value: a floating number, greater than 0.0.

-shortestPathMeasurement
0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Shortest Path Measurement option.
0 : Disable the Shortest Path Measurement option.

-sort 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Sort Shapes in Direction option.
0 : Disable the Sort Shapes in Direction option.

-sortGrid

Specify the action to sort the information in the


measurement table.

-sortType 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Sort the data in descending order.
0 : Sort the data in ascending order.

Examples
# Example 1
lakerMeasureResistance -start
lakerMeasureResistance -sheetResist 1.000000 \
-figs [lakerGetSelSet] -measure
lakerMeasureResistance -save -file ./res.rpt
lakerMeasureResistance -end
# Example 2
# Measure selected shapes
lakerMeasureResistance -measure -sheetResist 0.1 \
-includeConnShape 1 -extend 10.0

Laker Tcl Reference Manual


K-2015.06

867

Chapter 7: Layout Window


Query Commands

# Example 3
# Do not sort any shapes in direction
lakerMeasureResistance -measure
lakerMeasureResistance -measure -sort 0
# Example 4
# Sort shapes in vertical direction
lakerMeasureResistance -measure -sort 1 -horizontal 0
# Example 5
# Measure in shortest path style
lakerMeasureResistance -shortestPathMeasurement 1 \
-sheetResist 1.000000 -figs [lakerGetSelSet] -measure
# Example 6
# Measure at a faster speed
lakerMeasureResistance -sheetResist 1.0 -measEffort 0 -measure
# Example 7
# Measure at a precision level of 1, and the default
# Process Factor=1
lakerMeasureResistance -sheetResist 1.000000 -extend 1.0 \
-etchValue 1.0 -measEffort 1 -measure
# Example 8
# Measure at a precision level of 1, and the default
# Process Factor=1.5
lakerMeasureResistance -sheetResist 1.000000 -factor 1.5 \
-extend 1.0 -etchValue 1.0 -measEffort 1 -measure
# Example 9
# Query
lakerMeasureResistance -query
-condition "DeviationToPrevious > 1 And SpacingToPrevious > 40"
# Example 10
# Save to file
lakerMeasureResistance -save -file ./res.rpt
# Example 11
# Point selection
lakerMeasureResistance -pointSel start
lakerAreaSel -point (-0.063,0.218) (0.118,0.314)
# Example 12
# Remove a row from the measurement table
lakerMeasureResistance -delGrid -rowItem 1

868

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

# Example 13
# Sort the Resistance column in ascending order
lakerMeasureResistance -sortGrid -colItem 1 -sortType 0
# Example 14
# Display the Resistance Diagram form
lakerMeasureResistance -diagram 1
# Example 15
lakerMeasureResistance -etchValue 1.000000 -sort 0 \
-measEffort 10 -measureResInPreselect 0 -measure -returnValue 0 \
-resistanceList {{POLY 1.000000} {MET1 0.5} { CONT 1.000000} \
{POLY2 1.000000} {MET2 1.000000} {VIA1 1.000000} \
{MET3 1.000000} {VIA2 1.000000} {MET4 1.000000} \
{VIA3 1.000000} }

See Also
Layout Window: Query > Measure > Resistance
Layout Window: Router > Equal Resistivity

lakerP2PResistance
The lakerP2PResistance command measures the resistance by specifying
measured points on the desired shapes or paths. It returns the resistance value
if the results can be measured successfully, otherwise returns -1.
Syntax
lakerP2PResistance -mode selectMode [-recPt] [-sheet
sheetResistance] -point (x1, y1) (x2, y2) ... (xn, yn)
[-layer (layer1, purpose1) (layer2, purpose2) ...
(layern, purposen)]
Returns
A resistance value if successful; otherwise, returns -1.
Arguments
Argument

Description

-layer (layer1, purpose1) Specify the layer and purpose for the selected point.
(layer2, purpose2)
This argument is only valid for multiple layers mode.
... (layern, purposen)

Laker Tcl Reference Manual


K-2015.06

869

Chapter 7: Layout Window


Query Commands

Argument

Description

-mode selectMode

Specify the measurement mode.


Valid values: single and multiple
(default=single).

-point (x1, y1) (x2, y2)


... (xn, yn)

When -mode single is selected, two measured


points can be specified.
When -mode multiple is selected, at least two
measured points must be specified.
(x1,y1) specifies the first measured point while
(x2,y2) specifies the second measured point, and
(xn, yn) specifies the proceeding measured point.

-recPt

Record the measured points.

-sheet sheetResistance Specify the aspect ratio of sheet resistance.

Examples
# Example 1
lakerP2PResistance -recPt -point (0.195,0.145) (0.121,0.42)
# Example 2
lakerP2PResistance -mode single -sheet 0.100000 \
-point (282.0,1871.5) (14064.5,267.541)
# Example 3
lakerP2PResistance -mode multiple \
-point (282.0, 1871.5) (14064.5, 267.541) (2536.5, 24569.7) \
-layer (M1, drawing) (dg, drawing) (-M2, drawing)

See Also
Layout Window: Query > Measure > Point-to-Point Resistance
Layout Window: Router > Equal Resistivity

lakerPadWindow
The lakerPadWindow command crosses the design hierarchy to search for
the specific pad layer, and then exports the width, height, bounding box, center
point, and text label of a pad to a text file, or inserts text labels from a text file.

870

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

Syntax
lakerPadWindow [-areaSize padAreaSize] -padLayerName
padLayerName [-padPurpose padPurpose] [-textLayerName
textLayerName] [-textPurpose textPurpose] [-height
height] [-offset offset] [-textListFile textListFile] [coordinateFile coordinateFile] [-startBox startBox]
Returns
None
Arguments
Argument

Description

-areaSize
padAreaSize

Specify the condition of the area size to search for the


pad layer (default=no condition).

-coordinateFile
coordinateFile

Specify the output file that contains the information of the


text label, width, height, bounding box and the center
point of each pad.

-height height

Specify the height of the inserted text.


Valid value: an integer or a floating number (default=10).

-offset offset

Specify the offset point of the inserted text.


Valid value: an integer (default=0).

-padLayerName
padLayerName

Specify the layer name of the pad layer.

-padPurpose
padPurpose

Specify the layer purpose of the pad layer


(default=drawing).

-startBox startBox

Specify the starting pad box.

-textLayerName
textLayerName

Specify the layer name of the text layer.

-textListFile
textListFile

Specify the input text file.

-textPurpose
textPurpose

Specify the layer purpose of the text layer


(default=drawing).

Laker Tcl Reference Manual


K-2015.06

871

Chapter 7: Layout Window


Query Commands

Examples
# Example 1
lakerPadWindow -padLayerName POLY -textLayerName NWELL \
-height 10.0 -textListFile padtext3.txt \
-coordinateFile out3.txt

See Also
Layout Window: Query > Pad Window

lakerRefreshShortError
The lakerRefreshShortError command removes unnecessary short
layers or creates necessary short layers after the EIP > Return To Top
command is executed.
Syntax
lakerRefreshShortError
Returns
None
Examples
lakerRefreshShortError

See Also
Layout Window: Query > Refresh Short Error

lakerReplaceObj
The lakerReplaceObj command modifies all objects found by the Replace
command.
Syntax
lakerReplaceObj -type searchType -searProp searchProp repProp replaceProp [-index index] [-matchCase 0|1] [regular 0|1] [-zoomTo 0|1] [-level level]
Returns
None

872

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

Arguments
Argument

Description

-index index

Replace an index of objects in the search group.


Valid value: an integer.
The starting index number is 1. If the index number is not
defined, all searched objects are replaced.

-level level

Specify the number of design hierarchy levels to be


searched.
Valid value: an integer (default=0).

-matchCase 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Specify the case sensitivity of comparing string(s).
0 : Do not specify the case sensitivity of comparing string(s).

-regular 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Specify all possible variants in a search and precisely
control the replacements.
0 : Do not specify any possible variants in a search

-repProp
replaceProp

The replacement properties include the name and value


fields. The name is for specific attributes, instances,
libraries, or properties for the object type; and the value field
sets the attribute value, for example: -repProp {String
{cc}}, where String is the name of the property and cc
is the value.

-searProp
searchProp

Specify the search criteria list. The criteria include the


name, operation and value fields. The name is for specific
attributes, instances, libraries, or properties for the object
type; the operation is for objects equal to (==) or not equal
to (!=) the criteria; and the value field sets the attribute
value, for example: -searProp {String == {dd}},
where String is the name of the property and dd is the
value.

-type searchType

Set the object type to be searched.


Valid values: Text, Rectangle, Polygon, Path,
Doughnut, Ellipse, AnyShape, Instance, Array,
AnyInstance, Contact, Transistor, Resistor,
Capacitor, GuardRing, StackPath, and Device.

Laker Tcl Reference Manual


K-2015.06

873

Chapter 7: Layout Window


Query Commands

Argument

Description

-zoomTo 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Zoom in and fit a matched object in the window.
0 : Do not zoom in and fit a matched object in the window.

Examples
lakerReplaceObj -repProp {myprop {7}} -index 1 -matchCase 1 \
-type Text -searProp {myprop == {5}}

See Also
Layout Window: Query > Replace

lakerRuler
The lakerRuler command creates a ruler.
Syntax
lakerRuler -point (x1,y1)(x2,y2) [-startlen startvalue]
Returns
None
Arguments
Argument

Description

-point
(x1, y1) (x2, y2)

(x1,y1) specifies the first point of the ruler while


(x2,y2) specifies the second point.

-startlen startvalue

Specify the start value of the ruler.


Valid value: an integer (default=0).

Examples
# create a ruler from (0,0) to (0,10) and its value from 10 to 20
lakerRuler -point (0, 0) (0,10) -startlen 10

See Also
Layout Window: Query > Tag Ruler

874

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

lakerShortClean
The lakerShortClean command clears the blinking highlight result that is
generated by lakerShortLocator.
Syntax
lakerShortClean
Returns
None
Examples
lakerShortClean

See Also
Layout Window: Query > Highlight Net > Clear Short

lakerShortLocator
The lakerShortLocator command finds out the critical path that leads to
illegal connection. This function is valid based on the result of
lakerConnChecker, thus user should execute lakerConnChecker first and
the two assigned points must be overlapped with the connection highlight.
Syntax
lakerShortLocator -point (x1, y1)(x2, y2)
Returns
None
Arguments
Argument

Description

-point (x1, y1) (x2, y2)

The two starting points for Short Locator to find the


critical path.

Examples
lakerShortLocator -point (-24.346,10.6) (4.139,-0.235)

See Also
Layout Window: Query > Highlight Net > Find Short

Laker Tcl Reference Manual


K-2015.06

875

Chapter 7: Layout Window


Query Commands

lakerShowHPWireLength
The lakerShowHPWireLength command measures the half-perimeter wire
length (HPWL) of specified nets.
Syntax
lakerShowHPWireLength [-net netNames] [-ignoreSoftPin 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-ignoreSoftPin 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Ignore soft pins during measurement.
0 : Consider soft pins during measurement.

-net netNames

Specify the nets to be measured. Multiple net names


must be separated by spaces in format -net {net1
net2 ... netn}.

Examples
# Example 1
lakerShowHPWireLength -net {vdd vss} -ignoreSoftPin 0
# Example 2
lakerShowHPWireLength -net {vdd vss} -ignoreSoftPin 1

See Also
Layout Window: Query > Measure > Show HPWL

lakerSpareCell
The lakerSpareCell command manages the spare cell with the specific
prefix string.
Syntax
lakerSpareCell [-changemode viewMode | -loadfile filename |
-savefile filename | -delall 0|1 | -op [ clear | delete
| unselectall find [-matchcase 0|1 | -regular 0|1 | -zoom
0|1 | -searProp searchProp | -name spareName] | add [-

876

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

matchcase 0|1 | -regular 0|1 | -name spareName | -group


groupName] | select -name spareName | dropadd -name
spareName]]
Returns
None
Arguments
Argument

Description

-changemode
viewMode

Change the display mode of spare cell management.

-delall 0|1

Valid values: Boolean values, 0 and 1.


1 : Delete all view marks.
0 : Keep all view marks.

-loadfile filename

Load spare cell list from file.

-op add
[-matchcase 0|1 |
-regular 0|1 |
-name spareName |
-group groupName]

-op add performs add operation with the following


options:
-matchcase 0|1: The comparing strings are casesensitive when -matchcase is used. Valid values:
Boolean values, 0 and 1 (default=1).
-regular 0|1: Specify all possible variants in a search
and precisely control the replacements. Valid values:
Boolean values, 0 and 1 (default=1).
-name spareName: Search value.
-group groupName: Group name for the added spare
cells.

-op clear

Clear special highlights.

-op delete

Delete selected items from the spare cell list.

-op dropadd
-name spareName

Specify the spare cell lists. They are added by the drag
and drop to the spare cell list.

Laker Tcl Reference Manual


K-2015.06

877

Chapter 7: Layout Window


Query Commands

Argument

Description

-op find
[-matchcase 0|1 |
-regular 0|1 | -zoom
0|1 |
-searProp
searchProp |
-name spareName]

-op find performs search operation with the following


options:

-matchcase 0|1: The comparing strings are casesensitive when -matchcase 1 is set. Valid values:
Boolean values, 0 and 1 (default=0).
-regular 0|1: Specify all possible variants in a
search and precisely control the replacements. Valid
values: Boolean values, 0 and 1 (default=1).
-zoom 0|1: Zoom to the matched spare cells if zoom 1 is set. Keep the zoom ratio if -zoom 0 is set.
Valid values: Boolean values, 0 and 1.
-searProp searchProp: Search criteria list; the
criteria include name, operation and value field. The
name is for specific attributes, instance, library, or
properties for the object type; the operation is for
objects equal to (==) or not equal to (!=) the criteria;
and, the value field sets the attribute value.
-name spareName: Search value.

-op select
-name sparename

Select an item from the spare cell lists with the specified
spare cell name.

-op unselectall

Deselect all items in the spare cell lists.

-savefile filename

Save the spare cell list to a file.

Examples
# Example 1
# Find the spare cell with cell name that is not equal to
# "aaa", "bbb", with instance name starting with "I" and
# with abstract view
lakerSpareCell -op find -matchcase 0 -regular 1 -zoom 1 \
-searProp {Cell != {aaa bbb}} {Instance == {I*}} {View = {abs}}

See Also
lakerFindObj
Layout Window: Query > Spare Cell

lakerUDP
The lakerUDP command adds extra properties on any objects.

878

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Query Commands

Syntax
For specified data index:
lakerUDP -index index [-remove] -name Name -type Type -value
{Value}
For common property:
lakerUDP -common [-remove] -name Name -type Type -value
{Value}
Returns
None
Arguments
Argument

Description

-common

Action to check the common property of the selected


objects.

-index index

Data index in the property.


Valid value: an integer, starting from 1.

-name Name

Data in the Name field.


Valid value: a text string.

-remove

Action to remove specified data.

-type Type

Data in the Type field.


Valid value: string, int, float, Boolean, and time.

-value {Value}

Data in the Value field.


Valid value: any input values, according to -type.

Examples
# Example 1
lakerUDP -index
lakerUDP -index
lakerUDP -index
lakerUDP -index
lakerUDP -index
lakerUDP -index

1
1
2
2
3
3

-name
-name
-name
-name
-name
-name

shape -type string -value {rectangle}


number -type int -value {1}
number -type int -value {1}
flag -type Boolean -value {1}
number -type int -value {1}
area -type float -value {2.5}

# Example 2
lakerUDP -common -name number -type int -value {532}
lakerUDP -common -name version -type string -value {3.2}

Laker Tcl Reference Manual


K-2015.06

879

Chapter 7: Layout Window


EIP Commands

EIP Commands
This section describes the Tcl commands applied to the EIP commands of the
Layout window. These commands include:

lakerDimNeighbor

lakerDispNeighbor

lakerEditInPlace

lakerEIPDisplayHier

lakerEIPDisplayNormal

lakerEIPDisplayTop

lakerFitEdit

lakerReturnLevel

lakerReturnOne

lakerReturnOneEdit

lakerReturnSubTop

lakerReturnTop

lakerDimNeighbor
The lakerDimNeighbor command dims (toggle operation) the color of
neighboring objects for EIP cell.
Syntax
lakerDimNeighbor -mode 0|1
Returns
None
Arguments

880

Argument

Description

-mode 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Dim the color of neighboring objects.
0 : Show the neighboring objects with normal color.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


EIP Commands

Examples
# Dim the color of neighboring objects for EIP cell
lakerDimNeighbor -mode 1

See Also
Layout Window: EIP > Dim Neighbor

lakerDispNeighbor
The lakerDispNeighbor command enables or disables (toggle operation)
the display of neighboring objects for the cell being edited in place.
Syntax
lakerDispNeighbor -mode 0|1
Returns
None
Arguments
Argument

Description

-mode 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the display of neighboring objects.
0 : Disable the display of neighboring objects.

Examples
# enable the display of neighboring objects for EIP cell
lakerDispNeighbor -mode 1

See Also
Layout Window: EIP > Display Neighbor

lakerEditInPlace
The lakerEditInPlace command edits the specified cell at the current
layout window pane.
Syntax
lakerEditInPlace [-point (x0,y0)] [-zoomto 0|1] [-descend
0|1]

Laker Tcl Reference Manual


K-2015.06

881

Chapter 7: Layout Window


EIP Commands

Returns
None
Arguments
Argument

Description

-descend 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the descend mode.
0 : Disable the descend mode.

-point (x0, y0)

(x0,y0) specifies the location of the EIP cell.

-zoomto 0|1

Valid values: Boolean values, 0 and 1.


1 : Zoom to the edited cell or not in EIP mode.
0 : Do not zoom to the edited cell or not in EIP mode.

Examples
# edit the selected object (10,10) in EIP mode and
# zoom to the edited object
lakerSingleSel -point (10,10)
lakerEditInPlace -zoomto 1
# edit the object (10,10) in descend mode
lakerEditInPlace -point (10,10) -descend 1

See Also
Layout Window: EIP > Edit In Place

lakerEIPDisplayHier
The lakerEIPDisplayHier command shows the layout drawing of the
selected object or instance according to EIP hierarchy depth, but its neighbors
are displayed at the view level 0 of the top cell view.
Syntax
lakerEIPDisplayHier
Returns
None
Examples
lakerEIPDisplayHier

882

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


EIP Commands

See Also
Layout Window: EIP > Display Level

lakerEIPDisplayNormal
The lakerEIPDisplayNormal command shows the layout drawing of the
selected object or instance and its neighbors according to EIP hierarchy depth.
Syntax
lakerEIPDisplayNormal
Returns
None
Examples
lakerEIPDisplayNormal

See Also
Layout Window: EIP > Display Level

lakerEIPDisplayTop
The lakerEIPDisplayTop command always shows the layout drawing of the
selected object or instance with its neighbors at the view level 0 of the top cell
view.
Syntax
lakerEIPDisplayTop
Returns
None
Examples
lakerEIPDisplayTop

See Also
Layout Window: EIP > Display Level

Laker Tcl Reference Manual


K-2015.06

883

Chapter 7: Layout Window


EIP Commands

lakerFitEdit
The lakerFitEdit command fits the view area to the editing cell in EIP
mode.
Syntax
lakerFitEdit
Returns
None
Examples
# Fit the view area to the editing cell in EIP mode
lakerFitEdit

See Also
Layout Window: EIP > Fit To Edit

lakerReturnLevel
The lakerReturnLevel command returns to the specified level of the
current edited design hierarchy path.
Syntax
lakerReturnLevel -level level
Returns
None
Arguments
Argument

Description

-level level

Specify the return level in the design hierarchy path.


Valid value: an integer.

Examples
# return to the level 2 of the current edited design hierarchy path
lakerReturnLevel -level 2

See Also
Layout Window: EIP > Return To Level

884

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


EIP Commands

lakerReturnOne
The lakerReturnOne command reopens a cell view that is higher in the
design hierarchy.
Syntax
lakerReturnOne
Returns
None
Examples
# Reopen a cell view that is higher in the design hierarchy
lakerReturnOne

See Also
Layout Window: EIP > Up One Hierarchy Level

lakerReturnOneEdit
The lakerReturnOneEdit command reopens a cell view that is higher level
in the design hierarchy and is in the editing history.
Syntax
lakerReturnOneEdit
Returns
None
Examples
# Reopen a cell view that is higher in the design hierarchy
# and is in the editing history
lakerReturnOneEdit

See Also
Layout Window: EIP > Up One Edited Level

lakerReturnSubTop
The lakerReturnSubTop command returns to the current top cell.

Laker Tcl Reference Manual


K-2015.06

885

Chapter 7: Layout Window


Verification Commands

Syntax
lakerReturnSubTop
Returns
None
Examples
# Return to the current top cell
lakerReturnSubTop

See Also
Layout Window: EIP > Return To SubTop

lakerReturnTop
The lakerReturnTop command cancels the edit-in-place (EIP) function and
returns to the top cell.
Syntax
lakerReturnTop
Returns
None
Examples
# Cancel the edit-in-place function and return to the top cell
lakerReturnTop

See Also
Layout Window: EIP > Return To Top

Verification Commands
This section describes the Tcl commands applied to the Verify commands of
the Layout window. These commands include:

886

lakerCalibreDFM

lakerCalibreDRC

lakerCalibreLVS

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

lakerCalibreOption

lakerCalibrePERC

lakerCalibrePEX

lakerCalibreRVE

lakerClearRVEHighlight

lakerShowExportForm

lakerLDEAnalysis

lakerStartRVEServer

lakerSetRVEPort

lakerSetupParasitics

lakerViewError

lakerViewParasitics

xt::closeTextViewerTab

xt::createJob

xt::getJobs

xt::getManifestFeatureValue

xt::getOpenFile

xt::getTextViewerTabs

xt::openTextViewer

xt::openTextViewerTab

xt::readJob

xt::sendCommand

xt::showJobMonitor

xt::showLPESetup

xt::showLVSSetup

xt::showDRCSetup

xt::showPveOptions

xt::startPvDebugger

xt::signalJob

Laker Tcl Reference Manual


K-2015.06

887

Chapter 7: Layout Window


Verification Commands

xt::updateJob

xt::wait

xt::writeJob

lakerCalibreDFM
The lakerCalibreDRC command invokes a Calibre DFM (Design for
Manufacture) process.
Syntax
lakerCalibreDFM
Returns
None
Examples
lakerCalibreDFM

See Also
Layout Window: Verification > Calibre > Run DFM

lakerCalibreDRC
The lakerCalibreDRC command invokes a Calibre DRC (design rule
checking) process.
Syntax
lakerCalibreDRC
Returns
None
Examples
lakerCalibreDRC

See Also
Layout Window: Verification > Calibre > Run DRC

888

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

lakerCalibreLVS
The lakerCalibreLVS command invokes a Calibre LVS (layout vs.
schematic) process for the editing cell.
Syntax
lakerCalibreLVS
Returns
None
Examples
lakerCalibreLVS

See Also
Layout Window: Verification > Calibre > Run LVS

lakerCalibreOption
The lakerCalibreOption command specifies settings for the integration
with Calibre processes.
Syntax
lakerCalibreOption -layerMapping layerMapping showExportForm 0|1 -run64BitCalibreRVE 0|1
Returns
None
Arguments
Argument

Description

-layerMapping
layerMapping

Specify the mappings between RVEs Highlight


Layer Index and Laker layer, including layer name
and purpose name; the format is {Layer_Index
Layer_Name Purpose_Name}.

-run64BitCalibreRVE 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Invoke 64-bit Calibre RVE.
0 : Invoke 32-bit Calibre RVE.

Laker Tcl Reference Manual


K-2015.06

889

Chapter 7: Layout Window


Verification Commands

Argument

Description

-showExportForm 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Show form as exporting GDSII or OASIS for
Calibre DRC/LVS/PEX.
0 : Do not show the form.

Examples
lakerCalibreOption -layerMapping \
{1 HLNet1 system} {3 POLY drawing} \
-showExportForm 1 -run64BitCalibreRVE 1

See Also
lakerCalibreRVE
Layout Window: Verification > Calibre > Options

lakerCalibrePERC
The lakerCalibrePERC command invokes a Calibre PERC (Programmable
Electrical Rule Checking) process.
Syntax
lakerCalibrePERC
Returns
None
Examples
lakerCalibrePERC

See Also
Layout Window: Verification > Calibre > Run PERC

lakerCalibrePEX
The lakerCalibrePEX command invokes a Calibre PEX process.
Syntax
lakerCalibrePEX

890

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

Returns
None
Examples
lakerCalibrePEX

See Also
Layout Window: Verification > Calibre > Run PEX

lakerCalibreRVE
The lakerCalibreRVE command invokes a 64-bit Calibre RVE (results
viewing and debugging environment) process when the -bit64 argument is
specified. Otherwise, it invokes a 32-bit Calibre RVE process.
Syntax
lakerCalibreRVE [-bit64]
Returns
None
Arguments
Argument

Description

-bit64

Invoke 64-bit Calibre RVE.

Examples
# Example 1
# Invoke 32-bit Calibre RVE
lakerCalibreRVE
# Example 2
# Invoke 64-bit Calibre RVE
lakerCalibreRVE -bit64

See Also
lakerCalibreOption
Layout Window: Verification > Calibre > Start RVE

Laker Tcl Reference Manual


K-2015.06

891

Chapter 7: Layout Window


Verification Commands

lakerClearRVEHighlight
The lakerClearRVEHighlight command clears all highlighted drawings
from the RVE error data.
Syntax
lakerClearRVEHighlight
Returns
None
Examples
lakerClearRVEHighlight

See Also
Layout Window: Verification > Calibre > Clear Highlights

lakerShowExportForm
The lakerShowExportForm command decides whether to show the
exporting form when user invokes the Calibre-DRC/LVS/PEX/RVE processes in
Laker and specifies the data source from Laker.
Syntax
lakerShowExportForm -mode 0|1
Returns
None
Arguments
Argument

Description

-mode 0|1

Valid values: Boolean values, 0 and 1.


1 : Show the exporting form.
0 : Hide the exporting form.

Examples
lakerShowExportForm -mode 1

See Also
Layout Window: Verification > Calibre > Options

892

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

lakerLDEAnalysis
The lakerLDEAnalysis command invokes the LDE analysis processes and
specifies the data source.
Syntax
lakerLDEAnalysis -runDir . -layerMap fileName -runSet
fileName -oa|-gds -lib libraryName -cell cellName -view
viewName -cv|-select -extract ICV -global -vds vds -vgs
vgs -vbs vbs -runSim -dcSet {DCSetting} -update updateNetlist|-genPFile -outputFile fileName -refNetlist
netlistName -MosAnalstNum number -simInfo simInfo caseInsens 0|1 -save fileName -txt -csv
Returns
None
Arguments
Argument

Description

-caseInsens 0|1

Specify the case sensitivity setting for the design.


Valid values: Boolean values, 0 and 1. The default=0 and only
enable for simInfo=hspiced.

-cell cellName

Specify the cell name of the top layout.

-csv

Save the file with the extension file name .csv.

-cv

Specify the cell view as the scope to extract the parameters.

-dcSet
DCSetting

Specify the DC settings for HSPICE.

-extract ICV

Extract parameters and run ICV.

-gds

Specify the layout format with GDSII format.

-genPFile

Enable the feature to generate the back annotation parameter


to a file.

-global

Enable vgs, vds, and vbs arguments for all instances.

-layerMap
fileName

Specify the layer mapping file for ICV settings.

Laker Tcl Reference Manual


K-2015.06

893

Chapter 7: Layout Window


Verification Commands

Argument

Description

-lib libraryName

Specify the library name for the input layout.

-MosAnalstNum
number

Specify the number of instances to show on the table in the


Mos Analysis tab.

-oa

Specify the layout format with OpenAccess format.

-outputFile
FileName

Specify the output file name.

-refNetlist
netlistName

Specify the path of the referenced file name.

-rumSim

Specify the MOS analysis used model.

-runSet fileName Specify the run set file for ICV settings.
-save fileName

Specify a text file to save the data from DC analysis table.

-select

Specify the selected area as the scope to extract the


parameters.

-simInfo simInfo

Specify the referenced netlist type.


Valid Value: hspiced and spectre.

-txt

Save the file with the extension file name .txt.

-update

Enable the parameter back-annotation of LDE feature.

-updateNetlist

Enable the feature to extract the back annotation parameter to


the netlist.

-vds vds

Specify the vds value for all instances.

-vgs vgs

Specify the vgs value for all instances.

-view viewName Specify the view name of the layout.

Examples
lakerLDEAnalysis -runDir . -layerMap -runSet
-cell add4 -view layout -cv -extract ICV

894

-oa -lib testcase

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

See Also
Layout Window: Verification > LDE Analysis

lakerStartRVEServer
The lakerStartRVEServer command fires up a socket server with specified
port number if necessary and registers callback to receive commands from
RVE process for the design window.
Syntax
lakerStartRVEServer [-port portNumber]
Returns
None
Arguments
Argument

Description

-port portNumber

Specify RVE server port number (default=the


environment variable MGC_CALIBRE_RVE_SERVER). If
this environment variable is not set, the default port
number is 9189. The server port could not be changed
after assignment.

Examples
lakerStartRVEServer -port 9189

See Also
Layout Window: Verification > Calibre > Integrate With RVE

lakerSetRVEPort
The lakerSetRVEPort command sets the RVE server port.
Syntax
lakerSetRVEPort -port portNumber
Returns
None

Laker Tcl Reference Manual


K-2015.06

895

Chapter 7: Layout Window


Verification Commands

Arguments
Argument

Description

-port portNumber

Specify RVE server port number (default=the environment


variable MGC_CALIBRE_RVE_SERVER). If this environment
variable is not set, the default port number is 9189. The
server port could not be changed after assignment.

Examples
lakerSetRVEPort -port 9189

See Also
Layout Window: Verification > Calibre > Integrate With RVE

lakerSetupParasitics
The lakerSetupParasitics command sets the parasitics.
Syntax
lakerSetupParasitics -lib libraryName -cell cellName -view
viewName -netList netName
Returns
None
Arguments
Argument

Description

-lib libraryName

Specify the library name.

-cell cellName

Specify the cell name that used to save the result.

-view viewName

Specify the view name that used to save the result.

-net netName

Specify the net names for the net list.

Examples
lakerSetupParasitic -lib testcase -cell add4 -view

See Also
Layout Window: Verification > Parasitics > Setup

896

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

lakerViewError
The lakerViewError command loads the selected result file, view, or
viewing status to the error viewer.
Syntax
lakerViewError -start [0|1] | -end | [-loadOAMarkerResult view viewName] | [-loadCalibreResult resultFile
[ruleFile] [waiveFile]] | [-loadAssuraResult
[runSpecificFile] [ruleFile] [gdsFile]] | [loadHerculesResult -errTop blockName -resultFile
resultFile] | [-loadShortError [viewName]] | [loadOtherResult -gdsFile gdsFile] | [-loadDFMResult resultFile layout]
[-sortByType mode] | [-sortByResult mode]
| [-indexSet
num] (-markFix 0|1 | -markIgnore 0|1 | -highlight
currentError | nextError | preError | mainRegion |
(extraRegion -extraRegionIndex num) | extraRegions |
gotoAssociatedObject num) | [-highlight mode] | -typeSet
type | -display [-topCateName {*}] [-level1 {*}] [-level2
{*}] [-level3 {*}] [-level4 {*}] [-showFixed 0|1|2] [showIgnored 0|1|2] | -markFixByArea (x1,y1) (x2,y2) | markIgnoreByArea (x1,y1) (x2,y2)| -loadStatus viewName |
-saveStatus viewName | -changeCategory
[cateNo1][cateNo2][cateNo3] | [-setCategory typeNameSet]
-preference [-zoomRatio zoomRatio] [-highlightXSymbol 0|1]
[-highlightColorMode mode] [-showText mode [showTextFontSize num]] [-maxErrorNum num] [-showTip mode]
[-highlightMode mode] | [-selCatHighlight 0|1] | [autoClearHighlight 0|1] [-autoMoveErrorMarker 0|1]
Returns
None
Arguments
Argument

Description

-autoClearHighlight 0|1

This is specified with -preference.


Valid values: Boolean values, 0 and 1 (default=1).
1 : Automatically clear all highlights.
0 : Do not automatically clear all highlights.

Laker Tcl Reference Manual


K-2015.06

897

Chapter 7: Layout Window


Verification Commands

Argument

Description

-autoMoveErrorMarker
0|1

This is specified with -preference.


Valid values: Boolean values, 0 and 1 (default=1).
1 : Automatically select the next violation after marking a
violation.
0 : Do not automatically select the next violation after
marking a violation.

-changeCategory
Change the current category. The valid value of cateNo1,
[cateNo1][cateNo2][cateN cateNo2, and cateNo3 depends on the number of
o3]
original categories.

0: Change the original top level category (level 0).


1: The original level 1 category (level 1) if it has a level
1 category.
2: The original level 1 category (level 2) if it has a level
2 category.

-display

Specify the violations to be displayed in the error viewer.

-end

Exit the error viewer feature.

-highlight currentError |
nextError | preError

When specified with -indexSet, highlight violations in


the layout.
Valid values: currentError, nextError, and
preError.

-highlight mainRegion |
(extraRegion
-extraRegionIndex num) |
extraRegions |
gotoAssociatedObject
num

898

currentError: Highlight current violation.


nextError: Highlight next violation.
preError: Highlight previous violation.

When specified with -indexSet for oaMaker results,


highlight markers in the layout.
Valid values: mainRegion, extraRegion
-extraRegionIndex num, extraRegions, and
gotoAssociatedObject num.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

Argument

Description

-highlight mode

Specify the highlight mode for violations.


Valid values: clear, all, preCate, and nextCate.

-highlightColorMode
mode

clear: Clear all highlights.


all: Highlight all violations.
preCate: Highlight previous category.
nextCate: Highlight next category.

When specified with -preference, specify the color


mode when highlight violations.
Valid values: fix, cyclic, and indexMapping
(default=cyclic).

-highlightMode mode

When specified with -preference, specify the highlight


mode for objects.
Valid values: visible, invisible, and dim.

-highlightXSymbol 0|1

visible: All objects are visible, selectable and not


dimmed.
invisible: Shapes on non-related layers are
invisible and not selectable.
dim: Shapes on non-related layers are dimmed.

This is specified with -preference.


Valid values: Boolean values, 0 and 1 (default=0).
1 : Show an X symbol for highlighted objects.
0 : Do not show an X symbol for highlighted objects.

-indexSet num

Specify the index marker of violations to be selected.


Valid value: an integer.

-level1 {*}

When specified with -display, specify the violation


category at level 1. Wildcard character * is supported. The
default value is *.

-level2 {*}

When specified with -display, specify the violation


category at level 2. Wildcard character * is supported. The
default value is *.

-level3 {*}

When specified with -display, specify the violation


category at level 3. Wildcard character * is supported. The
default value is *.

Laker Tcl Reference Manual


K-2015.06

899

Chapter 7: Layout Window


Verification Commands

Argument

Description

-level4 {*}

When specified with -display, specify the violation


category at level 4. Wildcard character * is supported. The
default value is *.

-loadAssuraResult
Specify the run specific file, rule file or GDSII file of Assura
[runSpecificFile] [ruleFile] results.
[gdsFile]
-loadCalibreResult
resultFile [ruleFile]
[waiveFile]

Specify the Calibre result file to be loaded. The rule file


and waive file are optional.

-loadDFMResult
-resultFile layout

Specify the result file of DFM results.

-loadHerculesResult
-errTop blockName
-resultFile resultFile

Specify the output block and the result file of Hercules


results.

-loadOAMarkerResult
-view viewName

Specify the view name of the oaMarker results. The


default view name is layout.

-loadOtherResult
-gdsFile gdsFile

Specify the GDSII file of other results.

-loadShortError
[viewName]

Specify the view name of the short error results.

-loadStatus viewName

Specify the view name of the viewing status to be loaded.

-markFix 0|1

This is specified with -indexSet.

When specified with -setCategory, the category can be


specified, or the default category is used.

Valid values: Boolean values, 0 and 1.


1 : Mark the selected violations as Fixed.
0 : Cancel marking the selected violations as Fixed.
-markFixByArea (x1,y1)
(x2,y2)

900

Mark the violations in (x1,y1) (x2,y2) bounding box as


Fixed.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

Argument

Description

-markIgnore 0|1

This is specified with -indexSet.


Valid values: Boolean values, 0 and 1.
1 : Mark the selected violations as Ignored.
0 : Cancel marking the selected violations as Ignored.

-markIgnoreByArea
(x1,y1) (x2,y2)

Mark the violations in (x1,y1) (x2,y2) bounding box as


Ignored.

-maxErrorNum num

When specified with -preference, specify the


maximum number of violations to be displayed in the
Violations frame.
Valid value: an integer (default=10000).

-preference

Set preference options.

-saveStatus viewName

Specify a view name for the viewing status to be saved.

-selCatHighlight 0|1

This is specified with -preference.


Valid values: Boolean values, 0 and 1 (default=0).
1 : Highlight category when selecting.
0 : Do not highlight category when selecting.

-setCategory
typeNameSet

Set the category by the sequence of type names defined


in typeNameSet, for example: ruleName/geometry.

-showFixed 0|1|2

This is specified with -display.


Valid values: 0, 1, and 2.
0: Show fixed and not fixed violations.
1: Show fixed violations.
2: Show not fixed violations.

-showIgnored 0|1|2

This is specified with -display.


Valid values: 0, 1, and 2.
0: Show ignored and not ignored violations.
1: Show ignored violations.
2: Show not ignored violations.

Laker Tcl Reference Manual


K-2015.06

901

Chapter 7: Layout Window


Verification Commands

Argument

Description

-showText mode

When specified with -preference, show text location.


Valid values: an integer from 0 to 9.

-showTextFontSize num

0: Do not show text location.


1: Show text at the upperleft corner of the bounding
box.
2: Show text at the center left point.
3: Show text at the lowerleft corner.
4: Show text at the upper center point.
5: Show text at the center point.
6: Show text at the lower center point.
7: Show text at the upperright corner.
8: Show text at the center right point.
9: Show text at the lowerright corner.

When specified with -showText, specify the font size.


Valid value: an integer (default=14).

-showTip mode

When specified with -preference, specify the mode to


show yellow tip windows.
Valid values: an integer from 0 to 4.

-sortByResult mode

0: Do not show any yellow tip windows.


1: Show tips with rule information only.
2: Show tips with violation value only.
3: Show tips with rule information and violation value.
4: Show tips without rule information and violation
value.

Sort violations by the number of violation results.


Valid values: ascending, and descending.

-sortByType mode

Sort violations by the rule category.


Valid values: unsort, ascending, and descending.

-start [0|1]

Start up the error viewer feature.


Valid values: Boolean values, 0 and 1.
1 : Show the error viewer.
0 : Do not show the error viewer if no violations exist.

902

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

Argument

Description

-topCateName {*}

When specified with -display, specify the violation


category. Wildcard character * is supported. The default
value is *.

-typeSet type

Specify the violation type to be selected.

-zoomRatio zoomRatio

When specified with -preference, specify the zoom


ratio for highlight violations.
Valid values: a positive floating number (default=0.5).

0: Disable the zoom function.


1: Zoom All.
>1: Zoom In.
<1: Zoom Out.

Examples
# Example 1
# Start the error viewer
lakerViewError -start
# Example 2
# Load calibre results and set category as ruleName/geometry
lakerViewError -loadCalibreResult \
-resultFile /usr/work/FFT.results \
-setCategory ruleName geometry
# Example 3
# Change the category as ruleName
lakerViewError -changeCategory 0 2
# Change the category as ruleName/geometry
lakerViewError -changeCategory 0 1
# Example 4
# Select multiple violation types
lakerViewError -typeSet {G.4.M2i E-1} {G.4.M4i} {NT_N.S.1 P-12}
# Example 5
# Set zoomRatio as 0.7, enable highlightXSymbol, cycled color
# mode, enable show text and set justify as right bottom, set max
# error number to show error marker as 10000, show information tip.
lakerViewError -zoomRatio 0.7 -highlightXSymbol 1 \
-highlightColorMode 1 -showText 9 -maxErrorNum 10000 \
-showTip 1

Laker Tcl Reference Manual


K-2015.06

903

Chapter 7: Layout Window


Verification Commands

# Example 6
# Highlight all violations in current typeSet
lakerViewError -highlight currentError
# Example 7
# Highlight previous violation (current marker is 10)
lakerViewError -highlight preError -indexSet 10
# Example 8
# Highlight the last violation mark of the previous violation
# Type in Violation Tree
lakerViewError -highlight preError
# Example 9
# Mark violation index#5-10,#30 as fixed
lakerViewError -markFix 1 -indexSet 5-10 30
# Example 10
# Cancel marking all violations as ignored in current errorType
lakerViewError -markIgnore 0
# Example 11
# Mark all violations as fixed in
# bounding box(12.8465,-19.213) (84.69,29.177)
lakerViewError -markFixByArea (12.8465,-19.213) (84.69,29.177)
# Example 12
# Save viewing status to view abc
lakerViewError -saveStatus abc
# Example 13
# Exit the Error Viewer
lakerViewError -end
# Example 14
# Set preferences
lakerViewError -preference -zoomRatio 0.5 -highlightMode dim \
-selCatHighlight 0 -highlightXSymbol 1 \
-highlightColorMode cyclic -autoClearHighlight 1
-showTip 1 -showText 0 -showTextFontSize 14 \
-maxErrorNum 1000 -autoMoveErrorMarker 1

See Also
lakerCorrect
Layout Window: Verification > View Error

904

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

lakerViewParasitics
The lakerViewParasitics command controls the parasitics viewing
scheme.
Syntax
lakerViewParasitics -start
Returns
None
Arguments
Argument

Description

-start

Start up the viewer feature.

Examples
# Start up the viewer feature
lakerViewParasitics -start

See Also
Layout Window: Verification > View Parasitics

xt::closeTextViewerTab
Closes the named tab in a Text Viewer. Note that closing a tab changes the
indices for all later tabs.
Syntax
xt::closeTextViewerTab <tabname: string> -window <giWindow>
Arguments
<string>
The name of the tab to close.
-window giWindow
The Text Viewer window.

Laker Tcl Reference Manual


K-2015.06

905

Chapter 7: Layout Window


Verification Commands

xt::createJob
Starts a job. Launches the job as specified by -cmdLine on the given host of the
type batch, foreign or native. The xtJob is tracked by the Job Monitor. The caller
of this command must determine the invocation directory on the remote host.
The job name attribute of the xtJob will be generated by appending an
underscore followed by a number to the given job name prefix. For example, if
the prefix is "HSPICE", the job name will be "HSPICE_1", or "HSPICE_2" if
"HSPICE_1" is already in use.
Syntax
xt::createJob <name: string> -type <enum> [-aimType
<string>] -cmdLine <string> -runDesc <string> [-files
[<string>]] [-readOnlyFiles [<string>]] [-host <string>]
[-data <string>] [-readyProc [<attrObject>]] [-exitProc
<string>] [-queueEngine <string>]
Returns
Job object for communication and tracking. (xtJob)
Errors
This command will not raise any errors.
Arguments
name
Prefix for the name to display in the job monitor.
-type <string>
Job type: ({aim | batch | dp | interactive | native}).
aim
Interactive job type used for programs that integrate with the <Product
Name> platform using AimAppCom.
batch
Runs processing to completion without manual intervention. Batch jobs are
not terminated when the session exits. The <Product Name> platform will
continue to track batch jobs when it is restarted.
dp
Interactive job type used for programs that integrate with the <Product
Name> platform using Tcl/DP.
906

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

interactive
Job type for programs that read and write messages from stdin and stdout.
Jobs of this type are terminated when the session exits.
-cmdLine <string>
Command used to launch the job, using Bourne shell syntax.
-runDesc <string>
Descriptive text to show in the Job Monitor.
-files {<string>}
List of pairs (display name, file name) to track. All files in this list will be
deleted before the child process is launched.
-readOnlyFiles {<string>}
List of read-only pairs to track, such as display name and file name. These
files will not be deleted before the child process is launched.
-host <string>
Host on which to run the job.
Default: Localhost.
-data <string>
Arbitrary string data associated with the job.
-readyProc <string>
Procedure to call once the job is initialized and ready for input. Interactive
jobs only. Takes a single argument of the xtJob object.
-exitProc <string>
Procedure to call once the job has exited. This procedure will be called
regardless of how the job shut down. Takes a single argument of the xtJob
object.
-queueEngine
Specifies which registered queue engine to use to launch the job. If
unspecified, it will default to the value of the xtJobQueueEngine preference.
Examples
set jobID [xt::createJob verilog2oa -type batch -cmdLine \
"verilog2oa -lib testLib -verilog test.v" -runDesc \
"Translate Verilog design into OA"]

Laker Tcl Reference Manual


K-2015.06

907

Chapter 7: Layout Window


Verification Commands

In this example, xt::createJob calls the verilog2oa utility for converting verilog
modules, which are described in the file test.v, into the OpenAccess database.

xt::getJobs
Returns the list of all jobs known to the job manager, subject to the optional
filter provided.
Syntax
xt::getJobs [<pattern: string>] [-filter <string>]
Returns
A collection of xtJobs matching the filter criteria. ({<xtJob>})
Arguments
<string>
Pattern to match the job name against. Empty pattern matches all jobs.
-filter <string>
Standard attribute filter.
Default: Matches all.
Examples
set jobs [db::getNext [xt::getJobs verilog2oa*]]

In this example, xt::getJobs finds jobs corresponding to verilog2oa* filter


requirements.

xt::getManifestFeatureValue
This command gets the manifest feature value.
Syntax
xt::getManifestFeatureValue <execName: string> -versionStr
<string> -featureName <string> [-searchPaths <string>]
Returns
<string>: Manifest file feature value.

908

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

Arguments
execName
Executable name.
-versionStr
Version of executable.
-featureName
Name of feature whose value to return.
searchPaths
Extra paths to search for manifest files.

xt::getOpenFile
Opens a file selection dialog to select an existing file or directory.
Syntax
xt::getOpenFile [-multiple <bool> | -initialFile <string> |
-directory <bool>] [-title <string>] [-fileTypes
[<string>]] [-initialDir <string>] [-window <giWindow |
int>]
Returns
<none>
Arguments
-title
File selector dialog title.
-multiple
Allow multiple selection.
-fileTypes
File types filters. For example, { "Images (*.png *.jpg *.jpg)" "Text files (*.txt)"
"All files (*)" }
-initialDir
Initial directory.

Laker Tcl Reference Manual


K-2015.06

909

Chapter 7: Layout Window


Verification Commands

-initialFile
Initial file.
-directory
Toggle directory selection.
-window
Window Id.

xt::getTextViewerTabs
Returns a list of all tab names optionally filtered using the pattern.
Syntax
xt::getTextViewerTabs [<string>] -window <giWindow>
Returns
List of tab names matching the pattern. ([<string>])
Errors
An error occurs if the window argument is not a Text Viewer window.
Arguments
<string>
Pattern to match against. Empty pattern matches all tabs.
-window giWindow
The Text Viewer window.

xt::openTextViewer
Opens a text viewer displaying the given files in its own tab. The tab name is
created by taking the basename of the file displayed in the tab.
The -text argument allows the user to display a fixed text string in its own tab
named Text.
If a tab name is not unique, a colon and a numerical suffix are appended to
make the tab name unique.

910

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

Syntax
xt::openTextViewer [-text <string>] [-files [<string>]]
Returns
The new Text Viewer window. (giWindow)
Arguments
-text <string>
String to view.
-files [<string>]
List of filenames to open.

xt::openTextViewerTab
Opens a file in a new tab in an existing Text Viewer window. The tab name will
be created by taking the basename of the file displayed in the tab.
The -text argument allows the user to display a fixed text string and the tab
name will be Text.
If a tab name is not unique, a colon and a numerical suffix are appended to
make the tab name unique.
Syntax
xt::openTextViewerTab [-text <string>] [-filePath <string>]
-window <giWindow>
Returns
The name of the new tab. (<string>)
Errors
An error occurs if the window argument is not a Text Viewer window.
Arguments
-text <string>
The string to display in the tab.
-filePath <string>
The filename to open.
-window giWindow
The Text Viewer window.
Laker Tcl Reference Manual
K-2015.06

911

Chapter 7: Layout Window


Verification Commands

xt::readJob
Returns the data written to stdout by the remote job, waiting a number of
seconds for data as specified by the time-out argument. If the time-out is not
specified, or is 0, then the readJob command does not wait.
Syntax
xt::readJob <job: xtJob> [-timeout <int>]
Returns
Data delivered by the interactive job. (<string>)
Errors
Any failure to connect to the job or read the data will generate a Tcl error.
Arguments
xtJob
The job to read data from.
-timeout <int>
Time, in seconds, to wait for data. Timeout of 0 will return immediately.
Default: 0.

xt::sendCommand
Sends a Tcl command to the specified job and waits a number of seconds as
specified by the timeout argument. If the timeout is not specified or is 0, then
the caller is not blocked.
Important: Calling sendCommand on a job that we are currently processing a
command from, or vice versa, will create deadlock and cause <Product Name>
to hang unless the underlying delivery mechanism will time out. It is very
important that the implementation include a timeout to prevent deadlock.
Syntax
xt::sendCommand <command: string> -job <xtJob> [-timeout
<int>]
Returns
Return value of the command which was sent to the interactive job. (<string>)

912

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

Arguments
<string>
Command for the interactive job to execute.
-job xtJob
The job to execute the command.
-timeout <int>
Time, in seconds, to wait for a response (return value) to the command.
Timeout of 0 will return immediately.
Default: 0.
Errors

Timeout expires or message cannot be delivered.

Failure to send the command to the remote job will generate a Tcl error.

Failure to execute the remote command will generate a separate error.

Examples
set jobs [xt::getJobs vue*]
xt::sendCommand "vue_select {mainTab} 0" -job $job

In this example, xt::sendCommand sends an interactive command to Hercules


VUE.

xt::showJobMonitor
Opens Job Monitor and displays the jobs currently stored in the job manager.
Syntax
xt::showJobMonitor
Returns
The Job Monitor window. (giWindow)
Arguments
None.

Laker Tcl Reference Manual


K-2015.06

913

Chapter 7: Layout Window


Verification Commands

xt::showLPESetup
Shows the dialog box for setting up and running a layout parasitic extraction job
process. The options on the dialog are seeded using the current preference
values. The OK and Apply buttons save the preferences for the options in the
prefs.xml file in the run directory, and the xt::executePv command runs the
extraction job.
Syntax
xt::showLPESetup [-window <giWindow | int>] [-job <string |
xtPveJob>] [-tool <string | xtTool>]
Returns
Setup and Run dialog box (giDialog).
Errors
If there are un-set preferences for contents of the options dialog.
Arguments
-window
Design Editor window.
Default: -1.
-job
PVE job.
Default: lpe.
-tool
PVE tool.
Default: "".

xt::showLVSSetup
Shows the dialog box for setting up and a running a layout versus schematic
(LVS) comparison job process. It seeds the setup form with values that are
described in the Options for LVS run section. OK and Apply buttons will execute
the xt::executePv command, which saves the preferences for the run in the
prefs.xml file in the specified run directory if this preference is set.

914

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

Syntax
xt::showLVSSetup [-window <giWindow | int>] [-job <string |
xtPveJob>] [-tool <string | xtTool>]
Returns
Setup and Run dialog box. (giDialog)
Errors
If the prefs.xml file contains invalid data.
Arguments
-window
Design Editor window.
Default: -1.
-job
PVE job.
Default: lpe.
-tool
PVE tool.
Default: "".

xt::showDRCSetup
Shows the DRC Setup and Run dialog box for running a DRC type job.
Syntax
xt::showDRCSetup [-window <giWindow | int>] [-job <string |
xtPveJob>] [-tool <string | xtTool>]
Returns
Setup and Run Dialog. (giDialog)
Errors
If the prefs.xml file contains invalid data.
Arguments
window
Design editor window.

Laker Tcl Reference Manual


K-2015.06

915

Chapter 7: Layout Window


Verification Commands

Default:1.
-job
Physical verification or parasitic extraction job.
Default: drc.
-tool
Physical verification or parasitic extraction tool.
Default: "".

xt::showPveOptions
Shows the physical verification options dialog for configuring general physical
verification process settings.
Syntax
xt::showPveOptions
Returns
<giDialog> Returns the PVE options dialog.
Arguments
None.

xt::startPvDebugger
Launches a physical verification tool's debugger using the xt::createJob
command. It will open the debugger of the specified PV tool (set in the
xt<runType><tool>Debug preference), or of the last executed tool.
Syntax
xt::startPvDebugger -job <string | xtJob | xtPveJob> -rundir
<string> [-tool <string | xtTool>] [-window <giWindow |
int>]
Returns
The running PV debugger job object. (xtJob)

916

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

Arguments
-job xtJob
Previously completed physical verification job containing data for
debugging.
-tool <string>
The PV tool.
Default: "".
-runDir <string>
Output run directory of the design to debug. Either the rundir and runType
must be specified, or the job.
-window
Design editor window.
Default: -1.
Errors

If the design cannot be found.

If the tool was not run.

Examples
xt::startPvDebugger -runType drc -runDir and2.hercules.drc \
-tool Hercules

In this example, xt::startPvDebugger launches Hercules VUE.


xt::startPvDebugger -job [xt::getJobs hercules_drc_2]

In this example, xt::startPvDebugger launches VUE for a previously completed


physical verification job.

xt::signalJob
Suspends, resumes, or kills the remote job depending on the supplied
arguments. This is not the same as sending a UNIX signal to the process.
Syntax
xt::signalJob <job: xtJob | {<xtJob>}> -signal <enum>

Laker Tcl Reference Manual


K-2015.06

917

Chapter 7: Layout Window


Verification Commands

Arguments
{xtJob}
Collection of job objects to which to send signal.
-signal
Signal to send to the process: {kill | resume | suspend}.
Examples
xt::signalJob [xt::getJobs] -signal kill

In this example, xt::signalJob gets and kills all jobs. If any jobs were previously
killed, the system reports an error.

xt::updateJob
Allows a queue engine integrator to update an xtJob during the queue engine
statusProc callback. This command can only be called within the statusProc
callback for an xtQueueEngine. It will generate an error if it is called at any
other time.
Syntax
xt::updateJob <none: xtJob> -status <enum> -isQueued <bool>
[-host <string>] [-procId <int>] [-startTime <int>] [endTime <int>] [-exitStatus <int>]
Returns
<none>.
Arguments
<none>
Job to update.
-status
Updated status of the job: {FAILED | FINISHED | KILLED | RUNNING |
SUSPENDED | UNKNOWN}.
-isQueued
Indicates if the job is currently queued by the queuing software.
-host
Host where the job is running.

918

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Verification Commands

-procId
Process ID (PID) of the job.
-startTime
Time that the job started, expressed as the number of seconds since the
epoch (see Tcl's "clock scan" command).
-endTime
The time that the job finished, expressed as the number of seconds since
the epoch (see Tcl's "clock scan" command).
-exitStatus
The exit code of the job.

xt::wait
This command waits for the job to finish.
Syntax
xt::wait <target: script | xtJob | {<xtJob>}>
Returns
<string>: Job status.
Arguments
target
The jobs to wait for, or script that creates jobs.

xt::writeJob
Writes data to stdin of the remote job, waiting a number of seconds for the write
process to complete, as specified by the timeout argument. If the timeout is not
specified, or is 0, then the writeJob command does not wait.
Syntax
xt::writeJob <job: xtJob> -data <string> [-timeout <int>]
Arguments
xtJob
The job to write data to.

Laker Tcl Reference Manual


K-2015.06

919

Chapter 7: Layout Window


Placer Commands

-data <string>
Data to send to the interactive job.
-timeout <int>
Time, in seconds, to wait for the data to be sent. Timeout of 0 will return
immediately.
Default: 0.

Placer Commands
This section describes the Tcl commands applied to the Placer commands of
the Layout window. These commands include:

920

lakerAddDcap

lakerAddEndCap

lakerAddFiller

lakerAddTap

lakerAddToRPGroup

lakerAutoAssignment

lakerCellIndexPlacementScore

lakerCheckPlacement

lakerConfigureRowArea

lakerCreateRow

lakerCreateRPGroup

lakerDeleteRPGroup

lakerDelRow

lakerDumpPlacementTcl

lakerDumpPinAssTcl

lakerDumpPinConstraint

lakerLegalizeCellLoc

lakerOptimizePin

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

lakerPlaceInstance

lakerPlacementOption

lakerQueryCellBoundary

lakerQueryRegionDensity

lakerRemoveFiller

lakerResetRow

lakerRowPlaceAll

lakerRowPlaceCompact

lakerStretchRowArea

lakerAddDcap
The lakerAddDcap command inserts decoupling capacitors (dcap) cells in
the working cell or in a specified area of the working cell.
Syntax
lakerAddDcap -preEndCap {EndCapCell} -postEndCap
{PostEndCapCell} -wellTap {WellTapCell} -fillers
{FillerCellList} -wellTapSpacing {wellTapSpacing} minYGap {minimumYGap} -tileWidth {tileWidth} -tileHeight
{tileHeight}
Returns
None
Arguments
Argument

Description

-fillers
{FillerCellList}

Specify filler cells by cell name. Multiple cells are


separated by spaces, for example: -fillers cellA
CellB. Cell names are case-sensitive. The wildcard
characters * and ? are supported.

-minYGap
{minimumYGap}

Specify the minimum spacing between rows.


Valid value: a positive floating number.

-postEndCap
{PostEndCapCell}

Specify a post-end cap cell.

Laker Tcl Reference Manual


K-2015.06

921

Chapter 7: Layout Window


Placer Commands

Argument

Description

-preEndCap
{EndCapCell}

Specify a pre-end cap cell.

-tileHeight
{tileHeight}

Specify the tile height.


Valid value: a positive floating number.

-tileWidth
{tileWidth}

Specify the tile width.


Valid value: a positive floating number.

-wellTap
{WellTapCell}

Specify a well tap cell.

-wellTapSpacing
{wellTapSpacing}

Specify the spacing between well tap cells.


Valid value: a positive floating number.

Examples
# Example 1
lakerAddDcap -preEndcap LibA/PMOS4:layout -postEndcap -wellTap \
-fillers LibA/PMOS4:layout LibA/NMOS4:layout \
-wellTapSpacing 0.15 -minYGap 0.0 -tileWidth 67.0 -tileHeight 67.0

See Also
Layout Window: Placer > Add Dcap

lakerAddEndCap
The lakerAddEndCap command inserts pre end cap and post end cap cells.
Syntax
lakerAddEndCap -preLib preLibName -preCell preCellName preView preViewName -postLib postLibName -postCell
postCellName -postView postViewName -setAsFixed 0|1
Returns
None
Arguments

922

Argument

Description

-postCell postCellName

Specify the name of the post end cap cell.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Argument

Description

-postLib postLibName

Specify the library of the post end cap cell.

-postView postViewName Specify the view name for the specified pre end cap
cell.
Valid values: layout and abstract.
-preCell preCellName

Specify the name of the pre end cap cell.

-preLib preLibName

Specify the library of the pre end cap cell.

-preView preViewName

Specify the view name for the specified pre end cap
cell.
Valid values: layout and abstract.

-setFixed 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Set as Fixed option.
0 : Disable the Set as Fixed option.

Examples
# Example 1
# Insert pre end cap and post end cap cells
lakerAddEndCap -preLib N28 -preCell PRE -preView layout \
-postLib N28 -postCell POST -postView layout -setAsFixed 1

See Also
Layout Window: Placer > Add End Cap

lakerAddFiller
The lakerAddFiller command inserts specified filler cells in the working
cell or in a specified area of the working cell.
Syntax
lakerAddFiller [-area (x1 y1)(x2 y2)] [-fillerCell
fillerList]
Returns
None

Laker Tcl Reference Manual


K-2015.06

923

Chapter 7: Layout Window


Placer Commands

Arguments
Argument

Description

-area (x1 y1)(x2 y2)

Specify the area to insert filler cells.


(x1 y1) specifies the lower left point of the selected
area while (x2 y2) specifies the upper right point.

-fillerCell fillerList

Specify the filler cell by cell name. Multiple cells are


separated by spaces, for example: -fillerCell
cellA CellB. Cell names are case-sensitive. The
wildcard characters * and ? are supported.

Examples
# Example 1
# Insert filler cells FILLER1 FILLER2 in the specified area
lakerAddFiller -area (0 0)(500 500) -fillerCell FILLER1 FILLER2

See Also
Layout Window: Placer > Add Filler Cell

lakerAddTap
The lakerAddTap command inserts well tap cells.
Syntax
lakerAddTap -lib libName -cell cellName -view viewName endCap 0|1 [-wellTap style -gap value] -setFixed 0|1
Returns
None
Arguments

924

Argument

Description

-cell cellName

Specify the cell name.

-endCap 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the End Cap option.
0 : Disable the End Cap option.

-gap value

Specify the spacing between well tap cells.


Valid value: a floating number, greater than 0.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Argument

Description

-lib libName

Specify the library name.

-setFixed 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Set as Fixed option.
0 : Disable the Set as Fixed option.

-view viewName

Specify the view name for the specified cell.


Valid values: layout, and abstract.

-wellTap style

Specify the placement style for well tap cells.


Valid values: alignment and stagger
(default=alignment).

Examples
# Example 1
# Insert well tap cells with Stagger style
lakerAddTap -lib testLib -cell testCell -endCap 0 \
-wellTap stagger -gap 30 -setFixed 1

See Also
Layout Window: Placer > Add Well Tap

lakerAddToRPGroup
The lakerAddToRPGroup command returns 1 if a leaf instance or a
hierarchical matrix relative placement (RP) group can be added into an RP
group.
Syntax
lakerAddToRPGroup -group groupName -column column -row row
[-leaf instName | -hierarchy groupName] [-orient
orientation]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-column column

Specify the column in the RP group matrix.


Valid value: an integer, greater than or equal to 0.

Laker Tcl Reference Manual


K-2015.06

925

Chapter 7: Layout Window


Placer Commands

Argument

Description

-group groupName

Specify the RP group name.

-hierarchy groupName

Specify the hierarchical RP group name.

-leaf instName

Specify the leaf instance name.

-orient orientation

Specify the orientation of the leaf instance.


Valid values: R0, R90, R180, R270, MX, MXR90, MY, and
MYR90.

-row row

Specify the row in the RP group matrix.


Valid value: an integer, greater than or equal to 0.

Examples
# Example 1
# Add a leaf instance
lakerAddToRPGroup -group FFT -leaf I1 -column 0 -row 0
# Example 2
# Add a hierarchy group
lakerAddToRPGroup -group FFT -hierarchy GRP1 -column 0 -row 1

See Also
lakerCreateRPGroup
lakerDeleteRPGroup

lakerAutoAssignment
The lakerAutoAssignment command automatically assigns pins a single
block or multiple blocks in a row-based design.
Syntax
lakerAutoAssignment [-auto mode] [-autoGroupBus] [schematic] [-loadPinConstraint constFile] [dumpPinConstraint dumpFile]
Returns
None

926

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Arguments
Argument

Description

-auto mode

If specified, the auto pin placement can be executed by


using one of the following options:
top : Place pins at the top level.
twoLevels: Place pins at two hierarchy levels.

-dumpPinConstraint
dumpFile

Specify the pin constraint file to be dumped.

-autoGroupBus

If specified, the bus pins are automatically grouped.

-loadPinConstraint
constFile

Specify the pin constraint file to be loaded.

-schematic

If specified, the pins are placed based on the location of


I/O ports in the schematic.

Examples
# Example 1
# Use the default mode (-auto twoLevels) when no mode is specified
lakerAutoAssignment
# Example 2
# Use Auto mode and dump the constraints
lakerAutoAssignment -auto top -dump dump.pin
# Example 3
# Use Constraint File mode and dump the constraints
lakerAutoAssignment -loadPinConstraint pin.const \
-dumpPinConstraint dump.pin
# Example 4
# Use Schematic mode
lakerAutoAssignment -schematic

See Also
Layout Window: Placer > Pin Placer > Auto Pin Assignment

lakerCellIndexPlacementScore
The lakerCellIndexPlacementScore command gets the total score of a
legalized placement.

Laker Tcl Reference Manual


K-2015.06

927

Chapter 7: Layout Window


Placer Commands

Syntax
lakerCellIndexPlacementScore
Returns
None
Examples
lakerCellIndexPlacementScore

See Also
Design Browser: Placement > Row Placement
Layout Window: Placer > Row Placer > Place All

lakerCheckPlacement
The lakerCheckPlacement command checks the row-based placement.
Syntax
lakerCheckPlacement [-overlap 0|1] [-siteName 0|1] [siteGrid 0|1] [-orient 0|1] [-hierarchical 0|1] [-filler1
0|1]
Returns
None
Arguments

928

Argument

Description

-filler1 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Check space violations in the No Filler1 flow.
0 : Do not check space violations in the No Filler1 flow.

-hierarchical 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Check illegal hierarchical instances.
0 : Do not check illegal hierarchical instances.

-orient 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Check cells with invalid orientation.
0 : Do not check cells with invalid orientation.

-overlap 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Check overlapped shapes.
0 : Do not check overlapped shapes.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Argument

Description

-siteGrid 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Check off-row cells or cells with off-site grids.
0 : Do not check off-row cells or cells with off-site grids.

-siteName 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Check cells with inconsistent sites.
0 : Do not check cells with inconsistent sites.

Examples
# Example 1
lakerCheckPlacement -overlap 0 -siteName 1 -siteGrid 1 -orient 0 \
-hierarchical 0 -filler 0
# Example 2
lakerCheckPlacement -overlap 0 -siteName 0 -siteGrid 0 -orient 0 \
-hierarchial 0 -filler1 1

See Also
Layout Window: Placer > Check Placement

lakerConfigureRowArea
The lakerConfigureRowArea command configures the attributes of the
selected row area.
Syntax
Type 1 (for the row area that is created by the Row Area or Fixed Row
methods):
lakerConfigureRowArea -point point -traversedist
traverseDist [-site siteName | -height height -width
width] [-orient orient] [-flip 0|1] [-spacingType
spacingType] [-dir rowDirection] [-area rowArea] [-rows
rowNum | -rowSpace rowSpacing]
Type 2 (for the row area that is created by the Utilization method):
lakerConfigureRowArea -point point -traversedist
traverseDist [-site siteName | -height height -width
width] [-orient orient] [-flip 0|1] [-spacingType
spacingType] [-dir rowDirection] [-refPoint point] [-

Laker Tcl Reference Manual


K-2015.06

929

Chapter 7: Layout Window


Placer Commands

utilization floatNum] [-rowSpace rowSpacing] [-ratio


floatNum | -boundaryWidth boundaryWidth | -boundaryHeight
boundaryHeight]
Returns
None
Arguments

930

Argument

Description

-area rowArea

Specify the row area.

-boundaryHeight
boundaryHeight

Specify the boundary width of the rectangular row area.


Valid value: a positive floating number.

-boundaryWidth
boundaryWidth

Specify the boundary length of the rectangular row area.


Valid value: a positive floating number.

-dir rowDirection

Specify the row direction.


Valid values: Horizontal and Vertical
(default=Horizontal).

-flip 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Flip over the orientation of row sites.
0 : Do not flip over the orientation of row sites.

-height height

Specify the site height.


Valid value: a positive floating number.

-orient orient

Specify the site orientation.


Valid values for -dir Horizontal: R0, R180, MXR0,
and MYR0.
Valid values for -dir Vertical: R90, R270, MXR90,
and MYR90.

-point point

(x0,y0) specifies the location of the selected object.

-ratio floatNum

Specify the ratio of width/length (W/L).


Valid value: a positive floating number (default=1.0). It
forms a square area when the value is 1.0.

-refPoint point

Specify the lowerleft point of the row area.

-rows rowNum

Specify the number of rows to be created.


Valid value: a positive integer.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Argument

Description

-rowSpace
rowSpacing

Specify the row spacing.


Valid value: a floating number (default=0.0).

-site siteName

Specify the site name.

-spacingType
spacingType

Specify the spacing type.


Valid values: Each, Pair, and Single.
Each: Separated row.
Pair: First row abutting the second row.
Single: Double back.

-traversedist
traverseDist

Specify the traversing distance of the selected row area.

-utilization
floatNum

Create a row area by area utilization.


Valid value: a positive floating number.

-width width

Specify the site width.


Valid value: a positive floating number.

Examples
# Example 1
lakerConfigureRowArea -rows 15 \
-point (-2010.53,-38.5) -traversedist 6.696
# Example 2
lakerConfigureRowArea -dir Vertical -orient R90 -flip 0 \
-rowSpace 2.0 -point (-1975.04,37.835) -traversedist 6.696
# Example 3
lakerConfigureRowArea -width 0.5 -height 1.0 \
-point (0,0) (12,0) (12,15) (0,15) -orient R0 -spacingType Single

See Also
Layout Window: Placer > Configure Row

lakerCreateRow
The lakerCreateRow command creates row in the current cell view for
proper cell placement.

Laker Tcl Reference Manual


K-2015.06

931

Chapter 7: Layout Window


Placer Commands

Syntax
Method 1 (for the Row Area method in Placer > Create Row):
lakerCreateRow -point point (-rows rowNum | -rowSpace
rowSpacing) [-dir rowDirection] (-site siteName | -height
height [-width width]) -orient orient [-flip 0|1] spacingType spacingType
Method 2 (for the Fixed Row method in Placer > Create Row):
lakerCreateRow -point point -rowWidth rowWidth -rows rowNum
[-rowSpace rowSpacing] [-dir rowDirection] (-site
siteName | -height height -width width) -orient orient
[-flip 0|1] -spacingType spacingType
Method 3 (for the Utilization method in Placer > Create Row):
lakerCreateRow -point point -utilization floatNum [-mode
modeName] [-ratio floatNum | -boundaryWidth boundaryWidth
| -boundaryHeight boundaryHeight] [-rowSpace rowSpacing]
[-dir rowDirection] (-site siteName | -height height width width) -orient orient [-flip 0|1] -spacingType
spacingType
Returns
None
Arguments

932

Argument

Description

-boundaryHeight
boundaryHeight

Specify the boundary width of the rectangular row area.


Valid value: a positive floating number.
This argument is only valid for Method 3.

-boundaryWidth
boundaryWidth

Specify the boundary length of the rectangular row area.


Valid value: a positive floating number.
This argument is only valid for Method 3.

-dir rowDirection

Specify the row direction.


Valid values: Horizontal and Vertical
(default=Horizontal).

-flip 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Flip over the orientation of row sites.
0 : Do not flip over the orientation of row sites.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Argument

Description

-height height

Specify the site height.


Valid value: a positive floating number.

-mode modeName

Specify the calculation mode for area utilization.


Valid values: full and select (default=full).
This argument is only valid for Method 3.

-orient orient

Specify the site orientation.


Valid values for -dir Horizontal: R0, R180, MXR0,
and MYR0.
Valid values for -dir Vertical: R90, R270, MXR90,
and MYR90.

-point point

Specify the boundary points of rowArea for Method 1.


Specify startPoint for Method 2 and Method 3.

-ratio floatNum

Specify the ratio of width/length.


Valid value: a positive floating number (default=1.0). It
forms a square area when the value is 1.0. This
argument is only valid for Method 3.

-rows rowNum

Specify the number of rows to be created.


Valid value: a positive integer.

-rowSpace
rowSpacing

Specify the spacing between rows.


Valid value: a floating number (default=0.0).

-rowWidth
rowWidth

Specify the width of one row, and the width should be a


positive floating number. This argument is only valid for
Method 2.

-site siteName

Specify the site name.

-siteNum siteNum

Specify the number of sites to be created in a row.


Valid value: a positive integer.

-spacingType
spacingType

Specify the spacing type.


Valid values: Each, Pair, and Single.
Each: Separated row.
Pair: First row abutting the second row.
Single: Double back.

Laker Tcl Reference Manual


K-2015.06

933

Chapter 7: Layout Window


Placer Commands

Argument

Description

-utilization
floatNum

Create a row area by area utilization.


Valid value: a positive floating number.
This argument is only valid for Method 3.

-width width

Specify the site width.


Valid value: a positive floating number.

Examples
# Example 1
lakerCreateRow -dir Horizontal -orient MXR0 -site core \
-flip 1 -rows 20 -point (0.0,0.0) (0.0, 500.0) \
(500.0,500.0) (500.0,0) -spacingType Pair
# Example 2
lakerCreateRow -dir Vertical -orient MXR90 -site core \
-flip 0 -rowSpace 5.0 -point (0.0,0.0) (0.0, 500.0) \
(500.0,500.0) (500.0,0) -spacingType Each
# Example 3
lakerCreateRow -dir Vertical -orient R90 -width 0.5 \
-height 1.0 -flip 0 -point (0.0,0.0) -rowWidth 6.4 \
-spacingType Single -rows 10 -rowSpace 2.0

See Also
Layout Window: Placer > Create Row

lakerCreateRPGroup
The lakerCreateRPGroup command returns 1 if a matrix relative placement
(RP) group can be created.
Syntax
lakerCreateRPGroup -group groupName -columns column -rows
row [-xOffset xOffset] [-yOffset yOffset] [-utilization
number]
Returns
1 if successful; otherwise, returns 0.

934

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Arguments
Argument

Description

-columns column

Specify the number of columns in the RP group.


Valid value: an integer, greater than or equal to 0.

-group groupName

Specify the RP group name.

-rows row

Specify the number of rows in the RP group.


Valid value: an integer, greater than or equal to 0.

-utilization number

Specify the utilization of the matrix relative placement.


This argument affects the column width for initial matrix
relative placement.
Valid value: a floating number (default=1.0).

-xOffset xOffset

Specify the bottom-left x coordinate of the group.


Valid value: an integer.

-yOffset yOffset

Specify the bottom-left y coordinate of the group.


Valid value: an integer.

Examples
# Example 1
lakerCreateRPGroup -group FFT -rows 16 -columns 126 \
-xOffset 2 -yOffset 0

See Also
lakerAddToRPGroup
lakerDeleteRPGroup

lakerDeleteRPGroup
The lakerDeleteRPGroup command returns 1 if a relative placement (PR)
group can be deleted in a design.
Syntax
lakerDeleteRPGroup [-group groupName]
Returns
1 if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

935

Chapter 7: Layout Window


Placer Commands

Arguments
Argument

Description

-group groupName

Specify the RP group name.


If it is not specified, all groups in the design are deleted.

Examples
# Example 1
# Delete group FFT in the design
lakerDeleteRPGroup -group FFT
# Example 2
# Delete all groups in the design
lakerDeleteRPGroup

See Also
lakerAddToRPGroup
lakerCreateRPGroup

lakerDelRow
The lakerDelRowArea command deletes selected row area in the working
cell view.
Syntax
lakerDelRowArea -point (x0,y0) [|(x0,y0) (x1,y1) (x2,y2)...
-traversedist traverseDist -close 0|1]
Returns
None
Arguments

936

Argument

Description

-close 0|1

Valid values: Boolean values, 0 and 1.


1 : The point array of the selected area is close.
0 : The point array of the selected area is open.

-point (x0,y0) |
[(x0,y0) (x1,y1) (x2,y2)...]

(x0,y0) specifies the location of the selected


object.
Points (x0, y0) (x1, y1) (x2, y2) specify
the point array of the selected area.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Argument

Description

-traversedist
traverseDist

Specify the traversing distance of the selected row


area.

Examples
lakerDelRowArea -point (-1933.885,-6.92)

See Also
Layout Window: Placer > Delete Row

lakerDumpPlacementTcl
The lakerDumpPlacementTcl command dumps the placements in a tclbased format. This output file can be sourced later to restore the placement.
Syntax
lakerDumpPlacementTcl [-file fileName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-file fileName

Specify the output file name. The default is


lakerDumpPlacement.tcl.

Examples
# Example 1
lakerDumpPlacementTcl -file placement.tcl
#
#
#
#
#
#
#
#

The following lines are dumped to the placement.tcl file:


lakerHaltUndo -start
lakerPlaceInstance -inst {u93} -orient {MXR0} -magni {1.000} \
-xPos {96.1400} -yPos {8.7700} -placeStatus {placed} -draw {0}
lakerPlaceInstance -inst {u115} -orient {R180} -magni {1.000} \
-xPos {76.8200} -yPos {16.1500} -placeStatus {placed} -draw {0}
lakerHaltUndo -end
lakerRedraw

Laker Tcl Reference Manual


K-2015.06

937

Chapter 7: Layout Window


Placer Commands

lakerDumpPinAssTcl
The lakerDumpPinAssTcl command dumps the pin placement in a Tclbased format to a specified file. This output file can be reused to restore the pin
assignments.
Syntax
lakerDumpPinAssTcl -file fileName [-topLevel]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-file fileName

Specify a filename for the pin placement Tcls to be dumped.

-topLevel

If it is specified, the pins at the top level are dumped.


If it is not specified, the pins at two hierarchy levels are
dumped.

Examples
# Example 1
lakerDumpPinAssTcl -file pinA.tcl
#
#
#
#
#
#
#
#
#
#
#

Pins at two hierarchy levels have been dumped in


the pinA.tcl file:
lakerAssignPin -inst {Top} -port {CK} -pin {CK} -xPos {0.000} \
-yPos {-1.200} -width {2.000} -length {2.000} \
-layerName {SoftPin} -purpose {pin}
lakerAssignPin -inst {Top} -port {VDD} -pin {VDD} \
-xPos {59.020} -yPos {25.600} -width {3.000} \
-length {3.000} -layerName {SoftPin} -purpose {pin}
lakerAssignPin -inst {Top} -port {VSS} -pin {VSS} \
-xPos {34.320} -yPos {61.980} -width {3.000} -length {3.000} \
-layerName {SoftPin} -purpose {pin}

# Example 2
# Dump the pins at the top level only
lakerDumpPinAssTcl -file pinB.tcl -topLevel

See Also
Layout Window: Placer > Pin Placer > Dump Pin Placement Tcl

938

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

lakerDumpPinConstraint
The lakerDumpPinConstraint command generates an initial pin constraint
template for quick reference by dumping the pin constraints to a specified file.
Syntax
lakerDumpPinConstraint -file fileName [-topLevel] [initial]
Returns
None
Arguments
Argument

Description

-file fileName

Specify the pin constraint file to be dumped.

-initial

If it is specified, only the initial constraints are dumped. In other


words, all pins are dumped as unconstrained and floating to
their nearest edge.
If it is not specified, the current pin assignment status is
dumped. This applies to both constrained and unconstrained
pins.

-topLevel

If it is specified, the pins at the top level are dumped.


If it is not specified, the pins at two hierarchy levels are
dumped.

Examples
lakerDumpPinConstraint -file pin.cons -initial

See Also
Layout Window: Placer > Pin Placer > Dump Constraint Template

lakerLegalizeCellLoc
The lakerLegalizeCellLoc command legalizes cell locations.

Laker Tcl Reference Manual


K-2015.06

939

Chapter 7: Layout Window


Placer Commands

Syntax
lakerLegalizeCellLoc (-impactBoxExt ExtensionSize | impactBoxExt (X-ExtSize,Y-ExtSize) | -impactBox (x1,y1)
(x2,y2) ) [-keepSelObj 0|1] [-verticalCompact 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-impactBox
(x1,y1) (x2, y2)

Draw a rectangle to form the impact boundary by the


specified coordinates.

-impactBoxExt
(X-ExtSize, Y-ExtSize)

Form the impact boundary by enlarging the bounding


box of selected objects in the horizontal and vertical
directions, respectively.
Valid value: a positive floating number (default=20.0).

-impactBoxExt
ExtensionSize

Form the impact boundary by enlarging the bounding


box of selected objects in all directions.
Valid value: a positive floating number (default=20.0).

-keepSelObj 0|1

Valid values: Boolean values, 0 and 1.


1 : Selected objects cannot be moved during
legalization.
0 : Unselected objects cannot be moved during
legalization.

-verticalCompact 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Perform Vertical Compaction option.
0 : Disable the Perform Vertical Compaction option.

Examples
# Example 1
lakerLegalizeCellLoc -impactBox \
(-299.16,-52.88) (135.995,158.4) -keepSelObj 0 \
-verticalCompact 0

See Also
Layout Window: Placer > Legalize Cell Location

940

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

lakerOptimizePin
The lakerOptimizePin command optimizes the pin placement.
Syntax
lakerOptimizePin -scope {top|cell|port} [-considerInternal]
[-keepPinOrder] -hPitch {PosInt} -vPitch {PosInt}
Returns
None
Arguments
Argument

Description

-considerInternal

If specified, the wire length information is considered


during optimization.

-hPitch {PosInt}

Specify the horizontal pin pitch.


Valid value: an integer.

-keepPinOrder

If specified, the order of pins is kept on the same cell


boundary edge after optimization.

-scope {top|cell|port}

Specify a scope to optimize the pins.


Valid values: top, cell, and port (default=port).
top : Only pins at the top level can be moved.
cell : Only selected cells can be moved.
port : Only selected ports can be moved.

-vPitch {PosInt}

Specify the vertical pin pitch.


Valid value: an integer.

Examples
lakerOptimizePin -scope top -keepPinOrder -hPitch 1 -vPitch 1

See Also
Layout Window: Placer > Pin Placer > Dump Constraint Template

lakerPlaceInstance
The lakerPlaceInstance command returns 1 if the specified instance can
be placed in accordance with the specified attributes.

Laker Tcl Reference Manual


K-2015.06

941

Chapter 7: Layout Window


Placer Commands

To restore a placement via a set of lakerPlaceInstance commands:

Ensure that the master cell of each instance is unchanged since the
lakerPlaceInstance command does not modify the master cell of an
instance.

This Tcl command is more suitable for cases without any instance/device
groups. The placement order of instances or devices in a group may
influence the final layout, therefore an incorrect placement order may lead
to an unexpected result.

Syntax
lakerPlaceInstance -inst instName [-orient orientation] [magni magnification] [-xPos xPosition] [-yPos yPosition]
[-placeStatus placementStatus] [-draw 0|1] [-showMsg 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments

942

Argument

Description

-draw 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Redraw the layout window immediately.
0 : Do not redraw the layout window.

-inst instName

Specify the instance name.

-magni manification

Specify the magnification of the instance.


Valid value: a positive floating number.

-orient orientation

Specify the orientation of the instance.


Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90.

-placeStatus
placementStatus

Specify the placement status of the instance.


Valid values: FIXED, COVER, PLACED, and UNPLACED.

-showMsg 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Show messages in the Home Page.
0 : Do not show messages in the Home Page.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Argument

Description

-xPos xPosition

Move the x coordinate of the reference point of the


instance to xPosition. The reference point of an
instance is at the lowerleft of the bounding box of the
instance.
Valid value: a floating number.

-yPos yPosition

Move the y coordinate of the reference point of the


instance to yPosition.
Valid value: a floating number.

Examples
# Example 1
lakerPlaceInstance -inst u1 -orient R180 -magni 1.0 -xPos 93.38 \
-yPos 8.77 -placeStatus PLACED

lakerPlacementOption
The lakerPlacementOption command returns 1 if the placement
constraints can be set. If the -constFile argument is not specified, all current
placement constraints are displayed.
Syntax
lakerPlacementOption [-constFile fileName] [-dumpTemplate
fileName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-constFile fileName

Specify the placement constraint file.

-dumpTemplate fileName Dump the constraint template with the specified


filename.

Examples
# Example 1
# Set the placement constraint file
lakerPlacementOption -constFile design.const

Laker Tcl Reference Manual


K-2015.06

943

Chapter 7: Layout Window


Placer Commands

# Example 2
# Show all current placement constraints
lakerPlacementOption
# Constraint file = design.const
# Example 3
lakerPlacementOption -dumpTemplate test.temp
# A template file 'test.temp' is generated,
# file contents can be:
# .BeginSection
# .EndSection
# .PrBoundaryLayerPurpose +Layer +Purpose
# .Spare +InstName
# .NoFiller1
# .CellIndexFilelibrary_cell_index_file
# .Hierarchy

See Also
Design Browser: Placement > Row Placement
Layout Window: Placer > Placement Constraint File
Layout Window: Placer > Row Placer > Place All

lakerQueryCellBoundary
The lakerQueryCellBoundary command gets the width/height of the
current cell.
Syntax
lakerQueryCellBoundary -instId {inst_address}
Returns
{dCellWidth, dCellHeight} if successful, where dCellWidth
corresponds to the cell width, and dCellHeight corresponds to the cell
height. The constraint file affects the results.
Arguments
Argument

Description

-instId {inst_address}

Set the memory address to an instance object.

Examples
# Example 1
lakerQueryCellBoundary -inst 123a5b7
# The value returned: 1.3 2.5

944

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

lakerQueryRegionDensity
The lakerQueryRegionDensity command is used to query the utilization of
the specified group region.
Syntax
lakerQueryRegionDensity -group groupName
Returns
A floating number (for example: 0.8 means that the utilization of the group
region is 80%) if successful; otherwise returns nothing.
Arguments
Argument

Description

-group groupName

Specify the group name.

Examples
lakerQueryRegionDensity -group group1

lakerRemoveFiller
The lakerRemoveFiller command removes specified filler cells or cell
types in the working cell or in a specified area of the working cell.
Syntax
lakerRemoveFiller [-area (x1 y1)(x2 y2)] {-fillerCell
fillerList | -coreFiller 0|1 -padFiller 0|1 -endCap 0|1
-wellTap 0|1 }
Returns
None
Arguments
Argument

Description

-area (x1 y1)(x2 y2)

Specify the area to remove filler cells or cell types.


(x1 y1) specifies the lower left point of the selected
area while (x2 y2) specifies the upper right point.

Laker Tcl Reference Manual


K-2015.06

945

Chapter 7: Layout Window


Placer Commands

Argument

Description

-coreFiller 0|1

Valid values: Boolean values, 0 and 1.


1 : Remove all cells in Core type.
0 : Do not remove the cells in Core type.

-endCap 0|1

Valid values: Boolean values, 0 and 1.


1 : Remove all cells in End Cap type.
0 : Do not remove the cells in End Cap type.

-fillerCell fillerList

Specify the filler cell by cell name. Multiple cells are


separated by spaces, for example: -fillerCell
cellA CellB. Cell names are case-sensitive. The
wildcard character * is supported.

-padFiller 0|1

Valid values: Boolean values, 0 and 1.


1 : Remove all cells in Pad type.
0 : Do not remove the cells in Pad type.

-wellTap 0|1

Valid values: Boolean values, 0 and 1.


1 : Remove all cells in Well Tap type.
0 : Do not remove the cells in Well Tap type.

Examples
# Example 1
# Remove filler cells FILLER* MFILLER* in the specified area
lakerRemoveFiller -area (0 0)(500 500) \
-fillerCell FILLER* MFILLER*
# Example 2
# Remove all filler cells in Core, Pad, Well Tap and End Cap types
lakerRemoveFiller -coreFiller 1 -padFiller1 -wellTap 1 -endCap 1

See Also
Layout Window: Placer > Remove Filler Cell

lakerResetRow
The lakerResetRow command clears all created rows and row areas in the
working cell view.
Syntax
lakerResetRow

946

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Returns
None
Examples
lakerResetRow

See Also
Layout Window: Placer > Delete All Rows

lakerRowPlaceAll
The lakerRowPlaceAll command analyzes and gives a legal location for all
instances within rows.
Syntax
lakerRowPlaceAll -ruleSet ruleName [-align alignment] [honorSoftPin 0|1] [-constFile fileName] [-area (left,
bottom)(right, top)] -site siteName
Returns
None
Arguments
Argument

Description

-align alignment

Specify the alignment of the instance placement that


is related to the current row area. This argument is
valid only when the spacing value is 0.
Valid values: left, center, and right
(default=left).

-area (left, bottom)


(right, top)

Determine an incremental region for the placement by


forming a rectangular bounding box.

-constFile fileName

Specify the constraint file.

-honorSoftPin 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Consider soft pins during placement.
0 : Ignore soft pins during placement.

-ruleSet ruleName

Specify the rule set for routing congestion analysis.

Laker Tcl Reference Manual


K-2015.06

947

Chapter 7: Layout Window


Placer Commands

Argument

Description

-site siteName

Specify an active site.


Valid values: default, core, and gacore.

Examples
# Example 1
lakerRowPlaceAll -ruleSet default -honorSoftPin 1
# Example 2
lakerRowPlaceAll -ruleSet default -area (0,0)(1000,1000)
# Example 3
lakerRowPlaceAll -ruleSet default -site core

See Also
Layout Window: Placer > Row Placer > Place All
Design Browser: Placement > Row Placement
lakerSchRowPlacer

lakerRowPlaceCompact
The lakerRowPlaceCompact command compacts the layout design more
efficiently after manual placement or new library cell mapping of a row-based
design.
Syntax
lakerRowPlaceCompact [-direction direction] [-mode mode][hierarchy]
Returns
None
Arguments

948

Argument

Description

-direction direction

Specify a compaction mode.


Valid values: left, center, and right (default=left).

-hierarchy

When -hierarchy is specified, the empty space in


hierarchical blocks is considered during compaction.
When -hierarchy is not specified, the empty space in
hierarchical blocks is ignored during compaction.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Placer Commands

Argument

Description

-mode mode

Specify a compaction mode.


Valid values: sequential, abutting, global, and
hCompress (default=global).

Examples
# Example 1
lakerRowPlaceCompact -direction left -mode global
# Example 2
lakerRowPlaceCompact -direction right -mode hCompress -hierarchy

See Also
Layout Window: Placer > Compact on Row

lakerStretchRowArea
The lakerStretchRowArea command stretches the selected row area in the
working cell view.
Syntax
lakerStretchRowArea -refPoint (x0,y0) -offsetPopint (x0,y0)
-point (x0,y0) |[(x0,y0) (x1,y1) (x2,y2)...(xn,yn)] [traversedist traverseDist] [-close 0|1] [-keepRowSites
0|1]
Returns
None
Arguments
Argument

Description

-close 0|1

Valid values: Boolean values, 0 and 1.


1 : The point array of the selected area is close.
0 : The point array of the selected area is open.

-keepRowSites 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Keep Row Sites option.
0 : Disable the Keep Row Sites option.

-offsetPoint (x0,y0)

Specify an offset direction to stretch.

Laker Tcl Reference Manual


K-2015.06

949

Chapter 7: Layout Window


Router Commands

Argument

Description

-point (x0,y0) |
[(x0,y0) (x1,y1)
(x2,y2)... (xn,yn)]

(x0,y0) specifies the location of the selected object.


Points (x0, y0) (x1, y1) (x2, y2) specify the
point array of the selected area.

-refPoint (x0,y0)

Specify a reference coordinate to stretch.

-traversedist
traverseDist

Specify the traversing distance of the selected row


area.
Valid value: a floating number.

Examples
lakerStretchRowArea -refPoint (-1905.74,-25.945) \
-offsetPoint (19.755,-2.01) -point (-1910.425,-24.44) \
-traversedist 1.674

See Also
Layout Window: Placer > Stretch Row

Router Commands
This section describes the Tcl commands applied to the Router commands of
the Layout window. These commands include:

950

lakerAssignBackbone

lakerAssignInstPortToNet

lakerAssignPin

lakerBusRouter

lakerCheckAdjacentLayerOverlap

lakerCommonDRC

lakerCongestionAnalysis

lakerCongestionMap

lakerCDRouter

lakerDangleRemove

lakerDeleteRoute

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

lakerDeleteRouteAll

lakerDelShape

lakerDigitalRoute

lakerDoubleViaInsertion

lakerDumpRoutingConstraintTemplate

lakerEqualLRouter

lakerEqualLWire

lakerFindCustomViaForDFM

lakerLabelRouter

lakerLadderRoute

lakerLayerSetting

lakerMultiNetRouter

lakerPGRoute

lakerPtToPtRouter

lakerReplaceDFMVia

lakerRouteAll

lakerRouterInfoWnd

lakerRuleSetting

lakerSearchRepair

lakerAssignBackbone
The lakerAssignBackbone command assigns backbone properties to
selected pin shapes or instance pins.
Syntax
To invoke the Assign Backbone feature:
lakerAssignBackbone -start
To perform other actions:
lakerAssignBackbone -action actionMode [-net netName | -node
nodesList]

Laker Tcl Reference Manual


K-2015.06

951

Chapter 7: Layout Window


Router Commands

To abort the Assign Backbone feature:


lakerAssignBackbone -end [-clear 0|1]
Returns
None
Arguments

952

Argument

Description

-action
actionMode

Valid values: add, remove, query, select, and confirm.


add : Add selected pin shapes or instance pins from the layout
window to the tree list window.
remove : Remove selected nodes in the tree list window.
query : Query all nodes, which belong to the specified net
name, in the tree list window. This action should be used with net.
select : Select nodes in tree list window. This action should be
used with -node.
confirm : Confirm to update the database in according to the
nodes in the tree list window.

-clear 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Clear all highlights in the layout window after aborting the
feature.
0 : Keep all highlights in the layout window after aborting the
feature.

-end

Abort this feature.

-net
netName

Specify a net name to which you want to query all nodes


belonging in tree list window. This argument is valid only if action query is specified.

-node
nodesList

Specify a list of nodes, which should be described in the format:


{netName [className [leafNodeNumber]]} where
netName : Net name of a net node. If only this name is specified,
all nodes belonging to the net node, including itself, are selected.
className : Class name of a class node. If only this name is
specified, all nodes belonging to the class node, including itself,
are selected.
leafNodeNumber : The sequence number of a leaf node in the
set of all leaf nodes belonging to a class node. The number
starts with 0.
This argument is valid only if -action select is specified.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-start

Start the feature.

Examples
# Start the Assign Backbone feature
lakerAssignBackbone -start
# Add selected pin shapes and instance pins into the
# tree list window
lakerAssignBackbone -action add
# Select some nodes in the tree list window
lakerAssignBackbone -action select -node \
{alpha} {beta Path} {gamma Rectangle 0}
# Remove selected nodes from the tree list window
lakerAssignBackbone -action remove
# Query all nodes belonging to a net in the tree list window
lakerAssignBackbone -action query -net gamma
# Confirm update the DB in according to all the nodes in the
# tree list window
lakerAssignBackbone -action confirm
# Abort the Assign Backbone feature and clear all highlights
# in the Layout window
lakerAssignBackbone -end -clear 1

See Also
Layout Window: Router > Assign Backbone

lakerAssignInstPortToNet
The lakerAssignInstPortToNet command assigns instance ports to the
specified net.
Syntax
lakerAssignInstPortToNet [-mode mode] [-netType netType]
[-net netName] [-portName portName] [-enableInstances
0|1] [-enableNames 0|1] [-file fileName] [-names
instCellNames] [-button button]

Laker Tcl Reference Manual


K-2015.06

953

Chapter 7: Layout Window


Router Commands

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-button button

Specify the action of the Assign Inst Port to Net form.


Valid values: Apply, OK, and Cancel.

-enableInstances 0|1 Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Instances option.
0 : Enable the Cell Types option.

954

-enableNames 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Names option.
0 : Enable the File option.

-file fileName

Specify the file that contains the instance names or cell


names.

-names
instCellNames

Specify the instance names or cell names that are used


together with the -portName option when assigning
instance ports to nets. The wildcard characters * and ?
are supported.

-mode mode

Specify the connection mode between the instance port


and the specified net.
Valid values: connect and disconnect
(default=connect).

-net netName

Specify the net name that the instance ports are assigned
to.

-netType netType

Specify the net type of the created net or disconnected


net.
Valid values: global, power, and ground
(default=global).

-portName
portName

Specify the port name of instances.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Examples
# Example 1
lakerAssignInstPortToNet -net {VDD} -enableNames 1 \
-enableInstances 0 -names {*} -file {} -portName {VDD} \
-mode connect -netType power
lakerAssignInstPortToNet -button Apply
# Example 2
lakerAssignInstPortToNet -net {VSS} -enableNames 1 \
-enableInstances 0 -names {*} -file {} -portName {VSS} \
-mode connect -netType ground
lakerAssignInstPortToNet -button OK

See Also
Layout Window: Router > Digital Router > Assign Instance Port to Net

lakerAssignPin
The lakerAssignPin command assigns a specified pin to a specified
position, dimension, and layer.
Syntax
lakerAssignPin -inst instName -port portName -pin pinName
[-xPos xPosition] [-yPos yPosition] [-width width] [length length] [-layerName layerName -purpose purpose]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-inst instName

Specify the cell name.

-layerName
layerName

Change the layer of the pin to another layer.

-length length

Set the length (y) of the pin. This argument is valid only if it
is a rectangular pin.
Valid value: a positive floating number.

-pin pinName

Specify the pin name.

-port portName

Specify the port name.

Laker Tcl Reference Manual


K-2015.06

955

Chapter 7: Layout Window


Router Commands

Argument

Description

-purpose
purpose

Change the layer purpose of the pin to another purpose.

-width width

Set the width (x) of the pin. This argument is valid only if it is
a rectangular pin.
Valid value: a positive floating number.

-xPos xPosition

Move the x coordinate of the pin reference point to


xPosition. The reference point of a pin is at the lowerleft
corner of the pin shape bounding box. For a rectangular pin
shape, the reference point is exactly at its lowerleft. For an
instance pin, the x and y positions of its reference point are
the coordinate with respect to the origin of the instance
master cell view, not the top cell view.
Valid value: a floating number.

-yPos yPosition

Move the y coordinate of the pin reference point to


yPosition.
Valid value: a floating number.

Examples
lakerAssignPin -inst {Top} -port {VSS} -pin {VSS} \
-xPos {34.320} -yPos {61.980} -width {2.300} -length {2.300} \
-layerName {SoftPin} -purpose {pin}

lakerBusRouter
The lakerBusRouter command automatically or interactively creates
connections for a set of paths (that is defined as bus).
Syntax
lakerBusRouter -action actionMode -point (x,y) [-autoUpdate
0|1] [[-fanOff 0|1] [-fitToPin 0|1]] [-allowPartialResult
0|1] [-compactBus 0|1] [-snapMode snapMode] [-toLayerName
layerName] [-busAlignStyle busAlignStyle] [-ruleSet
"ruleSetName"] [-rule routingRule] [-minContacts n] [viaPattern type]
Returns
None

956

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Arguments
Argument

Description

-action
actionMode

Valid values: start, end, and addPoint.


start : Start the Bus Route feature.
end : Abort the Bus Route feature.
addPoint : Specify an area.

-allowPartialResult 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Allow Partial Result option.
0 : Disable the Allow Partial Result option.

-autoUpdate 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the Auto Update Width and Spacing option.
0 : Disable the Auto Update Width and Spacing option.

-busAlignStyle
busAlignStyle

Specify the bus alignment style.


Valid values: line, saw, inc, and dec (default=saw).

-compactBus 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Compact Bus option.
0 : Disable the Compact Bus option.

-fanOff 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the Fan-off option.
0 : Disable the Fan-off option.

-fitToPin 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Fit Width to Edge Pin option.
0 : Disable the Fit Width to Edge Pin option.

-minContacts n

Specify the minimum number of contacts to be used.


Valid value: an integer.

-point (x,y)

Specify a point.

-rule routingRule

Specify the rule setting on the form.

-ruleSet
"ruleSetName"

Specify the rule set to be used for routing.

-snapMode
snapMode

Specify a snap mode.


Valid values: orthogonal and anyangle
(default=orthogonal).

Laker Tcl Reference Manual


K-2015.06

957

Chapter 7: Layout Window


Router Commands

Argument

Description

-toLayerName
layerName

Specify the layer for contact vias.

-viaPattern type

Specify the via enclosure pattern.


Valid values: Cross and nonCross (default=Cross).

Examples
lakerBusRouter -action addPoint -point (41.66,26.32) \
-autoUpdate 1 -fanOff 1 -fitToPin 0 -allowPartialResult 0 \
-compactBus 1 -snapMode orthogonal -toLayerName MET2 \
-busAlignStyle dec -ruleSet "default" \
-rule {POLY {Width 0.35} {Spacing 0.45} {Spacing1 0.45}} \
{MET1 {Width 0.5} {Spacing 0.45} {Spacing1 0.45}} \
{MET2 {Width 0.6} {Spacing 0.5} {Spacing1 0.5}} \
{MET3 {Width 0.6} {Spacing 0.5} {Spacing1 0.5}} \
{MET4 {Width 0.6} {Spacing 0.5} {Spacing1 0.5}} \
{M1_P1 {L1Enc {0.15 0.15}} {L2Enc {0.3 0.1}}} \
{M1_M2 {L1Enc {0.3 0.1}} {L2Enc {0.3 0.1}}} \
{M2_M3 {L1Enc {0.3 0.1}} {L2Enc {0.3 0.1}}} \
{M3_M4 {L1Enc {0.3 0.1}} {L2Enc {0.3 0.1}}} \
-minContacts 2 -viaPattern nonCross

See Also
Layout Window: Router > Bus Route

lakerCheckAdjacentLayerOverlap
The lakerCheckAdjacentLayerOverlap command shows the coupling
overlap and area.
Syntax
lakerCheckAdjacentLayerOverlap [-net {NetName List1}] [ignoreNet {NetName List2}] [-status "RoutStatus"] [ruleSet "ruleSetName"]
Returns
None

958

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Arguments
Argument

Description

-ignoreNet
{NetName List2 }

Specify the nets to be ignored when showing coupling.


The wildcard characters * and ? are supported.

-net
{ NetName List1 }

Specify the net name for showing coupling.


The wildcard characters * and ? are supported.

-ruleSet
"ruleSetName"

Specify the rule set to be used for showing coupling.

-status
"RouteStatus"

Specify the route status.


Valid values: Cover, Fixed, Routed, Shield, and
NoShield.
If it is not specified, this command applies to all objects
created by the Router command.

Examples
# Example 1
# Show all nets with "Routed" status result coupling
lakerShowCoupling
# Example 2
# only show net name n* and "Routed" status result coupling
lakerShowCoupling -net {n*}

lakerCommonDRC
The lakerCommonDRC command checks whether there are any DRC
violations in the current Layout window, by referring to the design rules defined
in the technology file section tfNetRouteRule.
The lakerLoadCalibreDRCError command is automatically executed after
the lakerCommonDRC command is executed. If DRC violations do not exist in
the Layout window, a message is displayed in the message pane of the Home
page. If DRC violations exist, the violations are highlighted in the Layout
window, and the View Errors form, invoked by the Verify > View Error
command, is displayed.
Syntax
lakerCommonDRC

Laker Tcl Reference Manual


K-2015.06

959

Chapter 7: Layout Window


Router Commands

Returns
None
Examples
lakerCommonDRC

lakerCongestionAnalysis
The lakerCongestionAnalysis command invokes the Global Router to
execute the congestion analysis and then view the congestion map with default
setting by lakerCongestionMap.
Syntax
lakerCongestionAnalysis -ruleSet "ruleSetName"
Returns
None
Arguments
Argument

Description

-ruleSet "ruleSetName" Specify the rule set to be used for global


routing estimation.

Examples
lakerCongestionAnalysis -ruleSet default
lakerCongestionMap -display 1 -tip 0 -mode horizontal \
-map {CongestionMap0 1 50} {CongestionMap1 1 40} \
{CongestionMap2 1 30} {CongestionMap3 1 20} \
{CongestionMap5 1 10} {CongestionMap4 1 0}

See Also
Layout Window: Router > Congestion Map

lakerCongestionMap
The lakerCongestionMap command configures the display of congestion
map, from which you can easily decide the pin location and the shape of
macros.

960

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Syntax
lakerCongestionMap -display 0|1 -mode mode -tip 0|1 -map
{{layerName vial number}...}
Returns
None
Arguments
Argument

Description

-display 0|1

Valid values: Boolean values, 0 and 1.


1: Display the congestion map on the layout window.
0: Hide the congestion map.

-map {{layerName
vial number}...}

Specify the range to display the specified map.


layerName: Congestion layer name, the attribute of this
system layer can be changed from the layer table.
vial: A Boolean values (0|1) that decides whether to
display the specified map.
number: The number of remaining tracks, the positive
number represents remaining track whereas the negative
represents overflow.

-mode mode

Specify the display mode to display congestion map.


Valid values: horizontal, vertical, and least.
horizontal: Display the congestion map based on the
number of remaining tracks in x direction.
vertical: Display the congestion map based on the
number of remaining tracks in y direction.
least: Display the congestion map based on the least
number of remaining tracks between x and y directions.

-tip 0|1

Valid values: Boolean values, 0 and 1.


1: Show the tip window.
0: Hide the tip window.

Examples
lakerCongestionMap -display 1 -tip 0 -mode horizontal -map \
{CongestionMap0 1 50} {CongestionMap1 1 40} \
{CongestionMap2 1 30} {CongestionMap3 1 20} \
{CongestionMap5 1 10} {CongestionMap4 1 0}

See Also
Layout Window: Router > Pin Assignment > Congestion Map

Laker Tcl Reference Manual


K-2015.06

961

Chapter 7: Layout Window


Router Commands

lakerCDRouter
The lakerCDRouter command routes from the current density.
Syntax
lakerCDRouter -net {n1 n2 n3 ...} [-notCrossgate LayerName]
[-ruleSet "ruleSetName"] [-rule routingRule] [-save] [allowedWidth {value1 value2 ...} ] [-safetyFactor value]
Returns
None
Arguments
Argument

Description

-allowedWidth
{value1 value2 ...}

Specify the allowable wire width.


Valid value: a positive floating number.

-net { n1 n2 n3 ... }

Specify the nets to be routed.

-notCrossgate
LayerName

Specify the layer, below which the router cannot


create paths across the gate area, overlapping of poly
and oxide layers.

-rule routingRule

Specify the rule setting on the form.

-ruleSet "ruleSetName"

Specify the rule set to be used for routing.

-safetyFactor value

Specify the safety ratio to tune the wire width.


Valid value: a positive floating number.

-save

Save the current rule settings to a file.

Examples
# Example 1
lakerCDRouter -net {vout} -ruleSet "default" -rule \
{PO {Avail 1} {H 8} {V 4} {Width 0.06} {Spacing 0.12} \
{CurrDens 0.0}} \
{M1 {Avail 1} {H 1} {V 8} {Width 0.09} {Spacing 0.09} \
{CurrDens 1.12}} \
{M2 {Avail 1} {H 8} {V 1} {Width 0.1} {Spacing 0.1} \
{CurrDens 1.14}} \
{M3 {Avail 1} {H 1} {V 8} {Width 0.1} {Spacing 0.1} {CurrDens 1.2}} \
{M4 {Avail 1} {H 8} {V 1} {Width 0.1} {Spacing 0.1} {CurrDens 1.2}} \
{M5 {Avail 1} {H 1} {V 8} {Width 0.1} {Spacing 0.1} {CurrDens 1.2}} \

962

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

{M6 {Avail 1} {H 8} {V 1} {Width 0.1} {Spacing 0.1} {CurrDens 2.0}} \


{M7 {Avail 1} {H 1} {V 8} {Width 0.1} {Spacing 0.1} {CurrDens 2.0}} \
{M8 {Avail 1} {H 8} {V 1} {Width 0.4} {Spacing 0.4} {CurrDens 2.0}} \
{M9 {Avail 1} {H 1} {V 8} {Width 0.4} {Spacing 0.4} {CurrDens 2.0}} \
{PO_M1 {Avail 1} {H 6} {L1Enc {0.01 0.04}} {L2Enc {0.0 0.04}}} \
{M1_M2 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M2_M3 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M3_M4 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M4_M5 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M5_M6 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M6_M7 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M7_M8 {Avail 1} {H 5} {L1Enc {0.02 0.08}} {L2Enc {0.02 0.08}}} \
{M8_M9 {Avail 1} {H 5} {L1Enc {0.02 0.08}} {L2Enc {0.02 0.08}}} \
-safetyFactor 1.0
# Example 2
lakerCDRouter -save -ruleSet "default" -rule \
{PO {Avail 1} {H 8} {V 4} {Width 0.06} {Spacing 0.12} \
{CurrDens 0.0}} \
{M1 {Avail 1} {H 1} {V 8} {Width 0.09} {Spacing 0.09} \
{CurrDens 1.12}} \
{M2 {Avail 1} {H 8} {V 1} {Width 0.1} {Spacing 0.1} \
{CurrDens 1.14}} \
{M3 {Avail 1} {H 1} {V 8} {Width 0.1} {Spacing 0.1} {CurrDens 1.2}} \
{M4 {Avail 1} {H 8} {V 1} {Width 0.1} {Spacing 0.1} {CurrDens 1.2}} \
{M5 {Avail 1} {H 1} {V 8} {Width 0.1} {Spacing 0.1} {CurrDens 1.2}} \
{M6 {Avail 1} {H 8} {V 1} {Width 0.1} {Spacing 0.1} {CurrDens 2.0}} \
{M7 {Avail 1} {H 1} {V 8} {Width 0.1} {Spacing 0.1} {CurrDens 2.0}} \
{M8 {Avail 1} {H 8} {V 1} {Width 0.4} {Spacing 0.4} {CurrDens 2.0}} \
{M9 {Avail 1} {H 1} {V 8} {Width 0.4} {Spacing 0.4} {CurrDens 2.0}} \
{PO_M1 {Avail 1} {H 6} {L1Enc {0.01 0.04}} {L2Enc {0.0 0.04}}} \
{M1_M2 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M2_M3 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M3_M4 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M4_M5 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M5_M6 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M6_M7 {Avail 1} {H 5} {L1Enc {0.0 0.04}} {L2Enc {0.0 0.04}}} \
{M7_M8 {Avail 1} {H 5} {L1Enc {0.02 0.08}} {L2Enc {0.02 0.08}}} \
{M8_M9 {Avail 1} {H 5} {L1Enc {0.02 0.08}} {L2Enc {0.02 0.08}}} \
-allowedWidth { 0.2 0.5 0.7 1.1 1.2 1.3 2.0 2.5 3.0 } \
-safetyFactor 1.1

See Also
Layout Window: Router > Current Density Route

Laker Tcl Reference Manual


K-2015.06

963

Chapter 7: Layout Window


Router Commands

lakerDangleRemove
The lakerDangleRemove command removes the dangle wire of specific
nets.
Syntax
lakerDangleRemove -net {NetNameList, ClassNameList} ignoreNet {NetNameList, ClassNameList} [-status
routeStatus]
Returns
None
Arguments
Argument

Description

-ignoreNet
{NetNameList,
ClassNameList}

Specify the net names or net class names to be ignored.


The wildcard characters * and ? are supported.

-net {NetNameList,
ClassNameList}

Specify the net name for the removal of dangle wires or


the net class name defined in the Constraint Manager
window.
If no nets are specified, this command applies to all nets.

-status routeStatus

Specify the route status.


Valid values: Cover, Fixed, Routed, Shield, and
NoShield.
If it is not specified, this command applies to all objects
created by the Router command.

Examples
# Example 1
# Dremoves all net dangle objects except those nets
# with name Vdd* or the nets in the CLS net class
lakerDangleRemove -ignoreNet { Vdd* CL2 }
# Example 2
# Only removes objects in the net (net1 and net2) or nets in the CL1
# net class (CL1 is defined in the Constraint Manager window)
lakerDangleRemove -net { net1 net2 CL1 }

See Also
lakerDeleteRouteAll

964

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

lakerDeleteRoute
The lakerDeleteRoute command deletes routes by net/route types or net
names.
Syntax
lakerDeleteRoute [-filterByType 0|1] [-signal 0|1] [notchMetal 0|1] [-pg 0|1] [-ring 0|1] [-stripe 0|1] [followPin 0|1] [-ioWire 0|1] [-pinConn 0|1] [-blockWire
0|1] [-coreWire 0|1] [-filterByName 0|1] [-netName
{net_list}]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-blockWire 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete BlockWire type nets.
0 : Do not delete BlockWire type nets.

-coreWire 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete CoreWire type nets.
0 : Do not delete CoreWire type nets.

-filterByName 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Delete routes by net names.
0 : Delete routes by net types.

-filterByType 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete routes by net types.
0 : Delete routes by net names.

-followPin 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete FollowPin type nets.
0 : Do not delete FollowPin type nets.

-ioWire 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete IOWire type nets.
0 : Do not delete IOWire type nets.

-netName {net_list}

Specify the net names to be removed.

Laker Tcl Reference Manual


K-2015.06

965

Chapter 7: Layout Window


Router Commands

Argument

Description

-notchMetal 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete notch metal shapes.
0 : Do not delete notch metal shapes.

-pg 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete power/ground (PG) nets.
0 : Do not delete power/ground (PG) nets.

-pinConn 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete PinConn type nets.
0 : Do not delete PinConn type nets.

-ring 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete Ring type nets.
0 : Do not delete Ring type nets.

-signal 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete signal nets.
0 : Do not delete signal nets.

-stripe 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Delete Stripe type nets.
0 : Do not delete Stripe type nets.

Examples
# Example 1
lakerDeleteRoute -filterByType 1 -signal 1 -pg 1
# Example 2
lakerDeleteRoute -filterByName 1 -netName {N1 N2}

See Also
Layout Window: Router > Digital Router > Delete Route

lakerDeleteRouteAll
The lakerDeleteRouteAll command removes objects with a Routed
property. These objects are created by the Route All command.

966

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Syntax
lakerDeleteRouteAll -net {NetNameList, ClassNameList} ignoreNet {NetNameList, ClassNameList} [-status
routeStatus]
Returns
None
Arguments
Argument

Description

-ignoreNet {NetNameList, Ignore net names or net class names. The wildcard
ClassNameList}
characters * and ? are supported.
-net {NetNameList,
ClassNameList}

Specify the net names or net class names to be


removed.

-status routeStatus

Specify the route status.


Valid values: Cover, Fixed, Routed, Shield, and
NoShield.

Examples
# Example 1
# Delete all net results except those nets with name Vdd* or
# the nets in the CLS net class.
lakerDeleteRouteAll -ignoreNet { Vdd* CL2 }
# Example 2
# Only delete the net (net1 and net2) or nets in the CL1 net class
# (CL1 is defined in the Constraint Manager window).
lakerDeleteRouteAll -net { net1 net2 CL1 }

lakerDelShape
The lakerDelShape command deletes shapes of the specified layer and
purpose.
Syntax
lakerDelShape -layerName layerName -purpose purpose
Returns
1 if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

967

Chapter 7: Layout Window


Router Commands

Arguments
Argument

Description

-layerName layerName

Specify the layer name.

-purpose purpose

Specify the purpose name.

Examples
lakerDelShape -layerName PinBlockage -purpose label

lakerDigitalRoute
The lakerDigitalRoute command creates custom digital routes and
generates the routing report.
Syntax
lakerDigitalRoute [-file fileName] [-tab tabName] [appliedNets {netList}] [-appliedFile fileName] [ignoredNets {netList}] [-ignoredFile fileName] [-area
0|1] [-routingAreaBox {x1 y1 x2 y2}] [-activeRuleSet
ruleName] [-varRule 0|1] [-varRules {variableRuleList}]
[-numOfRunThread threadsNum] [-routingTrack trackInfo]
[-useSpine 0|1] [-notUsePinAsFeedThrough 0|1] [enableFeedThroughLayer 0|1] [-feedThroughLayer
{layerList}] [-useViaEnclosedByPin 0|1] [enableViaEnclosedLayer 0|1] [-viaEnclosedLayer
{layerList}] [-useViaTouchPin 0|1] [-advanced 0|1] [enableViaTouchPinsLayer 0|1] [-viaTouchPinsLayer
{layerList}] [-viaStyle visStyle] [-doubleViaLayer
{layerList}] [-viaPattern type] [-dataPreparation
optionStr] [-preScript fileName] [-postScript fileName]
[-route 0|1] [-routeType routeType] [-showCongestion 0|1]
[-onTrack 0|1] [-initialRouteOptions optionStr] [detailRoute 0|1] [-noPushing 0|1] [-detailRouteIteration
iterationNum] [-detailRouteOptions optionStr] [postOptimize 0|1] [-alignViaEdge 0|1] [-postOptDetour
0|1] [-postOptDetourIteration iterationNum] [postOptimizeOptions optionStr] [-postOptPattern 0|1] [postOptPatternIteration iterationNum] [-doubleViaInsert
0|1] [-notchGapFill 0|1] [-notchGapFillOptions
optionStr] [-designInfo 0|1] [-ruleInfo 0|1] [-routeInfo
0|1] [-connectivity 0|1] [-detourRatio 0|1] [-ratio

968

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

value] [-jogInfo 0|1] [-cornerInfo 0|1] [-checkExistedVio


0|1] [-violation 0|1] [-options optionStr] [-antenna 0|1]
[-subOptimal 0|1] [-showViolation 0|1] [suggestRoutePitch 0|1] [-skipPrimVio 0|1] [-output 0|1]
[-outputFile fileName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-activeRuleSet
ruleName

Specify the global rule.

-advanced 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the More button to show advanced
options.
0 : Disable the More button to hide advanced
options.

-alignViaEdge 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Align Via Edge option.
0 : Enable the Align Via Edge option.
This argument is valid only if -postOptimize 1 is
specified.

-antenna 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Antenna Rule option.
0 : Disable the Antenna Rule option.
This argument is valid only if -violation 1 is
specified.

-appliedFile fileName

Specify a file for applied nets.

-appliedNets {netList}

Specify net list for applied nets.

-area 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Routing Area option.
0 : Disable the Routing Area option.

-checkExistedVio 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Layout Data Validation option.
0 : Disable the Layout Data Validation option.

Laker Tcl Reference Manual


K-2015.06

969

Chapter 7: Layout Window


Router Commands

Argument

Description

-connectivity 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Connectivity option.
0 : Disable the Connectivity option.

-cornerInfo 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Corner Information option.
0 : Disable the Corner Information option.

-dataPreparation
optionStr

Specify the options for data preparation.

-designInfo 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Design Information option.
0 : Disable the Design Information option.

-detailRoute 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Detail Route option.
0 : Disable the Detail Route option.

-detailRouteIteration
iterationNum

Specify the iteration to perform the detail route


action.
Valid value: an integer.

-detailRouteOptions
optionStr

Specify options for the detail route.

-detourRatio 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Nets with Detour Ratio option.
0 : Disable the Nets with Detour Ratio option.

-doubleViaInsert 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Double Via Insertion option.
0 : Disable the Double Via Insertion option.

-doubleViaLayer {layerList} Specify the layers to be used for double vias.


-enableFeedThroughLayer Valid values: Boolean values, 0 and 1 (default=0).
0|1
1 : Enable the Layers option of the Do Not Use Pin
as Feedthrough option.
0 : Disable the Layers option of the Do Not Use Pin
as Feedthrough option.

970

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-enableViaEnclosedLayer
0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Layers option of the Via Enclosed by
Pins option.
0 : Disable the Layers option of the Via Enclosed by
Pins option.

-enableViaTouchPinsLayer Valid values: Boolean values, 0 and 1 (default=0).


0|1
1 : Enable the Layers option of the Do Not Use Wire
Touch Pins option.
0 : Disable the Layers option of the Do Not Use Wire
Touch Pins option.
-feedThroughLayer
{layerList}

Specify the layers to be used for feedthrough.

-file fileName

Specify a file for restoring digital route settings.

-ignoredFile fileName

Specify a file for ignored nets.

-ignoredNets {netList}

Specify a net list for ignored nets.

-initialRouteOptions
optionStr

Specify options for the initial route.

-jogInfo 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Jog Information option.
0 : Disable the Jog Information option.

-noPushing 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the No Pushing option.
0 : Disable the No Pushing option.

-notchGapFill 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Notch Gap Filling option.
0 : Disable the Notch Gap Filling option.

-notchGapFillOptions
optionStr

Specify options for notch gap filling.

Laker Tcl Reference Manual


K-2015.06

971

Chapter 7: Layout Window


Router Commands

Argument

Description

Valid values: Boolean values, 0 and 1 (default=0).


notUsePinAsFeedThrough 1 : Enable the Do Not Use Pin as Feedthrough
0|1
option.
0 : Disable the Do Not Use Pin as Feedthrough
option.

972

-numOfRunThread
threadsNum

Specify the number of threads to be used.


Valid value: an integer.

-onTrack 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the On Track option.
0 : Disable the On Track option.

-options optionStr

Specify options for reporting sub-optimal route


patterns.

-output 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Output File option.
0 : Enable the Output File option.
This argument is valid only if -violation 1 is
specified.

-outputFile fileName

Specify a specific file name for reporting.

-postOptDetour 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Detour option.
0 : Disable the Detour option.
This argument is valid only if -postOptimize 1 is
specified.

-postOptDetourIteration
iterationNum

Specify the iteration to perform post optimization on


detoured routes.
Valid value: an integer (default=3).

-postOptimize 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Post Optimization option.
0 : Disable the Post Optimization option.

-postOptimizeOptions
optionStr

Specify the options for post optimization.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-postOptPattern 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Pattern option.
0 : Disable the Pattern option.
This argument is valid only if -postOptimize 1 is
specified.

-postOptPatternIteration
iterationNum

Specify the iteration to perform post optimization on


routing patterns.
Valid value: an integer (default=5).

-postScript fileName

Specify a script to be executed after routing.

-preScript fileName

Specify a script to be executed before routing.

-ratio value

Specify a ratio number for filtering nets that have a


detour ratio smaller than the specified value.
Valid value: a floating number.

-route 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Initial/ECO Route option.
0 : Disable the Initial/ECO Route option.

-routeInfo 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Route Information option.
0 : Disable the Route Information option.

-routeType routeType

Specify the route type.


Valid values: Initial Route and ECO Route.

-routingAreaBox
{x1 y1 x2 y2}

Specify the routing area by forming a bounding box


{x1 y1 x2 y2} where x1 and y1 represents the
bottom_left_x and bottom_left_y points, and
x2 and y2 represents the top_right_x and
top_right_y points.

-routingTrack trackInfo

Specify the routing track information.


Valid values: Auto and User.

-ruleInfo 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Rule Information option.
0 : Disable the Rule Information option.

Laker Tcl Reference Manual


K-2015.06

973

Chapter 7: Layout Window


Router Commands

Argument

Description

-showCongestion 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Show Congestion Map option.
0 : Disable the Show Congestion Map option.

-showViolation 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Show Violations option.
0 : Enable the Show Violations option.
This argument is valid only if -violation 1 is
specified.

-skipPrimVio 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Skip Primitive Violations option.
0 : Enable the Skip Primitive Violations option.
This argument is valid only if -violation 1 is
specified.

-subOptimal 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Sub-optimal Patterns option.
0 : Disable the Sub-optimal Patterns option.
This argument is valid only if -violation 1 is
specified.

-suggestRoutePitch 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Suggested Routing Pitch option.
0 : Enable the Suggested Routing Pitch option.

-tab tabName

Specify the current tab name.

-useSpine 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Spine Routing Pattern option.
0 : Disable the Spine Routing Pattern option.

-useViaEnclosedByPin 0|1 Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Via Enclosed by Pins option.
0 : Disable the Via Enclosed by Pins option.
-useViaTouchPin 0|1

974

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Do Not Use Wire Touch Pins option.
0 : Disable the Do Not Use Wire Touch Pins option.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-varRule 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Variable Rule option.
0 : Disable the Variable Rule option.

-varRules
{variableRuleList}

Specify a list of variable route rules.

-viaEnclosedLayer
{layerList}

Specify the layers to be used for pin shapes when


enclosing vias.

-viaPattern type

Specify the via enclosure pattern.


Valid values: Auto, Cross, and nonCross
(default=Auto).

-viaStyle viaStyle

Specify the via style.


Valid values: Single Via and Double Via 100%.

-viaTouchPinsLayer
{layerList}

Specify the layers to be used for pin shapes when


touching vias.

-violation 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Violations option.
0 : Disable the Violations option.

Examples
# Example 1
# Enable the via edge alignment action
lakerDigitalRoute -appliedNets {*} -ignoredNets {} -area 0 \
-routingAreaBox {} -activeRuleSet default -varRule 0 \
-numOfRunThread Auto -routingTrack Auto -routingArea {Auto} \
-useSpine 0 -notUsePinAsFeedThrough 0 -enableFeedThroughLayer 0 \
-feedThroughLayer {M1 M2 M3 M4 M5 M6 M7 AP} -useViaEnclosedByPin 0 \
-enableViaEnclosedLayer 0 -viaEnclosedLayer \
{M1 M2 M3 M4 M5 M6 M7} -useViaTouchPin 0 \
-enableViaTouchPinsLayer 0 -viaTouchPinsLayer \
{M1 M2 M3 M4 M5 M6 M7} -viaStyle {Single Via} \
-viaPattern {Auto} -advanced 0 -netPriority {} -tab {Run Step} \
-route 1 -routeType {Initial Route} -showCongestion 0 \
-detailRoute 1 -onTrack 0 -noPushing 0 -detailRouteIteration 5 \
-postOptimize 1 -postOptDetour 1 -postOptDetourIteration 3 \
-postOptPattern 1 -postOptPatternIteration 5 -alignViaEdge 1 \
-doubleViaInsert 0 -notchGapFill 0 -report 0

Laker Tcl Reference Manual


K-2015.06

975

Chapter 7: Layout Window


Router Commands

# Example 2
# Report the suggested routing pitch of the current design
lakerDigitalRoute -appliedNets {*} -ignoredNets {} -area 0 \
-routingAreaBox {} -activeRuleSet default -varRule 0 \
-numOfRunThread Auto -routingTrack Auto -routingArea {Auto} \
-useSpine 0 -notUsePinAsFeedThrough 0 -useViaEnclosedByPin 0 \
-useViaTouchPin 0 -viaStyle {Single Via} -advanced 0 \
-tab {Report} -designInfo 0 -ruleInfo 0 -routeInfo 0 \
-connectivity 0 -detourRatio 0 -ratio {2.000} -jogInfo 0 \
-cornerInfo 0 -checkExistedVio 0 -suggestRoutePitch 1 \
-violation 0 -antenna 0 -subOptimal 0 -skipPrimVio 0 \
-showViolation 0 -output 0 -outputFile {} -report 1
# Example 3
# Specify the double via layers
lakerDigitalRoute -appliedNets {*} -ignoredNets {} -area 0 \
-routingAreaBox {} -activeRuleSet default -varRule 0 \
-numOfRunThread Auto -routingTrack Auto -routingArea {Auto} \
-useSpine 0 -notUsePinAsFeedThrough 0 -enableFeedThroughLayer 0 \
-feedThroughLayer {M1 M2 M3 M4 M5 M6 M7} -useViaEnclosedByPin 0 \
-enableViaEnclosedLayer 0 -viaEnclosedLayer \
{M1 M2 M3 M4 M5 M6 M7} -useViaTouchPin 0 \
-enableViaTouchPinsLayer 0 \
-viaTouchPinsLayer {M1 M2 M3 M4 M5 M6 M7} -viaStyle {Single Via} \
-doubleViaLayer {VIA12 VIA23 VIA34 VIA45} -viaPattern {Auto} \
-advanced 0 -netPriority {} -tab {Run Step} -route 1 \
-routeType {Initial Route} -showCongestion 0 -detailRoute 1 \
-onTrack 0 -noPushing 0 -detailRouteIteration 5 -postOptimize 1 \
-postOptDetour 1 -postOptDetourIteration 3 -postOptPattern 1 \
-postOptPatternIteration 5 -alignViaEdge 1 -doubleViaInsert 0 \
-notchGapFill 0 -report 0

lakerDoubleViaInsertion
The lakerDoubleViaInsertion command inserts double vias for postlayout.
Syntax
lakerDoubleViaInsertion [-number number] [-ruleSet
ruleName] [-pathAlign mode]
Returns
None

976

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Arguments
Argument

Description

-number number

Specify the number of vias to be inserted for all single


vias.
Valid value: a possitive integer (default=2).

-pathAlign mode

Specify the alignment mode for routing paths.


Valid values: center, edge, and viaHole.

-ruleSet ruleName

Specify the rule set to be used for routing.

Examples
lakerDoubleViaInsertion -number 4 -ruleSet myRull \
-pathAlign center

lakerDumpRoutingConstraintTemplate
The lakerDumpRoutingConstraintTemplate command dumps the
routing constraint template to a specified file.
The output file can be used to set the routing constraints in the Digital Route
form. If the file already exists, its contents are overwritten after invoking this
command.
Syntax
lakerDumpRoutingConstraintTemplate -file file_name [invokeEditor 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-file fileName

Specify a filename for the routing constraints template to be


dumped to. The default is an empty string.

-invokeEditor 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Invoke Editor option.
0 : Disable the Invoke Editor option.

Laker Tcl Reference Manual


K-2015.06

977

Chapter 7: Layout Window


Router Commands

Examples
# Example 1
lakerDumpRoutingConstraintTemplate \
-file {routeConstraintTemplate} -invokeEditor 0

See Also
Layout Window: Router > Digital Router > Dump Routing Constraint
Template

lakerEqualLRouter
The lakerEqualLRouter command routes multiple nets with the same
length.
Syntax
lakerEqualLRouter -net {n1 n2 n3 ...} [-maxAmp value] [minAmp value] [-ampSpacing value] [-notCrossgate
LayerName] [-style routerStyle] [-ruleSet ruleName] [save] [{Layer1 {Width W1} {Spacing S1}} {Layer2 {Width
W2} {Spacing S2}} ...]
Returns
None
Arguments

978

Argument

Description

-ampSpacing value

Specify the spacing for snake-style lengthening


scheme.

-maxAmp value

Specify the maximum amplitude for snake-like


lengthening scheme.

-minAmp value

Specify the minimum amplitude for snake-like


lengthening scheme.

-net { n1 n2 n3 ... }

Specify the nets to be routed in equal length.

-notCrossgate
LayerName

Specify the layer, below which the router cannot create


paths across the gate area, overlapping of poly and
oxide layers.

-rule

Specify the rule setting on the form.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-ruleSet ruleName

Specify the rule set to be used for routing.

-save

Save the current rule settings to a file.

-style routerStyle

Specify the router path style.


Valid values: Truncate, and Extend.

Examples
lakerEqualLRouter -net { n1 n2 }
lakerEqualLRouter -net { n1 n2 } -maxAmp 2.0 -minAmp 1.0 \
-ampSpacing 1.0 -style Truncate -ruleSet "default" \
-rule {POLY {Width 0.35} {Spacing 0.45}} \
{MET1 {Width 0.5} {Spacing 0.45}} \
{MET2 {Width 0.6} {Spacing 0.5}} \
{MET3 {Width 0.6} {Spacing 0.5}} \
{M1_P1 {L1Enc {0.15 0.15}} {L2Enc {0.3 0.1}}} \
{M1_M2 {L1Enc {0.3 0.1}} {L2Enc {0.3 0.1}}} \
{M2_M3 {L1Enc {0.3 0.1}} {L2Enc {0.3 0.1}}}

See Also
Layout Window: Router > Equal Length Route

lakerEqualLWire
The lakerEqualLWire command routes specified area of nets with the same
length.
Syntax
lakerEqualLWire -net { n1 n2 n3 ...} [-maxAmp value] [-minAmp
value] [-ampSpacing value] -Area (x1, y1) (x2, y2) [-Dir
H|V|Auto]
Returns
None
Arguments
Argument

Description

-ampSpacing value

Specify the spacing for snake-style lengthening


scheme.

Laker Tcl Reference Manual


K-2015.06

979

Chapter 7: Layout Window


Router Commands

Argument

Description

-Area (x1, y1) (x2, y2)

Specified area for lengthening.

-Dir H|V|Auto

Specify the lengthening direction.


Valid values: H, V, and Auto.

-maxAmp value

Specify the maximum amplitude for snake-like


lengthening scheme.

-minAmp value

Specify the minimum amplitude for snake-like


lengthening scheme.

-net { n1 n2 n3 ... }

Specify nets to be routed in equal length.

Examples
None

See Also
Layout Window: Router > Equal Length Wire

lakerFindCustomViaForDFM
The lakerFindCustomViaForDFM command reports the number of valid
vias for replacement and checks the DFM via definition. This command is
executed before running lakerReplaceDFMVia.
Syntax
lakerFindCustomViaForDFM
Returns
None
Examples
lakerFindCustomViaForDFM

lakerLabelRouter
The lakerLabelRouter command connects more than two points by the
same text, labeled by users.

980

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Syntax
lakerLabelRouter -text {t1 t2 t3 ...} [-minContacts n] [notCrossgate LayerName] [-style routerStyle] [-save] [ruleSet "ruleSetName"] [-connectMode connectMode] [rowCol {row col}[-fixRowCol] [-rotate] [-pushContact] ]
[-rule routingRule] [-pinExtractionRule] [-routeStatus
routeStatus]
Returns
A list of figure identifiers if successful; otherwise, returns nothing.
Arguments
Argument

Description

-connectMode
connectMode

Specify the connection edge mode.


Valid values: Normal, and Pin (default=Normal).

-fixRowCol

When it is specified, use the user-defined number of


columns and rows for contacts, regardless of the contact
space within the overlapping area.
When it is not specified, the number of columns and rows
for contacts may vary according to the contact space
within the overlapping area.

-minContacts n

Specify the minimum number of contacts to be used.


Valid value: an integer.

-notCrossgate
LayerName

Specify the layer (default=Met1), but not all metal layers,


below which the router cannot create paths across the
gate area. The gate area is the overlapping of poly and
oxide layers.

-pinExtractionRule

When it is specified, only shapes that overlap with the


label are taken as the same net. The pin extraction rule
is defined with mapText2Pin in the technology file
section tfAbstractCell.
When it is not specified, any shapes that overlap with the
label, regardless of its layer and/or purpose, are taken as
the same net.

-pushContact

Push the via to cover as many path regions as possible.

Laker Tcl Reference Manual


K-2015.06

981

Chapter 7: Layout Window


Router Commands

Argument

Description

-rotate

Rotate the via according to the preferred H/V direction. If


the via is already in the preferred direction, it stays the
same regardless of the rotate option.

-routeStatus
routeStatus

Specify the route status.


Valid values: Fixed, Routed, and Cover
(default=Fixed).

-rowCol {row col}

Specify the number of columns and rows of contacts for


via generation.
Valid value: an integer.

-rule routingRule

Specify the routing rule with the following format:


{LayerName1 {Avail value} {H value} {V
value} {Width value} {Spacing value}} \
{LayerName2 {Avail value} {H value} {V
value} {Width value} {Spacing value}} \
...
{ViaName1 {Avail value} {H value} {L1Enc
{value1 value2}} {L2Enc {value1 value2}}}
\
{ViaName2 {Avail value} {H value} {L1Enc
{value1 value2}} {L2Enc {value1 value2}}}
\

-ruleSet
"ruleSetName"

Specify the rule set to be used for routing.

-save

Save the current rule settings to a file.

-style routerStyle

Specify the router path style.


Valid values: Truncate and Extend
(default=Truncate).

-text {t1 t2 t3 ...}

Specify the text label(s) to be routed.

Examples
# Example 1
lakerLabelRouter -text { a b }

982

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

# Example 2
lakerLabelRouter -minContacts 1 -style Extend -connectMode Normal
-text { a b } -ruleSet "default"
-rule {POLY {Avail 1} {H 2} {V 2} {Width 0.35} {Spacing 0.45} \
{MET1 {Avail 1} {H 1} {V 1} {Width 0.5} {Spacing 0.45} \
{MET2 {Avail 1} {H 1} {V 1} {Width 0.6} {Spacing 0.5} \
{MET3 {Avail 1} {H 1} {V 1} {Width 0.6} {Spacing 0.5} \
{M1_P1 {Avail 1} {H 8} {L1Enc {1 5}} {L2Enc {1 5}}}

See Also
Layout Window: Router > Route By Label

lakerLadderRoute
The lakerLadderRoute command enables routing automation for a touch
panel layout.
Syntax
To invoke the Ladder Route feature:
lakerLadderRoute -start
To select teeth segments:
lakerLadderRoute -teeth teeth -select selMode -mode area point point1 point2
To perform ladder routing:
lakerLadderRoute -ruleSet ruleName -action action routePattern routePattern -startExtension insideVal
outsideVal -endExtension insideVal outsideVal -cutCorner
cutLength arcSide [-multipleLayers] [-maxResistance
resistanceValue] [-spacingRatio ratioValue] [-labelLayer
labelLayer [-labelPurpose labelPurpose]] [sameStartTeeth] [-sameEndTeeth] [-controlFile filePath]
To abort the Ladder Route feature:
lakerLadderRoute -end
Returns
None

Laker Tcl Reference Manual


K-2015.06

983

Chapter 7: Layout Window


Router Commands

Arguments
Argument

Description

-action
action

Specify the action to be performed.


Valid values: preview, realize, and ignore.

-controlFile
filePath

Specify the control file with its full path.

-cutCorner
cutLength
arcSide

Specify the cutting length and arc sides for Cut Corner.

-end

Abort this feature.

-endExtension
insideVal
outsideVal

Specify the Inside and Outside values for End Extension.


Valid values: a positive floating number.

-labelLayer
labelLayer

Specify the text layer for the label matching teeth segments.

-labelPurpose
labelPurpose

984

-maxResistance
resistanceValue

Specify the maximum resistance.

-mode area

Select the teeth segments by area selection.

-multipleLayers

When specified, enable the Route with Multiple Layers option.

-point point1
point2

Indicate the coordinate point of the area formed by area


selection.

-repArea

When specified, show the Area column of the measurement


table in the Measure Resistance form. This argument is valid
only if -report 1 is specified.

-repDevToMin

When specified, show the Deviation to Minimum column of the


measurement table in the Measure Resistance form. This
argument is valid only if -report 1 is specified.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-repDevToPrev

When specified, show the Deviation to Previous column of the


measurement table in the Measure Resistance form. This
argument is valid only if -report 1 is specified.

-report 0|1

Valid values: boolean values, 0 and 1.


1 : Invoke the Measure Resistance form. One or more
arguments can be specified to show in the form: -repResist,
-repDevToPrev, -repDevToMin, -repSpaceToPrev, and
-repArea.
0 : Do not invoke the Measure Resistance form.

-repResist

When specified, show the Resistance column of the


measurement table in the Measure Resistance form. This
argument is valid only if -report 1 is specified.

-repSpaceToPrev When specified, show the Spacing to Previous column of the


measurement table in the Measure Resistance form. This
argument is valid only if -report 1 is specified.
-routePattern
routePattern

Specify the route pattern.

-ruleSet
ruleName

Specify the rule set.

-sameEndTeeth

When specified, enable the Same as End Teeth Width option.

Valid values: 45Degrees and 90Degrees.

-sameStartTeeth When specified, enable the Same as Start Teeth Width option.
-select selMode

Specify the method to select teeth segments.


Valid values: fresh, incr, and decr.

-spacingRatio
ratioValue

Specify the spacing ratio.

-start

Start the feature.

-startExtension
insideVal
outsideVal

Specify the Inside and Outside values for Start Extension.

Laker Tcl Reference Manual


K-2015.06

Valid values: a positive floating number.

985

Chapter 7: Layout Window


Router Commands

Argument

Description

-teeth teeth

Specify the start/end teeth segments.


Valid values: start and end.

Examples
lakerLadderRoute -start
lakerPreSelMode -traversein 1 -fromtop 0 -TrHierFilter 0
lakerSelKind -selkind \
{Shape Device Mcell Route IsDevFlatten IsMCellFlatten
IsRouteFlatten}
lakerPreSel -point (449055.56,21360.03) -traversedist 5022.89
lakerLadderRoute -teeth start -select fresh -mode area -point \
(406863.31,21360.03) (449055.56,119306.33)
lakerPreSel -point (297866.66,158484.85) -traversedist 5022.89
lakerLadderRoute -teeth end -select fresh -mode area -point \
(297866.66,-8777.29) (408370.17,158484.85)
lakerLadderRoute -ruleSet default -routePattern 45Degrees \
-startExtension 0.0 0.0 -endExtension 0.0 0.0 \
-cutCorner 30.0 5 -sameStartTeeth -sameEndTeeth -report 1 \
-repResist -repDevToPrev -repDevToMin -action preview
lakerLadderRoute -action create -end

See Also
Layout Window: Router > Ladder Route

lakerLayerSetting
The lakerLayerSetting command consolidates layer properties for routing
layers.
Syntax
To invoke the Layer Rule Settings feature:
lakerLayerSetting -start action
To change or save a rule set:
lakerLayerSetting -switchRule name | -saveRule name
To add, delete, or rename a rule set:
lakerLayerSetting -addRule name | -deleteRule name | renameRule name -newName name

986

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

To add, delete, or move a row in the Layer Properties table:


lakerLayerSetting -addRow row | -deleteRow row | -moveUpRow
row | -moveDownRow row
To edit the layer properties of a rule:
lakerLayerSetting -editRule -rowItem row -layer | -width |
-wireStep | -spacing | -notch | -resistance | -cornerRatio
| -etch | -etchLayer data
To load an existing layer property file or save the layer property to a file:
lakerLayerSetting -loadFile name | -saveFile name
To abort the Layer Rule Settings feature:
lakerLayerSetting -end
Returns
None
Arguments
Argument

Description

-addRow row

Add a new row in the table.

-addRule name

Save the current data in table to a new rule set.

-deleteRow row

Delete the selected row in the table.

-deleteRule name

Delete the selected rule set.

-editRule
Edit the data in the Layer Properties table.
-rowItem row
-layer | -width |
-wireStep |
-spacing | -notch | resistance |
-cornerRatio |
-etch | -etchLayer
data
-end

Abort this feature.

-loadFile name

Load the layer properties file to the table.

Laker Tcl Reference Manual


K-2015.06

987

Chapter 7: Layout Window


Router Commands

Argument

Description

-moveDownRow
row

Move down the selected row in the table.

-moveUpRow
row

Move up the selected row in the table.

-rename name
-newName name

Rename the selected rule set.

-saveFile name

Save the current data in table to a layer properties file.

-saveRule name

Save the current data in table to an existing rule set.

-start

Start the feature for Measure Resistance, Measure Point-toPoint Resistance, or Ladder Route features.
Valid values: -measRes, -p2pRes, and -ladderRoute.

-switchRule name

Switch to another rule in the rule set.

Examples
lakerLayerSetting
lakerLayerSetting
lakerLayerSetting
lakerLayerSetting
lakerLayerSetting
lakerLayerSetting
lakerLayerSetting

-start -ladderRoute
-editRule -rowItem 0
-editRule -rowItem 0
-editRule -rowItem 0
-editRule -rowItem 0
-saveRule default
-end

-layer L46:drawing
-width 23
-width 30
-spacing 30

See Also
Layout Window: Router > Layer Rule Settings

lakerMultiNetRouter
The lakerMultiNetRouter command routes nets by the order of the
specified net names.
Syntax
lakerMultiNetRouter -net {n1 n2 n3 ...} -netConst {n1 n2 n3
...} [-connPathCenter] [-viaPattern type] [usePrefWidth] [-maxVia num] [-notCrossgate LayerName] [style routerStyle] [-minContacts n] [-shield [shieldNet]

988

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

[-shieldConnect] [-AbsShield [shieldSkipExistingObjects]] [-closedLoop] [shieldparallel [-shieldSpace space][shieldParallelWidth width]] [-shieldtop [-shieldTopWidth
width]] [-shieldbottom [-shieldBottomWidth width]] [autoDetect] [-reduceOverlap] [-enableSwapPort] [feedThrough] [-ruleSet ruleName] [-rule routingRule] [connectMode connectMode] [-cutGuardRing] [-useMinArea
0|1] [-save] [-routeStatus routeStatus] [-rowCol {row
col}[-fixRowCol] [-rotate] [-pushContact]] [[-bbRoute]
[-bbVia viaNum] [-bbMaxLength maxLen] [-bbViaOnPin] [bbOffShapeVia]] [-cutCorner [-cutCornerToPolygon] [cutCornerIMLength IMLen]]
Returns
A list of figure identifiers if successful; otherwise, returns nothing.
Arguments
Argument

Description

-AbsShield

Use the absolute shielding mode.

-autoDetect

Create a multi-segment routing result that fits the pin


width automatically.

-bbMaxLength
maxLen

Specify the maximum length of backbone routes.


Valid value: a floating number.

-bbOffShapeVia

Allow off-shape vias, which are neither on the device


pin nor on the backbone, if vias can be used.

-bbRoute

Use the backbone style routing style.

-bbVia viaNum

Specify the maximum number of vias on the


backbone.
Valid value: an integer, greater than 0.

-bbViaOnPin

Allow dropping vias on the device pin.

-closedLoop

Form a closed loop for shield routing.

-connectMode
connectMode

Specify the connection edge mode.


Valid values: Normal, and Pin (default=Normal).

Laker Tcl Reference Manual


K-2015.06

989

Chapter 7: Layout Window


Router Commands

990

Argument

Description

-connPathCenter

Allow connecting wires to the existing path centerline


or via center.

-cutCorner

Cut corners of the path.

-cutCornerToPolygon

Convert off-grid routes to polygons with on-grid


border points.

-cutCornerIMLength
IMLen

Specify the preferred innermost cut-length (in


microns).
Valid value: a floating number.

-cutGuardRing

Allow cutting guard rings in the same design


hierarchy level for better routability.

-enableSwapPort

Enable swap ports.

-feedThrough

Enable the feedthrough insertion.

-fixRowCol

If it is specified, use the user-defined number of


columns and rows for contacts, regardless of the
contact space within the overlapping area.
If it is not specified, the number of columns and rows
for contacts may vary according to the contact space
within the overlapping area.

-maxVia num

Specify the maximum number of vias dropped on the


shapes.
Valid value: an integer.

-minContacts n

Specify the minimum number of contacts to be used.


Valid value: an integer.

-net {n1 n2 n3 ...}

Specify the nets to be routed.

-netConst {n1 n2 n3 ...}

Specify the net constraints.

-notCrossgate
LayerName

Specify the layer (default=Met1), but not all metal


layers, below which the router cannot create paths
across the gate area. The gate area is the
overlapping of poly and oxide layers.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-pushContact

Push the via to cover as many path regions as


possible.

-reduceOverlap

Reduce adjacent layer overlaps to avoid parasitic


coupling.

-rotate

Rotate the via according to the preferred H/V


direction. If the via is already in the preferred
direction, it stays the same regardless of the rotate
option.

-routeStatus
routeStatus

Specify the route status.


Valid values: Fixed, Routed, and Cover
(default=Fixed).

-rowCol {row col}

Specify the number of columns and rows for contacts


in via generation.
Valid value: an integer.

-rule routingRule

Specify the routing rule by using the following format:


{LayerName1 {Avail value} {H value} {V
value} {Width value} {PreferW value}
{Spacing value} {MAR value}} \
{LayerName2 {Avail value} {H value} {V
value} {Width value} {PreferW value}
{Spacing value} {MAR value}} \
...
{ViaName1 {Avail value} {H value} {L1Enc
{value1 value2}} {L2Enc {value1
value2}}} \
{ViaName2 {Avail value} {H value} {L1Enc
{value1 value2}} {L2Enc {value1
value2}}} \

-ruleSet ruleName

Specify the rule set to be used for routing.

-save

Save the current rule settings to a file.

-shield [shieldNet]

Produce a shielding net near the routed net.

-shieldbottom

Use the Down shielding type.

Laker Tcl Reference Manual


K-2015.06

991

Chapter 7: Layout Window


Router Commands

Argument

Description

-shieldBottomWidth width Specify the minimum width of bottom shielding wires.


Valid value: an integer, greater than or equal to the
minimum width.
-shieldConnect

Connect the shielding net.

-shieldparallel

Use the Parallel shielding type.

-shieldParallelWidth width Specify the minimum width of parallel shielding wires.


Valid value: an integer, greater than or equal to the
minimum width.
Skip the existing objects (pins) and shield new route
shieldSkipExistingObjects objects only.
-shieldSpace space

Specify the minimum spacing between shielding


wires.
Valid value: an integer, greater than or equal to the
minimum spacing.

-shieldtop

Use the Top shielding type.

-shieldTopWidth width

Specify the minimum width of top shielding wires.


Valid value: an integer, greater than or equal to the
minimum width.

-style routerStyle

Specify the router path style.


Valid values: Truncate and Extend
(default=Truncate).

-useMinArea 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the Min Area Rule option.
0 : Disable the Min Area Rule option.

-usePrefWidth

Use the preferred wire width.

-viaPattern type

Specify the via enclosure pattern.


Valid values: Cross and nonCross (default=Cross).

Examples
# Example 1
# Define routing rules
# Relative settings in GUI:

992

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

# Corresponding Tcl:
lakerMultiNetRouter -minContacts 1 -style Truncate \
-connectMode Normal -ruleSet "default" -rule \
{POLY {Avail 1} {H 2} {V 2} {Width 0.35}\
{PreferW 0.35}{Spacing 0.45}} \
{MET1 {Avail 1} {H 1} {V 1} {Width 0.5} \
{PreferW 0.5} {Spacing 0.45}} \
{MET2 {Avail 1} {H 1} {V 1} {Width 0.6} \
{PreferW 0.6} {Spacing 0.5}} \
{MET3 {Avail 1} {H 1} {V 1} {Width 0.6} \
{PreferW 0.6} {Spacing 0.5}} \
{MET4 {Avail 1} {H 1} {V 1} {Width 0.6} \
{PreferW 0.6} {Spacing 0.5}} \
{M1_P1 {Avail 1} {H 8} {L1Enc {0.15 0.15}} {L2Enc {0.3 0.1}}} \
{M1_M2 {Avail 1} {H 5} {L1Enc {0.3 0.1}} {L2Enc {0.3 0.1}}} \
{M2_M3 {Avail 1} {H 5} {L1Enc {0.3 0.1}} {L2Enc {0.3 0.1}}} \
{M3_M4 {Avail 1} {H 8} {L1Enc {0.3 0.1}} {L2Enc {0.3 0.1}}}
# Example 2
# Use backbone style
lakerMultiNetRouter -net { n1 } -ruleSet "default" -rule \
{POLY {Avail 1} {H 20} {V 2} {Width 0.35} \
{PreferW 0.35}{Spacing 0.45}} \
{MET1 {Avail 1} {H 1} {V 10} {Width 0.5} \
{PreferW 0.5} {Spacing 0.45}}\
{MET2 {Avail 1} {H 10} {V 1} {Width 0.6} \
{PreferW 0.6} {Spacing 0.5}}\
{MET3 {Avail 1} {H 1} {V 10} {Width 0.6} \
{PreferW 0.6} {Spacing 0.5}}\
{M1_P1 {Avail 1} {H 8} {L1Enc {0.15 0.15}} {L2Enc {0.3 0.1}}} \
{M1_M2 {Avail 1} {H 5} {L1Enc {0.3 0.1}} {L2Enc {0.3 0.1}}} \
{M2_M3 {Avail 1} {H 5} {L1Enc {0.3 0.1}} {L2Enc {0.3 0.1}}} \
-style Truncate -rowCol {1 1} -bbRoute -bbVia 2 \
-bbMaxLength 100.0 -bbViaOnPin -bbOffShapeVia

Laker Tcl Reference Manual


K-2015.06

993

Chapter 7: Layout Window


Router Commands

# Example 3
# cut corners
lakerMultiNetRouter -net { nr1 nr2 } -ruleSet "default" -rule \
{METAL1 {Avail 1} {H 1} {V 1} {Width 0.16} {PreferW 0.16} \
{Spacing 0.18}} {METAL2 {Avail 1} {H 1} {V 1} {Width 0.2} \
{PreferW 0.2} {Spacing 0.21}} \
{M1_M2 {Avail 1} {H 5} {L1Enc {0.01 0.05}} {L2Enc {0.005 0.05}}} \
-cutCorner -cutCornerToPolygon -cutCornerIMLength 0.2 \
-style Truncate -minContacts 1
# Example 4
# auto detect edge and cut guard ring
lakerMultiNetRouter -ruleSet "default" -rule \
{M1 {Avail 1} {H 1} {V 8} {Width 0.12} \
{PreferW 0.12} {Spacing 0.12}} \
{M2 {Avail 0} {H 8} {V 1} {Width 0.14} \
{PreferW 0.14} {Spacing 0.14}} \
{M1_M2 {Avail 1} {H 4} {L1Enc {0.005 0.05}} {L2Enc {0.005 0.05}}} \
-autoDetect -cutGuardRing -style Truncate -minContacts 1

See Also
Layout Window: Router > Net Router

lakerPGRoute
The lakerPGRoute command creates power/ground (PG) wires.
Syntax
To set the General tab:
lakerPGRoute -options [-topViaLayer layerName] [bottomViaLayer layerName] [-searchRange range] [ignoreDRC 0|1] [-showViolation 0|1] [-activeRuleSet
ruleName]
To set the Core Ring tab:
lakerPGRoute -ring -net netNames -rowArea rowArea [-noCross
0|1] [-leftLayer layerName] [-rightLayer layerName] [topLayer layerName] [-bottomLayer layerName] [-leftWidth
width] [-rightWidth width] [-topWidth width] [bottomWidth width] [-leftSpacing spacing] [-rightSpacing
spacing] [-topSpacing spacing] [-bottomSpacing spacing]
[-leftCoreOffset offset] [-rightCoreOffset offset] [topCoreOffset offset] [-bottomCoreOffset offset] [skipLeftSide 0|1] [-skipRightSide 0|1] [-skipTopSide 0|1]
[-skipBottomSide 0|1] [-enableEntire 0|1]

994

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

To set the Block Ring tab:


lakerPGRoute -macroRing -mode mode -net netNames [-noCross
0|1] [-extendCorner 0|1] [-topLeftExtension 0|1] [topRightExtension 0|1] [-bottomLeftExtension 0|1] [bottomRightExtension 0|1] [-leftTopExtension 0|1] [leftBottomExtension 0|1] [-rightTopExtension 0|1] [rightBottomExtension 0|1] [-skipLeftSide 0|1] [skipRightSide 0|1] [-skipTopSide 0|1] [-skipBottomSide
0|1] [-leftLayer layerName] [-rightLayer layerName] [topLayer layerName] [-bottomLayer layerName] [-leftWidth
width] [-rightWidth width] [-topWidth width] [bottomWidth width] [-leftSpacing spacing] [-rightSpacing
spacing] [-topSpacing spacing] [-bottomSpacing spacing]
[-leftCoreOffset offset] [-rightCoreOffset offset] [topCoreOffset offset] [-bottomCoreOffset offset] [enableEntire 0|1]
To set the Block Wire tab:
lakerPGRoute -blockWire -net net_names [-enableLayerJump
0|1] [-extensionViaNumber num] [-allowNonPreferredDir
0|1] [-enablePinLayer 0|1] [-pinLayer layerNames] [skipLeftSide 0|1] [-skipRightSide 0|1] [-skipTopSide 0|1]
[-skipBottomSide 0|1]
To set the Stripe tab:
lakerPGRoute -stripe -net netNames -rowArea rowArea [horLayer metalLayer] [-verLayer metalLayer] [-wireWidth
width -wireSpacing spacing] [-mode mode] [-start num] [end num] [-group num] [-step num] [-allowSwapNet 0|1] [allowShiftRange 0|1] [-shiftRangeGui range] [extendToBoundary 0|1]
To set the Follow Pin tab:
lakerPGRoute -followPin -net netNames -rowArea rowArea [enableLayerJump 0|1] [-extensionViaNumber num] [allowNonPreferredDir 0|1] [-extendToBoundary 0|1]
To close the PG Route form:
lakerPGRoute -close
To undo the last action within a specified row area (optional):
lakerPGRoute -undo [-rowArea rowArea]

Laker Tcl Reference Manual


K-2015.06

995

Chapter 7: Layout Window


Router Commands

Returns
1 if successful; otherwise, returns 0.
Arguments

996

Argument

Description

-activeRuleSet ruleName

Specify the global rule. The default ruleName is


default.
If this argument is not specified or the specified rule
set does not exist, the active rule set is not changed.

-allowNonPreferredDir 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Use Layers in Non-preferred Direction
option.
0 : Disable the Use Layers in Non-preferred
Direction option.

-allowShiftRange 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Shifting Range option.
0 : Disable the Shifting Range option.

-allowSwapNet 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Swap Net Order option.
0 : Disable the Swap Net Order option.

-blockWire

Set the options and fields in the Block Wire tab.

-bottomViaLayer
layerName

Specify the bottom metal layer to be reached by


stack vias.

-enableEntire 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Uniform Values option.
0 : Disable the Uniform Values option.

-enableLayerJump 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the layer jump when the creation of block
wires or follow pins is unsuccessful.
0 : Disable the layer jump when the creation of block
wires or follow pins is unsuccessful.

-enablePinLayer 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Layers option.
0 : Disable the Layers option.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-end num

Specify a value for the end point of wire creation.


Valid value: an integer (default=0).

-extendCorner 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Extend Corner Wires option.
0 : Disable the Extend Corner Wires option.

-extendToBoundary 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Extend to Boundary option.
0 : Disable the Extend to Boundary option.

-extensionViaNumber
num

Specify the number of extension via arrays while


changing the metal layer.
Valid value: an integer (default=0).

-followPin

Set the options and fields in the Follow Pin tab.

-group num

Specify the number of stripe groups. Either -group


or -step must be specified.
Valid value: an integer.

-horLayer metalLayer

Specify the horizontal metal layers to create stripes.

-ignoreDRC 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Allow Violations option.
0 : Disable the Allow Violations option.

-leftCoreOffset offset
-rightCoreOffset offset
-topCoreOffset offset
-bottomCoreOffset offset

Specify the spacing between the core area and the


inner ring.
Valid value: an integer (default=0).

-leftLayer layerName
-rightLayer layerName
-topLayer layerName
-bottomLayer layerName

Specify the layer of the created ring wires on the four


sides. The default is the lowest metal layer.

-leftSpacing spacing
-rightSpacing spacing
-topSpacing spacing
-bottomSpacing spacing

Specify the edge-to-edge spacing between wires.


The default is the minimum spacing of the specified
layer.

Laker Tcl Reference Manual


K-2015.06

997

Chapter 7: Layout Window


Router Commands

Argument

Description

-leftWidth width
-rightWidth width
-topWidth width
-bottomWidth width

Specify the wire width. The default is the minimum


width of the specified layer.

-macroRing

Set the options and fields in the Block Ring tab.

-mode mode

When -macroRing is specified, specify a mode to


create macro rings. Valid values: group and
individual (default=group).
When -stripe is specified, specify a mode to
interpret the Start and End values. Valid values:
absolute and offset (default=offset).

-net netNames

Specify the nets to create core rings, macro rings,


stripes, or follow pins. Multiple net names must be
separated by spaces, for example: -net {net1
net2 ... netn}.
For core rings, this argument specifies the net for
rings from inner to outer. The same net can be used
more than once to create multiple rings, for example:
-net {VDD VSS VDD VSS}.

998

-noCross 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Extend Inner Rings option.
0 : Enable the Extend Inner Rings option.

-options

Set the options and fields in the General tab.

-pinLayer layerNames

Specify the metal layers of macro pins.


This argument is valid only if -enablePinLayer 1
is specified.

-ring

Set the options and fields in the Core Ring tab.

-rowArea rowArea

Specify the row area to create P/G rings. The format


is x0 y0 x1 y1 x2 y2 x3 y3 [x4 y4 ... xn
yn]. The row area should be rectilinear without
duplicated points.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-searchRange range

Specify how far the stripes or follow pins can search


when the connection is successful.
Valid value: an integer (default=0).

-shiftRangeGui range

Specify the range to shift the stripe wires.


Valid value: an integer (default=0).
This argument is valid only if -allowShiftRange
1 is specified.

-showViolation 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Show Violations option.
0 : Enable the Show Violations option.
This argument is valid only if -ignoreDRC 1 is
specified.

-skipBottomSide 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Bottom option.
0 : Enable the Bottom option.

-skipLeftSide 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Left option.
0 : Enable the Left option.

-skipRightSide 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Right option.
0 : Enable the Right option.

-skipTopSide 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Disable the Top option.
0 : Enable the Top option.

-start num

Specify a value for the start point of wire creation.


Valid value: an integer (default=0).

-step num

Specify the spacing between groups. Either -group


or -step must be specified.
Valid value: an integer.

-stripe

Set the options and fields in the Stripe tab.

-topViaLayer
layerName

Specify the top metal layer to be reached by stack


vias.

Laker Tcl Reference Manual


K-2015.06

999

Chapter 7: Layout Window


Router Commands

Argument

Description

-undo

Undo the last action and keep the form open.

-verLayer metalLayer

Specify the vertical metal layers to create stripes.

-wireSpacing spacing

Specify the edge-to-edge spacing between stripe


wires.
Valid value: a floating number.

-wireWidth width

Specify the width of stripe wires.


Valid value: a floating number.

Examples
# Example 1
# Set the General options
lakerPGRoute -options -topViaLayer AP -bottomViaLayer M1 \
-ignoreDRC 1 -searchRange 0
# Example 2
# Create core rings
lakerPGRoute -ring -net {VDD VSS} -leftLayer M1 -rightLayer M1 \
-topLayer M1 -bottomLayer M1 -leftWidth 0.07 -rightWidth 0.07 \
-topWidth 0.07 -bottomWidth 0.07 -leftSpacing 0.07 \
-rightSpacing 0.07 -topSpacing 0.07 -bottomSpacing 0.07 \
-leftCoreOffset 0 -rightCoreOffset 0 -topCoreOffset 0 \
-bottomCoreOffset 0 -noCross 0 -skipLeftSide 0 \
-skipRightSide 0 -skipTopSide 0 -skipBottomSide 0 \
-enableEntire 0 -rowArea \
{3.0 38.3 21.7 38.3 21.7 20.7 42.2 20.7 42.2 3.0 3.0 3.0}
# Example 3
# Create stripes
lakerPGRoute -stripe -net {VDD VSS} -topViaLayer M10 \
-bottomViaLayer M1 -searchRange 0 -wireWidth 0.5 \
-wireSpacing 2.0 -horLayer M4 -rowArea \
{12.02 3.325 42.915 3.325 42.915 -31.62 12.02 -31.62} \
-mode offset -start 0 -end 0 -group 5 -step 6 -allowSwapNet 0 \
-allowShiftRange 1 -shiftRangeGui 0 -extendToBoundary 0

See Also
Layout Window: Router > Digital Router > PG Route

1000

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

lakerPtToPtRouter
The lakerPtToPtRouter command connects two selected objects by the
available routing layers.
Syntax
lakerPtToPtRouter -point (x1,y1)(x2,y2) [-style
routerStyle] [-rule routingRule] [-figs figIds] [minContacts n] [-rowCol {row col}[-fixRowCol] [-rotate]
[-pushContact] ] [-connectMode connectMode] [notCrossgate LayerName] [-useMinArea 0|1] [reduceOverlap] [-routeStatus routeStatus]
lakerPtToPtRouter -point {(x1,y1) [LayerName]} {(x2,y2)
[LayerName]} [-style routerStyle] [-useMinArea 0|1] [rule routingRule] [-figs figIds] [-minContacts n] [rowCol {row col}[-fixRowCol] [-rotate] [-pushContact] ]
[-connectMode connectMode] [-notCrossgate LayerName] [reduceOverlap] [-routeStatus routeStatus]
Returns
None
Arguments
Argument

Description

-connectMode
connectMode

Specify the connection edge mode.


Valid values: Normal, Pin, and Edge
(default=Normal).

-figs figIds

Two figIds can be specified to route. If -point is


specified at the same time, -point has higher
priority and -figs is ignored.

-fixRowCol

When it is specified, use the user-defined number of


columns and rows for contacts, regardless of the
contact space within the overlapping area.
When it is not specified, the number of columns and
rows for contacts may vary according to the contact
space within the overlapping area.

-minContacts n

Specify the minimum number of contacts to be used.


Valid value: an integer.

Laker Tcl Reference Manual


K-2015.06

1001

Chapter 7: Layout Window


Router Commands

1002

Argument

Description

-notCrossgate
LayerName

Specify the layer (default=Met1), but not all metal


layers, below which the router cannot create paths
across the gate area. The gate area is the
overlapping of poly and oxide layers.

-point (x1,y1)(x2,y2)

Specify two points to select the objects to be


connected.

-pushContact

Push the via to cover as many path regions as


possible.

-reduceOverlap

Reduce adjacent layer overlaps to avoid parasitic


coupling.

-rotate

Rotate the via according to the preferred H/V


direction. If the via is already in the preferred
direction, it stays the same regardless of the rotate
option.

-routeStatus
routeStatus

Specify the route status.


Valid values: Fixed, Routed, and Cover
(default=Fixed).

-rowCol {row col}

Specify the number of columns and rows for contacts/


vias to be created.
Valid value: an integer.

-rule routingRule

Specify the routing rules with format:


{LayerName1 {Avail value} {H value} {V
value} {Width value} {Spacing value}
{MAR value}} \
{LayerName2 {Avail value} {H value} {V
value} {Width value} {Spacing value}
{MAR value}} \
...
{ViaName1 {Avail value} {H value} {L1Enc
{value1 value2}} {L2Enc {value1
value2}}} \
{ViaName2 {Avail value} {H value} {L1Enc
{value1 value2}} {L2Enc {value1
value2}}} \

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-style routerStyle

Specify the routing path style.


Valid values: Truncate and Extend
(default=Truncate).

-useMinArea 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the Min Area Rule option.
0 : Disable the Min Area Rule option.

Examples
# Example 1
lakerPtToPtRouter -point (-11.576,4.691) (2.528,5.019)\
-rule {POLY {Avail 1} {H 2} {V 2} {Width 0.8} {Spacing 0.9} \
{POLY2 {Avail 1} {H 2} {V 2} {Width 0.8} {Spacing 0.8} \
{MET1 {Avail 1} {H 1} {V 1} {Width 1.05} {Spacing 0.9} \
{M1_P1 {Avail 1} {H 5} {L1Enc {0.51 0.51}} {L2Enc {0.51 0.51}}} \
{P1_P2 {Avail 1} {H 5} {L1Enc {0.4 0.4}} {L2Enc {0.4 0.4}}}
# Example 2
lakerPtToPtRouter -point {(2.400,0.500) POLY} \
{(8.000,8.000) MET1} \
-rule {POLY {Avail 1} {H 2} {V 2} {Width 0.8} {Spacing 0.9} \
{POLY2 {Avail 1} {H 2} {V 2} {Width 0.8} {Spacing 0.8} \
{MET1 {Avail 1} {H 1} {V 1} {Width 1.05} {Spacing 0.9} \
{M1_P1 {Avail 1} {H 5} {L1Enc {0.51 0.51}} {L2Enc {0.51 0.51}}} \
{P1_P2 {Avail 1} {H 5} {L1Enc {0.4 0.4}} {L2Enc {0.4 0.4}}} \
-minContacts 2
# Example 3
set rect1Id [lakerCreateRect -layerName MET1 -point \
(37,-15) (54,0)]
set rect2Id [lakerCreateRect -layerName MET1 -point \
(98,-18) (118,-1)]
lakerPtToPtRouter \
-rule {POLY {Avail 1} {H 2} {V 2} {Width 0.8} {Spacing 0.9} \
{POLY2 {Avail 1} {H 2} {V 2} {Width 0.8} {Spacing 0.8} \
{MET1 {Avail 1} {H 1} {V 1} {Width 1.05} {Spacing 0.9} \
{M1_P1 {Avail 1} {H 5} {L1Enc {0.51 0.51}} {L2Enc {0.51 0.51}}} \
{P1_P2 {Avail 1} {H 5} {L1Enc {0.4 0.4}} {L2Enc {0.4 0.4}}} \
-figs {$rect1Id $rect2Id}

Laker Tcl Reference Manual


K-2015.06

1003

Chapter 7: Layout Window


Router Commands

# Example 4
lakerPtToPtRouter -cmd rules -rowCol {1 3} -style Truncate \
-connectMode Normal -ruleSet "default" \
-rule {POLY {Avail 1} {H 2} {V 2} {Width 0.8} {Spacing 0.9} \
{POLY2 {Avail 1} {H 2} {V 2} {Width 0.8} {Spacing 0.8} \
{MET1 {Avail 1} {H 1} {V 1} {Width 1.05} {Spacing 0.9} \
{M1_P1 {Avail 1} {H 5} {L1Enc {0.51 0.51}} {L2Enc {0.51 0.51}}} \
{P1_P2 {Avail 1} {H 5} {L1Enc {0.4 0.4}} {L2Enc {0.4 0.4}}}

See Also
dbPtToPtRouter
Layout Window: Router > Point-To-Point Router

lakerReplaceDFMVia
The lakerReplaceDFMVia command replaces DFM vias by following the
technology file section dfmViaDef or the specified priority file.
Syntax
lakerReplaceDFMVia [-DFMFile fileName] [-net {n1 n2 ... nn}]
[-dumpFailPos] [-replaceInstVia]
Returns
None
Arguments

1004

Argument

Description

-DFMFile fileName

Specify the priority file that sets the priorities for DFM via
insertion. If this file is not specified, vias are replaced by
the order specified in the technology file.

-dumpFailPos

Report the position of failed vias to the log file only. By


default, the position of failed vias is not reported in the log
file.

-net {n1 n2 ... nn}

Specify the nets to be replaced. The wildcard characters


* and ? are supported.

-replaceInstVia

Change instances to custom vias.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Examples
# Example 1
# Replace DFM vias by the priorities defined in the
# technology file section dfmViaDef
lakerReplaceDFMVia
# Example 2
# Replace DFM vias by the priorities set in the dfmvia file
# File example:
# DFM12_1 (DFM via name)
(High priority)
# DFM23_1
# DFM34_1
# DFM12_2
# DFM23_2
# DFM34_2
# DFM12_3
(Low priority)
lakerReplaceDFMVia -DFMFile dfmvia

lakerRouteAll
The lakerRouteAll command routes all unconnected nets automatically.
Syntax
lakerRouteAll -ripup -effort effort -mode mode [-viaGroup
mode] -allowViolation -postOptimize -connectToSoftPins selectedNets {netName_list, className_list} -ignoreNet
{netName_list, className_list} -backboneStyle longPathFirst -connect -save -ruleSet ruleName -rule
routingRule [-pathAlign mode] [-useMinArea 0|1] [reduceOverlap] [-enableSwapPort] [-useMultiVia] [useMinWS]
Returns
None
Arguments
Argument

Description

-allowViolation

When specified, route incomplete nets with violations.

-backboneStyle

When specified, change the routing style to backbone


style.

-connect

When specified, connect nets automatically.

Laker Tcl Reference Manual


K-2015.06

1005

Chapter 7: Layout Window


Router Commands

Argument

Description

-connectToSoftPins

When specified, connect to soft pins.

-effort effort

Set up the repair effort.


Valid values: Small, Medium, and Large
(default=Medium).

-enableSwapPort

When specified, enable swap ports.

-ignoreNet
{netName_list,
className_list}

Specify the nets that are not routed as power/ground


nets.
Valid values: the net name list, and the class name list.
Net names must be separated by spaces. The
wildcard characters * and ? are supported, for
example: Vdd* *Vss B?. Class names can be used
to simplify the net name list.

1006

-longPathFirst

When specified, change the routing order to long path


first.

-mode mode

Specify the routing mode.


Valid values: Turbo and Normal.

-pathAlign mode

Specify the alignment mode for routing paths.


Valid values: center, edge, and viaHole.

-postOptimize

When specified, re-route each net.

-reduceOverlap

When specified, reduce the adjacent layer overlaps to


avoid parasitic coupling.

-ripup

When specified, repair incomplete nets.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-rule routingRule

Specify the routing rule with the following format:


{LayerName1 {Avail value} {H value} {V
value} {Width value} {Spacing value}
{MAR value}} \
{LayerName2 {Avail value} {H value} {V
value} {Width value} {Spacing value}
{MAR value}} \
...
{ViaName1 {Avail value} {H value} {L1Enc
{value1 value2}} {L2Enc {value1
value2}}} \
{ViaName2 {Avail value} {H value} {L1Enc
{value1 value2}} {L2Enc {value1
value2}}} \

-ruleSet ruleName

Specify the rule set to be used for routing.

-save

Save the rule set specified by -ruleSet and -rule


to the laker.ro file.

-selectedNets
{netName_list,
className_list}

Route the specified nets or classes by the selector.


Valid values: net name list and class name list.

-useMinArea 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the Min Area Rule option.
0 : Disable the Min Area Rule option.

-useMinWS

When specified, use the minimum width and spacing


values derived from the technology file or LEF file.

-useMultiVia

When specified, use multiple custom vias for routing.

Laker Tcl Reference Manual


K-2015.06

1007

Chapter 7: Layout Window


Router 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.

Examples
# Example 1
lakerRouteAll -mode Normal -backboneStyle -longPathFirst \
-connect -ruleSet "default" -rule \
{POLY {Avail 0} {H 10} {V 2} {Width 0.35} {Spacing 0.45}} \
{POLY2 {Avail 0} {H 2} {V 10} {Width 0.65} {Spacing 0.5}} \
{MET1 {Avail 1} {H 10} {V 1} {Width 0.5} {Spacing 0.45}} \
{MET2 {Avail 1} {H 1} {V 10} {Width 0.6} {Spacing 0.5}} \
{MET3 {Avail 0} {H 2} {V 10} {Width 0.6} {Spacing 0.5}} \
{MET4 {Avail 0} {H 10} {V 2} {Width 0.6} {Spacing 0.5}} \
{M1_P1 {Avail 1} {H 8} {L1Enc {0.2 0.2}} {L2Enc {0.15 0.15}}} \
{M1_P2 {Avail 1} {H 8} {L1Enc {0.2 0.2}} {L2Enc {0.15 0.15}}} \
{M1_M2 {Avail 1} {H 5} {L1Enc {0.2 0.2}} {L2Enc {0.15 0.15}}} \
{M2_M3 {Avail 1} {H 5} {L1Enc {0.2 0.2}} {L2Enc {0.15 0.15}}} \
{M3_M4 {Avail 1} {H 8} {L1Enc {0.2 0.2}} {L2Enc {0.15 0.15}}} \
-minContacts 1 -pathAlign center -viaPattern Cross
# Example 2
lakerRouteAll -useMultiVia -ruleSet "default" -rule \
{MET1 {Avail 1} {H 1} {V 1} {Width 10.0} {Spacing 10.0} {MAR.
0.0}} \
{MET2 {Avail 1} {H 5} {V 1} {Width 10.0} {Spacing 10.0} {MAR.
0.0}} \
{4Cut {Avail 1} {H 10} {L1Enc {}} {L2Enc {}}} \
{2Cut {Avail 1} {H 10} {L1Enc {}} {L2Enc {}}} \
{6Cut {Avail 1} {H 10} {L1Enc {}} {L2Enc {}}} -reduceOverlap 1.0 \
-viaGroup RouteVia -minContacts 1 -pathAlign center \
-viaPattern Cross -useMinArea 1
# Example 3
lakerRouteAll -ripup -effort Small -useMinWS -mode Normal \
-connect -ruleSet "default" -rule \
{MET1 {Avail 1} {H 1} {V 1} {Width 10.0} {Spacing 5.0} {MAR.
0.0}} \
{MET2 {Avail 1} {H 1} {V 10} {Width 10.0} {Spacing 5.0} {MAR.
0.0}} \

1008

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

{v1 {Avail 1} {H 10} {L1Enc {}} {L2Enc {}}} \


{V1 {Avail 1} {H 1} {L1Enc {6.0 6.0}} {L2Enc {6.0 6.0}}} \
-reduceOverlap 0.0 -viaGroup RouteVia -minContacts 1 \
-pathAlign center -viaPattern Cross -useMinArea 1

See Also
Layout Window: Router > Route All

lakerRouterInfoWnd
The lakerRouterInfoWnd command shows or hides the PG Route
Information form issued by the PG Route command or the Digital Route
Information form issued by the Digital Route command.
Syntax
lakerRouterInfoWnd -display 0|1
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-display 0|1

Valid values: Boolean values, 0 and 1.


1 : Show the PG Route Information form issued by the PG
Route command or the Digital Route Information form issued
by the Digital Route command.
0 : Hide the PG Route Information form issued by the PG
Route command or the Digital Route Information form issued
by the Digital Route command.

Examples
# Example 1
# Show the information/message window
lakerRouterInfoWnd -display 1

See Also
Layout Window: Router > Digital Router > PG Route
Layout Window: Router > Digital Router > Digital Route

Laker Tcl Reference Manual


K-2015.06

1009

Chapter 7: Layout Window


Router Commands

lakerRuleSetting
The lakerRuleSetting command sets routing and contact/via rules for the
digital router.
Syntax
lakerRuleSetting [-addRefRuleSet ruleName] [-newRuleSet
ruleName] [-addRuleApply 0|1] [-addRuleOk 0|1] [delRuleSet ruleName] [-deleteRuleApply 0|1] [deleteRuleOk 0|1] [-renameRefRuleSet ruleName] [renameRuleSet ruleName] [-renameRuleApply 0|1]
[-renameRuleOk 0|1] [-ruleSet ruleName] [-tab tabName]
[-viaGroup mode] [-specificSpacing 0|1] [-ruleChanged
list] [-save 0|1] [-routingTrack Auto|User]
Returns
None
Arguments

1010

Argument

Description

-addRefRuleSet
ruleName

Specify the reference rule set when adding a new rule


set.

-addRuleApply 0|1

Valid values: Boolean values, 0 and 1.


1 : Record the Apply button action of the Add Rule Set
form.
0 : Do not record the Apply button action of the Add
Rule Set form.

-addRuleOk 0|1

Valid values: Boolean values, 0 and 1.


1 : Record the OK button action of the Add Rule Set
form.
0 : Do not record the OK button action of the Add Rule
Set form.

-deleteRuleApply 0|1

Valid values: Boolean values, 0 and 1.


1 : Record the Apply button action of the Delete Rule
Set form.
0 : Do not record the Apply button action of the Delete
Rule Set form.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Router Commands

Argument

Description

-deleteRuleOk 0|1

Valid values: Boolean values, 0 and 1.


1 : Record the OK button action of the Delete Rule Set
form.
0 : Do not record the OK button action of the Delete
Rule Set form.

-delRuleSet ruleName

Specify the rule set to be deleted.

-newRuleSet ruleName

Specify the rule set to be added.

-renameRefRuleSet
ruleName

Specify the reference rule set when renaming a rule


set.

-renameRuleApply 0|1

Valid values: Boolean values, 0 and 1.


1 : Record the Apply button action of the Rename
Rule Set form.
0 : Do not record the Apply button action of the
Rename Rule Set form.

-renameRuleOk 0|1

Valid values: Boolean values, 0 and 1.


1 : Record the OK button action of the Rename Rule
Set form.
0 : Do not record the OK button action of the Rename
Rule Set form.

-renameRuleSet
ruleName

Specify the rule set to be renamed.

-routingTrack Auto|User

Specify the mode to generate the pitch and offset of


tracks.
Valid values: Auto and User.

-ruleChanged list

Record the modified rule values.

-ruleSet ruleName

Specify the rule set to be used for routing.

-save 0|1

Valid values: Boolean values, 0 and 1.


1 : Save the modified rule settings.
0 : Do not save the modified rule settings.

-specificSpacing 0|1

Valid values: Boolean values, 0 and 1.


1 : Display advanced spacing rules.
0 : Do not display any advanced spacing rules.

Laker Tcl Reference Manual


K-2015.06

1011

Chapter 7: Layout Window


Router Commands

Argument

Description

-tab tabName

Specify the tab to be defined.


Valid values: Metal and Via.

-viaGroup mode

Specify the via group.


Valid values: MCell and RouteVia.

Examples
# Example 1
# Change to Metal tab
lakerRuleSetting -tab Metal
# Example 2
# Add a new rule set test
lakerRuleSetting -addRefRuleSet default -newRuleSet test \
-addRuleOk 1
Example 3
# Delete the test rule set
lakerRuleSetting -delRuleSet test -deleteRuleOk 1
# Example 4
# Rename the test rule set as test1
lakerRuleSetting -renameRefRuleSet test -renameRuleSet test1 \
-renameRuleOk 1

See Also
Layout Window: Router > Digital Router > Rule Setting

lakerSearchRepair
The lakerSearchRepair command repairs open nets by ripping up and rerouting the nets.
Syntax
lakerSearchRepair -effort effort [-useMinWS] -ignoreNet
{netName_list, className_list } -ruleSet ruleName
Returns
None

1012

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Window Commands

Arguments
Argument

Description

-effort effort

Set up the repair effort.


Valid values: Small, Medium, and Large
(default=Medium).
Small: Repair and re-route 3 times.
Medium: Repair and re-route 5 times.
Large: Repair and re-route 10 times.

-ignoreNet
{netName_list,
className_list}

Ignored net names or net class names, defined in the


Constraint Manager window. Net names must be
separated by spaces. The wildcard characters * and
? are supported (for example: Vdd* *Vss B?). Class
names can be used to simplify the net name list.

-ruleSet ruleName

Specify the rule set to be used for routing.

-useMinWS

When specified, use the minimum width and spacing


values derived from the technology file or LEF file.

Examples
# Example 1
# Skip nets with name Vdd* or CL1 class and rip-up & re-route
# 5 times by following the default rule setting.
lakerSearchRepair -effort Medium -ignoreNet { Vdd* CL1 } \
-ruleSet default
# Example 2
lakerSearchRepair -effort Small -useMinWS -ruleSet "default"

See Also
Layout Window: Router > Search and Repair

Window Commands
This section describes the Tcl commands applied to the Window commands.
These commands include:

lakerKeepColor

lakerLayoutDsgBroswer

Laker Tcl Reference Manual


K-2015.06

1013

Chapter 7: Layout Window


Window Commands

lakerLockColor

lakerRealizeColor

lakerRemoveColor

lakerSetCreateColor

lakerUnlockColor

lakerKeepColor
The lakerKeepColor command sets the color attributes for coloring results
by DRD checking.
Syntax
lakerKeepColor [-all]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-all

When specified, keep all color attributes.

Examples
lakerPreSel -point (0.2494,0.1807) -traversedist 0.0047
lakerSingleSel
lakerKeepColor

See Also
Layout Window: Assistants > Color Assistant > Keep Color
Layout Window: Assistants > Color Assistant > Keep All Color

lakerLayoutDsgBroswer
The lakerLayoutDsgBrowser command shows or hides the Design
Browser pane in the layout.
Syntax
lakerLayoutDsgBrowser [-display 0|1]

1014

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Window Commands

Returns
None
Arguments
Argument

Description

-display 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Show the Design Browser pane.
0 : Hide the Design Browser pane.

Examples
lakerLayoutDsgBrowser -display 1

See Also
Layout Window: Assistants > Layout Design Browser

lakerLockColor
The lakerLockColor command locks the color status of selected shapes.
When both -colorIndex and -color are specified, the -colorIndex
setting is adopted.
Syntax
lakerLockColor [-color color_name | -colorIndex color_index]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-color color_name

Specify the color by name.

-colorIndex color_index

Specify the color by color index.

Examples
lakerPreSel -point (0.2494,0.1807) -traversedist 0.0047
lakerSingleSel
lakerLockColor
lakerLockColor -color ColorA
lakerLockColor -colorIndex 1

Laker Tcl Reference Manual


K-2015.06

1015

Chapter 7: Layout Window


Window Commands

See Also
Layout Window: Assistants > Color Assistant > Lock Color
Layout Window: Assistants > Color Assistant > Lock All Color
Layout Window: Assistants > Color Assistant > Lock Color 1
Layout Window: Assistants > Color Assistant > Lock Color 2

lakerRealizeColor
The lakerRealizeColor command realizes the color attributes by color
design constraints.
Syntax
lakerRealizeColor
Returns
1 if successful; otherwise, returns 0.
Arguments
None
Examples
lakerRealizeColor

See Also
Layout Window: Assistants > Color Assistant > Realize Color

lakerRemoveColor
The lakerRemoveColor command removes the color attributes of layout
shapes.
Syntax
lakerRemoveColor [-target all | keep | locked]
Returns
1 if successful; otherwise, returns 0.

1016

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Window Commands

Arguments
Argument

Description

-target all | keep | locked

Specify the target to remove its color attributes.


Valid values: all, keep, and locked.

Examples
lakerRemoveColor -target all

See Also
Layout Window: Assistants > Color Assistant > Remove Color
Layout Window: Assistants > Color Assistant > Remove All Color

lakerSetCreateColor
The lakerSetCreateColor command sets the coloring behavior for creation
features from the toolbar entry. When both -colorIndex and -color are
specified, the -colorIndex setting is adopted.
Syntax
lakerSetCreateColor -color color_name | -colorIndex
color_index
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-color color_name

Specify the color by name.

-colorIndex color_index

Specify the color by color index.

Examples
lakerPreference -createColor 1 -createColorMode locked
lakerSetCreateColor -color colorB

See Also
lakerPreference
Layout Window: Assistants > Color Assistant > Creation Mode (None)

Laker Tcl Reference Manual


K-2015.06

1017

Chapter 7: Layout Window


Schematic Commands

Layout Window: Assistants > Color Assistant > Creation Mode (Color 1)
Layout Window: Assistants > Color Assistant > Creation Mode (Color 2)

lakerUnlockColor
The lakerUnlockColor command unlocks the color status of selected
shapes.
Syntax
lakerUnlockColor
Returns
1 if successful; otherwise, returns 0.
Arguments
None
Examples
lakerPreSel -point (0.2494,0.1807) -traversedist 0.0047
lakerSingleSel
lakerUnlockColor

See Also
Layout Window: Assistants > Color Assistant > Unlock Color

Schematic Commands
This section describes the Tcl commands applied to the Schematic commands
of the Schematic and Layout windows. These commands include:

1018

adpDsgPrint

adpDsgPopViewUp

adpDsgPushViewIn

adpDsgSignalHier

lakerSyncSchematicScope

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Schematic Commands

adpDsgPrint
The adpDsgPrint command prints a part of schematic view (viewing area on
the Schematic window pane) or the entire schematic cell view.
Syntax
adpDsgPrint [-printerName printerName] [-orient
orientation] [-paperSize paperSize] [-copy printCopy] [color printColor] [-toFile printToFile] [-fileName
fileName] [-header paperHeader] [-footer paperFooter] [magni magnification] [-view viewName]
Returns
None
Arguments
Argument

Description

-color printColor

Set output format in color.

-copy printCopy

Specify the number of copies (default=1).

-fileName filename

Specify the output file.

-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 layer patterns.
0 : Do not print layer patterns.

-magni magnification

View size is printed compared with a real chip size


(default=0).

-orient orientation

Specify the paper orientation.


Valid values: Portrait and Landscape
(default=Landscape).

-paperSize paperSize

Specify the paper size.


Valid values: Letter, A4, A3, A2, A1, A0, B, C, D, E and
User-defined (default=A4).

Laker Tcl Reference Manual


K-2015.06

1019

Chapter 7: Layout Window


Schematic Commands

Argument

Description

-printerName
printerName

Specify the printer name.

-ruler 0|1

Print the ruler line.


Valid values: Boolean values, 0 and 1 (default=1).

-toFile printToFile

Set the output to file or printer.

-view viewName

Print the whole chip or screen area (default = whole


chip).

Examples
adpDsgPrint -printerName hp

See Also
lakerPrintDesign
Layout Window: Schematic > Print

adpDsgPopViewUp
The adpDsgPopViewUp command retraces the upper level of the design.
Syntax
adpDsgPopViewUp -topWnd window_ID [-net full_net_path] [port full_port_path]
Returns
None
Arguments
Argument

Description

-net full_net_path

Specify the net in full path.

-port full_port_path

Specify the port in full path.

-topWnd window_ID

Specify the top window identifier.

Examples
adpDsgPopViewUp -topWnd _adp2 -net 4_bit_mux2.I0.A

1020

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Schematic Commands

See Also
Layout Window: Schematic > Pop View Up

adpDsgPushViewIn
The adpDsgPushViewIn command browses the schematic view for selected
blocks, if such schematic view exists.
Syntax
adpDsgPushViewIn -topWnd window_ID -inst full_instance_path
Returns
None
Arguments
Argument

Description

-inst full_instance_path

Specify the instance in full path.

-topWnd window_ID

Specify the top window identifier.

Examples
adpDsgPushViewIn -topWnd _laker2 -inst 4_bit_mux2.I4

See Also
Layout Window: Schematic > Push View In

adpDsgSignalHier
The adpDsgSignalHier command queries the net connection information.
Syntax
adpDsgSignalHier -topWnd winId [-netName netName] [-scope
scopeName] [-level level] [-zoomToHighlighSet 0|1] [color layerName] [-dump 0|1] [-file filename][-delete
netName]
Returns
None

Laker Tcl Reference Manual


K-2015.06

1021

Chapter 7: Layout Window


Schematic Commands

Arguments
Argument

Description

-color layerName

Specify the layer to highlight the traced net.

-delete netName

Specify the input net name. -delete is used for


removing the highlight of the previous trace results.

-dump 0|1

Valid values: Boolean values, 0 and 1.


1 : Save the settings and the traced results to a file.
0 : Do not save the settings and the traced results to
a file.

-file filename

Specify the ASCII file with its full path. This is only
used with the -dump argument.

-level level

Specify the tracing level.


Valid value: an integer (1 to 50).

-netName netName

Specify the input net name. -netName is used for


tracing a new net.

-scope scopeName

Specify the scope to be traced.

-topWnd winId

Specify the top window identifier.

-zoomToHighlighSet 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the Zoom to Traced Net option.
0 : Disable the Zoom to Traced Net option.

Examples
adpDsgSignalHier -topWnd _adp2 -netName N_1 -level 2 \
-zoomToHighlighSet 0 -color HighLightSignalLayer2 -dump TRUE \
-file /xmpg2/home/john_chen/work/Laker3.2v5/play/chenshou.log

See Also
Layout Window: Schematic > Signal Trace

lakerSyncSchematicScope
The lakerSyncSchematicScope command synchronizes the view scope in
the Schematic window with the layout view and the Design Browser pane.

1022

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


UDD Commands

Syntax
lakerSyncSchematicScope
Returns
None
Examples
lakerSyncSchematicScope

See Also
Schematic Window: Right-click command menu > Schematic > Sync Scope

UDD Commands
This section describes the Tcl commands applied to the UDD commands of the
Layout window. These commands include:

lakerDefDevAlign

lakerDefDevBoolean

lakerDefDevConnect

lakerDefDevCopy

lakerDefDevCutCorner

lakerDefDevDist

lakerDefDevFill

lakerDefDevGenPin

lakerDefDevRemove

lakerDefDevReturnValue

lakerDevHistoryEditor

lakerDevHistoryViewer

lakerUDDAdjustParam

lakerUDDFindParam

lakerUDDReplaceParam

lakerUDDSortByClickName

Laker Tcl Reference Manual


K-2015.06

1023

Chapter 7: Layout Window


UDD Commands

lakerDefDevAlign
The lakerDefDevAlign command specifies the distance rule between
edges on an object or on two different objects.
Syntax
lakerDefDevDist -procName procname -name rulename [-fromGUI
0|1] [-edit [-value value] [-avail 0|1] [-master master]
[-group 0|1] [-direction 1|2] [-actEdgeID actedge] [refEdgeID refedge] ] [-rename newname] [-del]
Returns
None
Arguments

1024

Argument

Description

-actEdgeID actedge

Define the active edge of the align constraint with


format: {[^]edgeIndex(objectIndex)}; where ^
represents that the active is on the non-orthogonal
corner; edgeIndex is the index of the polygon's
pointArray or the path centerline's pointArray; and
objectIndex is the shape index defined by the
system.

-avail 0|1

Valid values: Boolean values, 0 and 1.


1 : The rule specified by -name is available.
0 : The rule is unavailable.

-direction 1|2

Specify the alignment direction.


1 : For horizontal edges.
2 : For vertical edges.

-group 0|1

Valid values: Boolean values, 0 and 1.


1 : The rule is in group mode.
0 : The rule is in separate mode.

-master master

Specify the index to the master of the active edges.

-name rulename

Specify the name of the specified rule.

-procName procname

Specify the procedure name.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


UDD Commands

Argument

Description

-refEdgeID refedge

Specify the reference edge of the rule with format:


{I(1):I(2):...I(m)(k)}, where k specifies the
index to the reference edge of the Instance I(m). There
can be only one reference edge in a rule.

-value value

Specify the distance value.


Valid value: Either a real number, or an expression.

Examples
# Example 1
lakerDefDevAlign -procName Proc_1 -name a1 -edit \
-value {1.75} -avail 0 -master 0 -group 1 -direction 2 \
-actEdgeID {^9(3)} -refEdgeID {8(2)}
# Example 2
lakerDefDevAlign -procName Proc_1 -name al1 -del

lakerDefDevBoolean
The lakerDefDevBoolean command takes unary Boolean operation on a
set of objects, or take binary Boolean operation on two sets of objects.
Syntax
lakerDefDevBoolean -procName procname -name rulename [fromGUI 0|1] [-edit [-phyLayer 0|1] { {[-layerNo layerno]
[-layerPurpose layerpurpose]} | [-layerName layername] }
[-opType optype] [-value value] [-op1FigID fig1] [op2FigID fig2] ] [-rename newname]
Returns
None
Arguments
Argument

Description

-layerName

Specify a parameter with layer type.

-layerNo layerno

Specify a layer number.

-layerPurpose
layerpurpose

Specify a layer purpose.

Laker Tcl Reference Manual


K-2015.06

1025

Chapter 7: Layout Window


UDD Commands

Argument

Description

-name rulename

Specify the specified rule name.

-op1FigID fig1

The indices to objects of the first set. The format is as


follows: {I1, I2, ... In} where Ii stands for the
i-th objects index.

-op2FigID fig2

The indices to objects of the second set. The format is


similar to
-op1FigID fig1. It is used when optype is AND, OR,
or NOT.

-opType optype

Specify a Boolean operation type.


Valid values: SIZE, AND, OR, NOT, GROW, SHRINK and
SIZE4DIR.

-phyLayer 0|1

Valid values: Boolean values, 0 and 1.


1 : The target layer is specified in layers purpose and
number.
0 : The target layer is specified in a pre-defined
parameter.

-procName procname

Specify the procedure name.

-rename newname

Replace the rule name specified by -name.

-value value

The values corresponding to optype. If optype is


GROW, SHRINK, or SIZE4DIR, the value can be {[left l] [-bottom b] [-right r] [-top t]}.

Examples
# Example 1
lakerDefDevBoolean -procName Proc_3 -name s1 -edit \
-phyLayer 1 -layerNo 18 -layerPurpose 126 -opType SIZE \
-value {1} -op1FigID {2,7}
# Example 2
lakerDefDevBoolean -procName Proc_3 -name n1 -edit \
-phyLayer 1 -layerNo 18 -layerPurpose 126 -opType NOT \
-op1FigID {2,7} -op2FigID {9}

1026

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


UDD Commands

lakerDefDevConnect
The lakerDefDevConnect command connects two routable shapes at level
0 and level 1.
Syntax
lakerDefDevConnect -procName procName -startObj objIdx targetObj objIdx [-condition condExpr]
lakerDefDevConnect -layers routingRule
Returns
None
Arguments
Argument

Description

-condition condExpr

Valid values: 0 and 1 (default=1).


0 : No connection is built.
1 : A connection is created.

-layers routingRule

The routingRule is as follows:


routing layer (poly and metal layer) : {0 2 2 0.35 0.45} :
{available, H-cost, V-cost, minWidth,
minSpace}
contact layer : {1 8} : {available, cost}
The total number of layers and sequence are defined in
the technology file. They cannot be changed.

-procName procname

Specify the name of the procedure.

-startObj objIdx

Specify the start object.

-targetObj objIdx

Specify the target object with objIdx as follows:


n : index of the connect shape.
n#name : index of the instance#pin name.
The connected objects must be the routable shape
(metal and poly) at level 0 or routable pin shape at level
1.

Laker Tcl Reference Manual


K-2015.06

1027

Chapter 7: Layout Window


UDD Commands

Examples
lakerDefDevConnect -procName Proc_1 -startObj 0 -targetObj 1
lakerDefDevConnect -procName Proc_2 -startObj 1 -targetObj 2#2
lakerDefDevConnect -layers {0 2 2 0.35 0.45} {0 1 1 0.5 0.45} \
{1 1 1 0.6 0.5} {1 1 1 0.6 0.5} {1 1 1 0.6 0.5} \
{1 8} {1 5} {1 5} {1 8}

See Also
Layout Window: PTS > Connect

lakerDefDevCopy
The lakerDefDevCopy command copies objects.
Syntax
lakerDefDevCopy -procName procname [-edit [-cols col] [-rows
row] [-colSpace colspace] [-rowSpace rowspace] [removeOriginalObj 0|1] -figID figid]
Returns
None
Arguments

1028

Argument

Description

-cols col

Specify the number of columns.

-colSpace colspace

Specify the offset in X direction.

-figID figid

Specify the indices to object to be copied with the


following format: {I1, I2, ... In}, where Ii
stands for the i-th objects index.

-procName procname

Specify the name of the procedure.

-removeOriginalObj 0|1

Valid values: Boolean values, 0 and 1.


1 : Remove the original objects specified in -figID.
0 : Do not remove the original objects specified in
-figID.

-rows row

Specify the number of rows.

-rowSpace rowspace

Specify the offset in Y direction.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


UDD Commands

Examples
lakerDefDevCopy -procName Proc_2 -edit -cols {2} -rows {3} \
-colSpace {0.4} -rowSpace {0.5} -removeOriginalObj 0 -figID {9,7}

lakerDefDevCutCorner
The lakerDefDevCutCorner command cuts the corners of objects with
specified arc length and number of arc sides.
Syntax
lakerDefDevCutCorner -procName procname [-edit [cutangleLen length] [-cutangleSides sides] [-cornerID
corners] ]
Returns
None
Arguments
Argument

Description

-cornerID corners

Specify the corners of objects. The format is as follows:


{I(1,1):I(1,2):...I(1,m_1)(k1), ...,
I(n,1):I(n,2):...I(n,m_n)(kn)}, which is
similar to lakerDefDevAlign -actEdgeID
actedge, except that ki is the index to the corner of
the object indexed by I(j, m_i).

-cutangleLen length

Specify the length of cut corner.

-cutangleSides sides

Specify the number of segments to be fit in each cut


corner.

-procName procname

Specify the procedure name.

Examples
lakerDefDevCutCorner -procName Proc_3 -edit -cutangleLen {0.2} \
-cutangleSides {1} -cornerID {7(0),7(1),7(2),7(3)}

lakerDefDevDist
The lakerDefDevDist command specifies the distance rule between edges
on an object or on two different objects.
Laker Tcl Reference Manual
K-2015.06

1029

Chapter 7: Layout Window


UDD Commands

Syntax
lakerDefDevDist -procName procname -name rulename [-fromGUI
0|1] [-edit [-value value] [-avail 0|1] [-actEdgeID
actedge] [-refEdgeID refedge]] [-rename newname] [-del]
Returns
None
Arguments
Argument

Description

-actEdgeID actedge

Specify the active edge of the rule. The format is as


follows: {I(k)}, where I is the index to the object, and
k is the index to the edge of that object.

-avail 0|1

Valid values: Boolean values, 0 and 1.


1 : The rule specified by -name is available.
0 : The rule is unavailable.

-del

Delete the rule specified by -name.

-name rulename

Specify the name of the specified rule.

-procName procname

Specify the procedure name.

-refEdgeID refedge

Specify the reference edge of the rule. The format is


similar to -actEdgeID.

-rename newname

Replace the rule name specified by -name.

-value value

Specify the distance value.


Valid value: a real number, or an expression.

Examples
# Example 1
lakerDefDevDist -procName Proc_2 -name dist1 -edit \
-value {0.9250} -avail 0 -actEdgeID {7(1)} -refEdgeID {7(3)}
# Example 2
lakerDefDevDist -procName Proc_2 -name dist1 -rename dist2

lakerDefDevFill
The lakerDefDevFill command fills in some objects with other objects.
1030

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


UDD Commands

Syntax
lakerDefDevFill -procName procname [-edit [-fillByCV 0|1]
[-method method] [-fillRegionID fillregion] [-fillFigID
fillfig] [-lib lib -cell cell -view view] [-rows row] [cols col] [-magni mag] [-rotate rotate] [-colSpace
colspace] [-rowSpace rowspace] [-lEncl lenc] [-rEncl
renc] [-tEncl tenc] [-bEncl benc] [-justify just] ]
Returns
None
Arguments
Argument

Description

-bEnc benc

Specify the bottom enclosure.

-cell cell

Specify the cell name of the filling object.

-cols col

Specify the number of columns.

-colSpace colspace

Specify the offset in X direction.

-fillByCV 0|1

Valid values: Boolean values, 0 and 1.


1 : The source is from cell view specified by -lib,
-cell, and -view.
0 : The source is from the selected object.

-fillFigID fillfig

Specify the indices to object used to fill. The format is


similar to
-fillRegionID.

-fillRegionID fillregion

Specify the indices to objects to be filled. The format


is {I1, I2, ... In}, where Ii stands for the i-th
objects index.

-justify just

Specify the justification factor. This is a pre-defined


Justify type parameter.

-lEncl lenc

Specify the left enclosure.

-lib lib

Specify the library name of the filling object.

-magni mag

Specify the ratio of magnification.

Laker Tcl Reference Manual


K-2015.06

1031

Chapter 7: Layout Window


UDD Commands

Argument

Description

-method method

Specify the fill method.


Valid values: contact, guardring, and
distributing.

-procName procname

Specify the procedure name.

-rEncl renc

Specify the right enclosure.

-rotate rotate

Specify the rotation factor. This is a pre-defined


Rotate type parameter.

-rows row

Specify the number of rows.

-rowSpace rowspace

Specify the offset in Y direction.

-tEncl tenc

Specify the top enclosure.

-view view

Specify the view name of the filling object.

Examples
lakerDefDevFill -procName Proc_3 -edit -fillByCV 0 \
-fillRegionID {1} -fillFigID {6} -magni {1.0} \
-colSpace {0.2} -rowSpace {0.3} -lEncl {0.0} \
-rEncl {0.0} -tEncl {0.0} -bEncl {0.0} -rows {1} \
-cols {2} -method contact

lakerDefDevGenPin
The lakerDefDevGenPin command floats pins of the hierarchical UDD
device from lower level to top level.
Syntax
lakerDefDevGenPin -procName procname -portName portname portId portid
Returns
None

1032

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


UDD Commands

Arguments
Argument

Description

-portId portid

The portid is as follows:


{ I(1,1):I(1,2):...I(1,m_1)#name_1 ,...,
I(n,1):I(n,2):...I(n,m_n)#name_n }
The hierachical traversal paths and names for each
ports are also under consideration. For the k-th port,
name_k specifies its port name in instance
I(i,m_k), and I(i,j) specifies the Id of an instance
with respect to the cell view of instance I(i,j-1),
while I(i,1) with respect to the top cell view.

-portName portname

Specify the name of the port to be floated.

-procName procname

Specify the procedure name.

Examples
lakerDefDevGenPin -procName Proc_0 -portName pinx \
-portId {2#p1,4:1#p2}

See Also
Layout Window: UDD > GenPin

lakerDefDevRemove
The lakerDefDevRemove command removes the objects on the specified
condition.
Syntax
lakerDefDevRemove -procName procname [-edit -condition
condition -removeID removeid]
Returns
None
Arguments
Argument

Description

-condition condition

Specify the condition to remove an object.


Valid value: a Boolean values (0|1) or an expression.

Laker Tcl Reference Manual


K-2015.06

1033

Chapter 7: Layout Window


UDD Commands

Argument

Description

-procName procname

Specify the procedure name.

-removeID removeid

Specify the objects to be removed. The format is


{I1,I2,...In}, where Ik is the index of an object.

Examples
lakerDefDevRemove -procName Proc_3 -edit -condition {1} \
-removeID {9,7,3}

lakerDefDevReturnValue
The lakerDefDevReturnValue command specifies the value of an
expression to be returned.
Syntax
lakerDefDevReturnValue -procName procname -name rulename {[edit [-value value]] | [-rename newname] | [-del]}
Returns
None
Arguments
Argument

Description

-del

Delete the rule specified by -name.

-name rulename

Specify the name of the specified rule.

-procName procname

Specify the procedure name. The name is always


Return Value and it cannot be changed.

-rename newname

Replace the rule name specified by -name.

-value value

Specify the value or expression to be evaluated and


returned.

Examples
# Example 1
lakerDefDevReturnValue -procName {Return Value} -name ret1 \
-edit -value {$asdf+1}

1034

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


UDD Commands

# Example 2
lakerDefDevReturnValue -procName {Return Value} -name ret11 \
-rename ret12
# Example 3
lakerDefDevReturnValue -procName {Return Value} -name ret12 -del

lakerDevHistoryEditor
The lakerDevHistoryEditor command adds modification history to the
UDD design.
Syntax
lakerDevHistoryEditor [-author author] -content {text}
Returns
None
Arguments
Argument

Description

-author author

Specify the author of the history recorder.

-content {text}

Specify the contents of the history.

Examples
lakerDevHistoryEditor -author integ -content {this is a test}

See Also
Layout Window: UDD > History Record Editor

lakerDevHistoryViewer
The lakerDevHistoryViewer command browsers modification history to
the UDD design.
Syntax
lakerDevHistoryViewer -logFile logFileName
Returns
None

Laker Tcl Reference Manual


K-2015.06

1035

Chapter 7: Layout Window


UDD Commands

Arguments
Argument

Description

-logFile logFileName

Specify a file name to save the history record.

Examples
lakerDevHistoryViewer -logFile currentMirror.log

See Also
Layout Window: UDD > History Record Viewer

lakerUDDAdjustParam
The lakerUDDAdjustParam command adjusts the order of device
parameters when creating an UDD as a sub-master.
Syntax
lakerUDDAdjustParam -params parameters
Returns
None
Arguments
Argument

Description

-params parameters

Specify the desired order of parameter names.


Format of the parameters can be {Name_1,
Name_2, ... Name_n}.

Examples
lakerUDDAdjustParam -params {pp1 ss1 rr1 bb1 ll1 jj1 jj2 pp2 ff1 }

See Also
Layout Window: UDD > Parameter > Adjust

lakerUDDFindParam
The lakerUDDFindParam command finds the parameter by defined name, or
by the defined expressions of the Parameter, Distance, Align procedures.

1036

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


UDD Commands

Syntax
lakerUDDFindParam [-exactParam 0|1] [-searParam paramName]
[-listType Type]
Returns
None
Arguments
Argument

Description

-exactParam 0|1

Valid values: Boolean values, 0 and 1.


1 : Search paramName in the parameter names only.
0 : Search paramName in the parameter names and
expressions.

-listType Type

Specify the filtering options of the search results.


Valid values: Parameter, Distance, Align, Copy, Fill,
Boolean, Attribute, CutCorner, Remove,
RepDistance, and ReturnValue.
When searching all parameter types, this argument can be
omitted.

-searParam
paramName

Specify the name to be searched.

Examples
lakerUDDFindParam -exactParam 1 -searParam ff1

See Also
Layout Window: UDD > Parameter > Find / Replace

lakerUDDReplaceParam
The lakerUDDReplaceParam command replaces the parameter by the
specified name.
Syntax
lakerUDDReplaceParam [-exactParam 0|1] [-searParam
paramName] [-index index] [-repParam replaceName]
Returns
None

Laker Tcl Reference Manual


K-2015.06

1037

Chapter 7: Layout Window


UDD Commands

Arguments
Argument

Description

-exactParam 0|1

Valid values: Boolean values, 0 and 1.


1 : Search paramName in the parameter names only.
0 : Search paramName in the parameter names and
expressions.

-index index

Specify the index to the specified row in the Result grid


window.

-repParam
replaceName

Specify the name to be substituted.

-searParam
paramName

Specify the name to be searched and replaced.

Examples
lakerUDDReplaceParam -exactParam 0 -searParam ff1 \
-index 0 -repParam ff1b

See Also
Layout Window: UDD > Parameter > Find / Replace

lakerUDDSortByClickName
The lakerUDDSortByClickName command enables or disables the autosorting scheme while you click on the name column in the UDD window.
Syntax
lakerUDDSortByClickName -mode 0|1
Returns
None
Arguments

1038

Argument

Description

-mode 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the auto-sorting scheme.
0 : Disable the auto-sorting scheme.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


DFM Commands

Examples
lakerUDDSortByClickName -mode 1

DFM Commands
This section describes the Tcl command applied to the DFM commands of the
Layout window. The command includes:

lakerUpdateMCell

lakerUpdateMCell
The lakerUpdateMCell command updates the transistor, according to the
selected edges, by given a figure Id and rule set.
Syntax
lakerUpdateMCell -figId figId -rule ruleSet -mode 0|1
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-figId figId

Specify the figure identifier of the device.

-mode 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Update the device value only if the rule value is greater than
the corresponding rule value in device.
0 : Do not update the device value; and allow PolyEndCap,
Gate2GateSpace, ODEncCont, and Gate2ContSpace to
shrink the value as long as the value is greater than or equal
to their minimum rule value.

-rule ruleSet

Specify the rule set with value.

Examples
# Example 1
lakerUpdateMCell -figId 0x11111 \
-rule "minPoly2GateExtension 0.5"

Laker Tcl Reference Manual


K-2015.06

1039

Chapter 7: Layout Window


Selection Commands

# Example 2
# If minPoly2GateExtension=0.5 and polyEndCap=1.5
# polyEndCap will be 1.0, as follows
lakerUpdateMCell -figId $figList -mode 0 \
-rule "minPoly2GateExtension 1.0"
# polyEndCap remains unchanged because 0.3 <
minPoly2GateExtension(0.5)
lakerUpdateMCell -figId $figList -mode 0 \
-rule "minPoly2GateExtension 0.3"
# polyEndCap remains unchanged because -mode 1".
# Only the value is greater than current one is updated.
lakerUpdateMCell -figId $figList -mode 1 \
-rule "minPoly2GateExtension 1.0"

See Also
Layout Window: DFM > DFM
dbGetAllMCellDeviceNames
dbGetAllMCellRuleValues

Selection Commands
This section describes the Tcl commands applied to the Edit > Select
commands and the selection schemes available in the Layout window pane.
These commands include:

1040

lakerAreaSel

lakerAreaSelect

lakerCycleSel

lakerDecreaseSel

lakerDeselectAll

lakerGetSelSet

lakerIncreaseSel

lakerPreSel

lakerPreSelMode

lakerSelectAll

lakerSelectRedo

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Selection Commands

lakerSelectUndo

lakerSelKind

lakerSelLayer

lakerSelNetObj

lakerSetSelSet

lakerSingleSel

lakerToObject

lakerAreaSel
The lakerAreaSel command selects the objects in a specified area.
Syntax
lakerAreaSel -point (x1,y1)(x2,y2)
Returns
None
Arguments
Argument

Description

-point (x1, y1) (x2, y2)

(x1,y1) specifies the lower left point of the selected


area while (x2,y2) specifies the upper right point.

Examples
# Example 1
# Select objects in the specified area (100,100) (200,200)
lakerAreaSel -point (100,100) (200,200)

lakerAreaSelect
The lakerAreaSelect command selects the objects in an area with the Area
Select command.
Syntax
lakerAreaSelect -point (x1, y1) (x2, y2) (x3, y3)... (xn,
yn) -iscloseptarray 0|1 [-isenclose 0|1]

Laker Tcl Reference Manual


K-2015.06

1041

Chapter 7: Layout Window


Selection Commands

Returns
None
Arguments
Argument

Description

-iscloseptarray 0|1

Valid values: Boolean values, 0 and 1.


1 : Specify the point array.
0 : Do not specify the point array.

-isenclose 0|1

Valid values: Boolean values, 0 and 1.


1 : Specify the select mode.
0 : Do not specify the select mode.

-point (x1, y1)


(x2, y2) (x3, y3)
... (xn, yn)

Points (x1, y1) (x2, y2) (x3, y3) specify the


point array of the selected area.

Examples
# Example 1
# All objects overlap with rectangle (0,0) (0,10) (10,10) (10,0)
# that will be selected
lakerAreaSelect -point (0,0) (0,10) (10,10) (10,0) \
-iscloseptarray 1 -isenclose 0

See Also
Layout Window: Edit > Select > Area Select

lakerCycleSel
The lakerCycleSel command pre-selects an object in a cyclic manner at the
current location.
Syntax
lakerCycleSel [-attachPoint 0|1 [-subTop 0|1]]
Returns
None

1042

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Selection Commands

Arguments
Argument

Description

-attachPoint 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Return the selected point list.
0 : Do not return the selected point list.

-subTop 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : The coordinate of the returned point list is based on
the sub-top cell view.
0 : The coordinate of the returned point list is not based
on the sub-top cell view.

Examples
# Example 1
# Pre-select an object in a cyclic manner at the current location
lakerCycleSel

lakerDecreaseSel
The lakerDecreaseSel command decreases objects from the selection list.
Syntax
lakerDecreaseSel [-point (x1,y1)(x2,y2) [-traversedist
distance] | -figs dbId]
Returns
None
Arguments
Argument

Description

-figs dbId

Specify the dbFigId/dbPortId/dbPinId/


dbInstPortId lists of the selected object.

-point (x1, y1) (x2, y2)

(x1,y1) specifies the location of the selected object,


or the lower left point of the speficied area while
(x2,y2) specifies the location of upper right point.

-traversedist distance

Specify the traverse distance of the selected object.

Laker Tcl Reference Manual


K-2015.06

1043

Chapter 7: Layout Window


Selection Commands

Examples
# Example 1
# Decrease object on point (100,100) from selection list
lakerDecreaseSel -point (100,100)
# Example 2
# Decrease objects on area (100,100)(200,200) from selection list
lakerDecreaseSel -point (100,100) (200,200)
set cvId [lakerGetWndCellViewId]
set portId [dbFindPort -cv $cvId -name port1]
lakerDecreaseSel -figs $portId

lakerDeselectAll
The lakerDeselectAll command deselects all selected objects in the
active cell view.
Syntax
lakerDeselectAll
Returns
None
Examples
# deselect all selected objects in the active cell view
lakerDeselectAll

See Also
Layout Window: Edit > Select > Deselect All

lakerGetSelSet
The lakerGetSelSet command returns a list of object identifiers of the
selected objects in the current window.
Syntax
lakerGetSelSet [-instPort 0|1]
lakerGetSelSet [-attr Net|GlueNo]
lakerGetSelSet [-attachPoint 0|1 [-subTop 0|1]]
Returns
A list of object identifiers if successful; otherwise, returns nothing.

1044

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Selection Commands

Arguments
Argument

Description

-attachPoint 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Return the selected point list.
0 : Do not return the selected point list.

-attr Net|GlueNo

Specify the attributes of the selected objects.


Valid values: Net and GlueNo.

Net: Get the net identifiers of the selected objects. The


return format is {figId {netIds}}.
GlueNo: Get the glue number of the selected transistors.
The return format is {figId {glueNumberList}}.
This attribute is only valid for transistors.

-instPort 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Return the selected dbInstPortId.
0 : Do not return the selected dbInstPortId.

-subTop 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : The coordinate of the returned point list is based on the
sub-top cell view.
0 : The coordinate of the returned point list is not based on
the sub-top cell view.

Examples
# Example 1
# Get the current selected object Id list
# output SelSet=12312e12 12312e13
set SelSet [lakerGetSelSet]
# Example 2
# Get the selected dbInstPortId
set SelectSet [lakerGetSelSet -instPort 1]
#
#
#
#
#

Example 3
Select the whole transistor and execute
"lakerGetSelSet -attr Net" on the message frame
of the Home Page. The returned value is:
{735c123 {735c600 735c700 735c800 735c900 735c000}}

# If only glue block 2 and 3 of the transistor are selected,


# the resulting value will be {735c123 {735c700 735c800}}

Laker Tcl Reference Manual


K-2015.06

1045

Chapter 7: Layout Window


Selection Commands

#
#
#
#
#
#

trx: 735c123
n1: 735c600
n2: 735c700
n3: 735c800
n4: 735c900
n5: 735c000

# "-attr GlueNo" has the same behavior as returning


# glue numbers like:
# {735c123 {1 2 3 4 5}}
# {735c123 {2 3}}

lakerIncreaseSel
The lakerIncreaseSel command increases objects into the selection list.
Syntax
lakerIncreaseSel [-point (x1,y1)(x2,y2) [-traversedist
distance] | -figs dbId]
Returns
None
Arguments

1046

Argument

Description

-figs dbId

Specify the dbFigId/dbPortId/dbPinId/


dbInstPortId lists of the selected object.

-point (x1, y1) (x2, y2)

(x1,y1) specifies the location of the selected object,


or the lower left point of the specified area while
(x2,y2) specifies the location of upper right point.

-traversedist distance

Specify the traverse distance of the selected object.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Selection Commands

Examples
# Example 1
# Add an object on point (100,100) to the selection list
lakerIncreaseSel -point (100,100)
# Example 2
# Add objects on area (100,100) (200,200) to the selection list
lakerIncreaseSel -point (100,100) (200,200)
set cvId [lakerGetWndCellViewId]
set portId [dbFindPort -cv $cvId -name port1]
lakerIncreaseSel -figs $portId

lakerPreSel
The lakerPreSel command pre-selects an object when the mouse cursor is
placed onto an object at the specified point.
Syntax
lakerPreSel -point (x0,y0) [-traversedist distance] [attachPoint 0|1 [-subTop 0|1]]
Returns
None
Arguments
Argument

Description

-attachPoint 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Return the selected point list.
0 : Do not return the selected point list.

-point (x0, y0)

(x0,y0) specifies the location of the pre-selected


object.

-subTop 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : The coordinate of the returned point list is based on
the sub-top cell view.
0 : The coordinate of the returned point list is not based
on the sub-top cell view.

-traversedist
distance

Specify the traverse distance of the pre-selected object.

Laker Tcl Reference Manual


K-2015.06

1047

Chapter 7: Layout Window


Selection Commands

Examples
# Example 1
# Pre-select the object on point (100,100)
lakerPreSel -point (100,100)

lakerPreSelMode
The lakerPreSelMode command sets the pre-select mode while traversing.
Syntax
lakerPreSelMode -traversein 0|1 -fromtop 0|1
Returns
None
Arguments
Argument

Description

-fromtop 0|1

Valid values: Boolean values, 0 and 1.


1 : The pre-select mode traverses from the working cell view
or the top cell view.
0 : The pre-select mode does not traverse from the working
cell view or the top cell view.

-traversein 0|1

Valid values: Boolean values, 0 and 1.


1 : The pre-select mode only traverses all shapes and MCell
objects on the working cell view.
0 : The pre-select mode traverses all objects as you see.

Examples
# Example 1
lakerPreSelMode -traversein 1 -fromtop 0

lakerSelectAll
The lakerSelectAll command selects all objects in the active cell view.
Syntax
lakerSelectAll
Returns
None

1048

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Selection Commands

Examples
# select all objects in the active cell view
lakerSelectAll

See Also
Layout Window: Edit > Select > Select All

lakerSelectRedo
The lakerSelectRedo command repeats the last action performed by
lakerSelectUndo.
Syntax
lakerSelectRedo
Returns
None
Examples
# Repeat the last action perform by lakerSelectUndo
lakerSelectRedo

See Also
Layout Window: Edit > Select > Select Redo

lakerSelectUndo
The lakerSelectUndo command reverts to the last selected objects.
Syntax
lakerSelectUndo
Returns
None
Examples
# Revert to the last selected objects
lakerSelectUndo

See Also
Layout Window: Edit > Select > Select Undo

Laker Tcl Reference Manual


K-2015.06

1049

Chapter 7: Layout Window


Selection Commands

lakerSelKind
The lakerSelKind command sets the type of traversing object for selector.
Syntax
lakerSelKind -selkind objkind
Returns
None
Arguments
Argument

Description

-selkind objkind

Specify the type of traversing object.

Examples
# Example 1
# The selector traverses the following objects
# (Shape, Label, Instance, Array, Device, MCell)
lakerSelKind -selkind \
{Shape Label Instance Array Device MCell}
# Example 2
# The selector traverses the following objects (Shape, Label,
# Instance, Array, flattened device and flattened MCell)
lakerSelKind -selkind \
{Shape Label Instance Array IsDevFlatten IsMCellFlatten}

lakerSelLayer
The lakerSelLayer command sets valid layers of the traversing object for
the selector. This command impacts on the behavior of the Point-to-Point
Router, cyclic selection, pre-select, and Layer Tap functions.
Syntax
lakerSelLayer -resetfilterlayer | -filterlayer routeLayer
Returns
None

1050

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Selection Commands

Arguments
Argument

Description

-resetfilterlayer

Clean the setting of filter layers.

-filterlayer
routeLayer

Specify the list of filter layers in (layerNo, purposeNo)


format with a list of integers. Laker filters the layers that are
not defined in the filter list, as given in the following
example:
set routeLayer 13 252
set routeLayer [list 13 252 9 252]

Examples
# Example 1
# Only traverse the layers
# (13,252)(16,252)(18,252)(28,252)(39,252) on the selector
set routeLayer 13 252 16 252 18 252 28 252 39 252
lakerSelLayer -filterlayer $routeLayer

lakerSelNetObj
The lakerSelNetObj command traces more than one net of the selected
objects by physical connections at the same time and adds traced nets to the
select set.
Syntax
lakerSelNetObj [-disableConnStop | -disableConnAll | enableConnAll layoutConnection] [-mode
normal|increase|decrease -byPassInst 0|1 -stopAtShort
0|1] [-mode end -name {netName ...} ...]
Returns
None
Arguments
Argument

Description

-byPassInst 0|1

Valid values: Boolean values, 0 and 1.


1 : Bypass instances.
0 : Stop extracting when encountering instance pins.

-disableConnAll
layoutConnection

Disable the connection relationship.

Laker Tcl Reference Manual


K-2015.06

1051

Chapter 7: Layout Window


Selection Commands

Argument

Description

-disableConnStop
layoutConnection

Ignore the stop condition.

-enableConnAll
layoutConnection

Enable the connection relationship.

-mode selMode

Valid values: normal, increase, decrease, and


end.
normal: Extract connection relationships of objects
from the currently selected object and clear the
previously extracted objects.
increase: Extract connection relationships of objects
from the currently selected object.
decrease: Take off extracted objects.
end: Add the whole extracted object to the select set.
The argument
-name should follow -mode end.

-name {netName ...} ...

Specify the net name of extracted objects.

-stopAtShort 0|1

Valid values: Boolean values, 0 and 1.


1 : Stop extracting if a different logic net is found.
0 : Ignore the logic condition.

Examples
# Example 1
lakerSelNetObj -disableConnStop METAL1 METAL2 VIA12 MMC
# Example 2
lakerSelNetObj -disableConnAll METAL1 METAL2 VIA12 MMC
# Example 3
lakerSelNetObj -enableConnAll METAL1 METAL2 VIA12 MMC
# Example 4
lakerSelNetObj -mode increase -byPassInst 1 -stopAtShort 0
# Example 5
lakerSelNetObj -mode end -name {n1 n2}

See Also
Layout Window: Edit > Select > Select Net Objects

1052

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Selection Commands

lakerSetSelSet
The lakerSetSelSet command returns a list of dbIds if the list can be added
to the select set.
Syntax
lakerSetSelSet -figs dbId [{transistorId glueBlockList}]
Returns
A list of dbIds (the selected dbIds) or a glueBlockList of the transistorId if
successful; otherwise, returns nothing.
Arguments
Argument

Description

-figs dbId
[{transistorId glueBlockList}]

Specify the dbFigId/dbPortId/dbPinId/


dbInstPortId lists of the selected object.
When transistorId glueBlockList is
specified, the glue blocks of the specified
transistor can be selected.

Examples
# Example 1
# add dbFigId (12312e12 12312e13) list to the select set
lakerSetSelSet -figs {12312e12 12312e13}
set cvId [lakerGetWndCellViewId]
set port1 [dbFindPort -cv $cvId -name port1]
set port2 [dbFindPort -cv $cvId -name port2]
lakerSetSelSet -figs $port1 $port2
# Example 2
// Select an rectangle and two glue blocks of a transistor.
set rect [lakerCreateRect -layerName MET1 \
-point (-4.99,-1.73) (-2.1,0.16)]
set trx [lakerCreateTransistor -point (0.84,-1.13) \
-useMaskResolution 0 -device pmos \
-gates 2 -type serial -contType MaxContact -xEnc 0.15 -yEnc 0.15 \
-xConSpace 0.4 -yConSpace 0.4 -co2Gate 0.3 -contAlign center \
-xCo2OdEnc 0.15 -yCo2OdEnc 0.15 -param \
{patternA 0.7 0.35 asIs 0.0 } {patternA 0.7 0.35 bottom 0.0 } \
-optLayerRepeatPattern { } -traitRepeatPattern { } \
-layerSetting { PP drawing enable none }]
lakerSetSelSet -figs $rect "{$trx 2 4}"

Laker Tcl Reference Manual


K-2015.06

1053

Chapter 7: Layout Window


Selection Commands

lakerSingleSel
The lakerSingleSel command returns a list of dbId if an object can be
selected. This command emulates the mouse action Click-left on the design
window.
Syntax
lakerSingleSel [-point (x0,y0) [-traversedist distance] | figs dbId]
Returns
A list of dbIds (the selected dbIds) if successful; otherwise, returns nothing.
Arguments
Argument

Description

-figs dbId

Specify the dbFigId/dbPortId/dbPinId/


dbInstPortId lists of the selected object.

-point (x0, y0)

(x0,y0) specifies the location of the selected object.

-traversedist distance

Specify the traverse distance of pre-selected object.

Examples
# Example 1
# Select the object on point (100,100)
set SelObj [lakerSingleSel -point (100,100)]
# output SelObj=12312e12
# put the pre-select object to selecting list
lakerSingleSel
# put the object (12312e12) to selecting list
lakerSingleSel -figs 12312e12
set cvId [lakerGetWndCellViewId]
set port1 [dbFindPort -cv $cvId -name port1]
lakerSingleSel -figs $port1

lakerToObject
The lakerToObject command changes the selection of object vertex to the
whole object.
1054

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Highlight Schemes

Syntax
lakerToObject
Returns
None
Examples
# Change all partially selected objects to whole selected objects
lakerToObject

See Also
Layout Window: Edit > Select > To Object

Highlight Schemes
This section describes the Tcl commands applied to the highlight schemes
available in the Layout window pane. These commands include:

lakerAddHighLightId

lakerAddHighLightInst

lakerAddHighLightLine

lakerAddHighLightNet

lakerAddHighLightObj

lakerAddHighLightPair

lakerAddHighLightPath

lakerAddHighLightPoly

lakerAddHighLightRect

lakerFixHighLightColor

lakerRmHighLightObj

lakerAddHighLightId
The lakerAddHighLightId command adds highlighted drawings for
specified figure identifiers.

Laker Tcl Reference Manual


K-2015.06

1055

Chapter 7: Layout Window


Highlight Schemes

Syntax
lakerAddHighLightId -id idList [-offset offset] [-orient
orientation] [-magni magnitude] [-color colorId] [-ratio
ratio] [-zoom 0|1] [-draw 0|1] [-NoLog] [-class classNum]
[-toolTip "message"]
Returns
An identifier for the highlighted object if successful; otherwise, returns 0.
Refer to lakerAddHighLightObj.
Examples
# Example 1
# Add highlighted drawings for general objects by figure Id
lakerAddHighLightId -id 27fe844 -color 3 -ratio 4
# Example 2
# Add highlighted drawings for transistor objects
# (1st and 4th glues) by figure Id
lakerAddHighLightId -id {27fe844 1 4}

See Also
lakerAddHighLightObj

lakerAddHighLightInst
The lakerAddHighLightInst command adds highlighted drawings for
specified instance names.
Syntax
lakerAddHighLightInst -name nameList [-color colorId] [ratio ratio] [-zoom 0|1] [-draw 0|1] [-NoLog] [-class
classNum] [-toolTip "message"]
Returns
An identifier for the highlighted object if successful; otherwise, returns 0.
Refer to lakerAddHighLightObj.
Examples
lakerAddHighLightInst -name and:I0 inv:I1 xor:I2

See Also
lakerAddHighLightObj

1056

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Highlight Schemes

lakerAddHighLightLine
The lakerAddHighLightLine command adds highlighted drawings for
specified line segments.
Syntax
lakerAddHighLightLine (-point pointSet | -pointList
pointSetList) [-color colorId] [-ratio ratio] [-zoom 0|1]
[-draw 0|1] [-NoLog] [-refTop level] [-toolTip "message"]
Returns
None
Refer to lakerAddHighLightObj.
Examples
# Example 1
# Add highlight object by lines
# The result creates three line segments:
#
1. (0,0) > (1,1)
#
2. (1,1) > (0,1)
#
3. (0,1) > (1,0)
lakerAddHighLightLine -point (0,0) (1,1) (0,1) (1,0)
# Example 2
lakerAddHighLightLine -pointList \
{ {(0.0,5.0) (2.0,5.0) (2.0,7.0)} \
{(4.0,7.0) (6.0,7.0) (6.0,5.0)} }

See Also
lakerAddHighLightObj

lakerAddHighLightNet
The lakerAddHighLightNet command adds highlighted drawings for
specified net names.
Syntax
lakerAddHighLightNet -name nameList [-color colorId] [-ratio
ratio] [-zoom 0|1] [-draw 0|1] [-NoLog] [-class classNum]
[-toolTip "message"]
Returns
An identifier for the highlighted object if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

1057

Chapter 7: Layout Window


Highlight Schemes

Refer to lakerAddHighLightObj.
Examples
lakerAddHighLightNet -name netA netB netC

See Also
lakerAddHighLightObj

lakerAddHighLightObj
The lakerAddHighLightObj command adds highlighted drawings for
various kinds of objects, including instances, lines, nets, paths, polygons, and
rectangles.
This is the kernel command for lakerAddHighLightId, lakerAddHighLightInst,
lakerAddHighLightLine, lakerAddHighLightPair, lakerAddHighLightPath,
lakerAddHighLightPoly, lakerAddHighLightRect, and lakerRmHighLightObj.
Syntax
To add highlighted drawings:
lakerAddHighLightObj -type objectType {-name nameList | -id
idList [-offset offset] [-orient orientation] [-magni
magnitude] | (-point pointSet | -pointList pointSetList)
[-width PathWidth | -style PathStyle] [-file fileName]}
[-color colorId] [-ratio ratio] [-zoom 0|1] [-draw 0|1]
[-NoLog] [-class classNum] [-refTop level] [-toolTip
"message"]
For other operations:
lakerAddHighLightObj {-remove removeGroup [-removeId idList
| -removeName nameList | -removeClass classNum] [-draw
0|1] | -colorCycle 0|1 | -getHighLightLayer mode} [-NoLog]
Returns
A color identifier is returned if -getHighLightLayer is specified.
The current color identifier is returned if -getHighLightLayer Index is
specified.
The current System Highlight Layer is returned if -getHighLightLayer Id
is specified.

1058

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Highlight Schemes

Arguments
Argument

Description

-class classNum

Specify a class number that indicates the highlighted group


for adding highlighted drawings. The class number can be
used to remove all highlighted drawings of a class.
Valid value: a positve integer (default=0). Any class
numbers must be positive. The default class is 0 if no class
number is specified. If the number is negative, the
command returns 0.

-color
colorId [integer]

Specify the color identifier. Highlighted drawings are added


with the specified color initially. The color identifier is
classified in two types:
0: Used for special highlighted drawings.
1~10: Used for general highlighted drawings.
To remove the highlighted drawings, use -remove.

-colorCycle 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Repeat the color in the same order when adding the
next highlighted drawing.
0 : Do not repeat the color in the same order.

-draw 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Draw newly added highlighted drawings immediately.
0 : Do not draw newly added highlighted drawings.

-file fileName

Specify an RVE result file. This argument is valid only if type File is specified.

-getHighLightLayer
mode

Specify the query color.


Valid values: Index and Id, where Index is used to query
the color identifier, and Id is used to query the system
highlight layer.

-id idList

Specify a list of instance Ids or net figure Ids for general


instances or nets. Alternatively, specify an instance figure
Id, followed by one or more glue numbers, for transistor
instances.

-magni magnitude

Specify the magnitude of highlighted drawings. This is only


used for adding highlighted drawings which are specified
by the figure Id.

Laker Tcl Reference Manual


K-2015.06

1059

Chapter 7: Layout Window


Highlight Schemes

1060

Argument

Description

-name nameList

Specify a list of instances or nets.

-NoLog

When specified, the command for this operation is not


logged.

-offset offset

Specify the absolute location of instances where the


highlighted drawings reside.

-orient orientation

Specify the orientation of highlighted drawings.

-point pointSet

Specify a point set with format: (x0,y0)... (xn,yn).


This is only used for adding highlighted drawings to shapes
(specified by -type).

-pointList
pointSetList

Specify a list of point sets with format:


{{(x0,y0)... (xn,yn)} {(x0,y0)...
(xn,yn)}}.
This is only used for adding highlighted drawings to line
segments (specified by -type Line), line pairs (specified
by -type Pair), paths (specified by -type Path),
polygons (specified by -type Poly), and rectangles
(specified by -type Rect).

-ratio ratio [integer]

Specify the ratio of the object size and the bounding box. If
it is less than or equal to 0, no redraw occurs; otherwise,
zoom in with the specified ratio. This argument is valid only
if -zoom is specified.

-refTop level

Specify the design hierarchy level to be referenced.


Valid value: an integer, 0-49 (default=0).

-remove
removeGroup

Specify the group of highlighted drawings to be removed.


This can be specified without the -type argument.
Valid value: all, special, and general; where all
includes special and general highlighted drawings,
which are specified by -color.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Highlight Schemes

Argument

Description

-removeClass
classNum

Specify a class number.


Valid value: a positive integer. The classNum can be null
(no assigned value). If the number is negative, the
command returns 0.
If the class number is specified for
lakerRmHighLightObj, the -type argument is
unnecessary. The lakerRmHighLightObj command
removes all the highlighted drawings that belong to the
assigned class.
If the class number is not specified (null) with other remove
arguments, the default class number is used for removal.

-removeId idList

Specify a list of figure Ids to remove their highlighted


drawings. This can be specified without the -type Id
argument.

-removeName
nameList

Specify a list of instances or nets. This argument is valid


only if -type Inst or -type Net is specified.

-style pathStyle

Specify the path style.


Valid values: Truncate, Extend, Round, and Variable
-beginExt value -endExt value
(default=Truncate).

-toolTip "message"

Specify the message to be displayed when the mouse


cursor is placed over the highlighted marker.
Multiple message lines can be specified by adding \n, for
example:
-toolTip "Hello\nThis is a test"
The maximum characters per line is specified by
lakerPreference -ToolTipMaxChars.

Laker Tcl Reference Manual


K-2015.06

1061

Chapter 7: Layout Window


Highlight Schemes

Argument

Description

-type objectType

Specify the type of highlighted objects.


Valid values: Id, Inst, Line, Net, Pair, Path, Poly,
and Rect. These values represent:
File: A specified file.
Id: General objects.
Inst: Instances.
Line: Line segments.
Net: Net names.
Pair: Line pairs.
Path: Paths.
Poly: Polygons.
Rect: Rectangles.

-width pathWidth
[contWidth]

Specify the path width and cutting width of contacts.


Valid value: a floating number.

-zoom 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Zoom to fit the highlighted objects. This argument must
be specified if -ratio is used.
0 : Do not zoom to fit the highlighted objects.

Examples
# Example 1
# Add highlighted drawings for general objects by figure Id
lakerAddHighLightObj -type Id -id 27fe844 -color 3 -ratio 4
# Example 2
# Add highlighted drawings for transistor objects
# (1st and 4th glues)
# by figure Id
lakerAddHighLightObj -type Id -id {27fe844 1 4}
# Example 3
# Add highlighted drawings by instance name
lakerAddHighLightObj -type Inst -name and:I0 inv:I1 xor:I2
# Example 4
# Add highlighted drawings by lines
# The result creates three line segments:
#
1. (0,0) > (1,1)
#
2. (1,1) > (0,1)
#
3. (0,1) > (1,0)
lakerAddHighLightObj -type Line -point (0,0) (1,1) (0,1) (1,0)

1062

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Highlight Schemes

# Example 5
# Add highlighted drawings by net name
lakerAddHighLightObj -type Net -name netA netB
# Example 6
# Add highlighted drawings by line pair
# The result creates two line segments:
#
1. (0,0) > (1,1)
#
2. (0,1) > (1,0)
lakerAddHighLightObj -type Pair -point (0,0) (1,1) (0,1) (1,0)
# Example 7
# Add highlighted drawings by polygon
lakerAddHighLightObj -type Poly -point (0,0) (1,0) (1,1) (0,1)
# Example 8
# Add highlighted drawings by rectangle
lakerAddHighLightObj -type Rect -point (0,0) (1,1)
# Example 9
# Remove special highlighted drawings
lakerAddHighLightObj -remove special
# Example 10
# Get current highlight color index
lakerAddHighLightObj -getHighLightLayer Index
# Example 11
lakerAddHighLightObj -type Path -point \
(-47.15,17.55) (-47.15,10.0) (-38.1,10.0) (-38.1,3.45) \
-width 1.000000
# Example 12
lakerAddHighLightObj -type Path -point \
(-47.15,17.55) (-47.15,10.0) (-38.1,10.0) (-38.1,3.45) \
-width 1.000000 -style Extend
# Example 13
lakerAddHighLightObj -type Path -point \
(-47.15,17.55) (-47.15,10.0) (-38.1,10.0) (-38.1,3.45) \
-width 1.000000 -style Variable -beginExt 1.5 -endExt 1.5
# Example 14
# Add the highlight of a general object with the figure Id 27fe844
# & class "1"
lakerAddHighLightObj -type Id -id 27fe844 -class 1
# Example 15
# Remove the highlight of a general object with
# the figure id 27fe844
lakerRmHighLightObj -removeId 27fe844

Laker Tcl Reference Manual


K-2015.06

1063

Chapter 7: Layout Window


Highlight Schemes

# Example 16
# Remove the highlighted drawing of instances
lakerRmHighLightObj -type Inst -removeName and:I0 inv:I1 xor:I2
# Example 17
# Remove the highlighted drawings of class "1"
lakerRmHighLightObj -removeClass 1
# Example 18
# Remove the highlighted drawings of class "0"
# (default class number)
lakerRmHighLightObj -removeClass 0
# Example 19
lakerAddHighLightObj -class 0 -type Rect \
-pointList { { (0.0,0.0) (1.0,1.0) } { (10.0,10.0) (11.0,11.0) } }
# Example 20
lakerAddHighLightObj -class 0 -type Poly -pointList \
{ { (1.0,2.0) (3.0,2.0) (3.0,4.0) (2.0,4.0) (2.0,3.0) (1.0,3.0) } \
{ (6.0,2.0) (8.0,2.0) (8.0,4.0) (7.0,4.0) (7.0,3.0) (6.0,3.0) } }
# Example 21
lakerAddHighLightObj -class 0 -type Line -pointList \
{ {(0.0,5.0) (2.0,5.0) (2.0,7.0)} {(4.0,7.0) (6.0,7.0) (6.0,5.0)}
}
# Example 22
lakerAddHighLightObj -class 0 -type Pair -pointList \
{ { (0.0,8.0) (1.0,9.0) (0.0,9.0) (1.0,8.0) } \
{ (2.0,8.0) (3.0,9.0) (2.0,9.0) (3.0,8.0) } }
# Example 23
lakerAddHighLightObj -class 0 -type Path -width 0.2 \
-style Truncate -pointList \
{ { (0.0,10.0) (5.0,10.0) } { (6.0,12.0) (8.0,12.0) } }
# Example 24
# Show messages in a yellow tip window
lakerAddHighLightLine -point (0,0) (1,1) (0,1) (1,0) -toolTip $msg
lakerPreference -ToolTipMaxChars 15
lakerAddHighLightObj -toolTip "Hello\nThis is a test"
# The following messages are shown in a yellow tip window
# when the mouse cursor is placed over the highlighted marker
# (line):
# Hello
# This is a test

1064

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Highlight Schemes

lakerAddHighLightPair
The lakerAddHighLightPair command adds highlighted drawings for
specified line pairs.
Syntax
lakerAddHighLightPair (-point pointSet | -pointList
pointSetList) [-color colorId] [-ratio ratio] [-zoom 0|1]
[-draw 0|1] [-NoLog] [-refTop level] [-toolTip "message"]
Returns
None
Refer to lakerAddHighLightObj.
Examples
# Example 1
# Add the highlighted drawings by line pair
# The result creates two line segments:
#
1. (0,0) > (1,1)
#
2. (0,1) > (1,0)
lakerAddHighLightPair -point (0,0) (1,1) (0,1) (1,0)
# Example 2
lakerAddHighLightPair -pointList \
{ { (0.0,8.0) (1.0,9.0) (0.0,9.0) (1.0,8.0) } \
{ (2.0,8.0) (3.0,9.0) (2.0,9.0) (3.0,8.0) } }

See Also
lakerAddHighLightObj

lakerAddHighLightPath
The lakerAddHighLightPath command adds highlighted drawings for
specified paths.
Syntax
lakerAddHighLightPath (-point pointSet | -pointList
pointSetList) -width PathWidth [-style PathStyle] [refTop level] [-toolTip "message"]
Returns
None
Refer to lakerAddHighLightObj.
Laker Tcl Reference Manual
K-2015.06

1065

Chapter 7: Layout Window


Highlight Schemes

Examples
# Example 1
lakerAddHighLightPath -point \
(-47.15,17.55) (-47.15,10.0) (-38.1,10.0) (-38.1,3.45) \
-width 1.000000
# Example 2
lakerAddHighLightPath -point \
(-47.15,17.55) (-47.15,10.0) (-38.1,10.0) (-38.1,3.45) \
-width 1.000000 -style Extend
# Example 3
lakerAddHighLightPath -point \
(-47.15,17.55) (-47.15,10.0) (-38.1,10.0) (-38.1,3.45) \
-width 1.000000 -style Variable -beginExt 1.5 -endExt 1.5
# Example 4
lakerAddHighLightPath -pointList \
{ { (0.0,10.0) (5.0,10.0) } { (6.0,12.0) (8.0,12.0) } }

See Also
lakerAddHighLightObj

lakerAddHighLightPoly
The lakerAddHighLightPoly command adds highlighted drawings for
specified polygons.
Syntax
lakerAddHighLightPoly (-point pointSet | -pointList
pointSetList) [-color colorId] [-ratio ratio] [-zoom 0|1]
[-draw 0|1] [-NoLog] [-refTop level] [-toolTip "message"]
Returns
None
Refer to lakerAddHighLightObj.
Examples
# Example 1
lakerAddHighLightPoly -point (0,0) (1,0) (1,1) (0,1)
# Example 2
lakerAddHighLightPoly -pointList \
{ { (1.0,2.0) (3.0,2.0) (3.0,4.0) (2.0,4.0) (2.0,3.0) (1.0,3.0) } \
{ (6.0,2.0) (8.0,2.0) (8.0,4.0) (7.0,4.0) (7.0,3.0) (6.0,3.0) } }

1066

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Highlight Schemes

See Also
lakerAddHighLightObj

lakerAddHighLightRect
The lakerAddHighLightRect command adds highlighted drawings for
specified rectangles.
Syntax
lakerAddHighLightRect (-point pointSet | -pointList
pointSetList) [-color colorId] [-ratio ratio] [-zoom 0|1]
[-draw 0|1] [-NoLog] [-refTop level] [-toolTip "message"]
Returns
None
Refer to lakerAddHighLightObj.
Examples
# Example 1
lakerAddHighLightRect -point (0,0) (1,1)
# Example 2
lakerAddHighLightRect -pointList {{(0 0) (2,3)} {(2,5) (7,8)}}
# Example 3
set PointList "{(0 0) (2,3)} {(2,5) (7,8)}"
lakerAddHighLightRect -pointList $PointList
# Example 4
set PointList {{(0 0) (2,3)} {(2,5) (7,8)}}
lakerAddHighLightRect -pointList $PointList
# Example 5
set Point1 "(0,0) (2,3)"
set Point2 "(2,5) (7,8)"
set PointList [list $Point1 $Point2]
lakerAddHighLightRect -pointList $PointList

See Also
lakerAddHighLightObj

Laker Tcl Reference Manual


K-2015.06

1067

Chapter 7: Layout Window


Highlight Schemes

lakerFixHighLightColor
The lakerFixHighLightColor command specifies whether to change the
highlight color when adding a new highlighted drawing.
Syntax
lakerFixHighLightColor -colorCycle 0|1 [-NoLog]
Returns
None
Refer to lakerAddHighLightObj.
Examples
# Example 1
# Fix highlight color
lakerFixHighLightColor -colorCycle 0

See Also
lakerAddHighLightObj

lakerRmHighLightObj
The lakerRmHighLightObj command removes highlighted drawings by
figure identifiers, names or class numbers, including instances, line segments,
nets, polygons, and rectangles.
Syntax
lakerRmHighLightObj [-remove removeGroup | -removeId idList
| -removeName nameList | -removeClass classNum] [-type
objectType] [-draw 0|1] [-NoLog]
Returns
1 if successful; otherwise, returns 0.
Refer to lakerAddHighLightObj.
Examples
# Example 1
# Remove the highlighted drawing of a general object with
# the figure id 27fe844
lakerRmHighLightObj -removeId 27fe844

1068

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


User Entry Functions

# Example 2
# Remove the highlighted drawing of instances
lakerRmHighLightObj -type Inst -removeName and:I0 inv:I1 xor:I2
# Example 3
# Remove the highlighted drawings of class "1"
lakerRmHighLightObj -removeClass 1
# Example 4
# Remove the highlighted drawings of class "0"
# (default class number)
lakerRmHighLightObj -removeClass

See Also
lakerAddHighLightObj

User Entry Functions


This section describes the other Tcl commands applied to the user entry
functions in the Layout window.
User entry functions collect data (such as points of shape, a string or a number)
that is provided by user. These functions are known as Entry Functions.
Entry functions are a special class of Tcl functions, exclusive to the Layout
window, for GUI. These functions are used to digitize shapes, when invoking an
entry function, the current Layout window is the only active window where the
data can be entered.
These commands include:

lakerEnterBox

lakerEnterLine

lakerEnterPath

lakerEnterPoint

lakerEnterPolygon

lakerEnterBox
The lakerEnterBox command returns {x1, y1}{x2, y2} if the
coordinates of the bounding box can be obtained.
Laker Tcl Reference Manual
K-2015.06

1069

Chapter 7: Layout Window


User Entry Functions

Syntax
lakerEnterBox [-ref top] [-timeout time] | [-end]
Returns
{x1, y1} {x2, y2} if successful; otherwise, returns nothing.
TIMEOUT if fail to get the coordinates of the bounding box with timeout option;
otherwise, returns nothing.
Arguments
Argument

Description

-end

Abort the command itself.

-ref top

The coordinates are referenced to the top cell view.

-timeout time

Specify the time period for enabling the lakerEnterBox


command. If time is expired, the command is aborted. The
time is in seconds (secs).

Examples
# Example 1
set BBOX [lakerEnterBox]
# Example 2
# wait for getting the coordinate of the bounding box with
# restricted time 60 secs
lakerEnterBox -timeout 60

lakerEnterLine
The lakerEnterLine command returns {x1, y1} ... {xn, yn} if the
coordinates of the line can be obtained.
Syntax
lakerEnterLine [-ref top] [-timeout time] | [-end]
Returns
{x1, y1} ... {xn, yn} if successful; otherwise, returns nothing.
TIMEOUT if fail to get the coordinates of the line with the timeout option;
otherwise, returns nothing.

1070

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


User Entry Functions

Arguments
Argument

Description

-end

Abort the command itself.

-ref top

The coordinates are referenced to the top cell view.

-timeout time

Specify the time period for enabling the lakerEnterLine


command. If the time is expired, the command is aborted. The
time is in seconds (secs).

Examples
# Example 1
set LINE [lakerEnterLine]
# Example 2
# wait for getting the coordinates of the line
# with restricted time 60 secs
lakerEnterPolygon -timeout 60

lakerEnterPath
The lakerEnterPath command returns {x1, y1} ... {xn, yn} if the
center line coordinates of the path can be obtained.
Syntax
lakerEnterPath [-width width] [-ref top] [-timeout time] |
[-end]
Returns
{x1, y1} ... {xn, yn} if successful; otherwise, returns nothing.
TIMEOUT if fail to get the center line coordinates of the path with the timeout
option; otherwise, returns nothing.
Arguments
Argument

Description

-end

Abort the command itself.

-ref top

The coordinates are referenced to the top cell view.

Laker Tcl Reference Manual


K-2015.06

1071

Chapter 7: Layout Window


User Entry Functions

Argument

Description

-timeout time

Specify the time period for enabling the lakerEnterPath


command. If the time is expired, the command is aborted.
The time is in seconds (secs).

-width width

Specify the path width.


Valid value: a positive floating number (default=0.0).

Examples
# Example 1
set PATHLINE [lakerEnterPath -width 0.25]
# Example 2
# wait for getting the center line coordinates of the path
# with restricted time 60 secs
lakerEnterPolygon -timeout 60

lakerEnterPoint
The lakerEnterPoint command returns {x1, y1} if the coordinates of the
clicked point can be obtained.
Syntax
lakerEnterPoint [-ref top] [-timeout time]
Returns
{x1, y1} if successful; otherwise, returns nothing.
TIMEOUT if fail to get the coordinates of the clicked point with the timeout
option; otherwise, returns nothing.
Arguments

1072

Argument

Description

-ref top

The coordinates are referenced to the top cell view.

-timeout time

Specify the time period to invoke the lakerEnterPoint


command. If the time is expired, the command is aborted. The
time is in seconds (secs).

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


User Entry Functions

Examples
# Example 1
# wait for getting the coordinates of clicked point
lakerEnterPoint
# Example 2
# wait for getting the coordinates of the clicked point with
# restricted time 60 secs
lakerEnterPoint -timeout 60

lakerEnterPolygon
The lakerEnterPolygon command returns {x1, y1}...{xn yn} if the
coordinates of the polygon can be obtained.
Syntax
lakerEnterPolygon [-ref top] [-timeout time] | [-end]
Returns
{x1, y1}...{xn yn} if successful; otherwise, returns nothing.
TIMEOUT if fail to get the coordinates of the polygon with the timeout option;
otherwise, returns nothing.
Arguments
Argument

Description

-end

Abort the command itself.

-ref top

The coordinates are referenced to the top cell view.

-timeout time

Specify the time period for enabling the


lakerEnterPolygon command. If the time is expired, the
command is aborted. The time is in seconds (secs).

Examples
# Example 1
set POLYGON [lakerEnterPolygon]
# Example 2
# Wait for getting the coordinate of the polygon with a restricted
# time 60 secs
lakerEnterPolygon -timeout 60

Laker Tcl Reference Manual


K-2015.06

1073

Chapter 7: Layout Window


Miscellaneous

Miscellaneous
This section describes the other Tcl commands applied to the Layout window.
These commands include:

1074

lakerAbortFeature

lakerCellViewBBox

lakerChangeSelMode

lakerChkActiveCmd

lakerDsgDrag

lakerDsgDrop

lakerDsgMessage

lakerDumpShapeTcl

lakerExposeWnd

lakerFinishDevPara

lakerGetAliveWnd

lakerGetActiveWnd

lakerGetClipboardCV

lakerGetColPat

lakerGetCurLayerId

lakerGetCurPos

lakerGetCurViewBBox

lakerGetCurViewLevel

lakerGetDspPat

lakerGetHierPath

lakerGetEIPHierarchy

lakerGetHighlightList

lakerGetOpenCount

lakerGetOpenNets

lakerGetPromptDefinition

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

lakerGetWndByCV

lakerGetWndCellViewId

lakerGetwtWndId

lakerHaltUndo

lakerHasWndAlive

lakerMessage

lakerMsgForm

lakerQuickAPA

lakerRmAbutInfo

lakerRmPromptDefinition

lakerSetActiveLayer

lakerSetActiveWnd

lakerSetBrowserWnd

lakerSetObjType

lakerSetPromptDefinition

lakerSetSchematicAWnd

lakerSetSchematicFWnd

lakerSetSchematicWnd

lakerShiftCursorDown

lakerShiftCursorLeft

lakerShiftCursorRight

lakerShiftCursorUp

lakerStartDevPara

lakerSocketClientSend

lakerTransSchLogicName

lakerUpdateDevPara

lakerUpdateSingleDevPara

Laker Tcl Reference Manual


K-2015.06

1075

Chapter 7: Layout Window


Miscellaneous

lakerAbortFeature
The lakerAbortFeature command terminates the activate feature.
Syntax
lakerAbortFeature
Returns
None
Examples
# terminate the activated feature
lakerAbortFeature

lakerCellViewBBox
The lakerCellViewBBox command return a cell view bounding box if the
cell view bounding box of the current Layout window can be obtained.
Syntax
lakerCellViewBBox
Returns
A bounding box if successful; otherwise, returns nothing.
Examples
# Get the cell view bounding box of the current Layout window
set CVBox [lakerCellViewBBox]
# output CVBox= { {0,0} {100,100} }

lakerChangeSelMode
The lakerChangeSelMode command changes the selection mode.
Syntax
lakerChangeSelMode -mode selMode
Returns
None

1076

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Arguments
Argument

Description

-mode selMode

Specify the selection mode.


Valid values: Object , Vertex, and DevObj.

Examples
# change the selection mode to OBJ mode
lakerChangeSelMode -mode Object

lakerChkActiveCmd
The lakerChkActiveCmd command queries the active feature for crosswindow operation between the Design Browser and Layout window panes only.
Syntax
lakerChkActiveCmd -name user_command
Returns
None
Arguments
Argument

Description

-name user_command

Specify the Tcl command.

Examples
# If the active feature is "lakerManualAssociate",
# the return value is 1.
set a [lakerChkActiveCmd -name lakerManualAssociate]
a=1
# if the active feature is "lakerCreateRect",
# the return value is 0.
set a [lakerChkActiveCmd -name lakerManualAssociate]
a=0

Laker Tcl Reference Manual


K-2015.06

1077

Chapter 7: Layout Window


Miscellaneous

lakerDsgDrag
The lakerDsgDrag command drags the selected objects of the Layout
window pane.
Syntax
lakerDsgDrag
Returns
None
Examples
# drag the selected objects of layout window
lakerDsgDrag

lakerDsgDrop
The lakerDsgDrop drops the dragged data to the Layout window pane.
If the dragged data does not exist and the mode is specified as create, it is
created on the Layout window pane; otherwise, the dragged data is highlighted
on the Layout window pane.
If the dragged data is not found on the current view level, the instance that
includes this dragged data is highlighted.
Syntax
lakerDsgDrop [-mode drop_mode | -instname input_instances |
-netname input_nets | -fromSource 1|0]
Returns
None
Arguments

1078

Argument

Description

-fromSource 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1: Transform the schematic information to the
hierarchical layout data when bringing in the netlist
source data to the Layout window pane.
0: Do not transform any schematic information to the
hierarchical layout data when bringing in the netlist
source data to the Layout window pane.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Argument

Description

-instname
input_instances

Specify the input instance.

-mode drop_mode

Specify the control mode to the dropping action.


Valid values: highlight, create, and auto
(default=auto).

-netname input_nets

Specify the input net.

Examples
# Highlight the selected object of spare cells in the layout window
lakerSpareDrag
lakerDsgDrop
# Highlight a pmos with the hierarchy name: /aoi21/I1/P1
# in the Schematic window
lakerDsgDrop -mode highlight -delimiter "/" \
-instname /aoi21/I1/P1 -fromSource 1

See Also
lakerSchBroDrop

lakerDsgMessage
The lakerDsgMessage command displays the specified message or variable
in the Message Line Area of the status bar under the Design window.
Syntax
lakerDsgMessage (msgString | var) [-wnd wndId]
Returns
None

Laker Tcl Reference Manual


K-2015.06

1079

Chapter 7: Layout Window


Miscellaneous

Arguments
Argument

Description

msgString | var

Specify the message or variable to be displayed in the


Message Line Area of the status bar under the Design
window.
Valid values: msgString and var.

-wnd wndId

msgString : Plain message strings.


var : Variables.

Specify the Design window identifier for the prompt


message. If this option is not specified, the message is
displayed in the active Design window.

Examples
# Example 1
lakerDsgMessage Show this message in the active design window
# Example 2
lakerDsgMessage This is a test message -wnd [lakerGetActiveWnd]

# Example 3
lakerDsgMessage -wnd [lakerGetActiveWnd] $showMsg

lakerDumpShapeTcl
The lakerDumpShapeTcl command dumps the rectangle and polygon
shapes of the specified layer and purpose to a Tcl-based creation format.
Sourcing the output file can create identical shapes in different layouts.

1080

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Syntax
lakerDumpShapeTcl -layerName layerName -purpose purpose
file fileName]

[-

Returns
None
Arguments
Argument

Description

-file fileName

Specify the name of the output file


(default=lakerDumpShape.tcl).

-layerName layerName

Specify the layer name.

-purpose purpose

Specify the purpose name.

Examples
lakerDumpShapeTcl -layerName PlaceBlockage -purpose blockage \
-file test.tcl
# In the output file, test.tcl:
# Layer: PlaceBlockage 249, Purpose: blockage 241
lakerCreatePoly -layerName PlaceBlockage -purpose blockage \
-point \
(23 30) (39 30) (39 16) (60 16) (60 50) (34 50) (34 72) (23 72)
lakerCreateRect -layerName PlaceBlockage -purpose blockage \
-point (91 41) (91 94) (162 94) (162 41)

lakerExposeWnd
The lakerExposeWnd command sets the window to the active window and
exposes the window to the top.
Syntax
lakerExposeWnd [-cv cellviewId | -wnd wndId]
Returns
None
Arguments
Argument

Description

-cv cellviewId

Specify the cell view identifier.

Laker Tcl Reference Manual


K-2015.06

1081

Chapter 7: Layout Window


Miscellaneous

Argument

Description

-wnd wndId

Specify the window identifier.

Examples
# Example 1
# Set Wnd1 to active window and expose it to the top
lakerExposeWnd -wnd Wnd1
# Example 2
# Set la22810 cell view Id to active window and
# expose it to the top
lakerExposeWnd -cv la22810

See Also
lakerGetWndCellViewId
lakerGetWndByCV
lakerGetwtWndId
lakerSetActiveWnd

lakerFinishDevPara
The lakerFinishDevPara command flushes the top cell information of
device paramters after modification, saves the related schematic cell views and
refreshes the tree structure. This command is used in combination with
lakerStartDevPara and lakerUpdateDevPara.
For a large amount of device data to be modified, use lakerStartDevPara,
lakerUpdateDevPara, and lakerFinishDevPara to modify the device
parameter(s) from specified top cell.
Syntax
lakerFinishDevPara
Returns
None

1082

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Examples
lakerStartDevPara -delim / -libName design -topCell top \
-view schematic
lakerUpdateDevPara -name U1 -cell IV -point {0 20} \
-parameter {W 0.000006}
lakerUpdateDevPara -name I0/U1 -cell IV -point {10 10} \
-parameter {W 0.000006}
lakerUpdateDevPara -name I0/U2 -cell IV -point {10 20} \
-parameter {W 0.000006}
lakerUpdateDevPara -name I0/U3 -cell IV -point {10 30} \
-parameter {W 0.000006}
lakerUpdateDevPara -name I0/U4 -cell IV -point {10 40} \
-parameter {W 0.000006}
lakerUpdateDevPara -name U2 -cell IV -point {0 0} \
-parameter {W 0.000006} {L 0.000005}
lakerFinishDevPara

See Also
lakerStartDevPara
lakerUpdateDevPara
lakerUpdateSingleDevPara

lakerGetAliveWnd
The lakerGetAliveWnd command returns a list of window identifiers of all
alive windows if the specified window type exists.
Syntax
lakerGetAliveWnd [-type type]
Returns
A list of window identifiers if successful; otherwise, returns nothing.
Arguments
Argument

Description

-type type

Specify the window type.


Valid values: master, layout, stick, and match
(default=all types).

Examples
# Example 1
# Get all alive windows
lakerGetAliveWnd

Laker Tcl Reference Manual


K-2015.06

1083

Chapter 7: Layout Window


Miscellaneous

# Example 2
# Get the alive Layout window
lakerGetAliveWnd -type layout
# Example 3
# Return the alive Matching Device Creator window
set lstWndId [lakerGetAliveWnd -type match]

See Also
lakerHasWndAlive

lakerGetActiveWnd
The lakerGetActiveWnd command returns a window identifier if the active
window exists.
Syntax
lakerGetActiveWnd
Returns
A window identifier if successful; otherwise, returns nothing.
Examples
lakerGetActiveWnd

See Also
lakerSetActiveWnd

lakerGetClipboardCV
The lakerGetClipboardCV command gets the clipboard cell view identifier.
Syntax
lakerGetClipboardCV [-purge 0|1]
Returns
Clipboard cell view identifier if successful; otherwise, returns nothing.

1084

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Arguments
Argument

Description

-purge 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Purge clipboard contents.
0 : Do not purge clipboard contents.

Examples
lakerGetClipboardCV -purge 0

lakerGetColPat
The lakerGetColPat command returns the layer attribute
(LAYER_ATTRIBUTE) in a string with particular condition. This
LAYER_ATTRIBUTE includes layerName purposeName layerNo
fillColor fillStipple lineColor lineStyle lineWidth
visible(0|1) selectable(0|1) appearance(0|1)\n. The string is
ended by \n.
Syntax
lakerGetColPat [-all [-default 0|1]] [-layerName layerName]
[-layerNo layerNo] [-purpose purposeName] [-purposeNo
purposeNo] [-layerName layerName -purpose purposeName]
[-layerName layerName -purposeNo purposeNo] [-layerNo
layerNo -purpose purposeName] [-layerNo layerNo purposeNo purposeNo]
Returns
The specified layer attribute if successful; otherwise, returns nothing.
Arguments
Argument

Description

-all

Return LAYER_ATTRIBUTE of all user-defined layers


in the current layer table. The attributes of the system
layers are not returned.

-default 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Get the attributes of the default layers with layer
number 249, including {ShortErr drawing},
{SoftPin pin}, etc.
0 : Do not get the attributes of the default layers.

Laker Tcl Reference Manual


K-2015.06

1085

Chapter 7: Layout Window


Miscellaneous

1086

Argument

Description

-layerName layerName

Return LAYER_ATTRIBUTE of all user-defined and


system layers whose layer name is equal to the
specified layerName.

-layerName layerName
-purpose purposeName

Return LAYER_ATTRIBUTE of all user-defined and


system layers whose layer name and purpose name
are equal to layerName and purposeName,
respectively.

-layerName layerName
-purposeNo purposeNo

Return LAYER_ATTRIBUTE of all user-defined and


system layers whose layer name and purpose
number are equal to layerName and purposeNo,
respectively.

-layerNo layerNo

Return LAYER_ATTRIBUTE of all user-defined and


system layers whose layer number is equal to
layerNo.

-layerNo layerNo
-purpose purposeName

Return LAYER_ATTRIBUTE of all user-defined and


system layers whose layer number and purpose
name are equal to layerNo and purposeName,
respectively.

-layerNo layerNo
-purposeNo purposeNo

Return LAYER_ATTRIBUTE of all user-defined and


system layers whose layer number and purpose
number are equal to layerNo and purposeNo,
respectively.

-purpose purposeName

Return LAYER_ATTRIBUTE of all user-defined and


system layers whose purpose name is equal to
purposeName.
If the purposeName is system, the
LAYER_ATTRIBUTE of all system layers is returned.

-purposeNo purposeNo

Return LAYER_ATTRIBUTE of all user-defined and


system layers whose purpose number is equal to
purposeNo.
If the purposeNo is 0, the LAYER_ATTRIBUTE of all
system layers is returned.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Examples
# Example 1
# get all attributes of user-defined layers but not the default ones
lakerGetColPat -all -default 0
# Example 2
lakerGetColPat -purposeNo 1
# Example 3
lakerGetColPat -layerName HLNet0

lakerGetCurLayerId
The lakerGetCurLayerId command returns the layer identifier of the
current Layout window if it can be obtained.
Syntax
lakerGetCurLayerId
Returns
The layer identifier if successful; otherwise, returns nothing.
Examples
lakerGetCurLayerId

lakerGetCurPos
The lakerGetCurPos command returns the cursor position of the current
Layout window.
Syntax
lakerGetCurPos
Returns
The cursor position if successful; otherwise, returns nothing.
Examples
# return the cursor position (10,10) of current design
set curPos [lakerGetCurPos]
# output curPos=10 10

Laker Tcl Reference Manual


K-2015.06

1087

Chapter 7: Layout Window


Miscellaneous

lakerGetCurViewBBox
The lakerGetCurViewBBox command returns the viewing bounding box of
the current window.
Syntax
lakerGetCurViewBBox [-refToTop 0|1]
Returns
{(x1,y1) (x2,y2)} if successful; otherwise, returns nothing.
Arguments
Argument

Description

-refToTop 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Refer the viewing bounding box to top.
0 : Do not refer the viewing bounding to top.

Examples
set box [lakerGetCurViewBBox]
# output box = {(0,0) (100,100)}

lakerGetCurViewLevel
The lakerGetCurViewLevel command returns the view level that is referred
to top of current window.
Syntax
lakerGetCurViewLevel
Returns
An integer number if successful; otherwise, returns nothing.
Examples
set level [lakerGetCurViewLevel]
# output level = 3

lakerGetDspPat
The lakerGetDspPat command can query other display settings.

1088

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Syntax
lakerGetDspPat -type patternType [-name patternName]
Returns
The corresponding pattern (as follows) if successful; otherwise, returns 0.
Argument

Description

Return values

color

none

A list of all defined color names.

color

color name

Pattern of the specified color name; and the


format is: Red_Value Green_Value
Blue_Value Blink(0/1)

stipple

none

A list of all defined stipple names.

stipple

stipple name

Pattern of the specified stipple name; and the


format is: Pattern

lineStyle

none

A list of all defined lineStyle names.

lineStyle

lineStyle name

Pattern of the specified lineStyle name; and the


format is: Line_Width {Pattern}

group

none

A list of all defined group names.

group

group name

Pattern of the specified group name; and the


format is: Fill_Color Line_Color
Fill_Stipple Line_Style

Arguments
Argument

Description

-name patternName Specify the pattern name defined in the specified pattern
type. If this argument is not specified, a list of all defined
pattern names of the specified pattern type is returned.

Laker Tcl Reference Manual


K-2015.06

1089

Chapter 7: Layout Window


Miscellaneous

Argument

Description

-type patternType

Specify the pattern type.


Valid values: color, stipple, lineStyle and group;
where color query for tfDisplayColor section;
stipple query for tfDisplayStipple section;
lineStyle query for tfDisplayLineStyle section;
and group query for tfDisplayGroup section in display
settings.

Examples
# Query all defined color names
lakerGetDspPat -type color
# output : white yellow silver cream ...
# Query some color pattern by its name
lakerGetDspPat -type color -name white
# output : 255 255 255 0
# Query some stipple pattern by its name
lakerGetDspPat -type stipple -name blank
# output : {0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} {0 0 ...}
# ...
# Query some lineStyle pattern by its name
lakerGetDspPat -type lineStyle -name solid
# output : 1 {1 1}
# Query some group pattern by its name
lakerGetDspPat -type group -name orange
# output : orange dots red solid

lakerGetHierPath
The lakerGetHierPath command returns a cell list of the design hierarchy
from the top cell to the current cell in the active design window.
Syntax
lakerGetHierPath -cell cellName [-wnd wndId]
Returns
Cell list if successful, otherwise returns an empty string.

1090

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Arguments
Argument

Description

-cell cellName

Specify the cell name (to specify the bottom of the design
hierarchy from the top cell).

-wnd wndId

Specify the window identifier.

Examples
# Example 1
# The return cell list is {AD4FUL ADFULAH DGATE TGATE CONT}
lakerGetHierPath -cell CONT
# Example 2
lakerGetHierPath -cell CONT -wnd $wndId

lakerGetEIPHierarchy
The lakerGetEIPHierarchy command returns a list of EIP instance
identifiers from the active design window.
Syntax
lakerGetEIPHierarchy [-origTop 0|1] [-showMode 0|1] [-wnd
wndId]
Returns
List of instance identifiers (instIds) and mode if successful; otherwise, returns
0.
Arguments
Argument

Description

-origTop 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Return a list of the trace of EIP instIds from the original
top.
0 : Return a list of the trace of EIP instIds from the sub top.

-showMode 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Show the EIP/Descend mode.
0 : Hide the EIP/Descend mode.

-wnd wndId

Specify the window identifier.

Laker Tcl Reference Manual


K-2015.06

1091

Chapter 7: Layout Window


Miscellaneous

Examples
# Example 1
lakerGetEIPHierarchy -origTop 1 -showMode 1
# Example 2
lakerGetEIPHierarchy -origTop 0 -wnd $WndId

lakerGetHighlightList
The lakerGetHighlightList command returns the net name, instance
name or both net/instance names of the highlighted objects in the current
window.
Syntax
lakerGetHighlightList -group groupName -type nameType
Returns
The net name, instance name or both net/instance names of the highlighted
objects in the current window if successful; otherwise, returns nothing. For
example:
when returning both the net/instance names, the return value may look like:
{net {{/x1/.../net1} {/x2/.../netx}}} {inst {{/x1/../I1}
{/x2/../I2}}}
when returning the net name only, the return value may look like:
{net {{/x1/.../net1} {/x2/.../netx}}} {inst {}}
when returning the instance name only, the return value may look like:
{net {}} {inst {{/x1/../I1} {/x2/../I2}}}
Arguments

1092

Argument

Description

-group groupName

Valid values: all, special, and general; where


all includes special and general highlighted
objects, which are specified by -color (default=all).

-type nameType

Valid values: all, net, and inst; where all includes


net and inst (default=all).

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Examples
# Example 1
lakerGetHighlightList -type all \
{net {{net2} {net1}}} {inst {{I5:1260} {A5:1176} {Inst_a} \
{array} {tx2_gate1} {tx_gate1} {tx_gate2}}}
# Example 2
lakerGetHighlightList -type net \
{net {{net2} {net1}}} {inst {}}
# Example 3
lakerGetHighlightList -type inst \
{net {}} {inst {{I5:1260} {A5:1176} {Inst_a} {array} \
{tx2_gate1} {tx_gate1} {tx_gate2}}}

lakerGetOpenCount
The lakerGetOpenCount command returns the number of the opened
libraries or cell views.
Syntax
lakerGetOpenCount -lib libName [-cell cellName -view
viewName]
Returns
Number of opening library or cell view (a positive number that is greater than or
equal to 0) if successful; otherwise, returns nothing.
Arguments
Argument

Description

-cell cellName

Specify the cell to be checked.

-lib libName

Specify the library database.

-view viewName

Specify the view name of the opened cell.


Valid values: layout and schematic.

Examples
# Example 1
lakerGetOpenCount -lib demoLib
# Example 2
lakerGetOpenCount -lib demoLib -cell demoCell -view layout

Laker Tcl Reference Manual


K-2015.06

1093

Chapter 7: Layout Window


Miscellaneous

See Also
None

lakerGetOpenNets
The lakerGetOpenNets command returns the name of open nets if they can
be obtained successfully.
This Tcl command honors the Ignore Global Flight Lines and Ignore Net option
settings in the Connectivity tab of the Preferences form.
Syntax
lakerGetOpenNets -cv cellviewId
Returns
Name of open nets if successful; otherwise, returns nothing.
Arguments
Argument

Description

-cv cellviewId

Specify the cell view identifier.

Examples
# Example 1
lakerGetOpenNets -cv [lakerGetWndCellViewId]

See Also
None

lakerGetPromptDefinition
The lakerGetPromptDefinition command returns the contents of device
prompt definitions.
Syntax
lakerGetPromptDefinition -lib libName -cell cellName -view
ViewName
Returns
The contents of device prompt definitions if successful; otherwise, returns
nothing.

1094

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Arguments
Argument

Description

-cell cellName

Specify the cell to be retrieved.

-lib libName

Specify the library database.

-view viewName

Specify the view name of the cell.

Examples
lakerGetPromptDefinition -lib DevPrompt -cell Tr1 -view pcc

See Also
lakerSetPromptDefinition
lakerRmPromptDefinition

lakerGetWndByCV
The lakerGetWndByCV command returns a list of window identifiers if the
window identifiers can be obtained by cell view identifier with specified
arguments.
Syntax
lakerGetWndByCV -cv cellviewId [-work|-oritop] [-all]
Returns
List of window identifiers if successful; otherwise, returns nothing.
Arguments
Argument

Description

-all

Return all the window identifiers that match the cell view
identifier. If it is not specified, this command only returns the
existing first element window identifiers list.

-cv cellviewId

Cell view identifier that can be obtained by


lakerGetWndCellViewId, lakerGetWndCellViewId -oritop,
and lakerGetWndCellViewId -top.
The lakerGetWndCellViewId command returns the current
working cellviewId in the layout window when the
lakerGetWndByCV command only accepts the identifier of
top cell view. This is the default.

Laker Tcl Reference Manual


K-2015.06

1095

Chapter 7: Layout Window


Miscellaneous

Argument

Description

-oritop

Get the identifier of original cell view that is opened in the


layout window.

-work

Get the identifier of working cell view that is opened in the


layout window.

Examples
# If there is a library named EX_ADDER_3 and
# its top cell view is AD4FUL.
# Supposed that we open three layout windows for the same top cell.
# Example 1
# get the current working cellviewId in any layout windows
lakerGetWndCellViewId
# <return> : 69e540c
lakerGetWndByCV -cv 69e540c
# <return> : Wnd1
lakerGetWndByCV -cv 69e540c -work
# <return> : Wnd1
lakerGetWndByCV -cv 69e540c -work -all
# <return> : Wnd1 Wnd2 Wnd3
# Example 2
# use EIP mode for top ADFULAH cell in the Layout windows Wnd2
and Wnd3
# and let Wnd3 is the current Layout window
lakerGetWndCellViewId
# <return> : 69e4c0c
lakerGetWndByCV -cv 69e4c0c
# <return> : nothing
lakerGetWndByCV -cv 69e4c0c -work
# <return> : Wnd2
lakerGetWndByCV -cv 69e4c0c -work -all
# <return> : Wnd2 Wnd3
# Example 3
# use EIP mode for DGATE cell in top ADFULAH cell within the Layout
# window Wnd2 and let Wnd2 is the current layout window
lakerGetWndCellViewId
# <return> : 69e400c
lakerGetWndByCV -cv 69e400c
# <return> : nothing
lakerGetWndByCV -cv 69e400c -work
# <return> : Wnd2
lakerGetWndByCV -cv 69e400c -work -all
# <return> : Wnd2

1096

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

# Example 4
# Let Wnd2 is the current layout window
lakerGetWndCellViewId -oritop
# <return> : 69e540c
lakerGetWndByCV -cv 69e540c
# <return> : Wnd1
lakerGetWndByCV -cv 69e540c -work
# <return> : Wnd1
lakerGetWndByCV -cv 69e540c -work -all
# <return> : Wnd1
lakerGetWndByCV -cv 69e540c -oritop -all
# <return> : Wnd1 Wnd2 Wnd3
# Example 5
# Let Wnd2 is the current layout window
lakerGetWndCellViewId -top
# <return> : 69e540c
lakerGetWndByCV -cv 69e540c
# <return> : Wnd1
lakerGetWndByCV -cv 69e540c -work
# <return> : Wnd1
lakerGetWndByCV -cv 69e540c -work -all
# <return> : Wnd1

See Also
lakerGetWndCellViewId
lakerGetwtWndId

lakerGetWndCellViewId
The lakerGetWndCellViewId command returns a cell view identifier if the
cell view identifier of the current Layout window or the Layout window specified
with -wnd can be obtained.
Syntax
lakerGetWndCellViewId [-top] [-oritop] [-wnd wndId | -focus]
Returns
A cell view identifier if successful; otherwise, returns nothing.
Arguments
Argument

Description

-focus

Get the cell view identifier in the focused Layout window.

Laker Tcl Reference Manual


K-2015.06

1097

Chapter 7: Layout Window


Miscellaneous

Argument

Description

-oritop

Get the identifier of the original cell view that is opened in the
current Layout window or the Layout window specified with wnd.

-top

Get the identifier of the sub-top cell view in the current Layout
window or the Layout window specified with -wnd. The subtop cell view is opened from the original cell view for Descend
Edit mode. When it is not under Descend Edit mode, -top
may act as -oritop.

-wnd wndId

Specify the window identifier of the desired Layout window.

Examples
# Example 1
# Get the original cellviewId in EIP mode
lakerGetWndCellViewId -oritop
# Example 2
# Get the sub-top cellviewId in Descend Edit mode
lakerGetWndCellViewId -top
# Example 3
# Get the current working cellviewId in the specified Layout window
lakerGetWndCellViewId -wnd Wnd6
# Example 4
# Get the top cellviewId in the focused Layout window
lakerGetWndCellViewId -top -focus

See Also
lakerGetwtWndId
lakerHasWndAlive

lakerGetwtWndId
The lakerGetwtWndId command returns a window identifier if the window
identifier of the current window or the window specified with -topWnd can be
obtained.
Syntax
lakerGetwtWndId [-type type | -focus] [-topWnd]

1098

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Returns
A window identifier if successful; otherwise, returns nothing.
Arguments
Argument

Description

-focus

Get the window identifier in the focused window.

-topWnd

Get the top window identifier of the specified window.

-type type

Specify the window type.


Valid values: master, layout, stick, and match
(default=all types).

Examples
# Example 1
lakerGetwtWndId -focus
# Example 2
lakerGetwtWndId -topWnd
# Example 3
# Return the window Id of the current Layout window
set windowId [lakerGetwtWndId]
# output windowId=3200d48
# Example 4
# Return the Layout window only
set windowId [lakerGetwtWndId -type layout]
# Example 5
# Return the Matching Device Creator window only
set windowId [lakerGetwtWndId -type match]

See Also
lakerGetWndCellViewId
lakerHasWndAlive

lakerHaltUndo
The lakerHaltUndo command suspends the Capture Undo action when start is specified, or continues the action when -end is specified.
Limitation:

Laker Tcl Reference Manual


K-2015.06

1099

Chapter 7: Layout Window


Miscellaneous

The usage of lakerHaltUndo -start and lakerHaltUndo -end


should be paired.

Please run commands in one cell view between the pair of


lakerHaltUndo. DO NOT change cell views when lakerHaltUndo start is invoked. It may cause unexpected problems.

Syntax
To suspend the Capture Undo action,
lakerHaltUndo -start
To continue the Capture Undo action,
lakerHaltUndo -end
Returns
None
Arguments
Argument

Description

-end

Abort this feature.

-start

Start the feature.

Examples
lakerCreateRect -point (0,0) (10,10) // here is stage 1
lakerHaltUndo -start
// suspend Capture Undo
...
db or laker commands
...
lakerHaltUndo -end
// resume and do Capture Undo
lakerUndo
// do this command to rollback to stage 1

lakerHasWndAlive
The lakerHasWndAlive command returns 1 if the specified window type
exists.
Syntax
lakerHasWndAlive [-type type]
Returns
1 if successful; otherwise, returns 0.

1100

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Arguments
Argument

Description

-type type

Specify the window type.


Valid values: master, layout, stick, and match
(default=layout).

Examples
# Example 1
# All design windows are closed
set bHasLayoutWnd [lakerHasWndAlive]
# Output bHasLayoutWnd = 0
set bHasMainWnd [lakerHasWndAlive -type master]
# Output bHasMainWnd = 1
# Example 2
# Open any design windows
set bHasLayoutWnd [lakerHasWndAlive]
# Output bHasLayoutWnd = 1
set bHasLayoutWnd [lakerHasWndAlive -type layout]
# Output bHasLayoutWnd = 1
# Example 3
# Open the Matching Device Creator window
set bHasMatchWnd [lakerHasWndAlive -type match]
# Output bHasMatchWnd = 1

See Also
lakerGetwtWndId
lakerGetWndCellViewId

lakerMessage
The lakerMessage command shows messages.
Syntax
lakerMessage (msgString|var)
Returns
None

Laker Tcl Reference Manual


K-2015.06

1101

Chapter 7: Layout Window


Miscellaneous

Arguments
Argument

Description

msgString

Message strings.

var

Variables.

Examples
lakerMessage This is a test string
lakerMessage $msg

lakerMsgForm
The lakerMsgForm command creates and shows a message form with the
specified form name and message contents.
Syntax
lakerMsgForm -name formName -text msgText [-close 0|1]
Returns
None
Arguments
Argument

Description

-close 0|1

Valid values: Boolean values, 0 and 1.


1 : Close the message form.
0 : Do not close the message form.

-name formName

Specify the name of the message form.

-text msgText

Specify the message contents that are appended into the


form. No space is allowed in the text.

Examples
lakerMsgForm -name ABC -text Message1
lakerMsgForm -name ABC -text Message2
lakerMsgForm -name ABC -close 1

1102

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

lakerQuickAPA
The lakerQuickAPA command only works for the instance which contains
soft pins. If the instance contains fixed pins, a message is displayed and the
command is aborted.
After the command is invoked, the soft pins in this instance are moved
according to their net connection. A minimum wire length is generated for the
net connection.
Syntax
lakerQuickAPA -instance instName
Returns
None
Arguments
Argument

Description

-instance instName

Specify the instance name.

Examples
# xgosc is the instance name (its master cell is inv0)
# After the Tcl is invoked, the soft pins in the xgosc are moved
# accordingly to minimize the wire length.
lakerQuickAPA -instance xgosc

lakerRmAbutInfo
The lakerRmAbutInfo command removes the information of the selected
device abutment.
Syntax
lakerRmAbutInfo
Returns
None
Examples
lakerRmAbutInfo

Laker Tcl Reference Manual


K-2015.06

1103

Chapter 7: Layout Window


Miscellaneous

lakerRmPromptDefinition
The lakerRmPromptDefinition command removes the definition of
prompts in a device.
Syntax
lakerRmPromptDefinition -lib libName -cell cellName -view
ViewName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-cell cellName

Specify the cell to be retrieved.

-content PromptDefinition

Specify the definition of prompts.

-lib libName

Specify the library database.

-view viewName

Specify the view name of the cell.

Examples
lakerRmPromptDefinition -lib DevPrompt -cell Tr1 -view pcc

See Also
lakerSetPromptDefinition
lakerGetPromptDefinition

lakerSetActiveLayer
The lakerSetActiveLayer command sets the specified layer to the active
layer. This command is similar to the select layer action on the Layer Table.
Syntax
lakerSetActiveLayer -layerName layerName [-purpose purpose]
Returns
None

1104

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Arguments
Argument

Description

-layerName layerName

Specify the layer name.

-purpose purpose

Specify the purpose name (default=drawing).

Examples
lakerSetActiveLayer -layerName poly -purpose drawing

lakerSetActiveWnd
The lakerSetActiveWnd command sets the specified window to the active
window.
Syntax
lakerSetActiveWnd [-wnd windowName | -window windowId | focus]
Returns
None
Arguments
Argument

Description

-focus

Specify the focused window.

-window windowId

Specify the window identifier.

-wnd windowName

Specify the window named assigned to the opened


window.

Examples
# Example 1
# Set the active window by window name
lakerSetActiveWnd -wnd Wnd1
# Example 2
# Set the focused window to the active window
lakerSetActiveWnd -focus
# Example 3
# Set the firstly-opened layout window to the active window
lakerSetActiveWnd -window [lakerGetwtWndId -type layout -topWnd]
Laker Tcl Reference Manual
K-2015.06

1105

Chapter 7: Layout Window


Miscellaneous

lakerSetBrowserWnd
The lakerSetBrowserWnd command shows or hides the Design Browser
pane.
Syntax
lakerSetBrowserWnd -show 0|1
Returns
None
Arguments
Argument

Description

-show 0|1

Valid values: Boolean values, 0 and 1.


1 : Show the Design Browser pane.
0 : Hide the Design Browser pane.

Examples
# Show the Design Browser pane
lakerSetBrowserWnd -show 1

lakerSetObjType
The lakerSetObjType command setups the selectability, visibility, and offgrid checking of objects.
Syntax
lakerSetObjType -obj obj -sel 0|1 -vis 0|1 -grid 0|1
Returns
None
Arguments

1106

Argument

Description

-grid 0|1

Valid values: Boolean values, 0 and 1.


1 : Use off-grid checking. This is not valid for InstancePin,
Region, and MWRouteGuide.
0 : Do not use off-grid checking.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Argument

Description

-obj obj

Specify the object type.


Valid values: All, Rectangle, Polygon, Path, Text,
Ellipse, Doughnut, Route, Instance, InstancePin,
Array, Device, Contact, Transistor, Resistor,
Capacitor, GuardRing, StackedPath, DimensionMark,
RulerLabel, Region, and MWRouteGuide.

-sel 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the selectability of objects. This is not valid for
MWRouteGuide.
0 : Disable the selectability of objects.

-vis 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the visibility of objects. This is not valid for
InstancePin.
0 : Disable the visibility of objects.

Examples
lakerSetObjType -obj All -sel 0 -vis 1 -grid 1
lakerSetObjType -obj All -sel 1
lakerSetObjType -obj InstancePin -sel 0

See Also
Home Page: Options > Preferences > Object tab

lakerSetPromptDefinition
The lakerSetPromptDefinition command sets/replaces the definitions of
prompts for a device into the cell view.
Syntax
lakerSetPromptDefinition -lib libName -cell cellName -view
ViewName -content PromptDefinition
Returns
1 if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

1107

Chapter 7: Layout Window


Miscellaneous

Arguments
Argument

Description

-cell cellName

Specify the cell to be retrieved.

-content PromptDefinition

Specify the definition of prompts.

-lib libName

Specify the library database.

-view viewName

Specify the view name of the cell.

Examples
lakerSetPromptDefinition -lib DevPrompt -cell Tr1 \
-view pcc -content { ... }

See Also
lakerGetPromptDefinition
lakerRmPromptDefinition

lakerSetSchematicAWnd
The lakerSetSchematicAWnd command shows or hides the stand-alone
Schematic window.
Syntax
lakerSetSchematicAWnd -show 0|1
Returns
None
Arguments
Argument

Description

-show 0|1

Valid values: Boolean values, 0 and 1.


1 : Show the stand-alone Schematic window.
0 : Hide the stand-alone Schematic window.

Examples
# show the stand-alone Schematic window
lakerSetSchematicAWnd -show 1

1108

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

lakerSetSchematicFWnd
The lakerSetSchematicFWnd command shows or hides the schematic
floating window.
Syntax
lakerSetSchematicFWnd -show 0|1
Returns
None
Arguments
Argument

Description

-show 0|1

Valid values: Boolean values, 0 and 1.


1 : Showthe schematic floating window.
0 : Hide the schematic floating window.

Examples
# Example 1
# Show the schematic floating window
lakerSetSchematicFWnd -show 1

lakerSetSchematicWnd
The lakerSetSchematicWnd command shows or hides the Schematic
window.
Syntax
lakerSetSchematicWnd -show 0|1
Returns
None
Arguments
Argument

Description

-show 0|1

Valid values: Boolean values, 0 and 1.


1 : Show the Schematic window.
0 : Hide the Schematic window.

Laker Tcl Reference Manual


K-2015.06

1109

Chapter 7: Layout Window


Miscellaneous

Examples
# Example 1
# Show the schematic window
lakerSetSchematicWnd -show 1

lakerShiftCursorDown
The lakerShiftCursorDown command shifts the cursor downwards one
unit. If the Snap Cursor to Minor Ratio option is turned on, the one unit
means Ratio*Minor_X_Spacing; otherwise, it is the Minimum Resolution.
Syntax
lakerShiftCursorDown
Returns
None
Examples
lakerShiftCursorDown

See Also
lakerShiftCursorUp
lakerShiftCursorLeft
lakerShiftCursorRight

lakerShiftCursorLeft
The lakerShiftCursorLeft command shifts the cursor leftwards one unit.
If the Snap Cursor to Minor Ratio option is turned on, the one unit means
Ratio*Minor_Y_Spacing; otherwise, it is the Minimum Resolution.
Syntax
lakerShiftCursorLeft
Returns
None
Examples
lakerShiftCursorLeft

See Also
lakerShiftCursorDown
1110

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

lakerShiftCursorUp
lakerShiftCursorRight

lakerShiftCursorRight
The lakerShiftCursorRight command shifts the cursor rightwards one
unit. If the Snap Cursor to Minor Ratio option is turned on, the one unit
means Ratio*Minor_Y_Spacing; otherwise, it is the Minimum Resolution.
Syntax
lakerShiftCursorRight
Returns
None
Examples
lakerShiftCursorRight

See Also
lakerShiftCursorUp
lakerShiftCursorLeft
lakerShiftCursorDown

lakerShiftCursorUp
The lakerShiftCursorUp command shifts the cursor upwards one unit. If
the Snap Cursor to Minor Ratio option is turned on, the one unit means
Ratio*Minor_X_Spacing; otherwise, it is the Minimum Resolution.
Syntax
lakerShiftCursorUp
Returns
None
Examples
lakerShiftCursorUp

See Also
lakerShiftCursorDown

Laker Tcl Reference Manual


K-2015.06

1111

Chapter 7: Layout Window


Miscellaneous

lakerShiftCursorLeft
lakerShiftCursorRight

lakerStartDevPara
The lakerStartDevPara command sets the top cell information of device
paramters modification. This command is used in combination with the
lakerUpdateDevPara and lakerFinishDevPara commands.
For large amount of device data to be modified, use the lakerStartDevPara,
lakerUpdateDevPara, and lakerFinishDevPara commands to modify the device
parameter(s) from specified top cell. These commands can only be used for
inactive libraries, which do not have any opening cell views.
Syntax
lakerStartDevPara -libName libName -topCellName topCellName
-viewName viewName -delimiter delimiter
Returns
None
Arguments
Argument

Description

-delimiter
delimiter

Specify the delimiter (default=HierarchyDelimiter in the


laker.rc file).

-libName
libName

Specify the library name.

-topCellName
topCellName

Specify the top cell name.

-viewName
viewName

Specify the view name (default=schematic).

Examples
lakerStartDevPara -delim / -libName design -topCell top \
-view schematic
lakerUpdateDevPara -name U1 -cell IV -point {0 20} \
-parameter {W 0.000006}

1112

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

lakerUpdateDevPara -name I0/U1 -cell IV -point {10 10} \


-parameter {W 0.000006}
lakerUpdateDevPara -name I0/U2 -cell IV -point {10 20} \
-parameter {W 0.000006}
lakerUpdateDevPara -name I0/U3 -cell IV -point {10 30} \
-parameter {W 0.000006}
lakerUpdateDevPara -name I0/U4 -cell IV -point {10 40} \
-parameter {W 0.000006}
lakerUpdateDevPara -name U2 -cell IV -point {0 0} \
-parameter {W 0.000006} {L 0.000005}
lakerFinishDevPara

See Also
lakerFinishDevPara
lakerUpdateDevPara
lakerUpdateSingleDevPara

lakerSocketClientSend
The lakerSocketClientSend command sends data out by the specified
TCP/IP socket port; and then waits for response from the same socket port.
Syntax
lakerSocketClientSend -host hostName -port portNum -str
content
Returns
None
Arguments
Argument

Description

-host hostName

Specify the host that TCP/IP socket port belongs. The


default value is localhost.

-port portNum

Specify the port number of TCP/IP socket port.

-str content

Specify the content to send out by the specified TCP/IP


socket port.

Laker Tcl Reference Manual


K-2015.06

1113

Chapter 7: Layout Window


Miscellaneous

Examples
# Send a string out by a specified TCP/IP socket port
lakerSocketClientSend -port 9189 -str {Test TCP/IP socket.}

lakerTransSchLogicName
The lakerTransSchLogicName command translates instance/net names
between the schematic and logic. This command is used for Laker/Composer
Integration.
Syntax
lakerTransSchLogicName -type (instance | net) -logicName
logicNameList
lakerTransSchLogicName -type (instance | net) -schName
schNameList [-fullScope 0|1]
Returns
List of the translated results if successful; otherwise, returns 0.
Arguments
Argument

Description

-fullScope 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Translated result name is in full scope.
0 : Translated result name is not in full scope.

-logicName
logicNameList

Specify the logic object name list that needs to be translated


into the schematic object name list.

-schName
schNameList

Specify the schematic object name list that needs to be


translated into logic object name list.

-type typeName

Specify the translated object type.


Valid values: instance, and net (default=instance).

Examples
lakerTransSchLogicName -schName {Adder/Sum Adder/SumX} \
-fullScope 0

1114

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

lakerUpdateDevPara
This lakerUpdateDevPara command updates the top cell information of
device paramter(s) modification. This command is used in combination with the
lakerStartDevPara and lakerFinishDevPara commands.
For large amount of device data to be modified, use the lakerStartDevPara,
lakerUpdateDevPara, and lakerFinishDevPara commands to modify the device
parameter(s) from specified top cell.
Syntax
lakerUpdateDevPara -name instName -cell cellName -point
point -parameter paraList
Returns
None
Arguments
Argument

Description

-cell cellName

Specify the master cell name.

-name instName

Specify the instance name with its full path.

-parameter paraList

Declare a list of parameter pairs. A parameter pair


consists of a parameter name and a parameter value. For
example:
{W 0.000006} {L 0.000005}.

-point point

Declare the coordinate of the instance in the schematic


database. This is not kept in the Laker database at the
current stage.

Laker Tcl Reference Manual


K-2015.06

1115

Chapter 7: Layout Window


Miscellaneous

Examples
lakerStartDevPara -delim / -libName design -topCell top -view
schematic
lakerUpdateDevPara -name U1 -cell IV -point {0 20} -parameter {W
0.000006}
lakerUpdateDevPara -name I0/U1 -cell IV -point {10 10} -parameter
{W 0.000006}
lakerUpdateDevPara -name I0/U2 -cell IV -point {10 20} -parameter
{W 0.000006}
lakerUpdateDevPara -name I0/U3 -cell IV -point {10 30} -parameter
{W 0.000006}
lakerUpdateDevPara -name I0/U4 -cell IV -point {10 40} -parameter
{W 0.000006}
lakerUpdateDevPara -name U2 -cell IV -point {0 0} \
-parameter {W 0.000006} {L 0.000005}
lakerFinishDevPara

See Also
lakerStartDevPara
lakerFinishDevPara
lakerUpdateSingleDevPara

lakerUpdateSingleDevPara
This lakerUpdateSingleDevPara command updates parameters of a
single device, saves related schematic cell views and refreshes the tree
structure. It is used to replace the lakerStartDevPara, lakerUpdateDevPara,
and lakerFinishDevPara commands.
If there is only a few devices to be modified, use this command for a single
device modification.
Syntax
lakerUpdateSingleDevPara -topCellId topCellID -name
instName -cell cellName -point point -parameter paraList
Returns
None
Arguments

1116

Argument

Description

-cell cellName

Specify the master cell name.

-name instName

Specify the instance name with its full path.

Laker Tcl Reference Manual


K-2015.06

Chapter 7: Layout Window


Miscellaneous

Argument

Description

-parameter paraList

Declare a list of parameter pairs. A parameter pair


consists of a parameter name and a parameter value.
For example:
{W 0.000006} {L 0.000005}.

-point point

Declare the coordinate of the instance in the schematic


database. This is not kept in the Laker database at the
current stage.

-topCellId topCellID

Specify the top cell view identifier.

Examples
lakerCDLIn -file upPara.sp -lib upPara -forkChild 0 \
-ps 0 -case Preserve
lakerNewCell -lib upPara -cell VNot
set topId [dbOpenCV -lib upPara -cell Top -view schematic]
lakerUpdateSingleDevPara -topCellId $topId -name xI0/mn2 \
-cell n -parameter {W 0.000006}
lakerUpdateSingleDevPara -topCellId
-cell p -parameter {W 0.000012}

$topId -name xI0/mp1 \

dbCloseCV -cv $topId

See Also
lakerStartDevPara
lakerUpdateDevPara
lakerFinishDevPara

Laker Tcl Reference Manual


K-2015.06

1117

Chapter 7: Layout Window


Miscellaneous

1118

Laker Tcl Reference Manual


K-2015.06

8
Custom Digital Router

This section describes the definable Tcl commands applied to the Custom
Digital Router commands of the Layout window. These commands and
arguments are sorted alphabetically.

To quickly query the syntax of a particular Tcl command, type -help or -h in


the message frame of the Home Page.
The Custom Digital Router Tcl commands are listed as follows. Tcl commands
and arguments are sorted alphabetically.

analyzeConnectivity

analyzeRoute

changeRouteTypeStatus

checkAntenna

checkConnectivity

checkExistingVio

checkSuboptimal

checkTieHiLo

checkViolation

createBone

createBoneConst

createChannel

createRouteRule

deleteRoute

deleteRouteRule

Laker Tcl Reference Manual


K-2015.06

1119

Chapter 8: Custom Digital Router

1120

deleteVioNet

dumpRoutingConstraintTemplate

fillNotchGap

fixAntenna

fixNetRatio

fixRoutePattern

fixViolation

insertDFMVia

insertDoubleVia

lakerCDRIn

lakerCDROut

removeDoubleVia

replaceStdVia

reportCorner

reportDesign

reportJog

reportRouteInfo

reportRouteRule

reportRule

reportSpine

routeBlockRing

routeBlockWire

routeNet

routeRail

routeRing

routeStripe

setIgnoredNetsInRouting

setOption

setRouteRule

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


analyzeConnectivity

setRoutingConstraint

setRoutingLayer

reportSuggestedPitch

analyzeConnectivity
The analyzeConnectivity command analyzes the connectivity of one net
only and show the results in various colors on the GUI.
Syntax
analyzeConnectivity -net netName [-synopsys | -cadence |
-magma | -springSoft]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-cadence

Set the connectivity model as Cadence mode.

-magma

Set the connectivity model as Magma mode.

-net netName

Check the connectivity of the specified net.

-springSoft

Set the connectivity model as SpringSoft mode. This is


the default model.

-synopsys

Set the connectivity model as Synopsys mode.

Examples
# Example 1
analyzeConnectivity -net myNet -springSoft

See Also
checkConnectivity

Laker Tcl Reference Manual


K-2015.06

1121

Chapter 8: Custom Digital Router


analyzeRoute

analyzeRoute
The analyzeRoute command analyzes the routing shapes of specified nets,
and reports the statistic information of specified nets.
Syntax
analyzeRoute [-net string] [-minRatio double] [-reportLimit
integer] [-netRatio] [-viaPinRatio] [-layer string] [useHPWL]
Returns
1 if successful; otherwise, returns 0.
Arguments

1122

Argument

Description

-layer string

Sort the results by the wire length of the specified layer.


This argument cannot be specified with -netRatio
and -viaPinRatio.

-minRatio double

Report a net if the ratio is greater than the specified


value.
Valid value: a floating number (default=2.0).

-net string

Specify the net name pattern.

-netRatio

Report a net if its total wire length to the Manhattan


distance is greater than the minimum ratio.

-reportLimit integer

Specify the maximum number of reported nets.


Valid value: an integer (default=200).

-useHPWL

Use a half perimeter of the net bounding box, instead of


the Manhattan distance for the calculation of
netRatio.

-viaPinRatio

Report a net if its total via count to the pin count is


greater than the minimum ratio.

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


changeRouteTypeStatus

Examples
# Example 1
analyzeRoute
# Example 2
analyzeRoute -net { netToBeAnalyzed }
# Example 3
analyzeRoute -minRatio 4 -netRatio -reportLimit 50

See Also
checkConnectivity
routeNet

changeRouteTypeStatus
The changeRouteTypeStatus command changes the route status and route
type of physical shapes.
Syntax
changeRouteTypeStatus [-net string] [-allSignalNets] [allPGNets] [-default] [-free] [-fixed] [-stripe] [normal] [-dryRun] [-verbose] [-viaOnly] [-wireOnly] [spineOnly] [-wireGreaterThanMinWidth] [wireGreaterThanVarWidth] [-wireWithMinWidth] [viaWithMinimumCut integer] [-viaWithMasterName string]
[-onlyChangeNonPrewire]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-allPGNets

Apply changes to all power/ground (PG) nets.

-allSignalNets

Apply changes to all signal nets.

Laker Tcl Reference Manual


K-2015.06

1123

Chapter 8: Custom Digital Router


changeRouteTypeStatus

Argument

Description

-default

Perform all common route type changes, including:

Apply status change to all shapes of PG nets.


Mark all normal/special and free PG wires (nonmin-width wires) as fixed.

Mark all normal/special and free PG vias with more


than 2 cuts as fixed.
When -default is specified, any other conflict
arguments are ignored.

1124

-dryRun

Go through the nets, dry-run the changes without


changing anything for real.

-fixed

Change the route status as fixed.

-free

Change the route status as free.

-net string

Specify the net name (or name pattern) of routes to be


changed.

-normal

Change the route type as normal.

-onlyChangeNonPrewire

Only apply changes to non-prewire wires/vias.

-spineOnly

Only perform on spine wires.

-stripe

Change the route type as stripe.

-verbose

Only change the route type/status of spine wires (skip


vias/normal wires).

-viaOnly

Only change the route type/status on vias.

-viaWithMasterName string

Change all vias with the specified master name.

-viaWithMinimumCut
integer

Change the routes of the vias with the number of cuts


that is greater than or equal to the specified value.

-wireGreaterThanMinWidth

Change the routes of the wires with width greater than


the minimum width of the layer.

-wireGreaterThanVarWidth

Change the routes of the wires with width greater than


the var-width of the layer.

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


checkAntenna

Argument

Description

-wireOnly

Only change the route type/status on wires.

-wireWithMinWidth

Change the routes of the wires with width equal to the


minimum width of the layer.

Examples
# Example 1
changeRouteTypeStatus -default
# Example 2
changeRouteTypeStatus -spineOnly -fixed
# Example 3
changeRouteTypeStatus -allPGNets -stripe

See Also
deleteRoute

checkAntenna
The checkAntenna command checks antenna violations.
Syntax
checkAntenna [-threads threadsNum ] [-net netName] [reportFile fileName [-showAll]]
Returns
None
Arguments
Argument

Description

-net netName

Only check antenna violations for the specified net. The


wildcard character * is supported.

-reportFile fileName

Report the detailed information of antenna violations in


a specified file.

-showAll

Report all antenna information in the file (including


violations).

Laker Tcl Reference Manual


K-2015.06

1125

Chapter 8: Custom Digital Router


checkConnectivity

Argument

Description

-threads threadsNum

Specify the number of threads used for checking


antenna violations.
Valid value: an integer.

Examples
# Example 1
# Check antenna violations for all nets except Power/Ground
checkAntenna
# Example 2
# Only check antenna violations for net myNet1
checkAntenna -net myNet1
# Example 3
# Check antenna violations for the nets with prefix my
checkAntenna -net my*

See Also
fixAntenna

checkConnectivity
The checkConnectivity command checks the physical connectivity status
of a pin. It traverses from the driving pin (if it has port shapes).
Syntax
checkConnectivity [-synopsys | -cadence | -magma | springSoft] [-net netName] [-threads threadsNum] [skipNoRouteNets] [-skipPGNets] [-checkPGPins] [incremental] [-checkShapes]
Returns
1 if successful; otherwise, returns 0.
Arguments

1126

Argument

Description

-cadence

Set the connectivity model as Cadence mode.

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


checkConnectivity

Argument

Description

-checkPGPins

When it is specified, PG pins connectivity in PG nets are


checked. When it is not specified, only tie-Hi/Lo pins are
be checked.

-checkShapes

Check open shapes as in analyzeConnectivity.

-incremental

Check connectivity incrementally based on the touched


connection of pins.

-magma

Set the connectivity model as Magma mode.

-net netName

Check the openness of one net only and generate a


detailed report for the specified net.
The -net and -threads arguments cannot be
specified simultaneously.

-skipNoRouteNets

Do not report open nets that have no routing (totally


unrouted nets).
The -net and -skipNoRouteNets arguments cannot
be specified simultaneously.

-skipPGNets

Do not report the checking of PG nets for connectivity.


The -net and -skipPGNets arguments cannot be
specified simultaneously.

-springSoft

Set the connectivity model as SpringSoft mode. This is


the default model.

-synopsys

Set the connectivity model as Synopsys mode.

-threads threadsNum

Specify the number of threads used for openness


checking. The default is the maximum avaliable CPU
threads.
Valid value: an integer.

Examples
# Example 1
checkConnectivity -springSoft -threads 4
# Example 2
checkConnectivity -magma -net myNet

Laker Tcl Reference Manual


K-2015.06

1127

Chapter 8: Custom Digital Router


checkExistingVio

See Also
analyzeRoute

checkExistingVio
The checkExistingVio command checks the existing DRC violations for
pins in the cell.
Syntax
checkExistingVio [-threads threadsNum] [-selectedTypeOnly]
[-signalOnly]
Returns
None
Arguments
Argument

Description

-selectedTypeOnly

Only report violations for the selected type.

-signalOnly

Skip checking PG instance pins. Only report a violation


if the port-rect belongs to a signal pin.

-threads threadsNum

Specify the number of threads used for violation


checking.
Valid value: an integer, from 1 to 4.

Examples
# Example 1
checkExistingVio -signalOnly
# Example 2
checkExistingVio -selectedTypeOnly

See Also
checkViolation

1128

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


checkSuboptimal

checkSuboptimal
The checkSuboptimal command checks the sub-optimal routing shapes.
Syntax
checkSuboptimal [-threads threadsNum] [-signalOnly] [freeOnly]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-freeOnly

Only report a sub-optimal if it is related to a status-free


(not fixed) shape.

-signalOnly

Only report a sub-optimal route if it is related to a signal


or tie-hi/lo net shape.

-threads threadsNum

Specify the threads used for sub-optimal route checking.


Valid value: an integer.

Examples
# Example 1
checkSuboptimal

See Also
checkViolation
checkExistingVio
fixRoutePattern
fixNetRatio

checkTieHiLo
The checkTieHiLo command checks the physical connectivity status of a tiehi/lo pin. It traverses from a tie-hi/lo pin (the signal port that is connected to a
PG net) to PG pre-wires.

Laker Tcl Reference Manual


K-2015.06

1129

Chapter 8: Custom Digital Router


checkViolation

Syntax
checkTieHiLo [-threads threadsNum] [-net netName] [-synopsys
| -cadence | -magma | -springSoft]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-cadence

Set the connectivity model as Cadence mode.

-magma

Set the connectivity model as Magma mode.

-net netName

Check the tie-hi/lo openness of one net only and


generate a detailed report for the specified net.
The -net and -threads arguments cannot be
specified simultaneously.

-springSoft

Set the connectivity model as SpringSoft mode. This is


the default model.

-synopsys

Set the connectivity model as Synopsys mode.

-threads threadsNum

Specify the number of threads used for checking tie-hi/lo


openness. The default is the maximum avaliable CPU
threads.
Valid value: an integer.

Examples
# Example 1
checkTieHiLo -springSoft -threads 4
# Example 2
checkTieHiLo -cadence -net myNet

See Also
checkConnectivity

checkViolation
The checkViolation command checks existing DRC violations.

1130

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


createBone

Syntax
checkViolation [-threads threadsNum] [-selectedTypeOnly] [signalOnly] [-freeOnly] [-net string]
Returns
None
Arguments
Argument

Description

-freeOnly

Only check violations related to the wires or vias that


have a ROUTED route status.

-net string

Only check violations related to the wires and vias of the


specified net.

-selectedTypeOnly

Only check violations for the specified violation type.

-signalOnly

Only check violations related to a signal wire/via or tiehi/lo net shapes. A signal wire and via are defined by the
wires and vias that have a NONE route type.

-threads threadsNum

Specify the number of threads used for violation


checking.
Valid value: an integer, from 1 to 4 (default=4).

Examples
# Example 1
checkViolation -signalOnly
# Example 2
checkViolation -selectedTypeOnly

See Also
checkExistingVio
checkSuboptimal
fixRoutePattern
insertDFMVia

createBone
The createBone command creates the positions of all bone shapes to the file.
Laker Tcl Reference Manual
K-2015.06

1131

Chapter 8: Custom Digital Router


createBoneConst

Syntax
createBone [-dumpFile fileName]
Returns
None
Arguments
Argument

Description

-dumpFile fileName

Specify the file name to dump the positions of all bone


shapes.

Examples
# Example 1
-createBone -dumpFile bone.txt

See Also
createBoneConst
createChannel

createBoneConst
The createBoneConst command creates the constraints of bone and
shielding.
Syntax
createBoneConst -net netName -width width -spacing spacing
-layer layer [-order order] [-compact] \
[-channel channel][-bindNet bindNet][-fullTrack]\
[-shieldingNet netName][-shieldingWidth width]\
[-shieldingSpacing spacing]
Returns
None
Arguments

1132

Argument

Description

-bindNet bindNet

Specify the binding nets that bones of all binding nets


should be created on the same track.

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


createChannel

Argument

Description

-channel channel

Specify a channel that the bone can be placed.

-compact

All bones in the channel are compacted to the top.

-fullTrack

Specify the bone to be created from the left to the right.

-layer layer

Specify the left coordinate of the channel.

-net netName

Specify the net name.

-order order

Specify the compact order.

-shieldingNet netName Specify the name of the shielding net.


-shieldingSpacing
spacing

Specify the spacing of the shielding net.

-shieldingWidth width

Specify the width of the shielding net.

-spacing spacing

Specify the width of the spacing.

-width width

Specify the width of the bone.

Examples
# Example 1
-createBoneConst -net IN_TOPB -order 5 -compact -channel C1 \
-width 6 -spacing 6 -layer metal2 -fullTrack \
-shieldingNet gnd! -shieldingWidth 12

See Also
createBone
createChannel

createChannel
The createChannel command creates a channel that constrains bones to be
created in the channel area.

Laker Tcl Reference Manual


K-2015.06

1133

Chapter 8: Custom Digital Router


createRouteRule

Syntax
createChannel -name name -start start -end end [-left left]
[-right right] [-compactTop]
Returns
None
Arguments
Argument

Description

-compactTop

All bones in the channel are compacted to the top.

-end end

Specify the top coordinate of the channel.

-left left

Specify the left coordinate of the channel.

-name name

Specify the name of the channel.

-right right

Specify the right coordinate of the channel.

-start start

Specify the bottom coordinate of the channel.

Examples
# Example 1
-createChannel -name C3 -start 7557 -end 7961 -left 42600 \
-right 48600 -compactTop

See Also
createBone
createBoneConst

createRouteRule
The createRouteRule command creates non-default rules.
Syntax
createRouteRule [-rule string] [-refRule string] [-wireWidth
string] [-wireSpacing string] [-wireWidthMultiplier
string] [-wireSpacingMultiplier string] [-minLayer
string] [-maxLayer string]

1134

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


createRouteRule

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-maxLayer string

Specify the name of maxLayer for routing.

-minLayer string

Specify the name of minLayer for routing.

-refRule string

Specify the name of the reference route rule.

-rule string

Specify the name of the route rule.

-wireSpacing string

Specify the desired wire spacing on the specified layer


with the following format: {layerName1
wireSpacing1 ... layerNameN wireSpacingN}.

-wireSpacingMultiplier
string

Specify the desired wire spacing multiplier on the


specified layer with the following format: {layerName1
wireSpacingMultiplier1 ... layerNameN
wireSpacingMultiplierN}.

-wireWidth string

Specify the desired wire width on the specified layer with


the following format: {layerName1 wireWidth1 ...
layerNameN wireWidthN}.

-wireWidthMultiplier
string

Specify the desired wire width multiplier on the specified


layer with the following format: {layerName1
wireWidthMultiplier1 ... layerNameN
wireWidthMultiplierN}.

Examples
# Example 1
createRouteRule -rule double_Width \
-wireWidth { metal1 0.23 metal2 0.28 metal3 0.56 metal4 0.88 }
# Example 2
createRouteRule -rule double_Spacing \
-wireSpacing { metal1 0.23 metal2 0.28 metal3 0.56 metal4 0.92 }
# Example 3
createRouteRule -rule myRule -wireWidth { M1 0.1}

Laker Tcl Reference Manual


K-2015.06

1135

Chapter 8: Custom Digital Router


deleteRoute

See Also
reportRouteRule
deleteRouteRule

deleteRoute
The deleteRoute command deletes the routes for specified nets.
Syntax
deleteRoute [-netNames {net1 net2 ... netn}] [-allNets]
[-types {types}] [-allSignals] [-subTypes {sub_types}]
Returns
1 if successful; otherwise, returns 0 (if a fatal error occurs).
Arguments
Argument

Description

-allNets

Delete routes for all nets.

-allSignals

Delete routes for signal-type nets (including tie-hi/lo nets).

-netNames
{net1 net2 ... netn}

Specify the net names of the routes to be deleted by the


wildcard character * or regular expressions. If more than
one expression is specified, separate the net names with
spaces and enclose the expressions with parentheses {}.

-subTypes
{sub_types}

Delete the shapes that match the subtypes of the specified


nets.
Valid values: RING, STRIPE, FOLLOWPIN, PINCONN,
IOWIRE, COREWIRE, and BLOCKWIRE.

-types {types}

Delete the routes that match the type of the specified nets.
Valid values: PG and SIGNAL.

Examples
# Example 1
# Delete routes of nets a and b
deleteRoute -netNames {a b}

1136

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


deleteRouteRule

# Example 2
# Delete RING and STRIPE shapes of PG nets
deleteRoute -types PG -subtypes {RING STRIPE}

See Also
routeNet

deleteRouteRule
The deleteRouteRule command deletes non-default rules.
Syntax
deleteRouteRule [-all] [-rule string]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-all

Delete all route rules.

-rule string

Specify the name of the route rule to be deleted.

Examples
# Example 1
deleteRouteRule -all
# Example 2
deleteRouteRule -rule myRule

See Also
createRouteRule
reportRouteRule

deleteVioNet
The deleteVioNet command deletes the specified nets for all routing shapes
with violations.

Laker Tcl Reference Manual


K-2015.06

1137

Chapter 8: Custom Digital Router


dumpRoutingConstraintTemplate

Syntax
deleteVioNet [-nets string]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-nets string

Specify the names of nets to be deleted for all shapes with


violations. Multiple net names must be separated by
spaces, for example: -nets {net1 ... netN}. The
wildcard character * is supported.

Examples
# Example 1
# Delete the specific violated nets
deleteVioNet -nets {vioNet1 vioNet2 vioNet3}
# Example 2
# Delete the specific violated nets by using the wildcard *
deleteVioNet -nets {vioNet*}

dumpRoutingConstraintTemplate
The dumpRoutingConstraintTemplate command dumps the routing
constraints to a specified file.
Syntax
dumpRoutingConstraintTemplate -file string
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-file string

Specify the filename of the routing constraint template file.

Examples
# Example 1
dumpRoutingConstraintTemplate -file route1

1138

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


fillNotchGap

fillNotchGap
The fillNotchGap command fills the notch/gap for DRC.
Syntax
fillNotchGap [-signalOnly] [-freeOnly] [-remove] [-threads
treadsNum]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-freeOnly

Only fill the notch/gap if it is related to a status-free (not


fixed) shape.

-remove

Remove all notch/gap fill shapes (NetRect) from the


design.

-signalOnly

Only fill the notch/gap if it is related to a signal or tie-hi/lo


net shape.

-threads threadsNum Specify the number of threads used for notch/gap filling.
Valid value: an integer.

Examples
# Example 1
fillNotchGap
# Example 2
fillNotchGap -remove

See Also
checkViolation
fixViolation

fixAntenna
The fixAntenna command is used to fix antenna violations.

Laker Tcl Reference Manual


K-2015.06

1139

Chapter 8: Custom Digital Router


fixAntenna

Syntax
fixAntenna [-net netName] [-useDiodeInsertion -power name
-ground name [-diodeCells name] [-diodePrefix name]]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-diodeCells name

Specify the name of cells to be used as diodes. The


default is all ANTENNACELL types. The wildcard character
* is supported.

-diodePrefix name

Specify the prefix string for diode instance names in the


following format: <unique_instancePrefix> <cell
name> + PLACED <location> <orientation>. The
default prefix is antennaDiode. For example:
antennaDiode86 ANTENNA + PLACED ( 2807660
11612000 ) N

-ground name

Specify the ground net name to assign to the ground pin


of the cell.

-net netName

Only fix antenna violations for the specified nets. The


default is all nets. The wildcard character * is supported.

-power name

Specify the power net name to assign to the power pin of


the cell.

-useDiodeInsertion

Include the diode insertion in the fixing algorithm.

Examples
# Example 1
# Fix antenna violations
fixAntenna
# Example 2
# Fix antenna violations of nets with prefix op
fixAntenna -net {op*}
# Example 3
# Fix antenna violations and use the diode insertion
fixAntenna -useDiodeInsertion -power VDD -ground VSS

1140

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


fixNetRatio

See Also
checkAntenna

fixNetRatio
The fixNetRatio command is used to fix high net ratios.
Syntax
fixNetRatio [-threads threadsNum] [-iteration integer]
[-area string] [-ratioLimit double]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-area string

Only fix the net ratio on the area formed by {x1 y1 x2


y2}.

-iteration integer

Specify the number of iterations.


Valid value: an integer (default=5).

-ratioLimit double

Only fix nets with ratio greater than or equal to the


specified value.
Valid value: a floating number (default=1.5).

-threads threadsNum

Specify the number of threads used for net ratio fixing.


Valid value: an integer (default=4).

Examples
# Example 1
fixNetRatio
# Example 2
fixNetRatio -iteration 10
# Example 3
fixNetRatio -ratioLimit 3.0

See Also
checkViolation

Laker Tcl Reference Manual


K-2015.06

1141

Chapter 8: Custom Digital Router


fixRoutePattern

checkSuboptimal
fixRoutePattern
analyzeRoute

fixRoutePattern
The fixRoutePattern command fixes sub-optimal route patterns by
eliminating unnecessary U, Z, and W shapes at the post-routing stage. No
violation is created after pattern fixing if the input design is DRC clean.
Syntax
fixRoutePattern [-threads threadsNum] [-iteration integer]
[-area string] [-wrongWayLimit length | -wrongWayLength
length]
Returns
1 if successful; otherwise, returns 0.
Arguments

1142

Argument

Description

-area string

Only fix the route pattern on the area formed by {x1 y1


x2 y2}. When it is not specified, fix the route pattern for
the whole design.

-iteration integer

Specify the number of iterations.


Valid value: an integer (default=5).

-threads threadsNum

Specify the number of threads used for route pattern


fixing.
Valid value: an integer (default=4).

-wrongWayLength
length

Set the limit on the length (represented in microns) of


wrong way wires generated to replace vias. When it is not
specified or a negative number is assigned, the wrong
way wire can be used unlimitedly.
Valid value: a floating number (default=unlimited).

-wrongWayLimit
length

Set the limit on the length (represented in the multiple of


the wire width) of wrong way wires generated to replace
vias.
Valid value: a floating number (default=unlimited).

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


fixViolation

Examples
# Example 1
fixRoutePattern
# Example 2
# Fix the routing pattern for the whole design with 10 iterations
and
# 1 thread. While generating a wrong way wire to replace a via, use
# the wire segment with length less than or equal to 5*wireWidth
fixRoutePattern -iteration 10 -thread 1 -wrongWayLimit 5
# Example 3
# Fix the routing pattern for the whole design with 5 iterations and
# 4 threads. While generating a wrong way wire to replace a via, use
# the wire segment with length less than or equal to 10 microns.
fixRoutePattern -wrongWayLength 10

See Also
checkViolation
checkSuboptimal
fixViolation

fixViolation
The fixViolation command fixes all design violations including simple
shorts, spacing, and nano-meter rules, for example: fat spacing or minimum
edge. It also connects tie-hi/lo nets and fixes sub-optimal route patterns.
Syntax
fixViolation [-threads threadsNum] [-skipVioChecking]
[-incremental] [-iteration integer] [-area string] [onGrid] [-noPushing] [-checkTopPinMA] [-useDoubleVia] [avoidM1WireTouchPin] [-verbose]
Returns
The violation fixing progressive messages if successful; otherwise, returns
nothing.
Arguments
Argument

Description

-area string

Only fix violations on the area formed by {x1 y1 x2


y2}.

Laker Tcl Reference Manual


K-2015.06

1143

Chapter 8: Custom Digital Router


fixViolation

Argument

Description

-avoidM1WireTouchPin

Only use vias to touch M1 pins.

-checkTopPinMA

Check and fix the minimum area violation on the toplevel pins.

-incremental

Only check nets (with drcDirty bit marked) to save


time.

-iteration integer

Specify the number of iterations.


Valid value: an integer (default=5).

-noPushing

Do not use pushing to resolve violations.

-onGrid

Try routing on major grids (tracks).

-skipVioChecking

Use existing violation set, skip re-checking to save


time.

-threads threadsNum

Specify the number of threads used for violation fixing.


Valid value: an integer, from 0 to 8 (default=1).

-useDoubleVia

Use double vias in routing.

-verbose

Generate more messages about the progress of


violation fixing.

Examples
# Example 1
fixViolation
# Example 2
fixViolation -onGrid -thread 4
# Example 3
fixViolation -iteration 50 -thread 4

See Also
checkViolation
checkSuboptimal
fixRoutePattern
setRoutingLayer

1144

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


insertDFMVia

insertDFMVia
The insertDFMVia command replaces single cut vias in the design based on
the system-defined DFM priority. It does not touch single cut vias if the
replacement introduces violations. If the DFM priority for vias is not defined in
the technology, no replacements occur.
Syntax
insertDFMVia [-threads threadsNum] [-withPushing] [-report
[-showLayerBreakdown] [-skipPGMCVia]]
Returns
1 if successful; otherwise, returns 0 (if a fatal error occurs).
Arguments
Argument

Description

-report

Skip the replacement and only show different priorities


of DFM vias in the final report.

-showLayerBreakdown

When it is specified, the final report shows different


priorities of DFM vias for each layer.
When it is not specified, the final report only shows
different priorities of DFM vias for the entire design.

-skipPGMCVia

Skip counting the multiple cut vias of PG nets in the


report to match the report percentages of GDS flow.

-threads threadsNum

Override the global thread count with a specified


number.
Valid value: an integer.

-withPushing

Use pushing to make a space for larger vias. This


usually results in a higher insertion rate.

Examples
# Example 1
# replace single cut vias with DFM priority via
insertDFMVia
# Example 2
# only report without replacement
insertDFMVia -report

Laker Tcl Reference Manual


K-2015.06

1145

Chapter 8: Custom Digital Router


insertDoubleVia

See Also
checkViolation

insertDoubleVia
The insertDoubleVia command replaces single cut vias in the design with
double cut vias. It does not touch single cut vias if the replacement introduces
violations.
Syntax
insertDoubleVia [-threads threadsNum] [-withPushing]
Returns
1 if successful; otherwise, returns 0 (if a fatal error occurs).
Arguments
Argument

Description

-threads threadsNum

Override the global thread count with a specified


number.
Valid value: an integer.

-withPushing

Use pushing to make a space for larger vias. This


usually results in a higher insertion rate.

Examples
# Example 1
# Replace single cut vias with double cut vias
insertDoubleVia
# Example 2
# Increase the success rate by using pushing
insertDoubleVia -withPushing

See Also
checkViolation
reportRouteInfo

1146

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


lakerCDRIn

lakerCDRIn
The lakerCDRIn command prepares the data for the Custom Digital Router.
Syntax
lakerCDRIn [-verbose number] [-defNDR] [-ruleSet ruleName]
[-autoDesignPitch] [-autoDesignTrack]
[-autoIdentifyAntCell] [-antCell {cellList}] [keepRouteStatus] [-topLevelMacroPin] [-propAllPortRect]
[-showRuleSet] [-poly2OutsideRect] [-skipConvertRoute]
[-notGenerateViaMaster] [-keepDEFTrackInfo] [notGenerateBoundaryBlk] [-extraCell] [-skipViaConvert
{cellName1 cellName2}] [-weakToMustjoin 0|1]
Returns
None
Arguments
Argument

Description

-antCell {cellList}

Treat the cells specified in the cell list as antenna


diode cells.

-autoDesignPitch

Automatically adjust the pitch and tracks.

-autoDesignTrack

Automatically adjust the offset of tracks by referring


half (1/2) of the vertical pitch, and 0 of the horizontal
pitch.

-autoIdentifyAntCell

Automatically extract cells with the ANTENNACELL


property. These cells are generally defined in the LEF
design.

-defNDR

Dump the NonDefaultRule definition in the DEF


file.

-extraCell

Specify the list of extra cell names and covert them.

-keepDEFTrackInfo

Convert the track information defined in the DEF file to


the track information in the Laker database.

-keepRouteStatus

Keep the route status by ignoring the checking of the


RouteAll property.

Laker Tcl Reference Manual


K-2015.06

1147

Chapter 8: Custom Digital Router


lakerCDRIn

Argument

Description

-notGenerateBoundaryBlk

Do not create the boundary blockage.

-notGenerateViaMaster

Do not generate a new via master rotated from the


original via master.

-poly2OutsideRect

Split polygon shapes into rectangles by using the


exterior-cut in instances.

-propAllPortRect

Propagate port shapes from the port shape at the top


level.

-ruleSet ruleName

Specify the ruleSet to be used for routing.

-showRuleSet

Show the rule setting.

-skipConvertRoute

Do not execute ConvertRoute.

-skipViaConvert
{cellName1 cellName2}

Do not convert specified cells as vias. Wildcard


characters are not supported.

-topLevelMacroPin

Only convert top level macro pins.

-verbose number

Show messages by the specified level.


Valid values: 0, 1, and 2 (default=1).
0 : Do not dump any messages.
1 : Dump simple messages.
2 : Dump detailed messages.

-weakToMustjoin 0|1

Valid values: 0 and 1 (default=1).

Examples
# Example 1
# Automatically adjust design tracks
lakerCDRIn -autoDesignTrack
# Example 2
# Display all supported arguments of lakerCDRIn
lakerCDRIn -help

1148

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


lakerCDROut

lakerCDROut
The lakerCDROut command outputs the data for the Custom Digital Router.
Syntax
lakerCDROut
Returns
None
Arguments
None
Examples
# Example 1
# Output data
lakerCDROut

removeDoubleVia
The removeDoubleVia command replaces double cut vias in the design with
single cut vias.
Syntax
removeDoubleVia [-net netName] [-checkConn] [-skipClock]
[-includeMultiCut]
Returns
1 if successful; otherwise, returns 0 (if a fatal error occurs).
Arguments
Argument

Description

-checkConn

Check the connectivity.

-includeMultiCut

Replace the via master (including the multi-cut via).

-net netName

Specify the net name of the via to be replaced.

-skipClock

Skip the clock net.

Laker Tcl Reference Manual


K-2015.06

1149

Chapter 8: Custom Digital Router


replaceStdVia

Examples
# Example 1
removeDoubleVia
# Example 2
removeDoubleVia -net myNet

See Also
insertDoubleVia

replaceStdVia
The replaceStdVia command replaces vias with a cut count less than or
equal to (<=) 2. If a via already has more than 2 cuts, the via is not replaced.
Syntax
replaceStdVia [-net netName] [-widthGE widthLBound]
Returns
None
Arguments
Argument

Description

-net netName

When specified, the replacement is only applied on nets


with names matching the pattern (specified by
netName).
When not specified, the replacement is applied on all
nets.

-widthGE widthLBound When specified, the replacement is only applied on vias


with the routing width of both the lower and upper metal
layers greater than or equal to widthLBound.

Examples
# Example 1
# For each via in a net with name matching N*, if the routing
# width of both the lower layer and upper layer is >= 4.0um,
# replace the via with a standard via
replaceStdVia -net N* -widthGE 4.0
# Example 2
replaceStdVia -widthGE 3.5

1150

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


reportCorner

reportCorner
The reportCorner command reports the corner information of shapes on
specified layers. The corner information can be saved, and then used in the
comparison with the other corner information.
Syntax
reportCorner [-box {x1 y1 x2 y2}] [-save] [-compare]
[-directory dirPath] [-includeOutOfBoundary] [reportLimit limitNum] [-fromLayer layerName] [-toLayer
layerName] [-layer layerName] [-metalOnly] [-cutOnly] [threads threadsNum]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-box {x1 y1 x2 y2}

Compute corners within the area formed by {x1 y1


x2 y2}. The default is the design boundary box
(BBox).
The -box and -includeOutOfBoundary
arguments cannot be specified simultaneously.

-compare

Compare the current corner information against the


previously saved corner information under the
directory specified by the -directory argument. The
default directory is the current working directory.
This argument must be specified when the
-reportLimit argument is specified.
When this argument is not specified, only report the
layer-based statistics with checksum.

-cutOnly

Only check corners on cut layers (Via12 and above).


The -metalOnly and -cutOnly arguments cannot
be specified simultaneously. When the -metalOnly
and -cutOnly arguments are both not specified,
corners on metal and cut layers are checked.

-directory dirPath

Specify the directory to save the compressed corner


information (in gzip format). The default is the current
working directory.

Laker Tcl Reference Manual


K-2015.06

1151

Chapter 8: Custom Digital Router


reportCorner

1152

Argument

Description

-fromLayer layerName

Perform the operation, starting from this metal/cut


layer (specified by name).
When the -fromLayer or -toLayer argument is
specified, the -layer argument cannot be specified.

-includeOutOfBoundary

Include the out-of-boundary shapes in the checking


process.
The -box and -includeOutOfBoundary
arguments cannot be specified simultaneously.

-layer layerName

Only check corners on this metal layer (specified by


name).
When this argument is specified, the -fromLayer and
-toLayer arguments cannot be specified.

-metalOnly

Only check corners on metal layers (M1 and above).


The -metalOnly and -cutOnly arguments cannot
be specified simultaneously. When the -metalOnly
and -cutOnly arguments are both not specified,
corners on metal and cut layers are checked.

-reportLimit limitNum

Specify the maximum number of corners to be


reported in a comparison.
Valid value: an integer (default=100).
When this argument is specified, the -compare
argument must be specified.

-save

Save the corner information under the directory


specified by the
-directory argument. The default directory is the
current working directory.
When this argument is not specified, only report the
layer-based statistics with checksum.

-threads threadsNum

Specify the number of threads used for the checking of


corner information. The default is the maximum
avaliable CPU threads.
Valid value: an integer.

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


reportDesign

Argument

Description

-toLayer layerName

Perform the operation, ending at this metal/cut layer


(specified by name).
When the -fromLayer or -toLayer argument is
specified, the
-layer argument cannot be specified.

Examples
readLef my.lef
readDef -springSoft my.def
...
reportCorner -fromLayer M1 -toLayer M5 -save
...
reportCorner -fromLayer M1 -toLayer M5 -compare

reportDesign
The reportDesign command reports the design, netlist, floorplan, and
routing statistics and information.
Syntax
reportDesign
Returns
1 if successful; otherwise, returns 0.
Arguments
None
Examples
readLef my.lef
readDef my.def -springSoft
...
reportDesign

reportJog
The reportJog command analyzes and reports the wire jogging.

Laker Tcl Reference Manual


K-2015.06

1153

Chapter 8: Custom Digital Router


reportRouteInfo

Syntax
reportJog [-threads threadsNum] [-nets string] [-threshold
double] [-verbose]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-nets string

Specify the names or patterns of nets to report jogs.


Multiple net names or patterns must be separated by
spaces, for example: -nets {net1 ... netN}.

-threads threadsNum

Specify the number of threads used for analyzing wire


jogging.
Valid value: an integer.

-threshold double

Specify a threshold value. A jog is defined as an jogedge with length less than the minimum width of the
layer.
Valid value: a floating number.

-verbose

Report the jog coordinate when a jog is found.

Examples
# Example 1
reportJog
# Example 2
reportJog -nets {net1 net2 net3}

See Also
analyzeRoute
reportRouteInfo

reportRouteInfo
The reportRouteInfo command reports the information (including wires
and vias) of routing shapes.

1154

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


reportRouteRule

Syntax
reportRouteInfo [-area string] [-totalOnly]
[-excludeDummyNet]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-area string

Report the route information on the area formed by {x1


y1 x2 y2}.

-excludeDummyNet

Ignore wire or vias on dummy nets when counting the


wire length.

-totalOnly

Only report the total statistics.

Examples
# Example 1
reportRouteInfo
# Example 2
reportRouteInfo -area { 0 0 10 10 }

See Also
reportJog
routeNet
reportCorner

reportRouteRule
The reportRouteRule command reports the existing non-default rules.
Syntax
reportRouteRule [-all] [-rule string]
Returns
1 if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

1155

Chapter 8: Custom Digital Router


reportRule

Arguments
Argument

Description

-all

Report all route rules.

-rule string

Report the specified route rule.

Examples
# Example 1
reportRouteRule
# Example 2
reportRouteRule -rule myRule

See Also
createRouteRule
deleteRouteRule
setRouteRule

reportRule
The reportRule command reports the information of physical design rules.
Syntax
reportRule
Returns
1 if successful; otherwise, returns 0.
Arguments
None
Examples
# Example 1
reportRule

See Also
checkViolation
fixViolation

1156

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


reportSpine

reportSpine
The reportSpine command reports the spine coordinate.
Syntax
reportSpine [-threads threadsNum] [-nets string] [-verbose]
[-file string]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-file string

Report the spine coordinate to a file when -threads 1


is specified.

-nets string

Specify the names or patterns of nets to report the


spine coordinate. Multiple net names or patterns must
be separated by spaces, for example: -nets {net1
... netN}.

-threads threadsNum

Specify the number of threads used for analyzing spine


routing.
Valid value: an integer.

-verbose

Report the spine coordinate when a spine coordinate is


found and -threads 1 is specified.

Examples
# Example 1
reportSpine
# Example 2
reportSpine -verbose

See Also
reportRouteInfo
setRoutingConstraint

Laker Tcl Reference Manual


K-2015.06

1157

Chapter 8: Custom Digital Router


routeBlockRing

routeBlockRing
The routeBlockRing command creates block rings according to the
specified Macro cells.
The corner definition for -highTopExtension, -highBottomExtension,
-highLeftExtension,
-highRightExtension, -lowTopExtension, -lowBottomExtension,
-lowLeftExtension,
-lowRightExtension arguments is illustrated in the following figures:

Figure 1

Corner Definition

Syntax
routeBlockRing -net netNames -inst instNames -topLayer
layerName -bottomLayer layerName -leftLayer layerName rightLayer layerName [-topWidth width] [-bottomWidth
width] [-leftWidth width] [-rightWidth width] [topSpacing spacing] [-bottomSpacing spacing]
[-leftSpacing spacing] [-rightSpacing spacing] [topCoreOffset offset] [-bottomCoreOffset offset] [leftCoreOffset offset] [-rightCoreOffset offset]
[-skipTopSide] [-skipBottomSide] [-skipLeftSide] [skipRightSide] [-highTopExtension range] [highBottomExtension range] [-highLeftExtension range] [highRightExtension range] [-lowTopExtension range] [lowBottomExtension range] [-lowLeftExtension range] [lowRightExtension range] [-topViaLayer layerName] [bottomViaLayer layerName] [-ignoreDRC] [-noCross]
Returns
1 if successful; otherwise, returns 0.

1158

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


routeBlockRing

Arguments
Argument

Description

-bottomCoreOffset
offset

Specify the offset between the block rings and macro


contour on the bottom side.
Valid value: an integer (default=0).

-bottomLayer
layerName

Specify the metal layer of block rings on the bottom


side.

-bottomSpacing
spacing

Specify the wire spacing between block rings on the


bottom side. The default is the minimum spacing of the
specified layer.
Valid value: a floating number.

-bottomViaLayer
layerName

Specify the lowest metal layer that stack vias can reach.
The default is the lowest metal layer.

-bottomWidth
width

Specify the wire width of block rings on the bottom side.


The default is the minimum width of the specified layer.
Valid value: an integer.

-highBottomExtension
range

Specify the extended search range on the high bottom


corner.
Valid value: an integer (default=0).

-highLeftExtension
range

Specify the extended search range on the high left


corner.
Valid value: an integer (default=0).

-highRightExtension
range

Specify the extended search range on the high right


corner.
Valid value: an integer (default=0).

-highTopExtension
range

Specify the extended search range on the high top


corner.
Valid value: an integer (default=0).

-ignoreDRC

Skip the violation checker while creating block rings.


This argument is not specified by default.

Laker Tcl Reference Manual


K-2015.06

1159

Chapter 8: Custom Digital Router


routeBlockRing

1160

Argument

Description

-inst instNames

Specify the name of the instances for creating block


rings. A wildcard expression can be used when
specifying instance names. Multiple instance names
must be separated by spaces, for example: -inst
{inst1 inst2 ... instN}.

-leftCoreOffset
offset

Specify the offset between the block rings and macro


contour on the left side.
Valid value: an integer (default=0).

-leftLayer
layerName

Specify the metal layer of block rings on the left side.

-leftSpacing
spacing

Specify the wire spacing between block rings on the left


side. The default is the minimum spacing of the
specified layer.
Valid value: a floating number.

-leftWidth
width

Specify the wire width of block rings on the left side. The
default is the minimum width of the specified layer.
Valid value: an integer.

-lowBottomExtension
range

Specify the extended search range on the low bottom


corner.
Valid value: an integer (default=0).

-lowLeftExtension
range

Specify the extended search range on the low left


corner.
Valid value: an integer (default=0).

-lowRightExtension
range

Specify the extended search range on the low right


corner.
Valid value: an integer (default=0).

-lowTopExtension
range

Specify the extended search range on the low top


corner.
Valid value: an integer (default=0).

-net netNames

Specify the name of the nets for creating block rings.


Multiple net names must be separated by spaces, for
example: -net {net1 net2 ... netN}.

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


routeBlockRing

Argument

Description

-noCross

Indicate the non-extended style for each block ring. This


argument is not specified by default.

-rightCoreOffset
offset

Specify the offset between the block rings and macro


contour on the right side.
Valid value: an integer (default=0).

-rightLayer
layerName

Specify the metal layer of block rings on the right side.

-rightSpacing
spacing

Specify the wire spacing between block rings on the


right side. The default is the minimum spacing of the
specified layer.
Valid value: a floating number.

-rightWidth
width

Specify the wire width of block rings on the right side.


The default is the minimum width of the specified layer.
Valid value: an integer.

-skipBottomSide

Skip the creation of block rings on the bottom side. This


argument is not specified by default.

-skipLeftSide

Skip the creation of block rings on the left side. This


argument is not specified by default.

-skipRightSide

Skip the creation of block rings on the right side. This


argument is not specified by default.

-skipTopSide

Skip the creation of block rings on the top side. This


argument is not specified by default.

-topCoreOffset
offset

Specify the offset between the block rings and macro


contour on the top side.
Valid value: an integer (default=0).

-topLayer
layerName

Specify the metal layer of block rings on the top side.

-topSpacing
spacing

Specify the wire spacing between block rings on the top


side. The default is the minimum spacing of the
specified layer.
Valid value: a floating number.

Laker Tcl Reference Manual


K-2015.06

1161

Chapter 8: Custom Digital Router


routeBlockWire

Argument

Description

-topViaLayer
layerName

Specify the highest metal layer that stack vias can


reach.
The default is the highest metal layer.

-topWidth width

Specify the wire width of block rings on the top side. The
default is the minimum width of the specified layer.
Valid value: an integer.

Examples
# Example 1
routeBlockRing -net {VDD VSS} -inst {i_ALUB i_CCU } -leftLayer
metal4 \
-rightLayer metal2 -topLayer metal3 -bottomLayer metal3
-leftWidth 1 \
-rightWidth 1 -topWidth 1 -bottomWidth 1 -leftSpacing 0.21 \
-rightSpacing 0.21 -topSpacing 0.21 -bottomSpacing 0.21 \
-leftCoreOffset 1 -rightCoreOffset 1 -topCoreOffset 1
-bottomCoreOffset 1
# Example 2
routeBlockRing -net {VDD VSS} -inst {i_ALUB i_CCU } -leftLayer
metal4 \
-rightLayer metal2 -topLayer metal3 -bottomLayer metal3
-leftWidth 1 \
-rightWidth 1 -topWidth 1 -bottomWidth 1 -skipTopSide
-skipLeftSide \
-highRightExtension 1 -lowBottomExtension 1

routeBlockWire
The routeBlockWire command creates block wires according to the
specified Macro cells.
Syntax
routeBlockWire -net netNames -inst instNames [-pinLayer
layerName] [-searchRange range] [-ignoreDRC] [skipTopSide] [-skipBottomSide] [-skipLeftSide] [skipRightSide] [-topViaLayer layerName] [enableLayerJump [-extensionViaArraysNumber num]
[-allowNonPreferredDir]] [-bottomViaLayer layerName]

1162

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


routeBlockWire

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-allowNonPreferredDir

Allow the use of a non-preferred routing direction


when changing a layer. This argument is not
specified by default.

-bottomViaLayer
layerName

Specify the lowest metal layer that stack vias can


reach. The default is the lowest metal layer.

-enableLayerJump

Enable the jump layer function when the


connection of block wires fails. This argument is not
specified by default.

-extensionViaArraysNumber Specify the number of extension via arrays for stack


num
vias when changing a layer.
Valid value: an integer (default=1).
-ignoreDRC

Skip the violation checker while creating block


wires. This argument is not specified by default.

-inst instNames

Specify the name of the instances for creating block


wires. A wildcard expression can be used when
specifying instance names. Multiple instance
names must be separated by spaces, for example:
-inst {inst1 inst2 ... instN}.

-net netNames

Specify the name of the nets for creating block


wires. Multiple net names must be separated by
spaces, for example: -net {net1 net2 ...
netN}.

-pinLayer layerName

Specify the metal layer of the macro pin to create


block wires. The default is all metal layers.

-searchRange range

Specify how far the pre-wires can search when the


connection is successful.
Valid value: an integer (default=0).

-skipBottomSide

Skip the creation of block wires on the bottom side.


This argument is not specified by default.

Laker Tcl Reference Manual


K-2015.06

1163

Chapter 8: Custom Digital Router


routeNet

Argument

Description

-skipLeftSide

Skip the creation of block wires on the left side. This


argument is not specified by default.

-skipRightSide

Skip the creation of block wires on the right side.


This argument is not specified by default.

-skipTopSide

Skip the creation of block wires on the top side.


This argument is not specified by default.

-topViaLayer
layerName

Specify the highest metal layer that stack vias can


reach. The default is the highest metal layer.

Examples
# Example 1
routeBlockWire -net {VDD VSS} -inst {i_ALUB i_CCU }
# Example 2
routeBlockWire -net {VDD VSS} -inst {i_*}
# Example 3
# Create the block wire with the capacity for layer changing
routeBlockWire -net {VDD VSS} -inst {i_ALUB i_CCU} \
-enableLayerJump

routeNet
The routeNet command connects all nets in the design, except Power/
Ground (PG) nets.
Syntax
routeNet [-estimateCongestionOnly | -timingDriven] [-effort
{mode}] [-net {net1 net2 ... netn}]
Returns
1 if successful; otherwise, returns 0.

1164

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


routeNet

Arguments
Argument

Description

-effort {mode}

Specify the routing effort.


Valid values: prototype, low, medium, and high
(default=medium).

-estimateCongestionOnly Only estimate the congestion, and generate the


congestion report.
-net {net1 net2 ... netn}

Specify the nets to be routed by the wildcard character


* or regular expressions. If more than one expression
is specified, separate the net names with spaces and
enclose the expressions with parentheses {}.

-timingDriven

Perform timing-driven routing.

Laker Tcl Reference Manual


K-2015.06

1165

Chapter 8: Custom Digital Router


routeRail

Examples
# Example 1
# Quickly check the congestion information, and route every net
with
# the shortest distance
routeNet -estimateCongestionOnly -effort prototype
# Example 2
# Check the congestion information
routeNet -estimateCongestionOnly
# Example 3
# Check the congestion information and get the accurate results
# for the congestion
routeNet -estimateCongestionOnly -effort high
# Example 4
# Check the congestion information for specified nets
routeNet -estimateCongestionOnly -net { clk* }
# Example 5
# Quickly route the design and get a rough result
routeNet -effort prototype
# Example 6
# Route the design and get a result with less violation
routeNet -effort medium
# Example 7
# Route the design and fix violations
routeNet -effort high
# Example 8
# Route specified nets
routeNet -net { blk_n* }
# Example 9
# Perform timing-driven routing
routeNet -timingDriven

See Also
checkViolation
fixViolation

routeRail
The routeRail command creates PG rails in a specified row area.

1166

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


routeRail

Syntax
routeRail [-ignoreDRC] [-enableLayerJump] [-searchRange
number] [-extensionViaNumber] [-extendToBoundary]
[-generatePinOnBoundary] [-rowArea string] [-direction
string] [-undo] [-net string] [-maxLayer string] [minLayer string] [-allowNonPreferredDir]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-allowNonPreferredDir

Allow to use layers in a non-preferred direction


when changing the layer.

-direction string

Specify the direction of the rail to connect.

-enableLayerJump

Enable the layer jump function when a PG


connection failed.

-extendToBoundary

Extend the follow pin or stripe to the boundary.

-extensionViaNumber

Specify the number of vias when changing the layer.

-generatePinOnBoundary

Generate PG pins on the boundary.

-ignoreDRC

Ignore violations when creating PG wires.

-maxLayer string

Specify the highest Metal layer vias can be created.

-minLayer string

Specify the lowest Metal layer vias can be created.

-net string

Specify the net name to be connected.

-rowArea string

Specify the row area by a sequence of points (x y).

-searchRange number

Specify the search range when a PG route connects


to other pre-wires.
Valid value: a floating number.

-undo

Undo the last action.

Laker Tcl Reference Manual


K-2015.06

1167

Chapter 8: Custom Digital Router


routeRing

Examples
# Example 1
routeRail
# Example 2
routeRail -net { VDD VSS }
# Example 3
routeRail -minLater M1 -maxLayer M4

See Also
routeStripe
routeRing

routeRing
The routeRing command creates PG rings in a specified row area.
Syntax
routeRing [-net string] [-topLayer string] [-bottomLayer
string] [-leftLayer string] [-rightLayer string] [topWidth width] [-bottomWidth width] [-leftWidth width]
[-rightWidth width] [-topSpacing spacing] [bottomSpacing spacing] [-leftSpacing spacing]
[-rightSpacing spacing] [-topCoreOffset offset] [bottomCoreOffset offset] [-leftCoreOffset offset] [rightCoreOffset offset] [-skipTopSide] [-skipBottomSide]
[-skipLeftSide] [-skipRightSide] [-maxLayer string] [minLayer string] [-undo] [-rowArea string] [-ignoreDRC]
[-Cross]
Returns
1 if successful; otherwise, returns 0.
Arguments

1168

Argument

Description

-bottomCoreOffset offset

Specify the offset between core rings and contour on


the bottom side.
Valid value: a floating number.

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


routeRing

Argument

Description

-bottomLayer string

Specify the Metal layer of core rings on the bottom


side.

-bottomSpacing spacing

Specify the wire spacing between core rings on the


bottom side.
Valid value: a floating number.

-bottomWidth width

Specify the wire width of core rings on the bottom


side.
Valid value: a floating number.

-Cross

Indicate the extended style for each core ring.

-ignoreDRC

Ignore violations when creating PG wires.

-leftCoreOffset offset

Specify the offset between core rings and contour on


the left side.
Valid value: a floating number.

-leftLayer string

Specify the Metal layer of core rings on the left side.

-leftSpacing spacing

Specify the wire spacing between core rings on the


left side.
Valid value: a floating number.

-leftWidth width

Specify the wire width of core rings on the left side.


Valid value: a floating number.

-maxLayer string

Specify the highest Metal layer vias can be created.

-minLayer string

Specify the lowest Metal layer vias can be created.

-net string

Specify the name of nets for creating core rings.

-rightCoreOffset offset

Specify the offset between core rings and contour on


the right side.
Valid value: a floating number.

-rightLayer string

Specify the Metal layer of core rings on the right side.

-rightSpacing spacing

Specify the wire spacing between core rings on the


right side.
Valid value: a floating number.

Laker Tcl Reference Manual


K-2015.06

1169

Chapter 8: Custom Digital Router


routeRing

Argument

Description

-rightWidth width

Specify the wire width of core rings on the right side.


Valid value: a floating number.

-rowArea string

Specify the row area by a sequence of points (x y).

-skipBottomSide

Skip the creation of core rings on the bottom side.

-skipLeftSide

Skip the creation of core rings on the left side.

-skipRightSide

Skip the creation of core rings on the right side.

-skipTopSide

Skip the creation of core rings on the top side.

-topCoreOffset offset

Specify the offset between the core rings and contour


on the top side.
Valid value: a floating number.

-topLayer string

Specify the Metal layer of core rings on the top side.

-topSpacing spacing

Specify the wire spacing between core rings on the


top side.
Valid value: a floating number.

-topWidth width

Specify the wire width of core rings on the top side.


Valid value: a floating number.

-undo

Undo the last action.

Examples
# Example 1
routeRing -leftLayer M1 -rightLayer M1 -topLayer M1 -bottomLayer
M1 \
-leftWidth 1 -rightWidth 1 -topWidth 1 -bottomWidth 1 \
-leftSpacing 0.15 -rightSpacing 0.15 -topSpacing 0.15 \
-bottomSpacing 0.15 -net {VDD VSS} -maxLayer M2 -minLayer M1

See Also
routeStripe
routeRail

1170

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


routeStripe

routeStripe
The routeStripe command creates PG stripes in a specified row area.
Syntax
routeStripe [-direction string] [-metalLayer string] [-start
start] [-mode string] [-width double] [-spacingInGroup
double] [-end end] [-step step] [-numberOfGroup number]
[-shiftRange number] [-undo] [-allowSwapNet] [-lowEnd
string] [-highEnd string] [-ignoreDRC] [-searchRange
number] [-extendToBoundary] [-generatePinOnBoundary] [net string] [-rowArea string] [-maxLayer string]
[-minLayer string]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-allowSwapNet

Allow to swap the order of specified nets.

-direction string

Specify the direction to create stripes.

-end end

Specify the end coordinate.


Valid value: a floating number.

-extendToBoundary

Extend the follow pin or stripe to the boundary.

-generatePinOnBoundary Generate PG pins on the boundary.


-highEnd string

Specify the high end point.


Valid values: coordinate, boundary,
firstTarget, and lastTarget.

-ignoreDRC

Ignore violations when creating PG wires.

-lowEnd string

Specify the low end point.


Valid values: coordinate, boundary,
firstTarget, and lastTarget.

-maxLayer string

Specify the highest Metal layer vias can be created.

Laker Tcl Reference Manual


K-2015.06

1171

Chapter 8: Custom Digital Router


routeStripe

Argument

Description

-metalLayer string

Specify the Metal layer by name.

-minLayer string

Specify the lowest Metal layer vias can be created.

-mode string

Specify the mode of offset.


Valid values: absolute and relative.

-net string

Specify the name of nets for creating stripes.

-numberOfGroup number Specify the group of the stripes.


Valid value: an integer.
-rowArea string

Specify the row area by a sequence of points (x y).

-searchRange number

Specify the search range when a PG route connects


to other pre-wires.
Valid value: a floating number.

-shiftRange number

Specify the range to shift the group of stripes.


Valid value: a floating number.

-spacingInGroup spacing

Specify the wire spacing between stripes.


Valid value: a floating number.

-start start

Specify the start coordinate.


Valid value: a floating number.

-step step

Specify the step coordinate.


Valid value: a floating number.

-undo

Undo the last action.

-width width

Specify the width of stripes.


Valid value: a floating number.

Examples
# Example 1
routeStripe -net {VDD VSS} -dir horizontal -metalLayer M3 \
-width 0.3 -spacingInGroup 0.15 -mode relative -start 0.2 \
-end 0.2 -numberOfGroup 4

1172

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


setIgnoredNetsInRouting

See Also
routeRing
routeRail

setIgnoredNetsInRouting
The setIgnoredNetsInRouting command sets the net which is not routed
by the router.
Syntax
setIgnoredNetsInRouting [netNamesOrPatterns] [-clear]
[-set]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-clear

Reset or clear the nets from being ignored in routing.

-set

Set the nets to be ignored in routing.

netNamesOrPatterns

Specify one or a list of nets. Multiple net names or


patterns must be separated by spaces, for example:
{net1 ... netN}.

Examples
# Example 1
setIgnoredNetsInRouting {net1 net2 net3} -set
# Example 2
setIgnoredNetsInRouting -clear

See Also
routeNet

Laker Tcl Reference Manual


K-2015.06

1173

Chapter 8: Custom Digital Router


setOption

setOption
Various control options exist to control and customize the behavior of the tool.
This setOption command helps set the desired options.

When this command is specified without argument, all possible group


names are listed.

When this command is specified with a group name, all possible options
inside this group are listed.

When this command is specified with a group name and an option name, a
short description about the option and how it should be set is listed.

Syntax
setOption [group_name] [variable_name]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

group_name

Specify the option group name.

variable_name

Specify the variable name.

Examples
# Example 1
# set a Boolean option to true
setOption timer idealClock true
# Example 2
# Assuming that 400 is the metal antenna ratio limit
checkAntenna
# Ratio exceeds 400 is a violation
setOption antenna metalMargin 20
checkAntenna
# Ratio exceeds 420 is a violation
fixAntenna
# Ratio exceeds 420 are fixed
checkAntenna
# Ratio exceeds 420 is a violation
setOption antenna metalMargin -20
checkAntenna
# Ratio exceeds 380 is a violation
setOption antenna metalMargin 0
checkAntenna
# Ratio exceeds 400 is a violation

1174

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


setRouteRule

setRouteRule
The setRouteRule command sets a non-default rule to the specified nets.
Syntax
setRouteRule [-rule string] [-default] [-nets string]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-default

Set the default rule for the specified nets.

-nets string

Specify the names or patterns of nets to set the route


rule. Multiple net names or patterns must be separated
by spaces. For example: -nets {net1 ... netN}.

-rule string

Specify the name of the route rule.

Examples
# Example 1
setRouteRule -rule myRule -nets myNet
# Example 2
setRouteRule -default -nets myNet

See Also
createRouteRule
reportRouteRule
deleteRouteRule

setRoutingConstraint
The setRoutingConstraint command is used to:

Set routing constraints

Reset routing constraints

Laker Tcl Reference Manual


K-2015.06

1175

Chapter 8: Custom Digital Router


setRoutingConstraint

View current routing constraint settings

Dump routing constraints

Syntax
Synxtax 1:
setRoutingConstraint -h [category]
Syntax 2 (General constraint settings):
setRoutingConstraint [-reset] [-info] [-maxWrongWayLength
<double> | -maxWrongWayLengthByPitch <int>] [setIgnoreInCellViolation | -resetIgnoreInCellViolation]
[-memTopRoute | -resetMemTopRoute] [-dynamicTrack | resetDynamicTrack]
Syntax 3 (Metal layer related constraint settings):
setRoutingConstraint [-setEscape | -resetEscape] [maxEscapeLength <double> | -maxEscapeLengthByPitch
<int>] [-useViaOnly | -resetUseViaOnly] [disallowWireTouchPin | -resetDisallowWireTouchPin] [allowBridge | -disallowBridge] [-useViaEnclosedByPin | resetUseViaEnclosedByPin] [-noPinFeedThrough | resetNoPinFeedThrough] [-maxLayer <string> [-minLayer
<string> | -allLayers | -layers <string>]]
Syntax 4 (Via control constraint settings):
setRoutingConstraint [-doubleVia | -resetDoubleVia] [noBiasedVia | -resetNoBiasedVia] [[-HHViaOnly] | [VVViaOnly] | [-preferHHVia] | [-preferVVVia] | [resetUseViaDir]] [-crossViaOnly | -nonCrossViaOnly] [resetViaPattern]
Syntax 5 (User grid related constraint settings):
setRoutingConstraint [-userGrid <string>] [placeViaOnUserGrid | -resetPlaceViaOnUserGrid]
Syntax 6 (Route net group related constraint settings):
setRoutingConstraint [[-addToRouteNetGroup] | [removeFromRouteNetGroup] | [-resetRouteNetGroup]] [-nets
<string>]
Syntax 7 (Global route related constraint settings):
setRoutingConstraint [-setLongPathRoutingFirst | resetLongPathRoutingFirst]
1176

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


setRoutingConstraint

Syntax 8 (Net based constraint settings):


setRoutingConstraint [-maxSegmentLength <double>] [dumpNetConstraint <string>] [-nets <string>] [-maxLayer
<string> [-minLayer <string> | -allLayers | -layers
<string>]]
Syntax 9 (Row bone route constraint settings):
setRoutingConstraint [-extendPinToBone | resetExtendPinToBone] [-maxEscapeLengthForPinConnect
<double>] [-maxEscapeWidthForPinConnect <double>] [resetAllowBridgeForPin] [-shieldWire | -resetShieldWire]
[-loopWire | -resetLoopWire] [-setViaMasterForLoopWire
<string>] [-setViaTopEncWidthForLoopWire <double>] [setViaTopEncHeightForLoopWire <double>] [setViaBotEncWidthForLoopWire <double>] [setViaBotEncHeightForLoopWire <double>] [extendRowBoneSearchRangeByPitch <int>] [extendRowBoneSearchRange <double>] [setRowBoneGroupDistByPitch <int>] [extendVertBoneSearchRange <double>] [extendVertBoneSearchRangeByPitch <int>] [-rowHeight
<double>] [-rowlessBoneAssignment | resetRowlessBoneAssignment] [-rowBoneTopology <string>]
[-preferVertBone <string> | -resetPreferVertBone] [setLayerConnectM1Pin | -resetLayerConnectM1Pin]
Syntax 10 (Spine related constraint settings):
setRoutingConstraint [-useSpine | -resetUseSpine] [spinePattern <string> | -resetSpinePattern]
Syntax 11 (Compactness constraint settings):
setRoutingConstraint [-compactRowBone <string>] [compactRowBoneArea <string>] [-compactRowBoneRange
<string>] [-compactRowBoneM2Range <string>] [compactRowBoneToPoint <point> | resetCompactRowBoneToPoint] [-compactRowBoneTrackNum
<int>]
Syntax 12 (Route area constraint settings):
setRoutingConstraint [-routeArea <string> | resetRouteArea] [-addInverseRoutingDirBox <string> | resetInverseRoutingDirBox] [-inverseRoutingLayerDir | resetInverseRoutingLayerDir]

Laker Tcl Reference Manual


K-2015.06

1177

Chapter 8: Custom Digital Router


setRoutingConstraint

Syntax 13 (Track related constraint settings):


setRoutingConstraint [-setVariousTrack <string> | resetVariousTrack] [-setTrackPriority | resetTrackPriority] [-trackPrioritySeq <string>]
Syntax 14 (Memory cell generator constraint settings):
setRoutingConstraint [-setMemCellPinLayer | resetMemCellPin]
Syntax 15 (Unclassified constraint settings):
setRoutingConstraint [-connectToUpperLayer | resetConnectToUpperLayer] [-preferConnectToUpperLayer |
-resetPreferConnectToUpperLayer]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-addInverseRoutingDirBox <string>

[Route area constraint settings]


Add a box in which the preferred direction
is inversed. The box is specified by format
{x1 y1 x2 y2}.

-addToRouteNetGroup

[Route net group related constraint


settings]
Add the specified nets to the group of nets.
When this constraint is specified without
-nets, all nets are added.

-allLayers

[Metal layer related and net based


constraint settings]
Apply constraints to all layers.

-allowBridge

[Metal layer related constraint settings]


Allow bridge patterns in specified layers.

1178

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-compactRowBone <string>

[Compactness constraint settings]


Compact row bone wires to a specified part
of the design.
Valid values: CENTER, GROUND, POWER,
PG, and AUTO.

-compactRowBoneArea <string>

[Compactness constraint settings]


Compact row bone wires to a specified
area of the design.
Valid values: ONPIN, OFFPIN,
ONPINONLY, OFFPINONLY, and AUTO.

-compactRowBoneM2Range <string>

[Compactness constraint settings]


Compact M2 row bone wires with the
specified range.
Valid values: CENTER, MANYPIN, and
AUTO.

-compactRowBoneRange <string>

[Compactness constraint settings]


Compact row bone wires with the specified
range.
Valid values: TWOROWONEBONE and
ONEROWONEBONE.

-compactRowBoneToPoint <point>

[Compactness constraint settings]


Compact row bone wires to the specified
point.

-compactRowBoneTrackNum <int>

[Compactness constraint settings]


Compact the track number of row bone
wires.
Valid value: an integer.

-connectToUpperLayer

[Unclassified constraint settings]


Connect to the upper layer of pins.

Laker Tcl Reference Manual


K-2015.06

1179

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-crossViaOnly

[Via control constraint settings]


Use cross vias for the specified cut layers
only.

-disallowBridge

[Metal layer related constraint settings]


Disallow bridge patterns in specified
layers.

-disallowWireTouchPin

[Metal layer related constraint settings]


Do not use wires to touch pins on the
specified layers.

-doubleVia

[Via control constraint settings]


Use double vias for the specified cut layers.

-dumpNetConstraint <string>

[Net based constraint settings]


Dump all net constraints to the specified
file.

-dynamicTrack

[General constraint settings]


Use the dynamic generated track.

-extendPinToBone

[Row bone route constraint settings]


Extend pins to bone wires on the specified
layer.

-extendRowBoneSearchRange
<double>

[Row bone route constraint settings]


Extend the search range for row bone
wires.
Valid value: a floating number.

-extendRowBoneSearchRangeByPitch
<int>

[Row bone route constraint settings]


Extend the search range for row bone
wires by the number of pitches.
Valid value: an integer.

1180

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-extendVertBoneSearchRange <double> [Row bone route constraint settings]


Extend the search range for vertical bone
wires.
Valid value: a floating number.
-extendVertBoneSearchRangeByPitch
<int>

[Row bone route constraint settings]


Extend the search range for vertical bone
wires by the number of pitches.
Valid value: an integer.

Laker Tcl Reference Manual


K-2015.06

1181

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-h [category]

Print the help messages.


When no category group is specified, print
all routing constraints by all category
groups.
When any of the following category groups
is specified, print the specified routing
constraint settings by category group:

-HHViaOnly

general: Shows general constraint


settings.
metal: Shows metal layer related
constraint settings.
via: Shows via control constraint
settings.
userGrid: Shows user grid related
constraint settings.
routeNetGroup: Shows route net
group related constraint settings.
globalRoute: Shows global route
related constraint settings.
net: Shows net based constraint
settings.
rowBone: Shows row bone route
constraint settings.
spine: Shows spine related constraint
settings.
compactness: Shows compact wire
constraint settings.
routeArea: Shows route area
constraint settings.
track: Shows track related constraint
settings.
memory: Shows memory cell generator
constraint setting.
misc: Shows unclassified constraint
settings.

[Via control constraint settings]


Use vias with horizontal (H) enclosure for
the specified layers.

1182

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-info

[General constraint settings]


Show the current constraint settings.
This argument is not specified by default.

-inverseRoutingLayerDir

[Route area constraint settings]


Inverse the direction of the routing layer
from H to V or V to H.

-layers <string>

[Metal layer related and net based


constraint settings]
Apply constraints to the specified layers.

-loopWire

[Row bone route constraint settings]


Loop wires for specified nets. When this
constraint is specified without -nets, it is
treated as a general constraint.

-maxEscapeLength <double>

[Metal layer related constraint settings]


Set the maximum wire length allowed in an
escape layer.
Valid value: a floating number. The default
is 10xPitch(um).

-maxEscapeLengthByPitch <int>

[Metal layer related constraint settings]


Set the maximum wire length allowed in an
escape layer by the number of pitch.
Valid value: an integer. The default is 10.

-maxEscapeLengthForPinConnect
<double>

[Row bone route constraint settings]


Set the maximum escape wire length for
pin connection.
Valid value: a floating number.

-maxEscapeWidthForPinConnect
<double>

[Row bone route constraint settings]


Set the maximum escape wire width for pin
connection.
Valid value: a floating number.

Laker Tcl Reference Manual


K-2015.06

1183

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-maxLayer <string>

[Metal layer related and net based


constraint settings]
Apply constraints to this layer.

-maxSegmentLength <double>

[Net based constraint settings]


Use the maximum segment length (MSL)
of connected wires for the specified layer.
When this constraint is specified without
-nets, it is treated as a general constraint.
Valid value: a floating number.

-maxWrongWayLength <double>

[General constraint settings]


Set the maximum wrong way wire length
(unit: um).
Valid value: a floating number. 0 means
reset.

-maxWrongWayLengthByPitch <int>

[General constraint settings]


Set the maximum wrong way wire length
with the number of pitches for the specified
layers.
Valid value: an integer. 0 means reset.

-memTopRoute

[General constraint settings]


Indicate that this is a top level design of a
memory chip.

-minLayer <string>

[Metal layer related and net based


constraint settings]
Apply constraints from this layer.

-nets <string>

[Route net group related and net based


constraint settings]
Specify the nets to be used in the
constraint.

-noBiasedVia

[Via control constraint settings]


Do not use biased vias.

1184

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-nonCrossViaOnly

[Via control constraint settings]


Use non-cross vias for the specified cut
layers only.

-noPinFeedThrough

[Metal layer related constraint settings]


Do not use pins as feed-through on the
specified layers.

-placeViaOnUserGrid

[User grid related constraint settings]


Place the via position on the user grid.

-preferConnectToUpperLayer

[Unclassified constraint settings]


Prefer to connect to the upper layer of pins.

-preferHHVia

[Via control constraint settings]


Use vias with preferred horizontal
enclosure for the specified layers.

-preferVertBone <string>

[Row bone route constraint settings]


Prefer vertical bone routing.

-preferVVVia

[Via control constraint settings]


Use vias with preferred vertical enclosure
for the specified layers.

-removeFromRouteNetGroup

[Route net group related constraint


settings]
Remove the specified nets from the group
of nets. When this constraint is specified
without -nets, all nets are removed.

-reset

[General constraint settings]


Reset all constraints. This argument is
previously known as -resetToDefault.

-resetAllowBridgeForPin

[Row bone route constraint settings]


Disallow bridge patterns for pins.

Laker Tcl Reference Manual


K-2015.06

1185

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-resetCompactRowBoneToPoint

[Compactness constraint settings]


Do not compact row bone wires to the
specified point.

-resetConnectToUpperLayer

[Unclassified constraint settings]


Do not connect to the upper layer of pins.

-resetDisallowWireTouchPin

[Metal layer related constraint settings]


Use wires to touch pins on specified layers.

-resetDoubleVia

[Via control constraint settings]


Do not use double vias for the specified cut
layers.

-resetDynamicTrack

[General constraint settings]


Do not use the dynamic generated track.

-resetEscape

[Metal layer related constraint settings]


Disallow using an escape layer.

-resetExtendPinToBone

[Row bone route constraint settings]


Do not extend pins to bone wires on the
specified layer.

-resetIgnoreInCellViolation

[General constraint settings]


Treat spacing errors between port rects
and inst-rect as real violations.

-resetInverseRoutingDirBox

[Route area constraint settings]


Reset all inverse routing direction boxes.

-resetInverseRoutingLayerDir

[Route area constraint settings]


Reset the direction of the routing layer
according to the layer definition in the
library.

-resetLayerConnectM1Pin

[Row bone route constraint settings]


Set the routing layer not to connect to m1
pins.

1186

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-resetLongPathRoutingFirst

[Global route related constraint settings]


Do not route nets with a long distance
between pins first.

-resetLoopWire

[Row bone route constraint settings]


Do not loop wires for specified nets. When
this constraint is specified without -nets,
it is treated as a general constraint.

-resetMemCellPin

[Memory cell generator constraint settings]


Reset all settings for memory cell pins.

-resetMemTopRoute

[General constraint settings]


Indicate that this is not a top level design of
a memory chip.

-resetNoBiasedVia

[Via control constraint settings]


Use biased vias.

-resetNoPinFeedThrough

[Metal layer related constraint settings]


Use pins as feed-through on the specified
layers.

-resetPlaceViaOnUserGrid

[User grid related constraint settings]


Do not place the via position on the user
grid, but still place on the manufacturing
grid.

-resetPreferConnectToUpperLayer

[Unclassified constraint settings]


Do not prefer to connect to the upper layer
of pins.

-resetPreferVertBone

[Row bone route constraint settings]


Do not prefer vertical bone routing.

-resetRouteArea

[Route area constraint settings]


Reset the routing area.

Laker Tcl Reference Manual


K-2015.06

1187

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-resetRouteNetGroup

[Route net group related constraint


settings]
Do not apply any route net group
constraints.

-resetRowlessBoneAssignment

[Row bone route constraint settings]


Do not use row bone assignment without
row information.

-resetShieldWire

[Row bone route constraint settings]


Do not shield wires for specified nets.
When this constraint is specified without
-nets, it is treated as a general constraint.

-resetSpinePattern

[Spine constraint settings]


Reset the spine pattern.

-resetTrackPriority

[Track related constraint settings]


Reset the priority of tracks for a layer.

-resetUseSpine <string>

[Spine constraint settings]


Do not use spine pattern routing.

-resetUseViaDir

[Via control constraint settings]


Do not use H/V vias for the specifie layers.

-resetUseViaEnclosedByPin

[Metal layer related constraint settings]


Do not enclose vias on pins of specified
layers by shape.

-resetUseViaOnly

[Metal layer related constraint settings]


Allow wiring on specified layers.

-resetVariousTrack

[Track related constraint settings]


Reset coordinates of tracks.

-resetViaPattern

[Via control constraint settings]


Do not use cross/non-cross vias for the
specified cut layers.

1188

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-routeArea <string>

[Route area constraint settings]


Set the routing area by format {x1 y1 x2
y2}.

-rowBoneTopology <string>

[Row bone route constraint settings]


Set the row bone topology.
Valid values: I, H, and BOTH.

-rowHeight <double>

[Row bone route constraint settings]


Specify the row height (unit: um) to
determine the distance to share one row
bone.
Valid value: a floating number.

-rowlessBoneAssignment

[Row bone route constraint settings]


Use row bone assignment without row
information.

-setEscape

[Metal layer related constraint settings]


Allow using an escape layer.

-setIgnoreInCellViolation

[General constraint settings]


Ignore spacing errors between port rects
and inst-rect.

-setLayerConnectM1Pin

[Row bone route constraint settings]


Set the routing layer to connect to m1 pins.

-setLongPathRoutingFirst

[Global route related constraint settings]


Route nets with a long distance between
pins first.

-setMemCellPinLayer

[Memory cell generator constraint settings]


Set the layer for memory cell pins (finger
pins).

Laker Tcl Reference Manual


K-2015.06

1189

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-setRowBoneGroupDistByPitch <int>

[Row bone route constraint settings]


Set the row bone grouping distance by the
number of pitches.
Valid value: an integer.

-setTrackPriority

[Track related constraint settings]


Set the priority of tracks for a layer.

-setVariousTrack <string>

[Track related constraint settings]


Set coordinates of tracks by a specified file.

-setViaBotEncHeightForLoopWire
<double>

[Row bone route constraint settings]

-setViaBotEncWidthForLoopWire
<double>

[Row bone route constraint settings]

-setViaMasterForLoopWire <string>

[Row bone route constraint settings]

Set search condition by the length (unit:


um) of the bottom enclosure of vias for loop
wires.

Set search condition by the width (unit: um)


of the bottom enclosure of vias for loop
wires.

Specify a via master for creating loop


wires.
-setViaTopEncHeightForLoopWire
<double>

[Row bone route constraint settings]


Set search condition by the length (unit:
um) of the top enclosure of vias for loop
wires.
Valid value: a floating number.

-setViaTopEncWidthForLoopWire
<double>

[Row bone route constraint settings]

-shieldWire

[Row bone route constraint settings]

Set search condition by the width (unit: um)


of the top enclosure of vias for loop wires.

Shield wires for specified nets. When this


constraint is specified without -nets, it is
treated as a general constraint.

1190

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


setRoutingConstraint

Argument

Description

-spinePattern

[Spine constraint settings]


Specify the spine pattern.
Valid values: H, V, and AUTO.

-trackPrioritySeq <string>

[Track related constraint settings]


Set the track priority sequence by a
specified file.

-userGrid <string>

[User grid related constraint settings]


Set minimum user grid for all routing layers.
Valid value: a string in format {x y}, where
{x y} indicates different minimum grid
values in X and Y directions. 0 means
reset.
When specified, the router may try to align
as many wires or vias as possible to the
specified minimum grid.

-useSpine

[Spine constraint settings]


Use spine pattern routing.

-useViaEnclosedByPin

[Metal layer related constraint settings]


Enclose vias on pins of specified layers by
pin shape.

-useViaOnly

[Metal layer related constraint settings]


Disallow wiring on specified layers.

-VVViaOnly

[Via control constraint settings]


Use vias with vertical (V) enclosure for the
specified layers.

Laker Tcl Reference Manual


K-2015.06

1191

Chapter 8: Custom Digital Router


setRoutingLayer

Examples
# Example 1
# Show all current settings
setRoutingConstraint -info
# Example 2
# Set the Max Segment Length Constraint for global routes
setRoutingConstraint -maxSegmentLength 1.0 -layers { M1 }
# Example 3
# Set the Max Wire Length Constraint for global routes
setRoutingConstraint -maxWireLength 1.0 -layers { M2 }

See Also
routeNet
fixViolation

setRoutingLayer
The setRoutingLayer command sets the available routing layers.
Syntax
setRoutingLayer [-fromLayer string] [-toLayer string]
[-clear] [-info]
Returns
1 if successful; otherwise, returns 0.
Arguments

1192

Argument

Description

-clear

Remove the metal ECO constraints.

-fromLayer string

Allow layout changes beginning from this layer (specified


by name).

-info

List the current metal ECO constraints.

-toLayer string

Allow layout changes up to this layer (specified by name).

Laker Tcl Reference Manual


K-2015.06

Chapter 8: Custom Digital Router


reportSuggestedPitch

Examples
# Example 1
setRoutingLayer -fromLayer metal1 -toLayer metal4
# Example 2
setRoutingLayer -clear
# Example 3
setRoutingLayer -info

See Also
routeNet
fixViolation

reportSuggestedPitch
The reportSuggestedPitch command reports the pitch suggested by the
router.
Syntax
reportSuggestedPitch
Returns
None
Arguments
None
Examples
# Example 1
# Calculate the best pitch and report the suggested pitch
setOption router autoAdjustPitch true
reportSuggestedPitch

Laker Tcl Reference Manual


K-2015.06

1193

Chapter 8: Custom Digital Router


reportSuggestedPitch

#
#
#
#
#
#

Current Related Routing Constraints:


doubleVia: ON
userGrid : OFF
---------------------------------------------------------Suggested Pitch for Route Rule default
----------------------------------------------------------

#
#
#
#
#
#
#
#
#
#
#
#
#
#

Metal Layer: Suggested Value


(Original)
M1
:
0.59
(0.98)
M2
:
0.775
(0.9)
M3
:
0.99
(0.98)
M4
:
1.12
(0.98)
---------------------------------------------------------Suggested Pitch for Route Rule myrule1
---------------------------------------------------------Metal Layer: Suggested Value
(Original)
M1
:
0.66
(0.98)
M2
:
0.9
(0.9)
M3
:
0.99
(0.98)
M4
:
1.12
(0.98)
----------------------------------------------------------

See Also
routeNet
reportRule

1194

Laker Tcl Reference Manual


K-2015.06

9
9

Automatic Place and Route (APR)

This chapter describes the definable Tcl commands applied to the Laker APR
commands of the Layout window. These commands and arguments are sorted
alphabetically.

The Automatic Place and Route (APR) Tcl commands are listed as follows. Tcl
commands and arguments are sorted alphabetically.

addEndCap

addFiller

addIOPadFiller

addView

addWellTap

analyzeConnectivity

analyzeRoute

aprExit

changeRouteTypeStatus

checkConnectivity

checkExistingVio

checkPlacement

checkRCTable

checkSuboptimal

checkTieHiLo

checkViolation

clearCTSException

Laker Tcl Reference Manual


K-2015.06

1195

Chapter 9: Automatic Place and Route (APR)

1196

closeDesign

compareRc

compileDef

compileHdl

compileLef

convertRouteConnectionModel

createLibGroup

createPlaceBlkUnderMetal

createRouteRule

deleteFiller

deleteRoute

deleteRouteRule

deleteSdc

deleteView

detachScanChain

dumpInstPlacementTcl

dumpPinConstraintTemplate

dumpPinPlacementTcl

ecoRoute

extractRc

extractScanChain

fillNotchGap

fixNetRatio

fixRoutePattern

fixViolation

genRCTable

guiSetLayerColor

guiShow

help

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)

ignoreNetInRouting

insertDFMVia

insertDoubleVia

legalizeInst

listViews

man

memUsage

optAddBuffer

optAddInvPair

optDeleteBuffer

optDeleteInvPair

optSizeCell

optimizeNetFanout

optimizeNetLength

optimizePin

optimizePostCTSDesign

optimizePostRouteDesign

optimizePreCTSDesign

placeIOPad

placeInst

placeInstECO

placePin

readDef

readDesign

readEcoDesign

readLef

readRCTable

readSdc

readSpareCellFile

Laker Tcl Reference Manual


K-2015.06

1197

Chapter 9: Automatic Place and Route (APR)

1198

readSpef

readVerilog

redirectOutput

removeBufInvs

removeDoubleVia

removePlacement

reportBufInvs

reportCTSException

reportCTSOption

reportCaseAnalysis

reportClock

reportClockTree

reportConstraint

reportCorner

reportDelayCalculation

reportDesign

reportJog

reportNet

reportOptOption

reportPlaceOption

reportRouteInfo

reportRouteRule

reportRule

reportSiteUtilization

reportSlackHistogram

reportSpine

reportSuggestedPitch

reportTieHiLo

reportTiming

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)

resetCTSOption

resetSdc

resumeOutput

routeNet

routeRail

routeRing

routeStripe

setActiveView

setCTSException

setCTSOption

setDontUseCell

setIdealClock

setIgnoredNetsInRouting

setOptOption

setOption

setPlaceOption

setPropagatedClock

setRouteRule

setRoutingConstraint

setRoutingLayer

setRoutingTrack

setViolationType

showHPWL

synthesizeClockTree

unsetDontUseCell

updateTiming

writeDef

writeDesign

writeEcoReport

Laker Tcl Reference Manual


K-2015.06

1199

Chapter 9: Automatic Place and Route (APR)


addEndCap

writeSdf

writeSpareCellFile

writeSpef

writeVerilog

addEndCap
The addEndCap command inserts cap cells in the end of rows. All row
intervals should be enclosed by cap cells.
Similar to the addWellTap command, this command is used to avoid DRC
violations.
Syntax
addEndCap [-ground name] -postCap name [-power name] -preCap
name [-prefix name] [-setAsFixed]
Returns
A progress message is returned.
Arguments
Argument

Description

-ground name

Specify the ground net name.

-postCap name

Specify the name of the cell in the technology library to use


to cap the end of each site row.

-power name

Specify the power net name.

-preCap name

Specify the name of the cell in the technology library to use


to cap the beginning of each site row.

-prefix name

Specify the prefix name.

-setAsFixed

Set the placement status of inserted cap instances to


FIXED.

Examples
# Example 1
addEndCap -preCap PRECAP -postCap POSTCAP -power VDD -ground VSS

1200

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


addFiller

See Also
addFiller
addWellTap
deleteFiller

addFiller
The addFiller command fills unused sites with the specified filler cells.
Syntax
addFiller [-box {area}] [-ground name] [-power name] [-prefix
name] [-prefixMetalFillers name] [-selectedFillerCells
name] [-selectedMetalFillerCells name]
Returns
A progress message is returned.
Arguments
Argument

Description

-box {area}

Add filler cells within the area formed by {x1 y1 x2


y2}.

-ground name

Specify the ground net name.

-power name

Specify the power net name.

-prefix name

Specify the prefix for inserted filler instances.

-prefixMetalFillers
name

Specify the prefix for inserted metal filler instances.

-selectedFillerCells
name

Specify the cell name of filler cells.

-selectedMetalFillerCells Specify the cell name of metal filler cells.


name

Laker Tcl Reference Manual


K-2015.06

1201

Chapter 9: Automatic Place and Route (APR)


addIOPadFiller

Examples
# Example 1
addFiller
# Example 2
addFiller -selectedFillerCells FILL* -power VDD -ground GND
# Example 3
addFiller -selectedMetalFillerCells MFILL* -prefixMetalFillers
mfiller

See Also
deleteFiller
addWellTap
addEndCap

addIOPadFiller
The addIOPadFiller command inserts the filler cells between IO pads. The
space between IO pads is filled by IO fillers. For some conditions, the IO filler
can overlap with each other.
Syntax
addIOPadFiller [-selectedFillerCells] [overlapFillerCells] [-prefix] [-box {area}] [skipLeftSide] [-skipTopSide] [-skipRightSide] [skipBottomSide]
Returns
A progress message is returned.
Arguments

1202

Argument

Description

-box {area}

Add filler cells within the area formed by {x1 y1 x2


y2}.

-overlapFillerCells

Specify the pad filler cells that overlap is allowed.

-prefix

Specify the prefix for inserted filler instances.

-selectedFillerCells

Specify the pad filler cells.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


addView

Argument

Description

-skipBottomSide

Skip the action at bottom side.

-skipLeftSide

Skip the action at left side.

-skipRightSide

Skip the action at right side.

-skipTopSide

Skip the action at top side.

Examples
# Example 1
addIOPadFiller -sel GRIO025_FILLER* -overlap GRIO025_FILLER* \
-prefix IOFILL

See Also
placeIOPad

addView
The addView command creates an analysis view for timing analysis. It defines
the operating conditions (or environmental characteristics) for the current
design.
The library with maximum and minimum conditions must be specified for delay
analysis. The maxLibraryGroup is used for maximum delay analysis and the
minLibraryGroup is used for minimum delay analysis.
Syntax
addView [-analysisType single | bcwc | ocv ] [-crpr] [cScalarHold value] [-cScalarSetup value] -libGroup
libGroupName -maxLibGroup libGroupName [-maxOp
operating_condition] -minLibGroup libGroupName [-minOp
operating_condition] [-op operating_condition] -rcMode
MIN | NOM | MAX -sdc sdcName viewName
Returns
1 if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

1203

Chapter 9: Automatic Place and Route (APR)


addView

Arguments
Argument

Description

-analysisType
single | bcwc | ocv

Specify the operating condition analysis type. The


available types are:

1204

single: Single timing library


bcwc: Dual timing library for best/worse corner
ocv: On-chip-variation on top of bcwc or timingderate.

-crpr

Enable clock re-convergence pessimism removal


analysis.

-cScalarHold value

Specify the multiplier for the capacitance value in hold


analysis.

-cScalarSetup value

Specify the multiplier for the capacitance value in setup


analysis.

-libGroup
libGroupName

Specify the library containing definitions of the


environmental characteristics to be used. This is either
a library name or a collection object.

-maxLibGroup
libGroupName

Specify the library that contains the max_condition.


This is either a library name or a collection object. If this
option is specified, the -maxOp option must also be
specified.

-maxOp
operating_condition

Specify the maximum operating condition used for


checking maximum delays and setup violations (see
the reportTiming command with the -delay min
option). If this option is specified, the -minOp option
must also be specified.

-minLibGroup
libGroupName

Specify the library that contains the min_condition.


This is either a library name or a collection object. If this
option is specified, the -minOp option must also be
specified.

-minOp
operating_condition

Specify the minimum operating condition used for


checking minimum delays and hold violations (see the
reportTiming command with the -delay min
option). If this option is specified, the -maxOp option
must also be specified.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


addWellTap

Argument

Description

-op operating_condition Specify the name of a single operating condition.


-rcMode
MIN | NOM | MAX

Specify the RC extraction mode. The modes are


minimum (MIN), nominal (NOM), and maximum (MAX).
Only one may be specified at a time.

-sdc sdcName

Specify the design/timing constraint (SDC) file name.

viewName

Specify the view name.


Valid value: a string.

Examples
# Example 1
createLibGroup -libGroup typicalGroup data/typical.lib
readSdc -sdcGroup sdcGrp test.sdc
addAnalysisView corner1 -rcMode NOM -libGroup typicalGroup \
-sdc sdcGrp
# Example 2
# For max/min library analysis
addAnalysisView corner1 -rcMode NOM -maxLibGroup maxGroup \
-minLibGroup minGroup -sdc sdcGrp

See Also
reportTiming
createLibGroup
readSdc

addWellTap
The addWellTap command inserts well-tap cells to avoid DRC violations.
To minimize cell size in advanced processes, well-taps are removed from the
standard cell and well-tap cell insertion is performed to avoid latch up DRC
violations.
Well-taps are physical-only filler cells that are required by some technology
libraries to limit resistance between power or ground connections to the
substrate well.
For back-to-back row types, the stagger technology is used to reduce the area
impact.
Laker Tcl Reference Manual
K-2015.06

1205

Chapter 9: Automatic Place and Route (APR)


addWellTap

Syntax
addWellTap -cell name [-ground name] [-prefix name] [-power
name] -maxGap distance [-setAsFixed] [-stagger]
Returns
A progress message is returned.
Arguments
Argument

Description

-cell name

Specify the cell name in the technology library to use as a


well-tap.

-ground name

Specify the ground net name.

-prefix name

Specify the prefix name.

-power name

Specify the power net name.

-maxGap distance

Specify the distance (in microns) from the left edge of one
well-tap to the right edge of the following well-tap in the
same row.

-setAsFixed

Set the placement status of inserted tap instances to


FIXED.

-stagger

Insert the well-tap using stagger style.

Examples
# Example 1
addWellTap -cell WELLTAP -maxGap 10.0 -setAsFixed
# Example 2
addWellTap -cell WELLTAP -maxGap 10.0 -stagger -power VDD \
-ground VSS -prefix _WellTap

See Also
addFiller
deleteFiller
addEndCap

1206

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


analyzeConnectivity

analyzeConnectivity
The analyzeConnectivity command analyzes the connectivity of one net
only and highlights the results in various colors on the GUI.
Syntax
analyzeConnectivity [-cadence | -synopsys | -magma | springSoft] -net net_name
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-cadence | -synopsys |
-magma | -springSoft

Specify the connectivity model as one of the following


modes: Cadence, Synopsys, Magma, or
SpringSoft. Only one mode may be specified. The
default mode is SpringSoft.

-net net_name

Check the connectivity of the specified net.

Examples
analyzeConnectivity -net myNet -springSoft

See Also
checkConnectivity

analyzeRoute
The analyzeRoute command analyzes the routing shapes of specified nets
and reports the statistical information of specified nets.
Syntax
analyzeRoute [-layer string] [-net {string}] [-netRatio] [minRatio value] [-reportLimit integer] [-useHPWL] [viaPinRatio]
Returns
1 if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

1207

Chapter 9: Automatic Place and Route (APR)


analyzeRoute

Arguments
Argument

Description

-layer string

Sort the results by the wire length of the specified layer.


This argument cannot be specified with the netRatio and -viaPinRatio arguments.

-net {string}

Specify the net name pattern.

-netRatio

Set to report a net if its total wire length to the


Manhattan distance is greater than the minimum ratio.

-minRatio value

Report a net if the ratio is greater than the specified


value.
Valid value: a floating number (default=2.0).

-reportLimit integer

Specify the maximum number of reported nets.


Valid value: an integer (default=200).

-useHPWL

Set to use the half perimeter of the net bounding box


instead of the Manhattan distance for net ratio
calculation. If this option is used, -netRatio must also
be specified.

-viaPinRatio

Set to report a net if its total via count to the pin count is
greater than the minimum ratio.

Examples
# Example 1
analyzeRoute
# Example 2
analyzeRoute -net { netToBeAnalyzed }
# Example 3
analyzeRoute -minRatio 4 -netRatio -reportLimit 50

See Also
checkConnectivity
routeNet

1208

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


aprExit

aprExit
The aprExit command exits the window.
Syntax
aprExit
Returns
1 if successful; otherwise, returns 0.
Examples
# Example 1
readDesign my_design -topCell CPU
...
closeDesign
aprExit

See Also
exit quit

changeRouteTypeStatus
According to the filtered criteria, the changeRouteTypeStatus command
changes the route status and route type of physical shapes.
Syntax
changeRouteTypeStatus [-allPGNets] [-allSignalNets] [default] [-dryRun] [-free] [-fixed] [-net string] [normal] [-onlyChangeNonPrewire] [-spineOnly] [-stripe]
[-verbose] [-viaOnly] [-viaWithMasterName string] [viaWithMinimumCut integer] [-wireGreaterThanMinWidth] [wireGreaterThanVarWidth] [-wireOnly] [wireWithMinWidth]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-allPGNets

Apply changes to all power and ground (PG) nets.

Laker Tcl Reference Manual


K-2015.06

1209

Chapter 9: Automatic Place and Route (APR)


changeRouteTypeStatus

Argument

Description

-allSignalNets

Apply changes to all signal nets.

-default

Perform all default common route type changes,


including:

Apply status change to all shapes of PG nets.


Mark all normal/special and free PG nonminimum-width wires as fixed.

Mark all normal/special and free PG vias with


more than 2 cuts as fixed.
The -default argument overrules any other
conflicting parameters.

-dryRun

Go through the nets and test the changes without


changing anything for real.

-free

Change the route status as free.

-fixed

Change the route status as fixed.

-net string

Specify the name of the net (or name pattern) of


routes to be changed.

-normal

Change the route type as normal.

-onlyChangeNonPrewire

Only apply changes to non-prewire wires/vias.

-spineOnly

Only change the route type/status on spine wires.

-stripe

Change the route type as stripe.

-verbose

Only change the route type/status of spine wires


(skip vias/normal wires).

-viaOnly

Only change the route type/status on vias.

-viaWithMasterName string

Change all vias matching the specified master


name.

-viaWithMinimumCut integer Change the routes of vias with the number of cuts
greater than or equal to the specified value.
-wireGreaterThanMinWidth

1210

Change the routes of wires with a width greater


than the minimum width of the layer.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


checkConnectivity

Argument

Description

-wireGreaterThanVarWidth

Change the routes of wires with a width greater


than the variable width of the layer.

-wireOnly

Only change the route type/status on wires.

-wireWithMinWidth

Change the routes of wires with a width equal to


the mininum width of the layer.

Examples
# Example 1
changeRouteTypeStatus -default
# Example 2
changeRouteTypeStatus -spineOnly -fixed
# Example 3
changeRouteTypeStatus -allPGNets -stripe

See Also
deleteRoute

checkConnectivity
The checkConnectivity command checks the physical connectivity status
of a pin and traverses from the driving pin (if it has port shapes). For detailed
analysis with graphical display, use the analyzeConnectivity command.
Use the -net argument to see a detailed report of each net.
Power/Ground (PG) nets are always checked. With -checkPGPins, all pins of
a PG net are checked, without -checkPGPins, only tied-high/low pins of a PG
net are checked.
Syntax
checkConnectivity [-cadence | -synopsys | -magma | springSoft] [-checkPGPins] [-checkShapes] [-incremental]
[-net net_name] [-skipNoRouteNets] [-skipPGNets] [threads threads_number]
Returns
1 if successful; otherwise, returns 0.
Laker Tcl Reference Manual
K-2015.06

1211

Chapter 9: Automatic Place and Route (APR)


checkConnectivity

Arguments
Argument

Description

-cadence | -synopsys |
-magma | -springSoft

Specify the connectivity model as one of the following


modes: Cadence, Synopsys, Magma, or
SpringSoft. Only one mode may be specified. The
default mode is SpringSoft.

-checkPGPins

Check PG pins connectivity in PG nets. When not


specified, only tied-high/low pins are checked.

-checkShapes

Check open shapes as in analyzeConnectivity.

-incremental

Check connectivity incrementally based on the touched


connection of pins.

-net net_name

Check the openness of the specified net and then


generate a detailed report. This argument cannot be
specified with the -threads, -skipNoRouteNets, or
-skipPGNets arguments.

-skipNoRouteNets

Do not report open nets that have NO routing (totally


unrouted nets). This argument cannot be specified with
the -net argument.

-skipPGNets

Do not check and report PG nets for connectivity. This


argument cannot be specified with the -net argument.

-threads
threads_number

Specify the number of threads used for openness


checking. The default is the maximum available CPU
threads.
Valid value: an integer.
This argument cannot be specified with the -net
argument.

Examples
# Example 1
checkConnectivity -springSoft -threads 4
# Example 2
checkConnectivity -magma -net myNet

See Also
analyzeConnectivity

1212

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


checkExistingVio

checkExistingVio
According to the design rule, the checkExistingVio command checks the
existing DRC violations for pins in the cell.
Syntax
checkExistingVio [-selectedTypeOnly] [-signalOnly]
[-threads integer]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-selectedTypeOnly

Only report violations for the types specified in the


violationTypeSet command.

-signalOnly

Skip checking PG instance pins. Only report a violation


if the port-rectangle belongs to a signal pin.

-threads integer

Specify the number of threads used for violation


checking.
Valid value: an integer.

Examples
# Example 1
checkExistingVio
# Example 2
checkExistingVio -selectedTypeOnly

See Also
checkViolation

checkPlacement
The checkPlacement command checks the placement legality. It is a checker
used to detect errors related to the current message.

Laker Tcl Reference Manual


K-2015.06

1213

Chapter 9: Automatic Place and Route (APR)


checkRCTable

Syntax
checkPlacement [-blockageAware] [-detail] [overlapIgnoreCheckList string] [-short]
Returns
A summary message is returned.
Arguments
Argument

Description

-blockageAware

Detect whether cells overlap with placement blockage.

-detail

Perform detailed checking.

-overlapIgnoreCheckList Specify the list to ignore when checking overlap.


string
Valid values: string list.
-short

Detect whether the cells are placed under safe route.

Examples
# Example 1
checkPlacement
# Example 2
checkPlacement -detail

See Also
placeInst
legalizeInst
addFiller
deleteFiller

checkRCTable
The checkRCTable command checks the completeness of the resistance and
capacitance (RC) lookup table loaded with the readRCTable command. All
routing layer combinations should have associated model and tables. If there
are missing RC models (specifying the up/current/down layers and associated
models for different corners) or RC lookup table, the extractRC command
fails.

1214

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


checkSuboptimal

Syntax
checkRCTable
Returns
1 if successful; otherwise, returns 0.
Examples
checkRCTable

See Also
readRCTable

checkSuboptimal
The checkSuboptimal command checks the sub-optimal routing shapes.
Syntax
checkSuboptimal [-freeOnly] [-signalOnly] [-threads
integer]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-freeOnly

Only report a sub-optimal route if it is related to a


status-free (not fixed) shape.

-signalOnly

Only report a sub-optimal route if it is related to a


signal or tied-high/low net shape.

-threads integer

Specify the threads used for sub-optimal route


checking.
Valid value: an integer.

Examples
checkSuboptimal

See Also
checkViolation

Laker Tcl Reference Manual


K-2015.06

1215

Chapter 9: Automatic Place and Route (APR)


checkTieHiLo

checkExistingVio
fixRoutePattern
fixNetRatio

checkTieHiLo
The checkTieHiLo command checks the physical connectivity status of a
tied-high/low pin. This command traverses from the tied-high/low pin (the signal
port that is connected to a power/ground (PG) net) to PG pre-wires.
Syntax
checkTieHiLo [ -cadence | -synopsys | -magma | -springSoft ]
[-net net_name] [-threads threads_number]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-cadence | -synopsys |
-magma | -springSoft

Specify the connectivity model as one of the


following modes: Cadence, Synopsys, Magma, or
SpringSoft. Only one mode may be specified.
The default mode is SpringSoft. The springSoft argument is also known as nanovata.

-net net_name

Check the tied-high/low openness of the specified


net and generate a detailed report. This argument
cannot be used with the -threads argument.

-threads threads_number

Specify the number of threads used for checking


tied-high/low openness. The default is the maximum
available CPU threads. Valid value: an integer. This
argument cannot be used with the
-net argument.

Examples
checkTieHiLo -springSoft -threads 4
checkTieHiLo -cadence -net myNet

1216

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


checkViolation

See Also
analyzeConnectivity
checkConnectivity

checkViolation
According to the design rule, the checkViolation command checks existing
design rule violations.
Syntax
checkViolation [-freeOnly] [-selectedTypeOnly] [signalOnly] [-threads integer]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-freeOnly

Only check and report violations related to a status-free


(not fixed) shape.

-selectedTypeOnly

Only check and report violations for types specified in the


violationTypeSet command.

-signalOnly

Only check and report violations related to a signal or


tied-high/low net shape.

-threads integer

Specify the number of threads used for violation


checking.
Valid value: an integer.

Examples
# Example 1
checkViolation
# Example 2
checkViolation -signalOnly -freeOnly
# Example 3
checkViolation -selectedTypeOnly

Laker Tcl Reference Manual


K-2015.06

1217

Chapter 9: Automatic Place and Route (APR)


clearCTSException

See Also
fixViolation
fixRoutePattern
insertDFMVia
setViolationType

clearCTSException
The clearCTSException command clears CTS pin exceptions.
Syntax
clearCTSException [ -all ] [ -excludePin pinNames ] [ leafPin pinNames ] [ -stopPin pinNames ] [ -throughPin
pinNames ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-all

Clear all pin exceptions.

-excludePin pinNames

Specify the list of user-defined pin names to exclude for


CTS.

-leafPin pinNames

Specify the list of user-defined leaf pins for CTS.

-stopPin pinNames

Specify the list of user-defined stop pins for CTS.

-throughPin pinNames

Specify the list of user-defined through pins for CTS.

Examples
# Example 1
clearCTSException -excludePin u1/CK -stopPin u2/CK
# Example 2
clearCTSException -all

See Also
setCTSException

1218

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


closeDesign

closeDesign
The closeDesign command closes the current design and releases the
design data from memory.
Syntax
closeDesign
Returns
1 if successful; otherwise, returns 0.
Examples
# Example 1
readLib -logical logical_lib -physical physical_lib
readDesign my_design -topCell CPU
...
closeDesign

See Also
readDesign

compareRc
The compareRc command compares two SPEF files to calculate the worst
relative difference, the worst absolute difference, the expected value error, and
the standard deviation error.
The first file specified should contain the golden data.
Syntax
compareRc spef_file_name1 spef_file_name2 [-max maxVal] [min minVal]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

spef_file_name1

Specify the first SPEF file to compare.

Laker Tcl Reference Manual


K-2015.06

1219

Chapter 9: Automatic Place and Route (APR)


compileDef

Argument

Description

spef_file_name2

Specify the second SPEF file to compare.

-max maxVal

Skip the capacitance with value greater than the


specified maximum value (in pF).

-min minVal

Skip the capacitance with value less than the specified


minimum value (in pF).

Examples
# Example 1
compareRc golden.spef data.spef

See Also
writeSpef
readSpef

compileDef
The compileDef command compiles the specified DEF file(s) and saves the
design data into the specified database.
Syntax
compileDef defFilesList -output db_name [-refLib
reference_lef_lib(s)]
Returns
1 if successful; otherwise, returns 0.
Arguments

1220

Argument

Description

defFilesList

Specify one or more DEF files.

-output db_name

Specify the database name to be created.

-refLib reference_lef_lib(s)

Specify the LEF cell library database.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


compileHdl

Examples
# Example 1
compileLef -output lef13 head.lef macro.lef
compileDef -refLib lef13 -output my_design cpu_routed.def

See Also
readDesign
compileLef

compileHdl
The compileHdl command compiles the specified HDL source files into a
database.
For CPF support, the -cpf argument is required to specify the CPF file to map
1b1 and 1b0 in different power domains correctly. The specified CPF file
binds to this design on disk. This CPF file does not need to be specified again
later.
The CPF file can also contain liberty and SDC information.
Syntax
compileHdl -cpf cpf_file -output db_name -refLib
external_reference_lib(s) [-top_cell top_cell_name] [verilog verilog_file]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-cpf cpf_file

Specify the common power format (CPF) file.

-output db_name

Specify the database name to be created.

-refLib
external_reference_lib(s)

Specify the external reference library.

-top_cell top_cell_name

Specify the top module name. If this option is not


specified, the first non-instantiated module is
assigned as the top module.

Laker Tcl Reference Manual


K-2015.06

1221

Chapter 9: Automatic Place and Route (APR)


compileLef

Argument

Description

-verilog verilog_file

Specify the Verilog file to compile into the database.

Examples
# Example 1
# Compile c.v by reference to lef with cpf file myCPF.cpf
compileHdl -verilog c.v -refLib lef -topCell system -cpf myCPF.cpf

See Also
compileDef
compileLef
readDesign

compileLef
The compileLef command compiles physical (.lef) library files into the
specified database. The logical name of database is the same as the base
name of the physical database.
lib.defs is updated after this command.
For multiple LEF library support, the LEF library containing the technology
information must be compiled with -tfLib. Other LEF libraries must reference
this technology library specified with the -tfRef argument.
Syntax
compileLef filesList [-layerMap layerMapFile] -output dbName
[-tfLib] [-tfRef refTechLib]
Returns
1 if successful; otherwise, returns 0.
Arguments

1222

Argument

Description

filesList

Specify one or more external files.

-layerMap layerMapFile

Specify the layer map file.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


convertRouteConnectionModel

Argument

Description

-output dbName

Specifies the database name to be created. This


argument must be specified. All LEF files are
compiled into the specified database (db_name).

-tfLib

Specify the technology library.

-tfRef refTechLib

Specify the reference LEF library for this LEF library.

Examples
# Example 1
# The files_list can be a Tcl list format
compileLef -output lef13 {head.lef macro.lef}
# Example 2
# Compile LEF library
compileLef -output lef13 head.lef macro.lef
compileDef -tech_lib lef13 -output my_design cpu_routed.def
# Example 3
# Compile multiple
compileLef -output
compileLef -output
compileLef -output

LEF libraries
lef_tech tech.lef -tfLib
lef_std std.lef -tfRef lef_tech
lef_mem mem.lef -tfRef lef_tech

See Also
compileDef
readDesign

convertRouteConnectionModel
The convertRouteConnectionModel command converts the net specified
with the -net argument.
By default, box overlaps are considered as connected.
-cadence/-synopsys modes are both center-line modes. However,
-cadence mode is stricter than -synopsys mode. For example, in -cadence
mode:

Center-line crossing is not considered as connected.

Origin of via must sit on center line of wires.

Laker Tcl Reference Manual


K-2015.06

1223

Chapter 9: Automatic Place and Route (APR)


createLibGroup

Syntax
convertRouteConnectionModel [-net string] [-verbose]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-net string

Convert the connectivity of the specified net only and


generate a detailed report.

-verbose

Print the detailed information into the log file.

Examples
# Example 1
convertRouteConnectionModel
# Example 2
convertRouteConnectionModel -verbose

See Also
checkConnectivity

createLibGroup
The createLibGroup command creates a library group with the specified
name. This group can be input by readLib for addAnalysisView to use
later.
Syntax
createLibGroup libFileNames [-libGroup group_name]
Returns
1 if successful; otherwise, returns 0.
Arguments

1224

Argument

Description

libFileNames

Specify one or more library file (.lib) names. If multiple


names are specified, surround the list with {}.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


createPlaceBlkUnderMetal

Argument

Description

-libGroup group_name

Specify the name for the library group.

Examples
# Example 1
readLib data/typical.lib
createLibGroup -libGroup typicalGroup data/typical.lib
addAnalysisView corner1 -rcMode NOM -libGroup typicalGroup

See Also
addAnalysisView

createPlaceBlkUnderMetal
The createPlaceBlkUnderMetal command creates placement blockages
under pre-routed shapes.
During the design flow, users may not expect to place instances under prerouted shapes. This command provides a strategy for creating placement
blockages under routed shapes.
Syntax
createPlaceBlkUnderMetal -layer layerNames [-pgOnly]
Returns
A progress message is returned.
Arguments
Argument

Description

-layer layerNames

Specify one or more metal layers. If multiple layers are


specified, separate by spaces and surround the list with
{}.

-pgOnly

Only create a blockage under power/ground (PG)


shapes.

Examples
# Example 1
createPlaceBlkUnderMetal -layer {ME1 ME2}

Laker Tcl Reference Manual


K-2015.06

1225

Chapter 9: Automatic Place and Route (APR)


createRouteRule

# Example 2
createPlaceBlkUnderMetal -layer {ME1 ME2} -pgOnly

See Also
placement

createRouteRule
The createRouteRule command defines the wiring width, spacing and
available routing layer with non-default rules.
Syntax
createRouteRule [-maxLayer string] [-minLayer string] [refRule string] [-rule string] [-wireSpacing string] [wireSpacingMultiplier string] [-wireWidth string] [wireWidthMultiplier string]
Returns
1 if successful; otherwise, returns 0.
Arguments

1226

Argument

Description

-maxLayer string

Specify the name of the maximum layer for routing


(also known as -maxLayerName).

-minLayer string

Specify the name of the minimum layer for routing (also


known as -minLayerName).

-refRule string

Specify the name of the reference route rule.

-rule string

Specify the name of the route rule.

-wireSpacing string

Specify the desired wire spacing on the specified layer


with the following format: {layerName1
wireSpacing1 ... layerNameN
wireSpacingN}.

-wireSpacingMultiplier
string

Specify the desired wire spacing multiplier on the


specified layer with the following format:
{layerName1 wireSpacingMultiplier1 ...
layerNameN wireSpacingMultiplierN}.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


deleteFiller

Argument

Description

-wireWidth string

Specify the desired wire width on the specified layer


with the following format: {layerName1 wireWidth1
... layerNameN wireWidthN}.

-wireWidthMultiplier
string

Specify the desired wire width multiplier on the


specified layer with the following format:
{layerName1 wireWidthMultiplier1 ...
layerNameN wireWidthMultiplierN}.

Examples
# Example 1
createRouteRule -rule double_Width \
-wireWidth { metal1 0.23 metal2 0.28 metal3 0.56 metal4 0.88 }
# Example 2
createRouteRule -rule double_Spacing \
-wireSpacing { metal1 0.23 metal2 0.28 metal3 0.56 metal4 0.92 }
# Example 3
createRouteRule -rule myRule -wireWidth { M1 0.1}

See Also
setRouteRule
reportRouteRule
deleteRouteRule

deleteFiller
The deleteFiller command removes filler cells from the current design.
Filler cells with COVER status are not removed.
Syntax
deleteFiller [-box {area}] [-selectedFillerCells string]
Returns
A progress message is returned.

Laker Tcl Reference Manual


K-2015.06

1227

Chapter 9: Automatic Place and Route (APR)


deleteRoute

Arguments
Argument

Description

-box {area}

Delete filler cells from the area formed by {x1 y1 x2


y2}.

-selectedFillerCells
string

Specify the string pattern for the filler cell names.

Examples
# Example 1
deleteFiller
# Example 2
deleteFiller -selectedFillerCells FILL* -box {0 0 400 400}

See Also
addFiller
addEndCap
addWellTap

deleteRoute
The deleteRoute command deletes the routes for specified nets using the
given options.
Syntax
deleteRoute [-allNets] [-allSignals] [-netNames string] [subTypes string] [-types string]
Returns
1 if successful; otherwise, returns 0.
Arguments

1228

Argument

Description

-allNets

Delete routes for all nets.

-allSignals

Delete routes for signal-type nets (including tied-high/


low nets).

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


deleteRouteRule

Argument

Description

-netNames string

Specify the net names of the routes to be deleted. The


wildcard character * or regular expressions are
supported. If multiple net names are specified,
surround the list with {}.

-subTypes string

Delete the routes that match the sub-types of the


specified nets. If multiple sub-types are specified,
surround the list with {}.
Valid values: RING, STRIPE, FOLLOWPIN, PINCONN,
IOWIRE, COREWIRE, and BLOCKWIRE.

-types string

Delete the routes that match the type of the specified


nets. If multiple types are specified, surround the list
with {}. Valid values: PG and SIGNAL.

Examples
# Example 1
deleteRoute -allSignals
# Example 2
deleteRoute -types {PG} -subTypes {FOLLOWPIN}
# Example 3
deleteRoute -net {netToBeDeleted}

See Also
routeNet

deleteRouteRule
The deleteRouteRule command deletes the defined non-default rules.
Syntax
deleteRouteRule [-all] [-rule string]
Returns
1 if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

1229

Chapter 9: Automatic Place and Route (APR)


deleteSdc

Arguments
Argument

Description

-all

Delete all route rules.

-rule string

Specify the name of the route rule to be deleted.

Examples
# Example 1
deleteRouteRule -all
# Example 2
deleteRouteRule -rule myRule

See Also
createRouteRule
setRouteRule
reportRouteRule

deleteSdc
The deleteSdc command deletes a defined SDC group. All timing views that
reference the deleted SDC group are also deleted.
Syntax
deleteSdc groupName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

groupName

Specify a previously defined group name.

Examples
# Example 1
readSdc -sdcGroup testMode {constraint.sdc test.sdc}
readSdc -sdcGroup normalMode {constraint.sdc normal.sdc}

1230

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


deleteView

addView corner1 -sdc testMode ...


addView corner2 -sdc testMode ...
addView corner3 -sdc normalMode ...
# If deleteSdc testMode is executed, the SDC group testMode
# is deleted. Views corner1 and corner2 are also deleted.

See Also
readSdc
resetSdc
deleteView

deleteView
The deleteView command deletes a previously defined timing view.
Syntax
deleteView viewName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

viewName

Specify the timing view name.

Examples
# Example 1
readSdc -sdcGroup testMode {contraint.sdc test.sdc}
addView corner1 -sdc testMode ...
addView corner2 -sdc testMode ...
# If deleteView corner1 is executed, corner1 is deleted.
# Only corner2 references SDC group testMode.

See Also
addView
readSdc

Laker Tcl Reference Manual


K-2015.06

1231

Chapter 9: Automatic Place and Route (APR)


detachScanChain

detachScanChain
The detachScanChain command detaches the connection for the specified
scan chain name.
Syntax
detachScanChain

-name string

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-name string

Specify the scan chain name.

Examples
# Example 1
detachScanChain -name chain1

dumpInstPlacementTcl
The dumpInstPlacementTcl command dumps the current placement (for
example: instance position, orientation, and status) in Tcl format. The
placement can be recalled by sourcing the Tcl script.
Syntax
dumpInstPlacementTcl -file name
Returns
A progress message is returned.
Arguments
Argument

Description

-file name

Specify the output file name.

Examples
# Example 1
dumpInstPlacementTcl -file place.tcl

1232

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


dumpPinConstraintTemplate

See Also
dumpPinPlacementTcl

dumpPinConstraintTemplate
The dumpPinConstraintTemplate command dumps a template file for pin
constraints. A template file is a better starting point.
Syntax
dumpPinConstraintTemplate -file name
Returns
A progress message is returned.
Arguments
Argument

Description

-file name

Specify the output file name.

Examples
# Example 1
dumpPinConstraintTemplate -file pin.const

See Also
placePin

dumpPinPlacementTcl
The dumpPinPlacementTcl command dumps the current pin position and
size in Tcl format. The placement can be recalled by sourcing the Tcl script.
Syntax
dumpPinPlacementTcl -file name
Returns
A progress message is returned.

Laker Tcl Reference Manual


K-2015.06

1233

Chapter 9: Automatic Place and Route (APR)


ecoRoute

Arguments
Argument

Description

-file name

Specify the output file name.

Examples
# Example 1
dumpPinPlacementTcl -file pin.tcl

See Also
dumpInstPlacementTcl

ecoRoute
The ecoRoute command connects open nets and fixes existing rule violations.
All violations are fixed by R&R and pusher.
Syntax
ecoRoute [-autoReduceMask] [-checkTopPinMA] [cutOffVioSoftness softness] [-fixSuboptimal] [incremental] [-maxLayer maxLayer] [-minLayer minLayer]
[-onGrid] [-skipTieHiLo] [-skipVioFixing] [-threads
thread_num] [-suboptimalMaxIteration sub_opt_iter_num]
[-trimTieHiLo] [-useDoubleVia] [-vioFixIteration
iter_num]
Returns
Progressive messages for each violation if successful; otherwise, returns
nothing.
Arguments
Argument

Description

-autoReduceMask

Perform auto mask reduction routing iterations.

-checkTopPinMA

Check the minimum area violation on top-level pins


and fix violations.

-cutOffVioSoftness softness Ignore DRC violation types if the softness is


greater than the specified value.

1234

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


ecoRoute

Argument

Description

-fixSuboptimal

Treat suboptimal routes as violations and fix them.

-incremental

Perform checkConnectivity and fixViolation


incrementally to reduce routing time.

-maxLayer maxLayer

Specify the preferred maximum routing layer by


name.

-minLayer minLayer

Specify the preferred minimum routing layer by


name.

-onGrid

Route on major grids (tracks) when possible.

-skipTieHiLo

Skip fixing tied-high/low opens.

-skipVioFixing

Skip fixing DRC violations. Only fix opens.

-suboptimalMaxIteration
sub_opt_iter_num

Specify the number of iterations to perform for


cleaning up passive suboptimal routes.

-threads thread_num

Specify the number of threads used for violation


fixing. Valid value: an integer, from 0 to 8. Default
is 1.

-trimTieHiLo

Set to perform wire trimming on dangling tied-high/


low wires and vias during violation fixing.

-useDoubleVia

Set to use double via during routing. A single via is


considered a violation.

-vioFixIteration iter_num

Specify the number of iterations for violation fixing.


Valid value: an integer.

Examples
# Example 1
ecoRoute
# Example 2
ecoRoute -onGrid -thread 4

See Also
fixViolation

Laker Tcl Reference Manual


K-2015.06

1235

Chapter 9: Automatic Place and Route (APR)


extractRc

checkViolation
checkConnectivity

extractRc
The extractRc command extracts the RC value of all nets after reading the
RC table.
Syntax
extractRc [-ignoredNets names] [-incremental] [-nets names]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-ignoredNets names

Specify the nets whose shapes should be ignored as


coupling parties during RC extraction. If multiple names
are specified, surround the list with {}.

-incremental

Only update the RC value for those nets that are dirty.
When in doubt, do not use this option.

-nets names

Specify the names or patterns of nets to extract the RC


value for. If multiple names are specified, surround the
list with {}.

Examples
# Example 1
extractRc
# Example 2
extractRc -net {n1 n2 n3}
# Example 3
extractRc -incremental

See Also
readRCTable

1236

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


extractScanChain

extractScanChain
The extractScanChain command extracts the scan chains for the
scanMode assigned in the CPF file or from the addView command. The
desired stil file and scan chains (from scan_in/scan_out) can also be specified.
Syntax
extractScanChain [-chain string]
string]

-scanMode string

[-stil

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-chain string

Specify the scan chains scan_in and scan_out names,


for example: SI1 SO1 SI2 SO2 ... SIn SOn.

-scanMode string

Specify the scan mode name from the CPF file or from
addView -sdc {scanMode}.

-stil string

Specify the stil file name.

Examples
# Example 1
addView ScanFastView -libGroup fastLibSet -sdc ScanMode \
-analysisType single -rcGroup testRc
extractScanChain -stil scan.stil -scanMode {ScanMode}

See Also
addView

fillNotchGap
The fillNotchGap command is used in the post-process stage to fill the
notch/gap for DRC.

Laker Tcl Reference Manual


K-2015.06

1237

Chapter 9: Automatic Place and Route (APR)


fixNetRatio

Syntax
fillNotchGap [-freeOnly] [-remove] [-signalOnly] [-threads
integer]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-freeOnly

Only fill the notch/gap if it is related to a status-free (not


fixed) shape.

-remove

Remove all notch/gap fill shapes (NetRect) from the


design.

-signalOnly

Only fill the notch/gap if it is related to a signal or tiedhigh/low net shape.

-threads integer

Specify the number of threads used for notch/gap


filling.
Valid value: an integer.

Examples
# Example 1
fillNotchGap
# Example 2
fillNotchGap -remove

See Also
checkViolation
fixViolation

fixNetRatio
The fixNetRatio command is used in the post-process stage to fix high net
ratios.
Syntax
fixNetRatio [-area string] [-iteration integer] [-ratioLimit
value] [-threads integer]
1238

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


fixRoutePattern

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-area string

Only fix the net ratio on the area formed by {x1 y1 x2


y2}.

-iteration integer

Specify the number of iterations.


Valid value: an integer (default=5).

-ratioLimit value

Only nets with ratio greater than or equal to the specify


value.
Valid value: a floating number (default=1.5).

-threads integer

Specify the number of threads used for net ratio fixing.


Valid value: an integer (default=4).

Examples
# Example 1
fixNetRatio
# Example 2
fixNetRatio -iteration 10
# Example 3
fixNetRatio -ratioLimit 3.0

See Also
fixRoutePattern
analyzeRoute
checkSuboptimal

fixRoutePattern
The fixRoutePattern command fixes sub-optimal route patterns by
eliminating unnecessary U, Z, and W shapes at the post-routing stage. No
violation is created after pattern fixing if the input design was DRC clean.

Laker Tcl Reference Manual


K-2015.06

1239

Chapter 9: Automatic Place and Route (APR)


fixRoutePattern

Syntax
fixRoutePattern [-area string] [-iteration integer] [threads integer] [-wrongWayLimit length | -wrongWayLength
length]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-area string

When specified, only fix the route pattern on the area


formed by {x1 y1 x2 y2}. When not specified, fix
the route pattern for the whole design.

-iteration integer

Specify the number of iterations.


Valid value: an integer (default=5).

-threads integer

Specify the number of threads used for route pattern


fixing.
Valid value: an integer (default=4).

-wrongWayLength length Set the limit on the length (represented in microns) of


wrong way wires generated to replace vias.
Valid value: a floating number (default=unlimited).
-wrongWayLimit length

Set the limit on the length (represented in the multiple


of the wire width) of wrong way wires generated to
replace vias.
Valid value: a floating number (default=unlimited).

Examples
# Example 1
fixRoutePattern
# Example 2
fixRoutePattern -iteration 10
# Example 3
fixRoutePattern -wrongWayLength 0.5

See Also
fixViolation
checkViolation
checkSuboptimal

1240

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


fixViolation

fixViolation
The fixViolation command fixes all design violations including simple
shorts, spacing, and nano-meter rules (for example: fat spacing and minimum
edge). It also connects tied-hi/lo nets and fixes sub-optimal route patterns.
This command cannot be used to connect nets except for tied-high/low nets.
Syntax
fixViolation [-area string] [-avoidM1WireTouchPin] [checkTopPinMA] [-incremental] [-iteration integer] [onGrid] [-noPushing] [-skipVioChecking] [-threads
thread_num] [-useDoubleVia] [-verbose]
Returns
Progressive violation fixing messages if successful; otherwise, returns nothing.
Arguments
Argument

Description

-area string

Only fix violations on the area formed by {x1 y1 x2 y2}.

-avoidM1WireTouchPin

Only use vias to touch M1 pin.

-checkTopPinMA

Check and fix the minimum area violation on the toplevel pins.

-incremental

Only check nets (with drcDirty bit marked) to save


time.

-iteration integer

Specify the number iterations.


Valid value: an integer (default=5).

-onGrid

Route on major grids (tracks) when possible.

-noPushing

Do not use pushing to resolve violations.

-skipVioChecking

Use existing violation set, skip re-checking to save


time.

-threads thread_num

Specify the number of threads used for violation


fixing.
Valid value: an integer from 0 to 8 (default=1).

Laker Tcl Reference Manual


K-2015.06

1241

Chapter 9: Automatic Place and Route (APR)


genRCTable

Argument

Description

-useDoubleVia

Use double vias in routing.

-verbose

Generate more messages about the progress of


violation fixing.

Examples
# Example 1
fixViolation
# Example 2
fixViolation -onGrid -thread 4
# Example 3
fixViolation -iteration 50 -thread 4

See Also
ecoRoute
checkViolation
fixRoutePattern

genRCTable
The genRCTable command uses the field solver to generate resistance and
capacitance (RC) patterns based on the ITF or PF information.
Syntax
genRCTable -itf | -pf fileName [-polyLayerName polyName]
-rcTbl fileName
Returns
1 if successful; otherwise, returns 0.
Arguments

1242

Argument

Description

-itf | -pf fileName

Specify the Synopsys interconnect technology file


name (-itf) or the SpringSoft process file name (pf).

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


guiSetLayerColor

Argument

Description

-polyLayerName
polyName

Specify the name of the poly layer (for example: POLY)


if not defined in the technology file.

-rcTbl fileName

Specify the output RC table name.

Examples
# Example 1
genRCTable -itf test.itf -rcTbl out.tlu -polyLayerName POLY

See Also
readRCTable

guiSetLayerColor
The guiSetLayerColor command changes the default color setting for the
specified layer.
The layer name must match the layer name defined in the technology
database. The color name must match the color name in the loaded display file.
Syntax
guiSetLayerColor -color colorName -layer layerName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-color colorName

Specify the color name.

-layer layerName

Specify the name of the layer for which to change the


color.

Examples
# Example 1
# Change the METAL2 layer color to green
guiSetLayerColor -layer METAL2 -color green

Laker Tcl Reference Manual


K-2015.06

1243

Chapter 9: Automatic Place and Route (APR)


guiShow

See Also
guiShow

guiShow
The guiShow command displays the GUI window on demand.
After switching to GUI mode, it is not possible to switch back to the console
prompt.
Syntax
guiShow
Returns
1 if successful; otherwise, returns 0.
Examples
guiShow

See Also
gui show

help
The help command displays all usable commands in table format if a specific
command name is not provided. If a command name is specified, a brief
description for the command is displayed.
Syntax
help [commandName]
Returns
1 if successful; otherwise, returns 0.
Arguments

1244

Argument

Description

commandName

Specify the command name for which to print the help


message.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


ignoreNetInRouting

Examples
# Example 1
# List all possible commands
help
# Example 2
# List the usage of readDesign
help readDesign

See Also
man

ignoreNetInRouting
The ignoreNetInRouting command filters nets that do not need to be
routed.
The fixViolation command may be used to change the routing shapes of
ignored nets.
Syntax
ignoreNetInRouting [netNamesOrPatterns] [-clear] [-set]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

netNamesOrPatterns

Specify one or more net names/patterns to be ignored


during routing.

-clear

Set to route the specified nets. If no nets are specified,


all nets are routed.

-set

Set to ignore the specified nets during routing.

Examples
# Example 1
ignoreNetInRouting -set {VDD VSS}
# Example 2
ignoreNetInRouting -clear

Laker Tcl Reference Manual


K-2015.06

1245

Chapter 9: Automatic Place and Route (APR)


insertDFMVia

See Also
routeNet
fixViolation

insertDFMVia
The insertDFMVia command replaces the existing vias in the design with
DFM vias.
Syntax
insertDFMVia [-report] [-showLayerBreakdown] [-skipPGMCVia]
[-threads integer] [-withPushing]
Returns
1 if successful; otherwise, returns 0.
Arguments

1246

Argument

Description

-report

Skip the replacement and only show different priorities


of DFM vias in the final report.

-showLayerBreakdown

Show different priorities of DFM vias for each layer in


the final report. When not specified, the final report
shows different priorities of DFM vias for the entire
design.

-skipPGMCVia

Do not process (and report in totals) multiple cut PG


vias.

-threads integer

Specify the number of threads to run DFM via insertion


on.

-withPushing

Use pushing to make space for larger vias. This usually


results in a higher insertion rate.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


insertDoubleVia

Examples
# Example 1
insertDFMVia
# Example 2
insertDFMVia -threads 4
# Example 3
insertDFMVia -withPushing

See Also
checkViolation
insertDFMVia

insertDoubleVia
The insertDoubleVia command replaces single cut vias in the design with
double cut vias including rectangle cuts.
Syntax
insertDoubleVia [-threads integer] [-withPushing]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-threads integer

Override the global thread count with the specified


number.
Valid value: an integer.

-withPushing

Use pushing to make a space for larger vias. This usually


results in a higher insertion rate.

Laker Tcl Reference Manual


K-2015.06

1247

Chapter 9: Automatic Place and Route (APR)


legalizeInst

Examples
# Example 1
insertDoubleVia
# Example 2
insertDoubleVia -threads 4
# Example 3
insertDoubleVia -withPushing

See Also
checkViolation
reportRouteInfo

legalizeInst
The legalizeInst command moves standard cells to the legal position. It
finds the legal position of standard cells first, and then do the following actions:

snap to site grid

honor the orientation rule of the cell/row

match the site definition in the cell/row

keep the cell displacement to a minimum

Syntax
legalizeInst [-box {area}] [-fixClockInst] [-plotMove]
Returns
A legalization progress message is returned.
Arguments

1248

Argument

Description

-box {area}

Specify the legalized area formed by {x1 y1 x2 y2}.

-fixClockInst

Fix clock instances during legalization.

-plotMove

Plot instance movements.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


listViews

Examples
# Example 1
legalizeInst
# Example 2
legalizeInst -box {0 0 400 400}
# Example 3
legalizeInst -fixClockInst

See Also
placement legalize legalization

listViews
The listViews command lists the settings for timing views. If -activeOnly
is specified, only activated views are listed.
Syntax
listViews [-activeOnly]
Returns
The timing view setting if successful.
Arguments
Argument

Description

-activeOnly

Only list activated timing views.

Examples
# Example 1
listViews
# Example 2
listViews -activeOnly

See Also
setActiveView

Laker Tcl Reference Manual


K-2015.06

1249

Chapter 9: Automatic Place and Route (APR)


man

man
The man command displays the usage information for the specified command.
Syntax
man [commandName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

commandName

Specify the command name for which to display the


manual page.

Examples
# Example 1
# Give man page of readDesign
man readDesign

See Also
help

memUsage
The memUsage command dumps the current memory usage of the process.
Both the total memory in use and the peak memory used are dumped.
Syntax
memUsage
Returns
1 if successful; otherwise, returns 0.
Examples
memUsage

See Also
dump memory usage

1250

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


optAddBuffer

optAddBuffer
The optAddBuffer command adds a buffer to a net.
Syntax
optAddBuffer [-all] [-cell cellName] [-fanout {pinNames}]
[-net netName] [-x position] [-y position]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-all

Set to buffer all fan-outs.

-cell cellName

Specify the cell name to be used.

-fanout {pinNames}

Specify the pins to be connected to the added instance.

-net netName

Specify the net name to be modified.

-x position

Specify the X-coordinate of the added instance.

-y position

Specify the Y-coordinate of the added instance.

Examples
# Example 1
optAddBuffer -net n1 -cell BUFX1 -fanout {u1/A u2/A} -x 10 -y 5

See Also
optSizeCell
optAddInvPair
optDeleteBuffer
optDeleteInvPair

optAddInvPair
The optAddInvPair command adds an inverter pair to a specified net.

Laker Tcl Reference Manual


K-2015.06

1251

Chapter 9: Automatic Place and Route (APR)


optAddInvPair

Syntax
optAddInvPair [-all] [-fanout {pinNames}] [firstCellcellName ] [-firstX position] [-firstY position]
[-net netName] [-secondCell cellName] [-secondXposition]
[-secondY position]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-all

Set to buffer all fan-outs.

-fanout {pinNames}

Specify the pins to be connected with the added


instance.

-firstCell cellName

Specify the name of the first inverter to be used.

-firstX position

Specify the X-coordinate of the first inverter.

-firstY position

Specify the Y-coordinate of the first inverter.

-net netName

Specify the net name to be modified.

-secondCell cellName

Specify the name of the second inverter to be used.

-secondX position

Specify the X-coordinate of the second inverter.

-secondY position

Specify the Y-coordinate of the second inverter.

Examples
# Example 1
optAddInvPair -net n1 -firstCell INVX1 -secondCell INVX2 -firstX
10 \
-firstY 15 -secondX 20 -secondY 15 -fanout {u1/A u2/A}

See Also
optSizeCell
optAddBuffer
optDeleteBuffer
optDeleteInvPair

1252

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


optDeleteBuffer

optDeleteBuffer
The optDeleteBuffer command deletes a buffer.
Syntax
optDeleteBuffer [-lInst instName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-lInst instName

Specify the instance name to be deleted.

Examples
# Example 1
optDeleteBuffer -lInst u1

See Also
optSizeCell
optAddBuffer
optAddInvPair
optDeleteInvPair

optDeleteInvPair
The optDeleteInvPair command deletes an inverter pair.
Syntax
optDeleteInvPair [-firstLInst instName] [-secondLInst
instName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-firstLInst instName

Specify the name of the first instance to be deleted.

Laker Tcl Reference Manual


K-2015.06

1253

Chapter 9: Automatic Place and Route (APR)


optSizeCell

Argument

Description

-secondLInst instName

Specify the name of the second instance to be deleted.

Examples
# Example 1
optDeleteInvPair -firstLInst u1 -secondLInst u2

See Also
optSizeCell
optAddBuffer
optAddInvPair
optDeleteBuffer

optSizeCell
The optSizeCell command changes the master of an instance.
Syntax
optSizeCell [ -inst instName ] [ -newCell cellName ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-inst instName

Specify the instance name to be changed.

-newCell cellName

Specify the cell type to be used.

Examples
# Example 1
optSizeCell -inst u1 -newCell AND2X2

See Also
optAddBuffer
optAddInvPair
optDeleteBuffer
optDeleteInvPair

1254

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


optimizeNetFanout

optimizeNetFanout
The optimizeNetFanout command fixes high fan-out nets without
considering timing information.
Syntax
optimizeNetFanout [-bufType bufname] [-file filename] [maxFanout number] [-maxUtilization number] [-netList
netnames] [-postRoute] [-reportNetsAboveMaxFanout] [verbose]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-bufType bufname

Specify the buffer type to be added.

-file filename

Specify the output file name when used with the reportNetsAboveMaxFanout argument.
Otherwise, specify an input file containing a list of
nets.

-maxFanout number

Specify the number for the maximum fan-out.

-maxUtilization number

Specify the number for the maximum utilization


rate.

-netList netnames

Specify the list of net names for which to fix the


fan-out.

-postRoute

Insert buffers only at a legal position.

-reportNetsAboveMaxFanout After the maximum fan-out is reached, report the


remaining nets.
-verbose

Laker Tcl Reference Manual


K-2015.06

Show detailed messages.

1255

Chapter 9: Automatic Place and Route (APR)


optimizeNetLength

Examples
# Example 1
optimizeNetFanout -maxFanout 32 -reportNetsAboveMaxFanout \
-file output.log
# Example 2
optimizeNetFanout -maxFanout 32 -bufType BUFX2

See Also
optimizeNetLength

optimizeNetLength
The optimizeNetLength command fixes nets above the specified length
without considering the timing information.
Syntax
optimizeNetLength [-bufType {bufname}] [-file filename] [guiShow] [-interval number] [-maxUtilization value] [netList netnames] [-postRoute] [reportNetsAboveThreshold]
Returns
1 if successful; otherwise, returns 0.
Arguments

1256

Argument

Description

-bufType {bufname}

Specify the buffer types to be added.

-file filename

Specify the input file name containing the list of net


names.

-guiShow

Show the added buffers in the GUI.

-interval number

Specify the length threshold in microns (um).

-maxUtilization value

Specify the maximum utilization rate.

-netList netnames

Specify a list of net names. If multiple names are


specified, surround the list with {}.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


optimizePin

Argument

Description

-postRoute

Insert buffers only at a legal position.

-reportNetsAboveThreshold Report nets above the length threshold.

Examples
# Example 1
# Query nets above length
optimizeNetLength -interval 160 -reportNetsAboveThreshold >
target.log
# Example 2
# Fix nets listed in file
optimizeNetLength -bufType {BUFX2} -interval 100 -file target.log
# Example 3
# Fix nets specified in -netList
optimizeNetLength -netList {net1 net2} -bufType {BUFX2} -interval
100

See Also
optimizeNetFanout

optimizePin
Sometimes pins introduce longer wire length because of the constraint file
setting. The optimizePin command incrementally places the pins to
minimize the wire length.
Syntax
optimizePin [-keepPinOrder]
Returns
A progress message is returned.
Arguments
Argument

Description

-keepPinOrder

Keep the pin order during optimization.

Laker Tcl Reference Manual


K-2015.06

1257

Chapter 9: Automatic Place and Route (APR)


optimizePostCTSDesign

Examples
# Example 1
optimizePin
# Example 2
optimizePin -keepPinOrder

See Also
placePin

optimizePostCTSDesign
The optimizePostCTSDesign command optimizes timing during the postCTS stage. The goal is to meet the setup/hold time constraints without any
violations.
Syntax
optimizePostCTSDesign [ -buffering true|false ] [ -fixDrv
true|false ] [ -hold true|false ] [ -holdBufType
{cellnames} ] [ -setup true|false ] [ -setupBufType
cellnames ] [ -sizing true|false ]
Returns
1 if successful; otherwise, returns 0.
Arguments

1258

Argument

Description

-buffering true|false

When true, enable buffering to optimize the design.


The default is true.

-fixDrv true|false

When true, enable DRV fixing before optimizing the


design. The default is true.

-hold true|false

When true, enable hold time optimization. The


default is true.

-holdBufType {cellnames}

Specify the allowed buffer types when fixing the


hold time. If not specified, the default is all buffer
types.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


optimizePostRouteDesign

Argument

Description

-setup true|false

When true, enable setup time optimization. The


default is true.

-setupBufType cellnames

Specify the allowed buffer types when fixing setup


time. If not specified, the default is all buffer types.

-sizing true|false

When true, enable sizing to optimize the design.


The default is true.

Examples
# Example 1
optimizePostCTSDesign
# Example 2
optimizePostCTSDesign -buffering false
# Example 3
optimizePostCTSDesign -hold -holdBufType {BUFX1 BUFXL}

See Also
setOptOption
optimizePreCTSDesign
optimizePostRouteDesign

optimizePostRouteDesign
The optimizePostRouteDesign command optimizes timing at the postroute stage. The goal is to meet the setup/hold time constraints without any
violations.
Syntax
optimizePostRouteDesign [ -buffering true|false ] [ -fixDrv
true|false ] [ -hold true|false ] [ -holdBufType
{cellnames} ] [ -setup true|false ] [ -setupBufType
{cellnames} ] [ -sizing true|false ]
Returns
1 if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

1259

Chapter 9: Automatic Place and Route (APR)


optimizePostRouteDesign

Arguments
Argument

Description

-buffering true|false

When true, enable buffering to optimize the design.


The default is true.

-fixDrv true|false

When true, enable DRV fixing before optimizing the


design. The default is true.

-hold true|false

When true, enable hold time optimization. The


default is true.

-holdBufType {cellnames}

Specify the allowed buffer types when fixing hold


time. If not specified, the default is all buffer types.

-setup true|false

When true, enable setup time optimization. The


default is true.

-setupBufType {cellnames} Specify the allowed buffer types when fixing setup
time. If not specified, the default is all buffer types.
-sizing true|false

When true, enable sizing to optimize the design. The


default is true.

Examples
# Example 1
optimizePostRouteDesign
# Example 2
optimizePostRouteDesign -buffering false
# Example 3
optimizePostRouteDesign -hold -holdBufType {BUFX1 BUFXL}

See Also
setOptOption
optimizePreCTSDesign
optimizePostCTSDesign

1260

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


optimizePreCTSDesign

optimizePreCTSDesign
The optimizePreCTSDesign command optimizes timing at the pre-CTS
stage. The goal is to meet the setup time constraints without any violations.
Syntax
optimizePreCTSDesign [ -buffering true|false ] [ -fixDrv
true|false ] [ -setupBufType {cellnames} ] [ -sizing
true|false ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-buffering true|false

When true, enable buffering to optimize the design.


The default is true.

-fixDrv true|false

When true, enable DRV fixing before optimizing the


design. The default is true.

-setupBufType {cellnames}

Specify the allowed buffer types when fixing setup


time. If not specified, the default is all buffer types.

-sizing true|false

When true, enable sizing to optimize the design.


The default is true.

Examples
# Example 1
optimizePreCTSDesign
# Example 2
optimizePreCTSDesign -buffering false
# Example 3
optimizePreCTSDesign -setupBufType {BUFX1 BUFXL}

See Also
setOptOption
optimizePostCTSDesign
optimizePostRouteDesign

Laker Tcl Reference Manual


K-2015.06

1261

Chapter 9: Automatic Place and Route (APR)


placeIOPad

placeIOPad
The placeIOPad command places IO pads by constraint.
Syntax
placeIOPad
Returns
Return the progress message.
Examples
# Example 1
placeIOPad

See Also
setIOPadConstraints
addIOPadFiller

placeInst
The placeInst command decides the position of UNPLACED/PLACED cells.
The objectives are:

Ease routing.

Meet the timing constraint.

Shorten the routing wire length.

Syntax
placeInst [-cellAnalysisPadding] [-congestionEffort low |
medium | high] [-ignoreScan] [-incremental] [timingDriven] [-timingEffort low | medium | high]
Returns
A placement progress message is returned.
Arguments

1262

Argument

Description

-cellAnalysisPadding

Enable cell analysis padding.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


placeInstECO

Argument

Description

-congestionEffort
low | medium | high

Define the congestion driven effort as low, medium, or


high.

-ignoreScan

Ignore the scan chain during placement.

-incremental

Place cells incrementally.

-timingDriven

Enable timing driven placement.

-timingEffort
low | medium | high

Define the timing driven effort as low, medium, or high.

Examples
# Example 1
placeInst
# Example 2
placeInst -timingDriven
# Example 3
placeInst -timingDriven -ignoreScan
# Example 4
placeInst -incremental

See Also
placement
placeInst

placeInstECO
The placeInstECO command places pre and post silicon ECO cells. The
ECO cells must be UNPLACED before executing this command.
For pre-silicon mode, the ECO cells are assigned a location into whitespace.
Sometimes other cells are moved as well.
For post-silicon mode, the ECO cells try to replace the position of spare cells.

Laker Tcl Reference Manual


K-2015.06

1263

Chapter 9: Automatic Place and Route (APR)


placePin

Syntax
placeInstECO [-congestionDriven] [-congestionEffort low |
medium | high] [-fseco] [-plotMove] [-timingDriven] [timingEffort low | medium | high]
Returns
A progress message is returned.
Arguments
Argument

Description

-congestionDriven

Enable congestion driven optimization.

-congestionEffort
low | medium | high

Specify the congestion driven effort as low, medium, or


high.

-fseco

Enable post-silicon mode.

-plotMove

Plot instance movements.

-timingDriven

Enable timing driven optimization.

-timingEffort
low | medium | high

Specify the timing driven effort as low, medium, or high.

Examples
# Example 1
placeECO
# Example 2
placeECO -timingDriven -congestionDriven
# Example 3
placeECO -fseco

See Also
placeInst

placePin
The placePin command places the pins on the tracks using the description in
the constraint file.

1264

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


readDef

Syntax
placePin [-constFile name] [-dumpFile name]
Returns
A progress message is returned.
Arguments
Argument

Description

-constFile name

Specify the input pin constraint file.

-dumpFile name

Dump the pin constraints to the specified file after pin


placement.

Examples
# Example 1
placePin
# Example 2
placePin -constFile pin.const

See Also
dumpPinConstraintTemplate

readDef
The readDef command reads the DEF file into ICS and does the proper
adjustment using the specified target vendor.
The DEF file must be consistent with Verilog in netlist if Verilog has been
imported.
If the target vendor is not on the list or is unknown, use the -springSoft
argument.
Use the readLef command to read the LEF file first.
Syntax
readDef [-cadence | -synopsys | -magma | -springSoft]
fileName [-noMinGridSnap] [-noRoutes] [-noSignalRoutes]
[-notTouchCoverWire] [-rectDrcFill] [-shapeOnly] [skipConvert] [-skipFillers filler_name_list] [splitContinuousPath] [-varRuleFile rule_file_name]

Laker Tcl Reference Manual


K-2015.06

1265

Chapter 9: Automatic Place and Route (APR)


readDef

Returns
1 if successful; otherwise, returns 0.
Arguments

1266

Argument

Description

-cadence | -synopsys |
-magma | -springSoft

Specify the target vendor for place and route as:


Cadence, Synopsys, Magma, or SpringSoft.

fileName

Specify one DEF file name to be parsed in. Post-fix .gz


is allowed and handled properly.

-noMinGridSnap

Distance values are not snapped to minimum


manufacturing grid (warning remains).

-noRoutes

Skip all routes in the DEF file. This argument cannot be


specified with the -noSignalRoutes argument.

-noSignalRoutes

Skip signal routes in the DEF file. This argument cannot


be specified with the -noRoutes argument.

-notTouchCoverWire

Wires with cover types are not touched.

-rectDrcFill

Parse all rectangles in the SPECIALNET section as


notch gap fillers.

-shapeOnly

Only parse the DEF file for shapes.

-skipConvert

Skip route conversion if the input routing is in


compliance (saves runtime).

-skipFillers
filler_name_list

Specify the filler instance names or patterns to skip. If


multiple names are specified, surround the list with {}.

-splitContinuousPath

Extend the half width for the connected points of


continuous paths in the SPECIALNETS section.

-varRuleFile
rule_file_name

Specify the variable rule file name if not defined in the


DEF file.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


readDesign

Examples
# Example 1
readDef my.def -springSoft
# Example 2
readDef my.def -synopsys -skipFillers {XOFILLER_* IOFILLER_*} noRoutes

See Also
writeDef
readLef

readDesign
The readDesign command reads the design from a database. The design
database can be created by compileHdl, compileDef or both.
To save the updated in-memory design data to a database, use the
writeDesign command. The writeDesign command can also be used to
export the design to external design files.
To release the design data from memory, specify the closeDesign command.
Syntax
readDesign logicalLibName -topCell topCellName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

logicalLibName

Specify the logical library name.

-topCell topCellName

Specify the top cell (design) name.

Examples
# Example 1
readDesign -topCell CPU my_design

See Also
compileHdl
compileDef
Laker Tcl Reference Manual
K-2015.06

1267

Chapter 9: Automatic Place and Route (APR)


readEcoDesign

writeDesign
closeDesign
designStatistics

readEcoDesign
The readEcoDesign command reads the specified ECO design. It can be
compared with the current design.
Syntax
readEcoDesign db_name [-topCell name]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

db_name

Specify the database name.

-topCell name

Specify the top cell name of the ECO design.

Examples
# Example 1
readEcoDesign ECO_design -topCell ecoTop

readLef
The readLef command reads the specified LEF file into ICS.
Use readLef on each LEF file individually. They may share the same libName.
Syntax
readLef fileName [-libName lib_name]
Returns
1 if successful; otherwise, returns 0.

1268

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


readRCTable

Arguments
Argument

Description

fileName

Specify the name of one LEF file with or without the


path.

-libName lib_name

Specify the library name to parse this LEF file into.

Examples
# Example 1
readLef my.lef
# Example 2
readLef -libName techLib my.lef

readRCTable
The readRCTable command reads the resistance and capacitance (RC) table
from SpringSoft or a third-party tool. The RC extractor reads pre-calculated RC
information to model RC patterns.
Use the genRCTable command to generate the SpringSoft RC table.
The RC Table from Synopsys is normally a .tf file or .tlu file.
The RC Table from Cadence is normally a .tlu file.
Syntax
readRCTable -synopsys | -cadence | -springSoft filename
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-synopsys | -cadence |
-springSoft

Specify the vendor name for the RC table from one of


the following options: Cadence, Synopsys, or
SpringSoft. Only one mode may be specified.

filename

Specify the RC table file name that contains RC


information.

Laker Tcl Reference Manual


K-2015.06

1269

Chapter 9: Automatic Place and Route (APR)


readSdc

Examples
# Example 1
readRCTable -springSoft rc.tlu

See Also
extractRc
genRCTable

readSdc
The readSdc command reads the .sdc file with the specified name for the
group. The loaded file is used in addAnalysisView.
Syntax
readSdc -sdcGroup name

sdcFile

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-sdcGroup name

Specify the name for the SDC group.

sdcFile

Specify the SDC file name.

Examples
# Example 1
readSdc -sdcGroup sdcGrp test.sdc

See Also
addView

readSpareCellFile
The readSpareCellFile command reads the list of spare instances from a
file.

1270

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


readSpef

Syntax
readSpareCellFile -name fileName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-name fileName

Specify the file name to be read.

Examples
# Example 1
readSpareCellFile -name spare.list

See Also
writeSpareCellFile
writeEcoReport

readSpef
The readSpef command reads a SPEF file to annotate parasitics for RC
correlation.
Syntax
readSpef spef_file_name
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

spef_file_name

Specify the SPEF file name to be read.

Examples
readSpef test.spef

See Also
writeSpef

Laker Tcl Reference Manual


K-2015.06

1271

Chapter 9: Automatic Place and Route (APR)


readVerilog

readVerilog
The readVerilog command reads a Verilog file into ICS.
The ordering of Verilog files is not relevant. A mixing of ASCII and gzipped files
is supported. Gzipped files are also allowed in the include statement in Verilog.
Use the readLEF command to read the LEF file first.
Syntax
readVerilog fileNames [-eco] [-tieHigh net_name] [-tieLow
net_name] [-topCell top_cell_name]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

fileNames

Specify one or more Verilog file names. If multiple


names are specified, surround the list with {}. Post-fix
.gz is allowed and handled properly.

-eco

Incrementally update for pre-silicon ECO flow.

-tieHigh net_name

By default tie1 is mapped to a global power net. This


argument specifies the global power net name. If the
-tieHigh argument is specified, the -tieLow
argument must also be specified.

-tieLow net_name

By default tie0 is mapped to a global ground net. This


argument specifies the global ground net name. If the
-tieLow argument is specified, the -tieHigh
argument must also be specified.

-topCell top_cell_name

Specify the top module name.

Examples
# Example 1
readVerilog my.v -tieHigh VDD -tieLow VSS -topCell myTop
# Example 2
readVerilog {my1.v my2.v my3.v ...} -tieHigh VDD -tieLow VSS

1272

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


redirectOutput

See Also
writeVerilog
readLef

redirectOutput
By default, messages are printed on the main window and console. The
redirectOutput command redirects the messages to a separate log file.
Syntax
redirectOutput log_file_name
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

log_file_name

Specify the log file name to save the messages to.

Examples
# Example 1
redirectOutput my_test.log
# Example 1
resumeOutput

See Also
resumeOutput

removeBufInvs
The removeBufInvs command removes the buffer and inverter cells in the
design.
Syntax
removeBufInvs [ -bufOnly ] [ -critical ] [ -dontTouchInsts
instances] [ -fastMode ] [ -invOnly ] [ -net netname ] [
-outOnly ] [ -path data|clock|all ] [ -polarity ]

Laker Tcl Reference Manual


K-2015.06

1273

Chapter 9: Automatic Place and Route (APR)


removeDoubleVia

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-bufOnly

Only remove buffer cells.

-critical

Only remove cells on the critical path.

-dontTouchInsts instances

Specify one or more instances to not touch.

-fastMode

Execute in fast mode (this may create more ports).

-invOnly

Only remove inverter cells.

-net netname

Remove through the specified net.

-outOnly

Only remove through nets with output direction.

-path data|clock|all

Specify the path type from which to remove buffers.


Valid values are: data, clock, and all. The
default is data.

-polarity

Remove inverter cells and re-group by polarity.

Examples
# Example 1
removeBufInvs -path all
# Example 2
removeBufInvs -bufOnly -net net1

removeDoubleVia
The removeDoubleVia command replaces double cut vias in the design with
single cut vias.
Syntax
removeDoubleVia [-checkConn] [-includeMultiCut] [-net
net_name] [-skipClock]

1274

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


removePlacement

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-checkConn

Check the connectivity.

-includeMultiCut

Replace the via master (including multiple cut via).

-net net_name

Specify the net name of the via to be replaced.

-skipClock

Skip the clock net.

Examples
# Example 1
removeDoubleVia
# Example 2
removeDoubleVia -net myNet

See Also
insertDoubleVia

removePlacement
The removePlacement command removes all cells from the core region and
places them regularly.
Syntax
removePlacement [-keepSpacing] [-unplacedInstOnly] [includeIOPad]
Returns
A progress message is returned.
Arguments
Argument

Description

-includeIOPad

Remove IO pad placement.

Laker Tcl Reference Manual


K-2015.06

1275

Chapter 9: Automatic Place and Route (APR)


reportBufInvs

Argument

Description

-keepSpacing

Keep spacing between cells.

-unplacedInstOnly

Only affects unplaced cells.

Examples
# Example 1
removePlacement
# Example 2
removePlacement -unplacedInstOnly

See Also
placement

reportBufInvs
The reportBufInvs command reports all usable buffer, inverter, and delay
cells.
Syntax
reportBufInvs
Returns
1 if successful; otherwise, returns 0.
Examples
# Example 1
reportBufInvs

reportCTSException
The reportCTSException command reports current CTS exceptions.
Syntax
reportCTSException [ -file fileName ]
Returns
1 if successful; otherwise, returns 0.

1276

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


reportCTSOption

Arguments
Argument

Description

-file fileName

Specify the output file name for the CTS exceptions.

Examples
# Example 1
reportCTSException
# Example 2
reportCTSException -file output.log

See Also
setCTSException

reportCTSOption
The reportCTSOption command reports current CTS options such as the
maximum level, the maximum latency, and the clock buffer type.
Syntax
reportCTSOption [ -file filename ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-file fileName

Specify the output file name for the CTS options.

Examples
# Example 1
reportCTSOption
# Example 2
reportCTSOption -file output.log

See Also
setCTSOption

Laker Tcl Reference Manual


K-2015.06

1277

Chapter 9: Automatic Place and Route (APR)


reportCaseAnalysis

reportCaseAnalysis
The reportCaseAnalysis command reports constant information as
defined in the SDC and design (.v) files.
The SDC or design files must be loaded first.
Syntax
reportCaseAnalysis [-designOnly] [-sdcOnly]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-designOnly

Only list constants defined in the design (.v) files.

-sdcOnly

Only list constants defined in the SDC file.

Examples
# Example 1
reportCaseAnalysis -sdcOnly

reportClock
The reportClock command reports the clock-related information.
Syntax
reportClock
Returns
1 if successful; otherwise, returns 0.
Examples
# Example 1
reportClock

See Also
readSdc

1278

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


reportClockTree

reportClockTree
The reportClockTree command reports the status of the clock trees.
Syntax
reportClockTree [ -detail ] [ -preRoute ] [ -postRoute ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-detail

Report the detailed structure of the clock trees.

-preRoute

Report the clock tree timing analysis results that are


based on a trial route of the clock tree. This is the
default.

-postRoute

Set this argument if the design is completely routed.

Examples
# Example 1
reportClockTree -postRoute
# Example 2
reportClockTree -postRoute -detail

See Also
synthesizeClockTree

reportConstraint
The reportConstraint command reports information for pins that violate
the design constraints, including the maximum capacitance constraint and the
maximum transition constraint. Use the -verbose or -detail arguments to
see more detailed information.

Laker Tcl Reference Manual


K-2015.06

1279

Chapter 9: Automatic Place and Route (APR)


reportConstraint

Syntax
reportConstraint [ -allViolators ] [ -detail ] [ maxCapacitance ] [ -maxTransition ] [ -sig integer ] [ threshold value ] [ -view value ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-allViolators

Report all violated pins.

-detail

Report the detailed constraint information.

-maxCapacitance

Report the maximum capacitance constraint


information.

-maxTransition

Report the maximum transition constraint information.

-sig integer

Specify the precision for the digits. The default is 4.

-threshold value

Only report slack that is less than the specified


threshold value. This argument is only valid if the allViolators argument is specified.

-view value

Specify the view to be observed. The default is all


views.

Examples
# Example 1
reportConstraint
# Example 2
reportConstraint -maxCapacitance
# Example 3
reportConstraint -maxTransition
# Example 4
reportConstraint -view 0

See Also
reportTiming

1280

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


reportCorner

reportCorner
The reportCorner command reports corner statistics of shapes on the
specified layers. The corner statistic can be saved, and then used in
comparison with other corner information.
If either of the -save or -compare arguments are missing, this command only
reports layer-based statistics with checksum.
The -directory argument is optional when either of the -save or -compare
arguments are specified.
If neither of the -metalOnly and -cutOnly arguments are specified, both
types of layers are worked on.
Syntax
reportCorner [-box {area}] [-compare] [-cutOnly] [-directory
dirPath] [-fromLayer layer_name] [-includeOutOfBoundary]
[-layer layer_name] [-metalOnly] [-reportLimit
limit_number] [-save] [-threads threads_number] [toLayer layer_name]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-box {area}

Compute corners within the area formed by {x1 y1 x2


y2}. The default is the design boundary box (BBox).
This argument cannot be specified with the
-includeOutofBoundary argument.

-compare

Compare current corner information against the


previously saved corner information under the directory
specified by the -directory argument. The default is
the current working directory.

-cutOnly

Only check corners on cut layers (Via12 and above)


only. This argument cannot be specified with the metalOnly argument.

Laker Tcl Reference Manual


K-2015.06

1281

Chapter 9: Automatic Place and Route (APR)


reportCorner

Argument

Description

-directory dirPath

Specify the directory to save the compressed corner


information (in gzip format). The default is the current
working directory.

-fromLayer layer_name

Perform the operation starting from the specified metal/


cut layer name. The default is the last layer. This
argument cannot be specified with the -layer
argument.

-includeOutOfBoundary Include the out of boundary shapes in the checking


process. This argument cannot be specified with the box argument.

1282

-layer layer_name

Only check corners on the specified metal layer name.


This argument cannot be specified with the fromLayer or -toLayer arguments.

-metalOnly

Only check corners on metal layers (M1 and above).


This argument cannot be specified with the -cutOnly
argument.

-reportLimit
limit_number

Specify the maximum number of corners to be reported


in a comparison.
Value value: an integer (default=100).
When this argument is specified, the -compare
argument must also be specified.

-save

Save the corner information under the directory


specified by the -directory argument. The default is
the current working directory.

-threads
threads_number

Specify the number of threads used for checking corner


information. The default is the maximum available CPU
threads.

-toLayer layer_name

Perform the operation ending at the specified metal/cut


layer name. The default is the top layer. This argument
cannot be specified with the -layer argument.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


reportDelayCalculation

Examples
# Example 1
readLef my.lef
readDef -springSoft my.def
...
reportCorner -fromLayer M1 -toLayer M5 -save
...
reportCorner -fromLayer M1 -toLayer M5 -compare

reportDelayCalculation
The reportDelayCalculation command reports the actual calculation of
the timing arc delay value for a cell or a net. This information is useful for
debugging or verifying timing data in a technology library.
Syntax
reportDelayCalculation -from fromPin -to toPin [ -max | min ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-from fromPin
-to toPin

Specify the start and end points of a timing arc within a


design. For a cell timing arc, the pins must represent
the input and output pins of a common leaf cell, which
have a timing arc specified between them in the library.

-max | -min

Specify whether to display the minimum or maximum


delay calculation. The design itself must be in either
min/max mode.

Examples
# Example 1
reportDelayCalculation -from U3/CK -to U3/Q

See Also
reportTiming

Laker Tcl Reference Manual


K-2015.06

1283

Chapter 9: Automatic Place and Route (APR)


reportDesign

reportDesign
The reportDesign command reports the design, netlist, floorplan, routing
statistics, and information in ICS.
Syntax
reportDesign
Returns
1 if successful; otherwise, returns 0.
Examples
# Example 1
readLef my.lef
readDef my.def -springSoft
...
reportDesign

reportJog
The reportJog command analyzes and reports the wire jogging information.
Syntax
reportJog [-nets strings] [-threads integer] [-threshold
double] [-verbose]
Returns
1 if successful; otherwise, returns 0.
Arguments

1284

Argument

Description

-nets strings

Specify the names or patterns of nets to report jogs. If


multiple names are specified, separate by spaces and
surround the list with {}.

-threads integer

Specify the number of threads used for analyzing wire


jogging.
Valid value: an integer.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


reportNet

Argument

Description

-threshold double

Specify a threshold value. A jog is defined as a jogedge with length less than minimum width of the layer.
Valid value: a floating number.

-verbose

Report the jog coordinate when a jog is found.

Examples
# Example 1
reportJog
# Example 2
reportJog -nets net_name

See Also
analyzeRoute
reportRouteInfo

reportNet
The reportNet command displays the information about the nets in the
current instance of the design or in the current design.
Syntax
reportNet
Returns
1 if successful; otherwise, returns 0.
Examples
# Example 1
reportNet

See Also
reportTiming

Laker Tcl Reference Manual


K-2015.06

1285

Chapter 9: Automatic Place and Route (APR)


reportOptOption

reportOptOption
The reportOptOption command reports current optimization options such
as the target slack, the maximum density, and the effort.
Syntax
reportOptOption [ -file filename ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-file filename

Specify the output file name for the optimization


options.

Examples
# Example 1
reportOptOption
# Example 2
reportOptOption -file output.log

See Also
setOptOption

reportPlaceOption
The reportPlaceOption command reports current placer options. If the file argument is not specified, the current option status is printed in the
screen. Otherwise, the options are dumped in Tcl format and the file can be
directly sourced or applied to the command setPlaceOption -file xxx.
Syntax
reportPlaceOption [-file filename ]
Returns
A progress message is returned.

1286

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


reportRouteInfo

Arguments
Argument

Description

-file filename

Specify the output file name for the placement options.


The contents are in Tcl format.

Examples
# Example 1
reportPlaceOption
# Example 2
reportPlaceOption -file option.tcl

See Also
setPlaceOption

reportRouteInfo
The reportRouteInfo command reports the statistical information (including
wires and vias) of routing shapes.
Syntax
reportRouteInfo [-area string] [-excludeDummyNet] [totalOnly]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-area string

Report the route information on the area formed by {x1


y1 x2 y2}.

-excludeDummyNet

Ignore wires or vias on dummy nets when counting the


wire length.

-totalOnly

Only report the total statistics.

Laker Tcl Reference Manual


K-2015.06

1287

Chapter 9: Automatic Place and Route (APR)


reportRouteRule

Examples
# Example 1
reportRouteInfo
# Example 2
reportRouteInfo -area { 0 0 10 10 }

See Also
routeNet
reportCorner

reportRouteRule
The reportRouteRule command reports the existing non-default rules.
Syntax
reportRouteRule [-all] [-rule string]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-all

Report all route rules.

-rule string

Report the specified route rule.

Examples
# Example 1
reportRouteRule
# Example 2
reportRouteRule -rule myRule

See Also
createRouteRule
setRouteRule
deleteRouteRule

1288

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


reportRule

reportRule
The reportRule command reports information about the physical design
rules.
Syntax
reportRule
Returns
1 if successful; otherwise, returns 0.
Examples
# Example 1
reportRule

See Also
checkViolation
fixViolation

reportSiteUtilization
The reportSiteUtilization command reports the usable site information
in the current design.
The objects sites are occupied by cells, macro blocks, and the placement
blockage.
Syntax
reportSiteUtilization [-box {area}]
Returns
The current site utilization is returned.
Arguments
Argument

Description

-box {area}

Report the utilization within the area formed by {x1 y1 x2


y2}.

Laker Tcl Reference Manual


K-2015.06

1289

Chapter 9: Automatic Place and Route (APR)


reportSlackHistogram

Examples
# Example 1
reportSiteUtilization
# Example 2
reportSiteUtilization -box {0 0 400 400}

See Also
placement

reportSlackHistogram
The reportSlackHistogram command reports the slack distribution.
Syntax
reportSlackHistogram [-bin value ] [-from value ] [-gap
value] [-min value] [-to value]
Returns
The slack distribution is returned.
Arguments
Argument

Description

-bin value

Specify the number of bins. The default is 8.

-from value

Specify the lower bound slack.

-gap value

Specify the slack gap between bins.

-min value

Specify the minimum/hold timing.

-to value

Specify the upper bound slack.

Examples
# Example 1
# Print the slack distribution within 10 bins
reportSlackHistogram -bin 10
# Example 2
# Print the slack distribution where the slack is between
# -5.0ns to 5.0ns
reportSlackHistogram -from -5.0 -to 5.0 -gap 1.0

1290

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


reportSpine

See Also
reportTiming

reportSpine
The reportSpine command reports the spine coordinate.
Syntax
reportSpine [-file string] [-nets string] [-threads integer]
[-verbose]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-file string

Report the spine coordinate to the specified file when threads 1 is specified.

-nets string

Specify the names or patterns of nets to report the spine


coordinate. If multiple names are specified, separate the
names with a space and surround the list with {}.

-threads integer

Specify the number of threads used for analyzing spine


routing.
Valid value: an integer.

-verbose

Report the spine coordinate when a spine coordinate is


found and
-threads 1 is specified.

Examples
# Example 1
reportSpine
# Example 2
reportSpine -verbose

See Also
reportRouteInfo
setRoutingConstraint

Laker Tcl Reference Manual


K-2015.06

1291

Chapter 9: Automatic Place and Route (APR)


reportSuggestedPitch

reportSuggestedPitch
The reportSuggestedPitch command reports the routing pitch suggested
by the router.
Syntax
reportSuggestedPitch
Returns
1 if successful; otherwise, returns 0.
Examples
# Example 1
reportSuggestedPitch

See Also
routeNet
reportRule

reportTieHiLo
The reportTieHiLo command reports the logical connection status of tiedhigh, tied-low, and PG pins. When -verbose is specified, tied-high, tied-low,
and PG pins with incorrect connections are dumped.
Syntax
reportTieHiLo [-verbose]
Returns
1 if successful; otherwise, returns 0.
Arguments

1292

Argument

Description

-verbose

Dump the tied-high, tied-low, and power/ground (PG) pins


with incorrect connections.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


reportTiming

Examples
# Example 1
readLef my.lef
readVerilog my.v -tieHigh VDD -tieLow VSS
...
reportTieHiLo

reportTiming
The reportTiming command reports timing paths.
Syntax
reportTiming [-delay_type max | min | minmax] [-force] [from objectNames] [-max_paths value] [-sig ] [-through
object_names] [-to object_names] [-view viewName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-delay_type
max | min | minmax

Specify the delay type as maximum, minimum or both


(minmax).

-force

Force the timer recalculate.

-from objectNames

Specify the list of objects to start from. If multiple


objects are specified, separate by spaces and
surround the list with {}.

-max_paths value

Specify the maximum number of paths per path group


to output.
Valid value: an integer, greater than or equal to 1.

-sig

Specify the precision for digits.

-through object_names

Specify the list of objects to report through.

-to object_names

Specify the list of objects to end at.

-view viewName

Only report the path in the specified view name.

Laker Tcl Reference Manual


K-2015.06

1293

Chapter 9: Automatic Place and Route (APR)


resetCTSOption

Examples
# Example 1
reportTiming
# Example 2
reportTiming -from {A/CK} -to {B/D}
# Example 3
reportTiming -delay_type min -from {A/CK} -to {B/D}
# Example 4
reportTiming -from {A1/CK A2/CK A3/CK} -to {B/D}

See Also
addView
reportDelayCalculation
reportNet

resetCTSOption
The resetCTSOption command resets the CTS options.
Syntax
resetCTSOption
Returns
1 if successful; otherwise, returns 0.
Examples
resetCTSOption

See Also
setCTSOption

resetSdc
The resetSdc command resets previously defined SDC settings of an SDC
group.

1294

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


resumeOutput

Syntax
resetSdc {sdcFiles} -sdcGroup name
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

{sdcFiles}

Specify one or more SDC file names (with .sdc extension).


If multiple names are specified, separate by spaces and
surround the list with {}.

-sdcGroup name

Specify the SDC group name.

Examples
# Example 1
# Reset the SDC settings of sdcGroup testMode from
# {normal.sdc constraint.sdc test.sdc} to {constraint.sdc
test.sdc}
readSdc -sdcGroup testMode {normal.sdc constraint.sdc test.sdc}
resetSdc -sdcGroup testMode {constraint.sdc test.sdc}

See Also
readSdc

resumeOutput
After using redirectOutput, all messages are redirected to a separate log
file. The resumeOutput command prints the messages back to the console
and main window again.
Syntax
resumeOutput
Returns
1 if successful; otherwise, returns 0.
Examples
#Example 1
redirectOutput my_test.log
resumeOutput

Laker Tcl Reference Manual


K-2015.06

1295

Chapter 9: Automatic Place and Route (APR)


routeNet

See Also
redirectOutput

routeNet
The routeNet command connects all open signal nets in the design and fixes
coarse design rules. The tied-high or tied-low nets are not connected.
Syntax
routeNet [-effort string] [-estimateCongestionOnly] [-net
string] [-timingDriven]
Returns
1 if successful; otherwise, returns 0.
Arguments

1296

Argument

Description

-effort string

Specify the routing effort.


Valid values: prototype, low, medium, and high.
The default is medium.

-estimateCongestionOnly

Only estimate the congestion and generate the


congestion report.

-net string

Specify the net names or patterns to be routed. If


multiple nets are specified, separate by spaces and
surround the list with {}.

-timingDriven

Perform timing-driven routing.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


routeNet

Examples
# Example 1
# Check the congestion information for the design quickly,
# and route every net the shortest distance
routeNet -estimateCongestionOnly -effort prototype
# Example 2
# Check the congestion information for the design
routeNet -estimateCongestionOnly
# Example 3
# Check the congestion information for the design with
# accurate congestion information
routeNet -estimateCongestionOnly -effort high
# Example 4
# Check the congestion information for the design for some
specified nets
routeNet -estimateCongestionOnly -net { clk* }
# Example 5
# Quickly route the design and get a rough result
routeNet -effort prototype
# Example 6
# Route the design and do congestion distribution
routeNet
# Example 7
# Route the design and get a result with less violation
routeNet -effort medium
# Example 8
# Route the design and fix violations
routeNet -effort high
# Example 9
# Route specified nets
routeNet -net { blk_n* }
# Example 10
# Perform timing-driven routing
routeNet -timingDriven

See Also
checkViolation
fixViolation

Laker Tcl Reference Manual


K-2015.06

1297

Chapter 9: Automatic Place and Route (APR)


routeRail

routeRail
According to rows of the floorplan, the routeRail command creates the PG
wires marked as FOLLOWPIN defined in the Def file, and also extends the
FOLLOWPIN wires to connect PG pre-wires.
Syntax
routeRail [-allowNonPreferredDir] [-direction string] [enableLayerJump] [-extendToBoundary] [extensionViaNumber] [-generatePinOnBoundary] [ignoreDRC] [-maxLayer string] [-minLayer string] [-net
string] [-rowArea string] [-searchRange number] [-undo]
Returns
1 if successful; otherwise, returns 0.
Arguments

1298

Argument

Description

-allowNonPreferredDir

Use layers in a non-preferred direction when


changing the layer.

-direction string

Specify the direction of the rail to connect.

-enableLayerJump

Enable the layer jump function when a PG


connection fails.

-extendToBoundary

Extend the follow pin or stripe to the boundary.

-extensionViaNumber

Specify the number of vias when changing the layer.


Also known as -extensionViaArraysNumber.

-generatePinOnBoundary

Generate PG pins on the boundary.

-ignoreDRC

Ignore violations when creating P/G wires. Also


known as -noVC.

-maxLayer string

Specify the string for the highest metal layer vias that
can be created. Also known as -topViaLayer.

-minLayer string

Specify the string for the lowest metal layer vias that
can be created. Also known as -bottomViaLayer.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


routeRing

Argument

Description

-net string

Specify the net name to be connected.

-rowArea string

Specify the row area by a sequence of points (x y).

-searchRange number

Specify the search range when a PG route connects


to other pre-wires.

-undo

Undo the last action.

Examples
# Example 1
routeRail
# Example 2
routeRail -net { VDD VSS }
# Example 3
routeRail -minLayer M1 -maxLayer M4

See Also
routeStripe
routeRing

routeRing
The routeRing command creates PG rings in a specified row area.
Syntax
routeRing [-bottomCoreOffset value] [-bottomLayer string]
[-bottomSpacing value] [-bottomWidth value] [-Cross] [ignoreDRC] [-leftCoreOffset value] [-leftLayer string]
[-leftSpacing value] [-leftWidth value] [-maxLayer
string] [-minLayer string] [-net string] [rightCoreOffset value] [-rightLayer string] [rightSpacing value] [-rightWidth value] [-rowArea string]
[-skipBottomSide] [-skipLeftSide] [-skipRightSide] [skipTopSide] [-topCoreOffset value] [-topLayer string]
[-topSpacing value] [-topWidth double] [-undo]
Returns
1 if successful; otherwise, returns 0.
Laker Tcl Reference Manual
K-2015.06

1299

Chapter 9: Automatic Place and Route (APR)


routeRing

Arguments

1300

Argument

Description

-bottomCoreOffset value

Specify the offset between the core rings and


contour on the bottom side.

-bottomLayer string

Specify the metal layer of core rings on the bottom


side.

-bottomSpacing value

Specify the wire spacing between core rings on the


bottom side.

-bottomWidth value

Specify the wire width of core rings on the bottom


side.

-Cross

Indicate the extended style for each core ring.

-ignoreDRC

Ignore violations when creating PG wires. Also


known as -noVC.

-leftCoreOffset value

Specify the offset between the core rings and


contour on the left side.

-leftLayer string

Specify the metal layer of core rings on the left side.

-leftSpacing value

Specify the wire spacing between core rings on the


left side.

-leftWidth value

Specify the wire width of core rings on the left side.

-maxLayer string

Specify the string for the highest metal layer vias that
can be created. Also known as -topViaLayer.

-minLayer string

Specify the string for the lowest metal layer vias that
can be created. Also known as -bottomViaLayer.

-net string

Specify the net names for creating core rings.

-rightCoreOffset value

Specify the offset between the core rings and


contour on the right side.

-rightLayer string

Specify the metal layer of core rings on the right side.

-rightSpacing value

Specify the wire spacing between core rings on the


right side.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


routeRing

Argument

Description

-rightWidth value

Specify the wire width of core rings on the right side.

-rowArea string

Specify the row area by a sequence of points (x y).

-skipBottomSide

Skip the creation of core rings on the bottom side.

-skipLeftSide

Skip the creation of core rings on the left side.

-skipRightSide

Skip the creation of core rings on the right side.

-skipTopSide

Skip the creation of core rings on the top side.

-topCoreOffset value

Specify the offset between the core rings and


contour on the top side.

-topLayer string

Specify the metal layer of core rings on the top side.

-topSpacing value

Specify the wire spacing between core rings on the


top side.

-topWidth double

Specify the wire width of core rings on the top side.

-undo

Undo the last action.

Examples
# Example 1
routeRing \
-leftLayer M1 -rightLayer M1 -topLayer M1 -bottomLayer M1 \
-leftWidth 1 -rightWidth 1 -topWidth 1 -bottomWidth 1 \
-leftSpacing 0.15 -rightSpacing 0.15 -topSpacing 0.15 \
-bottomSpacing 0.15 -net {VDD VSS} -maxLayer M2 -minLayer M1

See Also
routeStripe
routeRail

Laker Tcl Reference Manual


K-2015.06

1301

Chapter 9: Automatic Place and Route (APR)


routeStripe

routeStripe
According to the given parameters, the routeStripe command creates the
PG wires marked as STRIPE as defined in the Def file, and also connects other
pre-wires.
Syntax
routeStripe [-allowSwapNet] [-direction string] [-end value]
[-extendToBoundary] [-generatePinOnBoundary] [-highEnd
string] [-ignoreDRC] [-lowEnd string] [-maxLayer string]
[-metalLayer string] [-minLayer string] [-mode string]
[-net string] [-numberOfGroup integer] [-rowArea string]
[-searchRange value] [-shiftRange value] [spacingInGroup value] [-start value] [-step value] [undo] [-width value]
Returns
1 if successful; otherwise, returns 0.
Arguments

1302

Argument

Description

-allowSwapNet

Swap the order of specified nets.

-direction string

Specify the direction to create stripes. Also known


as -dir.

-end value

Specify the end coordinate.

-extendToBoundary

Extend the follow pin or stripe to the boundary.

-generatePinOnBoundary

Generate PG pins on the boundary.

-highEnd string

Specify the high end point.


Valid values: coordinate, boundary,
firstTarget, and lastTarget.

-ignoreDRC

Ignore violations when creating PG wires. Also


known as -noVC.

-lowEnd string

Specify the low end point.


Valid values: coordinate, boundary,
firstTarget, and lastTarget.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


routeStripe

Argument

Description

-maxLayer string

Specify the string for the highest metal layer vias


that can be created. Also known as topViaLayer.

-metalLayer string

Specify the metal layer by name.

-minLayer string

Specify the string for the lowest metal layer vias that
can be created. Also known as bottomViaLayer.

-mode string

Specify the mode of offset.


Valid values: absolute and relative.

-net string

Specify the net names for creating stripes.

-numberOfGroup integer

Specify the group of stripes. Also known as group.

-rowArea string

Specify the row area by a sequence of points (x y).

-searchRange value

Specify the search range when a PG route connects


to other pre-wires.

-shiftRange value

Specify the range to shift the group of stripes.

-spacingInGroup value

Specify the wire spacing between stripes. Also


known as
-spacing.

-start value

Specify the start coordinate.

-step value

Specify the step coordinate.

-undo

Undo the last action.

-width value

Specify the width of stripes.

Examples
# Example 1
routeStripe -net {VDD VSS} -dir horizontal -metalLayer M3 \
-width 0.3 -spacingInGroup 0.15 -mode relative -start 0.2 \
-end 0.2 -numberOfGroup 4

Laker Tcl Reference Manual


K-2015.06

1303

Chapter 9: Automatic Place and Route (APR)


setActiveView

See Also
routeRing
routeRail

setActiveView
The setActiveView command sets the active/inactive analysis view for CTS,
optimization, and other engines.
If both -all and -view are specified, all views are used.
If neither -setup or -hold are specified, both types (setup and hold) are
analyzed.
Syntax
setActiveView [-all] [-disable] [-enable] [-hold] [-setup]
-view viewName
Returns
The active/inactive analysis view for CTS, optimization, and other engines is
returned.
Arguments

1304

Argument

Description

-all

Enable all views.

-disable

Set inactive analysis for specified views.

-enable

Set active analysis for specified views.

-hold

Perform hold/minimum time analysis only.

-setup

Perform setup/maximum time analysis only.

-view viewName

Specify the view name.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


setCTSException

Examples
# Example 1
# Active all timing views
setActiveView -all -disable
# Example 2
# Inactive all setup/max analysis for all views
setActiveView -all -disable -setup
# Example 3
# Active hold timing analysis for view normalFast
setActiveView -view normalFast -enable -hold
# Example 4
# Inactive hold timing analysis for view normalSlow
setActiveView -view normalSlow -disable -hold

See Also
listViews

setCTSException
The setCTSException command sets the exception pins for CTS.
Syntax
setCTSException [ -excludePin pinNames ] [ -file fileName ]
[ -leafPin pinNames ] [ -stopPin pinNames ] [ -throughPin
pinNames ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-excludePin pinNames

Specify the pin names of user-defined excluded pins


for CTS.

-file fileName

Specify the file name containing the CTS exceptions.

-leafPin pinNames

Specify the pin names of user-defined leaf pins for


CTS.

Laker Tcl Reference Manual


K-2015.06

1305

Chapter 9: Automatic Place and Route (APR)


setCTSOption

Argument

Description

-stopPin pinNames

Specify the pin names of user-defined stop pins for


CTS.

-throughPin pinNames

Specify the pin names of user-defined through pins


for CTS.

Examples
# Example 1
setCTSException -excludePin u1/CK -leafPin u2/CK

See Also
synthesizeClockTree

setCTSOption
The setCTSOption command sets options for CTS such as the maximum
level, the maximum latency, and the clock buffer type.
Syntax
setCTSOption [clock_source] [-clockBuf cellnames] [-file
filename] [-lowerLevelDefaultRule number] [maxCapacitance number] [ -maxFanout number ] [-maxLatency
number] [-maxLevel number] [-maxTransitionOnBuf number]
[-maxTransitionOnSink number] [-minLatency number] [moveGate true|false] [-routeRule string] [-sizeGate
true|false] [-sourceBuffer string] [-targetSkew number]
Returns
1 if successful; otherwise, returns 0.
Arguments

1306

Argument

Description

clock_source

Specify the list of target clock sources. The target


clock source or the file containing CTS options must
be specified.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


setCTSOption

Argument

Description

-clockBuf cellnames

Specify the buffer and inverter cells that can be used.


If multiple names are specified, surround the list with
{}.

-file filename

Specify the CTS option file. Must specify the target


clock source or the file of CTS option.

-lowerLevelDefaultRule
number

Specify the number of levels from sinks that take the


default routing rules.

-maxCapacitance number Specify the maximum capacitance for a buffer.


-maxFanout number

Specify the maximum fanout count for a buffer. The


default is 60.

-maxLatency number

Specify the maximum latency for a clock tree. The


default is clock period.

-maxLevel number

Specify the maximum level for the clock tree. The


default is 20.

-maxTransitionOnBuf
number

Specify the maximum transition for a buffer. The unit


is ns.

-maxTransitionOnSink
number

Specify the maximum transition for a sink. The unit is


ns.

-minLatency number

Specify the minimum latency for a clock tree. The


default is 0.

-moveGate true|false

When set to true, allow the gate to be moved.

-routeRule string

Specify the name of the routing rule.

-sizeGate true|false

When set to true, allow the gate to be sized.

-sourceBuffer string

Specify the name of the buffer placed near the port


of a clock.

-targetSkew number

Specify the target skew for a clock tree. The default


is 0.3ns.

Laker Tcl Reference Manual


K-2015.06

1307

Chapter 9: Automatic Place and Route (APR)


setDontUseCell

Examples
# Example 1
setCTSOption -clockBuf {CLKBUFX1 CLKBUFX2 CLKBUFX4 CLKBUFX12} \
-maxLevel 8 -maxTransitionOnBuf 0.45 -maxTransitionOnSink 0.45 \
-maxLatency 2.0

See Also
synthesizeClockTree
reportCTSOption

setDontUseCell
The setDontUseCell command specifies dont use cells during
optimization.
During optimization stage, the optimization engine may be told not to use some
cells like low power cells or big delay cells which helps the optimization engine
get better timing, area, or run time.
Syntax
setDontUseCell cellNames
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

cellNames

Specify the cell type names.

Examples
# Example 1
setDontUseCell *XL
# Example 2
setDontUseCell DEL*

See Also
unsetDontUseCell

1308

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


setIdealClock

setIdealClock
The setIdealClock command turns the ideal clock propagation on or off.
Syntax
setIdealClock on | off
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

on | off

Set ideal clock propagation on or off.

Examples
# Example 1
setIdealClock on

See Also
setPropagatedClock

setIgnoredNetsInRouting
The setIgnoredNetsInRouting command sets the nets for the router to
ignore.
Syntax
setIgnoredNetsInRouting [-clear] [-set]
[netNamesOrPatterns]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-clear

Reset or clear the nets from being ignored during


routing.

Laker Tcl Reference Manual


K-2015.06

1309

Chapter 9: Automatic Place and Route (APR)


setOptOption

Argument

Description

-set

To set the nets to be ignored during routing.

netNamesOrPatterns

Specify one or more nets to set to be ignored during


routing. If multiple names are specified, separate by
spaces and surround the list with {}.

Examples
# Example 1
setIgnoredNetsInRouting {netToBeIgnored} -set
# Example 2
setIgnoredNetsInRouting -clear

See Also
routeNet

setOptOption
The setOptOption command sets the optimization options for setup target
slack, hold target slack, total negative slack optimization, area recovery, and
density constraint.
Syntax
setOptOption [-areaRecovery true|false] [-effort
high|medium|low ] [-file filename] [-holdTargetSlack
value] [-maxDensity value] [-setupTargetSlack value] [tnsOptimize true|false]
Returns
1 if successful; otherwise, returns 0.
Arguments

1310

Argument

Description

-areaRecovery true|false

Enable/disable area recovery. The default is false.

-effort high|medium|low

Specify the effort level. Valid values: low, medium, or


high. The default is medium.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


setOption

Argument

Description

-file filename

Specify the file name containing the optimization


options.

-holdTargetSlack value

Specify the worst hold target slack (ns) to be


achieved. The default is 0.0.

-maxDensity value

Specify the maximum utilization rate for the design


during timing optimization. The default is 0.95.

-setupTargetSlack value

Specify the worst setup target slack (ns) to be


achieved. The default is 0.0.

-tnsOptimize true|false

Enable/disable total negative slack optimization. The


default is false.

Examples
# Example 1
setOptOption -setupTargetSlack 0.1 -holdTargetSlack 0.1 \
-areaRecovery true -effort medium -maxDensity 0.96

See Also
reportOptOption
optimizePreCTSDesign
optimizePostCTSDesign
optimizePostRouteDesign

setOption
Various control options exist to control and customize the behavior of the tool.
The setOption command helps set the desired options.
When this command is specified without argument, all possible group names
are listed.
When this command is specified with a group name, all possible options inside
this group are listed.
When this command is specified with a group name and an option name, a
short description about the option and how it should be set is listed.

Laker Tcl Reference Manual


K-2015.06

1311

Chapter 9: Automatic Place and Route (APR)


setPlaceOption

Syntax
setOption [group_name] [variable_name]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

group_name

Specify the option group name.

variable_name

Specify the variable name.

Examples
# Example 1
# Set a Boolean option to true
setOption timer idealClock true

See Also
listVar

setPlaceOption
The setPlaceOption command sets options to control the placer engine.
Syntax
setPlaceOption [-file name ] [-threadNum integer] [-useGR ]
Returns
A progress message is returned.
Arguments

1312

Argument

Description

-file name

Specify the placement option Tcl file name.

-threadNum integer

Specify the thread number in the placement engine.

-useGR

Set to use the global router during placement.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


setPropagatedClock

Examples
# Example 1
setPlaceOption -useGR -threadNum 2
# Example 2
setPlaceOption -file place_option.tcl

See Also
reportPlaceOption

setPropagatedClock
The setPropagatedClock command turns the propagated delay for all
clocks on or off.
Syntax
setPropagatedClock on | off
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

on | off

Set propagated delay for all clocks on or off.

Examples
# Example 1
setPropagatedClock on

See Also
setIdealClock

setRouteRule
The setRouteRule command sets a non-default rule to the specified nets.
Syntax
setRouteRule [-default] [-nets string] [-rule string]

Laker Tcl Reference Manual


K-2015.06

1313

Chapter 9: Automatic Place and Route (APR)


setRoutingConstraint

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-default

Set the default rule for the specified nets.

-nets string

Specify names or patterns of nets to set the route rule. If


multiple names are specified, separate by spaces and
surround the list with {}.

-rule string

Specify the name of the route rule.

Examples
# Example 1
setRouteRule -rule myRule -nets myNet
# Example 2
setRouteRule -default -nets myNet

See Also
createRouteRule
reportRouteRule
deleteRouteRule

setRoutingConstraint
The setRoutingConstraint command sets the wire or via constraints for
routing.
The -reset argument cannot be specified simultaneously with another routing
constraint.
The set and reset options for the same constraint cannot be specified
simultaneously.
Syntax
setRoutingConstraint [-addInverseRoutingDirBox string] [allLayers] [-crossViaOnly] [-disallowWireTouchPin] [doubleVia] [-dumpNetConstraint string] [excludeNetsForPinFT string] [-fromLayer] [-HHViaOnly] [-

1314

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


setRoutingConstraint

info] [-inverseRoutingLayerDir] [-layers string] [maxEscapeLength double] [-maxEscapeLengthByPitch


integer] [-maxLayer string] [-maxSegmentLength value] [minLayer string] [-nets string] [-nonCrossViaOnly] [maxWireLength value] [-maxWrongWayLength double] [maxWrongWayLengthByPitch integer] [-reset] [noPinFeedThrough] [-numOfRunThread integer] [preferHHVia] [-preferVVVia] [resetDisallowWireTouchPin] [-resetDoubleVia] [resetEscape] [-resetExcludeNetsForPinFT] [resetIgnoreInCellViolation] [resetInverseRoutingDirBox] [resetInverseRoutingLayerDir] [-resetNoPinFeedThrough]
[-resetRouteArea] [-resetSpinePattern] [resetUseSpineOnChannel] [-resetUseViaEnclosedByPin] [resetUseViaDir] [-resetUseViaOnly] [-resetViaPattern] [routeArea string] [-setEscape] [setIgnoreInCellViolation] [-spinePattern string] [toLayer] [-userGrid double] [-useSpineOnChannel] [useViaEnclosedByPin] [-useViaOnly] [-VVViaOnly] [disllowBridge | -allowBridge] [maxWrongWayLengthForPinConnect lengthValue] [maxWrongWayWidthForPinConnect widthValue] [parallelRoute]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-addInverseRoutingDirBox string

Add a box in which the preferred direction is


inversed.

-allLayers

Apply constraints to all layers. This


argument cannot be specified with the minLayer, -maxLayer, and -layers
arguments.

-allowBridge

Allow bridge patterns on specified layers.

Laker Tcl Reference Manual


K-2015.06

1315

Chapter 9: Automatic Place and Route (APR)


setRoutingConstraint

1316

Argument

Description

-crossViaOnly

Use cross vias in routing for specified cut


layers. This argument cannot be specified
with the
-nonCrossViaOnly argument.

-disallowBridge

Disallow bridge patterns on specified layers.

-disallowWireTouchPin

Do not allow wires to touch pins on specified


layers.

-doubleVia

Use double vias in routing for specified cut


layers.

-dumpNetConstraint string

Dump all net constraints to the specified file.

-excludeNetsForPinFT string

Use exclude nets for pins used as


feedthrough.

-fromLayer

See -minLayer for details.

-HHViaOnly

Use vias with horizontal enclosure for the


specified layers. This argument cannot be
specified with the
-VVViaOnly, -preferHHVia, and preferVVVia arguments.

-info

Show current settings.

-inverseRoutingLayerDir

Inverse the direction of the routing layers


(H>V, V>H).

-layers string

Apply constraints to the specified layers.


This argument cannot be specified with the
-minLayer, -maxLayer, and allLayers arguments. If -layers is not
specified, apply constraints to all layers.

-maxEscapeLength double

Specify the maximum wire length allowed in


the escape layer. The default is 10xPitch.
This argument cannot be specified with the
-maxEscapeLengthByPitch argument.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


setRoutingConstraint

Argument

Description

-maxEscapeLengthByPitch integer

Specify the maximum wire length allowed in


the escape layer by number of pitches. The
default is 10. This argument cannot be
specified with the
-maxEscapeLength argument.

-maxLayer string

Apply constraints to the specified layer. This


argument must be specified with the minLayer option but it cannot be specified
with the -layers and -allLayers
arguments.

-maxSegmentLength value

Specify the maximum wire length of


connected wire segments for the specified
layers. A value of 0 indicates reset. If
specified without -nets, this is treated as a
global constraint.

-maxWireLength value

Specify the maximum wire length for the


specified layers. A value of 0 indicates reset.
If specified without -nets, this is treated as
a global constraint.

-maxWrongWayLength double

Specify the maximum length for wrong way


wires. The unit is represented in microns
(um). A value of 0 indicates reset.

-maxWrongWayLengthByPitch integer Specify the maximum length for wrong way


wires in the specified layers by number of
pitches. A value of 0 indicates reset.
-maxWrongWayLengthForPinConnect Connect pins with distance less than the
lengthValue
specified length using the wrong way layer.
-maxWrongWayWidthForPinConnect
widthValue

Use the width of wrong way wires to connect


pins.

-minLayer string

Apply constraints from the specified layer.


This argument must be specified with the maxLayer argument but it cannot be
specified with the -layers and allLayers arguments.

Laker Tcl Reference Manual


K-2015.06

1317

Chapter 9: Automatic Place and Route (APR)


setRoutingConstraint

1318

Argument

Description

-nets string

Specify the nets to be constrained. This


argument is active only when maxWireLength and/or
-maxVCFromSrcToSink are specified.

-nonCrossViaOnly

Use non-cross vias for the specified cut


layers. This argument cannot be specified
with the -CrossViaOnly argument.

-noPinFeedThrough

Do not use pins as feedthrough on specified


layers.

-numOfRunThread integer

Set the number of run threads for the routing


engine.

-parallelRoute

Create parallel wires.

-preferHHVia

Use vias with horizontal enclosure for the


specified layers. This argument cannot be
specified with the
-HHViaOnly, -VVViaOnly, and preferVVVia arguments.

-preferVVVia

Use vias with vertical enclosure for the


specified layers. This argument cannot be
specified with the -HHViaOnly, VVViaOnly, and -preferHHVia
arguments.

-reset

Reset all constraints.

-resetDisallowWireTouchPin

Allow wires to touch pins on specified layers.

-resetDoubleVia

Reset the double vias that have been


applied in routing.

-resetEscape

Reset the escape layer.

-resetExcludeNetsForPinFT

Do not use excluded nets for pins used as


feedthrough.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


setRoutingConstraint

Argument

Description

-resetIgnoreInCellViolation

Treat spacing errors between port


rectangles and instance rectangles as real
violations.

-resetInverseRoutingDirBox

Reset all inverse preferred direction boxes.

-resetInverseRoutingLayerDir

Reset the direction of routing layers


according to the layer definition in the library.

-resetNoPinFeedThrough

Use pins as feedthrough on the specified


layers.

-resetRouteArea

Reset the routing area box for the routing


engine.

-resetSpinePattern

Do not use the spine pattern in routing.

-resetUseSpineOnChannel

Do not use the spine pattern on channels.

-resetUseViaEnclosedByPin

Do not enclose vias on pins of the specified


layers by pin shapes.

-resetUseViaDir

Do not use H/V vias for specified layers.

-resetUseViaOnly

Use wires on specified layers.

-resetViaPattern

Do not use cross/non-cross vias for the


specified cut layers.

-routeArea string

Specify the routing box for the routing engine


with the following format: {x0 y0 x1 y1}.

-setEscape

Set the escape layer.

-setIgnoreInCellViolation

Ignore spacing errors between port


rectangles and instance rectangles.

-spinePattern string

Specify the spine pattern to use in routing.

-toLayer

See -maxLayer for details.

Laker Tcl Reference Manual


K-2015.06

1319

Chapter 9: Automatic Place and Route (APR)


setRoutingConstraint

Argument

Description

-userGrid double

Specify the minimum grid for all routing


layers. A value of 0 indicates reset. The
router attempts to align as many wires/vias
to the specified minimum grid as possible.

-useSpineOnChannel

Use the spine pattern on channels.

-useViaEnclosedByPin

Enclose vias on pins of the specified layers


by pin shapes.

-useViaOnly

Do not use wires on specified layers.

-VVViaOnly

Apply vias with vertical enclosure for


specified layers. This argument cannot be
specified with the
-HHViaOnly, -preferHHVia, and preferVVVia arguments.

Examples
# Example 1
# Use double vias in routing and show the setting
setRoutingConstraint -doubleVia -info
# Example 2
# Use vias to touch pins on layer M1 and use spine pattern
setRoutingConstraint -disallowWireTouchPin -layers M1
setRoutingConstraint -spinePattern AUTO -allLayers
# Example 3
# Set escape layers from M1 to M2; do not allow bridge violations
setRoutingConstraint -setEscape -minLayer M1 -maxLayer M2
# Example 4
# Set the escape layer as M1 and allow possible bridge violations
setRoutingConstraint -setEscape -allowBridge -layer M1
# Example 5
# Layer metal1 is a high resistance layer, thus no bridge
# is allowed on metal1
# Reserve the routing resource of metal2 for top level routing
setRoutingConstraint -disallowBridge -layer metal1
setRoutingConstraint -setEscape -layer metal2

1320

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


setRoutingLayer

# Example 6
# Set a parallel route constraint
setRoutingConstraint -layers BP \
-maxWrongWayLengthForPinConnect 3.0
-maxWrongWayWidthForPinConnect 0.3 -parallelRoute

See Also
routeNet
fixViolation

setRoutingLayer
The setRoutingLayer command sets the available routing layers for router.
Syntax
setRoutingLayer [-clear] [-fromLayer string] [-info] [toLayer string]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-clear

Remove the metal ECO constraints.

-fromLayer string

Allow layout changes beginning from the specified layer


name.

-info

List current metal ECO constraints.

-toLayer string

Allow layout changes up to the specified layer name.

Examples
# Example 1
setRoutingLayer -fromLayer metal1 -toLayer metal4
# Example 2
setRoutingLayer -clear
# Example 3
setRoutingLayer -info

Laker Tcl Reference Manual


K-2015.06

1321

Chapter 9: Automatic Place and Route (APR)


setRoutingTrack

See Also
routeNet
fixViolation

setRoutingTrack
The setRoutingTrack command sets the routing track pre-process.
Syntax
setRoutingTrack [-dir H | V] [-info] [-layers string] [pitch value] [-start value]
[-clear] [-autoAdjust] [-curRouterTrack]
Returns
1 if successful; otherwise, returns 0.
Arguments

1322

Argument

Description

-autoAdjust

Automatically adjust the routing track offset.

-clear

Clear all track information in the database.

-curRouterTrack

When worked with -info, report the current track


information used by the router.

-dir H | V

Specify the direction for the specified layers as horizontal


(H) or vertical (V).

-info

Show all track information in ICSDB.

-layers string

Apply constraints to the specified layers.

-pitch value

Specify the pitch between tracks.


Valid value: an integer, greater than or equal to 0.

-start value

Specify the start point of the track.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


setViolationType

Examples
# Example 1
setRoutingTrack -start
M5 M9 }

0.35 -pitch 0.67 -dir H -layers { M1 M3

# Example 2
setRoutingTrack -start -0.73 -pitch -1.54 -dir V -layers { M1 M3
M5 M9 }
# Example 3
setRoutingTrack -start -3.22 -pitch 1.58 -dir H -layers { M2 M4
M6 M8 }
# Example 4
setRoutingTrack -start
M6 M8 }

5.66 -pitch -1.54 -dir V -layers { M2 M4

See Also
reportDesign

setViolationType
The setViolationType command sets the violation types to be checked.
Syntax
setViolationType [-adjacentCut] [-all] [-cutSpacing] [doubleViaInSignalNet] [-enclosureEdge] [-endOfLine] [fatSpacing] [-gap] [-minArea] [-minCut] [-minEdges] [minEnclosedArea] [-minGrid] [-minSpacing] [-minWidth] [notch] [-notUsePinAsFeedThrough] [-outOfBoundary] [reverse] [-short] [-viaStacking] [standardCellPinAccess] [-varLayer] [-varSpacing] [varVia] [-varWidth]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-adjacentCut

Check adjacent cut spacing violations and browse


them.

Laker Tcl Reference Manual


K-2015.06

1323

Chapter 9: Automatic Place and Route (APR)


setViolationType

Argument

Description

-all

Turn on all violation types in the drawing but do not


begin checking.

-cutSpacing

Check cut-to-cut spacing violations and browse


them.

-doubleViaInSignalNet

Check all vias are double vias in all signal nets.


setRoutingConstraint -doubleVia must be
set first.

-enclosureEdge

Check foundry 45nm rule VIAx.EN.3.1.

-endOfLine

Check end of line spacing.

-fatSpacing

Check fat metal spacing violations and browse


them.

-gap

Check gaps.

-minArea

Check minimum area violations and browse them.

-minCut

Check minimum cut violations and browse them.

-minEdges

Check minimum consecutive step edges (small


edges).

-minEnclosedArea

Check minimum enclosed area violations and


browse them.

-minGrid

Check any shapes that are not on minimum grid and


browse them.

-minSpacing

Check minimum spacing violations and browse


them.

-minWidth

Check minimum width violations and browse them.

-notch

Check notches.

Do not use pins as feedthrough.


notUsePinAsFeedThrough setRoutingConstraint
-noPinFeedThrough must be set first.

1324

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


showHPWL

Argument

Description

-outOfBoundary

Check out of design boundary violations and browse


them.

-reverse

Reverse the selection condition of all types.

-short

Check shorts and browse short violations.

-standardCellPinAccess

Check the legal pin access for foundry 45/40


qualification suite.

-varLayer

Check the variable layer routing rules.

-varSpacing

Check the variable spacing routing rule.

-varVia

Check the variable via routing rule.

-varWidth

Check the variable width routing rule.

-viaStacking

Check via stacking violations and browse them.

Examples
# Example 1
setViolationType -all
# Example 2
setViolationType -short -endOfLine
# Example 3
setViolationType -reverse

See Also
checkViolation
checkExistingVio

showHPWL
The showHPWL command gets the Half-Perimeter Wire Length (HPWL) value
of the current design.
Syntax
showHPWL [-ignoreFanoutLargerThan value]
Laker Tcl Reference Manual
K-2015.06

1325

Chapter 9: Automatic Place and Route (APR)


synthesizeClockTree

Returns
The HPWL information is returned.
Arguments
Argument

Description

Specify the value for the maximum fan-out.


ignoreFanoutLargerThan
value

Examples
# Example 1
showHPWL
# Example 2
showHPWL -ignoreFanoutLargerThan 1024

See Also
placement

synthesizeClockTree
The synthesizeClockTree command synthesizes the clock tree. The goal
is to minimize the skew and latency of the clock tree.
Syntax
synthesizeClockTree [ -target clock_source ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-target clock_source

Specify the target clock source.

Examples
# Example 1
synthesizeClockTree

1326

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


unsetDontUseCell

See Also
setCTSOption

unsetDontUseCell
The unsetDontUseCell command unsets the dont use cells that were
specified by the setDontUseCell command during optimization.
Syntax
unsetDontUseCell cellNames
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

cellNames

Specify the cell type name list.

Examples
# Example 1
unsetDontUseCell *XL
# Example 2
unsetDontUseCell DEL*

See Also
setDontUseCell

updateTiming
The updateTiming command updates the timing settings, for example: SDC
and view settings.
Syntax
updateTiming
Returns
1 if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

1327

Chapter 9: Automatic Place and Route (APR)


writeDef

Examples
# Example 1
updateTiming

See Also
setActiveView
listViews
resetSdc

writeDef
The writeDef command writes the DEF file from ICS.
The target vendor is the same as the setting in the readDef command if it is
not set here. However, it may be set to override just for writeDef.
Use -stripBackSlash ONCE to strip one backslash per cluster of
backslashes. This mode is usually used with merging DEF files into a single
DEF output.
Use -stripBackSlash ALL to strip all backslashes related to /. There are
always backslashes in front of buses if not at the end.
Syntax
writeDef fileName [-cadence | -synopsys | -magma | springSoft] [-autoVarRule] [-designName design_name] [ver 5.5 | 5.6 | 5.7] [-distUnit 100 | 200 | 1000 | 2000
| 10000 | 20000] [-keepMetalFill] [-noRoutes] [rectDrcfill] [-skip1PinNets] [-skipUnplacedInsts] [stripBackSlash ONCE | ALL | once | all]
Returns
1 if successful; otherwise, returns 0.
Arguments

1328

Argument

Description

fileName

Specify the name of the file to dump the DEF into.


Postfix .gz is allowed and handled properly.

-autoVarRule

Select the variable route rule automatically.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


writeDef

Argument

Description

-cadence | -synopsys |
-magma | -springSoft

Dump the DEF file in a format suitable for importing


into one of the following P&R tools: Cadence,
Synopsys, Magma, or SpringSoft. Only one mode
may be specified. The default mode is SpringSoft.

-designName
design_name

Specify the design name to use in the output DEF


file.

-distUnit 100 | 200 | 1000 |


2000 | 10000 | 20000

Specify the distance unit to convert to in the output


DEF file.

-keepMetalFill

Include the dummy metal fill in the DEF file.

-noRoutes

Do not dump routing into the DEF file.

-rectDrcfill

Write metal fillers as rectangle in the SPECIALNET


section.

-skip1PinNets

Do not report nets with 1 single pin (unconnected


pin).

-skipUnplacedInsts

Do not dump instances that are not placed.

-stripBackSlash
ONCE | ALL | once | all

Specify how to handle backslashes: strip out once


per cluster or strip out all of them (except for a bus
in the middle of names).

-ver 5.5 | 5.6 | 5.7

Specify the DEF version to write. Versions 5.5 to 5.7


are supported. The default is 5.6.

Examples
# Example 1
writeDef my.def
# Example 2
writeDef my.def -magma -ver 5.7

See Also
readDef

Laker Tcl Reference Manual


K-2015.06

1329

Chapter 9: Automatic Place and Route (APR)


writeDesign

writeDesign
The writeDesign command writes the current design to disk in either DB,
DEF, or HDL format. The current design is the last design that was opened by
the readDesign, readVerilog, or readDef commands.
If the current design was not read by the readDesign command, specify the
-refLib and -designLib arguments to write out the technology library and
design library. If the current design is read by the readDesign command, the
output database is put under the working library.
When writing the DEF format, shapes of dummy nets are exported to the FILLS
section.
Syntax
writeDesign [-designLib designLibName] [-dumpMetalFill]
[-format (db | verilog | def)] [-gzip] [keepDanglingNet] -output newCell_or_fileName [-refLib
refLibName] [-sects {via | component | pin | special_net
| net | scan_chain | all}] [-techVia] [-tieHigh
tieHighNet] [-tieLow tieLowNet]
Returns
1 if successful; otherwise, returns 0.
Arguments

1330

Argument

Description

-designLib
designLibName

If the current design is not read by the readDesign


command, specify the target design library to write to.

-dumpMetalFill

Dump the metal fill section of the DEF file.

-format
(db | verilog | def)

Specify the output format.


Valid values: db, verilog, and def (default=db).

-gzip

Compress the DEF file into gzip format.

-keepDanglingNet

Keep dangling nets in the output design.

-output
newCell_or_fileName

If -format db is specified, specify the new cell name


for this argument. Otherwise, specify the output file
name. If this argument is omitted, the current cell
name is the default output name.

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


writeDesign

Argument

Description

-refLib refLibName

Write the database with the specified reference


library.

-sects {via | component |


pin | special_net |net |
scan_chain | all}

Specify the sections to be written.

-techVia

Write the vias defined in the LEF file to the output DEF
file.

-tieHigh tieHighNet

Specify the name for tied-high nets. This argument is


valid if -format verilog is specified. The tied-high
net is converted into 1b1 in the HDL file.

-tieLow tieLowNet

Specify the name for tied-low nets. This argument is


valid if -format verilog is specified. The tied-low
net is converted into 1b0 in the HDL file.

Examples
# Example 1
# Save current design as cpu_v2 cell
writeDesign -output cpu_v2
# Example 2
# Export current design into cpu.def file in DEF format
writeDesign -format def -output cpu.def
# Example 3
# Export current design into cpu.v file in Verilog format
writeDesign -format verilog -output cpu.v
# Example 4
# Export def file with metal fill shapes and vias defined in lef
writeDesign -format def -output cpu.def -dumpMetalFill -techVia
# Example 5
# Export def for scan chain section only
writeDesign -format def -output scan.def -sects scan_chain
# Example 6
# Not read design flow
readLef tech.lef
readVerilog netlist.v -cpf myCPF.cpf
readDef -springSoft physical.def
writeDesign -format db -output my_design -refLib my_lef_lib \
-designLib design_lib

Laker Tcl Reference Manual


K-2015.06

1331

Chapter 9: Automatic Place and Route (APR)


writeEcoReport

See Also
readDesign
readLef
readVerilog
readDef

writeEcoReport
The writeEcoReport command reports the current spare cells into a file.
Syntax
writeEcoReport -name filename
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-name filename

Specify the output file name to be created.

Examples
# Example 1
writeEcoReport -name spare.report

See Also
readSpareCellFile
writeSpareCellFile

writeSdf
The writeSdf command saves a standard delay format (SDF) file.
Syntax
writeSdf [-inputPortNets] [-outputPortNets] [-sdf3] [-sig
precision] [-view viewName]

1332

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


writeSpareCellFile

Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-inputPortNets

Include input ports.

-outputPortNets

Include output ports.

-sdf3

Use SDF verion 3.0 instead of version 2.1.

-sig precision

Specify precision for digits. The default is 3.

-view viewName

Specify the view to be written. If not specified, the first


view is written.

Examples
# Example 1
writeSdf -view ac1 -sig 4 -inputPortNets -outputPorts \
-sdf3 design.sdf.gz

writeSpareCellFile
The writeSpareCellFile command writes the current spare instances into
a file.
Syntax
writeSpareCellFile -name filename
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-name filename

Specify the output file name to be created.

Examples
# Example 1
writeSpareCellFile -name new_spare.list

Laker Tcl Reference Manual


K-2015.06

1333

Chapter 9: Automatic Place and Route (APR)


writeSpef

See Also
readSpareCellFile
writeEcoReport

writeSpef
The writeSpef command writes the RC network data to the specified file for
min, typ, or max application points in the specified format.
Syntax
writeSpef file(s) [-ap single_analysis_point] [-format
spef|dspf|rspf|sbpf] [-max max_analysis_point] [-min
min_analysis_point] [-noNameMap] [-typ
typ_analysis_point]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

file(s)

Specify the output file name.

-ap single_analysis_point

Specify a single analysis point.

-format
spef | dspf | rspf | sbpf

Specify the output format.


Valid values: spef, dspf, rspf, and sbpf
(default=spef).

-max max_analysis_point

Specify the maximum analysis point.

-min min_analysis_point

Specify the minimum analysis point.

-noNameMap

Do not save the name map table.

-typ typ_analysis_point

Specify the typical analysis point.

Examples
# Example 1
writeSpef

1334

Laker Tcl Reference Manual


K-2015.06

Chapter 9: Automatic Place and Route (APR)


writeVerilog

See Also
RCX

writeVerilog
The writeVerilog command saves the Verilog file from ICS.
The target vendor is the same as the setting in the readDef command if it is
not set here. However, it may be set to override just for writeVerilog.
Syntax
writeVerilog fileName [-cadence | -synopsys | -magma | springSoft] [-incPGPorts] [-incPhysicalOnly] [newTopModule top_module_name] [-skipFillerByCell
cell_master_name] [-skipFillerByInst inst_name] [skipPad] [-skipSpare] [-skipTieOff]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

fileName

Specify the name of the file to dump the hierarchical


Verilog into. Postfix .gz allowed and handled properly.

-cadence | -synopsys |
-magma | -springSoft

Dump a Verilog file suitable for importing into one of the


following P&R tools: Cadence, Synopsys, Magma, or
SpringSoft. Only one mode may be specified. The
default mode is SpringSoft.

-incPGPorts

Include power/ground ports of the top module.

-incPhysicalOnly

Include physical-only instances.

-newTopModule
top_module_name

Specify the name to output as the Verilog top module


name.

-skipFillerByCell
cell_master_name

Skip filler instances by the specified master names or


patterns. If multiple names are specified, surround the
list with {}.

Laker Tcl Reference Manual


K-2015.06

1335

Chapter 9: Automatic Place and Route (APR)


writeVerilog

Argument

Description

-skipFillerByInst
inst_name

Skip filler instances by the specified instance names or


patterns. If multiple names are specified, surround the
list with {}.

-skipPad

Skip pad cells.

-skipSpare

Skip spare cells.

-skipTieOff

Skip tied-high/low cells.

Examples
# Example 1
writeVerilog myOut.v
# Example 2
writeVerilog myOut.v -cadence -skipFillerByCell FILL4 \
-newTopModule myTop

See Also
readVerilog
readDef

1336

Laker Tcl Reference Manual


K-2015.06

10
Design Browser

10

This chapter describes the definable Tcl commands to access the Graphical
User Interface (GUI) which applied within the Design Browser pane.

The Tcl commands are explained in the following sections. Tcl commands and
arguments are sorted alphabetically.

lakerAssociate

lakerDelLayoutNet

lakerFixDiscrepancy

lakerFixLayDisc

lakerGetBroSelSet

lakerManualAssociate

lakerProbeShape

lakerSchAreaPlacer

lakerSchRecoverHier

lakerSchAreaEstimate

lakerSchBroDrag

lakerSchBroDrop

lakerSchBroDump

lakerSchChgGridMode

lakerSchChgInstanceMap

lakerSchChgRefMap

lakerSchCloneMaster

lakerSchCollapseAllItem

Laker Tcl Reference Manual


K-2015.06

1337

Chapter 10: Design Browser


lakerAssociate

lakerSchCompare

lakerSchCreate

lakerSchDeSelectGrid

lakerSchECORowPlacer

lakerSchExpandAllItem

lakerSchExpandMFactor

lakerSchFind

lakerSchFlattenAll

lakerSchFlattenLvl

lakerSchFlattenOne

lakerSchGroup

lakerSchHLObject

lakerSchLayInstMap

lakerSchMakeNode

lakerSchPatternReuse

lakerSchRecoverMFactor

lakerSchRowPlacer

lakerSchSelectGridItem

lakerSchSelectTreeNode

lakerSchSetActiveTree

lakerSchSummary

lakerSchTopology

lakerSchUngroup

lakerAssociate
The lakerAssociate command automatically links the schematic
information to the layout cell view based on the schematic netlist.

1338

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerDelLayoutNet

Syntax
lakerAssociate [-overwriteInst 0|1 | -overwriteNet 0|1]
Returns
None
Arguments
Argument

Description

-overwriteInst 0|1

Valid values: Boolean values, 0 and 1.


1 : Replace the instance name of the layout cell view, which
may be a system-assigned name or a user-assigned
name, with the instance name found in the relative
schematic netlist.
0 : The system-assigned name is replaced but the userassigned name remains unchanged.

-overwriteNet 0|1

Valid values: Boolean values, 0 and 1.


1 : Replace the net name of the layout cell view, which may
be a system-assigned name or a user-assigned name, with
the net name found in the relative schematic netlist.
0 : The system-assigned name is replaced but the userassigned name remains unchanged.

Examples
# Associate the layout cell view with schematic netlist,
# and replace the instance name of the layout cell view but keep
# the user-assigned net name
lakerAssociate -overwriteInst 1 -overwriteNet 0

See Also
Design Browser: Associate

lakerDelLayoutNet
The lakerDelLayoutNet command deletes an extra layout net with the
condition that the net name must not be on the corresponding schematic cell
view.
Syntax
lakerDelLayoutNet -net net_name_list

Laker Tcl Reference Manual


K-2015.06

1339

Chapter 10: Design Browser


lakerFixDiscrepancy

Returns
None
Arguments
Argument

Description

-net net_name_list

Specify the list of net names to be deleted.

Examples
lakerDelLayoutNet -net net1 VDD1

See Also
Design Browser: Delete Layout Net

lakerFixDiscrepancy
The lakerFixDiscrepancy command fixes the discrepancies between the
schematic and layout.
Syntax
lakerFixDiscrepancy [-extendGate extendGateMode]
[-fixValueMode 0|1] -honorMOSMfactor 0|1
Returns
None
Arguments

1340

Argument

Description

-extendGate
extendGateMode

Set the extend or shrink direction of the bent gate


width when fixing discrepancies.
Valid values: top, bottom, both, and auto
(default=auto).top: Extend/shrink the bent gate
from the top.bottom: Extend/shrink the bent gate
from the bottom.both: Extend/shrink the bent gate
from both the top and bottom.auto: Extend the bent
gate from the top, middle, and bottom, and follow the
proportion of 2:1:2.

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerFixLayDisc

Argument

Description

-fixValueMode 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1: Use the Ratio mode to dispatch the incorrect width.
0: Use the Average mode to dispatch the incorrect
width.

-honorMOSMfactor 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1: Enable the Honor M-factor option.
0: Disable the Honor M-factor option.

Examples
# Example 1
# Fix the discrepancies by extending the bent gate from the top
lakerFixDiscrepancy -extendGate top
lakerFixLayDisc -honorMOSMfactor 0 -fixValueMode 1

See Also
Design Browser: Fix Discrepancy
lakerFixLayDisc

lakerFixLayDisc
The lakerFixLayDisc command fixes the width of the selected MCell
transistors in the Layout window pane.
Syntax
lakerFixLayDisc [-extendGate extendGateMode] [-fixvaluemode
0|1] [-honorMOSMfactor 0|1]
Returns
None

Laker Tcl Reference Manual


K-2015.06

1341

Chapter 10: Design Browser


lakerGetBroSelSet

Arguments
Argument

Description

-extendGate
extendGateMode

Set the extend or shrink direction of the bent gate


width when fixing discrepancies.
Valid values: top, bottom, both, and auto
(default=auto).top: Extend/shrink the bent gate
from the top.bottom: Extend/shrink the bent gate
from the bottom.both: Extend/shrink the bent gate
from both the top and bottom.auto: Extend the bent
gate from the top, middle, and bottom and follow the
proportion of 2:1:2.

-fixValueMode 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1: Use the Ratio mode to dispatch the incorrect width.
0: Use the Average mode to dispatch the incorrect
width.

-honorMOSMfactor 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1: Enable the Honor M-factor option.
0: Disable the Honor M-factor option.

Examples
# Example 1
# Fix the discrepancies of the selected objects
lakerFixLayDisc
# Example 2
# Fix the discrepancies by extending the bent gate from the top
lakerFixDiscrepancy -extendGate top
lakerFixLayDisc -honorMOSMfactor 0 -fixValueMode 1

See Also
Design Browser: Fix Discrepancy
lakerFixDiscrepancy

lakerGetBroSelSet
The lakerGetBroSelSet command gets the select sets from the Design
Browser pane.

1342

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerManualAssociate

Syntax
lakerGetBroSelSet [-type type]
Returns
The identifier (ID) of the selected instances is returned if the Design Browser
pane is in Instance mode.
The identifier (ID) of the selected nets is returned if the Design Browser pane is
in Netlist mode.
0 is returned if nothing is selected, or the wrong data type is selected.
Arguments
Argument

Description

-type type

Specify the data type.


Valid values: logic, layout, and all (default=all).
logic : Get the logic data only.
layout : Get the extra layout data only.
all : Get both the logic and extra layout data.

Examples
lakerGetBroSelSet -type logic

lakerManualAssociate
Based on the selected items in the Design Browser pane, the
lakerManualAssociate command assigns the schematic information to
pre-selected objects in the Layout window pane.
Syntax
lakerManualAssociate [-gui 0|1 [-callback Tcl_callback]]
Returns
None

Laker Tcl Reference Manual


K-2015.06

1343

Chapter 10: Design Browser


lakerProbeShape

Arguments
Argument

Description

-callback
Tcl_callback

Specify the Tcl callback command to be executed. After the


command is finished, this callback function is executed: proc
callback {par1} where the valid parameter is either 0 or
1.
0 : Do not update the data.
1 : Update the data.

-gui 0|1

Valid values: Boolean values, 0 and 1.


1 : Jump to the Layout window pane to select the associated
layout.
0 : Do not jump to the Layout window pane.

Examples
lakerManualAssociate

See Also
Design Browser: Manual Associate

lakerProbeShape
The lakerProbeShape command suspends Laker to wait for further layout
probing action. After the layout data is probed, it returns the specified
information of the probed layout data. If there is no specified information, it
keeps suspending Laker to wait for further layout probing action.
Syntax
lakerProbeShape [-mode probe_mode | -relatedSchematic 0|1]
Returns
A string containing cell name (the first token), instance or net names of the
probed layout data (the remaining tokens) if successful; otherwise, returns
nothing.

1344

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchAreaPlacer

Arguments
Argument

Description

-mode probe_mode

Specify the information you wish to get.


Valid values: instance, net and all (default=all).
instance: Get instance names of the probed layout
data.
net: Get net names of the probed layout data and their
connected nets.
all: Get the information of instances and nets at the
same time.

-relatedSchematic 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1: Do not relate the original schematic information.
0: Relate the original schematic information.

Examples
# Get instance names of probed layout data
# return value: CellName inst1 inst2
lakerProbeShape -mode instance
# Get net names of probed layout data
# return value: CellName Net1 Net2
lakerProbeShape -mode net
# Get instance and net names of probed layout data
# return value:
# CellName { Instance {inst1 inst2}} { Net {net1 net2 net3}}
lakerProbeShape -mode all

See Also
lakerSchLayInstMap

lakerSchAreaPlacer
The lakerSchAreaPlacer command performs the area placement.
Syntax
lakerSchAreaPlacer [-topology 0|1] [-boundary options]
[-area priority] [-wireLen priority] [-ratio priority ratioValue floatNum] [-power locality]

Laker Tcl Reference Manual


K-2015.06

1345

Chapter 10: Design Browser


lakerSchAreaPlacer

Returns
None
Arguments

1346

Argument

Description

-area priority

Specify the priority for Area.


Valid values: high, medium, and low (default=high).

-boundary
options

Specify the placement constraint with the cell boundary.

-power
locality

Specify the relative locality of power and ground nets at the


contrast locality.
Valid values: top, bottom, left, right (default=top).
top: Power nets are at the top locality and ground nets are at
the bottom.
bottom: Power nets are at the bottom locality and ground
nets are at the top.
left: Power nets are at left locality and ground nets are at the
right.
right: Power nets at the right locality and ground nets are at
the left.

-ratio priority

Specify the priority for Aspect Ratio.


Valid values: high, medium, and low (default=high).
Only valid with -ratioValue.

-ratioValue
floatNum

Specify the ratio of width/length for the placement area. This


argument is only valid with -ratio.
Valid value: a positive floating number.

-topology 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1: Use the topology-driven concept for area placement.
0: Use the general placement constraints.

-wireLen
priority

Specify the priority for Wire Length.


Valid values: high, medium, and low (default=high).

Valid values: inside, width, and length


(default=inside).

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchRecoverHier

Examples
# Example 1
lakerSchAreaPlacer -area high -ratio high -ratioValue 1.0 -power
left
# Example 2
lakerSchAreaPlacer -boundary inside -power top

See Also
Design Browser: Placement: Area Placement

lakerSchRecoverHier
The lakerSchRecoverHier command rebuilds the original hierarchy by
recovering the hierarchy relationship of instances in the logic cell view.
Syntax
lakerSchRecoverHier
Returns
None
Arguments
None
Examples
# Select several instances (inst1 inst2) and
# try to recover each instances to previous hierarchy depth
lakerSchSelectGridItem -item inst1 inst2
lakerSchRecoverHier

See Also
Design Browser: Recover

lakerSchAreaEstimate
The lakerSchAreaEstimate command re-estimates the layout cell
boundary for specific cell views by the actual amount of instances, instance
types, instance and model mappings, and halo settings.

Laker Tcl Reference Manual


K-2015.06

1347

Chapter 10: Design Browser


lakerSchAreaEstimate

Syntax
lakerSchAreaEstimate (-halo haloVal | [-mos mosHaloVal] [res resHaloVal] [-cap capHaloVal] [-BJT BJTHaloVal] [inductor inductorHaloVal] [-diode diodeHaloVal] [-inst
instHaloVal]) -file filePathName -multiplier floatNum (ratio floatNum | -width floatNum | -length floatNum)
Returns
None
Arguments

1348

Argument

Description

-BJT
BJTHaloVal

Specify the halo value for BJT (um).


Valid value: a positive floating number (default=0).

-cap
capHaloVal

Specify the halo value for capacitor (um).


Valid value: a positive floating number (default=0).

-diode
diodeHaloVal

Specify the halo value for diode (um).


Valid value: a positive floating number (default=0).

-file
filePathName

Specify the file that lists the halo value for specific instance
by instance name. The file has higher priority than the
specified halo value (uniform or by type).

-halo
haloVal

Specify the uniform halo value (um).


Valid value: a positive floating number (default=0).

-inductor
inductorHaloVal

Specify the halo value for inductor (um).


Valid value: a positive floating number (default=0).

-inst
instHaloVal

Specify the halo value for instance (um).


Valid value: a positive floating number (default=0).

-length
floatNum

Specify the rectangle length (um).


Valid value: a positive floating number.

-mos
mosHaloVal

Specify the halo value for Mos (um).


Valid value: a positive floating number (default=0).

-multiplier
floatNum

Specify the layout area multiplier.


Valid value: a positive floating number.

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchBroDrag

Argument

Description

-ratio
floatNum

Specify the ratio width/length.


Valid value: a positive floating number (default=1.0).
It forms a square area when the value is 1.0.

-res
resHaloVal

Specify the halo value for resistor (um).


Valid value: a positive floating number (default=0).

-width
floatNum

Specify the rectangle width (um).


Valid value: a positive floating number.

Examples
lakerSchAreaEstimate -multiplier 1.2 -ratio 1.6 -mos 0.25 \
-res 0.5 -diode 0.8 -inst 0.2

See Also
Design Browser: Re-estimate Area

lakerSchBroDrag
The lakerSchBroDrag command drags selected objects from the Design
Browser pane.
Syntax
lakerSchBroDrag
Returns
None
Arguments
None
Examples
# Drag the selected objects from the Design Browser pane
lakerSchBroDrag

See Also
Design Browser: Drag

Laker Tcl Reference Manual


K-2015.06

1349

Chapter 10: Design Browser


lakerSchBroDrop

lakerSchBroDrop
The lakerSchBroDrop command drops the dragged data to the Design
Browser pane. The dragged data is highlighted on the Design Browser pane.
Syntax
lakerSchBroDrop [-instname input_instances | -netname
input_nets | -fromSource 1|0]
Returns
None
Arguments
Argument

Description

-fromSource 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1: Transform the schematic information to hierarchical
layout data while bringing in the netlist source data to the
Layout window pane.
0: Do not transform the schematic information to
hierarchical layout data while bringing in the netlist source
data to the Layout window pane.

-instname
input_instances

Specify the input instance.

-netname
input_nets

Specify the input net.

Examples
# Drop the dragged data to the Design Browser pane
lakerDsgDrag
lakerSchBroDrop

See Also
Design Browser: Drop
lakerDsgDrop
lakerSchLayInstMap

1350

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchBroDump

lakerSchBroDump
The lakerSchBroDump command dumps the showing information in the
current Design Browser pane. If the -file option is not specified, the
information is saved to the lakerBrowser.log file under the log directory.
Syntax
lakerSchBroDump [[-mode {mode}] | [-file fileName]]
Returns
The instance name only if successful; otherwise, returns nothing.
The return data depends on the settings of the Design Browser pane:
Showing mode (Instance/Net): If it is under Instance mode, the dump
information contains data in Instance mode only, and vice versa.
Showing extra layout (All/Naming): If showing extra layouts by All, the dump
information contains extra layouts by All only, and vice versa.
Arguments
Argument

Description

-file fileName

Save the dumping informaiton to a specified file.

-mode {mode}

Specify the showing information to be dumped. The


-file option is inactive when you specified the -mode
option.
Valid values: all, schematic,
realized_schematic, nonRealized_schematic,
and extra_layout.

Examples
# Save the information from the Design Browser pane to
# demo.map in the log directory
lakerSchBroDump -file demo.dmp

See Also
lakerSchLayInstMap

Laker Tcl Reference Manual


K-2015.06

1351

Chapter 10: Design Browser


lakerSchChgGridMode

lakerSchChgGridMode
The lakerSchChgGridMode command changes the showing mode of the
Design Browser pane.
Syntax
lakerSchChgGridMode -mode ShowType
Returns
None
Arguments
Argument

Description

-mode ShowType

Specify the display mode.


Valid values: inst and net (default=inst).

Examples
# change to show net information in the Design Browser pane
lakerSchChgGridMode -mode net

See Also
Design Browser: Show Inst/Net List

lakerSchChgInstanceMap
The lakerSchChgInstanceMap command changes the instance mapping
information.
Syntax
lakerSchChgInstanceMap -item mappingList [-showOnly]
lakerSchChgInstanceMap -showOnly
Returns
None

1352

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchChgRefMap

Arguments
Argument

Description

-item
mappingList

Specify the instance mapping list with the following


format:
{InstanceName RefLibrary RefCell RefView
{ParameterMap} {ConnectionMap} {HierMap}
{HierNetMap}}
Refer to the definition of the MODEL_MAP section in the
model map file for more details on the formats of
ParameterMap, ConnectionMap, HierMap, and
HierNetMap.

-showOnly

Display the Change Instance Map form with settings.

Examples
# Example 1
# a. Change the instance mapping information of instance (x1) to
#
cell view (Adder, abstract) in library (LayoutLib)
#
and map the port as (A>OP1, B>OP2, C>OP3, SumOut>Sum)
# b. Change the instance mapping information of instance (x2) to
#
cell view (Inv, layout) in library (LayoutLib)
#
and map the port as (A>In, An>Out)
lakerSchChgInstanceMap -item \
{x1 LayoutLib Adder abstract {A:OP1 B:OP2 C:OP3 SumOut:Sum}} \
{x2 LayoutLib Inv layout {A:In An:Out} }

See Also
Design Browser: Change Instance Map

lakerSchChgRefMap
The lakerSchChgRefMap command changes the cell mapping information.
Syntax
lakerSchChgRefMap -item mappingList ( [-file saveFile] |
[-showOnly] )
lakerSchChgRefMap -file saveFile
lakerSchChgRefMap -showOnly
Returns
None
Laker Tcl Reference Manual
K-2015.06

1353

Chapter 10: Design Browser


lakerSchChgRefMap

Arguments
Argument

Description

-file saveFile

Dump the model map file with the current cell mappings to
a file.

-item
mappingLst

Specify the cell mapping list with the following format:


{ModelType ModelName RefLibrary
RefCellView {Condition} {ParameterMap}
{ConnectionMap} {IgnoreSchPort}
{IgnoreLayoutPort} {HierMap} {HierNetMap}}
Refer to the definition of the MODEL_MAP section in the
model map file for more details on the formats of
ConnectionMap, HierMap, and HierNetMap.

-showOnly

Display the Change Map form with settings.

Examples
# Example 1
# a. Change the mapping of model type (x) and model name (inv) to
#
cell view (devCell, layout) in library (refLib)
#
and map the port as (PortA>in, PortB>out)
# b. Change the mapping of model type(m) and model name(p) to
#
MCell(pmos) in the current library
lakerSchChgRefMap -item \
{x inv refLib {devCell layout} {} {} {PortA:in PortB:out} } \
{m p . pmos}
# Example 2
# a. Change the mapping of model type (x) to the cell with the same
#
cell name in library (LayoutLib)
# b. Change the mapping of model type (M) and model name (nfet) with
# condition w<0.5 to cell view (nch, layout) in library (Layout65)
#
and map the parameter as (wtot> w, fingers=0)
# c. Change the mapping of model type (M) and model name (nfet) to
#
cell view (nch, layout) in library(Layout65)
#
and map the parameter as (wtot>w, fingers>NF)
# d. Change the mapping of model type (M) and model name (pfet) with
#
condition w<0.5 to cell view (pmos, udd) in library(LayoutLib)
#
and map the parameter as (TotalW> w*1e6, Len>l*1e6,
#
Fingers>nf) and port as (D>Drain, G>Gate, S>Source,
#
B>Bulk)
# e. Change the mapping of model type (M) and model name (pfet) to
#
MCell(PMOS) in the current library
lakerSchChgRefMap -item {X * LayoutLib *} \

1354

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchCloneMaster

{M nfet Layout65 {nch layout} {w<0.5} {{wtot w} {fingers {}


0}} } \
{M nfet Layout65 {nch layout} {} {{wtot w} {fingers NF}} } \
{M pfet LayoutLib {pmos udd} {w<0.5} \
{{TotalW w 1e6} {Len l 1e6} {Finger nf}} \
{D:Drain G:Gate S:Source B:Bulk} } \
{M pfet . PMOS }
# Example 3
# Dump the current mapping information to the file (test.map)
lakerSchChgRefMap -file test.map

See Also
Design Browser: Change Map

lakerSchCloneMaster
The lakerSchCloneMaster command copies the master cell of the specified
instance to another.
Syntax
lakerSchCloneMaster -cellname cellName -inst instName
Returns
None
Arguments
Argument

Description

-cellname cellName

Specify the new cell name.

-inst instName

Specify the action instance.

Examples
# change the master cell of instance (xinvB) to cell (NewINV)
lakerSchCloneMaster -cellname NewINV -inst xinVB

See Also
Design Browser: Clone Master
Layout Window: SDL > Clone Master

Laker Tcl Reference Manual


K-2015.06

1355

Chapter 10: Design Browser


lakerSchCollapseAllItem

lakerSchCollapseAllItem
The lakerSchCollapseAllItem command condenses the content of the
Design Browser pane, showing only the top level of the Design Browser pane.
Syntax
lakerSchCollapseAllItem
Returns
None
Arguments
None
Examples
# showing only the top level of the Design Browser pane
lakerSchCollapseAllItem

See Also
Design Browser: Collapse All

lakerSchCompare
The lakerSchCompare command makes a discrepancy report for the
differences between the schematic netlist and layout cell view.
Syntax
lakerSchCompare [-cmpHierarchy 0|1 | -dumpMapInfo 0|1 |
-groupsDis 0|1 | -groupInst 0|1 | -file filename] [-inst
cmp_instance_name_list]
Returns
Discrepancy result if -inst is specified, otherwise returns nothing.

1356

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchCompare

Arguments
Argument

Description

-cmpHierarchy 0|1

Valid values: Boolean values, 0 and 1.


1 : Report the discrepancy for the current design
hierarchy.
0 : Do not report the discrepancy for the current design
hierarchy.

-dumpMapInfo 0|1

Valid values: Boolean values, 0 and 1.


1 : Copy the cell mapping and instance mapping
information to the discrepancy report.
0 : Do not copy the cell mapping and instance
mapping information to the discrepancy report.

-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
result by mismatched type.
0 : Do not dump the discrepancy information and
group the result 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 group the results by instance name.

-inst

Return the discrepancy results with the following


format:
cmp_instance_name_list { {cmp_result1 cmp_information1}
{cmp_result2 cmp_information2} ....}
where cmp_result could be:
0 : No compare result
1 : No layout instance
2 : Connection mismatch
4 : Master mismatch
6 : Connection and master mismatch
8 : Value mismatch

Examples
# Save the discrepancy result to the file (diff.rpt)
lakerSchCompare -file diff.rpt

Laker Tcl Reference Manual


K-2015.06

1357

Chapter 10: Design Browser


lakerSchCreate

See Also
Design Browser: Discrepancy

lakerSchCreate
The lakerSchCreate command creates all selected objects in the Design
Browser onto the Layout window pane.
Syntax
lakerSchCreate
Returns
None
Arguments
None
Examples
# create all objects in the Design Browser pane
# onto the Layout window pane
lakerSchSelectGridItem -all
lakerSchCreate

See Also
Design Browser: Create

lakerSchDeSelectGrid
The lakerSchDeSelectGrid command deselects all objects in the Design
Browser pane.
Syntax
lakerSchDeSelectGrid
Returns
None
Arguments
None

1358

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchECORowPlacer

Examples
# deselect all objects in the Design Browser pane
lakerSchDeSelectGrid

lakerSchECORowPlacer
The lakerSchECORowPlacer command assigns the position of ECO cells
incrementally.
Syntax
lakerSchECORowPlacer -mode mode [-constFile fileName]
Returns
None
Arguments
Argument

Description

-constFile fileName

Specify the constraint file.

-mode mode

Specify the ECO mode.


Valid values: pre, and post (default=pre).

Examples
# Example 1
# Perform pre-silicon placement
lakerSchECORowPlacer -mode pre
# Example 2
# Perform post-silicon placement
lakerSchECORowPlacer -mode post -constFile spare.const

See Also
Design Browser: Placement > ECO Row Placement

lakerSchExpandAllItem
The lakerSchExpandAllItem command expands the content of the Design
Browser pane, showing the entire design hierarchy.

Laker Tcl Reference Manual


K-2015.06

1359

Chapter 10: Design Browser


lakerSchExpandMFactor

Syntax
lakerSchExpandAllItem
Returns
None
Arguments
None
Examples
# Show the entire design hierarchy within the Design Browser
# pane
lakerSchExpandAllItem

See Also
Design Browser: Expand All

lakerSchExpandMFactor
The lakerSchExpandMFactor command expands the M-factor parameter of
the selected instance. If -autoGroup is set, the expanded instances are
grouped automatically by honoring the user-defined sequential number.
Syntax
lakerSchExpandMFactor -item instanceList -autoGroup 0|1 [seqNum SequentialNumberList]
Returns
None
Arguments

1360

Argument

Description

-autoGroup 0|1

Valid values: Boolean values, 0, and 1.


1 : Enable the Auto Group Expanded Instance
option.
0 : Disable the Auto Group Expanded Instance
option.

-item instanceList

Specify the instances to be expanded, for example:


-item M1 M2.

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchFind

Argument

Description

-seqNum
SequentialNumberList

Specify the number of each expanded group one by


one.

Examples
# Example 1
lakerSchExpandMFactor -item X1 -autoGroup 1
# Example 2
lakerSchExpandMFactor -item X2 -autoGroup 1 -seqNum {2 3}
# Example 3
lakerSchExpandMFacotr -item X3 -autoGroup 0

See Also
Design Browser: Expand M-Factor

lakerSchFind
The lakerSchFind command pre-selects or selects objects found by the
Find command on the Design Browser pane.
Syntax
lakerSchFind [-findStr input_text | -selItem SelectIt]
Returns
None
Arguments
Argument

Description

-findStr input_text

Specify the search criteria.


If the input value contains wildcard characters, the
matched items are selected.
If the input value does not contain any wildcard
characters, Laker finds the similar item. If the item is
similar to the input, it is set as the pre-select item. If the
item fits the input, it is selected.

-selItem SelectIt

Force the Pre-Select item to be the selected item.

Laker Tcl Reference Manual


K-2015.06

1361

Chapter 10: Design Browser


lakerSchFlattenAll

Examples
# Deselect all objects and clear the pre-selected item
lakerSchFind
# Finding the first matched "mp1" item
lakerSchFind -findStr {mp1}
# Select the pre-selected item
lakerSchFind -findStr {mp1} -selItem 1
# Select the items that match the "mp*"
lakerSchFind -findStr {mp*}

See Also
Design Browser: Find

lakerSchFlattenAll
The lakerSchFlattenAll command flattens all levels for the specified
instances.
Syntax
lakerSchFlattenAll -scope scopeName -insts instList
Returns
None
Arguments
Argument

Description

-insts instList

Specify the instances.

-scope scopeName

Specify the active scope.

Examples
# flatten one level for xAnd1, xAnd2 instances
lakerSchFlattenAll -scope gor -insts xAnd1 xAnd2

See Also
dbSchFlatten
lakerSmashObj
Design Browser: Flatten

1362

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchFlattenLvl

lakerSchFlattenLvl
The lakerSchFlattenLvl command flattens the specified instances to a
specified level.
Syntax
lakerSchFlattenLvl -scope scopeName -insts instList -level
level
Returns
None
Arguments
Argument

Description

-level level

Specify the flatten level.


Valid value: an integer.

-insts instList

Specify the instances.

-scope scopeName

Specify the active scope.

Examples
# Flatten xAnd1, xAnd2 to level 2
lakerSchFlattenLvl -scope gor -insts xAnd1 xAnd2 -level 2

See Also
dbSchFlatten
lakerSmashObj
Design Browser: Flatten

lakerSchFlattenOne
The lakerSchFlattenOne command flattens one level for the specified
instances.
Syntax
lakerSchFlattenOne -scope scopeName -insts instList

Laker Tcl Reference Manual


K-2015.06

1363

Chapter 10: Design Browser


lakerSchGroup

Returns
None
Arguments
Argument

Description

-insts instList

Specify the instances.

-scope scopeName

Specify the active scope.

Examples
# Flatten one level for xAnd1, xAnd2 instances
lakerSchFlattenOne -scope gor -insts xAnd1 xAnd2

See Also
dbSchFlatten
lakerSmashObj
Design Browser: Flatten

lakerSchGroup
The lakerSchGroup command creates a user-defined group with selected
instances or creates a stacking MOS group with selected stacking MOS
devices. The group name can be specified by the user or generated by the
system automatically.
Syntax
lakerSchGroup -item instList [-name groupName] -type
groupType
Returns
None
Arguments

1364

Argument

Description

-item instList

Specify the instances. Multiple instances must be


separated by spaces, for example: -item M1 M2.

-name groupName

Specify the group name. If it is not specified, the system


generates the group name automatically.

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchHLObject

Argument

Description

-type groupType

Specify the group type.


Valid values: user and stacking (default=user).

Examples
# Example 1
lakerSchGroup -item M1 M2 -name G1 -type user
# Example 2
lakerSchGroup -item M1 M2 M3 -name StackMOS_1 -type stacking

See Also
Design Browser: Group

lakerSchHLObject
The lakerSchHLObject command highlights all selected objects in the
Design Browser pane to the Layout window pane.
Syntax
lakerSchHLObject
Returns
None
Arguments
None
Examples
# highlight all objects in the Design Browser pane to
# the Layout window pane
lakerSchSelectGridItem -all
lakerSchHLObject

See Also
Design Browser: Highlight

Laker Tcl Reference Manual


K-2015.06

1365

Chapter 10: Design Browser


lakerSchLayInstMap

lakerSchLayInstMap
The lakerSchLayInstMap command translates hierarchical logical instance
names to physical names and vice versa.
Syntax
lakerSchLayInstMap -libId dbLibId [-mode inst_Net] -name
instance_Scope -fromSource 0|1
Returns
Translate instance name if successful; otherwise, returns 0.
Arguments
Argument

Description

-libId dbLibId

The working library.

-mode inst_Net

Specify the translate mode, whether to translate the


instance type or net.
Valid value: instance, and net (default=instance).

-name instance_Scopt

Specify the full scope name of translated instances.

-fromSource 0|1

Valid values: Boolean values, 0, and 1.


1 : Translate the source schematic instance names to
the target layout.
0 : Translate the target layout instance names to the
source schematic.

Examples
# Get the library Id for current cell view
set libId [dbGet -obj [leoGetWndCellViewId] -attr Lib]
# Assume the schematic hierarchy path is assigned to
# variable: instName
set instName {aoi21/I2[2]/N0}
set lName [lakerSchLayInstMap -libId $libId \
-mode instance -name $instName \
-fromSource 1] ; # Get the layout hierarchical path
#
# Return value: aoi21/xLK1/I2[2]/N0

1366

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchMakeNode

# Assume the layout hierarchy path is assigned to


# variable: instName
set instName {aoi21/xLK1/I2[1]/N0}
set sName [lakerSchLayInstMap -libId $libId \
-mode instance -name $instName \
-fromSource 0] ; # Get the schematic hierarchical path
#
# Return value: aoi21/I2[1]/N0

See Also
lakerSchBroDump
lakerSchBroDrop
lakerProbeShape

lakerSchMakeNode
The lakerSchMakeNode command groups the specified instances to a
schematic hierarchy hard block, and performs the instance mapping.
Syntax
lakerSchMakeNode -cellname cellName [-instname instName] insts instList [-replace 0|1] [-mapLib mappingLib mapCell mappingCell -mapView mappingView [-parameterMap
parameterMapping] [-portMap mappingPort] [-hierInstMap
hierInstMap [-hierNetMap hierNetMap]]]
Returns
None
Arguments
Argument

Description

-cellname
cellName

Specify the new cell name for the hard block.

-hierInstMap
hierInstMap

Specify the hierarchical instance mapping.

-hierNetMap
hierNetMap

Specify the hierarchical net mapping.

Laker Tcl Reference Manual


K-2015.06

1367

Chapter 10: Design Browser


lakerSchMakeNode

Argument

Description

-instname
instName

Specify the new instance name.

-insts
instList

Specify the instances to be grouped.

-mapCell
mappingCell

Specify the layout mapping cell.

-mapLib
mappingLib

Specify the layout mapping library (default=current library).

-mapView
mappingView

Specify the layout mapping view.

-parameterMap
parameterMap

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 with the following format:


{ port1:Mapped_port1 ...}

-replace 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the Replace Figures option.
0 : Disable the Replace Figures option.

Examples
# Example 1
# Make the mn11, mn12, mn13 instances to a new hard block NewCell
lakerSchMakeNode -cellname NewCell -instname xNew \
-insts mn11 mn12 mn13

See Also
dbSchMakeNode
lakerMakeCell
Design Browser: Make Node

1368

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchPatternReuse

lakerSchPatternReuse
The lakerSchPatternReuse command defines the logic information on a
layout instance when it is reused from a cell that makes from other layout
objects with the same layout topology.
Syntax
To invoke the Pattern Reuse feature:
lakerSchPatternReuse -start
To search candidates and dump the matched results:
lakerSchPatternReuse -mode mode -selObj 0|1 [-autoMapInfo
fileName]
To select the pattern cell view:
lakerSchPatternReuse -patternLib patternLibName patternCell patternCellName -patternView patternViewName
To select the layout mapping cell view:
lakerSchPatternReuse -mapLib mapLibName -mapCell
mapCellName -mapView mapViewName
To create and associate the logic/layout data:
lakerSchPatternReuse -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:
lakerSchPatternReuse -end
Returns
None

Laker Tcl Reference Manual


K-2015.06

1369

Chapter 10: Design Browser


lakerSchPatternReuse

Arguments

1370

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.

-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. The default file
name is MismatchTip.log.

-end

Abort this feature.

-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.

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchPatternReuse

Argument

Description

-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 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).

-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.

Laker Tcl Reference Manual


K-2015.06

1371

Chapter 10: Design Browser


lakerSchPatternReuse

Argument

Description

-point pointList

Specify a point list of coordinates to paste the mapping


object. For example, you need to 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.

1372

-rows rowsNum

Specify the number of rows for instances.


Valid value: an integer (default=1).
This argument is valid only if -arrayMode 1 is specified.

-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, y spacing between objects if copying
them with array mode.
0 : Do not specify the x, y spacing between objects if
copying them with array mode.
This argument is valid only if -arrayMode 1 is specified.

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchRecoverMFactor

Examples
lakerSchPatternReuse -start
lakerSchPatternReuse -mode topology -selObj 1 -autoMapInfo
topology.out
lakerSchPatternReuse -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
lakerSchPatternReuse -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
lakerSchPatternReuse -end

See Also
lakerPatternReuse
Design Browser: Pattern Reuse
Layout Window: SDL > Pattern Reuse

lakerSchRecoverMFactor
The lakerSchRecoverMFactor command reverts the expanded instances
back to the original instances.
Syntax
lakerSchRecoverMFactor [-item instanceList]
Returns
None

Laker Tcl Reference Manual


K-2015.06

1373

Chapter 10: Design Browser


lakerSchRowPlacer

Arguments
Argument

Description

-item instanceList

Specify the instances to be recovered, for example: -item


M1::0 M2::3.
When not specified, the selected instances from the Design
Browser pane is recovered.

Examples
# Expand M-Factor of X1( m=4) as X1::0, X1::1, X1::2, X1::3
# Try to recover expanded instances X1::0, X1::1, X1::2,
# X1::3 to X1.
# Example 1
lakserSchSelectGridItem -item X1::0
lakerSchRecoverMFactor
# Example 2
lakerSchRecoverMFactor -item X1::0

See Also
Design Browser: Recover M-Factor

lakerSchRowPlacer
The lakerSchRowPlacer command analyzes and gives a legal location for
each selected cell within user-defined rows.
Syntax
lakerSchRowPlacer -ruleSet ruleName -point (x0,y0) [traversedist dist] [-align alignment] [-honorSoftPin 0|1]
[-constFile fileName]
Returns
None

1374

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchSelectGridItem

Arguments
Argument

Description

-align alignment

Specify the alignment of the instance placement that is


related to the current row area. This argument is valid
only if the spacing value is 0.
Valid values: left, center, and right (default=left).

-constFile fileName

Specify the constraint file.

-honorSoftPin 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Consider soft pins during placement.
0 : Ignore soft pins during placement.

-point (x0,y0)

Specify the location of the row area for placement.


x0 specifies a position value for the x coordinate point
while y0 specifies the one for the y coordinate point.

-ruleSet ruleName

Specify the rule set for routing congestion analysis.

-traversedist dist

Specify the traversing distance.


Valid value: a positive floating number.

Examples
# Example 1
lakerSchRowPlacer -ruleSet default -point (148.2,12.99)
# Example 2
lakerSchRowPlacer -ruleSet default -point (151.105,-4.305) \
-traversedist 7.349

See Also
Design Browser: Placement > Row Placement

lakerSchSelectGridItem
The lakerSchSelectGridItem command selects the specified objects in
the Design Browser pane.
Syntax
lakerSchSelectGridItem [-all | -item itemList]

Laker Tcl Reference Manual


K-2015.06

1375

Chapter 10: Design Browser


lakerSchSelectTreeNode

Returns
None
Arguments
Argument

Description

-all

Select all objects in the Design Browser pane.

-item itemList

Specify the name list to select.

Examples
# select all objects in the Design Browser pane
lakerSchSelectGridItem -all
# select objects (mp1,mp2) in the Design Browser pane
lakerSchSelectGridItem -item mp1 mp2

See Also
Design Hierarchy Browser: Select All

lakerSchSelectTreeNode
The lakerSchSelectTreeNode command changes the scope of the source
tree in the Design Browser pane.
Syntax
lakerSchSelectTreeNode -scope scopeName
Returns
None
Arguments
Argument

Description

-scope scopeName

Specify the scope to be changed in the Design Browser


pane.

Examples
# change the scope of the source tree to CPU.x_iALU
lakerSchSelectTreeNode -scope CPU.x_iALU

1376

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchSetActiveTree

lakerSchSetActiveTree
The lakerSchSetActiveTree command changes the active tree in the
Design Browser pane.
Syntax
lakerSchSetActiveTree -wnd activeWnd
Returns
None
Arguments
Argument

Description

-wnd activeWnd

Change the active window.


Valid values: source and object.

Examples
# change the active tree to source
lakerSchSetActiveTree -wnd source

lakerSchSummary
The lakerSchSummary command shows the summary of the current cell
view, or summarizes all master cell view of the selected instances and makes a
total summary of them.
Syntax
lakerSchSummary [-mode mode] [-file file]
Returns
None
Arguments
Argument

Description

-file file

Specify a file name to save the log information of the summary


contents. By default, this information is saved to the
lakerSchSummary.log file under the lakerLog directory.

Laker Tcl Reference Manual


K-2015.06

1377

Chapter 10: Design Browser


lakerSchTopology

Argument

Description

-mode mode

Specify the display mode of the summary.


Valid values: cell and select (default=cell).
cell: Show the current cell view information in the summary.
select: Show the information of all master cell views of the
selected instances in the summary.

Examples
# save the current cell view information to
# file (lakerSchSum3.log) in current working directory
lakerSchSummary -mode cell -file lakerSchSum3.log

See Also
Design Browser: Summary

lakerSchTopology
The lakerSchTopology command creates objects with their topology
information, with which you can easily recognize the corresponding logic
instances.
If -xSpacing and -ySpacing are not specified, the topology creation is
executed with the Auto mode.
Syntax
lakerSchTopology [-xSpacing nXSpace -ySpacing nYSpace]
Returns
None
Arguments

1378

Argument

Description

-xSpacing nXSpace

Specify the spacing between two instances in the


X-axis direction.
Valid value: a floating number.

-ySpacing nYSpace

Specify the spacing between two instances in the


Y-axis direction.
Valid value: a floating number.

Laker Tcl Reference Manual


K-2015.06

Chapter 10: Design Browser


lakerSchUngroup

Examples
# Example 1
lakerSchSelectGridItem -item xinvA xinvC xsc xinvB/mnm xinvB/mpm
lakerSchBroDrag
lakerSchTopology
# Example 2
lakerSchTopology -xSpacing 1.2 -ySpacing 0.45

See Also
Design Browser: Placement > Topology Creation

lakerSchUngroup
The lakerSchUngroup command cancels the grouping information of the
specified instances.
Syntax
lakerSchUngroup -item itemList
Returns
None
Arguments
Argument

Description

-item itemList

Specify the name list to cancel the grouping information.

Examples
# cancel the mn11, mn12 group information
lakerSchUngroup -item mn11 mn12

See Also
Design Browser: Ungroup

Laker Tcl Reference Manual


K-2015.06

1379

Chapter 10: Design Browser


lakerSchUngroup

1380

Laker Tcl Reference Manual


K-2015.06

11
Matching Device Creator

11

This chapter describes the definable Tcl commands to access the Graphical
User Interface (GUI) which applied within the Matching Device Creator window
(invoked by the Matching Creator command in the Design Browser pane).

The Tcl commands are explained in the following sections. Tcl commands and
arguments are sorted alphabetically.

lakerCreateMatch

lakerMchAdd

lakerMchAddDummy

lakerMchAddPattern

lakerMchAddPeriDummy

lakerMchAdjustTrack

lakerMchAlignRowTop

lakerMchAlignRowCenter

lakerMchAlignRowBottom

lakerMchAreaZoom

lakerMchAttribute

lakerMchChainSerialRes

lakerMchChangeOrient

lakerMchCheck

lakerMchClear

lakerMchClearRuler

lakerMchCompactSpace

Laker Tcl Reference Manual


K-2015.06

1381

Chapter 11: Matching Device Creator

1382

lakerMchDelete

lakerMchDeletePattern

lakerMchDeSelDevice

lakerMchDeSelect

lakerMchDistance

lakerMchDrag

lakerMchDrop

lakerMchExportPattern

lakerMchFillBlack

lakerMchFillDiagonal

lakerMchFlip

lakerMchImportPattern

lakerMchInsAColGrid

lakerMchInsAGrid

lakerMchLastView

lakerMchMaxViewLevel

lakerMchMerge

lakerMchMinViewLevel

lakerMchMode

lakerMchMoveWire

lakerMchNormal

lakerMchOptimizeOD

lakerMchPanDown

lakerMchPanLeft

lakerMchPanRight

lakerMchPanUp

lakerMchPreference

lakerMchPreview

lakerMchQuickInsert

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator

lakerMchRealize

lakerMchRechainConnection

lakerMchRedo

lakerMchRedraw

lakerMchRenamePattern

lakerMchRefUnit

lakerMchRepeatNum

lakerMchRepeatPat

lakerMchRoute

lakerMchSelDevice

lakerMchSelect

lakerMchSelectAll

lakerMchSelEmpty

lakerMchSelPattern

lakerMchSetDefaultRouteRule

lakerMchSetRemNum

lakerMchSetTopology

lakerMchSetUnitNum

lakerMchShareOD

lakerMchSize

lakerMchSpace

lakerMchSplit

lakerMchSwapSD

lakerMchUndo

lakerMchUnsetFingerGroup

lakerMchViewLevelDec

lakerMchViewLevelInc

lakerMchXMirror

lakerMchYMirror

Laker Tcl Reference Manual


K-2015.06

1383

Chapter 11: Matching Device Creator


lakerCreateMatch

lakerMchZoomAll

lakerMchZoomIn

lakerMchZoomOut

lakerQueryMatch

lakerSchMatch

mchGet

lakerCreateMatch
The lakerCreateMatch command makes the arrangement of symmetrical
patterns for analog circuits and creates the associated layout in the Layout
window pane without invoking the Matching Device Creator window.
This command can also be used to preview the layout before realization, realize
the device placement to the layout, and close the standalone preview window.
Syntax
Syntax 1:
lakerCreateMatch -getSelected logic [-repeatRow rowNum] [repeatCol colNum] [-xSpacing xSpacing] [-ySpacing
ySpacing | {ySpacing1 ySpacing2 ... ySpacingn}] [loadConstraint 0|1] [-unsetFingerGroupOption 0|1] [enableAbutDevice 0|1] [-abutSameDevice 0|1] [abutDiffDevice 0|1] [-abutDiffWidth 0|1] [-patternName
patternName] [-quickFormat quickFormat] [quickFormatOptOD 0|1] [-setSwappedPort none|all|{pos
{{nRow1 nCol1} {nRow2 nCol2} ... {nRown nColn}} | {list
gridList}}] | [-xBoundaryInfo {layer purpose}] | [yBoundaryInfo {layer purpose}] [-repeatPatRow rowNum] [repeatPatCol colNum] [-repeatPatSeq Z0|Z1] [-abut
all|{pos {{nRow1 nCol1} {nRow2 nCol2} ... {nRown nColn}}
| {list abutList}}] [-unabut all|{pos {{nRow1 nCol1}
{nRow2 nCol2} ... {nRown nColn}} | {list unabutList}}]
[-createPeriDummy 0|1 -periDummyOption [{mode
ring|side}] [{ring nRing}] [{left nLeft}] [{right
nRight}] [{top nTop}] [{bottom nBottom}] [{odSharing
0|1}] [{length max|min}] [{width max|min}] [{nf
one|adj|OdIsland}]] [-enableSpacingProc 0|1] [spacingProcName newSpacingProcName] [-enablePostProc

1384

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerCreateMatch

0|1] [-postProcName newPostProcName] [-param {{param1


value1} {param2 value2} ... {paramn valuen}}] [enableTransitionRule 0|1]
Syntax 2:
lakerCreateMatch -preview |-close | -realize
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-abut all | {pos {{nRow1


nCol1} {nRow2 nCol2}
{nRown nColn}}} |
{list abutList}

Specify the target devices to be abutted. Valid values:

all: Try to abut all devices.


{pos {nRow1 nCol1}{nRow2 nCol2}
{nRown nColn}}: Abut the device at {nRow1
nCol1} and {nRow1 nCol1+1}, {nRow2
nCol2} and {nRow2 nCol2+1}.
{list abutList}: Specify the expected abut
status by order from left to right, and then from top
to bottom with series 0 and 1. For example, {{1 0
1}{1 0 1}}.

-abutDiffDevice 0|1

Valid values: Boolean values, 0 and 1.


1 : Allow abutment for different devices when
-enableAbutDevice 1 is set.
0 : Disallow abutment for different devices when
-enableAbutDevice 1 is set.

-abutDiffWidth 0|1

Valid values: Boolean values, 0 and 1.


1 : Allow abutment for devices with a different width
when -enableAbutDevice 1 is set.
0 : Disallow abutment for devices with a different width
when -enableAbutDevice 1 is set.

-abutSameDevice 0|1

Valid values: Boolean values, 0 and 1.


1 : Allow abutment for the same device when
-enableAbutDevice 1 is set.
0 : Disallow abutment for the same device when
-enableAbutDevice 1 is set.

-close

Close the standalone Matching Device Creator


window.

Laker Tcl Reference Manual


K-2015.06

1385

Chapter 11: Matching Device Creator


lakerCreateMatch

Argument

Description

-createPeriDummy 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Add peripheral dummy devices.
0 : Do not add peripheral dummy devices.

-enableAbutDevice 0|1

Valid values: Boolean values, 0 and 1.


1 : Allow device abutment.
0 : Disallow device abutment.

-enablePostProc 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the post processing procedure.
0 : Apply the settings in the SDL Preferences form.

-enableSpacingProc 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the spacing procedure for reference.
0 : Apply the settings in the SDL Preferences form.

-enableTransitionRule 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the transition rule for MOS devices only.
0 : Apply the transition rule for all devices.

-getSelected logic

Based on the selected set of the Design Browser


pane.

-loadConstraint 0|1

Only work for -getSelected logic.


Valid values: Boolean values, 0 and 1 (default=1).
1 : Load constraints.
0 : Do not load constraints.

-param {{param1
value1}{param2 value2}...}

Specify the parameter name and value for all devices


to be assigned and callback triggered after created.

-patternName
patternName

Specify the placement with a matching pattern.

-periDummyOption [{mode
Specify the options for adding peripheral dummy
ring|side}] [{ring nRing}] [{left devices.
nLeft}] [{right nRight}] [{top
nTop}] [{bottom nBottom}]
[{odSharing 0|1}] [{length
max|min}] [{width max|min}]
[{nf one|adj|odIsland}]]

1386

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerCreateMatch

Argument

Description

-postProcName
newPostProcName

Specify the name of the post processing procedure.


When not specified, apply the settings in the SDL
Preferences form.

-preview

Shows a standalone Matching Device Creator window


with the preview mode.

-quickFormat quickFormat

Specify the placement with a quick format string.

-quickFormatOptOD 0|1

This argument works when the placement is specified


with -quickFormat.
Valid values: Boolean values, 0 and 1.
1 : Apply OD sharing.
0 : Do not apply OD sharing.

-realize

Invoke the Paste feature to copy and paste the layout


from the standalone Matching Device Creator window
to the Layout window pane.

-repeatCol colNum

Specify the number of columns to be repeated.


Valid value: a positive integer.

-repeatPatCol colNum

Specify the number of columns to be repeated for the


selected pattern.
Valid value: a positive integer.

-repeatPatRow rowNum

Specify the number of rows to be repeated for the


selected pattern.
Valid value: a positive integer.

-repeatPatSeq Z0|Z1

Specify the placement sequence to repeat the pattern.


Valid values: Z0 and Z1 (default=Z0).

-repeatRow rowNum

Laker Tcl Reference Manual


K-2015.06

Z0 : Repeat the matching pattern from left to right,


and then from top to bottom.
Z1 : Repeat the matching pattern from top to
bottom, and then from left to right.

Specify the number of rows to be repeated.


Valid value: a positive integer.

1387

Chapter 11: Matching Device Creator


lakerCreateMatch

Argument

Description

-setSwappedPort none |
all | {pos {{nRow1 nCol1}
{nRow2 nCol2} {nRown
nColn}} | {list gridList}

Specify the target devices to be port-swapped. Valid


values:

none: Ports of all devices are not swappable.


all: Ports of all devices are swappable.
{pos {nRow1 nCol1}{nRow2 nCol2}
{nRown nColn}}: Swap ports for the device at
{nRow1 nCol1} and {nRow1 nCol1+1},
{nRow2 nCol2} and {nRow2 nCol2+1}.
{list gridList}: Specify the expected portswapped status by order from left to right, and then
from top to bottom with series 0 and 1. For example,
{{0 1 0}{0 1 0}} becomes {{S-D, D-S, SD}{S-D, D-S, S-D}}.

-spacingProcName
newSpacingProcName

Specify the name of the spacing procedure. When not


specified, apply the settings in the SDL Preferences
form.

-unabut all | {pos {{nRow1


nCol1} {nRow2 nCol2}
{nRown nColn}}} |
{list abutList}

Specify the target devices to be unabutted. Valid


values:

all: Try to unabut all devices.


{pos {nRow1 nCol1}{nRow2 nCol2}
{nRown nColn}}: Unabut the device at {nRow1
nCol1} and {nRow1 nCol1+1}, {nRow2
nCol2} and {nRow2 nCol2+1}.
{list abutList}: Specify the expected unabut
status by order from left to right, and then from top
to bottom with series 0 and 1. For example, {{0 1
0}{0 1 0}}.

-unsetFingerGroupOption 0|1 Valid values: Boolean values, 0 and 1.


1 : Override the Unset Finger Group option setting in
the SDL Preferences form.
0 : Apply the Unset Finger Group option setting in the
SDL Preferences form.

1388

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerCreateMatch

Argument

Description

-xBoundaryInfo {layer
purpose}

Specify the user-defined boundary layer/purpose and


spacing in X-axis.
When specified, the Matching Device Creator uses
this referenced layer/purpose to do placement instead
of using the Boundary_Info settings defined in the
model map file sections [DEVICE_MOS] or
[DEVICE_RES].
This arguments is only valid for device MOS or device
resistors.

-xSpacing xSpacing

Specify the horizontal spacing between boundary


layers.
Valid value: a positive floating number.

-yBoundaryInfo {layer
purpose}

Specify the user-defined boundary layer/purpose and


spacing in Y-axis.
When specified, for FinFET design, the Matching
Device Creator uses this referenced layer/purpose to
do placement instead of using the boundary settings in
the technology file section tfWideAlignment.
For non-FinFET design, the Matching Device Creator
uses this referenced layer/purpose to do placement
instead of using the Boundary_Info settings defined
in the model map file sections [DEVICE_MOS] or
[DEVICE_RES].
This arguments is only valid for device MOS or device
resistors.

-ySpacing ySpacing |
{ySpacing1 ySpacing2 ...
ySpacingn}

Laker Tcl Reference Manual


K-2015.06

Specify the vertical spacing between boundary layers.


Valid value: a positive floating number.

1389

Chapter 11: Matching Device Creator


lakerMchAdd

Examples
# Example 1
# See Figure 1 for reference
lakerCreareMatch -getSelected logic -xSpacing 2.2 \
-ySpacing 1.8 -createGuardRing 0 -loadConstraint 0 \
-unsetFingerGroupOption 1 -enableAbutDevice 0 \
-quickFormat AB_Ad -quickFormatOptOD 1 -unabut all \
-createPeriDummy 1 -periDummyOption \
{{mode ring} {ring 1} {odSharing 0}} \
-enableSpacingProc 1 -spacingProcNamne SpacingProc1 \
-enablePostProc 1 -postProcName PostProc1 \
-param {{DummyPoly 2}{extLayerNum 1}} -enableTransitionRule 0
# Example 2
lakerCreateMatch -preview
lakerCreateMatch -close
lakerCreateMatch -realize

See Also

Figure 1

Figure for Example 1

lakerMchAdd
The lakerMchAdd command adds pattern from the Device List to the
matching window pane.
Syntax
lakerMchAdd [-inst instName1 -pos (x1,y1) (x2,y2)]
Returns
None

1390

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchAddDummy

Arguments
Argument

Description

-inst instName1

Specify the selected pattern.

-pos (x1,y1) (x2,y2)

Specify the position of the pattern.

Examples
lakerMchAdd

See Also
Matching Device Creator: Edit > Add

lakerMchAddDummy
The lakerMchAddDummy command adds dummy MOS devices, dummy
resistors, or dummy capacitors.
Syntax
lakerMchAddDummy [-odSharing 0|1] [-length type] [-width
type]
Returns
None
Arguments
Argument

Description

-length type

Specify the gate length type for dummy MOS devices.


Valid values: adjMax, adjMin, min, and {userDef
LengthValue}. The default is adjMax.
When {userDef LengthValue} is used, the
LengthValue must be a floating number, greater than or
equal to the min value.

-odSharing 0|1

Laker Tcl Reference Manual


K-2015.06

Valid values: Boolean values, 0 and 1.


1 : Share the OD with adjacent MOS devices when
adding a dummy MOS device.
0 : Do not share the OD with adjacent MOS devices when
adding a dummy MOS device.

1391

Chapter 11: Matching Device Creator


lakerMchAddPattern

Argument

Description

-width type

Specify the gate width type for dummy MOS devices.


Valid values: adjMax, adjMin, min, and {userDef
WidthValue}. The default is adjMax. When {userDef
WidthValue} is used, the WidthValue must be a
floating number, greater than or equal to the min value.

Examples
# Example 1
# Add dummy MOS devices with adjMax length and adjMin width,
# and share OD with adjacent MOS devices
lakerMchAddDummy -odSharing 1 -length adjMax -width adjMin
# Example 2
# Add dummy MOS devices with user-defined length 1.2
# and user-defined width 0.6,
# and do not share OD with adjacent MOS devices
lakerMchAddDummy -odSharing 0 -length {userDef 1.2} \
-width {userDef 0.6}

See Also
Matching Device Creator: Edit > Add Dummy

lakerMchAddPattern
The lakerMchAddPattern command adds a user-defined pattern to the
pattern list.
Syntax
lakerMchAddPattern [-name patternName]
Returns
None
Arguments
Argument

Description

-name patternName

If specified, the user-defined pattern is saved with userspecified name.


If not specified, the pattern is saved with a systemgenerated name.

1392

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchAddPeriDummy

Examples
# Add a new pattern, test
lakerMchAddPattern -name test

See Also
Matching Device Creator: Pattern > Add

lakerMchAddPeriDummy
The lakerMchAddPeriDummy command creates peripheral dummy devices.
Syntax
lakerMchAddPeriDummy [[-ring num] | [-left num -right num top num -bottom num]] [-ODSharing 0|1] [-length type] [width type] [-nf one|adj]
Returns
None
Arguments
Argument

Description

-left num -right num


-top num -bottom num

Specify the size of dummy devices by giving the -left


and -right values for the number of columns, and the
-top and -bottom values for the number of rows.
Valid value: an integer (default=1).

-length type

Specify the gate length type.


Valid values: adjMax and adjMin (default=adjMax).

-nf one|adj

Specify the number of fingers.


Valid values: one and adj (default=one).

-ODSharing 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Share the OD with adjacent MOS devices.
0 : Do not share the OD with adjacent MOS devices.

-ring num

Specify the number of rings.


Valid value: an integer (default=1).

-width type

Specify the gate width type for dummy devices.


Valid values: adjMax and adjMin (default=adjMax).

Laker Tcl Reference Manual


K-2015.06

1393

Chapter 11: Matching Device Creator


lakerMchAdjustTrack

Examples
# Example 1
# Add one dummy ring around the selected bbox;
# share the OD area for dummy without referencing any target
lakerMchAddPeriDummy -ring 1 -ODSharing 1 -length adjMax \
-width adjMax
# Example 2
# Add one dummy ring around the selected bbox; share the OD
# area for dummy without a referenced target; the finger
# number of peripheral dummy is 1
lakerMchAddPeriDummy -ring 1 -ODSharing 1 -length adjMax \
-width adjMax -nf one

See Also
Matching Device Creator: Edit > Add Peripheral Dummy

lakerMchAdjustTrack
The lakerMchAdjustTrack command adjust tracks of the selected channel
in the matching window pane.
Syntax
lakerMchAdjustTrack [-strip StripNum] [-pin PinNum] [trackregion TrackRegionNum]
Returns
None
Arguments
Argument

Description

-pin PinNum

Specify the pin number.

-strip StripNum

Specify the number of strips.

-trackregion TrackRegionNum

Specify the track region number.

Examples
lakerMchAdjustTrack -strip 1 -pin 2 -trackregion 7

See Also
Matching Device Creator: Router
1394

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchAlignRowTop

lakerMchAlignRowTop
The lakerMchAlignRowTop command places all MOS devices, Tcl PCells,
or PyCells in the selected row/column to align the top of the row or the left of
the column.
Syntax
lakerMchAlignRowTop
Returns
None
Arguments
None
Examples
# Example 1
# Change the row alignment to top for row 1
lakerMchSelect -pos (1,0)
lakerMchAlignRowTop

See Also
Matching Device Creator: Edit > Align Row > Top, Align Column > Left

lakerMchAlignRowCenter
The lakerMchAlignRowCenter command places all MOS devices, Tcl
PCells, or PyCells in the selected row/column to align the center of the row/
column.
Syntax
lakerMchAlignRowCenter
Returns
None
Arguments
None

Laker Tcl Reference Manual


K-2015.06

1395

Chapter 11: Matching Device Creator


lakerMchAlignRowBottom

Examples
# Example 1
# Change the row alignment to center for row 1
lakerMchSelect -pos (1,0)
lakerMchAlignRowCenter

See Also
Matching Device Creator: Edit > Align Row > Center, Align Column > Center

lakerMchAlignRowBottom
The lakerMchAlignRowBottom command places all MOS devices, Tcl
PCells, or PyCells in the selected row/column to align the bottom of the row or
the right of the column.
Syntax
lakerMchAlignRowBottom
Returns
None
Arguments
None
Examples
# Example 1
# Change the row alignment to bottom for row 1
lakerMchSelect -pos (1,0)
lakerMchAlignRowBottom

See Also
Matching Device Creator: Edit > Align Row > Bottom, Align Column > Right

lakerMchAreaZoom
The lakerMchAreaZoom command allows you to quickly view at a desired
area in the matching window pane by dragging the right mouse button over that
area.

1396

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchAttribute

Syntax
lakerMchAreaZoom -point (x1,y1) (x2,y2)
Returns
None
Arguments
Argument

Description

-point (x1,y1) (x2,y2)

(x1,y1) specifies the lower left point of zoomIn area


while (x2,y2) specifies the upper right point.

Examples
lakerMchAreaZoom -point (10,10) (40,40)

See Also
Matching Device Creator: Mouse Operations

lakerMchAttribute
The lakerMchAttribute command allows you to query or modify the
attribute of the selected wire.
Syntax
lakerMchAttribute [-crossSDViaOn crossSDViaOnType]
[-B2G {B2G spacing value string}]
Returns
None
Arguments
Argument

Description

-B2G
{B2G spacing value string}

Specify the distance between horizontal


backbone wires and gates (OD).
Valid value: a constant or an expression.
If -B2G AUTO is specified, a system-assigned
value is used.

Laker Tcl Reference Manual


K-2015.06

1397

Chapter 11: Matching Device Creator


lakerMchChainSerialRes

Argument

Description

-crossSDViaOn
crossSDViaOnType

Specify the cross type of S/D vias.


Valid values: channel and pin
(default=channel).

Examples
lakerMchAttribute -crossSDViaOn pin

See Also
Matching Device Creator: Router > Attribute

lakerMchChainSerialRes
The lakerMchChainSerialRes command places serial resistors in a certain
sequence and makes the resistor chain has the minimum routing resource.
Syntax
lakerMchChainSerialRes -pattern placePattern
Returns
None
Arguments
Argument

Description

-pattern placePattern

Specify the placement pattern for chain serial resistors.


Valid values: S1, S2, S3, S4, S5, S6, S7, S8, Z1, Z2, Z3,
Z4, Z5, Z6, Z7, and Z8 (default=S1).

Examples
lakerMchChainSerialRes -pattern S1

See Also
Matching Device Creator: Edit > Chain Serial Resistor

1398

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchChangeOrient

lakerMchChangeOrient
The lakerMchChangeOrient command changes the placement orientation
of transistors or instances.
Syntax
lakerMchChangeOrient -orient orient
Returns
None
Arguments
Argument

Description

-orient orient

Specify the placement orientation of transistors and/or


instances.
Valid values: vertical and horizontal
(default=vertical).

Examples
lakerMchChangeOrient -orient vertical

See Also
Matching Device Creator: Cell > Change Placement Orientation

lakerMchCheck
The lakerMchCheck command checks the matching rules for the pattern
arrangment before realization.
Syntax
lakerMchCheck
Returns
None
Arguments
None

Laker Tcl Reference Manual


K-2015.06

1399

Chapter 11: Matching Device Creator


lakerMchClear

Examples
lakerMchCheck

See Also
Matching Device Creator: Cell > Check

lakerMchClear
The lakerMchClear command clears up the pattern arrangment in the
matching window pane.
Syntax
lakerMchClear
Returns
None
Arguments
None
Examples
lakerMchClear

See Also
Matching Device Creator: Edit > Delete All

lakerMchClearRuler
The lakerMchClearRuler command clears all rulers in the preview window
pane.
Syntax
lakerMchClearRuler
Returns
None
Arguments
None

1400

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchCompactSpace

Examples
# Example 1
# Clear all rulers
lakerMchClearRuler

See Also
Matching Device Creator: Query > Clear Ruler

lakerMchCompactSpace
The lakerMchCompactSpace command enables or disables the space
compaction.
Syntax
lakerMchCompactSpace -mode 0|1
Returns
None
Arguments
Argument

Description

-mode 0|1

Valid values: Boolean values, 0, and 1 (default=1).


1 : Enable the space compaction after device realization.
0 : Disable the space compaction.

Examples
# Compact the matching layout
lakerMchCompactSpace -mode 1

See Also
Matching Device Creator: Cell > Compact Space

lakerMchDelete
The lakerMchDelete command deletes one or more than one pattern type
from the matching window pane.

Laker Tcl Reference Manual


K-2015.06

1401

Chapter 11: Matching Device Creator


lakerMchDeletePattern

Syntax
lakerMchDelete [-pos (x1,y1) (x2,y2) (x3,y3)]
Returns
None
Arguments
Argument

Description

-pos (x1,y1) (x2,y2) (x3,y3)

Specify the position of the pattern.

Examples
lakerMchDelete -pos (0,0) (0,1) (1,1)

See Also
Matching Device Creator: Edit > Delete

lakerMchDeletePattern
The lakerMchDeletePattern command removes a user-defined pattern
from the pattern list.
Syntax
lakerMchDeletePattern [-name patternName]
Returns
None
Arguments
Argument

Description

-name patternName

If specified, the user-defined pattern is deleted.


Reserved patterns are not deleted.
If not specified, no pattern is deleted.

Examples
# Example 1
# Delete the pattern named test
lakerMchDeletePattern -name test

1402

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchDeSelDevice

See Also
Matching Device Creator: Pattern > Delete

lakerMchDeSelDevice
The lakerMchDeSelDevice command deselects the Device List on the left.
Syntax
lakerMchDeSelDevice
Returns
None
Arguments
None
Examples
lakerMchDeSelDevice

lakerMchDeSelect
The lakerMchDeSelect command deselects the content of the matching
window pane on the right.
Syntax
lakerMchDeSelect
Returns
None
Arguments
None
Examples
lakerMchDeSelect

Laker Tcl Reference Manual


K-2015.06

1403

Chapter 11: Matching Device Creator


lakerMchDistance

lakerMchDistance
The lakerMchDistance command creates a minimum distance ruler in the
preview window pane.
Syntax
lakerMchDistance -point (x1,y1)(x2,y2)
Returns
None
Arguments
Argument

Description

-point (x1, y1) (x2, y2)

(x1, y1) specifies the first point of the ruler while


(x2,y2) specifies the second point.

Examples
lakerMchDistance -point (100, 100) (200,200)

See Also
Matching Device Creator: Query > Distance

lakerMchDrag
The lakerMchDrag command emulates the action of a click and hold on the
middle mouse button when using a two-button mouse.
Syntax
lakerMchDrag
Returns
None
Arguments
None

1404

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchDrop

Examples
# Example 1
# Select the objects and drag
lakerMchSelect -pos (0,0) (1,0)
lakerMchDrag

See Also
Matching Device Creator: Edit > Drag

lakerMchDrop
The lakerMchDrop command emulates the action of a click and hold on the
middle mouse button when using a two-button mouse.
The dragged objects are moved by the click-left operation. The dragged objects
are copied if the Shift-click-left operation is used.
Syntax
lakerMchDrop -RowOffset RowOffset -ColOffset ColOffset [copy 0|1]
Returns
None
Arguments
Argument

Description

-ColOffset ColOffset

Specify the offset (for columns) between the new


position and the original position.
Valid value: an integer.

-copy 0|1

Valid values: Boolean values, 0 and 1.


1 : Copy the dragged objects.
0 : Move the dragged objects only.

-RowOffset RowOffset

Specify the offset (for rows) between the new position


and the original position.
Valid value: an integer.

Laker Tcl Reference Manual


K-2015.06

1405

Chapter 11: Matching Device Creator


lakerMchExportPattern

Examples
# Example 1
# Move the dragged objects
lakerMchSelect -pos (0,0) (1,0)
lakerMchDrag
lakerMchDrop -RowOffset 1 -ColOffset 2
# Example 2
# Copy the dragged objects
lakerMchSelect -pos (0,0) (1,0)
lakerMchDrag
lakerMchDrop -RowOffset 1 -ColOffset 2 -copy 1

See Also
Matching Device Creator: Edit > Drop

lakerMchExportPattern
The lakerMchExportPattern command exports all matching patterns in
the pattern list to a matching pattern file (*.match).
Syntax
lakerMchExportPattern -file matchFile [-setUserMatchFile]
Returns
None
Arguments
Argument

Description

-file matchFile

Specify the filename of the output file.

-setUserMatchFile

Set the output file to setUserMatchFile in the


laker.rc resource file.

Examples
lakerMchExportPattern -file myPatternFile -setUserMatchFile

See Also
Matching Device Creator: Pattern > Export

1406

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchFillBlack

lakerMchFillBlack
The lakerMchFillBlack command replaces existing patterns in a selected
area with raster scan order by filling the patterns with one of the following
options: Fill Chessboard with Black First or Fill Chessboard with White
First.
Syntax
lakerMchFillBlack -blackStart 0|1
Returns
None
Arguments
Argument

Description

-blackStart 0|1

Valid values: Boolean values, 0 and 1.


1 : Fill chessboard with black first.
0 : Fill chessboard with white first.

Examples
lakerMchFillBlack

See Also
Matching Device Creator: Edit > Fill Chessboard

lakerMchFillDiagonal
The lakerMchFillDiagonal command replaces existing patterns in a
selected area by filling the patterns from top left to bottom right or from bottom
left to top right.
Syntax
lakerMchFillDiagonal -topDown 0|1
Returns
None

Laker Tcl Reference Manual


K-2015.06

1407

Chapter 11: Matching Device Creator


lakerMchFlip

Arguments
Argument

Description

-topDown 0|1

Valid values: Boolean values, 0 and 1.


1 : Fill diagonal from top left to bottom right.
0 : Fill diagonal from bottom left to top right.

Examples
lakerMchFillDiagonal

See Also
Matching Device Creator: Edit > Fill Diagonal

lakerMchFlip
The lakerMchFlip command turns selected patterns in the same row (if
there are vertically placed) into a different position.
Syntax
lakerMchFlip
Returns
None
Arguments
None
Examples
lakerMchSelect -pos (0,1) (0,2) (0,3)
lakerMchFlip

See Also
Matching Device Creator: Edit > Flip

lakerMchImportPattern
The lakerMchImportPattern command imports all matching patterns to
the pattern list from a matching pattern file (*.match).

1408

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchInsAColGrid

Syntax
lakerMchImportPattern -file matchFile [-setUserMatchFile]
Returns
None
Arguments
Argument

Description

-file matchFile

Specify the filename of input file.

-setUserMatchFile

Set the input file to setUserMatchFile in the laker.rc


resource file.

Examples
lakerMchImportPattern -file myPatternFile -setUserMatchFile

See Also
Matching Device Creator: Pattern > Import

lakerMchInsAColGrid
The lakerMchInsAColGrid command inserts a new column of grid boxes.
Syntax
lakerMchInsAColGrid
Returns
None
Arguments
None
Examples
lakerMchInsAColGrid

See Also
Matching Device Creator: Edit > Insert

Laker Tcl Reference Manual


K-2015.06

1409

Chapter 11: Matching Device Creator


lakerMchInsAGrid

lakerMchInsAGrid
The lakerMchInsAGrid command inserts a grid box.
Syntax
lakerMchInsAGrid
Returns
None
Arguments
None
Examples
lakerMchInsAGrid

See Also
Matching Device Creator: Edit > Insert

lakerMchLastView
The lakerMchLastView command shows the previous view that displayed in
the matching window pane (normal view) or the preview window pane (preview
mode).
Syntax
lakerMchLastView
Returns
None
Arguments
None
Examples
lakerMchLastView

See Also
Matching Device Creator: View > Last View

1410

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchMaxViewLevel

lakerMchMaxViewLevel
The lakerMchMaxViewLevel command sets the view level to maximum (49)
to view all levels of the hierarchial design in the preview window pane.
Syntax
lakerMchMaxViewLevel
Returns
None
Arguments
None
Examples
# Set the view level to 49
lakerMchMaxViewLevel

See Also
Matching Device Creator: View > Max View Level

lakerMchMerge
The lakerMchMerge command merges OD by the select set. The OD within
the select set is merged as possible. This command does not apply on the OD
in a finger group.
Syntax
lakerMchMerge
Returns
None
Arguments
None
Examples
lakerMchMerge

See Also
Matching Device Creator: Edit > Merge
Laker Tcl Reference Manual
K-2015.06

1411

Chapter 11: Matching Device Creator


lakerMchMinViewLevel

lakerMchMinViewLevel
The lakerMchMinViewLevel command sets the view level to the minimum
(0) to view the top level of the hierarchial design in the preview window pane.
Syntax
lakerMchMinViewLevel
Returns
None
Arguments
None
Examples
# set the view level to 0
lakerMchMinViewLevel

See Also
Matching Device Creator: View > Min View Level

lakerMchMode
The lakerMchMode command enables the Remainder mode or the Topology
mode.
Syntax
lakerMchMode -mode mode
Returns
None
Arguments
Argument

Description

-mode mode

Specify the matching mode.


Valid values: remainder and topology.

1412

remainder : Enable the Remaidner mode.


topology : Enable the Topology mode.

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchMoveWire

Examples
# Enable remainder mode
lakerMchMode -mode remainder

lakerMchMoveWire
The lakerMchMoveWire command moves wires to another channel in the
matching window pane.
Syntax
lakerMchMoveWire [-strip StripNum] [-pin PinNum] [-channel
ChannelNum]
Returns
None
Arguments
Argument

Description

-channel ChannelNum

Specify the channel number.

-pin PinNum

Specify the pin number.

-strip StripNum

Specify the number of strips.

Examples
lakerMchMoveWire -strip 1 -pin 2 -channel 1

See Also
Matching Device Creator: Router

lakerMchNormal
The lakerMchNormal command switches to the symbol view mode, showing
the content of the matching window pane.
Syntax
lakerMchNormal

Laker Tcl Reference Manual


K-2015.06

1413

Chapter 11: Matching Device Creator


lakerMchOptimizeOD

Returns
None
Arguments
None
Examples
lakerMchNormal

See Also
Matching Device Creator: View > Normal

lakerMchOptimizeOD
The lakerMchOptimizeOD command optimizes OD sharing by mirroring or
merging placed transistors that are selected in grids.
Syntax
lakerMchOptimizeOD
Returns
None
Arguments
None
Examples
lakerMchOptimizeOD

See Also
Matching Device Creator: Edit > Optimize OD Sharing

lakerMchPanDown
The lakerMchPanDown command pans down of the current view area by the
specified ratio.
Syntax
lakerMchPanDown -ratio pan_ratio

1414

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchPanLeft

Returns
None
Arguments
Argument

Description

-ratio pan_ratio

Specify the ratio value.


Valid value: an integer.

Examples
lakerMchPanDown

See Also
Matching Device Creator: Mouse Operations

lakerMchPanLeft
The lakerMchPanLeft command pans to the left of the current view area by
the specified ratio.
Syntax
lakerMchPanLeft -ratio pan_ratio
Returns
None
Arguments
Argument

Description

-ratio pan_ratio

Specify the ratio value.


Valid value: an integer.

Examples
lakerMchPanLeft

See Also
Matching Device Creator: Mouse Operations

Laker Tcl Reference Manual


K-2015.06

1415

Chapter 11: Matching Device Creator


lakerMchPanRight

lakerMchPanRight
The lakerMchPanRight command pans to the left of the current view area by
the specified ratio.
Syntax
lakerMchPanRight -ratio pan_ratio
Returns
None
Arguments
Argument

Description

-ratio pan_ratio

Specify the ratio value.


Valid value: an integer.

Examples
lakerMchPanRight

See Also
Matching Device Creator: Mouse Operations

lakerMchPanUp
The lakerMchPanUp command pans up of the current view area by the
specified ratio.
Syntax
lakerMchPanUp -ratio pan_ratio
Returns
None
Arguments

1416

Argument

Description

-ratio pan_ratio

Specify the ratio value.


Valid value: an integer.

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchPreference

Examples
lakerMchPanUp

See Also
Matching Device Creator: Mouse Operations

lakerMchPreference
The lakerMchPreference command sets up user preferences for the
creation of dummy MOS devices, dummy resistors, or dummy capacitors.
Syntax
lakerMchPreference [-dummyNMOSGateNet 0|1] [dummyPMOSGateNet 0|1] [-dummyNMOSSDNet 0|1] [dummyNMOSSDNetName netname] [-dummyPMOSSDNet 0|1] [dummyPMOSSDNetName netname] [-autoTxDummy 0|1] [dummyTxSingleGateNum [natural int]] [dummyTxMultipleGateNum [natural int]] [-odSharing 0|1]
[-dummyTxGateLength LengthType] [-dummyTxGateWidth
WidthType] [-shortAllResDummy 0|1] [-dummyResNetName
netname] [-autoResDummy 0|1] [-dummyResSegNum [natural
int]] [-ResContType ResContType] [-enableDummyResWidth
0|1] [-dummyResWidth [float]] [-shortAllCapDummy 0|1] [dummyCapNetName netname] [-autoCapDummy 0|1] [createDummyCapByValue 0|1] [-dummyCapValue [float]] [dummyCapWidth [float]] [-horOrientMode 0|1]
Returns
None
Arguments
Argument

Description

-autoCapDummy 0|1

Valid values: Boolean values, 0 and 1.


1 : Automatically add dummy capacitors when
initializing the matching process.
0 : Do not add dummy capacitors automatically.

Laker Tcl Reference Manual


K-2015.06

1417

Chapter 11: Matching Device Creator


lakerMchPreference

1418

Argument

Description

-autoResDummy 0|1

Valid values: Boolean values, 0 and 1.


1 : Automatically add dummy resistors when
initializing the matching process.
0 : Do not add dummy resistors automatically.

-autoTxDummy 0|1

Valid values: Boolean values, 0 and 1.


1 : Automatically add dummy MOS devices when
initializing the matching process.
0 : Do not add dummy MOS devices automatically.

-createDummyCapByValue
0|1

Valid values: Boolean values, 0 and 1.


1 : Create dummy capacitors by capacitance
value.
0 : Create dummy capacitors by width.

-dummyCapNetName
netname

Assign a single net name for all dummy capacitors.

-dummyCapValue [float]

Specify the capacitance value for dummy


capacitors.
Valid value: a floating number.

-dummyCapWidth [float]

Specify the width for dummy capacitors.


Valid value: a floating number.

-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.

-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.

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchPreference

Argument

Description

-dummyPMOSGateNet 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Gate Net Name for Dummy Gate
Net Name for Dummy NMOS option.
0 : Disable the Gate Net Name for Dummy NMOS
option.

-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.

-dummyResNetName
netname

Assign a single net name for all dummy resistors.

-dummyResSegNum
[natural int]

Specify the number of dummy resistors to be


assigned beside the resistor segment.

-dummyResWidth [float]

Specify the width for dummy resistors.


Valid value: a floating number.

-dummyTxGateLength
LengthType

Specify the gate length type for dummy MOS


devices.
Valid values: adjMax, adjMin, min, and
{userDef LengthValue}. The default is
adjMax. When {userDef LengthValue} is
used, the LengthValue must be a floating
number, greater than or equal to the min value.

-dummyTxGateWidth
WidthType

Specify the gate width type for dummy MOS


devices.
Valid values: adjMax, adjMin, min, and
{userDef WidthValue}. The default is
adjMax. When {userDef WidthValue} is
used, the WidthValue must be a floating number,
greater than or equal to the min value.

-dummyTxMultipleGateNum Specify the number of dummy MOS devices to be


[natural int]
assigned beside multi-gate MOS devices.

Laker Tcl Reference Manual


K-2015.06

1419

Chapter 11: Matching Device Creator


lakerMchPreference

Argument

Description

-dummyTxSingleGateNum
[natural int]

Specify the number of dummy MOS devices to be


assigned beside single-gate MOS devices.

-enableDummyResWidth 0|1 Valid values: Boolean values, 0 and 1.


1 : Create dummy resistors by the user-defined
width.
0 : Create dummy resistors by the minimum width.
-horOrientMode 0|1

Valid values: Boolean values, 0 and 1.


1 : Change the placement orientation of MOS
devices and/or instances in a horizontal direction.
0 : Keep the placement orientation of MOS
devices and/or instances in a vertical direction.

-odSharing 0|1

Valid values: Boolean values, 0 and 1.


1 : Share the OD with adjacent MOS devices when
adding a dummy MOS device.
0 : Do not share the OD with adjacent MOS
devices when adding a dummy MOS device.

-ResContType ResContType Specify the contact type of dummy resistors.


Valid values: MaxRow, Single, Max, and
{UserDefined
-ResContCol ResContCol -ResContRow
ResContRow}. The default is MaxRow.
-shortAllCapDummy 0|1

Valid values: Boolean values, 0 and 1.


1 : Assign a single net name for all dummy
capacitors.
0 : No net name for dummy capacitors.

-shortAllResDummy 0|1

Valid values: Boolean values, 0 and 1.


1 : Assign a single net name for all dummy
resistors.
0 : No net name for dummy resistors.

Examples
# Example 1
# Set the preferences for dummy MOS devices with adjMax
# length and adjMin width
lakerMchPreference -dummyTxGateLength adjMax \
-dummyTxGateWidth adjMin

1420

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchPreview

# Example 2
# Set the preferences for dummy MOS devices with a
# user-defined length of 1.2 and a user-defined width of 0.6
lakerMchPreference -dummyTxGateLength {userDef 1.2} \
-dummyTxGateWidth {userDef 0.6}

See Also
Matching Device Creator: Options > Preferences

lakerMchPreview
The lakerMchPreview command switches to the preview mode, showing the
content of the preview window pane.
Syntax
lakerMchPreview
Returns
None
Arguments
None
Examples
lakerMchPreview

See Also
Matching Device Creator: View > Preview

lakerMchQuickInsert
The lakerMchQuickInsert command inserts a desired pattern in the
pattern list and the grid table in the matching window pane in a quick and
efficient manner.
Syntax
lakerMchQuickInsert -pattern {pattern} [-fixed 0|1] [-select
0|1] [-optimizeOD 0|1]

Laker Tcl Reference Manual


K-2015.06

1421

Chapter 11: Matching Device Creator


lakerMchRealize

Returns
None
Arguments
Argument

Description

-fixed 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1: Enable the Fixed Columns option.
0: Disable the Fixed Columns option.

-optimizeOD 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1: Enable the Optimize MOS OD Sharing option.
0: Disable the Optimize MOS OD Sharing option.

-pattern {pattern}

Specify the input pattern enclosed by brackets ({}). For


example: { ABBA }.

-select 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1: Enable the Selected Grid Boxes option.
0: Disable the Selected Grid Boxes option.

Examples
# Place devices to the entire grid table in the matching
# window pane based on pattern *{A-C} with fixed column size
lakerMchQuickInsert -pattern { *{A-C} } -fixedCol 1 -select 0

See Also
Matching Device Creator: Pattern > Quick Insert

lakerMchRealize
The lakerMchRealize command realizes the device arrangement from the
matching window pane to the Layout window pane.
Syntax
lakerMchRealize
Returns
None
Arguments
None
1422

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchRechainConnection

Examples
lakerMchRealize

See Also
Matching Device Creator: Cell > Realize

lakerMchRechainConnection
The lakerMchRechainConnection command re-assigns the internal nets
of the selected resistor with a specified pattern.
Syntax
lakerMchRechainConnection -pattern chainPattern [-netName
startNetName] [-netLocation startNetLocation] [shortestRows 0|1]
Returns
None
Arguments
Argument

Description

-netLocation
startNetLocation

Specify the starting net location. This argument is valid


only for row-based patterns (S1, S2, S3, S4, Z1, Z2, Z3,
and Z4).
Valid values: top and bottom.

-netName
startNetName

Specify the starting net.


Valid value: the top/bottom net name of the selected
resistor.

-pattern
chainPattern

Specify the pattern to re-chain the resistor segment.


Valid values: S1, S2, S3, S4, S5, S6, S7, S8, Z1, Z2, Z3,
Z4, Z5, Z6, Z7, and Z8.

-shortestRows 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1: Connect rows with the shortest path.
0: Do not connect rows with the shortest path.

Laker Tcl Reference Manual


K-2015.06

1423

Chapter 11: Matching Device Creator


lakerMchRedo

Examples
# Example 1
# Re-chain the resistor with pattern S1, the starting
# net name is n1, the starting net location is on top of the grid,
# and do not connect rows with the shortest path.
lakerMchRechainConnection -pattern S1 -netName n1 \
-netLocation top -shortestRows 0

See Also
Matching Device Creator: Edit > Re-chain Connection

lakerMchRedo
The lakerMchRedo command repeats the last action, if possible.
Syntax
lakerMchRedo
Returns
None
Arguments
None
Examples
lakerMchRedo

See Also
Matching Device Creator: Edit > Redo

lakerMchRedraw
The lakerMchRedraw command updates the content of the matching window
pane.
Syntax
lakerMchRedraw
Returns
None
1424

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchRenamePattern

Arguments
None
Examples
lakerMchRedraw

See Also
Matching Device Creator: Edit > Redraw

lakerMchRenamePattern
The lakerMchRenamePattern command renames a user-defined pattern in
the pattern list.
Syntax
lakerMchRenamePattern -name oriName -rename newName
Returns
None
Arguments
Argument

Description

-name oriName

Sepcify the original name of user-defined pattern.

-rename newName

Specify a new name for the pattern.

Examples
lakerMchRenamePattern -name test -rename testA

See Also
Matching Device Creator: Pattern > Rename

lakerMchRefUnit
The lakerMchRefUnit command sets up the reference unit for resistors and
capacitors.

Laker Tcl Reference Manual


K-2015.06

1425

Chapter 11: Matching Device Creator


lakerMchRefUnit

Syntax
lakerMchRefUnit -value value -width width -length length mode refUnitMode
Returns
None
Arguments
Argument

Description

-length length

Specify the device length.

-mode
refUnitMode

Specify the Reference Unit Setting mode for resistors and


capacitors.
Valid values: valueWidth, valueLength,
widthLength, squareValue, squareWidth,
segWidth, and segLength (default=widthLength).
valueWidth : Value/Width for R (Topology) or C (Topology/
Remainder).
valueLength : Value/Length for R (Topology) or C
(Topology/Remainder).
widthLength : Width/Length for R (Topology) or C
(Topology/Remainder).
squareValue : Square by Value for C (Topology/
Remainder).
squareWidth : Square by Width for C (Topology/
Remainder).
segWidth : Width for R (Segment).
segLength : Length for R (Segment).

-value value

Specify the device value.

-width width

Specify the device width.

Examples
lakerMchRefUnit -value 100 -width 10 -length 5 -mode valueWidth

See Also
Matching Device Creator: Reference Unit Setting

1426

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchRepeatNum

lakerMchRepeatNum
The lakerMchRepeatNum command assigns the number of rows/columns to
be repeated.
Syntax
lakerMchRepeatNum -row row -col col
Returns
None
Arguments
Argument

Description

-col col

Specify the number of columns to be repeated.


Valid value: an integer.

-row row

Specify the number of rows to be repeated.


Valid value: an integer.

Examples
lakerMchRepeatNum -row 2 -col 2

lakerMchRepeatPat
The lakerMchRepeatPat command expands repeated matching patterns for
MOS devices, MCell resistors, MCell capacitors, and instances.
Syntax
lakerMchRepeatPat [-row row] [-col col] [-seq seqString]
Returns
None
Arguments
Argument

Description

-col col

Specify the number of columns to be repeated.


Valid value: an integer (default=1).

Laker Tcl Reference Manual


K-2015.06

1427

Chapter 11: Matching Device Creator


lakerMchRoute

Argument

Description

-row row

Specify the number of rows to be repeated.


Valid value: an integer (default=1).

-seq seqString

Specify the placement sequence.


Valid values: Z0 and Z1 (default=Z0).
Z0 : Repeat matching patterns from left to right first, and then
from top to bottom.Z1 : Repeat matching patterns from top to
bottom first, and then from left to right.

Examples
lakerMchRepeatPat -row 2 -col 2 -seq Z1

See Also
Matching Device Creator: Edit > Repeat Pattern

lakerMchRoute
The lakerMchRoute command invokes the Matching Device Router in the
matching window pane.
Syntax
lakerMchRoute
Returns
None
Arguments
None
Examples
lakerMchRoute

See Also
Matching Device Creator: Router > Matching Device Router

1428

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchSelDevice

lakerMchSelDevice
The lakerMchSelDevice command selects the Device List on the left.
Syntax
lakerMchSelDevice -inst instName1
Returns
None
Arguments
Argument

Description

-inst instName1

Specify the device to be selected.

Examples
lakerMchSelDevice

lakerMchSelect
The lakerMchSelect command selects the content of the matching window
pane.
Syntax
lakerMchSelect -set {ChanNum1 StripNum1 PinNum1} {ChanNum2
StripNum2 PinNum2}
Returns
None
Arguments
Argument

Description

-set {ChanNum1 StripNum1


PinNum1}
{ChanNum2 StripNum2 PinNum2}

Select set, including the number of


channels, the number of strips and the
number of pins.
Valid value: positive integer.

Laker Tcl Reference Manual


K-2015.06

1429

Chapter 11: Matching Device Creator


lakerMchSelectAll

Examples
# Example 1
# Segment: 1
lakerMchSelect -set {2 1 0}
# Example 2
# Net: (6, 2, 4)
lakerMchSelect -set {2 0 0} {2 1 4} {0 0 0}

lakerMchSelectAll
The lakerMchSelectAll command selects all grid boxes in the matching
window pane.
Syntax
lakerMchSelectAll
Returns
None
Arguments
None
Examples
lakerMchRoute

See Also
Matching Device Creator: Edit > Select All

lakerMchSelEmpty
The lakerMchSelEmpty command selects empty grid boxes only.
Syntax
lakerMchSelEmpty
Returns
None

1430

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchSelPattern

Arguments
None
Examples
lakerMchSelEmpty

See Also
Matching Device Creator: Edit > Select Empty Grid Boxes

lakerMchSelPattern
The lakerMchSelPattern command chooses a pattern from the default
pattern list, optimized by Laker.
Syntax
lakerMchSelPattern [-param paramList]
Returns
None
Arguments
Argument

Description

-param paramList

Specify the parameter list.

Examples
lakerMchSelPattern -param {0 {0 my}}

See Also
Matching Device Creator: Pattern > Select

lakerMchSetDefaultRouteRule
The lakerMchSetDefaultRouteRule command define routing sets for the
Matching Device Router.

Laker Tcl Reference Manual


K-2015.06

1431

Chapter 11: Matching Device Creator


lakerMchSetDefaultRouteRule

Syntax
To use the default routing set if a user-defined set is not found or specified:
lakerMchSetDefaultRouteRule -set default -load [-useMBB 0|1]
[-useCross 0|1]
To load an existing routing set, which belongs to the current library:
lakerMchSetDefaultRouteRule -set [set_name] -load [-useMBB
0|1] [-useCross 0|1]
To add a new routing set by specifying routing set values and a set name:
lakerMchSetDefaultRouteRule -setting_type1 [value] setting_type2 [value] .... -set [set_name] -save [-useMBB
0|1] [-useCross 0|1]
To pass routing set values without specifying a set name (these values are
used temporarily until Laker is closed without saving):
lakerMchSetDefaultRouteRule -setting_type1 [value] setting_type2 [value] .... [-useMBB 0|1] [-useCross 0|1]
To use net-based rules:
lakerMchSetDefaultRouteRule -netrule {$net1name {$const1
$value} {$const2 $value} ... } {$net2name {$const1 $value}
{$const2 $value} ...}
To ignore nets with single connection:
lakerMchSetDefaultRouteRule -ignoreSingleConnNet 0|1
To specify the alignment of over-transistor wires:
lakerMchSetDefaultRouteRule -overTxAliType $value
To specify the preferred direction for layers:
lakerMchSetDefaultRouteRule -layerrule {$layer1 $value} ...
{$layerN $value}
To specify the S/D Via cross pattern:
lakerMchSetDefaultRouteRule -crossSDViaOn Pin|Channel
To create cross pattern paths as on-grid polygons:
lakerMchSetDefaultRouteRule -crossConvertToPolygon 0|1

1432

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchSetDefaultRouteRule

To specify the Backbone to Gate Spacing setting:


lakerMchSetDefaultRouteRule -crossUseB2GSpacing 0|1 crossB2GSpacing {B2G spacing value string}
To specify the Vertical Feedthrough setting:
lakerMchSetDefaultRouteRule -VFeedthrough 0|1
To specify the Extend Wire to Backbone Edge setting:
lakerMchSetDefaultRouteRule -extendWire 0|1
Returns
None
Arguments
Argument

Description

-crossB2GSpacing
{B2G spacing value string}

Specify the distance between horizontal


backbone wires and gates (OD).
Valid value: a constant or an expression.
If the value is zero or not specified (empty), the
value is a system-assigned value.

-crossConvertToPolygon 0|1

Valid values: Boolean values, 0 and 1


(default=0).
1: Convert cross pattern paths as on-grid
polygons.
0: No conversion, creating cross pattern paths
only.

-crossSDViaOn Pin|Channel

Specify the S/D Via cross pattern.


Valid values: Pin and Channel
(default=Channel).

-crossUseB2GSpacing 0|1

Valid values: Boolean values, 0 and 1


(default=0).
1: Enable the Backbone to Gate Spacing
setting.
0: Disable the Backbone to Gate Spacing
setting.

Laker Tcl Reference Manual


K-2015.06

1433

Chapter 11: Matching Device Creator


lakerMchSetDefaultRouteRule

Argument

Description

-extendWire 0|1

Valid values: Boolean values, 0 and 1


(default=0).
1: Enable the Extend Wire to Backbone Edge
setting.
0: Disable the Extend Wire to Backbone
Edge setting.

1434

-ignoreSingleConnNet 0|1

Valid values: Boolean values, 0 and 1


(default=0).
1: Ignore nets with single connection.
0: Include nets with single connection.

-layerrule {$layer1 $value} ...


{$layerN $value}

Preferred direction of routing layer.


Valid values: Orth, Hori, and Vert.
Orth: Specify the preferred layer direction to
orthogonal.
Hori: Specify the preferred layer direction to
horizontal.
Vert: Specify the preferred layer direction to
vertical.
The format of metal layer name $layer is
{$layer_name $purpose_name}. If the
purpose name is drawing, the
$purpose_name and the brackets can be
omitted.

-load

Load the default or the existing routing set.


This argument is only valid with -set.

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchSetDefaultRouteRule

Argument

Description

-netrule {$net1name
{$const1 $value}
{$const2 $value} ... }
{$net2name {$const1 $value}
{$const2 $value} ...}

The rules can be:

-overTxAliType $value

route decides whether to route a net (1) or


not (0). Default=1.

hbbLayer specifies the metal layer of


horizontal backbone of a particular net.
Default=None (auto).

bbWidth specifies the wire width of H/V


backbone of a particular net. Default=0
(auto).

brLayer specifies the metal layer of vertical


backbone and branch wire of a particular
net. Default=None (auto).

brWidth specifies the wire width of branch


wire of a particular net. Default=0 (auto).
Specify the metal layer in format:
{$layer_name $purpose_name}
If the purpose name is drawing or the layer
name is None (auto), the $purpose_name and
the brackets can be omitted.
Alignment type for over-transistor wirings.
Valid values: t, c, b, and s (default=c).

t aligns over transistor wirings to top side of


corresponding strip.
c aligns over-transistor wirings to the center
of corresponding strip.
b aligns over-transistor wirings to bottom
side of corresponding strip such as current
result.
s spreads over-transistor wirings to
corresponding strip.

-save

Save the current routing set to the laker.ro file.


This argument is only valid with -set.

-set [default | set_name]

Determine the routing set to be used.


default: Use default routing set if userdefined set is not found or specified.
set_name: Use user-defined routing set.
set_name can be any text string.

Laker Tcl Reference Manual


K-2015.06

1435

Chapter 11: Matching Device Creator


lakerMchSetDefaultRouteRule

Argument

Description

-setting_type1 [value]

Specify the routing set value.

-setting_type2 [value]

Specify the routing set value.

-useCross 0|1

Valid values: Boolean values, 0 and 1


(default=1).
1: Enable the Cross Pattern setting.
0: Disable the Cross Pattern setting.

-useMBB 0|1

Valid values: Boolean values, 0 and 1


(default=1).
1: Enable the Matched Backbone Pattern
setting (Junction Matched Backbone).
0: Disable the Matched Backbone Pattern
setting.

-VFeedthrough 0|1

Valid values: Boolean values, 0 and 1


(default=0).
1: Enable the Vertical Feedthrough setting.
0: Disable the Vertical Feedthrough setting.

Examples
# Example 1
# Allow Matched Backbone patterns (Junction Matched Backbone)
lakerMchSetDefaultRouteRule -useMBB 1
# Example 2
# Allow Cross patterns
lakerMchSetDefaultRouteRule -useCross 1
# Example 3
# Route net IN using MET1 horizontal backbone, backbone
# wire width is 0.28um, MET2 vertical backbone and branch wire
# and branch wire width is 0.28um
lakerMchSetDefaultRouteRule -netrule \
{IN {route 1} {hbbLayer MET1} {bbWidth 0.28} \
{brLayer MET2} {brWidth 0.28}}
# or write the command as follows:
lakerMchSetDefaultRouteRule -netrule \
{IN {route 1} {hbbLayer {MET1 drawing}} {bbWidth 0.28} \
{brLayer {MET2 drawing}} {brWidth 0.28}}

1436

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchSetRemNum

# Example 4
# Route net OUT using optimum horizontal backbone,
# backbone wire width is 0.28um
lakerMchSetDefaultRouteRule -netrule \
{OUT {route 1} {hbbLayer None} {bbWidth 0.28}}
# Example 5
# Route net IN using MET1 horizontal backbone with label purpose,
# backbone wire width is 0.28um
lakerMchSetDefaultRouteRule -netrule \
{IN {route 1} {hbbLayer {MET1 label}} {bbWidth 0.28}}
# Example 6
# Align all strip over-transistor wirings to center:
lakerMchSetDefaultRouteRule -overMosRouting 1 -overTxAliType c
# Example 7
# Align all strip over-transistor wirings to spread:
lakerMchSetDefaultRouteRule -overMosRouting 1 -overTxAliType s
# Example 8
# Align all strip over-transistor wirings to Top>Bottom repeated:
lakerMchSetDefaultRouteRule -overMosRouting 1 -overTxAliType tb
# Example 9
# Align all strip over-transistor wirings to
# Top>Center>Bottom repeated:
lakerMchSetDefaultRouteRule -overMosRouting 1 -overTxAliType tcb
# Example 10
# Set MET1 preferred direction to orthogonal:
lakerMchSetDefaultRouteRule -layerrule {MET1 Orth}
# the above line can also be written in another way:
lakerMchSetDefaultRouteRule -layerrule {{MET1 drawing} Orth}
# Example 11
# Set MET1 preferred direction to horizontal:
lakerMchSetDefaultRouteRule -layerrule {MET1 Hori}

See Also
Matching Device Creator: Router > Router Settings

lakerMchSetRemNum
The lakerMchSetRemNum command specifies the number of capacitor
remainders.

Laker Tcl Reference Manual


K-2015.06

1437

Chapter 11: Matching Device Creator


lakerMchSetTopology

Syntax
lakerMchSetRemNum -num remNo
Returns
None
Arguments
Argument

Description

-num remNo

Specify the number of remainders.


Valid value: an integer.

Examples
lakerMchSetRemNum -num 2

lakerMchSetTopology
The lakerMchSetTopology command specifies the topology status of the
selected device.
Syntax
lakerMchSetTopology -status status
Returns
None
Arguments
Argument

Description

-status status

Specify the topology status.

Examples
lakerMchSetTopology -status 2P1S

lakerMchSetUnitNum
The lakerMchSetUnitNum command specifies the number of capacitor
units.

1438

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchShareOD

Syntax
lakerMchSetUnitNum -num unitNo
Returns
None
Arguments
Argument

Description

-num unitNo

Specify the number of units.


Valid value: an integer.

Examples
lakerMchSetUnitNum -num 2

lakerMchShareOD
The lakerMchShareOD command enables or disables OD sharing for
transistors.
Syntax
lakerMchShareOD 0|1
Returns
None
Arguments
Argument

Description

0|1

Valid values: Boolean values, 0, and 1 (default=1).


1 : Enable the OD sharing of transistors.
0 : Disable the OD sharing of transistors.

Examples
lakerMchShareOD 1

See Also
Matching Device Creator: Cell > Share OD

Laker Tcl Reference Manual


K-2015.06

1439

Chapter 11: Matching Device Creator


lakerMchSize

lakerMchSize
The lakerMchSize command defines the pattern structure.
Syntax
lakerMchSize -row row -col col
Returns
None
Arguments
Argument

Description

-col col

Specify the number of columns.


Valid value: an integer.

-row row

Specify the number of rows.


Valid value: an integer.

Examples
lakerMchSize -row 1 -col 2

lakerMchSpace
The lakerMchSpace command defines the X-Spacing and Y-Spacing values.
Syntax
lakerMchSpace -XSpace XSpace -YSpace YSpace
Returns
None
Arguments

1440

Argument

Description

-XSpace XSpace

Specify the vertical spacing.


Valid value: a floating number.

-YSpace YSpace

Specify the horizontal spacing.


Valid value: a floating number.

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchSplit

Examples
lakerMchSpace -XSpace 1.0 -YSpace 1.0

lakerMchSplit
The lakerMchSplit command splits OD by the select set. The OD within the
select set is split. This command does not apply on the OD in a finger group.
Syntax
lakerMchSplit
Returns
None
Arguments
None
Examples
lakerMchSplit

See Also
Matching Device Creator: Edit > Split

lakerMchSwapSD
The lakerMchSwapSD command swaps the source/drain of the selected MOS
device, Tcl PCell, or PyCell. This command is only available for MOS devices,
Tcl PCells, or PyCells.
Syntax
lakerMchSwapSD
Returns
None
Arguments
None

Laker Tcl Reference Manual


K-2015.06

1441

Chapter 11: Matching Device Creator


lakerMchUndo

Examples
lakerMchSelect -pos (1.0)
lakerMchSwapSD

See Also
Matching Device Creator: Edit > Swap SD

lakerMchUndo
The lakerMchUndo command reverses the last action.
Syntax
lakerMchUndo
Returns
None
Arguments
None
Examples
lakerMchUndo

See Also
Matching Device Creator: Edit > Undo

lakerMchUnsetFingerGroup
The lakerMchUnsetFingerGroup command unsets finger groups by the
select set. If the select set is not a finger group, no action is taken. This is
enabled only when the selected devices list has a finger-factor.
Syntax
lakerMchUnsetFingerGroup
Returns
None

1442

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchViewLevelDec

Arguments
None
Examples
lakerMchUnsetFingerGroup

See Also
Matching Device Creator: Edit > Unset Finger Group

lakerMchViewLevelDec
The lakerMchViewLevelDec command decreases the view level of the
preview window pane by one.
Syntax
lakerMchViewLevelDec
Returns
None
Arguments
None
Examples
# Decrease on current view level
lakerMchViewLevelDec

See Also
Matching Device Creator: View > View Level-1

lakerMchViewLevelInc
The lakerMchViewLevelInc command increases the view level of the
preview window pane by one.
Syntax
lakerMchViewLevelInc

Laker Tcl Reference Manual


K-2015.06

1443

Chapter 11: Matching Device Creator


lakerMchXMirror

Returns
None
Arguments
None
Examples
# Example 1
# Increase on current view level
lakerMchViewLevelInc

See Also
Matching Device Creator: View > View Level+1

lakerMchXMirror
The lakerMchXMirror command makes a vertical mirrored reflection of the
selected pattern. This command is only available for instances, MCell
resistors, and MCell capacitors.
Syntax
lakerMchXMirror -pos (x1,y1) (x2,y2)
Returns
None
Arguments
Argument

Description

-pos (x1,y1) (x2,y2)

Specify the position of the pattern.

Examples
# Example 1
lakerMchXMirror -pos (0,0) (1,2)
# Results:
# A A A
=> {A my} A A
# A A A
A A {A my}

See Also
Matching Device Creator: Edit > Mirror X

1444

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerMchYMirror

lakerMchYMirror
The lakerMchYMirror command makes a horizontal mirrored reflection of
the selected pattern. This command is only available for instances.
Syntax
lakerMchYMirror -pos (x1,y1) (x2,y2)
Returns
None
Arguments
Argument

Description

-pos (x1,y1) (x2,y2)

Specify the position of the pattern.

Examples
# Example 1
lakerMchYMirror -pos (0,0) (0,2)
# Results:
# A A A => {A my} A {A my}

See Also
Matching Device Creator: Edit > Mirror Y

lakerMchZoomAll
The lakerMchZoomAll command fits all items into the matching window
pane (normal view) or the preview window pane (preview mode) to check the
edited results in an overall view.
Syntax
lakerMchZoomAll
Returns
None
Arguments
None

Laker Tcl Reference Manual


K-2015.06

1445

Chapter 11: Matching Device Creator


lakerMchZoomIn

Examples
lakerMchZoomAll

See Also
Matching Device Creator: View > Zoom All

lakerMchZoomIn
The lakerMchZoomIn command magnifies the content of the matching
window pane (normal view) or the preview window pane (preview mode).
Syntax
lakerMchZoomIn
Returns
None
Arguments
None
Examples
lakerMchZoomIn

See Also
Matching Device Creator: View > Zoom In

lakerMchZoomOut
The lakerMchZoomOut command manipulates the content of the matching
window pane (normal view) or the preview window pane (preview mode) at a
reduced size.
Syntax
lakerMchZoomOut
Returns
None

1446

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerQueryMatch

Arguments
None
Examples
lakerMchZoomOut

See Also
Matching Device Creator: View > Zoom Out

lakerQueryMatch
The lakerQueryMatch command queries selected logic devices and their
related information.
Syntax
Syntax 1:
lakerQueryMatch -getSelected logic
Syntax 2:
lakerQueryMatch -device deviceName -param paramName
Syntax 3:
lakerQueryMatch -device deviceName -connection portName
Syntax 4:
lakerQueryMatch -device deviceName -attr attrName
Syntax 5:
lakerQueryMatch -device deviceName -constParam paramName
Syntax 6:
lakerQueryMatch -constraint constName -attr attrName
Syntax 7:
lakerQueryMatch -patternName patternName
Returns
Syntax 1 returns the device name list if successful.

Laker Tcl Reference Manual


K-2015.06

1447

Chapter 11: Matching Device Creator


lakerQueryMatch

Syntax 2 returns the parameter value of the specified device if successful;


otherwise, returns an empty string.
Syntax 3 returns the net name of the specified device if successful; otherwise,
returns an empty string.
Syntax 4 returns the attributes of the specified device if successful.
Syntax 5 returns the following information if successful; otherwise returns an
empty string or 0:

1448

When -constParam objList is specified, returns all instance names in


the same matching group. For example, M1 or {M1 M2}.

When -constParam inputMethod is specified, returns a string as


patternName or quickFormat.

When -constParam patternName is specified, returns a string. For


example: AB.

When -constParam quickFormat is specified, returns a string. For


example: AB_BA.

When -constParam isOptimizeODSharing is specified, returns 1 if


successful; otherwise returns 0.

When -constParam isSetBdrySpacing is specified, returns 1 if


successful; otherwise returns 0.

When -constParam xSpacing is specified, returns a floating number.

When -constParam ySpacing is specified, returns a floating number.

When -constParam isSetRepeatedNum is specified, returns 1 if


successful; otherwise returns 0.

When -constParam repeatedRowNum is specified, returns an integer.

When -constParam repeatedColNum is specified, returns an integer.

When -constParam isSetGenGuardRing is specified, returns 1 if


successful; otherwise returns 0.

When -constParam isUseDefGuardRingNum is specified, returns 1 if


successful; otherwise returns 0.

When -constParam guardRingNum is specified, returns an integer.

When -constParam isSetPeripheralDummy is specified, returns 1 if


successful; otherwise returns 0.

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerQueryMatch

When -constParam peripheralDummy is specified, returns a string as


ringNum or sides.

When -constParam peripheralDummyRingNum is specified, returns


an integer.

When -constParam peripheralDummyLeft is specified, returns an


integer.

When -constParam peripheralDummyRight is specified, returns an


integer.

When -constParam peripheralDummyTop is specified, returns an


integer.

When -constParam peripheralDummyBottom is specified, returns an


integer.

When -constParam peripheralDummyODSharing is specified, returns


1 if successful; otherwise returns 0.

When -constParam peripheralDummyGateLength is specified,


returns a string as adjMin or adjMax.

When -constParam peripheralDummyGateWidth is specified, returns


a string as adjMin or adjMax.

Syntax 6 returns the following information if successful; otherwise returns an


empty string or 0:

When -attr objList is specified, returns all instance names in the same
matching group. For example, M1 or {M1 M2}.

When -attr inputMethod is specified, returns a string as


patternName or quickFormat.

When -attr patternName is specified, returns a string. For example: AB.

When -attr quickFormat is specified, returns a string. For example:


AB_BA.

When -attr isOptimizeODSharing is specified, returns 1 if successful;


otherwise returns 0.

When -attr isSetBdrySpacing is specified, returns 1 if successful;


otherwise returns 0.

When -attr xSpacing is specified, returns a floating number.

When -attr ySpacing is specified, returns a floating number.

Laker Tcl Reference Manual


K-2015.06

1449

Chapter 11: Matching Device Creator


lakerQueryMatch

When -attr isSetRepeatedNum is specified, returns 1 if successful;


otherwise returns 0.

When -attr repeatedRowNum is specified, returns an integer.

When -attr repeatedColNum is specified, returns an integer.

When -attr isSetGenGuardRing is specified, returns 1 if successful;


otherwise returns 0.

When -attr isUseDefGuardRingNum is specified, returns 1 if


successful; otherwise returns 0.

When -attr guardRingNum is specified, returns an integer.

When -attr isSetPeripheralDummy is specified, returns 1 if


successful; otherwise returns 0.

When -attr peripheralDummy is specified, returns a string as


ringNum or sides.

When -attr peripheralDummyRingNum is specified, returns an integer.

When -attr peripheralDummyLeft is specified, returns an integer.

When -attr peripheralDummyRight is specified, returns an integer.

When -attr peripheralDummyTop is specified, returns an integer.

When -attr peripheralDummyBottom is specified, returns an integer.

When -attr peripheralDummyODSharing is specified, returns 1 if


successful; otherwise returns 0.

When -attr peripheralDummyGateLength is specified, returns a


string as adjMin or adjMax.

When -attr peripheralDummyGateWidth is specified, returns a string


as adjMin or adjMax.

Syntax 7 returns1if successful; otherwise, returns 0.


Arguments
Argument

Description

-attr attrName

Specify the attribute name for Syntax 4.


Valid values: matchingConstraint and isFinFET.
When -attr matchingConstraint is specified,
returns the constraint name; otherwise, returns an
empty string.

1450

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerQueryMatch

Argument

Description

-attr attrName

Specify the attribute name to be queried by the


specified constraint. This is used for Syntax 6.
Valid values: objList, inputMethod,
patternName, quickFormat,
isOptimizeODSharing, isSetBdrySpacing,
xSpacing, ySpacing, isSetRepeatedNum,
repeatedRowNum, repeatedColNum,
isSetGenGuardRing, isUseDefGuardRingNum,
guardRingNum, isSetPeripheralDummy,
peripheralDummyMode,
peripheralDummyRingNum,
peripheralDummyLeft,
peripheralDummyRight, peripheralDummyTop,
peripheralDummyBottom,
peripheralDummyODSharing,
peripheralDummyGateLength, and
peripheralDummyGateWidth.

-connection portName

Specify the port name of a net.


Valid values: D, G, S, B, PLUS, MINUS, and SUB.
D, G, S, and B are port names for MOS devices.
PLUS, MINUS, and SUB are port names for resistors.

-constParam paramName

Specify the parameter name for which to query the


constraint value.
Valid values: objList, inputMethod,
patternName, quickFormat,
isOptimizeODSharing, isSetBdrySpacing,
xSpacing, ySpacing, isSetRepeatedNum,
repeatedRowNum, repeatedColNum,
isSetGenGuardRing, isUseDefGuardRingNum,
guardRingNum, isSetPeripheralDummy,
peripheralDummyMode,
peripheralDummyRingNum,
peripheralDummyLeft,
peripheralDummyRight, peripheralDummyTop,
peripheralDummyBottom,
peripheralDummyODSharing,
peripheralDummyGateLength, and
peripheralDummyGateWidth.

Laker Tcl Reference Manual


K-2015.06

1451

Chapter 11: Matching Device Creator


lakerQueryMatch

Argument

Description

-device deviceName

Specify the logic name of the specified device.

-getSelected logic

Based on the selected set of the Design Browser


pane.

-param paramName

Specify the parameter name.


Valid values: mapLib, mapCell, mapView, R, W, L,
NF, NFIN, NS, and M.
mapLib, mapCell, and mapView are common
parameters.
L, W, NF, NFIN, NS, and M are parameters for MOS
devices.
R, L, W, NS, and M are parameters for resistors.

-pattern patternName

1452

Specify the pattern name.

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


lakerQueryMatch

Examples
# Example 1
# Refer to Figure 2 for the selected device in Design Browser
lakerQueryMatch -getSelected logic
# Return {m1 m2}
# Example 2
# Refer to Figure 2 for the selected device in Design Browser
# Return 5.0
lakerQueryMatch -device m1 -param W
# Example 3
# Refer to Figure 2 for the selected device in Design Browser
# Return GND
lakerQueryMatch -device m1 -connection B
# Example 4
# Refer to Figure 2 for the selected device in Design Browser
# Return D_MH1
lakerQueryMatch -device m1 -attr matchingConstraint
# Return FALSE
lakerQueryMatch -device m1 -attr isFinFET
# Example 5
# Refer to Figure 2 for the selected device in Design Browser
# Return {m1 m2}
lakerQueryMatch -device m1 -constParam objList
# Example 6
# Refer to Figure 2 for the selected device in Design Browser
# Return {m1 m2}
lakerQueryMatch -constraint D_MH1 -constParam objList
# Example 7
# Refer to Figure 2 for the selected device in Design Browser
# Return 1
lakerQueryMatch -patternName AB

See Also

Figure 2

Selected Device in the Design Browser pane

Laker Tcl Reference Manual


K-2015.06

1453

Chapter 11: Matching Device Creator


lakerSchMatch

lakerSchMatch
The lakerSchMatch command makes the arrangement of symmetrical
patterns for analog circuits, according to the selected transistors and instances
in the Design Browser pane.
This command is supported for transistors and instances only due to backward
compatibility issues. Starting from Laker 3.1v3, this command invokes the
Matching Device Creator window only and it is logged without any arguments.
Refer to the Matching Device Creator description in Laker Command
Reference Manual for more details of matching patterns.
Syntax
lakerSchMatch -XSpace xSpace -YSpace ySpace -repeatRow
repeatRow -repeatCol repeatCol -param matchPattern [ODSharing 0|1] [-inst instName1]
Returns
None
Arguments

1454

Argument

Description

-inst instName1

Realize transistors or instances directly.

-ODSharing 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Allow OD sharing at realization if possible.
0 : Do not allow OD sharing even though it is possible.

-param matchPattern

Specify a matching pattern (for example: ABBA is {0 1


1 0}) with user-defined orientation, mirror x or mirror
y values for each element.
Valid values: mx, my, and mxy.

-repeatCol repeatCol

Specify the number of columns to be repeated.


Valid value: a positive integer.

-repeatRow repeatRow

Specify the number of rows to be repeated.


Valid value: a positive integer.

-XSpace xSpace

Specify the horizontal spacing between thin oxide


layers.
Valid value: a positive floating number.

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


mchGet

Argument

Description

-YSpace ySpace

Specify the vertical spacing between thin oxide layers.


Valid value: a positive floating number.

Examples
# Example 1
lakerSchMatch -XSpace 1.0 -YSpace 2.0 -repeatRow 1 -repeatCol 1 \
-param {0 {0 my} 0 {0 my}}
# Example 2
lakerSchMatch -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
lakerSchMatch -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
lakerMatch
Matching Device Creator
Layout Window: SDL > Match

mchGet
The mchGet command queries placement configurations and parameters of
the created layout for the post processing procedure.
Syntax
Syntax 1:
mchGet -cvId cellviewId -size row|col
Syntax 2:
mchGet -cvId cellviewId -attr id [[-pos {{nRow1 nCol1} ...
{nRown nColn}}] | [-type type]]
Syntax 3:
mchGet -obj instId -attr attribute

Laker Tcl Reference Manual


K-2015.06

1455

Chapter 11: Matching Device Creator


mchGet

Syntax 4:
mchGet -obj instId -attr logic|layout -param paramName
Syntax 5:
mchGet -obj instId -attr logic|layout -connection portName
Syntax 6:
mchGet -obj instId -attr logic|layout -name
Syntax 7:
mchGet -obj instId -param pos|col|row
Returns
Syntax 1 returns the final row/column size if successful.
Syntax 2 returns the instance Id and instance Id list if successful.
Syntax 3 returns 1 if successful; otherwise, returns 0.
Syntax 4 returns the parameter value if successful.
Syntax 5 returns the net name if successful.
Syntax 6 returns the logic or layout instance name if successful.
Syntax 7 returns the layout position from the given layout instance if successful.
Arguments
Argument

Description

-attr attribute

Specify the target attribute for Syntax 3.


Valid values: isPeriDummy, isDummy, and
isDevice.

-attr id [[-pos {{nRow1 nCol1} Specify to get the instance Id or instance Id list in the
... {nRown nColn}}] |
returned value by position or type for Syntax 2.
[-type type]]
When -pos is specified, get the target by position with
the given columns and rows {{nRow1 nCol1} ...
{nRown nColn}}.
When -type is specified, get the target by type.
Valid values: periDummy, dummy, and device.
-attr logic|layout

Specify the source of target attributes for Syntax 3, 4,


5, and 6.
Valid values: logic and layout.

1456

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


mchGet

Argument

Description

-connection portName

Specify the port name of a net.


The port name for MOS devices can be D, G, S, or B.
The port name for resistors can be PLUS, MINUS, or
SUB.

-cvId cellviewId

Specify the current working cell view Id.

-name

Specify the instance name.

-obj instId

Specify the target layout instance.

-param paramName

Specify the parameter name.


When -attr logic is specified, the parameter for
MOS devices can be L, W, NF, NFIN, or M; and the
parameter for resistors can be R, W, L, NS, or M.
When -attr layout is specified, the parameter for
MOS devices can be L, W, NF, or NFIN; and the
parameter for resistors can be R, W, L, or NS.

-param pos|col|row

Specify the layout position in the temporary cell view,


from left to right, bottom to top.
When -param pos is specified, get the number of
columns and rows in the temporary cell view. For
example: {x y}, where x represents the column and
y represents the row.
When -param col is specified, get the number of
columns in the temporary cell view.
When -param row is specified, get the number of
rows in the temporary cell view.

-size row|col

Laker Tcl Reference Manual


K-2015.06

Specify the target, whether it is a row or column.


Valid values: row and col.

1457

Chapter 11: Matching Device Creator


mchGet

Examples
# Example 1
mchGet -cvId 69F040c -size row
# Return 4
# Example 2
mchGet -cvId 69F040c -attr id
# Return all inst id {69e540c 69e542c 69e544c}
mchGet -cvId 69F040c -attr id -pos {{0 0} {0 1} {0 2} {1000 1000}}
# Return inst id {69e540c 69e540c 69e542c {}}
# The {0 0} and {0 1} are the same inst id (its NF=2)
mchGet -cvId 69F040c -attr id -type dummy
# Return inst id {69e542c 69e544c} from left to right and
# then top to bottom
mchGet -cvId 69F040c -attr id -type device
# Return inst id 69e540c
mchGet -cvId 69F040c -attr id -type periDummy
# Return {} here. (There is not any peripheral dummy.)
# Refer to Figure 3 for reference
# Example 3
mchGet -obj 69e540c
# Return 0
mchGet -obj 69e540c
# Return 1
# Example 4
mchGet -obj 69e540c
# Return 3.0
mchGet -obj 69e540c
# Return 1.5
# Example 5
mchGet -obj 69e540c
# Return N_3
mchGet -obj 69e540c
# Return N_1
# Example 6
mchGet -obj 69e540c
# Return m1::0
mchGet -obj 69e540c
# Return m1
# Example 7
mchGet -obj
# Return {1
mchGet -obj
# Return 1
mchGet -obj
# Return 2

1458

-attr isDummy
-attr isDevice

-attr logic -param W


-attr layout -param W

-attr layout -connection S


-attr logic -connection S

-attr logic -name


-attr logic -name

69e540c
2}
69e540c

-param pos

69e540c

-param row

-param col

Laker Tcl Reference Manual


K-2015.06

Chapter 11: Matching Device Creator


mchGet

See Also

Figure 3

Figure for Example 2

Laker Tcl Reference Manual


K-2015.06

1459

Chapter 11: Matching Device Creator


mchGet

1460

Laker Tcl Reference Manual


K-2015.06

12
12

Stick Diagram Compiler

This chapter describes the definable Tcl commands to access the Graphical
User Interface (GUI) which applied within the Stick Diagram Compiler window
(invoked by the Create command in the Design Browser pane or by the SDL >
To Stick Diagram command in the Layout window).

The Tcl commands are explained in the following sections. Tcl commands and
arguments are sorted alphabetically.

lakerSkAddDummy

lakerSkAlign

lakerSkAreaZoom

lakerSkAutoDummy

lakerSkAutoOptimizeOD

lakerSkClearRuler

lakerSkClose

lakerSkDelete

lakerSkDeleteDummy

lakerSkDeselectAll

lakerSkDisorderAll

lakerSkDistance

lakerSkDrag

lakerSkDrop

lakerSkFold

lakerSkFuse

Laker Tcl Reference Manual


K-2015.06

1461

Chapter 12: Stick Diagram Compiler


lakerSkAddDummy

lakerSkLastView

lakerSkMergeGate

lakerSkMove

lakerSkNormal

lakerSkOptimizeOD

lakerSkPanDown

lakerSkPanLeft

lakerSkPanRight

lakerSkPanUp

lakerSkPreview

lakerSkPreference

lakerSkRealize

lakerSkRechain

lakerSkRedo

lakerSkRedraw

lakerSkSelRealize

lakerSkSplit

lakerSkSwap

lakerSkUnalignGate

lakerSkUndo

lakerSkUnsetFingerGroup

lakerSkZoomAll

lakerSkZoomIn

lakerSkZoomOut

lakerSkAddDummy
The lakerSkAddDummy command inserts dummy gates on the selected OD
area.

1462

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkAddDummy

Syntax
Real size mode:
lakerSkAddDummy -odSharing 0|1 -lengthType lengthType
-widthType widthType
Symbol mode:
lakerSkAddDummy -obj modelName packIdx -glue glueNumber
-odSharing 0|1 -lengthType lengthType -widthType
widthType
Returns
None
Arguments
Argument

Description

-glue glueNumber

Specify the glue number of the gate to be added.


Valid value: an integer, greater than 0.

-lengthType lengthType

Specify the length type for dummy gates.


Valid values: AdjacentNarrower,
AdjacentWider, MinChannelLength, and
{UserDefined lengthValue}, where
{UserDefined lengthValue} specifies the
user-defined length value, and it must be a floating
number, greater than 0. The default is initiated from
the MOS tab in the Preferences form of the Home
Page.

-obj modelName packIdx

Specify the master name of transistor packs and a


pack number:

-odSharing 0|1

Laker Tcl Reference Manual


K-2015.06

modelName: Specify the master name of PMOS


or NMOS.
packIdx: Specify the pack number with an
integer, greater than or equal to 0.

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the OD Sharing option.
0 : Disable the OD Sharing option.

1463

Chapter 12: Stick Diagram Compiler


lakerSkAlign

Argument

Description

-widthType widthType

Specify the width type for dummy gates.


Valid values: AdjacentNarrower,
AdjacentWider, MinChannelWidth, and
{UserDefined widthValue}, where
{UserDefined widthValue} specifies the userdefined width value, and it must be a floating
number, greater than 0. The default is
AdjacentWider.

Examples
# Example 1
# Real size mode
lakerSkAddDummy -odSharing 1 -lengthType AdjacentWider \
-widthType MinChannelWidth
# Example 2
# Symbol mode
lakerSkAddDummy -obj NMOS_3.3V 0 -glue 3 -odSharing 0 \
-lengthType {UserDefined 0.5} -widthType {UserDefined 1.2}

See Also
Stick Diagram Compiler: Edit > Add Dummy

lakerSkAlign
The lakerSkAlign command aligns each specified gate to a reference gate
and builds the alignment relationship between the specified gate and reference
gate.
Syntax
lakerSkAlign [-mode mode]
Returns
None

1464

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkAreaZoom

Arguments
Argument

Description

-mode mode

Specify the select mode for the alignment.


Valid values: init, start, end, and select.

init : Specify the mode for initializing the Align feature.


start : Specify the mode for selecting the aligned gate.
end : Specify the mode for selecting the referenced
gate.
select : Specify the mode for selecting transistors to
move with the aligned gate.

Examples
#
#
#
#

Align gate in (0.331, 21.005) to gate in (10.010,11.006).


During this alignment, Laker also moves transistors in
(15.001,21.956) and keeps the relative distance with aligned
transistors

lakerSkAlign -init
lakerSkChgSelObj -reset -selType GateObject
lakerSkPreSel -point (0.331, 21.005) -traversedist 0.396
lakerSkAlign
-mode start
lakerSkChgSelObj -reset -selType PackObject
lakerSkPreSel -point (15.001,21.956) -traversedist 0.396
lakerSkIncSel
lakerSkAlign -mode select
lakerSkChgSelObj -reset -selType GateObject
lakerSkPreSel -point (10.010,11.006) -traversedist 0.396
lakerSkAlign -mode end

See Also
Stick Diagram Compiler: Edit > Align Gates

lakerSkAreaZoom
The lakerSkAreaZoom command zooms in the viewable area by the
specified region.

Laker Tcl Reference Manual


K-2015.06

1465

Chapter 12: Stick Diagram Compiler


lakerSkAutoDummy

Syntax
lakerSkAreaZoom -point (x1,y1) (x2,y2)
Returns
None
Arguments
Argument

Description

-point (x1,y1) (x2,y2)

(x1,y1) specifies the lower left point of zoomIn area


while (x2,y2) specifies the upper right point.

Examples
lakerSkAreaZoom -point (100,100) (200,200)

lakerSkAutoDummy
The lakerSkAutoDummy command adds dummy gates on the selected pack.
Syntax
Real size mode:
lakerSkAutoDummy -odSharing 0|1 -lengthType lengthType
-widthType widthType -gateNumbers numberSingle
numberMulti numberInner -innerTolerance toleranceValue
Symbol mode:
lakerSkAutoDummy -obj modelName packIdx -odSharing shareOD
-lengthType lengthType -widthType widthType -gateNumbers
numberSingle numberMulti numberInner -innerTolerance
toleranceValue
Returns
None

1466

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkAutoDummy

Arguments
Argument

Description

-gateNumbers
Specify the number of dummy gates with the
numberSingle numberMulti following values:
numberInner

numberSingle: Used for transistors with one


normal gate.

numberMulti: Used for transistors with multiple


normal gates.

numberInner: Used for transistors where the


difference in gate width (between two adjacent
logic gates) exceeds the tolerance value.
Valid value: an integer, greater than or equal to 0.
The default is initiated from the MOS tab in the
Preferences form of the Home Page.
-innerTolerance
toleranceValue

Specify a threshold value (in microns) for dummy


gates. When the width difference of two adjacent
logic gates exceeds the tolerance value, dummy
gates are added between the two adjacent gates.
Valid value: a floating number, greater than or equal
to 0.0. The default is initiated from the MOS tab in
the Preferences form of the Home Page.

-lengthType lengthType

Specify the length type for dummy gates.


Valid values: AdjacentNarrower,
AdjacentWider, MinChannelLength, and
{UserDefined lengthValue}, where
{UserDefined lengthValue} specifies the
user-defined length value, and it must be a floating
number, greater than 0. The default is initiated from
the MOS tab in the Preferences form of the Home
Page.

-obj modelName packIdx

Specify the master name of transistor packs and a


pack number:

Laker Tcl Reference Manual


K-2015.06

modelName: Specify the master name of PMOS


or NMOS.
packIdx: Specify the pack number with an
integer, greater than or equal to 0.

1467

Chapter 12: Stick Diagram Compiler


lakerSkAutoOptimizeOD

Argument

Description

-odSharing 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the OD Sharing option.
0 : Disable the OD Sharing option.

-widthType widthType

Specify the width type for dummy gates.


Valid values: AdjacentNarrower,
AdjacentWider, MinChannelWidth, and
{UserDefined widthValue}, where
{UserDefined widthValue} specifies the userdefined width value, and it must be a floating
number, greater than 0. The default is
AdjacentWider.

Examples
# Example 1
# Real size mode
lakerSkAutoDummy -odSharing 1 -lengthType {UserDefined 1.0} \
-widthType AdjacentNarrower -gateNumbers 1 2 1 \
-innerTolerance 0.0
# Example 2
# Symbol mode
lakerSkAutoDummy -obj pmos 0 -odSharing 0 \
-lengthType AdjacentWider -widthType MinChannelWidth \
-gateNumbers 2 1 0 -innerTolerance 0.5

See Also
Stick Diagram Compiler: Edit > Auto Dummy

lakerSkAutoOptimizeOD
The lakerSkAutoOptimizeOD command enables or disables the Auto
Optimize OD command.
Syntax
lakerSkAutoOptimizeOD -mode 0|1
Returns
None

1468

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkClearRuler

Arguments
Argument

Description

-mode 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Auto Optimize OD command.
0 : Disable the Auto Optimize OD command.

Examples
# Example 1
# Optimize OD automatically when the alignment relationship
# of selected transistors is removed
lakerSkAutoOptimizeOD -mode 1
# Example 2
# Do not optimize OD automatically when the alignment relationship
# of selected transistors is removed
lakerSkAutoOptimizeOD -mode 0

See Also
Stick Diagram Compiler: Options > Auto Optimize OD

lakerSkClearRuler
The lakerSkClearRuler command clears all rulers in the preview window
pane.
Syntax
lakerSkClearRuler
Returns
None
Examples
# clear all rulers
lakerSkClearRuler

See Also
Stick Diagram Compiler: Query > Clear Ruler

Laker Tcl Reference Manual


K-2015.06

1469

Chapter 12: Stick Diagram Compiler


lakerSkClose

lakerSkClose
The lakerSkClose command closes the active Stick Diagram Compiler
window.
Syntax
lakerSkClose
Returns
None
Examples
lakerSkClose

See Also
Stick Diagram Compiler: Cell > Close

lakerSkDelete
The lakerSkDelete command deletes a pack.
Syntax
Real size mode:
lakerSkDelete
Symbol mode:
lakerSkDelete -obj modelName packIdx [-glue glueNumber]
Returns
None
Arguments

1470

Argument

Description

-glue glueNumber

Specify the glue number of the gate to be deleted. If


not specified, the whole pack is deleted.
Valid value: an integer, greater than 0.

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkDeleteDummy

Argument

Description

-obj modelName packIdx Specify the master name of transistor packs and a
pack number:

modelName: Specify the master name of PMOS or


NMOS.
packIdx: Specify the pack number with an
integer, greater than or equal to 0.

Examples
# Example 1
# Delete a pack in Real size mode
lakerSkDelete
# Example 2
# Delete a pack in Symbol mode
lakerSkDelete -obj NMOS_3.3V 0 -glue 2

See Also
Stick Diagram Compiler: Edit > Delete

lakerSkDeleteDummy
The lakerSkDeleteDummy command deletes a selected dummy gate or all
dummy gates in the selected transistor packs.
Syntax
Real size mode:
lakerSkDeleteDummy
Symbol mode:
lakerSkDeleteDummy -obj modelName packIdx [-glue glueNumber]
Returns
None

Laker Tcl Reference Manual


K-2015.06

1471

Chapter 12: Stick Diagram Compiler


lakerSkDeselectAll

Arguments
Argument

Description

-glue glueNumber

Specify the glue number of the gate to be deleted. If


not specified, the whole pack is deleted.
Valid value: an integer, greater than 0.

-obj modelName packIdx Specify the master name of transistor packs and a
pack number:

modelName: Specify the master name of PMOS or


NMOS.
packIdx: Specify the pack number with an
integer, greater than or equal to 0.

Examples
# Example 1
# Delete dummy gates in Real size mode
lakerSkDeleteDummy
# Example 2
# Delete dummy gates in Symbol mode
lakerSkDeleteDummy -obj NMOS_3.3V 0 -glue 2

See Also
Stick Diagram Compiler: Edit > Delete Dummy

lakerSkDeselectAll
The lakerSkDeselectAll command deselects all selected objects.
Syntax
lakerSkDeselectAll
Returns
None
Examples
lakerSkDeselectAll

See Also
Stick Diagram Compiler: Edit > Deselect All

1472

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkDisorderAll

lakerSkDisorderAll
The lakerSkDisorderAll command unalign all aligned transistors.
Syntax
lakerSkDisorderAll
Returns
None
Examples
lakerSkDisorderAll

See Also
Stick Diagram Compiler: Edit > Unalign All Gates

lakerSkDistance
The lakerSkDistance command creates a minimum distance ruler in the
preview window pane.
Syntax
lakerSkDistance -point (x1,y1)(x2,y2) [-file filename]
Returns
None
Arguments
Argument

Description

-file filename

Dump the created ruler tag information to a file with the


following format: (xS1, yS1) (xE1,yE1) (xS2,
yS2) (xE2,yE2) ... (xSn, ySn) (xEn,yEn),
where (xS1, yS1) (xE1,yE1) corresponds to two
points of the tag ruler.
The tag ruler data is sorted by the X coordinate of the
head point first then the Y coordinate.
If it is a vertical tag ruler, the head point is the higher
point. If it is an horizontal tag ruler, the head point is the
left point.

Laker Tcl Reference Manual


K-2015.06

1473

Chapter 12: Stick Diagram Compiler


lakerSkDrag

Argument

Description

-point (x1, y1) (x2, y2)

(x1, y1) specifies the first point of the ruler while


(x2,y2) specifies the second point.

Examples
lakerSkDistance -point (100, 100) (200,200)

See Also
Stick Diagram Compiler: Query > Distance

lakerSkDrag
The lakerSkDrag command drags the selected objects from the Stick
Diagram Compiler window to the Layout window pane.
Syntax
lakerSkDrag
Returns
None
Examples
# Select object in the stick diagram compiler, then drag it to
the layout window
lakerSkDrag
# Set active window to the layout window pane
lakerSetActiveWnd Wnd1
lakerDsgDrop

lakerSkDrop
The lakerSkDrop command drops the dragged data from the Design
Browser pane to the Stick Diagram Compiler window.
Syntax
lakerSkDrop

1474

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkFold

Returns
None
Examples
# Select an object in the Design Browser pane,
# then drag it to the Layout window pane, the Stick Diagram
# Compiler window appears automatically
lakerSchBroDrag
lakerSkDrop

lakerSkFold
The lakerSkFold command multiplies a transistor into a number of
transistors.
Syntax
lakerSkFold -obj typeName packNo -glueNo glueNo [-foldNo
foldNo | -maxWidth maxWidth | -maxFin maxFin]
Returns
None
Arguments
Argument

Description

-foldNo foldNo

Specify the number of the folding counters.

-glueNo glueNo

Specify a glue number.

-maxFin maxFin

Specify the maximum number of fins for FinFET MOS


devices.

-maxWidth maxWidth

Specify the maximum width for non-FinFET MOS


devices.

-obj typeName packNo

Specify a transistor type name and a pack number.

Examples
# Fold the 1st transistor of the 3rd pack into two transistors
lakerSkFold -obj pmos 3 -glueNo 1 -foldNo 2

See Also
Stick Diagram Compiler: Edit > Fold
Laker Tcl Reference Manual
K-2015.06

1475

Chapter 12: Stick Diagram Compiler


lakerSkFuse

lakerSkFuse
The lakerSkFuse command joins two transistor packs together.
Syntax
lakerSkFuse -mode mode -point selectObjPos -traversedist
traverseDist
Returns
None
Arguments
Argument

Description

-mode mode

Specify the selection mode.

start : the mode for selecting first object.


end : the mode for selecting second object.

-point selectObjPos

Specify the position of the merged outer glue block.

-traversedist traverseDist

Specify the traverse distance for the selector.

Examples
# join the glue block in position (6.809,29.414) and (7.067,29.414)
# together to become one pack. Traverse Distance is 0.299.
lakerSkFuse -mode start -point (6.809,29.414) -traversedist 0.299
lakerSkFuse -mode end -point (7.067,29.414) -traversedist 0.299

See Also
Stick Diagram Compiler: Edit > Merge

lakerSkLastView
The lakerSkLastView command switches the current display to the last
view.
Syntax
lakerSkLastView

1476

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkMergeGate

Returns
None
Examples
lakerSkLastView

See Also
Stick Diagram Compiler: View > Last View

lakerSkMergeGate
The lakerSkMergeGate command merges the selected gate into the target
merged gate in the same transistor.
Syntax
lakerSkMergeGate -obj mos_type index -glueNo num1 num2
-optimize 0|1
Returns
None
Arguments
Argument

Description

-glueNo num1 num2

Select gate num1 to merge with gate num2, delete gate


num2.
Valid value: an integer.

-obj mos_type index

Select the MOS pack index in selected strip pmos or


nmos.

-optimize 0|1

Laker Tcl Reference Manual


K-2015.06

mos_type: The transistor type can be pmos or


nmos.
index: an integer, starting from 0.

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 the source/drain only if the transistor, which
contains only one gate and no gate order change,
needs to be reversed.

1477

Chapter 12: Stick Diagram Compiler


lakerSkMove

Examples
lakerSkMergeGate -obj pmos 0 -glueNo 2 4 -optimize 1

See Also
Stick Diagram Compiler: Edit > Merge Gates

lakerSkMove
The lakerSkMove command moves a transistor pack towards another.
Syntax
lakerSkMove -obj typeName fromPakcNo toPackNo [-glueNo
glueNo]
Returns
None
Arguments
Argument

Description

-obj typeName
fromPakcNo toPackNo

Specify a transistor type name, a pack number of the


pack to be moved, and a pack number of another
pack (destination).

-glueNo glueNo

Specify a glue number of the transistor to insert the


moved pack.

Examples
# Example 1
# Move the 1st pack of pmos after the 4th pack
lakerSkMove -obj pmos 1 4

See Also
Stick Diagram Compiler: Edit > Move

lakerSkNormal
The lakerSkNormal command changes the display content of the Stick
Diagram Compiler window to the normal mode.
1478

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkOptimizeOD

Syntax
lakerSkNormal
Returns
None
Examples
lakerSkNormal

See Also
Stick Diagram Compiler: View > Normal

lakerSkOptimizeOD
The lakerSkOptimizeOD command optimizes a single OD region or all OD
regions of the selected transistors.
Syntax
lakerSkOptimizeOD
Returns
None
Examples
# Example 1
# Select a transistor pack before invoking the command
lakerSkChgSelObj -reset -selType ActiveObject
lakerSkPreSel -point (4.861,28.617) -traversedist 0.396
lakerSkSingleSel
lakerSkOptimizeOD
# Example 2
# Select a transistor pack after invoking the command
lakerSkChgSelObj -reset -selType PackObject
lakerSkAreaSel -point (-16.768,10.345) (2.92,16.933)
lakerSkOptimizeOD

See Also
Stick Diagram Compiler: Edit > Optimize OD

Laker Tcl Reference Manual


K-2015.06

1479

Chapter 12: Stick Diagram Compiler


lakerSkPanDown

lakerSkPanDown
The lakerSkPanDown command pans 1/2 down of the current view area to
the current window.
Syntax
lakerSkPanDown
Returns
None
Examples
lakerSkPanDown

lakerSkPanLeft
The lakerSkPanLeft command pans 1/2 left of the current view area to the
current window.
Syntax
lakerSkPanLeft
Returns
None
Examples
lakerSkPanLeft

lakerSkPanRight
The lakerSkPanRight command pans 1/2 right of the current view area to
the current window.
Syntax
lakerSkPanRight
Returns
None

1480

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkPanUp

Examples
lakerSkPanRight

lakerSkPanUp
The lakerSkPanUp command pans 1/2 up of the current view area to the
current window.
Syntax
lakerSkPanUp
Returns
None
Examples
lakerSkPanUp

lakerSkPreview
The lakerSkPreview command changes the display content of the Stick
Diagram Compiler window to preview the data physically.
Syntax
lakerSkPreview
Returns
None
Examples
lakerSkPreview

See Also
Stick Diagram Compiler: View > Preview

Laker Tcl Reference Manual


K-2015.06

1481

Chapter 12: Stick Diagram Compiler


lakerSkPreference

lakerSkPreference
The lakerSkPreference command sets up user preferences for the Stick
Diagram Compiler window.
Syntax
lakerSkPreference [-gateLabel mode] [-autoBreakFinger 0|1]
[-autoGroupLayout 0|1]
Returns
None
Arguments
Argument

Description

-autoBreakFinger 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Unset Finger Groups when Editing
command.
0 : Disable the Unset Finger Groups when Editing
command.

-autoGroupLayout 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Create Group when Realizing
Instances option.
0 : Disable the Create Group when Realizing
Instances option.

-gateLabel mode

Specify a display mode for gate labels.


Valid values: gate, net, and all (default=all).

Examples
# Example 1
lakerSkPreference -gateLabel net
# Example 2
lakerSkPreference -autoBreakFinger 1

See Also
Stick Diagram Compiler: Options > Preferences

1482

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkRealize

lakerSkRealize
The lakerSkRealize command realizes a well-arranged logical transistors
(from the Stick Diagram Compiler window) to a physical magic cell (in the
Layout window pane).
Syntax
lakerSkRealize
Returns
None
Examples
# realize the stick diagram data to MCell
# set the active window to the layout window
lakerSetActiveWnd Wnd1
lakerSchBroDrag
lakerDsgDrop
# set the active window to the stick diagram compiler window
lakerSetActiveWnd Wnd2
# realize the stick diagram data to MCell and put it
# into the layout window
lakerSkRealize

See Also
Stick Diagram Compiler: Cell > Realize

lakerSkRechain
The lakerSkRechain command re-chains all transistors in the Stick Diagram
Compiler window, and returns to the optimal chaining status.
Syntax
lakerSkRechain
Returns
None
Examples
lakerSkRechain

Laker Tcl Reference Manual


K-2015.06

1483

Chapter 12: Stick Diagram Compiler


lakerSkRedo

See Also
Stick Diagram Compiler: Edit > Re-chain

lakerSkRedo
The lakerSkRedo command repeats the last action performed in the Stick
Diagram Compiler window.
Syntax
lakerSkRedo
Returns
None
Examples
lakerSkRedo

See Also
Stick Diagram Compiler: Edit > Redo

lakerSkRedraw
The lakerSkRedraw command redrawd the content in the Stick Diagram
Compiler window.
Syntax
lakerSkRedraw
Returns
None
Examples
lakerSkRedraw

See Also
Stick Diagram Compiler: View > Redraw

1484

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkSelRealize

lakerSkSelRealize
The lakerSkSelRealize command realizes a selected logical transistors
(from the Stick Diagram Compiler window) to a physical magic cell (in the
Layout window pane).
Syntax
lakerSkSelRealize
Returns
None
Examples
# Realize the selected stick diagram data to MCell
# Set the active window to the layout window
lakerSetActiveWnd Wnd1
lakerSchBroDrag
lakerDsgDrop
# Set the active window to the stick diagram compiler window
lakerSetActiveWnd Wnd2
# Realize the selected stick diagram data to MCell and put it
# into the layout window
lakerSkSelRealize

See Also
Stick Diagram Compiler: Cell > Realize Selected

lakerSkSplit
The lakerSkSplit command divides a pack object into two separate parts.
Syntax
lakerSkSplit -obj typeName packNo -glueNo glueNo1 [glueNo2]
Returns
None

Laker Tcl Reference Manual


K-2015.06

1485

Chapter 12: Stick Diagram Compiler


lakerSkSwap

Arguments
Argument

Description

-glueNo glueNo1 [glueNo2]

Specify one or two glue numbers.

-obj typeName packNo

Specify a transistor type name and a pack


number.

Examples
# Divide the 1st pack into two packs from the 5th glue number
lakerSkSplit -obj pmos 1 -glueNo 5

See Also
Stick Diagram Compiler: Edit > Split

lakerSkSwap
The lakerSkSwap command swaps two nodes or gate groups in the same
pack.
Syntax
lakerSkSwap -obj typeName packNo -glueNo glueNo1 glueNo2 [swapGateNo fromGlueNo toGlueNo]
Returns
None
Arguments

1486

Argument

Description

-glueNo glueNo1 glueNo2

Specify two glue numbers for node swapping.

-obj typeName packNo

Specify a transistor type name and a pack number.

-swapGateNo
fromGlueNo toGlueNo

Specify two glue numbers for gate swapping.

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkUnalignGate

Examples
# Example 1
# Swap two transistor source and drain 1st and 3rd of
# the 1st pack of the pmos type
lakerSkSwap -obj pmos 1 -glueNo 1 3
# Example 2
# Swap two groups of transistor gate, the first gate group is
# 2nd of the 1st pack of the pmos type. the other gate group is
# from 3rd to 5rd of the 1st pack of the pmos type
lakerSkSwap -obj pmos 1 -glueNo 2 2 -swapGateNo 3 5

See Also
Stick Diagram Compiler: Edit > Swap

lakerSkUnalignGate
The lakerSkUnalignGate command breaks the alignment relationship of
selected transistor gates.
Syntax
lakerSkUnalignGate
Returns
None
Examples
# Unalign gate in (0.854, 11.515) with traverse distance 0.17
lakerSkPreSel -point (0.854, 11.515) -traversedist 0.17
lakerSkSingleSel
lakerSkUnalignGate

See Also
Stick Diagram Compiler: Edit > Unalign Gates

lakerSkUndo
The lakerSkUndo command reverses the last action performed in the Stick
Diagram Compiler window.

Laker Tcl Reference Manual


K-2015.06

1487

Chapter 12: Stick Diagram Compiler


lakerSkUnsetFingerGroup

Syntax
lakerSkUndo
Returns
None
Examples
lakerSkUndo

See Also
Stick Diagram Compiler: Edit > Undo

lakerSkUnsetFingerGroup
The lakerSkUnsetFingerGroup command unsets finger groups by the
select set. If the select set is not a finger group, no action is taken. This is
enabled only when the selected devices list has a finger-factor.
Syntax
lakerSkUnsetFingerGroup -obj master_name index
num]

[-glueNo

Returns
None
Arguments
Argument

Description

-glueNo num

Select the finger group which contains the gate


number. If not specified, all finger groups on the
pack are removed.
Valid value: an integer.

-obj master_name index

Select the MOS pack index in the selected strip.

1488

master_name : Model name for MCells and


the full master name (lib_cell_view) for device
MOS.
index : Specify an integer, starting from 0.

Laker Tcl Reference Manual


K-2015.06

Chapter 12: Stick Diagram Compiler


lakerSkZoomAll

Examples
# Example 1
lakerSkUnsetFingerGroup -obj pmos 0
# Example 2
lakerSkUnsetFingerGroup -obj nmos 1 -glueNo 2
# Example 3
lakerSkUnsetFingerGroup -obj libn65_nch_layout 0 -glueNo 10

See Also
Stick Diagram Compiler: Edit > Unset Finger Group

lakerSkZoomAll
The lakerSkZoomAll command fits the current data in the viewable area of
the Stick Diagram Compiler.
Syntax
lakerSkZoomAll
Returns
None
Examples
lakerSkZoomAll

See Also
Stick Diagram Compiler: View > Zoom All

lakerSkZoomIn
The lakerSkZoomIn command zooms in the viewable area by half of the
Stick Diagram Compiler.
Syntax
lakerSkZoomIn
Returns
None
Laker Tcl Reference Manual
K-2015.06

1489

Chapter 12: Stick Diagram Compiler


lakerSkZoomOut

Examples
lakerSkZoomIn

See Also
Stick Diagram Compiler: View > Zoom In

lakerSkZoomOut
The lakerSkZoomOut command zooms out the viewable area by half of the
Stick Diagram Compiler.
Syntax
lakerSkZoomOut
Returns
None
Examples
lakerSkZoomOut

See Also
Stick Diagram Compiler: View > Zoom Out

1490

Laker Tcl Reference Manual


K-2015.06

13
13

Schematic Editor

This chapter describes the definable Tcl commands to access the Graphical
User Interface (GUI) which applied within Schematic Editor window.

The Tcl commands are explained in the following sections. Tcl commands and
arguments are sorted alphabetically.

Cell Commands

View Commands

Create Commands

Edit Commands

Options Commands

Query Commands

Check Commands

Tools Commands

Miscellaneous

Cell Commands
This section describes the Tcl commands applied to the Cell commands of the
Schematic Editor window. These commands include:

adpChangeMode

adpDiscardEdit

adpDsgCapture

adpDsgCheckSaveCmd

Laker Tcl Reference Manual


K-2015.06

1491

Chapter 13: Schematic Editor


Cell Commands

adpDsgCloseWnd

adpDsgLoadSession

adpDsgPrint

adpDsgSave

adpDsgSaveAs

adpDsgSaveSession

adpDsgSummary

adpLibMgrExportEDIF

adpLibMgrExportSpice

adpLibMgrExportVeri

adpLibMgrOpenDesign

adpSynchronize

adpChangeMode
The adpChangeMode command changes the editing mode of the active cell
view.
Syntax
adpChangeMode -topWnd winId [-save 0|1]
Returns
None
Arguments
Argument

Description

-save 0|1

Valid values: Boolean values, 0 and 1.


1 : Save the active cell view.
0 : Do not save the active cell view.

-topWnd winId

Specify the top window identifier.

Examples
adpChangeMode -topWnd _adp2

1492

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Cell Commands

See Also
Cell > Change to Read Only/Edit Mode

adpDiscardEdit
The adpDiscardEdit command discards the editing actions performed and
reverts to the last saved version of the data.
Syntax
adpDiscardEdit -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
# Discard the modified design and restore to the original design
adpDiscardEdit -topWnd _adp2

See Also
Cell > Discard Edit

adpDsgCapture
The adpDsgCapture command captures the image of the Schematic Editor
window.
Syntax
adpDsgCapture -footer footercomment -file filename -Inverse
adpDsgCapture -printer printerName -type printType -copy
copyNumber -orient orientation -paper paperSize [fitpage]
Returns
None

Laker Tcl Reference Manual


K-2015.06

1493

Chapter 13: Schematic Editor


Cell Commands

Arguments
Argument

Description

-copy copyNumber

Specify the number of copies.

-file filename

Save the captured image to a file.

-fitpage

Fit printout to a specified paper size.

-footer footercomment

Specify the footer comments.

-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
# Example 1
# Specify the filename (test.png) and footer (Sheet1)
# and specify to inverse the image color
adpDsgCapture -footer Sheet1 -file test.png -Inverse
# Example 2
adpDsgCapture -printer Jupiter -type Level2 -copy 1 \
-orient Landscape -paper D -fitpage

See Also
Cell > Capture

adpDsgCheckSaveCmd
The adpDsgCheckSaveCmd command returns 1 if the Check and Save
function is executed. This command combines the functions of ERC checking
and saving.

1494

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Cell Commands

Syntax
adpDsgCheckSaveCmd -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
adpDsgCheckSaveCmd -topWnd _adp2

See Also
Cell > Check and Save

adpDsgCloseWnd
The adpDsgCloseWnd command returns 1 if the Schematic Editor window is
closed.
Syntax
adpDsgCloseWnd -topWnd winId [-dmCVCkout 0|1] [-dmCVCkin
0|1] [-dmCVCkcancel 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-dmCVCkcancel 0|1

Valid values: Boolean values, 0 and 1.


1 : Cancel the check out of cell view files, that are
checked out automatically. The default value depends on
the setting in the laker.rc file.
0 : Do not cancel the check out of cell view files.

Laker Tcl Reference Manual


K-2015.06

1495

Chapter 13: Schematic Editor


Cell Commands

Argument

Description

-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 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 file.
0 : Do not check out cell view files.

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
adpDsgCloseWnd -topWnd _adp1
# Example 2
# Close an opened design and check in the checkout automatically
adpDsgCloseWnd -topWnd _adp2 -dmCVCkout 0 -dmCVCkin 1
# Example 3
# Close an opened design and cancel checkout automatically
adpDsgCloseWnd -topWnd _adp3 -dmCVCkout 0 -dmCVCkcancel 1

See Also
Cell > Close

adpDsgLoadSession
The adpDsgLoadSession command loads an existing design data to the
current schematic window. This command returns 1 if a session file has been
loaded.
Syntax
adpDsgLoadSession sessionFile
Returns
1 if successful; otherwise, returns 0.

1496

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Cell Commands

Arguments
Argument

Description

sessionFile

Specify the session file to be loaded.

Examples
adpDsgLoadSession test.ses

See Also
Cell > Load Session

adpDsgPrint
The adpDsgPrint command prints a part of schematic view or the entire
schematic view.
Syntax
adpDsgPrint -topWnd winId [-paper paperSize] [-color] [header Header] [-footer Footer] [-file fileName] [-type
fileType] [-printer printerName] [-orient orientation]
[-printRegion printRegion] [-pageNum] [-printLevel
printLevel [-dir outputDir]] [-addSerial | -addSerial
level]
Returns
None
Arguments
Argument

Description

-addSerial

Add an extra serial number to the output file (for example:


serialNum_cellname.ps) for each cell in the design scope.

-addSerial level

Add an extra scope level number to the output file (for


example: levelNum_cellname.ps) for the cells at the same
design scope level.

-color

If it is specified, print in colors.


If it is not specified, print in black and white.

-dir outputDir

Specify the user-defined file location for the output file.

Laker Tcl Reference Manual


K-2015.06

1497

Chapter 13: Schematic Editor


Cell Commands

Argument

Description

-file fileName

Specify the output file. Valid file extensions: *.ps and *.pdf.

-footer Footer

Specify the footer strings.

-header Header

Specify the header strings.

-orient orientation

Specify the paper orientation.


Valid values: Portrait and Landscape
(default=Landscape).

-pageNum

If it is specified, print the page number.


If it is not specified, do not print the page number.

-paper paperSize

Specify the paper size.


Valid values: Letter, A4, A3, A2, A1, A0, B, C, D, E and
User-defined (default=A4).

-printer
printerName

Specify the printer name for the To Printer option.

-printLevel
printLevel

Specify the hierarchy level of the print scope.


Valid values: all and currentView.

-printRegion
printRegion

Specify the print view region.


Valid values: fullCell and screen.

-topWnd winId

Specify the top window identifier.

-type fileType

Specify the file type.


Valid values: PS1, PS2, GL2 and PDF.

Examples
# Example 1
adpDsgPrint -topWnd _adp2 -paper A4 -color -header "" \
-footer "" -file "test.pdf" -type PDF -printRegion fullCell \
-printLevel all -pageNum
# Example 2
adpDsgPrint -topWnd _adp2 -paper A4 -color -header "" \
-footer "" -type PS2 -printer "dd" -printRegion fullCell \
-printLevel all -pageNum

1498

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Cell Commands

# Example 3
adpDsgPrint -topWnd _adp2 -orient portrait -paper A4 \
-color -header "" -footer "" -type PDF -printRegion fullCell \
-printLevel all -dir /laker/home/user_A/adp/print -pageNum

See Also
Cell > Print

adpDsgSave
The adpDsgSave command saves the activated design to the database.
Syntax
adpDsgSave -topWnd winId [-autoSave]
Returns
None
Arguments
Argument

Description

-autoSave

When specified, the design is automatically saved.

-topWnd winId

Specify the top window identifier.

Examples
# Save the activated design to database
adpDsgSave
# Save the design automatically
adpDsgSave -autoSave

See Also
Cell > Save

adpDsgSaveAs
The adpDsgSaveAs command saves the activated design to another cell.
Syntax
adpDsgSaveAs -cell cellName [-lib libName] [-view viewName]

Laker Tcl Reference Manual


K-2015.06

1499

Chapter 13: Schematic Editor


Cell Commands

Returns
None
Arguments
Argument

Description

-cell cellName

Specify the cell to be saved.

-lib libName

Specify the library (default=the current library).

-view viewName

Specify the view name of the cell.


Valid values: schematic, symbol, and any user-defined view
name (default=schematic).

Examples
# Example 1
# Save the activated design to another cell (demo) in
# the library (demo)
adpDsgSaveAs -lib demo -cell demo

See Also
Cell > Save As

adpDsgSaveSession
The adpDsgSaveSession command saves the current design into a session
file. This command returns 1 if a session file has been saved.
Syntax
adpDsgSaveSession sessionFile
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

sessionFile

Specify the session file to be saved.

Examples
adpDsgSaveSession test.ses

1500

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Cell Commands

See Also
Cell > Save Session

adpDsgSummary
The adpDsgSummary command displays the summary of the design.
Syntax
adpDsgSummary -topWnd winId [-file filename] [-scope scope
[-value value]]
Returns
None
Arguments
Argument

Description

-file filename

Specify the summary file in ASCII format


(default=adpSummary.log).

-scope scope

Specify the scope to get the summary.


Valid values: {From Current}, {From Top}, and {Whole
Design}.

-topWnd winId

Specify the top window identifier.

-value value

Specify the cross hierarchy level.


Valid value: an integer, greater than 1.

Examples
# Example 1
# Dump the design information from Current to level 2,
# and save the summary to the default file (adpSummary.log)
adpDsgSummary -topWnd _adp2 -scope {From Current} -value 2
# Example 2
# Dump the design information from Current to level 2,
# and save the summary to a specified file (dumpSummary.log)
adpDsgSummary -topWnd _adp2 -file dumpSummary.log \
-scope {From Current} -value 2
# Example 3
# Dump the design information for the whole design,
# and save the summary to the default file (adpSummary.log)
adpDsgSummary -topWnd _adp2 -scope {Whole Design}

Laker Tcl Reference Manual


K-2015.06

1501

Chapter 13: Schematic Editor


Cell Commands

See Also
Cell > Summary

adpLibMgrExportEDIF
The adpLibMgrExportEDIF command is applied to File> Export EDIF
command in the Home Page.
Refer to File Commands > adpLibMgrExportEDIF in the Home Page chapter
for details.
See Also
Cell > Export EDIF

adpLibMgrExportSpice
The adpLibMgrExportSpice command is applied to File> Export Spice
command in the Home Page.
Refer to File Commands > adpLibMgrExportSpice in the Home Page chapter
for details.
See Also
Cell > Export Spice

adpLibMgrExportVeri
The adpLibMgrExportVeri command is applied to File> Export Verilog
command in the Home Page.
Refer to File Commands > adpLibMgrExportVeri in the Home Page chapter for
details.
See Also
Cell > Export Verilog

1502

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Cell Commands

adpLibMgrOpenDesign
The adpLibMgrOpenDesign command is applied to both File> Open and
Cell> New commands in the Home Page.
Refer to File Commands > adpLibMgrOpenDesign in the Home Page chapter
for details.
See Also
Cell > Open

adpSynchronize
The adpSynchronize command synchronizes and updates the cell view
content in several processes if any of the cell views opened in several
processes is modified.
Syntax
adpSynchronize -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# Reload data from database
adpSynchronize -topWnd _adp2

See Also
Cell > Synchronize

Laker Tcl Reference Manual


K-2015.06

1503

Chapter 13: Schematic Editor


View Commands

View Commands
This section describes the Tcl commands applied to the View commands of the
Schematic Editor window. These commands includes:

adpDsgLastView

adpDsgPanDown

adpDsgPanLeft

adpDsgPanRight

adpDsgPanUp

adpDsgPopViewUp

adpDsgPushSymbolIn

adpDsgPushViewIn

adpDsgRedraw

adpDsgZoomAll

adpDsgZoomFit

adpDsgZoomFitSelSet

adpDsgZoomIn

adpDsgZoomOut

adpDsgLastView
The adpDsgLastView command changes the current view area to the last
view area.
Syntax
adpDsgLastView
Returns
None
Arguments
None

1504

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


View Commands

Examples
# switch to the last view area
adpDsgLastView

See Also
View > Last View

adpDsgPanDown
By following the specified ratio, the adpDsgPanDown command pans the
current view area downward the current window or view box boundary.
Syntax
adpDsgPanDown [-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 view box for each scrolled size.

Examples
# Example 1
# pan 1/4 down of current view area to the current window
adpDsgPanDown -ratio 4
# Example 2
# pan to the bottom of view box boundary
adpDsgPanDown -ratio 0

See Also
View > Pan > Pan Down

adpDsgPanLeft
By following the specified ratio, the adpDsgPanLeft command pans the
current view area to the left of the current window or view box boundary.

Laker Tcl Reference Manual


K-2015.06

1505

Chapter 13: Schematic Editor


View Commands

Syntax
adpDsgPanLeft [-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 view box for each scrolled size.

Examples
# Example 1
# pan 1/4 left of current view area to the current window
adpDsgPanLeft -ratio 4
# Example 2
# pan to the left of view box boundary
adpDsgPanLeft -ratio 0

See Also
View > Pan > Pan Left

adpDsgPanRight
By following the specified ratio, the adpDsgPanRight command pans the
current view area to the right of the current window or view box boundary.
Syntax
adpDsgPanRight [-ratio ratio]
Returns
None
Arguments

1506

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 view box for each scrolled size.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


View Commands

Examples
# Example 1
# pan 1/4 right of current view area to the current window
adpDsgPanRight -ratio 4
# Example 2
# pan to the right of view box boundary
adpDsgPanRight -ratio 0

See Also
View > Pan > Pan Right

adpDsgPanUp
By following the specified ratio, the adpDsgPanUp command pans the current
view area upward the current window or view box boundary.
Syntax
adpDsgPanUp [-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 view box for each scrolled size.

Examples
# Example 1
# pan 1/4 up of current view area to the current window
adpDsgPanUp -ratio 4
# Example 2
# pan to the top of view box boundary
adpDsgPanUp -ratio 0

See Also
View > Pan > Pan Up

Laker Tcl Reference Manual


K-2015.06

1507

Chapter 13: Schematic Editor


View Commands

adpDsgPopViewUp
The adpDsgPopViewUp command retraces the upper level of the design.
Syntax
adpDsgPopViewUp -topWnd winId [-net full_net_path] [-port
full_port_path]
Returns
None
Arguments
Argument

Description

-net full_net_path

Specify the net in full path.

-port full_port_path

Specify the port in full path.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgPopViewUp -topWnd _adp2 -net 4_bit_mux2.I0.A

See Also
View > Pop View Up

adpDsgPushSymbolIn
The adpDsgPushSymbolIn command browses the symbol view for some
selected blocks, if such symbol view exists.
Syntax
adpDsgPushSymbolIn -topWnd winId -scope scopeName -port
portName
Returns
None
Arguments

1508

Argument

Description

-port portName

Specify the port name.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


View Commands

Argument

Description

-scope scopeName

Specify the scope name.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgPushSymbolIn -topWnd _adp2 -scope BIT4_SW_CP_CELL \
-port BIT4_SW_CP_CELL.DN

See Also
View > Push Symbol In

adpDsgPushViewIn
The adpDsgPushViewIn command browses the schematic view for some
selected blocks, if such schematic view exists.
Syntax
adpDsgPushViewIn -topWnd winId -inst full_instance_path
Returns
None
Arguments
Argument

Description

-inst full_instance_path

Specify the instance in full path.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgPushViewIn -topWnd _adp2 -inst 4_bit_mux2.I4

See Also
View > Push View In

adpDsgRedraw
The adpDsgRedraw command redraws the current view area.

Laker Tcl Reference Manual


K-2015.06

1509

Chapter 13: Schematic Editor


View Commands

Syntax
adpDsgRedraw
Returns
None
Arguments
None
Examples
# redraw the current view area
adpDsgRedraw

See Also
View > Redraw

adpDsgZoomAll
The adpDsgZoomAll command fits the current design in the Schematic
Editor window.
Syntax
adpDsgZoomAll
Returns
None
Arguments
None
Examples
# fit the current design in the Schematic Editor window
adpDsgZoomAll

See Also
View > Zoom All

adpDsgZoomFit
The adpDsgZoomFit command fits the current design (minus border) in the
Schematic Editor window.

1510

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


View Commands

Syntax
adpDsgZoomFit -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
adpDsgZoomFit -topWnd _adp3

See Also
View> Zoom Fit Design

adpDsgZoomFitSelSet
The adpZoomDsgZoomFitSelSet command fits the selected object(s) to the
Schematic Editor window.
Syntax
adpDsgZoomFitSelSet
Returns
None
Arguments
None
Examples
adpDsgZoomFitSelSet

See Also
View > Fit Select Set

adpDsgZoomIn
The adpDsgZoomIn command zooms in the view area by 1/2 of the active
Schematic Editor window.

Laker Tcl Reference Manual


K-2015.06

1511

Chapter 13: Schematic Editor


View Commands

Syntax
adpDsgZoomIn
Returns
None
Arguments
None
Examples
# zoom in the view area by 1/2 of the active
# Schematic Editor window
adpDsgZoomIn

See Also
View >Zoom In

adpDsgZoomOut
The adpDsgZoomOut command zooms out the view area by 1/2 of the active
Schematic Editor window.
Syntax
adpDsgZoomOut
Returns
None
Arguments
None
Examples
# zoom out the view area by 1/2 of the active
# Schematic Editor window
adpDsgZoomOut

See Also
View > Zoom Out

1512

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

Create Commands
This section describes the Tcl commands applied to the Create commands of
the Schematic Editor window. These commands include:

adpCreateSymbolOption

adpDsgAddNetExpr

adpDsgAssignInstName

adpDsgAutoCreateWire

adpDsgAutoWireLabel

adpDsgCreateArcCom

adpDsgCreateCircleCom

adpDsgCreateEllipseCom

adpDsgCreateInst

adpDsgCreateLineCom

adpDsgCreateMultiSheet

adpDsgCreatePolyCom

adpDsgCreatePort

adpDsgCreateRectCom

adpDsgCreateSymbol

adpDsgCreateTextCom

adpDsgCreateTable

adpDsgCreateWireName

adpDsgPlaceWideWire

adpDsgPlaceWire

adpDsgSetGenSymbol

adpCreateSymbolOption
The adpCreateSymbolOption command logs the option information of
generated symbols.

Laker Tcl Reference Manual


K-2015.06

1513

Chapter 13: Schematic Editor


Create Commands

Syntax
adpCreateSymbolOption [-pinDistance pinDistance] [pinLength pinLength] [-height height] [-width width] [origin origin] [-dotSize dotSize] [-fontStyle fontStyle]
[-fontheight fontheight][-createcdsTerm 0|1] [createcdsParam 0|1]
adpCreateSymbolOption -side side [-justify justification]
[-rotate rotate] [-offset offset]
Returns
None
Arguments

1514

Argument

Description

-createcdsParam

Valid Values: 0 and 1 (default=0).1: Create the labels


with cdsParams.0: Create the labels without
cdsParams.

-createcdsTerm

Valid values: 0 and 1 (default=0).1 : Create labels with


cdsTerms.0 : Create labels without cdsTerms.

-dotSize dotSize

Specify the dot size for a pin.


Valid value: a positive integer, 1-100000 (default=8).

-fontheight
fontHeight

Specify the text height for created pin labels.


Valid value: a positive integer, 1-100000 (default=10).

-fontStyle
fontStyle

Specify the font type of the input text string.


Valid values: TTARomanFont, TTAGothFont, and
TTASlabFont (default=TTAGothFont).

-height height

Specify the pin height (the unit is grid resolution).


Valid value: a positive integer, 0-100000 (default=0).

-justify
justification

Specify the justification of the input text string.


Valid values: UpperLeft, CenterLeft, LowerLeft,
UpperCenter, CenterCenter, LowerCenter,
UpperRight, CenterRight, and LowerRight
(default=CenterCenter).

-offset offset

Specify the offset between pin labels.


Valid value: a positive integer, 1-1000 (default=2).

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

Argument

Description

-origin origin

Specify the origin for a pin.


Valid values: UpperLeft, CenterLeft, and
LowerLeft (default=UpperLeft).

-pinDistance
pinDistance

Specify the pin distance (the unit is grid resolution).


Valid value: a positive integer, 1-100000 (default=2).

-pinLength
pinLength

Specify the pin length (the unit is grid resolution).


Valid value: a positive integer, 1-100000 (default=1).

-rotate rotate

Specify the orientation of pin labels at a specified angle.


Valid values: R0, R90, R180, and R270.

-side side

Specify the input ports for left/right/top/bottom pins.


Valid values: Left, Right, Top, and Bottom.

-width width

Specify the pin width (the unit is grid resolution).


Valid value: a positive integer, 0-100000 (default=0).

Examples
# Example 1
adpCreateSymbolOption -pinDistance 2 -pinLength 1 -height 0 \
-width 0 -origin UpperLeft -dotSize 8 -fontStyle TTAGothFont \
-fontHeight 10
# Example 2
adpCreateSymbolOption -side Left -justify CenterLeft \
-rotate 0 -offset 2
# Example 3
adpCreateSymbolOption -side Right -justify CenterRight \
-rotate 0 -offset 2
# Example 4
adpCreateSymbolOption -side Top -justify CenterRight \
-rotate 90 -offset 2
# Example 5
adpCreateSymbolOption -side Bottom -justify CenterLeft \
-rotate 90 -offset 2

See Also
Create > Generate Symbol
adpDsgSetGenSymbol

Laker Tcl Reference Manual


K-2015.06

1515

Chapter 13: Schematic Editor


Create Commands

adpDsgAddNetExpr
The adpDsgAddNetExpr command adds a net expression in the schematic
design.
Syntax
adpDsgAddNetExpr -topWnd wndId -prop propName -netName
netName -point (x0,y0) -justify justification -orient
orientation -fontStyle fontStyle -fontheight fontHeight
Returns
None
Arguments
Argument

Description

-fontheight fontHeight

Specify the text height.

-fontStyle fontStyle

Specify the font style.


Valid values: TTARomanFont, TTAGothFont, and
TTASlabFont (default=TTAGothFont).

-justify justification

Specify the justification for the input text string.


Valid values: UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight, and
LowerRight (default=LowerLeft).

-netName netName

Specify the net name.

-orient orientation

Specify the orientation.


Valid values: R0, R90, R180, and R270 (default=R0).

-point (x0,y0)

x0 specifies a center value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-prop propName

Specify the property name.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgAddNetExpr -topWnd _adp2 -prop n2vdd -netName qq! \
-point (0.375,0.5625) -justify LowerLeft -orient R0 \
-fontStyle TTAGothFont -fontheight 0.0625

1516

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

See Also
Create > Net Expression

adpDsgAssignInstName
The adpDsgAssignInstName command creates instance names.
Syntax
adpDsgAssignInstName -topWnd winId -expand 0|1 [excludeBracket 0|1] -instName instName -point (x0,y0)
Returns
None
Arguments
Argument

Description

-excludeBracket 0|1

Valid values: 0 and 1 (default=0).


1 : Display instance names without brackets.
0 : Display instance names with brackets.

-expand 0|1

Valid values: 0 and 1 (default=0).


1 : Display the array expansion.
0 : Do not display the array expansion.

-instName instName

Specify the instance name.

-point (x0,y0)

x0 specifies a center value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgAssignInstName -topWnd _adp2 -expand true -instName A1
-point (478,1229) -excludeBracket true

See Also
Create > Assign Instance Name

Laker Tcl Reference Manual


K-2015.06

1517

Chapter 13: Schematic Editor


Create Commands

adpDsgAutoCreateWire
The adpDsgAutoCreateWire command creates wire segments for floating
instance ports in the whole design or selected instances.
Syntax
adpDsgAutoCreateWire -topWnd winId [-whole | -select] [sysNetName | -pinName | -userDefined [-pattern
patternName]] [-addTerminal] -wireLength Num [-inst
instNameArray]
Returns
None
Arguments

1518

Argument

Description

-addTerminal

If specified, add the NoConnection symbol at the tail


of each new wire.

-inst instNameArray

Specify the array name of all instances if -select is


specified. The format of instNameArray is:
{instName1 instName2 instName3 instName4
...}

-pattern patternName

Specify the user-defined content.

-pinName

Assign a net name for the created wire. The net name
is the same as the associated pin.

-select

If specified, wire segments are created automatically for


all selected instances that have one or more floating
instance ports.

-sysNetName

Assign a system-reserved net name for the created


wire.

-topWnd winId

Specify the top window identifier.

-userDefined

Assign a user-defined net name for the created wire.

-whole

If specified, wire segments are created automatically for


all instances that have one or more floating instance
ports in the current scope.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

Argument

Description

-wireLength Num

Specify the new wire length.


Valid value: an integer. The minimum is 1, and the
default is 20.

Examples
adpDsgAutoCreateWire -topWnd _adp3 -whole -sysNetName \
-wireLength 20

See Also
Create > Auto Create Wire

adpDsgAutoWireLabel
The adpDsgAutoWireLabel command assigns wire names and
automatically creates net labels for user-defined wire segments in the
schematic.
Syntax
adpDsgAutoWireLabel -topWnd winId -all -fontheight
fontheight -fontStyle fontStyle [-filter string]
Returns
None
Arguments
Argument

Description

-all

If it is specified, net labels are created for all wire segments.


If it is not specified, net labels are created for user-defined nets
only.

-filter string

Specify a net label filter to exclude the net name with the
specified prefix. The default prefix is N_.

-fontheight
fontHeight

Specify the text height for created net labels.


Valid value: an integer.

-fontStyle
fontStyle

Specify the font type for the input text string.


Valid values: TTARomanFont, TTAGothFont, and
TTASlabFont (default=TTAGothFont).

Laker Tcl Reference Manual


K-2015.06

1519

Chapter 13: Schematic Editor


Create Commands

Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
adpDsgAutoWireLabel -topWnd _adp2 -userDefinedNet \
-fontheight 10 -fontStyle TTARomanFont
# Example 2
adpDsgAutoWireLabel -topWnd _adp3 -all -fontheight 10 \
-fontStyle TTARomanFont

See Also
Create > Auto Net Label

adpDsgCreateArcCom
The adpDsgCreateArcCom command returns a dbFigId if the specified arc
can be created.
Syntax
adpDsgCreateArcCom -topWnd winId -point (x0,y0) (x1,y1)
(x2,y2) [-layer LayerName]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-layer LayerName

Specify the layer name.

-point (x0,y0)
(x1,y1) (x2,y2)

x0, x1, and x2 specify the left value, the right value,
and the center value for the x coordinate points
respectively while y0, Y1 and Y2 specify the values for
the y coordinate point.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgCreateArcCom -topWnd _adp2 -point \
(-390,210) (-200,120) (-260,240)

1520

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

See Also
Create > Note > Arc

adpDsgCreateCircleCom
The adpDsgCreateCircleCom command returns a dbFigId if the specified
circle shape can be created.
Syntax
adpDsgCreateCircleCom -topWnd winId -point (x0,y0) -value
value [-layer LayerName]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-layer LayerName

Specify the layer name.

-point (x0,y0)

x0 specifies a center value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-topWnd winId

Specify the top window identifier.

-value value

Specify the radius of the circle.

Examples
adpDsgCreateCircleCom -topWnd _adp2 -point (600,-120) -value 42

See Also
Create > Note > Circle

adpDsgCreateEllipseCom
The adpDsgCreateEllipseCom command returns a dbFigId if the specified
ellipse shape can be created.
Syntax
adpDsgCreateEllipseCom -topWnd winId -bbox (x0,y0)(x1,y1)
[-layer LayerName]

Laker Tcl Reference Manual


K-2015.06

1521

Chapter 13: Schematic Editor


Create Commands

Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-bbox (x0,y0) (x1,y1)

(x0,y0) specifies the lower left corner of the ellipse


while (x1,y1) specifies the upper right corner.

-layer LayerName

Specify the layer name.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgCreateEllipseCom -topWnd _adp2 -bbox (730,400) (1000,530)

See Also
Create > Note > Ellipse

adpDsgCreateInst
The adpDsgCreateInst command returns a dbFigId if the specified instance
or array cell can be created.
Syntax
adpDsgCreateInst -topWnd winId [-lib libName] -cell cellName
[-inst instName] -point (x0,y0) (x1,y1) (x2,y2)... [-rows
rowsNo] [-columns columnsNo]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments

1522

Argument

Description

-cell cellName

Specify the instance cell.

-columns columnsNo

Specify the number of instance columns.


Valid value: an integer (default=1).

-inst instName

Specify the instance name (default=system assigned).

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

Argument

Description

-lib libName

Specify the library database.

-point (x0,y0)
(x1,y1) (x2,y2)...

(x0,y0) specifies the starting point of the instance


while (x1,y1) specifies the second point, (x2,y2)
specifies the second point, and so on.

-rows rowsNo

Specify the number of instance rows.


Valid value: an integer (default=1).

-topWnd winId

Specify the top window identifier.

Examples
adpDsgCreateInst -topWnd _adp2 -lib local -cell cap \
-instName test -point (40,810) (520,520) (40,810) \
-rows 2 -columns 3

See Also
Create > Instance

adpDsgCreateLineCom
The adpDsgCreateLineCom command returns a dbFigId if the specified line
can be created.
Syntax
adpDsgCreateLineCom -topWnd winId -point (x0,y0)(x1,y1)...
[-layer LayerName]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-layer LayerName

Specify the layer name.

-point (x0,y0) (x1,y1)...

(x0,y0) specifies the starting point of the line while


(x1,y1) specifies the second point, and so on.

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

1523

Chapter 13: Schematic Editor


Create Commands

Examples
adpDsgCreateLineCom -topWnd _adp2 -point \
(810,320) (930,320) (930,240) (1010,240) (1010,150)

See Also
Create > Note > Line

adpDsgCreateMultiSheet
The adpDsgCreateMultiSheet command creates multiple sheets in the
schematic design.
Syntax
adpDsgCreateMultiSheet -topWnd winId [-num sheetNum -lib
libName -cell cellName]
Returns
None
Arguments
Argument

Description

-cell cellName

Specify the cell name for border symbols.

-lib libName

Specify the library name for border symbols.

-num sheetNum

Specify the sheet number.


Valid value: a positive integer, greater than or equal to
1 (default=1).

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
# Create multiple sheets when borders exist
adpDsgCreateMultiSheet -topWnd _adp2
# Example 2
# Create multiple sheets when no border exists
adpDsgCreateMultiSheet -topWnd _adp2 -num 1 -lib borderADP \
-cell A_border

See Also
Create > Multiple Sheets
1524

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

adpDsgCreatePolyCom
The adpDsgCreatePolyCom command returns a dbFigId if the specified
polygon can be created.
Syntax
adpDsgCreatePolyCom -topWnd winId -point (x0,y0)(x1,y1)...
[-layer LayerName]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-layer LayerName

Specify the layer name.

-point (x0,y0) (x1,y1)...

(x0,y0) specifies the starting point of the polygon


while (x1,y1) specifies the second point, etc.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgCreatePolyCom -topWnd _adp2 -point \
(0,660) (0,620) (20,620) (20,640) (40,640) (40,660)

See Also
Create > Note > Polygon

adpDsgCreatePort
The adpDsgCreatePort command returns a dbFigId if the specified port can
be created.
Syntax
adpDsgCreatePort -topWnd winId -cell ipin|opin|iopin portName portName -point (x0,y0)
Returns
A dbFigId if successful; otherwise, returns nothing.

Laker Tcl Reference Manual


K-2015.06

1525

Chapter 13: Schematic Editor


Create Commands

Arguments
Argument

Description

-cell ipin|opin|iopin

Specify the direction of the port.

-point (x0,y0)

x0 specifies a position value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-portName portName

Specify the port name.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgCreatePort -topWnd _adp2 -cell ipin -portName test -point
(20,740)

See Also
Create > Port

adpDsgCreateRectCom
The adpDsgCreateRectCom command returns a dbFigId if the specified
rectangle shape can be created.
Syntax
adpDsgCreateRectCom -topWnd winId -bbox (x0,y0)(x1,y1) [layer LayerName]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments

1526

Argument

Description

-bbox (x0,y0) (x1,y1)

(x0,y0) specifies the lower left corner of the rectangle


while (x1,y1) specifies the upper right corner.

-layer LayerName

Specify the layer name.

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

Examples
adpDsgCreateRectCom -topWnd _adp2 -bbox (-80,610) (-40,660)

See Also
Create > Note > Rectangle

adpDsgCreateSymbol
The adpDsgCreateSymbol command returns 1 if a symbol for the current
schematic has been created.
Syntax
adpDsgCreateSymbol -topWnd winId -append [-createcdsTerm
0|1] [-createcdsParam 0|1]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-createcdsParam 0|1

Valid Values: 0 and 1 (default=0).1:Create the labels


with cdsParams.0: Create the labels without
cdsParams.

-createcdsTerm 0|1

Valid Values: 0 and 1 (default=0).1:Create the labels


with cdsTerms.0: Create the labels without cdsTerms.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgCreateSymbol -topWnd _adp2

See Also
Create > Generate Symbol

adpDsgCreateTextCom
The adpDsgCreateTextCom command returns a dbFigId if the specified text
label can be created.

Laker Tcl Reference Manual


K-2015.06

1527

Chapter 13: Schematic Editor


Create Commands

Syntax
adpDsgCreateTextCom -topWnd winId -text {text} -point
(x0,y0) -fontheight fontHeight -fontStyle fontStyle justify justification -orient orientation [-layer
LayerName] [-color color] [-style style] [-file fileName]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments

1528

Argument

Description

-color color

Specify the color of the selected object with the color


selection list.

-file fileName

Import the specified text file. The file extension is txt.

-fontheight
fontHeight

Specify the text height.

-fontStyle
fontStyle

Specify the font type of the input text string.


Valid values: TTARomanFont, TTAGothFont, and
TTASlabFont (default=TTAGothFont).

-justify justification

Specify the justification for the input text string.


Valid values: UpperLeft, CenterLeft, LowerLeft,
UpperCenter, CenterCenter, LowerCenter,
UpperRight, CenterRight, and LowerRight
(default=CenterCenter).

-layer LayerName

Specify the layer name.

-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.

-style style

Specify the style of the selected object with the style


selection list.

-text {text}

Specify the text strings.

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

Examples
adpDsgCreateTextCom -topWnd _adp2 -text {test} -point (450,540)
-fontheight 10 -fontStyle TTARomanFont -justify CenterCenter orient R0

See Also
Create > Note > Text

adpDsgCreateTable
The adpDsgCreateTable command creates a table to add the logical
comments or truth table.
Syntax
adpDsgCreateTable -topWnd winId -table tableName -namePos
namePosition -title title -titlePos titlePosition -row
numRows -column numColumns [-autoAdjust 0|1] -width width
-height height [-rotate 0|1] -fontHeight fontHeight fontStyle fontStyle [[-cellData cellData] -point (x0,y0)]
|[-file fileName]
Returns
None
Arguments
Argument

Description

-autoAdjust 0|1

Valid values: 0 and 1 (default=0).1 : Auto adjust the


width of the columns and the height of the rows.0 : Do
not auto adjust the width of the columns and the height
of the rows.

-cellData cellData

Specify the text string in the table.


Valid value: {cellData00 cellData01}
{cellData10 cellData11} (the list sequence is
from the first column in the first row to the last column
in the last row).

-file fileName

Laker Tcl Reference Manual


K-2015.06

Import the specified table settings file. The file


extension is cvs.

1529

Chapter 13: Schematic Editor


Create Commands

Argument

Description

-column numColumns

Specify the number of columns.


Valid value: a positive integer, 1-100 (default=2).

-fontHeight fontHeight

Specify the text height.


Valid value: a positive integer, 1-100000
(default=10).

-fontStyle fontStyle

Specify the font type of the input text string.


Valid values: TTARomanFont, TTAGothFont, and
TTASlabFont (default=TTAGothFont).

-height height

Specify the row height.


Valid value: a positive integer, 1-10000000
(default=14).

-namePos namePosition Specify the position of the name label.


Valid values: None, topLeft, topCenter,
topRight,
bottomLeft, bottomCenter, and bottomRight
(default= topLeft).
-point (x0,y0)

x0 specifies a position value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-rotate 0|1

Valid values: 0and 1 (default=0).1 : Rotate the first


row to vertical direction.0 : Do not rotate the first row to
vertical direction.

-row numRows

Specify the number of rows.


Valid value: a positive integer, 1-100 (default=2).

-table tableName

Specify the name of the table.

-title title

Specify the title of the table.

-titlePos titlePosition

Specify the position of the title label.


Valid values: None, topLeft, topCenter,
topRight,
bottomLeft, bottomCenter, and bottomRight
(default= topRight).

1530

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

Argument

Description

-topWnd winId

Specify the top window identifier.

-width width

Specify the column width.


Valid value: a positive integer, 1-10000000
(default=20).

Examples
adpDsgCreateTable -topWnd _adp2 -table region -namePos topLeft \
-title options -titlePos topRight -row 2 -column 2 -width 20 \
-height 14 -fontHeight 10 -fontStyle TTARomanFont \
-cellData {{} {a}} {{b} {0}}

See Also
Create > Table

adpDsgCreateWireName
The adpDsgCreateWireName command returns a dbFigId if the specified
wire name can be created.
Syntax
adpDsgCreateWireName -topWnd winId -placeObj placeObj expand 0|1 -netName netName [-refpoint (x0,y0)] -point
(x0,y0) [-label [-fontheight fontHeight] [-fontStyle
fontStyle] [-justify justification] [-orient
orientation] ]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-expand 0|1

Valid values: Boolean values, 0 and 1.


1 : Display bus expansion.
0 : Do not display bus expansion.

-fontheight
fontHeight

Specify the text height for created net labels.

Laker Tcl Reference Manual


K-2015.06

1531

Chapter 13: Schematic Editor


Create Commands

Argument

Description

-fontStyle
fontStyle

Specify the font type of the input text string.


Valid values: TTARomanFont, TTAGothFont, and
TTASlabFont (default=TTAGothFont).

-netName
netName

Specify the net name.

-placeObj
placeObj

Specify the wire type.


Valid values: single, multiple, and bundle.

-justify
justification

Specify the justification of the input text string.


Valid values: UpperLeft, CenterLeft, LowerLeft,
UpperCenter, CenterCenter, LowerCenter,
UpperRight, CenterRight, and LowerRight
(default=CenterCenter).

-orient
orientation

Specify the orientation.


Valid values: R0, R90, R180, R270, MXR0, MXR90, MYR0,
MYR90, and auto.

-point (x0,y0)

x0 specifies a position value for the x coordinate point while


y0 specifies the value for the y coordinate point.

-refpoint (x0,y0)

Specify the reference point for multiple wire type.x0


specifies a position value for the x coordinate point while y0
specifies the value for the y coordinate point.

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
adpDsgCreateWireName -topWnd _adp2 -placeObj single -expand 0 \
-netName test -point (-1989,460) -label -fontheight 10 \
-fontStyle TTARomanFont -justify LowerLeft -orient auto
# Example 2
adpDsgCreateWireName -topWnd _adp2 -placeObj multiple -expand 0 \
-netName test -refpoint (-2020,460) -point (-2020,440) -label \
-fontheight 10 -fontStyle TTARomanFont -justify LowerLeft \
-orient auto

See Also
Create > Net Label

1532

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Create Commands

adpDsgPlaceWideWire
The adpDsgPlaceWideWire command returns a dbFigId if the wide wire can
be created.
Syntax
adpDsgPlaceWideWire -topWnd winId -point (x0,y0) (x1,y1)
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-point (x0,y0) (x1,y1)

(x0,y0) specifies the starting point of the wide wire


while (x1,y1) specifies the end point of the wide wire.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgPlaceWideWire -topWnd _adp2 -point (110,740) (110,750)

See Also
Create > Wide Wire

adpDsgPlaceWire
The adpDsgPlaceWire command returns a dbFigId if the wire can be
created.
Syntax
adpDsgPlaceWire -topWnd winId -point (x0,y0) (x1,y1) lineWidth wvalue
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-lineWidth wvalue

Specify the width of the wire.

Laker Tcl Reference Manual


K-2015.06

1533

Chapter 13: Schematic Editor


Create Commands

Argument

Description

-point (x0,y0) (x1,y1)

(x0,y0) specifies the starting point of the wire while


(x1,y1) specifies the end point of the wire.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgPlaceWire -topWnd _adp2 -point (180,460) (180,450) \
-lineWidth 4

See Also
Create > Wire

adpDsgSetGenSymbol
The adpDsgSetGenSymbol command logs the pin information and creates
the symbol.
Syntax
adpDsgSetGenSymbol -side side [-order order] -pinName
pinName [-direction direction] [-style style] -topWnd
winId
adpDsgSetGenSymbol -topWnd winId -create
Returns
None
Arguments

1534

Argument

Description

-create

If specified, the symbol view is created.

-direction direction

Specify the pin direction by side.


Valid values: Input, Output, and InOut
(default=Input).

-order order

Specify the pin order by side.


Valid value: a positive integer, the minimum is 1.

-pinName pinName

Specify the pin name by side.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Edit Commands

Argument

Description

-side side

Specify the input ports for left/right/top/bottom pins.


Valid values: Left, Right, Top, and Bottom.

-style style

Specify the pin style by side.


Valid values: Square, ActHi, ActHi2, and
commActLo (default=ActHi).

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
adpDsgSetGenSymbol -side Left -order 1 -pinName in1 \
-direction Input -style Square -topWnd _adp2
# Example 2
adpDsgSetGenSymbol -side Right -order 1 -pinName out1 \
-direction Output -style Square -topWnd _adp2
# Example 3
adpDsgSetGenSymbol -topWnd _adp2 -create

See Also
Create > Generate Symbol
adpCreateSymbolOption

Edit Commands
This section describes the Tcl commands applied to the Edit commands of the
Schematic Editor window. These commands include:

adpDsgCopy

adpDsgDelete

adpDsgDeselectAll

adpDsgEditAvaiProp

adpDsgMirrorX

adpDsgMirrorY

adpDsgMove

Laker Tcl Reference Manual


K-2015.06

1535

Chapter 13: Schematic Editor


Edit Commands

adpDsgPaste

adpDsgRedo

adpDsgRotateLeft

adpDsgRotateRight

adpDsgSelectAll

adpDsgStretch

adpDsgStretch2

adpDsgSwitchPage

adpDsgUndo

adpDsgYank

adpDsgCopy
The adpDsgCopy command copies the selected object from a point to a
reference point.
Syntax
adpDsgCopy -topWnd winId -point (x0,y0) -refPoint (x1,y1)
[-orient orientation] [-RenameNetLabel] [-rows rowsNo]
[-columns columnsNo]
Returns
None
Arguments

1536

Argument

Description

-columns columnsNo

Specify the number of objects to be copied in columns.


Valid value: an integer (default=1).

-orient orientation

Specify the orientation of objects.


Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).

-point (x0,y0)

Specify a starting point to copy. x0 specifies a reference


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 13: Schematic Editor


Edit Commands

Argument

Description

-refPoint (x1,y1)

Specify the destination for the copied object. x1


specifies a reference position value for the x coordinate
point while y1 specifies the value for the y coordinate
point.

-RenameNetLabel

When specified, enable the Rename Net Label


option.

-rows rowsNo

Specify the number of objects to be copied in rows.


Valid value: an integer (default=1).

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
# Copy an array of selected objects
adpDsgCopy -topWnd _adp2 -point (70,-20) (-50,-20) (-100,10) \
-refpoint (30,190) -orient R0 -rows 2 -columns 3
# Example 2
# Copy selected objects and rename net labels
adpDsgCopy -topWnd _adp2 -point (10,230) -refpoint (10,260) \
-orient R0 -RenameNetLabel

See Also
Edit > Copy

adpDsgDelete
The adpDsgDelete command deletes the selected object(s).
Syntax
adpDsgDelete
Returns
None
Examples
adpDsgDelete

See Also
Edit > Delete

Laker Tcl Reference Manual


K-2015.06

1537

Chapter 13: Schematic Editor


Edit Commands

adpDsgDeselectAll
The adpDsgDeselectAll command deselects all selected objects in the
active cell view.
Syntax
adpDsgDeselectAll
Returns
None
Arguments
None
Examples
# deselect all selected objects in the active cell view
adpDsgDeselectAll

See Also
Edit > Deselect All

adpDsgEditAvaiProp
The adpDsgEditAvaiProp command edits available properties in the
schematic design.
Syntax
adpDsgEditAvaiProp -topWnd wndId -inst instanceName actionType actionType -prvalue prvalue
Returns
None
Arguments

1538

Argument

Description

-actionType actionType

Specify the actions to edit the available properties.


Valid values: overrideNet and chgConnParam.

-inst instanceName

Specify the instance name.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Edit Commands

Argument

Description

-prvalue prvalue

Specify the property name values.


Valid values: propName overrideNetName and
propName connectionName.

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
adpDsgEditAvaiProp -topWnd _adp2 -inst I5 \
-actionType overrideNet -prvalue {n3gnd 3.3v!}
# Example 2
adpDsgEditAvaiProp -topWnd _adp2 -inst I5 \
-actionType chgConnParam -prvalue {n3gnd 2nvdd vdd!}

See Also
Edit > Net Expression > Available Properties

adpDsgMirrorX
The adpDsgMirrorX command mirrors the selected objects along the x axis.
Syntax
adpDsgMirrorX
Returns
None
Examples
# Example 1
adpDsgMirrorX

See Also
Edit > Mirror X

adpDsgMirrorY
The adpDsgMirrorY command mirrors the selected objects along the y axis.

Laker Tcl Reference Manual


K-2015.06

1539

Chapter 13: Schematic Editor


Edit Commands

Syntax
adpDsgMirrorY
Returns
None
Examples
# Example 1
adpDsgMirrorY

See Also
Edit > Mirror Y

adpDsgMove
The adpDsgMove command moves the selected object from one point to
another.
Syntax
adpDsgMove -topWnd winId -point (x0,y0) -refPoint (x1,y1) orient orientation
Returns
None
Arguments

1540

Argument

Description

-orient orientation

Specify the orientation of objects.


Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).

-point (x0,y0)

Specify a starting point to move. x0 specifies a


reference position value for the x coordinate point while
y0 specifies the value for the y coordinate point.

-refPoint (x1,y1)

Specify the destination for the moved object. x1


specifies a reference position value for the x coordinate
point while y1 specifies the value for the y coordinate
point.

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Edit Commands

Examples
adpDsgMove -topWnd _adp2 -point (560,620) -refpoint (530,690) \
-orient R0

See Also
Edit > Move

adpDsgPaste
The adpDsgPaste command pastes the yanked object from clipboard to the
current cell view.
Syntax
adpDsgPaste -topWnd _adp2 -point (x0,y0) [-orient
orientation] [-RenameNetLabel] [-justify justification]
Returns
None
Arguments
Argument

Description

-justify justification

Specify the justification for the pasting reference point.


Valid values: Original, UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight, and
LowerRight (default=Original).

-orient orientation

Specify the orientation of objects.


Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).

-point (x0,y0)

Specify a starting point to paste. x0 specifies a position


value for the x coordinate point while y0 specifies the
value for the y coordinate point.

-RenameNetLabel

When specified, enable the Rename Net Label


option.

-topWnd winId

Specify the window identifier.

Laker Tcl Reference Manual


K-2015.06

1541

Chapter 13: Schematic Editor


Edit Commands

Examples
# Example 1
adpDsgPaste -topWnd _adp2 -point (32,16) -orient MX \
-justify CenterLeft

See Also
Edit > Paste

adpDsgRedo
The adpDsgRedo command repeats the last action performed.
Syntax
adpDsgRedo
Returns
None
Arguments
None
Examples
# Example 1
# Redo the last editing command
adpDsgRedo

See Also
Edit > Redo

adpDsgRotateLeft
The adpDsgRotateLeft command rotates the selected objects at 90
degrees counterclockwise.
Syntax
adpDsgRotateLeft -topWnd winId -point (x0,y0)
Returns
None

1542

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Edit Commands

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.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgRotateLeft -topWnd _adp2 -point (490,670)

See Also
Edit > Rotate 90

adpDsgRotateRight
The adpDsgRotateRight command turns the selected objects at 90 degrees
clockwise.
Syntax
adpDsgRotateRight -topWnd winId -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.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgRotateRight -topWnd _adp2 -point (490,670)

See Also
Edit > Rotate 270

Laker Tcl Reference Manual


K-2015.06

1543

Chapter 13: Schematic Editor


Edit Commands

adpDsgSelectAll
The adpDsgSelectAll command selects all objects in the active cell view.
Syntax
adpDsgSelectAll
Returns
None
Arguments
None
Examples
# select all objects in the active cell view
adpDsgSelectAll

See Also
Edit > Select All

adpDsgStretch
The adpDsgStretch command stretches one or more selected objects from a
point to another point. This command returns 1 if the stretch command is
executed.
Syntax
adpDsgStretch -topWnd winId -point (x0,y0) -refpoint (x1,y1)
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-point (x0, y0)

Specify the start point for stretching.

-refpoint (x1, y1)

Specify the end point for stretching.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgStretch -topWnd _adp2 -point (250, 170) -refpoint (180, 140)
1544

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Edit Commands

See Also
Edit > Stretch

adpDsgStretch2
The adpDsgStretch2 command stretches selected instances, ports and
wires from a point to another point.
Syntax
adpDsgStretch2 -topWnd windId -point (x0,y0) -refpoint
(x1,y1) [-orient orientation] [-routeMode routeMode] [extendWire] [-extendInst] [-extendPort] [-lock]
Returns
None
Arguments
Argument

Description

-extendInst

If it is specified, the anchor points are extended when


stretching instances.

-extendPort

If it is specified, the anchor points are extended when


stretching IO pads.

-extendWire

If it is specified, the anchor points are extended when


stretching wires.

-lock

If it is specified, the angle of the selected object, vertex


or edge are locked when stretching.
If it is not specified, the angle of the selected object,
vertex or edge are not locked.

-orient orientation

Specify the orientation.


Valid values: R0, R90, R180, R270, MRX0, MRX90, MRY0,
and MRY90.

-point (x0, y0)

Specify the start point for stretching.

-refpoint (x1, y1)

Specify the end point for stretching.

Laker Tcl Reference Manual


K-2015.06

1545

Chapter 13: Schematic Editor


Edit Commands

Argument

Description

-routeMode
routeMode

Specify the route mode.


Valid values: full, easy, direct, and flight
(default=full).

-topWnd winId

Specify the top window identifier.

Examples
adpDsgStretch2 -topWnd _adp3 -point (100, 200) -refpoint (200,
300)\
-routeMode full -orient R0 -extendInst -lock

See Also
Edit > Stretch

adpDsgSwitchPage
The adpDsgSwitchPage command returns 1 if a sheet schematic has been
switched.
Syntax
adpDsgSwitchPage -topWnd winId -pageName pageName -scope
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-pageName pageName

Specify the name of the sheet schematic to be


switched.

-scope

Specify the scope.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgSwitchPage -topWnd _adp2 -pageName a2 -scope

See Also
Edit > Sheet

1546

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Edit Commands

adpDsgUndo
The adpDsgUndo command reverses the last action performed.
Syntax
adpDsgUndo
Returns
None
Arguments
None
Examples
# Example 1
# Undo the last editing command
adpDsgUndo

See Also
Edit > Undo

adpDsgYank
The adpDsgYank command yanks the selected object(s) to a yank buffer for
further paste command.
Syntax
adpDsgYank -topWnd winId [-point (x1,y1) ... (xn,yn)] [RenameNetLabel]
Returns
None
Arguments
Argument

Description

-point (x1,y1)
... (xn,yn)

Specify the coordinate points for the yank area. If only


two points are specified, (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.

-RenameNetLabel

When specified, enable the Rename Net Label option.

Laker Tcl Reference Manual


K-2015.06

1547

Chapter 13: Schematic Editor


Options Commands

Argument

Description

-topWnd winId

Specify the window identifier.

Examples
# Example 1
adpDsgYank -topWnd _adp2

See Also
Edit > Yank

Options Commands
This section describes the Tcl commands applied to the Options commands of
the Schematic Editor window. These commands include:

adpDsgChangeGrid

adpDsgEditLayerTbl

adpDsgChangeGrid
The adpDsgChangeGrid commad sets up the grid attributes and the rules of
cursor snapping.
If the -gridResolution, -major, -snapGridresolution, or -type
arguments are not specified with Tcl, the existing settings for these arguments
stay as is.
Syntax
adpDsgChangeGrid -topWnd windId [-type type] [gridResolution value] [-major value] [snapGridResolution snapGridResolution]
Returns
None

1548

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Options Commands

Arguments
Argument

Description

-gridResolution value

Specify the grid resolution.


Valid value: integer, 0.00625-1.

-major value

Specify the interval to show major grid dots or lines in


pixels.
Valid value: integer, 2-100.

-snapGridResolution
snapGridResolution

Specify the cursor step distance.


Valid values: primary, half, or integer 1-100.

-topWnd winId

Specify the top window identifier.

-type type

Specify the grid type.


Valid values: 0 (None), 1 (Dot), and 2 (Line).

Examples
# Example 1
adpDsgChangeGrid -topWnd _adp2 -major 5 \
-snapGridResolution primary -type 1

See Also
Options > Change Grid

adpDsgEditLayerTbl
The adpDsgEditLayerTbl command returns 1 if a layer has been edited.
Syntax
adpDsgEditLayerTbl -topWnd winId -name attrName -color
colorType -stipple stippleType -lineStyle lineStyle
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-color colorType

Specify the color code.

Laker Tcl Reference Manual


K-2015.06

1549

Chapter 13: Schematic Editor


Query Commands

Argument

Description

-lineStyle lineStyle

Specify line the style.

-name attrName

Specify the attribute name.

-stipple stippleType

Specify the stipple type.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgEditLayerTbl -topWnd _adp2 -name adpPWRBusNetColor \
-color ID_Red4 -stipple GDC_UNDEFINED_STIPPLE \
-lineStyle line_solid

See Also
Options > Layer Table Editor

Query Commands
This section describes the Tcl commands applied to the Query commands of
the Schematic Editor window. These commands include:

adpDsgEditProperty

adpDsgQueryFind

adpDsgQueryProp

adpDsgQueryReplace

adpDsgSignalHier

adpPickParameter

adpDsgEditProperty
The adpDsgEditProperty command displays the property information on
the Schematic Editor window.
This command also renames instances, net labels, ports, and net expressions.

1550

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Query Commands

Syntax
adpDsgEditProperty -topWnd winId -label
{netLabelName|annotationText} [-add] [-del] [-common] [inst instName|-net netName|-port portName] [-width
lineWidth] [-point (x0,y0)] [-oldname oldname -newname
newname] [-cell cellName -lib libName] [-prname
promptName] [-updateCB procname] [-net net -netName
netName][-direction direction]
Returns
None
Arguments
Argument

Description

-netName netName

Specify the default global net name.

-add

Add the property into the property list.

-cell cellName

Specify the cell name. This is used to replace the


symbol of a port. The old symbol is kept if the
specified cell does not exist or the specified cell is not
a port.

-common

Show common attributes of selected objects.

-del

Delete the property from the property list.

-direction direction

Specify the port direction.


Valid values: Input, Output, and InOut.

-inst instName

Specify the instance name.

-label {netLabelName|
annotationText}

Specify the text string of the new net or annotation


text.
Valid value: any text string.

-lib libName

Specify the library name.

-net net

Specify the selected net.

-net netName

Specify the net label.

-newname newname

Specify the new name for the selected instance, net


label, or port.

Laker Tcl Reference Manual


K-2015.06

1551

Chapter 13: Schematic Editor


Query Commands

1552

Argument

Description

-oldname oldname

Specify the existing name of the selected instance,


net label, or port.

-point (x0,y0)

x0 specifies a center value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-port portName

Specify the port name.

-prname promptName

Specify the prompt name.

-topWnd winId

Specify the top window identifier.

-updateCB procname

Update the callback function.


If procname is null, all procedures are called.
If procname is not null, only the specified procedure
is called.

-width lineWidth

Specify the line width.


Valid value: an integer.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Query Commands

Examples
# Example 1
adpDsgEditProperty -topWnd adp2 -inst MMP2 -add \
-prname new_0 -point (185,440)
# Example 2
# Modify the instance name
adpDsgEditProperty -topWnd _adp2 -inst MMP2 -oldname MMP2 \
-newname MMMP3 -point (185,440)
# Example 3
# Query the wire name
adpDsgEditProperty -topWnd _adp2 -net abbc -oldname abbc \
-newname abdbc -point (85,180)
# Example 4
# Modify the port name
adpDsgEditProperty -topWnd _adp2 -port port1 -oldname port1 \
-newname port11 -point (82,200)
# Example 5
# Query a net label to change the label name
adpDsgEditProperty -topWnd _adp3 -index 1 -label A<0:3> \
-point (250,825) -fontheight 10 -justify LowerCenter \
-fontStyle TTAGothFont -orient R90 -layer adpNetNameColor
# Example 6
adpDsgEditProperty -topWnd _adp2 -port A -oldname A \
-newname A -cell inv -lib digitalADP -point (320,60)
# Example 7
adpDsgEditProperty -topWnd _adp3 -common -net n_1 \
-width 1 -point (185,440)
# Example 8
adpDsgEditProperty -topWnd _adp2 -net bbb! -prop aaaa \
-netName bbb! -point (0.25,1.625)

See Also
Query > Attribute

adpDsgQueryFind
The adpDsgQueryFind command searches the specified object(s) according
to the search criteria.

Laker Tcl Reference Manual


K-2015.06

1553

Chapter 13: Schematic Editor


Query Commands

Syntax
adpDsgQueryFind -topWnd winId -type searchType -searProp
searchProp [-case 0|1] [-zoomToSelectSet 0|1] -scope
scopeLevel [-value value] [-regular 0|1] [-noGUI]
Returns
None
Arguments

1554

Argument

Description

-case 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Specify the case sensitivity of comparing string(s).
0 : Do not specify the case sensitivity of comparing
string(s).

-noGUI

If it is specified, the Find form is closed after the Find


operation.

-regular 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Use Regular Expression mode.
0 : Use Easy Expression mode.

-scope scopeLevel

Specify the search scope.


Valid values: All, and Current.

-searProp searchProp

Specify the search criteria list. The criteria include


name, operation and value field, where the name is
used for specific attributes, instance, library, or
properties for the object type; the operation is for
objects equal to (==) or not equal to (!=) the criteria;
and the value field sets the attribute value.

-topWnd winId

Specify the top window identifier.

-type searchType

Set the object type to be searched.


Valid values: Instance, Net, Port, PseudoRC, and
UndefinedInstance.

-value value

Control the number of design hierarchy levels that are


searched.
Valid value: integer (default=0).

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Query Commands

Argument

Description

-zoomToSelectSet 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Zoom the window view to the searched object.
0 : Do not zoom the window view to the searched
object.

Examples
adpDsgQueryFind -topWnd _adp2 -type Instance \
-searProp { Instance == X1 } -case false -regular 1 \
-zoomToSelectSet true -scope All -value 2

See Also
Query > Find

adpDsgQueryProp
The adpDsgQueryProp command edits cell view properties in the schematic.
Syntax
adpDsgQueryProp -topWnd winId -lib libName -cell cellName
[-add | -delete] -prname propName -propAttr {{name} {type}
{value}} -value {{propName} {typeName} {valueName}}
Returns
None
Arguments
Argument

Description

-add

Add a property to the cell view.

-cell cellName

Specify the cell name.

-delete

Delete a property from the cell view.

-lib libName

Specify the library name.

-prname propName

Specify the property name to be modified.

Laker Tcl Reference Manual


K-2015.06

1555

Chapter 13: Schematic Editor


Query Commands

Argument

Description

-propAttr
{{name} {type} {value}}

Specify the property attributes to be modified.


{name} specifies the property name, {type}
specifies the property type, and {value} specifies
the property value.

-topWnd winId

Specify the top window identifier.

-value {{propName}
{typeName} {valueName}}

Specify a new value for the corresponding property


attributes. {propName} specifies a new property
name, {typeName} specifies a new property type,
and {valueName} specifies a new property value.

Examples
# Example 1
adpDsgQueryProp -topWnd _adp2 -lib test -cell nmos \
-prname instNamePrefix -propAttr {{nam} {type} {value}} \
-value {{namePrefix} {string} {N}}
# Example 2
adpDsgQueryProp -topWnd _adp2 -lib test -cell nmos -delete \
-prname instNamePrefix
# Example 3
adpDsgQueryProp -topWnd _adp2 -lib test -cell nmos -add \
-prname new_0 -propAttr {{nam} {type} {value}} \
-value {{ new_0} {string} { }}

See Also
Query > Cell View Property

adpDsgQueryReplace
The adpDsgQueryReplace command modifies all objects found by the
Replace command.
Syntax
adpDsgQueryReplace -topWnd winId -type searchType [-regular
0|1] -searProp searchProp [-case 0|1] [-zoomToSelectSet
0|1] -row rowNumber -scope scopeLevel [-value value] inst instName -replace replaceString [-noGUI]

1556

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Query Commands

Returns
None
Arguments
Argument

Description

-case 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Specify the case sensitivity of comparing string(s).
0 : Do not specify the case sensitivity of comparing
string(s).

-inst instName

Specify the instance.

-noGUI

If it is specified, the Replace form is closed after the


Replace operation.

-repProp replaceProp

Replacement properties include name and value field.


The name is for specific attributes, instance, library, or
properties for the object type; and the value field sets the
attribute value.

-row rowNumber

Specify the row number.

-regular 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Use Regular Expression mode.
0 : Use Easy Expression mode.

-scope scopeLevel

Specify the search scope.


Valid values: All, and Current.

-searProp searchProp

Specify the search criteria list. The criteria include name,


operation and value field. The name is for specific
attributes, instance, library, or properties for the object
type; the operation is for objects equal to (==) or not
equal to (!=) the criteria; and, the value field sets the
attribute value.

-topWnd winId

Specify the top window identifier.

-type searchType

Specify the object type to be searched.


Valid values: Instance, Net, Port, PseudoRC, and
UndefinedInstance.

Laker Tcl Reference Manual


K-2015.06

1557

Chapter 13: Schematic Editor


Query Commands

Argument

Description

-value value

Specify the number of design hierarchy levels to be


searched.
Valid value: integer (default=0).

-zoomToSelectSet 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Zoom the window view to the searched object.
0 : Do not zoom the window view to the searched object.

Examples
adpDsgQueryReplace -topWnd _adp2 -type Instance -regular 1 \
-searProp { Instance == vcc1 } -case 0 -zoomToSelectSet 1 \
-scope All -row 0 -repProp { Library local inv_sim } { None } \
-inst { vcc1 inv_sim} -replace demoReplaceString

See Also
Query > Replace

adpDsgSignalHier
The adpDsgSignalHier command queries the net connection information.
Syntax
adpDsgSignalHier -topWnd winId [-netName netName | -delete
inputNetName] [-level level] [-zoomToHighLighSet 0|1] [color layerName] [-dump 0|1 [-file filename]]
Returns
None
Arguments

1558

Argument

Description

-color layerName

Specify the layer to highlight the traced net.

-dump 0|1

Valid values: Boolean values, 0 and 1.


1 : Save the settings and the traced results to a file.
0 : Do not save the settings and the traced results to a
file.

-delete inputNetName

Specify the input net name. -delete is used for


removing the highlights of previously traced results.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Query Commands

Argument

Description

-file filename

Specify the ASCII file with its full path. This is only used
with the -dump argument.

-level level

Specify the tracing level.


Valid value: integer (1 to 50).

-netName netName

Specify the input net name. -netName is used for


tracing a new net.

-topWnd winId

Specify the top window identifier.

-zoomToHighLighSet 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the Zoom to Traced Net option.
0 : Disable the Zoom to Traced Net option.

Examples
# Example 1
# Trace net B<1> at all levels
adpDsgSignalHier -topWnd adp2 -netName B<1> \
-zoomToHighLighSet 0 -color HighLightSignalLayer1
# Example 2
# Trace net A at level 1
adpDsgSignalHier -topWnd _adp3 -netName N_1 -level 1 \
-zoomToHighlighSet 0 -color
# Example 3
# Trace net first and then specify a level to filter the results
adpDsgSignalHier -topWnd _adp3 -netName N_1 \
-zoomToHighlighSet 0 -color
adpDsgSignalHier -topWnd _adp3 -level 1
# Example 4
# Save the settings and the traced results to an ASCII file
adpDsgSignalHier -topWnd _adp2 -dump 1 \
-file /home/user/work/NetTrace/Scan/bb

See Also
Query > Net Tracer

Laker Tcl Reference Manual


K-2015.06

1559

Chapter 13: Schematic Editor


Check Commands

adpPickParameter
The adpPickParameter command the parameters of selected devices in the
schematic.
Syntax
adpPickParameter
Returns
None
Arguments
None
Examples
adpDsgSel -point (3.2375,6.2125) \
-aperture (3.23125,6.20625)(3.24375,6.21875)
adpDsgSel -bbox (2.96875,3.375)(5.9375,6.025)
adpDsgDrag
adpPickParameter

See Also
Query > Pick Parameter

Check Commands
This section describes the Tcl commands applied to the Check commands of
the Schematic Editor window. These commands include:

1560

adpCreateERCRule

adpCreateERCViolation

adpDsgCheckCurrentCell

adpDsgCheckTop

adpDsgMarkerBrowser

adpDsgDelAllMarker

adpDsgSetupRule

adpDsgCheckOffGridObj

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Check Commands

adpCreateERCRule
The adpCreateERCRule command creates a new rule check into the ERC
system.
Syntax
adpCreateERCRule -ruleName ruleName -proc procName -shortMsg
shortMsg [-category category] [-ruleSetting ruleSetting]
Returns
None
Arguments
Argument

Description

-category category

Specify the name of the category for the rule check.

-proc procName

Specify the name of the Tcl procedure.

-ruleName ruleName

Specify the option name for the rule check.

-ruleSetting ruleSetting

Specify the settings of the rule check with the


following format:
{[{Enable = TRUE|FALSE}][{SeverityType
= Message|Error|Warning}][{StopExport
= TRUE|FALSE}]}

-shortMsg shortMsg

Specify the short description for the rule check.

Examples
# Example 1
adpCreateERCRule -ruleName Port Name With A\
-proc checkRule_portNameWithA -shortMsg Port Name With A\
-category User -ruleSetting{{Enable TRUE}{SeverityType Warning}
{StopExport FALSE}}

See Also
Check > Setup ERC Rules

Laker Tcl Reference Manual


K-2015.06

1561

Chapter 13: Schematic Editor


Check Commands

adpCreateERCViolation
The adpCreateERCViolation command creates a violation object in the
system to record the information of the violations. The program creates
markers according to the violation objects.
Syntax
adpCreateERCViolation -design oaDesign -message message\
[-polygon points] [-objects oaBlockObject]
Returns
None
Arguments
Argument

Description

-design oaDesign

Specify the design (oaDesign) to which the violation


belongs.

-message message

Specify the name of the Tcl procedure.

-objects oaBlockObject

Collection of oaBlockObjects which are associated


with this violation.

-polygon points

Specify the Tcl list of points describing the polygon


shape for the violation region/marker.

Examples
# Example 1
adpCreateERCViolation -design oa:0xae0f79a\
-message The port A has A in its name\
-objects{oa:0xae0f11e oa:0xae0f12e oa:0xae0f13e}\
-polygon {{0.9875 4.94375}{1.25 4.94375} {1.25 5.05625}\
{0.9875 5.05625}}

See Also
Check > Setup ERC Rules

adpDsgCheckCurrentCell
The adpDsgCheckCurrentCell command checks the current cell by the
ERC rules.

1562

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Check Commands

Syntax
adpDsgCheckCurrentCell [-dump fileName]
Returns
None
Arguments
Argument

Description

-dump fileName

Specify a file to save the ERC result. The default is


CheckError.dump.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgCheckCurrentCell -dump

See Also
Check > Current Cell

adpDsgCheckTop
The adpDsgCheckTop command checks the whole design by the ERC rules.
Syntax
adpDsgCheckTop [-dump fileName]
Returns
None
Arguments
Argument

Description

-dump fileName

Specify a file to save the ERC result. The default is


CheckError.dump.

Examples
adpDsgCheckTop -dump

See Also
Check > Current Cell

Laker Tcl Reference Manual


K-2015.06

1563

Chapter 13: Schematic Editor


Check Commands

adpDsgMarkerBrowser
The adpDsgMarkerBrowser command specifies the ERC rules to search the
error markers in the design.
Syntax
adpDsgMarkerBrowser [-scope scopeView]
Returns
None
Arguments
Argument

Description

-scope scopeView

Specify the level to search the errors by the ERC


rules.
Valid values: currentCellView,
hierFromTopCellView, and
hierFromCurrentCellView.

Examples
# Example 1
adpDsgMarkerBrowser -scope currentView

See Also
Check > Marker Browser

adpDsgDelAllMarker
The adpDsgDelAllMarker command deletes the error markers in the
design have been searched.
Syntax
adpDsgDelAllMarker [-scope scopeView] [-severity setting]
Returns
None

1564

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Check Commands

Arguments
Argument

Description

-scope scopeView

Specify the level to delete the markers.


Valie values: currentView, hierFromTop, and
hierFromCurrentView (default= currentView).

-severity setting

Specify the deleted markers with the following


settings: all, annotation, info,
acknowledgedWarning, warning,
signedOffError, error,
signedOffCriticalError, criticalError, or
fatalErr (default= all).

Examples
# Example 1
adpDsgDelAllMarker -severity [all] -scope hierFromTop
# Example 2
adpDsgDelAllMarker -severity [warning error] -scope currentView

See Also
Check > Delete All Markers

adpDsgSetupRule
The adpDsgCheckRule command specifies the ERC rules for listing the
warning/error report on the General, Connectivity, Namespace, Physical,
Compatibility, and Design Integrity rules. This command returns 1 if the ERC
for the selected cell has been checked.
Syntax
adpDsgSetupRule [-chkOnly 0|1] [-chkforce 0|1] [ [-all 0|1]
| [-chkInPin | setting] [-chkOutPin | setting] [-chkBiPin
| setting] [-chkIOPort | setting] [-chkNet | setting] \
[-chkShort | setting] [-chkShortNets | setting] \
[-chkNetLabelConflict | setting] [-chkPowGndShortIO |
setting] [-chkConnectionSizeMismatch | setting] \
[-chkWire | setting] [-chkOverInst | setting] \
[-chkImplictRepeatNets | setting] [-chkUndefinedSymbol
| setting] [-chkDupName | setting] [-chkDupCellName |
setting] [-chkIncomPortPad | setting] [-chkMulPin |

Laker Tcl Reference Manual


K-2015.06

1565

Chapter 13: Schematic Editor


Check Commands

setting] [-chkPowGndShort | setting] [-chkInConSymbol |


setting] [-chkTopWithoutSymbol | setting]][-ruleSetting
RuleSetting]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-all 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Specify checking rules for all checking options.
0 : Do not specify checking rules for all checking
options.

-chkBiPin | setting

Specify the checking rule for floating bidirectional


pins with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkConnectionSizeMismatch |
setting

Specify the checking rule for mismatched


connection bit size with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

1566

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Check Commands

Argument

Description

-chkDupCellName | setting

Specify the checking rule for the duplicated cell


names with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkDupName | setting

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is
warning. Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Specify the checking rule for signal names that are


different only in capital/lower cases with the
following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

-chkforce 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Check the design after running the Check
command.
0 : Do not check the design after running the Check
command.

-chkImplcitRepeatNets | setting

Specify the checking rule for system


repeated nets with the following
setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

Laker Tcl Reference Manual


K-2015.06

Enable 0|1: The default is 0. Refer to Enable


for details.
-severityType Type: The default is
warning. Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

1567

Chapter 13: Schematic Editor


Check Commands

Argument

Description

-chkInconPortPad | setting

Specify the checking rule for whether a port has


multiple pads and whether the port direction is
different for any of the port pads with the following
setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkInconSymbol | setting

Specify the checking rule for whether any port name


in the schematic matches the pin name in the
symbol with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkInPin | setting

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Specify the checking rule for floating input pins with


the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

1568

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is
warning. Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Check Commands

Argument

Description

-chkIOPort | setting

Specify the checking rule for floating I/O ports with


the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkMulPin | setting

Specify the checking rule for schematic ports that


have the same port name with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkNet | setting

Enable 0|1: The default is 0. Refer to Enable


for details.
-severityType Type: The default is
warning. Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Specify the checking rule for floating nets with the


following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

Laker Tcl Reference Manual


K-2015.06

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is
warning. Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

1569

Chapter 13: Schematic Editor


Check Commands

Argument

Description

-chkNetLabelConflict | setting

Specify the checking rule for whether a wire has


different labels with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkOnly 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Check the design without creating the markers.
0 : Do not check the design without creating the
markers.

-chkOutPin | setting

Specify the checking rule for floating output pins


with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkOverInst | setting

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Specify the checking rule for overlapping instances


with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

1570

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is
warning. Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Check Commands

Argument

Description

-chkPowGndShort | setting

Specify the checking rule for Power/Ground pins/


nets that connect to other power/Ground pins/nets
with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkPowGndShortIO | setting

Specify the checking rule for Power/Ground pins/


nets that connect to schematic ports with the
following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkShort | setting

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is
warning. Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Specify the checking rule for shorted output pins


with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

Laker Tcl Reference Manual


K-2015.06

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

1571

Chapter 13: Schematic Editor


Check Commands

Argument

Description

-chkShortNets | setting

Specify the checking rule for shorted nets with the


following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

-chkTopWithoutSymbol | setting Specify the checking rule for non-existent symbol


views in the top cell with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-chkUndefinedSymbol | setting

Specify the checking rule for undefined symbols


with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

1572

Enable 0|1: The default is 0. Refer to Enable


for details.
-severityType Type: The default is
warning. Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Enable 0|1: The default is 1. Refer to Enable


for details.
-severityType Type: The default is error.
Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Check Commands

Argument

Description

-chkWire Setting

Specify the checking rule for unconnected wires


with the following setting:
[Enable 0|1] [-severityType Type]
[-stopExport 0|1]

-ruleSetting RuleSetting

Enable 0|1: The default is 0. Refer to Enable


for details.
-severityType Type: The default is
warning. Refer to -severityType for details.
-stopExport 0|1: The default is 0. Refer to
-stopExport for details.

Specify the user defined rule settings with the


following format:
{{{ruleName1}{Enable TRUE|FALSE}
{SeverityType Message|Error|Warning}
{StopExport TRUE|FALSE}}
{{ruleName2}{Enable TRUE|FALSE}
{SeverityType Message|Error|Warning}
{StopExport TRUE|FALSE}} }

-severityType Type

Specify the type of the severity.


Valid values: message, warning, and error.

-stopExport 0|1

Valid values: Boolean values, 0 and 1.


1 : Do not export errors when exporting the design
or creating the netlist.
0 : Export errors when exporting the design or
creating the netlist.

Enable 0|1

Valid values: Boolean values, 0 and 1.


1 : Enable the option to check errors.
0 : Disable the option for error checking.

Examples
# Example 1
adpDsgCheckRule chkInPin {{Enable 1} \
{-severityType warning} {-stopExport 0}} -chkNet {{Enable 1}}
# Example 2
adpDsgCheckRule chkOnly 1
# Example 3
adpDsgCheckRule -all 0
Laker Tcl Reference Manual
K-2015.06

1573

Chapter 13: Schematic Editor


Tools Commands

See Also
Check > Setup ERC Rules

adpDsgCheckOffGridObj
The adpDsgCheckOffGridObj command shows the information of the offgrid objects in the Schematic Editor window.
Syntax
adpDsgCheckOffGridObj -topWnd winId -mode Cell|Select
-instPin|-wire|-netLabel
Returns
None
Arguments
Argument

Description

-instPin|-wire|-netLabel

Specify the displayed information tab (default =


-instPin).

-mode Cell|Select

Specify the area to search for off-grid objects.


Valid values: Cell and Select (default = Cell).

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
adpDsgCheckOffGridObj -topWnd _adp9 -mode Cell -wire

See Also
Check > Off-grid Objects

Tools Commands
This section describes the Tcl commands applied to the Tools commands of
the Schematic Editor window. These commands include:

1574

adpCrossProbe

adpDsgAllDCVal

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Tools Commands

adpDsgLoadSimFile

adpDsgParasiticNet

adpDsgShowAnnCmd

adpDsgShowDCOPValue

adpDsgShowDCRegion

adpDsgShowDCVoltValue

adpDsgToolAna

simOpenWnd

adpCrossProbe
The adpCrossProbe command enables or disables the cross probing mode
to the LakerWave window. This command returns 1 if the cross probing mode
is set to the LakerWave window.
Syntax
adpCrossProbe -topWnd winId -mode 0|1
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-mode 0|1

Valid values: Boolean values, 0 and 1.


1 : Turn on the cross probing mode.
0 : Turn off the cross probing mode.

-topWnd winId

Specify the top window identifier.

Examples
adpCrossProbe -topWnd _adp2 -mode 1

See Also
Tools > Cross Probing

Laker Tcl Reference Manual


K-2015.06

1575

Chapter 13: Schematic Editor


Tools Commands

adpDsgAllDCVal
The adpDsgAllDCVal command returns 1 if the Show OP Values form has
been invoked.
Syntax
adpDsgAllDCVal -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
adpDsgAllDCVal -topWnd _adp2

See Also
Tools > Show OP Values

adpDsgLoadSimFile
The adpDsgLoadSimFile command returns 1 if the simulation file has been
loaded.
Syntax
adpDsgLoadSimFile -topWnd winId -file simulationFile -active
0|1 [-load 0|1] [-sim simType] [-netlist netlist] [-alter
alterName] [-data dataName] [-time time]
Returns
1 if successful; otherwise, returns 0.
Arguments

1576

Argument

Description

-active 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Perform back-annotation for the selected file.
0 : Do not perform back-annotation for the selected file.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Tools Commands

Argument

Description

-alter alterName

Specify the alter statement to be back-annotated.


Valid values: the first alter name (if the alter name is
defined) or DEFAULT, Alter_1, Alter_2, ...,
Alter_n (if the alter name is not defined).

-data dataName

Specify the data statement to be back-annotated.


Valid values: The defined data name (if the data name is
defined) or Index_0, Index_1, Index_2, ...,
Index_n (if the data name is not defined).

-file simulationFile

Specify the simulation file to be loaded.

-load 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Load the simulation file.
0 : Change the simulation file.

-netlist netlist

Specify the netlist file type.


Valid values: Hspice, CDL, SmartSpice, Eldo, and
Spectre (default=Spectre).

-sim simType

Specify the simulator type.


Valid values: Hspice, SmartSpice, Eldo, and
Spectre (default=Spectre).

-time time

Specify the simulation time to be back-annotated.


Valid values: The defined simulation time, starting from
0 or larger than 0, for example: 5n, 6n, 7n, ...

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
adpDsgLoadSimFile -topWnd _adp2 \
-file /laker/simulation/opamp_t.lis -sim Hspice
# Example 2
adpDsgLoadSimFile -topWnd _adp2 -active 1 -load 0 -file 0.dp0 \
-netlist Hspice -alter 1 -data Index_1 -time 5n

See Also
Tools > Annotate OP

Laker Tcl Reference Manual


K-2015.06

1577

Chapter 13: Schematic Editor


Tools Commands

adpDsgParasiticNet
The adpDsgParasiticNet command supports RC back-annotation to the
schematic. This command returns 1 if the specified file has been dumped.
Syntax
adpDsgParasiticNet -topWnd winId [-dumpFile dumpFileName]
[-mode mode] [-reducedRC] [-foldNotation value]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-dumpFile
dumpFileName

Specify the file to be dumped.

-foldNotation value

Specify the folding notation.


Valid values: __, @, a space or any characters (default=@).
If it is not specified, use the default folding notation @ or
the last saved folding notation.

1578

-mode mode

Specify the display mode.


Valid values: all, R, and C.

-reducedRC

If it is specified, the reduced RC information is shown in


the schematic.

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Tools Commands

Examples
# Example 1
adpDsgParasiticNet -topWnd _adp3 -dumpFile R.txt
# Example 2
adpDsgParasiticNet -topWnd _adp3 -mode all
# Example 3
# Show reduced RC, and use the default folding notation @
adpDsgParasiticNet -topWnd _adp3 -reducedRC
# Example 4
# Set the folding notation value as NULL
adpDsgParasiticNet -topWnd _adp3 -reducedRC -foldNotation
# Example 5
# Set the folding notation value as .
adpDsgParasiticNet -topWnd _adp3 -reducedRC -foldNotation .

See Also
Tools > Parasitic

adpDsgShowAnnCmd
The adpDsgShowAnnCmd command logs the information of the Display Data
section of the Annotate OP form.
Syntax
adpDsgShowAnnCmd -topWnd winId [-dc 0|1] [-dcvolt 0|1]
[-dcapa 0|1] [-dcregion 0|1] [-dccut 0|1] [-dccuteq 0|1]
[-dccuteqtxt {text}] [-dclinear 0|1] [-dclineareq 0|1]
[-dclineareqtxt {text}] [-dcsaturi 0|1] [-dcsaturieq 0|1]
[-dcsaturieqtxt {text}] [-dcsubth 0|1] [-dcsubtheq 0|1]
[-dcsubtheqtxt {text}] [-dcbreak 0|1] [-dcbreakeq 0|1]
[-dcbreakeqtxt {text}] [-dcuser 0|1] [-dcusereq 0|1] [dcusereqtxt {text}] [-dcbjtoff 0|1] [-dcbjtoffeq 0|1] [dcbjtoffeqtxt {text}] [-dcbjtsat 0|1] [-dcbjtsateq 0|1]
[-dcbjtsateqtxt {text}] [-dcbjton 0|1] [-dcbjtoneq 0|1]
[-dcbjtoneqtxt {text}] [-dcbjtrev 0|1] [-dcbjtreveq 0|1]
[-dcbjtreveqtxt {text}] [-dcbjtbreak 0|1] [-dcbjtbreakeq
0|1] [-dcbjtbreakeqtxt {text}] [-dcbjtuser 0|1] [dcbjtusereq 0|1] [-dcbjtusereqtxt {text}]
Returns
None

Laker Tcl Reference Manual


K-2015.06

1579

Chapter 13: Schematic Editor


Tools Commands

Arguments

1580

Argument

Description

-dc 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Enable the OP Values option.
0 : Disable the OP Values option.

-dcapa 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Enable the Node Capacitance option.
0 : Disable the Node Capacitance option.

-dcbjtbreak 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the Breakdown region for BJT devices.
0 : Do not show the Breakdown region.

-dcbjtbreakeq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the Breakdown region for BJT
devices.
0 : Do not set an equation for the Breakdown region.

-dcbjtbreakeqtxt {text}

Equation text string for the Breakdown region for BJT


devices.
Valid value: any text string.

-dcbjtoff 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the Off region for BJT devices.
0 : Do not show the Off region.

-dcbjtoffeq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the Off region for BJT devices.
0 : Do not set an equation for the Off region.

-dcbjtoffeqtxt {text}

Equation text string for the Off region for BJT devices.
Valid value: any text string.

-dcbjton 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the On region for BJT devices.
0 : Do not show the On region.

-dcbjtoneq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the On region for BJT devices.
0 : Do not set an equation for the On region.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Tools Commands

Argument

Description

-dcbjtoneqtxt {text}

Equation text string for the On region for BJT devices.


Valid value: any text string.

-dcbjtrev 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the rev region for BJT devices.
0 : Do not show the rev region.

-dcbjtreveq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the rev region for BJT devices.
0 : Do not set an equation for the rev region.

-dcbjtreveqtxt {text}

Equation text string for the rev region for BJT devices.
Valid value: any text string.

-dcbjtsat 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the Saturation region for BJT devices.
0 : Do not show the Saturation region.

-dcbjtsateq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the Saturation region for BJT
devices.
0 : Do not set an equation for the Saturation region.

-dcbjtsateqtxt {text}

Equation text string for the Saturation region for BJT


devices.
Valid value: any text string.

-dcbjtuser 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the User-Defined region for BJT devices.
0 : Do not show the User-Defined region.

-dcbjtusereq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the User-Defined region for BJT
devices.
0 : Do not set an equation for the User-Defined region.

-dcbjtusereqtxt {text}

Equation text string for the User-Defined region for


BJT devices.
Valid value: any text string.

-dcbreak 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the Breakdown region for MOS devices.
0 : Do not show the Breakdown region.

Laker Tcl Reference Manual


K-2015.06

1581

Chapter 13: Schematic Editor


Tools Commands

1582

Argument

Description

-dcbreakeq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the Breakdown region for MOS
devices.
0 : Do not set an equation for the Breakdown region.

-dcbreakeqtxt {text}

Equation text string for the Breakdown region for MOS


devices.
Valid value: any text string.

-dccut 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the Cutoff region for MOS devices.
0 : Do not show the Cutoff region.

-dccuteq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the Cutoff region for MOS
devices.
0 : Do not set an equation for the Cutoff region.

-dccuteqtxt {text}

Equation text string for the Cutoff region for MOS


devices.
Valid value: any text string.

-dclinear 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the Linear region for MOS devices.
0 : Do not show the Linear region.

-dclineareq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the Linear region for MOS
devices.
0 : Do not set an equation for the Linear region.

-dclineareqtxt {text}

Equation text string for the Linear region for MOS


devices.
Valid value: any text string.

-dcregion 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Enable the Working Region option.
0 : Disable the Working Region option.

-dcsaturi 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the Saturation region for MOS devices.
0 : Do not show the Saturation region.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Tools Commands

Argument

Description

-dcsaturieq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the Saturation region for MOS
devices.
0 : Do not set an equation for the Saturation region.

-dcsaturieqtxt {text}

Equation text string for the Saturation region for MOS


devices.
Valid value: any text string.

-dcsubth 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the Subthreshold region for MOS devices.
0 : Do not show the Subthreshold region.

-dcsubtheq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the Subthreshold region for
MOS devices.
0 : Do not set an equation for the Subthreshold
region.

-dcsubtheqtxt {text}

Equation text string for the Subthreshold region for


MOS devices.
Valid value: any text string.

-dcuser 0|1

Valid values: Boolean values, 1 and 0 (default=1).


1 : Show the User-Defined region for MOS devices.
0 : Do not show the User-Defined region.

-dcusereq 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Set an equation for the User-Defined region for
MOS devices.
0 : Do not set an equation for the User-Defined region.

-dcusereqtxt {text}

Specify the equation text string for the User-Defined


region for MOS devices.
Valid value: any text string.

-dcvolt 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Enable the Node Voltage option.
0 : Disable the Node Voltage option.

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

1583

Chapter 13: Schematic Editor


Tools Commands

Examples
# Example 1
adpDsgShowAnnCmd -dcsubth 1 -dcsubtheq 0 -dcsubtheqtxt \
-dcbreak 1 -dcbreakeq 0 -dcbreakeqtxt -dcuser 1 -dcusereq 1 \
-dcusereqtxt {$id>0} -dcbjtoff 1 -dcbjtoffeq 0 \
-dcbjtoffeqtxt -dcbjtsat 1 -dcbjtsateq 0 -dcbjtsateqtxt \
-dcbjton 1 -dcbjtoneq 0 -dcbjtoneqtxt -dcbjtrev 1 -dcbjtreveq 0 \
-dcbjtreveqtxt -dcbjtbreak 1 -dcbjtbreakeq 0 -dcbjtbreakeqtxt \
-dcbjtuser 1 -dcbjtusereq 0 -dcbjtusereqtxt

See Also
Tools > Annotate OP

adpDsgShowDCOPValue
The adpDsgShowDCOPValue command returns 1 if the operation value of DC
can be back-annotated to the schematic.
Syntax
adpDsgShowDCOPValue -topWnd winId -display 0|1
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-display 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Show the operation value of DC.
0 : Hide the operation value of DC.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgShowDCOPValue -topWnd _adp2 -display 1

See Also
Tools > Annotate OP

1584

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Tools Commands

adpDsgShowDCRegion
The adpDsgShowDCRegion command returns 1 if the device working region
of DC has been annotated.
Syntax
adpDsgShowDCRegion -topWnd winId -display 0|1
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-display 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Show the DC region.
0 : Do not show the DC region.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgShowDCRegion -topWnd _adp2 -display 1

See Also
Tools > Annotate OP

adpDsgShowDCVoltValue
The adpDsgShowDCVoltValue command returns 1 if the node voltage of DC
can be back-annotated to the schematic.
Syntax
adpDsgShowDCVoltValue -topWnd winId -display 0|1
Returns
1 if successful; otherwise, returns 0.

Laker Tcl Reference Manual


K-2015.06

1585

Chapter 13: Schematic Editor


Tools Commands

Arguments
Argument

Description

-display 0|1

Valid values: Boolean values, 1 and 0 (default=0).


1 : Show the node voltage of DC.
0 : Do not show the node voltage of DC.

-topWnd winId

Specify the top window identifier.

Examples
adpDsgShowDCVoltValue -topWnd _adp2 -display 1

See Also
Tools > Annotate OP

adpDsgToolAna
The adpDsgToolAna command returns 1 if a LakerWave window has been
opened.
Syntax
adpDsgToolAna -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
adpDsgToolAna -topWnd _adp2

See Also
Tools > Waveform Analyzer

1586

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Miscellaneous

simOpenWnd
The SimOpenWnd command returns 1 if a Simulation Console window is
opened.
Syntax
simOpenWnd
Returns
None
Arguments
None
Examples
simOpenWnd

See Also
Tools > Simulation

Miscellaneous
This section describes the Tcl commands applied to the other commands in the
Schematic Editor window. These commands include:

adpDsgChgSelMode

adpDsgEnterBox

adpDsgEnterLine

adpDsgEnterPoint

adpDsgEnterPolygon

adpDsgGetSelect

adpDsgGetTreeInst

adpDsgSetSelect

adpDumpCV

adpGetCurrentHierName

adpGetSelectHierName

Laker Tcl Reference Manual


K-2015.06

1587

Chapter 13: Schematic Editor


Miscellaneous

adpGetTextEditor

adpGetwtWndId

adpMergeMultiPage

adpDsgChgSelMode
The adpDsgChgSelMode command changes the selection mode in the
Schematic Editor window.
Syntax
adpDsgChgSelMode -topWnd winId -mode selMode
Returns
None
Arguments
Argument

Description

-mode selMode

Specify the selection mode.


Valid values: Object , Vertex and Edge.

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
# Change select mode to [V/E] mode in the Schematic Editor window
# _adp3
adpDsgChgSelMode -topWnd _adp3 -mode Vertex
# Example 2
# Change select mode to [OBJ] mode in the Schematic Editor window
# _adp3
adpDsgChgSelMode -topWnd _adp3 -mode Object

adpDsgEnterBox
The adpDsgEnterBox command returns {x1, y1} {x2, y2} if the coordinates of
the bounding box can be obtained.
Syntax
adpDsgEnterBox -topWnd winId [-timeout time]

1588

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Miscellaneous

Returns
{x1, y1} {x2, y2} if successful; otherwise, returns TIMEOUT if -timeout
is specified; otherwise, returns nothing.
Arguments
Argument

Description

-timeout time

Specify the time period for enabling adpDsgEnterBox. If


the time is expired, the Tcl is aborted. The time is in seconds
(secs).

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
adpDsgEnterBox -topWnd _adp2
# the return values can be {100, 200} {134,296}
# Example 2
adpDsgEnterBox -topWnd _adp3 -timeout 30
# the return values can be TIMEOUT

adpDsgEnterLine
The adpDsgEnterLine command returns a list of points if the coordinates of
the line can be obtained.
Syntax
adpDsgEnterLine -topWnd winId
Returns
A list of points if successful; otherwise, returns 0.
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
adpDsgEnterLine -topWnd _adp2
# the return values can be {100, 200} {100, 300} {200, 300}...

Laker Tcl Reference Manual


K-2015.06

1589

Chapter 13: Schematic Editor


Miscellaneous

adpDsgEnterPoint
The adpDsgEnterPoint command returns returns {x1, y1} if the
coordinates of the clicked point can be obtained.
Syntax
adpDsgEnterPoint -topWnd winId [-timeout time]
Returns
One points coordinates {x1,y1} if successful; otherwise, returns nothing.
TIMEOUT if fail to get the coordinate of the clicked point with the timeout
option; otherwise, returns nothing.
Arguments
Argument

Description

-timeout

Specify the time period to invoke the adpDsgEnterPoint


command. If the time is expired, the command is aborted.
The time is in seconds (secs).

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
# the return value can be {100, 200}
adpDsgEnterPoint -topWnd _adp2
# Example 2
# the return value can be TIMEOUT
adpDsgEnterPoint -topWnd _adp3 -timeout 30

adpDsgEnterPolygon
The adpDsgEnterPolygon command returns {x1, y1} ... {xn, yn} if the
coordinates of the polygon can be obtained.
Syntax
adpDsgEnterPolygon -topWnd winId [-timeout time]
Returns
{x1, y1} ... {xn, yn} if successful; otherwise, returns TIMEOUT if timeout is specified; otherwise, returns nothing.

1590

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Miscellaneous

Arguments
Argument

Description

-timeout time

Specify the time period for enabling


adpDsgEnterPolygon. If the time is expired, the Tcl is
aborted. The time is in seconds (secs).

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
adpDsgEnterPolygon -topWnd _adp2
# the return values can be {100, 200} {134,296} {176,253}
# Example 2
adpDsgEnterPolygon -topWnd _adp3 -timeout 20
# the return values can be TIMEOUT

adpDsgGetSelect
The adpDsgGetSelect command returns the select set identifier in the
Schematic Editor window.
Syntax
adpDsgGetSelect -topWnd winId [-logic]
Returns
Get the select set identifier if successful; otherwise, returns nothing.
Arguments
Argument

Description

-logic

Get logical shapes or objects.

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
# get physical shapes/objects
adpDsgGetSelect -topWnd winId
# Example 2
# get logical shapes/objects
adpDsgGetSelect -topWnd winId -logic

Laker Tcl Reference Manual


K-2015.06

1591

Chapter 13: Schematic Editor


Miscellaneous

adpDsgGetTreeInst
The adpDsgGetTreeInst command returns 1 if the current node in the
design hierarchy browser pane can be obtained.
Syntax
adpDsgGetTreeInst -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
adpDsgGetTreeInst -topWnd _adp2

adpDsgSetSelect
The adpDsgSetSelect command returns 1 if the select set identifier is set.
Syntax
adpDsgSetSelect -topWnd winId -seltab obj1 obj2 ... objn
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-seltab obj1 obj2 ... objn

Set the select set identifier (Id).

-topWnd winId

Specify the top window identifier.

Examples
adpDsgSetSelect -topWnd _adp2 -seltab 30f1f28

1592

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Miscellaneous

adpDumpCV
The adpDumpCV command dumps the information of notes.
Syntax
adpDumpCV -lib LibName -cell CellName -view viewName -shape
-label [-layer LayerName] [-sheet sheetNum]
Returns
None
Arguments
Argument

Description

-cell CellName

Specify the cell containing the information of notes.

-label

Dump the information of text labels.

-layer LayerName

Specify the layer name.

-lib libName

Specify the library database.

-shape

Dump the information of shapes.

-sheet sheetNum

Specify the sheet number of multi-sheet cell views.


Valid value: a positive integer, greater than or equal to
1.

-view viewName

Specify the view to be configured.

Examples
# Example 1
adpDumpCV -lib libA -cell test -shape -label -layer Comments
# Example 2
# If it is a multi-sheet cell view, only objects in Sheet1 are
# dumped; if it is not a multi-sheet cell view, the whole cell view
# is dumped.
adpDumpCV -lib libA -cell testB -view schematic -sheet 1

adpGetCurrentHierName
The adpGetCurrentHierName command displays the full path name of the
current cell.
Laker Tcl Reference Manual
K-2015.06

1593

Chapter 13: Schematic Editor


Miscellaneous

When -netlist or -obj is specified for hierarchical instances, if the Name


Prefix text field in the Netlist tab of the Parameter Dialog form contains
characters "" (for example: "x"), the prefix string is returned as x. If the Name
Prefix text field is empty, an x is added to the prefix string for all netlist types
except Spectre. If the Name Prefix text field is empty, an x is not automatically
added to the prefix string for the Spectre netlist.
Syntax
adpGetCurrentHierName -topWnd winId [-netlist netType] [obj objectId] [-trimtop 0|1] [-delimiter delimiter] [dump fileName] [-top 0|1]
Returns
None
Arguments

1594

Argument

Description

-delimiter delimiter

Assign the hierarchical delimiter for objects. If the


parameter is not set, the default delimiter is used.

-dump fileName

Specify the file name to dump the results. The default file
name is adpGetCurrentHierName.log.

-netlist netType

Dump the prefix string of the full path name of instances


by specifying the net type.
Valid values: hspice, cdl, eldo, smartspice, and
verilog.

-top 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Show the top level port name.
0 : Do not show the top level port name.

-obj objectId

Dump the prefix string of the full path name of objects


(instances, nets, or ports) by specifying the object
identifier (instanceId, netId, or portId).

-topWnd winId

Specify the top window identifier.

-trimtop 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Remove the top scope. For example, if the original
value contains top.xi1.a, the returned value is
xi1.a.
0 : Return the original value.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Miscellaneous

Examples
# Example 1
# Show the full path name (SplitP.X1.X1) of the current cell.
adpGetCurrentHierName -topWnd _adp2
# Example 2
# Show the full path name (SplitP.X1.X1) of the current cell
# and dump the results to a.out
adpGetCurrentHierName -topWnd _adp2 -dump a.out
# Example 3
# Show the full path name (SplitP/X1/X1) of the
# current cell with delimiter "/".
adpGetCurrentHierName -topWnd _adp2 -delimiter /

Figure 1

Examples 1-3

# Example 4
# Dump the prefix string of the full path name (inv.XX1.XX2)
# of instances by specifying the net type
adpGetCurrentHierName -topWnd _adp2 -netlist Hspice
# Example 5
# Dump the prefix string of the full path name of objects
# (inv.X1.X2.Mn, if the object type is an instance)
# by specifying the object identifier
adpGetCurrentHierName -topWnd _adp2 -obj 0x21563480
# Example 6
# Dump the prefix string of the full path name of objects
# (inv.XX1.XX2.MMn, if the object type is an instance)
# by specifying the object identifier
adpGetCurrentHierName -topWnd _adp2 -netlist hspice \
-obj 0x21563480

Laker Tcl Reference Manual


K-2015.06

1595

Chapter 13: Schematic Editor


Miscellaneous

# Example 7
# Dump the prefix string of the full path name of objects
# (inv.X1.X2.A, if the object type is a net or port)
# by specifying the object identifier
adpGetCurrentHierName -topWnd _adp2 -obj 0x21563480

adpGetSelectHierName
The adpGetSelectHierName command displays the full path name of the
selected objects.
Syntax
adpGetSelectHierName -topWnd winId [-delimiter delimiter]
[-inst] [-port] [-net] [-netlist netType] [-dump
fileName]
Returns
None
Arguments

1596

Argument

Description

-delimiter delimiter

Assign the delimiter of the hierarchy name of the objects.


If the parameter is not set, the default delimiter is used.

-dump fileName

Specify the file name to dump the results.

-inst

Show the full path name of the selected instance only.

-net

Show the full path name of the selected net only.

-netlist netType

Add the prefix string of the full path name of instances by


specifying the net type.
Valid values: hspice, cdl, eldo, smartspice, and
verilog.

-port

Show the full path name of the selected port only.

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Miscellaneous

Examples
# Example 1
# Show the full path name of all of the selected objects.
adpGetSelectHierName -topWnd _adp2
# Example 2
# Show the full path name of the selected instance
# and net objects.
adpGetSelectHierName -topWnd _adp2 -inst -net
# Example 3
# Show the full path name with the prefix of hspice
# of the selected instance and dump the results to a.out
adpGetSelectHierName -topWnd _adp2 -inst -netlist hspice
-dump a.out
# Example 4
# Show the full path name of all of the selected objects with
# the delimiter "."
adpGetSelectHierName -topWnd _adp2

adpGetTextEditor
The adpGetTextEditor command displays the value of the text editor.
Syntax
adpGetTextEditor -dump fileName
Returns
None
Arguments
Argument

Description

-dump fileName

Specify the file name to dump the results.

Examples
# Example 1
# Show the value of the text editor.
adpGetTextEditor
# Example 2
# Show the value of the text editor and dump the results to a.out.
adpGetTextEditor -dump a.out

Laker Tcl Reference Manual


K-2015.06

1597

Chapter 13: Schematic Editor


Miscellaneous

adpGetwtWndId
The adpGetwtWndId command returns a window identifier if the window
identifier of the current Schematic Editor or Symbol Editor window can be
obtained.
Syntax
adpGetwtWndId
Returns
A window identifier if successful; otherwise, returns nothing.
Arguments
None
Examples
# Example 1
# Get the window Id of the current window
adpGetwtWndId

adpMergeMultiPage
The adpMergeMultiPage command merges the cell view(s) with multiple
pages into one schematic.
-lib libName [-cell cellName] specify the library and cells to be
merged.

If the specified cellview contains multiple pages, it is merged. The cell view
to be merged should be closed, otherwise the merge operation is failed.

If only the library is specified (the cell name is not specified), all cells in the
library are scanned, and if any cell views contain multiple pages, they are
merged.

If there are conflicting names, the instances are renamed in


pageName_instName format, and the net and port names remain
unchanged.

[-fixSize] [-borderWidth width] [-borderHeight height]


specify the border size of each page.

1598

Laker Tcl Reference Manual


K-2015.06

Chapter 13: Schematic Editor


Miscellaneous

If -fixSize is not specified, the origin size of each page is used.

If -fixSize is specified, each page is applied with a fixed border. The


border width is specified by -borderWidth, and the border height is
specified by -borderHeight. The default border width is the maximum
page width in the current cell. The default border height is the maximum
page height in the current cell. The border is illustrated in dashed lines.

The page name is printed at the upperleft corner of the border.

[-placeX value] [-offset offset] specify the alignment of all pages.

-placeX specifies the number of pages to be placed in a row. The default


is 5.

-offset specifies the interval (left, right, top and down) of each page. The
default is 100. The offset value is a reference value and may be not the real
value, because it can be adjusted to meet the not overlap and on-grid
conditions.

All pages can be sorted, from left to right and top to down, by page name.

Syntax
adpMergeMultiPage -lib libName [-cell cellName] [-fixSize]
[-borderWidth width] [-borderHeight height] [-placeX
value] [-offset offset]
Returns
None
Arguments
Argument

Description

-borderHeight height

Specify the border height for the fixed border.


Valid value: a positive integer.

-borderWidth width

Specify the border width for the fixed border.


Valid value: a positive integer.

-cell cellName

Specify the cell name.

-fixSize

Specify a fixed size value for each page.


Valid value: a positive integer.

-lib libName

Specify the library name.

Laker Tcl Reference Manual


K-2015.06

1599

Chapter 13: Schematic Editor


Miscellaneous

Argument

Description

-offset offset

Specify an offset value for each page.


Valid value: a positive integer (default=100).

-placeX value

Specify the number of pages to be placed in a row.


Valid value: a positive integer (default=5).

Examples
# Example 1
adpMergeMultiPage -lib libA -cell cellA -fixSize \
-borderWidth 200 -borderHeight 300 -placeX 3 -offset 20
# the output is illustrated in the following figure:

# Example 2
adpMergeMultiPage -lib libA -cell cellB -placeX 3 -offset 20 \
# the output is illustrated in the following figure:

1600

Laker Tcl Reference Manual


K-2015.06

14
14

Symbol Editor

This chapter describes the definable Tcl commands to access the Graphical
User Interface (GUI) which applied within the Symbol Editor window.

The Tcl commands are explained in the following sections. Tcl commands and
arguments are sorted alphabetically.

Cell Commands

View Commands

Create Commands

Edit Commands

Query Commands

Options Commands

Miscellaneous

Cell Commands
This section describes the Tcl commands applied to the Cell commands of the
Symbol Editor window. These commands include:

adpLibMgrOpenDesign

symChangeMode

symDiscardEdit

symDsgCheckSave

symDsgCloseWnd

Laker Tcl Reference Manual


K-2015.06

1601

Chapter 14: Symbol Editor


Cell Commands

symDsgSave

symDsgSaveAs

adpLibMgrOpenDesign
The adpLibMgrOpenDesign command is applied to both the File > Open
and Cell > New commands in the Home Page. Refer to File Commands >
adpLibMgrOpenDesign in the Home Page chapter for details.

symChangeMode
The symChangeMode command changes the editing mode of the active cell
view.
Syntax
symChangeMode -topWnd winId [-save 0|1]
Returns
None
Arguments
Argument

Description

-save 0|1

Valid values: Boolean values, 0 and 1.


1 : Save the active cell view.
0 : Do not save the active cell view.

-topWnd winId

Specify the top window identifier.

Examples
symChangeMode -topWnd _adp2

See Also
Cell > Change to Read Only/Edit Mode

symDiscardEdit
The symDiscardEdit command discards the editing actions performed and
reverts to the last saved version of the data.

1602

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Cell Commands

Syntax
symDiscardEdit -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# discard the modified design and restore to the original design
symDiscardEdit -topWnd _adp2

See Also
Cell > Discard Edit

symDsgCheckSave
The symDsgCheckSave command returns 1 if the Check and Save function is
executed. This command combines the functions of pin checking and saving.
Syntax
symDsgCheckSave -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
symDsgCheckSave -topWnd _adp2

See Also
Cell > Check and Save

Laker Tcl Reference Manual


K-2015.06

1603

Chapter 14: Symbol Editor


Cell Commands

symDsgCloseWnd
The symDsgCloseWnd command returns 1 if the Symbol Editor window is
closed.
Syntax
symDsgCloseWnd -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
symDsgCloseWnd -topWnd _adp3

See Also
Cell > Close

symDsgSave
The symDsgSave command saves the activated design to the database.
Syntax
symDsgSave -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# save the activated design to database
symDsgSave -topWnd _adp3

1604

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


View Commands

See Also
Cell > Save

symDsgSaveAs
The symDsgSaveAs command saves the activated design to another cell.
Syntax
symDsgSaveAs -topWnd winId -cell cellName [-view viewName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-cell cellName

Specify the cell to be saved.

-topWnd winId

Specify the top window identifier.

-view viewName

Specify the view name of the cell.


Valid values: schematic, symbol, and any user-defined
view name (default=schematic).

Examples
# Example 1
# Save the activated design to another cell (demo)
symDsgSaveAs -topWnd _adp3 -cell demo

See Also
Cell > Save As

View Commands
This section describes the Tcl commands applied to the View commands of the
Symbol Editor window. These commands include:

symDsgPanDown

symDsgPanLeft

symDsgPanRight

Laker Tcl Reference Manual


K-2015.06

1605

Chapter 14: Symbol Editor


View Commands

symDsgPanUp

symDsgRedraw

symDsgZoomFit

symDsgZoomIn

symDsgZoomOut

symDsgPanDown
The symDsgPanDown command pans the current view area downward the
current window or view box boundary.
Syntax
symDsgPanDown -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
symDsgPanDown -topWnd _adp3

See Also
View > Pan > Pan Down

symDsgPanLeft
The symDsgPanLeft command pans the current view area to the left of the
current window or view box boundary.
Syntax
symDsgPanLeft -topWnd winId
Returns
None

1606

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


View Commands

Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
symDsgPanLeft -topWnd _adp3

See Also
View > Pan > Pan Left

symDsgPanRight
The symDsgPanRight command pans the current view area to the right of the
current window or view box boundary.
Syntax
symDsgPanRight -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
symDsgPanRight -topWnd _adp3

See Also
View > Pan > Pan Right

symDsgPanUp
The specified ratio, the symDsgPanUp command pans the current view area
upward the current window or view box boundary.
Syntax
symDsgPanUp -topWnd winId

Laker Tcl Reference Manual


K-2015.06

1607

Chapter 14: Symbol Editor


View Commands

Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
symDsgPanUp -topWnd _adp3

See Also
View > Pan > Pan Up

symDsgRedraw
The symDsgRedraw command redraws the current view area.
Syntax
symDsgRedraw -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# redraw the current view area
symDsgRedraw -topWnd _adp3

See Also
View > Redraw

symDsgZoomFit
The symDsgZoomFit command fits the current design in the Symbol Editor
window.

1608

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


View Commands

Syntax
symDsgZoomFit -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# fit the current design in the Symbol Editor window
symDsgZoomFit -topWnd _adp3

See Also
View > Zoom All

symDsgZoomIn
The symDsgZoomIn command zooms in the view area by 1/2 of the Symbol
Editor window.
Syntax
symDsgZoomIn -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# zoom in the view area by 1/2 of the Symbol Editor window
symDsgZoomIn -topWnd _adp3

See Also
View > Zoom In

Laker Tcl Reference Manual


K-2015.06

1609

Chapter 14: Symbol Editor


Create Commands

symDsgZoomOut
The symDsgZoomOut command zooms out the view area by 1/2 of the Symbol
Editor window.
Syntax
symDsgZoomOut -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# zoom out the view area by 1/2 of the Symbol Editor window
symDsgZoomOut -topWnd _adp3

See Also
View > Zoom Out

Create Commands
This section describes the Tcl commands applied to the Create commands of
the Symbol Editor window. These commands include:

1610

symDsgAddNetExpr

symDsgCreateArc

symDsgCreateBoundaryBox

symDsgCreateBubble

symDsgCreateCircle

symDsgCreateEllipse

symDsgCreateFillCircle

symDsgCreateFillPolygon

symDsgCreateFillRect

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Create Commands

symDsgCreateLine

symDsgCreatePin

symDsgCreatePolygon

symDsgCreateRect

symDsgCreateLabel

symDsgAddNetExpr
The symDsgAddNetExpr command specifies the net expression.
Syntax
symDsgAddNetExpr -topWnd wndId -prop propName -netName
netName -point (x0,y0) -justify justification -orient
orientation -fontStyle fontStyle -fontheight fontHeight
Returns
None
Arguments
Argument

Description

-fontheight fontHeight

Specify the text height.

-fontStyle fontStyle

Specify the font style.


Valid values: TTARomanFont, TTAGothFont, and
TTASlabFont (default=TTAGothFont).

-justify justification

Specify the justification for the input text string.


Valid values: UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight, and
LowerRight (default=LowerLeft).

-netName netName

Specify the default global net name.

-orient orientation

Specify the orientation.


Valid values: R0, R90, R180, and R270 (default=R0).

-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

1611

Chapter 14: Symbol Editor


Create Commands

Argument

Description

-prop propName

Specify the property name.

-topWnd winId

Specify the top window identifier.

Examples
symDsgAddNetExpr -topWnd _adp3 -prop n2vdd -netName qq! \
-point (0.0,0.125) -justify LowerLeft -orient R0 \
-fontStyle TTAGothFont -fontheight 0.0625

See Also
Create > Net Expression

symDsgCreateArc
The symDsgCreateArc command returns a dbFigId if the specified arc is
created.
Syntax
symDsgCreateArc -topWnd winId -point (x0,y0) (x1,y1) (x2,y2)
-layer layer
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-layer layer

Specify the layer for the symbol body.

-point
(x0,y0) (x1,y1) (x2,y2)

x0, x1 and x2 specify the left value, the right value,


and the center value for the x coordinate points
respectively while y0, Y1 and Y2 specify the values for
the y coordinate points.

-topWnd winId

Specify the top window identifier.

Examples
symDsgCreateArc -topWnd__adp2 \
-point (-390,210) (-200,120) (-260,240)

1612

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Create Commands

See Also
Create > Arc

symDsgCreateBoundaryBox
The symDsgCreateBoundaryBox command returns a dbFigId if the specified
boundary box is created.
Syntax
symDsgCreateBoundaryBox -topWnd winId [-bbox (x0,y0) (x1,y1)
| -autoCreateBoundary]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-autoCreateBoundary

When specified, a boundary box is created


automatically.

-bbox (x0,y0) (x1,y1)

(x0,y0) specifies the lower left corner of the boundary


box while (x1,y1) specifies the upper right corner.

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
# create a boundary box manually in the symbol editor window
symDsgCreateBoundaryBox -topWnd _adp2 -bbox (-10,40) (0,40)
# Example 2
# create a boundary box automatically in the symbol editor window
symDsgCreateBoundaryBox -topWnd _adp2 -autoCreateBoundary

See Also
Create > Boundary Box

symDsgCreateBubble
The symDsgCreateBubble command returns a dbFigId if the specified
bubble shape can be created.
Laker Tcl Reference Manual
K-2015.06

1613

Chapter 14: Symbol Editor


Create Commands

Syntax
symDsgCreateBubble -topWnd winId -point (x0,y0) [-mini 0|1]
-layer layer [-orient orientation]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-layer layer

specify the layer for the symbol body.

-mini 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Create mini bubble shapes.
0 : Create big bubble shapes.

-orient orientation

Specify the orientation.


Valid values: R0, R90, R180, and R270 (default=R0).

-point (x0,y0)

x0 specifies a center value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-topWnd winId

Specify the top window identifier.

Examples
symDsgCreateBubble -topWnd _adp4 -point (-20,0) -orient R0 \
-layer adpBodyColor -mini 1

See Also
Create > Bubble

symDsgCreateCircle
The symDsgCreateCircle command returns a dbFigId if the specified circle
shape can be created.
Syntax
symDsgCreateCircle -topWnd winId -point (x0,y0) -value value
-layer layer
Returns
A dbFigId if successful; otherwise, returns nothing.

1614

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Create Commands

Arguments
Argument

Description

-layer layer

Specify the layer for the symbol body.

-point (x0,y0)

x0 specifies a center value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-topWnd winId

Specify the top window identifier.

-value value

specify the radius of the circle.

Examples
symDsgCreateCircle -topWnd _adp2 -point (600,-120) -value 42

See Also
Create > Circle

symDsgCreateEllipse
The symDsgCreateEllipse command returns a dbFigId if the specified
ellipse shape can be created.
Syntax
symDsgCreateEllipse -topWnd winId -bbox (x0,y0)(x1,y1) layer layer
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-bbox (x0,y0) (x1,y1)

(x0,y0) specifies the lower left corner of the ellipse


while (x1,y1) specifies the upper right corner.

-layer layer

Specify the layer for the symbol body.

-topWnd winId

Specify the top window identifier.

Examples
symDsgCreateEllipse -topWnd _adp2 -bbox (730,400) (1000,530)

Laker Tcl Reference Manual


K-2015.06

1615

Chapter 14: Symbol Editor


Create Commands

See Also
Create > Ellipse

symDsgCreateFillCircle
The symDsgCreateFillCircle command returns a dbFigId if the specified
filled-circle shape can be created.
Syntax
symDsgCreateFillCircle -topWnd winId -point (x0,y0) -value
value -layer layer
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-layer layer

Specify the layer for the symbol filled body.

-point (x0,y0)

x0 specifies a center value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-topWnd winId

Specify the top window identifier.

-value value

Specify the radius of the circle.

Examples
symDsgCreateFillCircle -topWnd _adp2 -point (600,-120) -value 42 \
-layer adpPadBodyColor

See Also
Create > Filled Circle

symDsgCreateFillPolygon
The symDsgCreateFillPolygon command returns a dbFigId if the specified
filled-polygon can be created.

1616

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Create Commands

Syntax
symDsgCreateFillPolygon -topWnd winId -point
(x0,y0)(x1,y1)... -layer layer
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-layer layer

Specify the layer for the symbol filled body.

-point (x0,y0) (x1,y1)...

(x0,y0) specifies the starting point of the filledpolygon while (x1,y1) specifies the second point,
etc.

-topWnd winId

Specify the top window identifier.

Examples
symDsgCreateFillPolygon -topWnd _adp2 -point \
(0,660) (0,620) (20,620) (20,640) (40,640) (40,660) \
-layer adpPadBodyColor

See Also
Create > Filled Polygon

symDsgCreateFillRect
The symDsgCreateFillRect command returns a dbFigId if the specified
filled-rectangle shape can be created.
Syntax
symDsgCreateFillRect -topWnd winId -bbox (x0,y0)(x1,y1) layer layer
Returns
A dbFigId if successful; otherwise, returns nothing.

Laker Tcl Reference Manual


K-2015.06

1617

Chapter 14: Symbol Editor


Create Commands

Arguments
Argument

Description

-bbox (x0,y0) (x1,y1)

(x0,y0) specifies the lower left corner of the filledrectangle while (x1,y1) specifies the upper right
corner.

-layer layer

Specify the layer for symbol filled body.

-topWnd winId

Specify the top window identifier.

Examples
symDsgCreateFillRect -topWnd _adp2 -bbox (-80,610) (-40,660) \
-layer adpPadBodyColor

See Also
Create > Filled Rectangle

symDsgCreateLine
The symDsgCreateLine command returns a dbFigId if the specified line can
be created.
Syntax
symDsgCreateLine -topWnd winId -point (x0,y0)(x1,y1)... layer layer
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments

1618

Argument

Description

-layer layer

Specify the layer for the symbol body.

-point (x0,y0) (x1,y1)...

(x0,y0) specifies the starting point of the line while


(x1,y1) specifies the second point, etc.

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Create Commands

Examples
symDsgCreateLine -topWnd _adp2 -point \
(810,320) (930,320) (930,240) (1010,240) (1010,150) \
-layer adpBodyColor

See Also
Create > Line

symDsgCreatePin
The symDsgCreatePin command returns a dbFigId if the specified pin can be
created.
Syntax
symDsgCreatePin -topWnd winId -point (x0,y0) -pinName
pinName [-expand 0|1] [-placeObj type] -pinNameAlign mode
-pinType pinType -dir pinDir -orient orientation fontStyle fontStyle [-setGlobal setGlobal -globalType
type]
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-dir pinDir

Specify the pin direction.


Valid values: input, output, and inout.

-expand 0|1

Valid values: Boolean values, 0 and 1.


1 : Display bus expansion.
0 : Do not display bus expansion.

-fontStyle fontStyle

Specify the font style.


Valid values: TTARomanFont, TTAGothFont, and
TTASlabFont (default=TTAGothFont).

-globalType type

Specify the global type.


Valid values: Global, Power, and Ground
(default=Global).

Laker Tcl Reference Manual


K-2015.06

1619

Chapter 14: Symbol Editor


Create Commands

Argument

Description

-orient orientation

Specify the orientation.


Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).

-pinName pinName

Specify the pin name.

-pinNameAlign mode

Specify the label location.


Valid values: Left, and Right.

-pinType pinType

Specify the pin type.


Valid values: Square, ActHi, and commActLo.

-placeObj type

Specify the wire type.


Valid values: single, and multiple.

-point (x0,y0)

x0 specifies a position value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-setGlobal setGlobal

Specify the pin type to global type.

-topWnd winId

Specify the top window identifier.

Examples
symDsgCreatePin -topWnd _adp2 -point (10,10) \
-pinName TEST_PIN -pinNameAlign left -pinType Square \
-dir input -orient R0 -fontStyle TTAGothFont

See Also
Create > Pin

symDsgCreatePolygon
The symDsgCreatePolygon command returns a dbFigId if the specified
polygon can be created.
Syntax
symDsgCreatePolygon -topWnd winId -point (x0,y0)(x1,y1)...
-layer layer
Returns
A dbFigId if successful; otherwise, returns nothing.

1620

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Create Commands

Arguments
Argument

Description

-layer layer

Specify the layer for the symbol body.

-point (x0,y0) (x1,y1)...

(x0,y0) specifies the starting point of the polygon


while (x1,y1) specifies the second point, etc.

-topWnd winId

Specify the top window identifier.

Examples
symDsgCreatePolygon -topWnd _adp2 -point \
(0,660) (0,620) (20,620) (20,640) (40,640) (40,660) \
-layer adpBodyColor

See Also
Create > Polygon

symDsgCreateRect
The symDsgCreateRect command returns a dbFigId if the specified
rectangle shape can be created.
Syntax
symDsgCreateRect -topWnd winId -bbox (x0,y0)(x1,y1) -layer
layer
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-bbox (x0,y0) (x1,y1)

(x0,y0) specifies the lower left corner of the rectangle


while (x1,y1) specifies the upper right corner.

-layer layer

Specify the layer for the symbol body.

-topWnd winId

Specify the top window identifier.

Examples
symDsgCreateRect -topWnd _adp2 -bbox (-80,610) (-40,660) \
-layer adpBodyColor
Laker Tcl Reference Manual
K-2015.06

1621

Chapter 14: Symbol Editor


Create Commands

See Also
Create > Rectangle

symDsgCreateLabel
The symDsgCreateLabel command returns a dbFigId if the specified text
label can be created.
Syntax
symDsgCreateLabel -topWnd winId -point (x0,y0) -label
{string} -fontheight fontHeight -fontStyle fontStyle justify justification -orient orientation -layer layer
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments

1622

Argument

Description

-fontheight fontHeight

Specify the text height.

-fontStyle fontStyle

Specify the font type for the input text string.


Valid values: TTARomanFont, TTAGothFont, and
TTASlabFont (default=TTAGothFont).

-justify justification

Specify the justification for the input text string.


Valid values: UpperLeft, CenterLeft, LowerLeft,
UpperCenter, CenterCenter, LowerCenter,
UpperRight, CenterRight, and LowerRight
(default=LowerLeft).

-label {string}

Specify the text string.


Valid values: cdsName(), cdsParam(1),
cdsTerm("D"), [@instanceName], [@libName],
[@cellName], [@PartName], and [@userParam].

-layer layer

Specify the layer for the text label.

-orient orientation

Specify the orientation.


Valid values: R0, R90, R180, R270, MXR0, MXR90,
MYR0, and MYR90 (default=R0).

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Edit Commands

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.

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
symDsgCreateLabel -topWnd _adp2 -point (450,540) \
-label {[@instanceName]} -fontheight 0.65 \
-fontStyle TTAGothFont -justify LowerLeft -orient R0
# Example 2
symDsgCreateLabel -topWnd _adp2 -point (450,540) \
-label {cdsName()} -fontheight 0.65 -fontStyle TTAGothFont \
-justify LowerLeft -orient R0

See Also
Create > Label

Edit Commands
This section describes the Tcl commands applied to the Edit commands of the
Symbol Editor window. These commands include:

symDsgCopy

symDsgDelete

symDsgDeselectAll

symDsgEditOrigin

symDsgPaste

symDsgMirrorX

symDsgMirrorY

symDsgMove

symDsgRedo

symDsgRotateLeft

symDsgRotateRight

Laker Tcl Reference Manual


K-2015.06

1623

Chapter 14: Symbol Editor


Edit Commands

symDsgSelectAll

symDsgStretch

symDsgUndo

symDsgYank

symDsgCopy
The symDsgCopy command copies the selected object from a point to a
reference point.
Syntax
symDsgCopy -topWnd winId -point (x0,y0) -refPoint (x1,y1)
[-rows rowsNo] [-columns columnsNo]
Returns
None
Arguments
Argument

Description

-columns columnsNo

Specify the number of objects to be copied in columns.


Valid value: an integer (default=1).

-point (x0,y0)

Specify a starting point to copy. x0 specifies a reference


position value for the x coordinate point while y0
specifies the value for the y coordinate point.

-refPoint (x1,y1)

Specify the destination for the copied object. x1


specifies a reference position value for the x coordinate
point while y1 specifies the value for the y coordinate
point.

-rows rowsNo

Specify the number of objects to be copied in rows.


Valid value: an integer (default=1).

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
symDsgCopy -topWnd _adp2 -point (560,440) \
-refpoint (250,510) -rows 2 -columns 3

1624

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Edit Commands

See Also
Edit > Copy

symDsgDelete
The symDsgDelete command deletes the selected object(s).
Syntax
symDsgDelete -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
symDsgDelete -topWnd _adp2

See Also
Edit > Delete

symDsgDeselectAll
The symDsgDeselectAll command deselects all selected objects in the
active cell view.
Syntax
symDsgDeselectAll -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

1625

Chapter 14: Symbol Editor


Edit Commands

Examples
# deselect all selected objects in the active cell view
symDsgDeselectAll -topWnd _adp2

See Also
Edit > Deselect All

symDsgEditOrigin
The symDsgEditOrigin command returns a dbFigId if the original point of
the active cell view to a new origin has been changed.
Syntax
symDsgEditOrigin -topWnd winId -point (x0,y0)
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument

Description

-point (x0,y0)

x0 specifies a center value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-topWnd winId

Specify the top window identifier.

Examples
symDsgEditOrigin -topWnd _adp2 -point (600,-120)

See Also
Edit > Origin

symDsgPaste
The symDsgPaste command pastes the yanked object from clipboard to the
current cell view.
Syntax
symDsgPaste -topWnd _adp2 -point (x0,y0) [-orient
orientation] [-justify justification] [-keepName]

1626

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Edit Commands

Returns
None
Arguments
Argument

Description

-justify justification

Specify the justification of the pasting reference point.


Valid values: Original, UpperLeft, CenterLeft,
LowerLeft, UpperCenter, CenterCenter,
LowerCenter, UpperRight, CenterRight, and
LowerRight (default=Original).

-keepName

If it is specified, keep all pin names after pasting. If it is


not specified, do not keep the pin name.

-orient orientation

Specify the orientation of objects.


Valid values: R0, R90, R180, R270, MXR0, MXR90, MYR0,
and MYR90 (default=R0).

-point (x0,y0)

Specify a starting point to paste. x0 specifies a position


value for the x coordinate point while y0 specifies the
value for the y coordinate point.

-topWnd winId

Specify the window identifier of the Symbol Editor


window.

Examples
symDsgPaste -topWnd _adp2 -point (32,16) -orient MX \
-justify CenterLeft

See Also
Edit > Paste

symDsgMirrorX
The symDsgMirrorX command mirrors the selected objects along the x axis.
Syntax
symDsgMirrorX -topWnd winId -point (x0,y0)
Returns
None

Laker Tcl Reference Manual


K-2015.06

1627

Chapter 14: Symbol Editor


Edit Commands

Arguments
Argument

Description

-point (x0,y0)

x0 specifies a center value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-topWnd winId

Specify the top window identifier.

Examples
symDsgMirrorX -topWnd _adp2 -point (600,-120)

See Also
Edit > Mirror X

symDsgMirrorY
The symDsgMirrorY command mirrors the selected objects along the y axis.
Syntax
symDsgMirrorY -topWnd winId -point (x0,y0)
Returns
None
Arguments
Argument

Description

-point (x0,y0)

x0 specifies a center value for the x coordinate point


while y0 specifies the value for the y coordinate point.

-topWnd winId

Specify the top window identifier.

Examples
symDsgMirrorY -topWnd _adp2 -point (40,0)

See Also
Edit > Mirror Y

1628

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Edit Commands

symDsgMove
The symDsgMove command moves the selected object from one point to
another.
Syntax
symDsgMove -topWnd winId -point (x0,y0) -refPoint (x1,y1)
Returns
None
Arguments
Argument

Description

-point (x0,y0)

Specify a starting point to move. x0 specifies a reference


position value for the x coordinate point while y0
specifies the value for the y coordinate point.

-refPoint (x1,y1)

Specify the destination for the moved object. x1 specifies


a reference position value for the x coordinate point while
y1 specifies the value for the y coordinate point.

-topWnd winId

Specify the top window identifier.

Examples
symDsgMove -topWnd _adp2 -point (560,620) -refpoint (530,690)

See Also
Edit > Move

symDsgRedo
The symDsgRedo command repeats the last action performed.
Syntax
symDsgRedo -topWnd winId
Returns
None

Laker Tcl Reference Manual


K-2015.06

1629

Chapter 14: Symbol Editor


Edit Commands

Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
# Redo the last editing command
symDsgRedo -topWnd _adp2

See Also
Edit > Redo

symDsgRotateLeft
The symDsgRotateLeft command rotates the selected objects at 90
degrees counterclockwise.
Syntax
symDsgRotateLeft -topWnd winId -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.

-topWnd winId

Specify the top window identifier.

Examples
symDsgRotateLeft -topWnd _adp2 -point (490,670)

See Also
Edit > Rotate 90

1630

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Edit Commands

symDsgRotateRight
The symDsgRotateRight command turns the selected objects at 90 degrees
clockwise.
Syntax
symDsgRotateRight -topWnd winId -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.

-topWnd winId

Specify the top window identifier.

Examples
symDsgRotateRight -topWnd _adp2 -point (490,670)

See Also
Edit > Rotate 270

symDsgSelectAll
The symDsgSelectAll command selects all objects in the active cell view.
Syntax
symDsgSelectAll -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

1631

Chapter 14: Symbol Editor


Edit Commands

Examples
# select all objects in the active cell view
symDsgSelectAll -topWnd _adp2

See Also
Edit > Select All

symDsgStretch
The symDsgStretch command returns 1 if the stretch command is executed.
Syntax
symDsgStretch -topWnd winId -point (x,y) -refpoint (x,y) lock 0|1
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-lock 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Enable the Lock Angle option.
0 : Disable the Lock Angle option.

-point (x, y)

Specify the start point for stretching.

-refpoint (x, y)

Specify the end point for stretching.

-topWnd winId

Specify the top window identifier.

Examples
symDsgStretch -topWnd _adp2 -point (250, 170) \
-refpoint (180, 140) -lock 1

See Also
Edit > Stretch

symDsgUndo
The symDsgUndo command reverses the last action performed.

1632

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Edit Commands

Syntax
symDsgUndo -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
# Undo the last editing command
symDsgUndo -topWnd _adp2

See Also
Edit > Undo

symDsgYank
The symDsgYank command yanks the selected object(s) to a yank buffer for
further paste command.
Syntax
symDsgYank -topWnd winId [-point (x1,y1) ... (xn,yn)]
Returns
None
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.

-topWnd winId

Specify the window ID of the Symbol Editor window.

Laker Tcl Reference Manual


K-2015.06

1633

Chapter 14: Symbol Editor


Query Commands

Examples
symDsgYank -topWnd _adp2

See Also
Edit > Yank

Query Commands
This section describes the Tcl commands applied to the Query commands of
the Symbol Editor window. These commands include:

adpLibCellParam

symCheckPinOrder

symDsgQueryAttribute

symDsgQueryFind

symDsgQueryProp

symDsgClearHighlight

symDsgTermOrder

symDsgCheckOffGridObj

adpLibCellParam
The adpLibCellParam command is applied to the Library > Parameter
command in the Home Page. Refer to Library Commands > adpLibCellParam
in the Home Page chapter for details.
See Also
Query > Parameter

symCheckPinOrder
The symCheckPinOrder command checks the unmatched pins and
unmatched pin order for the selected cell. The information of unmatched pins
between the symbol and schematic views is checked.

1634

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Query Commands

Syntax
symCheckPinOrder -topWnd winId [-dump]
Returns
None
Arguments
Argument

Description

-dump

Dump the Check Pin results to a file. The default file name
is CheckPin.dump. The unmatched pins and unmatched
pin order are listed in the dump file.

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
# Dump the unmatched pins, unmatched pin order and
# term order to a file
symCheckPinOrder -topWnd _adp2 -dump

See Also
Query > Check Pin

symDsgQueryAttribute
The symDsgQueryAttribute command returns 1 if the attributes of the
selected object are modified.
Syntax
symDsgQueryAttribute -topWnd winId -label {string} -dir
portType -portDir portDir -pinName pinName -point (x0,y0)
-index index -prop propName -netName netName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-dir portType

Specify the port type.


Valid values: Input, Output, and Inout.

Laker Tcl Reference Manual


K-2015.06

1635

Chapter 14: Symbol Editor


Query Commands

Argument

Description

-index index

Specify the index.

-label {string}

Specify the text string.


Valid values: @instanceName, @libName, @cellName,
@PortName, @Param(1), @SimAnn(1) and any text
string.

-netName netName

Specify the default global net name.

-pinName pinName

Specify the pin name.

-point (x0,y0)

x0 specifies the value for the x coordinate point while y0


specifies the value for the y coordinate point.

-portDir portDir

Specify the pin access direction.


Valid values: top, bottom, left, right, and AsIs.

-prop propName

Specify the property name.

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
symDsgQueryAttribute -topWnd _adp3 -dir Input -portDir left \
-pinName in -point (30,0)
# Example 2
# Query a label to change the label name
symDsgQueryAttribute -topWnd _adp2 -label abcd
# Example 3
symDsgQueryAttribute -topWnd _adp3 -index 1 -prop ccc \
-netName bbb!

See Also
Query > Attribute

symDsgQueryFind
The symDsgQueryFind command searches the specified object(s) according
to the search criteria.

1636

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Query Commands

Syntax
symDsgQueryFind -topWnd winId -type searchType -searProp
searchProp -case 0|1 -zoomToSelectSet 0|1
Returns
None
Arguments
Argument

Description

-case 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Specify the case sensitivity of comparing string(s).
0 : Do not specify the case sensitivity of comparing
string(s).

-searProp searchProp

Search criteria list; the criteria include name, operation


and value field. The name is for specific attributes,
instance, library, or properties for the object type; the
operation is for objects equal to (==) or not equal to (!=)
the criteria; and, the value field sets the attribute value.

-topWnd winId

Specify the top window identifier.

-type searchType

Set the type of objects to be searched.


Valid values: Instance, Net, and Port.

-zoomToSelectSet 0|1

Valid values: Boolean values, 0 and 1 (default=1).


1 : Zoom the window view to the searched object.
0 : Do not zoom the window view to the searched object.

Examples
symDsgQueryFind -topWnd _adp2 -type pin -searProp { Pin == a* } \
-case 0 -zoomToSelectSet 1

See Also
Query > Find

symDsgQueryProp
The symDsgQueryProp command edits cell view properties in the symbol.

Laker Tcl Reference Manual


K-2015.06

1637

Chapter 14: Symbol Editor


Query Commands

Syntax
symDsgQueryProp -topWnd winId -lib libName -cell cellName
[-add|-delete] -prname propName -propAttr {{name} {type}
{value}} -value {{propName} {typeName} {valueName}}
Returns
None
Arguments
Argument

Description

-add

Add a property to the cell view.

-cell cellName

Specify the cell name.

-delete

Delete a property from the cell view.

-lib libName

Specify the library name.

-prname propName

Specify the property name to be modified.

-propAttr {{name}
{type} {value}}

Specify the property attributes to be modified.


{name} specifies the property name, {type}
specifies the property type, and {value}
specifies the property value.

-topWnd winId

Specify the top window identifier.

-value {{propName}
{typeName} {valueName}}

Specify a new value for the corresponding


property attributes. {propName} specifies a new
property name, {typeName} specifies a new
property type, and {valueName} specifies a new
property value.

Examples
# Example 1
symDsgQueryProp -topWnd _adp2 -lib test -cell nmos \
-prname instNamePrefix -propAttr {{nam} {type} {value}} \
-value {{namePrefix} {string} {N}}
# Example 2
symDsgQueryProp -topWnd _adp2 -lib test -cell nmos -delete \
-prname instNamePrefix

1638

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Query Commands

# Example 3
symDsgQueryProp -topWnd _adp2 -lib test -cell nmos -add \
-prname new_0 -propAttr {{nam} {type} {value}} \
-value {{ new_0} {string} { }}

See Also
Query > Cell View Property

symDsgClearHighlight
The symDsgClearHighlight command clears all highlighted drawings in the
Symbol Editor window.
Syntax
symDsgClearHighlight -topWnd winId
Returns
None
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
symDsgClearHighlight -topWnd _adp4

See Also
Query > Clear Highlight

symDsgTermOrder
The symDsgTermOrder command checks the unmatched pins and
unmatched pin order for the selected cell. The unmatched pin order between
the symbol view and the pin order settings are updated.
Syntax
symDsgTermOrder -topWnd winId [-nlsimtype netlistType] [nltermorder netlistTermOrder] [-dump]
Returns
None
Laker Tcl Reference Manual
K-2015.06

1639

Chapter 14: Symbol Editor


Query Commands

Arguments
Argument

Description

-dump

Dump the Update Pin Order results to a file. The default file
name is PinOrder.dump. The netlist types, new and old
values of the pin order settings are listed in the dump file.

-nlsimtype
netlistType

Specify the netlist type to be selected to update the pin


order.

-nltermorder
netlistTermOrder

Specify the new pin order list.

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
symDsgTermOrder -topWnd _adp2 \
-nlsimtype Hspice CDL Eldo SmartSpice
-nltermorder {A Y port_0 port_1} {A Y
{A Y port_0 port_1} {A Y
{A Y port_0 port_1} {A Y

Spectre Verilog \
port_0 port_1} \
port_0 port_1} \
port_0 port_1} -dump

See Also
Query > Check Pin

symDsgCheckOffGridObj
The symDsgTermOrder command shows the information of the off-grid
objects in the Symbol Editor window.
Syntax
symDsgCheckOffGridObj -topWnd winId -mode Cell|Select -pin
Returns
None
Arguments

1640

Argument

Description

-pin

Specify the displayed information tab.

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Options Commands

Argument

Description

-mode Cell|Select

Specify the area to search for off-grid objects.


Valid values: Cell and Select (default = Cell).

-topWnd winId

Specify the top window identifier.

Examples
# Example 1
symDsgCheckOffGridObj -topWnd _adp6 -mode Cell -pin

See Also
Query > Off-grid Objects

Options Commands
This section describes the Tcl commands applied to the Options commands of
the Symbol Editor window. These commands include:

symDsgChangeGrid

symDsgEditLayerTbl

symDsgPreference

symDsgChangeGrid
The symDsgChangeGrid commad sets up the grid attributes and the rules of
cursor snapping.
Syntax
symDsgChangeGrid -topWnd windId [-type type] [gridResolution value] [-major value] [snapGridResolution snapGridResolution]
Returns
None
Arguments
Refer to the adpDsgChangeGrid description in the Schematic Editor chapter for
details.

Laker Tcl Reference Manual


K-2015.06

1641

Chapter 14: Symbol Editor


Options Commands

Examples
# Example 1
symDsgChangeGrid -topWnd _adp3 -snapGridResolution half -type 1

See Also
Options > Change Grid

symDsgEditLayerTbl
The symDsgEditLayerTbl command returns 1 if a layer has been edited.
Syntax
symDsgEditLayerTbl -topWnd winId -name attrName -color
colorType -stipple stippleType -lineStyle lineStyle
Returns
1 if successful; otherwise, returns 0.
Arguments
Refer the adpDsgEditLayerTbl description in the Schematic Editor chapter for
details.
Examples
symDsgEditLayerTbl -topWnd _adp2 -name adpPWRBusNetColor \
-color ID_Red4 -stipple GDC_UNDEFINED_STIPPLE \
-lineStyle line_solid

See Also
Options > Layer Table Editor

symDsgPreference
The symDsgPreference command defines the display of extra information on
the Symbol Editor window.
Syntax
symDsgPreference -topWnd winId [-autoPopup 0|1] [-autoUpdate
0|1] [-snapCreate mode] [-snapEdit mode] [caseSensInNetName case] [-directManipulation 0|1] [viewsToCheck {viewlist}]

1642

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Options Commands

Returns
None
Arguments
Argument

Description

-autoPopup 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Open the Options form.
0 : Hide the Options form.

-autoUpdate 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Update the pin order settings for macro symbols
automatically.
0 : Do not update the pin order settings for macro
symbols automatically.

-caseSensInNetName case

Case sensitivity in pin names.


Valid values: Preserve, Upper, and Lower
(default=Preserve).

-directManipulation 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Enable the Direct Manipulation option.
0 : Disable the Direct Manipulation option.

-snapCreate mode

Specify the snap mode for creation.


Valid values: orthogonal, anyAngle,
diagonal, xFirst, and yFirst
(default=orthogonal).

-snapEdit mode

Specify the snap mode for editing.


Valie values: orthogonal, anyAngle,
diagonal, horizontal, and vertical
(default=orthogonal).

-topWnd winId

Specify the top window identifier.

-viewsToCheck {viewlist}

Specify a list of views for cross-view pin checking of


symbol editor.

Laker Tcl Reference Manual


K-2015.06

1643

Chapter 14: Symbol Editor


Miscellaneous

Examples
# Example 1
symDsgPreference -topWnd _adp2 -autoPopup 1 -autoUpdate 1
# Example 2
symDsgPreference -topWnd _adp2 -snapCreate orthogonal
# Example 3
symDsgPreference -topWnd _adp2 -snapEdit anyAngle
# Example 4
symDsgPreference -topWnd _adp2 -caseSensInNetName Upper
# Example 5
symDsgPreference -topWnd _adp2 -viewsToCheck \
{symbol schematic opt_sym opt_sch}

See Also
Options > Preference

Miscellaneous
This section describes the Tcl command applied to the other commands of the
Symbol Editor window. These commands include:

adpFixSymPin

adpGetwtWndId

symDsgChgSelMode

symDsgGetSelect

adpFixSymPin
The adpFixSymPin command returns 1 if the existed designs meet the logical
binding for pins.
Syntax
adpFixSymPin -lib libName
Returns
1 if successful; otherwise, returns 0.

1644

Laker Tcl Reference Manual


K-2015.06

Chapter 14: Symbol Editor


Miscellaneous

Arguments
Argument

Description

-lib libName

Specify the library name.

Examples
adpFixSymPin -lib aa

adpGetwtWndId
The adpGetwtWndId command is applied to the Schematic Editor and
Symbol Editor windows. Refer to Others > adpGetwtWndId in the Schematic
Editor chapter for details.

symDsgChgSelMode
The symDsgChgSelMode command changes the selection mode in the
Symbol Editor window.
Syntax
symDsgChgSelMode -topWnd winId -mode selMode
Returns
None
Arguments
Argument

Description

-mode selMode

Specify the selection mode.


Valid values: Object, Vertex, and Edge.

-topWnd winId

Specify the top window identifier.

Laker Tcl Reference Manual


K-2015.06

1645

Chapter 14: Symbol Editor


Miscellaneous

Examples
# Example 1
# Change select mode to [V/E] mode in the Symbol Editor
# window _adp3 sym
DsgChgSelMode -topWnd _adp3 -mode Vertex
# Example 2
# Change select mode to [OBJ] mode in the Symbol Editor
# window _adp3
symDsgChgSelMode -topWnd _adp3 -mode Object

symDsgGetSelect
The symDsgGetSelect command returns 1 if all objects are selected in the
Symbol Editor window.
Syntax
symDsgGetSelect -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument

Description

-topWnd winId

Specify the top window identifier.

Examples
symDsgGetSelect -topWnd _adp3

1646

Laker Tcl Reference Manual


K-2015.06

15
15

Hierarchy Editor

This chapter describes the definable Tcl commands to access the Graphical
User Interface (GUI) which applied within the Hierarchy Editor window.

The Tcl commands are explained in the following sections. Tcl commands and
arguments are sorted alphabetically.

hedDsgCloseWnd

hedDsgDiscardEdit

hedDsgOpenTopCell

hedDsgRedo

hedDsgSave

hedDsgSaveAs

hedDsgSetCellBind

hedDsgSetInstBind

hedDsgSetGlobalBind

hedDsgSetTopCell

hedDsgUndo

hedDsgUpdate

hedDsgCloseWnd
The hedDsgCloseWnd command closes the Hierarchy Editor window.
Syntax
hedDsgCloseWnd
Laker Tcl Reference Manual
K-2015.06

1647

Chapter 15: Hierarchy Editor


hedDsgDiscardEdit

Returns
None
Arguments
None
Examples
# Example 1
hedDsgCloseWnd

See Also
Cell > Close

hedDsgDiscardEdit
The hedDsgDiscardEdit command discards the editing actions performed
and reverts to the last saved version of the configuration.
Syntax
hedDsgDiscardEdit
Returns
None
Arguments
None
Examples
# Example 1
hedDsgDiscardEdit

See Also
Cell > Discard Edit

hedDsgOpenTopCell
The hedDsgOpenTopCell command opens the top cell of the configuration in
the Schematic Editor window.

1648

Laker Tcl Reference Manual


K-2015.06

Chapter 15: Hierarchy Editor


hedDsgRedo

Syntax
hedDsgOpenTopCell
Returns
None
Arguments
None
Examples
# Example 1
hedDsgOpenTopCell

hedDsgRedo
The hedDsgRedo command repeats the last action performed.
Syntax
hedDsgRedo
Returns
None
Arguments
None
Examples
# Example 1
hedDsgRedo

See Also
Edit > Redo

hedDsgSave
The hedDsgSave command saves the activated configuration to the database.
Syntax
hedDsgSave

Laker Tcl Reference Manual


K-2015.06

1649

Chapter 15: Hierarchy Editor


hedDsgSaveAs

Returns
None
Arguments
None
Examples
# Example 1
hedDsgSave

See Also
Cell > Save

hedDsgSaveAs
The hedDsgSaveAs command saves the config view of the opened cell to
another cell.
Syntax
hedDsgSaveAs -lib libName -cell cellName
Returns
None
Arguments
Argument

Description

-cell cellName

Specify the cell name of the target cell.

-lib libName

Specify the library name of the target library.

Examples
# Example 1
hedDsgSaveAs -lib test -cell top

See Also
Cell > Save As

1650

Laker Tcl Reference Manual


K-2015.06

Chapter 15: Hierarchy Editor


hedDsgSetCellBind

hedDsgSetCellBind
The hedDsgSetCellBind command sets the cell bindings.
Syntax
hedDsgSetCellBind -lib libName -cell cellName [-viewToUse
viewName] [-viewList {viewList}] [-stop 0|1]
Returns
None
Arguments
Argument

Description

-cell cellName

Specify the cell name.

-lib libName

Specify the library name.

-stop 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Add a stop point.
0 : Remove a stop point.

-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.

-viewToUse viewName

Specify the view to be used.


Valid values: schematic, symbol, simulation,
config, veriloga, verilog, spice, and any
user-defined view name.

Examples
# Example 1
# Bind to symbol for cell "digitalADP, inv"
hedDsgSetCellBind -lib digitalADP -cell inv -viewToUse symbol
# Example 2
# Add a stop point for cell "digitalADP, inv"
hedDsgSetCellBind -lib digitalADP -cell inv -stop 1

Laker Tcl Reference Manual


K-2015.06

1651

Chapter 15: Hierarchy Editor


hedDsgSetInstBind

hedDsgSetInstBind
The hedDsgSetInstBind command sets the instance bindings.
Syntax
hedDsgSetInstBind -lib libName -cell cellName -view viewName
-inst instName [-viewToUse viewName] [-viewList
{viewList}] [-stop 0|1]
Returns
None
Arguments

1652

Argument

Description

-cell cellName

Specify the parent cell of the instance.

-inst instName

Specify the instance name.

-lib libName

Specify the parent library of the instance.

-stop 0|1

Valid values: Boolean values, 0 and 1 (default=0).


1 : Add a stop point.
0 : Remove a stop point.

-view viewName

Specify the parent view of the instance.


Valid values: schematic, symbol, simulation,
config, veriloga, verilog, spice, and any
user-defined view name.

-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.

-viewToUse viewName

Specify the view to be used.


Valid values: schematic, symbol, simulation,
config, veriloga, verilog, spice, and any
user-defined view name.

Laker Tcl Reference Manual


K-2015.06

Chapter 15: Hierarchy Editor


hedDsgSetGlobalBind

Examples
# Example 1
# Bind to symbol for instance "test, top, schematic, X1"
hedDsgSetInstBind -lib test -cell top -view schematic \
-inst X1 -viewToUse symbol
# Example 2
# Add stop point for instance "test, top, schematic, X1"
hedDsgSetInstBind -lib test -cell top -view schematic \
-inst X1 -stop 1

hedDsgSetGlobalBind
The hedDsgSetGlobalBind command sets the global bindings.
Syntax
hedDsgSetGlobalBind [-viewList {viewList}] [-stopList
{stopList}]
Returns
None
Arguments
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.

-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.

Laker Tcl Reference Manual


K-2015.06

1653

Chapter 15: Hierarchy Editor


hedDsgSetTopCell

Examples
# Example 1
# Set the view list of global binding as "schematic symbol"
hedDsgSetGlobalBind -viewList { schematic symbol }
# Example 2
# Set the stop list of global binding as "symbol"
hedDsgSetGlobalBind -stopList symbol

hedDsgSetTopCell
The hedDsgSetTopCell command sets the top cell for configuration.
Syntax
hedDsgSetTopCell -lib libName -cell cellName -view viewName
Returns
None
Arguments
Argument

Description

-cell cellName

Specify the cell name.

-lib libName

Specify the library name.

-view viewName

Specify the view name.


Valid values: schematic, symbol, and any userdefined view name.

Examples
# Example 1
hedDsgSetTopCell -lib test -cell top -view schematic

hedDsgUndo
The hedDsgUndo command reverses the last action performed.
Syntax
hedDsgUndo

1654

Laker Tcl Reference Manual


K-2015.06

Chapter 15: Hierarchy Editor


hedDsgUpdate

Returns
None
Arguments
None
Examples
# Example 1
hedDsgUndo

See Also
Edit > Undo

hedDsgUpdate
The hedDsgUpdate command updates the configuration settings.
Syntax
hedDsgUpdate
Returns
None
Arguments
None
Examples
# Example 1
hedDsgUpdate

See Also
Edit > Update

Laker Tcl Reference Manual


K-2015.06

1655

Chapter 15: Hierarchy Editor


hedDsgUpdate

1656

Laker Tcl Reference Manual


K-2015.06

A
A

Symbol Callback Procedures

This chapter describes the symbol callback procedures.

Overview
The Laker3 system supports a callback scheme to change the values of
parameters. A Tcl callback procedure can be attached to the parameter of the
symbol through the Callback section of the Parameter Dialog form, invoked by
the Library > Parameter command in the Home page. The tool will call this
procedure when a parameter value of the symbol is changed.

Attaching Tcl Procedures to Symbol


There is only one Tcl file can be attached in one cell. So, if different procedures
exist for different parameters, these Tcl procedures need to be placed in one
file.
The detailed steps are as follows:

Attaching Tcl File to Symbol

Attaching Tcl Procedure to Symbols Parameter

Attaching Tcl File to Symbol


You can attach a Tcl file to the symbol as follows:
1. Select Library > Parameter to invoke the Parameter Dialog form.
2. Select the library and cell on the left side of the form.

Laker Tcl Reference Manual


K-2015.06

1657

Appendix A: Symbol Callback Procedures


Attaching Tcl Procedures to Symbol

3. Browse the Tcl script file.


4. Click the Replace button.
5. Click the Apply button.

Figure 1

Attaching Tcl File

Attaching Tcl Procedure to Symbols Parameter


You can attach a Tcl procedure to the symbols parameter as follows:
1. Select Library > Parameter to invoke the Parameter Dialog form.
2. Select the library and cell on the left side of the form.
3. Select the parameter.
4. Specify the procedure name.
5. Click the Apply button.

1658

Laker Tcl Reference Manual


K-2015.06

Appendix A: Symbol Callback Procedures


Callback Working Scheme

Figure 2

Attaching Tcl Procedure

Callback Working Scheme


After the Tcl procedure is attached to the parameter, this procedure will be
executed when the parameter value is modified. The callback procedure will be
executed only when the parameter value is changed in the following two forms:
1. The Create Instance form, invoked by Create > Instance.
2. The Parameter tab of the Attribute form, invoked by Query > Attribute.

Callback Procedure Examples


Callback procedures are defined by the paramGetAttr and paramSetAttr
Tcl commands. Refer to the paramGetAttr and paramSetAttr descriptions
for more details on the related Tcl commands of symbol callback procedures.

Laker Tcl Reference Manual


K-2015.06

1659

Appendix A: Symbol Callback Procedures


Callback Procedure Examples

The following paragraphs give two examples of symbol callback procedures.

When there is a value change in the parameter area or peri, the callback
procedure will automatically update the value of parameter c. For example:
proc calCPoly {} {
set a [paramGetAttr -name area -attr value]
set p [paramGetAttr -name peri -attr value]
puts "$a $p"
set cpoly [expr $a*1.87 + $p*0.15]
puts $cpoly
paramSetAttr -name c -attr value -value $cpoly
}

When there is a value change in the parameter c, the callback procedure will
automatically update the value of parameters w and l. For example:
proc calCAreaPeri {} {
set c [paramGetAttr -name c -attr value -eval]
puts $c
set aa [expr $c*0.2]
paramSetAttr -name w -attr value -value $aa
paramSetAttr -name l -attr value -value $aa
}

1660

Laker Tcl Reference Manual


K-2015.06

Index
A
addEndCap 1200
addFiller 1201
addIOPadFiller 1202
addView 1203
addWellTap 1205
adpAddHighLightInst 541
adpAddHighLightNet 542
adpAddPortPad 543
adpAutoCheck 543
adpChangeMode 1492
adpChgBusChar 545
adpCreateSymbolOption 1513
adpCrossProbe 1575
adpDelGNet 546
adpDelRNet 546
adpDiscardDesign 547
adpDiscardEdit 1493
adpDsgAddNetExpr 1516
adpDsgAllDCVal 1576
adpDsgAssignInstName 1517
adpDsgAutoCreateWire 1518
adpDsgAutoWireLabel 1519
adpDsgCapture 1493
adpDsgChangeGrid 1548
adpDsgCheckCurrentCell 1562
adpDsgCheckSaveCmd 1494
adpDsgCheckTop 1563
adpDsgChgSelMode 1588
adpDsgCloseWnd 1495
adpDsgCopy 1536
adpDsgCreateArcCom 1520
adpDsgCreateCircleCom 1521
adpDsgCreateEllipseCom 1521
adpDsgCreateInst 1522
adpDsgCreateLineCom 1523
adpDsgCreateMultiSheet 1524
adpDsgCreatePolyCom 1525
adpDsgCreatePort 1525

adpDsgCreateRectCom 1526
adpDsgCreateSymbol 1527
adpDsgCreateTable 1529
adpDsgCreateTextCom 1527
adpDsgCreateWireName 1531
adpDsgDelete 1537
adpDsgDeselectAll 1538
adpDsgEditAvaiProp 1538
adpDsgEditLayerTbl 1549
adpDsgEditProperty 1550
adpDsgEnterBox 1588
adpDsgEnterLine 1589
adpDsgEnterPoint 1590
adpDsgEnterPolygon 1590
adpDsgGetSelect 1591
adpDsgGetTreeInst 1592
adpDsgLastView 1504
adpDsgLoadSession 1496
adpDsgLoadSimFile 1576
adpDsgMirrorX 1539
adpDsgMirrorY 1539
adpDsgMove 1540
adpDsgPanDown 1505
adpDsgPanLeft 1505
adpDsgPanRight 1506
adpDsgPanUp 1507
adpDsgParasiticNet 1578
adpDsgPaste 1541
adpDsgPlaceWideWire 1533
adpDsgPlaceWire 1533
adpDsgPopViewUp 1020, 1508
adpDsgPref 485
adpDsgPrint 1019, 1497
adpDsgPushSymbolIn 1508
adpDsgPushViewIn 1021, 1509
adpDsgQueryFind 1553
adpDsgQueryProp 1555
adpDsgQueryReplace 1556
adpDsgRedo 1542

1661

Index
B

adpDsgRedraw 1509
adpDsgRotateLeft 1542
adpDsgRotateRight 1543
adpDsgSave 1499
adpDsgSaveAs 1499
adpDsgSaveSchCV 548
adpDsgSaveSession 1500
adpDsgSelectAll 1544
adpDsgSetGenSymbol 1534
adpDsgSetSelect 1592
adpDsgShowAnnCmd 1579
adpDsgShowDCOPValue 1584
adpDsgShowDCRegion 1585
adpDsgShowDCVoltValue 1585
adpDsgSignalHier 1021, 1558
adpDsgStretch 1544
adpDsgStretch2 1545
adpDsgSummary 1501
adpDsgSwitchPage 1546
adpDsgToolAna 1586
adpDsgUndo 1547
adpDsgYank 1547
adpDsgZoomAll 1510
adpDsgZoomFit 1510
adpDsgZoomFitSelSet 1511
adpDsgZoomIn 1511
adpDsgZoomOut 1512
adpDumpCV 1593
adpDumpDsgTree 484
adpFixBundleNet 549
adpFixNetFig 549
adpFixPinDot 550
adpFixSymPin 1644
adpGetActiveWnd 550
adpGetCurrentHierName 1593
adpGetNetListType 551
adpGetSelectHierName 1596
adpGetTextEditor 551, 1597
adpGetWindowVar 552
adpGetWndByCV 552
adpGetWndCellViewId 553
adpGetwtWndId 1598, 1645
adpLakerWavePreference 482
adpLibCellParam 1634
adpLibMgrExportEDIF 1502

1662

adpLibMgrExportSpice 374, 1502


adpLibMgrExportVeri 378, 1502
adpLibMgrImportTextView 380
adpLibMgrImportVerilog 380
adpLibMgrOpenDesign 380, 1503, 1602
adpMergeMultiPage 1598
adpNetlistMapping 436
adpOpenWaveAna 383
adpPickParameter 1560
adpRegWndCB 553
adpRmHighLight 555
adpRmParam 555
adpSetInstParamCB 556
adpSetLibGrid 556
adpSetObjType 557
adpSimConPreference 500
adpSynchronize 1503
adpTriggerPropertyCB 558
analyzeConnectivity 1121, 1207
analyzeRoute 1122, 1207
aprExit 1209
arrays 6, 7, 35
atof 40
atoi 41

B
Basic Flow Control 4
beautyFileName 41
bounding box 35, 36, 37

C
caar 42
cadr 43
car 42
cdar 43
cddr 44
cdr 44
cdrN 46
changeRouteTypeStatus 1123, 1209
charToInt 46
checkAntenna 1125
checkConnectivity 1126, 1211
checkExistingVio 1128, 1213
checkPlacement 1213

Index
D

checkRCTable 1214
checkSuboptimal 1129, 1215
checkTieHiLo 1129, 1216
checkViolation 1130, 1217
clearCTSException 1218
closeDesign 1219
closeTextViewerTab
xt:: 905
commands
xt::closeTextViewerTab 905
xt::createJob 906
xt::getJobs 908
xt::getOpenFile 909
xt::getTextViewerTabs 910
xt::openTextViewer 910
xt::openTextViewerTab 911
xt::readJob 912
xt::sendCommand 912
xt::showDRCSetup 915
xt::showJobMonitor 913
xt::showLPESetup 914
xt::showLVSSetup 914
xt::showPveOptions 916
xt::signalJob 917
xt::startPvDebugger 916
xt::updateJob 918
xt::writeJob 919
comment 47
compareRc 1219
compileDef 1220
compileHdl 1221
compileLef 1222
concatInstallDir 47
cons 48
convertRouteConnectionModel 1223
createBone 1131
createBoneConst 1132
createChannel 1133
createJob
xt:: 906
createLibGroup 1224
createPlaceBlkUnderMetal 1225
createRouteRule 1134, 1226
currentTime 48
cwxyzr 45
cxyzr 45

D
Data Types 36
dbAddChildToParent 289
dbAddObjectToGroup 261
dbArcToLine 215
dbArea 289
dbBreakTraverse 226
dbCellFind 281
dbCellPro 254
dbChangeCVMode 164
dbCheckBBox 165
dbCheckCV 166
dbCheckRecursion 166
dbCloseCV 167
dbCloseLib 148
dbColorBackAnno 290
dbColorPropagation 291
dbConcatTransform 227
dbCopyCV 168
dbCopyFig 227
dbCopyParam 282
dbCopyProp 256
dbCorrectPolygon 228
dbCreateArc 198
dbCreateArray 220
dbCreateBusNet 267
dbCreateDot 200
dbCreateDoughnut 199
dbCreateEllipse 201
dbCreateFinRegion 201
dbCreateGroup 261
dbCreateInst 221
dbCreateInstPin 268
dbCreateInstPort 269
dbCreateLabel 202
dbCreateLib 148
dbCreateLine 204
dbCreateNet 269
dbCreateParam 282
dbCreateParameterizedInst 190
dbCreatePath 205
dbCreatePathRouter 206
dbCreatePin 271
dbCreatePolygon 207

1663

Index
D

dbCreatePort 272
dbCreateProp 256
dbCreateRect 208
dbCreateRoute 212
dbCreateSingleNet 273
dbCreateTextToPoly 209
dbCVExist 169
dbDefineParameterizedCell 185
dbDelCV 170
dbDelete 292
dbDeleteAllNet 274
dbDeleteGroupByName 262
dbDeleteObjectFromGroup 263
dbDeleteParamByName 284
dbDeletePropByName 258
dbDeviceSetParameter 274
dbDoughnutToPolygon 215
dbDumpTCL 171
dbEllipseToPolygon 216
dbFindCV 172
dbFindGroup 263
dbFindNet 275
dbFindOrphanCell 149
dbFindParam 284
dbFindPort 276
dbFindProp 258
dbGenPin 277, 279
dbGet 293
dbGetAllCellRefNumber 151
dbGetAllCells 172
dbGetAllLibs 152
dbGetAllMCellDeviceNames 349
dbGetAllMCellRuleValues 350
dbGetAllViews 174
dbGetCbInstId 174
dbGetChild 315
dbGetCVFullPath 175
dbGetDummyMOS 175
dbGetInstByLogicName 176
dbGetInstParam 196
dbGetInstSwitchMaster 177
dbGetLastModifyTime 316
dbGetLayerIdByLayerPurposeName 153
dbGetLayerIdByLayerPurposeNum 153
dbGetLayerIdsByLib 154

1664

dbGetLayerNameByLayerId 154
dbGetLayerNumByLayerId 155
dbGetLDMFile 156
dbGetLibIdByLibName 157
dbGetLibNameByLibId 156
dbGetLibPath 157
dbGetMasterLibName 158
dbGetOpenCV 178
dbGetOpenCVNum 178
dbGetOpenLib 160
dbGetParent 318
dbGetPcellDefValue 197
dbGetPurposeNameByLayerId 159
dbGetPurposeNumByLayerId 160
dbGetShapeDimension 318
dbGetTechParam 158
dbGetTrueOverlaps 230
dbIsDbObj 321
dbIsSameMaster 224
dbIterateDB 319
dbIterateLib 321
dbLayerGen 232
dbLibExist 160
dbLineToPath 217
dbLoadCellCDF 286
dbLoadLibCDF 286
dbMakeBusNet 279
dbMakeSingleNet 280
dbMoveMember 264
dbOpenCV 179
dbOpenHier 180
dbOpenLib 161
dbOpenRecoveryCV 181
dbParameterizedCell 186
dbPathSideToPolygonSide 218
dbPathToPolygon 217
dbPolygonToTrap 219
dbPtToPtRouter 211
dbPurgeCV 182
dbRegisterCVPurge 182
dbRepairCellViewRouteObj 235
dbSaveAllLib 162
dbSaveCellCDF 287
dbSaveCV 183
dbSaveLib 161

Index
E

dbSaveLibCDF 287
dbSchCloneMaster 343
dbSchExpandMFactor 344
dbSchFlatten 345
dbSchGroup 345
dbSchInstanceMap 346
dbSchMakeNode 347
dbSchUngroup 348
dbSelObjsByType 322
dbSeparateRouteObj 236
dbSet 324
dbSetInstHeaderMasterName 224
dbSetPCellParam 195
dbShiftOrigin 237
dbSizing 238
dbSmashInst 240
dbSnapToGrid 241
dbSuperMasterId 186
dbSuperMasterLibId 186
dbTransformBBox 241
dbTransformPoint 242
dbTraverse 243
dbUDDBool 334
dbUDDCopy 336
dbUDDDelete 337
dbUDDFill 337
dbUDDGetParameter 340
dbUDDSetParameter 341
dbUnregisterCVPurge 184
decr 49
deleteFiller 1227
deleteRoute 1136, 1228
deleteRouteRule 1137, 1229
deleteSdc 1230
deleteView 1231
deleteVioNet 1137
detachScanChain 1232
dumpInstPlacementTcl 1232
dumpPinConstraintTemplate 1233
dumpPinPlacementTcl 1233
dumpRoutingConstraintTemplate 1138

E
echo 49

ecoRoute 1234
elemN 50
encrypt 50
Entry Functions 1069
extractRc 1236
extractScanChain 1237

F
fillNotchGap 1139, 1237
firstIdxStr 51
fixAntenna 1139
fixNetRatio 1141, 1238
fixRoutePattern 1142, 1239
fixViolation 1143, 1241

G
genRCTable 1242
getBBoxBottom 249
getBBoxCenter 250
getBBoxLeft 250
getBBoxLeftBottom 251
getBBoxRight 251
getBBoxRightTop 252
getBBoxTop 252
getenv 51
getInstallDir 52
getJobs
xt:: 908
getOpenFile
xt:: 909
getTextViewerTabs
xt:: 910
gtAddFields 127
gtAppendBannerMenu 77
gtCancelNumberKeyPad 128
gtCreateAppForm 94
gtCreateBooleanButton 95
gtCreateButton 96
gtCreateButtonBoxField 97
gtCreateCyclicField 98
gtCreateFileOpenField 100
gtCreateFloatField 101
gtCreateForm 102
gtCreateIntField 103

1665

Index
H

gtCreateLabel 104
gtCreateListBoxField 105
gtCreateListField 107
gtCreateMenu 79
gtCreateMenuItem 80
gtCreatePointField 108
gtCreatePointListField 109
gtCreatePulldownMenu 81
gtCreateRadioField 111
gtCreateSeparatorField 112
gtCreateSliderMenuItem 81
gtCreateStringField 112
gtCreateToggleField 114
gtDeleteField 129
gtDeleteFields 128
gtDeleteForm 115
gtDestroyAllObjs 130
gtDisableField 116
gtDisplay 116
gtDisplayAppDBox 87
gtEnableField 117
gtFormApply 118
gtFormCancel 118
gtFormDone 119
gtGet 130
gtGetBBox 131
gtGetOrigin 132
gtHideBannerMenu 83
gtIsGTObj 132
gtMaxWnd 133
gtMoveIntoScreen 134
gtProcessDragData 123
gtProcessDragType 124
gtProcessDropData 125
gtProcessDropType 125
gtSet 134
gtSetBBox 135
gtSetBindKey 136
gtSetOrigin 138
gtSetWndBgColor 139
gtShowBannerMenu 84
guiSetLayerColor 1243
guiShow 1244

1666

H
hedDsgCloseWnd 1647
hedDsgDiscardEdit 1648
hedDsgOpenTopCell 1648
hedDsgRedo 1649
hedDsgSave 1649
hedDsgSaveAs 1650
hedDsgSetCellBind 1651
hedDsgSetGlobalBind 1653
hedDsgSetInstBind 1652
hedDsgSetTopCell 1654
hedDsgUndo 1654
hedDsgUpdate 1655
help 1244

I
ignoreNetInRouting 1245
incr 52
insertDFMVia 1145, 1246
insertDoubleVia 1146, 1247
intToChar 53
isEmptyList 53
isEqual 54
isEven 54
isFileEncrypted 55
isFloat 55
isInteger 56
isNegative 56
isNEqual 57
isNumber 57
isOdd 58
isOne 58
isPositive 59
isSymbolicLink 59
isZero 60

L
lakerAbortFeature 1076
lakerAbstractCell 437
lakerAddDcap 921
lakerAddDummyGate 749
lakerAddEndCap 922
lakerAddFiller 923
lakerAddHighLightId 1055

Index
L

lakerAddHighLightInst 1056
lakerAddHighLightLine 1057
lakerAddHighLightNet 1057
lakerAddHighLightObj 1058
lakerAddHighLightPair 1065
lakerAddHighLightPath 1065
lakerAddHighLightPoly 1066
lakerAddHighLightRect 1067
lakerAddICCLib 439
lakerAddTap 924
lakerAddToRPGroup 925
lakerAdjacentNet 827
lakerAlignObj 685
lakerAnnotatePin 687
lakerArea 828
lakerAreaSel 1041
lakerAreaSelect 1041
lakerAssignBackbone 951
lakerAssignInstPortToNet 953
lakerAssignPin 955
lakerAssociate 1338
lakerAssocNet 592
lakerAttachObj 687
lakerAttribute 829
lakerAutoAssignment 926
lakerAutoChopGR 750
lakerAutoFix 688
lakerBackwardView 608
lakerBoolean 689
lakerBusRouter 956
lakerCalibreDFM 888
lakerCalibreDRC 888
lakerCalibreLVS 889
lakerCalibreOption 889
lakerCalibrePERC 890
lakerCalibrePEX 890
lakerCalibreRVE 891
lakerCapture 594
lakerCapturePNG 595
lakerCDLIn 384
lakerCDLOut 388
lakerCDRIn 1147
lakerCDROut 1149
lakerCDRouter 962
lakerCellIndexPlacementScore 927

lakerCellPro 595
lakerCellTemplate 799
lakerCellViewBBox 1076
lakerChangeGrid 805
lakerChangeLicense 503
lakerChangeRefLib 440
lakerChangeSelMode 1076
lakerChangeStack 751
lakerCheckAdjacentLayerOverlap 958
lakerCheckPlacement 928
lakerCheckReference 597
lakerCheckSchTimeStamp 389
lakerCheckUnsavedDesign 390
lakerChgmodeDesign 597
lakerChgVia 691
lakerChkActiveCmd 1077
lakerChmod 391
lakerChopContact 752
lakerChopGuardRing 754
lakerChopObj 692
lakerClearConn 852
lakerClearDimensionMarks 853
lakerClearHighLight 852
lakerClearRuler 853
lakerClearRulerLabels 854
lakerClearRVEHighlight 892
lakerClearTagRuler 854
lakerCloneMaster 693
lakerCloseDesign 598
lakerCommonDRC 959
lakerConfigFlightLine 855
lakerConfigureRowArea 929
lakerCongestionAnalysis 960
lakerCongestionMap 960
lakerConnBrowser 856
lakerConnChecker 857
lakerContinueBus 694
lakerConvertToPoly 694
lakerCopyAssoc 731
lakerCopyCell 470
lakerCopyLib 441
lakerCopyObj 695
lakerCopyToClipboard 697
lakerCorrectOffGridObj 697
lakerCreateBus 629

1667

Index
L

lakerCreateCapacitor 630
lakerCreateCircle 634
lakerCreateContact 635
lakerCreateDoughnut 641
lakerCreateEllipse 642
lakerCreateFinRegion 643
lakerCreateGuardRing 644
lakerCreateInstance 648
lakerCreateMatch 1384
lakerCreateMetalSlot 650
lakerCreatePath 653
lakerCreatePickedDevice 657
lakerCreatePin 658
lakerCreatePoly 660
lakerCreateRect 661
lakerCreateResistor 662
lakerCreateRow 931
lakerCreateRPGroup 934
lakerCreateSite 479
lakerCreateStackedPath 665
lakerCreateText 668
lakerCreateTransistor 671
lakerCrSoftPin 734
lakerCutCorner 698
lakerCutFinBdry 699
lakerCutPolyShape 700
lakerCycleSel 1042
lakerDangleRemove 964
lakerDecreaseSel 1043
lakerDefDevAlign 1024
lakerDefDevBoolean 1025
lakerDefDevConnect 1027
lakerDefDevCopy 1028
lakerDefDevCutCorner 1029
lakerDefDevDist 1029
lakerDefDevFill 1030
lakerDefDevGenPin 1032
lakerDefDevRemove 1033
lakerDefDevReturnValue 1034
lakerDefGlobalNet 443
lakerDelAllAreaDsp 608
lakerDelAreaDsp 609
lakerDelCategory 466
lakerDelCell 473
lakerDeleteDummyGate 755

1668

lakerDeleteObj 700
lakerDeleteRoute 965
lakerDeleteRouteAll 966
lakerDeleteRPGroup 935
lakerDeleteSite 480
lakerDelLayoutNet 1339
lakerDelLib 442
lakerDelPin 735
lakerDelRowArea 936
lakerDelShape 967
lakerDelSoftPin 735
lakerDeselectAll 1044
lakerDevHistoryEditor 1035
lakerDevHistoryViewer 1035
lakerDigitalRoute 968
lakerDimensionMark 679
lakerDimNeighbor 880
lakerDiscardDesign 598
lakerDiscrepancyHier 444
lakerDispFinGrid 807
lakerDispGlobalFinGrid 808
lakerDispGrid 809
lakerDispHier 809
lakerDispMCellInfo 810
lakerDispNeighbor 881
lakerDispRow 811
lakerDispTrack 811
lakerDistance 859
lakerDivideObj 755
lakerDoubleViaInsertion 976
lakerDsgDrag 1078
lakerDsgDrop 1078
lakerDsgMessage 1079
lakerDtbAlign 701
lakerDumpModelMap 445
lakerDumpPinAssTcl 938
lakerDumpPinConstraint 939
lakerDumpPlacementTcl 937
lakerDumpRoutingConstraintTemplate 977
lakerDumpShapeTcl 1080
lakerEcho 559
lakerEDIFIn 393
lakerEditInPlace 881
lakerEIPDisplayHier 882
lakerEIPDisplayNormal 883

Index
L

lakerEIPDisplayTop 883
lakerEncryptLib 446
lakerEnterBox 1069
lakerEnterLine 1070
lakerEnterPath 1071
lakerEnterPoint 1072
lakerEnterPolygon 1073
lakerEqualLRouter 978
lakerEqualLWire 979
lakerEstimateCellArea 859
lakerExit 396
lakerExpandSchParameter 397
lakerExportConstraint 401
lakerExportDEF 402
lakerExportLEF 403
lakerExportOASIS 404
lakerExportSIF 559
lakerExportStream 408
lakerExportUDDGC 474
lakerExposeWnd 1081
lakerExtractECOCommand 561
lakerExtractSwapPort 562
lakerFillContact 756
lakerFillGuardRing 757
lakerFindCustomViaForDFM 980
lakerFindNetByArea 862
lakerFindObj 860
lakerFinishDevPara 1082
lakerFitEdit 884
lakerFitSelObj 609
lakerFixDiscrepancy 1340
lakerFixHighLightColor 1068
lakerFixLayDisc 1341
lakerFlightLine 863
lakerFold 757
lakerForwardView 610
lakerFuseObj 758
lakerGenPin 735
lakerGenText 680
lakerGetActiveWnd 1084
lakerGetAliveWnd 1083
lakerGetBroSelSet 1342
lakerGetClipboardCV 1084
lakerGetColPat 1085
lakerGetCurLayerId 1087

lakerGetCurPos 1087
lakerGetCurViewBBox 1088
lakerGetCurViewLevel 1088
lakerGetDesign 563
lakerGetDspPat 1088
lakerGetEIPHierarchy 1091
lakerGetHierPath 1090
lakerGetHighlightList 1092
lakerGetLibCell 560
lakerGetLicenseName 503
lakerGetOpenCount 1093
lakerGetOpenNets 1094
lakerGetPromptDefinition 1094
lakerGetSelSet 1044
lakerGetWndByCV 1095
lakerGetWndCellViewId 1097
lakerGetwtWndId 1098
lakerGroupObj 702
lakerHaltUndo 1099
lakerHasWndAlive 1100
lakerHybridAlign 702
lakerImportConstraint 415
lakerImportDEF 416
lakerImportLEF 417
lakerImportOASIS 418
lakerImportSIF 565
lakerImportStream 422
lakerImportTLUPlus 429
lakerImportUDDGC 475
lakerImportVerilog 430
lakerIncreaseSel 1046
lakerInsert 759
lakerIpcHdl 566
lakerIPMerge 598
lakerKeepColor 1014
lakerLabelRouter 980
lakerLadderRoute 983
lakerLastView 610
lakerLayerGen 704
lakerLayerSetting 986
lakerLayerTap 812
lakerLayoutDsgBrowser 1014
lakerLegalizeCellLoc 939
lakerLibCellDumpParam 447
lakerLibCellParam 447

1669

Index
L

lakerLinkMCell 760
lakerLME 583
lakerLMEBack2Top 584
lakerLMEClose 585
lakerLMEOpen 586
lakerLMESave 586
lakerLMESaveAs 587
lakerLoadDesign 598, 600
lakerLoadNanoScopeFile 568
lakerLockColor 1015
lakerMakeCell 705
lakerManualAssociate 1343
lakerMapPath 588
lakerMatch 738
lakerMaxViewLevel 611
lakerMCellTechPorting 450
lakerMchAdd 1390
lakerMchAddDummy 1391
lakerMchAddPattern 1392
lakerMchAddPeriDummy 1393
lakerMchAdjustTrack 1394
lakerMchAlignRowBottom 1396
lakerMchAlignRowCenter 1395
lakerMchAlignRowTop 1395
lakerMchAreaZoom 1396
lakerMchAttribute 1397
lakerMchChainSerialRes 1398
lakerMchChangeOrient 1399
lakerMchCheck 1399
lakerMchClear 1400
lakerMchClearRuler 1400
lakerMchCompactSpace 1401
lakerMchDelete 1401
lakerMchDeletePattern 1402
lakerMchDeSelDevice 1403
lakerMchDeSelect 1403
lakerMchDistance 1404
lakerMchDrag 1404
lakerMchDrop 1405
lakerMchExportPattern 1406
lakerMchFillBlack 1407
lakerMchFillDiagonal 1407
lakerMchFlip 1408
lakerMchImportPattern 1408
lakerMchInsAColGrid 1409

1670

lakerMchInsAGrid 1410
lakerMchLastView 1410
lakerMchMaxViewLevel 1411
lakerMchMerge 1411
lakerMchMinViewLevel 1412
lakerMchMode 1412
lakerMchMoveWire 1413
lakerMchNormal 1413
lakerMchOptimizeOD 1414
lakerMchPanDown 1414
lakerMchPanLeft 1415
lakerMchPanRight 1416
lakerMchPanUp 1416
lakerMchPreference 1417
lakerMchPreview 1421
lakerMchQuickInsert 1421
lakerMchRealize 1422
lakerMchRechainConnection 1423
lakerMchRedo 1424
lakerMchRedraw 1424
lakerMchRefUnit 1425
lakerMchRenamePattern 1425
lakerMchRepeatNum 1427
lakerMchRepeatPat 1427
lakerMchSelDevice 1429
lakerMchSelect 1429
lakerMchSelEmpty 1430
lakerMchSelPattern 1431
lakerMchSetDefaultRouteRule 1431
lakerMchSetRemNum 1437
lakerMchSetTopology 1438
lakerMchSetUnitNum 1438
lakerMchShareOD 1439
lakerMchSize 1440
lakerMchSpace 1440
lakerMchSplit 1441
lakerMchSwapSD 1441
lakerMchUndo 1442
lakerMchUnsetFingerGroup 1442
lakerMchViewLevelDec 1443
lakerMchViewLevelInc 1443
lakerMchXMirror 1444
lakerMchYMirror 1445
lakerMchZoomAll 1445
lakerMchZoomIn 1446

Index
L

lakerMchZoomOut 1446
lakerMeasureResistance 864
lakerMergeGate 760
lakerMergeObj 706
lakerMessage 1101
lakerMinViewLevel 611
lakerMirrorX 707
lakerMirrorY 708
lakerModifyCategory 467
lakerModifySite 481
lakerMoveContact 761
lakerMoveGate 762
lakerMoveObj 708
lakerMsgForm 1102
lakerMultiNetRouter 988
lakerNewCategory 468
lakerNewCell 476
lakerNewLib 451
lakerOpenDesign 432, 601
lakerOptimize 762
lakerOptimizePin 941
lakerP2PResistance 869
lakerPadWindow 870
lakerPanDown 612
lakerPanLeft 612
lakerPanRight 613
lakerPanUp 614
lakerPanXY 614
lakerPasteObj 710
lakerPasteWithLogic 739
lakerPatternReuse 742
lakerPGRoute 994
lakerPlaceInstance 941
lakerPlacementOption 943
lakerPreference 505
lakerPreSel 1047
lakerPreSelMode 1048
lakerPrintDesign 601
lakerProbeShape 1344
lakerPropagateNet 711
lakerPtToPtRouter 1001
lakerPurgeBackup 452
lakerQueryCellBoundary 944
lakerQueryMatch 1447
lakerQueryRegionDensity 945

lakerQuickAPA 1103
lakerRealizeColor 1016
lakerReassignNet 712
lakerRedo 712
lakerRedraw 617
lakerRefLib 453
lakerRefreshLockedLayerFile 517
lakerRefreshMCell 454
lakerRefreshShortError 872
lakerRefreshUDD 455
lakerReGuardRing 763
lakerRegWndCB 569
lakerRemoveFiller 945
lakerRenCategory 469
lakerRenCell 477
lakerRenLib 455
lakerRepeatObj 713
lakerReplaceDFMVia 1004
lakerReplaceObj 872
lakerRepModelMap 456
lakerResetRow 946
lakerReshapeObj 713
lakerReturnLevel 884
lakerReturnOne 885
lakerReturnOneEdit 885
lakerReturnSubTop 885
lakerReturnTop 886
lakerReuseCell 478
lakerRmAbutInfo 1103
lakerRmHighLightObj 1068
lakerRmOverlapGRCont 763
lakerRmPromptDefinition 1104
lakerRotate 714
lakerRotate90 715
lakerRouteAll 1005
lakerRouterInfoWnd 1009
lakerRowPlaceAll 947
lakerRowPlaceCompact 948
lakerRuler 874
lakerRulerLabel 683
lakerRuleSetting 1010
lakerSaveAsDesign 604
lakerSaveDesign 603
lakerSchAreaEstimate 1347
lakerSchAreaPlacer 1345

1671

Index
L

lakerSchBroDrag 1349
lakerSchBroDrop 1350
lakerSchBroDump 1351
lakerSchBroPreference 518
lakerSchChgGridMode 1352
lakerSchChgInstanceMap 1352
lakerSchChgRefMap 1353
lakerSchCloneMaster 1355
lakerSchCollapseAllItem 1356
lakerSchCompare 1356
lakerSchCreate 1358
lakerSchDeSelectGrid 1358
lakerSchECORowPlacer 1359
lakerSchExpandAllItem 1359
lakerSchExpandMFactor 1360
lakerSchFind 1361
lakerSchFlattenAll 1362
lakerSchFlattenLvl 1363
lakerSchFlattenOne 1363
lakerSchGroup 1364
lakerSchHLObject 1365
lakerSchLayInstMap 1366
lakerSchMakeNode 1367
lakerSchMatch 1454
lakerSchPatternReuse 1369
lakerSchRecoverHier 1347
lakerSchRecoverMFactor 1373
lakerSchRowPlacer 1374
lakerSchSelectGridItem 1375
lakerSchSelectTreeNode 1376
lakerSchSetActiveTree 1377
lakerSchSummary 1377
lakerSchTopology 1378
lakerSchUngroup 1379
lakerSearchRepair 1012
lakerSelectAll 1048
lakerSelectRedo 1049
lakerSelectUndo 1049
lakerSelGroupByName 715
lakerSelKind 1050
lakerSelLayer 1050
lakerSelNetObj 1051
lakerSession 434
lakerSetAbsMode 617
lakerSetActiveLayer 1104

1672

lakerSetActiveWnd 1105
lakerSetAreaDsp 617
lakerSetBothViewMode 618
lakerSetBrowserWnd 1106
lakerSetColPat 813, 816, 817, 818, 821
lakerSetCreateColor 1017
lakerSetDeviceObjMode 577
lakerSetLayoutMode 619
lakerSetObjType 1106
lakerSetPromptDefinition 1107
lakerSetRVEPort 895, 896
lakerSetSchematicAWnd 1108
lakerSetSchematicFWnd 1109
lakerSetSchematicWnd 1109
lakerSetSelSet 1053
lakerSetUserStrokeFile 530
lakerShiftCursorDown 1110
lakerShiftCursorLeft 1110
lakerShiftCursorRight 1111
lakerShiftCursorUp 1111
lakerShiftOrigin 716
lakerShortClean 875
lakerShortLocator 875
lakerShowExportForm 892, 893
lakerShowHPWireLength 876
lakerSingleSel 1054
lakerSkAddDummy 1462
lakerSkAlign 1464
lakerSkAreaZoom 1465
lakerSkAutoDummy 1466
lakerSkAutoOptimizeOD 1468
lakerSkClearRuler 1469
lakerSkClose 1470
lakerSkDelete 1470
lakerSkDeleteDummy 1471
lakerSkDeselectAll 1472
lakerSkDisorderAll 1473
lakerSkDistance 1473
lakerSkDrag 1474
lakerSkDrop 1474
lakerSkFold 1475
lakerSkFuse 1476
lakerSkLastView 1476
lakerSkMergeGate 1477
lakerSkMove 1478

Index
L

lakerSkNormal 1478
lakerSkOptimizeOD 1479
lakerSkPanDown 1480
lakerSkPanLeft 1480
lakerSkPanRight 1480
lakerSkPanUp 1481
lakerSkPreference 1482
lakerSkPreview 1481
lakerSkRealize 1483
lakerSkRechain 1483
lakerSkRedo 1484
lakerSkRedraw 1484
lakerSkSelRealize 1485
lakerSkSplit 1485
lakerSkSwap 1486
lakerSkUnalignGate 1487
lakerSkUndo 1487
lakerSkUnsetFingerGroup 1488
lakerSkZoomAll 1489
lakerSkZoomIn 1489
lakerSkZoomOut 1490
lakerSlitSlot 716
lakerSmashObj 718
lakerSnapFinGrid 824
lakerSnapRow 824
lakerSnapTrack 825
lakerSocketClientSend 1113
lakerSpareCell 876
lakerSplitArray 719
lakerSplitNet 720
lakerSplitObj 721
lakerStartDevPara 1112
lakerStartRVEServer 895
lakerStretchCapacit 765
lakerStretchContact 765
lakerStretchGate 766
lakerStretchObj 722
lakerStretchResist 767
lakerStretchRowArea 949
lakerStripeWire 724
lakerSubduce 767
lakerSummaryDesign 605
lakerSwapGate 768
lakerSwapInstPort 725
lakerSwapPort 457

lakerSynchronize 606
lakerSyncSchematicScope 1022
lakerTechDump 459
lakerTechReplace 461
lakerTechSave 462
lakerText2Prop 463
lakerToObject 1054
lakerToStickDiagram 747
lakerTransSchLogicName 1114
lakerTrimWire 725
lakerTunnelObj 726
lakerUDDAdjustParam 1036
lakerUDDFindParam 1036
lakerUDDReplaceParam 1037
lakerUDDSortByClickName 1038
lakerUDP 878
lakerUndo 728
lakerUngroupObj 729
lakerUnlinkMCell 769
lakerUnlockColor 1018
lakerUpdateCellProp 465
lakerUpdateDevPara 1115
lakerUpdateMCell 1039
lakerUpdateSingleDevPara 1116
lakerVersion 578
lakerViewError 897, 905
lakerViewInsAbs 619
lakerViewInsLayout 620
lakerViewInsNormal 620
lakerViewLevel 621
lakerViewLevelDec 621
lakerViewLevelInc 622
lakerViewMark 622
lakerViewPinLabelNet 624
lakerViewPinLabelOff 624
lakerViewPinLabelPort 625
lakerViewTopSysPin 625
lakerYankObj 729
lakerYankWithLogic 747
lakerZoomAll 626
lakerZoomIn 626
lakerZoomInByArea 627
lakerZoomOut 628
lastElem 60
lastIdxStr 61

1673

Index
M

legalizeInst 1248
listViews 1249

M
man 1250
max 61
mcGet 769
mchGet 1455
mcSet 792
member 62
memUsage 1250
min 62
mod 63

N
nlEval 532
nlGetAttr 536
nlPuts 538

O
openTextViewer
xt:: 910
openTextViewerTab
xt:: 911
optAddBuffer 1251
optAddInvPair 1251
optDeleteBuffer 1253
optDeleteInvPair 1253
optimizeNetFanout 1255
optimizeNetLength 1256
optimizePin 1257
optimizePostCTSDesign 1258
optimizePostRouteDesign 1259
optimizePreCTSDesign 1261
optSizeCell 1254

P
paramGetAttr 530
paramSetAttr 531
pdecr 63
pincr 64
placeInst 1262
placeInstECO 1263

1674

placeIOPad 1262
placePin 1264
point 36
point list 37
putenv 64

R
random 65
readDef 1265
readDesign 1267
readEcoDesign 1268
readJob
xt:: 912
readLef 1268
readRCTable 1269
readSdc 1270
readSpareCellFile 1270
readSpef 1271
readVerilog 1272
redirectOutput 1273
removeBufInvs 1273
removeDoubleVia 1149, 1274
removePlacement 1275
replaceStdVia 1150
reportBufInvs 1276
reportCaseAnalysis 1278
reportClock 1278
reportClockTree 1279
reportConstraint 1279
reportCorner 1151, 1281
reportCTSException 1276
reportCTSOption 1277
reportDelayCalculation 1283
reportDesign 1153, 1284
reportJog 1153, 1284
reportNet 1285
reportOptOption 1286
reportPlaceOption 1286
reportRouteInfo 1154, 1287
reportRouteRule 1155, 1288
reportRule 1156, 1289
reportSiteUtilization 1289
reportSlackHistogram 1290
reportSpine 1157, 1291

Index
S

reportSuggestedPitch 1193, 1292


reportTieHiLo 1292
reportTiming 1293
resetCTSOption 1294
resetSdc 1294
resumeOutput 1295
reverseList 66
Route 1428
routeBlockRing 1158
routeBlockWire 1162
routeNet 1164, 1296
routeRail 1166, 1298
routeRing 1168, 1299
routeStripe 1171, 1302

S
schLakerSetMosType 797
sendCommand
xt:: 912
setActiveView 1304
setCTSException 1305
setCTSOption 1306
setDontUseCell 1308
setIdealClock 1309
setIgnoredNetsInRouting 1173, 1309
setOption 1174, 1311
setOptOption 1310
setPlaceOption 1312
setPropagatedClock 1313
setRouteRule 1175, 1313
setRoutingConstraint 1175, 1314
setRoutingLayer 1192, 1321
setRoutingTrack 1322
setViolationType 1323
Shortcut 36
showDRCSetup
xt:: 915
showHPWL 1325
showJobMonitor
xt:: 913
showLPESetup
xt:: 914
showLVSSetup
xt:: 914
showPveOptions
xt:: 916

signalJob
xt:: 917
simOpenWnd 1587
source_enc 66
srandom 67
startPvDebugger
xt:: 916
stop 67
strcat 68
stringLess 68
strncat 69
strncmp 69
subStr 70
symChangeMode 1602
symCheckPinOrder 1634
symDiscardEdit 1602
symDsgAddNetExpr 1611
symDsgChangeGrid 1641
symDsgCheckSave 1603
symDsgChgSelMode 1645
symDsgClearHighlight 1639
symDsgCloseWnd 1604
symDsgCopy 1624
symDsgCreateArc 1612
symDsgCreateBoundaryBox 1613
symDsgCreateBubble 1613
symDsgCreateCircle 1614
symDsgCreateEllipse 1615
symDsgCreateFillCircle 1616
symDsgCreateFillPolygon 1616
symDsgCreateFillRect 1617
symDsgCreateLabel 1622
symDsgCreateLine 1618
symDsgCreatePin 1619
symDsgCreatePolygon 1620
symDsgCreateRect 1621
symDsgDelete 1625
symDsgDeselectAll 1625
symDsgEditLayerTbl 1642
symDsgEditOrigin 1626
symDsgGetSelect 1646
symDsgMirrorX 1627
symDsgMirrorY 1628
symDsgMove 1629
symDsgPanDown 1606

1675

Index
T

symDsgPanLeft 1606
symDsgPanRight 1607
symDsgPanUp 1607
symDsgPaste 1626
symDsgPreference 1642
symDsgQueryAttribute 1635
symDsgQueryFind 1636
symDsgQueryProp 1637
symDsgRedo 1629
symDsgRedraw 1608
symDsgRotateLeft 1630
symDsgRotateRight 1631
symDsgSave 1604
symDsgSaveAs 1605
symDsgSelectAll 1631
symDsgStretch 1632
symDsgTermOrder 1639
symDsgUndo 1632
symDsgYank 1633
symDsgZoomFit 1608
symDsgZoomIn 1609
symDsgZoomOut 1610
synthesizeClockTree 1326
sysGetRcValue 579
sysSetRcValue 579

T
Tcl procedure 2, 4
tfGet 351
timeCmp 70
timeStrToTime 71
timeToTimeStr 71
tmpFileName 72
tmpName 72
Tool Command Language 1

U
unsetDontUseCell 1327
updateJob
xt:: 918
updateTiming 1327
User-definable Commands 38

1676

V
Variable Substitution 3

W
writeDef 1328
writeDesign 1330
writeEcoReport 1332
writeJob
xt:: 919
writeSdf 1332
writeSpareCellFile 1333
writeSpef 1334
writeVerilog 1335
wtShowLicStatus 581

X
xt namespace
closeTextViewerTab 905
createJob 906
getJobs 908
getOpenFile 909
getTextViewerTabs 910
openTextViewer 910
openTextViewerTab 911
readJob 912
sendCommand 912
showDRCSetup 915
showJobMonitor 913
showLPESetup 914
showLVSSetup 914
showPveOptions 916
signalJob 917
startPvDebugger 916
updateJob 918
writeJob 919
xt::closeTextViewerTab 905
xt::createJob 906
xt::getJobs 908
xt::getOpenFile 909
xt::getTextViewerTabs 910
xt::openTextViewer 910
xt::openTextViewerTab 911
xt::readJob 912
xt::sendCommand 912
xt::showDRCSetup 915

Index
X

xt::showJobMonitor 913
xt::showLPESetup 914
xt::showLVSSetup 914
xt::showPveOptions 916
xt::signalJob 917

xt::startPvDebugger 916
xt::updateJob 918
xt::writeJob 919

1677

Index
X

1678

También podría gustarte