I have developed a skill based pcell for a particluar device. One of the parameters for the pcell is a string which is the name of a cell in the library I am working. It works fine, but when I try copy these pcells into a diferent library I do not see these cells copied since cadence thinks they are just properties. The limitation I have with the code is I need to pass the names of the cells as parameters . When I do this I exprerience these problems. I would really appreciate if someone could tell me if there is a way around.
I don't entirely understand your problem. My guess is that when you're doing a hierarchical copy, it's not copying the child instances instantiated within the cellView. Is that it? If so, I don't think there's anything you can do except copy them manually yourself. The problem is that they are not referenced in the superMaster cellView for the pcell, and hence the copy engine won't see them (I expect; I didn't try this).
Yes, thats correct. I was actually copying them manually. But how do I make sure that they are referenced in the superMaster cellview? Does it happen by default?
The only way this could conceivably work (and I haven't tested this) is if the default parameters for the pcell mentioned the names of the components included underneath. That way the superMaster would reference the components because your pcell code would have evaluated to create them.
But that's unlikely to be useful, because presumably each instance could reference different components underneath.
For efficiency reasons the hierarchical copy (and various other hierarchical operations) use the parent-child data in each cellView to determine the children to copy. The alternative would be to do a full load of the cellView and elaboration of each pcell instance, to collect the children that way. That's not done (as it would be much more expensive), but the down side is that it will miss cases where you have instances of cells in pcells where the cellName of the instantiated device is controlled via a pcell parameter.
If you really want that, you'd have to contact customer support for an enhancement request to provide this (as an option). However, I'd say it's a pretty unusual case and a fairly major change to the way the copy is done, so there's not an enormous chance of it being implemented (unless there have been other customers asking for the same thing; I didn't check).