sesi
Guest
Tue Aug 31, 2010 4:55 pm
Hello all,
In Virtuso Layout how can I assign bindkey to the option
Edit -> Hierarchy -> flatten.
When ever I select a instance and press the bindkey in layout , I
want the instance to be flattened by displayed levels.
Thanks,
Regards,
Sesi.
Andrew Beckett
Guest
Sun Sep 26, 2010 4:16 pm
sesi wrote, on 08/31/10 14:55:
Quote:
Hello all,
In Virtuso Layout how can I assign bindkey to the option
Edit -> Hierarchy -> flatten.
When ever I select a instance and press the bindkey in layout , I
want the instance to be flattened by displayed levels.
Thanks,
Regards,
Sesi.
Sesi,
Don't you just assign the bindkey to be leHiFlatten() ?
Your requirements were not that clear.
If you want to give no form to the user, you could probably just write a wrapper
which does:
procedure(MYflatten()
foreach(obj geGetSelSet()
when(obj~>objType=="inst"
leFlattenInst(obj hiGetCurrentWindow()->stopLevel)
)
)
)
Note I didn't test this... it's written off the top of my head.
Regards,
Andrew.
sesi
Guest
Mon Sep 27, 2010 9:45 am
Hello Andrew,
Thank you very much for your reply,
Sorry for the late response ,
Yes actually I want to avoid opening the form ,
I am facing few problems with the MYflatten() function,
it is working only when we are in top level , if we are working in the
below levels its prompting an error
*Error* leFlattenInst: level must be greater than 0 - 0
And also how can I select the options Preserve ROd objects and
Flatten Pcells option in the function MYflatten() and also the option
onelevel instead of displayed levels (stopLevel).
procedure(MYflatten()
foreach(obj geGetSelSet()
when(obj~>objType=="inst"
leFlattenInst(obj hiGetCurrentWindow()->stopLevel)
)
)
)
Regards,
Sesi.
Andrew Beckett
Guest
Mon Sep 27, 2010 4:18 pm
sesi wrote, on 09/27/10 07:45:
Quote:
Hello Andrew,
Thank you very much for your reply,
Sorry for the late response ,
Yes actually I want to avoid opening the form ,
I am facing few problems with the MYflatten() function,
it is working only when we are in top level , if we are working in the
below levels its prompting an error
*Error* leFlattenInst: level must be greater than 0 - 0
And also how can I select the options Preserve ROd objects and
Flatten Pcells option in the function MYflatten() and also the option
onelevel instead of displayed levels (stopLevel).
procedure(MYflatten()
foreach(obj geGetSelSet()
when(obj~>objType=="inst"
leFlattenInst(obj hiGetCurrentWindow()->stopLevel)
)
)
)
Regards,
Sesi.
Sesi,
You could read the documentation on the leFlattenInst function? Here's the short
summary:
leFlattenInst(
d_instId
x_levels
[ g_flattenPCells ]
[ g_preservePins ]
[ g_preserveRODobjs ]
)
=> t | nil
Flattens instance d_instId up through x_levels of hierarchy.
You originally said that you wanted it to do it to the display levels - so of
course if it's 0, then it won't flatten anything. If you want it to do one
level, you'd pass 1 as the second argument rather then the
hiGetCurrentWindow()->stopLevel . And pass t/nil for the additional optional
arguments if you want to enable or disable those features.
Regards,
Andrew.