Added a "Place" button in the cell manager after realizing that
other commands like "Place Instance" and "Library Manager" do not track cells in the internal database, and so are unable to place a cell instance that does not have a corresponding file on disk (e.g., a cell read from GDS or LEF).
This commit is contained in:
parent
68a088943f
commit
dfe3a4defd
|
|
@ -34,6 +34,7 @@ proc magic::instcallback {command} {
|
|||
if { $cellpath == {} } {
|
||||
switch $command {
|
||||
load {$winname load $rootdef}
|
||||
place {$winname getcell $rootdef}
|
||||
default {
|
||||
magic::select top cell
|
||||
switch $command {
|
||||
|
|
@ -51,6 +52,7 @@ proc magic::instcallback {command} {
|
|||
|
||||
switch $command {
|
||||
load {$winname load $celldef}
|
||||
place {$winname getcell $celldef}
|
||||
default {
|
||||
# Here: need to check first for the select cell belonging to the
|
||||
# current loaded root cell (get the first use).
|
||||
|
|
@ -105,11 +107,14 @@ proc magic::makecellmanager { mgrpath } {
|
|||
button ${mgrpath}.actionbar.edit -text "Edit" -command {magic::instcallback edit}
|
||||
button ${mgrpath}.actionbar.load -text "Load" -command {magic::instcallback load}
|
||||
button ${mgrpath}.actionbar.expand -text "Expand" -command \
|
||||
{magic::instcallback expand}
|
||||
{magic::instcallback expand}
|
||||
button ${mgrpath}.actionbar.place -text "Place" -command \
|
||||
{magic::instcallback place}
|
||||
|
||||
pack ${mgrpath}.actionbar.load -side left
|
||||
pack ${mgrpath}.actionbar.edit -side left
|
||||
pack ${mgrpath}.actionbar.expand -side left
|
||||
pack ${mgrpath}.actionbar.place -side left
|
||||
pack ${mgrpath}.actionbar.done -side right
|
||||
|
||||
label ${mgrpath}.target.name -text "Target window:"
|
||||
|
|
|
|||
Loading…
Reference in New Issue