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
Contents
1.
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tcl Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
4
5
5
5
11
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
18
19
20
20
21
iii
Contents
2.
3.
4.
iv
Integration Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
25
35
36
Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
Bounding Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
Point List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
38
GUI Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
Bottom-Up Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
Global Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
89
121
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
126
Database Extensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
143
Database Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
144
Database Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
144
145
Library Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
147
163
Tcl PCells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
185
Shape Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
197
Shape Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
214
219
Figure Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
225
Accessory Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
253
Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
254
Contents
Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
260
Logic Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
266
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
281
288
334
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
530
532
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
540
6.
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
1069
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1074
8.
1119
9.
1195
1337
1381
1461
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
1601
Cell Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1601
View Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1605
Create Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1610
Edit Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1623
Query Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1634
Options Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1641
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1644
1647
A.
1657
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1657
1657
1657
1658
1659
1659
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1661
vii
Contents
viii
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
Conventions
The following conventions are used in Synopsys documentation.
Convention
Description
Courier
ix
Customer Support
Convention
Description
Italic
Purple
[]
...
Ctrl+C
Customer Support
Customer support is available through the Synopsys SolvNet customer support
website and by contacting the Synopsys support center.
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.
Go to either the Synopsys SolvNet site or the Synopsys Global Support site
and open a case online (Synopsys user name and password required).
xi
Customer Support
xii
1
Introduction
This chapter introduces the essential elements of Tcl and explains how to invoke
and replay the commands.
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
Chapter 1: Introduction
Getting Started with Tcl
Tcl Procedures
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.
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.
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
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.
Chapter 1: Introduction
Getting Started with Tcl
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
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]
}
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).
Chapter 1: Introduction
Getting Started with Tcl
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.
Description
after
append
array
break
catch
Chapter 1: Introduction
Getting Started with Tcl
Command
Description
cd
clock
Get time and make a date string according to some format string.
close
concat
continue
error
eof
eval
exec
exit
expr
fblocked
fconfigure
fcopy
file
fileevent
flush
for
Construct loops.
foreach
Construct loops.
format
gets
Chapter 1: Introduction
Getting Started with Tcl
Command
Description
global
if
incr
info
join
lappend
lindex
linsert
list
Create a list.
llength
lrange
lreplace
lsearch
lsort
open
pid
proc
puts
pwd
read
Chapter 1: Introduction
Getting Started with Tcl
Command
Description
regexp
regsub
rename
return
scan
seek
set
socket
Open a socket.
source
split
Split a string.
string
Manipulate strings.
subst
switch
tell
time
trace
unset
uplevel
upvar
while
Construct loops.
Chapter 1: Introduction
Laker and Tcl/Tk
For more details on Tcl, please refer to the reference books introducing Tcl
programming.
C-based Application
Tk Communication Protocol
Tcl Interpreter
Laker Kernel
Figure 1
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.
11
Chapter 1: Introduction
Laker and Tcl/Tk
Tk 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:
Replaying Commands
Tk Commands
Debugging
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)
Chapter 1: Introduction
Laker and Tcl/Tk
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.
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"
Figure 3
14
Chapter 1: Introduction
Laker and Tcl/Tk
Note:
async
where:
15
Chapter 1: Introduction
Laker and Tcl/Tk
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
Message body
guiWarnMessage
Message body
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
Chapter 1: Introduction
Laker and Tcl/Tk
Figure 4
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
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.
18
Chapter 1: Introduction
Laker and Tcl/Tk
Call Command
Client Kernel
Command
TRUE/FALSE
(Some C Apps)
Client
Command
Server
Server
Kernel - Laker
Event
Event Data
Client Side
Figure 5
Communication Protocol
Server Side
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
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.
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).
20
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]
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.
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
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:
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.
22
TCP/IP Sockets
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.
Invoking Laker and firing up a TCP/IP Server later in the Home Page:
> sysServerPort -port 9189
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"
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
Chapter 1: Introduction
Application Programming Interface (API) References
Basic Functions:
Helper Functions:
char* CmdCltGetLocalMachineName()
int CmdCltGetFreePort()
25
Chapter 1: Introduction
Application Programming Interface (API) References
26
Chapter 1: Introduction
Application Programming Interface (API) References
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);
27
Chapter 1: Introduction
Application Programming Interface (API) References
28
Chapter 1: Introduction
Application Programming Interface (API) References
29
Chapter 1: Introduction
Application Programming Interface (API) References
30
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;
}
31
Chapter 1: Introduction
Application Programming Interface (API) References
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
Chapter 1: Introduction
Application Programming Interface (API) References
Syntax
int CmdCltGetFreePort()
33
Chapter 1: Introduction
Application Programming Interface (API) References
34
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:
35
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 (,).
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:
((1 -3)*4,5)
(1 -3)*4 5
36
{(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}}
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.
37
38
atof
atoi
beautyFileName
car
caar
cadr
cdar
cddr
cdr
cxyzr
cwxyzr
cdrN
charToInt
concatInstallDir
comment
cons
currentTime
decr
echo
elemN
encrypt
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
39
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
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/
41
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
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]
43
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.
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.
45
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
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.
47
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
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.
49
Arguments
Argument
Description
anyInput
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
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
plainFile
cypherFile
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
51
Returns
The content of the environment variable if successful; otherwise, returns
nothing.
Arguments
Argument
Description
envVar
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
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
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
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
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.
55
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
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.
57
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
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.
59
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
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
Numbers.
Examples
max 1 2 3 4 4.05 -8 3
61
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
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
Numbers.
Examples
min $a $b $c
62
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).
63
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
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.
65
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
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.
67
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
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
Strings.
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.
69
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
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.
71
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
Syntax
tmpName [aString]
Returns
A symbol if successful; otherwise, returns nothing.
Arguments
Argument
Description
aString
A string.
Examples
tmpName abc
tmpName
73
74
3
3
GUI Extensions
This chapter describes the definable Tcl commands for the Graphical User
Interface (GUI) which applied within the Laker3 system.
Bottom-Up Construction
Global Symbols
Menu
Dialog Box
Miscellaneous
75
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
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
77
Arguments
Argument
Description
-file
user_defined_menu_file
-window
windowId
-windowType
windowType
78
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
79
Argument
Description
-name menuSymbol
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}
-disable 0|1
-itemText {text}
-name menuSymbol
Examples
set item1 [gtCreateMenuItem -name item1 -itemText "item1" \
-callback [list sum 1 $var1] ]
set item2 [gtCreateMenuItem -name item2 -itemText "exit" \
-callback {exit} ]
80
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
-name menuSymbol
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.
81
Arguments
Argument
Description
-disable 0|1
-itemText
SliderMenu Text
-name menuSymbol
-subMenu $menu1
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
82
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
-menuname name
-window windowId
83
Argument
Description
-windowType
windowType
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
Syntax
gtShowBannerMenu [-window windowId | -windowType windowType]
[-itemName name | -menuname name]
Returns
None
Arguments
Argument
Description
-itemName name
-menuname name
-window windowId
-windowType
windowType
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
85
# 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
Modal
System Modal
Modeless
Non-block
86
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
-callback {commands 1}
{commands2} ...
-dboxBanner Title
-dboxText message
shown in the dialog
-defaultButton (1|2|3|4)
-dialogStyle
87
Argument
Description
-dialogType Type
-location {X Y}
-name dialogSymbol
Examples
The following shows an example of a warning dialog.
Figure 2
88
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:
89
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
GtFormSym
Value
FieldList
DefValue
_formType
90
DoneAction
FieldType
dialogStyle
Choices
Font
Key
MyForm
gtFormSym
Attribute Value
fieldList
_formType
doneAction
dialogStyle
Font
MyField1
value
lastValue
fieldType
choices
MyField2
...
MyField3
...
MyField4
value
defValue
fieldType
choices
...
...
91
Description
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.
92
Array Name
Key
Attribute Value
MyForm
hiFormSym
MyForm
MyForm
fieldList
MyForm
_formType
nonoption
MyForm
DoneAction
Callback Commands
MyForm
DialogStyle
Modeless, Modal,...
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
...
...
...
...
gtCreateAppForm
gtCreateBooleanButton
gtCreateButton
gtCreateButtonBoxField
gtCreateCyclicField
gtCreateFileOpenField
gtCreateFloatField
gtCreateForm
gtCreateIntField
gtCreateLabel
gtCreateListBoxField
gtCreateListField
gtCreatePointField
gtCreatePointListField
93
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
Argument
Description
-callback
{commands 1}
{commands2} ...
-dialogStyle
(Modeless | modal |
systemModal)
-fields
[list $field1 $field2 ...]
-formType
-initialSize
{width height}
-name formSymbol
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.
95
Arguments
Argument
Description
-buttonText
Boolean Text
-callback {command1}
{command2} ...
-defValue 0|1
-name fieldSymbol
-value 0|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
Arguments
Argument
Description
-buttonText
ButtonText
-callback
{command1}
{command2} ...
-name fieldSymbol
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.
97
Arguments
Argument
Description
-callback {command1}
{command2} ...
{commandn}
-choices
{choice1 choice2 ...
choicen}
-name fieldSymbol
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
Arguments
Argument
Description
-callback {command1}
{command2} ... {commandn}
-name fieldSymbol
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:
99
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
-name fieldSymbol
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
# 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}
-defValue {integer}
-editable 0|1
-name fieldSymbol
Specify the range for the input value. When {min max} is
specified, it checks whether the input value is valid.
-value {integer}
101
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}
-fields
[list $field1 $field2 ...
$fieldn]
-name formSymbol
-title formTitle
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}
-defValue {integer}
-editable 0|1
-name fieldSymbol
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.
103
Argument
Description
-value {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
-labelText text
-name fieldSymbol
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}
-defValue
{the value in choice list}
-doublieClickCB
{Tcl command as doubleclick}
105
Argument
Description
-multipleSelect 0|1
-name fieldSymbol
-numRows numRows
-value
{the value in choice list}
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
# 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}
-defValue {choice}
107
Argument
Description
-editable 0|1
-name fieldSymbol
-value {choice}
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
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-callback {command1}
{command2} ...
{commandn}
-defValue {X Y}
-editable 0|1
-name fieldSymbol
-value {X Y}
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.
109
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}
-defValue {choice}
-editable 0|1
-name fieldSymbol
-value {choice}
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
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}
-defValue {choice}
-direction direction
-itemsPerRow {integer}
-name fieldSymbol
-value {choice}
111
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
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
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
-editable 0|1
-name fieldSymbol
-value
Initial shown on 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:
113
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}
-defValue {choice}
114
-name fieldSymbol
Argument
Description
-value {choice}
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
-name formSymbol
115
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
-form formName
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
Arguments
Argument
Description
-block
-handle $formHandle
-name formSymbol
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
-form formName
117
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
-name formSymbol
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
Returns
An object handle if successful; otherwise, returns 0.
Arguments
Argument
Description
-handle $formhandle
-name formSymbol
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
-name formSymbol
119
Examples
# Example 1
set form1 [gtCreateAppForm -name demo ...]
gtFormDone -name demo
# Example 2
set form1 [gtCreateAppForm -name demo ...]
gtFormDone -handle $form1
Figure 3
121
122
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.
Syntax
gtProcessDragData
Returns
None
Arguments
None
Laker Tcl Reference Manual
K-2015.06
123
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 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.
Syntax
gtProcessDragType
Returns
None
Arguments
None
124
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
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
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]
-handle $handle
-name formSymbol
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}]
127
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
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
Arguments
Argument
Description
-fields
[list $field1 $field2 ... $fieldn]
-handle $handle
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
-form $form
-handle $handle
Examples
set Fieldid [gtGet -obj $Formid -attr MY_Field]
gtDeleteField -form $Formid -handle $Fieldid -field $MY_Fieldid
See Also
gtDeleteFields
gtAddFields
129
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
-handle $handle
-obj $handle
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
-name formSymbol
Examples
set bbox [gtGetBBox -name demo]
then bbox may look like {100 200}
131
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
-name formSymbol
-obj $handle
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
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
-windowType
windowType
Examples
gtMaxWnd -windowType lakerMasterWnd
133
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
-windowType
windowType
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
Arguments
Argument
Description
-attr attribute
-handle $handle
Same as -obj.
-obj $handle
-value attrValue
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
-handle $handle
-name formSymbol
135
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
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
Syntax
gtSetBindKey [-window windowId | -windowType windowType] file user_defined_bind_key_file
Returns
None
Arguments
Argument
Description
-file
user_defined_bind_key_file
-window windowId
-windowType
windowType
137
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
-name formSymbol
-obj $handle
Argument
Description
-orig {X Y}
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
139
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
Argument
Description
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
142
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
Tcl PCells
Shape Creation
Shape Conversion
Figure Manipulation
Accessory Objects
Property
Group
Logic Objects
Parameters
143
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
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
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.
Access Fields
CellView
LP
Instance
InstHeader
(Instance Header)
Array
Rectangle
Polygon
Line
145
Identifier
Access Fields
Path
Label
Arc
Ellipse
Doughnut
Dot
Property
Group
Group Member
Net
Port
Pin
Instance Port
Instance 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
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
147
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
Examples
set libId1
set libId2
...
dbCloseLib
dbCloseLib
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
Argument
Description
-path libPath
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)
149
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
-exec command
-lib libName
-log logFile
-rcmap 0|1
Examples
# Example 1
dbFindOrphanCell -lib qa -exec Find -cellType pcell -log findlog
# Example 2
dbFindOrphanCell -lib qa -exec Delete -cellType pcell -log dellog
150
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
-threshold threshold
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
151
#
#
#
#
#
#
#
# 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
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
-layer layerNum
-purpose purposeNum
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
Returns
A layer identifier if successful; otherwise, returns nothing.
Arguments
Argument
Description
-lib libId
-layer layerNum
-purpose purposeNum
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
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
Syntax
dbGetLayerNameByLayerId -layer $layerId
Returns
A layer name if successful; otherwise, returns 0.
Arguments
Argument
Description
-layer $layerId
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
Examples
dbOpenLib -lib cpu
set layerIds [dbGetLayerIdsByLib -lib cpu]
foreach x $layerIds {
puts [dbGetLayerNumByLayerId -layer $x]
}
155
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
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
Arguments
Argument
Description
-lib libId
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
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.
157
Arguments
Argument
Description
-lib libName
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
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
Returns
Parameter value that defined in the associated technology file section.
Arguments
Argument
Description
-lib libName
-param paramName
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
Examples
set layerIdList [dbGetLayerIdsByLib -lib cpu]
foreach layerId $layerIdList {
set purposeName [dbGetPurposeNameByLayerId -layer $layerId]
puts $purposeName
}
159
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
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
Syntax
dbLibExist -lib libName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
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
-mode openMode
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.
161
Syntax
dbSaveLib -lib libName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
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
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
dbChangeCVMode
dbCheckBBox
dbCheckCV
dbCheckRecursion
dbCloseCV
dbCopyCV
dbCVExist
dbDelCV
dbDumpTCL
dbFindCV
dbGetAllCells
163
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
-mode openMode
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
-lib libName
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
165
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
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
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
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
Examples
set cv1 [dbOpenCV -lib cpu -cell cpu]
...
set cv2 [dbOpenCV -lib cpu -cell cpu]
dbCloseCV -cv $cv2
...
dbCloseCV -cv $cv1
167
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
-cv cellviewId
-lib libName
-overWrite 0|1
-view viewName
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
-lib libName
-view viewName
Examples
if {[dbCVExist -lib cpu -cell cpu]} {
set cvId [dbOpenCV -lib cpu -cell cpu]
} else {
set cvId [dbOpenCV -lib cpu -cell cpu -mode create]
}
169
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
-lib libName
-view viewName
Examples
dbDelCV -lib cpu -cell cpu -view layout
dbDelCV -lib cpu -cell cpu32
See Also
lakerDelCell
Home Page: Cell > Delete
170
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
-file fileName
-hier 0|1
-mode fileOpenMode
Examples
set cvId1
set cvId2
dbDumpTCL
dbDumpTCL
dbDumpTCL
171
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
-lib libName
-view viewName
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
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
-psubmaster 1
-view viewname
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
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
-lib libName|libLib
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
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
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
175
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
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
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
-logicName
logicInstName
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
177
Argument
Description
-view viewName
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
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
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
-lib libName
-mode openMode
179
Argument
Description
-view viewName
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
-level openLevel
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
-lib libName
-mode openMode
-view viewName
Examples
dbOpenRecoveryCV -lib cpu -cell cpu -mode readOnly
See Also
lakerOpenDesign
181
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
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
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-fun procedure
-priority priorityNo
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
-dst dstCVId
183
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
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.
185
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
-encrypt
encryptionKey
-exec
Tcl_commands
-lib libName
186
Argument
Description
-params
parameters
-pcellVersion num
-refresh 0|1
-vars
localVariables
187
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
189
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
-master
parameterizedCellId
-name
Specify the parameterized instance.
parameterizedInstName
-orient orientation
190
Argument
Description
-params parameters
-point origin
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]
191
\
\
\
expr 1
}
192
193
194
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
-name paramName
-value paramValue
195
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:
Arguments
196
Argument
Description
-attr attrName
-inst instId
-paramName
paramName
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
-name name
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
197
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
-cv cellviewId
-layer layer
-purpose purpose
-startAngle angle1
Argument
Description
-stopAngle angle2
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
-inner r1
-layer layer
-outer r2
-point center
-purpose purpose
199
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
-layer layer
-point point
-purpose purpose
Examples
dbCreateDot -cv $cvId -layer 1 -point (-2.25,5.20)
dbCreateDot -cv $cvId -layer MT1 -point (-1.0,-1.0)
200
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
-cv cellviewId
-layer layer
-purpose purpose
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.
201
Syntax
dbCreateFinRegion -cv cellviewId -layerName layerName purpose purpose -point (x1,y1) (x2,y2) (x3,y3) (x4,y4)
Returns
None
Arguments
Argument
Description
-cv cellviewId
-layerName layerName
-purpose purpose
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
Arguments
Argument
Description
-cv cellviewId
-font textFont
-height height
-justify
justification
-layer layer
-orient
orientation
-point origin
-purpose
purpose
-spacing
dSpacing
-text textString
Examples
dbCreateLabel
-height 1.2
dbCreateLabel
-height 1.2
dbCreateLabel
-text {This
See Also
dbCreateTextToPoly
203
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
-layer layer
-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
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
-cv cellviewId
-endExt
pathEndExt
-layer layer
205
Argument
Description
-point pointList
-purpose purpose
-style pathStyle
-width pathWidth
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
Argument
Description
-layer layer
-point
(x1,y1)(x2,y2)
-purpose purpose
-snapMode
snapMode
-style pathStyle
-width pathWidth
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
Returns
A polygon identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
-layer layer
-point pointList
-purpose purpose
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
Arguments
Argument
Description
-bbox bBox
-cv cellviewId
-layer layer
-purpose purpose
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
209
210
Argument
Description
-font textFont
-height height
-justify
justification
-layer layer
-non45free 0|1
-orient
orientation
-point origin
-purpose
purpose
-spacing
spacing
-text
textString
-width width
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
-minContacts n
-point
(x1y1)(x2,y2)
211
Argument
Description
-routingLayer
routingLayer
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
Description
-beginExt beginExt
-endExt endExt
-beginLeftDiagExt
beginLeftDiagExt
-beginRightDiagExt
beginRightDiagExt
-beginRightHalfWidth
beginRightHalfWidth
-endLeftDiagExt
endLeftDiagExt
-endRightHalfWidth
endRightHalfWidth
-beginPt beginPoint
-endPt endpoint
-beginStyle beginStyle
-endStyle endStyle
-cv cellviewId
-def defName
-layer layer
-net netId
213
Argument
Description
-orient orientation
-purpose purpose
-width pathWidth
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
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
-side sideNo
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.
215
Arguments
Argument
Description
-doughnut doughnutId
-side sideNo
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
-side sideNo
Examples
set ellipseId [dbCreateEllipse -cv $cvId -layer 1 \
-bbox (0,0)(10,20)]
set polygonId [dbEllipseToPolygon -ellipse $ellipseId -side 4]
216
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
-style pathStyle
-width pathWidth
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.
217
Arguments
Argument
Description
-path pathId
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
-width extendWidth
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
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
-deloldobj 0|1
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
dbCreateArray
dbCreateInst
dbFindInst
219
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
-cols colNo
-colSpace
colSpace
-cv tcvId
-lib libName
-master mcvId
-name
arrayName
Argument
Description
-orient
orientation
-point origin
-rows rowNo
-rowSpace
rowSpace
-view
viewName
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.
221
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
-cv tcvId
-justification
justification
-lib libName
-master mcvId
-name instName
-orient
orientation
-point origin
-returnOrigin 0|1
-view viewName
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
-name instName
Examples
dbFindInst -cv 202810 -name I0
See Also
lakerFindObj
Layout Window: Query > Find
223
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
-inst2 instId2
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
-instHeader instHId
-lib libName
Argument
Description
-view viewName
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
225
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
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
-offsetPoint1 offset1,
-offsetPoint2 offset2
-orient1 orientation1,
-oritne2 orientation2
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]
227
Returns
A figure identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-dst dstCVId
-fig figId
-mag magnification
-offsetPoint offset
-orient orientation
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
Description
-cv cellviewID
-snapGrid 0|1
-type polygonType
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:
229
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:
Arguments
230
Argument
Description
-attachBBox 0|1
-attachPoint 0|1
Argument
Description
-bbox bBox
-cv cellviewId
-cbFun
callBackFunc
-condition
[{O|E|B|S}]
-instOnly 0|1
-layer layer
-purpose purpose
-shapeOnly 0|1
-startLevel level1
-stopLevel level2
231
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
Argument
Description
-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
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
233
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
-fig figId
-mag magnification
-offsetPoint offset
Argument
Description
-orient orientation
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.
235
Arguments
Argument
Description
-cell cellName
-cv cellviewId
-lib libName
-view viewName
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
-figs figIds
-separateAll 0|1
Argument
Description
-transShape 0|1
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
-point (x0,y0)
Examples
set cvId [dbOpenCV -lib cpu -cell cpu]
dbShiftOrigin -cv $cvId -point (100,50)
237
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
-convert 0|1
-deloldobj 0|1
-figs figures
Argument
Description
-keepOrthogonal 0|1
-layer layer
-purpose purpose
-size sizeValue
-truncate floatValue
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
239
# 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
-level level
-smashArrayInst 0|1
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
-cv cellviewId
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.
241
Syntax
dbTransformBBox -bbox bBox [-orient orientation] offsetPoint offset [-mag magnification]
Returns
A bounding box if successful; otherwise, returns 0.
Arguments
Argument
Description
-bbox bBox
-mag magnification
-offsetPoint offset
-orient orientation
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
Arguments
Argument
Description
-mag magnification
-offsetPoint offset
-orient orientation
-point point
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
244
Arguments
Argument
Description
-attachBBox 0|1
-attachOutlinePoint 0|1
245
246
Argument
Description
-bbox bBox
-cv cellviewId
-cbFun callBackFunc
-disableArrayInst 0|1
-instOnly 0|1
-layer layer
-purpose purpose
-shapeOnly 0|1
Argument
Description
-side sideNum
-startLevel level1
-stopLevel level2
-trueOverlap 0|1
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
247
248
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
249
Returns
A coordinate if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
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
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
Returns
A coordinate if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
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
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
251
Returns
A coordinate if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
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
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
Returns
A coordinate if successful; otherwise, returns nothing.
Arguments
Argument
Description
-bbox bBox
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.
253
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
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
-cell cellName
-lib libName
-property
propertyName
-site
{coresite|User-defined Site}
-view
{abs | layout | abs layout}
Examples
dbCellPro -lib demo -cell cell1 -property RING -attr None
See Also
lakerCellPro
Layout Window: Cell > Cell Type
255
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
-obj2 objId2
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
Arguments
Argument
Description
-appType typeName
-displayed 0|1
-name propName
-obj objId
-replace 0|1
-type propType
-value propValue
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
257
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
-obj objId
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
-obj objId
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
259
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
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
-obj objId
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
Returns
A group identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-cv cellviewId
-name groupName
-ordered 0|1
-type groupType
-uniqueName 0|1
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
-name groupName
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
-obj objId
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.
263
Arguments
Argument
Description
-cv cvId
-name groupName
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
-member2 memId2
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
265
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
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
-leftIdx n1
-name netName
-rightIdx n2
-step n3
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
267
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
-name pinName
-net netId
-pin pinId
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
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
-name portName
-net netId
-port portId
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.
269
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.
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
-declaration 0|1]
-get 0|1
-leftIdx n1
-name netName
-rightIdx n2
-step n3
270
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
-fig figId
271
Argument
Description
-jointType JointType
-name pinName
-net netId
-portDir PortDir
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
Arguments
Argument
Description
-dir direction
-name portName
-net netId
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.
273
Arguments
Argument
Description
-cv cellviewId
-name netName
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
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
Arguments
Argument
Description
-cv cellViewId
-inst instName
-param parameterName
-value 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
-leftIdx num
-name netName
-rightIdx num
275
Argument
Description
-step num
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
Arguments
Argument
Description
-cv cellviewId
-name portName
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
-genPinBy
label|net|mix
277
Argument
Description
-topLevelOnly 0|1
-useColonVirtual 0|1
-extLevel levelNo
-pinSize 0|1
-width width
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
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
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
-leftIdx n1
-name netName
279
Argument
Description
-rightIdx n2
-step n3
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
-name netName
Examples
# Example 1
dbMakeSingleNet -cv $cvId -name N1
280
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
-lib $libId
Examples
dbCellFind -lib $libId -cell cellA
281
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
-obj2 objId2
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
Argument
Description
-asVarExpr 0|1
-displayed 0|1
-editable 0|1
-hasdefault 0|1
-name paramName
-obj objId
-promptName
promptName
-replace 0|1
-type paramType
-value paramValue
-visible 0|1
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
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
-obj objId
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
Syntax
dbFindParam -obj cellId -name paramName
Returns
Parameter identifier if successful; otherwise, returns 0.
Arguments
Argument
Description
-name paramName
-obj cellId
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
285
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
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
Examples
dbLoadLibCDF -lib $libId
286
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
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
287
Arguments
Argument
Description
-lib $libId
Examples
dbSaveLibCDF -lib $libId
See Also
dbLoadCellCDF
dbLoadLibCDF
dbSaveCellCDF
288
dbAddChildToParent
dbArea
dbColorBackAnno
dbColorPropagation
dbDelete
dbGet
dbGetChild
dbGetLastModifyTime
dbGetParent
dbGetShapeDimension
dbIterateDB
dbIsDbObj
dbIterateLib
dbSelObjsByType
dbSet
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
-parent objId2
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
289
Argument
Description
-figs dbFig
-file fileName
-fromlevel Level
-layer {{layerName
purposeName} {...}
-tolevel Level
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
Arguments
Argument
Description
-colorCell cellName
-colorCv cellViewId
-colorLib libName
-colorView viewName
Specify the view type of the color cell. The default is layout.
-topCell cellName
-topCv cellViewId
-topLib libName
-topView viewName
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
291
Argument
Description
-clearOnly
-cv cellViewId
-lib libName
-mapToFullLock
-view viewName
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
Examples
set rectId [dbCreateRect -cv $cvId -layer 1 -bbox (0,0)(1,2)]
dbDelete -obj $rectId
292
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
Array
CellView
CustomViaHeader
Dot
Doughnut
293
294
Objects
Attribute Names
Ellipse
Group
Group Member
HET
Instance
InstPin
InstPort
InstHeader
Label
Layer
LD
Objects
Attribute Names
Lib
Line
LP
Net
Netlist
Path
Pin
Polygon
Port
Property
295
Objects
Attribute Names
Rectangle
Route
RowArea
siteDef
StdViaHeader
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
Arrays
BBox
abcd
(a, b)(c, d)
{{a b}{c d}}
BeginExt
beginPoint, endPoint
A point.
beginStyle, endStyle
CellName
Attribute Name
Valid Values
CellViewType
Color
String.
Color value, 0-7
Cols
A positive integer.
ColSpace
A floating number.
CustomVia
cutColumns, cutRows
A postive integer.
cutPattern
cutWidth, cutHeight
A floating number.
CV
DBUPerUU
A floating number.
DefCompPlaceStatus
DefCompProperty
DefCompSource
DefName
297
298
Attribute Name
Valid Values
DefNetProperty
DefNetSource
DefNetUsage
DefOriginalNetName
DefPinOrient
DefPinPlaceStatus
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
DeleteWhen
ElementId
EllipseBBox
EndExt
Attribute Name
Valid Values
Ext LefDiagExt
RightDiagExt
RightHalfWidth
A floating number.
Figs
FileName
A file name.
FillColor
Fill color.
Font
Group
A group identifier.
GroupMembers
Groups
GroupType
Set, Collect.
Height
Inner
InstCount
A positive integer.
InstHeader
InstHeaders
InstPins
InstPort
InstPortCount
A positive integer.
InstPorts
Insts
IsBundle
0, 1
299
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
Justify
LabelType
Layer
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
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
Masters
Members
Mode
Name
Object name.
301
302
Attribute Name
Valid Values
NameWithRange
Net
A net identifier or 0.
NetCount
A positive integer.
Nets
NumBits
An integer.
opNets
Obj
An object identifier.
Object
An object identifier.
Objects
Orient
Origin
OtherInfos
Outer
OutlineColor
Outline color.
OutlinePoints
Packet
Display group.
Params
Attribute Name
Valid Values
PathSeg
Pin
A pin identifier or 0.
PinCount
A positive integer.
Pins
Point
A point.
PointNum
A positive integer.
Points
A list of points.
PortCount
A positive integer.
Ports
PortType
Priority
0~127
Props
Purpose
Purpose1, Purpose2,
cutPurpose
Purpose1Num,
Purpose2Num,
cutPurposeNum
303
304
Attribute Name
Valid Values
PurposeNum
0~255
Range
RepType
Resolution
Rows
A positive integer.
RowSpace
A floating number.
Scale
dbScale.
ShapeCount
A positive integer.
ShapeNum
A positive integer.
Attribute Name
Valid Values
Shapes
SimInfos
SiteDefType
Core, Pad
Spec
StartAngle
A floating number.
Status
StdVia
Stipple
Stipple pattern.
StopAngle
A floating number.
Style
Text
A string.
Topology
Type
UsedIn
305
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
Value
ValueType
ViaHeader
ViewName
A view name.
Width
Syntax
dbGet -obj objId [-attr attrName] [-attType attType]
Returns
An attribute value if successful; otherwise, returns nothing.
Arguments
306
Argument
Description
-attr attrName
-attType attType
-obj objId
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}
307
# 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.
# 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.
309
#
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
310
311
# 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
# 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
313
# 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
# 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.
315
Arguments
Argument
Description
-obj objId
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
-lib libName|libId
-view viewName
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
317
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
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
Arguments
Argument
Description
-attr attrName
-obj objId
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
-cv cellviewId
Examples
# Example 1
# Return all DB cell views opened in the memory
319
# 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
# 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
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]
321
Returns
If -attr is not specified or -attr " " is specified, all of the dbIterateLib
related information is returned.
Arguments
Argument
Description
-attr attrName
-lib libName
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]]
#
#
#
#
#
#
#
#
#
#
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
Arguments
Argument
Description
-objs objIds
-type objType
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
323
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
Array
CellView
Dot
Doughnut
Objects
Attribute Names
Ellipse
Group
Instance
Instance Pin
Net
Instance Port
Label
Line
Net
Netlist
Path
Pin
Polygon
Port
Property
AllNames, Value
325
Objects
Attribute Names
Rectangle
Route
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
CellViewType
Color
Cols
A positive integer.
ColSpace
A floating number.
DBUPerUU
A floating number.
DefCompPlaceStatus
DefCompProperty
DefCompSource
DefNetNondefRuleName
Attribute Name
Valid Values
DefNetProperty
DefNetSource
DefNetUsage
DefOriginalNetName
DefPinOrient
DefPinPlaceStatus
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
DeleteWhen
EllipseBBox
327
328
Attribute Name
Valid Values
EndExt
Flag
An integer.
Font
GroupType
Set, Collect.
Height
Inner
IsDrafted
0, 1
IsOrdered
0, 1
IsOverbar
0, 1
IsSpecial
0, 1
IsUniqueName
0, 1
IsVisible
0, 1
JointType
Justify
LabelType
Layer
Lock
0, 1
Mag
A floating number.
Master
Name
A string.
Attribute Name
Valid Values
Net
A net identifier.
Orient
Origin
Outer
Parent
A db object identifier.
Point
(a,b)
a b
{a b}
Points
PortType
Priority
0~127
Purpose
RepType
Rows
A positive integer.
RowSpace
A floating number.
Spec
StartAngle
A floating number.
329
Attribute Name
Valid Values
Status
StopAngle
A floating number.
Style
Text
A string.
Topology
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)
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
ViaCell
1
If value=1, then add the via cell property.
Width
Syntax
dbSet -obj objId -attr attrName -value attrValue [-attType
attType]
Returns
1 if successful; otherwise, returns 0.
330
Arguments
Argument
Description
-attr attrName
-attType attType
-obj objId
-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
331
# "Normal",
# "Annotate",
# "Comment",
// dbcNormalLabel
// dbcAnnotateLabel
// dbcCommentLabel
# Example 11
dbSet -obj $netId -attr Type -value XXX
#
#
#
#
#
#
# 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]
333
# Example 18
dbSet -obj $shape -attr Color -value colorA
# Example 19
dbSet -obj $shape -attr Lock -value 1
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
Arguments
Apply the Boolean operation on two sets of figures:
Argument
Description
-action
[AND|OR|NOT|SIZE|
GROW|SHRINK|
SIZE4DIR]
-opnd1 figList1
-opnd2 figList2
-outputLayer
layerPurpose
Description
-action
[AND|OR|NOT|SIZE|
GROW|SHRINK|
SIZE4DIR]
-cv cellviewId
335
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
-colSpace colSpace
-figs figList
-rows rosNo
-rowSpace rowSpace
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
dbUDDDelete
The dbUDDDelete command deletes a list of figures.
Syntax
dbUDDDelete -figs figList
Returns
None
Arguments
Argument
Description
-figs figList
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
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
-cell cellName
-colSpace colSpace
-figs figList
-fillInObj figId|figIdList
-justify jusification
-leftEnc leftEnc
-lib libraryName
-magni manification
-method
contact|guardring
Argument
Description
-orient orientation
-rightEnc rightEnc
-rowSpace rowSpace
-topEnc topEnc
-view viewName
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]
339
set
set
set
set
set
set
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:
340
[0|1]}
Arguments
Argument
Description
-availOnly 0|1
-cv cellviewId
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
341
Arguments
Argument
Description
-cv cellviewId
-delete
-name parName
-type
-value parValue
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
# 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
dbSchCloneMaster
dbSchExpandMFactor
dbSchFlatten
dbSchGroup
dbSchInstanceMap
dbSchMakeNode
dbSchUngroup
dbSchCloneMaster
The dbSchCloneMaster command copies the master cell of the specified
instance to another cell.
343
Syntax
dbSchCloneMaster -cv cellviewId -inst inst_list -newCell
cell_name
Returns
None
Arguments
Argument
Description
-cv cellviewId
-inst inst_list
-newCell cell_name
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
-inst inst_list
Examples
dbSchExpandMFactor -cv $cvId -inst x0 x1
344
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
-inst inst_list
-level flatten_level
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
345
Returns
None
Arguments
Argument
Description
-cv cellviewId
-inst instList
-name groupName
-type groupType
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
Arguments
Argument
Description
-cv cellviewId
-hierInstMap
hierInstMap
-hierNetMap
hierNetMap
-inst instName
-mapCell refCell
-mapLib refLib
-mapView refView
-parameterMap
parameterMapping
-portMap mappingPort
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.
347
Syntax
dbSchMakeNode -cv cellviewId -inst instList -newCell
cellName [-newInst instName]
Returns
None
Arguments
Argument
Description
-cv cellviewId
-inst instList
-newCell cellName
-newInst instName
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
Arguments
Argument
Description
-cv cellviewId
-inst instList
-type groupType
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
349
Argument
Description
-type MCell_type_name
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
-lib library_name
-type MCell_type_name
Examples
# Example 1
dbGetAllMCellRuleValues -lib "cpu" -type "transistor" -dev "pmos"
# Return: "minPoly2GateExtension 0.1 minOd2GateExtension 0.3 ..."
350
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:
351
352
If -attr All is specified, returns a list of user-defined purpose namenumber pairs. For example: {<Purpose_Name> <Purpose_Num>}
{<Purpose_Name> <Purpose_Num>}...
353
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.
Other attributes without any specified layer identifier are also returned in the
condition of:
354
If the attributes for layerDef are specified, returns the following attributes:
If -attr LayerDef<Mapped_Layer_Name>Stretchable is
specified, returns the value defined with stretchable for the mapped
layer in the device.
355
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 the attributes for traitDef are specified, returns the following attributes:
357
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>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 the attributes for CallBack are specified, returns the following attributes:
359
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>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>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 ...
361
362
Other attributes without any specified layer identifier are also returned in the
condition of:
363
364
Other attributes without any specified layer identifier are also returned in the
condition of:
365
Other attributes without any specified layer identifier are also returned in the
condition of:
If the attributes for the stdViaDef rules are specified, returns the
layerDef attributes in the conditon of:
366
If the attributes for the stdViaDef rules are specified, returns the ruleDef
attributes as follows. When specifying the attributes, <Command_Name>
must be capitalized.
367
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
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.
369
Arguments
370
Argument
Description
-attr attrName
-deviceName
deviceName
-deviceType
deviceType
-layer layerId
-lib libId/libName
-obj objId
-param parameters
-sect sectName
Argument
Description
-ver version
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
371
372
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
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
373
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
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
-argv arguments
-busParentheses
style
-case case
-cell cellName
-command
command
-delimiter
delimiter
-dummySuffix 0|1
375
376
Argument
Description
-end 0|1
-extScript 0|1
-file fileName
-flatten 0|1
-forkChild 0|1
-genIncVa 0|1
-genPseu 0|1
-include 0|1
-level 0|1
-lib libName
-linespace
lineSpace
-outputBorder 0|1
Argument
Description
-pinInfo 0|1
-popupInfoDlg 0|1
-removeDevice 0|1
-sim netType
-spiceStop 0|1
-view viewName
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
377
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
-cell cellName
-cellHeader 0|1
-expand 0|1
-file fileName
-gnd netNames
-hiddenPort port
-insteadToken
insteadValue
-lib libName
Argument
Description
-linespace num
-outTextView 0|1
-popupInfoDlg 0|1
-pwr netNames
-splitBundle 0|1
-splitInstArray 0|1
-veriStop 0|1
-view viewName
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
379
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
-file listFilename
-lib libName
-list listFilename
Specify the name of the list file for the Verilog family.
-path runPath
-textType textType
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
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
-dmCVCkin 0|1
-dmCVCkout 0|1
-lib libName
-mode mode
-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
-showDsgWnd
restoreNum
381
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
-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
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
# 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
Examples
adpOpenWaveAna -topWnd _adp1
383
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
-case case
-cellCase case
-dumpMap
modelMapFile
Argument
Description
-ecoFile
ecoFileName
-excludedCell
excludedCells
-execECO 0|1
-expandLog
logFile
-extractConstraint
0|1
-file fileName
-forkChild 0|1
-genAllSchematic
0|1
-instCase case
-lib libName
-modelMap
modelMap
-netCase case
-paraCase case
385
386
Argument
Description
-path path
-postProc 0|1
-postProcCmd
filename
Specify the Tcl script file. This argument is valid only if postProc 1 is specified.
-preProc 0|1
-preProcArgs args
Specify the arguments for the Tcl script. This argument is valid
only if
-preProc 1 is specified.
-preProcBckp 0|1
-preProcBckpSuffix
suffix
-preProcCmd
filename
Specify the Tcl script file. This argument is valid only if preProc 1 is specified.
-priority priority
-ps 0|1
-refLib
refLibName
-scale scale_LW
Argument
Description
-suffix suffix
-tech techFile
-topCell topCells
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
387
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
-forChild 0|1
-lib libName
-modelMap
mapFile
Specify the model map file if adding prefix to the element name.
-prefix 0|1
-topCell
topCellName
Examples
# Example 1
lakerCDLOut -file CkSpiceout.cir -lib qqq -forkChild 1
# Example 2
lakerCDLOut -file test.sp -lib test -topCell TEST \
388
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 ...}} ...
Arguments
Argument
Description
-autoCheck
-checkOpenResult
-closeResultForm
-lib libraryNameList
389
Argument
Description
-showResultForm 0|1
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
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
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
391
Arguments
Argument
Description
-cell cellName
-lib libName
-groupR 0|1
-groupW 0|1
-otherR 0|1
-otherW 0|1
-ownerW 0|1
-view viewName
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
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
-case case
-cdf cdfPath
-cellCase case
393
394
Argument
Description
-cvMode
cellviewMode
-dumpMap
modelMapFile
-ecoFile
ecoFileName
-execECO 0|1
-expandLog logFile
-extractConstraint
0|1
-file fileName
-forkChild 0|1
-from fromSource
-ignoreNameList
{IgnoreList}
-instCase case
-lib libName
-modelMap
modelMap
Argument
Description
-netCase case
-overwriteCell 0|1
-paraCase case
-path path
-priority
schematic|layout
-ps 0|1
-refLib refLibName
-scale scale_LW
-shortNameList
{ShortList}
-suffix suffix
-tech techFile
-topCell
topCellName
Examples
# Example 1
lakerEDIFIn -file ./16adder.edif -tech ./16adder.tf -path . \
395
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
-dmCkinDesign
design_name
[design_name ...]
Argument
Description
-dmCkcancelDesign
design_name
[design_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]
397
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-attachToLib
masterLib
-cbFunc
cbProcName
398
-copy 0|1
-copyRefLib copyRefLib
-dumpMap
modelMapFile
-ecoFile
ecoFileName
-execECO 0|1
Argument
Description
-expandLevel level
-expandLog logFile
-expandVectorInst 0|1
-extractConstraint
0|1
-ignoreNameList
{IgnoreList}
-lib libName
-modelMap
modelMap
-overwriteCell 0|1
-path path
-priority priority
-ps 0|1
-refLib
refLibName
399
Argument
Description
-scale scale
-showOnly
-shortNameList
{ShortList}
-skipSaveModelMap
0|1
-suffix suffix
-switchViews viewList
-tech techFile
-toLib toLib
-topCell
topCellName
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
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
-file fileName
-lib libName
-logFile logErrName
Specify the file name for the log and error files
(default=constExport).
-view viewNameList
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
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
-forkChild 0|1
-keepSoftPinShapes
0|1
-lib libName
-logFile
logErrName
Specify the file name for the log and error files
(default=DefOut).
-rectDrcFill 0|1
Argument
Description
-topCell
topCellName
-view viewName
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
-file fileName
-forkChild 0|1
-lib libName
-logFile logErrName
Specify the file name for the log and error files
(default=LefOut).
403
Argument
Description
-topCell topCellList
-version
[5.3|5.4|5.5|5.6|5.7]
-view viewName
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
Arguments
Argument
Description
-case case
-cellMap cellMapFile
-cmpLevel level
-con3Layer 0|1
-cvtRoundPath mode
-dumpTree 0|1
-expLevel levelRange
-file expFileName
-filter 0|1
-filterDummyCellInst 0|1
-fontMap fontMapFile
405
406
Argument
Description
-forkChild 0|1
-layerMapMode mode
-label label
-layerMap layerMapFile
-lib expLibName
-logFile logErrName
Specify the file name for the log and error files
(default=oasisOut).
-logicProp 0|1
-logInfo 0|1
-logUndefInst 0|1
-mergeRefLib 0|1
Argument
Description
-MCellProp 0|1
-path2Rect 0|1
-renameMode mode
-rotateArrIdv 0|1
-scale dbScale
-showOnly 0|1
-smashMCell mode
-smashPCell 0|1
407
Argument
Description
-snapGrid 0|1
-topCell topCellList
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
Description
-case case
-cellMap cellMap
-cellNameLen
maxNameLen
-colorPropagation 0|1
-con3Layer 0|1
-convertPolyText 0|1
-convertTextBrackets
0|1
-designIntention 0|1
409
410
Argument
Description
-diIncludeOriginLayers
0|1
-diLayerMapFile
mapFileName
-dumpTree 0|1
-duplicatedCell
ordinal
-exportLevel
levelRange
-file fileName
-filter 0|1
-filterDummyCell 0|1
-filterDummyInst 0|1
-filterSoftPin 0|1
-filterSysPin 0|1
Argument
Description
-filterText 0|1
-finShapeProp
finShapeProp
-fontMap fontMap
-forkChild 0|1
-fullColoringProp
fullColoringProp
-instProp instProp
-IoLayerMapFullLock
0|1
-IoLayerMapMode
mode
411
Argument
Description
-keepPCell 0|1
-label mode
-layerMap layerMap
-lib libName
-logFile logErrName
Specify the file name for the log and error files
(default=streamOut).
-logicProp logicProp
-logInfo 0|1
-LogInstLoc 0|1
-maxVerti maxVerti
-mergeRefLib 0|1
-mcellProp MCellProp
412
Argument
Description
-netProp netProp
-OutAbsCell mode
-propMap
propMapFile
-purposeMap 0|1
-reduceDevice 0|1
-renameMode 0|1
-renPCell 0|1
-rptZeroNegPitch 0|1
-scale scale
413
Argument
Description
-showOnly 0|1
-skip200 0|1
-SmashMCell mode
-SmashPCell 0|1
-snapGrid 0|1
-topCell topCellList
-viewName viewName
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
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
-file fileName
-lib libName
-logFile logErrName
Specify the file name for the log and error files
(default=constImport).
-mode importMode
-suffix suffix
415
Argument
Description
-view viewNameList
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
-file fileName
Argument
Description
-forkChild 0|1
-lib libName
-logFile
logErrName
Specify the file name for the log and error files
(default=DefIn).
-path libPath
-tech techFile
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
-file fileName
417
Argument
Description
-forkChild 0|1
-lib libName
-logFile logErrName
Specify the file name for the log and error files
(default=LefIn).
-path libPath
-tech techFile
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
Arguments
Argument
Description
-attachToLib
masterLib
-case case
-cellMap
cellMapFile
-correctNon90Inst 0|1
-dumpTree 0|1
-file impOasisFile
-filter 0|1
-filterBadChar 0|1
-fontMap
fontMapFile
-forkChild 0|1
419
Argument
Description
-impLayerOnly 0|1
-layerMapMode
{Map|Filter|Off}
-label
Set the case sensitivity in text labels.
{Preserve|Upper|Lower} Valid values: Preserve, Upper, and Lower
(default=Preserve).
420
-layerMap
layerMapFile
-lib impLibName
-logFile logErrName
Specify the file name for the log and error files
(default=oasisIn).
-logicProp 0|1
-logInfo 0|1
-logUndefInst 0|1
-MCellProp 0|1
Argument
Description
-path libPath
-refLib [libList]
-refOtherFirst 0|1
-renameMode
{Overwrite|Rename|
Query|Skip}
-resize resizeFactor
-rotateArrIdv 0|1
-showOnly 0|1
-snapGrid 0|1
-tech techFile
421
Argument
Description
-topCell topCellList
-useLAYERNAME 0|1
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
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
-case case
-cellMap cellMap
-convertTextBrackets 0|1
-convertTextAngBrackets
0|1
-CorrectNon90Inst 0|1
-detectVias 0|1
423
Argument
Description
-dumpTree 0|1
-file fileName
-filter 0|1
-finShapeProp
finShapeProp
-fontMap fontMap
-forkChild 0|1
-fullColoringProp
fullColoringProp
424
-ignoreConflictMCell 0|1
-ignoreDupMap 0|1
Argument
Description
-instProp instProp
-IoLayerMapMode
mode
-keepPCell 0|1
-label mode
-layerMap layerMap
-lib libName
-logFile logErrName
Specify the file name for the log and error files
(default=streamIn).
-logicProp logicProp
-logInfo 0|1
425
Argument
Description
-LogInstLoc 0|1
-maxVerti maxVerti
-MCellProp MCellProp
-netProp netProp
-path libPath
-propMap propMapFile
-refLib {libList}
-refOther 0|1
426
Argument
Description
-renameMode mode
-replaceTF mode
-resize resizeFactor
-rptZeroNegPitch 0|1
-showOnly 0|1
-skip200 0|1
-snapGrid 0|1
-strmInLayerOnly 0|1
427
Argument
Description
-sumExtraLayer 0|1
-tech techFile
-topCell topCellList
-updateMCell mode
-updateMCellLib libList
-updateSlaveMCell 0|1
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
# 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
-layerMap layerMap
-layerThicknessFile file
Specify the layer thickness file containing the userspecified thickness for each layer.
429
Argument
Description
-to output
inputFile
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
Arguments
Argument
Description
-attachToLib
masterLib
-dumpMap
modelMapFile
-ecoFile
ecoFileName
-execECO 0|1
-expandLog
logFile
-extractConstraint
0|1
-file
verilogListFilename
-genAllSchematic 0|1
-gnd gndName
-impRefLib refLib
-lib libName
-list
verilogListFilename
-modelMap
modelMap
-path runPath
-power powerName
431
Argument
Description
-priority priority
-ps 0|1
-refLib
refLibName
-rmEsc 0|1
-showOnly
-suffix suffix
-tech techFile
-topCell topCellName
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
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
-cell cellName
-dmCVCkin 0|1
-dmCVCkout 0|1
-lib libName
-mode mode
-restorenum
restoreNum
-view viewName
-viewType
cellviewType
Specify the cell view type of the cell to be opened. The only
available type is maskLayout.
433
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
-save file
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
435
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
-netlistMap netlistMap
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
-cell cellName
-extDepth depth
437
Argument
Description
-extractThrPin 0|1
-genPolyPin 0|1
-lib libName
-onlyLevel0 0|1
-showOnly 0|1
-useColonVirtual
-view viewName
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
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
-path path
-addICCRefLibs
-useOATech
-layerMap
layerMapLib
-viaMap
viaMapLib
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
439
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
-refLib refLib
-refView
viewName
-toLib toLib
-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.
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
-overwrite 0|1
-toLib toLib
-toPath toPath
441
Argument
Description
-view
viewNameList
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
Examples
# Delete the library (demoLib)
lakerDelLib -lib demoLib
See Also
Home Page: Library > Delete
442
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
-power
powNetNameList
-ground
gndNetNameList
-global
globalNetNameList
-remove
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
443
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
-file filename
-groupDis 0|1
-groupInst 0|1
-ignoreBulk 0|1
-lib libName
-lib2 libName
Argument
Description
-reportDiscOnly 0|1
-topCkt topCktList
-view1
viewName
-view2
viewName
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
445
Arguments
Argument
Description
-lib libName
-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
-toLib newLibName
-toPath pathName
Examples
lakerEncryptLib -lib Demo -toPath . -toLib EDemo
See Also
Home Page: Library > Encrypt UDD
446
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
-dir icdfDir
-file cdfFile
-lib libName
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.
447
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
-delete
Delete a parameter.
-dispAttr {{dispAttr}
-lib libName
-netlistAttr {{nlAttr}
-nlsimtype netlistType
-paname paramName
448
-topWnd winId
-value {{value}...}
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
449
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
-keepEditValue 0|1
-keepTxLenWidth 0|1
-lib libName
-overwrite 0|1
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
-toLib targetLibName
-toPath toPath
-topCell topCellName
-updateMCell mode
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]
451
Returns
None
Arguments
Argument
Description
-attachToLib
masterLib
-lib libName
-path path
-refTechLib
refTechLibs
-tech techFile
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
Returns
None
Arguments
Argument
Description
-backupnum
nKeepBackupNum
-lib Liblist
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
453
Argument
Description
-updateCellBBox 0|1
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
-update 0|1
Examples
lakerRefreshMCell -lib demoLib -update 1
454
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
-updateProcScript 0|1
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
455
Arguments
Argument
Description
-lib libName
-rename rename
-update 0|1
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
-modelMap
modelMapFile
Examples
lakerRepModelMap -lib demo -modelMap demo.map
456
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:
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
457
458
Argument
Description
-lib libName
-load filename
-purge 0|1
-save filename
-swapInfo
{{cell1 perm_string}
{cell2 perm_string}...}
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
-getMasterLibName 0|1
-lib libName
459
Argument
Description
-local 0|1
-returnContent 0|1
-section sectionName
-tech techFile
-unique 0|1
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
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
-lib libName
-partial 0|1
-tech techFile
-updateMCell 0|1
-updateMCellList
MCellList
-updateSlaveMCell 0|1
461
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
-sect sectionName
Examples
lakerTechSave -lib demoLib
See Also
Technology File Editor: File > Save
462
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
-checkLogicNet 0|1
-createPinFromInstance
0|1
-excludePoly 0|1
-extDepth depth
-extLabelDepth
labelDepth
-lib libName
463
Argument
Description
-mode mode
-pinSize 0|1
-thruVia 0|1
-topMetalLayer number
-useColonVirtual 0|1
-view viewName
-width width
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
# 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
-view {viewName}
465
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
Arguments
Argument
Description
-category catgPathName
-lib libName
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
-cell cellList
-lib libName
-remove
-toCategory
catgPathName
467
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
-lib libName
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
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
-lib libName
-newName
newCatgPathName
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
469
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
-cell cellName
Argument
Description
-copyView
viewList
-hierarchy
hierarchy
-lib libName
-opt options
-toCategory
toCatgPathName
-toCell
Specify the destination cell with its category path.
toCatgPathCellName
-toLib toLib
-updateInst
updateInst
471
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
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
-cell
cellName
-dmCVCkdelete 0|1
-filterCell
filterContent
-filterView
filterContent
-lib libName
-view viewName
473
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
Arguments
Argument
Description
-file fileName
-lib libName
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
-lib libName
Examples
lakerImportUDDGC -lib TEST -file testA.gc
See Also
Home Page: Cell > UDD > Import Global Constant
475
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
-lib libName
-view viewName
-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
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
-lib libName
-toCell
newCellName
-toView
newViewName
-update 0|1
-view viewName
477
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
-hierarchy hierarchy
Argument
Description
-lib libName
-toLib toLib
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
479
Arguments
Argument
Description
-class className
-height height
-lib libName
-site siteName
-symmetry symmetry
-width width
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
-site siteName
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
-height height
-lib libName
-site siteName
-symmetry symmetry
-width width
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
481
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
Arguments
Argument
Description
-anchorMeter 0|1
-datapoints 0|1
-fullName 0|1
-gravity 0|1
-grid gridSetting
-minDis num
-numDispMode
digDisplayed
-range num
-shape shape
-snap mode
-stickResults 0|1
483
Argument
Description
-ToFSDB 0|1
-type type
-widthSelWave num
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
-fullpath 0|1
Argument
Description
-np 0|1
-topWnd winId
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] [-
485
486
Argument
Description
-allPortNet 0|1
Argument
Description
-allSegWireLbl 0|1
-annoTextSelectable 0|1
-annTextAreaSelFilter 0|1
-autoBackup value
-autoCreateWideWire 0|1
-autoSave 0|1
-autoSaveInterval value
-autoWireWidth num
487
Argument
Description
-avoidDiffUserNets 0|1
-borderAreaSelFilter 0|1
-borderSelectable 0|1
-capacitanceFtr value
-caseSensInNetName
case
-cellNameInTitle 0|1
-changescope 0|1
488
Argument
Description
-checkERCMode
checkMode
-chkERC 0|1
-conductanceFtr value
-correctIOPortForSpice
0|1
-crossCursor 0|1
-currentFtr value
-defaultBorder 0|1
-defaultBorderCell cell
-defaultBorderLib lib
489
490
Argument
Description
-defaultPinSize value
-defaultSysNetNamePrefix
prefix
-directManipulation 0|1
-dispmode dispMode
-dmAutoCheckInCV
option
-dmAutoCheckOutCV
option
Argument
Description
-dmAutoCheckOutInFile
option
-dmAutoExcludeViewName
viewNameList
-dummyNMOSGateNet 0|1
-dummyNMOSGateNetName
netname
-dummyNMOSSDNet 0|1
-dummyNMOSSDNetName
netname
-dummyPMOSGateNet 0|1
491
492
Argument
Description
-dummyPMOSGateNetName
netname
-dummyPMOSSDNet 0|1
-dummyPMOSSDNetName
netname
-emptyValueParam 0|1
-enableAreaSelFilter 0|1
-evaluateParamValue 0|1
-frequencyFtr value
-gravity 0|1
-gravityRadius value
-highlightAllSeg 0|1
Argument
Description
-highlightFloatPoint 0|1
-highlightWithXSymbol 0|1
-honorMOSMfactor 0|1
-ignorePinOrderforPrimitive
0|1
-inductanceFtr value
-instAreaSelFilter 0|1
-instName 0|1
-instParamDisp 0|1
-instSelectable 0|1
493
Argument
Description
-keepNetNameWhenDelLabel
0|1
-keepNetNameWhileDeleting
0|1
494
-keepNonEditParamValue 0|1
-lengthMetricFtr value
-libName 0|1
-localNetName 0|1
-makeFGateHier 0|1
Argument
Description
-multipleOfFontOfPitchValue
value
-NetExprDisp
-netLabel 0|1
-netLabelAreaSelFilter 0|1
-netLabelSelectable 0|1
-netName 0|1
-panRatioValue value
-parmList 0|1
-parmsym 0|1
495
Argument
Description
-parmSymSkipDefaultValue
0|1
-pinAreaSelFilter 0|1
-pinLabelSize
pinLabelSize
-pinName 0|1
-pinSelectable 0|1
-PixelSensitiveRadius value
496
-portAreaSelFilter 0|1
-portName 0|1
-portSelectable 0|1
Argument
Description
-powerFtr value
-precision value
-PseudoRC 0|1
-resistanceFtr value
-shapeAreaSelFilter 0|1
-shapeSelectable 0|1
-showComment 0|1
-showMessageForAutoCheck
0|1
-showMessageForAutoFixing
0|1
497
498
Argument
Description
-showNamedNet 0|1
-snapCreate snapCreate
-snapEdit snapEdit
-textAreaSelFilter 0|1
-texteditor
texteditor
-textSelectable 0|1
-timeFtr value
-topPort 0|1
-treeNodeCellName 0|1
Argument
Description
-undoSize value
-viewListDefaultBinding
format
-voltageFtr value
-vtop design
-wireAreaSelFilter 0|1
-wireLabelSelectable 0|1
-withoutWiring 0|1
-zoomRatio value
-zoomToHighlightObject 0|1
499
Argument
Description
-zoomToSelectSet 0|1
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
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
-bgmode 0|1
-busParentheses style
-dummySuffix 0|1
-end 0|1
-genIncVa 0|1
-genPseu 0|1
501
Argument
Description
-IgnoredParamNames
{param1 ... paramn}
-include 0|1
-linespace
lineSpace
-openLog 0|1
-pinInfo 0|1
-regenControlDecks 0|1
-simBackupDir
-simCtrlSeg 0|1
-spiceStop 0|1
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
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
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.
503
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
-format fileFormat
Argument
Description
-method method
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] [-
505
506
Argument
Description
-abutDevice 0|1
-abutmentMode mode
-abutPCellPath path
Argument
Description
-alignSpacingValue
AlignSpacing
-autoMergeSplitTx 0|1
-bindFlightLine 0|1
-checkValidRoutingLayer 0|1
-confirmEIPSave 0|1
-constraintAwareLevel level
-createColor 0|1|2
-createColorMode cMode
0: No color.
1: Color 1.
2: Color 2.
-createDummyGate 0|1
507
508
Argument
Description
-delConnVia 0|1
-DimColorLevel level
-discreteGatePitch 0|1
-dispCellName style
-dmAutoCheckInCV
option
-dmAutoCheckOutCV
option
-dmAutoCheckOutInFile
option
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
-drawing level
-drawingMaxFilter filter
-drawingMethod method
-DRCOperMode mode
-drdColorMode cMode
-dummyGateInnerTolerance
toleranceValue
-dummyGateLengthType
LengthType
509
510
Argument
Description
-dummyGateNumbers
numberSingle numberMulti
numberInner
-EIPDimNeighbor 0|1
-enableDevObjMode 0|1
-enableSelectUndo 0|1
-fixEnc 0|1
-flightLine 0|1
-flightLineDisplayStyle style
-flightLineMode mode
Argument
Description
-getDelimiter
-hlObjPathWidth number
-instanceLoopChecking 0|1
-instRubberBandBorderOnly
0|1
-ioDefaultDirectory filePath
-maxFlightLine number
511
Argument
Description
-maxFlightLineByNet number
-maxPropagation number
-mouseWheel 0|1
-MsgLineNumber number
-offGridRouter 0|1
-overrideSwap 0|1
512
-ProcedureToOpenSchematic
procName
-propagateColor 0|1
Argument
Description
-propagateLock 0|1
-propagation 0|1
-relativeLibPath 0|1
-resistorSegNum number
-rightClickCommandMenu 0|1
-selectUndoCnt value
-selectUndoMaxObj value
-setDimensionMarkUnit unit
-setGrAlignCenterLine 0|1
513
Argument
Description
-shapeToLine 0|1
-sheetResFile fileName
Specify the sheet resistance file with its file path, for
example: ./sheet.res.
-shortDetector 0|1
-showFlightLineBySel 0|1
-showLayerAlias 0|1
-ShowNetNameTip 0|1
514
-showStreamNumber 0|1
-showWarnMsgWnd 0|1
Argument
Description
-SkipWarnNo number
-snapRowRadius dRadius
-SnapToFinSeparately 0|1
-stretchDevice 0|1
-ToolTipMaxChars value
-undoCnt value
-updateMCell 0|1
-useAbutProcedure 0|1
-viewInstPin 0|1
-viewPathLabel 0|1
515
Argument
Description
-viewPinLabel Off|Port|Net
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
# 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
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
Description
-autoChain 0|1
-autoCheckSchTimeStamp 0|1
-BrowserAutoExpandGrp 0|1
-BrowserAutoFlatnGrp 0|1
519
520
Argument
Description
-BrowserAutoGenText 0|1
-BrowserCapValueTolerance num
-BrowserCmpDetail 0|1
-BrowserCmpFormgate 0|1
-BrowserDimTolerance 0|1
-BrowserGenTextFor
{deviceType}
-BrowserGenTextHeight
textHeight
-BrowserGenTextFont
textFont
-BrowserGenTextCase
textCase
Argument
Description
-BrowserGenTextLayer
layerName purposeName
-BrowserGenTextJustify
textJustify
-BrowserGenTextOrient
textMirror
-BrowserIgnoreBulk 0|1
-BrowserMosLenTolerance num
-BrowserResValueTolerance num
-BrowserResWidthTolerance num
521
522
Argument
Description
-BrowserShowConstraint 0|1
-BrowserShowGateType 0|1
-BrowserShowGroup 0|1
-BrowserShowStack 0|1
-BrowserShowStackDetail 0|1
-BrowserSyncStatusWithADP 0|1
-BrowserSyncScopewithADP 0|1
Argument
Description
-BrowserTipLayPara 0|1
-BrowserTipSchPara 0|1
-BrowserUnsetGenTextLayer
-capDim 0|1
-capExtraDevArg 0|1
-capLayoutPort 0|1
-capPort 0|1
-capSchPort 0|1
523
524
Argument
Description
-checkSchTimeStampWhenOpen
0|1
-displayStickAtLeastObj value
-dummyNMOSGateNet 0|1
-dummyNMOSGateNetName
netname
-dummyNMOSSDNet 0|1
-dummyNMOSSDNetName
netname
-dummyPMOSGateNet 0|1
-dummyPMOSGateNetName
netname
Argument
Description
-dummyPMOSSDNet 0|1
-dummyPMOSSDNetName
netname
-honorMOSMfactor 0|1
-instDim 0|1
-instExtraDevArg 0|1
-instLayoutPort 0|1
-instPort 0|1
-instSchPort 0|1
-matchPostProc procName
525
526
Argument
Description
-matchPostProcScript file
-mosDim 0|1
-mosExtraDevArg 0|1
-mosLayoutPort 0|1
-mosPort 0|1
-mosSchPort 0|1
-multiInstDelimiter delimiter
-resDim 0|1
-resExtraDevArg 0|1
Argument
Description
-resLayoutPort 0|1
-resPort 0|1
-resSchPort 0|1
-schTopology 0|1
-selectObjectWhenCrossProbe
0|1
-spacingProc procName
-stickPostProc procName
-stickPostProcScript file
-useMatchPostProc 0|1
527
Argument
Description
-useSpacingProc 0|1
-useStickPostProc 0|1
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
# 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
529
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"
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
Returns
The field value of the parameter if successful; otherwise, returns nothing.
Arguments
Argument
Description
-attr fieldName
-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
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
Returns
None
Arguments
Argument
Description
-attr fieldName
-name parameterName
-value 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
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
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
-instModelName
model
-instParam
instParam
[-keyword 0|1]
-modelName
modelName
Get the evaluated model name in the Model Name text field of
the netlist table.
-pin allTerm
-subcktParam
subcktParam
[-keyword 0|1]
533
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
]
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]"
# 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
535
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
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
nlInstName
nlSchematicCV
nlSymbolCV
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
termOrder
Get the value of the Term Order field of the netlist table.
Arguments
Argument
Description
-attr attrName
-attType attrType
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
537
]
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
Returns
A string if successful; otherwise, returns nothing.
Arguments
Argument
Description
"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
}
539
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
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.
541
Arguments
Argument
Description
-color colorType
-name
instName1 instName2...
-topWnd winId
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
-name
netName1 netName2...
-topWnd winId
Examples
adpAddHighLightNet -topWnd _adp2 -name aa -color ID_Red4
542
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
-lib libname
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
-file FileName
543
Argument
Description
-fix
-lib libName
-log
-view viewName
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
adpChgBusChar
The adpChgBusChar command changes different bus parenthesis to create
bus type objects. It checks the following objects:
the Pin Order field for all kinds of netlist type (in the symbol)
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
-orig OrigChar
545
Argument
Description
-rep RepChar
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
-name netName
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
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cell cellName
-lib libName
-name netName
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
-lib libName
-topWnd winId
-view viewName
547
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
-lib libName
-topWnd winId
-view viewName
Examples
# Save the schematic cell aaa with sch001 view
adpDsgSaveSchCV -topWnd _adp5 -lib test -cell aaa -view sch001
See Also
adpLibMgrOpenDesign
adpDiscardDesign
548
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
-lib libName
Examples
adpFixNetFig -lib local -cell dm_chan
549
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
-lib libName
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
Arguments
Argument
Description
-id
-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
551
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
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
-cv cellViewId
Argument
Description
-lib libName
-view viewName
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
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
554
Argument
Description
-callback
procedureName
-remove
-topWnd _adp#
-type typeName
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
Examples
adpRmHighLight -topWnd _adp2
adpRmParam
The adpRmParam command removes the duplicate parameter data from the
schematic view.
Syntax
adpRmParam -lib libName
Returns
None
555
Arguments
Argument
Description
-lib libName
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
-inst instName
-param parameterName
-value 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
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-lib libName
-resolution
resolutionValue
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
-sel
0|1
Examples
adpSetObjType -obj all -sel 1
557
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
-cell cellname
-lib libname
-masterCell
masterCellName
-masterLib
masterlibName
-param Name
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
# 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
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.
559
Arguments
Argument
Description
-design designName
-file fileName
-lib libName
-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
-initCell
initCellName
-initLib
initLibName
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
-extractConstraint 0|1
-extractReadOnly 0|1
-priority priority
561
Argument
Description
-refLib
refLibName
-suffix
constraintSuffix
-targetLib
targetLibName
-topCell
topCellName
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
-lib libName
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
-type cellView A list of the selected library, cell and view names if successful;
otherwise, returns nothing.
-type cell
-type view
Arguments
Argument
Description
-canNew 0|1
563
Argument
Description
-initCell
initCellName
-initLib
initLibName
-initView
initViewName
-type designType
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
# 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
-file fileName
-lib libName
565
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
Arguments
Argument
Description
-cmdLine
Executable_Command
-content content
-end endHdlProc
-error errorHdlProc
-id virProcId
-opt option
-read readHdlProc
-script tclScriptFile
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
567
# 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
-output outputFile
Argument
Description
-quality
-view viewName
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.
569
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
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
Syntax
lakerRegWndCB -type typeName -callback procedureName [-wnd
wndName] [-remove]
Returns
1 if successful, otherwise returns 0.
Arguments
Argument
Description
-callback
procedureName
-remove
571
Argument
Description
-type typeName
-wnd wndName
Examples
# Example 1. Evaluate the callback procedure
# LayoutSelectChange with the following global
# Tcl variables for the SelectLayout event
572
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"
}
573
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
575
}
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
-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
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
577
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
-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
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
-section section
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:
579
SetColorNameForShapeCreation = ColorName
SetLockForShapeCreation = TRUE | FALSE
Syntax
sysSetRcValue -section section -key key -value value
Returns
None
Arguments
Argument
Description
-key key
-section section
-value value
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
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
Figure 3
Syntax
wtShowLicStatus [-feature feature]
Returns
None
581
Arguments
Argument
Description
-feature feature
Examples
# Example 1
wtShowLicStatus -feature Laker_L3
# Example 2
wtShowLicStatus -feature Laker_Viewer
582
6
6
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
583
Arguments
Argument
Description
-buildmap buildmap
-include fileName
Include the library mapping file. Specify the file with its full
path.
-logicName logicName
-mapPath mapPath
-purge 0|1
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
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
585
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
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
Arguments
Argument
Description
-file fileName
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
587
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
-buildmap buildmap
-del
-logicName logicName
-mapPath mapPath
-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).
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
589
590
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
591
Selection Commands
Highlight Schemes
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
Syntax
lakerAssocNet -fromView viewName [-rptFile reportFileName]
[-tolerance tolerance] [-overwrite 0|1] -layer
layerMappingList
Returns
None
Arguments
Argument
Description
-fromView
viewName
-layer
layerMappingList
-overwrite 0|1
-rptFile
reportFileName
-tolerance
tolerance
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
593
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
-file filename
-fitpage
-footer footercomment
-Inverse
-orient orientation
-paper paperSize
-printer printerName
-type printType
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
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
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
Returns
None
Arguments
Argument
Description
-attr propertyType
-property
propertyName
-site siteName
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
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
597
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
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
-gdsOut 0|1
-gdsOutFileName
fileName
-logFile 0|1
-logFileName
fileName
-skipEmptyCell 0|1
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}}
599
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
-lib libName
-mode mode
-view viewName
-restorenum
restoreNum
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
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
-copy printCopy
-fileName fileName
601
Argument
Description
-filter filterValue
-footer paperFooter
-header paperHeader
-layerPattern 0|1
-magni magnification
-orient orientation
-paperSize paperSize
602
-ruler 0|1
-toFile printToFile
-type Type
Argument
Description
-view viewName
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
Examples
# Example 1
# save the activated design to database
lakerSaveDesign
603
# 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
604
-lib libName
-SavemaskLayoutOnly 0|1
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
-logFile logFileName
-mode modeName
Examples
# Example 1
# summary for default mode (full) and default level (0)
lakerSummaryDesign
605
# 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
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
607
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
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)
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
609
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
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
611
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
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
Arguments
Argument
Description
-ratio ratio
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
Examples
# Example 1
# Pan 1/4 right of current view area to the current window
lakerPanRight -ratio 4
613
# 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
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
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
-delall 0|1
-delmark 0|1
-disall 0|1
-dismark 0|1
-load loadFile
-mark 0|1
-point (x0,y0)
-save saveFile
615
Argument
Description
-snapcursor 0|1
-zoomsize zoomSize
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
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.
617
Syntax
lakerSetAreaDsp -lowerLeft (x0,y0) -upperRight (x1,y1) [StartViewLevel StartViewLevel] [-ViewLevel ViewLevel]
Returns
None
Arguments
Argument
Description
-lowerLeft (x0,y0)
-StartViewLevel
StartViewLevel
-upperRight (x1,y1)
-ViewLevel
ViewLevel
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
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
619
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
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
-startlevel startlevel
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
621
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
-save saveFile
Argument
Description
-delall 0|1
-del delItem
-view 0|1
-addkey keystr
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
623
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
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
Examples
lakerViewTopSysPin
625
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
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)
-refTop 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
627
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
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
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
629
Arguments
Argument
Description
-pattern {number
{{width [layer purpose]
{colorName 0|1}} ...}
{spacing ...} }
-point point
(x0,y0)...(xn,yn)
-style pathStyle
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
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
-contType contType
-cutDist cutDist
-device deviceName
-dummyCapValue
dummyCapValue
-inst instName
-magni magnification
631
Argument
Description
-metEncCo metEncCo Specify the enclosure distance between the metal and
contact layers (for Cross contact mode only).
632
-metWidth metWidth
-orient orientation
-originOffset
xOffset yOffset
-pattern pattern
-point (x0,y0)
-unitDist unitDist
-unitSpaceX
unitSpaceX
-unitSpaceY
unitSpaceY
-unitValue
unitValue
-unitWidth
unitWidth
-useMaskResolution
0|1
Argument
Description
-value value
-width width
-xCoSpace
-yCoSpace
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
633
# 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
-layerName
layerName
-lock 0|1
-point (x0,y0)
Argument
Description
-purpose purpose
-radius radius
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.
635
Arguments
636
Argument
Description
-align justification
-autoContNum
autoContNum
-autoPoint
(x1,y1) (x2,y2)
-atLeastOne 0|1
-contMode
contMode
-device
deviceName
-direction direction
Argument
Description
-fill 0|1
-inst instName
-layerSeparateStackVia
layerName
[purposeName]
-length length
-minContact
contNumber
-minEnclosureSet 0|1
-nonOverlapVia 0|1
-orient orientation
-originOffset
xOffset yOffset
637
638
Argument
Description
-param parameters
-point (x0,y0)
-routeParam
attributeList
-routeType
routeType
-sameMetWidth 0|1
Argument
Description
-sameNetOnly 0|1
-split 0|1
-updateAs 0|1
-viaGroup mode
-width width
-xLay1Enc
xLay1Enc
-xLay2Enc
xLay2Enc
-xRepeat xRepeat
-xSpace xSpace
639
Argument
Description
-yLay1Enc
yLay1Enc
-yLay2Enc
yLay2Enc
-yRepeat yRepeat
-ySpace ySpace
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
# 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.
641
Arguments
Argument
Description
-outer r2
-point (x0,y0)
-purpose purpose
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
Arguments
Argument
Description
-colorName colorName
-layerName layerName
-lock 0|1
-point (x1,y1)(x2,y2)
-purpose purpose
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
643
Argument
Description
-purpose purpose
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
Arguments
Argument
Description
-bboxSpace spacingValue
-bodyWidth floatValue
-centerLine centerLine
(x0,y0)...(xn,yn)
-contactDevice
$deviceName
-contMode contMode
-createCornerContact 0|1
-device deviceName
-fitRect 0|1
-globalRule
$rule_name
-impEnc impEnc
-inst instName
645
Argument
Description
-layerSetting {layerName
purposeName enable|disable
rectangle|fillNotch|none|fillHole}
{value1 value2}+
-layerSpace {GRLayerName
Specified with -mode select only.
GRPurposeName
Specify the spacing between GR and Ref layers
RefLayerName
individually.
RefPurposeName spacingValue}
+
-magni magnification
-mode select
-plugInParam {{$paramName
$paramValue}[{$paramName
$paramValue} +]}
646
Argument
Description
-orient orientation
-point (x0,y0)
-rectContactStyle 0|1
-ring rings
-rows rows
-SameAsBodyWidth 0|1
-sameMetWidth 0|1
-topLayer layerName
647
Argument
Description
-useMaskResolution 0|1
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
Arguments
Argument
Description
-cell cellName
-cols colsNo
-colSpace colSpace
-inst instName
-justification
justification
-lib libName
-orient orientation
-param $param
-point (x0,y0)
-reEval 0|1
-rows rowsNo
649
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
Arguments
Argument
Description
-action action
-area bboxSet
Specify the bounding boxes. This option is only used with mode area.
-ignore 0|1
-mergeLayer
{layer purpose}
-mode mode
-rotateSlots 0|1
-ruleDef
modifiedRules
-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.
651
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
# 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
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
-busNo busNo
-cell cellName
-colorName colorName
-cols colsNo
-commitDropVia
-contactPos contactPos
(x0,y0)...(xn,yn)
653
Argument
Description
-globalRule $rule_name
-justify justification
-layerName layerName
-length length
-lock 0|1
-net netName
-onGrid 0|1
-pathStartPos pathStartPos
(x0,y0)...(xn,yn)
-pitch pitch
654
-point point
(x0,y0)...(xn,yn)
-purpose purpose
-push segmentNo
Argument
Description
-routeParam
attributeList
-router snapmode
-routeStatus
routeStatus
-routeType
routeType
-rows rowsNo
-style pathStyle
-useDropVia
-via2via via2via
655
Argument
Description
-viaGroup mode
-width
pathWidth [contWidth]
-xDist xDist
-yDist yDist
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
# 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.
657
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
-instName 0|1
-MFactor
{MFacotrName}
-point (x,y)
-spacing value
-viewList {listName}
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
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
-jointType jointType
-layerName layerName
-lock 0|1
-net netName
-pin pinName
-port portName
659
Argument
Description
-purpose purpose
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
-layerName layerName
-lock 0|1
Argument
Description
-point point
(x0,y0)...(xn,yn)
-purpose purpose
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
-layerName layerName
-lock 0|1
-point (x1,y1)(x2,y2)
661
Argument
Description
-purpose purpose
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
Argument
Description
-contType contType
-device deviceName
-dummyContact 0|1
-dummyWidth value
-extSegLength 0|1
-inst instName
-interDist
interContDistance
-magni magnification
-metWidth metWidth
663
664
Argument
Description
-orient orientation
-originOffset
xOffset yOffset
-param parameter
-point (x0,y0)
-resEncCo
enclosure_value
-space deviceSpace
-totalLength length
-useMaskResolution 0|1
-value value
-width width
-xCoSpace
spacing_in_x_direction
-yCoSpace
spacing_in_y_direction
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.
665
Arguments
666
Argument
Description
-bottomLayer
bottomLayerName
[bottomPurpose]
-contAlignMode
Center|Max
-createContact 0|1
-createCornerContact 0|1
-device viaStackName
-param parameters
-pathOffset value
-point point
(x0,y0)...(xn,yn)
-style pathStyle
Argument
Description
-topLayer
topLayerName
[topPurpose]
-useMaskResolution 0|1
-width width
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):
Example 3
Create stacked path by specifying a viaStacking "viaStacking1"
contains three contact device without creating corner contact
and with contact pattern "Maximum":
See Also
Layout Window: Create > Stack Path
667
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
-attachFig figId
-drafting 0|1
-font textFont
-height height
Argument
Description
-justify justification
-layerName
layerName
-mapFile fileName
-non45free
-offsetPoint (x0,y0)
-orient orientation
-placeOn 0|1
669
Argument
Description
-purpose purpose
-skip skipVal
-spacing dSpacing
-text textString
-textLayer textLayer
-toPoly 0|1
-width width
Examples
# Example 1
lakerCreateText -layerName poly -purpose drawing -point (0,0) \
-orient R90 -justify CenterCenter -font Roman -height 0.6 \
-text demostring
670
# 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]
671
672
Argument
Description
-co2Gate
number [$rule_name]
-conSpaceRule
coSpaceRuleName
-contAlign contAlign
-contMode contMode
Argument
Description
-contType contType
-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 } }
-device deviceName
-disableImpNotch 0|1
-discreteGatePitch 0|1
673
Argument
Description
-dummyGateLengthType
LengthType
-dummyGatePolyCoSym
mode
-gates gates
-globalRule $rule_name
-inst instName
-layerSetting {layerName
purposeName
enable|disable
rectangle|fillNotch|none}
{value1 value2}+
-magni magnification
674
Argument
Description
-optLayerRepeatPattern
optLayerRepeatPattern
-orient orientation
-originOffset xOffset
yOffset
-param parameter
675
Argument
Description
-plugInParam
{{$paramName
$paramValue}[{$paramNa
me $paramValue}...]}
676
-point (x0,y0)
-polyContType
contType
-polyConSymmetry 0|1
-traitRepeatPattern
Pattern
-type deviceType
-useMaskResolution 0|1
-xCo2OdEnc xValue
Argument
Description
-xConSpace xConSpace
[$rule_name]
-xPolyCoConSpace
xConSpace [$rule_name]
-xPolyCoEnc value
-yCo2OdEnc yValue
-yConSpace xConSpace
[$rule_name]
-yPolyCoConSpace
yConSpace [$rule_name]
-yPolyCoEnc value
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}
677
# 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
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
-height height
-hideDim 0|1
-justify justification
-layerName layerName
-point point
(x0,y0),(x1,y1),(x2,y2)
-purpose purpose
679
Argument
Description
-showExtensionLine 0|1
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
Returns
None
Arguments
Argument
Description
-attach 0|1
-fromFile fileName
-fromObj
-fromTF
-height height
-justify justification
-layerName layerName
681
Argument
Description
-mode mode
-orient orientation
-purpose purpose
-ThruVia 0|1
-useVirtual 0|1
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
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
-height height
-layerName layerName
-point point
(x0,y0)...(xn,yn)
-purpose purpose
Examples
lakerRulerLabel -layerName poly -purpose drawing \
-point (0,0) (10,0) (0,10)
See Also
Layout Window: Create > Ruler Label
683
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
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.
685
Syntax
lakerAlignObj [ -point point -mode selMode | -refPoint
(x0,y0) [-space space] ] [-traversedist traverseDist]
Returns
None
Arguments
Argument
Description
-mode selMode
-point
point (x0,y0)...(xn,yn)
-refPoint (x0,y0)
-space space
-traversedist
traverseDist
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
lakerAnnotatePin
The lakerAnnotatePin command validates new instance ports to nets.
Syntax
lakerAnnotatePin -annotate {{instPortName netName} ... }
Returns
None
Arguments
Argument
Description
-annotate
{{instPortName netName} ... }
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
687
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
-lockInstances 0|1
-lockInvisibleShapes 0|1
-lockVias 0|1
Argument
Description
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
-convert 0|1
-keepOrthogonal 0|1
689
Argument
Description
-layerName layerName
-newObj 0|1
-op booleanOperation
-point point
(x0,y0)...(xn,yn)
-purpose purpose
-truncate value
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
# 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
-from viaName
-netName name
-normalOnly 0|1
-point (x0,y0)
-to replaceName
691
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
692
Argument
Description
-mode chopMode
-point point
(x0,y0)...(xn,yn)
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
-inst instName
Examples
# Change the master cell of instance (xinvB) to cell (NewINV)
lakerCloneMaster -cellname NewINV -inst xinVB
693
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
-point point
(x0,y0)...(xn,yn)
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
Returns
None
Arguments
Argument
Description
-snapGrid 0|1
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
-cols colsNo
695
Argument
Description
-colSpace colSpace
-layerName layerName
-keepLogic 0|1
-offsetPoint offsetPoint
(x0,y0) [(x1,y1) [(x2,y2)]]
-orient orientation
-purpose purpose
-refPoint (x0,y0)
-rows rowsNo
-rowSpace rowSpace
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
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
697
Argument
Description
-mode mode
-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
-cutangleSides nSides
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
-lastStepTracks mode
-stepTrackNum num
Examples
# Example 1
lakerCutFinBdry -cutLen 0.2 - stepTracksNum 2 \
-lastStepTracks stepTracks
See Also
Layout Window: Edit > Others > Cut Fin Boundary
699
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
-cutoffPurpose
purposeName
-polyLayer
layerName
-polyPurpose
purposeName
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
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
Examples
lakerDtbAlign -opt left
See Also
Layout Window: Edit > Others > Distributed & Align
701
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
-name groupName
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
Arguments
Argument
Description
-align 0|1
-distribute 0|1
-layerName layerName
-purpose purposeName
-distributeMethod method
-mode mode
-orthogonal 0|1
-orthogonalDirection
Direction
-orthogonalSpacing value
-reverseSorting 0|1
-snap 0|1
-sorting 0|1
703
Argument
Description
-sortMethod method
-spacing value
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
Argument
Description
-purpose purpose1
purpose2 purpose3
-with operationWith
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
-instname
instName
-lib libName
705
Argument
Description
-originOffset (Dx,Dy)
-originPoint (x,y)
Set the point of the top cell view as the instance origin. The
default is (0,0).
-overwrite 0|1
-replace 0|1
-view viewName
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
Arguments
Argument
Description
-sameNetOnly 0|1
-moveColPoint 0|1
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
Examples
lakerMirrorX
707
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
-refPoint (x0,y0)
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
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
-layerName layerName
-offsetPoint (x0,y0)
-orient orientation
-purpose purpose
-refPoint (x0,y0)
Examples
lakerMoveObj -refPoint (3.440,15.890) \
-offsetPoint (9.210,11.890) -orient R90 -layerName FUSE1
See Also
Layout Window: Edit > Move
709
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
-guiMode 0|1
-justify
justification
-oneExecute 0|1
-orient
orientation
-point (x0,y0)
Argument
Description
-procedure
procedureName
-stack 0|1
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
711
lakerReassignNet
The lakerReassignNet command reassigns an existing net to another net
name.
Syntax
lakerReassignNet -netName newName
Returns
None
Arguments
Argument
Description
-netName newName
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
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
-point point
(x0,y0)...(xn,yn)
713
Argument
Description
-swap swapNo
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
-point (x0,y0)
-snap 0|1
Examples
lakerRotate -point (0,0) -angle 20.0 -snap 1
See Also
Layout Window: Edit > Others > Rotate
714
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
-zoomTo 0|1
Examples
lakerSelGroupByName -groupName g3 g5 -zoomTo 1
715
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)
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
Arguments
Argument
Description
-action create
-blockLayer
{layer purpose}
-deleteGuideline
-fileName
fileName
-guideline
{layer purpose}
-loadRuleFile
-mode mode
-operation
booleanOP
-ruleDef rules
-saveRuleFile
-slitLayer
{layer purpose}
717
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
-level level
Argument
Description
-SmashArrayInst 0|1
-smashStripedWire 0|1
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
719
Arguments
Argument
Description
-point
(x1,y1) (x2,y2)
-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
-net
{{netName (x,y)} ... }
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
-lockAngle 0|1
-offsetPoint (x0,y0)
721
Argument
Description
-point point
(x0,y0)...(xn,yn)
-purpose purpose
-refPoint (x0,y0)
-swap swapNo
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
Arguments
Argument
Description
-ignoreNet 0|1
-layerName
layerName
-lockAngle 0|1
-offsetPoint (x0,y0)
-purpose purpose
-push
-refPoint (x0,y0)
-slideRail mode
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)
723
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
-endStrap 0|1
-expandSel
-policy StripePolicy
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
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
-portName port_name
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
725
Arguments
Argument
Description
-mode mode
-net 0|1
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
Argument
Description
-cutoffLayerName
cutoffLayerName
-cutoffPurpose
cutoffPurpose
-point point
(x0,y0)...(xn,yn)
-replaceLayerName
replaceLayerName
-replacePurpose
replacePurpose
-repWidth repWidth
-via2via via2via
-viaDef ViaName
-viaGroup mode
-xLay1Enc xLay1Enc
727
Argument
Description
-xLay2Enc xLay2Enc
-yLay1Enc yLay1Enc
-yLay2Enc yLay2Enc
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
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
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.
729
Arguments
Argument
Description
-refPoint (x,y)
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
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
-autoMapInfo
fileName
-colDoubleBack 0|1
-cols colsNum
731
732
Argument
Description
-colSpace
colSpace
-flipCol 0|1
-flipRow 0|1
-mapInfo
mapInfoList
-mode mode
-orient
orientationList
Argument
Description
-parameter 0|1
-point point
(x0,y0)...(xn,yn)
-rearrangeMaster 0|1
-rowDoubleBack 0|1
-rows rowsNum
-rowSpace
rowSpace
-selObj 0|1
-typeIn 0|1
733
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
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.
735
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
-extLevel levelNo
-genPinBy
label|net|mix
-pinSize 0|1
-placementStatus status
-points points
-report 0|1
-thruVia 0|1
Argument
Description
-topLevelOnly 0|1
-topMetalLayer number
-useColonVirtual 0|1
-usePinPurpose 0|1
-width width
737
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
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
739
Arguments
740
Argument
Description
-arrayMode 0|1
-autoMapInfo fileName
-cmpInnerNet 0|1
-cmpSubstrate 0|1
-cols colsNo
-colSpace colSpace
-corrPointFile
corrPointFile
-dim 0|1
-globalNet 0|1
-shortNet 0|1
-find 0|1
Argument
Description
-formGate 0|1
-mapInfo {
{mappingInformation1}
{mappingInformation2}
...}
-orient orientation
-rows rowsNo
-rowSpace rowSpace
-typeIn 0|1
741
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
Description
-arrayMode 0|1
-autoMapInfo
fileName
-cellPrefix
cellNamePrefix
-colDoubleBack 0|1
-cols colsNum
-colSpace
colSpace
-dumpTip
fileName
Specify the file to save the dumped tips to. The default file
name is MismatchTip.log.
-end
743
744
Argument
Description
-flipCol 0|1
-flipRow 0|1
-instPrefix
instNamePrefix
-mapCell
mapCellName
-mapInfo
mapInfoList
-mapLib
mapLibName
-mapView
mapViewName
-mode mode
Argument
Description
-orient
orientationList
-patternCell
patternCellName
-patternLib
patternLibName
-patternView
patternViewName
-point pointList
-realizeToLayout 1
-rearrangeMaster
0|1
745
Argument
Description
-rowSpace
rowSpace
-selObj 0|1
-start
-typeIn 0|1
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
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
747
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
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
749
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
-checkGroupMet 0|1
-fullCell 0|1
-ignoreSameNet 0|1
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
751
Argument
Description
-removeContact 0|1
-stackViaLayerName
layerName
-stackViaPurpose
purpose
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
Arguments
Argument
Description
-bottomLayerName
bottomLayerName
-bottomPurpose
bottomPurpose
-clip 0|1
-point point
(x0,y0)...(xn,yn)
-removeContactOnly 0|1
-topLayerName
topLayerName
-topPurpose topPurpose
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
753
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
-point point
(x0,y0)...(xn,yn)
-split 0|1
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
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
-optimizeOD 0|1
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
755
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
-bottomPurpose
bottomPurpose
-point point
(x0,y0)...(xn,yn)
-topLayerName
topLayerName
-topPurpose
topPurpose
Examples
lakerFillContact -point \
(-5.884,6.041) (-5.884,8.79) (-1.829,8.79) (-1.829,6.041)
-topLayerName MET1 -bottomLayerName MET1
756
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)
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
757
Arguments
Argument
Description
-contAlign
alignMode
-glueNo
glueNo
-segment
segmentNum
-width
gateWidth
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
Arguments
Argument
Description
-align align
-fixed 0|1
-offset offset
-swap swapNo
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
759
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
Argument
Description
-optimize 0|1
-selGlueNo num1
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)
-refPoint (x0,y0)
Examples
lakerMoveContact -refPoint (5.59,5.63) -offsetPoint (8.01,5.63)
761
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
-offsetPoint (x0,y0)
-refPoint (x0,y0)
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
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)
-swap 0|1
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.
763
Syntax
lakerRmOverlapGRCont [-fullCell 0|1] [-viewLevel viewLevel]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-fullCell 0|1
-viewLevel
viewLevel
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
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)
-refPoint (x0,y0)
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
765
Arguments
Argument
Description
-offsetPoint (x0,y0)
-refPoint (x0,y0)
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)
-refPoint (x0,y0)
Examples
lakerStretchGate -refPoint (5.59,5.63) -offsetPoint (8.01,5.63)
766
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)
-refPoint (x0,y0)
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
767
Arguments
Argument
Description
-glueNo glueNo
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
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
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.
769
Arguments
Argument
Description
-obj <obj_Id>
770
Argument
Description
glueSyntax
771
Argument
Description
segmentSyntax
This only works for MCell guard rings with the Segment
column checked in attributes. segmentSyntax refers to [segHori] | [-segVert], where:
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
}
{ { 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}
}
}}
773
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
Arguments
Description
Return Values
Applicable
Tcls
DeviceName
Device name
String
mcGet,
mcSet
OptLayerMaskResolution
0, 1
mcGet,
mcSet
PolyContact
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
Integer
mcGet
UserDefOptRepeatPattern
Table 1
Arguments
Description
Return Values
Applicable
Tcls
TraitRepeatPattern
A list of trait
names, for
example: HV2
None HV2
mcGet,
mcSet
RuleSwGlobalRule
Global rule
String
mcGet,
mcSet
ParamXXX
Parameter
type value
mcGet,
mcSet
Table 2
Arguments
Description
Return Values
Applicable
Tcls
SubstrateNet
Substrate nets
String
mcGet,
mcSet
Table 3
Arguments
Description
Return Values
Applicable
Tcls
AllLayerObjName
A list of attribute
names, for
example:
objOd
objPoly ...
mcGet
AllDevLayerObjName
A list of attribute
names
mcGet
AllResvLayerObjName
A list of attribute
names
mcGet
775
Table 3
Arguments
Description
Return Values
Applicable
Tcls
AllUserLayerObjName
A list of attribute
names, for
example:
objUserImp1
...
mcGet
Table 4
776
Arguments
Description
Return Values
Applicable
Tcls
ObjOd
Several lists of
coordinates, for
example: {
{200.002
100.005} { } ...
} {...}
mcGet
ObjPoly
Several lists of
coordinates
mcGet
ObjCo
For Co layer
Several lists of
coordinates
mcGet
ObjMet
Several lists of
coordinates
mcGet
ObjVia
Several lists of
coordinates
mcGet
ObjMet2
Several lists of
coordinates
mcGet
ObjPolyCoPoly
Several lists of
coordinates
mcGet
ObjPolyCoCo
Several lists of
coordinates
mcGet
Table 4
Arguments
Description
Return Values
Applicable
Tcls
ObjPolyCoMet
Several lists of
coordinates
mcGet
Obj<Imp, L1~L9>
Several lists of
coordinates
mcGet
ObjUser<userdefined name>
Several lists of
coordinates
mcGet
Table 5
Arguments
Description
Return Values
Applicable
Tcls
ObjIdOd
Several lists of
identifiers
mcGet
ObjIdPoly
mcGet
ObjIdCo
For Co layer
A list of identifiers
mcGet
ObjIdMet
A list of identifiers
mcGet
ObjIdVia
A list of identifiers
mcGet
ObjIdMet2
A list of identifiers
mcGet
ObjIdPolyCoPoly
A list of identifiers
mcGet
ObjIdPolyCoCo
A list of identifiers
mcGet
ObjIdPolyCoMet
A list of identifiers
mcGet
ObjId<Imp, L1~L9>
A list of identifiers
mcGet
777
Table 5
Arguments
Description
Return Values
Applicable
Tcls
ObjIdUser<userdefined name>
A list of identifiers
mcGet
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
mcGet,
mcSet
Offset
Gate offset
Floating number
mcGet,
mcSet
OptLayer
Option layer
A list of user-defined
option layers
mcGet,
mcSet
Trait
Trait name
mcGet,
mcSet
IsDummy
Dummy gate
definition
0, 1
mcGet,
mcSet
mcGet,
mcSet
778
Table 7
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
779
Table 7
780
Arguments
Description
Return
Values
Applicable
Tcls
PolyCoTopCoSpaceY
Contact spacing Y
Positive
floating
number
mcGet,
mcSet
PolyCoTopCoWidth
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
A pair of x,y
values, for
example:
1.0,1.1
mcGet,
mcSet
Table 8
Arguments
Description
Return
Values
Applicable
Tcls
GateName
Gate name
String
mcGet,
mcSet
GateNet
String
mcGet,
mcSet
SourceNet
String
mcGet,
mcSet
DrainNet
String
mcGet,
mcSet
Table 9
Arguments
Description
Return Values
Applicable
Tcls
AllLayerObjName
A list of
attribute
names
mcGet
AllDevLayerObjNa
me
A list of
attribute
names
mcGet
Table 10
Arguments
Description
Return Values
Applicable
Tcls
ObjPoly
Several lists of
coordinates
mcGet
ObjGate
Several lists of
coordinates
mcGet
ObjPolyCoPoly
Several lists of
coordinates
mcGet
781
Table 10
Arguments
Description
Return Values
Applicable
Tcls
ObjPolyCoCo
Several lists of
coordinates
mcGet
ObjPolyCoMet
Several lists of
coordinates
mcGet
Table 11
Arguments
Description
Return Values
Applicable
Tcls
ObjIdPoly
A list of identifiers
mcGet
ObjIdPolyCoPoly
A list of identifiers
mcGet
ObjIdPolyCoCo
A list of identifiers
mcGet
ObjIdPolyCoMet
A list of identifiers
mcGet
782
Arguments
Description
Return Values
Applicable
Tcls
GlueBlockType
glueBlock type
mcGet
BlockLength
glueBlock length
Positive floating
number
mcGet,
mcSet
LeftWidth
Positive floating
number
mcGet
Table 12
Arguments
Description
Return Values
Applicable
Tcls
RightWidth
Positive floating
number
mcGet
OptLayer
Option layer
String
mcGet,
mcSet
Trait
Trait name
String
mcGet,
mcSet
AutoExpand
mcGet,
mcSet
CoAlign
xCenter
mcSet
Table 13
Arguments
Description
Return
Values
Applicable
Tcls
CoType
Contact type
no, single,
max, user
mcGet,
mcSet
CoRow
Positive
integer
mcGet,
mcSet
CoColumn
Positive
integer
mcGet,
mcSet
Co2MetX
Co2MetEnclosure X
Positive
floating
number
mcGet,
mcSet
783
Table 13
784
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
RuleSwCo2GateRule
String
mcGet,
mcSet
RuleSwCoModeRule
String
mcGet,
mcSet
RuleSwCo2MetEncRule
mcGet,
mcSet
RuleSwCoSpacingRule
mcGet,
mcSet
String
Table 14
Arguments
Description
Net
Net name
String
Table 15
mcGet,
mcSet
Arguments
Description
Return Values
Applicable
Tcls
AllLayerObjName
A list of attribute
names
mcGet
AllDevLayerObjName
A list of attribute
names
mcGet
Table 16
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
Several lists of
coordinates
mcGet
ObjVia
Several lists of
coordinates
mcGet
ObjMet2
Several lists of
coordinates.
mcGet
785
Table 17
Arguments
Description
Return Values
Applicable
Tcls
ObjIdOd
For Od layer
mcGet
ObjIdCo
For Co layer
A list of identifiers
mcGet
ObjIdMet
A list of identifiers
mcGet
ObjIdVia
A list of identifiers
mcGet
ObjIdMet2
A list of identifiers
mcGet
786
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
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
Table 18
Arguments
Description
Return Values
Applicable
Tcls
Via<2~3>Seg
A list of segments
Several lists of
coordinates of
segments
mcGet
RowNumber
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
Positive floating
number
mcGet,
mcSet
BodyWidthHori
Positive floating
number
mcGet
BodyWidthVert
Positive floating
number
mcGet
MetWidthHori
Positive floating
number
mcGet
MetWidthVert
Positive floating
number
mcGet
Met<2~4>WidthHori
mcGet
Met<2~4>WidthVert
Positive floating
number
mcGet
CoSpaceX
Contact spacing X
Positive floating
number
mcGet,
mcSet
787
Table 18
788
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
Table 18
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
Positive floating
number
mcGet,
mcSet
Body2<Imp,L1~L9>EncY
Positive floating
number
mcGet,
mcSet
ParamXXX
Plug-in parameter
value
Positive floating
number
mcGet,
mcSet
Table 19
Arguments
Description
Return
Values
Applicable
Tcls
NetName
Net name
String
mcGet,
mcSet
Table 20
Arguments
Description
Return Values
Applicable
Tcls
AllLayerObjName
A list of
attribute
names, for
example:
objBody
objMet ...
mcGet
AllDevLayerObjName
A list of
mcGet
attribute names
789
Table 20
Arguments
Description
Return Values
AllResvLayerObjName
A list of
mcGet
attribute names
AllUserLayerObjName
A list of
attribute
names, for
example:
objUserImp1
...
Table 21
790
mcGet
Arguments
Description
Return Values
Applicable
Tcls
ObjBody
Several lists of
coordinates, for
example: {
{200.002
100.005} { } ...
} {...}
mcGet
Obj<Imp, L1~L9>
Several lists of
coordinates
mcGet
ObjUser<userdefined name>
For user-defined
option layers
Several lists of
coordinates
mcGet
Table 22
Arguments
Description
Return Values
Applicable
Tcls
ObjIdBody
Several lists of
identifiers, for
example:
6fccd22acb00
caff0000213b
...
mcGet
A list of identifiers
mcGet
ObjIdUser<userdefined name>
A list of identifiers
mcGet
Arguments
Description
Return Values
Applicable
Tcls
BodySeg
Several lists of
coordinates of
segments, for example:
{ {x1 y1} {x2 y2 }
} {}
mcGet
MetSeg
Several lists of
coordinates of
segments
mcGet
ContSeg
Several lists of
coordinates of
segments
mcGet
791
Table 24
Arguments
Description
Return Values
Applicable
Tcls
ObjCo
For Co layer
Several lists of
coordinates
mcGet
ObjMet
Several lists of
coordinates
mcGet
ObjVia
Several lists of
coordinates
mcGet
ObjMet<2~4>
Several lists of
coordinates
mcGet
ObjVia<2~3>
Several lists of
coordinates
mcGet
Table 25
Arguments
Description
Return Values
Applicable
Tcls
ObjIdCo
For Co layer
A list of identifiers
mcGet
ObjIdMet
A list of identifiers
mcGet
ObjIdVia
A list of identifiers
mcGet
ObjIdMet<2~4>
A list of identifiers
mcGet
ObjVia<2~3>
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
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
-obj <obj_Id>
793
Argument
Description
-regen
-submit
-value new_value
794
Argument
Description
glueSyntax
Examples
# Example 1
dbOpenLib -lib reg_mcGetSet
set CVID [dbOpenCV -lib reg_mcGetSet -cell reg_1]
set INSTID [dbGet -obj $CVID -attr Insts]
795
#1~5
mcSet
mcSet
mcSet
mcSet
mcSet
#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
-glueGateNo 1
-glueGateNo 1
-glueGateNo 1
-glueActiveNo
-glueActiveNo
#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.
797
Figure 1
Syntax
schLakerSetMosType -type MosType
Returns
None
Arguments
Argument
Description
-type MosType
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
lakerDispFinGrid
lakerDispGlobalFinGrid
lakerDispGrid
lakerDispHier
lakerDispMCellInfo
lakerDispRow
lakerDispTrack
lakerLayerTap
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
799
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
-backwardStackingRange
float
-ContactColNo
ContColNo
-ContactRowNo
ContRowNo
-ContactStyle
ContStyle
-ContactXSpacing
ContXSpacing
Argument
Description
-ContactYSpacing
ContYSpacing
-DefContactSpacing 0|1
-DefThinOdSpacing 0|1
-FoldingStyle
FoldingStyle
-GateFolding 0|1
-GroundRailLayer 0|1
-GroundRailWidth
GroundRailWidth
-localGround
GroundNameList
-localPower
PowerNameList
-mergeDiffWidthTxOD
0|1
801
802
Argument
Description
-MergeParalle2Single
0|1
-NAlignment
NAlignment
-NContactAlignment
NContAlign
-NGroundSpacing
NGroundSpacing
-NStripHeight
NStripHeight
-PAlignment
PAlignment
-PContactAlignment
PContAlign
-PlaceConstraint
PlaceConstraint
-PNSpacing
PNSpacing
Argument
Description
-PolyGateAlign 0|1
-PowerRailLayer
PowerRailLayer
-PowerRailWidth
PowerRailWidth
-PowGndSpacing
PowGndSpacing
-PPowerSpacing
PPowerSpacing
-PStripHeight
PStripHeight
-RowPattern rowPattern
803
Argument
Description
-save fileName
-section sectionName
-StraightMaxNStrip
StrMaxNStrip
-StraightMaxPStrip
StrMaxPStrip
804
-ThinOdXSpace spacing
-ThresholdNStrip
ThresNStrip
-ThresholdPStrip
ThresPStrip
-useLocalPowerGround
0|1
-WellLayer 0|1
-WellLower
WellLower
Argument
Description
-WellUpper
WellUpper
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
-CursorOnGrid
CursorOnGrid
805
806
Argument
Description
-default
-displayTrack 0|1
-dx horDist
-dy verDist
-mask maskRuleList
-maskCursorOnGrid 0|1
-ratio ratio
-resolution resolution
-saveTF
-trackCursorOnGrid 0|1
Argument
Description
-type gridType
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
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.
807
Syntax
lakerDispFinGrid -mode 0|1
Returns
None
Arguments
Argument
Description
-mode 0|1
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
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
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)
809
Returns
None
Arguments
Argument
Description
-point (x1,y1)(x2,y2)
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
Examples
# turn off the display of MCell information
lakerDispMCellInfo -mode 0
See Also
Layout Window: Options > Display MCell Information
810
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
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
811
Arguments
Argument
Description
-mode 0|1
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
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
Description
-AddLayer
Add a layer.
-apply 0|1
813
814
Argument
Description
-dataTypeNo
dataTypeNum
-default [category]
-DelLayer
Delete a layer.
-fileName fileName
-fillColor colorName
-layerName layerName
-layerName layerName
-layerNo layerNum
-LoadDispFile
-lp {layerName
[purposeName]}
-outlineColor colorName
-purpose purposeName
-purpose purposeName
-SaveDispFile
-saveToRC 0|1
Argument
Description
-sel 0|1
-selall 0|1
-selValid 0|1
-stipple stippleName
-streamNo streamNum
-style lineStyleName
-use 0|1
-useall 0|1
-vis 0|1
-visall 0|1
-visValid 0|1
-width width
Examples
# Example 1
815
See Also
Layout Window: Options > Layer Color/Pattern > Layer Setting
Layer Table Frame: Sel/Vis Control Panel
816
Syntax
To set or clear a layer filter in the layer table:
lakerSetColPat -clearFilter | -setFilter filterPattern
Returns
None
Arguments
Argument
Description
-clearFilter
-setFilter filterPattern
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
817
Arguments
Argument
Description
-clearSession index
-restoreSession index
-saveSession index
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
818
Description
-AddColor
Add a color.
-AddGroup
-AddLineStyle
-AddStipple
-blink 0|1
-colorName
-DeleteColor
Delete a color.
-DeleteGroup
-DeleteLineStyle
-DeleteStipple
-fillColor color
819
820
Argument
Description
-groupName
groupName
-height height
-length length
-lineStyle lineStyle
-lineStyle
lineStyleName
-ModifyColor
Modify a color.
-ModifyGroup
-ModifyLineStyle
-ModifyStipple
-outlineColor color
-pattern lineStyle
-pattern stipplePatten
-r redKey -g greenKey
-b blueKey
-stipple stipple
-stippleName
stippleName
-width width
-width width
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
821
822
Argument
Description
-addCategory Name
-delCategory Name
-fileName fileName
-layerInfo
Layer1 [Layer2]...
-layerInfo
Layer1 [Layer2]...
-LoadCatFile
-modCategory Name
-modCategory
SysPinSet
-newName newName
Argument
Description
-SaveCatFile
-saveToRC 0|1
-sel 0|1
-syspin layerName
-use 0|1
-useAllCategory 0|1
-vis 0|1
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
823
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
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
Syntax
lakerSnapRow -mode 0|1
Returns
None
Arguments
Argument
Description
-mode 0|1
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
Examples
# Example 1
# Snap cursor to the nearest routing track
825
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
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
-margin marginRatio
-highlight 0|1
-addSel 0|1
-gdsOut fileName
827
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
-fromlevel Level
-layer {{layerName
purposeName} {...}
-tolevel Level
Examples
None
See Also
Layout Window: Query > Measure > Area
828
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
color colorName
endStyle pathStyle
layerName layer
lock 0|1
purpose purpose
width width
Description
colSpace colSpace
columns colsNo
height height
orient orientation
point (x, y)
829
Argument
Description
rows rowsNo
rowSpace rowSpace
viaDef viaName
width width
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
Description
-accDir accDir
831
832
Argument
Description
-avgACCurrent
avgACCurrent
-avgDCCurrent
avgDCCurrent
-beginExt extendValue
-beginStrap 0|1
-beginStyle beginStyle
-bodyWidth floatValue
-botLayerName name3
-botPurpose name4
-bottomLayer
bottomLayerName
[bottomPurpose]
-cell cellName
-centerLine centerLine
(x0,y0)...(xn,yn)
Argument
Description
-changeToArray
changeToArray
-co2Gate
number [$rule_name]
-colorName colorName
-cols colsNo
-colSpace colSpace
-connectType
connectType
-contAlign contAlign
-contAlignMode
Center|Max
-contLay1Height
layerHeight
833
Argument
Description
-contLay1Width l
ayerWidth
-contLen number
-contMode contMode
834
Argument
Description
-contType contType (for resistors) Specify the contact type. The following valid values
vary depending on different MCell devices.
-createContact 0|1
-createCornerContact
0|1
835
836
Argument
Description
-createDummyGate
{ numberSingle
numberMulti
numberInner |
{ numberInner
toleranceValue } }
-createPolyCont 0|1
-device deviceName
-device viaStackName
-disableImpNotch 0|1
-discreteGatePitch 0|1
-dummyCapValue
dummyCapValue
Argument
Description
-dummyGateLengthType
LengthType
-dummyContact 0|1
-dummyWidth value
-dummyGatePolyCoSym
mode
-endExt extendValue
-endStrap 0|1
-endStyle endStyle
-extSegLength 0|1
837
Argument
Description
-font textFont
838
-gateName gateName
-globalRule $rule_name
-height height
-index index
-inner r1
-inst instName
-interDist
interContDistance
-jointType jointType
Argument
Description
-justify
justification
-layerName
layerName
839
Argument
Description
-layerSetting
{layerName
purposeName
enable|disable
rectangle|fillNotch|none|fillHole}
{value1 value2}+
840
-length length
-lock 0|1
-lowerLeft (x0,y0)
-magni magnification
Argument
Description
-metEncCo metEncCo
-metWidth metWidth
-netName netName
-nonOverlapVia 0|1
-number number
-object objectName
-offsetPoint (x0,y0)
-optLayerRepeatPattern
optLayerRepeatPattern
-orient orientation
-outer r2
-pathOffset value
841
Argument
Description
-param parameters
842
-pattern pattern
-peakACCurrent
peakACCurrent
-pinName pinName
Argument
Description
-placementStatus status
-plugInParam {{$paramName
$paramValue}[{$paramName
$paramValue}...]}
-point point
-point point
(x0,y0)...(xn,yn)
-polyContType
contType
843
844
Argument
Description
-polyConSymmetry 0|1
-portName portName
-portType portType
-purpose purpose
-rectContactStyle 0|1
-reEval 0|1
-resEncCo
enclosure_value
-rmsACCurrent
rmsACCurrent
-routeParam
attributeList
-routeStatus
routeStatus
Argument
Description
-routeType
routeType
-rows rowsNo
-rowSpace rowSpace
-segNo value
-showExtensionLine 0|1
-space deviceSpace
-spacing spacing
-status status
-striped 0|1
-stripeSegIndex index
-style pathStyle
-text textString
845
846
Argument
Description
-topLayer layerName
-topLayerName name1
-topLayer
topLayerName
[topPurpose]
-topPurpose name2
-totalLength length
-trait Pattern
-traitRepeatPattern
Pattern
-unitDist unitDist
-unitSpaceX
unitSpaceX
-unitSpaceY
unitSpaceY
-unitValue unitValue
Argument
Description
-unitWidth unitWidth
-upperRight (x0,y0)
-useMaskResolution
0|1|AsIs
-value value
-viaDef viaName
-width width
847
Argument
Description
-xCo2OdEnc
xValue
-xConSpace
xConSpace
[$rule_name]
-xLay1Enc xLay1Enc
-xLay2Enc xLay2Enc
-xPolyCoConSpace
xConSpace
[$rule_name]
-xPolyCoEnc value
-xRepeat xRepeat
848
-xSpace xSpace
-yCo2OdEnc yValue
Argument
Description
-yConSpace
yConSpace
[$rule_name]
-yLay1Enc
yLay1Enc
-yLay2Enc
yLay2Enc
-yPolyCoConSpace
yConSpace
[$rule_name]
-yPolyCoEnc value
-ySpace ySpace
-yRepeat yRepeat
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
849
# 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
# 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
851
# 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
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
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
853
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
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
Returns
None
Arguments
Argument
Description
-mode 0|1
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
-removeNet netName
-zoomBBox
(x,y1)(x2,y2)
855
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
-highlightAll
-net netName
-show
Examples
# Example 1
# Highlight net VDD
lakerConnBrowser -net VDD
# Example 2
# Clear all highlighted drawings in the layout
lakerConnBrowser -highlightAll
856
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
-area
(x0,y0) (x1,y1)
-disableConnAll
-disableConnStop
-enableConnAll
layoutConnection
-highlightVisibleLayerOnly
0|1
857
Argument
Description
-mode mode
-net NetName
-normalMode
-resultFile
fileName
-speedMode
-startPoint (x, y)
-traceViaArray 0|1
-toMaxLevel
-toViewLevel
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
# 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
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]
859
Returns
None
Arguments
Argument
Description
-cell CellName
-lib LibName
-ratio floatNum
-utilization
floatNum
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
Argument
Description
-index index
-isenclose 0|1
-level level
-matchCase 0|1
-regular 0|1
-searProp
searchProp
-type searchType
861
Argument
Description
-zoomTo 0|1
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
-bLayer L2
-condition
condition
Argument
Description
-gateLayer L4
If the gate layer L4 is specified, only finding the net which has
a shape on gate layer.
-layer L1
-mode w|a
-prefix Name
-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
863
Arguments
Argument
Description
-showAll 0|1
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
lakerMeasureResistance
lakerMeasureResistance
sortType 0|1]
lakerMeasureResistance
lakerMeasureResistance
Returns
None
Arguments
Argument
Description
-colItem colNum
-condition
conditionString
-cornerRatio
cornerRatioValue
-delGrid
865
866
Argument
Description
-diagram 0|1
-etchValue etchValue
-extend extendValue
-factor factorValue
-figs figIds
-file fileName
-horizontal 0|1
-includeConnShape
0|1
-measEffort 0|1|2|3|4|5
-measure
-pointSel start|end
-query
Argument
Description
-returnValue 0|1
-rowItem rowNum
-save
-sheetResist
sheetResistValue
-shortestPathMeasurement
0|1
-sort 0|1
-sortGrid
-sortType 0|1
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
867
# 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
# 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)
869
Argument
Description
-mode selectMode
-recPt
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
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
-coordinateFile
coordinateFile
-height height
-offset offset
-padLayerName
padLayerName
-padPurpose
padPurpose
-startBox startBox
-textLayerName
textLayerName
-textListFile
textListFile
-textPurpose
textPurpose
871
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
Arguments
Argument
Description
-index index
-level level
-matchCase 0|1
-regular 0|1
-repProp
replaceProp
-searProp
searchProp
-type searchType
873
Argument
Description
-zoomTo 0|1
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)
-startlen startvalue
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
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
Examples
lakerShortLocator -point (-24.346,10.6) (4.139,-0.235)
See Also
Layout Window: Query > Highlight Net > Find Short
875
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
-net netNames
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
Description
-changemode
viewMode
-delall 0|1
-loadfile filename
-op add
[-matchcase 0|1 |
-regular 0|1 |
-name spareName |
-group groupName]
-op clear
-op delete
-op dropadd
-name spareName
Specify the spare cell lists. They are added by the drag
and drop to the spare cell list.
877
Argument
Description
-op find
[-matchcase 0|1 |
-regular 0|1 | -zoom
0|1 |
-searProp
searchProp |
-name spareName]
-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
-savefile filename
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
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
-index index
-name Name
-remove
-type Type
-value {Value}
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
# Example 2
lakerUDP -common -name number -type int -value {532}
lakerUDP -common -name version -type string -value {3.2}
879
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
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
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]
881
Returns
None
Arguments
Argument
Description
-descend 0|1
-zoomto 0|1
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
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
883
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
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
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.
885
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
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
887
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
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
-run64BitCalibreRVE 0|1
889
Argument
Description
-showExportForm 0|1
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
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
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
891
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
Examples
lakerShowExportForm -mode 1
See Also
Layout Window: Verification > Calibre > Options
892
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
-cell cellName
-csv
-cv
-dcSet
DCSetting
-extract ICV
-gds
-genPFile
-global
-layerMap
fileName
893
Argument
Description
-lib libraryName
-MosAnalstNum
number
-oa
-outputFile
FileName
-refNetlist
netlistName
-rumSim
-runSet fileName Specify the run set file for ICV settings.
-save fileName
-select
-simInfo simInfo
-txt
-update
-updateNetlist
-vds vds
-vgs vgs
Examples
lakerLDEAnalysis -runDir . -layerMap -runSet
-cell add4 -view layout -cv -extract ICV
894
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
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
895
Arguments
Argument
Description
-port portNumber
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
-cell cellName
-view viewName
-net netName
Examples
lakerSetupParasitic -lib testcase -cell add4 -view
See Also
Layout Window: Verification > Parasitics > Setup
896
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
897
Argument
Description
-autoMoveErrorMarker
0|1
-changeCategory
Change the current category. The valid value of cateNo1,
[cateNo1][cateNo2][cateN cateNo2, and cateNo3 depends on the number of
o3]
original categories.
-display
-end
-highlight currentError |
nextError | preError
-highlight mainRegion |
(extraRegion
-extraRegionIndex num) |
extraRegions |
gotoAssociatedObject
num
898
Argument
Description
-highlight mode
-highlightColorMode
mode
-highlightMode mode
-highlightXSymbol 0|1
-indexSet num
-level1 {*}
-level2 {*}
-level3 {*}
899
Argument
Description
-level4 {*}
-loadAssuraResult
Specify the run specific file, rule file or GDSII file of Assura
[runSpecificFile] [ruleFile] results.
[gdsFile]
-loadCalibreResult
resultFile [ruleFile]
[waiveFile]
-loadDFMResult
-resultFile layout
-loadHerculesResult
-errTop blockName
-resultFile resultFile
-loadOAMarkerResult
-view viewName
-loadOtherResult
-gdsFile gdsFile
-loadShortError
[viewName]
-loadStatus viewName
-markFix 0|1
900
Argument
Description
-markIgnore 0|1
-markIgnoreByArea
(x1,y1) (x2,y2)
-maxErrorNum num
-preference
-saveStatus viewName
-selCatHighlight 0|1
-setCategory
typeNameSet
-showFixed 0|1|2
-showIgnored 0|1|2
901
Argument
Description
-showText mode
-showTextFontSize num
-showTip mode
-sortByResult mode
-sortByType mode
-start [0|1]
902
Argument
Description
-topCateName {*}
-typeSet type
-zoomRatio zoomRatio
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
903
# 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
lakerViewParasitics
The lakerViewParasitics command controls the parasitics viewing
scheme.
Syntax
lakerViewParasitics -start
Returns
None
Arguments
Argument
Description
-start
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.
905
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
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"]
907
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*]]
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
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.
909
-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
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
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
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
Failure to send the command to the remote job will generate a Tcl error.
Examples
set jobs [xt::getJobs vue*]
xt::sendCommand "vue_select {mainTab} 0" -job $job
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.
913
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
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.
915
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
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
Examples
xt::startPvDebugger -runType drc -runDir and2.hercules.drc \
-tool Hercules
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>
917
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
-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.
919
-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
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}
-minYGap
{minimumYGap}
-postEndCap
{PostEndCapCell}
921
Argument
Description
-preEndCap
{EndCapCell}
-tileHeight
{tileHeight}
-tileWidth
{tileWidth}
-wellTap
{WellTapCell}
-wellTapSpacing
{wellTapSpacing}
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
Argument
Description
-postLib postLibName
-postView postViewName Specify the view name for the specified pre end cap
cell.
Valid values: layout and abstract.
-preCell preCellName
-preLib preLibName
-preView preViewName
Specify the view name for the specified pre end cap
cell.
Valid values: layout and abstract.
-setFixed 0|1
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
923
Arguments
Argument
Description
-fillerCell fillerList
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
-endCap 0|1
-gap value
Argument
Description
-lib libName
-setFixed 0|1
-view viewName
-wellTap style
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
925
Argument
Description
-group groupName
-hierarchy groupName
-leaf instName
-orient orientation
-row row
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
Arguments
Argument
Description
-auto mode
-dumpPinConstraint
dumpFile
-autoGroupBus
-loadPinConstraint
constFile
-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.
927
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
-hierarchical 0|1
-orient 0|1
-overlap 0|1
Argument
Description
-siteGrid 0|1
-siteName 0|1
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] [-
929
930
Argument
Description
-area rowArea
-boundaryHeight
boundaryHeight
-boundaryWidth
boundaryWidth
-dir rowDirection
-flip 0|1
-height height
-orient orient
-point point
-ratio floatNum
-refPoint point
-rows rowNum
Argument
Description
-rowSpace
rowSpacing
-site siteName
-spacingType
spacingType
-traversedist
traverseDist
-utilization
floatNum
-width width
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.
931
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
-boundaryWidth
boundaryWidth
-dir rowDirection
-flip 0|1
Argument
Description
-height height
-mode modeName
-orient orient
-point point
-ratio floatNum
-rows rowNum
-rowSpace
rowSpacing
-rowWidth
rowWidth
-site siteName
-siteNum siteNum
-spacingType
spacingType
933
Argument
Description
-utilization
floatNum
-width width
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
Arguments
Argument
Description
-columns column
-group groupName
-rows row
-utilization number
-xOffset xOffset
-yOffset yOffset
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.
935
Arguments
Argument
Description
-group groupName
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
-point (x0,y0) |
[(x0,y0) (x1,y1) (x2,y2)...]
Argument
Description
-traversedist
traverseDist
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
Examples
# Example 1
lakerDumpPlacementTcl -file placement.tcl
#
#
#
#
#
#
#
#
937
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
-topLevel
Examples
# Example 1
lakerDumpPinAssTcl -file pinA.tcl
#
#
#
#
#
#
#
#
#
#
#
# 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
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
-initial
-topLevel
Examples
lakerDumpPinConstraint -file pin.cons -initial
See Also
Layout Window: Placer > Pin Placer > Dump Constraint Template
lakerLegalizeCellLoc
The lakerLegalizeCellLoc command legalizes cell locations.
939
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)
-impactBoxExt
(X-ExtSize, Y-ExtSize)
-impactBoxExt
ExtensionSize
-keepSelObj 0|1
-verticalCompact 0|1
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
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
-hPitch {PosInt}
-keepPinOrder
-scope {top|cell|port}
-vPitch {PosInt}
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.
941
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
-inst instName
-magni manification
-orient orientation
-placeStatus
placementStatus
-showMsg 0|1
Argument
Description
-xPos xPosition
-yPos yPosition
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
Examples
# Example 1
# Set the placement constraint file
lakerPlacementOption -constFile design.const
943
# 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}
Examples
# Example 1
lakerQueryCellBoundary -inst 123a5b7
# The value returned: 1.3 2.5
944
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
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
945
Argument
Description
-coreFiller 0|1
-endCap 0|1
-fillerCell fillerList
-padFiller 0|1
-wellTap 0|1
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
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
-constFile fileName
-honorSoftPin 0|1
-ruleSet ruleName
947
Argument
Description
-site siteName
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
-hierarchy
Argument
Description
-mode mode
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
-keepRowSites 0|1
-offsetPoint (x0,y0)
949
Argument
Description
-point (x0,y0) |
[(x0,y0) (x1,y1)
(x2,y2)... (xn,yn)]
-refPoint (x0,y0)
-traversedist
traverseDist
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
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]
951
952
Argument
Description
-action
actionMode
-clear 0|1
-end
-net
netName
-node
nodesList
Argument
Description
-start
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]
953
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-button button
954
-enableNames 0|1
-file fileName
-names
instCellNames
-mode mode
-net netName
Specify the net name that the instance ports are assigned
to.
-netType netType
-portName
portName
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
-layerName
layerName
-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
-port portName
955
Argument
Description
-purpose
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
-yPos yPosition
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
Arguments
Argument
Description
-action
actionMode
-allowPartialResult 0|1
-autoUpdate 0|1
-busAlignStyle
busAlignStyle
-compactBus 0|1
-fanOff 0|1
-fitToPin 0|1
-minContacts n
-point (x,y)
Specify a point.
-rule routingRule
-ruleSet
"ruleSetName"
-snapMode
snapMode
957
Argument
Description
-toLayerName
layerName
-viaPattern type
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
Arguments
Argument
Description
-ignoreNet
{NetName List2 }
-net
{ NetName List1 }
-ruleSet
"ruleSetName"
-status
"RouteStatus"
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
959
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
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
Syntax
lakerCongestionMap -display 0|1 -mode mode -tip 0|1 -map
{{layerName vial number}...}
Returns
None
Arguments
Argument
Description
-display 0|1
-map {{layerName
vial number}...}
-mode mode
-tip 0|1
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
961
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 ...}
-net { n1 n2 n3 ... }
-notCrossgate
LayerName
-rule routingRule
-ruleSet "ruleSetName"
-safetyFactor value
-save
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
See Also
Layout Window: Router > Current Density Route
963
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}
-net {NetNameList,
ClassNameList}
-status routeStatus
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
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
-coreWire 0|1
-filterByName 0|1
-filterByType 0|1
-followPin 0|1
-ioWire 0|1
-netName {net_list}
965
Argument
Description
-notchMetal 0|1
-pg 0|1
-pinConn 0|1
-ring 0|1
-signal 0|1
-stripe 0|1
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
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}
-status routeStatus
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.
967
Arguments
Argument
Description
-layerName layerName
-purpose purpose
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
Description
-activeRuleSet
ruleName
-advanced 0|1
-alignViaEdge 0|1
-antenna 0|1
-appliedFile fileName
-appliedNets {netList}
-area 0|1
-checkExistedVio 0|1
969
Argument
Description
-connectivity 0|1
-cornerInfo 0|1
-dataPreparation
optionStr
-designInfo 0|1
-detailRoute 0|1
-detailRouteIteration
iterationNum
-detailRouteOptions
optionStr
-detourRatio 0|1
-doubleViaInsert 0|1
970
Argument
Description
-enableViaEnclosedLayer
0|1
-file fileName
-ignoredFile fileName
-ignoredNets {netList}
-initialRouteOptions
optionStr
-jogInfo 0|1
-noPushing 0|1
-notchGapFill 0|1
-notchGapFillOptions
optionStr
971
Argument
Description
972
-numOfRunThread
threadsNum
-onTrack 0|1
-options optionStr
-output 0|1
-outputFile fileName
-postOptDetour 0|1
-postOptDetourIteration
iterationNum
-postOptimize 0|1
-postOptimizeOptions
optionStr
Argument
Description
-postOptPattern 0|1
-postOptPatternIteration
iterationNum
-postScript fileName
-preScript fileName
-ratio value
-route 0|1
-routeInfo 0|1
-routeType routeType
-routingAreaBox
{x1 y1 x2 y2}
-routingTrack trackInfo
-ruleInfo 0|1
973
Argument
Description
-showCongestion 0|1
-showViolation 0|1
-skipPrimVio 0|1
-subOptimal 0|1
-suggestRoutePitch 0|1
-tab tabName
-useSpine 0|1
974
Argument
Description
-varRule 0|1
-varRules
{variableRuleList}
-viaEnclosedLayer
{layerList}
-viaPattern type
-viaStyle viaStyle
-viaTouchPinsLayer
{layerList}
-violation 0|1
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
975
# 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
Arguments
Argument
Description
-number number
-pathAlign mode
-ruleSet ruleName
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
-invokeEditor 0|1
977
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
-maxAmp value
-minAmp value
-net { n1 n2 n3 ... }
-notCrossgate
LayerName
-rule
Argument
Description
-ruleSet ruleName
-save
-style routerStyle
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
979
Argument
Description
-Dir H|V|Auto
-maxAmp value
-minAmp value
-net { n1 n2 n3 ... }
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
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
-fixRowCol
-minContacts n
-notCrossgate
LayerName
-pinExtractionRule
-pushContact
981
Argument
Description
-rotate
-routeStatus
routeStatus
-rule routingRule
-ruleSet
"ruleSetName"
-save
-style routerStyle
Examples
# Example 1
lakerLabelRouter -text { a b }
982
# 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
983
Arguments
Argument
Description
-action
action
-controlFile
filePath
-cutCorner
cutLength
arcSide
Specify the cutting length and arc sides for Cut Corner.
-end
-endExtension
insideVal
outsideVal
-labelLayer
labelLayer
Specify the text layer for the label matching teeth segments.
-labelPurpose
labelPurpose
984
-maxResistance
resistanceValue
-mode area
-multipleLayers
-point point1
point2
-repArea
-repDevToMin
Argument
Description
-repDevToPrev
-report 0|1
-repResist
-ruleSet
ruleName
-sameEndTeeth
-sameStartTeeth When specified, enable the Same as Start Teeth Width option.
-select selMode
-spacingRatio
ratioValue
-start
-startExtension
insideVal
outsideVal
985
Argument
Description
-teeth teeth
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
Description
-addRow row
-addRule name
-deleteRow row
-deleteRule name
-editRule
Edit the data in the Layer Properties table.
-rowItem row
-layer | -width |
-wireStep |
-spacing | -notch | resistance |
-cornerRatio |
-etch | -etchLayer
data
-end
-loadFile name
987
Argument
Description
-moveDownRow
row
-moveUpRow
row
-rename name
-newName name
-saveFile name
-saveRule name
-start
Start the feature for Measure Resistance, Measure Point-toPoint Resistance, or Ladder Route features.
Valid values: -measRes, -p2pRes, and -ladderRoute.
-switchRule name
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
[-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
-autoDetect
-bbMaxLength
maxLen
-bbOffShapeVia
-bbRoute
-bbVia viaNum
-bbViaOnPin
-closedLoop
-connectMode
connectMode
989
990
Argument
Description
-connPathCenter
-cutCorner
-cutCornerToPolygon
-cutCornerIMLength
IMLen
-cutGuardRing
-enableSwapPort
-feedThrough
-fixRowCol
-maxVia num
-minContacts n
-notCrossgate
LayerName
Argument
Description
-pushContact
-reduceOverlap
-rotate
-routeStatus
routeStatus
-rule routingRule
-ruleSet ruleName
-save
-shield [shieldNet]
-shieldbottom
991
Argument
Description
-shieldparallel
-shieldtop
-shieldTopWidth width
-style routerStyle
-useMinArea 0|1
-usePrefWidth
-viaPattern type
Examples
# Example 1
# Define routing rules
# Relative settings in GUI:
992
# 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
993
# 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
995
Returns
1 if successful; otherwise, returns 0.
Arguments
996
Argument
Description
-activeRuleSet ruleName
-allowNonPreferredDir 0|1
-allowShiftRange 0|1
-allowSwapNet 0|1
-blockWire
-bottomViaLayer
layerName
-enableEntire 0|1
-enableLayerJump 0|1
-enablePinLayer 0|1
Argument
Description
-end num
-extendCorner 0|1
-extendToBoundary 0|1
-extensionViaNumber
num
-followPin
-group num
-horLayer metalLayer
-ignoreDRC 0|1
-leftCoreOffset offset
-rightCoreOffset offset
-topCoreOffset offset
-bottomCoreOffset offset
-leftLayer layerName
-rightLayer layerName
-topLayer layerName
-bottomLayer layerName
-leftSpacing spacing
-rightSpacing spacing
-topSpacing spacing
-bottomSpacing spacing
997
Argument
Description
-leftWidth width
-rightWidth width
-topWidth width
-bottomWidth width
-macroRing
-mode mode
-net netNames
998
-noCross 0|1
-options
-pinLayer layerNames
-ring
-rowArea rowArea
Argument
Description
-searchRange range
-shiftRangeGui range
-showViolation 0|1
-skipBottomSide 0|1
-skipLeftSide 0|1
-skipRightSide 0|1
-skipTopSide 0|1
-start num
-step num
-stripe
-topViaLayer
layerName
999
Argument
Description
-undo
-verLayer metalLayer
-wireSpacing spacing
-wireWidth width
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
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
-figs figIds
-fixRowCol
-minContacts n
1001
1002
Argument
Description
-notCrossgate
LayerName
-point (x1,y1)(x2,y2)
-pushContact
-reduceOverlap
-rotate
-routeStatus
routeStatus
-rule routingRule
Argument
Description
-style routerStyle
-useMinArea 0|1
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}
1003
# 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
-replaceInstVia
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
-backboneStyle
-connect
1005
Argument
Description
-connectToSoftPins
-effort effort
-enableSwapPort
-ignoreNet
{netName_list,
className_list}
1006
-longPathFirst
-mode mode
-pathAlign mode
-postOptimize
-reduceOverlap
-ripup
Argument
Description
-rule routingRule
-ruleSet ruleName
-save
-selectedNets
{netName_list,
className_list}
-useMinArea 0|1
-useMinWS
-useMultiVia
1007
Argument
Description
-viaGroup mode
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
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
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
1009
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
-addRuleApply 0|1
-addRuleOk 0|1
-deleteRuleApply 0|1
Argument
Description
-deleteRuleOk 0|1
-delRuleSet ruleName
-newRuleSet ruleName
-renameRefRuleSet
ruleName
-renameRuleApply 0|1
-renameRuleOk 0|1
-renameRuleSet
ruleName
-routingTrack Auto|User
-ruleChanged list
-ruleSet ruleName
-save 0|1
-specificSpacing 0|1
1011
Argument
Description
-tab tabName
-viaGroup mode
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
Arguments
Argument
Description
-effort effort
-ignoreNet
{netName_list,
className_list}
-ruleSet ruleName
-useMinWS
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
1013
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
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
Returns
None
Arguments
Argument
Description
-display 0|1
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
-colorIndex color_index
Examples
lakerPreSel -point (0.2494,0.1807) -traversedist 0.0047
lakerSingleSel
lakerLockColor
lakerLockColor -color ColorA
lakerLockColor -colorIndex 1
1015
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
Arguments
Argument
Description
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
-colorIndex color_index
Examples
lakerPreference -createColor 1 -createColorMode locked
lakerSetCreateColor -color colorB
See Also
lakerPreference
Layout Window: Assistants > Color Assistant > Creation Mode (None)
1017
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
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
-copy printCopy
-fileName filename
-footer paperFooter
-header paperHeader
-layerPattern 0|1
-magni magnification
-orient orientation
-paperSize paperSize
1019
Argument
Description
-printerName
printerName
-ruler 0|1
-toFile printToFile
-view viewName
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
-port full_port_path
-topWnd window_ID
Examples
adpDsgPopViewUp -topWnd _adp2 -net 4_bit_mux2.I0.A
1020
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
-topWnd window_ID
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
1021
Arguments
Argument
Description
-color layerName
-delete netName
-dump 0|1
-file filename
Specify the ASCII file with its full path. This is only
used with the -dump argument.
-level level
-netName netName
-scope scopeName
-topWnd winId
-zoomToHighlighSet 0|1
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
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
1023
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
-avail 0|1
-direction 1|2
-group 0|1
-master master
-name rulename
-procName procname
Argument
Description
-refEdgeID refedge
-value value
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
-layerNo layerno
-layerPurpose
layerpurpose
1025
Argument
Description
-name rulename
-op1FigID fig1
-op2FigID fig2
-opType optype
-phyLayer 0|1
-procName procname
-rename newname
-value value
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
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
-layers routingRule
-procName procname
-startObj objIdx
-targetObj objIdx
1027
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
-colSpace colspace
-figID figid
-procName procname
-removeOriginalObj 0|1
-rows row
-rowSpace rowspace
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
-cutangleLen length
-cutangleSides sides
-procName procname
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
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
-avail 0|1
-del
-name rulename
-procName procname
-refEdgeID refedge
-rename newname
-value value
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
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
-cell cell
-cols col
-colSpace colspace
-fillByCV 0|1
-fillFigID fillfig
-fillRegionID fillregion
-justify just
-lEncl lenc
-lib lib
-magni mag
1031
Argument
Description
-method method
-procName procname
-rEncl renc
-rotate rotate
-rows row
-rowSpace rowspace
-tEncl tenc
-view view
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
Arguments
Argument
Description
-portId portid
-portName portname
-procName procname
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
1033
Argument
Description
-procName procname
-removeID removeid
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
-name rulename
-procName procname
-rename newname
-value value
Examples
# Example 1
lakerDefDevReturnValue -procName {Return Value} -name ret1 \
-edit -value {$asdf+1}
1034
# 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
-content {text}
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
1035
Arguments
Argument
Description
-logFile logFileName
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
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
Syntax
lakerUDDFindParam [-exactParam 0|1] [-searParam paramName]
[-listType Type]
Returns
None
Arguments
Argument
Description
-exactParam 0|1
-listType Type
-searParam
paramName
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
1037
Arguments
Argument
Description
-exactParam 0|1
-index index
-repParam
replaceName
-searParam
paramName
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
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
-mode 0|1
-rule ruleSet
Examples
# Example 1
lakerUpdateMCell -figId 0x11111 \
-rule "minPoly2GateExtension 0.5"
1039
# 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
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
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]
1041
Returns
None
Arguments
Argument
Description
-iscloseptarray 0|1
-isenclose 0|1
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
Arguments
Argument
Description
-attachPoint 0|1
-subTop 0|1
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
-traversedist distance
1043
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
Arguments
Argument
Description
-attachPoint 0|1
-attr Net|GlueNo
-instPort 0|1
-subTop 0|1
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}}
1045
#
#
#
#
#
#
trx: 735c123
n1: 735c600
n2: 735c700
n3: 735c800
n4: 735c900
n5: 735c000
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
-traversedist distance
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
-subTop 0|1
-traversedist
distance
1047
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
-traversein 0|1
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
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
1049
lakerSelKind
The lakerSelKind command sets the type of traversing object for selector.
Syntax
lakerSelKind -selkind objkind
Returns
None
Arguments
Argument
Description
-selkind objkind
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
Arguments
Argument
Description
-resetfilterlayer
-filterlayer
routeLayer
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
-disableConnAll
layoutConnection
1051
Argument
Description
-disableConnStop
layoutConnection
-enableConnAll
layoutConnection
-mode selMode
-stopAtShort 0|1
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
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}]
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}"
1053
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
-traversedist distance
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
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.
1055
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
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.
1057
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
Arguments
Argument
Description
-class classNum
-color
colorId [integer]
-colorCycle 0|1
-draw 0|1
-file fileName
Specify an RVE result file. This argument is valid only if type File is specified.
-getHighLightLayer
mode
-id idList
-magni magnitude
1059
1060
Argument
Description
-name nameList
-NoLog
-offset offset
-orient orientation
-point pointSet
-pointList
pointSetList
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
-remove
removeGroup
Argument
Description
-removeClass
classNum
-removeId idList
-removeName
nameList
-style pathStyle
-toolTip "message"
1061
Argument
Description
-type objectType
-width pathWidth
[contWidth]
-zoom 0|1
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
# 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
1063
# 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
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
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
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
1067
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
# 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
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
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
-ref top
-timeout time
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
Arguments
Argument
Description
-end
-ref top
-timeout time
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
-ref top
1071
Argument
Description
-timeout time
-width width
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
-timeout time
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
-ref top
-timeout time
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
1073
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
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
1075
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
Arguments
Argument
Description
-mode selMode
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
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
1077
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
Argument
Description
-instname
input_instances
-mode drop_mode
-netname input_nets
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
1079
Arguments
Argument
Description
msgString | var
-wnd wndId
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
Syntax
lakerDumpShapeTcl -layerName layerName -purpose purpose
file fileName]
[-
Returns
None
Arguments
Argument
Description
-file fileName
-layerName layerName
-purpose purpose
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
1081
Argument
Description
-wnd wndId
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
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
Examples
# Example 1
# Get all alive windows
lakerGetAliveWnd
1083
# 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
Arguments
Argument
Description
-purge 0|1
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
-default 0|1
1085
1086
Argument
Description
-layerName layerName
-layerName layerName
-purpose purposeName
-layerName layerName
-purposeNo purposeNo
-layerNo layerNo
-layerNo layerNo
-purpose purposeName
-layerNo layerNo
-purposeNo purposeNo
-purpose purposeName
-purposeNo purposeNo
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
1087
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
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
Syntax
lakerGetDspPat -type patternType [-name patternName]
Returns
The corresponding pattern (as follows) if successful; otherwise, returns 0.
Argument
Description
Return values
color
none
color
color name
stipple
none
stipple
stipple name
lineStyle
none
lineStyle
lineStyle name
group
none
group
group name
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.
1089
Argument
Description
-type patternType
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
Arguments
Argument
Description
-cell cellName
Specify the cell name (to specify the bottom of the design
hierarchy from the top cell).
-wnd wndId
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
-showMode 0|1
-wnd wndId
1091
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
-type nameType
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
-lib libName
-view viewName
Examples
# Example 1
lakerGetOpenCount -lib demoLib
# Example 2
lakerGetOpenCount -lib demoLib -cell demoCell -view layout
1093
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
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
Arguments
Argument
Description
-cell cellName
-lib libName
-view viewName
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
1095
Argument
Description
-oritop
-work
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
# 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
1097
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
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
Returns
A window identifier if successful; otherwise, returns nothing.
Arguments
Argument
Description
-focus
-topWnd
-type type
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:
1099
Syntax
To suspend the Capture Undo action,
lakerHaltUndo -start
To continue the Capture Undo action,
lakerHaltUndo -end
Returns
None
Arguments
Argument
Description
-end
-start
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
Arguments
Argument
Description
-type type
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
1101
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
-name formName
-text msgText
Examples
lakerMsgForm -name ABC -text Message1
lakerMsgForm -name ABC -text Message2
lakerMsgForm -name ABC -close 1
1102
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
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
1103
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
-content PromptDefinition
-lib libName
-view viewName
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
Arguments
Argument
Description
-layerName layerName
-purpose purpose
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
-window windowId
-wnd windowName
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
lakerSetBrowserWnd
The lakerSetBrowserWnd command shows or hides the Design Browser
pane.
Syntax
lakerSetBrowserWnd -show 0|1
Returns
None
Arguments
Argument
Description
-show 0|1
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
Argument
Description
-obj obj
-sel 0|1
-vis 0|1
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.
1107
Arguments
Argument
Description
-cell cellName
-content PromptDefinition
-lib libName
-view viewName
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
Examples
# show the stand-alone Schematic window
lakerSetSchematicAWnd -show 1
1108
lakerSetSchematicFWnd
The lakerSetSchematicFWnd command shows or hides the schematic
floating window.
Syntax
lakerSetSchematicFWnd -show 0|1
Returns
None
Arguments
Argument
Description
-show 0|1
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
1109
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
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
1111
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
-libName
libName
-topCellName
topCellName
-viewName
viewName
Examples
lakerStartDevPara -delim / -libName design -topCell top \
-view schematic
lakerUpdateDevPara -name U1 -cell IV -point {0 20} \
-parameter {W 0.000006}
1112
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
-port portNum
-str content
1113
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
-logicName
logicNameList
-schName
schNameList
-type typeName
Examples
lakerTransSchLogicName -schName {Adder/Sum Adder/SumX} \
-fullScope 0
1114
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
-name instName
-parameter paraList
-point point
1115
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
-name instName
Argument
Description
-parameter paraList
-point point
-topCellId topCellID
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}
See Also
lakerStartDevPara
lakerUpdateDevPara
lakerFinishDevPara
1117
1118
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.
analyzeConnectivity
analyzeRoute
changeRouteTypeStatus
checkAntenna
checkConnectivity
checkExistingVio
checkSuboptimal
checkTieHiLo
checkViolation
createBone
createBoneConst
createChannel
createRouteRule
deleteRoute
deleteRouteRule
1119
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
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
-magma
-net netName
-springSoft
-synopsys
Examples
# Example 1
analyzeConnectivity -net myNet -springSoft
See Also
checkConnectivity
1121
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
-minRatio double
-net string
-netRatio
-reportLimit integer
-useHPWL
-viaPinRatio
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
-allSignalNets
1123
Argument
Description
-default
1124
-dryRun
-fixed
-free
-net string
-normal
-onlyChangeNonPrewire
-spineOnly
-stripe
-verbose
-viaOnly
-viaWithMasterName string
-viaWithMinimumCut
integer
-wireGreaterThanMinWidth
-wireGreaterThanVarWidth
Argument
Description
-wireOnly
-wireWithMinWidth
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
-reportFile fileName
-showAll
1125
Argument
Description
-threads threadsNum
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
Argument
Description
-checkPGPins
-checkShapes
-incremental
-magma
-net netName
-skipNoRouteNets
-skipPGNets
-springSoft
-synopsys
-threads threadsNum
Examples
# Example 1
checkConnectivity -springSoft -threads 4
# Example 2
checkConnectivity -magma -net myNet
1127
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
-signalOnly
-threads threadsNum
Examples
# Example 1
checkExistingVio -signalOnly
# Example 2
checkExistingVio -selectedTypeOnly
See Also
checkViolation
1128
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
-signalOnly
-threads threadsNum
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.
1129
Syntax
checkTieHiLo [-threads threadsNum] [-net netName] [-synopsys
| -cadence | -magma | -springSoft]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-cadence
-magma
-net netName
-springSoft
-synopsys
-threads threadsNum
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
Syntax
checkViolation [-threads threadsNum] [-selectedTypeOnly] [signalOnly] [-freeOnly] [-net string]
Returns
None
Arguments
Argument
Description
-freeOnly
-net string
-selectedTypeOnly
-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
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
Syntax
createBone [-dumpFile fileName]
Returns
None
Arguments
Argument
Description
-dumpFile fileName
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
Argument
Description
-channel channel
-compact
-fullTrack
-layer layer
-net netName
-order order
-shieldingWidth width
-spacing spacing
-width width
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.
1133
Syntax
createChannel -name name -start start -end end [-left left]
[-right right] [-compactTop]
Returns
None
Arguments
Argument
Description
-compactTop
-end end
-left left
-name name
-right right
-start start
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
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-maxLayer string
-minLayer string
-refRule string
-rule string
-wireSpacing string
-wireSpacingMultiplier
string
-wireWidth string
-wireWidthMultiplier
string
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}
1135
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
-allSignals
-netNames
{net1 net2 ... netn}
-subTypes
{sub_types}
-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
# 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
-rule string
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.
1137
Syntax
deleteVioNet [-nets string]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-nets string
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
Examples
# Example 1
dumpRoutingConstraintTemplate -file route1
1138
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
-remove
-signalOnly
-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.
1139
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
-diodePrefix name
-ground name
-net netName
-power name
-useDiodeInsertion
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
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
-iteration integer
-ratioLimit double
-threads threadsNum
Examples
# Example 1
fixNetRatio
# Example 2
fixNetRatio -iteration 10
# Example 3
fixNetRatio -ratioLimit 3.0
See Also
checkViolation
1141
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
-iteration integer
-threads threadsNum
-wrongWayLength
length
-wrongWayLimit
length
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
1143
Argument
Description
-avoidM1WireTouchPin
-checkTopPinMA
Check and fix the minimum area violation on the toplevel pins.
-incremental
-iteration integer
-noPushing
-onGrid
-skipVioChecking
-threads threadsNum
-useDoubleVia
-verbose
Examples
# Example 1
fixViolation
# Example 2
fixViolation -onGrid -thread 4
# Example 3
fixViolation -iteration 50 -thread 4
See Also
checkViolation
checkSuboptimal
fixRoutePattern
setRoutingLayer
1144
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
-showLayerBreakdown
-skipPGMCVia
-threads threadsNum
-withPushing
Examples
# Example 1
# replace single cut vias with DFM priority via
insertDFMVia
# Example 2
# only report without replacement
insertDFMVia -report
1145
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
-withPushing
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
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}
-autoDesignPitch
-autoDesignTrack
-autoIdentifyAntCell
-defNDR
-extraCell
-keepDEFTrackInfo
-keepRouteStatus
1147
Argument
Description
-notGenerateBoundaryBlk
-notGenerateViaMaster
-poly2OutsideRect
-propAllPortRect
-ruleSet ruleName
-showRuleSet
-skipConvertRoute
-skipViaConvert
{cellName1 cellName2}
-topLevelMacroPin
-verbose number
-weakToMustjoin 0|1
Examples
# Example 1
# Automatically adjust design tracks
lakerCDRIn -autoDesignTrack
# Example 2
# Display all supported arguments of lakerCDRIn
lakerCDRIn -help
1148
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
-includeMultiCut
-net netName
-skipClock
1149
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
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
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
-compare
-cutOnly
-directory dirPath
1151
1152
Argument
Description
-fromLayer layerName
-includeOutOfBoundary
-layer layerName
-metalOnly
-reportLimit limitNum
-save
-threads threadsNum
Argument
Description
-toLayer layerName
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.
1153
Syntax
reportJog [-threads threadsNum] [-nets string] [-threshold
double] [-verbose]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-nets string
-threads threadsNum
-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
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
Syntax
reportRouteInfo [-area string] [-totalOnly]
[-excludeDummyNet]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-area string
-excludeDummyNet
-totalOnly
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.
1155
Arguments
Argument
Description
-all
-rule string
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
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
-nets string
-threads threadsNum
-verbose
Examples
# Example 1
reportSpine
# Example 2
reportSpine -verbose
See Also
reportRouteInfo
setRoutingConstraint
1157
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
Arguments
Argument
Description
-bottomCoreOffset
offset
-bottomLayer
layerName
-bottomSpacing
spacing
-bottomViaLayer
layerName
Specify the lowest metal layer that stack vias can reach.
The default is the lowest metal layer.
-bottomWidth
width
-highBottomExtension
range
-highLeftExtension
range
-highRightExtension
range
-highTopExtension
range
-ignoreDRC
1159
1160
Argument
Description
-inst instNames
-leftCoreOffset
offset
-leftLayer
layerName
-leftSpacing
spacing
-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
-lowLeftExtension
range
-lowRightExtension
range
-lowTopExtension
range
-net netNames
Argument
Description
-noCross
-rightCoreOffset
offset
-rightLayer
layerName
-rightSpacing
spacing
-rightWidth
width
-skipBottomSide
-skipLeftSide
-skipRightSide
-skipTopSide
-topCoreOffset
offset
-topLayer
layerName
-topSpacing
spacing
1161
Argument
Description
-topViaLayer
layerName
-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
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-allowNonPreferredDir
-bottomViaLayer
layerName
-enableLayerJump
-inst instNames
-net netNames
-pinLayer layerName
-searchRange range
-skipBottomSide
1163
Argument
Description
-skipLeftSide
-skipRightSide
-skipTopSide
-topViaLayer
layerName
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
Arguments
Argument
Description
-effort {mode}
-timingDriven
1165
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
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
-direction string
-enableLayerJump
-extendToBoundary
-extensionViaNumber
-generatePinOnBoundary
-ignoreDRC
-maxLayer string
-minLayer string
-net string
-rowArea string
-searchRange number
-undo
1167
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
Argument
Description
-bottomLayer string
-bottomSpacing spacing
-bottomWidth width
-Cross
-ignoreDRC
-leftCoreOffset offset
-leftLayer string
-leftSpacing spacing
-leftWidth width
-maxLayer string
-minLayer string
-net string
-rightCoreOffset offset
-rightLayer string
-rightSpacing spacing
1169
Argument
Description
-rightWidth width
-rowArea string
-skipBottomSide
-skipLeftSide
-skipRightSide
-skipTopSide
-topCoreOffset offset
-topLayer string
-topSpacing spacing
-topWidth width
-undo
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
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
-direction string
-end end
-extendToBoundary
-ignoreDRC
-lowEnd string
-maxLayer string
1171
Argument
Description
-metalLayer string
-minLayer string
-mode string
-net string
-searchRange number
-shiftRange number
-spacingInGroup spacing
-start start
-step step
-undo
-width width
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
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
-set
netNamesOrPatterns
Examples
# Example 1
setIgnoredNetsInRouting {net1 net2 net3} -set
# Example 2
setIgnoredNetsInRouting -clear
See Also
routeNet
1173
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 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
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
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
-nets string
-rule string
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:
1175
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
1177
Description
-addInverseRoutingDirBox <string>
-addToRouteNetGroup
-allLayers
-allowBridge
1178
Argument
Description
-compactRowBone <string>
-compactRowBoneArea <string>
-compactRowBoneM2Range <string>
-compactRowBoneRange <string>
-compactRowBoneToPoint <point>
-compactRowBoneTrackNum <int>
-connectToUpperLayer
1179
Argument
Description
-crossViaOnly
-disallowBridge
-disallowWireTouchPin
-doubleVia
-dumpNetConstraint <string>
-dynamicTrack
-extendPinToBone
-extendRowBoneSearchRange
<double>
-extendRowBoneSearchRangeByPitch
<int>
1180
Argument
Description
1181
Argument
Description
-h [category]
-HHViaOnly
1182
Argument
Description
-info
-inverseRoutingLayerDir
-layers <string>
-loopWire
-maxEscapeLength <double>
-maxEscapeLengthByPitch <int>
-maxEscapeLengthForPinConnect
<double>
-maxEscapeWidthForPinConnect
<double>
1183
Argument
Description
-maxLayer <string>
-maxSegmentLength <double>
-maxWrongWayLength <double>
-maxWrongWayLengthByPitch <int>
-memTopRoute
-minLayer <string>
-nets <string>
-noBiasedVia
1184
Argument
Description
-nonCrossViaOnly
-noPinFeedThrough
-placeViaOnUserGrid
-preferConnectToUpperLayer
-preferHHVia
-preferVertBone <string>
-preferVVVia
-removeFromRouteNetGroup
-reset
-resetAllowBridgeForPin
1185
Argument
Description
-resetCompactRowBoneToPoint
-resetConnectToUpperLayer
-resetDisallowWireTouchPin
-resetDoubleVia
-resetDynamicTrack
-resetEscape
-resetExtendPinToBone
-resetIgnoreInCellViolation
-resetInverseRoutingDirBox
-resetInverseRoutingLayerDir
-resetLayerConnectM1Pin
1186
Argument
Description
-resetLongPathRoutingFirst
-resetLoopWire
-resetMemCellPin
-resetMemTopRoute
-resetNoBiasedVia
-resetNoPinFeedThrough
-resetPlaceViaOnUserGrid
-resetPreferConnectToUpperLayer
-resetPreferVertBone
-resetRouteArea
1187
Argument
Description
-resetRouteNetGroup
-resetRowlessBoneAssignment
-resetShieldWire
-resetSpinePattern
-resetTrackPriority
-resetUseSpine <string>
-resetUseViaDir
-resetUseViaEnclosedByPin
-resetUseViaOnly
-resetVariousTrack
-resetViaPattern
1188
Argument
Description
-routeArea <string>
-rowBoneTopology <string>
-rowHeight <double>
-rowlessBoneAssignment
-setEscape
-setIgnoreInCellViolation
-setLayerConnectM1Pin
-setLongPathRoutingFirst
-setMemCellPinLayer
1189
Argument
Description
-setRowBoneGroupDistByPitch <int>
-setTrackPriority
-setVariousTrack <string>
-setViaBotEncHeightForLoopWire
<double>
-setViaBotEncWidthForLoopWire
<double>
-setViaMasterForLoopWire <string>
-setViaTopEncWidthForLoopWire
<double>
-shieldWire
1190
Argument
Description
-spinePattern
-trackPrioritySeq <string>
-userGrid <string>
-useSpine
-useViaEnclosedByPin
-useViaOnly
-VVViaOnly
1191
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
-fromLayer string
-info
-toLayer string
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
1193
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
See Also
routeNet
reportRule
1194
9
9
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
1195
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
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
1197
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
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
1199
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
-postCap name
-power name
-preCap name
-prefix name
-setAsFixed
Examples
# Example 1
addEndCap -preCap PRECAP -postCap POSTCAP -power VDD -ground VSS
1200
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}
-ground name
-power name
-prefix name
-prefixMetalFillers
name
-selectedFillerCells
name
1201
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}
-overlapFillerCells
-prefix
-selectedFillerCells
Argument
Description
-skipBottomSide
-skipLeftSide
-skipRightSide
-skipTopSide
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.
1203
Arguments
Argument
Description
-analysisType
single | bcwc | ocv
1204
-crpr
-cScalarHold value
-cScalarSetup value
-libGroup
libGroupName
-maxLibGroup
libGroupName
-maxOp
operating_condition
-minLibGroup
libGroupName
-minOp
operating_condition
Argument
Description
-sdc sdcName
viewName
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
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
-ground name
-prefix name
-power 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
-stagger
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
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
-net net_name
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.
1207
Arguments
Argument
Description
-layer string
-net {string}
-netRatio
-minRatio value
-reportLimit integer
-useHPWL
-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
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
1209
Argument
Description
-allSignalNets
-default
-dryRun
-free
-fixed
-net string
-normal
-onlyChangeNonPrewire
-spineOnly
-stripe
-verbose
-viaOnly
-viaWithMasterName string
-viaWithMinimumCut integer Change the routes of vias with the number of cuts
greater than or equal to the specified value.
-wireGreaterThanMinWidth
1210
Argument
Description
-wireGreaterThanVarWidth
-wireOnly
-wireWithMinWidth
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
Arguments
Argument
Description
-cadence | -synopsys |
-magma | -springSoft
-checkPGPins
-checkShapes
-incremental
-net net_name
-skipNoRouteNets
-skipPGNets
-threads
threads_number
Examples
# Example 1
checkConnectivity -springSoft -threads 4
# Example 2
checkConnectivity -magma -net myNet
See Also
analyzeConnectivity
1212
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
-signalOnly
-threads 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.
1213
Syntax
checkPlacement [-blockageAware] [-detail] [overlapIgnoreCheckList string] [-short]
Returns
A summary message is returned.
Arguments
Argument
Description
-blockageAware
-detail
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
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
-signalOnly
-threads integer
Examples
checkSuboptimal
See Also
checkViolation
1215
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
-net net_name
-threads threads_number
Examples
checkTieHiLo -springSoft -threads 4
checkTieHiLo -cadence -net myNet
1216
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
-selectedTypeOnly
-signalOnly
-threads integer
Examples
# Example 1
checkViolation
# Example 2
checkViolation -signalOnly -freeOnly
# Example 3
checkViolation -selectedTypeOnly
1217
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
-excludePin pinNames
-leafPin pinNames
-stopPin pinNames
-throughPin pinNames
Examples
# Example 1
clearCTSException -excludePin u1/CK -stopPin u2/CK
# Example 2
clearCTSException -all
See Also
setCTSException
1218
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
1219
Argument
Description
spef_file_name2
-max maxVal
-min minVal
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
-output db_name
-refLib reference_lef_lib(s)
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
-output db_name
-refLib
external_reference_lib(s)
-top_cell top_cell_name
1221
Argument
Description
-verilog verilog_file
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
-layerMap layerMapFile
Argument
Description
-output dbName
-tfLib
-tfRef refTechLib
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:
1223
Syntax
convertRouteConnectionModel [-net string] [-verbose]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-net string
-verbose
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
Argument
Description
-libGroup group_name
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
-pgOnly
Examples
# Example 1
createPlaceBlkUnderMetal -layer {ME1 ME2}
1225
# 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
-minLayer string
-refRule string
-rule string
-wireSpacing string
-wireSpacingMultiplier
string
Argument
Description
-wireWidth string
-wireWidthMultiplier
string
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.
1227
Arguments
Argument
Description
-box {area}
-selectedFillerCells
string
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
-allSignals
Argument
Description
-netNames string
-subTypes string
-types string
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.
1229
Arguments
Argument
Description
-all
-rule string
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
Examples
# Example 1
readSdc -sdcGroup testMode {constraint.sdc test.sdc}
readSdc -sdcGroup normalMode {constraint.sdc normal.sdc}
1230
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
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
1231
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
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
Examples
# Example 1
dumpInstPlacementTcl -file place.tcl
1232
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
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.
1233
Arguments
Argument
Description
-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
-checkTopPinMA
1234
Argument
Description
-fixSuboptimal
-incremental
-maxLayer maxLayer
-minLayer minLayer
-onGrid
-skipTieHiLo
-skipVioFixing
-suboptimalMaxIteration
sub_opt_iter_num
-threads thread_num
-trimTieHiLo
-useDoubleVia
-vioFixIteration iter_num
Examples
# Example 1
ecoRoute
# Example 2
ecoRoute -onGrid -thread 4
See Also
fixViolation
1235
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
-incremental
Only update the RC value for those nets that are dirty.
When in doubt, do not use this option.
-nets names
Examples
# Example 1
extractRc
# Example 2
extractRc -net {n1 n2 n3}
# Example 3
extractRc -incremental
See Also
readRCTable
1236
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
-scanMode string
Specify the scan mode name from the CPF file or from
addView -sdc {scanMode}.
-stil string
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.
1237
Syntax
fillNotchGap [-freeOnly] [-remove] [-signalOnly] [-threads
integer]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-freeOnly
-remove
-signalOnly
-threads 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
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-area string
-iteration integer
-ratioLimit value
-threads integer
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.
1239
Syntax
fixRoutePattern [-area string] [-iteration integer] [threads integer] [-wrongWayLimit length | -wrongWayLength
length]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-area string
-iteration integer
-threads integer
Examples
# Example 1
fixRoutePattern
# Example 2
fixRoutePattern -iteration 10
# Example 3
fixRoutePattern -wrongWayLength 0.5
See Also
fixViolation
checkViolation
checkSuboptimal
1240
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
-avoidM1WireTouchPin
-checkTopPinMA
Check and fix the minimum area violation on the toplevel pins.
-incremental
-iteration integer
-onGrid
-noPushing
-skipVioChecking
-threads thread_num
1241
Argument
Description
-useDoubleVia
-verbose
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
Argument
Description
-polyLayerName
polyName
-rcTbl fileName
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
-layer layerName
Examples
# Example 1
# Change the METAL2 layer color to green
guiSetLayerColor -layer METAL2 -color green
1243
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
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
-clear
-set
Examples
# Example 1
ignoreNetInRouting -set {VDD VSS}
# Example 2
ignoreNetInRouting -clear
1245
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
-showLayerBreakdown
-skipPGMCVia
-threads integer
-withPushing
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
-withPushing
1247
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:
Syntax
legalizeInst [-box {area}] [-fixClockInst] [-plotMove]
Returns
A legalization progress message is returned.
Arguments
1248
Argument
Description
-box {area}
-fixClockInst
-plotMove
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
Examples
# Example 1
listViews
# Example 2
listViews -activeOnly
See Also
setActiveView
1249
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
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
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
-cell cellName
-fanout {pinNames}
-net netName
-x position
-y position
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.
1251
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
-fanout {pinNames}
-firstCell cellName
-firstX position
-firstY position
-net netName
-secondCell cellName
-secondX position
-secondY position
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
optDeleteBuffer
The optDeleteBuffer command deletes a buffer.
Syntax
optDeleteBuffer [-lInst instName]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-lInst instName
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
1253
Argument
Description
-secondLInst instName
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
-newCell cellName
Examples
# Example 1
optSizeCell -inst u1 -newCell AND2X2
See Also
optAddBuffer
optAddInvPair
optDeleteBuffer
optDeleteInvPair
1254
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
-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
-maxUtilization number
-netList netnames
-postRoute
1255
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}
-file filename
-guiShow
-interval number
-maxUtilization value
-netList netnames
Argument
Description
-postRoute
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
1257
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
-fixDrv true|false
-hold true|false
-holdBufType {cellnames}
Argument
Description
-setup true|false
-setupBufType cellnames
-sizing true|false
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.
1259
Arguments
Argument
Description
-buffering true|false
-fixDrv true|false
-hold true|false
-holdBufType {cellnames}
-setup true|false
-setupBufType {cellnames} Specify the allowed buffer types when fixing setup
time. If not specified, the default is all buffer types.
-sizing true|false
Examples
# Example 1
optimizePostRouteDesign
# Example 2
optimizePostRouteDesign -buffering false
# Example 3
optimizePostRouteDesign -hold -holdBufType {BUFX1 BUFXL}
See Also
setOptOption
optimizePreCTSDesign
optimizePostCTSDesign
1260
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
-fixDrv true|false
-setupBufType {cellnames}
-sizing true|false
Examples
# Example 1
optimizePreCTSDesign
# Example 2
optimizePreCTSDesign -buffering false
# Example 3
optimizePreCTSDesign -setupBufType {BUFX1 BUFXL}
See Also
setOptOption
optimizePostCTSDesign
optimizePostRouteDesign
1261
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.
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
Argument
Description
-congestionEffort
low | medium | high
-ignoreScan
-incremental
-timingDriven
-timingEffort
low | medium | 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.
1263
Syntax
placeInstECO [-congestionDriven] [-congestionEffort low |
medium | high] [-fseco] [-plotMove] [-timingDriven] [timingEffort low | medium | high]
Returns
A progress message is returned.
Arguments
Argument
Description
-congestionDriven
-congestionEffort
low | medium | high
-fseco
-plotMove
-timingDriven
-timingEffort
low | medium | 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
Syntax
placePin [-constFile name] [-dumpFile name]
Returns
A progress message is returned.
Arguments
Argument
Description
-constFile name
-dumpFile name
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]
1265
Returns
1 if successful; otherwise, returns 0.
Arguments
1266
Argument
Description
-cadence | -synopsys |
-magma | -springSoft
fileName
-noMinGridSnap
-noRoutes
-noSignalRoutes
-notTouchCoverWire
-rectDrcFill
-shapeOnly
-skipConvert
-skipFillers
filler_name_list
-splitContinuousPath
-varRuleFile
rule_file_name
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
-topCell topCellName
Examples
# Example 1
readDesign -topCell CPU my_design
See Also
compileHdl
compileDef
Laker Tcl Reference Manual
K-2015.06
1267
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
-topCell name
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
Arguments
Argument
Description
fileName
-libName lib_name
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
filename
1269
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
sdcFile
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
Syntax
readSpareCellFile -name fileName
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-name fileName
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
Examples
readSpef test.spef
See Also
writeSpef
1271
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
-eco
-tieHigh net_name
-tieLow net_name
-topCell top_cell_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
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
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 ]
1273
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-bufOnly
-critical
-dontTouchInsts instances
-fastMode
-invOnly
-net netname
-outOnly
-path data|clock|all
-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
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-checkConn
-includeMultiCut
-net net_name
-skipClock
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
1275
Argument
Description
-keepSpacing
-unplacedInstOnly
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
Arguments
Argument
Description
-file fileName
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
Examples
# Example 1
reportCTSOption
# Example 2
reportCTSOption -file output.log
See Also
setCTSOption
1277
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
-sdcOnly
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
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
-preRoute
-postRoute
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.
1279
Syntax
reportConstraint [ -allViolators ] [ -detail ] [ maxCapacitance ] [ -maxTransition ] [ -sig integer ] [ threshold value ] [ -view value ]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-allViolators
-detail
-maxCapacitance
-maxTransition
-sig integer
-threshold value
-view value
Examples
# Example 1
reportConstraint
# Example 2
reportConstraint -maxCapacitance
# Example 3
reportConstraint -maxTransition
# Example 4
reportConstraint -view 0
See Also
reportTiming
1280
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}
-compare
-cutOnly
1281
Argument
Description
-directory dirPath
-fromLayer layer_name
1282
-layer layer_name
-metalOnly
-reportLimit
limit_number
-save
-threads
threads_number
-toLayer layer_name
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
-max | -min
Examples
# Example 1
reportDelayCalculation -from U3/CK -to U3/Q
See Also
reportTiming
1283
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
-threads integer
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
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
1285
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
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
Arguments
Argument
Description
-file filename
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
-excludeDummyNet
-totalOnly
1287
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
-rule string
Examples
# Example 1
reportRouteRule
# Example 2
reportRouteRule -rule myRule
See Also
createRouteRule
setRouteRule
deleteRouteRule
1288
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}
1289
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
-from value
-gap value
-min value
-to value
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
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
-threads integer
-verbose
Examples
# Example 1
reportSpine
# Example 2
reportSpine -verbose
See Also
reportRouteInfo
setRoutingConstraint
1291
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
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
-force
-from objectNames
-max_paths value
-sig
-through object_names
-to object_names
-view viewName
1293
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
Syntax
resetSdc {sdcFiles} -sdcGroup name
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
{sdcFiles}
-sdcGroup 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
1295
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
-estimateCongestionOnly
-net string
-timingDriven
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
1297
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
-direction string
-enableLayerJump
-extendToBoundary
-extensionViaNumber
-generatePinOnBoundary
-ignoreDRC
-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.
Argument
Description
-net string
-rowArea string
-searchRange number
-undo
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
Arguments
1300
Argument
Description
-bottomCoreOffset value
-bottomLayer string
-bottomSpacing value
-bottomWidth value
-Cross
-ignoreDRC
-leftCoreOffset value
-leftLayer string
-leftSpacing value
-leftWidth value
-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
-rightCoreOffset value
-rightLayer string
-rightSpacing value
Argument
Description
-rightWidth value
-rowArea string
-skipBottomSide
-skipLeftSide
-skipRightSide
-skipTopSide
-topCoreOffset value
-topLayer string
-topSpacing value
-topWidth double
-undo
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
1301
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
-direction string
-end value
-extendToBoundary
-generatePinOnBoundary
-highEnd string
-ignoreDRC
-lowEnd string
Argument
Description
-maxLayer string
-metalLayer string
-minLayer string
Specify the string for the lowest metal layer vias that
can be created. Also known as bottomViaLayer.
-mode string
-net string
-numberOfGroup integer
-rowArea string
-searchRange value
-shiftRange value
-spacingInGroup value
-start value
-step value
-undo
-width value
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
1303
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
-disable
-enable
-hold
-setup
-view viewName
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
-file fileName
-leafPin pinNames
1305
Argument
Description
-stopPin pinNames
-throughPin pinNames
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
Argument
Description
-clockBuf cellnames
-file filename
-lowerLevelDefaultRule
number
-maxLatency number
-maxLevel number
-maxTransitionOnBuf
number
-maxTransitionOnSink
number
-minLatency number
-moveGate true|false
-routeRule string
-sizeGate true|false
-sourceBuffer string
-targetSkew number
1307
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
Examples
# Example 1
setDontUseCell *XL
# Example 2
setDontUseCell DEL*
See Also
unsetDontUseCell
1308
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
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
1309
Argument
Description
-set
netNamesOrPatterns
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
-effort high|medium|low
Argument
Description
-file filename
-holdTargetSlack value
-maxDensity value
-setupTargetSlack value
-tnsOptimize true|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.
1311
Syntax
setOption [group_name] [variable_name]
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
group_name
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
-threadNum integer
-useGR
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
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]
1313
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-default
-nets string
-rule string
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
Description
-addInverseRoutingDirBox string
-allLayers
-allowBridge
1315
1316
Argument
Description
-crossViaOnly
-disallowBridge
-disallowWireTouchPin
-doubleVia
-dumpNetConstraint string
-excludeNetsForPinFT string
-fromLayer
-HHViaOnly
-info
-inverseRoutingLayerDir
-layers string
-maxEscapeLength double
Argument
Description
-maxEscapeLengthByPitch integer
-maxLayer string
-maxSegmentLength value
-maxWireLength value
-maxWrongWayLength double
-minLayer string
1317
1318
Argument
Description
-nets string
-nonCrossViaOnly
-noPinFeedThrough
-numOfRunThread integer
-parallelRoute
-preferHHVia
-preferVVVia
-reset
-resetDisallowWireTouchPin
-resetDoubleVia
-resetEscape
-resetExcludeNetsForPinFT
Argument
Description
-resetIgnoreInCellViolation
-resetInverseRoutingDirBox
-resetInverseRoutingLayerDir
-resetNoPinFeedThrough
-resetRouteArea
-resetSpinePattern
-resetUseSpineOnChannel
-resetUseViaEnclosedByPin
-resetUseViaDir
-resetUseViaOnly
-resetViaPattern
-routeArea string
-setEscape
-setIgnoreInCellViolation
-spinePattern string
-toLayer
1319
Argument
Description
-userGrid double
-useSpineOnChannel
-useViaEnclosedByPin
-useViaOnly
-VVViaOnly
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
# 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
-fromLayer string
-info
-toLayer string
Examples
# Example 1
setRoutingLayer -fromLayer metal1 -toLayer metal4
# Example 2
setRoutingLayer -clear
# Example 3
setRoutingLayer -info
1321
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
-clear
-curRouterTrack
-dir H | V
-info
-layers string
-pitch value
-start value
Examples
# Example 1
setRoutingTrack -start
M5 M9 }
# 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 }
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
1323
Argument
Description
-all
-cutSpacing
-doubleViaInSignalNet
-enclosureEdge
-endOfLine
-fatSpacing
-gap
Check gaps.
-minArea
-minCut
-minEdges
-minEnclosedArea
-minGrid
-minSpacing
-minWidth
-notch
Check notches.
1324
Argument
Description
-outOfBoundary
-reverse
-short
-standardCellPinAccess
-varLayer
-varSpacing
-varVia
-varWidth
-viaStacking
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
Returns
The HPWL information is returned.
Arguments
Argument
Description
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
Examples
# Example 1
synthesizeClockTree
1326
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
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.
1327
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
-autoVarRule
Argument
Description
-cadence | -synopsys |
-magma | -springSoft
-designName
design_name
-keepMetalFill
-noRoutes
-rectDrcfill
-skip1PinNets
-skipUnplacedInsts
-stripBackSlash
ONCE | ALL | once | all
Examples
# Example 1
writeDef my.def
# Example 2
writeDef my.def -magma -ver 5.7
See Also
readDef
1329
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
-dumpMetalFill
-format
(db | verilog | def)
-gzip
-keepDanglingNet
-output
newCell_or_fileName
Argument
Description
-refLib refLibName
-techVia
Write the vias defined in the LEF file to the output DEF
file.
-tieHigh tieHighNet
-tieLow tieLowNet
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
1331
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
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
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-inputPortNets
-outputPortNets
-sdf3
-sig precision
-view viewName
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
Examples
# Example 1
writeSpareCellFile -name new_spare.list
1333
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)
-ap single_analysis_point
-format
spef | dspf | rspf | sbpf
-max max_analysis_point
-min min_analysis_point
-noNameMap
-typ typ_analysis_point
Examples
# Example 1
writeSpef
1334
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
-cadence | -synopsys |
-magma | -springSoft
-incPGPorts
-incPhysicalOnly
-newTopModule
top_module_name
-skipFillerByCell
cell_master_name
1335
Argument
Description
-skipFillerByInst
inst_name
-skipPad
-skipSpare
-skipTieOff
Examples
# Example 1
writeVerilog myOut.v
# Example 2
writeVerilog myOut.v -cadence -skipFillerByCell FILL4 \
-newTopModule myTop
See Also
readVerilog
readDef
1336
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
1337
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
Syntax
lakerAssociate [-overwriteInst 0|1 | -overwriteNet 0|1]
Returns
None
Arguments
Argument
Description
-overwriteInst 0|1
-overwriteNet 0|1
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
1339
Returns
None
Arguments
Argument
Description
-net net_name_list
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
Argument
Description
-fixValueMode 0|1
-honorMOSMfactor 0|1
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
1341
Arguments
Argument
Description
-extendGate
extendGateMode
-fixValueMode 0|1
-honorMOSMfactor 0|1
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
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
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
1343
Arguments
Argument
Description
-callback
Tcl_callback
-gui 0|1
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
Arguments
Argument
Description
-mode probe_mode
-relatedSchematic 0|1
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]
1345
Returns
None
Arguments
1346
Argument
Description
-area priority
-boundary
options
-power
locality
-ratio priority
-ratioValue
floatNum
-topology 0|1
-wireLen
priority
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.
1347
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
-cap
capHaloVal
-diode
diodeHaloVal
-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
-inductor
inductorHaloVal
-inst
instHaloVal
-length
floatNum
-mos
mosHaloVal
-multiplier
floatNum
Argument
Description
-ratio
floatNum
-res
resHaloVal
-width
floatNum
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
1349
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
-instname
input_instances
-netname
input_nets
Examples
# Drop the dragged data to the Design Browser pane
lakerDsgDrag
lakerSchBroDrop
See Also
Design Browser: Drop
lakerDsgDrop
lakerSchLayInstMap
1350
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
-mode {mode}
Examples
# Save the information from the Design Browser pane to
# demo.map in the log directory
lakerSchBroDump -file demo.dmp
See Also
lakerSchLayInstMap
1351
lakerSchChgGridMode
The lakerSchChgGridMode command changes the showing mode of the
Design Browser pane.
Syntax
lakerSchChgGridMode -mode ShowType
Returns
None
Arguments
Argument
Description
-mode ShowType
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
Arguments
Argument
Description
-item
mappingList
-showOnly
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
Arguments
Argument
Description
-file saveFile
Dump the model map file with the current cell mappings to
a file.
-item
mappingLst
-showOnly
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
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
-inst instName
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
1355
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
Arguments
Argument
Description
-cmpHierarchy 0|1
-dumpMapInfo 0|1
-file filename
-groupDis 0|1
-groupInst 0|1
-inst
Examples
# Save the discrepancy result to the file (diff.rpt)
lakerSchCompare -file diff.rpt
1357
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
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
-mode mode
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.
1359
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
-item instanceList
Argument
Description
-seqNum
SequentialNumberList
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
-selItem SelectIt
1361
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
-scope scopeName
Examples
# flatten one level for xAnd1, xAnd2 instances
lakerSchFlattenAll -scope gor -insts xAnd1 xAnd2
See Also
dbSchFlatten
lakerSmashObj
Design Browser: Flatten
1362
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
-insts instList
-scope scopeName
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
1363
Returns
None
Arguments
Argument
Description
-insts instList
-scope scopeName
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
-name groupName
Argument
Description
-type groupType
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
1365
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
-mode inst_Net
-name instance_Scopt
-fromSource 0|1
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
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
-hierInstMap
hierInstMap
-hierNetMap
hierNetMap
1367
Argument
Description
-instname
instName
-insts
instList
-mapCell
mappingCell
-mapLib
mappingLib
-mapView
mappingView
-parameterMap
parameterMap
-portMap
mappingPort
-replace 0|1
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
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
1369
Arguments
1370
Argument
Description
-arrayMode 0|1
-autoMapInfo
fileName
-cellPrefix
cellNamePrefix
-colDoubleBack 0|1
-cols colsNum
-colSpace
colSpace
-dumpTip
fileName
Specify the file to save the dumped tips. The default file
name is MismatchTip.log.
-end
-flipCol 0|1
-flipRow 0|1
-instPrefix
instNamePrefix
Argument
Description
-mapCell
mapCellName
-mapInfo
mapInfoList
-mapLib
mapLibName
-mapView
mapViewName
-mode mode
-orient
orientationList
-patternCell
patternCellName
-patternLib
patternLibName
-patternView
patternViewName
1371
Argument
Description
-point pointList
-realizeToLayout 1
-rearrangeMaster
0|1
1372
-rows rowsNum
-rowSpace
rowSpace
-selObj 0|1
-start
-typeIn 0|1
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
1373
Arguments
Argument
Description
-item instanceList
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
Arguments
Argument
Description
-align alignment
-constFile fileName
-honorSoftPin 0|1
-point (x0,y0)
-ruleSet ruleName
-traversedist dist
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]
1375
Returns
None
Arguments
Argument
Description
-all
-item itemList
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
Examples
# change the scope of the source tree to CPU.x_iALU
lakerSchSelectTreeNode -scope CPU.x_iALU
1376
lakerSchSetActiveTree
The lakerSchSetActiveTree command changes the active tree in the
Design Browser pane.
Syntax
lakerSchSetActiveTree -wnd activeWnd
Returns
None
Arguments
Argument
Description
-wnd activeWnd
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
1377
Argument
Description
-mode mode
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
-ySpacing nYSpace
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
Examples
# cancel the mn11, mn12 group information
lakerSchUngroup -item mn11 mn12
See Also
Design Browser: Ungroup
1379
1380
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
1381
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
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
1383
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
Description
-abutDiffDevice 0|1
-abutDiffWidth 0|1
-abutSameDevice 0|1
-close
1385
Argument
Description
-createPeriDummy 0|1
-enableAbutDevice 0|1
-enablePostProc 0|1
-enableSpacingProc 0|1
-enableTransitionRule 0|1
-getSelected logic
-loadConstraint 0|1
-param {{param1
value1}{param2 value2}...}
-patternName
patternName
-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
Argument
Description
-postProcName
newPostProcName
-preview
-quickFormat quickFormat
-quickFormatOptOD 0|1
-realize
-repeatCol colNum
-repeatPatCol colNum
-repeatPatRow rowNum
-repeatPatSeq Z0|Z1
-repeatRow rowNum
1387
Argument
Description
-setSwappedPort none |
all | {pos {{nRow1 nCol1}
{nRow2 nCol2} {nRown
nColn}} | {list gridList}
-spacingProcName
newSpacingProcName
1388
Argument
Description
-xBoundaryInfo {layer
purpose}
-xSpacing xSpacing
-yBoundaryInfo {layer
purpose}
-ySpacing ySpacing |
{ySpacing1 ySpacing2 ...
ySpacingn}
1389
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
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
Arguments
Argument
Description
-inst instName1
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
-odSharing 0|1
1391
Argument
Description
-width type
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
1392
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
-length type
-nf one|adj
-ODSharing 0|1
-ring num
-width type
1393
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
-strip StripNum
-trackregion TrackRegionNum
Examples
lakerMchAdjustTrack -strip 1 -pin 2 -trackregion 7
See Also
Matching Device Creator: Router
1394
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
1395
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
Syntax
lakerMchAreaZoom -point (x1,y1) (x2,y2)
Returns
None
Arguments
Argument
Description
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}
1397
Argument
Description
-crossSDViaOn
crossSDViaOnType
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
Examples
lakerMchChainSerialRes -pattern S1
See Also
Matching Device Creator: Edit > Chain Serial Resistor
1398
lakerMchChangeOrient
The lakerMchChangeOrient command changes the placement orientation
of transistors or instances.
Syntax
lakerMchChangeOrient -orient orient
Returns
None
Arguments
Argument
Description
-orient orient
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
1399
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
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
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.
1401
Syntax
lakerMchDelete [-pos (x1,y1) (x2,y2) (x3,y3)]
Returns
None
Arguments
Argument
Description
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
Examples
# Example 1
# Delete the pattern named test
lakerMchDeletePattern -name test
1402
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
1403
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
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
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
-copy 0|1
-RowOffset RowOffset
1405
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
-setUserMatchFile
Examples
lakerMchExportPattern -file myPatternFile -setUserMatchFile
See Also
Matching Device Creator: Pattern > Export
1406
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
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
1407
Arguments
Argument
Description
-topDown 0|1
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
Syntax
lakerMchImportPattern -file matchFile [-setUserMatchFile]
Returns
None
Arguments
Argument
Description
-file matchFile
-setUserMatchFile
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
1409
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
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
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
1412
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
-pin PinNum
-strip StripNum
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
1413
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
Returns
None
Arguments
Argument
Description
-ratio pan_ratio
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
Examples
lakerMchPanLeft
See Also
Matching Device Creator: Mouse Operations
1415
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
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
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
1417
1418
Argument
Description
-autoResDummy 0|1
-autoTxDummy 0|1
-createDummyCapByValue
0|1
-dummyCapNetName
netname
-dummyCapValue [float]
-dummyCapWidth [float]
-dummyNMOSGateNet 0|1
-dummyNMOSSDNet 0|1
-dummyNMOSSDNetName
netname
Argument
Description
-dummyPMOSGateNet 0|1
-dummyPMOSSDNet 0|1
-dummyPMOSSDNetName
netname
-dummyResNetName
netname
-dummyResSegNum
[natural int]
-dummyResWidth [float]
-dummyTxGateLength
LengthType
-dummyTxGateWidth
WidthType
1419
Argument
Description
-dummyTxSingleGateNum
[natural int]
-odSharing 0|1
-shortAllResDummy 0|1
Examples
# Example 1
# Set the preferences for dummy MOS devices with adjMax
# length and adjMin width
lakerMchPreference -dummyTxGateLength adjMax \
-dummyTxGateWidth adjMin
1420
# 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]
1421
Returns
None
Arguments
Argument
Description
-fixed 0|1
-optimizeOD 0|1
-pattern {pattern}
-select 0|1
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
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
-netName
startNetName
-pattern
chainPattern
-shortestRows 0|1
1423
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
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
-rename newName
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.
1425
Syntax
lakerMchRefUnit -value value -width width -length length mode refUnitMode
Returns
None
Arguments
Argument
Description
-length length
-mode
refUnitMode
-value value
-width width
Examples
lakerMchRefUnit -value 100 -width 10 -length 5 -mode valueWidth
See Also
Matching Device Creator: Reference Unit Setting
1426
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
-row row
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
1427
Argument
Description
-row row
-seq seqString
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
lakerMchSelDevice
The lakerMchSelDevice command selects the Device List on the left.
Syntax
lakerMchSelDevice -inst instName1
Returns
None
Arguments
Argument
Description
-inst instName1
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
1429
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
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
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.
1431
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
Description
-crossB2GSpacing
{B2G spacing value string}
-crossConvertToPolygon 0|1
-crossSDViaOn Pin|Channel
-crossUseB2GSpacing 0|1
1433
Argument
Description
-extendWire 0|1
1434
-ignoreSingleConnNet 0|1
-load
Argument
Description
-netrule {$net1name
{$const1 $value}
{$const2 $value} ... }
{$net2name {$const1 $value}
{$const2 $value} ...}
-overTxAliType $value
-save
1435
Argument
Description
-setting_type1 [value]
-setting_type2 [value]
-useCross 0|1
-useMBB 0|1
-VFeedthrough 0|1
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
# 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.
1437
Syntax
lakerMchSetRemNum -num remNo
Returns
None
Arguments
Argument
Description
-num remNo
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
Examples
lakerMchSetTopology -status 2P1S
lakerMchSetUnitNum
The lakerMchSetUnitNum command specifies the number of capacitor
units.
1438
Syntax
lakerMchSetUnitNum -num unitNo
Returns
None
Arguments
Argument
Description
-num unitNo
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
Examples
lakerMchShareOD 1
See Also
Matching Device Creator: Cell > Share OD
1439
lakerMchSize
The lakerMchSize command defines the pattern structure.
Syntax
lakerMchSize -row row -col col
Returns
None
Arguments
Argument
Description
-col col
-row row
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
-YSpace YSpace
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
1441
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
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
1443
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
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
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
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
1445
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
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.
1447
1448
When -attr objList is specified, returns all instance names in the same
matching group. For example, M1 or {M1 M2}.
1449
Description
-attr attrName
1450
Argument
Description
-attr attrName
-connection portName
-constParam paramName
1451
Argument
Description
-device deviceName
-getSelected logic
-param paramName
-pattern patternName
1452
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
1453
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
-ODSharing 0|1
-param matchPattern
-repeatCol repeatCol
-repeatRow repeatRow
-XSpace xSpace
Argument
Description
-YSpace ySpace
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
1455
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
-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
1456
Argument
Description
-connection portName
-cvId cellviewId
-name
-obj instId
-param paramName
-param pos|col|row
-size row|col
1457
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
69e540c
2}
69e540c
-param pos
69e540c
-param row
-param col
See Also
Figure 3
1459
1460
12
12
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
1461
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
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
-lengthType lengthType
-odSharing 0|1
1463
Argument
Description
-widthType widthType
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
Arguments
Argument
Description
-mode mode
Examples
#
#
#
#
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.
1465
Syntax
lakerSkAreaZoom -point (x1,y1) (x2,y2)
Returns
None
Arguments
Argument
Description
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
Arguments
Argument
Description
-gateNumbers
Specify the number of dummy gates with the
numberSingle numberMulti following values:
numberInner
-lengthType lengthType
1467
Argument
Description
-odSharing 0|1
-widthType widthType
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
Arguments
Argument
Description
-mode 0|1
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
1469
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
Argument
Description
-obj modelName packIdx Specify the master name of transistor packs and a
pack number:
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
1471
Arguments
Argument
Description
-glue glueNumber
-obj modelName packIdx Specify the master name of transistor packs and a
pack number:
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
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
1473
Argument
Description
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
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
-glueNo glueNo
-maxFin maxFin
-maxWidth maxWidth
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
lakerSkFuse
The lakerSkFuse command joins two transistor packs together.
Syntax
lakerSkFuse -mode mode -point selectObjPos -traversedist
traverseDist
Returns
None
Arguments
Argument
Description
-mode mode
-point selectObjPos
-traversedist traverseDist
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
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
-optimize 0|1
1477
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
-glueNo glueNo
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
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
1479
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
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
1481
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
-autoGroupLayout 0|1
-gateLabel mode
Examples
# Example 1
lakerSkPreference -gateLabel net
# Example 2
lakerSkPreference -autoBreakFinger 1
See Also
Stick Diagram Compiler: Options > Preferences
1482
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
1483
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
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
1485
Arguments
Argument
Description
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
-swapGateNo
fromGlueNo toGlueNo
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.
1487
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
1488
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
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
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
1491
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
-topWnd winId
Examples
adpChangeMode -topWnd _adp2
1492
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
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
1493
Arguments
Argument
Description
-copy copyNumber
-file filename
-fitpage
-footer footercomment
-Inverse
-orient orientation
-paper paperSize
-printer printerName
-type printType
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
Syntax
adpDsgCheckSaveCmd -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-topWnd winId
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
1495
Argument
Description
-dmCVCkin 0|1
-dmCVCkout 0|1
-topWnd winId
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
Arguments
Argument
Description
sessionFile
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
-addSerial level
-color
-dir outputDir
1497
Argument
Description
-file fileName
Specify the output file. Valid file extensions: *.ps and *.pdf.
-footer Footer
-header Header
-orient orientation
-pageNum
-paper paperSize
-printer
printerName
-printLevel
printLevel
-printRegion
printRegion
-topWnd winId
-type fileType
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
# 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
-topWnd winId
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]
1499
Returns
None
Arguments
Argument
Description
-cell cellName
-lib libName
-view viewName
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
Examples
adpDsgSaveSession test.ses
1500
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
-scope scope
-topWnd winId
-value value
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}
1501
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
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
Examples
# Reload data from database
adpSynchronize -topWnd _adp2
See Also
Cell > Synchronize
1503
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
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
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.
1505
Syntax
adpDsgPanLeft [-ratio ratio]
Returns
None
Arguments
Argument
Description
-ratio ratio
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
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
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
1507
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
-port full_port_path
-topWnd winId
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
Argument
Description
-scope scopeName
-topWnd winId
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
-topWnd winId
Examples
adpDsgPushViewIn -topWnd _adp2 -inst 4_bit_mux2.I4
See Also
View > Push View In
adpDsgRedraw
The adpDsgRedraw command redraws the current view area.
1509
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
Syntax
adpDsgZoomFit -topWnd winId
Returns
1 if successful; otherwise, returns 0.
Arguments
Argument
Description
-topWnd winId
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.
1511
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
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.
1513
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
-createcdsTerm
-dotSize dotSize
-fontheight
fontHeight
-fontStyle
fontStyle
-height height
-justify
justification
-offset offset
Argument
Description
-origin origin
-pinDistance
pinDistance
-pinLength
pinLength
-rotate rotate
-side side
-width width
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
1515
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
-fontStyle fontStyle
-justify justification
-netName netName
-orient orientation
-point (x0,y0)
-prop propName
-topWnd winId
Examples
adpDsgAddNetExpr -topWnd _adp2 -prop n2vdd -netName qq! \
-point (0.375,0.5625) -justify LowerLeft -orient R0 \
-fontStyle TTAGothFont -fontheight 0.0625
1516
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
-expand 0|1
-instName instName
-point (x0,y0)
-topWnd winId
Examples
adpDsgAssignInstName -topWnd _adp2 -expand true -instName A1
-point (478,1229) -excludeBracket true
See Also
Create > Assign Instance Name
1517
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
-inst instNameArray
-pattern patternName
-pinName
Assign a net name for the created wire. The net name
is the same as the associated pin.
-select
-sysNetName
-topWnd winId
-userDefined
-whole
Argument
Description
-wireLength Num
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
-filter string
Specify a net label filter to exclude the net name with the
specified prefix. The default prefix is N_.
-fontheight
fontHeight
-fontStyle
fontStyle
1519
Argument
Description
-topWnd winId
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
-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
Examples
adpDsgCreateArcCom -topWnd _adp2 -point \
(-390,210) (-200,120) (-260,240)
1520
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
-point (x0,y0)
-topWnd winId
-value value
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]
1521
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument
Description
-layer LayerName
-topWnd winId
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
-columns columnsNo
-inst instName
Argument
Description
-lib libName
-point (x0,y0)
(x1,y1) (x2,y2)...
-rows rowsNo
-topWnd winId
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
-topWnd winId
1523
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
-lib libName
-num sheetNum
-topWnd winId
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
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
-topWnd winId
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.
1525
Arguments
Argument
Description
-cell ipin|opin|iopin
-point (x0,y0)
-portName portName
-topWnd winId
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
-layer LayerName
-topWnd winId
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
-createcdsTerm 0|1
-topWnd winId
Examples
adpDsgCreateSymbol -topWnd _adp2
See Also
Create > Generate Symbol
adpDsgCreateTextCom
The adpDsgCreateTextCom command returns a dbFigId if the specified text
label can be created.
1527
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
-file fileName
-fontheight
fontHeight
-fontStyle
fontStyle
-justify justification
-layer LayerName
-orient orientation
-point (x0,y0)
-style style
-text {text}
-topWnd winId
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
-cellData cellData
-file fileName
1529
Argument
Description
-column numColumns
-fontHeight fontHeight
-fontStyle fontStyle
-height height
-rotate 0|1
-row numRows
-table tableName
-title title
-titlePos titlePosition
1530
Argument
Description
-topWnd winId
-width width
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
-fontheight
fontHeight
1531
Argument
Description
-fontStyle
fontStyle
-netName
netName
-placeObj
placeObj
-justify
justification
-orient
orientation
-point (x0,y0)
-refpoint (x0,y0)
-topWnd winId
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
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
-topWnd winId
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
1533
Argument
Description
-topWnd winId
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
-direction direction
-order order
-pinName pinName
Argument
Description
-side side
-style style
-topWnd winId
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
1535
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
-orient orientation
-point (x0,y0)
Argument
Description
-refPoint (x1,y1)
-RenameNetLabel
-rows rowsNo
-topWnd winId
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
1537
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
-inst instanceName
Argument
Description
-prvalue prvalue
-topWnd winId
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.
1539
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
-point (x0,y0)
-refPoint (x1,y1)
-topWnd winId
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
-orient orientation
-point (x0,y0)
-RenameNetLabel
-topWnd winId
1541
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
Arguments
Argument
Description
-point (x0,y0)
-topWnd winId
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)
-topWnd winId
Examples
adpDsgRotateRight -topWnd _adp2 -point (490,670)
See Also
Edit > Rotate 270
1543
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
-topWnd winId
Examples
adpDsgStretch -topWnd _adp2 -point (250, 170) -refpoint (180, 140)
1544
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
-extendPort
-extendWire
-lock
-orient orientation
1545
Argument
Description
-routeMode
routeMode
-topWnd winId
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
-scope
-topWnd winId
Examples
adpDsgSwitchPage -topWnd _adp2 -pageName a2 -scope
See Also
Edit > Sheet
1546
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)
-RenameNetLabel
1547
Argument
Description
-topWnd winId
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
Arguments
Argument
Description
-gridResolution value
-major value
-snapGridResolution
snapGridResolution
-topWnd winId
-type type
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
1549
Argument
Description
-lineStyle lineStyle
-name attrName
-stipple stippleType
-topWnd winId
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
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
-add
-cell cellName
-common
-del
-direction direction
-inst instName
-label {netLabelName|
annotationText}
-lib libName
-net net
-net netName
-newname newname
1551
1552
Argument
Description
-oldname oldname
-point (x0,y0)
-port portName
-prname promptName
-topWnd winId
-updateCB procname
-width lineWidth
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.
1553
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
-noGUI
-regular 0|1
-scope scopeLevel
-searProp searchProp
-topWnd winId
-type searchType
-value value
Argument
Description
-zoomToSelectSet 0|1
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
-cell cellName
-delete
-lib libName
-prname propName
1555
Argument
Description
-propAttr
{{name} {type} {value}}
-topWnd winId
-value {{propName}
{typeName} {valueName}}
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
Returns
None
Arguments
Argument
Description
-case 0|1
-inst instName
-noGUI
-repProp replaceProp
-row rowNumber
-regular 0|1
-scope scopeLevel
-searProp searchProp
-topWnd winId
-type searchType
1557
Argument
Description
-value value
-zoomToSelectSet 0|1
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
-dump 0|1
-delete inputNetName
Argument
Description
-file filename
Specify the ASCII file with its full path. This is only used
with the -dump argument.
-level level
-netName netName
-topWnd winId
-zoomToHighLighSet 0|1
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
1559
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
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
-proc procName
-ruleName ruleName
-ruleSetting ruleSetting
-shortMsg shortMsg
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
1561
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
-message message
-objects oaBlockObject
-polygon points
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
Syntax
adpDsgCheckCurrentCell [-dump fileName]
Returns
None
Arguments
Argument
Description
-dump fileName
-topWnd winId
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
Examples
adpDsgCheckTop -dump
See Also
Check > Current Cell
1563
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
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
Arguments
Argument
Description
-scope scopeView
-severity setting
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 |
1565
Description
-all 0|1
-chkBiPin | setting
-chkConnectionSizeMismatch |
setting
1566
Argument
Description
-chkDupCellName | setting
-chkDupName | setting
-chkforce 0|1
-chkImplcitRepeatNets | setting
1567
Argument
Description
-chkInconPortPad | setting
-chkInconSymbol | setting
-chkInPin | setting
1568
Argument
Description
-chkIOPort | setting
-chkMulPin | setting
-chkNet | setting
1569
Argument
Description
-chkNetLabelConflict | setting
-chkOnly 0|1
-chkOutPin | setting
-chkOverInst | setting
1570
Argument
Description
-chkPowGndShort | setting
-chkPowGndShortIO | setting
-chkShort | setting
1571
Argument
Description
-chkShortNets | setting
-chkUndefinedSymbol | setting
1572
Argument
Description
-chkWire Setting
-ruleSetting RuleSetting
-severityType Type
-stopExport 0|1
Enable 0|1
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
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
-mode Cell|Select
-topWnd winId
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
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
-topWnd winId
Examples
adpCrossProbe -topWnd _adp2 -mode 1
See Also
Tools > Cross Probing
1575
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
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
Argument
Description
-alter alterName
-data dataName
-file simulationFile
-load 0|1
-netlist netlist
-sim simType
-time time
-topWnd winId
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
1577
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
-foldNotation value
1578
-mode mode
-reducedRC
-topWnd winId
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
1579
Arguments
1580
Argument
Description
-dc 0|1
-dcapa 0|1
-dcbjtbreak 0|1
-dcbjtbreakeq 0|1
-dcbjtbreakeqtxt {text}
-dcbjtoff 0|1
-dcbjtoffeq 0|1
-dcbjtoffeqtxt {text}
Equation text string for the Off region for BJT devices.
Valid value: any text string.
-dcbjton 0|1
-dcbjtoneq 0|1
Argument
Description
-dcbjtoneqtxt {text}
-dcbjtrev 0|1
-dcbjtreveq 0|1
-dcbjtreveqtxt {text}
Equation text string for the rev region for BJT devices.
Valid value: any text string.
-dcbjtsat 0|1
-dcbjtsateq 0|1
-dcbjtsateqtxt {text}
-dcbjtuser 0|1
-dcbjtusereq 0|1
-dcbjtusereqtxt {text}
-dcbreak 0|1
1581
1582
Argument
Description
-dcbreakeq 0|1
-dcbreakeqtxt {text}
-dccut 0|1
-dccuteq 0|1
-dccuteqtxt {text}
-dclinear 0|1
-dclineareq 0|1
-dclineareqtxt {text}
-dcregion 0|1
-dcsaturi 0|1
Argument
Description
-dcsaturieq 0|1
-dcsaturieqtxt {text}
-dcsubth 0|1
-dcsubtheq 0|1
-dcsubtheqtxt {text}
-dcuser 0|1
-dcusereq 0|1
-dcusereqtxt {text}
-dcvolt 0|1
-topWnd winId
1583
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
-topWnd winId
Examples
adpDsgShowDCOPValue -topWnd _adp2 -display 1
See Also
Tools > Annotate OP
1584
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
-topWnd winId
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.
1585
Arguments
Argument
Description
-display 0|1
-topWnd winId
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
Examples
adpDsgToolAna -topWnd _adp2
See Also
Tools > Waveform Analyzer
1586
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
1587
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
-topWnd winId
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
Returns
{x1, y1} {x2, y2} if successful; otherwise, returns TIMEOUT if -timeout
is specified; otherwise, returns nothing.
Arguments
Argument
Description
-timeout time
-topWnd winId
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
Examples
# Example 1
adpDsgEnterLine -topWnd _adp2
# the return values can be {100, 200} {100, 300} {200, 300}...
1589
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
-topWnd winId
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
Arguments
Argument
Description
-timeout time
-topWnd winId
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
-topWnd winId
Examples
# Example 1
# get physical shapes/objects
adpDsgGetSelect -topWnd winId
# Example 2
# get logical shapes/objects
adpDsgGetSelect -topWnd winId -logic
1591
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
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
-topWnd winId
Examples
adpDsgSetSelect -topWnd _adp2 -seltab 30f1f28
1592
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
-label
-layer LayerName
-lib libName
-shape
-sheet sheetNum
-view viewName
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
1594
Argument
Description
-delimiter delimiter
-dump fileName
Specify the file name to dump the results. The default file
name is adpGetCurrentHierName.log.
-netlist netType
-top 0|1
-obj objectId
-topWnd winId
-trimtop 0|1
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
1595
# 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
-dump fileName
-inst
-net
-netlist netType
-port
-topWnd winId
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
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
1597
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.
1598
-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
-borderWidth width
-cell cellName
-fixSize
-lib libName
1599
Argument
Description
-offset offset
-placeX value
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
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
1601
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
-topWnd winId
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
Syntax
symDiscardEdit -topWnd winId
Returns
None
Arguments
Argument
Description
-topWnd winId
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
Examples
symDsgCheckSave -topWnd _adp2
See Also
Cell > Check and Save
1603
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
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
Examples
# save the activated design to database
symDsgSave -topWnd _adp3
1604
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
-topWnd winId
-view viewName
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
1605
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
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
Arguments
Argument
Description
-topWnd winId
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
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
1607
Returns
None
Arguments
Argument
Description
-topWnd winId
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
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
Syntax
symDsgZoomFit -topWnd winId
Returns
None
Arguments
Argument
Description
-topWnd winId
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
Examples
# zoom in the view area by 1/2 of the Symbol Editor window
symDsgZoomIn -topWnd _adp3
See Also
View > Zoom In
1609
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
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
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
-fontStyle fontStyle
-justify justification
-netName netName
-orient orientation
-point (x0,y0)
1611
Argument
Description
-prop propName
-topWnd winId
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
-point
(x0,y0) (x1,y1) (x2,y2)
-topWnd winId
Examples
symDsgCreateArc -topWnd__adp2 \
-point (-390,210) (-200,120) (-260,240)
1612
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
-topWnd winId
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
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
-mini 0|1
-orient orientation
-point (x0,y0)
-topWnd winId
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
Arguments
Argument
Description
-layer layer
-point (x0,y0)
-topWnd winId
-value value
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
-layer layer
-topWnd winId
Examples
symDsgCreateEllipse -topWnd _adp2 -bbox (730,400) (1000,530)
1615
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
-point (x0,y0)
-topWnd winId
-value value
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
Syntax
symDsgCreateFillPolygon -topWnd winId -point
(x0,y0)(x1,y1)... -layer layer
Returns
A dbFigId if successful; otherwise, returns nothing.
Arguments
Argument
Description
-layer layer
(x0,y0) specifies the starting point of the filledpolygon while (x1,y1) specifies the second point,
etc.
-topWnd winId
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.
1617
Arguments
Argument
Description
(x0,y0) specifies the lower left corner of the filledrectangle while (x1,y1) specifies the upper right
corner.
-layer layer
-topWnd winId
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
-topWnd winId
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
-expand 0|1
-fontStyle fontStyle
-globalType type
1619
Argument
Description
-orient orientation
-pinName pinName
-pinNameAlign mode
-pinType pinType
-placeObj type
-point (x0,y0)
-setGlobal setGlobal
-topWnd winId
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
Arguments
Argument
Description
-layer layer
-topWnd winId
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
-layer layer
-topWnd winId
Examples
symDsgCreateRect -topWnd _adp2 -bbox (-80,610) (-40,660) \
-layer adpBodyColor
Laker Tcl Reference Manual
K-2015.06
1621
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
-fontStyle fontStyle
-justify justification
-label {string}
-layer layer
-orient orientation
Argument
Description
-point (x0,y0)
-topWnd winId
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
1623
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
-point (x0,y0)
-refPoint (x1,y1)
-rows rowsNo
-topWnd winId
Examples
# Example 1
symDsgCopy -topWnd _adp2 -point (560,440) \
-refpoint (250,510) -rows 2 -columns 3
1624
See Also
Edit > Copy
symDsgDelete
The symDsgDelete command deletes the selected object(s).
Syntax
symDsgDelete -topWnd winId
Returns
None
Arguments
Argument
Description
-topWnd winId
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
1625
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)
-topWnd winId
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
Returns
None
Arguments
Argument
Description
-justify justification
-keepName
-orient orientation
-point (x0,y0)
-topWnd winId
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
1627
Arguments
Argument
Description
-point (x0,y0)
-topWnd winId
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)
-topWnd winId
Examples
symDsgMirrorY -topWnd _adp2 -point (40,0)
See Also
Edit > Mirror Y
1628
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)
-refPoint (x1,y1)
-topWnd winId
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
1629
Arguments
Argument
Description
-topWnd winId
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)
-topWnd winId
Examples
symDsgRotateLeft -topWnd _adp2 -point (490,670)
See Also
Edit > Rotate 90
1630
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)
-topWnd winId
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
1631
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
-point (x, y)
-refpoint (x, y)
-topWnd winId
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
Syntax
symDsgUndo -topWnd winId
Returns
None
Arguments
Argument
Description
-topWnd winId
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)
-topWnd winId
1633
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
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
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
1635
Argument
Description
-index index
-label {string}
-netName netName
-pinName pinName
-point (x0,y0)
-portDir portDir
-prop propName
-topWnd winId
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
Syntax
symDsgQueryFind -topWnd winId -type searchType -searProp
searchProp -case 0|1 -zoomToSelectSet 0|1
Returns
None
Arguments
Argument
Description
-case 0|1
-searProp searchProp
-topWnd winId
-type searchType
-zoomToSelectSet 0|1
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.
1637
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
-cell cellName
-delete
-lib libName
-prname propName
-propAttr {{name}
{type} {value}}
-topWnd winId
-value {{propName}
{typeName} {valueName}}
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
# 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
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
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
-nltermorder
netlistTermOrder
-topWnd winId
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
Argument
Description
-mode Cell|Select
-topWnd winId
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.
1641
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
Returns
None
Arguments
Argument
Description
-autoPopup 0|1
-autoUpdate 0|1
-caseSensInNetName case
-directManipulation 0|1
-snapCreate mode
-snapEdit mode
-topWnd winId
-viewsToCheck {viewlist}
1643
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
Arguments
Argument
Description
-lib libName
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
-topWnd winId
1645
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
Examples
symDsgGetSelect -topWnd _adp3
1646
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
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
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
1649
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
-lib libName
Examples
# Example 1
hedDsgSaveAs -lib test -cell top
See Also
Cell > Save As
1650
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
-lib libName
-stop 0|1
-viewList {viewList}
-viewToUse viewName
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
1651
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
-inst instName
-lib libName
-stop 0|1
-view viewName
-viewList {viewList}
-viewToUse viewName
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}
-viewList {viewList}
1653
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
-lib libName
-view viewName
Examples
# Example 1
hedDsgSetTopCell -lib test -cell top -view schematic
hedDsgUndo
The hedDsgUndo command reverses the last action performed.
Syntax
hedDsgUndo
1654
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
1655
1656
A
A
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.
1657
Figure 1
1658
Figure 2
1659
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
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
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
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