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.
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).