Beginner's editing troubles: instances, panels, pulling?

edited September 2012 in General
Hi all,

I am having trouble trying to do something very simple and was unfortunately not able to find anything about that in the documentation... I am pretty sure it is rather easy.

Here's what I would like to do: Create a new layout with two instances, both of them are defined in separate GDS files. So I start with File -> New Layout.

I am not really sure about the concept of a Panel (File -> Open In New Panel or Open In Same Panel), but neither seems to do what I want: in both cases, I end up with a copy of the cell's contents rather than an instance of the cell I am opening.

The same applies to File -> Pull In Other Layout: after pulling in, it is opened in a separate Panel. There, I would be able to add an instance of that very same cell, which of course doesn't work because it would result in a recursive instantiation.

So in short, is it possible to create a new layout, import existing GDS files as cells into that new layout and create instances of those cells into the new layout? Or am I missing something basic about KLayout concepts on how to achieve something like that?


  • edited November -1
    Seems like I found the answer myself: it appears to be impossible to "link" to a cell which resides in a different GDS file. As such, to place instances, one has to first copy the cells (right-click in the Cells list in the source GDS files) and paste them into the new layout. Then, they can be instantiated there.

    I am not familiar enough with the GDS file format, therefore I am not sure if it would be possible "natively" to support inclusions of other GDS files, but such a feature would definitely be nice. Because:

    1. I could create a top-level design, using different GDS files as includes
    2. When one of these included GDS files changes, I could re-load that single file and see the changes in my top-level instantly, without having to re-copy the cells into the top-level layout
    3. This could also simplify situations where different developers are working on different parts of a design simultaneously.

    Any chance that might be possible in the future?
  • edited September 2012


    in GDS there is in general nothing like a "include". So unlike other system which have the concept of libraries, a plain GDS editor does not allow to refer to external files except by copy & pasting. You're right that this is a severe limitation, in particular if you use it in a multi-project setup.

    The effects are somewhat mitigated by having copy & paste of cells, the import function and other features. Still updating a layout with changes in an external library can be tedious.

    But there will be a solution for that soon: the next version will have the concept of "libraries", which can be external layout files which are referred to in a layout file. Technically, there will be copy of the imported cells inside the GDS file, but when KLayout opens the drawing file it will update these copies with the current content of the library.

    To keep the link between the layout and the library, KLayout needs to add some additional information to the GDS file which it hopefully does in a sensible way so these files can still be read by other tools.

    Best regards,


Sign In or Register to comment.