Question:Schematic hierarchy descend in place using skill

  • Thread starter tattvamasi@gmail.com
  • Start date
T

tattvamasi@gmail.com

Guest
All,
Using the following code to descend into the path
specified.
Used as : PVNdesPath("/I0/I1/I2"), where I0, I1,
I2 are instances in the hierarchy.
Output: Opens a new window of the final instance.

Problem:
Can we enhance this code to actually descend
recursively(in place) rather than open the last cell
in a new window? ( Just like schematic find does?)
Or is there a way that schematic find can be given
a hierarchy to find the instance?
I am unable to find any public functions that can
do descend using skill like schematic find does.
Please advice

procedure(PVNdesPath(path)
prog( (master nMaster pathList next)
master=geGetWindowCellView()
nMaster=nil
pathList=parseString(path "/")
foreach(instname pathList
next=dbFindAnyInstByName(master instname)~>master
nMaster=dbOpenCellViewByType(next~>libName
next~>cellName
"schematic")
master=nMaster
) ;foreach

geOpen(
?window hiOpenWindow()
?lib master~>libName
?cell master~>cellName
?view "schematic"
?viewType "schematic"
?mode "r"
)
); prog
) ;proc
 
Found out, using dePush.
Just in case anybody wants to use this piece of code.

Used as : PVNdesPath("I0/I1/I2"), where I0, I1, I2 are instances in the
hierarchy.
Output: Descends into I2 through the hierarchy

procedure( PVNinPlace(path)
let((fspec pathD patSofar)
fspec=ncons(nil)
pathD = "/"
patSofar = ""
foreach( pat parseString(path,pathD)
patSofar = strcat(patSofar pat "(schematic)/" )
)
fspec->hierarchy=patSofar
dePush(fspec hiGetCurrentWindow() "read" )
)
)
 
tattvamasi@gmail.com wrote:
Found out, using dePush.
Just in case anybody wants to use this piece of code.
Thanks for taking the time to help others by posting SKILL snippets!

I ran a quick CIW:Tools->SKILL->Survey and it's as clean as a whistle.
Ten functions were called, all of which are public, none of which have
changed or which have been deleted since IC441, no redefiend Cadence
functions were called, and only one user-defined function was defined,
which properly started with a capital-letter prefix (PVNinPlace). There
were no undefined functions (e.g., typos or dependencies on other
code). Excellent!

As an aside, in the Virtuoso IC61 release (aka the next DFII release
later this year), a user will be able to descend to any level of the
hierarchy from any level of the hierarchy by using a dockable Navigator
Assistant. This assistant lets a user descend into any level of the
hierarchy without going through intermediate levels (where an
"assistant" is its own window or applet which helps" a circuit or a
layout engineer performing a common task).

Good luck,
John Gianni
Nothing stated here is prior sanctioned nor reviewed by anyone else.
 

Welcome to EDABoard.com

Sponsor

Back
Top