KLayout Libray

edited September 2013 in KLayout Support
Hello Mathias - Great product an nibbling at cadence:)
I am a novice with Klayout. I got some basics going - Created layer property file and set up a technology. But for some reason I just cannot figure out how to create a Library and populate it with cells. I am running on OSX Mountain Lion.
jumboFiatco

Comments

  • edited September 2013

    Hi,

    Thanks :-)

    Well, but it's not quite that Cadence-like to copy all concepts.

    First of all, a layout file is a library by itself in the sense that it can contain cells which you can use inside other cells. So if you create a file with "new", you can populate it with cells and instantiate those cells in others. That is already one kind of "library". In KLayout that is simply called a "layout".

    However, you can also refer to cells from other files, i.e. standard cell layouts compiled into a single layout file. That is what is called "libraries" in KLayout.

    In order to keep the whole setup consistent and maintain the single-file paradigm, KLayout copies cells from libraries into the current layout rather linking them into the file when you create a library-cell instance in your layout. While a layout is loaded, library cells are identified as such in the cell list and behave differently from cells from the same layout, but when you save the file, the library cells are perfectly normal cells embedded into the layout. That way the GDS file is always a valid and self-contained one.

    KLayout strictly separates libraries from editable layouts. Library cells cannot be edited, cells from the current layout can (provided you have chosen edit mode). Use cases for libraries are standard cells libraries for example but also PCell libraries containing parametrized cells.

    PCell libraries are a different topic, but static libraries are plain GDS (or any other layout format) files, which become available as soon as they are copied to the right place. When KLayout is started it will scan a couple of places for layout files and import them as libraries. A brief description of that feature can be found here: http://www.klayout.de/doc/about/about_libraries.html.

    Matthias

  • edited November -1
    Matthais,
    Thanks. Your explanation helped me to get started.
    Now I am running into a new issue - Klayout freezes when my hierarchy is more than 2. The error message displayed is

    "[Thu Sep 12 21:08:54 MCBAIR20130301:workoffice:tc1opus61 > *** ERROR: /Users/mrubioroy/Downloads/klayout-0.22.8/src/dbShapes.h,675,&d != this
    *** ERROR: Internal error: /Users/mrubioroy/Downloads/klayout-0.22.8/src/dbShapes.h:675 &d != this was not true
    "
    --
    The "mrubioroy" path is strange because there's not such a user on my system
  • edited November -1

    Hallo,

    I guess "mrubyioroy" is the one who built the KLayout binary you are using. The paths where he (or she?) did so are compiled-in so they are visible to you in that specific case.

    The error message is a bad one and not specific. Basically it says something has gone awfully wrong. But it's hard to tell what. I am nevertheless interested to fix that issue.

    Could you explain in some more details your setup? For example, do you use a library, and maybe does that one use another one?

    Regards,

    Matthias

Sign In or Register to comment.