It looks like you're new here. If you want to get involved, click one of these buttons!
Hi Matthias,
When I am merging layouts, or copying layouts from other files, I would like to retain the PCells rather than have them get flattened. This is useful when working with large projects and building up layouts from previous designs, other people, etc.
For example:
Shallow copy on the other hand works keeps the PCell. Unless it is in a hierarchy, in which it either misses some cells, or in one case gave an error "Internal error: /Users/sekigawa.../src/dbLayout.cc:1289 topological_sort() was not true" and froze.
I also tried various styles of "Import" "Other File into Current" but again it flattens the library references. I experienced some crashes here as well.
(this is version 0.24.8).
thank you
Lukas
Comments
Hi Lukas,
Basically a PCell is not a special cell. It's a special Instance (one that is enhanced with PCell parameters). So basically you cannot copy a PCell by a cell copy. But you can copy a PCell by copy/pasting the instance of the PCell: click on the PCell instance in the layout and copy/paste it to the new layout.
If you copy the cell it becomes an instance-less thing and that cannot be a PCell. Hence the cell is transformed into a normal cell.
I would be interested to know how to reproduce the crashes, but I imagine it's dependent on the way your library is built. Can you supply a test case?
Thanks,
Matthias
Thanks Mattias,
I see that I can do a copy & paste one by one, as long as I select the individual PCell instance in the layout. But if the PCell resides in a hierarchy, and I try to copy that top cell in the layout, it pops up the dialog of Shallow vs. Deep.
Perhaps as a feature request, you could extend the copy & paste functionality to not just work on one cell instance, but rather many within a hierarchy?
re: crashes, I'll see if I can reproduce this on a clean installation with the default libraries.
thanks
Lukas
Hi Lukas,
I think I got your point. I'll try to add this.
Thanks for bringing this up.
Kind regards,
Matthias