I corrected your code as below:
let((cv layername) ;;You miss a bracket here
lelsLayerSelectable(list(layername "drawing") t)
Please have a try again
You appear to be missing a set of parentheses (or more? I
have not tested the code below, just inspected it "by hand" as it were)
procedure(CCSPowerPlot(pinlist)let((cv layername) cv=geGetEditCellView() foreach(pin pinlist foreach(shape cv~>shapes if(pin==shape~>net~>name then layername=car(shape~>lpp) lelsLayerSelectable(list(layername "drawing") t) hiRedraw() );if );foreach );foreach);let);procedure
I hope that this helps,Regards,Lawrence.
In reply to kbhow:
I miss out a bracket too.
Thanks for the help. The code is executing properly and it is returning "t" value. But it's not showing any changes in my layout. It is not selecting the respective layer.
I am passing my arguments in this way.
Is this the right way?...
In reply to Anupama:
Ya, from your code, you are passing the correct argument. By the way, may i know what are you trying to do. The Skill code looks nothing for me, it just check on the layer select-ablity on your input net.
My guess is that you forgot to add the call:
where you have the call to leIsLayerSelectable. In fact that function would only return whether the layer is selectable or not, and even then you're passing the second argument wrong (it needs to be a tech file id, or just miss it out since it's optional. Either way, you're doing nothing with the result. Perhaps you meant to use leSetLayerSelectable? (you'd still need the geSelectFig if you want it to actually select anything).
In reply to Andrew Beckett:
Yup .. Actually the program is just a small check to know whether the layer is selectable or not.
Actually , My requirement is : I have a pin list . I want to make visible of the net which is connected to that pin only. And I want other nets( of any metal layer) to be invisible. (And addition to this , I want to make visible of my basic layers: poly, n well, diffusion )
"Mark net" is a option to mark a net. But it doesn't switch off the other nets. I want to do it. I don't know how difficult to achieve it in skill. But I want to try it out. What I thought is , first I will take the pin- then will read corresponding net, its shape , its respective Metal layers. I want to select these layers and want to make visible of only this net's layer parts. Not other nets and its layers.
Can anyone suggest me, how I can achieve this? Is the right way I am going. Or Is there any other alternative or any already available resource is there to get my result..?
You will not be able to turn off the other nets if they are using the same material as your specified net. In other words, there is no way to show metal1 on your specified net and not show metal1 anywhere else. The nice thing about using something like mark-net is that is uses a separate hilight layer. You can then make all of your metals invisible and still see this hilight layer.
Once you start using Cadence 6.1, you could select the shapes on your net and use the "Dimming" feature on the Display Options form. This allows you to dim all layout except the selected layout. Thus, you could modify your skill code to select the shapes on a net. These shapes would be clearly visible while the rest of the layout was dimmed.