command line dieplot?

D

danmc

Guest
I'd like to be able to generate a command line dieplot with only
certain layers visible.

If I already have my cell view open in a running cadence session I can
do something like:


;; Set only METAL1 and 2 to be visible
leSetAllLayerValid( t )
leSetEntryLayer( '("METAL1" "drawing") )
leSetAllLayerVisible( nil )
foreach( layP list(
`("METAL1" "drawing")
`("METAL2" "drawing")
)

leSetLayerVisible( layP t )
leSetLayerSelectable( layP t )
) ; ** foreach layP **
hiRedraw()

;; plot using a template I created earlier
lePlot( "mytemplate.il")


the problem is when I want to run this skill code via '-replay' on the
command line. the LSW window isn't up so there is no current techfile
in it and the code which makes layers visible or invisible fails.

Surely there is a simply way but I can't seem to find the missing link.

Thanks
-Dan
 
danmc wrote:

the problem is when I want to run this skill code via '-replay' on the
command line. the LSW window isn't up so there is no current techfile
in it and the code which makes layers visible or invisible fails.
would it help to load the lsw.ctx with the loadContext command? Or use
some of the techFile* skill commands? I have never done this so I am
shooting from the hip in order to give you some ideas to work with.

--
Svenn
 
On 23 Aug 2006 16:41:34 -0700, "danmc" <spam@mcmahill.net> wrote:

I'd like to be able to generate a command line dieplot with only
certain layers visible.

If I already have my cell view open in a running cadence session I can
do something like:


;; Set only METAL1 and 2 to be visible
leSetAllLayerValid( t )
leSetEntryLayer( '("METAL1" "drawing") )
leSetAllLayerVisible( nil )
foreach( layP list(
`("METAL1" "drawing")
`("METAL2" "drawing")
)

leSetLayerVisible( layP t )
leSetLayerSelectable( layP t )
) ; ** foreach layP **
hiRedraw()

;; plot using a template I created earlier
lePlot( "mytemplate.il")


the problem is when I want to run this skill code via '-replay' on the
command line. the LSW window isn't up so there is no current techfile
in it and the code which makes layers visible or invisible fails.

Surely there is a simply way but I can't seem to find the missing link.

Thanks
-Dan
Is your code opening a window first? Perhaps you can give a more complete
example of what the replay file is doing - I assume you're only giving a subset?

Andrew.
--
Andrew Beckett
Principal European Technology Leader
Cadence Design Systems, UK.
 
Andrew Beckett wrote:

Is your code opening a window first? Perhaps you can give a more complete
example of what the replay file is doing - I assume you're only giving a subset?
Hi Andrew,

Actually my original intent was for that to be all of the replay file.
Of course the problem is if there is no LSW window, you can't set the
active layers. ddsServOpen() turned out to be the magic word.

This is what ended up working (the whole replay file):


;; Do this or you can't set which layers are visible!
ddsServOpen("mylib" "mycell" "layout" "read")

leSetAllLayerValid( t )
leSetEntryLayer( '("M1" "drawing") )
leSetAllLayerVisible( nil )
foreach( layP list(
`("M1" "drawing")
`("M2" "drawing")
)

leSetLayerVisible( layP t )
leSetLayerSelectable( layP t )
) ; ** foreach layP **
hiRedraw()

lePlot( "mytemplate.il")

-Dan
 

Welcome to EDABoard.com

Sponsor

Back
Top