just used used your techinque to generate a single layer shield path.It
is working fine.But I also want to go for coaxial shielding for metal2
onward . I want the code such that depending on selected layer ,it
should overlap the shield path with higher metal layer with concerned
vias, and similarly with bottom metal layer.So can you help me how to
The same rodCreatePath command is used with all the sub parts. The side metal is two offsetSubPath, the top and bottom metal are encSubPath and the vias are subRect.The Virtuoso Relative Object Design User Guide has a good description on using these optional arguments. The descriptions there are much more than can be put into this forum.
I usually start by designing it interactively and then saving the template. This gives me something I can use to copy into my SKILL.
Thanks Ted.I have tried that option , but I am trying to write a code, to automatically selct the bottom layer and top layer and the corresponding vias concerned ,if we just selected the layer to draw the signal.Since I used the CCSslotMetal.il as a reference ,to pass the layer as a variable, iam pondering if we can use some flow control operation to do the job. By using layer variable, if we can perform some boolean operation to select higher level of metal and lower layer of metal and vias accordingly ,then I hope we can reach our goal.Can you help in me this regard.
You need to create a data structure which maps the routing layer to the top, bottom and via layers. This can be a table keyed on the drawing layer. The table value could be a disembodied property list which has the slots of topLayer, bottomLayer, topVia , bottomVia and the design rules or get the design rules from the techfile.
sheildTable = makeTable( "layers" nil)sheildTable["metal2"] = list( nil topLayer "metal3" topVia "via23" topRules list(.2 .2 .3 .01 .01) bottomLayer "metal1" bottomVia "via12" ....)
The table is keyed by the current layer, the value is then parsed to get the layers associated and the rules and then passed to the rodCreatePath. This information can be stored in the controls section of the techfile if necessary.