command line dieplot?

Discussion in 'Cadence' started by danmc, Aug 24, 2006.

  1. danmc

    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, Aug 24, 2006
    #1
  2. 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 Bjerkem, Aug 24, 2006
    #2
  3. 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, Aug 30, 2006
    #3
  4. danmc

    danmc Guest

    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
     
    danmc, Sep 1, 2006
    #4
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.