Home Forums Nazca Import GDS with cell name already in layout

Tagged: ,

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
  • #5413


    I am facing problems when trying to import a GDS file that already have a Building Block cell with the same naming of one cell that I already have on my design. Is there a way to overcome that?



    Dear Douglas,

    In GDS a cellname must be unique. It’s the ID.

    Nazca always avoids two different cells having the same name. When you load a GDS file it may have any cellname in there, possibly conflicting with an existing cellname in your design. For more info on what happens see

    import nazca as nd

    Which shows this and more (v0.5):

    load_gds(filename, cellname=None, newcellname=None, asdict=False, select=’top’, layermap=None, cellmap=None, scale=1.0, prefix=”, instantiate=True, native=True, bbox=False, bboxbuf=0, connect=None, flat=False)

    Load GDS cell ‘cellname’ (and its instances) from ‘filename’ into a Nazca cell.

    By default, load_gds returns a single cell in the specified gds file.
    However, when using a gds file as a library, i.e. accessing multiple cells
    in the file individually, it is more efficient to call, load (and internally)
    store the gds file only once by setting asdict=True. This makes makes load_gds
    return a dictionary with a references to each Cell by name:

    {‘topcells’: {cellname: Cell}, ‘subcells’: {cellname: Cell}}

    This method checks for cellname clashes, i.e. a cell(tree)
    loaded into the layout can not contain a cell name that already exists
    in the layout. There are three ways to avoid name clashes in case they occur:

    1. Set a ‘newcellname’: changes only the name of the top cell;
    Note ‘newcellname’ is ignored if a is provided,
    i.e. add any a topcell renaming to the cellmap in this case.

    2. Provide a ‘cellmap’: maps original cell names one-by-one to new cell
    names. Cells names omitted will not be renamed.

    3. Provide a cell name : applies to all cells in a branch,
    except those in ‘newcellname’ or ‘cellmap’.

    Note, if you need to create a building block from GDS with pins and stubs,
    and you have the pin and xsection info available already (for example in a
    file) then you may prefer to use method ‘load_gdsBB’ instead.



    Hello. I am very new to this platform and the entire design of PIC. However, I started learning with Lumerical and a friend directed me to Nazca since it is open source. I want to ask if the design I made here can be turned to GDS that is fabricable.

    Also I want to ask if I can design virtually all components of PIC: Waveguides, Bend, Y, transceiver etc with Nazca. thank you



    Dear Emmanuel,

    You can basically design any layout you want in Nazca and export it to foundry compatible GDS layout.  Foundry rules need to be known and correctly implemented. Designs created with Nazca are utilized in e.g. SiPh transceivers, InP lasers, PLC multiplexers, SiN based spectrometers, Polymer interposers and many more applications.


Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.